/*
Theme Name: Sorrento Dream
 
Text Domain: sorrentodream

Author: Alberto Oliva

Version: 1.0

Description: Custom theme for Sorrento Dream.
 
*/



/* follows from above.css */

/************************ GLOBAL ****************************/ 




[data-scroll-speed] {
	will-change:transform;
}


span.block {
	will-change:transform;
}

.inline_block {
	display:inline-block;
	will-change:transform;
}

.flex {
	display:flex;
}

.pointer {
	cursor:pointer;
}


.transition_all {
	transition-property:all !important;
}

.has_transition_5000, .show .fast_rewind.has_transition_5000, .show.fast_rewind.has_transition_5000 {
   -webkit-transition: -webkit-transform 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 5000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
        transition: transform 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 5000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
      
}

.has_transition_3000, .show .fast_rewind.has_transition_3000, .show.fast_rewind.has_transition_3000 {
   -webkit-transition: -webkit-transform 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
        transition: transform 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
      
}

.has_transition_2500, .show .fast_rewind.has_transition_3000, .show.fast_rewind.has_transition_3000 {
    -webkit-transition: -webkit-transform 2500ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 2500ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
}

.has_transition_2000, .show .fast_rewind.has_transition_2000, .show.fast_rewind.has_transition_2000 {
    -webkit-transition: -webkit-transform 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 2000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
   
}



.has_transition_1000, .show .fast_rewind.has_transition_1000, .show.fast_rewind.has_transition_1000 {
    -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
   
}

.has_transition_800, .show .fast_rewind.has_transition_800, .show.fast_rewind.has_transition_800 {
	  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.has_transition_600, .show .fast_rewind.has_transition_600, .show.fast_rewind.has_transition_600 {
	  -webkit-transition: -webkit-transform 600ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 600ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 600ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 600ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.has_transition_400, .show .fast_rewind.has_transition_400, .show.fast_rewind.has_transition_400 {
    -webkit-transition: -webkit-transform 400ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 400ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 400ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 400ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.has_transition_1500_inout, .show .fast_rewind.has_transition_1500_inout, .show.fast_rewind.has_transition_1500_inout {
    -webkit-transition: -webkit-transform 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
    transition: transform 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1500ms cubic-bezier(0.575, 0.005, 0.285, 1.005);  
}

.has_transition_1000_inout, .show .fast_rewind.has_transition_1000_inout, .show.fast_rewind.has_transition_1000_inout {
    -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1000ms cubic-bezier(0.575, 0.005, 0.285, 1.005);
    transition: transform 1000ms cubic-bezier(0.575, 0.005, 0.285, 1.005),opacity 1000ms cubic-bezier(0.575, 0.005, 0.285, 1.005);  
}

.mask_bottom {
	 transform: translateY(50%);
}

.mask_bottom .t_container {
	 transform: translateY(-50%);
}

.mask_bottom.full {
	 transform: translateY(100%);
}

.mask_bottom.full .t_container {
	 transform: translateY(-100%);
}

.mask_top {
	 transform: translateY(-50%);
}


.mask_top .t_container {
	 transform: translateY(50%);
}

.mask_top.full {
	 transform: translateY(-100.5%);
}


.mask_top.full .t_container {
	 transform: translateY(100.5%);
}


.show > .mask_bottom, .show > .mask_left, .show > .mask_left .t_container, .show > .mask_left .t_container img, .show > .mask_right, .show > .mask_right .t_container, .show > .mask_right .t_container img, .show > .mask_top, .show > .mask_top .t_container, .show > .mask_top .t_container img, .show > .mask_bottom, .show > .mask_bottom .t_container, .show > .mask_bottom .t_container img   {
	 transform: none;
}

.fast_rewind {
	transition-duration:0ms;
}

.show .d1050, .show.d1050 {
	transition-delay:1050ms !important;
}

.show .d1100, .show.d1100  {
	transition-delay:1100ms !important;
}

.show .d1150, .show.d1150 {
	transition-delay:1150ms !important;
}

.show .d1200, .show.d1200 {
	transition-delay:1200ms !important;
}

.show .d1250, .show.d1250 {
	transition-delay:1250ms !important;
}

.show .d1300, .show.d1300 {
	transition-delay:1300ms !important;
}

.show .d1350, .show.d1350 {
	transition-delay:1350ms !important;
}

.show .d1400, .show.d1400 {
	transition-delay:1400ms !important;
}

.show .d1450, .show.d1450 {
	transition-delay:1450ms !important;
}

.show .d1500, .show.d1500 {
	transition-delay:1500ms !important;
}

.show .d1600, .show.d1600 {
	transition-delay:1600ms !important;
}

.show .d1700, .show.d1700 {
	transition-delay:1700ms !important;
}

.show .d1800, .show.d1800 {
	transition-delay:1800ms !important;
}

.show .d1900, .show.d1900 {
	transition-delay:1900ms !important;
}

.show .d2000, .show.d2000 {
	transition-delay:2000ms !important;
}

.show .d2100, .show.d2100 {
	transition-delay:2100ms !important;
}

.show .d2200, .show.d2200 {
	transition-delay:2200ms !important;
}


.no_transition {
	transition:none !important;
}

.no_width {
	transform:scale(0,1);
	pointer-events:none;
}


.full_width {
	width:100%;
	height:auto;
}

.full_height {
	height:100%;
	width:auto;
}

.underline {
	text-decoration:underline;
}

.margin {
	margin-top:2.5vw;
}

.doubleMargin {
	margin-top:5vw;
}


.quadMargin {
	margin-top:10vw;
}

.halfMargin {
	margin-top:30px;
}

.smallMargin {
	margin-top:20px;
}

.microMargin {
	margin-top:10px;
}


.lowercase {
	text-transform:lowercase;
}

.ma {
	margin-left:auto;
	margin-right:auto;
}

.tCenter {
	text-align:center;
}

.vCenter {
	align-items:center;
}

.vBottom {
	align-items:flex-end;
}

.expand {
	flex:1;
}


.paddingLeft {
	padding-left:5vw;
	box-sizing:border-box;
}

.paddingRight {
	padding-right:5vw;
	box-sizing:border-box;
	
}

.halfPaddingLeft {
	padding-left:2.5vw;
	box-sizing:border-box;
	
}

.bold {
	font-weight:500;
}

.halfPaddingRight {
	padding-right:2.5vw;
	box-sizing:border-box;
}

.doublePaddingLeft {
	padding-left:10vw;
	box-sizing:border-box;
	
}

.doublePaddingRight {
	padding-right:10vw;
	box-sizing:border-box;
}

/**********************************/


.w55 {
	width:55vw;
}

.w45 {
	width:45vw;
}


.pic.long {
	
}

.pic.full {
	width:100%;
	height:100vh;
}

.pic.horizontal {
	height:22.5vw;
}

.pic.square {
	height: 26vw;
    width: 25vw;
}

.pic.square.big {
	height: 30vw;
    width: 40vw;
}

.pic.exp {
	height:36vw;
}

.pic.mid {
	width: 47vw;
    height: 31vw;
}


.shifted {
	position:relative;
	top:15vw;	
	margin-top:-15vw;
}

.serif {
	font-family: 'Source Serif 4';
}

.text.smaller {
	font-size: 16px;
    letter-spacing: 1px;
    line-height: 30px;
    font-weight: 500;
}

.text.bigger {
    font-size: 1.5vw;
    letter-spacing: 0.1vw;
    line-height: 2.3vw;
}

.sectionTitle {
    font-family: 'Source Serif 4';
    font-size: 3vw;
    font-weight: 300;
}



.mainContainer {
	width: 85vw;
    margin-left: auto;
    margin-right: auto;
}

.fullContainer {
	width:100%;
}

.largeContainer {
	width: 90vw;
    margin-left: auto;
    margin-right: auto;
}



.glide__arrow {
	    width: 100px;
    height: 100px;
    background: #b9cde0;
    border-radius: 50px;
    position: relative;
    border: none;
    pointer-events:all;
    cursor:pointer;
    
}

.glide__arrow--left {
	transform: rotateZ(180deg);
}

.glide__arrow:after {
	content:'';
	    width: 25px;
    height: 25px;
    display: block;
    border-right: 3px solid #FFFFFF;
    border-top: 3px solid #FFFFFF;
    transform: rotate(45deg);
    margin-left: 25px;
}

.glide__arrows {
	position: absolute;
   top: calc(50% - 50px);
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 2.5vw;
    pointer-events:none;
}

#pageTravel {
	position:fixed;
	width:0;
	height:0;
	overflow:hidden;
}

/**************** HOME *********************/

#homeBlue {
	display:flex;
	justify-content:space-between;
	padding-bottom: 5vw;
	position:relative;
}

#arches {
	position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.25;
    top:50px;
    z-index:1;
}

