/* ==========================================================================
   MAP LESS
   ========================================================================== */
/* Variables
   ========================================================================== */
/* ==========================================================================
   GLOBAL VARIABLES
   ========================================================================== */
/* Colors
   ========================================================================== */
/* Header - Footer
   ========================================================================== */
/* Map vars
   ========================================================================== */
/*@mapEdgeTop     : 0px;
@mapEdgeRight   : 10px;
@mapEdgeBottom  : 0px;
@mapEdgeLeft    : 10px;*/
/* Fonts
   ========================================================================== */
@font-face {
  font-family: 'Notera';
  src: url('/fonts/notera.woff2') format('woff2'), url('/fonts/notera.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
/* Z-index
   ========================================================================== */
/* Media-Queries
   ========================================================================== */
/* Mixins
   ========================================================================== */
/* ==========================================================================
   HELPERS
   ========================================================================== */
/* Clearer
   ========================================================================== */
/* Uc first
   ========================================================================== */
/* mixin svg color
   ========================================================================== */
/* ==========================================================================
   Margin
   ========================================================================== */
/* ==========================================================================
   Fonts // use if needed
   ========================================================================== */
/* ==========================================================================
   Max height line // use if needed
   ========================================================================== */
/* ==========================================================================
   Base64 SVG with fillColor from a svg file
   ========================================================================== */
/* Title */
/* Title helpers - Font Family */
/* Title helpers - Color */
/* Title helpers - Font weight */
/* Title helpers - Font style */
/* Title helpers - Font size */
/* Zoom
   ========================================================================== */
/* Sizers */
.mxw-33 {
  max-width: 33%;
}
.no-decorate {
  text-decoration: none;
}
.noMargin {
  margin: 0 !important;
}
.noPadding {
  padding: 0 !important;
}
/* Layout
   ========================================================================== */
/* ==========================================================================
   LAYOUT MAP (ie: search results / destination ...)
   ========================================================================== */
.is-phone .global_map_window .overmapWrap .mapWrapper {
  bottom: 0rem;
}
.is-phone .gifts_map_window .overmapWrap .mapWrapper {
  bottom: 0rem;
}
.overmapWrap {
  overflow: hidden;
}
.overmapWrap:after,
.overmapWrap:before {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.overmapWrap:after {
  clear: both;
}
.overmapWrap .mapWrapper {
  position: fixed;
  top: 6rem;
  left: 0;
  right: 0;
  bottom: 3.8rem;
  height: auto;
}
.overmapWrap .mapWrapper .map .gm-style-pbt {
  width: 28%;
  margin-left: 5rem;
}
.is-phone .overmapWrap .mapWrapper {
  bottom: 5rem;
  right: auto;
  left: -100vw;
  width: 100vw;
}
.overmapWrap .mapWrapper .edge.right {
  width: -webkit-calc(925px + 25px);
  width: calc(925px + 25px);
}
@media screen and (max-width: 1400px) {
  .overmapWrap .mapWrapper .edge.right {
    width: -webkit-calc(800px + 25px);
    width: calc(800px + 25px);
  }
}
@media screen and (max-width: 1240px) {
  .overmapWrap .mapWrapper .edge.right {
    width: -webkit-calc(640px + 25px);
    width: calc(640px + 25px);
  }
}
@media screen and (max-width: 1024px) {
  .overmapWrap .mapWrapper .edge.right {
    width: -webkit-calc(400px + 25px);
    width: calc(400px + 25px);
  }
}
.is-phone .overmapWrap .mapWrapper .edge.right {
  width: 25px;
}
.mapViewEdges.overmapWrap .mapWrapper .edge.right {
  width: 25px;
}
.filtersOpened.mapViewEdges.overmapWrap .mapWrapper .edge.right {
  width: 345px;
}
.is-phone .filtersOpened.mapViewEdges.overmapWrap .mapWrapper .edge.right {
  width: 25px;
}
.overmapWrap .mapZoom {
  top: 140px;
}
.searchResults .overmapWrap .mapZoom {
  top: 230px;
}
/* Specific style for over map
   ========================================================================== */
.overmapContent,
.overmapFooter {
  width: 50%;
  min-width: 925px;
}
@media screen and (max-width: 1400px) {
  .overmapContent,
  .overmapFooter {
    min-width: 800px;
  }
}
@media screen and (max-width: 1240px) {
  .overmapContent,
  .overmapFooter {
    min-width: 640px;
  }
}
@media screen and (max-width: 1024px) {
  .overmapContent,
  .overmapFooter {
    min-width: 400px;
  }
}
.full-overmap {
  float: right;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: -webkit-calc(100vh - 70px - 60px);
  max-height: calc(100vh - 70px - 60px);
  display: block;
  position: fixed;
  right: 0;
}
@media screen and (max-width: 1024px) {
  .full-overmap {
    max-height: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .full-overmap {
    min-width: 940px;
    width: 940px;
  }
}
@media screen and (min-width: 760px) {
  .full-overmap {
    width: 55%;
  }
}
@media screen and (max-width: 760px) {
  .full-overmap {
    width: 100%;
  }
}
.overmapContent {
  position: relative;
  float: right;
  z-index: 3;
  margin-top: 80px;
  margin-bottom: 60px;
  background: #ffffff;
  padding: 0;
}
#popinMapRdb .overmapContent {
  position: absolute;
  top: 50px;
}
@media screen and (max-width: 760px) {
  .overmapContent {
    float: none;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    min-width: auto;
  }
}
.overmapContent .innerOvermapContent {
  padding: 30px;
}
@media screen and (max-width: 760px) {
  .overmapContent .innerOvermapContent {
    padding: 0 10px 20px !important;
  }
}
.overmapContent .innerOvermapContent .mainTitle2 {
  font-family: 'Nobel', Arial, sans-serif;
  font-size: 3.5rem;
}
.overmapContent:before,
.overmapContent:after {
  content: "";
  position: absolute;
  background: none;
  top: -80px;
  height: 80px;
  width: 100%;
}
.popinMap .overmapContent:before,
.popinMap .overmapContent:after {
  display: none;
}
.overmapContent.overmapContentPassportList,
.overmapContent.overmapContentPassportDetail {
  margin-top: 0;
}
.overmapContent.overmapContentPassportList:before,
.overmapContent.overmapContentPassportDetail:before {
  display: none;
}
.overmapContent:after {
  top: auto;
  bottom: -60px;
  height: 60px;
}
@media screen and (max-width: 1240px) {
  .overmapContent .accordion .col-1-2,
  .overmapContent .accordion .col-1-3,
  .overmapContent .accordion .col-1-4 {
    width: 100%;
  }
  .overmapContent .fzXXXLarge {
    font-size: 3rem;
    margin: 10px 0;
  }
  .overmapContent .fzXLarge {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .overmapContent .fzXXXLarge {
    font-size: 2.6rem;
  }
  .overmapContent .revealer {
    margin-top: 65px;
  }
  .overmapContent .revealer .revealerHead {
    text-align: left;
  }
}
.overmapContent .hotelQuickView .tag {
  padding: 1rem 0;
  padding-right: 1rem;
}
.overmapContent .hotelQuickView .btn.btnMedium {
  padding: 1.1rem 4rem;
  text-align: center;
}
@media screen and (min-width: 1241px) and (max-width: 1400px) {
  .overmapContent .hotelQuickView .priceTag .price {
    font-size: 2.5rem;
  }
  .overmapContent .hotelQuickView .priceTag .currency {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1024px) {
  .overmapContent .hotelQuickView .priceTag .price {
    font-size: 2.5rem;
  }
  .overmapContent .hotelQuickView .priceTag .currency {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1240px) {
  .overmapContent .col-1-2 .hotelQuickView .priceTag .price {
    font-size: 2.5rem;
  }
  .overmapContent .col-1-2 .hotelQuickView .priceTag .currency {
    font-size: 1.7rem;
  }
  .overmapContent .col-1-2 .hotelQuickView .priceTag .tag {
    width: 100%;
  }
  .overmapContent .col-1-2 .hotelQuickView .btn.btnMedium {
    width: 100%;
    margin: 0;
  }
}
@media screen and (max-width: 760px) {
  #popinMapRdb .showLegend {
    display: none;
  }
}
.overmapFooter {
  position: relative;
  z-index: 3;
  background: #ffffff;
  clear: right;
  float: right;
  margin-top: 0 !important;
  margin-bottom: 3rem;
}
@media screen and (max-width: 760px) {
  .overmapFooter {
    float: none;
    width: 100%;
    min-width: auto;
  }
}
.is-phone .overmapFooter {
  padding-bottom: 40px;
}
.overmapFooter > .grid {
  width: 100%;
}
.overmapFooter .footerTop,
.overmapFooter .footerBottom {
  margin-left: -20px;
  margin-right: -20px;
}
@media screen and (max-width: 760px) {
  .overmapFooter .footerTop,
  .overmapFooter .footerBottom {
    margin-right: 0;
    margin-left: 0;
  }
}
.overmapFooter .footerBottom {
  text-align: left;
  padding-left: 20px;
}
@media screen and (max-width: 1400px) {
  .overmapFooter .footerBottom {
    margin-top: 20px;
  }
}
.overmapFooter .footerSocial {
  padding-top: 20px;
}
.overmapFooter .footerSocial [class^="mainTitle"] {
  display: block !important;
}
@media screen and (max-width: 1400px) {
  .overmapFooter .col-1-3,
  .overmapFooter .col-2-3 {
    width: 100%;
  }
  .overmapFooter .col-1-3 .formNewsletter,
  .overmapFooter .col-2-3 .formNewsletter {
    margin-bottom: 0;
  }
  .overmapFooter .col-1-3 .btnCall,
  .overmapFooter .col-2-3 .btnCall,
  .overmapFooter .col-1-3 .btnCall + div,
  .overmapFooter .col-2-3 .btnCall + div {
    margin-top: 0;
    position: absolute;
    left: 51%;
    top: 0;
  }
  .overmapFooter .col-1-3 .btnCall + div,
  .overmapFooter .col-2-3 .btnCall + div {
    top: 50px;
  }
}
@media screen and (max-width: 1240px) {
  .overmapFooter .col-1-3 .btnCall,
  .overmapFooter .col-2-3 .btnCall,
  .overmapFooter .col-1-3 .btnCall + div,
  .overmapFooter .col-2-3 .btnCall + div {
    position: static;
  }
  .overmapFooter .col-1-3 .col-1-2,
  .overmapFooter .col-2-3 .col-1-2 {
    width: 100%;
  }
}
.breadcrumbsOverMap {
  position: absolute;
  height: -webkit-calc(75rem / 10);
  height: calc(75rem / 10);
  left: 0;
  right: 0;
  top: -webkit-calc(-75rem / 10);
  top: calc(-75rem / 10);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 901px) and (max-width: 1240px) {
  .breadcrumbsOverMap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (max-width: 760px) {
  .breadcrumbsOverMap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    position: static;
    margin: 0;
    height: auto;
    line-height: 100%;
    display: inline-block;
    width: 100%;
  }
}
.breadcrumbsOverMap-arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
@media screen and (max-width: 760px) {
  .breadcrumbsOverMap-arrows {
    margin-top: 10px;
  }
}
.breadcrumbsOverMap-arrows .btn--withArrowLeft {
  margin-right: .3rem;
}
.breadcrumbsOverMap-infos a {
  display: inline-block;
  -webkit-transition: .3s;
          transition: .3s;
  height: -webkit-calc(32rem / 10);
  height: calc(32rem / 10);
  line-height: -webkit-calc(32rem / 10);
  line-height: calc(32rem / 10);
  padding: 0 -webkit-calc(23rem / 10) !important;
  padding: 0 calc(23rem / 10) !important;
  border: 0!important;
}
.breadcrumbsOverMap-infos a:hover {
  color: #ffffff;
  background-color: #bd9e56;
}
.breadcrumbsOverMap-infos span {
  display: inline-block;
  background: #1c1c1b;
  text-transform: uppercase;
  height: 32px;
  line-height: 32px;
  padding: 0 10px;
  color: #ffffff;
  font-size: 1.4rem;
}
.showFilters {
  display: none;
  position: absolute;
  border: 0;
  top: 0;
  left: -50px;
  width: 50px;
  height: 50px;
  overflow: hidden;
  text-indent: -999em;
  background: #5d676f url(../../images/common/arrow-white-left-10x17.png) no-repeat center;
}
.filtersOpened .showFilters {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.popinMap.filtersOpened .showFilters {
  right: 320px;
}
.popinMap .showFilters {
  top: 130px;
  right: 0;
  left: auto;
  -webkit-transition: right .5s ease;
          transition: right .5s ease;
}
@media screen and (max-width: 760px) {
  .popinMap .showFilters {
    top: 80px;
    right: 0 !important;
  }
}
.btnsSwitch {
  position: fixed;
  z-index: 3;
  top: 180px;
  left: 0;
}
.triggerSwitch {
  position: relative;
  z-index: 12;
  background-color: #1c1c1b;
  color: #5d676f;
  display: block;
  padding: 0;
  width: 51px;
  height: 51px;
  border: 0;
  -webkit-transition: background .3s;
          transition: background .3s;
  overflow: hidden;
  text-indent: -999em;
  text-align: left;
  outline: none;
  text-indent: 0;
}
.triggerSwitch::before,
.triggerSwitch::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  border-bottom: 1px solid #ffffff;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.triggerSwitch::before {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
      -ms-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.triggerSwitch:hover {
  background-color: #ffffff;
}
.triggerSwitch:hover::before,
.triggerSwitch:hover::after {
  border-bottom: 1px solid #1c1c1b;
}
.triggerSwitch.active {
  background-color: #5d676f;
  cursor: default;
}
.triggerSwitch.active::before,
.triggerSwitch.active::after {
  border-bottom: 1px solid #1c1c1b;
}
.triggerSwitch.disabled,
.triggerSwitch[disabled="disabled"] {
  opacity: .7;
  cursor: default;
  background-color: #ffffff;
}
.triggerSwitch.disabled::before,
.triggerSwitch[disabled="disabled"]::before,
.triggerSwitch.disabled::after,
.triggerSwitch[disabled="disabled"]::after {
  border-bottom: 1px solid #1c1c1b;
}
.triggerSwitch .icon {
  width: 50px;
  height: 50px;
  fill: #5d676f;
  stroke: transparent;
}
.triggerSwitch .icon path {
  fill: #5d676f;
  stroke: transparent;
}
.triggerSwitch.active .icon {
  fill: #ffffff;
  stroke: transparent;
}
.triggerSwitch.active .icon path {
  fill: #ffffff;
  stroke: transparent;
}
.whiteActive .triggerSwitch {
  background-color: #5d676f;
  color: #ffffff;
}
.whiteActive .triggerSwitch:focus,
.whiteActive .triggerSwitch:hover {
  background-color: #aeb3b7;
}
.whiteActive .triggerSwitch:focus .icon,
.whiteActive .triggerSwitch:hover .icon {
  fill: #5d676f;
  stroke: transparent;
}
.whiteActive .triggerSwitch:focus .icon path,
.whiteActive .triggerSwitch:hover .icon path {
  fill: #5d676f;
  stroke: transparent;
}
.whiteActive .triggerSwitch .icon {
  fill: #ffffff;
  stroke: transparent;
}
.whiteActive .triggerSwitch .icon path {
  fill: #ffffff;
  stroke: transparent;
}
.whiteActive .triggerSwitch.active {
  background-color: #ffffff;
  color: #5d676f;
}
.whiteActive .triggerSwitch.active .icon {
  fill: #5d676f;
  stroke: transparent;
}
.whiteActive .triggerSwitch.active .icon path {
  fill: #5d676f;
  stroke: transparent;
}
.triggerSwitch::before,
.triggerSwitch::after {
  content: none;
}
.is-not-phone .mapView .overmapContent {
  max-height: 0;
  width: 320px;
  min-width: 320px;
  background: #eef0f0;
  right: -320px;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.5s ease, max-height 5ms linear 550ms;
          transition: transform 0.5s ease, max-height 5ms linear 550ms;
}
.is-not-phone .mapView .overmapContent.opened {
  max-height: 9999px;
  -webkit-transform: translateX(-320px);
      -ms-transform: translateX(-320px);
          transform: translateX(-320px);
  -webkit-transition: -webkit-transform 0.5s ease, max-height 5ms linear;
          transition: transform 0.5s ease, max-height 5ms linear;
}
.is-not-phone .mapView .overmapContent .revealer {
  margin: 25px -20px 0;
  width: auto;
  border: solid #d9dbdd;
  border-width: 0 0 1px;
}
.is-not-phone .mapView .overmapContent .revealer .revealerHead {
  text-align: left;
}
.is-not-phone .mapView .overmapContent .revealer .revealerHead .mapLegendItem {
  padding-right: 0;
}
.is-not-phone .mapView .overmapContent .revealer .revealerContent {
  height: auto !important;
}
.is-not-phone .mapView .overmapContent .revealer .revealerButton {
  display: none;
}
.is-not-phone .mapView .overmapContent .fzXXXLarge {
  font-size: 2.2rem;
  margin: 10px 0;
}
.is-not-phone .mapView .overmapContent .fzXXLarge {
  font-size: 3.7rem;
  margin-bottom: 0;
}
.is-not-phone .mapView .overmapContent .fzXLarge {
  margin-top: 15px;
  font-size: 2.6rem;
}
.popinMap.is-not-phone .mapView .overmapContent {
  position: absolute;
  top: 50px;
  max-height: -webkit-calc(100% - 190px);
  max-height: calc(100% - 190px);
  margin-bottom: 0;
  overflow: auto;
}
@media screen and (max-width: 760px) {
  .popinMap.is-not-phone .mapView .overmapContent {
    z-index: 6;
    width: 100%;
    min-width: 100%;
  }
}
.noLegend.popinMap.is-not-phone .mapView .overmapContent {
  max-height: -webkit-calc(100% - 130px);
  max-height: calc(100% - 130px);
}
.is-not-phone .mapView .overmapFooter {
  display: none;
}
.is-not-phone .mapView .accordion .col-1-2,
.is-not-phone .mapView .accordion .col-1-3,
.is-not-phone .mapView .accordion .col-1-4 {
  width: 100%;
}
.is-not-phone .mapView .innerOvermapContent {
  padding-bottom: 0;
}
.is-not-phone .mapView .showFilters {
  display: block;
}
.is-phone .mapWrapper,
.is-phone .overmapContent,
.is-phone .overmapWrap .formFilters,
.is-phone .overmapFooter {
  -webkit-transition: .5s;
          transition: .5s;
}
.is-phone .antiScroll-on .overmapWrap .mapWrapper,
.is-phone .antiScroll-on .overmapWrap .formFilters {
  top: 0;
}
.is-phone .antiScroll-on.mapView .overmapWrap,
.is-phone .antiScroll-on.filtersView .overmapWrap {
  height: 100%;
}
.is-phone .overmapWrap .formFilters {
  position: fixed;
  top: 6rem;
  bottom: 5rem;
  right: -100vw;
  width: 100vw;
  z-index: 11;
  background: #ffffff;
}
.is-phone .overmapWrap .formFilters .hideFilters {
  display: block;
  padding: 0 5px;
  line-height: 5rem;
}
.is-phone .overmapWrap .formFilters .revealer {
  margin-bottom: 0;
}
.is-phone .overmapContent .fzXLarge {
  font-size: 2.4rem;
}
.is-phone .overmapContent,
.is-phone .overmapFooter,
.is-phone .full-overmap {
  right: 0;
}
.is-phone .mapView,
.is-phone .filtersView {
  overflow: hidden;
}
.is-phone .mapView .overmapWrap,
.is-phone .filtersView .overmapWrap {
  height: cacl(100vh - 6rem);
}
.is-phone .mapView .overmapContent,
.is-phone .mapView .full-overmap {
  max-height: none;
}
.is-phone .mapView .overmapContent,
.is-phone .mapView .overmapFooter,
.is-phone .mapView .full-overmap {
  right: -100vw;
}
.is-phone .mapView .mapWrapper {
  left: 0;
}
.is-phone .filtersView .formFilters {
  right: 0;
}
.is-phone .showFilters {
  display: none;
}
.overmapContent .full-overmap {
  float: none;
}
