/*
Theme Name:   PromoWeiss
Description:  Master Theme
Author:       AedesIT
Author URI:   http://www.aedesit.com
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  promoweiss
*/
@import 'https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css';
@import 'https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css';
@import 'https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css';
@import 'https://cdnjs.cloudflare.com/ajax/libs/swipebox/1.4.4/css/swipebox.min.css';
@import 'https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css';
@import 'https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.default.min.css';
@import 'https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/css/simple-line-icons.css';
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v29/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v29/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v29/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensanscondensed/v23/z7NFdQDnbTkabZAIOl9il_O6KJj73e7Ff1GhDuXMQg.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensanscondensed/v23/z7NFdQDnbTkabZAIOl9il_O6KJj73e7Ff0GmDuXMQg.ttf) format('truetype');
}
/******************************************************************
***** Mixins
******************************************************************/
/******************************************************************
***** Mixins 
***** https://css-tricks.com/snippets/css/useful-css3-less-mixins/
******************************************************************/
/******************************************************************
***** Colors
******************************************************************/
/******************************************************************
***** Loader
******************************************************************/
.loader {
  position: fixed;
  overflow: hidden;
  z-index: 1040;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  color: #fff;
  text-align: center;
}
.loader-brand {
  position: absolute;
  left: 0;
  width: 100%;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
/******************************************************************
***** Typo & Comons 
******************************************************************/
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.85em;
  -webkit-font-smoothing: antialiased;
  cursor: default;
}
body::-webkit-scrollbar {
  width: 0.5em;
}
body::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
  background: #343741;
}
body::-webkit-scrollbar-thumb {
  background: #1788a8;
  outline: 1px solid slategrey;
}
::-webkit-selection {
  color: #fff;
  background: #1788a8;
}
::-moz-selection {
  color: #fff;
  background: #1788a8;
}
::selection {
  color: #fff;
  background: #1788a8;
}
a {
  color: #1788a8;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
}
a:hover,
a:focus {
  color: #000;
  text-decoration: none;
}
main {
  background: #fff;
}
.la {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a,
button {
  outline: inherit;
}
b,
strong {
  font-weight: 600;
}
.px-6 {
  padding-left: 4.5rem !important;
}
.px-6 {
  padding-right: 4.5rem !important;
}
.pb-6,
.py-6 {
  padding-bottom: 4.5rem !important;
}
.pt-6,
.py-6 {
  padding-top: 4.5rem !important;
}
.mb-6,
.my-6 {
  margin-bottom: 4.5rem !important;
}
.mt-6,
.my-6 {
  margin-top: 4.5rem !important;
}
.px-7 {
  padding-left: 6rem!important;
}
.px-7 {
  padding-right: 6rem!important;
}
.pb-7,
.py-7 {
  padding-bottom: 6rem!important;
}
.pt-7,
.py-7 {
  padding-top: 6rem!important;
}
.mb-7,
.my-7 {
  margin-bottom: 6rem!important;
}
.mt-7,
.my-7 {
  margin-top: 6rem!important;
}
/******************************************************************
***** Typographie
******************************************************************/
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4 {
  font-family: 'Open Sans Condensed', sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  color: #333;
}
h1 .color-2,
.h1 .color-2,
h2 .color-2,
.h2 .color-2,
h3 .color-2,
.h3 .color-2,
h4 .color-2,
.h4 .color-2 {
  color: #343741;
}
h1.lined,
.h1.lined,
h2.lined,
.h2.lined,
h3.lined,
.h3.lined,
h4.lined,
.h4.lined {
  position: relative;
  margin-bottom: 30px;
}
h1.lined:after,
.h1.lined:after,
h2.lined:after,
.h2.lined:after,
h3.lined:after,
.h3.lined:after,
h4.lined:after,
.h4.lined:after {
  display: block;
  content: "";
  height: 1px;
  position: absolute;
  width: 30px;
  bottom: -10px;
  left: 0;
  background: #1788a8;
}
h1,
.h1 {
  font-size: 2.3rem;
  color: #343741;
}
h2,
.h2 {
  font-size: 1.5em;
  line-height: 2rem;
  font-weight: 600;
}
h3,
.h3 {
  font-weight: 300;
  font-size: 1.4em;
  /*
    font-weight: 400;
    font-size: 1.4em;
    color:#000;*/
}
.bg-darken {
  background: #f8fafb;
}
.bg-darken-2 {
  background: #edf2f4;
}
.modal-backdrop {
  background-color: #343741;
  /*background-image: -webkit-linear-gradient(135deg, #000, @color2);
    background-image: linear-gradient(135deg, #000, @color2);*/
}
.modal-content {
  border: none;
  border-radius: 0.5rem;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.15);
}
html.sr .load-hidden {
  visibility: hidden;
}
.alert {
  box-shadow: 0px 1px 15px 1px rgba(69, 65, 78, 0.08);
  border-radius: 0.5rem;
}
.reveal-interval,
.reveal {
  visibility: hidden;
}
.card {
  border-radius: 0;
}
.collapse .card-body > *:last-child {
  margin-bottom: 0;
}
.small_words {
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0;
}
.background-dark {
  background: #343741;
}
.background-dark .goto-section {
  background: #343741;
  color: #fff;
}
.list-group-item:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.list-group-item:last-child {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.list-group-item.active {
  background-color: #1788a8;
  border-color: #1788a8;
}
/******************************************************************
***** Section
******************************************************************/
.main-section {
  padding: 3rem 0;
  position: relative;
}
.main-section.darken {
  background: #df8f39;
}
.main-section .section-title {
  text-align: center;
  margin-bottom: 2.5rem;
}
@media (min-width: 1200px) {
  .main-section {
    padding: 6rem 0;
  }
}
.section-intro .intro-item .la {
  font-size: 3.5rem;
  color: #1788a8;
  margin-bottom: 1.5rem;
}
.reveal {
  visibility: hidden;
}
/******************************************************************
***** Swipebox overwrite
******************************************************************/
#swipebox-overlay {
  background: rgba(0, 0, 0, 0.5);
}
/******************************************************************
***** OWL Carousel
******************************************************************/
.owl-theme .owl-dots .owl-dot span {
  background: #1788a8;
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #df8f39;
}
/******************************************************************
***** Google Map
******************************************************************/
.acf-map {
  height: 20vh;
  min-height: 400px;
}
.grecaptcha-badge {
  z-index: 36;
  display: none; !important;
}
/******************************************************************
***** Boutons
******************************************************************/
/******************************************************************
***** Buttons
******************************************************************/
.btn {
  border-radius: 30px;
  padding: 0.75rem 1.5rem;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 1.5rem;
  font-family: 'Open Sans Condensed', sans-serif;
}
.btn-primary {
  border-color: #1788a8;
  background: #1788a8;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active {
  border-color: #343741;
  background: #343741;
}
.btn-link {
  color: #1788a8;
}
.btn-link:hover,
.btn-link:active,
.btn-link:not(:disabled):not(.disabled):active {
  color: #343741;
  text-decoration: none;
}
.btn-outline-primary,
.btn-outline-primary:not(:disabled):not(.disabled).activ {
  color: #1788a8;
  border-color: #1788a8;
}
.btn-outline-primary .la,
.btn-outline-primary:not(:disabled):not(.disabled).activ .la {
  color: rgba(0, 0, 0, 0.5);
}
.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled).activ:hover,
.btn-outline-primary.active,
.btn-outline-primary:not(:disabled):not(.disabled).activ.active,
.btn-outline-primary:active,
.btn-outline-primary:not(:disabled):not(.disabled).activ:active,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).activ:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #1788a8;
  border-color: #1788a8;
}
.btn-outline-primary:hover .la,
.btn-outline-primary:not(:disabled):not(.disabled).activ:hover .la,
.btn-outline-primary.active .la,
.btn-outline-primary:not(:disabled):not(.disabled).activ.active .la,
.btn-outline-primary:active .la,
.btn-outline-primary:not(:disabled):not(.disabled).activ:active .la,
.btn-outline-primary:not(:disabled):not(.disabled):active .la,
.btn-outline-primary:not(:disabled):not(.disabled).activ:not(:disabled):not(.disabled):active .la {
  color: rgba(255, 255, 255, 0.5);
}
.btn-status {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: bold;
  font-size: 1em;
}
.btn-status.disabled {
  opacity: 1;
}
.btn-status span {
  padding: 0 1rem;
}
.btn-status .badge {
  color: #fff;
  border-radius: 0;
  padding: 1rem;
  top: inherit;
  left: 1px;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}
