:root {
  --white-color: #fff;
  --primary-color: #006deb;
  --primary-dark-color: #09163a;
  --hover-effect: brightness(75%) contrast(125%);
  --color-body_background: inherit;
  --color-links: inherit;
  --color-header_background: inherit;
  --color-header_links: inherit;
  --color-header_text: inherit;
  --color-menu_background: inherit;
  --color-hero-title_text: inherit;
  --color-icons: inherit;
  --color-social-icons: inherit;
  --color-button_background: inherit;
  --color-button_text: inherit;
  --color-footer_background: inherit;
  --color-footer_text: inherit;
}

.mg_edit a {
  display: none;
}
body {
  display: flex;
  flex-direction: column;
  height: 100%;
}
html, body {
  font-size: 14px;
}

/* General Styles & Helpers */

  html, body, * {
    font-family: 'Open Sans', sans-serif;
    -webkit-font-smoothing: antialiased;
  }
  .content {
    flex: 1;
  }
  .content .container, .content .container .row, .content .aside, .content .main {
    height: 100%;
  }
  .uppercase, #main_menu ul li a, .btn, .listings .aside h4, .btn-go.input-button, .view-details a, #main_features ul li, .nav-tabs>li>a, .thumbnail .type, .property-listing .property-description .property-price .price span, .price .listing-type {
    letter-spacing: .75px;
    text-transform: uppercase;
    font-weight: bold;
  }
  .content, .featured-properties .container {
    padding: 40px 0 60px;
  }
  #body_footer {
    padding: 15px 0 10px;
    font-size: 13px;
  }
  .pre-footer {
    text-align: center;
    font-size: 16px;
  }
  .pre-footer h3 {
    font-size: 28px;
    margin-top: 10px;
  }
  .section-head .container {
    position: relative;
    z-index: 1;
    margin-top: 25px;
    margin-bottom: 25px;
  }
  .section-head h1 {
    margin: 0;
    font-weight: 100;
  }
  .content-box, #contact_form_wrapper {
    padding: 15px 20px;
  }

  .mg_filter-bar .LV_validation_message {
    display: none;
  }
  .errorExplanation {
    background: #f8dddd;
    border: 1px solid #efaeae;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 10px;
  }
  .errorExplanation ul {
    padding-left: 20px;
  }
  .errorExplanation h2 {
    display: none;
  }
  .errorExplanation p {
    color: #de5858;
    font-weight: bold;
  }
  .mg-notice {
    padding-top: 5px;
    text-align: center;
    border-radius: 4px;
    padding: 15px;
  }
  .fieldWithErrors input {
    border: 1px solid #efaeae;
  }
/* Bootstrap replacements */

  .btn, .input-button, .submit.input-button, .view-details a {
    border: 0;
    border-radius: 3px;
    padding: 12px;
    border-bottom: 3px solid;
    font-weight: bold;
  }
  .btn-outline.input-button, .view-details a {
    padding: 6px 12px;
  }
  .btn:hover {
    border-bottom: 3px solid;
  }
  .btn-lg {
    font-size: 14px;
  }
  .navbar-default .navbar-toggle {
    border: 0;
    margin: 25px 0 0;
    border-radius: 0;
  }
  .navbar-default .navbar-toggle .icon-bar {
    height: 3px;
  }

/* Header */

  /* Top Head */

    .top-head {
      font-size: 12px;
      padding: 8px 0 4px;
    }
    .top-head .contact {
      margin: 0 10px 0 0;
      padding-right: 10px;
      border-right: 1px solid;
    }
    .top-head .contact.contact-phone h3 {
      margin: 0;
      font-size: 16px;
    }
    .top-head .contact .user-content, .top-head .contact .mg_part {
      display: inline-block;
    }
    .top-head p {
      margin: 0;
    }
    .top-head .contact span.glyphicon {
      margin-right: 3px;
    }
    .top-head .search {
      margin-left: 15px;
      margin-top: 4px;
    }
    .top-head #code_search_form {
      position: relative;
    }
    .top-head #code_search_form #menu_search_code {
      background-color: var(--white-color);
    }
    .top-head #code_search_form input {
      height: 26px;
      line-height: 20px;
      border-radius: 0;
      border: 1px solid;
      font-size: 12px;
      color: #666!important;
      width: 100%;
      padding-right: 20px;
    }
    .top-head #code_search_form input.form-control {
      min-width: 150px;
    }

    .top-head #menu_search_code {
      width: 200px;
    }

    #code_search_form input.input-button,
    .code-search-form input.input-button {
      position: absolute;
      top: 50%;
      height: 100%;
      translate: 0 -50%;
      right: 8px;
      border: 0;
      width: 16px;
      display: flex;
      align-items: center;
      opacity: 0;
    }

    #code_search_form .form-inline:before {
      font-family: "Font Awesome 6 Pro";
      font-weight: 900;
      content: "\f002";
      padding: 0;
      opacity: .9;
      font-size: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      right: 6px;
      top: 1px;
      color: #000;
      height: 100%;
    }

  /* Main Menu */

    #main_menu {
      position: static;
      z-index: 1;
      border-radius: 0;
      margin-bottom: 0;
      border: 0;
      box-shadow: 0 0 10px rgba(0,0,0,.15);
    }
    #main_menu .container {
      position: relative;
    }
    #main_menu .logo {
      padding: 10px 0;
    }
    #main_menu .logo a, #main_menu .logo h1 {
      text-decoration: none;
      font-weight: 100;
      margin: 0;
    }
    #main_menu .logo h1 a span {
      margin: 15px 0;
      display: block;
    }
    #main_menu .navbar-nav {
      margin-right: -30px;
    }
    #main_menu .search {
      position: absolute;
      top: 30px;
      right: 15px;
    }
    #main_menu .search .search-button {
      background: none;
      border: 0;
      padding: 0;
      opacity: .7;
    }
    #main_menu .search .search-button:hover {
      opacity: 1;
    }
    #main_menu ul li {
      padding: 30px 10px;
    }
    #main_menu ul li a {
      font-size: 12px;
      padding: 5px 2px 7px;
      border-bottom: 2px solid;
    }
    #main_menu ul li.active a, #main_menu ul li a:hover, #main_menu ul li.dropdown a {
      background: inherit;
    }
    #main_menu ul li.dropdown:hover .dropdown-menu{
      display: inline-block;
      margin-top: -30px;
    }
    #main_menu ul li.dropdown .dropdown-menu {
      padding: 0;
    }
    #main_menu ul li.dropdown .dropdown-menu li {
      padding: 0;
    }
    #main_menu ul li.dropdown .dropdown-menu li a {
      padding: 17px;
      border-bottom: 1px solid #f5f5f5;
      margin: 0;
    }
    #main_menu ul li.dropdown .dropdown-menu li a:hover {
      background: #f5f5f5;
    }
    .phone-mobile {
      margin-top: .5rem;
      padding: 2rem;
    }
    .phone-mobile p, .phone-mobile h3 {
      margin: 0;
    }

