/* #bebfc0 */
.no-margin-bottom {
  margin-bottom: 0 !important;
}

.mobile-row {
  display: none !important;
}

@media screen and (max-width: 1024px) {
  .desktop-row {
    display: none !important;
  }

  .mobile-row {
    display: block !important;
  }
}

/* -- LOGO -- */
.main-header {
  position: absolute;
  top: 0;

  width: 100%;

  z-index: 99;
}

.main-header .center-logo {
  position: absolute;
  top: 0;

  width: 100%;
}

.main-header .center-logo .rb-logo {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);

  height: 150px;
  width: 250px;

  text-align: center;
}

.main-header .center-logo .rb-logo img {
  position: relative;
  top: 50%;
  transform: translateY(-50%);

  width: 150px;
}

/* -- Side Menu -- */
.side-menu {
  position: fixed;
  top: 0;
  left: 0;
}

.side-menu .menu-button-section {
  position: absolute;
  top: 0;
  left: 0;

  height: 100vh;
  width: 50px;

  /*background-color: #fff;*/

  z-index: 999;
}

.side-menu .menu-button-section .menu-button,
.side-menu .menu-button-section .search-button {
  position: relative;

  width: 50px;
  height: 50px;

  cursor: pointer;
}

.side-menu .menu-button-section .search-button {
  text-align: center;
  line-height: 50px;
}

.side-menu .menu-button-section .search-button i {
  color: #bebfc0;
  font-size: 18px;
}

.side-menu .menu-button-section .menu-button:after {
  content: "";
  display: block;

  position: fixed;
  top: 0;
  left: 0;

  z-index: 0;

  height: 100vh;
  width: 0;

  background-color: #fff;

  transition-duration: 100ms;
  transition-timing-function: ease-out;

  transition-delay: 600ms;
}

.side-menu .menu-button-section .menu-button.open:after {
  width: 50px;

  transition-delay: 0ms;
}

.side-menu .menu-button-section .menu-button .menu-line {
  z-index: 1;
}

.side-menu .menu-button-section {
  background-color: #fff;
  height: 100px;
}

.menu-button .menu-line {
  position: absolute;
  top: 0;
  left: 0;

  width: 20px;
  height: 2px;

  background-color: #bebfc0;

  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.42, 0, 0.3, 1.02);
}