.btn-status.btn-outline-free {
  color: #51b170;
  border-color: #51b170;
}
.btn-status.btn-outline-free .badge {
  background: #51b170;
}
.btn-status.btn-outline-free:hover,
.btn-status.btn-outline-free.active,
.btn-status.btn-outline-free:active,
.btn-status.btn-outline-free:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #51b170;
  border-color: #51b170;
}
.btn-status.btn-outline-reserved {
  color: #df8f39;
  border-color: #df8f39;
}
.btn-status.btn-outline-reserved .badge {
  background: #df8f39;
}
.btn-status.btn-outline-reserved:hover,
.btn-status.btn-outline-reserved.active,
.btn-status.btn-outline-reserved:active,
.btn-status.btn-outline-reserved:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #df8f39;
  border-color: #df8f39;
}
.btn-status.btn-outline-qous_compromis {
  color: #b5743e;
  border-color: #b5743e;
}
.btn-status.btn-outline-qous_compromis .badge {
  background: #b5743e;
}
.btn-status.btn-outline-qous_compromis:hover,
.btn-status.btn-outline-qous_compromis.active,
.btn-status.btn-outline-qous_compromis:active,
.btn-status.btn-outline-qous_compromis:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #b5743e;
  border-color: #b5743e;
}
.btn-status.btn-outline-sold {
  color: #cd0e4d;
  border-color: #cd0e4d;
}
.btn-status.btn-outline-sold .badge {
  background: #cd0e4d;
}
.btn-status.btn-outline-sold:hover,
.btn-status.btn-outline-sold.active,
.btn-status.btn-outline-sold:active,
.btn-status.btn-outline-sold:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #cd0e4d;
  border-color: #cd0e4d;
}
.btn-status.btn-outline-sold {
  color: #1788a8;
  border-color: #1788a8;
}
.btn-status.btn-outline-sold .badge {
  background: #1788a8;
}
.btn-status.btn-outline-sold:hover,
.btn-status.btn-outline-sold.active,
.btn-status.btn-outline-sold:active,
.btn-status.btn-outline-sold:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #1788a8;
  border-color: #1788a8;
}
/******************************************************************
***** Header - Menu
******************************************************************/
.fixed-top {
  position: absolute;
}
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 91;
  width: 100%;
  background: transparent;
}
.site-header .navbar {
  padding: 0;
}
.site-header .navbar-nav#menu-menu-principal > li > a {
  color: #fff;
  font-family: 'Open Sans Condensed', sans-serif;
  text-transform: uppercase;
  font-size: 1.2rem;
}
.site-header .call-nbr {
  background: #343741;
  color: #fff;
  font-weight: bold;
  padding: 1rem;
  font-family: 'Open Sans Condensed', sans-serif;
  font-size: 1.5rem;
}
.site-header .call-nbr .icons {
  color: #1788a8;
  margin-right: 0.5rem;
}
.navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1);
  margin-right: 1rem;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