#archTop {
	stroke-dasharray: 124;
   stroke-dashoffset: 124;
}

#archLeft, #archRight {
    stroke-dasharray: 203;
    xstroke-dashoffset: 203;
}

#archCenter {
	stroke-dasharray: 214;
	xstroke-dashoffset: 214;
}

#homeBlue {
	background:#b9cde0;
}

#archesContainer {
	width: 140%;
    margin-left: -20%;
}

.contentLayer {
	display:flex;
	justify-content: space-between;
}

#homeText {
    text-transform: uppercase;
    width: 50vw;
        max-width: 650px;
    margin-top: 7.5vw;
    margin-left: 5vw;
    z-index:2;
}

#homeText .top_hidden {
	transform: translateY(150%) rotateZ(30deg);
    transform-origin: left;
}

#homeText .show .top_hidden {
	    transform: translateY(0%) rotateZ(0deg);
    transform-origin: left;
}

#homeRight {
	margin-right: 7.5vw;
    margin-top: 20vw;
    width: 40vw;
}

#specialText {
    z-index:0;
}

.textLine {
	    position: relative;
    width: 100%;
    display: block;
}


.homeTextMask {
	position: absolute;
    width: 100%;
    height: 100%;
    right: 0;
    background: #b9cde0;
    opacity: 0.7;
    top: 0;
    transform-origin: right;
    will-change:transform;
}

#smallText {
	 margin-top: 5vw;
	 width:80%;
}

#homeComposition {
	position: relative;
    margin-top: 16.8vw;
    height:400vh;
}


#compositionTarget {
	position:absolute;
	height:400vh;
}

#compositionSticky {
	height: 100vh;
	display: flex;
    justify-content: center;
    align-items: center;
}

#compositionPicLayer {
	transform: scale(0.35);
    width: 100vw;
    will-change:transform;
}

#cpMain {
	    width: 100vw;
    height: 66vw;
    margin-top:3vw;
}

#cpMain img {
	transform:scale(1.6);
	 will-change:transform;
}

#cp1 {
	height: 66vw;
    width: 128vw;
     will-change:transform;
}

#cp2 {
	    position: absolute;
    width: 53vw;
    height: 54vw;
    left: -56vw;
    top: 81vw;
     will-change:transform;
}

#cp3 {
	position: absolute;
    width: 53vw;
    height: 54vw;
    left: 103vw;
    top: 81vw;
     will-change:transform;
}

#cp4 {
	    position: absolute;
    width: 53vw;
    height: 55vw;
    left: -28vw;
    top: 138vw;
     will-change:transform;
}

#cp5 {
	height: 66vw;
    margin-top: 3vw;
    width: 100vw;
    margin-left: 28vw;
     will-change:transform;
}

.cpVeil {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#000000;
	opacity:0;
	will-change:transform;
	
}