.menu-button .menu-line:first-of-type {
  top: 40%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.menu-button .menu-line:nth-of-type(2) {
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.menu-button .menu-line:last-of-type {
  top: 60%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.menu-button.open .menu-line:first-of-type {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  top: 50%;

  transition-delay: 200ms;
}

.menu-button.open .menu-line:nth-of-type(2) {
  width: 0;
}

.menu-button.open .menu-line:last-of-type {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  top: 50%;

  transition-delay: 200ms;
}

.side-menu .menu-area {
  position: absolute;
  top: 0;
  left: 50px;

  height: 100vh;
  width: 0px;

  overflow: hidden;

  background-color: #fff;

  transition-duration: 400ms;
  transition-delay: 200ms;
  transition-timing-function: cubic-bezier(0.42, 0, 0.3, 1.02);

  box-shadow: 0 0 5px rgba(38, 38, 38, 0);

  z-index: 998;
}

.side-menu .menu-area.open {
  box-shadow: 0 0 5px rgba(38, 38, 38, 0.1);
}

.side-menu .menu-area.open,
.menu-container,
.menu-bottom {
  width: 290px;
}

.menu-area .menu-container {
  position: relative;
  top: 15%;
}

.menu-area .menu-container ul {
  list-style: none;
}

.menu-side li a {
  color: #231f20;
  font-size: 16px;
  line-height: 50px;

  display: inline-block;
  transform: translateX(-10px);
  opacity: 0;

  transition-duration: 400ms;
  transition-timing-function: ease-out;
  transition-delay: 500ms;
}

.menu-area.open .menu-container .menu-side li a {
  transform: translateX(0px);
  opacity: 1;
}

.menu-side li a:after {
  content: "";
  display: block;

  position: relative;
  top: -5px;
  left: 0;

  width: 0px;
  height: 1px;

  transition-duration: 300ms;
  transition-timing-function: ease-out;

  background-color: #bebfc0;
}

.menu-side li:hover a:after,
.menu-side li.current_page_item a:after {
  width: 70px;
}

.menu-side li.current-menu-ancestor a,
.menu-side li.current_page_item a {
  font-weight: 600;
}

.sub-dash {
  display: none;
  padding-right: 15px;
}

.sub-menu li .sub-dash {
  display: inline;
}

.menu-bottom {
  position: absolute;
  bottom: 0;

  padding-bottom: 50px;
  padding-right: 75px;
  padding-left: 25px;

  box-sizing: border-box;

  text-align: center;
}

.menu-bottom img {
  width: 150px;
  margin-bottom: 30px;
}

.menu-bottom .menu-social {
  width: 150px;
  margin: 0 auto;
}

.menu-bottom .menu-social a i {
  color: #bebfc0;

  font-size: 20px;
  padding-right: 24px;
}

.menu-bottom .menu-social a:last-of-type i {
  padding-right: 0;
}

.padding-left {
  padding-left: 50px;
}

.mobile-row .padding-left {
  padding-left: 25px;
}

.oj-symbol {
  position: absolute;
  z-index: -1;

  top: -200px;
  left: -150px;
}

.oj-home-image-container {
  position: relative;
}

.oj-home-image-container .colour-block {
  width: 100%;
  height: 400px;
  position: absolute;
  top: -120px;
  left: 50px;
  background-color: #bebfc0;

  z-index: 0;
}

.oj-home-image-container img {
  position: relative;
  top: -125px;

  z-index: 3;

  width: 605px;
  height: 403px;
}

.oj-home-image-container .zigzag {
  background-image: url("/wp-content/uploads/zigzag-pattern.png");
  background-size: 100%;

  position: absolute;
  top: -100%;
  right: -100%;

  width: 125%;
  height: 500%;
}

.accent-line {
  position: absolute;
  bottom: -50px;
  right: -100%;

  width: 55vw;
  height: 1px;

  z-index: 99;
  background-color: #bebfc0;
}

/* -- Negative Text -- */
.negative-text {
  position: relative;
  top: -50px;
  left: 0;

  z-index: 99;
}

.negative-text div span {
  font-family: Roboto Slab;
  font-size: 100px;
  line-height: 90px;
  font-weight: 900;
}

.negative-text div .dark-text {
  color: #111;

  position: absolute;
}

.negative-text div .light-text {
  color: #fff;

  position: absolute;
  top: 210px;
  left: -100px;
}

.negative-text .dark {
  position: absolute;
  z-index: 4;

  overflow: hidden;
}

.negative-text .light {
  position: absolute;
  top: -128px;
  left: 0;
  z-index: 1;
}

/* -- -- */

.footer-links a,
.footer-links span.address {
  position: relative;
  top: -3px;

  color: #fff;
  font-size: 16px;
}

.footer-links a:last-of-type span i {
  padding-right: 0;
}

span.footer-icon i {
  color: #bebfc0;
  padding-right: 15px;
  font-size: 20px;
}

/* -- Footer Social -- */
.footer-social-container a i {
  font-size: 20px;
  padding-right: 25px;
  color: #fff;
}

@media screen and (max-width: 1024px) {
  .mobile-row .oj-symbol {
    top: -150px;
    left: 0;

    z-index: 0;
  }

  .mobile-row .wpb_content_element {
    position: relative;
    z-index: 1;
  }

  .footer-links,
  .footer-social-container {
    text-align: center;
  }

  ul.sub-menu {
    height: auto !important;
  }

  .sub-drop-down {
    display: none;
  }
}

/* -- Page Loader -- */
.page-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999999;

  background-color: #231f20;

  opacity: 1;

  transition: 300ms;
}

.page-loader.loaded {
  opacity: 0;
  pointer-events: none;
}

.page-loader .center-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.page-loader .center-loader svg {
  width: 150px;
}

path.cls-1 {
  fill: rgba(255, 255, 255, 0);
  animation-name: svgopen2;
  animation-duration: 1s;
  animation-delay: 100ms;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

path.cls-2 {
  stroke: #fff;
  stroke-width: 10px;
  fill: none;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation-name: svgopen;
  animation-duration: 2s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes svgopen {
  from {
    stroke-dashoffset: 1000;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes svgopen2 {
  from {
    fill: rgba(255, 255, 255, 0);
  }

  to {
    fill: rgba(255, 255, 255, 1);
  }
}

footer.center-main-footer,
footer.center-main-footer a {
  font-size: 12px;
}

/* -- Single Property -- */
.content-property .gallery-header,
.content-property .image-header {
  height: 100vh;
  background-color: #eee;
}

.image-header {
  background-image: url("/wp-content/uploads/mayfair-header-2.jpg");
  background-size: cover;
  background-position: center center;
}

.content-property .grey-section {
  padding-top: 100px;

  background-color: #f5f5f5;
  overflow: hidden;
}

.content-property .grey-section h1 {
  text-transform: uppercase;
  font-size: 26px;
  font-weight: 300;
  letter-spacing: 1px;

  margin-bottom: 0;
}

.content-property .grey-section h3 {
  text-transform: uppercase;
  font-weight: 900;
  font-size: 15px;

  margin-bottom: 35px;
}

.property-price {
  font-size: 24px;
  font-weight: 900;

  margin-bottom: 75px;
}

.property-price .smaller {
  text-transform: uppercase;

  font-size: 15px;
  font-weight: 300;
}

.content-property .grey-section:last-of-type {
  padding-bottom: 100px;
}

.content-property .grey-section .container {
  margin-bottom: 100px;
}

.content-property .white-section {
  padding-top: 100px;
}

.content-property .white-section .container {
  margin-bottom: 100px;
}

.content-property .white-zig-zag,
.content-property .grey-zig-zag {
  height: 100px;

  background-image: url("/wp-content/uploads/zigzag-white.png");
  background-size: contain;
  background-repeat: repeat-x;
}

.content-property .grey-zig-zag {
  background-image: url("/wp-content/uploads/zigzag-grey.png");
}

@media screen and (min-width: 1025px) {
  .grey-section .container .half:last-of-type {
    padding-left: 75px;
  }
}

/* -- Property Gallery Slider -- */
.rbp-image-slider,
.rbp-image-slider .image-slider {
  position: relative;
}

.rbp-image-slider .image-slider {
  background-color: #fff;
  z-index: 1;
}

.rbp-image-slider .image-slider .display {
  position: relative;

  background-size: 100%;
  background-position: 50% 50%;
  background-repeat: no-repeat;

  height: 400px;
}

.rbp-image-slider .image-slider .gallery-display {
  position: relative;

  height: 100px;
  background-color: #fff;
}

.image-slider .gallery-display .gallery {
  position: absolute;
  width: calc(100% - 100px);
  height: 80px;
  top: 10px;
  left: 50px;

  overflow: hidden;
}

.image-slider .gallery-display .gallery .inner {
  position: absolute;
  top: 0;
  left: 0;

  transition: 300ms;

  min-width: calc(100% - 100px);
}

.image-slider .gallery-display .gallery-image {
  float: left;
  width: 100px;
  height: 80px;
  margin-right: 10px;

  background-size: cover;

  box-sizing: border-box;

  cursor: pointer;
}

.image-slider .gallery-display .gallery-image.current {
  border: 2px solid #1a1a1a;
}

.gallery-display .buttons .left,
.gallery-display .buttons .right {
  position: absolute;
  width: 30px;
  height: 80px;
  top: 10px;
  left: 10px;

  background-color: #cccccc;
  color: #ffffff;
  text-align: center;
  line-height: 80px;

  cursor: pointer;

  transition: 300ms;
}

.gallery-display .buttons .left:hover,
.gallery-display .buttons .right:hover {
  background-color: #bfbbbb;
}

.gallery-display .buttons .right {
  left: auto;
  right: 10px;
}

.image-slider .display .buttons {
  position: relative;
}

.image-slider .display .buttons .left,
.image-slider .display .buttons .right {
  position: absolute;
  height: 400px;
  width: 50px;

  left: 0;

  text-align: center;
  line-height: 400px;

  color: #fff;

  cursor: pointer;
}

.image-slider .display .buttons .right {
  left: auto;
  right: 0;
}

.image-slider .display .buttons .left:after,
.image-slider .display .buttons .right:after {
  content: "";
  display: block;

  width: 100%;
  height: 100%;

  position: absolute;
  top: 0;
  left: 0;

  z-index: 0;

  background: linear-gradient(to left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));

  transition: 300ms;
  opacity: 0;
}

.image-slider .display .buttons .right:after {
  background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
}

.image-slider .display .buttons .left:hover:after,
.image-slider .display .buttons .right:hover:after {
  opacity: 1;
}

.image-slider .display .buttons .left i,
.image-slider .display .buttons .right i {
  position: relative;
  z-index: 1;

  font-size: 45px;
}

.colour-blocks {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
}

.colour-blocks div {
  background-color: #bebfc0;
  position: absolute;
}

.colour-blocks .top-right {
  width: 150px;
  height: 350px;
  top: -20px;
  right: -25px;
}

.colour-blocks .bot-left {
  width: 250px;
  height: 300px;

  top: 150px;
  left: -100px;
}

/* -- * -- */

.features-section:after {
  content: "";
  display: block;
  clear: both;
}

.features-section .feature {
  margin-bottom: 15px;

  width: 50%;
  float: left;

  font-size: 14px;
}

.feature i {
  font-size: 20px;

  width: 20px;

  color: #bebfc0;
  padding-right: 15px;
}

.feature strong {
  text-transform: uppercase;
}

/* -- * * -- */
.vertical-align {
  position: relative;
}

.vertical-align .vertical-middle {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.map-row {
  height: 500px;
}

.properties-archive-header {
  height: 350px;

  background-image: url("/wp-content/uploads/Property-Header.jpg");
  background-size: cover;
  background-position: center center;
}

/* -- *  * -- */
.image-header {
  height: 350px;
  background-size: cover;
  background-position: center center;
}

/* */

.landing-page-block {
  position: relative;
  background-color: #eee;
  background-size: cover;
  background-position: center center;

  height: 350px;

  transition: 300ms;
}

.landing-page-block.sales {
  background-image: url("/wp-content/uploads/89154a64b846e0f439655eea67ba9f502ee1c5d1.jpg");
}

.landing-page-block.renting {
  background-image: url("/wp-content/uploads/587294d33a3e2cae0b2961bb883d70ae97de65ad.jpg");
}

.landing-page-block:after {
  content: "";
  display: block;

  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background-color: #373434;
  opacity: 0.2;
  transition: 300ms;

  z-index: 0;
}

.landing-page-block:hover:after {
  opacity: 0.5;
}

.landing-page-block .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;

  text-align: center;
  text-transform: uppercase;

  font-size: 26px;
  font-weight: 600;
  color: #fff;
}

.property-search-widget button[type="submit"] {
  height: 32px;
}

.rbp-property-block .content h2 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 0;
}

.rbp-property-block .content .features span {
  padding-right: 10px;
}

/* -- Team Blocks -- */

.oj-team-block {
  width: 100%;
}

.oj-team-block .image {
  width: 100%;
  height: 350px;

  background-size: cover;
  background-position: center center;

  margin-bottom: 25px;
}

.larger-team .oj-team-block .image {
  height: 600px;
}

.oj-team-block .content {
  text-align: center;
}

.oj-team-block .content h3 {
  font-size: 24px;
  font-weight: 900;

  margin-bottom: 0;
}

.oj-team-block .content h4 {
  font-size: 14px;
  font-weight: 900;

  color: #bebfc0;

  margin-bottom: 10px;
}

.oj-team-block .content p a {
  color: #3d3d3d;
}

@media screen and (max-width: 768px) {
  .vc_column_container:first-of-type > .vc_column-inner,
  .vc_column_container > .vc_column-inner,
  .vc_column_container:last-of-type > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* -- */

.floor-plans.container,
.epc.container {
  text-align: center;
}

/* -- */

.navigation.pagination {
  text-align: center;
}

.navigation.pagination .nav-links span,
.navigation.pagination .nav-links a {
  display: inline-block;
  background-color: #bebfc0;
  color: #fff;
  padding: 10px;
  text-align: center;
  margin-right: 2px;

  width: 20px;
}

.navigation.pagination .nav-links span.current {
  background-color: #dcdcdc;
  color: #909090;
}

.brochure-button {
  background-color: #bebfc0;
  color: #fff;
}

/* */

.fees-popup {
  display: none;

  position: fixed;

  width: auto;
  height: auto;

  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);

  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);

  z-index: 99;
}

@media only screen and (max-width: 650px) {
  .fees-popup {
    width: 90%!important;
  }
}

.fees-popup .close {
  position: absolute;
  top: 20px;
  right: 25px;
  cursor: pointer;
}

/* -- * * -- */

.oj-service-block {
  opacity: 0;

  animation-name: fade-in;
  animation-delay: 1000ms;
  animation-duration: 500ms;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  animation-play-state: running;
}

@keyframes fade-in {
  from {
    transform: translateY(-20px);
    opacity: 0;
  }
  to {
    transform: translateY(0px);
    opacity: 1;
  }
}

.oj-service-block i {
  font-size: 80px;
  margin-bottom: 25px;
  color: #bebfc0;
}

.oj-service-block h3 {
  margin-bottom: 20px;
  font-size: 30px;
}

.oj-service-block p {
  margin-left: 15px;
}

@media screen and (max-width: 1000px) {
  .rbp-property-block {
    width: 100%;
    float: none;
  }

  .rbp-property-block .content .price {
    position: relative;
  }

  .fancy-check {
    width: 150px;
    margin: 10px auto;
  }

  .menu-area .menu-container {
    top: 0;
  }

  .menu-bottom img {
    width: 90px;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 1000px) and (orientation: landscape) {
  .menu-container {
    width: 100vh;
  }
}

/* - */

.search-icon-popup {
  position: absolute;
  left: 100%;
  top: 0;
  line-height: 50px;
  width: 145px;
  height: 50px;
  background-color: #373434;
  color: #fff;

  opacity: 0;
  transform: translateX(-10px);
  transition: 200ms;
}

.search-button:hover .search-icon-popup {
  opacity: 1;
  transform: translateX(0px);
}

.search-icon-popup:after {
  content: "";
  display: block;
  height: 10px;
  width: 10px;
  transform: translateY(-50%) rotate(45deg);
  background-color: #373434;
  position: absolute;
  top: 50%;
  left: -5px;
}

.archive-title h1 {
  text-align: center;
}

/* -- */

.oj-home-slider {
  position: absolute;
  width: 100vw;
  height: 100vh;
  left: 0;
}

.oj-home-slider .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;

  background-size: cover;
  background-position: center center;

  opacity: 0;
  transition: 1000ms;
}

.oj-home-slider .slide.current {
  opacity: 1;
}

.oj-home-slider .overlay {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background-color: rgba(0, 0, 0, 0.2);
}

.oj-home-slider .overlay .center-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);

  text-align: center;
}

.oj-home-slider .overlay .center-text h1 {
  color: #fff;
  font-size: 35px;
  font-weight: 800;
  line-height: 45px;
}

.oj-home-slider .overlay .center-text h1 span {
  position: relative;

  opacity: 0;
  top: 20px;

  transition-duration: 400ms;
}

.oj-home-slider .overlay .center-text h1 span:last-of-type {
  transition-delay: 200ms;
}

.oj-home-slider .overlay .center-text h1 span.show {
  opacity: 1;
  top: 0;
}

/* */

.content-property .gallery-header {
  position: relative;
}

.gallery-header .slides {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

.gallery-header .slides .gallery-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;

  background-size: cover;
  background-position: center center;

  transition: 1000ms;

  opacity: 0;
}

.gallery-header .slides .gallery-image.current {
  opacity: 1;
}

/* */

.oj-home-slider-buttons {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}

.oj-home-slider-buttons .left,
.oj-home-slider-buttons .right {
  position: absolute;
  top: 0;
  left: 50px;
  height: 100vh;
  width: 100px;

  cursor: pointer;
  text-align: center;
  line-height: 100vh;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.oj-home-slider-buttons .right {
  right: 0;
  left: auto;
}

.oj-home-slider-buttons .left i,
.oj-home-slider-buttons .right i {
  color: #fff;
  font-size: 60px;
}

/**/

span.highlight {
  display: inline-block;

  padding: 5px;
  padding-right: 10px !important;
  padding-left: 10px;
  background-color: #373434;
  color: #fff;
  border-radius: 5px;
}

.rbp-property-block .content {
  height: 135px !important;
}

/** */

.location-row {
  padding-top: 30px;
  text-align: center;
}

.location-row h3 {
  font-size: 26px;
  margin-bottom: 30px;
}

/* */

.property-search-widget {
  margin-bottom: 20px;
}

.property-search-widget:after,
.property-search-widget .first-search:after,
.property-search-widget .last-search:after {
  content: "";
  display: block;
  clear: both;
}

.property-search-widget .first-search,
.property-search-widget .last-search {
  float: left;
}

.property-search-widget .first-search {
  width: 125px;
  margin-right: 10px;
}

.property-search-widget .search-row {
  float: left;
  margin-right: 20px;
}

.property-search-widget .search-row:last-of-type {
  margin-right: 0;
}

.property-search-widget select {
  width: 200px;
}

.property-search-widget .search-row:last-of-type select {
  width: 100px;
}

@media screen and (max-width: 736px) and (orientation: landscape) {
  .side-menu .menu-area.open,
  .menu-container,
  .menu-bottom {
    width: 100vw;
  }

  .menu-side .menu-item {
    width: 50%;
    float: left;
  }

  .oj-home-slider .overlay .center-text {
    top: 70%;
  }

  .oj-home-slider .overlay .center-text h1 {
    font-size: 30px;
  }
}

@media screen and (max-width: 1000px) {
  .search-icon-popup {
    display: none;
  }
}