@media (max-width: 1199px) {
  .navbar-collapse {
    background: #343741;
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .site-header {
    transition: background 0.3s ease-in;
  }
  .site-header .navbar-brand img {
    max-height: 65px;
  }
  .site-header .navbar-nav#menu-menu-principal > li > a {
    color: #fff;
    font-family: 'Open Sans Condensed', sans-serif;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-size: 1.3rem;
    padding: 0 1.2rem;
    position: relative;
  }
  .site-header .navbar-nav#menu-menu-principal > li > a:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    height: 2px;
    width: 0;
    background: #1788a8;
    -webkit-transition: width 0.3s ease-out;
    -moz-transition: width 0.3s ease-out;
    -ms-transition: width 0.3s ease-out;
    -o-transition: width 0.3s ease-out;
  }
  .site-header .navbar-nav#menu-menu-principal > li > a:hover:after {
    width: 100%;
  }
  .site-header .navbar-nav#menu-menu-principal > li.current-menu-item > a:after {
    width: 100%;
  }
  .site-header .call-nbr {
    padding: 41.5px;
    font-size: 1.5rem;
  }
  .site-header.navbar_fixed {
    background: rgba(52, 55, 65, 0.9);
  }
}
@media (min-width: 1200px) {
  .site-header .navbar-nav#menu-menu-principal > li > a {
    padding: 0 2.2rem;
  }
  .site-header .navbar-nav.navbar-lang {
    margin-left: 2rem;
  }
  .site-header .navbar-nav.navbar-lang > li a {
    padding: 0 0.5rem;
  }
}
.logos {
  display: flex;
  align-items: center;
  background-color: #fff;
  transition: background-color 0.3s;
  transition-timing-function: ease-out;
  transition-delay: 0.6s;
}
.logos img {
  height: 60px;
  width: auto;
}
.logos .logo-group {
  background: #343741;
  position: relative;
  z-index: 112;
  padding: 1.6rem 2rem;
  cursor: pointer;
}
.logos .logo-group:hover {
  background: #3f434f;
}
.logos .logo-brand {
  margin: 1.6rem 2rem;
  opacity: 1;
  position: relative;
  transition: margin 0.5s, opacity 0.5s;
  transition-timing-function: ease-out;
  transition-delay: 0.6s;
}
.logos.is-opened-navi {
  background-color: rgba(255, 255, 255, 0);
  transition-duration: 0.2s;
  transition-delay: inherit;
}
.logos.is-opened-navi .logo-brand {
  opacity: 0;
  margin: 1.6rem 2rem 1.6rem -210px;
  transition-duration: 0;
  transition-delay: inherit;
}
@media (max-width: 1199px) {
  .logos .logo-group {
    padding: 1rem;
  }
  .logos .logo-brand {
    margin: 1rem 1.5rem;
  }
  .logos img {
    height: 50px;
  }
  .site-header {
    background: #fff;
  }
}
.group-panel {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 90;
  background: #292b33;
  padding: 112px 0;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  overflow: auto;
  opacity: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  transition: opacity 0.1s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.1s;
  transition: transform 0.3s, opacity 0.1s, -webkit-transform 0.3s;
  transition-timing-function: ease-in;
  /*
	transition: transform 0.1s, opacity 0.1s;
	transform: translateY(100%);
	transition-timing-function: ease-out;
	*/
}
.group-panel .col-xl-3 {
  opacity: 0;
  -webkit-transform: translateY(-20%);
          transform: translateY(-20%);
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: transform 0.6s, opacity 0.6s;
  transition: transform 0.6s, opacity 0.6s, -webkit-transform 0.6s;
  transition-timing-function: ease-out;
  transition-delay: 0;
}
.group-panel.is-opened {
  opacity: 1;
  -webkit-transform: translateY(0) rotate(0);
          transform: translateY(0) rotate(0);
  pointer-events: auto;
  transition-timing-function: ease;
  transition-duration: 0.3s;
}
.group-panel.is-opened .col-xl-3 {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: inherit;
  transition-timing-function: ease;
}
.group-panel.is-opened .col-xl-3:nth-of-type(1) {
  transition-delay: 0.35s;
}
.group-panel.is-opened .col-xl-3:nth-of-type(2) {
  transition-delay: 0.55s;
}
.group-panel.is-opened .col-xl-3:nth-of-type(3) {
  transition-delay: 0.75s;
}
.group-panel.is-opened .col-xl-3:nth-of-type(4) {
  transition-delay: 0.95s;
}
.group-panel.is-opened .col-xl-3:nth-of-type(5) {
  transition-delay: 1.15s;
}
.group-panel .svg {
  max-height: 85px;
  width: auto;
  max-width: 250px;
}
.group-panel .svg #texte > * {
  fill: #fff;
}
.group-panel .header-logo {
  height: 85px;
  margin-bottom: 1.5rem;
}
.group-panel p {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .group-panel {
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 1200px) {
  .group-panel {
    align-items: center;
  }
}
/******************************************************************
***** Header - Title
******************************************************************/
/******************************************************************
***** Home Slider
******************************************************************/
.home .main-header {
  padding: 15em 0;
  height: 80vh;
}
.main-header {
  background: #3f434f;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  color: #fff;
  padding: 10em 0;
}
.main-header:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(52, 55, 65, 0.65);
  z-index: 2;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
}
.main-header > * {
  position: relative;
  z-index: 3;
}
.main-header .main-title {
  border: solid 1px #fff;
}
.main-header .main-title h1 {
  color: #fff;
  border-left: solid 15px #fff;
  padding: 20px 50px 20px 20px;
  margin-bottom: 0;
  font-family: 'Open Sans', sans-serif;
}
.main-header .main-title .subtitle {
  border-top: dotted 1px #fff;
  font-weight: bold;
  font-size: 1.6rem;
  text-transform: uppercase;
}
.main-header .main-title .subtitle p {
  margin: 0;
  padding: 1rem 0 1rem 35px;
}
.main-header .main-title .subtitle p.residence {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.main-header .main-title .subtitle p.stage {
  border-left: dotted 1px #fff;
  padding-right: 35px;
  font-weight: 300;
  font-size: 1.2rem;
  white-space: nowrap;
}
.main-header .btn-back {
  color: #fff;
  text-transform: uppercase;
}
.main-header .main-title-properties {
  background: #1a9abe;
  padding: 1rem 2rem;
  font-family: 'Open Sans Condensed', sans-serif;
  text-transform: uppercase;
  font-size: 1.5rem;
  color: #343741;
  -webkit-transition: background 0.3s ease-out;
  -moz-transition: background 0.3s ease-out;
  -ms-transition: background 0.3s ease-out;
  -o-transition: background 0.3s ease-out;
}
.main-header .main-title-properties span {
  font-weight: bold;
  font-size: 1.8rem;
  color: #fff;
}
.main-header .main-title-properties:hover {
  background: #343741;
  color: #fff;
}
.main-header .slogan {
  margin: 1rem 0 1rem 35px;
}
.main-header .owl-headerslider {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.main-header .owl-headerslider .owl-stage-outer,
.main-header .owl-headerslider .owl-stage,
.main-header .owl-headerslider .owl-item,
.main-header .owl-headerslider .item {
  height: 100%;
}
.main-header .owl-headerslider .item {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.main-header,
.map__view {
  position: relative;
}
.main-header .triangle,
.map__view .triangle {
  position: absolute;
  height: 100px;
  width: 100%;
  left: 0;
  z-index: 10;
  bottom: 0;
  pointer-events: none;
}
.main-header .triangle polygon,
.map__view .triangle polygon {
  fill: #fff;
}
.main-header > *,
.map__view > * {
  position: relative;
  z-index: 10;
}
/******************************************************************
***** Home Sections
******************************************************************/
.row-gallery a {
  display: block;
  position: relative;
}
.row-gallery a * {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
}
.row-gallery a p {
  opacity: 0;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 2rem;
  margin: 0;
  text-align: center;
}
.row-gallery a:before {
  opacity: 0;
  content: "\e090";
  font-family: 'simple-line-icons';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 11;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  color: #fff;
  font-size: 3rem;
  -webkit-transition: all 0.4s ease-out;
  -moz-transition: all 0.4s ease-out;
  -ms-transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out;
}
.row-gallery a:after {
  opacity: 0;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(23, 136, 168, 0.5);
  z-index: 9;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
}
.row-gallery a:hover p,
.row-gallery a:hover:before,
.row-gallery a:hover:after {
  opacity: 1;
}
.property-item {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
}
.property-item a {
  color: #000;
}
.property-item a:hover {
  color: #1788a8;
}
.property-item > a > * {
  padding: 0.5rem 1.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 50%;
}
.property-item .property-title {
  font-family: 'Open Sans Condensed', sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  color: #333;
  font-size: 1.5em;
  line-height: 2rem;
  font-weight: 600;
  font-family: 'Open Sans', sans-serif;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%;
}
.property-item .property-title .color-2 {
  color: #343741;
}
.property-item .property-title.lined {
  position: relative;
  margin-bottom: 30px;
}
.property-item .property-title.lined:after {
  display: block;
  content: "";
  height: 1px;
  position: absolute;
  width: 30px;
  bottom: -10px;
  left: 0;
  background: #1788a8;
}
.property-item .property-status {
  font-weight: bold;
  text-transform: uppercase;
}
.property-item .property-link {
  background: rgba(52, 55, 65, 0.6);
  color: #fff;
  padding: 0;
  width: 80px;
  height: 80px;
  display: none!important;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  -webkit-transition: background 0.3s ease-out;
  -moz-transition: background 0.3s ease-out;
  -ms-transition: background 0.3s ease-out;
  -o-transition: background 0.3s ease-out;
}
.property-item.property-free .property-status {
  color: #51b170;
}
.property-item.property-reserved {
  opacity: 0.6;
}
.property-item.property-reserved .property-status {
  color: #df8f39;
}
.property-item.property-qous_compromis .property-status {
  color: #b5743e;
}
.property-item.property-sold {
  opacity: 0.6;
}
.property-item.property-sold .property-status {
  color: #cd0e4d;
}
.property-item:hover,
.property-item.hover {
  border-color: #1788a8;
  border-left-width: 1rem;
}
.property-item:hover .property-link,
.property-item.hover .property-link {
  background: #1788a8;
}
.nav-stages {
  background: #1788a8;
  color: rgba(255, 255, 255, 0.6);
  font-weight: bold;
  padding: 0 0 1rem 0;
  font-size: 1.4rem;
  position: relative;
  text-transform: uppercase;
}
.nav-stages span {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.nav-stages a {
  color: rgba(255, 255, 255, 0.6);
  display: inline-block;
  padding: 0.3rem 0.8rem;
  margin: 0 0.2rem;
}
.nav-stages a.active {
  color: #fff;
  border: solid 1px rgba(255, 255, 255, 0.8);
}
.nav-stages .triangle {
  position: absolute;
  height: 100px;
  width: 100%;
  top: -100px;
  left: 0;
  z-index: 1;
  pointer-events: none;
}
.nav-stages .triangle polygon {
  fill: #1788a8;
}
.post-type-archive-property .main-header,
.single-property .main-header,
.tax-bloc .main-header {
  background-image: url(img/plan.jpg);
}
.post-type-archive-property .main-header .triangle,
.single-property .main-header .triangle,
.tax-bloc .main-header .triangle {
  pointer-events: none;
}
.post-type-archive-property .main-header .triangle polygon,
.single-property .main-header .triangle polygon,
.tax-bloc .main-header .triangle polygon {
  fill: #1788a8;
}
.property-details {
  background: #1788a8;
}
.property-details nav {
  font-weight: bold;
  color: #fff;
  padding: 0 0 1rem 0;
  font-size: 1.2rem;
  text-transform: uppercase;
}
.property-details nav > * {
  padding: 0.2rem 0.5rem;
}
.property-details nav a {
  color: #fff;
}
.property-details .details-item {
  background: #11647b;
}
.property-details .details-item svg {
  width: auto;
  max-height: 35px;
  float: left;
  margin-top: 5px;
}
.property-details .details-item svg > * {
  fill: rgba(255, 255, 255, 0.5);
}
.property-details .details-item .item {
  display: block;
  padding: 1rem;
  border-right: dotted 1px #1788a8;
}
.property-details .details-item .item.item-free svg > * {
  fill: #51b170;
}
.property-details .details-item .item.item-reserved svg > * {
  fill: #df8f39;
}
.property-details .details-item .item.item-qous_compromis svg > * {
  fill: #b5743e;
}
.property-details .details-item .item.item-sold svg > * {
  fill: #cd0e4d;
}
.property-details .details-item a.item:hover {
  background: #1788a8;
}
.property-details .details-item p {
  margin: 0 0 0 50px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
  text-transform: uppercase;
  line-height: 1.4rem;
  font-weight: 300;
}
.property-details .details-item p strong {
  display: block;
  color: #ffffff;
  font-size: 1.4rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wp-block-table tbody tr:first-child {
  background: rgba(23, 136, 168, 0.1);
  font-weight: bold;
  font-size: 1.1rem;
}
article {
  position: relative;
}
article:after {
  content: "";
  width: 500px;
  height: 500px;
  background: url(img/article-bg.svg) center center no-repeat / contain;
  position: absolute;
  bottom: 0;
  right: 0;
  opacity: 0.02;
  pointer-events: none;
}
.nav-pills .nav-link {
  border: solid 1px #ebecef;
  border-radius: 0;
  font-weight: bold;
  color: #343741;
}
.nav-pills .nav-link.active {
  background: #343741;
  border: solid 1px #343741;
}
.nav-pills.flex-column .nav-link {
  margin-top: -1px;
}
.nav-pills .nav-item:first-child .nav-link {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.nav-pills .nav-item:last-child .nav-link {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.owl-partners {
  text-align: center;
}
.owl-partners .owl-stage {
  display: flex;
}
.owl-partners .item {
  display: flex;
  flex-direction: column;
  height: 100%;
  /*
        & > *{
            flex: 1 1 auto;
        }*/
}
.owl-partners .square {
  position: relative;
  width: 100%;
  margin-bottom: 1rem;
}
.owl-partners .square:after {
  content: "";
  display: block;
  padding-bottom: 70%;
}
.owl-partners .content {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.owl-partners .h3 {
  color: #1788a8;
  margin-bottom: 1rem;
}
.owl-partners .inner-item {
  background: #fff;
  padding: 2rem;
  margin: 0.5rem;
  flex-grow: 1;
}
.owl-partners .inner-item img {
  width: 80%;
  height: auto;
  margin: 0 auto;
}
.section-dividers {
  position: relative;
}
.section-dividers .triangle {
  position: absolute;
  height: 100px;
  width: 100%;
  left: 0;
  z-index: 1;
  pointer-events: none;
}
.section-dividers .triangle polygon {
  fill: #edf2f4;
}
.section-dividers .triangle.triangle_1 {
  top: -100px;
}
.section-dividers .triangle.triangle_2 {
  bottom: -100px;
}
.card,
.card-header {
  border-color: #343741;
  background: transparent;
}
.card-header {
  border-left: solid 1rem #343741;
  font-size: 1.6rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
}
.card-download .btn {
  font-size: 3rem;
}
.svg #properties > * {
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  fill: rgba(52, 55, 65, 0) !important;
  stroke: rgba(52, 55, 65, 0);
  stroke-width: 3;
  opacity: 0.1;
  cursor: pointer;
}
.svg #properties > *.area-free {
  fill: rgba(81, 177, 112, 0.2) !important;
  stroke: #51b170;
}
.svg #properties > *.area-reserved {
  fill: rgba(223, 143, 57, 0.2) !important;
  stroke: #df8f39;
}
.svg #properties > *.area-qous_compromis {
  fill: rgba(181, 116, 62, 0.2) !important;
  stroke: #b5743e;
}
.svg #properties > *.area-sold {
  fill: rgba(205, 14, 77, 0.2) !important;
  stroke: #cd0e4d;
}
.svg #properties > *.area-hover {
  opacity: 1;
}
/******************************************************************
***** Footer
******************************************************************/
footer.footer {
  background: #343741;
  position: relative;
  color: #fff;
}
footer.footer a {
  color: #fff;
}
footer.footer .h3 {
  color: #fff;
  position: relative;
  margin-bottom: 30px;
}
footer.footer .h3:after {
  display: block;
  content: "";
  height: 1px;
  position: absolute;
  width: 30px;
  bottom: -10px;
  left: 0;
  background: #1788a8;
}
footer.footer img {
  max-width: 85px;
  width: 100%;
}
footer.footer .group-logos .svg {
  height: 50px;
  width: auto;
}
footer.footer .svg #texte > * {
  fill: #fff;
}
footer.footer .triangle {
  position: absolute;
  height: 100px;
  top: -100px;
  width: 100%;
  left: 0;
  z-index: 1;
}
footer.footer .triangle polygon {
  fill: #343741;
}
footer.footer .copyright {
  background: #292b33;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
}
.virtual .embed-container {
  position: relative;
}
.virtual .embed-container a {
  position: absolute;
  top: 1em;
  right: 1em;
  width: 40px;
  height: 40px;
  background-color: #1788a8;
  border-radius: 20px;
  color: white;
  text-align: center;
  line-height: 40px;
  font-size: 1.5em;
}
.virtual .embed-container a:hover {
  background-color: #343741;
}
.virtual:nth-child(2) {
  padding-top: 20em;
}
.virtual:nth-child(3) {
  position: relative;
  top: -20em;
}
@media (max-width: 767px) {
  .virtual:nth-child(2) {
    padding-top: 0!important;
  }
  .virtual:nth-child(3) {
    top: 0 !important;
  }
}
/******************************************************************
***** Contenu principal
******************************************************************/
/******************************************************************
***** Tartaucitron
******************************************************************/
body #tarteaucitronRoot div#tarteaucitronAlertBig {
  box-shadow: none!important;
  border-radius: 0!important;
}
#tarteaucitronRoot #tarteaucitronAlertBig {
  background: #343741 !important;
}
/******************************************************************
***** Map (a proximité)
******************************************************************/
.map {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 60em) {
  .map {
    position: relative;
    padding: 4.57142857em 0;
  }
}
.map.map--nearby {
  margin-top: 6.42857143em;
}
@media screen and (max-width: 43.75em) {
  .map.map--nearby {
    margin-top: 3.57142857em;
  }
}
.map__intro {
  position: relative;
  z-index: 0;
  background: #f5f3ee;
}
.map__intro .container,
.map__intro .footer__section {
  z-index: 0;
  padding: 3.71428571em 0 7.57142857em;
}
.map__intro .container:after,
.map__intro .footer__section:after {
  content: "";
  display: block;
  clear: left;
}
@media screen and (max-width: 60em) {
  .map__intro .container,
  .map__intro .footer__section {
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
  }
  .map--active .map__intro .container,
  .map--active .map__intro .footer__section {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media screen and (max-width: 43.75em) {
  .map__intro .container,
  .map__intro .footer__section {
    padding: 2.28571429em 0 5.92857143em;
  }
}
@media screen and (min-width: 60em) {
  .map__intro {
    position: absolute;
    top: -99999px;
    left: -99999px;
  }
  .map--nearby .map__intro {
    position: relative;
    left: auto;
    top: auto;
    background: transparent;
  }
  .map__intro .container,
  .map__intro .footer__section {
    padding: 3.21428571em 0;
  }
  .map__intro .container:before,
  .map__intro .footer__section:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 7.14285714%;
    bottom: 0;
    width: 78.57142857%;
    z-index: -1;
    background: #f5f3ee;
  }
}
.map__cta {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -6px;
  left: 81.25%;
  z-index: 302;
  text-decoration: none;
  transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat;
}
.map__cta:after {
  font-family: 'Line Awesome Free';
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\E90C";
  font-size: 0.85714286em;
  display: block;
  position: absolute;
  right: 100%;
  bottom: 8em;
  line-height: 3.5em;
  width: 4em;
  text-align: center;
  margin-right: -2em;
  color: #4a4a4a;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 43.75em) {
  .map__cta:after {
    bottom: 7.41666667em;
  }
}
.map__cta:focus,
.map__cta:hover {
  -webkit-transform: translateX(-6px);
  transform: translateX(-6px);
}
.map__cta:focus:after,
.map__cta:hover:after {
  -webkit-transform: translateX(-4px);
  transform: translateX(-4px);
  color: #cc124f;
}
.map__cta:focus .map__btn,
.map__cta:hover .map__btn {
  border: 1px solid #cc124f;
}
.map__cta:focus .map__show,
.map__cta:hover .map__show {
  color: #cc124f;
}
.map__cta:focus + .map__view .map__container,
.map__cta:hover + .map__view .map__container {
  -webkit-transform: translateX(-6px);
  transform: translateX(-6px);
  transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map--active .map__cta {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
  transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.3s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.3s;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.3s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (min-width: 60em) {
  .map__cta {
    position: absolute;
    top: -99999px;
    left: -99999px;
    bottom: auto;
    right: auto;
  }
}
.map__btn {
  display: block;
  position: absolute;
  margin-right: -33.33333333%;
  right: 100%;
  bottom: 6.85714286em;
  border: 1px solid #4a4a4a;
  border-radius: 1.5em;
  white-space: nowrap;
  padding: 0 66.66666667% 0 0;
  transition: border 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 43.75em) {
  .map__btn {
    bottom: 6.35714286em;
  }
}
.map__view {
  position: relative;
}
[data-page=entities] .map__view {
  background: #fff;
}
.map__view:before {
  content: "";
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 299;
  opacity: 0;
  visibility: hidden;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scale(0.1875, 0);
  transform: scale(0.1875, 0);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
}
.map--active .map__view:before {
  opacity: 1;
  visibility: visible;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}
@media screen and (max-width: 60em) {
  .map__view {
    position: absolute;
    top: 0;
    right: -6px;
    bottom: 0;
    left: 81.25%;
  }
}
@media screen and (min-width: 60em) {
  .map__view:before {
    display: none;
  }
}
@media screen and (max-width: 60em) {
  .map__grid {
    width: auto;
    max-width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 301;
  }
}
@media screen and (min-width: 60em) {
  .map__grid {
    min-height: 57.14285714em;
    z-index: 2;
  }
  .map__grid:after {
    content: "";
    display: block;
    clear: left;
  }
  [data-page=entities] .map__grid {
    min-height: 0;
    max-height: calc(100vh - 5.71428571em - 8.92857143em);
    height: 73.14285714em;
  }
}
.entity-content .map__grid {
  margin: 2.28571429em auto;
}
.map__list {
  position: fixed;
  top: 7.42857143em;
  left: 0;
  right: 0;
  width: 87.5%;
  margin: 0 auto;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map--open .map__list {
  -webkit-transform: none;
  transform: none;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
}
@media screen and (min-width: 60em) {
  .map--nearby .map__list {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 28.57142857%;
    float: left;
    margin: 0;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    visibility: visible;
    padding: 0;
  }
  /*
    .map--nearby .map__list:before {
        content: "";
        display: block;
        width: 28.57142857%;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: -1;
        background: #fff;
        border: 1px solid #ddd;
        -webkit-box-shadow: 2px 2px 13px 0 hsla(210, 6%, 46%, .1);
        box-shadow: 2px 2px 13px 0 hsla(210, 6%, 46%, .1);
        border-radius: 4px 0 0 4px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
    */
  .map--svg .map__list {
    position: absolute;
    top: 5.71428571em;
    left: 0;
    right: auto;
    width: auto;
    margin: 0;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    visibility: visible;
  }
}
.map__selector {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat;
  z-index: 2;
  text-indent: -9999px;
}
.map__selector:after,
.map__selector:before {
  font-family: 'Line Awesome Free';
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 0.71428571em;
  text-indent: 0;
  text-align: center;
  display: block;
  width: 2em;
  height: 1em;
  position: absolute;
  top: 0;
  right: 7.14285714%;
  bottom: 0;
  left: auto;
  margin: auto 0;
  color: #6e757c;
}
.map__selector:before {
  content: "\E919";
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__selector:after {
  content: "\E91C";
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__list--open .map__selector + .map__placeholder,
.map__list--open .map__selector:after,
.map__list--open .map__selector:before,
.map__selector:focus + .map__placeholder,
.map__selector:focus:after,
.map__selector:focus:before,
.map__selector:hover + .map__placeholder,
.map__selector:hover:after,
.map__selector:hover:before {
  color: #cc124f;
}
.map__list--open .map__selector:before {
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
  opacity: 0;
  visibility: hidden;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__list--open .map__selector:after {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (min-width: 60em) {
  .map__selector {
    position: absolute;
    top: -99999px;
    left: -99999px;
    bottom: auto;
    right: auto;
  }
}
.map__placeholder {
  height: 5.16129032em;
  background: #fff;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
  text-transform: uppercase;
  font-size: 0.88571429em;
  line-height: 1.29032258em;
  letter-spacing: 0.08064516em;
  color: #493a16;
  padding: 1.93548387em 14.28571429% 1.93548387em 7.14285714%;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.map__placeholder:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 21.42857143%;
  z-index: 1;
  background: linear-gradient(90deg, hsla(0, 0%, 100%, 0) 0, #fff 50%);
}
.map__list--open .map__placeholder {
  box-shadow: 0 0 0 0 transparent;
}
@media screen and (min-width: 60em) {
  .map__placeholder {
    position: absolute;
    top: -99999px;
    left: -99999px;
  }
}
.map__precision {
  display: inline-block;
  vertical-align: bottom;
  font-family: Playfair Display, sans-serif;
  font-weight: 400;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  color: #6e757c;
  margin-left: 0.64516129em;
  position: relative;
  overflow: hidden;
  padding-left: 1.12903226em;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__precision:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 0.48387097em;
  background: #ddd;
  margin: auto 0;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__list--open .map__precision {
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateX(-6px);
  transform: translateX(-6px);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__list--open .map__precision:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}
.map__floors,
.map__nearby {
  display: block;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
}
@media screen and (max-width: 60em) {
  .map__floors,
  .map__nearby {
    border-radius: 0;
    position: absolute;
    top: 0.71428571em;
    left: -200%;
    right: 200%;
    padding-top: 3.85714286em;
    background: #fff;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    transition: box-shadow 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), left 0s linear 0.2s, right 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: box-shadow 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), left 0s linear 0.2s, right 0s linear 0.2s;
    transition: box-shadow 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), left 0s linear 0.2s, right 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .map__list--open .map__floors,
  .map__list--open .map__nearby {
    left: 0;
    right: 0;
    opacity: 1;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
    -webkit-transform: none;
    transform: none;
    transition: box-shadow 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: box-shadow 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: box-shadow 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.map__floors {
  overflow: visible;
}
@media screen and (max-width: 60em) {
  .map__points,
  .map__stages {
    max-height: calc(100vh - 14.85714286em);
    overflow-y: scroll;
    border-top: 1px solid #f5f3ee;
  }
}
.map__primary {
  display: block;
  position: relative;
  z-index: 1;
}
.map__primary:first-child .map__link:before {
  display: none;
}
.map__primary:before {
  content: "";
  display: block;
  background: #4a4a4a;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: scaleX(0.6);
  transform: scaleX(0.6);
}
.map__primary.map__primary--current + .map__primary .map__link:before,
.map__primary.map__primary--current .map__link:before,
.map__primary:before {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__primary.map__primary--current + .map__primary .map__link:before,
.map__primary.map__primary--current .map__link:before {
  -webkit-transform: scaleX(0.4);
  transform: scaleX(0.4);
}
.map__primary.map__primary--current:before {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 60ms, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 60ms;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 60ms, transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 60ms;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 60ms, transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 60ms, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 60ms;
}
.map__link {
  display: block;
  color: #6e757c;
  text-decoration: none;
  padding: 1.57142857em 1.78571429em;
  position: relative;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat;
}
.map__link:before {
  content: "";
  display: block;
  position: absolute;
  top: -0.5px;
  left: 1.78571429em;
  right: 1.78571429em;
  height: 1px;
  background: #ddd;
  visibility: visible;
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__link:after {
  font-family: "Line Awesome Free";
  speak: none;
  font-style: normal;
  font-weight: 900;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f105";
  display: block;
  position: absolute;
  font-size: 0.57142857em;
  top: 0;
  bottom: 0;
  right: 3.125em;
  height: 1em;
  margin: auto 0;
  color: #4a4a4a;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
}
.map__link:focus,
.map__link:hover {
  color: #4a4a4a;
}
.map__link:focus:after,
.map__link:hover:after {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s;
}
.map__link:focus .map__category,
.map__link:hover .map__category {
  -webkit-transform: translateX(-1.07142857em);
  transform: translateX(-1.07142857em);
}
@media screen and (max-width: 60em) {
  .map__link {
    padding: 1.57142857em 7.14285714%;
  }
  .map__link:before {
    left: 0;
    right: 0;
    background: #f5f3ee;
  }
  .map__link:after {
    display: none;
  }
  .map__link:focus .map__category,
  .map__link:hover .map__category {
    -webkit-transform: none;
    transform: none;
  }
}
.map__category {
  display: block;
  position: relative;
  padding-left: 1.07142857em;
  z-index: 1;
  letter-spacing: 0.02785714em;
  transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__category:before {
  content: attr(data-count);
  display: block;
  position: absolute;
  font-size: 0.78571429em;
  line-height: 1.09090909em;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  width: 1.81818182em;
  height: 1.81818182em;
  border-radius: 0.90909091em;
  text-align: center;
  padding: 0.36363636em 0;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  color: #6e757c;
}
.map__primary--current .map__category {
  font-family: Nunito Sans, Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  -webkit-transform: translateX(-1.07142857em);
  transform: translateX(-1.07142857em);
}
.map__primary--current .map__category:before {
  -webkit-transform: translateX(-6px);
  transform: translateX(-6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
  transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 60em) {
  .map__category {
    padding-left: 0;
  }
  .map__primary--current .map__category {
    -webkit-transform: none;
    transform: none;
  }
}
.map__sub {
  display: block;
  position: relative;
  z-index: 1;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
  transition: height 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: height 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
  transition: height 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s, opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__primary--current .map__sub {
  visibility: visible;
  opacity: 1;
  -webkit-transform: none;
  transform: none;
  transition: height 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, visibility 0s linear 0.2s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
  transition: height 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, visibility 0s linear 0.2s;
  transition: height 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, visibility 0s linear 0.2s, -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}
.map__subitems {
  margin-top: -0.71428571em;
  padding-bottom: 1.42857143em;
}
.map__item {
  display: flex;
  position: relative;
  padding: 0.92857143em 1.78571429em;
  justify-content: flex-start;
  align-items: center;
}
.map__item:before {
  content: "";
  display: block;
  position: absolute;
  top: -0.5px;
  left: 1.78571429em;
  right: 1.78571429em;
  height: 1px;
  background: #f5f3ee;
  transition: background 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__primary--current .map__item:before {
  background: hsla(0, 0%, 87%, 0.1);
}
.map__item:first-child:before {
  display: none;
}
@media screen and (max-width: 60em) {
  .map__item {
    padding: 0.92857143em 7.14285714%;
  }
  .map__item:before {
    left: 7.14285714%;
    right: 7.14285714%;
  }
}
.map__poi {
  display: block;
  text-decoration: none;
}
.map__poi:before {
  top: 1.14285714em;
  bottom: 1.14285714em;
  left: 1.78571429em;
  width: 0.14285714em;
  background: #ddd;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__poi:after,
.map__poi:before {
  content: "";
  display: block;
  position: absolute;
}
.map__poi:after {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat;
  z-index: 1;
}
.map__poi:focus:before,
.map__poi:hover:before {
  -webkit-transform: none;
  transform: none;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__poi:focus .map__place,
.map__poi:hover .map__place {
  -webkit-transform: translateX(0.57142857em);
  transform: translateX(0.57142857em);
}
@media screen and (max-width: 60em) {
  .map__poi:before {
    left: 7.14285714%;
  }
}
.map__place {
  color: #4a4a4a;
  line-height: 1.28571429em;
  letter-spacing: 0.02785714em;
  display: block;
  padding-right: 0.57142857em;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__primary--current .map__place {
  color: #fff;
}
.map__info {
  margin-left: auto;
}
.map__info:after {
  content: "";
  display: block;
  clear: left;
}
.map__data {
  font-size: 0.78571429em;
  float: left;
  color: #6e757c;
  white-space: nowrap;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__primary--current .map__data {
  color: #fff;
}
.map__primary--current .map__data:before {
  color: #f5f3ee;
}
.map__data + .faqCategoryMenu__title + .map__data,
.map__data + .footer__title + .map__data,
.map__data + .sro + .map__data {
  margin-left: 0.90909091em;
}
.map__data--car {
  padding-left: 2em;
  position: relative;
}
.map__data--car:before {
  font-family: "Line Awesome Free";
  speak: none;
  font-style: normal;
  font-weight: 900;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\E922";
  font-size: 0.72727273em;
  display: block;
  height: 1em;
  margin: auto 0;
  color: #ddd;
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map__container,
.map__data--car:before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}
.map__container {
  width: 100vw;
  min-height: 100%;
  z-index: 0;
  transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}
.map--nearby .map__container {
  overflow: hidden;
}
@media screen and (max-width: 60em) {
  .entity-content .map__container,
  [data-page=entities] .map__container {
    overflow: hidden;
  }
  .map--svg .map__container {
    background: #f2f2f2;
    min-height: 0;
  }
  .map--active .map__container,
  .map--active .map__cta:focus + .map__view .map__container,
  .map--active .map__cta:hover + .map__view .map__container {
    opacity: 0;
    top: -200px;
    bottom: -200px;
    -webkit-transform: translateX(-81.25%);
    transform: translateX(-81.25%);
    box-shadow: 0 0 40px 0 transparent;
    transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s, -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s, -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
  }
  .map--active.map--open .map__container,
  .map--active.map--open .map__cta:focus + .map__view .map__container,
  .map--active.map--open .map__cta:hover + .map__view .map__container {
    opacity: 1;
    position: fixed;
    top: 5.71428571em;
    bottom: 0;
    right: 0;
    -webkit-transform: none;
    transform: none;
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .map--active.map--closing .map__container,
  .map--active.map--closing .map__cta:focus + .map__view .map__container,
  .map--active.map--closing .map__cta:hover + .map__view .map__container {
    opacity: 0;
    position: fixed;
    top: 5.71428571em;
    bottom: 0;
    right: 0;
    -webkit-transform: none;
    transform: none;
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .map--closing .map__container,
  .map--closing .map__cta:focus + .map__view .map__container,
  .map--closing .map__cta:hover + .map__view .map__container {
    opacity: 1;
    top: -200px;
    bottom: -200px;
    -webkit-transform: translateX(-81.25%);
    transform: translateX(-81.25%);
    box-shadow: 0 0 40px 0 transparent;
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media screen and (min-width: 60em) {
  .map__container {
    min-height: 0;
    box-shadow: none;
  }
  .map--nearby .map__container {
    z-index: -2;
    border-bottom: 1px solid #ddd;
    position: relative;
  }
  .map--svg .map__container {
    left: 0;
    width: 100%;
  }
}
.map__canvas {
  position: absolute!important;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  min-height: 100%;
  margin: auto 0;
  -webkit-transform: translate3d(-12.5%, 0, 0);
  transform: translate3d(-12.5%, 0, 0);
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.map--nearby .map__canvas {
  background: #f5f3ee;
}
.map--svg .map__canvas {
  top: 5.71428571em;
  bottom: 5.71428571em;
}
@media screen and (max-width: 60em) {
  .map--svg .map__canvas {
    bottom: 5.71428571em;
    top: 7.71428571em;
    left: 0;
    right: 0;
    width: 87.5%;
    height: auto;
    min-height: 0;
    margin: 0 auto;
  }
  .entity-content .map--svg .map__canvas {
    background: #fff;
    top: 1.42857143em;
    bottom: 1.42857143em;
  }
}
@media screen and (max-width: 60em) {
  .map--active .map__canvas {
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
    transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
  }
  .map--active.map--open .map__canvas,
  .map--closing .map__canvas {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media screen and (min-width: 60em) {
  .map__canvas {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: auto;
    width: auto;
    min-height: 0;
    -webkit-transform: none;
    transform: none;
  }
  .map--nearby .map__canvas {
    top: -2.85714286em;
    bottom: -2.85714286em;
  }
}
.info {
  position: absolute;
  bottom: 2.28571429em;
  right: 0;
  z-index: 0;
  width: 50%;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  padding: 1.85714286em 0;
}
@media screen and (max-width: 60em) {
  .map--nearby .info {
    max-height: calc(100vh - 16em);
  }
}
.info__close {
  display: block;
  position: absolute;
  top: 1em;
  right: 1em;
  font: inherit;
  width: 1.42857143em;
  height: 1.42857143em;
  border-radius: 1.42857143em;
  background: #4a4a4a;
  border: none;
  text-indent: -99999px;
  overflow: hidden;
  cursor: pointer;
  transition: background 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.info__close:before {
  font-family: 'Line Awesome Free';
  speak: none;
  font-style: normal;
  font-weight: 900;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00d";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  font-size: 0.57142857em;
  color: #fff;
  text-indent: 0;
  text-align: center;
  display: block;
  width: 1em;
  height: 1em;
  margin: auto;
}
.info__close:focus,
.info__close:hover {
  background: #cc124f;
}
.info__container:after {
  content: "";
  display: block;
  clear: both;
}
.info__head {
  padding: 0 3.42857143em 0 2.28571429em;
  margin-bottom: 1.14285714em;
}
.info__title {
  font-family: Playfair Display, sans-serif;
  font-weight: 700;
  font-size: 1.43571429em;
  line-height: 1.24378109em;
  color: #4a4a4a;
  letter-spacing: 0.0278607em;
  margin-right: 0.4em;
}
.info__extra,
.info__title {
  font-style: normal;
  display: inline-block;
  vertical-align: bottom;
}
.info__extra {
  font-family: Nunito Sans, Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #6e757c;
  letter-spacing: 0.02785714em;
  line-height: 1.14285714em;
}
.info__description {
  width: 57.14285714%;
  float: left;
  padding-left: 2.28571429em;
  line-height: 1.78571429em;
  color: #6e757c;
}
.info__status {
  font-family: Nunito Sans, Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.78571429em;
  letter-spacing: 0.09928571em;
  text-transform: uppercase;
  display: block;
  margin-left: 57.14285714%;
  width: 42.85714286%;
  text-align: right;
  padding: 0 2.28571429em 0 1em;
}
.info__status.info__status--valid {
  color: #1ea42b;
}
.info__status.info__status--warning {
  color: #f6a623;
}
.info__status.info__status--danger {
  color: #cc124f;
}
.info__detail {
  font-family: Nunito Sans, Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.78571429em;
  letter-spacing: 0.09909091em;
  line-height: 2.27272727em;
  text-transform: uppercase;
  text-decoration: none;
  color: #4a4a4a;
  display: block;
  margin-left: 57.14285714%;
  width: 42.85714286%;
  text-align: right;
  padding: 0 2.90909091em 0 1.27272727em;
}
.info__detail--tel {
  transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.info__detail--tel:focus,
.info__detail--tel:hover {
  color: #cc124f;
}
.info__detail--price {
  font-size: 1em;
  letter-spacing: 0.07785714em;
  line-height: 1.78571429em;
  padding: 0 2.28571429em 0 1em;
}
.info__name {
  position: absolute;
  top: -99999px;
  left: -99999px;
}
.info__link {
  display: block;
  float: right;
  margin: 0.90909091em 2.90909091em 0 0;
}
.info__description + .info__link {
  margin-top: 0;
}
.info__fig {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 26.31578947%;
  overflow: hidden;
}
.info__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.no-objectfit .info__img {
  width: auto;
  height: 100%;
}
.info.info--fig {
  width: 67.85714286%;
  padding-left: 17.85714286%;
}
@media screen and (max-width: 60em) {
  .info {
    position: fixed;
    left: 6.25%;
    right: 6.25%;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s;
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0s linear 0.2s, -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .info,
  .info.info--fig {
    width: auto;
  }
  .map--open .info,
  .map--open .info.info--fig {
    visibility: visible;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .info.info--fig {
    padding-left: 25%;
  }
  .info__fig {
    width: 28.57142857%;
  }
}
@media screen and (max-width: 46.875em) {
  .info.info--fig {
    padding-left: 0;
  }
  .info__fig {
    display: none;
  }
}
@media screen and (max-width: 36.25em) {
  .info {
    padding: 1.14285714em 0;
  }
  .info__head {
    padding: 0 3.42857143em 0 3em;
    margin-left: 7.14285714%;
    margin-bottom: 0.7em;
  }
  .info__title {
    font-size: 1.27142857em;
  }
  .info__description {
    width: auto;
    float: none;
    padding: 0 7.14285714%;
    margin-bottom: 0.7em;
  }
  .info__status {
    display: inline-block;
    margin: 0 0 0 7.14285714%;
  }
  .info__detail,
  .info__status {
    clear: left;
    text-align: left;
    width: auto;
    padding: 0;
  }
  .info__detail {
    margin: 0 7.14285714%;
  }
  .info__detail--price {
    display: inline-block;
  }
  .info__link {
    float: none;
    position: absolute;
    top: 1.27272727em;
    left: 7.14285714%;
    margin: 0;
    width: 2.54545455em;
    height: 2.54545455em;
    padding: 0;
  }
  .info__link:after,
  .info__link:before {
    display: block;
    position: absolute;
  }
  .info__link:before {
    content: "";
    top: -2.85714286em;
    right: -2.85714286em;
    bottom: -2.85714286em;
    left: -2.85714286em;
    background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat;
  }
  .info__link:after {
    font-family: 'Line Awesome Free';
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\E914";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 1em;
    height: 1em;
    margin: auto;
    color: #6e757c;
  }
  .info__link:focus:after,
  .info__link:hover:after {
    color: #fff;
  }
  .info__label {
    position: absolute;
    top: -99999px;
    left: -99999px;
  }
}
/******************************************************************
***** Formulaires
******************************************************************/
/******************************************************************
***** Formulaire & champs
******************************************************************/
.custom-file {
  height: 50px;
}
.custom-file-label {
  height: 50px;
  line-height: 2.4;
  border: 1px solid #e2e2e2;
  border-radius: 0;
}
.custom-file-label::after {
  content: "Parcourir";
  height: 100%;
  line-height: 2.4;
}
.custom-file-input {
  height: 50px;
}
.custom-file-input:focus + label,
.custom-file-input:active + label {
  border-color: #343741;
}
.custom-control-input:checked ~ .custom-control-indicator {
  color: #fff;
  background-color: #343741;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #343741;
}
.form-control,
textarea.form-control {
  height: 50px;
  color: #000;
  background-color: #fff;
  border-radius: 0;
  box-shadow: none;
  transition: all 0.15s;
  /*border:0;*/
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.form-control:focus,
textarea.form-control:focus {
  border-color: #343741;
  outline: 0;
  box-shadow: none;
}
textarea.form-control {
  height: inherit;
  padding-top: 14px;
  resize: none;
}
.form-control::-moz-placeholder {
  color: #9F9F9F;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #9F9F9F;
}
.form-control::-webkit-input-placeholder {
  color: #9F9F9F;
}
.form-control.error {
  /*border-bottom: 1px solid #D99675;
        background:fade(#a94442,5%);*/
  border: solid 1px #a94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    padding-top: 14px;
  }
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #343741;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(52, 55, 65, 0.25);
}
label.error {
  display: block;
  text-align: left;
  font-size: 12px;
  font-weight: 400;
  margin: 10px 20px 0;
}
label.error .fa {
  margin-right: 4px;
}
.form .form-thanks {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  font-weight: bold;
  background: rgba(255, 255, 255, 0.95);
  display: none;
  z-index: 5;
}
.form .form-thanks .form-thanks-content {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.form .form-thanks .form-thanks-success {
  display: none;
}
.form .form-thanks .form-thanks-success .fa {
  color: #1788a8;
}
.form .form-thanks .form-thanks-close {
  text-decoration: underline;
  cursor: pointer;
}
.form .form-thanks .form-thanks-close:hover {
  text-decoration: none;
}
.recaptcha {
  height: 78px;
}
label input[type="checkbox"] ~ i.fa.fa-square-o {
  display: inline-block;
  width: 12px;
  margin-right: 5px;
}
label input[type="checkbox"] ~ i.fa.fa-check-square-o {
  display: none;
}
label input[type="checkbox"]:checked ~ i.fa.fa-square-o {
  display: none;
}
label input[type="checkbox"]:checked ~ i.fa.fa-check-square-o {
  color: #1788a8;
  display: inline-block;
  width: 12px;
  margin-right: 5px;
}
label:hover input[type="checkbox"] ~ i.fa {
  color: #1788a8;
}
div[data-toggle="buttons"] label {
  display: inline-block;
  padding: 0 22px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: normal;
  line-height: 2em;
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
  cursor: pointer;
  background-color: none;
  border: 0px solid #c8c8c8;
  border-radius: 3px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
div[data-toggle="buttons"] label:hover {
  color: #1788a8;
}
div[data-toggle="buttons"] label:active,
div[data-toggle="buttons"] label.active {
  box-shadow: none;
}
/******************************************************************
***** Page 404
******************************************************************/
.wrapper-404 {
  height: 80vh;
  background-size: cover;
}
.wrapper-404:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(16, 16, 16, 0.75);
  z-index: 2;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
}
.wrapper-404 > * {
  position: relative;
  z-index: 3;
}
.wrapper-404 h1 {
  color: #fff;
}
/******************************************************************
***** Media queries
******************************************************************/
@media (max-width: 575px) {
  .main-header {
    padding: 10em 0 6em;
  }
  .home .main-header {
    height: 100vh;
    padding: 6em 0 5em 0;
  }
  .home .main-header .main-title-properties {
    text-align: center;
    font-size: 1.2rem;
    padding: 0.5rem;
    line-height: 1.6rem;
  }
  .home .main-header .slogan {
    margin: 1rem 0;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .property-item > a > * {
    padding: 1.5rem 0;
    width: 15%;
  }
  .property-item .property-title {
    width: 30%;
  }
  .property-item .property-area {
    width: 10%;
  }
  .property-item .property-price {
    width: 10%;
  }
  .property-item .property-link {
    display: flex;
  }
  .property-details .details-item .item {
    padding: 1.5rem;
  }
}
@media (max-width: 991px) {
  .main-header .main-title h1 {
    font-size: 1.8rem;
    padding: 10px 50px 10px 20px;
  }
  .main-header .main-title p {
    font-size: 1.5rem;
    padding: 0.5rem 0 0.5rem 35px;
  }
}
@media (min-width: 1200px) {
  .px-xl-6 {
    padding-left: 4.5rem !important;
  }
  .px-xl-6 {
    padding-right: 4.5rem !important;
  }
  .pb-xl-6,
  .py-xl-6 {
    padding-bottom: 4.5rem !important;
  }
  .pt-xl-6,
  .py-xl-6 {
    padding-top: 4.5rem !important;
  }
  .mb-xl-6,
  .my-xl-6 {
    margin-bottom: 4.5rem !important;
  }
  .mt-xl-6,
  .my-xl-6 {
    margin-top: 4.5rem !important;
  }
  .px-xl-7 {
    padding-left: 6rem!important;
  }
  .px-xl-7 {
    padding-right: 6rem!important;
  }
  .pb-xl-7,
  .py-xl-7 {
    padding-bottom: 6rem!important;
  }
  .pt-xl-7,
  .py-xl-7 {
    padding-top: 6rem!important;
  }
  .mb-xl-7,
  .my-xl-7 {
    margin-bottom: 6rem!important;
  }
  .mt-xl-7,
  .my-xl-7 {
    margin-top: 6rem!important;
  }
  .col-plans {
    padding-bottom: 13rem;
  }
  .row-gallery-plus > div {
    padding-right: 2rem;
    padding-left: 2rem;
    /*
            &:first-child{
                padding-left: 0;
            }
            &:last-child{
                padding-right: 0;
            }
            */
  }
  .row-gallery-plus > div:nth-child(1) {
    margin-top: 10rem;
  }
  .row-gallery-plus > div:nth-child(3) {
    margin-top: -13rem;
  }
}