/* Full Layout Styles */

  .full .content {
    padding: 0;
  }
  .full .aside, .full .main {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .full .aside {
    padding-right: 30px;
  }
  .full .aside h4 {
    margin-top: 0;
  }
  .full .aside label {
    font-weight: normal;
  }
  .full .main {
    padding-left: 30px;
    min-height: 800px;
  }


/* Aside */

    .aside {
      padding: 0;
    }
    .aside .separator {
      padding: 20px 15px 0;
      font-size: 17px;
    }
    .aside .separator h3 {
      color: var(--white-color);
    }
    .aside .filter {
      background: none;
    }
    .aside .filter:not(:last-child) {
      margin-bottom: 0px;
    }
    .filter-fields .child-filters {
      padding-left: 10px;
    }
    .filter .panel-heading h4 {
      margin-bottom: 0;
    }
    .filter .panel-heading i {
      font-size: 70%;
      float: none!important;
    }

    .filter .panel-heading a {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .filter .panel-body {
      background: none;
    }
    .filter-fields ul {
      list-style: none;
      padding-left: 0;
    }
    .filter-fields .field, .filter-fields .filter-action {
      margin-bottom: 10px;
    }
    .field-group {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: .5rem;
      width: 100%;
    }

  /* Sort By */

    .sort-by {
      text-align: right;
    }
    .sort-by-label {
      font-weight: 400;
      margin-right: 1rem;
    }
    .sort-by form {
      display: inline-block;
    }

/* Home */
  #mg_hero_text {
    z-index: 2;
  }
  #hero {
    height: 600px;
    position: relative;
  }
  #hero:after, .section-head:after {
    content:'';
    background: no-repeat center center fixed/cover;
    width: 100%;
    height: 600px;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.15;
    background-image: url('/themes/moscow/images/bg-hero/1.jpg');
  }
  .section-head {
    position: relative;
    overflow: hidden;
  }
  #hero h2 {
    position: relative;
    margin-top: 70px;
    text-align: center;
    font-size: 44px;
    font-weight: 100;
    z-index: 2;
  }

  /* Carousel */

    #hero .carousel {
      position: static;
    }
    #hero .carousel-control, .featured-properties .carousel-control {
      background: none;
      background-image: none;
      z-index: 2;
      top: 35%;
      padding-top: 50px;
      padding-bottom: 50px;
      bottom: auto;
    }
    #hero .carousel-indicators {
      bottom: 30px;
    }
    #hero .carousel-inner {
      z-index: 1;
    }
    .carousel-inner .item .card {
      width: 83%;
      height: 360px;
      margin: 0px auto;
      margin-top: 20px;
      margin-bottom: 20px;
      position: relative;
      z-index: 1;
      box-shadow: 0px 0px 20px rgba(0,0,0,.25);
      overflow: hidden;
    }
    .carousel-inner .item .card .picture {
      overflow: hidden;
      text-align: center;
      padding: 0;
      height: 360px;
    }
    .carousel-inner .item .card .picture img {
      width: auto;
      max-width: 570px;
      position: relative;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
    }
    .carousel-inner .item .card .info {
      text-align: center;
      padding: 0 35px;
      right: 0;
    }
    .carousel-inner .item .card .info h3 {
      font-size: 26px;
      margin-top: 0;
    }
    .carousel-inner .item .card .info .price {
      font-size: 34px;
      font-weight: 100;
      padding: 20px 0 15px;
      border-top: 1px solid;
    }
    .carousel-inner .item .card .tagline {
      width: 100%;
      text-align: center;
      font-size: 12px;
    }
    .carousel-inner .item .card .property-status-badge {
      color: var(--white-color);
      padding: 10px 15px;
      font-weight: normal;
      font-size: 20px;
      border-radius: 4px;
      display: inline-block;
    }

  /* Hero Search */

    .hero-search {
      text-align: center;
      padding: 15px 0;
    }
    .hero-search form select {
      height: 45px;
      margin-right: 1%;
      padding: 10px;
    }
    .hero-search form select.operation {
      width: 29%;
    }
    .hero-search form select.listing-type {
      width: 40%;
    }
    .hero-search form .btn {
      padding: 13px 20px;
    }