/*#cp1 {
	position: absolute;
    left: 32.5vw;
    height: 23.5vw;
    top: 0;
    width: 45vw;
}

#cp2 {
	    position: absolute;
    left: 12vw;
    height: 20vw;
    top: 28.5vw;
    width: 19vw;
    z-index: 1;
}

#cpMain {
	     position: absolute;
    left: 32.5vw;
    height: 23.5vw;
    top: 25vw;
    width: 35vw;
}

#cp3 {
       position: absolute;
    left: 69vw;
    height: 20vw;
    top: 28.5vw;
    width: 19vw;
}

#cp4 {
	position: absolute;
    left: 22.25vw;
    height: 23.3vw;
    top: 50vw;
    width: 19vw;
}

#cp5 {
	    position: absolute;
    left: 42.75vw;
    height: 23.3vw;
    top: 50vw;
    width: 35vw;
}*/

#homePool {
	
    margin-top: 25vw
}

.insight .top .left {
	width: 35vw;
}

.insight .top .right {
	width: 30vw;
    margin-right: 2.5vw;
}


.insight .top {
	display:flex;
	justify-content: space-between;
}

.insight .top .pic {
	width: 100%;
    height: 19.5vw;
}
 

 #homeSpa {
 margin-top:10vw;
 }
 


#spaPic {
	display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

#spaText {
	    width: 47vw;
    margin-left: auto;
    margin-right: auto;
}


#homeDining {
	margin-top:10vw;
}

#homeDining .mainContainer {
	display: flex;
    flex-direction: column;
}

#homeDining .left {
	    width: 30vw;
}

#homeDining .right {
	width: 40vw;
	align-self:flex-end;
}

#homeDining .bottom {
	    display: flex;
    justify-content: flex-end;
}

#diningVideoTarget, #homeDining .mid {
	
}

#homeDining .mid {
	height:150vh;
	margin-right: -2.5vw;
    width: calc(100% + 5vw);
    align-self: flex-end;
}

#diningVideoTarget {
	position:absolute;
	top:0;
	height:150vh;
	
}

#diningVideo {
width: 100%;
    height: 100vh;
    transform-origin: top right;
    transform: scale(0.5);
}

#diningVideo video {
	transform:scale(1.5);
}

.specialBox {
	margin-top:10vw;
}


.specialTextContainer {
	    display: flex;
    justify-content: center;
}

.specialText {
	width:25vw;
}

.specialBox  .left {
	    width: 45vw;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.specialBox  .right {
	flex:1;
} 


.viewMore .aux {
	position: relative;
    top: -2.2vw;
    width: 25vw;
    margin-left: auto;
     margin-right: auto;
}




/*********** VILLA **********/

.cpRow {
	margin-top:25vw;
}


#villaSpa .mainContainer.hasBackground {
    padding-bottom: 5vw;
    margin-top: -5vw;
    position: relative;
    display: flex;
    flex-direction: column;
}

#villaSpa .mainContainer.hasBackground:before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#bac1b5;
	transform:translateY(5vw);
	 -webkit-transition: -webkit-transform 1500ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
     transition: transform 1500ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 3000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  
}

#villaSpa .mainContainer.hasBackground.inView:before {
	transform:none;
}

#villaSpa .row._1 .right {
	margin-right: -7.5vw;
}

#villaSpa .row._2 .left {
	margin-left: -2.5vw;
}

#sectionBookPanel {
	position: absolute;
    right: 5vw;
    top: calc(2.5vw + 75px);
    height: calc(100% - 5vw - 75px);
    display: flex;
    flex-direction: column;
    width: 27vw;
}

.bookBox {
	flex: 1;
    border-radius: 5px;
    padding: 2.5vw;
    display: flex;
    flex-direction: column;
        align-items: flex-start;
    justify-content: center;
}

.bookBox .borderedButton:after {
	z-index:1;
}

.bookBox .borderedButton {
	height:54px;
}

.bookBox:before {
	content:'';
	background:#b9cde0;
	opacity:0.7;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.textCover {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.textMask {
	height:3.3vw;
	width:100%;
	overflow:hidden;
	opacity: 0.5;
}

.show .textMask {
    transform: translateX(100%);
}

#quotes {
position: absolute;
    width: 63vw;
    right: 5vw;
    top: 2.5vw;
    opacity: 0.3;
    z-index: 1;
    pointer-events: none;
}

img.aerial {
	width: 145%;
    filter: contrast(1.1);
}

#villa .shifted img {
	    width: 135%;
    margin-left: -35%;
}

/***************************/


/************ SPA ****************/

.blueComp {
	padding-bottom:7.5vw;
}

.blueComp .mainContainer .row {
	margin-top:15vw;
}

.blueComp .mainContainer .right {
		margin-right: -7.5vw;
	
}

.whiteComp .mainContainer .right {
	margin-right: -7.5vw;
    margin-top: -20vw;
}

.blueBox {
	margin-right: -2.5vw;
    margin-left: 7.5vw;
    padding: 0 2.5vw 2.5vw 2.5vw;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.below {
	margin-top:-12.5vw;
}

.above {
	position:relative;
	z-index:1;
}

#flowerBox {
	padding: 5vw 2.5vw;
    box-sizing: border-box;
    align-items: center;
}

#flowerBox img {
	width: 27.1355vw;
    height: auto;
    max-width: 520px;
}

#flowerBox .right {
	margin-left: 5vw;
    width: 50%;
}


/******** SUITES *********/

#villaSpa + #reviews {
	margin-top:7.5vw;
}

#suiteDetails {
	margin-top:15vw;
	padding-bottom:5vw;
}

#suiteDetails .pic.full {
	margin-top:-5vw;
}

.listBox {
	padding: 3vw 2.5vw 5vw 2.5vw;
		display:flex;
	flex-direction:column;
}



#suiteServices .text {
	    margin-top: 1.4vw;
	    white-space:nowrap;
	    width: 150%;
}

#suiteServices .left, #suiteServices .right {
	width:50%;
}

.text li {
	padding:0.25vw 0;
}



/********** EXPERIENCE **********/



.roundButton {
	align-self: flex-end;
    background: #FFFFFF;
    width: 80px;
    height: 80px;
    border-radius: 50px;
    margin-right: calc(-2.5vw - 40px);
}

.roundButton .arrow {
	width: 33px;
    height: 20px;
    display: block;
    position: absolute;
    top: 31px;
    left: 25px;
   
}

