@font-face {
    font-family: 'CenturyGothic';
    src: url('fonts/centurygothic.ttf') format('opentype');
}

@font-face {
    font-family: 'CenturyGothicBold';
    src: url('fonts/centurygothic_bold.ttf') format('opentype');
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0px; padding: 0px; border: 0px none; outline: 0px none; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit;}
:focus { outline: 0px none; }
ol, ul { list-style: none outside none; }
strong{font-weight:700;}
a{color:#3D3D3B;text-decoration:none;}
a:hover{color:#3e403d;text-decoration:none;}
.clear{clear:both;}

html, body {
	position: relative;
	height: 100%;
}
body {
	background: #eeebe6;
	font-family: 'CenturyGothic', sans-serif;
	font-size: 14px;
	line-height:20px;
	color:#28170f;
	margin:0;
	padding:0;
	transition: all 0.5s ease-in 0s;  
	overflow-x:hidden;
}
html {
	scroll-behavior: smooth;
  }
body.change-bg-white-complete { background: #fff; transition: all 0.5s ease-in 0s;   }
body.change-bg-beige-complete { background: #ebeced; transition: all 0.5s ease-in 0s;   }
body.change-bg-grey-complete { background: #d5deda; transition: all 0.5s ease-in 0s;   }

.m-t-10{
	margin-top: 10px;	
}
.m-t-20{
	margin-top: 20px;	
}
.m-t-40{
	margin-top: 40px;	
}
.m-t-60{
	margin-top: 60px;	
}
.m-t-100{
	margin-top: 100px;	
}
.mar-top_neg{
	margin-top:-20vh;
}
.padd{
    padding-top: 90px;
    padding-bottom: 90px;
	overflow:hidden;
	position:relative;
}

.no-padding {
	padding-left: 0px;
	padding-right: 0px;
}

.padd_contact {
	padding-top: 120px;
}

.padd_small{
	padding-top: 70px;
	padding-bottom: 70px;	
}
.padd_top{
	padding-top: 90px;
	padding-bottom: 0px;	
}
.padd_big {
	padding-top: 100px;
	padding-bottom: 100px;
}

.padd_bottom{
    padding-bottom: 150px;	
}
.container-fluid.no-padd{
	padding-top: 0px;
	padding-bottom: 0px;
}
.img-responsive{
	width: 100%;
}
.row_half{margin-left:0px;margin-right:0px;}
.no-gutter > [class*='col-'],  .no-gutter .row > [class*='col-'] {
    padding-right:0;
    padding-left:0;
}
.no-margin.row {
    margin-right:0;
    margin-left:0;
}

.fancybox-lock body {
    overflow: visible !important;
}

.flex_center {
	display: flex;
	align-items: center;
}

.flex_section {
    display: flex;
}

.content {
    padding-left: 6%;
    padding-right: 6%;
}

.overflow {
	overflow: hidden;
}

.no-margin.row  [class^="col-"],
.no-margin.row  [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
  position: relative;
}

.container-fluid.no-padding{
	padding-left:0px;
	padding-right:0px;
	overflow: hidden;
}

.orange_bg { background:#c97850; }
.olive_bg { background:#545322; }
.blue_bg { background:#9db2cc; }
.beige_bg { background: #eeebe6; }
.grey_upper{background:#f7f7f7;padding-bottom:110px;border-bottom:1px solid #eee}

.drive_me{
	margin-top:20px;
	display: block;
}

.hotel_history{padding-bottom:30vh;}

.name_moto{
	background:#000000;
	padding:5%;
}
.name_moto hr{
	border:1px solid #674439;
}
.home_half_text .name_moto p{
	font-style: italic;
	font-size:20px;
	letter-spacing: 0.1px;
	color: #fffbeb;
}

.home_half_text .name_moto p:before{
	display:inline;
	font-size: 6em;
	padding: 0;
	color:#fff;
	position: relative;
	top: .25em;
	quotes: "“" "“" "“" "“";
	content: open-quote;
}

#header {
    width: 100%;
    height: auto;
    top: 0;
    padding: 15px 0px;
    margin: 0;
    position: fixed;
    z-index: 999;
    transform: translateY(0);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.header__background {
    top: 0;
    left: 0;
    opacity: 0;
    z-index: -1;
    height: 100%;
    position: absolute;
    transform: translateY(-102%);
    width: 100%;
    transition-duration: 1.1s;
    transition-timing-function: cubic-bezier(.25, .74, .22, .99);
    transition-property: opacity, background-color, box-shadow, transform, height;
}
#header.header--scrolled .header__background {
    opacity: 1;
    background: #c97850;
    transform: translateY(0%);
    box-shadow: 0 2px 6px #67443966;
}
#header.header--hidden {
    transform: translateY(0%);
}

#header.fixed:after {
	display: none;
}

#top_info_left {
	position: absolute;
    top: 8px;
    left: 65px;
    display: block;
    z-index: 999;
    transition: all 1s;
}

#top_info_left img {
	width: 33px;
    height: 33px;
	transition: all 0.2s ease-in-out;
}

#top_info {
	position: absolute;
    top: 8px;
    right: 155px;
    display: block;
    z-index: 999;
    transition: all 1s;
}
#top_info_mob { position:absolute; top: 50px; right: 360px; display: block;z-index:9999;  font-weight:400; font-size:15px; color:#fff; transition:all 1s;}
#top_info_right { position:absolute; top: 50px; right: 300px; display: block;z-index:999;  font-weight:400; font-size:15px; color:#fff; transition:all 1s;}
#top_info a, #top_info_right a { color:#fff; transition:all 0.3s ease-in-out; }
#top_info a:hover, #top_info_right a:hover { letter-spacing: 0.5px; }
#top_info img, #top_info_right img, #top_info_mob img {
	width: 33px;
    height: 33px;
}
#top_info span { display: inline-block; }
#lang_info {
    border-right: 1px solid #fff;
    display: block;
    z-index: 999;
    color: #fff;
    transition: all 1s;
    padding-right: 30px;
}
#lang_info a{ color:#fff; transition:all 1s; position: relative; }

#lang_info a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease-in-out, background-color 0.4s ease-in-out;
}

#lang_info a:hover::after {
    transform: scaleX(1);
    background-color: #fff;
    transform-origin: left;
}

#lang_info .languages_menu a:hover::after {
    background-color: #761d14;
}

#lang_mob {
	position: absolute;
    left: 22%;
    top: 85px;
    z-index: 9999;
    font-weight: 400;
    font-size: 15px;
    color: #fff;
    transition: all 1s;
}
#lang_mob a{ color:#fff; transition:all 1s;}

#lang_mob .languages .languages_menu a {
    color: #606060;
}

#header.fixed #top_info_left {
	top: -16px;
}

.header_inner {
	display: flex;
    align-items: center;
    justify-content: center;
	position: relative;
    height: 95px;
    transition-duration: 1.1s;
    transition-timing-function: cubic-bezier(.25, .74, .22, .99);
    transition-property: height;
}

.header--scrolled.header--hidden .header_inner {
    height: auto;
}

#header.fixed #top_info, #header.fixed #top_info_right { top: -15px; transition:all 1s;}
#header.fixed #top_info a, #header.fixed #top_info_right a { color:#202020; }
#header.fixed #logo {
    width: 120px;
    height: 50px;
}

#header.fixed #lang_info { top: -10px; transition:all 1s;}
#header.fixed .languages_menu.active { box-shadow: 0 2px 6px rgb(0 0 0 / 20%); background: #ffffffe3; }

.languages { display: block; z-index: 9999; }
.languages  a.selected_lang{
    display: block;
    background: none;
    text-align: center;
    font-weight: 100;
    font-size: 17px;
    letter-spacing: 1px;
    z-index: 9999;
    color: #fff;
    text-decoration: none;
}
/* .languages a.selected_lang:after {
	content: '';
    background-image: url(../img/layout/lang_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 11px;
    width: 11px;
    height: 11px;
    position: absolute;
    top: 6px;
    margin-left: 5px;
} */
.languages .languages_menu{  display: none; }
.languages .languages_menu.active{
    display: block;
    margin-top: 10px;
    padding: 5px 10px;
    background: #eeebe6;
    text-align: center;
    z-index: 99999;
    position: absolute;
    left: -12px;
}
#lang_info .languages_menu.active a {
    color: #761d14;
    transition: all 1s;
}
.languages .languages_menu a {
    color: #761d14;
    display: block;
    padding: 2px;
    transition: all 0.3s ease 0s;
    font-size: 17px;
}
.languages .languages_menu a:hover { color:#3D3D3B; transition: all 0.3s ease 0s;   }

#logo {
    position: relative;
    display: block;
    width: 165px;
    height: 65px;
    background: url(../img/layout/logo.svg) no-repeat scroll center center;
    background-size: 100%;
    z-index: 999;
    transition: all 0.5s ease-in-out;
}
#logo_mob { position:absolute; display: block; width: 220px; height: 140px; background: url('../img/layout/logo.png') no-repeat scroll center center; background-size:100%;z-index:999; transition:all 1s; margin-left: 30px; }
#logo a, #logo_mob a { display: block; width: 100%; height: 100%;text-indent: -999999px!important;     background: #00000001; }

.open_menu {
    display: block;
    z-index: 999;
    color: #fff;
    text-decoration: none;
    transition: all 1s;
	left: 0;
    position: absolute;
    font-size: 18px;
    color: #ffff;
    letter-spacing: 0.5px;
}

.open_menu:hover {
    color: #fff;
}

.open_menu::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease-in-out, background-color 0.4s ease-in-out;
}

.open_menu:hover::after {
    transform: scaleX(1);
    background-color: #fff;
    transform-origin: left;
}

.menu_right {
	display: flex;
    gap: 30px;
    position: absolute;
    right: 0;
}
.open_menu img.dark_menu, .open_menu img.white_menu{width: 38px; margin-left: 0px;margin-top: 0px;display:inline-block; transition: all 0.2s ease-in-out;}
.open_menu img.dark_menu{display: none;}

.open_menu.active img { display: none; }

img.dark_call, img.dark_email { display: none; }
#header.fixed img.dark_call, #header.fixed img.dark_email { display: inline-block; }

#header.fixed .open_menu { transition:all 1s; }
#header.fixed .open_menu img.dark_menu{display:inline-block;}

#book_now {
    position: relative;
    display: block;
    font-weight: 100;
    font-size: 18px;
    z-index: 999;
    color: #fff;
    text-decoration: none;
}

#book_now::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease-in-out, background-color 0.4s ease-in-out;
}

#book_now:hover::after {
    transform: scaleX(1);
    background-color: #fff;
    transform-origin: left;
}

.menu-img-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: block;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.menu-img-link.active {
    z-index: 10;
    pointer-events: auto;
    visibility: visible;
}

.responsive_menu_media .menu-img-link img.menu-img {
    transition: all 0.3s ease-in-out;
}

.responsive_menu_media .menu-img-link:hover img.menu-img {
    filter: grayscale(0);
}

.responsive_menu #book_now {
    color: #761d14;
    border-bottom: none;
    width: fit-content;
    margin: 0 auto;
    font-size: 24px;
    padding-bottom: 8px;
    margin-top: 35px;
    transition: all 0.3s ease-in-out;
}

.responsive_menu .graphic.mob {
    display: none;
}

.responsive_menu #book_now::after {
    background-color: #761d14;
    transform: scaleX(1);
    transform-origin: right;
}

.responsive_menu #book_now:hover::after {
    background-color: #fff;
    transform: scaleX(0);
    transform-origin: right;
}

.responsive_menu #book_now:hover {
    color: #fff;
    letter-spacing: 0px;
}

#header.fixed #book_now {
    transition: all 0.3s;
}

#header.fixed #book_now:hover {
	color: #a78479;
}

#header.fixed .responsive_menu #book_now {
	color: #362211;
    border-bottom: 2px solid #362211;
	top: 40px;
	display: block;
}

#header.fixed { 
    background: #c97850;
    box-shadow: 0 2px 6px #67443966;
}
/*
#header.fixed  #top_info{ color:#3D3D3B;}
#header.fixed  #top_info a{ color:#3D3D3B; }
#header.fixed  .languages  a.selected_lang{ color:#3D3D3B; border-color:#3D3D3B; }
#header.fixed  .languages  .languages_menu a{ color:#3D3D3B; }
#header.fixed  .open_menu  { color:#3D3D3B; border-color:#3D3D3B; }
#header.fixed  #book_now  { color:#3D3D3B; border-color:#3D3D3B; }*/

.responsive_menu{   
	position: fixed;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    height: 100vh;
	background-color: #c97850;
    width: 100%;
    z-index: 999;
    overflow: hidden;
    clip-path: circle(0% at 60px 40px);
    transition: clip-path 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.responsive_menu.active {   
	clip-path: circle(150% at 60px 40px);
	pointer-events: all;
}

.close_menu {
    position: absolute;
    top: 55px;
    left: 6%;
    display: block;
    width: 40px;
    height: 40px;
    z-index: 9999;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    opacity: 0;
    transform: rotate(-90deg);
    transition: opacity 0.4s ease 0.3s, transform 0.4s ease 0.3s;
}

.responsive_menu.active .close_menu {
    opacity: 1;
    transform: rotate(0deg);
}

.close_menu svg path {
    stroke-dasharray: 80;
    stroke-dashoffset: 80;
    transition: stroke-dashoffset 0.5s ease 0.4s;
}

.responsive_menu.active .close_menu svg path {
    stroke-dashoffset: 0;
}

.close_menu:hover svg path {
    stroke: #fff;
    transition: stroke 0.3s ease;
}

.responsive_menu_container {
    display: grid;
    grid-template-columns: 55% 45%;
    height: 100vh;
    width: 100%;
}

.responsive_menu_media {
    position: relative;
    height: calc(100vh - 50px);
    /* overflow: hidden; */
    margin: 25px;
}

.responsive_menu_media .graphic {
    position: absolute;
    z-index: 9999;
    width: 180px;
    left: -35px;
    top: 0;
}

.responsive_menu_media img.menu-img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.1);
    transition: transform 8s ease, opacity 0.6s ease;
    filter: grayscale(1);
    opacity: 0;
    min-height: 800px;
}

.responsive_menu_media img.menu-img.active {
    opacity: 1;
}

.responsive_menu.active .responsive_menu_media img.menu-img {
    transform: scale(1);
}

.responsive_menu_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 11%;
    position: relative;
    align-items: center;
    text-align: center;
    min-height: 800px;
}

.responsive_menu_nav {
    width: 100%;
    max-width: 400px;
}

.responsive_menu_nav ul {
	margin: 0;
    padding: 0;
    list-style: none;
}