/* Property Listings */

  .filter {
    margin-bottom: 15px;
  }
  .filter-fields {
    font-size: 13px;
  }
  .filter-fields ul {
    list-style: none;
    padding-left: 0px;
  }
  .filter-fields .child-filters {
    padding-left: 10px;
  }
  .filter-fields .field {
    margin-bottom: 15px;
  }

  .filter-link {
    display: grid;
    grid-template-columns: 1fr max-content;
    text-align: left;
  }

  .filter-fields .count {
    border-radius: 3px;
    padding: 0 3px;
    font-size: 12px;
    font-weight: bold;
    margin-left: 3px;
  }
  #mg_property_listings {
    clear: both;
    border-top: 1px solid;
    padding: 0;
    list-style: none;
  }
  .property-listing {
    border-bottom: 1px solid;
    padding: 20px 0;
  }
  .property-listing .photo {
    float: left;
    text-align: center;
    width: 300px;
    margin-right: 25px;
  }
  .property-listing .photo img {
    width: 100%;
  }
  .property-listing .photo .property-status-badge {
    text-align: center;
    padding: 5px 0;
    font-size: 12px;
    font-weight: bold;
    color: var(--white-color);
    margin: 0px auto;
  }
  .property-listing .photo a:hover {
    text-decoration: none;
  }
  .property-status-badge.sold, .property-status-badge.rented {
    background: #de5656;
  }
  .property-status-badge.reserved {
    background: #fdbe45;
  }
  .property-listing .description {
    margin-left: 220px;
  }
  .property-listing .description h4.name, .property-listing .price {
    margin: 0 0 5px;
    font-size: 15px;
    font-weight: bold;
  }
  .property-listing .price .listing-type-price {
    font-size: 18px;
  }
  .property-listing .price .listing-type {
    font-size: 11px;

  }
  .property-listing .description p {
    margin: 0;
  }
  .property-listing .info {
    padding: 0;
  }
  .property-listing .info li {
    display: inline-block;
    border-right: 1px solid;
    padding-right: 7px;
    margin-right: 7px;
  }
  .property-listing .info li:last-child {
    border: 0;
  }
  .property-listing .description .btn {
    margin-top: 10px;
    padding: 7px 20px;
  }

  /* Pagination */

    .pagination {
      display: block;
      margin: 10px 0 0 0;
      text-align: right;
    }
    .header-pagination .pagination {
      float: none;
      margin: 0;
      text-align: left;
    }
    .pagination ul {
      padding: 0;
      margin: 0;
    }
    .pagination ul li {
      display: inline-block;
    }
    .pagination ul li, .pagination ul li.currentpage, .pagination ul li.disablepage, .pagination ul li span, .pagination ul li span {
      display: inline-block;
      padding: 5px 10px;
      font-weight: bold;
      font-size: 13px;
      margin-right: -4px;
      border-right: 1px solid;
    }
    .pagination ul li.next-page {
      border: 0;
    }

    .sort-by {
      float: right;
      padding-bottom: 10px;
    }