.roundButton .arrow:before {
	    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 30px;
    height: 2px;
    background: #5c6771;
}

.roundButton .arrow:after {
	content: '';
    width: 12px;
    height: 12px;
    position: absolute;
    border-top: 2px solid #5c6771;
    border-right: 2px solid #5c6771;
    transform: rotate(45deg);
    right: 3px;
    top: 3px;
}

.roundButton .text {
	position: absolute;
    white-space: nowrap;
    top: 27px;
    left: -170px;
    font-size:16px;
}

.expBlock + #reviews {
	margin-top:5vw;
}

.expButton .roundButton {
	position: absolute;
    right: 0;
    top: -0.7vw;
    transform:scale(0.1);
    opacity:0;
}


.expButton .roundButton .arrow  {
 	transform: translateX(-60px);
   -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.expButton:hover .roundButton {
	transform:scale(1);
	opacity:1;
}

.expButton:hover .arrow {
	transform: translateX(0px);
	transition-delay:150ms;
}

.expButton:hover > span > span {
	color:#5c6771;

}

.sharedExp {
	margin-top:15vw;
	padding-bottom:5vw;
	flex-direction:column;
}

.sharedExp .pic.full {
	margin-top:-7.5vw;
}

.sharedExp .listBox {
	padding:0;
}



#offer .midContainer > .text.top_single {
	width:120%;
}




/********* POSITION **********/

#viewGmap {
	display: flex;
    flex-direction: column;
    align-items: center;
}

.external .roundButton {
	margin-right: 0;
    position: absolute;
    right: -10vw;
    top: -0.4vw;
}

#transferBox {
	padding: 5vw 2.5vw;
    box-sizing: border-box;
    align-items: center;
}

#transferBox .right {
	margin-left: 5vw;
    width: 53%;
}





/******** CONTACTS *******/

#contactBox {
    padding: 5vw 2.5vw;
    box-sizing: border-box;
    flex-direction: column;
}

#contactBox .left, #contactBox .right {
	width:50%;
}

#contactBox .right {
	align-self:flex-end;
}

#contactBox .aligned {
	min-width:240px;
}

#contactBox .mail {
    min-width: 140px;
}	

/******* CTA *******/


#compositionCardsLayer {
	position: absolute;
    width: 100%;
    height: 100%;
    top:0;
} 

.cardContent .top_translated {
	transform:translateY(10vw);
}

.show .cardContent .top_translated, .show.cardContent .top_translated {
	transform:none;
}

.compositionCard {
	max-width: 750px;
    width: 50vw;
    position: absolute;
    right: 2.5vw;
    bottom: 0;
    height: 35vw;
    background: white;
    transform: translateY(100%);
    padding: 2.5vw;
    box-sizing: border-box;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    will-change:transform;
    min-height: 512px;
}

aside .compositionCard {
	bottom:2.5vw;
	transform:none;
}

.cardText {
	font-size: 16px;
    letter-spacing: 1.5px;
    line-height: 28px;
    margin-top: 20px;
    will-change:transform;
}

.cardTitle {
    font-family: 'Source Serif 4';
    font-size: 2.4vw;
    font-weight: 300;
}

.plus {
	width: 31px;
    height: 31px;
    display: block;
    position: absolute;
    top: 15px;
    right: 0;
}

.plus:before {
	    content: '';
    height: 30px;
    display: block;
    position: absolute;
    width: 1px;
    background: #5c6771;
    left: 15px;
}
.plus:after {
	content:'';
	width: 31px;
    display: block;
    position: absolute;
    height: 1px;
    background: #5c6771;
    top: 15px;
}

.cardPic {
	    width: 100%;
    height: 19vw;
}

.cardPic img {
	  will-change:transform;
}

.cardLine {
	background:#c8d7e5;
	width: 100%;
    max-width: 590px;
    height: 1px;
    margin-top: 12px;
    transform-origin:left;
    will-change:transform;
}


/***************************************/


/********** FORMS ************/

#pageForm .mainContainer {
	padding:2.5vw;
	box-sizing:border-box;
	
}

#pageForm .formTitle .highlight:after{
	content: '';
    position: absolute;
    height: 10px;
    width: calc(100% - 20vw);
    left: 10vw;
    background: #FFFFFF;
    bottom: 1.4vw;
}

#pageForm .formTitle .text {
	margin-left:10vw;
	    width: calc(100% - 20vw);
}

#pageForm .wpforms-container {
	    margin-left: 10vw;
    	width: calc(100% - 20vw);
}

.wpforms-container input.wpforms-field-medium, .wpforms-container select.wpforms-field-medium, .wpforms-container .wpforms-field-row.wpforms-field-medium, .wpforms-container textarea  {
    max-width: 100% !important;
    flex:1;
}

.wpforms-container .wpforms-field-label {
	    width: 145px;
	font-weight:500 !important;
}

.wpforms-container .wpforms-field {
	display:flex;
	padding:15px 0 !important;
	width:100%;
}

.wpforms-container .wpforms-field.half {
	width:45%;
} 

.wpforms-datepicker-wrap {
	flex:1;
}

.wpforms-datepicker-wrap input {
	padding: 1px 2px;
    height: 100%;   
}

.wpforms-field.number label {
	    width: 4.75vw;
}

.wpforms-container .wpforms-datepicker-wrap .wpforms-field-medium+.wpforms-datepicker-clear {
    right: -30px !important;
}