.responsive_menu_nav ul li {
    display: block;
    margin: 0 0 8px 0;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.responsive_menu_nav ul li.current {
    font-family: 'CenturyGothicBold', sans-serif;
}

.responsive_menu.active .responsive_menu_nav ul li {
    opacity: 1;
    transform: translateY(0);
}

.responsive_menu.active .responsive_menu_nav ul li:nth-child(1) { transition-delay: 0.3s; }
.responsive_menu.active .responsive_menu_nav ul li:nth-child(2) { transition-delay: 0.38s; }
.responsive_menu.active .responsive_menu_nav ul li:nth-child(3) { transition-delay: 0.46s; }
.responsive_menu.active .responsive_menu_nav ul li:nth-child(4) { transition-delay: 0.54s; }
.responsive_menu.active .responsive_menu_nav ul li:nth-child(5) { transition-delay: 0.62s; }
.responsive_menu.active .responsive_menu_nav ul li:nth-child(6) { transition-delay: 0.7s; }
.responsive_menu.active .responsive_menu_nav ul li:nth-child(7) { transition-delay: 0.78s; }

.responsive_menu_nav ul li a {
    display: block;
    position: relative;
    font-size: 35px;
    color: #761d14;
    padding: 15px 0;
    transition: all 0.3s ease-in-out;
}

.menu_contact {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.responsive_menu_nav ul li a:hover {
    color: #fff;
    letter-spacing: 1px;
}

.responsive_menu_nav ul li.current a {
	font-weight: 400;
}

.responsive_menu_info {
    position: absolute;
    bottom: 50px;
    left: 11%;
    right: 11%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease 0.7s, transform 0.4s ease 0.7s;
}

.responsive_menu.active .responsive_menu_info {
    opacity: 1;
    transform: translateY(0);
}

.responsive_menu_info .menu_social {
    padding: 0;
    margin: 0;
    text-align: left;
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.responsive_menu_info .menu_social a {
    color: #761d14;
    font-size: 17px;
    transition: all 0.3s ease-in-out;
}

.responsive_menu_info .menu_social a:hover {
    color: #fff;
}

.responsive_menu_info .menu_social img {
	width: 22px;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.responsive_menu_info .menu_social img:hover {
    opacity: 1;
}

.responsive_menu_info .menu_social img.instagram {
	width: 20px;
}

.responsive_menu_info .menu_contact p {
    text-align: right;
}

.responsive_menu_info .menu_contact p a {
    color: #761d14;
    transition: all 0.3s ease-in-out;
    font-size: 17px;
}

.responsive_menu_info .menu_contact p a:hover {
    color: #fff;
}

@media only screen and (max-width: 768px) {
    .responsive_menu_container {
        grid-template-columns: 1fr;
    }
    .responsive_menu_media {
        display: none;
    }
    .responsive_menu_content {
        padding: 80px 30px 30px;
    }
    .responsive_menu_nav ul li a {
        font-size: 26px;
    }
    .responsive_menu_info .menu_contact p {
        text-align: left;
    }
}


/* Newsletter */

.newsletter {
	display: flex;
    position: relative;
    align-items: flex-end;
	margin: 0 100px
}

.newsletter_bg {
	background: #F7F5F2;
	padding-bottom: 0!important;
}

.footer_box p.newsletter_title {
	font-size: 34px;
    line-height: 34px;
    margin-bottom: 15px;
    font-weight: 100;
    letter-spacing: 4px;
    color: #fff;
}

.footer_box p.newsletter_subtitle {
	font-size: 18px;
    font-weight: 100;
    color: #fff;
    padding-top: 0;
    line-height: normal;
    letter-spacing: 2px;
    margin-bottom: 0;
}

.newsletter-input input {
	border: none;
    background-color: transparent;
    border: 1px solid #fff;
    width: 100%;
    font-size: 18px;
    font-weight: 100;
    color: #fff;
    padding: 12px 12px 12px 12px;
	line-height: normal;
}

.newsletter-input {
	margin-bottom: 0;
    margin-top: 30px;
}

.newsletter-input form {
	display: flex;
    align-items: center;
}

.newsletter-input input::placeholder {
	color: #fff;
}

.newsletter-input .input.text {
	width: 78%;
    display: inline-block;
    height: 46px;
}

.newsletter-input .submit {
	width: 22%;
    display: inline-block;
    position: relative;
	height: 46px;
	background: #00000001;
}

.newsletter-input .submit input {
	background: none;
    background-color: transparent;
    font-weight: 200;
    font-size: 18px;
    background-image: url(../img/layout/arrow_white.svg);
    background-size: 42px;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.2s ease-in-out;
    border: 1px solid #fff;
    border-left: none;
	padding: 12px 12px 12px 12px;
	text-indent: -99999px!important;
}

label[for="NewsletterSignupEmail"] {
    display: none;
}

/* Footer */
.padd_prefooter{
    background: #c97850;
}

.logo_footer a {
	display: block;
    width: fit-content;
    margin: 0 auto;
}

.footer_wrapper {
	position: relative;
    display: block;
    overflow: hidden;
    padding: 50px 0;
}

.footer_box {}
.footer_box h6{
	font-size: 26px;
    font-weight: 300;
    margin-bottom: 15px;
    line-height: normal;
    color: #606060;
}

.footer_box_container ul { margin-top:18px; padding-top:25px; border-top:2px solid #674439; display: flex; list-style: none;  justify-content: space-between;}
.footer_box_container ul li{ overflow:hidden;height:20px; position:relative;}
.footer_box_container ul li a{ display:block; text-transform:uppercase; color: #333; font-size:16px;font-weight:400; margin-right:18px; transition: all 0.3s ease 0s;}
.footer_box_container ul li a:hover{  color: #674439;  transition: all 0.3s ease 0s;}
.footer_box_container.pd-100 { padding-left: 100px; }
.footer_box_container.pd-130 { padding-left: 50px; }

.footer_box p{
    color: #761D14;
    font-size: 17px;
    line-height: 27px;
    transition: all 0.3s ease-in-out;
    font-weight: 100;
}

.footer_box .book {
	background: #BA9E7E;
    color: #fff;
    padding: 14px 15px 14px 15px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 1px;
    margin-bottom: 40px;
    display: block;
    width: 210px;
    background-image: url(../img/layout/book_now.svg);
    background-repeat: no-repeat;
    background-position: 170px 15px;
    background-size: 25px;
    transition: all 0.3s ease-in-out;
}

.divider {
    height: 15px;
}

.footer_box a.find_us {
    border-bottom: 1px solid #761D14;
}

.footer_box a.find_us:hover {
    border-bottom: 1px solid transparent;
}

.footer_box .book:hover {
    background-color: #606060;
}

.footer_right {
    display: flex;
    gap: 100px;
    justify-content: flex-end;
}

.footer_box p a { color: #761D14; position: relative; transition: all 0.3s ease-in-out; }

.footer_box p a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease-in-out, background-color 0.4s ease-in-out;
}

.footer_box p a:hover::after {
    transform: scaleX(1);
    background-color: #fff;
    transform-origin: left;
}

.footer_box p a:hover { color: #ffff; transition: all 0.3s ease-in-out; }

.footer_box.social_media { }
.footer_box.social_media img{ width: 32px;  display: inline-block; margin-right:7px; transition: all 0.3s ease 0s; }
.footer_box.social_media img:hover{ opacity: 0.5; }



img.footer_logo{
    max-width: 100%;
    width: 240px;
    margin: 0 auto;
    display: block;
}
.footer_details_left{width:50%;float:left;}
.footer_details_right{width:50%;float:left;}

.footer_social {
    margin-bottom: 60px;
}

.footer_social.mob {
	display: none;
}

.footer_social.show_991 {
	display: none;
}

.book.show_479 {
	display: none;
}

.footer_social.show_479 {
	display: none;
}

.footer_social img {
	width: 25px;
    display: inline-block;
    margin-right: 20px;
}

.footer_social img.instagram {
	width: 23px;
}

.footer_social img.twitter {
	width: 25px;
}

/* ============= ESPA ================= */
.espa {
	position: absolute;
    right: 0;
    z-index: 99;
    bottom: 0px;
}
.espa img { max-width: 100%; }

@media only screen and (max-width: 991px) {
}

@media only screen and (max-width: 767px) {
	.espa img { max-width: 100%; width: 220px; }
}

@media only screen and (max-width: 549px) {
	.espa img, .espa.sec img {
		width: 180px;
	}

	.espa.third img {
		width: 130px;
	}

	.espa.sec {
		bottom: 27px;
	}

	.espa.third {
		bottom: 54px;
	}

	.espa.four img {
		width: 80px;
	}

	.espa.four {
		bottom: 104px;
	}
}

@media only screen and (max-width: 380px) {
	.espa img, .espa.sec img { max-width: 100%; width: 180px; }
	.espa.third img { width: 120px; }
	.espa.sec {
		bottom: 24px;
	}

	.espa.third {
		bottom: 48px;
	}

	.espa.four img {
		width: 70px;
	}

	.espa.four {
		bottom: 94px;
	}
}

/* ============== END ESPA ============== */



/* Copyright */
.padd_footer{
    background: #c97850;
}

.copyright_wrapper {
    display: flex;
    align-items: center;
    padding: 35px 0;
}

.copyright{
    font-size: 14px;
    font-weight: 100;
    color: #761d14;
    /* text-transform: uppercase; */
}
.copyright a{	color: #fff;}
#wapp{position:relative;float:right;background: #00000001;}
#wapp a{	display: block;	width: 85px;height: 25px;background:transparent url(../img/layout/wapp.svg) no-repeat center;text-indent: -999999px!important;background-size:100%;}

/* PAGE HEADINGS
================================================== */

.page_heading_image { position:relative; color:#fff; background-repeat: no-repeat;background-position:center center; background-size:cover; height: 100vh;min-height:400px; overflow: hidden;}
.page_heading_shadow{
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 10%, rgba(0, 0, 0, 0.3) 20%, rgba(0, 0, 0, 0.3) 70%);
    z-index: 1;
}
.page_heading_image.full { height: 100vh;}
.page_heading_image .page_heading_text { z-index:10;  display: block; position:absolute; width: 100%;bottom:50px; text-align:center;}
.page_heading_image h1 { max-width:400px; margin:0 auto; font-size:42px;font-weight:300;  color:#fff; display: block;   }
.page_heading_image p { margin-bottom:10px;font-size:18px;font-weight:300;line-height:28px;text-shadow: 1px 0 50px rgba(0,0,0,0.2); display: block;  }

/* PAGE TEXT
================================================== */
.page_text { }
.page_text h1 {
    font-size: 63px;
    font-weight: 300;
    margin-bottom: 35px;
    color: #28170f;
    line-height: 70px;
    position: relative;
    font-family: 'CenturyGothicBold';
}
.page_text h2 {
    font-size: 30px;
    color: #096f99;
    line-height: normal;
    position: relative;
    font-family: 'CenturyGothicBold', sans-serif;
}

.page_text.dynamic_page h2 {
    color: #545322;
}

.dynamic_page .villa_amenities ul li {
    color: #545322;
}

.page_text h3 {
    font-size: 24px;
    line-height: normal;
    letter-spacing: normal;
    margin-bottom: 15px;
    margin-top: 15px;
    color: #761d14;
    font-family: 'CenturyGothicBold', sans-serif;
}

.page_text h1:before {
	content: '';
    position: absolute;
    
}


.page_text p.before_title{
	font-size: 16px;
    line-height: normal;
    letter-spacing: 1.7px;
    color: #fffbeb;
    text-transform: uppercase;
    margin-top: 25px;
    margin-bottom: 10px;
    font-weight: 400;
    background: #000;
    display: inline-block;
    padding: 5px 15px;
}

.page_text p {
    font-size: 17px;
    font-weight: 300;
    line-height: 32px;
    color: #000;
}

.page_text p.subtitle {
	font-family: 'CenturyGothicBold';
    color: #761D14;
    font-size: 30px;
    line-height: normal;
}

/* Character splitting animation */
.page_text p.subtitle .word {
    display: inline-block;
}
.page_text p.subtitle .whitespace {
    display: inline-block;
    width: 0.3em;
}
.page_text p.subtitle .char {
    display: inline-block;
    opacity: 0;
    transition: opacity 0.6s ease;
    transition-delay: calc(var(--char-index) * 0.06s);
    will-change: opacity;
}
.page_text p.subtitle.in-view .char {
    opacity: 1;
}

.page_text.olive_bg p.subtitle {
    color: #9db2cc;
}

/* Character splitting animation for villa_amenities h2 */
.page_text .villa_amenities h2 .word {
    display: inline-block;
}
.page_text .villa_amenities h2 .whitespace {
    display: inline-block;
    width: 0.3em;
}
.page_text .villa_amenities h2 .char {
    display: inline-block;
    opacity: 0;
    transition: opacity 0.6s ease;
    transition-delay: calc(var(--char-index) * 0.06s);
    will-change: opacity;
}
.page_text .villa_amenities h2.in-view .char {
    opacity: 1;
}

.page_text ul {margin: 15px 0 15px 0px; overflow:auto;}
/* .page_text ul li {
	margin: 3px 0px 3px 29px;
    padding: 20px 0px 20px 0px;
    font-size: 20px;
    font-weight: 300;
    display: inline-block;
    width: calc(49% - 26px);
    line-height: 30px;
    border-bottom: 1px solid #BA9E7E;
    transition: all 0.3s ease 0s;
} */

.page_text.services_page ul li {
    margin: 3px 30px 3px 0px;
}

.page_text ul li:hover {transition: all 0.3s ease 0s;}

.page_text p.zoom{font-size:12px; z-index: 3;  position: relative;}
.centered {text-align:center;}
.left_image {float:left;max-width:400px; margin:10px 30px 10px 0;}
.left_image.offset_top { margin-top:-30px;}
.right_image {float:right;max-width:400px; margin:10px 0px 10px 30px;}
.right_image.offset_top { margin-top:-70px;}

.decorate_image_left {    position: absolute;    right: calc(100% - 125px);    top: 150px;    width: 100%;    max-width: 250px; }
.decorate_image_left img {   width: 100%;   }

.decorate_image_right {    position: absolute;    left: calc(100% - 125px);    top: 450px;    width: 100%;    max-width: 250px; }
.decorate_image_right.rooms {     top: 50px;     }
.decorate_image_right img {   width: 100%;   }

.mini_font a {
	text-decoration: underline;
}

.home_villa {
	padding: 0 8% 80px 12%;
	position: relative;
}

.home_villa_text.left {
	padding-right: 80px;
}

.home_villa_text.right {
	padding-left: 80px;
}

.page_text .villa_text p {
	margin-top: 65px;
}

.villa_text {
	background: #fff;
	padding: 70px 80px 40px 110px;
	border-bottom: 1px solid #f7f3ed;
}

.home_villa_img {
	height: 90vh;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.villa_text img {
	width: 75px;
}

.villas {
    position: relative;
    overflow: hidden;
}

.villas p.subtitle {
	position: absolute;
    color: #28170f;
    top: 80px;
    left: 7%;
}

.villas .opacity_bg {
	background-color: #ffffffb3;
    position: absolute;
    height: 98%;
    left: 0;
    width: 50px;
    bottom: 0;
}

.villas .villa_bottom .opacity_bg {
	left: auto;
	right: 0;
	top: 0;
	bottom: auto;
	height: 90%;
}

.villa_bottom {
	display: flex;
    align-items: flex-end;
	margin-top: 0px;
}

.villa_text ul li {
	margin: 3px 0px 3px 0px;
    padding: 10px 0px 10px 0px;
    font-size: 20px;
    font-weight: 300;
    display: inline-block;
    width: 49%;
    line-height: 30px;
    transition: all 0.3s ease 0s;
    text-align: center;
}

.page_text .villa_text ul li p {
	font-size: 25px;
    padding-top: 20px;
    font-weight: 300;
    position: relative;
	margin-top: 0;
}

.page_text .villa_text ul li p:before {
	content: '';
    background-image: url(../img/layout/triangle_2.svg);
    background-repeat: no-repeat;
    background-size: 16px;
    position: absolute;
    left: 0;
    right: 0;
    width: 16px;
    height: 16px;
    margin: 0 auto;
    top: 5px;
}

.villa_img {
	margin-top: -50px;
}

.villa_bottom .villa_img {
	margin-top: 0;
	margin-bottom: -50px;
}

.villa_text ul {
	margin-left: -60px;
}

.living_text {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.living_text .more {
    font-size: 19px;
    line-height: 25px;
    color: #545322;
    font-weight: 300;
    border-bottom: none;
}

.living_text .more::after {
    border-bottom: 2px solid #545322;
}

.living_text .more:hover {
    color: #545322;
}

.page_text .living_text h1 {
    font-size: 46px;
    line-height: 58px;
    color: #545322;
    margin-bottom: 0;
    font-family: 'CenturyGothic', sans-serif;
}

.blue_bg.page_text .living_text h1 {
    color: #28170f;
}

.home_living .living_top {
    width: 230px;
}

.home_living .living_bottom {
    position: relative;
    float: right;
    width: 62%;
    margin-top: 60px;
    display: block;
}

.home_living p.subtitle {
    color: #545322;
    position: absolute;
    right: 0;
}

.blue_bg.home_living p.subtitle {
    color: #28170f;
}

.home_gallery {
    height: 100vh;
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.home_gallery .home_header_shadow {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.15) 20%, rgba(0, 0, 0, 0.15) 70%);
}

.home_gallery a {
    position: absolute;
    left: 7%;
    bottom: 9%;
    color: #fff;
    font-size: 23px;
    font-family: 'CenturyGothicBold', sans-serif;
    z-index: 1;
    letter-spacing: 1px;
    border: none;
    border-radius: 100%;
    width: 265px;
    height: 265px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease-in-out;
}

.home_gallery a::before {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    border-radius: 100%;
    border: 1px solid #ffffff;
    clip-path: inset(0 0 0 0);
    transition: clip-path 0s;
}

.home_gallery a::after {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    border-radius: 100%;
    border: 1px solid #ffffff61;
    clip-path: inset(0 0 100% 0);
    transition: clip-path 0.6s ease;
}

.home_gallery a:hover::before {
    clip-path: inset(100% 0 0 0);
    transition: clip-path 0.6s ease;
}

.home_gallery a:hover::after {
    clip-path: inset(0 0 0 0);
}

.spa_treats {
	margin: 70px 0 20px 0;
	background-color: #9f9e9e;
	padding: 30px 0;
}

.spa_treats h2 {
	text-align: center;
	color: #fff;
	margin-bottom: 30px!important;
	font-size: 30px!important;
}

.page_text.spa_treats ul {
	text-align: center;
	overflow: hidden;
}

.page_text.spa_treats .spa_list li {
	background-image: url(../img/layout/spa_white.svg);
	padding: 15px 25px 25px 25px;
    display: inline-block;
    margin: 3px 15px;
}

.page_text.spa_treats .spa_list li a {
	color: #fff;
}

.page_text .spa_list li {
	background-image: url(../img/layout/spa.svg);
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: left 19px;
	padding: 15px 15px 25px 25px;
}

.spa_list a {
	padding-left: 10px;
    color: #9a9f87;
    font-weight: 400;
	transition: all 0.3s ease-in-out;
}

.spa_list a:hover {
	text-decoration: underline;
}

.location1 {
	width: 40%;
}

.location2 {
	width: 60%;
	float: right;
}

.location3 {
	width: 42%;
    float: right;
}

.location_sec_row {
	display: flex;
	align-items: flex-end;
}

.page_text .tabs_description p {
	margin-bottom: 20px;
    font-size: 19px;
}

.page_text.tabs_section h1 {
    font-weight: 300;
}

.tabs_section {
	padding-bottom: 60px;
}

.sights_image {
	margin-top: -70px;
	position: relative;
}

.sights_image:before {
	content: '';
    position: absolute;
    background-color: #ffffffb3;
    height: calc(100% - 70px);
    left: 0;
    width: 37px;
    bottom: 0;
}

.page_text.villas.facilities h1.location_title {
    margin-bottom: 0;
    padding-bottom: 50px;
    margin-left: 50px;
}

.menu_tabs ul li a.inactive {
	background: transparent;
    font-weight: 200;
    font-size: 28px;
}

.menu_tabs ul li a span {
	font-weight: 400;
    font-size: 30px;
    text-align: center;
    color: #a78479;
    display: block;
    width: fit-content;
    border-bottom: 1px solid #a78479;
    padding: 0 5px 10px 5px;
    margin: 0 auto 25px auto;
}

.menu_tabs ul li a.inactive span {
	font-size: 26px;
	font-weight: 200;
}

.page_text .menu_tabs ul li {
	display: inline-block;
    width: 24%;
    margin: 0;
    border-bottom: none;
	text-align: center;
}

.menu_tabs ul li a {
	font-size: 28px;
    color: #606060;
    cursor: pointer;
    font-weight: 400;
    background: #fff;
    display: block;
    padding: 40px 0px;
    line-height: normal;
	position: relative;
}

.menu_tabs ul li a:after {
	content: '';
    position: absolute;
    background-image: url(../img/layout/triangle.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: 25px;
    background-size: 25px;
    height: 25px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.menu_tabs ul li a.inactive:after {
	display: none;
}

.page_text ul#tabs {
	margin: 0;
}

.tabs_description {
	padding: 45px 30px 0 30px;
    display: flex;
    position: relative;
    flex-direction: column;
}

.page_text .tabs_description h2 {
	margin-bottom: 25px;
	border-bottom: 1px solid #ba9e7e;
	padding-bottom: 12px;
	font-size: 37px;
}

.tabs_description_left {
	margin-right: 45px;
}

.page_text .menu_tabs .tabs_description_right ul li {
	display: inline-block;
    width: calc(49% - 35px);
    padding: 37px 0;
    border-bottom: 1px solid #a78479;
    margin: 0 35px 0 0;
    font-weight: 300;
    font-size: 23px;
    text-align: left;
    line-height: normal;
}

.page_text .menu_tabs .tabs_description_right ul li:nth-last-child(-n+2) {
    border-bottom: none;
}

.page_text.tabs_section h1 {
    font-size: 51px;
}

.tabs_description h2 span {
	font-size: 28px;
    margin-right: 20px;
    font-weight: 700;
    color: #ba9e7e;
}

.menu_tabs ul li a.inactive:before {
	border-top: none;
}

.location_intro {
	padding-top: 100px;
}

.location_text{
	padding: 9% 4% 3% 4%;
    width: 42%;
    background: #fff;
    float: right;
    margin-right: 5%;
}

.location_text p {
	margin-bottom: 10px;
	font-size: 28px;
    font-weight: 300;
    line-height: 55px;
    color: #000;
}

.location_link {
	padding: 5% 0% 30% 0%;
    width: 42%;
    background: #0000003b;
    float: right;
    margin-right: 5%;
    display: flex;
    clear: both;
    position: relative;
    justify-content: center;
    align-items: center;
}

.location_link a {
	color: #fff;
	font-size: 65px;
    line-height: 75px;
}

/* .location_link a:hover {
	-webkit-mask-image: linear-gradient(75deg, rgba(0,0,0,.6) 30%, #000 50%, rgba(0,0,0,.6) 70%);
    -webkit-mask-size: 200%;
    animation: shine_letters 2s infinite;
} */

.location_link a:after {
	content: '';
    position: absolute;
    width: 33px;
    height: 33px;
    margin-left: 22px;
    background-image: url(../img/layout/asset_white.svg);
    background-size: 33px;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 30px;
    right: 10px;
}

@-webkit-keyframes shine_letters {
	from {
	  -webkit-mask-position: 150%;
	}
	
	to {
	  -webkit-mask-position: -50%;
	}
  }

.location_text h3{font-size: 40px; letter-spacing: normal; color: #29365b; text-transform: none; margin-bottom: 20px;}

.img_map{width: 100%;display: block;height: auto;}

.btn_more {   	
    border-bottom: 1px solid #3D3D3B;    
    display: block;    
    margin-bottom: 15px;
    margin-top: 40px;
    overflow: hidden;    
    position: relative;   	
}
.btn_more span {
	cursor: pointer;
    display: inline-block;
	font-weight: 400;
    letter-spacing: 0.5px;
	color:#3D3D3B;
	background: none; 
	border: 2px solid #3D3D3B;  
	border-bottom: 1px solid #3D3D3B;
	padding: 10px 20px 10px 20px;
	transition: all 0.3s ease 0s;
}
.btn_more:hover span, .btn_more:active span{
    color: #fff;
	background: #3D3D3B;
	transition: all 0.3s ease 0s;
}

.book_now{font-size:16px; letter-spacing:1.7; font-weight:300;color:#000;padding:10px 20px;border:1px solid #000;margin-top:25px;display: inline-block;  position:relative; cursor: pointer;    text-transform: uppercase;    overflow: hidden; background: #F6F3EA;}
.book_now:hover span{color:#fff;}
.book_now:before {  content: '';    z-index: 1;    transform: scaleX(0);    transform-origin: right 50%;    transition-property: transform;    transition-duration: 380ms;    background-color: #000;    color: #fff!important;    padding-bottom: 2px;
    top: 0;    left: 0;    position: absolute;    z-index: 1;    width: 100%;    height: 100%;    display: block; }
.book_now:hover span{color: #fffbeb; position:relative; z-index:1;transition: all 0.3s ease 0s;}
.book_now:hover:before {    transform: scaleX(1);    transform-origin: left 50%;    width: 100%;    height: 100%;    display: block;}

/* HOME PAGE
================================================== */

a.overlay_link {display:block;width:100%;height:100%;position:absolute;top:0px;left:0px;text-indent: -999999px; z-index:10; }

.covid_notice { margin:20px 20px 40px 20px; padding:20px; border:1px solid #3D3D3B; text-align:center;}

.home_header { height:100vh!important; min-height:600px; position:relative; overflow:hidden; background-color: #000; }
.home_header_shadow{
	height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.3) 20%, rgba(0,0,0,0.3) 70%);
    z-index: 1;
}
.hero_bg{ width:100%;height:100vh; min-height:800px;position:absolute;top:0;left:0; background-color:#fff; background-position: 60% center; background-size: cover; transform:translateZ(0) translateY(0); will-change: transform; }

@keyframes heroRevealZoom {
  0% {
    opacity: 0;
    transform: scale(1.10);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.home_header_content {
    z-index: 10;
    display: flex;
    position: absolute;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    top: 10px;
    flex-direction: column;
}

.home_header_content img {
	width: 560px;
}

.no_banner .home_header_content {
    justify-content: flex-start;
    top: 21vh;
}

.home_header_content p { font-size:20px;font-weight:300; line-height: 30px; color:#fff;  text-shadow:1px 0 50px rgb(0 0 0 / 80%);  display: block; margin-bottom:20px; }
.home_header_content h1 {
    font-size: 62px;
    color: #fff;
    display: block;
    max-width: 100%;
    line-height: normal;
    text-align: center;
}

/* Character splitting animation for home header */
.home_header_content h1 .word {
    display: inline-block;
}
.home_header_content h1 .whitespace {
    display: inline-block;
    width: 0.3em;
}
.home_header_content h1 .char {
    display: inline-block;
    opacity: 0;
    transition: opacity 0.6s ease;
    transition-delay: calc(var(--char-index) * 0.06s);
    will-change: opacity;
}
.home_header_content h1.in-view .char {
    opacity: 1;
}

a.vrt_msg{
    line-height: normal;
    margin-bottom: 0;
    padding: 30px;
	color:#fff;
	font-weight:700;
	letter-spacing:2px;
}

  .link__arrow {
	display: inline-flex;
  }
  .link__arrow span {
	position: relative;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	overflow: hidden;
	background: #ccc;
	z-index: 2;
  }
  .link__arrow span:nth-child(1) {
	transform-origin: left bottom;
	transform: rotate(45deg) translate3d(8px, -10px, 0);
  }
  .link__arrow span:nth-child(2) {
	transform-origin: left bottom;
	transform: rotate(-45deg);
  }
  .link__arrow span:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 0;
	height: 2px;
	background: #fff;
  }
  .link__line {
	position: relative;
	margin-left: -14px;
	margin-right: 0px;
	width: 90px;
	height: 2px;
	background: #ccc;
	overflow: hidden;
	z-index: 1;
  }
  .link__line:after {
	content: "";
	display: block;
	position: absolute;
	left: 80px;
	width: 70px;
	height: 2px;
	background: #fff;
  }
  .link__text {
	color: #fff;
	font-size: 14px;
	text-transform: uppercase;
	font-weight:700;
	text-shadow: 1px 0 50px rgb(0 0 0 / 20%);
  }
  .link:hover .link__line:after {
	animation: animation-line 1.5s forwards;
  }
  .link:hover .link__arrow span:after {
	animation: animation-arrow 1.5s forwards;
	animation-delay: 1s;
  }
  
  @keyframes animation-line {
	0% {
	  left: 80px;
	}
	100% {
	  left: 0;
	}
  }
  @keyframes animation-arrow {
	0% {
	  width: 0;
	}
	100% {
	  width: 100%;
	}
  }

.scrollButtonContainer {
	position: absolute;
    z-index: 10;
    color: white;
    display: block;
    height: 100%;
    width: 100%;
    left: 0;
    right: 0;
    top: 91%;
    margin: 0 auto;
    text-align: center;
	transition: all 1s;
}

div.scroll-suggestion {
    margin: auto;
    color: #fff;
}

.scrollButtonContainer img {
	width: 40px;
    height: 40px;
	animation: scrolldown 1.2s ease-in-out infinite;
}

@keyframes scrolldown {
	0%{
		transform: translateY(20%);
		opacity: 0.7;
	}
	50%{
		transform: translateY(0%);
		opacity: 0.2;
	}
	100%{
		transform: translateY(20%);
		opacity: 0.7;
	}
}

.scrollButtonContainer p {
    margin-bottom: 10px;
    font-size: 14px;
    letter-spacing: 0.5px;
    line-height: 18px;
    font-weight: normal;
	color:#fff;
}
.hvr-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation-name: hvr-wobble-vertical;
  animation-name: hvr-wobble-vertical;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Wobble Vertical */
@keyframes hvr-wobble-vertical {
  8.33% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  16.65% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  24.98% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  33.3% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  41.63% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }

  50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.home_left_title {display:block; width:100%; margin-bottom:50px; margin-top:130px;}


.home_center_title{display:block; width:100%; margin-bottom:50px; margin-top:130px;text-align:center;}
.home_center_title p.smaller{font-size:16px; font-weight:400; letter-spacing:2px; padding-bottom: 100px;  position: relative;}
.home_center_title p.smaller:after {content: "";height: 80px; width: 1px;  background: #29365b; display: block; position: absolute;    top: 40px;    left: 50%;    -webkit-transform: translateX(-50%);    -ms-transform: translateX(-50%);    transform: translateX(-50%);
}
.home_center_title h2{font-size: 48px;    font-weight: 300;    line-height: 60px;    color: #674439;    text-transform: uppercase; }
.home_center_title p.grey_parag{font-size:18px; color:#000;margin-top:20px;margin-bottom:30px;font-weight:100;}


.suites_title {
	position: absolute;
    top: -315px;
    z-index: 99;
    width: 100%;
}

.suites_title h2 {
	font-size: 85px;
    line-height: 85px;
    font-weight: 300;
    margin-top: 35px;
    margin-bottom: 20px;
    color: #B0ADA8;
    margin-left: 8%;
}

.suites_title h2 span {
	color: #B0ADA8;
    font-weight: 400;
}

img.rooms_home {
	position: absolute;
    top: -280px;
	right: 3px;
    width: 80%;
    padding-bottom: 125vh;
    background-color: #D8D6CF;
}

.room_number {
    position: absolute;
    top: 45px;
    left: 50px;
}

.room_box.right .room_number {
    left: 8%;
    right: auto;
}

.room_box {
    position: relative;
}

.room_box img {
    filter: brightness(0.8);
    height: 680px;
    object-fit: cover;
}

.room_box .room_number img {
    width: 40px;
    filter: none;
    height: auto;
}

.room_details {
	border-left: 1px solid #fff;
	padding: 10px 55px;
}

.room_details p {
    font-size: 22px;
    font-weight: 100;
    color: #fff;
    padding-right: 40px;
	padding-left: 15px;
    line-height: 28px;
}

.room_details  ul li {
    margin: 0;
    padding: 0px 15px 0 15px;
    border-right: 1px solid #fff;
    font-size: 24px;
    font-weight: 300;
    color: #fff;
    display: inline-block;
    line-height: 30px;
    background: none;
    transition: all 0.3s ease 0s;
	overflow: hidden;
}

.room_details ul li:last-child {
	border-right: none;
}

.rooms_more {
	position: absolute;
    bottom: 140px;
    color: #fff;
    font-size: 26px;
    font-weight: 100;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    padding-right: 11px;
    right: 0px;
	margin-right: 100px;
	transition: all 0.3s ease-in-out;
}

.rooms_more.facilities {
    position: relative;
    bottom: 10px;
    float: right;
    color: #444;
    font-size: 24px;
    border-bottom: 1px solid #444;
    margin-right: 140px;
}

.rooms_more.facilities:after {
	background-image: url(../img/layout/asset_black.svg);
}

.rooms_more.facilities:hover {
	color: #444;
}

.rooms_more.mob {
	display: none;
}

.rooms_more:hover {
	color: #fff;
}

.rooms_more:after {
    content: '';
    position: absolute;
    width: 33px;
    height: 33px;
    margin-left: 18px;
    background-image: url(../img/layout/asset_white.svg);
    background-size: 33px;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: -5px;
	transition: all 0.3s ease-in-out;
}

.rooms_more:hover::after {
	margin-left: 25px;
}

.room_book {
	position: absolute;
    bottom: 80px;
    right: 0;
    color: #fff;
    font-size: 26px;
    font-weight: 500;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    padding-right: 100px;
	transition: all 1s;
}

.room_book.mob {
	display: none;
}

.room_book:hover {
	color: #fff;
	padding-right: 158px;
}

.rooms_left_image {}
.rooms_left_image img {max-width:100%;}

.rooms_right_image {max-width:100%;position: relative;z-index: 2;}

.room_right_image img { width: 70%; float: right; }

.rooms_home .about_text {
    padding-top: 60px;
}

.rooms_home .about_text.facilities_intro {
	padding-bottom: 60px;
}

.facilities_intro button {
	margin-top: 20px;
    float: right;
    border: none;
    background: none;
    color: #9a9f87;
    font-size: 15px;
}

.facilities_intro button img {
	width: 25px;
    margin-right: 8px;
}

.facilities_reverse .room_right_image img {
    width: 100%;
	float: right;
}

.rooms_home ol {
	list-style: inside;
	margin-top: 20px;
	margin-bottom: 20px;
}

.page_text h5 {
	color: #9a9f87;
    font-size: 28px;
    border-bottom: 1px solid #9a9f87;
    width: fit-content;
    margin-bottom: 20px;
    font-weight: 400;
}

.rooms_home ol li {
	color: #606060;
    font-size: 20px;
	font-weight: 100;
	line-height: 35px;
}

.rooms_home ul {
	list-style: revert;
}

.rooms_home ul li {
	font-size: 20px;
    width: 49%;
    display: inline-block;
    line-height: 40px;
    color: #000;
    margin-bottom: 10px;
}

.list_spa {
	display: inline-block;
    width: 49%;
}

.facilities p {
	font-size: 21px;
	font-weight: 300;
	line-height: 35px;
	margin-top: 15px;
    margin-bottom: 30px;
}

.rooms_home .home_half_text {
    padding: 5px 15px 5px 100px;
}

.rooms_description {
	background: #fff;
    height: 80vh;
	width: 75%;
	padding: 3% 10%;
    position: relative;
}

.reverse-rooms .rooms_description {
	float: right;
}

.rooms_description h2 {
	color: #B0ADA8;
    font-size: 48px;
    line-height: 60px;
    padding: 20px 0 50px 0;
}

.rooms_description p {
	margin-bottom: 10px;
    font-size: 28px;
    font-weight: 300;
    line-height: 45px;
    padding: 0 70px 70px 0;
}

.rooms_description ul li {
	font-size: 29px;
    color: #000;
    background: none;
    padding-left: 0;
    overflow: hidden;
    line-height: 40px;
    padding-bottom: 30px;
    font-weight: 300;
}

.rooms_description ul li:before {
	content: '';
    position: absolute;
    border-top: 1px solid #000;
    width: 75px;
    height: 1px;
    margin-top: 55px;
}

.rooms_description ul li:last-child::before {
	display: none;
}

.room_title {
	position: absolute;
    bottom: 0;
    background: #00000059;
	padding: 50px 50px 50px 50px;
	width: 100%;
}

.room_title h1 {
	font-size: 45px;
    font-weight: 300;
    margin-bottom: 0;
    color: #fff;
    line-height: 65px;
    padding-left: 105px;
    position: relative;
	text-transform: uppercase;
	width: 75%;
}

.room_title h1:before {
	display: none;
}

.room_title .rooms_more {
	bottom: 0px;
    right: 50px;
    float: right;
    position: relative;
}

p.total_rooms {
	position: absolute;
    margin-top: 0px;
    right: 0;
    font-size: 22px;
    color: #000;
    font-weight: 100;
}

.beige_bg.rooms {
    height: 25px;
    width: 41.67%;
    position: absolute;
    bottom: -85px;
    right: 0;
    margin-bottom: 60px;
    background: #ebeae6;
}

.reverse-rooms .beige_bg.rooms {
    height: 25px;
    width: 41.67%;
    position: absolute;
    bottom: -85px;
    left: 0;
    margin-bottom: 60px;
    background: #ebeae6;
}

.swiper-gallery {
    height: 100vh;
}

.villa_amenities {
    display: flex;
    gap: 40px;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 70px 15% 50px 70px;
}

.villa_amenities ul li {
    font-size: 18px;
    line-height: 28px;
    color: #096f99;
    position: relative;
    padding: 3px 5px 3px 15px;
    width: 49%;
    display: inline-flex;
}

.villa_amenities ul.full li {
    width: 100%;
    display: block;
}

.villa_amenities ul li:before {
    content: '-';
    position: absolute;
    color: #096f99;
    font-size: 18px;
    left: 0px;
}

.villa_extra_image {
    height: 100vh;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.rooms_view .room_right_image {
	width: 70%;
    float: right;
    background: #ebeae6e3;
    padding-bottom: 60%;
    position: relative;
}

.rooms_view .room_right_image img {
	width: 100%;
    float: right;
}

.rooms_view .room_book {
    color: #606060;
    border-bottom: 2px solid #606060;
	bottom: 27%;
}

.rooms_view {
	padding-bottom: 0;
}

.room_facilities h1 {
	color: #B0ADA8;
    font-size: 70px;
    font-weight: 100;
    margin-bottom: 60px;
}

.room_facilities ul {
	margin: 25px 0;
}

.room_facilities ul li {
	font-size: 26px;
    color: #000;
    font-weight: 100;
    line-height: 45px;
    margin-bottom: 15px;
}

.villa_description {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding-right: 13%;
}

.villa_description .more {
    margin-top: 0px;
}

.villa_description p {
    font-size: 40px;
    position: relative;
    line-height: 55px;
    color: #28170f;
    padding-left: 150px;
    display: flex;
    align-items: center;
}

.villa_description p:before {
    content: '';
    position: absolute;
    left: 0;
    background-image: url(../img/layout/villa_graphic.svg);
    background-repeat: no-repeat;
    background-size: 72px;
    background-position: center;
    width: 72px;
    height: 72px;
}

.villa_details {
	padding: 20px 50px;
}

.villa_details ul {
	display: flex;
	justify-content: center;
}

.villa_details ul li {
	display: inline-block;
	width: 19.7%;
	text-align: center;
}

.villa_details ul li img {
	width: 75px;
    display: block;
    margin: 0 auto;
}

.villa_details p.detail_number {
	font-size: 60px;
    display: block;
    color: #a78479;
    padding: 15px 0;
    font-weight: 500;
    line-height: normal;
}

.villa_details p.detail_number:before {
	display: none;
}

.villa_details p {
	font-size: 26px;
    padding-top: 35px;
    font-weight: 300;
    position: relative;
    margin-top: 0;
	line-height: normal;
}

.villa_details small {
	font-size: 18px;
}

.villa_details p:before {
    content: '';
    background-image: url(../img/layout/triangle_2.svg);
    background-repeat: no-repeat;
    background-size: 16px;
    position: absolute;
    left: 0;
    right: 0;
    width: 16px;
    height: 16px;
    margin: 0 auto;
    top: -10px;
}

.villa_details a {
	margin: 90px auto 0 auto;
    display: block;
    padding: 22px 35px;
    color: #606060;
    font-size: 18px;
    letter-spacing: 4px;
    font-weight: 300;
    width: fit-content;
    border: 1px solid #a78479;
	position: relative;
	z-index: 0;
	transition: all 0.3s ease-in-out;
}

.villa_details a:before, .villa_details a:after {
    content: '';
    position: absolute;
    transition: inherit;
    z-index: -1;
	top: 0;
    width: 0;
    height: 100%;
}

.villa_details a:before {
	left: 0;
    border-left: 0;
    border-right: 0;
}

.villa_details a:hover:before {
    transition-delay: 0s;
}

.villa_details a:hover:before, .villa_details a:hover:after {
    width: 100%;
}

.villa_details a:hover:after {
	background: #b99d94;
    transition-delay: .15s;
}

.villa_details a:after {
    left: 0;
}

.villa_details a:hover {
	color: #fff;
}

.villa_facilities {
	background: #fff;
    padding: 30px 65px;
    margin: 0;
    position: relative;
}

.villa_facilities:after {
	content: '';
    border-bottom: 18px solid #A78479;
    position: absolute;
    width: calc(100% - 235px);
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -18px;
}

.villa_facilities ul li {
	display: inline-block;
    width: calc(49% - 95px);
    padding: 30px 0;
    border-bottom: 1px solid #a78479;
    margin: 0 50px;
    font-weight: 300;
    font-size: 22px;
}

.villas.facilities {
	padding-bottom: 0;
}

.villas.facilities a.link_facilities {
	display: block;
    width: fit-content;
    text-align: center;
    margin: 88px auto 70px auto;
    color: #606060;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 3px;
    padding: 20px 130px;
    border-top: 4px solid #a78479;
    border-bottom: 4px solid #a78479;
	position: relative;
	z-index: 0;
	transition: all 0.3s ease-in-out;
}

.villas.facilities a.link_facilities:before, .villas.facilities a.link_facilities:after {
    content: '';
    position: absolute;
    transition: inherit;
    z-index: -1;
	top: 0;
    width: 0;
    height: 100%;
}

.villas.facilities a.link_facilities:before {
	left: 0;
    border-left: 0;
    border-right: 0;
}

.villas.facilities a.link_facilities:hover:before {
    transition-delay: 0s;
}

.villas.facilities a.link_facilities:hover:before, .villas.facilities a.link_facilities:hover:after {
    width: 100%;
}

.villas.facilities a.link_facilities:hover:after {
	background: #a78479;
    transition-delay: .15s;
}

.villas.facilities a.link_facilities:after {
    left: 0;
}

.villas.facilities a.link_facilities:hover {
	color: #fff;
}

.swiper-slide.villa_gallery_img {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.swiper-rooms-gallery {
    height: 95vh;
}

.villa_gallery p {
	background: #ffffff94;
    padding: 15px 70px;
    font-size: 24px;
    font-weight: 300;
    line-height: normal;
	width: 230px;
}

.villa_gallery span.all_photos {
	font-size: 19px;
}

.villa_facilities ul li:nth-last-child(-n+2) {
	border-bottom: none;
}

.features {
	position: relative;
	margin-bottom: 100px;
}

.features_bg {
	position: absolute;
	width: 85%;
    height: calc(100% + 40px);
    background-color: #E3DFDA;
    top: -40px;
    z-index: -1;
    right: 0;
}

.room_features {
	background-color: #E3DFDA;
}

.features_list {
	width: 100%;
    padding: 50px 20px;
}

.features_list ul li {
	margin: 0px 0 0px 0;
	padding: 15px 15px 25px 15px;
    font-size: 22px;
	color: #121212;
    font-weight: 300;
    line-height: normal;
    background: none;
    background-size: 12px;
    transition: all 0.3s ease 0s;
    width: 33%;
    display: inline-block;
    border-right: 2px solid #BFBDBB;
}

.features_list.facility_list ul li {
	width: 49%;
	border-right: none;
}

.page_text .features_list.facility_list h2 {
	font-size: 34px;
    font-weight: 300;
    margin-top: 0;
    margin-bottom: 32px;
    color: #666;
}

/* .features_list.facility_list ul li:nth-last-child(2n) {
    border-right: 2px solid #BFBDBB;
} */

.features_list ul li:last-child, .features_list ul li:nth-last-child(4) {
	border-right: none;
}

.total_rooms.gallery {
	text-align: center;
    left: 0;
    right: 0;
    bottom: 0;
}

.total_rooms.gallery span {
	z-index: 2;
    color: #000;
    position: relative;
}

.mar_neg{margin-top: -5%;border:5px solid #fff;}
.image_subtitle { display:block; margin-top:10px; margin-bottom:30px; font-size:18px; color:#4C5870;}

.sight_container { position:relative; min-height:350px;  }
.sight_container.inner_sight_container {  min-height:600px; overflow:hidden; margin-bottom:50px; }
.sight_box { position:absolute;bottom:0px; }
.sight_box .sight_image { position:relative;	overflow:hidden; }
.sight_box img {max-width:100%; transition: all 0.3s ease 0s;}
.sight_box .sight_subtitle { display:block; margin-top:10px; margin-bottom:10px; color:#4C5870; font-size:18px; text-align:right; transition: all 0.3s ease 0s;}
.sight_box:hover .sight_subtitle{ color:#3D3D3B; transition: all 0.3s ease 0s;}
.sight_box:hover img{  transform: scale(1.05); transition: all 0.3s ease 0s;}

.fragment-banner{height:40vh;overflow:hidden;position: relative;background-size:100%;border:1px solid #f1f1f1;background-color: #000;overflow:hidden;transition: all 0.3s ease 0s;background-size: cover; background-position: center;}
.fragment-banner:hover{transition: all 0.3s ease 0s;    -webkit-transform: translateX(4px) translateZ(0) scale(1.05);
    transform: translateX(4px) translateZ(0) scale(1.05); }


.home_half_text{
	padding: 0px 0px 200px 100px;
    display: flex;
    margin-left: -40px;
}
.home_half_text.mar_top{margin-top:100px;}
.home_half_text p{
	padding-left: 60px;
}

.home_half_text a {
	color: #9a9f87;
}

.home_half_text p.first, .home_half_text p.sec {
	width: 49%;
	display: inline-block;
}

.about_bg {
	background-color: #f7f3ed;
    width: calc(100% + 20%);
    position: absolute;
    height: 63%;
    z-index: -1;
    left: -20%;
    top: 0;
}

.about_wrapper {
    position: relative;
    display: flex;
    align-items: flex-end;
}

.about_wrapper.villa_view {
    align-items: unset;
}

.about_right {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}

.page_text .about_right ul {
    margin: 0;
    display: flex;
    overflow: visible;
    gap: 50px;
    margin-top: 5px;
}

.page_text .about_right ul li {
    font-size: 38px;
    color: #28170f;
}

.about_wrapper img {
	width: 400px;
}

.about_wrapper .home_left_image img {
    width: 80%;
}

.about_wrapper .home_left_image.location img {
	width: 100%;
}

.about_wrapper .location_right_img {
    float: right;
    width: 350px;
    margin-top: 110px;
}

.about_wrapper.location_section p {
    font-size: 22px;
    padding: 100px 0 0 100px;
	line-height: 45px;
}

.about_left {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 270px;
}

.about_left_text {
    padding-right: 10%;
}

.home_welcome {
	height: 50vh;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

.about_left p {
    font-size: 46px;
    line-height: 58px;
    color: #761d14;
}

.olive_bg .about_left p {
    color: #9db2cc;
}

.olive_bg .more {
    color: #9cb1cb;
    border-bottom: none;
}

.olive_bg .more:hover {
    color: #9cb1cb;
}

.olive_bg .more:after {
    background-color: #9cb1cb;
}

.about_text.mob {
	display: none;
}

.page_text .about_text h1 {
	color: #A78479;
    font-size: 60px;
    letter-spacing: 0;
    font-weight: 200;
    padding: 15px 0px 15px 80px;
    line-height: 80px;
    border-right: none;
}

.page_text.villa_page .about_text h1 {
	font-size: 38px;
    line-height: 65px;
    padding-right: 0;
}

.home_half_text p.first_line, .suites_description p.first_line, .home_center_title p.first_line{
    font-size: 16px;
    line-height: normal;
    letter-spacing: 1.7px;
    color: #fffbeb;
    text-transform: uppercase;
    margin-top: 25px;
    margin-bottom: 10px;
    font-weight: 400;
    background: #000;
    display: inline-block;
    padding: 5px 15px;

}
.home_half_text h4{
    font-size: 40px;
    line-height: 54px;
    color: #674439;
    margin-top: 10px;
    margin-bottom: 50px;
	font-weight: 400;
}
.home_left_image{
	position: relative;
	overflow: hidden;
}

.about_wrapper img.villa_right_img {
	width: 500px;
    float: right;
    margin-top: 120px;
}

.home_left_image img{
	width: 100%;
}

.villa_page .about_bg {
    height: 82%;
}

.about_text {
    position: relative;
    overflow: hidden;
    display: block;
    padding-top: 110px;
}

.about_text.mob {
	display: none;
}

.page_text .about_text h2 {
	position: relative;
	width: fit-content;
	margin-bottom: 15px;
}

.page_text .about_text h2:after {
	content: '';
    position: absolute;
    border-bottom: 1px solid #606060;
    left: 0;
    margin-top: 50px;
    width: 100%;
}

.home_right_image {
	float: right;
	overflow: hidden;
}

.home_right_image img{
    width: 370px;
    border-radius: 100%;
    filter: grayscale(1);
    transform: scale(0.7) translateY(-40px);
    transition: transform 0.1s linear;
    will-change: transform;
}

.icon_content {
	text-align: center;
}

.icon_content img {
    width: 160px;
    margin: 0 auto;
    text-align: center;
    display: block;
}

.page_text .icon_content .icon_number {
	color: #ba9e7e;
    font-size: 50px;
    font-weight: 500;
    margin-bottom: 30px;
    margin-top: 15px;
}

.page_text .icon_content .icon_number::after {
	content: '';
    position: absolute;
    border-top: 1px solid #000;
    width: 27px;
    left: 0;
    right: 0;
    margin: 53px auto 0 auto;
}

.page_text .icon_content .icon_text {
    font-size: 27px;
    color: #ba9e7e;
}

.exterior_right_img {
	padding-right: 20%;
    text-align: right;
	position: relative;
}

.exterior_right_img:before {
	content: '';
    background-color: #fff;
    width: 100%;
    height: 110px;
    position: absolute;
    left: -120px;
    top: 0;
    z-index: 0;
}

.exterior_right_img:after {
	content: '';
	position: absolute;
	background-color: #fff;
	width: 20%;
	right: 0;
	z-index: 0;
	height: 100%;
}

.exterior_right_img img {
	width: 285px;
    z-index: 1;
    position: relative;
}

.exterior {
	position: relative;
    display: block;
    overflow: hidden;
    background: #f7f5f2;
	padding-bottom: 160px;
	margin-top: 110px;
}

.exterior .z_index, .interior .z_index {
	z-index: 1;
	position: relative;
}

.exterior:after {
	content: '';
    background: #fff;
    width: 12%;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    z-index: 0;
}

.exterior_text {
	padding: 60px 20% 60px 120px;
}

.exterior_text a {
	    color: #000;
    font-weight: 400;
}

.exterior.dynamic .exterior_text {
	padding: 60px 18% 60px 100px;
}

.page_text .exterior h2 {
	font-size: 40px;
    color: #606060;
    font-weight: 400;
    padding-bottom: 30px;
    margin-bottom: 60px;
}

.page_text .exterior p {
    line-height: 35px;
}

.page_text .exterior h2:after {
	content: '';
    position: absolute;
    border-bottom: 1px solid #606060;
    left: 0;
    margin-top: 70px;
    width: 135%;
}

.exterior_img {
	padding-right: 120px;
}

.interior_img {
	padding-left: 120px;
}

.interior {
	position: relative;
	display: block;
	overflow: hidden;
	background: #f7f5f2;
	padding-bottom: 160px;
}

.interior:after {
	content: '';
    background: #fff;
    width: 12%;
    position: absolute;
    bottom: 0;
    right: 0;
    height: 100%;
    z-index: 0;
}

.page_text .interior h2 {
	font-size: 40px;
    color: #606060;
    font-weight: 400;
    padding-bottom: 30px;
    margin-bottom: 60px;
    text-align: right;
}

.interior_left_img {
	padding-left: 24%;
    padding-right: 120px;
}

.interior .more {
	float: right;
}

.interior_left_img img {
	width: 100%;
}

.interior_text {
	padding: 60px 120px 60px 24%;
	position: relative;
    display: block;
    overflow: hidden;
}

.interior.dynamic .interior_text {
	padding: 60px 100px 60px 14%;
	position: relative;
    display: block;
    overflow: hidden;
}

.page_text .interior h2:after {
    content: '';
    position: absolute;
    border-bottom: 1px solid #606060;
    right: 0px;
    margin-top: 70px;
    width: 140%;
}

.more {
    display: block;
    font-size: 19px;
    font-weight: 300;
    color: #761d14;
    border-bottom: none;
    width: fit-content;
    transition: all 0.3s ease-in-out;
    padding-bottom: 7px;
    position: relative;
    margin-top: 45px;
}

.more:hover {
    color: #761d14;
}

.more::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #761d14;
    transform: scaleX(1);
    transform-origin: right;
    transition: transform 0.4s ease;
}

.more:hover::after {
    transform: scaleX(0);
    transform-origin: right;
}

.more.black {
	color: #000;
    border-bottom: none;
}

.more.black::after {
    background-color: #28170f;
}

.parallax {
	position: relative;
    height: 73vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    justify-content: center;
    flex-direction: column;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.parallax img {
	animation:grow 40s linear 15ms infinite;
}

.parallax p {
	position: relative;
    color: #fff;
    font-weight: 100;
    font-size: 57px;
    line-height: 80px;
    text-align: center;
	background: #00000001;
}

.parallax a {
	position: relative;
    font-size: 19px;
    color: #fff;
    font-weight: 100;
    border: 1px solid #fff;
	background: #00000001;
    padding: 22px 35px;
    margin-top: 50px;
    letter-spacing: 2px;
	z-index: 0;
	transition: all 0.3s ease-in-out;
}

.parallax a:before, .parallax a:after {
    content: '';
    position: absolute;
    transition: inherit;
    z-index: -1;
	top: 0;
    width: 0;
    height: 100%;
}

.parallax a:before {
	left: 0;
    border-left: 0;
    border-right: 0;
}

.parallax a:hover:before {
    transition-delay: 0s;
}

.parallax a:hover:before, .parallax a:hover:after {
    width: 100%;
}

.parallax a:hover:after {
	background: #b99d94;
    transition-delay: .15s;
}

.parallax a:after {
    left: 0;
}

.parallax a:hover {
	color: #fff;
}

.services{
	margin-top: 150px;
    position: relative;
    display: block;
    overflow: visible!important;
}

.services_wrapper {
	background: #A78479;
    display: flex;
    align-items: center;
    position: relative;
}

.services_wrapper.top {
	margin-top: -150px;
}

.services_wrapper a {
    background: #fff;
    padding: 22px 0;
    width: 200px;
    position: absolute;
    bottom: 0;
    left: calc(50% - 200px);
    text-align: center;
	z-index: 0;
}

.services_wrapper a:hover img {
	margin-left: 15px;
}

.services_wrapper.right a {
    left: calc(100% - 200px);
}

.services_wrapper:before {
	content: '';
    position: absolute;
    width: 26px;
    background: #A78479;
    top: -32px;
    height: 32px;
    margin-left: 80px;
}

.service_img {
	height: 65vh;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.services_wrapper:after {
	content: '';
    position: absolute;
    width: 26px;
    background: #fff;
	height: 80px;
	margin-left: 80px;
	top: 0;
}

.services_wrapper.right:before {
	margin-left: calc(50% + 80px);
}

.services_wrapper.right:after {
    margin-left: calc(50% + 80px);
}

.service_info {
	padding: 0 50px 0 60px;
}

.page_text .service_info p {
    font-weight: 100;
    color: #f1f1f1;
	background: #00000001;
}

.services_wrapper a img {
	width: 43px;
	transition: all 0.3s ease-in-out;
}

.page_text.services h1 {
    font-size: 45px;
    font-weight: 300;
    color: #fff;
    width: 220px;
    line-height: 60px;
    margin-bottom: 50px;
	letter-spacing: 0;
}

.services_title h2 {
	font-size: 85px;
    line-height: 85px;
    font-weight: 300;
    margin-top: 20px;
    margin-bottom: 20px;
    color: #fff;
    float: right;
    margin-right: 8%;
}

.services_title h2 span {
	font-weight: 500;
}

.services_swiper {
	margin-top: 150px;
	position: relative;
	display: block;
	overflow: visible;
	margin-left: 8%;
}

.page_text.services h2:after {
	content: '';
    position: absolute;
    border-bottom: 1px solid #606060;
    margin-top: 60px;
    width: 100%;
	left: 0px;
}

.services_text {
	padding-left: 50px;
    padding-top: 90px;
}

.services_text .more {
	margin-top: 80px;
}

.services .white_bg {
	background: #fff;
	position: absolute;
	left: 0;
	width: 8.33333333%;
	height: 100%;
	top: 0;
}


.slide_title {
	transition: all 1s ease-in-out;
}

.slide_title h2 {
	font-size: 70px;
    letter-spacing: 1px;
    color: #fffc;
    font-weight: 100;
    position: absolute;
    bottom: -30px;
    width: 100%;
    left: -33px;
}

.slide_title h2 a {
    color: #fffc;
}

.slide_title:hover h2 a {
	-webkit-mask-image: linear-gradient(75deg, rgba(0,0,0,.6) 30%, #000 50%, rgba(0,0,0,.6) 70%);
    -webkit-mask-size: 200%;
    animation: shine_letters 2s infinite;
}

.slide_title h2:after {
	content: '';
    position: absolute;
    width: 33px;
    height: 33px;
    margin-left: 22px;
    background-image: url(../img/layout/asset_white.svg);
    background-size: 33px;
    background-repeat: no-repeat;
    background-position: center;
	margin-top: 10px;
	transition: all 0.3s ease-in-out;
}

.slide_title:hover h2:after {
	margin-left: 30px;
}

.rooms_grid_inner{  display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.grid_item{
	width:16.66667%;
	clear:both;
}
.grid_icon_rooms img{
	width:70px;
	margin-bottom:15px;
	transform: scale(0.95); transition: all 0.3s ease 0s;
}
.grid_item:hover .grid_icon_rooms img{
	transform: scale(1.00); transition: all 0.3s ease 0s;
}
.grid_icon_rooms_title{
	display: block;
	text-align:center;
	line-height:20px;
	letter-spacing:1px;
}

.sec_line{display:block;}

.page_home_bg .more{color:#fff;}
.page_home_bg_text { text-align: center;   background: rgba(51 51 51 / 70%);    padding: 20px; }
.page_home_bg.hotel_home_page .page_home_bg_text {
	position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page_home_bg_text h2{ color: #fff;letter-spacing: 0px;font-size: 40px;font-weight: 300;line-height: 1.1;letter-spacing: 6px;text-transform: uppercase;margin-top:50px;}
.page_home_bg_text p{     font-size: 18px;    font-weight: 300;    line-height: 30px;    color: #fff;    text-shadow: 1px 0 50px rgb(0 0 0 / 80%);    display: block;    margin-bottom: 20px;}

.space_between_suites{
	overflow:hidden;
}

.space_between_suites.mob {
	display: none;
}

/* =========== Dynamic Content Pages ======== */

.page_text.dynamic_page h1 {
	color: #606060;
    font-size: 43px;
    font-weight: 100;
}

.swiper-gallery .swiper-slide {
    filter: brightness(0.9);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.page_text.dynamic_page p {
    font-size: 18px;
    font-weight: 300;
    line-height: 35px;
}

.page_text.dynamic_intro ul li {
	color: #000;
    font-size: 18px;
    line-height: 28px;
    position: relative;
    padding: 3px 5px 3px 15px;
}

.page_text.dynamic_intro ul li:before {
    content: '-';
    position: absolute;
    color: #000;
    font-size: 18px;
    left: 0px;
}

hr {
    margin-top: 35px;
    margin-bottom: 35px;
}

.page_text .dynamic_text h2 {
	font-size: 23px;
    font-weight: 400;
    margin-bottom: 10px;
    padding-left: 35px;
}

.page_text .dynamic_text h2:before {
    content: '';
    position: absolute;
    width: 10px;
    height: 65%;
    margin-left: -35px;
    top: 17%;
    border-left: 10px solid #A78479;
}

.content_left {
	margin-right: 90px;
}

.content_left img {
	margin-top: 280px;
	padding-right: 90px;
}

.interior.dynamic {
	padding-bottom: 0;
	padding-top: 80px;
}

.interior.dynamic:after {
    width: 8.333333%;
    height: 100%;
    z-index: 0;
}

.exterior.dynamic {
	padding-bottom: 110px;
    margin-top: 0;
}

.exterior.dynamic:after {
    width: 8.333333%;
    height: 100%;
}

.exterior.dynamic:after {
    width: 8.333333%;
    height: 100%;
}

.exterior.dynamic:before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	background: #fff;
    width: 8.333333%;
    height: 100%;
}

.dynamic_img_right {
	z-index: 1;
	position: relative;
}

.page_text .exterior.dynamic ul li {
	margin: 3px 26px 3px 0px;
    padding: 10px 0px 10px 0px;
    width: calc(99% - 26px);
}

.page_description {
	background: #E3DFDA;
    margin-left: 9%;
    padding: 80px 10% 80px 100px;
}

.page_description.white {
	background-color: #fff;
	padding: 80px 0;
}

.page_text .page_description h2 {
	font-weight: 700;
    color: #9a9f87;
    margin-bottom: 25px;
	font-size: 27px;
}

.page_text .page_description strong {
	font-weight: 400;
}

.page_description hr {
	border-top: 1px solid #c1c1c1;
	margin-top: 30px;
	margin-bottom: 30px;
}

.page_text .page_description  ul {
    list-style: inside;
}

.page_text .page_description ul li {
	background: none;
    font-size: 20px;
    margin: 7px 0;
}

h2.location_title {
	color: #84827E;
    font-size: 75px;
    font-weight: 100;
    margin-bottom: 80px;
    line-height: 90px;
    margin-left: 100px;
}

/* ==================== BOOKING FORM ==================== */

.booking_wrap {
	position: absolute;
    bottom: 80px;
    width: 715px;
    z-index: 11;
    margin: 0 auto;
    left: 0;
    right: 0;
}

.booking_form{
    background: #eeebe6;
    display: flex;
    justify-content: space-between;
    padding: 25px 35px;
    align-items: center;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}
.book_info {
    border-right: 1px solid #761D14;
    flex: 1;
}

.book_info label{
	font-size: 22px;
    display: block;
    color: #000;
    font-weight: 100;
    text-align: center;
	margin-top: 15px;
    margin-bottom: 10px;
}
.book_info input {
    padding: 0px;
    font-size: 19px;
    color: #761D14;
    font-weight: 100;
    text-align: center;
    border: none;
    background: #eeebe6;
    width: 120px;
}

.book_info input::placeholder {
	color: #761D14;
}
.book_info select{
	padding: 0px;
    font-size: 19px;
    color: #761D14;
    font-weight: 100;
    text-align: center;
	width: 120px;
    background: transparent;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none !important;
}

.book_info .minus, .book_info .plus {
	display: block;
	position:absolute;
	top:50px;
	right:40px;
  font-weight: 700;
  font-size: 24px;
  color: #000;
}

.book_info_bottom input {
  text-align: unset;
}

.book_info .minus { top:80px;  }
.book_info .minus img, .book_info .plus img{ width:24px;}
.book_submit {
	text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 20px;
    white-space: nowrap;
}
.book_submit button {
    background: none;
    border: none;
    color: #761D14;
    padding: 0px;
    font-size: 20px;
    font-weight: 100;
	border-bottom: 2px solid #761D14;
    padding-bottom: 2px;
}

.book_submit button img {
	width: 35px;
	height: 35px;
	display: inline-block;
	margin-left: 10px;
}

.book_info_date img, .book_info_numbers img {
	width: 23px;
}

.book_info_bottom {
	width: 30px;
	display: flex;
	/* background: red; */
	position: relative;
	justify-content: center;
	align-content: center;
	text-align: center;
}

.shadow_wrapper {
	position: absolute;
}

.booking_shadow {
	background: #00000021;
    height: 105px;
    position: absolute;
    z-index: 9;
    top: -105px;
    width: 100%;
}

.book_arrows {
  display: block;
  width: 100%;
  margin-top:3px;
}

.book_info .minus, .book_info .plus {
  display: block;
  position: relative;
}

.book_info .minus img, .book_info .plus img {
  width: 16px;
}

.book_info .minus {
    top: unset;
}

.book_info .minus, .book_info .plus {
    position: relative;
    top: unset;
    right: unset;
	}

.booking_date {
  display: block;
  width: 100%;
  overflow: hidden;
}

.booking_phone{
	text-align:center;
	margin-top:20px;
}
.booking_phone p{
    font-size: 16px;
    line-height: 26px;
	padding:5px;
    margin-bottom: 40px;
    color: #000;
    font-weight: 300;
	font-style: italic;
	border-bottom:1px solid #000;
	display: inline-block;
	transition: all 0.3s ease 0s;   
}

.booking_phone p i{
	font-weight: 300;
}
.booking_phone p span{
	font-weight: 700;
	color: #674439;
}
.booking_phone:hover p{
	letter-spacing:0.1px;
	transition: all 0.3s ease 0s;     
}

/* ==================== END BOOKING FORM ==================== */



/* ==================== HOME VIDEO ==================== */
.video_container_general{  width: 100%;    position: relative;    top: 0;    left: 0;    margin: 0 auto;    padding: 55.921875% 0 0;    z-index: 1;}
.video_container_general video {width: 100%; height: auto; position: absolute; left: 0; top: 0; right: 0;  bottom: 0;}

.video_caption{position:absolute;top:40%;width:100%;z-index:1;text-align:center;}
.video_caption p{font-size:20px;color:#fff;text-shadow:0px 0px 8px #000;}
.video_caption p.header_video{font-size:60px;font-weight:300;}
.video_caption a{padding:15px 15px 10px 15px;border:1px solid #fff;color:#fff;display:inline-block;background:rgba(0,0,0,0.2);margin-top:20px;transition: all 0.2s ease-in; font-weight: 300; font-size:18px;letter-spacing:1px;}
.video_caption a:hover{border:1px solid #000;background:rgba(0,0,0,1);transition: all 0.2s ease-in;}

@media(max-width: 767px) {
  .video_caption{top:35%;}
  .video_caption p.header_video{font-size:40px;}
} 
@media(max-width: 530px) {
  .video_caption{top:20%;}
  .video_caption p.header_video{font-size:30px;}
  .video_caption p{font-size:18px;}
  .video_caption a{padding:15px 15px 10px 15px;margin-top:15px;}
} 

@media(max-width: 420px) {
  .video_caption{top:5%;}
  .video_caption p{display:none;}
  .video_caption p.header_video{display:block;}
  .video_caption a{padding:5px 5px 2px 5px;margin-top:25%;font-size:14px;}
}

/* END HOME VIDEO
================================================== */

/* ROOMS PAGE
================================================== */
.room_box_image { display:block; position:relative;	overflow:hidden;margin-bottom:100px; }
.room_box_image img{ width:100%; transition: all 0.3s ease 0s;}
.room_box_image:hover img{  transform: scale(1.05); transition: all 0.3s ease 0s;}

.room_box {
    display: flex;
}
.room_box .room_box_title { font-size: 30px;    font-weight: 300;    line-height: 40px;    color: #674439;    text-transform: uppercase; }
.room_box .room_box_subtitle {font-size: 16px;    line-height: 30px;    margin: 10px 0 30px 0;    font-weight: 300;}

.about_wrapper img.room_number_inner {
    width: 30px;
    border-bottom: 2px solid #28170f;
    padding-bottom: 8px;
}

.room_right_img {
    filter: grayscale(1);
}

.blue_bg .about_left p {
    color: #28170f;
}

.book_room_link {    position: absolute;    left: 0;    top: 30px; z-index:99;    }
.book_room_link a {    
	z-index:999;
	position:relative;
	display: block;
	font-weight: 400;
    letter-spacing: 0.5px;
	color: #fff;
	background: #4c586f;	 
	border: 2px solid #4c586f;  	
	padding: 10px 20px 10px 20px;
	transition: all 0.3s ease 0s;     
}
.book_room_link:hover a{
    color:#3D3D3B;
	background: none;
	transition: all 0.3s ease 0s;
}	

.more_rooms  { margin-bottom:20px; position: relative; margin-top: 50px; }
.more_rooms img  {width:100%;display:block;height: auto;}
.more_rooms a {	}

.more_rooms a span{
	font-size: 16px;
    line-height: normal;
    letter-spacing: 1.7px;
    color: #fffbeb;
    text-transform: uppercase;
    margin-top: 0px;
    margin-bottom: 10px;
    font-weight: 400;
    background: #000;
    display: block;
    padding: 7px 0px;
	text-align: center;
	width: 100%;

}

.other_rooms .rooms_description h2 {
    color: #606060;
	position: relative;
    top: -60px;
	line-height: 70px;
}


.other_rooms .room_title h1 a {
	color: #fff;
	height: 100%;
}

.other_rooms .rooms_description {
	display: flex;
    align-items: flex-end;
}



.room_info{text-align:center;position:relative;margin-bottom:50px;padding-bottom:100px;}
.room_info p{}
.room_info::after {
    content: "";
    height: 80px;
    width: 1px;
    background: #29365b;
    display: block;
    position: absolute;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}
.room_plan{
	text-align:center;
}

.room_plan a{
	border-top:1px solid #000;
	padding:10px;
	font-weight:700;
	color: #29365b;
	display: block;
}

.room_plan a.not_show{
	display: none;
}
.link_gallery{
	height:70vh;
	text-align:center;
}

.link_gallery a{
	margin-top:33vh;
	font-size: 18px;
	font-weight: 300;
	color: #000;
	padding: 10px 20px;
	border: 1px solid #fff;
	display: inline-block;
	position: relative;
	cursor: pointer;
	text-transform: uppercase;
	overflow: hidden;
	background-color: #F6F3EA;
	-webkit-transform: scaleX(1.01);  -ms-transform: scaleX(1.01);  transform: scaleX(1.01);  -webkit-transform-origin: left;  -ms-transform-origin: left;  transform-origin: left; -webkit-transition: .37s cubic-bezier(.25,.04,0,.93);  -o-transition: .37s cubic-bezier(.25,.04,0,.93);  transition: .37s cubic-bezier(.25,.04,0,.93);  -webkit-backface-visibility: hidden;  backface-visibility: hidden;
}

.link_gallery a:hover{
	-webkit-transform: scaleX(1.03);  -ms-transform: scaleX(1.03);  transform: scaleX(1.03)
}

.left_image_amenities{
	width:70%;
}
.amenities_container{
	position:relative;
	padding:50px;
}

.page_text .amenities_container h3{
    font-size: 40px;
    font-weight: 300;
    line-height: 50px;
    color: #674439;
    text-transform: uppercase;
}

.page_text .amenities_container ul li{
	display: inline-block;
	width: 49%;
	margin:2px 0 2px 0;
}

.room_more_title{
	text-align:center;
	position:relative;
    padding-bottom: 70px;
    margin-bottom: 20px;
}

.room_more_title::after {
    content: "";
    height: 60px;
    width: 1px;
    background: #29365b;
    display: block;
    position: absolute;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.room_more_title h4{
	font-size: 28px;
    font-weight: 300;
    line-height: 40px;
    color: #674439;
    text-transform: uppercase;
}

/* FACILITIES PAGE
================================================== */

.facility_text { padding-top:80px;}

.facility_left_image {}
.facility_left_image img {max-width:100%;}

.facility_right_image {text-align:right;}
.facility_right_image img {max-width:100%;}

.benatura_logo { float:right; margin:0 0 20px 20px;}
.enjoy_logo { float:right; margin:0 0 20px 20px;}


/* SIGHTS PAGE
================================================== */
.sight_content {  float:left; margin-bottom:40px;}

.sight_description {
	background: #fff;
    width: 85%;
    padding: 3% 13%;
    position: relative;
	height: calc(65vh + 80px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sight_description.left {
	float: right;
	height: calc(65vh + 80px);
}

.sight_wrapper {
	position: relative;
    display: inline-flex;
    background: #E3DFDA;
}

h3.sight_title {
    font-size: 40px;
    line-height: 45px;
    font-weight: 400;
    letter-spacing: normal;
    margin-bottom: 40px;
    color: #333;
}

.sight-image {
	height: calc(65vh + 80px);
}

.beige_bg.sights {
	height: 80px;
    width: 58.33%;
    position: absolute;
    top: 0;
    right: 0;
    background: #e3dfda;
    z-index: 998;
}

.beige_bg.sights.left {
	left: 0;
	bottom: -80px;
	top: auto;
}



/* OFFERS PAGE
================================================== */
.offer_box {
	padding-bottom: 50px;
	display: flex;
    align-items: center;
}

/* BLOG PAGE
================================================== */
.blog_box {  margin-top:20px;margin-bottom:20px;}
.blog_box .blog_image {  margin-bottom:20px;}


/* GALLERY PAGE
================================================== */

.fancybox-video {
  display: none;
}
img.gallery_video{
	width:100%;
}

.gallery_page {
    overflow: hidden;
    position: relative;
}

.page_text.gallery_page h4 {
    font-family: 'CenturyGothicBold';
    color: #28170f;
    font-size: 35px;
    line-height: normal;
    margin-bottom: 35px;
}

/* Character splitting animation for gallery_page h4 */
.page_text.gallery_page h4 .word {
    display: inline-block;
}
.page_text.gallery_page h4 .whitespace {
    display: inline-block;
    width: 0.3em;
}
.page_text.gallery_page h4 .char {
    display: inline-block;
    opacity: 0;
    transition: opacity 0.6s ease;
    transition-delay: calc(var(--char-index) * 0.06s);
    will-change: opacity;
}
.page_text.gallery_page h4.in-view .char {
    opacity: 1;
}

.gallery_page p {
    color: #28170f;
    margin-bottom: 40px;
}

.page_text.gallery_page.beige_bg h4, .page_text.gallery_page.beige_bg p {
    color: #545322;
}

.page_text.gallery_page.olive_bg h4, .page_text.gallery_page.olive_bg p {
    color: #9db2cc;
}

.gallery_box .icon_gallery {
	width: 15%;
    position: absolute;
    top: -160px;
    left: 10%;
}

.gallery_box .icon_gallery.right {
	width: 65%;
    position: absolute;
    top: 8%;
    right: -20%;
    left: auto;
}

.albums_home {
	background: #F7F5F2;
    margin: 110px 0;
}

.albums_home:before {
	content: '';
	height: 50%;
	background: #fff;
	width: 8.33%;
	left: 0;
	top: 0;
	position: absolute;
}

.albums_home:after {
	content: '';
	height: 50%;
	background: #fff;
	width: 8.33%;
	right: 0;
	bottom: 0;
	position: absolute;
}

.page_text .gallery_img h1 {
	margin-top: 80px;
    padding-top: 45px;
}

.gallery_title {text-align:center;}
.gallery_page h3{font-size: 40px;    font-weight: 300;    line-height: 60px;    color: #674439;    text-transform: uppercase; }

.gallery_image_first {
	width: 55%;
    position: relative;
}

.gallery_image_sec {
	width: 50%;
    float: right;
	margin-right: 10%;
    margin-top: -50px;
    z-index: 1;
    position: relative;
}

.gallery_box {
	margin: 80px 0;
}

.gallery_box .gallery_image { position:relative;	overflow:hidden; }
.gallery_box img {width:100%; transition: all 0.3s ease 0s;}
.gallery_box .gallery_text { 
	position: absolute;
    background: #ba9e7e;
    padding: 40px 35px;
    margin-top: -50px;
    margin-left: 50px;
    text-align: center;
}
.gallery_box.right .gallery_text {
	right: 50px;
    bottom: -115px;
}
.gallery_box .gallery_text p {
	font-size: 25px;
    line-height: normal;
    color: #fff;
    font-weight: 100;
    display: block;
    width: fit-content;
    transition: all 0.3s ease 0s;
}

.gallery_box .gallery_text p span {
	font-weight: 700;
    font-size: 25px;
	margin-right: 15px;
}

.gallery_box .gallery_text a {
	color: #fff;
    font-weight: 500;
    font-size: 15px;
    text-transform: uppercase;
    text-align: center;
    display: block;
    width: fit-content;
	border-bottom: 2px solid #fff;
    margin: 20px auto 0 auto;
    padding-bottom: 5px;
	position: relative;
	transition: all 0.3s ease-in-out;
}

.gallery_box .gallery_text a:hover {
    color: #606060;
    border-bottom: 2px solid #606060;
}

.gallery_img {
	margin-bottom: 100px;
	padding-left: 15px;
}

.gallery_img p {
	width: 50%;
    text-align: left;
    margin: 25px 0;
}

.gallery_box.right .gallery_image_first {
    float: right;	
}

.gallery_box.right .gallery_image_sec {
	margin-left: 10%;
    float: left;
    margin-right: 0;
}

.gallery_text span p {
	font-size: 20px;
    line-height: normal;
    margin-top: 15px;
	letter-spacing: 1px;
}

/* Shine */
.gallery_box .gallery_image::before {
	position: absolute;
	top: 0;
	left: -95%;
	z-index: 2;
	display: block;
	content: '';
	width: 50%;
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
}
.gallery_box:hover .gallery_image::before {
	-webkit-animation: shine 1s;
	animation: shine 1s;
}
@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}
@keyframes shine {
	100% {
		left: 125%;
	}
}

/* .gallery_box:hover img{  transform: scale(1.05); transition: all 0.3s ease 0s;} */
/* .gallery_box:hover span{ color:#f1f1f1; transition: all 0.3s ease 0s;} */

.gallery_content {
	width: 100%;
    margin-bottom: 80px;
    position: relative;
    overflow: hidden;
}
.gallery { margin: 15px 0; }
.gallery_view {height: 75vh; }
.gallery img {
	width: 100%;
	filter: brightness(0.9);
	transition: all 0.3s ease-in-out;
}

.gallery_padd {
    margin: 100px 0 50px 0;
}

.page_text.villas.facilities.gallery_padd h1:after {
	content: '';
    position: absolute;
    border-top: 1px solid #a78479;
    width: calc(115% + 110px);
    top: 0;
    z-index: -1;
    left: calc(-15% - 110px);
}

.page_text.villas.facilities.gallery_padd h1 {
	margin-left: 0;
	padding-bottom: 60px;
}


.gallery img:hover {
	filter: brightness(1);
}

.albums_swiper {
	position: relative;
    display: block;
    overflow: hidden;
	padding-left: calc(8.3333% + 13px);
}

.albums_swiper:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	height: 100%;
	background: #fff;
	width: calc(8.33333% + 13px);
}


/* LOCATION PAGE
================================================== */

#map{
    width: 100%;
    height: 100%;
    min-height: 690px;
    margin: 0 auto;
    position: relative;
}

.driveme { position:relative;}
.driveme a { display:block;position:absolute;top:-30px;left:50%;margin-left:-230px;padding:20px 30px 20px 60px;background:#d5deda url(../img/layout/driveme.svg) no-repeat 15px center;color:#3D3D3B;z-index:998;font-size: 20px; font-weight:300; transition: all 0.3s ease 0s;}
.driveme a:hover { color: #fff; background:#3D3D3B url(../img/layout/driveme_hover.svg) no-repeat 15px center;}


/* CONTACT PAGE
================================================== */
.contact_information {
    position: relative;
    background: #eeebe6;
}

.contact_info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.contact_information:before {
    content: '';
    position: absolute;
    border-right: 2px solid #8a807a;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 2px;
    height: calc(100% - 180px);
    top: 90px;
}

.contact_graphic_right {
    width: 420px;
    float: right;
    display: block;
    margin-top: 130px;
}

.contact_intro {
	padding: 120px 120px 60px 120px;
    margin-bottom: 120px;
    background-color: #F7F5F2;
    position: relative;
    display: block;
    overflow: hidden;
}

.contact_right {
	padding: 120px 0px 0 80px;
}

.contact_bg {
	background: #F7F3ED;
    right: 0;
    position: absolute;
    width: 73%;
    height: 100%;
	top: 0;
}

.contact_header_bg {
	background-color: #ffffffb3;
    position: absolute;
    height: 80px;
    width: 70%;
    bottom: 0;
    right: 0;
}

.contact_information.newsletter_page {
	padding-top: 80px;
}

.contact_right h3, .contact_left h3 {
	color: #606060;
    font-size: 37px;
    font-weight: 400;
    letter-spacing: 4px;
}

.contact_right h3:before, .contact_left h3:before {
	content: '';
    background-image: url(../img/layout/triangle.svg);
    background-repeat: no-repeat;
    background-size: 23px;
    position: absolute;
    width: 23px;
    height: 23px;
    margin-top: -36px;
}

.container-fluid.no-padding.contact_intro {
	overflow: visible!important;
}

.contact_title {
	padding: 35px 0;
	margin-left: 31%;
}

.contact_title p {
	font-size: 28px;
    color: #606060;
    line-height: 38px;
}

.contact_left {
	position: relative;
    margin-right: 150px;
    padding-top: 95px;
}

.contact_left p {
	font-size: 33px;
    color: #a78479;
    font-weight: 100;
    line-height: 50px;
    margin-top: 70px;
}

.contact_links table {
	border-collapse: collapse;
	width: 100%;
}
  
.contact_links td, .contact_links th {
	border-bottom: 1px solid #a78479;
    text-align: left;
    padding: 30px 0;
}

.contact_links td.last {
	border-bottom: none;
}

.contact_links td.attributes_left {
	color: #606060;
    font-size: 22px;
    font-weight: 200;
    width: 34%;
    letter-spacing: 0.5px;
    border-right: 1px solid #a78479;
}

.contact_links td.attributes_right, .contact_links td.attributes_right a {
    font-size: 21px;
    color: #606060;
    font-weight: 300;
    line-height: 30px;
}

.contact_links td.attributes_right {
	padding-left: 65px;
}

.contact_links .span_left {
	margin-right: 50px;
    color: #606060;
    font-size: 21px;
    font-weight: 300;
    line-height: 40px;
}

.contact_social img {
	width: 26px;
    display: inline-block;
    margin-right: 20px;
}

.contact_social img.instagram {
	width: 24px;
}

.contact_social img.twitter {
	width: 26px;
}


.contact_links .span_right {
	color: #606060;
    font-size: 21px;
    font-weight: 300;
    line-height: 40px;
}

.contact_links .span_down_left {
	margin-right: 50px;
}

.contact_info img {
    width: 300px;
    margin-bottom: 120px;
}

.contact_info .phone {
    font-size: 30px;
}

.contact_info p, .contact_info a {
    font-size: 23px;
    padding: 4px 0;
    color: #761d14;
    line-height: normal;
}

.contact_info p.lead{
    font-size: 20px;
    line-height: 1.5em;
    letter-spacing: normal;
    color: #4a4a4a;
}
.contact_info p.sublead{
    font-size: 16px;
    line-height: 24px;
    letter-spacing: normal;
    margin: 30px 50px 30px 0;
    color: #4a4a4a;
}

.contact_details{
	padding: 60px 0px 0px 0px;
}

.contact_details h3 {
	font-size: 24px;
    font-weight: 400;
    line-height: 28px;
    margin-bottom: 60px;
    color: #606060;
}

.contact_details h3:after {
	content: '';
    position: absolute;
    border-top: 1px solid #606060;
    width: 100%;
    left: 0px;
    margin-top: 55px;
}

.contact_details.full{
	width:100%
}

.contact_details.full p{
	margin-bottom: 10px;
}

.contact_details h6{
	font-size: 16px;
    line-height: normal;
    letter-spacing: 1.7px;
    color: #fffbeb;
    text-transform: uppercase;
    margin-top: 25px;
    margin-bottom: 10px;
    font-weight: 400;
    background: #000;
    display: inline-block;
    padding: 5px 15px;
}

.contact_links {
	padding-top: 70px;
}

.contact_details h2 {
	font-size: 20px;
    line-height: 32px;
    letter-spacing: 1px;
	margin-bottom: 35px;
    color: #000;
    font-weight: 100;
}

.contact_details h2:after {
	content: '';
    position: absolute;
    border-top: 1px solid #000;
    width: 90px;
    height: 1px;
    left: 50px;
    margin-top: 50px;
}

.contact_details p, .contact_details a{
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 2px;
    color: #000;
    font-weight: 100;
}

.contact_details a {
	color: #717075;
	transition: all 0.3s ease-in 0s;
}

a.phone_sec {
	margin-left: 17px;
}

.contact_details a:hover {
	color: #000;
	letter-spacing: 0.5px;
}

.contact_form{
	padding: 0px 0px 0 90px;
}
.contact_form h4{
    color: #000;
	font-size: 30px;
    line-height: 36px;
    margin-top: 10px;
    margin-bottom: 50px;
    font-weight: 400;
}
.contactform{
    margin: 10px 0;
    width: 100%;
}
.contactform div.input{
    float: left;
    margin: 0px 0% 15px 0%;
    padding: 0;
    width: 100%;
    position: relative;
    background: none;
}
.contactform div.input.last{
	margin-right:0px;
}
.contactform div.textarea {
	float: left;
    margin: 0px 0 20px 0%;
    padding: 0;
    width: 100%;
}

.required_fields {
	margin-left: 5%;
    border-top: 1px solid #a78479;
    width: fit-content;
    padding-right: 100px;
    padding-top: 20px;
    font-size: 19px;
    font-weight: 300;
	display: inline-block;
}

.contactform label {
	color: #717075;
    font-size: 16px;
    font-weight: 100;
    position: relative;
	top: 12px;
    display: none;
}

.contact_intro .required_fields {
    position: absolute;
    font-size: 18px;
    margin-bottom: 0;
    margin-top: -15px;
}

.contactform div.submit{
	float: right;
    display: inline-block;
}

.contactform input[type="text"], .contactform textarea {
    width: 100%;
    padding: 10px 0px;
    margin: 0px;
    font-size: 18px;
    background: transparent;
    color: #6f1b13;
    transition: all 0.4s ease;
    text-align: left;
    float: left;
    font-weight: 200;
    border: none;
    border-bottom: 1px solid #631811;
}

.contactform input[type="text"]::placeholder, .contactform textarea::placeholder {
	color: #6f1b13;
}

.contactform textarea {	
    width: 100%;
    height: 80px;
    padding: 10px 0px;
    border: none;
    border-bottom: 1px solid #631811;
}

.contactform input[type="text"]:focus, .contactform input[type="text"]:hover {
	outline: none;
	background:none; 
}

.contactform textarea:focus, .contactform textarea:hover {
	outline: none;
	background: none; 
}

.contactform div.submit input{
    cursor: pointer;
    background: transparent;
    display: block;
    border: none;
    transition: all 0.3s ease 0s;
    border-bottom: 2px solid #761d14;
    padding: 0 0 8px 0;
    font-size: 20px;
    margin-top: 10px;
}

.contactform div.submit input:hover{	
	color: #fff;
    background: #b99d94;
    transition: all 0.3s ease 0s;
}
.contactform div.submit input:active{	
	color: #fff;
    background: #b99d94;
    transition: all 0.3s ease 0s;
}

.contactform .required label:after {
	color:#D52515;
	content:'*';
	display:inline;
}
.contactform div label.error{
	color: #D52515;
    font-size: 14px;
    font-weight: 400;
    width: 100%;
    top: 5px;
    text-align: left;
    float: left;
    position: relative;
}

.info-window-content{padding:10px;}
.info-window-content p.balloon-first{
    font-size: 19px;
    padding: 0 0 5px 0;
    margin-bottom: 15px;
    color: #761d14;
    font-weight: 400;
    border-bottom: 2px solid #761d14;
    text-align: center;
    text-transform: uppercase;
    font-family: 'CenturyGothicBold', sans-serif;
}
.info-window-content p.balloon-second{font-size: 15px;text-decoration:none;margin:0px 0 5px 0;font-weight:300;color:#606060;line-height:18px;}
.info-window-content p span{float: right;font-size: 22px;margin-top: -20px;margin-left: 40px;}
.info-window-content p span.balloon-envelope{margin-top: -5px;}

/* FLASH MESSAGES
================================================== */
.hello-bar {
    position: absolute;
    top: 0px;
    left: 0;
    color: #fff;
    font-size: 20px;
    text-align: center;
    background: #c97850;
    width: 100%;
    z-index: 2000;
    zoom: 1;
    padding: 25px 0 25px 0;
}

.hello-bar:after, .hello-bar:before {
    content: "";
    display: table;
}

.hello-bar:after {
    clear: both;
}

.hello-bar .close {
    text-indent: -9999em;
    background: url(../img/layout/hello-bar-close.png) no-repeat top left;
    width: 21px;
    height: 21px;
    position: absolute;
    top: 25px;
    right: 15px;
}

.hello-bar .close:hover {
    background-position: bottom left;
}


#scrollUp {
	background: #28170f none repeat scroll 0 0;
    border-radius: 5px;
    bottom: 20px;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    opacity: 0.9;
    padding: 9px 18px;
    right: 20px;
    text-decoration: none;
    transition: background 200ms linear 0s;
}




/* MEDIA QUERIES
================================================== */

@media only screen and (max-width: 2000px) {

}

@media only screen and (max-width: 1800px) {

}

@media only screen and (max-width: 1650px) {
    .about_left p {
        font-size: 42px;
        line-height: 55px;
    }

    .villa_amenities {
        padding: 70px 15% 50px 50px;
    }

}

@media only screen and (max-width: 1499px) {
	.about_left_text {
        padding-right: 0%;
    }

    .villa_amenities {
        padding: 70px 8% 50px 50px;
    }

    .contact_info img {
        width: 270px;
        margin-bottom: 100px;
    }

    .page_text .living_text h1 {
        font-size: 42px;
        line-height: 54px;
    }

    .villa_description p {
        font-size: 37px;
        line-height: 47px;
        padding-left: 105px;
    }

    .villa_description p:before {
        background-size: 70px;
        width: 70px;
        height: 70px;
    }
}

@media only screen and (max-width:1349px) {
	/*#header { background:red;  min-height:70px;}*/
	#lang_info {
        padding-right: 25px;
    }

    .responsive_menu_container {
        overflow-y: auto;
    }

    .contact_graphic_right {
        width: 380px;
    }

    .villa_description p {
        font-size: 35px;
        line-height: 45px;
        padding-left: 100px;
    }

    .villa_description {
        padding-right: 0%;
    }

    .villa_extra_image {
        height: 90vh;
    }

    .villa_view .about_left p {
        font-size: 37px;
        line-height: 48px;
    }

    .room_box .room_number img {
        width: 35px;
    }

    .villa_amenities {
        padding: 70px 3% 50px 30px;
    }

    .page_text h1 {
        font-size: 55px;
        margin-bottom: 30px;
    }

    .page_text .living_text h1 {
        font-size: 38px;
        line-height: 48px;
    }

    .home_living .living_bottom {
        width: 60%;
    }

    .home_living .living_top {
        width: 200px;
    }   

    .menu_right {
        gap: 25px;
    }

    .footer_right {
        gap: 50px;
    }

    img.footer_logo {
        width: 220px;
    }

    .about_left p {
        font-size: 40px;
        line-height: 52px;
    }
}  

@media only screen and (max-width:1199px) {
	/*#header { background:green;  min-height:70px;}*/
	.content {
        padding-left: 15px;
        padding-right: 15px;
    }

    .villa_amenities {
        padding: 30px 20px;
    }

    .villa_amenities ul li {
        font-size: 17px;
        line-height: 27px;
        padding: 1px 5px 1px 15px;
        width: 100%;
       display: block;
    }

    .view_suites_description {
        padding: 70px 30px;
    }

    .right .view_suites_description {
        padding: 70px 30px;
    }

    .room_number {
        left: 30px;
    }

    .responsive_menu_nav ul li a {
        font-size: 32px;
        padding: 12px 0;
    }

    .responsive_menu_media .graphic {
        width: 150px;
    }

    .close_menu {
        top: 45px;
        left: 30px;
    }

    .responsive_menu_info {
        bottom: 50px;
        left: 30px;
        right: 5px;
    }

    .responsive_menu_container {
        grid-template-columns: 50% 50%;
    }

    .contact_graphic_right {
        width: 350px;
    }

    .contact_info p, .contact_info a {
        font-size: 22px;
    }

    .contact_form {
        padding: 0px 0px 0 50px;
    }   

    .contact_info img {
        width: 240px;
    }

    .villa_description p {
        font-size: 32px;
        line-height: 42px;
    }

    .villa_description p:before {
        background-size: 60px;
        width: 60px;
        height: 60px;
    }

    .page_text h2 {
        font-size: 28px;
    }

    .villa_extra_image {
        height: 93vh;
    }

    .villa_view .about_left p {
        font-size: 33px;
        line-height: 43px;
    }

    .page_text .about_right ul li {
        font-size: 35px;
    }

    .view_suites_description {
        padding: 40px;
    }

    .villa_amenities {
        padding: 30px 20px;
        gap: 0;
    }

    .swiper-gallery {
       height: 90vh;
    }

    .home_villa_img {
        height: 80vh;
    }

    .page_text h1 {
        font-size: 50px;
        margin-bottom: 25px;
    }

    .villas p.subtitle {
       left: 30px;
    }

    .home_villa {
        padding: 0 15px 80px 15px;
    }

    .home_living .living_top {
        width: 170px;
    }

    .home_gallery a {
        left: 30px;
    }

    img.footer_logo {
        width: 210px;
    }

    .header_inner {
        height: 80px;
    }

    .home_header_content img {
        width: 500px;
    }
}

@media (max-width:991px){
    #lang_info {
        padding-right: 20px;
    }

    .home_gallery, .home_welcome {
        background-attachment: unset;
    }

    .hero_bg {
        background-position: 66% center;
    }

    .page_text .view_suites_description h1 {
        font-size: 40px;
        margin-bottom: 15px;
    }

    .responsive_menu .graphic.mob {
        display: block;
        position: absolute;
        width: 150px;
        right: -35px;
        top: 45px;
    }

    .responsive_menu_media .graphic {
        width: 150px;
        left: -120px;
    }

    .menu_contact {
        align-items: flex-end;
    }

    .responsive_menu_content {
        padding: 0%;
        min-height: 750px;
    }

    .responsive_menu_info {
        bottom: 45px;
        left: 30px;
        right: 30px;
    }

    .responsive_menu_container {
        grid-template-columns: 100% 0%;
    }

    .contact_information .flex_section {
        flex-direction: column;
    }

    .contact_form {
        padding: 45px 0px 0 0px;
    }

    .contact_information:before {
        display: none;
    }

    .contact_info .phone {
       font-size: 28px;
    }

    .contact_info img {
        width: 185px;
        margin-bottom: 50px;
    }

    .contact_graphic_right {
        width: 310px;
        margin-top: 70px;
    }

    .contact_info {
        height: auto;
        border-bottom: 2px solid #8a807a;
        padding-bottom: 55px;
    }

    .swiper-rooms-gallery {
        height: 85vh;
    }

    .villa_description {
        align-items: center;
        gap: 50px;
        flex-direction: column;
    }

    .villa_description p {
        font-size: 30px;
        line-height: 40px;
        padding-left: 90px;
    }

    .villa_page .flex_section {
        flex-direction: column-reverse;
    }

    .about_right {
        flex-direction: row;
        align-items: center;
        margin-top: 35px;
    }

    .room_box.right .room_number {
        left: 30px;
    }

    .room_number {
        top: 30px;
        left: 30px;
    }

    .room_box img {
        height: 590px;
    }

    .villa_amenities {
        padding: 70px 45px 50px 45px;
        gap: 20px;
    }

    .dynamic_page.villa_gallery .flex_section {
        flex-direction: column-reverse;
    }

    #swiper_villas .swiper-slide {
        flex-direction: column;
    }

    .villas p.subtitle {
        left: 30px;
        top: auto;
        position: relative;
    }

    .home_villa {
        padding: 70px 15px 80px 15px;
    }

    .villas_home {
        padding-top: 70px;
    }

    .page_text .living_text h1 {
        font-size: 37px;
        line-height: 48px;
    }

    .home_living .flex_section {
        flex-direction: column-reverse;
    }

    .home_living .living_top {
        margin-left: 15px;
        margin-bottom: 70px;
        width: 195px;
    }

    .home_living p.subtitle {
        right: 15px;
    }

    .home_living .living_bottom {
        width: 70%;
        margin-top: 70px;
        margin-right: 30px;
    }

    .menu_right {
        gap: 20px;
    }

    .footer_right {
        gap: 20px;
        margin-left: -23px;
    }

    .footer_box p {
        font-size: 16px;
        line-height: 26px;
    }

    .copyright_wrapper {
        padding: 30px 0;
        flex-direction: column;
    }

    .copyright_wrapper .first {
        order: 2;
    }

    .copyright_wrapper .sec {
        order: 1;
        margin-bottom: 20px;
    }

    #wapp {
        float: none;
    }

    #wapp a {
        margin: 10px auto 0 auto;
    }   

    .about_left {
        gap: 60px;
    }

    .home_right_image {
        text-align: right;
        display: flex !important;
        justify-content: flex-end;
    }

    .about_left p {
        font-size: 37px;
        line-height: 50px;
    }

    .home_right_image img {
        width: 330px;
    }

    .copyright_wrapper .last {
        order: 3;
    }

    .copyright {
        text-align: center;
    }

    .about_wrapper {
        flex-direction: column;
    }

    .home_right_image {
        display: none;
    }
}

@media (max-width:767px){
    .content {
        padding-left: 5px;
        padding-right: 5px;
    }

    .hero_bg {
        background-position: 68% center;
    }

    .home_gallery {
        background-attachment: unset;
    }

    .responsive_menu .graphic.mob {
        width: 130px;
        top: 40px;
    }

    .contact_info p, .contact_info a {
        font-size: 21px;
    }

    .contact_form {
        padding: 30px 0px 0 0px;
    }

    .contact_info {
        padding-bottom: 40px;
    }

    .villa_description {
        flex-direction: column;
        gap: 30px;
    }

    .villa_description p:before {
        background-size: 60px;
        width: 60px;
        height: 60px;
        top: 0;
        margin: 0 auto;
        right: 0;
    }

    .villa_description p {
        font-size: 24px;
        line-height: 32px;
        flex-direction: column;
        padding: 0;
        padding-top: 85px;
        text-align: center;
    }

    .villa_extra_image {
        height: 70vh;
    }

    .villa_view .about_left p {
        font-size: 30px;
        line-height: 40px;
    }

    .page_text .about_right ul li {
        font-size: 32px;
    }

    .page_text .about_right ul {
        gap: 25px;
        margin-top: 0;
        flex-direction: column;
    }

    .room_box img {
        height: auto;
    }

    .room_box .room_number img {
        width: 33px;
    }

    .room_box.right .room_number {
        left: 0px;
    }

    .room_box {
        flex-direction: column-reverse;
    }

    .room_box.right {
        margin-top: 70px;
        flex-direction: column;
    }

    .villa_amenities {
        padding: 70px 30px 50px 30px;
    }
     
    .page_text .living_text h1 {
        font-size: 34px;
        line-height: 46px;
    }

    .home_welcome {
        height: 45vh;
        background-attachment: unset;
    }

    .about_left {
        gap: 40px;
    }

    .padd {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padd_top {
        padding-top: 80px;
    }

    .about_left p {
        font-size: 34px;
        line-height: 46px;
    }

    .page_text p.subtitle {
        font-size: 28px;
    }

    .footer_right {
        gap: 70px;
        margin-left: 0;
        margin-top: 50px;
        justify-content: flex-start;
    }

    .home_gallery a {
        width: 220px;
        height: 220px;
    }

    .home_header_content img {
        width: 420px;
    }

    .book_info input {
        font-size: 18px;
        width: 105px;
    }

    .booking_wrap {
        width: 93%;
        bottom: 60px;
    }

    .book_submit {
        padding-left: 0;
        margin-top: 25px;
        width: 100%;
    }

    .booking_form {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .book_info.book_info_numbers{
        border-right: none;
    }

    .book_info select {
        font-size: 18px;
        width: 85px;
    }

    .book_submit button {
        font-size: 19px;
    }

    #logo {
        width: 155px;
        height: 60px;
    }

    .open_menu {
        font-size: 17px;
    }

    .languages a.selected_lang {
        font-size: 16px;
    }

    #book_now {
        font-size: 17px;
    }

    .header_inner {
        height: 70px;
    }

    .book_submit button {
        font-size: 18px;
    }

    .home_living .living_bottom {
        margin-right: 15px;
    }

    .villas p.subtitle {
        left: 20px;
    }

    .home_villa {
        padding: 70px 0px 80px 0px;
    }

    .close_menu {
        top: 40px;
        left: 20px;
    }
}

@media (max-width:549px){
	#lang_info {
        padding-right: 15px;
    }

    .hero_bg {
        background-position: 64% center;
    }

    .hero_bg {
        background-position: 74% center;
    }

    .responsive_menu_nav ul li a {
        font-size: 30px;
        padding: 10px 0;
    }

    .close_menu svg {
        width: 40px;
        height: 40px;
    }

    .contact_info img {
        width: 140px;
        margin-bottom: 40px;
    }

    .swiper-rooms-gallery {
        height: 70vh;
    }

    .contactform input[type="text"], .contactform textarea {
        font-size: 17px;
    }

    .contact_info .phone {
        font-size: 26px;
    }

    .contact_info p, .contact_info a {
        font-size: 20px;
    }

    .villa_extra_image {
        height: 60vh;
    }

    .about_wrapper img.room_number_inner {
        width: 28px;
    }

    .villa_view .about_left p {
        font-size: 28px;
        line-height: 38px;
    }

    .page_text .about_right ul li {
        font-size: 30px;
    }

    .swiper-gallery {
        height: 75vh;
    }

    .page_text h2 {
        font-size: 28px;
    }

    .page_text h3 {
        font-size: 22px;
    }

    .page_text h1 {
        font-size: 43px;
    }

    .home_villa {
        padding: 70px 0px 60px 0px;
    }

    .home_villa_img {
        height: 70vh;
    }

    .page_text h1 {
        font-size: 47px;
        margin-bottom: 15px;
    }

    .page_text .living_text h1 {
        font-size: 32px;
        line-height: 42px;
    }

    .about_left p {
        font-size: 32px;
        line-height: 42px;
    }

    .more {
        margin-top: 35px;
    }

    .home_right_image img {
        width: 290px;
    }

    .home_gallery a {
        width: 200px;
        height: 200px;
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: 8%;
    }

    .booking_form {
        padding: 20px 25px;
    }

    .footer_right {
        gap: 35px 130px;
        flex-wrap: wrap;
    }

    .home_header_content img {
        width: 380px;
    }

    .book_submit {
        margin-top: 20px;
    }

    .book_info input {
        font-size: 17px;
    }

    .book_info select {
        font-size: 17px;
    }

    .book_submit button {
        font-size: 17px;
    }

    .menu_right {
        gap: 15px;
    }

    .header_inner {
        height: auto;
    }
}

@media only screen and (max-width:479px) {	
	#lang_info {
        display: none;
    }

    .hero_bg {
        background-position: 65% center;
    }

    .responsive_menu .graphic.mob {
        width: 120px;
    }

    .page_text.gallery_page h4 {
        font-size: 32px;
    }

    .responsive_menu_nav ul li a {
        font-size: 28px;
    }

    .responsive_menu_info .menu_social a {
        font-size: 16px;
    }

    .responsive_menu_nav {
        margin-top: -50px;
        max-width: 100%;
    }

    .menu_contact {
        align-items: center;
    }

    .responsive_menu_info {
        gap: 20px;
        left: 0px;
        right: 0px;
        flex-direction: column;
        align-items: center;
    }

    .responsive_menu_info .menu_contact p a {
        font-size: 16px;
    }

    .gallery {
       margin: 10px 0;
    }

    .responsive_menu #book_now {
        font-size: 22px;
    }

    #map {
        min-height: 630px;
    }

    .contact_graphic_right {
        width: 270px;
        margin-top: 60px;
    }

    .contact_info .phone {
        font-size: 25px;
    }

    .villa_description p {
        font-size: 22px;
        line-height: 30px;
        flex-direction: column;
        padding: 0;
        padding-top: 80px;
    }

    .padd_small {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .about_right {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 55px;
        gap: 40px;
    }

    .home_right_image {
        width: 100%;
    }

    .page_text .about_right ul {
        flex-direction: row;
    }

    .page_text .about_right ul li {
        font-size: 27px;
    }

    .room_box .room_number img {
        width: 30px;
    }

    .swiper-gallery {
        height: 65vh;
    }

    .villa_amenities {
        padding: 60px 30px 50px 30px;
        gap: 10px;
    }

    .page_text h2 {
        font-size: 26px;
    }

    .villas_home {
        padding-top: 60px;
    }

    .home_villa_img {
        height: 60vh;
    }

    .page_text h1 {
        font-size: 42px;
        margin-bottom: 10px;
    }

    .home_villa {
        padding: 60px 0px 60px 0px;
    }

    .home_living .living_top {
        margin-bottom: 55px;
        width: 165px;
    }

    .home_living .living_bottom {
        margin-top: 60px;
    }

    .page_text .living_text h1 {
        font-size: 29px;
        line-height: 39px;
    }

    .about_left p {
        font-size: 29px;
        line-height: 39px;
    }

    .padd {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .padd_top {
        padding-top: 70px;
    }

    .page_text p.subtitle {
        font-size: 27px;
    }

    .home_gallery {
        height: 95vh;
    }

    .content {
        padding-left: 0;
        padding-right: 0;
    }

    #logo {
        width: 145px;
        height: 55px;
    }

    .book_submit button {
        font-size: 16px;
    }

    .book_info select {
        font-size: 16px;
    }

    .book_info input {
        font-size: 16px;
    }

    .home_header_content img {
        width: 320px;
    }

    .more {
        font-size: 18px;
    }

    .living_text .more {
        font-size: 18px;
    }

    .room_box.right {
        margin-top: 60px;
    }
}

@media only screen and (max-width: 420px) {	
    .open_menu {
        font-size: 16px;
    }

    .hero_bg {
        background-position: 66% center;
    }

    .page_text .view_suites_description h1 {
        font-size: 35px;
        margin-bottom: 10px;
    }

    .page_text p {
        line-height: 30px;
    }

    .responsive_menu .graphic.mob {
        width: 105px;
        top: 26px;
    }

    .close_menu {
        top: 25px;
        left: 15px;
    }

    .close_menu svg {
        width: 37px;
        height: 37px;
    }

    .responsive_menu #book_now {
        font-size: 21px;
    }

    .responsive_menu_nav ul li a {
        font-size: 26px;
        padding: 7px 0;
    }

    .gallery {
        width: 100%;
    }

    .info-window-content p.balloon-first {
        font-size: 17px;
    }

    #map {
        min-height: 600px;
    }

    .contact_info .phone {
        font-size: 24px;
    }

    .contact_form {
        padding: 25px 0px 0 0px;
    }

    .contact_graphic_right {
        width: 240px;
        margin-top: 50px;
    }

    .contactform input[type="text"], .contactform textarea {
        font-size: 16px;
    }

    .contact_info {
        padding-bottom: 30px;
    }

    .contact_info img {
        width: 120px;
    }

    .contact_info p, .contact_info a {
        font-size: 18px;
    }

    .swiper-rooms-gallery {
        height: 60vh;
    }

    .villa_description p {
        font-size: 20px;
        line-height: 27px;
        padding-top: 70px;
    }

    .villa_description p:before {
        background-size: 50px;
        width: 50px;
        height: 50px;
    }

    .villa_extra_image {
        height: 50vh;
    }

    .about_wrapper img.room_number_inner {
        width: 26px;
    }

    .about_right {
        margin-top: 35px;
    }

    .page_text .about_right ul li {
        font-size: 25px;
    }

    .villa_view .about_left p {
        font-size: 24px;
        line-height: 33px;
    }

    .more {
        margin-top: 30px;
    }

    .view_suites_description {
        padding: 40px 15px;
    }

    .room_box.right {
        margin-top: 50px;
    }

    .room_box .room_number img {
        width: 28px;
    }

    .page_text h2 {
        font-size: 24px;
    }

    .swiper-gallery {
        height: 60vh;
    }

    .page_text h3 {
        font-size: 21px;
        margin-top: 10px;
    }

    .home_villa_img {
        height: 55vh;
    }

    .villas_home {
        padding-top: 50px;
    }

    .home_villa {
        padding: 50px 0px 60px 0px;
    }

    .page_text h1 {
        font-size: 38px;
    }

    .home_living .living_bottom {
        width: 80%;
    }

    .home_living .living_top {
        margin-bottom: 50px;
        width: 145px;
    }

    .page_text .living_text h1 {
        font-size: 26px;
        line-height: 35px;
    }

    .home_right_image img {
        width: 260px;
    }

    .about_left {
        gap: 30px;
    }

    .about_left p {
        font-size: 26px;
        line-height: 35px;
    }

    .padd {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .padd_top {
        padding-top: 60px;
    }

    .home_gallery {
        height: 80vh;
    }

    .footer_right {
        gap: 20px 80px;
    }

    #logo {
        width: 135px;
        height: 50px;
    }

    img.footer_logo {
        width: 200px;
    }

    .book_submit button {
        font-size: 15px;
    }

    .book_submit {
        margin-top: 15px;
    }

    .booking_form {
        padding: 20px 0px;
    }

    .book_info input {
        font-size: 15px;
        width: 95px;
    }

    .book_info select {
        font-size: 15px;
        width: 75px;
    }

    #book_now {
        font-size: 16px;
    }

    .home_header_content img {
        width: 270px;
    }
}


/* ===========================>
		ERROR PAGE
   <========================== */
   .tit-er{color:#fff !important;}
   .tex-er{
        color: #fff;
        font-size: 22px;
        line-height: 30px;
        text-align: center;
        margin-top: 15px;
   }
   .btn-er{
		margin-top:50px;
		display: flex;
		justify-content: center;
   }

   .btn-er a{
        border: none;
        color: #fff;
        cursor: pointer;
        text-align: center;
        background: transparent;
        display: block;
        outline: medium none;
        margin: 0;
        transition: all 0.3s ease 0s;
	}

    .btn-er a.more::after {
        background-color: #fff;
    }

	.btn-er a:hover{	
        color: #fff;
		transition: all 0.3s ease 0s;	
	}
    @media(min-width:768px){
        .con-er{display: flex;
            display: flex;
            align-items: center;
            flex-direction: column;
        }
        
    }
    @media(max-width:767px){
        .home_header_content h1 {
            font-size: 52px;
            margin-bottom: 15px;
        }

        .tex-er {
            font-size: 20px;
            line-height: 27px;
        }
    }

    @media (max-width:549px) {
        
        .home_header_content h1 {
            font-size: 48px;
            margin-bottom: 10px;
        }

    }

    @media (max-width:549px) {
        .tex-er {
            font-size: 18px;
            line-height: 25px;
        }

        .home_header_content h1 {
            font-size: 45px;
        }
    }
   

    @media(max-width:420px){
        .btn-er {
            margin-top: 35px;
        }
        
        .home_header_content h1 {
            font-size: 40px;
        }
    }