/* Property Show */

  /* Property Section Head */
    #property .no-media {
      height: 535px;
      background-image: url('../images/no-media.png');
      background-repeat: no-repeat;
      background-position: center center;
      border-radius: 4px;
    }
    #property .name h1 {
      margin: 0;
      font-size: 22px;
      font-weight: 600;
    }
    #property .name h2.location {
      margin: 5px 0;
      font-size: 15px;
    }
    #property .name h2.location a {
      color: inherit;
      text-decoration: underline;
    }
    #main_features {
      margin-top: 10px;
    }
    #main_features ul {
      padding: 0;
      list-style: 0;
    }
    #main_features ul li {
      display: inline-block;
      margin: 5px 7px 0 0;
      padding: 4px 8px;
      font-size: 12px;
      border-radius: 3px;
      box-shadow: 1px 1px 2px rgba(0,0,0,.05);
    }

    #main_features ul li:before {
      content: '';
      width: 12px;
      height: 12px;
      display: inline-block;
      margin-right: 5px;
    }
    #main_features ul li.property-type:before {
      display: none;
    }

    #prices {
      font-size: 28px;
      font-weight: bold;
    }
    #prices ul {
      padding: 0;
      list-style: none;
    }
    #prices .property-status-badge {
      visibility: visible;
      border-radius: 4px;
      padding: 7px 12px;
      font-size: 20px;
      box-shadow: 0 0 4px rgba(0,0,0,.15);
      text-shadow: 1px 1px 2px rgba(0,0,0,.15);
      display: inline-block;
      float: right;
    }
    #prices .temporary-rates li {
      color: var(--white-color);
      font-size: 16px;
    }

  /* Gallery Tabs */

    .nav-tabs {
      border: 0;
    }
    .nav-tabs > li {
      z-index: 2;
      border: 0;
      margin-bottom: 0px;
    }
    .nav-tabs>li>a {
      font-size: 13px;
      border: 0;
    }
    .nav-tabs > li.active > a,
    .nav-tabs > li.active > a:hover,
    .nav-tabs > li.active > a:focus {
      border: 0;
    }
    #map {
      border: 0;
    }
    #video ul {
      list-style: none;
      padding: 0;
    }
    .multimedia-container > div {
      list-style: none;
      padding: 10px;
    }
    .multimedia-container iframe {
      height: 450px;
      border: 0;
      width: 100%;
    }
    #property .contact .mg-notice, .mg_contact-form .mg-notice {
      box-shadow: none;
      border: 0;
      margin: 20px 0px;
    }
    .mg_contact-form .mg-notice {
      border-top: 1px solid #E1E8ED;
      padding: 15px 0px;
    }


  /* Contact Form */

    .affix {
      position: relative;
    }
    .mg_contact-form .mg-notice {
      padding-top: 5px;
      text-align: center;
    }
    #contact_form_wrapper .mg-notice h1 {
      font-size: 24px;
      font-weight: bold;
      margin: 0 0 5px;
    }
    #contact_form_wrapper {
      box-shadow: 0 0 5px rgba(0,0,0,.15);
    }
    #contact_form_wrapper h4 {
      margin: 10px 0 0;
      font-size: 16px;
      font-weight: 600;
    }
    #contact_form_wrapper table .form-control {
      height: 30px;
      font-size: 12px;
    }
    #contact_form_wrapper .btn.submit.input-button {
      font-weight: bold;
      width: 100%;
      margin-top: 5px;
    }
    #contact_form_wrapper .empty {
      display: none;
    }
    .contact .print-property {
      display: block;
      margin-top: 15px;
      padding: 10px 0;
      font-size: 13px;
      font-weight: bold;
      text-align: center;
    }
    .contact .print-property:hover {
      text-decoration: none;
      opacity: 1;
    }

    #property .print-property i {
      margin-right: .5rem;
    }

    #property .carousel-inner .item:after {
      display: none;
    }

    #property .carousel-inner .item:after {
      display: none;
    }

  /* Sub-content */

    .sub-content {
      padding: 30px 0 40px;
    }
    .sub-content h4 {
      font-weight: 600;
      margin-bottom: 15px;
    }
    #property .property-info > div {
      margin-bottom: 30px;
    }
    #property .property-info #summary {
      font-size: 12px;
    }
    #amenities h5 {
      margin-bottom: 0;
      font-weight: 600;
    }
    #amenities ul, #files ul, #financing-options ul {
      list-style: none;
      padding: 0;
    }
    #amenities ul li, #financing-options ul li {
      display: inline-block;
    }
    #amenities ul li:after, #financing-options ul li:after {
      content: ',';
    }
    #amenities ul li:last-child:after, #financing-options ul li:last-child:after {
      display: none;
    }
    #summary table tr td:nth-child(2) {
      font-weight: bold;
    }
    #summary td {
      max-width: 100px;
      word-wrap: break-word;
    }
    #summary ul {
      list-style: none;
      padding-left: 0;
    }
    #files li a {
      display: flex;
      gap: .5rem;
      align-items: center;
      margin-bottom: 5px;
      font-size: 13px;
      color: inherit;
      word-break: break-all;
    }
    #files li a:before {
      font-family: 'Font Awesome 6 Pro';
      content: '\f0c6';
      display: inline-block;
    }

  /* Featured properties */
    .featured-properties.content {
      padding: 0;
    }
    .featured-properties h3 {
      margin: 0 0 30px;
    }

    .thumbnail {
      padding: 0;
      font-size: 16px;
      border: 0;
      box-shadow: 0 0 5px rgba(0,0,0,.15);
      margin: 0;
      min-height: 359px;
      position: relative;
      border-radius: 0;
    }
    .thumbnail:hover {
      box-shadow: 0 0 10px rgba(0,0,0,.30);
    }
    .thumbnail .caption {
      padding: 9px 15px;
    }
    .thumbnail .type {
      padding: 7px;
      font-size: 13px;
    }
    .thumbnail p {
      margin: 0;
      font-size: 13px;
    }
    .thumbnail p.accent-color {
      font-size: 14px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .thumbnail h3 {
      margin: 10px 0 20px;
      font-size: 23px;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
      border-top: 1px solid;
      padding-top: 10px;
    }
    .thumbnail .property-status-badge.sold, .thumbnail .property-status-badge.rented {
      color: #e74c3c;
      background: none;
    }
    .thumbnail .property-status-badge.reserved {
      color: #f1c40f;
      background: none;
    }
    .featured-properties .carousel-control {
      width: 5%;
      background: none;
    }
    .carousel-control.right {
      right: 15px;
    }
    .featured-properties .carousel-control .arrow {
      width: 16px;
      height: 26px;
      position: absolute;
      top: 47%;
      z-index: 5;
      display: inline-block;
    }
    .featured-properties .carousel-inner {
      margin: 0 5%;
      width: auto;
    }
    .featured-properties .carousel-control .arrow-left {
      background: url('../images/slider-left.png') no-repeat center center;
    }
    .featured-properties .carousel-control .arrow-right {
      background: url('../images/slider-right.png') no-repeat center center;
    }
    .featured-properties .carousel-indicators {
      bottom: -50px;
    }
    .featured-properties .carousel-indicators li, .carousel-indicators li.active {
      opacity: .5;
    }

/* Contact Form page */

  .mg_contact-form {
    margin-top: 30px;
  }
  .mg_contact-form .mg-label {
    padding-right: 10px;
    text-align: right;
  }
  .mg_contact-form input, .mg_contact-form textarea {
    margin-bottom: 10px;
  }
  .mg_contact-form textarea.form-control {
    height: 100px;
  }
  body#contact {
    margin-bottom: 0px;
  }
  body#contact .footer {
    position: static;
  }