.wpforms-container input[type=date], .wpforms-container input[type=datetime], .wpforms-container input[type=datetime-local], .wpforms-container input[type=email], .wpforms-container input[type=month], .wpforms-container input[type=number], .wpforms-container input[type=password], .wpforms-container input[type=range], .wpforms-container input[type=search], .wpforms-container input[type=tel], .wpforms-container input[type=text], .wpforms-container input[type=time], .wpforms-container input[type=url], .wpforms-container input[type=week], .wpforms-container select, .wpforms-container input[type=date], .wpforms-container input[type=datetime], .wpforms-container input[type=datetime-local], .wpforms-container input[type=email], .wpforms-container input[type=month], .wpforms-container input[type=number], .wpforms-container input[type=password], .wpforms-container input[type=range], .wpforms-container input[type=search], .wpforms-container input[type=tel], .wpforms-container input[type=text], .wpforms-container input[type=time], .wpforms-container input[type=url], .wpforms-container input[type=week], .wpforms-container select, .wpforms-container textarea  {
	background: none;
    border: none;
    border-bottom: 1px solid #ffffff;
    color:#5c6771;
      font-size: 16px;
    letter-spacing: 1px;
    line-height: 30px;
    font-weight: 500;
}

.wpforms-container ul {
	flex-direction:column;
}

.wpforms-container ul, .wpforms-container ul li {
    display: flex;
    flex: 1;
}

.wpforms-container .wpforms-field-label-inline {
      position: relative;
    left: 5px;
    top: -6px;
}

.wpforms-container .wpforms-field-label-inline {
	font-weight:500 !important;
}

.wpforms-container textarea {
	 border: 1px solid #ffffff;
	 padding: 1px 2px;
}


.wpforms-field-container {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.wpforms-container label.wpforms-error {
	    position: absolute;
    bottom: -5px;
    left: 147px;
    font-size: 14px !important;
    line-height: initial;
    font-weight: 400;
    letter-spacing: initial;
}

.wpforms-field ul + label.wpforms-error {
    bottom: 13px;
}

.wpforms-field-medium.wpforms-error {
	border:none !important;
	border-bottom:1px solid #cc0000 !important;
}

.wpforms-submit {
	background: none;
    border: 1px solid #FFFFFF;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 35px;
    position: relative;
    height: 54px;
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 18px;
    font-weight: 500;
    text-transform: uppercase;
    color: #FFFFFF;
    font-family: 'Quicksand';
}

.flatpickr-current-month {
    font-size: 120% !important;
}

.flatpickr-day.unavailable:after {
	    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: red;
    /* transform: rotate(45deg) translateX(83%); */
    transform-origin: left top;
    top: 50%;
    left: 0;
}

.flatpickr-month {
	color:#5c6771 !important;
}

#formBox {
	position: relative;
    z-index: 1;
    max-width: 900px;
    margin: auto;
    width: 90vw;
    display: flex;
    height: 100%;
    flex-direction: column;
}

#formBackground {
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

#formOverlay {
	position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    visibility:hidden;
}

#formOverlay.active {
	visibility:visible;
}

#formBackground {
	position: absolute;
    width: 100%;
    height: 100%;
    transform-origin:top;
}



#formTop {
    margin-top: 120px;
}

#formBottom {
	    flex: 1;
    overflow-y: scroll;
}

#formBottom::-webkit-scrollbar {
  display: none;
}

#formClose {
	    position: absolute;
    top: 1.35vw;
    right: 0;
   
}

#videoClose {
	position: fixed;
    top: 0;
    left: 0;
    pointer-events:none;
    visibility:hidden;
    will-change:transform;
}

#videoClose.show {
	visibility:visible;
}

#pageForm.light .formTitle .highlight:after {
    background: #b9cde0;
}

#pageForm.light .wpforms-container input[type=date], #pageForm.light .wpforms-container input[type=datetime], #pageForm.light .wpforms-container input[type=datetime-local], #pageForm.light .wpforms-container input[type=email], #pageForm.light .wpforms-container input[type=month], #pageForm.light .wpforms-container input[type=number], #pageForm.light .wpforms-container input[type=password], #pageForm.light .wpforms-container input[type=range], #pageForm.light .wpforms-container input[type=search], #pageForm.light .wpforms-container input[type=tel], #pageForm.light .wpforms-container input[type=text], #pageForm.light .wpforms-container input[type=time], #pageForm.light .wpforms-container input[type=url], #pageForm.light .wpforms-container input[type=week], #pageForm.light .wpforms-container select, #pageForm.light .wpforms-container input[type=date], #pageForm.light .wpforms-container input[type=datetime], #pageForm.light .wpforms-container input[type=datetime-local], #pageForm.light .wpforms-container input[type=email], #pageForm.light .wpforms-container input[type=month], #pageForm.light .wpforms-container input[type=number], #pageForm.light .wpforms-container input[type=password], #pageForm.light .wpforms-container input[type=range], #pageForm.light .wpforms-container input[type=search], #pageForm.light .wpforms-container input[type=tel], #pageForm.light .wpforms-container input[type=text], #pageForm.light .wpforms-container input[type=time], #pageForm.light .wpforms-container input[type=url], #pageForm.light .wpforms-container input[type=week], #pageForm.light .wpforms-container select, #pageForm.light .wpforms-container textarea {
	border-bottom:1px solid #b9cde0;
}

#pageForm.light .wpforms-container textarea {
    border: 1px solid #b9cde0;
}

#pageForm.light .wpforms-submit {
	color:#b9cde0;
	border-color:#b9cde0;
}

/************ FOOTER **********/

#reviews + footer {
	margin-top:-20vw;
}

#textContent + footer {
	margin-top:7.5vw;
}

#footerLogo svg {
	fill:#FFFFFF;
}

#footerLayer {
	
}

#footerImg {
    height: 50vw;
}

#footerImg img {
	    width: 125%;
    left: -12%;
    object-position: 50% 10%;
}

#footerContent {
	
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
}

#footerCopy {
	display: flex;
    justify-content: center;
    height: 7.5vw;
    align-items: center;
}

#footerLeft {
	position: absolute;
    bottom: 1.5vw;
    left: 2.5vw;
    width: 30vw;
    height: 11.5vw;
}

#footerCenter {
    width: 28vw;
}

#footerRight{
	 position: absolute;
    bottom: 1.5vw;
    right: 2.5vw;
    width: 20vw;
    height: 10vw;
}

#footerSocials svg {
    fill: #FFFFFF;
}

#menuBottomRight svg {
	fill:#FFFFFF;
}

#footerButtons {
	    display: flex;
    flex-direction: column;
    align-items: center;
}


.footerButton {
	    padding: 0.6vw 0;
}


.footerButton:after {
	content: '';
    left: 0;
    width: 100%;
    height: 2px;
    background: #FFFFFF;
    position: absolute;
    bottom: 0.4vw;
    transform: scale(0,1);
	  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 800ms cubic-bezier(0.190, 1.000, 0.220, 1.000);  	
}

.footerButton:hover:after {
	transform:none;
}

.ig {
	margin-left:20px;
}

#reviews {
    background: #c8d7e5;
    display: flex;
    overflow: hidden;
    padding-bottom: 30vw;
}

#reviewSlider {
	    width: 42vw;
    margin-left: 7.5vw;
}

#reviewSlider .glide__track {
	overflow:visible;
}

.glide__bullet {
    border: none;
    border-radius: 50px;
    background: #FFFFFF;
    height: 12px;
    width: 12px;
    margin: 0 5px;
    display: block;
}

#reviewSlider .glide__arrows {
	flex-direction: column;
    height: 20vw;
    top: 3.65vw;
    left: 45vw;
    padding: 0;
}

#reviewSlider .glide__arrow {
	width: 60px;
    height: 60px
}

#reviewSlider .glide__arrow:after {
    width: 15px;
    height: 15px;
    margin-left: 12px;
}

#reviewSlider .glide__arrow--left {
	order:1;
}

#reviewSlider .glide__arrow--right{
	order:0;
}


.glide__bullet--active {
	background:#5c6771;
}

.text.special.mid {
	font-size: 1.4vw;
    line-height: 2.4vw; /* equals */
}

.revLineMask {
	height:2.4vw; /* equals */
    background: #c8d7e5;
    opacity:0.7;
    transform-origin:right;
}

.revLineCover {
	position:absolute;
	top:0;
	left:0;
	display:flex;
	flex-direction:column;
	width:100%;
}

.glide__slide.show .revLineMask {
	transform:scale(0,1);
}

.viewMore {
	    width: 120%;
    max-width: 40vw;
    font-weight: 500;
    height: 3.5vw;
    cursor:pointer;
    display:block;
}

.viewMore.full {
	max-width: none;
    width: 100%;
}

.viewMore span {
  position: absolute;
    top: 0.8vw;
    right: 4vw;
    z-index: 1;
    transform: translateY(0.5vw);
}

.viewMore:after {
	content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #bed0e1;
    transform: scale(0,0.25);
    transform-origin: left top;
     -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transition: transform 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000),opacity 1000ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.viewMore.open:after  {
	 transform: scale(1,0);
}



.show.viewMore:after, .show .viewMore:after {
	transform: scale(1,0.175);
}

.show.viewMore.open:after, .show .viewMore.open:after {
	transform: none;
}

.show.viewMore.open span, .show .viewMore.open span{
	transform: none;
}

.viewMore:hover:after {
	transform: none;
}

.viewMore:hover span {
	transform:none;
}

img.scaledUp {
	transform: scale(1.1);
}


.show img.scaledUp {
 	transform: none;
}


#pageTravel.show {
	width:100vw !important;
	height:100vh !important;
	top:0 !important;
	left:0 !important;
}





@media all and (max-width:1366px) {
	.text {
		letter-spacing: 1.5px;
	    font-size: 18px;
	    line-height: 32px;
	}
	
	.viewMore span {
		font-size:16px;
	}
	
	.below {
    margin-top: -9vw;
	}
	
	.glide__arrow:after {
    width: 19px;
    height: 19px;
    border-right: 3px solid #FFFFFF;
    border-top: 3px solid #FFFFFF;
    margin-left: 19px;
	}
	
	.glide__arrow {
    width: 80px;
    height: 80px;
	}
}