.map-empty-container {
  background: url('/themes/minimaloide/images/map-placeholder.png') center center no-repeat;
  height: 590px;
  text-align: center;
  border: 5px solid #f1f1f1;
}
.map-empty-container .map-text {
  color: #888;
  display: inline-block;
  margin-top: 230px;
  font-size: 26px;
  font-weight: bold;
  max-width: 400px;
  background: var(--white-color);
  padding: 20px;
  border-radius: 4px;
}
.map-container {
  width: 100%;
}
.map-container iframe {
  height: 500px;
}

/* Agent in property */

  .info-box {
    margin: -15px -20px 10px;
    background: #f4f4f4;
    border-bottom: 1px solid #e4e8eb;
    padding: 15px 20px;
  }
  #contact_form_wrapper .info-box .user-content h4 {
    padding-bottom: 0;
  }
  .agent {
    margin-top: 1rem;
  }
  .agent-image {
    margin-right: 10px;
  }
  .agent-image img {
    max-width: 75px;
    border: 1px solid #e4e8eb;
  }
  #contact_form_wrapper .agent-info .agent-name {
    padding-bottom: 0;
    border-bottom: 0;
    margin-bottom: 5px;
  }
  .agent .phone:before {
    font-family: "Font Awesome 6 Pro";
    font-size: 13px;
    font-weight: 900;
    content: "\f095";
    display: inline-block;
    margin-right: 4px;
    vertical-align: middle;
    color: #6d737b;
  }
  .agent .cell:before {
    font-family: "Font Awesome 6 Pro";
    font-size: 13px;
    font-weight: 900;
    content: "\f10b";
    display: inline-block;
    margin-right: 4px;
    vertical-align: middle;
    color: #6d737b;
  }
  .modal-dialog {
    z-index: 1050;
  }
  #agents .user .media-left img {
    width: 75px;
    border: 1px solid #e4e8eb;
    -webkit-box-shadow: 1px 1px 2px rgba(0,0,0,.05);
    box-shadow: 1px 1px 2px rgba(0,0,0,.05);
  }

  .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    line-height: 1;
  }

  #contactModal .modal-header {
    flex-direction: row-reverse;
  }

  #contact_form_wrapper .user-content h4,
  #contactModal .info-box .user-content h4 {
    display: none;
  }

  #contactModal .modal-dialog {
    margin: 0;
  }

  #contact_form_wrapper form + .form-group {
    margin-bottom: 0;
  }

  #contactModal .agent-info {
    text-align: center;
  }

  .modal-header .close {
    padding: 0 .5rem;
    float: unset;
    opacity: 1;
    height: 100%;
    text-shadow: unset;
    display: flex;
    align-items: center;
    justify-content: center;
  }
/* Agents */

  .company {
    display: none;
  }
  .company img {
    max-width: 95px;
    margin: 5px 0;
  }
  .modal-dialog {
    z-index: 1050;
  }
  .modal-dialog table {
    width: 100%;
  }
  .modal-dialog table input, .modal-dialog table textarea {
    margin-bottom: 15px
  }
  .modal-dialog .field_with_errors input, .modal-dialog .field_with_errors textarea {
    border: 1px solid #f7887d;
  }
  .modal-dialog .mg-notice {
    box-shadow: none;
    border: 0;
  }
  .modal-dialog .mg-notice h1 {
    margin-top: 0px;
    font-size: 3rem;
  }
  .agents .user .media-left img {
    width: 75px;
    border-radius: 6px;
    overflow: hidden;
  }

  .agents .media-body {
    width: 100%;
    text-align: left;
  }

  @media (max-width: 991px) {
    .agents .col-sm-4 + .col-sm-4 {
      margin-top: 2.5rem;
    }
  }

  .divider {
    padding-block: 1.5rem;
    height: 0px;
  }

/* Social Icons */

  .social-links {
    margin: 0px 0 0;
    float: left;
  }
  .social-links a:hover {
    opacity: 1;
  }
  .social-links a:before {
    font-family: "Font Awesome 6 Brands";
    font-size: 24px;
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
  }
  .social-links a.whatsapp:before {
    content: "\f40c";
  }
  .social-links a.facebook:before {
    content: "\f082";
  }
  .social-links a.twitter:before {
    content: "\e61a";
  }
  .social-links a.linkedin:before {
    content: "\f08c";
  }
  .social-links a.youtube:before {
    content: "\f431";
  }
  .social-links a.instagram:before {
    content: "\e055";
  }
  .social-links a.pinterest:before {
    content: "\f0d3";
  }
  .social-links a.tiktok:before {
    content: "\e07b";
    font-size: 20px;
  }

@media (min-width: 769px) and (max-width: 991px) {
  #gallery .royal-image-slideshow:not(.rsFullscreen) {
    height: 600px !important;
  }
}
@media (max-width: 767px) {
  #gallery .royal-image-slideshow:not(.rsFullscreen) {
    height: 350px !important;
  }
}
#gallery .rsGCaption {
  color: #fff!important;
}
#main_menu .navbar-right {
  position: relative;
}
#main_menu .mg_edit {
  top: 30px;
  right: -60px;
}
.top-head .mg_edit_link {
  top: 15px;
}

/* Contact Modal Styles */

.fixed-bottom {
  position: fixed;
  bottom: 0;
  z-index: 1000;
  width: 100%;
  left: 0;
}
.fixed-bottom .btn {
  border-radius: 0;
  box-shadow: 0 0 10px rgba(0,0,0,.3);
  padding: 15px;
}
#contactModal {
  background: var(--white-color);
}
.modal-content {
  border-radius: 0;
  border: 0;
  box-shadow: none;
  text-align: left;
}
.modal-content #contact_form_wrapper {
  background: #fff!important;
  border: 0!important;
  box-shadow: none!important;
}
.modal-content .info-box {
  border: 0;
  background: none;
}
.modal-content .form-wrapper .user-content {
  display: none;
}
.modal-content .form-wrapper .info-box {
  text-align: left;
}
.modal-content .print-property {
  display: none;
}

/* New prices */

#property #prices {
  font-size: 18px;
}
#property #prices .listing-type-price {
  font-size: 36px;
  color: var(--white-color);
}
#property #prices .listing-type li:last-child {
  margin-bottom: 5px;
}
#property #prices li {
  font-size: 24px;
}
#property #prices .period {
  font-size: 16px;
  margin-left: 3px;
}
#property #prices .price-type > .listing-type {
  text-transform: lowercase;
}
.property-listing li {
  list-style: none;
}
#website_translator {
  margin-top: -3px;
  margin-right: 10px;
}
#virtual_tour iframe {
  margin-bottom: 0;
}
.toggle-virtual-full {
  margin: 10px 15px 15px;
}
:-webkit-full-screen #virtual_tour_iframe {
  width: 100%!important;
  height: 100%!important;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3000;
}

.custom-select {
  border-radius: 2px!important;
  border: 1px solid #DBE4EA;
}
.custom-select select {
  height: 51px;
  padding: 10px 16px;
}
.btn-light {
  background: white!important;
  border: 1px solid #DBE4EA;
  height: 52px;
  padding-top: 14px;
  color: #000;
}
.btn-light:hover, .btn-light:focus, .btn-light:active {
  border: 1px solid #DBE4EA;
}

/* Pagination */

  .agents-page {
    min-height: 400px;
  }

  .agents-page .pagination {
    margin: 5rem 0 3rem;
    float: none;
    border: 0;
    text-align: center;
  }
  .agents-page .pagination .page a:hover, .agents-page .pagination .page a:focus, .agents-page .pagination .page a:active {
    text-decoration: none;
    background: #f2f5f8;
  }
  .agents-page .pagination .page > a, .agents-page .pagination .current, .agents-page .pagination .page > span {
    margin: 0 .25rem;
    min-width: 3rem;
    height: 3rem;
    font-size: 1rem;
    border-radius: 2.5rem;
    display: inline-block;
    font-weight: 600;
    box-shadow: 0px 1px 3px rgba(0,0,0,.05);
    background: var(--white-color);
    border: 1px solid #dbe4ea;
    line-height: 1rem;
    padding: 1rem;
  }
  .agents-page .pagination .current {
    color: #000;
    font-style: normal;
  }
  .agents-page .pagination span > i {
    font-size: .9rem;
  }

  #main_features ul li:before, .top-head #code_search_form input.input-button {
    background: transparent;
  }

.location-search-filter .reset-search i {
  top: -2.2rem;
}

.location-search-filter .search-bar-icon {
  top: 50%;
  translate: 0 -50%;
  font-size: 11px;
  padding: 0 8px;
}

.code-search-form .input-group {
  display: grid;
  grid-template-columns: 1fr 40px;
  grid-template-rows: 42px;
  margin-bottom: 15px;
}

.code-search-form #menu_search_code {
  height: 100%
}

.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:active,
.navbar-default .navbar-toggle:hover {
  background-color: rgba(0,0,0,.05);
}

/* Icon fix */
.glyphicon {
  font-family: "Font Awesome 6 Pro";
  font-weight: bold;
}

.glyphicon-chevron-left::before,
.glyphicon-chevron-right::before {
  font-size: 50px;
}

.glyphicon-chevron-left::before {
  content: '\f104';
}

.glyphicon-chevron-right::before {
  content: '\f105';
}

.glyphicon-earphone::before {
  content: '\f095';
  font-weight: bold;
}

.glyphicon-envelope::before {
  content: '\f0e0';
  font-weight: bold;
}

/* Color variables for palettes */

/* Backgrounds */
#hero:after, .section-head:after {
  opacity: .1;
}

body {
  background: var(--white-color);
}

.full {
  background: var(--white-color);
  background-image: linear-gradient(to right, var(--primary-dark-color) 50%, var(--white-color) 50%);
}

.hero-search {
  position: relative;
  border: 0;
}

.hero-search::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--primary-color);
  opacity: .5;
  z-index: -1;
}

.full .aside,
#property .content {
  background: var(--primary-dark-color);
}