@media all and (max-width:740px) {
	
	
	/********** HOME **********/
	
	.halfMargin {
	margin-top: 25px;
	}
	
	.margin, .doubleMargin, .tripleMargin, .quadMargin {
		margin-top:30px
	}
	
	.text.bigger {
	    font-size: 17px;
	    letter-spacing: 0px;
	    line-height: 30px;
	}
	
	.text.special {
            font-size: 4.9vw;
    line-height: 9vw;
	}
	
	.pic.full {
		height:90vw;
	}
	
	#homeBlue {
		flex-direction:column;
		padding-bottom:30px;
	}
	
	
	#homeText, #homeRight {
	    margin-left: 20px;
    
    width: calc(100% - 40px);
    }
    
    #homeText {
    	margin-top:30px;
    }
    
    #homeRight {
    	margin-top:20px;
    }
    
    #smallText {
    margin-top: 20px;
    width: 100%;
	}
	
	.text {
      letter-spacing: 1px;
    font-size: 15px;
    line-height: 28px;
	}
	
	#arches {
    height:auto;
    top: 50px;
	}
	
	#archesContainer {
    width: 240%;
    margin-left: -70%;
	}
	
	
	#homeSuites {
		margin-top:20px;
	}
	
	#compositionSticky {
   		overflow: hidden;
	}
	
	#cpMain {
		height: 215vw;
	}
	
	
	#homePool {
   		margin-top: 20px;
	}
	
	.mainContainer, .largeContainer {
   	 width: calc(100% - 40px);
	}
	
	.highlight +.text {
		margin-top:15px;
	}
	
	.insight .top {
       flex-direction: column;
	}
	
	.insight .top .left {
       margin-top: 20px;
    	width: 100%;
    	    order: 1;
	}
	
	.insight .top .right {
		order:0;
      width: 100%;
    margin-right: 0;
	}
	
	
	
	.insight .top .pic {
		height:50vw;
	}
	
	.viewMore {
		height:40px;
		max-width:100%;
	}
	
	.viewMore span {
		    top: 6px;
    font-size: 13px;
	}
	
	#homeSpa .highlight +.text {
		margin-top:2px;
	}
	
	#spaText {
    width: calc(100% - 40px);
 
	}
	
	#homeDining .left, #homeDining .right {
   
    width: 100%;
	}
	
	#homeDining .mid, #diningVideo {
		height:53vw;
		margin-right:0;
		width: 100%;
	}
	
	#diningVideoTarget {
   
    height: 50vw;
	}
	
	#homeSpa, #homeDining, .specialBox {
		margin-top:60px;
	}
	
	.fullContainer.flex, .mainContainer.flex {
		flex-direction:column;
	}
	
	.specialBox .left {
	order: 1;
    margin-top: 30px;
    width: 100%;
	}
	
	.specialBox .right {
    flex: 1;
    order: 0;
	}
	
	.viewMore .aux {
	top: -28px;
        width: calc(100% - 40px);
    margin-left: 20px;
    font-size: 13px;
    letter-spacing: 0.5px;
    }
    
    #home .specialBox .viewMore {
        margin-top: 50px;
    }
    
    .specialText {
        width: calc(100% - 40px);
    }
    
    
    .specialTextContainer {
    	width:100%;
    }
    
    .text.special.mid {
    font-size: 17px;
    line-height: 32px;
	}
	
	.revLineMask {
    	height: 32px;
	}
	
	#reviewSlider {
    width: calc(100% - 40px);
    margin-left: 20px;
	}
	
	#reviewSlider .glide__track {
    overflow: hidden;
	}
	
	
	
	/******* FORM **********/
	
	.wpforms-container .wpforms-field.half {
    width: 100%;
	}
	
	.wpforms-field.number label, .wpforms-container .wpforms-field-label {
   
    	width:113px;
	}
	
	.wpforms-container input[type=date], .wpforms-container input[type=datetime], .wpforms-container input[type=datetime-local], .wpforms-container input[type=email], .wpforms-container input[type=month], .wpforms-container input[type=number], .wpforms-container input[type=password], .wpforms-container input[type=range], .wpforms-container input[type=search], .wpforms-container input[type=tel], .wpforms-container input[type=text], .wpforms-container input[type=time], .wpforms-container input[type=url], .wpforms-container input[type=week], .wpforms-container select, .wpforms-container input[type=date], .wpforms-container input[type=datetime], .wpforms-container input[type=datetime-local], .wpforms-container input[type=email], .wpforms-container input[type=month], .wpforms-container input[type=number], .wpforms-container input[type=password], .wpforms-container input[type=range], .wpforms-container input[type=search], .wpforms-container input[type=tel], .wpforms-container input[type=text], .wpforms-container input[type=time], .wpforms-container input[type=url], .wpforms-container input[type=week], .wpforms-container select, .wpforms-container textarea {
	    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    line-height: 23px !important;
	}
	
	.wpforms-container .wpforms-field {
    display: flex;
    padding: 10px 0 !important;
    width: 100%;
    overflow:visible !important;
	}
	
	#formTop {
    margin-top: 70px;
	}
	
	.wpforms-container .wpforms-field-label-inline {
    
    top: -2px;
	}
	
	.wpforms-submit {
       font-size: 13px !important;
    letter-spacing: 0.5px !important;
    line-height: 13px !important;
    padding:0 25px;
    height:40px;
    margin-top:10px;
	}
	
	#formClose {
    top: 5px;
    right: 0;
	}
	

	#pageForm .mainContainer {
       padding: 20px;
    box-sizing: border-box;
    width: 100%;
	}
	
	#pageForm .formTitle .highlight:after {
    content: '';
    position: absolute;
    height: 5px;
    width: calc(100% - 76px);
    left: 76px;
    background: #FFFFFF;
    bottom: 10px;
	}
	
	#pageForm .formTitle .text {
    margin-left: 0;
	}
	
	#pageForm .wpforms-container {
    margin-left: 0;
    width: 100%
	}
	
	#pageForm .formTitle + .formContainer {
		margin-top:0;
	}
	
	.wpforms-container label.wpforms-error {
    bottom: -7px;
    left: 113px;
    font-size: 12px !important;
   
	}
	
	.wpforms-field ul + label.wpforms-error {
    bottom: -4px;
    left: 143px;
	}
	
	/***************************/
	
	.label.bigger {
	    font-size: 15px !important;
    letter-spacing: 0.5px !important;
    line-height: 15px !important;
	}
	
	#footerImg {
    height: 100%;
    position: absolute;
    width: 100%;
	}
	
	#footerContent {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position:relative;
        padding-bottom: 30px;
	}
	
	#footerLeft {
		    order: 1;
    position: relative;
    height: auto;
    width: 100%;
    margin-top: 30px;
    left: 0;
    bottom: 0;
	}
	
	#footerContacts {
	text-align: center;
	}
	
	#footerCenter {
	order: 0;
    width: 80%;
	}
	
	#footerRight {
	    width: 100%;
    bottom: 0;
    position: relative;
    right: 0;
    height: auto;
    margin-top: 30px;
    order:2;
	}
	
	#footerSocials {
	    display: flex;
    align-items: center;
    justify-content: center;
	}
	
	#footerSocials .socials {
	margin-top: 0;
    margin-left: 20px;
	}
	
	#footerCopy {
	    text-align: center;
    height: auto;
    padding: 10px 0;
	}
	
	.footerButton {
    padding: 5px 0;
	}
	
	
	/******* SECTIONS *******/
	
	.highlight p span {
		display:inline;
	}
	
	article .text.special span:not(.textLine) {
		display:inline;
	}
	
	
	
	.highlight {
		position:relative;
	}
	
	.highlight .textMask {
		height:40px;
	}
	
	.w55, .w45 {
		width:100%;
	}
	
	
	.paddingLeft, .doublePaddingLeft, .halfPaddingLeft {
		padding-left:0px;
	}
	
	.paddingRight, .doublePaddingRight, .halfPaddingRight {
		padding-right:0px;
	}
	
	.fullContainer .paddingLeft, .fullContainer .doublePaddingLeft, .fullContainer .halfPaddingLeft {
		padding-left:20px;
	}
	
	.fullContainer .paddingRight, .fullContainer .doublePaddingRight, .fullContainer .halfPaddingRight {
		padding-right:20px;
	}
	
	
	.bigText .fullContainer .right {
		margin-top:30px;
	}
	
	.textMask {
		height:9vw;
	}
	
	.row {
		flex-direction:column;
	}
	
	.row._1 .right {
		order:0;
		padding-left:0;
		
	}
	
	.row._1 .left {
		order:1;
		margin-top:30px;
		
	}
	
	.row._2 .right {
		margin-top:30px;
		
	}
	
	
	
	.cpRow {
    margin-top: calc(15vw + 60px);
	}
	
	.cpRow .row .pic.d200 {
		transition-delay:0ms !important;
	}
	
	
	.pic.horizontal {
    height: 60vw;
	}
	
	.row br + br + br {
		display:none;
	}
	
	.pic.square:not(#spaPic .pic), .pic.square.big {
	    width: 100%;
    	height: 60vw;
	}
	
	.row._3 {
		margin-top:20px;
	}
	
	.row._3 .right {
		margin-top:20px;
	}
	
	.row._4 .right {
		margin-top:30px;
	}
	
	
	#villaSpa .mainContainer.hasBackground {
		margin-top: 0;
	    margin-left: 0.2px;
	    width: 100%;
	    padding: 0 20px;
	    box-sizing: border-box;
	    padding-bottom:30px;
	}

	
	#villaSpa .row._1 .right {
    margin-right: 0;
    order: 1;
    margin-top: 30px;
	}
	
	#villaSpa .row._1 .left {
   order:0;
   margin-top:0;
	}
	
	#villaSpa .row._2 .right {
		margin-top:0;
	}
	
	#villaSpa .row._2 .left {
    margin-left: 0;
    order: 1;
    margin-top:30px;
	}
	
	#villaSpa .row._2 .right .text.special {
		margin-top:0;
	}
	
	#villaSpa + #cta {
		margin-top:0;
	}
	
	#cta > .pic {
		display:none;
	}
	
	#cta #compositionCardsLayer {
		position:relative;
	}
	
	aside .compositionCard {
    position: relative;
    width: 100%;
    right: 0;
    height: auto;
    bottom: 0;
    min-height: 0;
    padding: 20px;
	}
	
	.listBox {
		padding:20px;
	}
	
	#suiteServices > .midContainer {
	    flex-direction: column;
	    }
	    
	 
	 #viewGmap img {
	 width: 100px;
    height: auto;
    }
    
     #viewGmap {
     margin-top:60px;
     }
     
     #position section.tripleMargin .mainContainer:last-child {
     	margin-top:60px;
     }
     
     #transferBox {
		flex-direction:column;
		    padding: 20px;
	}
	
	#transferBox .right {
		width:100%;
		margin-left:0;
		margin-top:30px;
	}
	
	#transferBox img {
		width: 50%;
	    margin: auto;
	    display: block;
	    height:auto;
	}
	
	
	.mainContainer .glide.slider {
	margin-left: -20px;
    width: calc(100% + 40px);
	}
	
	.glide__arrows {
		top: calc(50% - 20px);
	}
	
	.glide__arrows.mobileHidden {
		display:none;
	}
	
	.glide__arrow {
    width: 40px;
    height: 40px;
	}
	
	.glide__bullets {
   display: flex;
    justify-content: center;
	}
	
	.glide__arrow:after {
    width: 10px;
    height: 10px;
    border-right: 2px solid #FFFFFF;
    border-top: 2px solid #FFFFFF;
    margin-left: 6px;
	}
	
	.sliderSection + .bBlue {
		margin-top:0;
	}
	
	#villaSpa + #reviews {
    margin-top:0;
	}
	
	.blueComp .mainContainer .row {
    margin-top: 20px;
	}
	
	.whiteComp .mainContainer .right {
		margin-top:30px;
	}
	
	.blueBox {
	margin-right: 0;
    margin-left: 0;
    padding: 20px;
	}
	
	.blueBox .text.smaller {
		margin-top:0;
	}
	
	#flowerBox {
		flex-direction:column;
		    padding: 20px;
	}
	
	#flowerBox .right {
		width:100%;
		margin-left:0;
	}
	
	#flowerBox img {
		width: 50%;
	    margin: auto;
	    display: block;
	}
	
	#offer .midContainer > .text.top_single {
	width:100%;
	}
	
	[data-scroll-speed] {
    will-change: auto;
	}
	
	.expButton {
	    margin-top: 5px;	
	}
	
	.roundButton {
	    width: 40px;
    height: 40px;
    margin-right: 0px;
	}
	
	.roundButton .text {
	top: 10px;
    left: -128px;
	}
	
	.roundButton .arrow {
	transform: scale(0.5);
    left: 3px;
    top: 11px;
	}
	
	.expButton .roundButton .arrow {
    transform: translateX(-60px) scale(0.5);
	}
	
	.expButton .roundButton {
	    top: -6px;
	}
	
	.expButton:hover .arrow {
	 transform: translateX(0px) scale(0.5);
	}
	
	.pic.exp {
    height: 60vw;

	}
	
	.sharedExp .pic.full {
    margin-top: -20px;
    height: 50vw;
	}
	
	.sharedExp {
	margin-top: 40px;
	padding-bottom:20px;
	}
	
	
	#contactBox .aligned {
    display: block;
	}
	
	#contactBox .left, #contactBox .right {
    width: 100%;
	}
	
	#contactBox .right {
    align-self: flex-start;
    margin-top: 30px;
	}
	
	/*** CTA ****/
	
	.cardTitle {
	font-size: 26px;
    line-height: 40px;
	}
	
	.cardPic {
	    margin-top: 25px;
    height: 58vw;
	}
	
	.plus {
	width: 21px;
    height: 21px;
    display: block;
    position: absolute;
    top: 10px;
    right: 0;
	}
	
	.plus:before {
    
    height: 21px;
    left: 10px;
	}
	
	.plus:after {
   
    width: 21px;
    top: 10px;
	}
	
	/******************/
	
	
}