/* Colors */
h1, h2, h3, h4, h5, h6,
#main_menu li a,
.property-listing .price .listing-type-price {
  color: var(--primary-dark-color);
}

.top-head p,
.top-head a,
.top-head a:hover,
.top-head span,
.top-head {
  color: var(--primary-color);;
}

#hero h2,
#property .name h2.location,
.nav-tabs > li > a,
#prices li,
.featured-properties .title h3,
.sidebar p,
.full .aside h4,
.section-head h1 {
  color: var(--white-color);
}

.full .aside, .full .aside a:not(.toggle-map) {
  color: #949597;
}

.full .aside a:hover,
.full .aside a:focus,
.full .aside a:active
.full .aside a {
  text-decoration: none;
}

/* Backgrounds w/color */
.lighter-bg,
#main_menu, .carousel-inner .item .card,
.content-box, #contact_form_wrapper,
.full .main {
  background: var(--white-color);
  color: #6d737b;
}

.darkest-bg,
.hero-search .btn-primary,
#main_features ul li,
.nav>li>a:hover,
.nav>li>a:focus,
.carousel-inner .item .card .picture {
  background: var(--primary-dark-color);
  color: var(--white-color);
}

#body_footer,
.nav>li>a:hover,
.nav>li>a:focus,
.contact .print-property,
#map, .map-container,
.media-container > div,
.thumbnail .type,
.full .aside .filter-fields .count,
.top-head #code_search_form input {
  background: var(--primary-dark-color);
  color: var(--white-color);
}

a:hover,
a:active,
a:focus,
a {
  color: var(--primary-color);
  outline: none;
}

a:hover,
a:active,
a:focus {
  filter: var(--hover-effect);
}

.btn-primary:hover,
.btn-default:hover,
.btn-go.input-button:hover,
.submit.input-button:hover,
.view-details a:hover,
.accent-bg,
.btn-primary,
.btn-default,
.btn-go.input-button,
.submit.input-button,
.view-details a,
.section-head,
.currentpage,
.navbar-toggle .icon-bar,
#hero.darkest-bg {
  background: var(--primary-color);
  color: var(--white-color);
  border: 0;
}

/* Borders */
#main_menu ul li a {
  border-color: transparent;
}

.top-head .contact, .top-head #code_search_form input {
  border-color: rgba(255,255,255,.1);
}

#main_menu ul li.active a,
#main_menu ul li.active a:hover {
  border-color: var(--primary-color);
}

#main_menu ul li a:hover,
.carousel-inner .item .card .info .price,
#contact_form_wrapper h4,
.full .main .property-listing,
.thumbnail h3,
.pagination ul li,
.pagination ul li.currentpage,
.pagination ul li.disablepage,
.pagination ul li span,
.pagination ul li span,
.property-listing .property-description .prices .price-type,
.property-listing .info li, #mg_property_listings {
  border-color: rgba(0,0,0,.15);
}

/* Gallery */
#gallery .rsUni,
#gallery .rsUni .rsOverflow,
#gallery .rsUni .rsSlide,
#gallery .rsUni .rsVideoFrameHolder {
  background: #072232;
  color: var(--white-color);
}

#gallery .rsGCaption {
  background: #072232;
}

#gallery .rsUni .rsThumbs {
  border-top: 1px solid #0F354B;
}

#gallery .rsUni .rsThumbs,
#gallery .rsUni .rsThumbs .rsThumb,
#gallery .rsUni .rsThumbs .rsThumb.rsNavSelected {
  background: #072232;
}

/* Icons */
.icon.icon-bed:before, #main_features ul li.beds:before,
.icon.icon-bath:before, #main_features ul li.baths:before,
.icon.icon-bath:before, #main_features ul li.lot-size:before,
.icon.icon-area:before, #main_features ul li.space:before {
  font-family: "Font Awesome 6 Pro";
  font-size: 13px;
  font-weight: 400;
  display: inline-block;
  margin-right: 8px;
  vertical-align: baseline;
}

.icon.icon-bed:before, #main_features ul li.beds:before { content: "\f236" }
.icon.icon-bath:before, #main_features ul li.baths:before { content: "\f2cd" }
.icon.icon-lot-size:before, #main_features ul li.lot-size:before { content: "\f065" }
.icon.icon-area:before, #main_features ul li.space:before { content: "\f1b2" }

/* Universal Color Variables */

/* Body Background */
body {
  background-color: var(--color-body_background, var(--white-color));
}

/* Links */

.pagination ul li,
.pagination ul li a {
  color: var(--color-links, var(--white-color));
}

a.phone,
.phone a,
.cell a {
  color: var(--color-links, var(--primary-color));
}

#files li a {
  color: var(--color-links, #000);
}

.agent-info .cell a,
.agent-info a.phone {
  color: var(--color-links, var(--primary-color));
}

/* Header Background */
#main_menu {
  background-color: var(--color-header_background, var(--white-color));
}

/* Header Links */
#main_menu ul li > a {
  color: var(--color-header_links, #000);
}

#main_menu ul li.dropdown .dropdown-menu li a {
  color: #000;
}

@media (max-width: 991px) {
  #main_menu ul li.dropdown .dropdown-menu li a {
    color: var(--color-header_links, #000);
  }
}

/* Header Text */
.top-head p,
.top-head a,
.top-head a:hover,
.top-head span,
.top-head {
  color: var(--color-header_text, var(--primary-color));
}

.phone-mobile p,
.phone-mobile {
  color: var(--color-header_text, #000);
}

/* Menu Background */
.navbar-collapse {
  background-color: var(--color-menu_background, transparent);
}

/* Icons */
.agent .phone::before,
.agent .cell::before,
#code_search_form .form-inline::before,
#main_features ul li.space::before,
#main_features ul li.lot-size::before,
#main_features ul li.beds::before,
#main_features ul li.baths::before {
  color: var(--color-icons, var(--primary-color));
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: var(--color-icons, var(--primary-color));
}

/* Social Icons */
.social-links a::before {
  color: var(--color-social-icons, var(--primary-color));
}

/* Main Title */
.section-head h1,
#hero .user-content h1 {
  color: var(--color-hero-title_text, var(--white-color));
}

/* Button Background */
.contact .print-property,
.hero-search .btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-default:hover,
.btn-default:active,
.btn-default:focus,
.btn-go.input-button:hover,
.btn-go.input-button:active,
.btn-go.input-button:focus,
.submit.input-button:hover,
.submit.input-button:active,
.submit.input-button:focus,
.view-details a:hover,
.view-details a:active,
.view-details a:focus,
.accent-bg,
.btn-primary,
.btn-default,
.btn-go.input-button,
.submit.input-button,
.view-details a,
.pagination .currentpage,
.pagination .currentpage a,
.contact .print-property::before,
.navbar-toggle .icon-bar {
  background-color: var(--color-button_background, var(--primary-dark-color));
  color: var(--color-button_text, var(--white-color));
}

#hero.darkest-bg,
.section-head {
  background-color: var(--color-button_background, var(--primary-color));
}

#main_menu ul li.active a,
#main_menu ul li.active a:hover {
  border-color: var(--color-button_background, var(--primary-color));
}

#body_footer {
  background-color: var(--color-button_background, var(--primary-dark-color));
  color: var(--color-button_text, var(--white-color));
}

#body_footer a {
  color: var(--color-button_text, var(--white-color));
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-default:hover,
.btn-default:active,
.btn-default:focus,
.btn-go.input-button:hover,
.btn-go.input-button:active,
.btn-go.input-button:focus,
.submit.input-button:hover,
.submit.input-button:active,
.submit.input-button:focus,
.view-details a:hover,
.view-details a:active,
.view-details a:focus {
  filter: var(--hover-effect);
}


/* Footer Background */
.pre-footer.lighter-bg {
  background-color: var(--color-footer_background, var(--white-color));
  color: var(--color-footer_text, #6d737b);
}

.pre-footer a,
.pre-footer h2,
.pre-footer h3,
.pre-footer h4,
.pre-footer h5,
.pre-footer h6 {
  background-color: var(--color-footer_background, var(--white-color));
  color: var(--color-footer_text, #6d737b);
}

/** Hide property badge */
.property-status-badge.not_published,
.property-status-badge.published {
  display: none !important;
}

/** translation toggler **/
.translation-toggler .hidden,
.translation-toggler .d-none {
  display: none!important;
}

[data-translation].hidden,
[data-translation].d-none {
  display: none!important;
}

.summary-title {
  display: flex;
  justify-content: space-between;
}

.translation-toggler {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .9rem;
  line-height: 1;
}

.translation-toggler:hover {
  text-decoration: none;
}

h1.title div {
  display: inline;
}

.title .translation-icon {
  position: relative;
  top: -2px;
  height: .8em;
  filter: invert(1);
}

/** WhatsApp button **/
.btn-outline {
  border: 1px solid hsl(from var(--color-button_background, var(--primary-color)) h s l / 33%) !important;
  background: white !important;
  color: var(--color-button_background, var(--primary-color)) !important;
  cursor: pointer;
  box-shadow: unset!important;
  transition: border ease-in .3s;
}

.btn-outline:hover {
  border-color: hsl(from var(--color-button_background, var(--primary-color)) h s l / 80%) !important;
  filter: unset;
  box-shadow: unset!important;
}

/** Applied filters **/
.filters-content  .applied-filters {
  padding: 0 1rem;
}

@media (min-width: 992px) {
  .applied-filters {
    --chip-text-color: black!important;
    --chip-border-color: black;
    --chip-background: rgba(255,255 ,255, .9);
    --chip-background-hover: rgba(255,255 ,255, .95);
    --chip-icon-background: white;
    --chip-icon-background-hover: white;
    --chip-icon-size: 20px;
  }

  .applied-filters ul li a {
    color: black !important;
  }
}

@media (max-width: 991px) {
  .filters-container .dropdown-content {
    padding: 0;
  }
}

/** Map **/
.map-wrap {
  --map-wrap-border: none;
  --map-wrap-radius: 0;
  --map-wrap-height: 700px;
  --button-radius: 0;
}

/** Filters **/
.properties-header .custom-select,
.properties-header .btn {
  height: 50px;
  border-radius: 0;
}

/** Agent contact button **/
.agent-contact-button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
}

.agent-contact-button :where(button, a) {
  width: 100%;
  text-transform: unset;
  letter-spacing: normal;
  font-size: .9rem;
  min-height: 2rem;
}

@media (min-width: 992px) {
  .agent-contact-button :where(button, a) {
    max-width: 11rem;
  }
}
