@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --blue-color: #354291;
    --yellow-color: #e1bf2f;
}

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: 800;}
a{color:#000;text-decoration:none;}
a:hover{color:#3e403d;text-decoration:none;}
.clear{clear:both;}

.dropdown-menu>li>a, .btn-default {
    color: var(--blue-color);
}

.modal-request .grecaptcha-badge{
    visibility: hidden;
}
.modal-request .modal-footer{
    display: flex;
    gap: 5px;
    justify-content: flex-end;
    padding-left:0px;
    padding-right:0px;
}
.modal-request .modal-body{
    overflow: unset;
}.modal-request textarea
.modal-request div.input label:not(.error){
    font-size: 14px;
    font-weight: 600;
    color: var(--blue-color);
    position: absolute;
    background: #fff;
    margin-left: 22px;
    top: -9px;
    padding: 0 10px;
}
.modal-request .required label:not(.error):after {
	color:#e32;
	content:'*';
	display:inline;
}
.modal-request textarea {
	width: 100%;
    min-height: 150px;
    border: 2px solid var(--blue-color);
    color: var(--blue-color);
    border-radius: 8px;
    padding: 10px;
}


html, body {
	position: relative;
	height: 100%;
}
body {
	background: #ffffff;
	font-family: "Noto Sans", sans-serif;
	font-size: 14px;
	line-height:20px;
	color:#3D3D3B;
	margin:0;
	padding:0;
	transition: all 0.5s ease-in 0s;  
	overflow-x:hidden;
}

.disabled {
    pointer-events: none;
    /* filter: grayscale(1); */
    filter: contrast(.2);
}
.ghost{
    background-color: #a5a5a5!important;
}

.amount{
	font-size: 16px;
    padding: 0px 10px;
    margin: 0px;
    display: inline-block;
    border-radius: 3px;
    color: #fff;
    background-color: #333;
}
.amount.small{
	font-size: 12px;
}

.amount.large{
	font-size: 24px;
    font-weight: bold;
    padding: 5px 10px;
}

.empty .alert {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.alert {
    max-width:350px;
    padding: 15px 20px;
    margin: 0 auto;
    border-radius: 6px;
    background-color: #f8d7da; /* light red */
    color: #721c24;            /* dark red text */
    border: 1px solid #f5c6cb;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

#messageWrapper {
    margin: 0 auto;
    text-align: center;
}

#alertCode {
    font-weight: bold;
    font-size: 16px;
}
.alert.show {
    display: flex; /* show when triggered */
}
.alert .close-btn {
    margin-left: auto;
    font-weight: bold;
    cursor: pointer;
    color: inherit;
}
.alert svg {
    flex-shrink: 0;
}


.js-loading-overlay {
    
    position:absolute;
    top:0; bottom:0;
    left:0; right:0;
    
    z-index:199;
    
    background:#000;
    opacity:0.8;
    
    border-radius: inherit;
}
.jscroll-loading{
    position: relative;
    display: inline-block;
    width: 100%;
}

.spinner {	
    top:42%;
    left: 45%;
    position: absolute;
    width: 50px;
    height: 30px;
    text-align: center;
    font-size: 15px;
    z-index:200;
}

.spinner > div {
    background-color: #000;
    height: 100%;
    width: 6px;
    margin-right: 2px;
    display: inline-block;
    
    -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
    animation: stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.spinner .rect3 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

.spinner .rect4 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.spinner .rect5 {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}


@-webkit-keyframes stretchdelay {
    0%, 40%, 100% { -webkit-transform: scaleY(0.4) }  
    20% { -webkit-transform: scaleY(1.0) }
}

@keyframes stretchdelay {
    0%, 40%, 100% { 
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
    }  20% { 
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
    }
}

.fancybox-lock body {
    overflow: visible !important;
} 

.no-scroll {
  overflow: hidden;
}

html {
	scroll-behavior: smooth;
}
.p-t-10{
    padding-top:10px!important;
}
.p-b-10{
    padding-bottom:10px!important;
}
.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;
}
.m-b-30 {
	margin-bottom: 30px;
}
.padd{
    padding-top: 120px;
    padding-bottom: 120px;
    overflow: hidden;
    position: relative;
}

.p-b-30 {
	padding-bottom: 60px;
}

small {
    font-size: 85%;
}

.no-padding {
	padding-left: 0px;
	padding-right: 0px;
}

.no-padding-right {
	padding-right: 0px;
}

.padd_contact {
	padding-top: 120px;
}
.padd_top{
	padding-top: 120px;
}

.padd_bottom_sm {
    padding-bottom: 65px;
}

.padd_big {
    padding-top: 155px;
    padding-bottom: 155px;
}

.padd_top_big {
	padding-top: 100px;
}

.padd_bottom{
	padding-top: 0px;
    padding-bottom: 100px;	
}
.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;
}

.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;
}

.grey_bg{background:#94b4d9; margin-top: 55px; }
.white_bg{ background: #fff;}
.black_bg{background: #000;}
.blue_bg { background: var(--blue-color)!important; }

.customers .grey_bg, .properties .grey_bg {
    background-color: #e5e5e5;
    margin-top: 0;
}

.flex_center {
	display: flex;
	align-items: center;
}

.flex_end {
	display: flex;
	align-items: end;
}

.rounded {
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}

.more {
    font-size: 16px;
    line-height: normal;
    color: #000;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    padding: 14px 50px;
    font-weight: 800;
    transition: all .3s;
    border: 1px solid #000;
    border-radius: 12px;
    margin: 20px auto 0 auto;
    display: block;
    width: calc(33.33333333% - 30px);
    text-align: center;
    overflow: hidden;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

img.height100 {
    height: 100%;
    display: block;
}

.more:hover {
    color: #fff;
}

.more::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: -1px;
    background-color: #000;
    transform: translateX(-100%);
    transition: 0.5s ease-in-out;
    z-index: -1;
}

.more:hover::before {
    transform: translateX(0);
}

#header {
    display: flex;
    width: calc(100% - 100px);
    height: auto;
    padding: 0px 0px;
    margin: 0 50px;
    position: fixed;
    z-index: 999;
    transition: all 0.5s;
    flex-direction: column;
    background: var(--blue-color);
    top: 40px;
    border-radius: 17px;
}

.menu ul li {
    display: inline-block;
    margin-right: 25px;
    font-size: 15px;
    font-weight: 500;
    padding: 15px 0;
}

.menu ul li a {
    color: #fff;
    transition: all 0.5s ease-in-out;
}

.menu ul li.current a {
	color: var(--yellow-color);
}

.menu ul li a:hover {
    color: var(--yellow-color);
    text-decoration: underline
}

.header_reservation p, .header_sign p {
    display: flex;
    align-items: center;
    font-size: 14px!important;
    line-height: normal!important;
    font-weight: 500;
	color: #fff;
}

.header_reservation p a, .header_sign p a {
    color: #fff;
}

.properties .header_sign p a, .checkout .header_sign p a {
    color: var(--blue-color);
    font-weight: 700;
}

.checkout.completed .header_sign p a {
    color: #fff;
}

.header_reservation img, .header_sign img {
    width: 40px;
    margin-right: 10px;
    background: var(--yellow-color);
    border-radius: 100%;
    padding: 7px;
}

.header_right {
	display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 40px;	
}

#header.fixed .header_reservation img, #header.fixed .header_sign img{
    width: 35px;
    margin-right: 8px;
    padding: 6px;
}

#top_info { display: inline-block; z-index:999;  font-weight:400; font-size:15px; color:#fff; transition:all 1s;}
#top_info_mob { display: block;z-index:9999;  font-weight:400; font-size:15px; color:#fff; transition:all 1s;}
#top_info_right { 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 img, #top_info_right img, #top_info_mob img {
    width: 18px;
    height: 18px;
    position: relative;
    top: -1px;
}
#top_info span { display: inline-block; }
#lang_info {
    display: inline-block;
    z-index: 999;
    color: #000;
    transition: all 1s;
    position: relative;
    padding-right: 15px;
}
#lang_info a{
	color: #fff;
    transition: all 0.5s ease-in-out;
}

#lang_info a.selected_lang:after {
    content: '';
    position: absolute;
    right: 0;
    background-image: url(../img/layout/arrow_down_white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
    width: 10px;
    height: 10px;
    margin-top: 6px;
}

#lang_info a:hover {
	text-decoration: underline;
}

#lang_mob { display: block;z-index:9999;  font-weight:400; font-size:15px; color:#fff; transition:all 1s; }
#lang_mob a{ color:#362211; transition:all 1s;}

.book_now.mob {
	display: none;
}

.languages { display: block; z-index:9999;}
.languages  a.selected_lang{ 
    display: block;
    background: none;
    text-align: center;
    font-weight: 500;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    transition: all 1s;
}

.languages .languages_menu{  display: none; }
.languages .languages_menu.active{
    display: block;
    padding: 7px 12px;
    background: var(--yellow-color);
    z-index: 99999;
    position: absolute;
}

#lang_info .languages .languages_menu a {
    color: var(--blue-color);
    display: block;
    transition: all 0.3s ease 0s;
    border-bottom: none;
    font-size: 14px;
    font-weight: 700;
}
.languages .languages_menu a:hover { color:#3D3D3B; transition: all 0.3s ease 0s;   }

.caret {
    display: none;
}

#logo_wrap {
    position: relative;
    padding: 20px 0 15px 0;
}

#logo {
	display: block;
    width: 200px;
    height: 60px;
    background: url(../img/layout/logo_white.png) no-repeat scroll center center;
    background-size: 100%;
    transition: all 0.5s ease-in-out;
    position: relative;
}

#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; }

#logo.no-image a, #logo_mob.no-image a { text-indent:0px!important; }
#logo.no-image a span{
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
    background: #000;
    text-align: center;
    justify-content: center;
    color: #f2f2f2;
    
    border-bottom-right-radius: 7px;
    box-shadow: 1px 1px 4px 1px #d1d1d1;
    line-height: 125%;
}

.open_menu {
	position: relative;
    display: none;
    z-index: 999;
    text-decoration: none;
    transition: all 1s;
}

img.dark_call, img.dark_email { display: none; }
#header.fixed img.white_call, #header.fixed img.white_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;}

.header_wrap {
    display: flex;
    align-items: center;
    margin: 0 2%;
}

#header.fixed .header_wrap {
    border-top: none;
}

.header_left {
    display: flex;
    align-items: center;
}

.header_left a.phone {
	border: 1px solid #fff;
    padding: 10px;
    border-radius: 100%;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header_left a img {
	width: 17px;
}

.menu_right {
    display: flex;
    align-items: center;
    justify-content: center;
}

.close_menu {
    position: absolute;
    top: 30px;
    right: 15px;
    display: block;
    width: 60px;
    height: 60px;
    z-index: 999;
    background: url(../img/layout/close_menu.svg) no-repeat center;
    background-size: 65px;
    text-indent: -999999px !important;
    z-index: 9999;
}
.close_menu:hover { }

#book_now {
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 1px;
    color: #35444e;
    transition: all 0.5s ease-in-out;
    position: relative;
    padding: 20px 40px 12px 40px;
    border-left: 1px solid #35444e;
}

#book_now:hover {
	text-decoration: underline;
}

.pages.home #book_now {
	color: #fff;
	font-weight: 400;
	border-left: 1px solid #fff;
}

#header.fixed #book_now {
    color: #35444E;
    padding: 16px 40px 16px 40px;
    border-left: 1px solid #35444E;
}

.responsive_menu #book_now {
    top: 50px;
    color: #362211;
    border-bottom: 2px solid #362211;
}

#header.fixed {
    top: 0;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0 15px;
    transition: top 0.5s ease-in-out, background 0.3s;
    height: 75px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

#header.fixed .menu ul li {
    padding: 15px 0 10px 0;
}

@keyframes slide-down {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    } 
    100% {
        opacity: 1;
        transform: translateY(0);
    } 
}

#header.fixed  #logo {
    width: 150px;
    height: 45px;
}

#header.fixed #logo_wrap {
    padding: 12px 0;
}

.responsive_menu{   
    position: fixed;
    right: 0;
    top: 0px;
    left: 0;
    margin: 0 auto;
    height: 100vh;
    width: 100%;
    background: var(--blue-color);
	display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    z-index: 999;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    transition-property: transform;
    -webkit-transition-duration: 0.6s;
    -moz-transition-duration: 0.6s;
    transition-duration: 0.6s;
}
.responsive_menu .responsive_menu_container {   
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 4% 3%;
    position: relative;
    overflow: auto;
}
.responsive_menu.active {   
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}

.responsive_menu_top {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.responsive_menu_bottom {
    height: 30vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EFE5D5;
}

.responsive_menu_bottom img.graphic {
    width: 100px;
    position: absolute;
    top: 40px;
}

.responsive_menu.active .hero_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    animation: unset;
	animation: grow 40s linear 10ms infinite;
    transition: all 0.2s ease-in-out;
}


.responsive_menu ul{
    padding: 100px 0 0 0;
    width: 100%;
    float: left;
    list-style: none;
    margin: 0;
}
.responsive_menu ul li{
    width: 100%;
    display: block; 
    transform: translateY(20px);
    opacity: 0;
    transition: all .4s cubic-bezier(.55,0,.1,1);
}

.responsive_menu.active ul li {
    transform: translateY(0);
    opacity: 1;
    transition-delay: 0.6s;
}

.responsive_menu.active ul li:nth-child(1) { transition-delay: 0.3s; }
.responsive_menu.active ul li:nth-child(2) { transition-delay: 0.4s; }
.responsive_menu.active ul li:nth-child(3) { transition-delay: 0.5s; }
.responsive_menu.active ul li:nth-child(4) { transition-delay: 0.6s; }
.responsive_menu.active ul li:nth-child(5) { transition-delay: 0.7s; }
.responsive_menu.active ul li:nth-child(6) { transition-delay: 0.8s; }
.responsive_menu.active ul li:nth-child(7) { transition-delay: 0.9s; }

.responsive_menu ul li a{
    display: block;
    position: relative;
    z-index: 9999;
    font-size: 45px;
    line-height: normal;
    color: #fff;
    padding: 5px 0px;
    font-weight: 700;
    transition: all 0.3s ease-in 0s;
    text-align: left;
    width: fit-content;
}

.responsive_menu .book {
    position: absolute;
    width: fit-content;
    display: block;
    margin: 25px auto 0 auto;
    border: 1px solid #35444e;
    padding: 10px 22px;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 2px;
    left: 25px;
    top: 15px;
	z-index: 1;
}

.responsive_menu ul li a span{  font-size: 16px; font-weight:300;  color:#333; padding:0px 10px 0px 0px; font-weight:300;transition: all 0.3s ease-in 0s;}
.responsive_menu ul li a:hover{ letter-spacing: 2px; transition: all 0.3s ease-in 0s;}
.responsive_menu ul li a:hover:after{background: #fff;transition: all 0.3s ease-in 0s;}
.responsive_menu ul li.book_now_menu_item{ display: none;}

.book_menu{position: absolute; top:20px;left:20px;}
.book_menu a{  display: block;   font-weight: 400;    font-size: 14px;    z-index: 999;    color: #fff;    text-decoration: none;    transition: all 1s;    border: 1px solid #fff;
    padding: 10px;    background: rgba(0,0,0,.2); }

.book_menu a:hover {color: #fff!important;		transition: all 0.3s ease 0s;}
.book_menu a:hover:before {    transform: scaleX(1);    transform-origin: left 50%;    width: 100%;    height: 100%;    display: block;}

.responsive_menu .extra_links {
    position: relative;
    top: 300px;
    display: block;
    width: fit-content;
    padding-left: 20px;
    margin-left: 10px;
    border-left: 1px solid #fff;
}

.responsive_menu .extra_links p {
	font-size: 16px;
    font-weight: 300;
    color: #fff;
    margin-bottom: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.responsive_menu .extra_links p a {
	color: #362211;
	transition: all 0.3s ease-in-out;
}

.responsive_menu .extra_links p a:hover {
	letter-spacing: 0.5px;
}

.responsive_menu .contact_menu{
	padding: 20px;
    width: 70%;
    display: block;
    margin: 0 auto;
    background: #c7a478;
}
.responsive_menu .contact_menu span{
	display: inline-block;
	font-size: 18px;
    margin: 10px 0px 10px 0px;
    color: #362211;
    text-align: center;
    font-weight: 500;
}

.responsive_menu .contact_menu span a {
	color: #362211;
}

.responsive_menu .contact_menu img{ width: 22px;  display: inline-block; margin-right:5px; vertical-align:middle;  }

.menu_social {
    display: flex;
    align-items: center;
    margin-top: 15px;
}

.responsive_menu .menu_social img {
    width: 14px;
    margin: 0 10px;
}

.responsive_menu .menu_social img.instagram {
    width: 24px;
}

.responsive_menu .menu_social img.twitter {
	width: 28px;
}

.menu_graphic {
	background-image: url('../img/layout/olive_branch_text.svg');
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	width: 100px;
	height: 100px;
}

.responsive_menu .contact_menu_container{
    width: 100%;
    margin: 50px auto 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    transform: translateY(20px);
    opacity: 0;
    transition: all .6s cubic-bezier(.55,0,.1,1);
}

.responsive_menu.active .contact_menu_container {
    transform: translateY(0);
    opacity: 1;
    transition-delay: 1.2s;
}

.contact_menu_container p a, .contact_menu_container p {
    color: #fff;
    line-height: normal;
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 10px;
}


/* ============= FOOTER =========== */

.padd_prefooter {
    background: var(--blue-color);
    padding: 110px 13% 20px 13%;
    position: relative;
}


.customers .padd_prefooter:before {
    content: '';
    position: absolute;
    background-color: #e5e5e5;
    height: 100%;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
}

.footer_nav {
	display: none;
}

.footer_box {
	margin-left: 50px;
}

.footer_box.first {
	margin-left: 0;
}

.footer_box.last, .footer_box.prelast {
	float: right;
}

.footer_box h6{
    font-size: 25px;
    font-weight: 800;
    margin-bottom: 30px;
    line-height: normal;
    color: #e1bf2f;
}

.footer_logo {
    width: 220px;
}

.footer_box h6.last {
	margin-top: 35px;
    margin-bottom: 20px;
}

.footer_flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 50px 0 30px 0;
}

.footer_right_top {
    padding: 110px 140px 0px 140px;
    position: relative;
    display: block;
    overflow: hidden;
}

.footer_left p {
	color: #ffffffdb;
    font-size: 35px;
    line-height: 42px;
    font-weight: 100;
    letter-spacing: 1px;
}

.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: 130px; }

.footer_box p{
    color: #fff;
    font-size: 17px;
    line-height: 27px;
    transition: all 0.3s ease-in-out;
    font-weight: 300;
    margin-bottom: 7px;
}

.footer_box p a {
	color: #fff;
    font-weight: 200;
    transition: all 0.3s ease-in-out;
}

.footer_box p a:hover {
	text-decoration: underline;
    transition: all 0.3s ease-in-out;
}

.social_media {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 25px;
}

.social_media img {
	width: 22px;
}

.social_media img.facebook {
	width: 13px;
}

.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; }

.footer_line {
    width: 190px;
    margin: 60px 0 55px 0;
}

.footer_details_left{width:50%;float:left;}
.footer_details_right{width:50%;float:left;}

.footer_social {
    display: inline-block;
    position: relative;
    float: right;
}

.footer_box p.last {
	display: inline-block;
}

.footer_social img {
    width: 14px;
    display: inline-block;
    margin-right: 20px;
}

.footer_social img.instagram {
	width: 25px;
}

/* ======= END FOOTER ======= */


/* ======= COPYRIGHT ======= */

.padd_footer{	padding-top: 10px;	padding-bottom: 10px;	background:#EBEAE6; }
.copyright{
    font-size: 13px;
    color: #fff;
    font-weight: 300;
    display: inline-block;
}
.copyright a{	color: #222;}
#wapp{position:relative;float:right;}
#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%;}

.copyright_wrapper {
    padding: 30px 13%;
    border-top: 1px solid #fff;
    background: var(--blue-color);
}

.copyright_flex {
	display: flex;
    justify-content: space-between;
}

.copyright_menu {
	display: flex;
    justify-content: flex-end;
    align-items: center;
}

.copyright_menu p {
    display: inline-block;
    font-size: 14px;
    font-weight: 300;
    padding: 0 10px;
    border-right: 1px solid #fff;
    line-height: 13px;
    margin: 0;
}

.copyright_menu p a {
    color: #fff;
    transition: all 0.3s ease-in-out;
}

.copyright_menu p a:hover {
   text-decoration: underline;
}

.copyright_menu p.last {
	padding-right: 0;
	border-right: none;
}


/* ========== END COPYRIGHT ======= */


/* ======== HOTELS & SUITES MAP ====== */

.hotels {
    position: relative;
    display: block;
    overflow: hidden;
    z-index: 1;
    height: 95vh;
    border-radius: 30px;
}

.hotel-list p {
    width: 100%;
    display: flex;
}

.hotel-list li img {
	width: 440px;
    border-radius: 15px;
} 

.hotel-list li {
    margin-right: 35px;
    position: relative;
    transition: all 0.3s ease 0s;
    display: flex;
    padding: 15px 0;
    cursor: pointer;
}

.hotel-list li .book_now:hover {
    border: 1px solid var(--blue-color);
    color: #fff;
}

.hotel-list li .book_now::before {
    background-color: var(--blue-color);  
}

.instagram_wrap {
    padding-top: 50px;
    margin-bottom: 20px;
}

.image-wrapper {
	position: relative;
	overflow: hidden;
	margin-bottom: 25px;
}

.image-wrapper img {
    object-fit: cover;
    width: 100%;
    height: 370px;
    display: block;
    object-position: top;
}

.sights .swiper-sights {
    padding-left: 15px;
}

.sight_info {
	display: flex;
    flex-direction: column;
    margin-left: 30px;
    width: 100%;
    position: relative;
}

.hotel-list span.title {
    font-size: 30px;
    line-height: normal;
    font-weight: 800;
    color: var(--blue-color);
    margin-bottom: 5px;
}

.hotel-list span.title a {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    color: var(--blue-color);
    line-height: normal;
    border-bottom: 1px solid var(--blue-color);
    width: fit-content;
}

.hotel-list div {
	display: flex;
	width: 100%;
}

.hotel-list span.subtitle {
    font-size: 20px;
    font-weight: 500;
    margin-top: 5px;
    margin-bottom: 25px;
    color: var(--blue-color);
}

.hotel-list a {
    color: var(--blue-color);
    font-size: 19px;
    font-weight: 500;
    width: fit-content;
    border-bottom: 1px solid var(--blue-color);
    transition: all 0.5s ease-in-out;
}

.hotel-list a:hover {
    color: var(--yellow-color);
    border-bottom: 1px solid var(--yellow-color);
}

.hotel-list a.book_now {
    background: var(--yellow-color);
    font-size: 21px;
    font-weight: 900;
    color: var(--blue-color);
    cursor: pointer;
    width: 100%;
    padding: 20px 80px;
    border-radius: 12px;
    position: absolute;
    bottom: 0px;
    border: 1px solid var(--yellow-color);
    text-align: center;
    transition: 0.5s ease-in-out;
}

.page_text .map_popup h3 {
	font-size: 17px;
    font-weight: 600;
    color: var(--blue-color);
    margin-bottom: 12px;
	text-align: center;
}

.map_popup img {
	width: 200px;
    display: block;
	margin: 0 auto;
}

.map_popup .button_sight {
	font-size: 13px;
    color: var(--blue-color);
    font-weight: 500;
    margin: 10px auto 0 auto;
    display: block;
    width: fit-content;
    background-image: url(../img/layout/arrow_button.svg);
    background-repeat: no-repeat;
    background-size: 13px;
    background-position: right 2px;
    padding-right: 20px;
}


/* =========== END HOTELS & SUITES MAP ========== */


/* ========== DESTINATIONS MAP =========== */

.home_destinations {
    position: relative;
    display: block;
    overflow: hidden;
    z-index: 1;
    height: 60vh;
    margin-right: 30px;
    margin-top: 30px;
    border-radius: 15px;
}

.home_destinations.inner {
    height: 95vh;
    margin-right: 0;
    margin-top: 0;
}

.destinations_wrap {
    position: relative;
    overflow: hidden;
    padding-left: 15px;
}

#destinations .swiper-slide {
	position: relative;
}

#destinations img {
    filter: brightness(0.7);
    width: 100%;
    border-radius: 15px;
}

#destinations .title {
    font-size: 24px;
    font-weight: 800;
    line-height: normal;
    color: #fff;
    margin-bottom: 20px;
    position: absolute;
    left: 25px;
    bottom: 10px;
}

#destinations .subtitle {
	background: var(--blue-color);
    font-size: 15px;
    color: #fff;
    position: absolute;
    top: 25px;
    left: 25px;
    z-index: 1;
    padding: 8px 20px;
    border-radius: 13px;
}

#destinations.hotel-list span.title {
    font-size: 30px;
    font-weight: 800;
    color: var(--blue-color);
    margin-bottom: 5px;
    position: relative;
    left: auto;
    bottom: auto;
}

#destinations.hotel-list p {
    width: 100%;
    display: flex;
}

#destinations.hotel-list li img {
    width: 440px;
    height: 288px;
    object-fit: cover;
    flex-shrink: 0;
} 

#destinations.hotel-list li {

}

#destinations.hotel-list span.subtitle {
    font-size: 20px;
    font-weight: 500;
    color: var(--blue-color);
    background: transparent;
    position: relative;
    top: auto;
    left: auto;
    padding: 0;
    border-radius: 0;
}

.location-tabs {
    position: relative;
    margin: 40px 30px;
    display: flex;
    gap: 30px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.location-tabs .tab {
    background: #fff;
    color: var(--blue-color);
    font-size: 20px;
    line-height: normal;
    font-weight: 700;
    padding: 8px 20px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.location-tabs .tab:hover {
    color: #fff;
	background: var(--blue-color);
}

.location-tabs .tab.active {
	color: var(--blue-color);
	background: var(--yellow-color);
}


/* ======== HOMEPAGE HOMES & VILLAS ====== */

.about_link {
	color: #000;
    font-size: 15px;
    font-weight: 600;
    width: fit-content;
    border-bottom: 1px solid #000;
}

.about_link:hover {
    color: #000;
}

.home_villa_box {
	position: relative;
	margin-bottom: 30px;
}

.home_villa_text {
	background: #e5e5e5;
	padding: 30px;
}

.home_villa_text p {
	font-size: 15px;
}

.home_villa_box .book_now {
    background-color: #000;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
    border: none;
    width: 100%;
    position: relative;
    display: block;
    overflow: hidden;
    padding: 15px 80px;
    border-radius: 12px;
    margin-top: 30px;
    text-align: center;
    z-index: 1;
    transition: 0.5s ease-in-out;
    border: 1px solid #000;
}

.home_villa_box .book_now:hover {
    color: #000;
}

.home_villa_box .book_now::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #fff;
    transform: translateX(-100%);
    transition: 0.5s ease-in-out;
    z-index: -1;
}

.home_villa_box .book_now:hover::before {
    transform: translateX(0);
}

/* ======== END HOMEPAGE HOMES & VILLAS ====== */


/* =========== EXPERIENCES ========== */

/* homepage */
.home_experiences {
	margin-bottom: 60px;
	position: relative;
	overflow: hidden;
}

.page_text .experience_box h3 {
	margin-top: 20px;
}

.experience_box p {
    font-size: 20px;
    color: #fff;
}

.experience_box img {
    border-radius: 15px;
}

/* inner page */
.experience_inner_box_first {
    background: var(--blue-color);
    position: relative;
    overflow: hidden;
    margin-top: 40px;
    margin-bottom: 30px;
	display: flex;
    align-items: center;
    border-radius: 20px;
}

.experience_text_inner {
	padding: 0 50px;
}

.experience_subtitle {
    margin-bottom: 25px;
    color: #fff;
    font-size: 20px;
    font-weight: 400 !important;
}

.experience_text_inner p {
    color: #fff;
    font-weight: 300;
}

.experience_inner_box_other {
	display: flex;
    gap: 20px;
}

.experience_inner_box_other img {
    border-radius: 15px;
}

.experience_inner_box_other .book_now { 
    margin-top: 25px;
    padding: 15px 50px;
}

.page_text .experience_inner_box_other h3 {
	margin-top: 30px;
	margin-bottom: 2px;
    color: var(--blue-color);
}

.experience_section {
	margin-bottom: 100px;
}

.experience_section .button {
    margin: 25px auto 0 auto;
}

.experience_section.last {
	margin-bottom: 0;
}

.experience_text_inner .book_now:hover {
    border: 1px solid #fff;
}

.experience_text_inner .book_now:hover::before {
    background: #fff;
}

.experience_inner_box_other .book_now:hover {
    border: 1px solid var(--blue-color);
    color: #fff;
}

.experience_inner_box_other .book_now:hover::before {
    background: var(--blue-color);
}

/* ========= END EXPERIENCES ======== */



/* =========== MEETINGS & EVENTS ========== */

.home_meetings {
	padding-bottom: 70px;
	position: relative;
	overflow: hidden;
}

.page_text .meeting_text h3 {
	color: #fff;
}

.meeting_text p {
	color: #fff;
}

.meeting_box {
	display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 5px;
}

.meeting_box img {
	filter: brightness(0.6);
	transition: all 0.4s ease-in-out;
    border-radius: 30px;
}

.meeting_box:hover img {
	filter: brightness(0.5);
}

.meeting_box .book_now {
    background: var(--blue-color);
    font-size: 21px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
    border: none;
    width: fit-content;
    padding: 22px 80px;
    position: relative;
    border-radius: 12px;
    margin: 0px auto 0 auto;
    text-align: center;
    opacity: 0;
    display: block;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
}

.meeting_box:hover .book_now {
	opacity: 1;
	visibility: visible;
	margin: 30px auto 0 auto;
}

.meeting_text {
	position: absolute;
	text-align: center;
}

/* ========= END MEETINGS & EVENTS ======== */


/* PAGE HEADINGS
================================================== */

.page_heading_image {
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 56vh;
    min-height: 530px;
    display: flex;
    justify-content: center;
    align-items: center;
	flex-direction: column;
}

.payment_links .page_heading_image {
    height: auto;
    min-height: auto;
    background: #94b4d9;
}

.payment_links  .page_text.page_heading_image h1  {
    margin: 50px auto 50px auto;
}

.page_text.page_heading_image h1 {
    margin: 110px auto 15px auto;
    color: #fff;
    z-index: 2;
    text-align: center;
}

.page_heading_image.no_banner {
    height: auto;
    min-height: auto;
    padding: 65px 0;
    border-bottom: 2px solid var(--blue-color);
}

.page_text.page_heading_image.no_banner h1 {
    color: var(--blue-color);
    font-size: 70px;
    line-height: 70px;
    margin-top: 135px;
}

.page_heading_shadow{
	height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.2) 20%, rgba(0,0,0,0.2) 70%);
    z-index: 1;
}
.page_heading_image .page_heading_text { z-index:10;  display: block; position:absolute; width: 100%;bottom:50px; text-align:center;}
.page_text.page_heading_image h1 {
    margin: 110px auto 15px auto;
    color: #fff;
	z-index: 2;
    text-align: center;
}
.page_text.page_heading_image h2 {
	color: #fff;
	z-index: 2;
    text-align: center;
}
.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_subtitle {
    background: #94b4d9;
    padding: 40px;
    text-align: center;
    margin: 30px 0;
}

.page_subtitle p {
    color: #fff;
}

.intro_text {
    text-align: center;
    padding: 0 20%;
}

.page_text .intro_text h1 {
	margin-left: 0;
}

.dynamic_page ul li {
    font-size: 16px;
    font-weight: 500;
    line-height: 30px;
    color: var(--blue-color);
    display: block;
    padding: 5px 0 5px 20px;
}

.dynamic_page ul li:before {
    content: '';
    position: absolute;
    left: 0;
    border-radius: 100%;
    background: var(--yellow-color);
    width: 7px;
    height: 7px;
    margin-top: 11px;
}

.dynamic_page .home_text p {
    margin: 20px 0;
}


/* PAGE TEXT
================================================== */
.page_text { }
.page_text h1 {
    font-size: 80px;
	font-weight: 700;
    color: var(--blue-color);
    position: relative;
    line-height: 80px;
    z-index: 1;
    margin-left: 3%;
    margin-bottom: 30px;
}

.black_bg.page_text h1 {
	color: #fff;
}

.grey_bg.page_text h1, .blue_bg.page_text h1 {
    color: #fff;
}

.page_text h2 {
    font-size: 34px;
    line-height: normal;
    font-weight: 800;
    color: var(--blue-color);
    margin-bottom: 15px;
}

.black_bg.page_text h2 {
	color: #fff;
}

.grey_bg.page_text h2, .blue_bg.page_text h2 {
    color: #fff;
}

.grey_bg .home_text p, .blue_bg .home_text p {
    color: #fff;
}

.page_text h3 {
    font-size: 30px;
    line-height: normal;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}

.page_text.destinations h3 {
    font-size: 25px;
    margin-top: 27px;
    font-weight: 400;
    letter-spacing: 6px;
    color: #fff;
    text-transform: uppercase;
    position: absolute;
    left: 30px;
}

.page_text p.subtitle {
	position: absolute;
    padding-left: 5%;
    font-size: 13px;
    font-weight: 500;
	color: #000;
    letter-spacing: 3px;
}

.page_text h1.page_header {
    font-size: 90px;
    line-height: 90px;
    font-weight: 100;
    margin-top: 65px;
    text-align: center;
    font-family: "Commissioner", sans-serif;
    letter-spacing: 8px;
    margin-bottom: 80px;
}


.page_text p.subtitle.inner {
    padding-left: calc(4% - 15px);
    margin-top: 70px;
	font-size: 14px;
}

.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;}
p {
    font-size: 18px;
    font-weight: 400;
    line-height: 32px;
    color: var(--blue-color);
}

.book_now {
    position: relative;
    width: fit-content;
    background: var(--yellow-color);
    font-size: 19px;
    font-weight: 700;
    color: var(--blue-color);
    cursor: pointer;
    padding: 18px 100px;
    border-radius: 12px;
    display: block;
    margin-top: 55px;
    transition: 0.5s ease-in-out;
    z-index: 1;
    overflow: hidden;
    border: 1px solid var(--yellow-color);
}

.book_now:hover {
    color: var(--blue-color);
}

.book_now::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: -1px;
    background-color: var(--yellow-color);
    transform: translateX(-100%);
    transition: 0.5s ease-in-out;
    z-index: -1;
}

.book_now:hover::before {
    transform: translateX(0);
}

.page_text p.zoom{font-size:12px; z-index: 3;  position: relative;}
.centered {text-align:center;}

.booking_text {
    position: relative;
    z-index: 1;
}

.booking_text h1 {
    font-size: 75px;
    font-weight: 100;
    color: #fff;
    position: relative;
    text-align: center;
    letter-spacing: 8px;
    line-height: 85px;
	margin-bottom: 35px;
    z-index: 1;
}

.booking_text p {
    color: #eee;
    font-weight: 100;
    padding: 30px 23%;
}

.home_booking .booking_date {
	position: absolute;
    bottom: 0;
    background: #efe5d5;
    z-index: 1;
    width: 71%;
    left: 0;
    right: 0;
    margin: 0 auto;
	padding: 80px 50px 0 50px;
}

.home_booking .booking_form {
	padding-bottom: 80px;
}

.home_booking .booking_form:after {
    content: '';
    position: absolute;
    border-bottom: 1px solid #35444E;
    left: 0;
    width: 90%;
    bottom: 0;
    right: 0;
    margin: 0 auto;
}

.home_booking .book_info {
    border-bottom: 1px solid #35444e;
}

.home_booking .book_info input {
    color: #35444e;
	background-image: url(../img/layout/arrow_down_black.svg);
	font-weight: 400;
}

.home_booking .book_info input::placeholder {
	color: #35444e;
	font-weight: 400;
}

.home_booking .book_submit button {
    border: 1px solid #35444e;
    color: #35444e;
	font-weight: 400;
	transition: all 0.3s ease-in-out;
}

.home_booking .book_submit button:hover {
	background: #35444e;
	color: #FFFAF2;
}

.home_booking .book_info select {
	color: #35444e;
	font-weight: 400;
	background-image: url(../img/layout/arrow_down_black.svg);
}

.home_booking .book_info select::placeholder {
	color: #35444e;
}

.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.mob img {
	width: 42px;
    margin-right: 20px;
}


/* 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: calc(100vh + 65px);
    min-height: 600px;
    position: relative;
    overflow: hidden;
    display: flex;
}
.home_header_shadow{
    height: 100%;
    min-height: 600px;
    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) 100%, rgba(0, 0, 0, 0) 70%);
    z-index: 1;
}
.hero_bg{
	width: 100%;
    height: calc(100vh + 65px);
    min-height: 600px;
    background-position: center;
    background-size: cover;
    transform: translateZ(0);
    animation: grow 40s linear 10ms infinite;
    transition: all 0.2s ease-in-out;
}
/* @keyframes grow{
	0%{transform:scale(1)}	50%{transform:scale(1.2)}
} */

.home_header.contact_header {
	height: 120vh!important;
}

.contact_header .left_banner, .contact_header .right_banner {
	height: 115vh;
    overflow: hidden;
    background: #5A7350;
}

.contact_header .left_banner {
	overflow: hidden;
}

.home_header_content {
    z-index: 10;
    display: flex;
    position: absolute;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-left: auto;
    text-align: center;
    margin-top: 20px;
}
.home_header_content p {
	margin-bottom: 0px;
    color: #fff;
    font-weight: 200;
    margin-top: 30px;
}
.home_header_content h1 {
    font-size: 55px;
    line-height: 65px;
    font-weight: 700;
    color: #fff;
    display: block;
}

.home_header_content h1 span {
    display: block;
    font-size: 80px;
    font-weight: 700;
}


.suites_title {
    width: fit-content;
    position: relative;
    padding-bottom: 30px;
}

.suites_title:before {
    content: '';
    position: absolute;
    left: -55%;
    border-bottom: 1px solid #316280;
    width: 155%;
    bottom: 0;
}

.suites_title img {
	width: 85px;
    margin-right: 25px;
}

.suites_title h1 {
    font-size: 55px;
    line-height: 60px;
    font-weight: 300;
    color: #316280;
    display: flex;
    align-items: center;
    position: relative;
}

.home_room_box {
    margin: 100px 80px;
    display: block;
    overflow: hidden;
}

.swiper-room-gallery a {
	position: absolute;
	height: 100%;
	width: 100%;
}

.home_room_box .button {
    display: inline-block;
    margin: 0 20px;
    position: relative;
	padding: 15px 45px 15px 45px;
}

.room_images {
    height: 65vh;
    width: 100%;
    background-repeat: no-repeat;
    background-size: 76%;
    background-position: right center;
}

.room_buttons {
    display: flex;
    justify-content: center;
    margin-left: 10%;
}

.home_room_box.middle .room_images {
    background-position: left center;
}

.room_buttons.middle {
    margin-left: -10%;
}

.home_room_box.middle .room_description {
	float: right;
    margin-left: 0;
    margin-right: -15px;
}

.room_description {
	display: block;
    padding: 20px 0px;
    position: relative;
    overflow: hidden;
}

.page_text .room_description ul li {
    margin: 16px 0 16px 0;
    font-size: 19px;
    font-weight: 300;
    color: #000;
    position: relative;
    transition: all 0.3s ease 0s;
    display: inline-block;
    line-height: 22px;
    border-right: 1px solid #35444e;
    padding-right: 25px;
	padding-left: 0;
}

.page_text .room_description ul li span {
	color: #35444e;
    font-weight: 500;
    font-size: 20px;
	padding-right: 5px;
}

.page_text .room_description ul li:last-child {
	border-right: none;
	padding-right: 0;
}

.villa_box {
    margin: 0 20px 50px 20px;
    position: relative;
    display: block;
    overflow: hidden;
}

.room_description p {
    font-weight: 300;
    line-height: 34px;
    font-size: 21px;
    color: #000;
    text-transform: uppercase;
}

.page_text .room_description h2 {
    font-size: 40px;
    line-height: normal;
    font-weight: 200;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    border-bottom: none;
    text-align: left;
    letter-spacing: 1px;
}

.room_description .button.white {
    background-color: #fff;
    margin: 10px 0 0 0;
    float: right;
}

.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;
}

.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;
}

.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 .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;
}

.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;
}

.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: relative;
    margin: 0px 65px 80px 65px;
    display: flex;
    flex-direction: column;
}
.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 .slide_title {
    left: 0px;
    bottom: 85px;
    width: fit-content;
	z-index: 1;
}

.sight_text:after {
    content: '';
    position: absolute;
    width: calc(100% - 45px);
    border-bottom: 17px solid #ead19d;
    margin-left: 15px;
    bottom: -8px;
    transition: all 0.3s ease-in-out;
    right: 0;
    left: -15px;
}

.sight_text a {
    position: absolute;
    bottom: -20px;
    right: 35px;
    z-index: 1;
}

.sight_box .sight_text a img {
    width: 45px;
    height: 45px;
	transition: all 0.3s ease-in-out;
}

.sight_box:hover .sight_text a img {
	width: 50px;
	height: 50px;
}

.sight_text {
    transition: all 1s ease-in-out;
    background: #fff;
    position: relative;
    left: 45px;
    width: 100%;
    padding-top: 45%;
    margin-top: -45%;
    z-index: -1;
}

.sight_text h2 {
    font-size: 30px;
    font-weight: 300;
    position: relative;
    color: #316280;
    margin: 0;
    transition: all 0.3s ease-in-out;
    padding: 22px 0 40px 0;
    margin-left: 40px;
    border-top: 1px solid #316280;
    margin-top: 30px;
    display: block;
}

.sight_view {
	background: #fff;
    padding: 60px;
    border-top: 15px solid #316280;
}

.sight_view h2 {
	font-size: 30px;
    color: #316280;
    font-weight: 300;
    margin-bottom: 40px;
}

.sight_view ul li {
    font-size: 18px;
    line-height: 30px;
    color: #333;
    font-weight: 400;
    padding: 10px 0 10px 20px;
    position: relative;
}

.sight_view ul li:before {
    content: '';
    background: #316280;
    position: absolute;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    margin-top: 13px;
}

.sight_box .slide_title h2:after {
    width: 90px;
}

.sight_box .slide_title h2 a {
    padding: 12px 105px 12px 25px;
}

.box_shadow {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.5) 70%);
    z-index: 1;
}

.sight_box .button {
	background-color: transparent;
    position: absolute;
    margin: 0;
    bottom: 15px;
    z-index: 1;
    right: 0;
    color: #fff;
    padding: 14px 30px 14px 95px;
    font-size: 18px;
    background-image: url(../img/layout/arrow_white.svg);
    background-repeat: no-repeat;
    background-size: 40px;
    background-position: 32px center;
}

.sight_box .button:hover {
	color: #fff;
}

.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:5px 100px;}
.home_half_text.mar_top{margin-top:100px;}
.home_half_text p{
    margin-top: 25px;
    margin-bottom: 40px;
}

.home_half_text a {
	color: #9a9f87;
}

.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;
	font-family: 'Alegreya', serif;
}

.about_text {
    position: relative;
    overflow: hidden;
    display: flex;
    padding: 30px 0;
    align-items: center;
    z-index: 1;
}

.home_about_text {
    margin-top: -25px;
    position: relative;
    height: 100%;
    display: flex;
}

.home_left_image img{
    width: 100%;
	filter: opacity(0.8);
}

.home_right_image {
	float: right;
    margin-right: 85px;
    width: 23%;
    margin-top: 50px;
}

.home_right_image img {
	width: 100%;
}

.home_text {
	margin-right: 3%;
    margin-left: 12%;
    margin-bottom: 60px;
    position: relative;
}

.home_text p {
	margin-right: 30%;
    color: var(--blue-color);
}

.black_bg .home_text p {
	color: #fff;
}

.home_text .button {
	position: absolute;
    right: 0%;
    bottom: 0px;
} 

.button {
    color: var(--blue-color);
    padding-right: 35px;
    font-size: 22px;
    line-height: normal;
    display: block;
    width: fit-content;
    transition: all 0.3s ease-in-out;
    font-weight: 900;
    background-image: url(../img/layout/arrow_button.svg);
    background-repeat: no-repeat;
    background-size: 23px;
    background-position: right 4px;
}

.grey_bg .button, .blue_bg .button {
    color: #fff;
    background-image: url(../img/layout/arrow_button_white.svg);
}

.button:hover {
    padding-right: 40px;
    color: var(--blue-color);
    background-image: url(../img/layout/arrow_button.svg);
}

.black_bg .button {
	color: #fff;
	background-image: url(../img/layout/arrow_button_white.svg);
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: right 2px;
}

.destinations .button, .space_between_suites .button {
	right: 5%;
    top: 0;
    bottom: auto;
}

.map_sidebox {
	height: 95vh;
	position: relative;
	overflow: auto;
  	scrollbar-width: none;      /* Firefox */
  	-ms-overflow-style: none;
}

.first_section {
    margin-top: -65px;
    position: relative;
    display: block;
    background: #fff;
    z-index: 1;
}

.hotels_map {
    position: relative;
}

.hotels_map:after {
    content: '';
    position: absolute;
    height: 80px;
    bottom: 0;
    width: 50%;
    z-index: 9999;
    transform: rotate(360deg);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
}

.map_sidebox::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.map_sidebox input {
    width: calc(100% - 35px);
    margin-bottom: 30px;
    background: #e5e5e5;
    border: none;
    padding: 17px 40px;
    border-radius: 14px;
    font-size: 19px;
    line-height: normal;
    color: #000;
    font-weight: 500;
    margin-right: 20px;
    background-image: url(../img/layout/search.svg);
    background-repeat: no-repeat;
    background-position: 94% center;
    background-size: 20px;
}

.map_sidebox input::placeholder {
	color: #000;
}

.suites_title p {
	margin-left: 345px;
    font-size: 32px;
    font-weight: 200;
    position: relative;
    z-index: 2;
}

.gallery_section {
	margin-right: 5%;
}

.swiper-sights .button {
	position: absolute;
    bottom: 0;
    right: 5px;
    font-size: 22px;
    background-color: transparent;
    padding: 10px 0px 10px 95px;
}

.slide_title {
	transition: all 1s ease-in-out;
    background: #fff;
    position: relative;
    left: 25px;
    width: 100%;
    padding-top: 160px;
    margin-top: -160px;
    z-index: -1;
}

.slide_title h2 {
    font-size: 30px;
    font-weight: 300;
    position: relative;
    color: #316280;
    margin: 0;
    transition: all 0.3s ease-in-out;
    padding: 22px 0 40px 0;
    margin-left: 40px;
    border-top: 1px solid #316280;
    margin-top: 30px;
    display: block;
}

.slide_title:after {
	content: '';
    position: absolute;
    width: calc(100% - 30px);
    border-bottom: 17px solid #ead19d;
    margin-left: 15px;
    bottom: -8px;
    transition: all 0.3s ease-in-out;
    right: 0;
    left: -15px;
}

.slide_title:hover h2:after {
    border-bottom: 1px solid #fff;
}

.slide_title:hover h2:after {
	margin-left: 30px;
}

.services{
	margin-top:100px;
	margin-bottom:100px;
	background-image: url('../img/layout/services_bg.jpg');
	background-size: cover;
	background-position: bottom;
	height: 126vh;
	position: relative;
    display: block;
    overflow: hidden;
}

.villas_wrap {
    margin: 35px 5% 0 5%;
    position: relative;
    display: block;
    overflow: hidden;
}

.rooms .villas_wrap {
    margin: 0px 3% 0 3%;
}

.rooms.posts .villas_wrap {
	margin: 60px 3% 0 3%;
}

.villas_posts_header {
    padding-top: 200px;
    padding-bottom: 80px;
    margin: 0 4%;
    position: relative;
    border-bottom: 1px solid #35444e;
}

.villas_posts_header h1 {
    background-color: #EFE5D5;
    font-size: 55px;
    line-height: 65px;
    padding: 55px;
    font-weight: 100;
    text-transform: uppercase;
    color: #35444e;
	letter-spacing: 3px;
}

.villas_posts_header p {
	font-weight: 300;
    color: #000;
    padding: 45px 200px 0px 55px;
}

.villas_posts_header img {
	padding-top: 40px;
    background: #efe5d5;
}

.villas_view_header {
	padding-top: 200px;
    margin: 0 10% 0 13%;
    position: relative;
}

.villas_view_header h1 {
	font-size: 60px;
    font-weight: 100;
    text-transform: uppercase;
    letter-spacing: 4px;
    margin-bottom: 15px;
    line-height: 65px;
    color: #35444e;
}

.villas_view_header h5 {
	font-size: 18px;
    font-weight: 100;
    color: #222;
	text-transform: uppercase;
}

.villa_intro {
	padding: 65px 38% 0 0;
}

.villa_intro p {
    font-weight: 200;
    margin-bottom: 30px;
    color: #000;
}

.villa_img {
	height: 75vh;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: 5%;
}

.villa_details {
	background: #35444E;
    margin: 0 5%;
    padding: 50px 15%;
}

.villa_details ul li {
    width: 19.5%;
    font-size: 19px;
    color: #ccc;
    font-weight: 100;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.villa_details ul li span {
    font-size: 55px;
    line-height: 50px;
    font-weight: 500;
    color: #FFFAF2;
    position: relative;
    padding-bottom: 35px;
    margin-bottom: 12px;
	width: 100%;
}

.villa_details ul li span:after {
	content: '';
    position: absolute;
    background-image: url(../img/layout/pointer.svg);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 50px;
    bottom: 0;
    width: 50px;
    height: 20px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.facilities {
	margin: 100px 5% 0 5%;
}

.facilities_right {
    padding: 0 90px 0 40px;
}

.facilities_left {
	border: 1px solid #35444e;
    border-bottom: none;
    padding: 50px 70px;
    margin-right: 50px;
}

.facilities_left ul li {
	display: inline-flex;
    width: 19.5%;
    text-align: center;
    position: relative;
    font-size: 21px;
    line-height: normal;
    font-weight: 100;
    color: #35444e;
    padding: 40px 20px;
    justify-content: center;
    align-items: center;
    margin: 10px 0;
    flex-direction: column;
}

.facilities_left ul li span.red {
    color: #d32525;
}

.facilities_left ul li:before {
    content: '';
    background-image: url(../img/layout/list.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25px;
    width: 25px;
    height: 25px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.facilities_right h2 {
    font-size: 55px;
    line-height: 65px;
    font-weight: 100;
    margin-bottom: 50px;
    color: #35444e;
}

.facilities_right ul {
    margin-top: 10px;
    list-style: circle inside;
}

.facilities_right ul li {
	font-size: 18px;
    font-weight: 400;
    line-height: 32px;
}

.rooms.posts h3.no_villas {
    text-align: center;
    color: #35444E;
    font-size: 45px;
    line-height: normal;
    margin-top: 30px;
    font-weight: 300;
}

.parallax_container{text-align:center; background: #F6F3EB;padding:20px 30px;margin-top:35vh;}
.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:before {
    content: "";
	height: 180px;
    width: 2px;
    background: #a37f72;
    display: block;
    position: absolute;
    top: -90px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}
.page_home_bg {
	width: 100%;
	height: 70vh;
	margin-top: 0;
	/* margin-bottom: 15vh; */
	margin-bottom: 0;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}
.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_right_image {
	width: 75%;
    float: right;
    position: relative;
    margin: 0;
}

.dynamic_right_image:after {
	content: '';
    background: #fff;
    height: 100%;
    position: absolute;
    width: 100%;
    padding-bottom: 100vh;
}

.dynamic {
	padding-top: 150px;
	padding-bottom: 100px;
}

.dynamic_content {
	margin: 45px 6% 0 6%;
}

.dynamic_content h4 {
    font-size: 22px;
    font-weight: 400;
    color: #35444e;
    margin: 15px 0 6px 0;
}

.dynamic_content p {
    padding: 10px 0;
    font-weight: 100;
    color: #000;
}

.page_description {
    margin: 80px 4%;
    padding: 50px 100px;
    background: #35444E;
}

.page_description h2 {
	font-weight: 100;
    color: #fffaf2;
    font-size: 35px;
    letter-spacing: 3px;
    margin-top: 10px;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.page_description p {
	color: #eee;
	margin: 10px 0;
	font-weight: 100;
}

.page_description a.btn_link {
	font-size: 20px;
    font-weight: 500;
    color: #316280;
}

.page_description a.btn_link img {
    width: 32px;
    margin-left: 10px;
}

.page_description.white {
	background-color: #fff;
	padding: 80px 0;
}

.page_text .page_description h2 {
    font-weight: 300;
    color: #316280;
    margin-top: 30px;
    margin-bottom: 12px;
    font-size: 28px;
    border-left: 10px solid #c7a478;
    padding-left: 20px;
}

.page_description hr {
	border-top: 1px solid #c1c1c1;
	margin-top: 30px;
	margin-bottom: 30px;
}

.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;
}

.page_extra_description {
    padding-left: 80px;
    position: relative;
    z-index: 2;
}

.page_extra_description p {
	padding: 20px 0;
}


/* ============== HOTEL PAGE =============== */

.rooms #header {
	display: none;
}

.rooms .padd_prefooter {
	display: none;
}

.rooms .copyright_wrapper {
	display: none;
}

.rooms #content {
    overflow: hidden;
}

.hotel_page h2 {
	font-size: 48px;
    color: #000;
    line-height: normal;
    font-weight: 800;
    padding-bottom: 50px;
}

.rooms p {
    font-size: 15px;
    line-height: 27px;
}


/* hotel header */

#header_hotel {
	display: flex;
    width: 100%;
    height: auto;
    padding: 0px 0px;
    margin: 0;
    position: relative;
    z-index: 999;
    transition: all 0.5s;
    flex-direction: column;
}

#header_hotel #lang_info a {
    color: #354291;
}

#header_hotel #lang_info a.selected_lang:after {
    background-image: url(../img/layout/arrow_down.svg);
}

#hotel_book.fixed {
    background: #fff;
    width: 100%;
}

#header_hotel #logo {
	background: none;
    width: 160px;
    height: 70px;
}

#header_hotel .header_wrap {
    align-items: center;
	justify-content: space-between;
    padding: 0 15px;
}

#header_hotel .menu_right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.top_bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px calc(3% + 15px);
    position: relative;
    border-bottom: 2px solid var(--blue-color);
}

.top_bar_right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 15px;
}

.top_bar_right .divider {
	border-right: 2px solid var(--blue-color);
    height: 20px;
    width: 2px;
}

.hotelo {
    width: 145px;
}

#header_hotel .menu_half {
    padding-right: 15px;
}

#header_hotel .menu ul li:last-child {
	margin-right: 0;
}

#header_hotel .menu ul li {
    font-size: 15px;
    font-weight: 800;
}

#header_hotel .menu ul .menu-link.current {
  color: #e1b12c;
}

.hotel_info {
    position: relative;
    overflow: hidden;
    background: var(--blue-color);
    padding: 7px 2%;
    display: flex;
    align-items: center;
}

.hotel_info .hotel_title {
	color: #fff;
	font-weight: 400;
}

.hotel_details ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.hotel_details ul li {
	color: #fff;
    border-right: 1px solid #fff;
    font-size: 14px;
    height: 22px;
    padding: 0 12px;
    display: flex;
    align-items: center;
	gap: 5px;
}

.hotel_details ul li:last-child {
	border-right: none;
	padding-right: 0;
}

.hotel_details ul li img {
    width: 21px;
    margin-right: 5px;
}

.hotel_details ul li a {
	color: #fff;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
}

.reviews p {
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 13px!important;
    font-weight: 400;
}

.hotel_reviews {
	display: flex;
	align-items: center;
	gap: 25px;
}

.reviews .divide {
	background: #fff;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    margin: 0 5px;
}

.reviews .underline {
	border-bottom: 1px solid #fff;
	line-height: normal;
}

.reviews {
	display: flex;
    align-items: center;
    gap: 15px;
}

.rating {
    display: flex;
    gap: 4px;
}

.rating .circle {
	width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #000;
    position: relative;
    overflow: hidden;
    border: 1px solid #e1b12c;
}

.rating .circle.full {
    background-color: #e1b12c;
}

.rating .circle.half::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    background-color: #e1b12c;
}

.rating .circle.three-quarter::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 75%;
    height: 100%;
    background-color: #e1b12c;
}


/* hotel footer & copyright */

.footer {
	background: #000;
    position: relative;
    overflow: hidden;
    padding-top: 140px;
    padding-left: 4%;
    padding-right: 5%;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}

.footer .footer_box {
    margin-left: 0px;
    padding: 60px 0;
    min-height: 260px;
    border-right: 1px solid #fff;
}

.footer .footer_box.sec {
	padding-left: 60px;
}

.footer .footer_box p {
	font-weight: 400;
    margin-bottom: 3px;
}

.footer .footer_box p strong {
	font-weight: 700;
}

.footer h2 {
	font-size: 48px;
    color: #fff;
    line-height: normal;
    font-weight: 800;
    padding-bottom: 50px;
}

.footer .footer_menu {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	position: relative;
	overflow: hidden;
}

.footer .social_media {
    justify-content: flex-start;
    gap: 15px;
    padding: 60px 0px 60px 60px;
}

.footer .social_media a {
    background: #e1b12c;
    width: 65px;
    height: 65px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.copyright_inner {
	background: #000;
    padding: 30px 0;
    text-align: center;
    overflow: hidden;
}

.copyright_inner .copyright {
    font-size: 12px;
    font-weight: 400;
}


/* hotel banner */ 

.swiper-hotel-banner {
	display: flex;
    justify-content: center;
    align-items: center;
    height: calc(100vh - 100px);
}

.swiper-hotel-banner .swiper-slide {
    height: calc(100vh - 100px);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.swiper-hotel-banner h1 {
	position: absolute;
    z-index: 2;
    color: #fff;
    font-size: 50px;
    font-weight: 100;
    line-height: 60px;
	text-align: center;
}

.swiper-hotel-banner h1 strong {
    color: #e1b12c;
	font-weight: 800;
	display: block;
}

.swiper-hotel-banner h1 span {
	color: #e1b12c;
	font-weight: 800;
	display: block;
}

.swiper-buttons {
    display: flex;
    align-items: center;
	gap: 15px;
    position: absolute;
    left: 4%;
    bottom: 60px;
}

.swiper-buttons .swiper-button-prev {
    background-image: url(../img/layout/hotel_prev.svg) !important;
    border: 2px solid #fff;
    border-radius: 0;
    background-size: 23px;
    left: auto;
    position: relative;
    top: auto;
    background-color: transparent;
}

.swiper-buttons .swiper-button-next {
    background-image: url(../img/layout/hotel_next.svg) !important;
    border: 2px solid #fff;
    border-radius: 0;
    background-size: 23px;
    right: auto;
    position: relative;
    top: auto;
    background-color: transparent;
}

.hotel_banner_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) 100%, rgba(0, 0, 0, 0) 70%);
    z-index: 2;
}


/* hotel instagram */

.instagram_wrap.inner {
    padding-left: 4%;
    padding-right: 5%;
    background: #e1b12c;
    margin-top: -55px;
}


/* hotel location */

.hotel_page {
	padding-left: 4%;
	padding-right: 5%;
}

.location_left {
	padding-right: 20px;
}

.location_left ul {
	margin-top: 60px;
}

.location_left ul li {
    color: #000;
    font-size: 16px;
    line-height: normal;
    border-bottom: 1px solid #000;
    position: relative;
    display: block;
    font-weight: 500;
    cursor: pointer;
    padding-bottom: 12px;
    margin: 15px 0;
}

.location_left ul li:last-child {
	border-bottom: none!important;
	padding-bottom: 0;
}

.location_left ul li span {
    width: 100%;
    position: relative;
    display: block;
    z-index: 1;
    padding-right: 20px;
}

.location_left ul li:after {
    content: '+';
    font-weight: 700;
    font-size: 25px;
    line-height: normal;
    right: 0;
    top: -4px;
    position: absolute;
}

.location_left ul li p {
    font-weight: 400;
    line-height: 25px;
    margin-top: 15px;
}

/* hotel gallery */

#gallery_content {
    width: calc(100% + 30px);
    margin-left: -15px;
}

#gallery_content .gallery {
	margin-bottom: 30px;
}

#gallery_content .hidden {
    display: none;
}

.gallery img {
	width: 100%;
}

.load_more {
    font-size: 16px;
    line-height: normal;
    color: #fff;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    padding: 20px 70px;
    font-weight: 800;
    transition: all .3s;
    background: #000;
    border-radius: 50px;
    margin: 10px auto 0 auto;
    display: block;
    width: 33.33333333%;
    clear: both;
    text-align: center;
    transition: all 0.5s ease-in-out;
    overflow: hidden;
    z-index: 1;
    border: 1px solid #000;
}

.load_more:hover {
    color: #000;
}

.load_more::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #fff;
    transform: translateX(-100%);
    transition: 0.5s ease-in-out;
    z-index: -1;
}

.load_more:hover::before {
    transform: translateX(0);
}

/* hotel facilities */

.hotel_facilities {
	position: relative;
}

.facilities_section {
	display: flex;
	align-items: flex-end;
	gap: 60px;
}

.hotel_page .facilities_section .more {
    margin: 65px 0;
}

.hotel_facilities .grey_bg {
	position: absolute;
    top: 0;
    width: 100%;
    height: 94%;
    left: 0;
}

.hotel_page .more {
    background: #000;
    color: #fff;
    padding: 18px 60px;
    border-radius: 40px;
    margin: 65px 0 0 0;
    font-size: 18px;
    width: fit-content;
}
.hotel_page .more.selected {
    background: #fff;
    color: #000;
}

.hotel_page .more.full {
    background: #e1b12c;
    border: 1px solid #e1b12c;
    color: #fff;
    margin: 0px;
    width: 100%;
}

.hotel_page .more.book_cart{
    color: #fff;
    margin: 45px 0 0 0;
    width: 100%;
    border-radius: 25px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}



.hotel_page .more:hover {
    color: #000;
}

.hotel_page .more::before {
    background-color: #fff;
}
.hotel_page .more.selected:hover {
    color: #fff;
}

.hotel_page .more.selected::before {
    background-color: #000;
}

/* hotel property */

.property_section {
	display: flex;
	gap: 60px;
}

.property_section h3 {
    color: #000;
    font-size: 50px;
    line-height: 60px;
    margin-bottom: 50px;
    font-weight: 600;
    text-indent: 2em;
    padding-right: 70px;
}

.property_section p {
    width: 49%;
    display: inline-flex;
    padding-right: 70px;
}

.property_section .more {
    margin: 65px 0;
}

/* hotel rooms */

.swiper-rooms {
    overflow: visible;
}

.hotel_rooms {
	padding-bottom: 80px;
}

.hotel_page.hotel_rooms {
    padding-right: 0;
    overflow: hidden;
}

.hotel_rooms .swiper-pagination {
	right: 5%;
    text-align: right;
    top: 40px;
}

.hotel_rooms .swiper-pagination-bullet {
    border-top: 2px solid #000;
}

.room_info span.number {
	font-size: 15px;
    color: #fff;
    font-weight: 500;
    margin-bottom: 2px;
    display: block;
}

.room_info {
    position: absolute;
    bottom: -35px;
    left: 35px;
    width: calc(100% - 70px);
    z-index: 1;
    padding: 60px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 12%, rgba(0, 0, 0, 0.60) 50%, rgba(0, 0, 0, 0.60) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.room_info:after {
    content: '';
    position: absolute;
    background-image: url(../img/layout/arrow_button_white.svg);
    background-repeat: no-repeat;
    background-size: 23px;
    background-position: center;
    width: 23px;
    height: 23px;
    right: 60px;
}

.room_info h3 {
	font-size: 25px;
    font-weight: 700;
    color: #fff;
    line-height: normal;
}

.swiper-modal-deluxe-suite img {
    height: auto;
}

.room_details {
    margin-left: 60px;
	padding-bottom: 60px;
}

.room_details p {
	margin-top: 0;
}

.modal-body .room_details ul li {
    width: 100%;
    display: flex;
    padding: 5px 0;
}

.room-modal .modal-body {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
}

.room-modal .modal-body > .col-lg-6:first-child {
    flex: 0 0 50%;
    max-width: 50%;
    overflow: hidden;
}

.room-modal .modal-body > .col-lg-6:last-child {
    flex: 0 0 50%;
    max-width: 50%;
    overflow-y: auto;
    max-height: 100%;
}

.room-modal .modal-content {
    overflow-y: hidden;
}
.swiper-modal-facilities .swiper-wrapper {
    height: 450px;
}
/* ======= MODAL POPUP ======= */
#popup_property h3 {
    font-size: 35px;
    line-height: 45px;
    padding-right: 0px;
    margin-bottom: 30px;
    margin-top: 30px;
}

.modal-open {
    padding-right: 0!important;
}

.modal-open .modal.fade.in {
    display: flex;
	justify-content: center;
    align-items: center;
}

.modal-dialog {
	width: 1100px;
	height: 830px;
	margin: 30px auto;
}

.modal-content {
    height: 830px;
    overflow-y: auto;  /* scroll αν ξεπερνάει */
	border-radius: 0;
	padding: 60px;
	border: none;
}

.modal-content h4 {
    font-size: 48px;
    color: var(--blue-color);
    line-height: normal;
    font-weight: 800;
    padding-bottom: 30px;
}

.modal-header {
    min-height: auto;
    padding: 0;
    border-bottom: none;
}

.modal-header .close {
    margin-top: 0;
    position: absolute;
    top: 22px;
    right: 20px;
    opacity: 1;
    font-size: 60px;
    line-height: 35px;
    font-weight: 200;
}

.modal-body {
    padding: 0;
    position: relative;
    overflow: hidden;
}

.modal-body p {
	margin: 25px 0;
}

.modal-body ul li {
    font-size: 15px;
    line-height: 27px;
    color: #000;
    width: 49%;
    display: inline-flex;
    font-weight: 500;
    align-items: flex-start;
    padding: 6px 0;
}

.modal-body ul.column_20 li {
  width: 20%;
  align-items: center;
}

.modal-body ul li img {
    width: 27px;
    margin-right: 8px;
}

.modal-body ul li i {
	font-size: 18px;
}

.swiper-modal-facilities img, .swiper-modal-property img {
	height: 445px;
    object-fit: cover;
    object-position: center;
}


/* =========== END MODAL POPUP ============ */


/* select a room */

#tabs {
    margin-top: 25px;
}

#tabs h1 {
    color: #316280;
    font-size: 45px;
    font-weight: 100;
    margin-top: 20px;
    text-align: center;
    margin-bottom: 40px;
}

#tabs .subtab {
    display: inline-block;
    padding: 12px 30px;
    background: #fff;
    border-top: 2px solid #e1b12c;
    position: relative;
}

#tabs .subtab.inactive {
    background: transparent;
    border-top: none;
}

#tabs .subtab p:hover {
	cursor: pointer;
}


.edit_room_icon{
    position: absolute;
    left:auto;
    top: 7px;
    right: 7px;
}
.edit_room_icon img{
    width:25px;
}
.subtab.inactive .edit_room_icon{
    display: none;
}


.container_tab {
    background: #fff;
    padding: 30px;
    position: relative;
    overflow: hidden;
}

.container_tab ul li {
    display: block;
    position: relative;
    overflow: hidden;
    padding: 15px 0;
    border-bottom: 2px solid #000;
}

.container_tab ul li:last-child {
    border-bottom: none;
}

.room_rates_header{
    border-bottom: 2px solid #dfe6e9;
    border-top: 3px solid #e1b22d;
    padding-top: 20px;
    padding-bottom: 15px;
    padding-left: 60px;
    padding-right: 10px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    /* background: #e5e5e5; */
}

.room_rates .room_title {
    /* padding-left: 60px;
    border-bottom: 2px solid #dfe6e9;
    padding-bottom: 30px; */
    flex-basis: 75%;
}
.available_rooms{
    display: flex;
    align-items: center;
    gap: 3px;
}
.available_rooms p{
    font-size: 12px;
    line-height: 12px;
}
.available_rooms p strong{
    font-size: 18px;
    font-weight: 900;
    margin-right: 5px;
    line-height: 22px;

}

.room_rates h3 {
    font-size: 33px;
    color: #000;
    font-weight: 900;
    line-height: 33px;
}

.rooms.select_room p.small {
    font-size: 12px;
    line-height: 12px;
}

.rooms.select_room .room_title p.small, .rooms .selected_room p.small {
    border-bottom: 1px solid #000;
    width: fit-content;
    margin-top: 5px;
}

.room_rates_list {
    padding-left: 60px;
}

.container_tab .room_rates_list ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid #dfe6e9;
}

.container_tab .room_rates_list ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.container_tab label {
    position: absolute;
    right: 30px;
    color: #000;
    top: 30px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.container_tab input[type=checkbox]:focus {
    outline: none;
    outline-offset: 0px;
}

.show_taxes {
    appearance: none;
    -webkit-appearance: none;
    width: 17px;
    height: 17px;
    border: 2px solid #000;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    position: relative;
    margin-top: 0px !important;
}

.show_taxes:checked::before {
    content: '';
    width: 11px;
    height: 11px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    top: 1px;
    left: 1px;
}

.rate_title {
    width: 50%;
}

.rate_title h4 {
    font-size: 18px;
    color: #000;
    line-height: normal;
    font-weight: 900;
    margin-bottom: 5px;
}

.rate_price p.price {
    font-size: 30px;
    font-weight: 900;
}
.rate_price p.price span {
    font-size: 15px;
    font-weight: 600;
}

.hotel_page .room_rates .more {
    margin: 0;
}

.tab_content .swiper-button-next {
    background-image: url(../img/layout/hotel_next.svg) !important;
    background-color: #e1b12c;
    border-radius: 0;
    background-size: 23px;
    right: 0px;
}

.tab_content .swiper-button-prev {
    background-image: url(../img/layout/hotel_prev.svg) !important;
    background-color: #e1b12c;
    border-radius: 0;
    background-size: 23px;
    left: 0px;
}

.select_room .room_details, #popup_selected_room .room_details {
    margin-left: 0px;
    padding-bottom: 0px;
}

.select_room .room-modal .modal-content, #popup_selected_room.room-modal .modal-content {
    overflow-y: auto;
}

.select_room .room-modal .modal-body, #popup_selected_room.room-modal .modal-body {
    height: auto;
}



/* CHECKOUT STEPS */

.checkout_steps ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}

.checkout_steps ul li {
    width: 33.33333%;
    position: relative;
    text-align: center;
    font-weight: 500;
    font-size: 18px;
    color: #000;
    padding-bottom: 30px;
    border-bottom: 2px solid #000;
}

.checkout_steps ul li.current {
    color: #e1b12c;
    font-weight: 900;
    border-bottom: 2px solid #e1b12c;
}

.checkout_steps ul li .num {
    color: #000;
    font-size: 16px;
    font-weight: 600;
    border-radius: 100%;
    background: #fff;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 15px auto;
}

.checkout_steps ul li.current .num {
    background: #e1b12c;
    font-weight: 800;
    color: #fff;
}

.checkout_steps ul li.prev .num {
    background: #000;
    background-image: url(../img/layout/check.svg);
    background-repeat: no-repeat;
    background-position: center 58%;
    background-size: 28px;
    text-indent: -99999px;
}

.addon_box {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 25px;
    margin-bottom: 35px;
    position: relative;
}

.addon_box img {
    width: 45%;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
}

.addon_text {
    width: 55%;
    padding: 30px;
}

.addon_text h5 {
    font-size: 21px;
    font-weight: 800;
    color: #000;
    margin-bottom: 25px;
    line-height: normal;
    padding-right: 50px;
}

.addon_text ul {
    margin-bottom: 20px;
}

.addon_text ul li {
    font-size: 15px;
    color: #000;
    font-weight: 550;
    line-height: normal;
    position: relative;
    padding: 5px 0 5px 15px;
    overflow: unset;
    border-bottom: none;
}

.addon_text ul li:before {
    content: '';
    position: absolute;
    background: #000;
    width: 4px;
    height: 4px;
    outline: 1px solid #000;
    outline-offset: 2px;
    left: 0;
    border-radius: 100%;
    margin-top: 10px;
}

.addon_text p {
    font-size: 14px;
}

.addon_text p.price {
    font-size: 23px;
    font-weight: 900;
    line-height: normal;
}

.addon_text p.price small {
    font-size: 15px;
}

.addon_text p.price span {
    font-size: 12px;
    font-weight: 500;
    margin-left: 10px;
}

.addon_button {
    position: absolute;
    right: 35px;
    bottom: 35px;
}

.switch, .addon_box .switch {
    position: relative;
    display: block;
    width: 60px;
    height: 35px;
}

.switch input {
  display: none;
}

.slider {
    position: absolute;
    cursor: pointer;
    background-color: #fff;
    border-radius: 30px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: 0.4s;
    border: 2px solid #000;
}

.slider::before {
    position: absolute;
    content: "";
    height: 27px;
    width: 27px;
    left: 3px;
    bottom: 2px;
    background-color: black;
    border-radius: 50%;
    transition: 0.4s;
}

input:checked + .slider {
    background-color: #e1b12c;
    border: 2px solid #e1b12c;
}

input:checked + .slider::before {
    transform: translateX(25px);
    background-color: #fff;
}

.rooms .selected_room p.small {
    font-size: 12px;
    line-height: 12px;
    border-bottom: 1px solid #000;
    width: fit-content;
    margin-top: 5px;
    color: #000;
    margin-bottom: 25px;
    padding: 0;
}

.selected_room {
    background: #fff;
    border-radius: 25px;
}

.selected_room.mob {
    display: none;
}

.selected_room img {
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
}

.selected_room img.no-radius {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

.selected_room_info {
    padding: 30px;
}

.selected_room_info h3 {
    font-size: 30px;
    line-height: normal;
    font-weight: 900;
    color: #000;
}

.rooms p.underline {
    border-bottom: 1px solid #000;
    width: fit-content;
    line-height: 15px;
    margin-top: 3px;
}

.selected_room_info a.edit_btn {
    margin-top: 30px;
    display: block;
    font-weight: 500;
    font-size: 15px;
    border-bottom: 1px solid #000;
    width: fit-content;
    line-height: 15px;
    margin-left: 30px;
    position: relative;
    transition: all 0.3s ease-in-out;
}

.selected_room_info a.edit_btn:hover {
    color: #000;
    margin-left: 40px;
}

.selected_room_info a.edit_btn:before {
    content: '';
    position: absolute;
    left: -30px;
    background-image: url(../img/layout/arrow_button_left.svg);
    width: 20px;
    height: 20px;
    background-size: 20px;
    background-position: center;
    transition: all 0.3s ease-in-out;
}

.selected_room_info a.edit_btn:hover::before {
    left: -40px;
}

.rooms .selected_room p {
    padding: 3px 0;
}

.total_charges {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 2px solid #000;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.tax_charges {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 2px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-style: italic;
}

.rooms .selected_room .total_charges p.small, .rooms .selected_room .tax_charges p.small {
    margin-bottom: 0;
}

.rooms p.total {
    font-weight: 800;
    font-size: 25px;
}

.extra_addons {
    background: #fff;
    border-radius: 20px;
    padding: 30px;
}

.extra_addons ul li {
    position: relative;
    margin: 10px 0;
}

.extra_addons ul li span {
    font-size: 17px;
    font-weight: 800;
    color: #000;
    line-height: normal;
    cursor: pointer;
    width: 100%;
    position: relative;
    display: block;
    z-index: 1;
    padding-right: 20px;
}

.extra_addons ul li:after {
    content: '';
    right: 0;
    top: 5px;
    position: absolute;
    background-image: url(../img/layout/arrow_down.svg);
    background-position: center;
    background-size: 13px;
    width: 13px;
    height: 13px;
    background-repeat: no-repeat;
}

.extra_addons ul li .accordion-content {
    padding-top: 15px;
}

.extra_addons .accordion-content p strong {
    margin-top: 15px;
    display: block;
    margin-bottom: 10px;
}

.extra_addons input[type="checkbox"] {
    border: 2px solid #000;
    appearance: none;
    width: 15px;
    height: 15px;
    top: 2px;
    position: relative;
    margin-right: 5px;
}

.extra_addons input[type="checkbox"]:checked {
    background-color: #000;
    outline: none;
}

.extra_addons input[type=checkbox]:focus {
    outline: none;
}

.extra_addons input[type="checkbox"]:checked::after {
    content: "✓";
    position: absolute;
    color: #fff;
    left: 1px;
    top: -3px;
    font-size: 12px;
}

.extra_addons .accordion-content label {
    font-size: 15px;
    font-weight: 500;
    line-height: normal;
    color: #000;
    margin-right: 20px;
    display: inline-block;
    cursor: pointer;
}

.hotel_page .more.white {
    margin-bottom: 0;
    margin-top: 30px;
    background: #fff;
    color: #000;
}

.hotel_page .more.white:hover {
    color: #fff;
}

.hotel_page .more.white::before {
    background-color: #000;   
}

.hotel_page .contactform div.input, .guest_info .contactform div.input {
    margin: 0px 30px 35px 0px;
    width: calc(50% - 30px);
}

.btn.btn-primary:not(.editable-submit) {
    position: relative;
    width: fit-content;
    background: var(--yellow-color);
    font-size: 16px;
    font-weight: 700;
    color: var(--blue-color);
    cursor: pointer;
    padding: 15px 100px;
    border-radius: 12px;
    display: block;
    margin-top: 25px;
    border: none;
}
.btn.btn-modal{
    display: inline-block!important;
    margin: 0px!important;
    padding: 15px 20px!important;
    border-radius: 4px!important;
    /* border: none!important; */
}
.editable{
    background: url('../img/layout/icons/edit_room.svg') no-repeat right bottom; 
    padding-right: 30px;
    background-size: 25px;
    color: var(--blue-color);
}
.editable-input .input-sm{
    font-size:18px;
}
.editable-submit{
    background: #000;
}

.customers.purchases .page_text h3 {
    color: var(--blue-color);
}

.customers.purchases .page_text h2 {
    color: var(--blue-color)!important;
}

.guest_info, .billing_address {
    background: #fff;
    position: relative;
    overflow: hidden;
    padding: 35px 0px 10px 35px;
    border-radius: 25px;
}

.booking_details {
    margin-top: 40px;
}

.booking_details h5 {
    color: #7b7b7b;
    font-size: 21px;
    font-weight: 650;
    margin-bottom: 10px;
    border-bottom: none;
}

.guest_info.booking_details p {
    font-size: 20px;
    line-height: normal;
    font-weight: 500;
    color: var(--blue-color);
    padding-bottom: 30px;
}

.guest_info.booking_details p.big {
    font-size: 27px;
    font-weight: 650;
}

.guest_info.booking_details p.price {
    font-size: 30px;
    font-weight: 700;
}

.guest_info {
    margin-bottom: 30px;
}

.booking_details textarea {
    width: 100%;
    border: none;
    min-height: auto;
    height: 50px;
    font-size: 20px;
    color: var(--blue-color);
}

.booking_details textarea::placeholder {
    color: var(--blue-color);
    border-bottom: 1px solid var(--blue-color);
    width: fit-content;
}

.booking_room_details {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.check_details {
    display: flex;
    align-items: center;
    gap: 40px;
}

.check_details img {
    width: 45px;
    margin-right: 10px;
}

.back {
    border: 1px solid var(--blue-color);
    width: fit-content;
    background: #fff;
    padding: 17px 50px;
    display: block;
    float: right;
    font-size: 19px;
    font-weight: 500;
    border-radius: 7px;
}

.booking_details img.country {
    width: 28px;
    height: 28px;
    border-radius: 100%;
    margin-left: 10px;
    object-fit: cover;
}

.login_page, .section.my_reservations {
    padding-left: 2.5%;
    padding-right: 3.5%;
}

.login_page .guest_info {
    padding: 35px 0px 35px 35px;
}

.my_reservations .guest_info {
    padding: 35px;
}

.my_reservations .table>thead>tr>th {
    border-bottom: 2px solid var(--blue-color);
    color: var(--blue-color);
    font-size: 20px;
    font-weight: 900;
    line-height: normal;
    position: relative;
}

.my_reservations .table>tbody>tr {
    position: relative;
}

.my_reservations .table>tbody>tr>td {
    color: var(--blue-color);
    font-size: 16px;
    line-height: 27px;
    text-align: left;
}

.my_reservations .table {
    margin-bottom: 0px;
}

.login_page label {
    font-weight: 600;
    color: var(--blue-color);
}

.guest_info p {
    font-size: 15px;
    line-height: 27px;
    font-weight: 500;
}

.guest_info .contactform, .billing_address .contactform {
    margin-top: 30px;
}

.guest_info h4, .billing_address h4 {
    font-size: 25px;
    font-weight: 900;
    color: var(--blue-color);
    line-height: normal;
    position: relative;
    margin-bottom: 20px;
}

.guest_info .contactform div.input label, .billing_address .contactform div.input label {
    background: #fff;
    color: var(--blue-color);
}

.hotel_page .contactform .full div.input, .login_page .contactform .full div.input {
    width: calc(100% - 30px);
}

.hotel_page.checkout .checkbox input[type=checkbox] {
    margin: 0;
    left: 0;
    right: auto;
    border: 2px solid #000;
    box-shadow: none;
    margin-top: 4px;
    margin-right: 0px;
    position: relative;
    float: left;
    background-color: transparent;
    width: 15px;
    appearance: none;
    height: 15px;
    border-radius: 0;
}

.hotel_page.checkout input[type="checkbox"]:checked, .hotel_page.checkout input[type="checkbox"]:focus {
    background-color: #000;
    outline: none;
}

.hotel_page.checkout input[type="checkbox"]:checked::after {
    content: "✓";
    position: absolute;
    color: #fff;
    left: 1px;
    top: -3px;
    font-size: 12px;
}

.hotel_page.checkout .checkbox {
    margin-top: 25px;
    margin-bottom: 20px;
}

.checkout .checkbox label {
    font-size: 15px;
    color: #000;
    font-weight: 500;
    display: block;
}

.payment_methods {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 25px;
}

/* ============ END HOTEL PAGE ============= */


/* ==================== BOOKING FORM ==================== */

.booking_wrap {
    border-bottom: 2px solid var(--blue-color);
    position: relative;
}

.book_info {
    border-right: 2px solid var(--blue-color);
    text-align: left;
    padding: 15px 32px 15px 15px;
    min-height: 90px;
	position: relative;
}

.booking_form .sep {
	font-size: 21px;
    font-weight: 200;
    color: #fff;
}

.book_info label{
	font-size: 22px;
    display: inline-block;
    color: #000;
    font-weight: 100;
    text-align: center;
}
.book_info input {
    font-size: 15px;
    width: fit-content;
    display: inline-block;
    font-weight: 600;
    background: transparent;
    border: none;
    color: #000;
    z-index: 0;
    position: relative;
}

.book_info .divider {
    background-image: url(../img/layout/arrow_button.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 19px;
    position: relative;
    width: 19px;
    height: 19px;
    margin: 0 10px;
    top: 4px;
}

input:-internal-autofill-selected {
	background-color: transparent!important;
}

.book_info input::placeholder {
	color: #000;
	font-weight: 500;
}

.book_info select{
    font-size: 13px;
    font-weight: 100;
    letter-spacing: 3px;
    position: relative;
    display: inline-block;
    background: transparent;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none !important;
    color: #fff;
    line-height: normal;
    text-align: left;
	width: 100%;
	z-index: 1;
	background-image: url(../img/layout/arrow_down.svg);
    background-repeat: no-repeat;
    background-size: 13px;
    background-position: 98% 8px;
}

.book_info select option {
	color: #333;
}

.book_info .minus, .book_info .plus {
    display: block;
    position: absolute;
    top: 50px;
    right: 40px;
    font-weight: 350;
    font-size: 30px;
    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 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.book_submit button {
    border: none;
    color: #fff;
    padding: 14px 14px;
    font-size: 17px;
    font-weight: 800;
    width: 100%;
    overflow: hidden;
    z-index: 1;
    transition: all 0.5s ease-in-out;
    background: #e1b12c;
    border-radius: 50px;
    border: 1px solid #e1b12c;
}

.book_submit button:hover {
    color: #e1b12c;
    background: #fff;
}

.book_info.book_submit {
	border-right: none;
}

.book_title {
    display: flex;
    align-items: center;
    gap: 8px;
	margin-bottom: 10px;
}

.book_title p {
	font-weight: 700;
}

.book_dates {
	display: flex;
	align-items: center;
}

.book_info img {
    width: 16px;
}

.book_info_numbers img {
    width: 18px;
}

.book_info_special_rates {
  position: relative;
}

.special-rates-options {
	background: #fff;
    padding: 15px 30px;
    margin-top: 18px;
    position: absolute;
    width: calc(100% + 30px);
    z-index: 999;
    left: -30px;
}

.book_info .special-rates-options label {
    font-size: 15px;
    display: block;
    color: #000;
    font-weight: 500;
    text-align: left;
    border-bottom: 2px solid #000;
    padding: 17px 0;
	position: relative;
	cursor: pointer;
}

.book_info .special-rates-options label:last-of-type {
	border-bottom: none;
}

.special-rates-options input[type="radio"] {
  opacity: 0;
  position: absolute;
  left: 0;
}

.special-rates-options .icon {
	width: 18px;
    height: 18px;
    border: 2px solid #333;
    border-radius: 50%;
    position: relative;
    float: right;
    background-color: white;
    transition: all 0.2s ease;
}

.book_info .special-rates-options input[type="radio"]:checked + .icon {
  background-color: #000;  
  box-shadow: inset 0 0 0 2px white; 
}

#specialRateInput {
	width: 100%;
    cursor: pointer;
    background-image: url(../img/layout/arrow_down.svg);
    background-repeat: no-repeat;
    background-size: 11px;
    background-position: right;
}

#specialRateInput.open {
	background-image: url(../img/layout/arrow_up.svg);
    background-repeat: no-repeat;
    background-size: 11px;
    background-position: right;
}

.special-rates-options button, #closeDatepicker {
    background: #000;
    color: #fff;
    padding: 16px 60px;
    border-radius: 40px;
    margin: 15px auto;
    font-size: 15px;
    display: block;
    font-weight: 600;
}

.rooms-guests-input-wrap {
  	position: relative;
}

#dateRangeInput {
	width: 100%;
}

#roomsGuestsInput {
    width: 100%;
    cursor: pointer;
    background-image: url(../img/layout/arrow_down.svg);
    background-repeat: no-repeat;
    background-size: 11px;
    background-position: right;
}

#roomsGuestsInput.open {
  	background-image: url(../img/layout/arrow_up.svg);
}

.rooms-guests-options {
    position: absolute;
    background: white;
    padding: 30px;
    margin-top: 18px;
    z-index: 10;
    width: calc(100% + 30px);
    left: -30px;
}

.rooms-guests-options .label-group {
	display: flex;
	flex-direction: column;
	font-size: 14px;
}

.rooms-guests-options .label-group small {
    font-size: 15px;
    color: #000;
}

.book_info .rooms-guests-options label {
	font-size: 15px;
    display: block;
    color: #000;
    font-weight: 700;
    text-align: left;
    position: relative;
}

.rooms-guests-options .room-title {
	font-size: 15px;
    font-weight: 700;
    color: #000;
    margin-bottom: 15px;
}

.room-block {
	position: relative;
  	margin-bottom: 10px;
  	padding-bottom: 10px;
}

.room-block:last-child {
  border-bottom: none;
}

#addRoom {
	background-color: transparent;
    border: none;
    padding: 0;
    color: #000;
    font-size: 15px;
    font-weight: 550;
	display: flex;
}

#addRoom span {
    margin-right: 10px;
    border: 2px solid #000;
    border-radius: 100%;
    width: 22px;
    height: 22px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
}

.option-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
    margin-bottom: 15px;
}

.stepper {
  	display: flex;
  	align-items: center;
}

.stepper button {
    width: 50px;
    height: 50px;
}

.stepper span {
    margin: 0 10px;
    width: 20px;
    text-align: center;
    color: #000;
    font-weight: 600;
    font-size: 15px;
}

.remove-room {
	font-size: 13px;
    font-weight: 500;
    color: #000;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    border-bottom: 1px solid #000;
    line-height: 12px;
}

#toggleBookingForm {
    display: none;
    color: #fff;
    padding: 15px 15px;
    font-size: 17px;
    font-weight: 700;
    width: 100%;
    transition: all 0.3s ease-in-out;
    background: #e1b12c;
    border-radius: 50px;
    border: none;
    cursor: pointer;
}

.close-booking-form {
    position: absolute;
    top: 8px;
    right: 5px;
    background: transparent;
    border: none;
    font-size: 40px;
    cursor: pointer;
    color: #000;
    font-weight: 300;
    display: none;
    z-index: 1;
}

#datepickerContainer {
	position: absolute;
    background: #fff;
    padding: 30px;
    left: -15px;
    width: calc(200% + 47px);
    margin-top: 18px;
	visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}

.flatpickr-calendar.inline, .flatpickr-rContainer, .flatpickr-days, .dayContainer {
    width: 100% !important;
	min-width: auto!important;
	max-width: 100%!important;
}

#datepickerContainer .flatpickr-calendar, #datepickerContainer .dayContainer + .dayContainer, #datepickerContainer .flatpickr-day.inRange, .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
	box-shadow: none!important;
	-webkit-box-shadow: none!important;
}

#datepickerContainer .flatpickr-day {
    height: 39px;
    line-height: 39px;
    font-weight: 700;
}

#datepickerContainer .rangeMode .flatpickr-day {
    margin-top: 7px;
}

#datepickerContainer .flatpickr-months .flatpickr-month {
    height: 45px;
}

#datepickerContainer .dayContainer {
	display: block;
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
    color: #ddd!important;
}

#datepickerContainer .close-x {
    position: absolute;
    top: 5px;
    right: 7px;
    background: transparent;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #000;
    z-index: 10;
    font-weight: 350;
}

#datepickerContainer .flatpickr-current-month {
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 700;
}

#datepickerContainer .flatpickr-current-month span.cur-month, #datepickerContainer .flatpickr-current-month input.cur-year {
    font-weight: 800;
}

#datepickerContainer .flatpickr-day.today {
    border-color: #000;
}

#datepickerContainer .flatpickr-day.today:hover, #datepickerContainer .flatpickr-day.today:focus {
    border-color: #000;
    background: #000;
}

#datepickerContainer .flatpickr-days, #datepickerContainer .flatpickr-weekdays {
    gap: 45px;
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    background: #000!important;
    border-color: #000!important;
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
    background: #000!important;
    border-color: #000!important;
    color: #fff;
}

.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;
    border: 2px solid #000;
    border-radius: 100%;
    background-color: transparent;
}

.booking_date {
    display: block;
    overflow: hidden;
    width: 65%;
    text-align: center;
    position: absolute;
    bottom: 215px;
}

.booking_room .booking_form {
    padding: 0;
}

.booking_date.booking_room {
    padding: 40px 60px 60px 60px;
    position: relative;
    background: #EFE5D5;
    width: 100%;
    bottom: auto;
    text-align: left;
}

.inner.paginate {
	width: calc(100% - 4%);
    margin: 0 2%;
}

.pagination.bottom {
    display: flex;
    padding-left: 0;
    border-radius: 0;
    width: 100%;
    border-top: 1px solid #35444e;
    margin-bottom: 0;
}

.pagination .stats {
    font-size: 30px;
    font-weight: 100;
    color: #35444e;
    text-transform: uppercase;
    display: block;
    text-align: center;
}

.pagination img {
	width: 32px;
}

.pagination .pages {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    padding-top: 30px;
}

.page-navigation.right {
	float: right;
}

h2.book {
	font-size: 21px;
    font-weight: 200;
    letter-spacing: 2px;
    margin-bottom: 30px;
    margin-left: 15px;
    color: #719165;
    position: relative;
    margin-top: 80px;
    text-transform: uppercase;
}

.booking_room .book_info input {
    text-align: left;
    color: #35444e;
    text-transform: uppercase;
    background-image: url(../img/layout/arrow_down_black.svg);
}

.booking_room .book_info input::placeholder {
	color: #35444e;
	font-weight: 400;
}

.booking_room .book_info_date img {
    width: 18px;
    position: absolute;
    right: 0;
    margin-top: 9px;
}

.booking_room .book_info {
    padding: 20px 0px;
    margin-bottom: 15px;
    border-right: none;
    border-bottom: 1px solid #35444e;
    display: flex;
    justify-content: flex-start;
    text-align: left;
    width: 100%;
}

.book_info_numbers img.book_arrow {
	width: 18px;
    position: absolute;
    right: 0;
    margin-top: 9px;
    margin-right: 0;
}

.booking_room .book_info.book_info_numbers .book_info_bottom {
	width: 100%;
}

.booking_room .book_info select {
	background-image: url(../img/layout/arrow_down_black.svg);
    color: #35444e;
}

.booking_room .book_submit {
    padding: 0;
    display: block;
    width: 100%;
    margin: 0;
}

.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_room .book_submit button {
    border: 1px solid #35444e;
    color: #35444e;
    font-weight: 400;
    width: fit-content;
    padding: 15px 40px;
    margin: 25px auto 0 auto;
    display: block;
}

.booking_room .book_submit button:hover {
	background: #35444E;
    color: #FFFAF2;
}

.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;     
}



/* checkout booking */
.booking_checkout {
    display: flex;
    justify-content: space-between;
    padding: 0 40px 0 30px;
}

.booking_checkout .book_info {
    border-right: none;
}

.booking_checkout .book_title p {
    font-size: 19px;
    font-weight: 800;
}

.booking_checkout .book_info img {
    width: 22px;
}

.rooms .booking_checkout p {
    font-size: 18px;
    line-height: 28px;
}

.book_info #countdown {
    text-align: right;
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
}

/* ==================== END BOOKING FORM ==================== */


/* 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;}

.destination_box {
    margin: 0 20px 60px 20px;
    position: relative;
    overflow: hidden;
}

.destination_box img {
    transition: transform .5s ease;
}

.destination_box:hover img {
	transform: scale(1.1);
}

.destination_box h3 {
	font-size: 25px;
    margin-top: 27px;
    font-weight: 400;
    letter-spacing: 6px;
    color: #fff;
    text-transform: uppercase;
    position: absolute;
    left: 30px;
    top: 0;
}

.room_box {
	margin: 70px 0px 0 35px;
    position: relative;
    margin-bottom: 30px;
}
.room_box .room_box_title { font-size: 30px;    font-weight: 300;    line-height: 40px;    color: #674439;    text-transform: uppercase;    font-family: 'Alegreya', serif; }
.room_box .room_box_subtitle {font-size: 16px;    line-height: 30px;    margin: 10px 0 30px 0;    font-weight: 300;}
.room_box a.button {
    position: absolute;
    bottom: -27px;
    right: 0;
    z-index: 1;
}

.room_box a.room_button {
    background-image: url(../img/layout/arrow_white.svg);
    background-repeat: no-repeat;
    background-size: 40px;
    background-position: 32px center;
    color: #fff;
    position: absolute;
    bottom: 50px;
    right: 0;
    padding: 14px 80px 14px 95px;
    font-size: 21px;
    font-weight: 100;
    line-height: normal;
    display: block;
	z-index: 1;
}

.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;
}	

.category_description_wrap {
	background: #fff;
    padding: 0 35px 0px 35px;
    margin-top: -60px;
    margin-left: 60px;
    position: relative;
    z-index: 1;
    margin-right: 80px;
}

.category_description {
    padding: 60px 110px;
    position: relative;
    display: flex;
    flex-direction: column;
    border-top: 15px solid #EAD19D;
    background: #fff;
}

.category_description img {
	width: 60px;
    margin: 15px auto 0 auto;
    display: block;
}

.category_description p {
    margin-top: 40px;
    font-weight: 400;
    text-align: center;
    line-height: 35px;
}

.category_description hr {
	margin-top: 10px;
	margin-bottom: 10px;
	border: 0;
	border-top: 1px solid #316280;
	width: 90%;
}

.category_facilities h1 {
    font-size: 52px;
    font-weight: 300;
    margin-bottom: 35px;
    color: #316280;
    position: relative;
}

.category_description ul {
	text-align: center;
}

.category_description h2 {
    position: relative;
    text-align: center;
    font-size: 30px;
    color: #5a7350;
    font-weight: 100;
    letter-spacing: 4px;
    line-height: 40px;
    background: #fff;
    width: fit-content;
    padding: 0 15px 20px 15px;
    margin: 0 auto;
}

.features_title {
	position: relative;
}

.features_title:before {
	content: '';
    position: absolute;
    border-top: 1px solid #5a7350;
    width: 95%;
    left: 0;
    right: 0;
    margin: 17px auto 0 auto;
}

.category_description ul li {
    font-size: 18px;
    color: #316280;
    line-height: 35px;
    font-weight: 300;
    display: inline-flex;
    padding: 0px 35px;
    position: relative;
    align-items: center;
}

.category_description ul li:last-child:after {
	content: '';
}

.category_description ul li:after {
    content: '';
    border-right: 1px solid #316280;
    position: absolute;
    right: 0;
    height: 30px;
}

.category_description ul li:last-child::after {
	border: none;
}

.category_facilities {
	background: #fff;
    border-top: 15px solid #316280;
    padding: 90px;
}

.category_facilities ul li {
    display: inline-flex;
    width: 49%;
    font-size: 24px;
    font-weight: 400;
    line-height: 38px;
    position: relative;
    padding: 10px 20px 10px 20px;
    flex-wrap: wrap;
    color: #333;
}

.room_location h1 {
	text-align: center;
    font-size: 58px;
	margin-bottom: 30px;
    color: #5a7350;
    font-weight: 100;
    letter-spacing: 5px;
}

.room_location .blue_bg {
	background: linear-gradient(180deg, rgba(188,199,185,1) 0%, rgba(165,186,159,1) 50%, rgba(158,179,152,1) 100%);
	overflow: visible;
    display: flex;
}

.room_location {
	overflow: visible;
}

.room_address_wrap {
	background: #fff;
    position: absolute;
    display: flex;
    width: 65%;
    margin: 0 auto;
    padding: 0 40px 40px 40px;
    margin-top: -70px;
    left: 0;
    right: 0;
}

.room_address {
    border: 1px solid #9fb499;
    border-top: none;
    position: relative;
    display: flex;
    padding: 60px 140px 60px 140px;
    width: 100%;
	align-items: center;
}

.room_address h3 {
	color: #5a7350;
    font-size: 24px;
    letter-spacing: 1px;
    font-weight: 300;
    margin-bottom: 15px;
}

.address_right p {
	color: #5a7350;
    font-size: 20px;
	line-height: normal;
    font-weight: 400;
}

.address_right img {
	width: 20px;
	margin-left: 25px;
    margin-right: 15px;
	display: inline-block;
}

.drive_me{
	margin-top: 20px;
    display: inline-block;
    width: fit-content;
    font-size: 19px;
    font-weight: 400;
    letter-spacing: 1px;
    border-bottom: 1px solid #5a7350;
    padding-right: 35px;
    padding-bottom: 3px;
}

.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;
}

.link_gallery{
	height: 100%;
    text-align: center;
}

.link_gallery a{
    width: 100%;
    height: 100%;
    display: inline-block;
    position: absolute;
    cursor: pointer;
    text-transform: uppercase;
    overflow: hidden;
    -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;
}

.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;
    font-family: 'Alegreya', serif;
}

.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;
    font-family: 'Alegreya', serif;
}


/* GALLERY PAGE
================================================== */

.fancybox-video {
  display: none;
}
img.gallery_video{
	width:100%;
}

.video_play{
	background: transparent url(../img/layout/video_play.png) no-repeat center center;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 999;
	opacity: 0.9;
}

.gallery_title {text-align:center;}
.gallery_page h3{font-size: 40px;    font-weight: 300;    line-height: 60px;    color: #674439;    text-transform: uppercase; font-family: 'Alegreya', serif;}

.gallery_box {
	margin-bottom: 20px;
    position: relative;
    padding-left: 130px;
    background: #EBEAE6;
	margin-top: 50px;
	width: calc(50% - 70px);
}
.gallery_box.right {
	margin-bottom: 20px;
    position: relative;
    padding-left: 0px;
	padding-right: 130px;
    background: #EBEAE6;
	margin-top: 160px;
    margin-left: 70px;
}
.gallery_box .gallery_image { position:relative;	overflow:hidden; }
.gallery_box img {width:100%; transition: all 0.3s ease 0s;}
.gallery_box .gallery_text {  z-index:9;width:100%;text-align:left;display:block;  transition: all 0.3s ease 0s;}
.gallery_box.right .gallery_text { text-align: right; }
.gallery_box .gallery_text span{
	font-size: 35px;
    line-height: normal;
    letter-spacing: 1px;
    color: #606060;
    font-weight: 100;
    background: #fff;
    display: block;
    padding: 45px 35px;
    transition: all 0.3s ease 0s;
}

.gallery_text span p {
	font-size: 20px;
    line-height: normal;
    margin-top: 15px;
	letter-spacing: 1px;
}

.gallery_box:hover .gallery_text span { letter-spacing: 1.5px; transition: all 0.3s ease 0s; }
.gallery_box:hover .gallery_text span p { 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%;
	}
}

.albums_swiper {
    position: relative;
    display: block;
    overflow: hidden;
    margin-left: 8%;
	padding-bottom: 120px;
}

.gallery_page {
	background-color: #EBEAE6;
	padding-bottom: 0px;
	margin-top: 70px;
	padding-top: 0;
}


/* LOCATION PAGE
================================================== */

.map{ 
	width: 100%;
    height: 100%;
    min-height: 580px;
    margin: 0 auto;
    position: relative;
}


/* CONTACT PAGE
================================================== */
.contact_bg {
	background-color: #E3DFDA;
	overflow: visible!important;
}

.contact_intro {
	margin-top: 120px;
	background-color: #EBEAE6;
	margin-left: 8.33%;
}

.contact_content {
	z-index: 9999;
    display: flex;
    width: 100%;
    align-items: flex-end;
    bottom: 0px;
    left: 21%;
    justify-content: flex-end;
}

.contact_content h2 {
	color: #f5f5f5;
    font-size: 42px;
    font-weight: 100;
    line-height: 55px;
    margin-bottom: 30px;
}

.contact_content p {
    font-size: 22px;
    font-weight: 100;
    line-height: 30px;
    color: #f5f5f5;
    display: block;
    margin-bottom: 20px;
}

.contact_right {
    padding: 0 11% 0 50px;
}

.contact_right h2 {
	font-size: 25px;
    margin-bottom: 30px;
    color: #fff;
    font-weight: 100;
    margin-top: 13px;
}

.contact_right.mob {
	display: none;
}

.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_details {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-top: 35px;
    padding-top: 35px;
    border-top: 1px solid var(--blue-color);
}

.contact_details p {
    font-size: 21px;
    line-height: 35px;
    margin-bottom: 5px;
    font-weight: 500;
}

.contact_details p a {
    font-weight: 800;
}

.contact_details .footer_social {
	top: 5px;
}

.contact_details p.first {
	margin-top: 25px;
}

.contact_details a {
    color: var(--blue-color);
	transition: all 0.5s ease-in-out;
}

.contact_details a:hover {
	text-decoration: underline;
}

.contact_form{
    padding: 60px 3%;
    position: relative;
    display: block;
    background: #94b4d9;
    overflow: hidden;
}

.contact_form p {
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 300;
    color: #fff;
    line-height: 30px;
    margin: 40px 0px 0px 40px;
    display: inline-block;
}

.contact_form h4{
    color: #000;
	font-size: 30px;
    line-height: 36px;
    margin-top: 10px;
    margin-bottom: 50px;
    font-weight: 400;
}
.contactform{
	width: 100%;	
}
.contactform div.input{
    float: left;
    margin: 0px 20px 35px 20px;
    padding: 0;
    width: calc(100% - 50px);
    position: relative;
    background: none;
}
.contactform div.input.last{
	margin-right:0px;
}
.contactform div.textarea {
    float: left;
    margin: 0px 0px 25px 15px;
    padding: 0;
    width: calc(100% - 15px);
}

.contactform div.submit{
    margin: 0px 0 0px 15px;
    display: inline-block;
}

.contactform div.input label {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    position: absolute;
    background: #94b4d9;
    margin-left: 22px;
    top: -9px;
    padding: 0 10px;
}

.equal_height {
    display: flex;
    margin: 0 70px;
    background: #316280;
}

.contact_map {
	margin: 0 70px;
}

.contactform input[type="text"], .contactform input, .contactform textarea, .contactform select {
    width: 100%;
    padding: 17px 15px;
    margin: 0px;
    font-size: 14px;
    background: transparent;
    color: #fff;
    transition: all 0.4s ease;
    text-align: left;
    float: left;
    font-weight: 400;
    border: 2px solid #fff;
    border-radius: 8px;
}

.customers .contactform input[type="text"], .customers .contactform input, .customers .contactform textarea, .customers .contactform select {
    color: var(--blue-color);
    border: 2px solid var(--blue-color);
}

.required.error, input.error{
    border: 2px solid #cf1322!important;
}
div label.error{
    color: #cf1322!important;
    /* background: #cf1322!important; */
    font-weight: bold!important;
    font-size: 11px!important;
}

.contactform input[type="radio"], .payment_methods input[type="radio"] {
    width: auto;
    display: inline-block;
    position: relative;
    float: none;
    margin: 0 5px;
}

.contactform input[type="text"]::placeholder, .contactform textarea::placeholder {
	color: #000;
	font-weight: 400;
}

.contactform textarea {	
    width: 100%;
    padding: 17px 15px;
    height: 140px;
}

.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{
    position: relative;
    width: fit-content;
    background: #000;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
    padding: 15px 100px;
    border-radius: 12px;
    display: block;
    margin-top: 30px;
    border: none;
}

.login_page .contactform div.submit {
    margin: 0;
    display: block;
}

.login_page .contactform div.submit input {
    margin-top: 0px;
}

.btn-link {
    font-weight: 500;
    color: var(--blue-color);
    border-radius: 0;
    display: block;
    margin-top: 25px;
    text-align: left;
    padding: 0;
}

.contactform div.submit input:hover{	
    color: #fff;
    background: var(--blue-color);
    transition: all 0.3s ease 0s;
}
.contactform div.submit input:active{	
    color: #fff;
    background: var(--blue-color);
    transition: all 0.3s ease 0s;
}

.contactform .required label:after {
	color:#e32;
	content:'*';
	display:inline;
}
.contactform div label.error{
    color: #000;
    font-size: 10px;
    font-weight: 500;
    width: 100%;
    text-align: left;
    float: left;
    position: relative;
    top: auto;
    margin: 3px 0 0 0;
    padding: 0;
}

.info-window-content p.balloon-first{
	font-size: 20px;
    margin-bottom: 10px;
    color: #000;
    font-weight: 500;
    border-bottom: 1px solid #000;
}
.info-window-content p.balloon-second{
	font-size: 15px;
    text-decoration: none;
    margin: 0px 0 10px 0;
    font-weight: 300;
    color: #000;
    line-height: 22px;
}
.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: 0;
    left: 0;
    color: #FFF;
    font-size: 18px;
    text-align: center;
    background: #c5a328;
    width: 100%;
    z-index: 2000;
    zoom: 1;
    padding: 20px 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: 20px;
    right: 15px;
    background-color: #000;
    border-radius: 100%;
    opacity: 0.4;
}

.hello-bar .close:hover {
    background-position: bottom left;
}

#scrollUp {
    background: var(--yellow-color) none repeat scroll 0 0;
    border-radius: 100%;
    border: 1px solid var(--blue-color);
    bottom: 100px;
    color: var(--blue-color);
    font-size: 20px;
    opacity: 0.9;
    right: 20px;
    width: 50px;
    padding: 12px 25px 17px 25px;
    display: flex;
    text-decoration: none;
    transition: background 200ms linear 0s;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    justify-content: center;
    align-items: center;
}

.rooms #scrollUp, .properties #scrollUp, .checkout #scrollUp {
	background: transparent;
    color: var(--blue-color);
    border: none;
    opacity: 1;
    box-shadow: none;
    font-size: 13px;
    font-weight: 800;
    writing-mode: sideways-lr;
	padding: unset;
    width: auto;
}

.checkout #scrollUp {
    /* color: #000!important; */
}

.rooms #scrollUp.light, .properties #scrollUp.light, .checkout #scrollUp.light{
  background: #000;
  color: #fff;
  border: 1px solid #fff;
}

.rooms #scrollUp.dark, .properties #scrollUp.dark, .checkout #scrollUp.dark {
  background: #fff;
  color: #000;
  border: 1px solid #000;
}



/* MEDIA QUERIES
================================================== */
@media only screen and (max-width: 1800px) {
	/* HEADER */
	.header_right {
		gap: 20px;
	}
}

@media only screen and (max-width: 1650px) {
	/* INSTAGRAM */
	.image-wrapper img {
    	height: 310px;
	}

    /* HOTELS & SUITES */
    .hotel-list span.title {
        font-size: 25px;
    }

    .hotel-list a.book_now {
        padding: 20px 40px;
    }

	/* DESTINATIONS */
	#destinations .title, #destinations.hotel-list span.title {
	    font-size: 22px;
    	margin-bottom: 15px;
	}

	/* HEADER */
	.menu ul li {
        margin-right: 12px;
    }

	.header_reservation p, .header_sign p {
    	font-size: 13px !important;
	}

    /* HOTEL PAGE */
    .hotel_page .more {
        margin: 40px 0 0px 0;
    }

    .property_section h3 {
        font-size: 45px;
        line-height: 55px;
        margin-bottom: 40px;
        padding-right: 20px;
    }
}

@media only screen and (max-width: 1499px) {
	/* INSTAGRAM */
	.image-wrapper img {
        height: 260px;
    }

	/* MEETINGDS & EVENTS */
	.page_text h1 {
    	font-size: 70px;
    	line-height: 70px;
	}

	/* EXPERIENCES */
	.page_text .experience_box h3 {
        font-size: 26px;
        margin-bottom: 5px;
	}

	/* HOMES & VILLAS */
	.page_text .home_villa_box h3 {
    	font-size: 23px;
	}

	/* DESTINATIONS */
	#destinations .title, #destinations.hotel-list span.title {
        font-size: 20px;
        margin-bottom: 10px;
    }

    #destinations.hotel-list li img {
        width: 350px;
        height: auto;
    }

	/* HOTELS & SUITES */
	.hotel-list li img {
    	width: 350px;
	}

    .hotel-list li {
        margin-right: 25px;
    }

    .map_sidebox input {
        width: calc(100% - 25px);
    }

    .sight_info {
        margin-left: 20px;
    }

	.hotel-list span.title {
	    font-size: 22px;
    	margin-bottom: 15px;
	}

	.hotel-list a.book_now {
    	padding: 15px 60px;
        font-size: 20px;
	}

    .hotel-list span.subtitle {
        font-size: 19px;
    }

	/* HEADER */

    /* HOTEL PAGE */
    .footer .social_media a {
        width: 60px;
        height: 60px;
    }

    .footer {
        padding-top: 120px;
    }

    .hotel_page .more {
        margin: 30px 0 0px 0;
    }

    .modal-content h4 {
        font-size: 45px;
    }

    .property_section h3 {
        font-size: 40px;
        line-height: 50px;
        padding-right: 0px;
    }

    .property_section p {
        padding-right: 40px;
    }

    .hotel_page .property_section .more {
        margin: 30px 0 0px 0;
    }

    .property_section {
        gap: 40px;
    }

    .top_bar {
        padding: 3px calc(1% + 15px);
    }

    .hotel_info {
        padding: 7px 1%;
    }

    .room_rates .room_title {
        padding-left: 30px;
    }

    .room_rates_list {
        padding-left: 30px;
    }
    .room_rates_header {
        padding-left: 0px;
    }

    /* LOGIN */
    .page_text.page_heading_image.no_banner h1 {
        font-size: 65px;
        line-height: 65px;
    }

}

@media only screen and (max-width: 1360px) {

    .room_rates .room_title {
        flex-basis: 70%;
    }
}
@media only screen and (max-width: 1349px) {
	/* FOOTER */
	.footer_box {
    	margin-left: 0px;
	}

	.padd_prefooter {
    	padding: 110px 9% 20px 9%;
	}

	.copyright_wrapper {
	    padding: 30px 10%;
	}

	/* MEETINGDS & EVENTS */
	.page_text h1 {
        font-size: 65px;
        line-height: 65px;
    }

    .meeting_box .book_now {
        font-size: 19px;
        padding: 20px 60px;
    }

	.meeting_text {
    	padding: 0 15px;
	}

	.page_text h3 {
    	font-size: 22px;
    	margin-bottom: 7px;
	}

	/* EXPERIENCES */
	.experience_box p {
        font-size: 18px;
	}

	.page_text .experience_box h3 {
        font-size: 24px;
        margin-bottom: 3px;
    }

    .experience_text_inner {
        padding: 0 40px;
    }

    .page_text .experience_inner_box_other h3 {
        margin-top: 25px;   
    }


	/* HOMES & VILLAS */
	.home_villa_text {
        min-height: 245px;
        padding: 20px;
    }

    /* DESTINATIONS */
    #destinations.hotel-list li img {
        width: 290px;
    }

    .location-tabs .tab {
        font-size: 19px;
    }

	/* HOTELS & SUITES */
	.hotel-list li img {
        width: 290px;
    }

    .hotel-list a.book_now {
        padding: 15px 30px;
        font-size: 19px;
    }

	.hotel-list span.title {
        font-size: 20px;
    }

	/* BANNER */
	.home_header_content h1 span {
    	font-size: 75px;
	}

	/* HEADER */
	.menu ul li {
        margin: 0 7px;
        font-size: 14px;
    }

    #header {
        width: calc(100% - 40px);
        margin: 0 20px;
    }

    #logo {
        width: 180px;
        height: 50px;
    }

    .header_reservation img, .header_sign img {
        width: 37px;
    }

    .languages a.selected_lang {
        font-size: 15px;
    }

    .header_right {
        gap: 10px;
    }

    /* CONTACT PAGE */
    .contact_details p {
        font-size: 19px;
        line-height: 28px;
    }

    .contactform div.submit input, .btn.btn-primary:not(.editable-submit) {
        padding: 15px 80px;
    }

    .contactform div.submit {
        margin: 0px 0 0px 0px;
    }

    .contact_right {
        padding: 0px 11% 0 30px;
    }


    /* HOTEL PAGE */
    .footer .footer_box {
        padding: 50px 0;
        min-height: 250px;
    }

    .footer .footer_box.sec {
        padding-left: 50px;
    }

    .footer .social_media {
        padding: 50px 0px 50px 50px;
    }

    .footer .social_media a {
        width: 55px;
        height: 55px;
    }

    .footer .social_media img.facebook {
        width: 14px;
    }

    .footer .social_media img {
        width: 25px;
    }

    .footer {
        padding-top: 100px;
    }

    .location_left {
        padding-right: 0px;
    }

    .location_left ul li {
        font-size: 15px;
        padding-bottom: 10px;
        margin: 10px 0;
        padding-right: 15px;
    }

    .location_left ul li:after {
        font-size: 22px;
    }

    .facilities_section {
        gap: 45px;
    }

    .modal-content {
        height: 805px;
        padding: 50px;
    }

    .room_info {
        padding: 50px;
    }

    .room_info:after {
        right: 50px;
    }

    .property_section p {
        padding-right: 20px;
    }

    .property_section h3 {
        font-size: 35px;
        line-height: 45px;
        padding-right: 0px;
        margin-bottom: 30px;
    }

    #header_hotel #lang_info {
        position: relative;
        top: auto;
    }

    .hotel_reviews {
        gap: 20px;
    }

    .hotel_details ul li {
        font-size: 13px;
        padding: 0 6px;
    }

    .room_rates h3 {
        font-size: 30px;
    }

    .room_rates .room_title {
        padding-bottom: 20px;
    }

    .container_tab .room_rates_list ul li {
        padding: 15px 0;
    }

    .rate_title h4 {
        font-size: 17px;
    }

    .rate_price p.price {
        font-size: 25px;
    }

    .tab_content .swiper-button-next, .tab_content .swiper-button-prev {
        background-size: 22px;
        right: 0px;
        width: 58px;
        height: 56px;
    }

    .selected_room_info {
        padding: 20px;
    }

    .selected_room_info h3 {
        font-size: 27px;
    }

    .selected_room_info a.edit_btn:before {
        width: 18px;
        height: 18px;
        background-size: 18px;
    }

    .extra_addons {
        padding: 20px;
    }

    .addon_button {
        right: 25px;
        bottom: 25px;
    }

    .addon_text h5 {
        font-size: 20px;
        margin-bottom: 10px;
        padding-right: 10px;
    }

    .addon_text ul {
        margin-bottom: 10px;
    }

    .addon_text {
        padding: 20px;
    }

    .rooms .selected_room p.small {
        margin-bottom: 20px;
    }

    .guest_info, .billing_address {
        padding: 25px 0px 0px 25px;
    }

    .contactform input[type="text"], .contactform input, .contactform textarea, .contactform select {
        padding: 13px 12px;
    }

    .payment_methods img {
        width: 120px;
    }

    /* LOGIN */
    .page_text.page_heading_image.no_banner h1 {
        font-size: 60px;
        line-height: 60px;
    }

    .login_page .guest_info {
        padding: 25px 0px 25px 25px;
    }

    .my_reservations .table>thead>tr>th {
        font-size: 18px;
    }

    .my_reservations .table>tbody>tr>td {
        line-height: 24px;
    }

    .my_reservations .guest_info {
        padding: 25px;
    }

    /* MY RESERVATIONS */
    .guest_info.booking_details p.big {
        font-size: 25px;
    }
}

@media only screen and (max-width: 1199px) {
	.padd_top {
    	padding-top: 100px;
	}

	.padd {
    	padding-top: 100px;
    	padding-bottom: 100px;
	}

	/* FOOTER */
	.padd_prefooter {
        padding: 110px 15px 20px 15px;
    }

	.copyright_wrapper {
        padding: 30px 15px;
    }

    .footer_box h6 {
        font-size: 23px;
        margin-bottom: 20px;
    }

	/* MEETINGDS & EVENTS */
	.home_text {
    	margin-left: 9%;
    	margin-bottom: 50px;
        margin-right: 0;
        padding-right: 15px;
	}

	.page_text h1 {
        font-size: 60px;
        line-height: 60px;
    }

	.page_text h2 {
    	font-size: 32px;
	}

	.meeting_box .book_now {
        padding: 16px 50px;
        font-size: 18px;
	}

    .meeting_box {
       margin: 0 0px;
    }

	/* EXPERIENCES */
	.experience_box {
		margin: 15px 0;
	}

    .experience_subtitle {
        margin-bottom: 20px;
    }

    .book_now {
        padding: 15px 80px;
        margin-top: 30px;
    }

    .experience_text_inner {
        padding: 0 30px;
    }

    .page_text .experience_box h3 {
        font-size: 26px;
    }

    .page_text .experience_inner_box_other h3 {
        margin-top: 20px;
    }

    .intro_text {
        padding: 0 10%;
    }

	/* HOMES & VILLAS */
	.homes_villas .clear.first {
		display: none;
	}

	/* DESTINATIONS */
	#destinations .title {
    	left: 20px;
	}

    .location-tabs .tab {
        font-size: 18px;
    }

    .home_text .button {
        right: 1%;
    }

    .location-tabs {
        margin: 30px 30px;
        gap: 25px;
    }

	#destinations .subtitle {
    	top: 20px;
    	left: 20px;
	}

     #destinations.hotel-list li img {
        width: 230px;
    }

	/* HOTELS & SUITES */
	.hotel-list li img {
        width: 230px;
    }

    .button {
        padding-right: 30px;
        font-size: 20px;
        background-size: 21px;
        background-position: right 3px;
    }

    .hotel-list a {
        font-size: 18px;
    }

    .hotel-list span.subtitle {
        font-size: 18px;
        margin-top: 0;
        margin-bottom: 20px;
    }

	.hotel-list span.title {
        font-size: 19px;
        margin-bottom: 10px;
    }

	.map_sidebox input {
    	padding: 15px 40px;
    	font-size: 18px;
	}

	/* BANNER */
	.home_header_content h1 span {
        font-size: 70px;
    }

    .home_header_content h1 {
        font-size: 50px;
        line-height: 60px;
    }

	/* HEADER */
	.menu_right {
		display: none;
	}

	.header_right .header_reservation, .header_right .header_sign {
		display: none;
	} 

	.open_menu {
        display: block;
        margin-left: 15px;
	}

	.header_wrap {
    	align-items: center;
	}

	.open_menu img {
        width: 42px;
        height: 42px;
	}

    #header.fixed .header_right {
        padding-bottom: 0px;
    }

    #header.fixed .open_menu img {
        width: 38px;
        height: 38px;
    }

	#lang_info {
        position: relative;
        top: auto;
    }

    /* CONTACT PAGE */
    .contactform div.input {
        margin: 0px 0px 30px 0px;
        padding: 0;
        width: 100%;
    }

    .contact_form {
        padding: 60px 1% 30px 1%;
    }

    .contact_right {
        padding: 0px 5% 0 30px;
    }

    /* HOTEL PAGE */
    .footer .social_media {
        padding: 40px 0px 40px 30px;
    }

    .footer .footer_box {
        padding: 40px 0;
        min-height: 230px;
    }

    .footer h2 {
        font-size: 45px;
        padding-bottom: 40px;
    }

    .social_media {
        flex-wrap: wrap;
    }

    .footer .footer_box.sec {
        padding-left: 40px;
    }

    .footer {
        padding-top: 80px;
    }

    .hotel_page {
        padding-left: 15px;
        padding-right: 15px;
    }

    .instagram_wrap.inner {
        padding-left: 15px;
        padding-right: 15px;
        margin-top: -40px;
    }

    .hotel_page h2 {
        font-size: 42px;
        padding-bottom: 40px;
    }

    .location_left ul {
        margin-top: 40px;
    }

    .facilities_section {
        gap: 35px;
    }

    .modal-dialog {
        max-width: calc(100% - 55px);
    }

    .modal-content h4 {
        font-size: 40px;
    }

    .property_section p {
        width: 100%;
        display: flex;
    }

    .property_section h3 {
        font-size: 28px;
        line-height: 38px;
        padding-right: 0px;
        margin-bottom: 20px;
    }

    #header_hotel .open_menu {
        display: none;
    }

    .top_bar {
        padding: 3px 15px;
    }

    #header_hotel .header_wrap {
        margin: 0;
    }

    .book_info {
        padding: 10px 20px 10px 0px;
        min-height: 80px;
    }

    .book_title p {
        font-size: 14px;
    }

    .book_submit button {
        padding: 13px 13px;
        font-size: 16px;
    }

    .special-rates-options {
        padding: 10px 20px;
        margin-top: 13px;
    }

    .special-rates-options button, #closeDatepicker {
        padding: 12px 50px;
        margin: 10px auto;
        font-size: 14px;
    }

    .book_info .special-rates-options label {
        padding: 12px 0;
    }

    .special-rates-options .icon {
        width: 15px;
        height: 15px;
    }

    .rooms-guests-options {
        padding: 20px;
        margin-top: 13px;
    }

    .book_info .minus, .book_info .plus {
        font-size: 25px;
    }

    #datepickerContainer .flatpickr-days, #datepickerContainer .flatpickr-weekdays {
        gap: 30px;
    }

    .book_submit button {
        font-size: 15px;
    }

    #datepickerContainer {
        padding: 20px;
        margin-top: 13px;
    }

    .stepper button {
        width: 45px;
        height: 45px;
    }

    .stepper span {
        margin: 0 5px;
    }

    .hotel_reviews {
        gap: 15px;
        justify-content: center;
        margin-bottom: 3px;
    }

    .hotel_details ul {
        justify-content: center;
    }

    .hotel_details ul li img {
        width: 19px;
        margin-right: 2px;
    }

    #datepickerContainer .flatpickr-months .flatpickr-month {
        height: 40px;
    }

    .book_title {
        margin-bottom: 6px;
    }

    .hotel_info {
        padding: 9px 15px;
    }

    .swiper-hotel-banner h1 {
        font-size: 45px;
        line-height: 55px;
    }

    .room_rates .room_title {
        padding-bottom: 20px;
        padding-top: 20px;
        padding-left: 0;
    }

    .room_rates_list {
        padding-left: 0px;
    }

    .container_tab ul li {
        padding: 35px 0;
    }

    .checkout_steps ul li {
        padding-bottom: 25px;
    }

    .addon_text h5 {
        font-size: 18px;
        padding-right: 0px;
    }

    .addon_text ul li {
        font-size: 14px;
        padding: 3px 0 3px 13px;
    }

    .switch, .addon_box .switch {
        width: 55px;
        height: 30px;
    }
    .slider::before {
        height: 24px;
        width: 24px;
        left: 2px;
        bottom: 1px;
    }

    .addon_button {
        right: 20px;
        bottom: 20px;
    }

    .switch {
        width: 55px;
        height: 30px;
    }

    .rooms p.total {
        font-size: 23px;
    }

    .addon_box {
        margin-bottom: 25px;
    }

    .checkout_steps ul li.prev .num {
        background-size: 26px;
    }

    .payment_methods img {
        width: 100px;
    }

    /* LOGIN */
    .page_text.page_heading_image.no_banner h1 {
        font-size: 50px;
        line-height: 50px;
    }

    .page_heading_image.no_banner {
        padding: 40px 0;
    }

    .login_page, .section.my_reservations {
        padding-left: 0px;
        padding-right: 0px;
    }

    .guest_info.last {
        margin-bottom: 0;
    }

    .my_reservations .table>thead>tr>th {
        font-size: 16px;
    }

    .my_reservations .table>tbody>tr>td {
        line-height: 21px;
        font-size: 15px;
    }

}

@media only screen and (max-width: 991px) {
	/* FOOTER */
	.footer_box h6 {
		font-size: 18px;
		margin-bottom: 25px;
	}

	.padd_prefooter {
        padding: 90px 15px 20px 15px;
    }

	.footer_flex {
    	padding: 40px 0 30px 0;
	}

    /* HEADER */
    #logo {
        width: 180px;
        height: 45px;
    }

	/* INSTAGRAM */
	.image-wrapper img {
        height: 330px;
        object-position: center;
	}

	/* MEETINGDS & EVENTS */
	.page_text h1 {
        font-size: 55px;
        line-height: 55px;
    }

	.page_text h2 {
        font-size: 28px;
    }

	.home_text p {
    	margin-right: 0%;
	}

	.home_text .button {
    	position: relative;
    	margin-top: 25px;
	}

	.meeting_box {
		margin: 15px 0;
	}

    .home_meetings .col-lg-4, .homes_villas .col-lg-4 {
        padding-left: 0;
        padding-right: 0;
    }

	/* EXPERIENCES */
	.page_text .experience_box h3 {
    	margin-top: 15px;
	}

    .page_text .experience_inner_box_other h3 {
        margin-top: 15px;
        font-size: 20px;
    }

    .experience_inner_box_first {
        margin-top: 35px;
        flex-direction: column;
    }

    .experience_text_inner {
        padding: 30px;
    }


	/* HOMES & VILLAS */
	.page_text .home_villa_box h3 {
        font-size: 21px;
    }

	.home_villa_text {
	    min-height: auto;
	}

	/* DESTINATIONS */
    .destinations_wrap .flex_center {
        flex-direction: column;
    }

    .location-tabs {
        margin: 30px 30px;
        gap: 20px;
    }

     #destinations.hotel-list li img {
        width: 50%;
    }

    #destinations.hotel-list li {
        margin-right: 0px;
    }


	/* HOTELS & SUITES */
	.hotels_map .flex_center {
		flex-direction: column;
	}

    .hotel-list li {
        margin-right: 0;
    }

    .padd_top {
        padding-top: 70px;
    }

    .hotels_map:after {
        height: 100px;
        bottom: 95vh;
        width: 100%;
    }

    .hotel-list span.title {
        font-size: 21px;
        margin-bottom: 15px;
    }

	.hotel-list li img {
        width: 50%;
    }

	/* BANNER */
	.home_header_content h1 {
        font-size: 45px;
        line-height: 52px;
        padding: 0 15px;
    }

	.home_header_content h1 span {
        font-size: 60px;
    }

    /* MOBILE MENU */
    .close_menu {
        top: 23px;
        right: 15px;
    }

    /* CONTACT PAGE */
    .pages.contact .flex_center {
        flex-direction: column-reverse;
    }

    .contact_right {
        padding: 0px 3% 0 15px;
    }

    .contact_details {
        margin-top: 20px;
        padding-top: 20px;
        margin-bottom: 40px;
    }

    .contactform div.submit input, .btn.btn-primary:not(.editable-submit) {
        padding: 15px 70px;
        margin-top: 20px;
    }

    /* HOTEL PAGE */
    .footer .social_media {
        padding: 40px 0px;
        justify-content: center;
        border-top: 1px solid #fff;
    }

    .footer .footer_box.sec {
        border-right: none;
    }

    .footer h2 {
        font-size: 40px;
        padding-bottom: 35px;
    }

    .footer {
        padding-right: 4%;
    }

    .location_left ul {
        margin-top: 20px;
        margin-bottom: 40px;
    }

    .hotel_page h2 {
        font-size: 40px;
        padding-bottom: 30px;
    }

    .hotel_page .more {
        padding: 16px 50px;
    }

    .swiper-modal-facilities img, .swiper-modal-property img {
        height: 400px;
    }

    .modal-content {
        padding: 35px;
    }

    .modal-body ul li {
        width: 100%;
    }

    .modal-body p {
        margin: 20px 0;
    }

    .hotel_rooms .swiper-pagination {
        right: 30px;
        top: 30px;
    }

    .room-modal .modal-body {
        display: block;
        overflow: hidden;
        height: auto;
    }

    .room_details {
        margin-top: 30px;
        margin-left: 0px;
        padding-bottom: 15px;
    }

    .room-modal .modal-body > .col-lg-6:first-child {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .room-modal .modal-body > .col-lg-6:last-child {
        flex: 0 0 100%;
        max-width: 100%;
        overflow-y: hidden;
    }

    .room-modal .modal-content {
        overflow-y: auto;
    }

    .property_section {
        gap: 30px;
        flex-direction: column;
    }

    .property_section p {
        margin: 10px 0px;
    }

    .top_bar_right img.hotelo {
        width: 135px;
    }

    #header_hotel .menu_half {
        padding-right: 0;
    }

    #header_hotel .menu ul li {
        font-size: 14px;
        margin-right: 6px;
    }

    .book_info {
        padding: 10px 10px 10px 0px;
    }

    .book_info input {
        font-size: 14px;
    }

    .book_info.book_info_numbers, .book_info.book_info_special_rates {
        margin-left: -15px;
    }

    #datepickerContainer {
        margin-top: 17px;
        width: calc(320% + 47px);
    }

    .rooms-guests-options {
        padding: 20px;
        margin-top: 17px;
        width: calc(200% + 33px);
        left: -15px;
    }

    .special-rates-options {
        margin-top: 17px;
        width: calc(200% + 50px);
        left: -15px;
    }

    .swiper-hotel-banner h1 {
        font-size: 40px;
        line-height: 50px;
    }
   
    .rooms .booking_checkout p {
        font-size: 17px;
        line-height: 27px;
    }

    .rooms .booking_checkout p {
        font-size: 16px;
        line-height: 26px;
    }

    .rooms.add_ons .hotel_page h2, .rooms.guest_details .hotel_page h2, .rooms.payment .hotel_page h2 {
        text-align: center;
    }

    .selected_room {
        display: none;
    }

    .selected_room.mob {
        display: block;
        margin-top: 50px;
    }

    .minicart-lg{
        display: none;
    }

    /* LOGIN */
    .page_text.page_heading_image.no_banner h1 {
        font-size: 45px;
        line-height: 45px;
    }

    .login_page .guest_info.last {
        padding: 25px;
    }

    .my_reservations .table>thead>tr>th {
        font-size: 15px;
    }
     
    .my_reservations .table>tbody>tr>td {
        min-width: 130px;
    }

    /* MY RESERVATIONS */
    .booking_details .clear {
        display: none;
    }

    .booking_details h5 {
        font-size: 20px;
        padding-right: 15px;
    }

    .guest_info.booking_details p.big {
        font-size: 23px;
    }

    .guest_info.booking_details p {
        font-size: 19px;
    }

    .booking_details #hide_991 {
        display: none;
    }

    .booking_details .col-sm-6:nth-of-type(2n) {
        clear: both !important;
    }

    .guest_info.booking_details p.price {
        font-size: 27px;
    }

    .guest_info.booking_details .booking_room_details p {
        padding-bottom: 10px;
    }

    .check_details {
        margin-top: 20px;
    }   

    .booking_room_details {
        /* flex-direction: column; */
        /* align-items: flex-start; */
        width:100%;
    }

    .booking_details {
        display: flex;
        flex-wrap: wrap;
    }

    .booking_details .col-sm-6 {
        flex: 0 0 50%;
    }
}

@media only screen and (max-width: 767px) {
	.padd_top {
        padding-top: 85px;
    }

    .header_reservation img, .header_sign img {
        width: 34px;
        padding: 5px;
    }

    .hotel_details ul li {
        font-size: 12px;
    }

	.padd {
    	padding-top: 85px;
    	padding-bottom: 85px;
	}

    .page_heading_image {
        padding: 0 15px!important;
    }


	/* FOOTER */
	.footer_box h6 {
        margin-bottom: 20px;
    }

	.social_media {
    	gap: 30px;
	}

	.footer_box {
		margin-bottom: 25px;
	}

	.footer_box.last {
    	min-width: 175px;
	}

	.footer_box.prelast {
    	float: left;
	}

	.footer_box.sec {
		float: right;
	}

	.social_media img.facebook {
    	width: 14px;
	}

	.social_media img {
    	width: 24px;
	}

	.footer_logo {
        width: 170px;
    }

	.social_media {
        gap: 27px;
    }

	.footer_flex {
        padding: 30px 0 20px 0;
    }

	.copyright_flex {
    	justify-content: center;
    	flex-direction: column;
    	align-items: center;
    	gap: 12px;
	}

	.copyright_wrapper {
        padding: 25px 15px;
    }

    /* HEADER */
    .header_wrap {
        margin: 0 20px;
    }

    #header.fixed .header_wrap {
        margin: 0;
    }

	/* INSTAGRAM */
	.image-wrapper img {
        height: 210px;
    }

	.image-wrapper img {
        height: 190px;
	}

	/* MEETINGDS & EVENTS */
	.page_text h1 {
        font-size: 50px;
        line-height: 50px;
    }

	.page_text h2 {
        font-size: 25px;
    }

	.home_text {
        margin-left: 7%;
        margin-bottom: 40px;
    }

	p {
 		font-size: 17px;
    	line-height: 28px;
	}

	/* HOMES & VILLAS */
	.more {
    	margin: 10px auto 0 auto;
    	width: calc(100% - 30px);
	}

    /* EXPERIENCES */
    .intro_text {
        padding: 0;
    }

    .experience_inner_box_other {
        flex-direction: column;
        gap: 20px;
    }

    .experience_section {
        margin-bottom: 80px;
    }

    .book_now {
        padding: 15px 60px;
    }

	/* DESTINATIONS */
	.home_destinations {
    	height: 70vh;
	}

	#destinations .subtitle {
        top: 15px;
        left: 15px;
        font-size: 14px;
    }

	#destinations .title {
        left: 15px;
        margin-bottom: 5px;
        font-size: 18px;
    }

	.location-tabs .tab {
        font-size: 16px;
	}

	/* HOTELS & SUITES */
	.hotels {
    	height: 80vh;
	}

    .hotels_map:after {
        bottom: 80vh;
    }

    .hotel-list a.book_now {
        position: relative;
    }

    .hotel-list span.title {
        margin-bottom: 10px;
    }

	
	/* BANNER */
	.home_header_content h1 {
        font-size: 42px;
        line-height: 54px;
	}

	.home_header_content h1 span {
        font-size: 55px;
    }

    /* HEADER */
    .open_menu img {
        width: 40px;
        height: 40px;
    } 

    #header.fixed .open_menu img {
        width: 35px;
        height: 35px;
    }

    /* MOBILE MENU */
    .close_menu {
        right: 7px;
    }

    .responsive_menu ul li a {
        font-size: 40px;
    }

    /* CONTACT PAGE */
    .contactform div.submit input, .btn.btn-primary:not(.editable-submit) {
        margin-top: 5px;
    }

    .contact_details p {
        font-size: 18px;
        line-height: 26px;
    }

    .contact_form {
        padding: 60px 1%;
    }

    /* HOTEL PAGE */
    .footer h2 {
        font-size: 35px;
        padding-bottom: 30px;
    }

    .footer .footer_box.sec {
        float: left;
    }

    .footer .footer_box p {
        margin-bottom: 0px;
    }

    .footer {
        padding-top: 70px;
    }

    .footer .footer_box {
        padding: 35px 0;
        min-height: 205px;
        margin: 0;
    }

    .footer .social_media a {
        width: 50px;
        height: 50px;
    }

    .footer .social_media img.facebook {
        width: 13px;
    }

    .footer .social_media img {
        width: 23px;
    }

    .footer {
        padding-right: 5%;
        padding-left: 5%;
    }

    .copyright_inner {
        padding: 20px 0;
    }

    .footer .footer_box.sec {
        padding-left: 15px;
    }

    .load_more {
        width: fit-content;
        text-align: center;
    }

    .facilities_section {
        gap: 0;
        flex-direction: column;
    }

    .facilities_section {
        gap: 40px;
    }

    .modal-content {
        padding: 25px;
    }

    .modal-content h4 {
        font-size: 35px;
    }

    .swiper-modal-facilities img, .swiper-modal-property img {
        height: 340px;
    }

    .property_section h3 {
        font-size: 26px;
        line-height: 36px;
    }

    #header_hotel .menu {
        display: none;
    }

    #header_hotel .menu.active {
        display: block;
    }

    #header_hotel .open_menu {
        display: block;
    }

    #header_hotel .menu ul li {
        font-size: 14px;
        margin-right: 0;
        display: block;
        text-align: center;
        color: #fff;
        padding: 10px 0;
    }

    .open_menu .close { display: none; opacity: 1; }
    .menu_right.active .open_menu .open { display: none; }
    .menu_right.active .open_menu .close {
        display: inline-block;
        width: 60px;
        height: 60px;
        margin-right: -10px;
    }

    .menu ul li a {
        color: #fff;
    }

    #header_hotel .menu .menu_half {
        position: absolute;
        width: 142%;
        background: #fff;
        margin-left: 0;
        margin-top: 52px;
        padding: 20px;
        left: -38%;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease-in-out;
        z-index: 2;
        border-top: 2px solid #354291;
    }

    #header_hotel .menu.active .menu_half {
        opacity: 1;
        visibility: visible;
    }

    #toggleBookingForm {
        display: block;
        width: fit-content;
        padding: 14px 80px;
        margin: 15px auto;
    }

    .booking_wrap form {
        display: none;
        transition: all 0.4s ease-in-out;
    }

    .booking_wrap.active form{
        display: block;
    }

    .book_info {
        padding: 10px 20px;
        border-right: none;
        border-bottom: 2px solid #000;
    }

    .booking_form .col-xs-12 {
        padding-left: 0;
        padding-right: 0;
    }

    .book_info.book_info_numbers, .book_info.book_info_special_rates {
        margin-left: 0;
    }

    .booking_wrap.active .close-booking-form {
        display: block;
    }

    #datepickerContainer {
        margin-top: 17px;
        width: 100%;
        position: relative;
        left: auto;
        padding: 20px 0;
        border-top: 1px solid #f2f2f2;
    }

    #datepickerContainer .close-x {
        right: -5px;
        top: 0;
    }

    .rooms-guests-options {
        padding: 20px 0;
        margin-top: 17px;
        width: 100%;
        left: 0px;
        position: relative;
        border-top: 1px solid #f2f2f2;
    }

    .hotel_details ul {
        flex-direction: column;
        gap: 2px;
    }

    .hotel_details ul li {
        padding: 0px 0px;
        border-right: none;
        border-bottom: 1px solid #fff;
    }

    .hotel_details ul li:last-child {
        border-bottom: none;
    }

    .special-rates-options {
        margin-top: 17px;
        width: 100%;
        left: 0;
        position: relative;
        padding: 20px 0;
        border-top: 1px solid #f2f2f2;
    }

    #hotel_book.fixed .hotel_info {
        display: none;
    }

    .book_info.book_submit {
        border-bottom: none;
    }

    .swiper-hotel-banner h1 {
        font-size: 35px;
        line-height: 40px;
    }

    .swiper-buttons {
        left: 3%;
        bottom: 50px;
    }

    .swiper-buttons .swiper-button-prev, .swiper-buttons .swiper-button-next {
        background-size: 21px;
    }

    .tab_content .swiper-button-next, .tab_content .swiper-button-prev {
        background-size: 20px;
        right: 0px;
        width: 54px;
        height: 52px;
    }

    .hotel_page h2 {
        font-size: 35px;
    }

    .container_tab ul li {
        padding: 25px 0;
    }

    .hotel_page .room_rates .more {
        padding: 13px 40px;
    }

    .container_tab .room_rates_list ul li {
        flex-direction: column;
        align-items: flex-start;
    }

    .rate_title {
        width: 100%;
    }

    .rate_price {
        width: 100%;
        margin: 12px 0;
    }

    .booking_checkout {
        padding: 0 15px 0 15px;
        flex-direction: column;
    }

    .book_info #countdown {
        text-align: left;
        font-size: 16px;
        line-height: 26px;
    }

    .booking_checkout .book_info:last-of-type {
        border-bottom: none;
    }

    .checkout_steps ul li {
        font-size: 17px;
    }

    .addon_box img {
        width: 100%;
        border-radius: 25px;
    }

    .addon_box {
        flex-direction: column;
    }

    .addon_text {
        width: 100%;
    }

    .checkout_steps ul li .num {
        width: 55px;
        height: 55px;
    }

    .checkout_steps ul li {
        font-size: 16px;
        padding-bottom: 20px;
    }

    .guest_info h4, .billing_address h4 {
        font-size: 23px;
    }

    .hotel_page .contactform div.input {
        margin: 0px 20px 30px 0px;
        width: calc(50% - 20px);
    }

    .hotel_page .contactform .full div.input {
        width: calc(100% - 20px);
    }

    .payment_methods img {
        width: 85px;
    }

    /* LOGIN */
    .page_heading_image.no_banner {
        padding: 30px 15px !important;
    }

    .contactform input[type="text"], .contactform input, .contactform textarea, .contactform select {
        padding: 14px 10px;
    }

    .hotel_page .contactform div.input, .guest_info .contactform div.input {
        margin: 0px 30px 30px 0px;
        width: calc(100% - 30px);
    }

    .page_text.page_heading_image.no_banner h1 {
        font-size: 40px;
        line-height: 40px;
    }

    /* MY RESERVATIONS */
    .booking_details h5 {
        font-size: 18px;
    }

    .guest_info.booking_details p.big {
        font-size: 21px;
    }

    .booking_details textarea {
        height: 40px;
        font-size: 17px;
    }

    .guest_info.booking_details p {
        font-size: 17px;
        padding-bottom: 20px;
    }

    .guest_info.booking_details p.price {
        font-size: 24px;
    }

    .check_details {
        gap: 20px;
    }

    .check_details img {
        width: 40px;
        margin-right: 5px;
    }

    .booking_details img.country {
        width: 25px;
        height: 25px;
        margin-left: 5px;
    }

}

@media only screen and (max-width: 549px) {
	/* FOOTER */
	.footer_box p {
    	margin-bottom: 4px;
	}

    .footer_box {
        margin-bottom: 18px;
    }

    .available_rooms{
        flex-direction: column;
    }
	.footer_box.last {
        min-width: 162px;
    }

	.padd_prefooter {
        padding: 60px 15px 20px 15px;
    }

	.footer_flex {
        padding: 40px 0 15px 0;
    }

	.social_media {
        gap: 23px;
    }

	.social_media img {
        width: 22px;
    }

	.footer_logo {
        width: 160px;
    }

	.footer_box {
		display: none;
	}

	.footer_nav {
		display: block;
	}

	.footer_nav .footer_box {
        display: block;
        float: none;
	}

	.footer_box a.links-triggerOne, .footer_box a.links-triggerTwo, .footer_box a.links-triggerThree, .footer_box a.links-triggerFour {
		width: fit-content;
		position: relative;
		display: block;
		margin: 0 auto;
		padding: 0 25px 0 0;
  	}

	.links-triggerOne:after, .links-triggerTwo:after, .links-triggerThree:after, .links-triggerFour:after{
		content: " ";
		background: url(../img/layout/arrow_down_white.svg) no-repeat 0 0;
		width: 13px;
		height: 13px;
		position: absolute;
		right: 0;
		top: 7px;
	}

  	.dropdown_links, .dropdown_info {
		width: 100%;
		color: #fff;
		transition: all ease-in-out .3s;
		-webkit-transition: all ease-in-out .3s;
		-moz-transition: all ease-in-out .3s;
		display: none;
	}
	
	.dropdown_links.active, .dropdown_info.active { display: block; text-align: center; }
	 
	.dropdown_links ul, .dropdown_info ul
	  { display: inline-block; padding: 2px 0; }
	 
	.dropdown_links ul li, .dropdown_info ul li {
		position: relative;
		margin-right: 0;
		transition: all ease-in-out .3s;
		margin-bottom: 10px;
	}
	 
	.dropdown_links ul li a, .dropdown_info ul li a {
		display: block;
		padding: 7px 0 0 0;
		line-height: 1.5;
		transition: all ease-in-out .3s;
		text-transform: none;
		color: #fff;
		font-size: 15px;
	}

	/* MEETINGDS & EVENTS */
	.page_text h1 {
        font-size: 45px;
        line-height: 45px;
    }

	.page_text h2 {
        font-size: 23px;
    }

    /* EXPERIENCES */
    .book_now {
        padding: 14px 55px;
        font-size: 15px;
    }

    .padd {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .padd_top {
        padding-top: 50px;
    }

	/* HOTELS & SUITES */
	.map_sidebox input {
        padding: 15px 35px;
        font-size: 17px;
    }

    .hotel-list span.subtitle {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .hotel-list span.title {
        margin-bottom: 5px;
    }

	.hotel-list span.title {
        font-size: 18px;
	}

	.hotel-list div {
    	align-items: flex-start;
	}

	.hotel-list a.book_now {
        padding: 13px 35px;
        font-size: 14px;
        margin-top: 35px;
    }

    /* HEADER */
    #logo {
        width: 175px;
        height: 40px;
    }

    #lang_info {
        padding-right: 12px;
    }

    #header {
        top: 20px;
        width: calc(100% - 30px);
        margin: 0 15px;
    }

    .open_menu img {
        width: 36px;
        height: 36px;
    }

    #header.fixed #logo {
        width: 135px;
        height: 40px;
    }

    #header.fixed {
        height: 62px;
    }

    #header.fixed .open_menu img {
        width: 32px;
        height: 32px;
    }

    .open_menu {
        margin-left: 10px;
    }

    .home_header_content h1 {
        font-size: 38px;
        line-height: 48px;
    }

    .location-tabs {
        margin: 30px 30px 30px 0;
        gap: 15px;
    }

    /* MOBILE MENU */
    .responsive_menu .responsive_menu_container {
        padding: 6% 3%;
    }

    .responsive_menu ul li a {
        font-size: 37px;
    }

    .responsive_menu ul li a {
        font-size: 34px;
        padding: 3px 0;
    }

    .close_menu {
        width: 55px;
        height: 55px;
        background-size: 60px;
    }

    /* HOTEL PAGE */
    .footer_menu .col-xs-6 {
        width: 100%;
    }

    .hotel_info {
        flex-direction: column;
    }

    .hotel_details ul {
        gap: 8px;
    }

    .footer .footer_box {
        display: block;
        min-height: auto;
        border-right: none;
        padding: 25px 0;
        text-align: center;
    }

    .footer .footer_box.sec {
        padding-left: 0;
        width: 100%;
        border-top: 1px solid #fff;
        text-align: center;
    }

    .footer h2 {
        padding-bottom: 25px;
        text-align: center;
    }

    .load_more {
        font-size: 15px;
        padding: 17px 60px;
    }

    .modal-header .close {
        font-size: 50px;
        line-height: 30px;
    }

    .hotel_rooms {
        padding-bottom: 120px;
    }

    .modal-content h4 {
        font-size: 30px;
        padding-bottom: 25px;
    }

    #lang_info a.selected_lang:after {
        background-size: 8px;
        width: 8px;
        height: 9px;
        margin-top: 8px;
    }

    .top_bar_right {
        gap: 10px;
    }

    #header_hotel .header_sign p {
        font-size: 12px !important;
    }

    #header_hotel #logo {
        width: 140px;
        height: 60px;
    }

    .menu_right.active .open_menu .close {
        width: 55px;
        height: 55px;
    }
        
    #header_hotel .menu .menu_half {
        margin-top: 48px;
        left: -38%;
        width: 143%;
    }

    #header_hotel .menu ul li {
        padding: 8px 0;
    }

    .hotel_reviews {
        gap: 0px;
        justify-content: center;
        margin-bottom: 7px;
        flex-direction: column;
    }

    .swiper-hotel-banner h1 {
        font-size: 30px;
        line-height: 35px;
        padding: 0 15px;
    }

    .container_tab {
        padding: 20px;
    }

    .container_tab label {
        position: relative;
        right: auto;
        top: auto;
        margin-top: 10px;
        font-size: 13px;
    }

    .show_taxes {
        width: 15px;
        height: 15px;
        margin-top: 2px !important;
    }

    .show_taxes:checked::before {
        width: 9px;
        height: 9px;
    }

    #tabs .subtab {
        padding: 12px 20px;
    }

    .room_rates h3 {
        font-size: 28px;
    }

    .hotel_page .contactform div.input {
        width: calc(100% - 20px);
    }

    .checkout_steps ul li.prev .num {
        background-size: 24px;
    }
     
    .payment_methods img {
        width: 70px;
    }

    /* LOGIN */
    .page_text.page_heading_image.no_banner h1 {
        font-size: 35px;
        line-height: 35px;
    }

    .page_text.page_heading_image.no_banner h1 {
        margin-top: 110px;
    }

    /* MY RESERVATIONS */
    .booking_details .col-sm-6 {
        flex: 0 0 100%;
    }

    .check_details {
        gap: 10px;
        /* flex-direction: column; */
        width: 100%;
    }

    .booking_details {
       margin-top: 30px;
    }
}

@media only screen and (max-width: 479px) {

    .page_subtitle {
        padding: 25px;
    }

    /* HEADER */
    #logo {
        width: 160px;
        height: 35px;
    }

    .header_reservation img, .header_sign img {
        width: 30px;
        padding: 4px;
        margin-right: 5px;
    }

	/* FOOTER */
	.footer_box h6 {
        margin-bottom: 15px;
        font-size: 17px;
    }

	.social_media img.facebook {
        width: 13px;
    }

	.social_media {
    	justify-content: center;
		gap: 25px;
	}

	.footer_flex {
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        gap: 35px;
	}

	.copyright_flex {
        gap: 10px;
    }

	.copyright {
    	text-align: center;
	}

	/* INSTAGRAM */
	.image-wrapper img {
        height: 170px;
	}

	/* MEETINGDS & EVENTS */
	.page_text h1 {
        font-size: 38px;
        line-height: 38px;
    }

	p {
        line-height: 26px;
    }

	/* EXPERIENCES */ 
	.page_text .experience_box h3 {
        font-size: 23px;
	}

	.experience_box {
        margin: 12px 0;
    }

    .experience_text_inner {
        padding: 25px;
    }

    .page_text .experience_inner_box_other h3 {
        margin-top: 12px;
        font-size: 19px;
    }

    .experience_section {
        margin-bottom: 60px;
    }

	/* HOMES & VILLAS */
	.home_villa_box .book_now {
    	font-size: 15px;
    	padding: 15px 60px;
	}

    /* DESTINATIONS */
     #destinations.hotel-list li img {
        width:100%;
    }

    .location-tabs .tab {
        font-size: 15px;
    }

	/* HOTELS & SUITES */
	.hotel-list div {
    	flex-direction: column;
	}

    .hotels_map:after {
        bottom: 70vh;
    }

	.hotel-list li img {
        width: 100%;
    }

	.map_sidebox input {
    	width: 100%;
    	margin-right: 0px;
 	}

	.hotel-list li {
    	margin-right: 0px;
	}

	.sight_info {
    	margin-left: 0px;
    	width: 100%;
    	padding-top: 15px;
	}

	.hotel-list a.book_now {
        margin-top: 25px;
        bottom: auto;
    }

	.hotels {
        height: 70vh;
    }

	/* BANNER */
	.home_header_content h1 span {
        font-size: 50px;
    }

	.home_header_content h1 {
        font-size: 37px;
        line-height: 47px;
	}

    /* MOBILE MENU */
    .responsive_menu ul li a {
        font-size: 32px;
    }

    .close_menu {
        width: 55px;
        height: 55px;
        background-size: 57px;
    }

    /* CONTACT PAGE */
    .contactform div.submit input, .btn.btn-primary:not(.editable-submit) {
        padding: 14px 60px;
        font-size: 15px;
    }

    .contact_form {
        padding: 60px 1% 55px 1%;
    }

    /* HOTEL PAGE */
    .footer {
        padding-right: 7%;
        padding-left: 7%;
    }

    .rooms p {
        font-size: 14px;
        line-height: 25px;
    }

    .footer .footer_box {
        padding: 20px 0;
    }

    .footer .social_media a {
        width: 45px;
        height: 45px;
    }

    .footer .social_media img.facebook {
        width: 12px;
    }

    .footer .social_media img {
        width: 21px;
    }

    .footer .social_media {
        padding: 30px 0px;
    }

    .footer h2 {
        padding-bottom: 20px;
        font-size: 32px;
    }

    .footer {
        padding-top: 60px;
    }

    .hotel_page h2 {
        font-size: 35px;
        padding-bottom: 25px;
    }

    .map {
        min-height: 500px;
    }

    #gallery_content .col-xs-6 {
        width: 100%;
    }

    #gallery_content .gallery {
        margin-bottom: 15px;
    }

    .swiper-modal-facilities img, .swiper-modal-property img {
        height: 310px;
    }

    .modal-content h4 {
        font-size: 25px;
    }

    .modal-body ul li {
        font-size: 14px;
        line-height: 24px;
        padding: 4px 0;
    }

    .modal-body ul li img {
        width: 24px;
    }

    .room_info {
        padding: 40px;
    }

    .room_info:after {
        right: 40px;
    }

    .room_info h3 {
        font-size: 23px;
    }

    .property_section h3 {
        font-size: 24px;
        line-height: 34px;
    }

    .top_bar_right img.hotelo {
        width: 125px;
    }

    #toggleBookingForm {
        padding: 13px 60px;
        font-size: 16px;
    }

    #datepickerContainer .flatpickr-day {
        height: 32px;
        line-height: 32px;
    }

    #datepickerContainer .rangeMode .flatpickr-day {
        margin-top: 5px;
    }

    .swiper-buttons {
        left: auto;
        justify-content: center;
        bottom: 65px;
    }

    .tab_content .swiper-button-next, .tab_content .swiper-button-prev {
        background-size: 19px;
        right: 0px;
        width: 50px;
        height: 48px;
    }

    .room_rates h3 {
        font-size: 25px;
    }

    .rate_price p.price {
        font-size: 23px;
    }

    .hotel_page .room_rates .more {
        width: 100%;
    }

    .rate_title h4 {
        font-size: 16px;
    }

    .checkout_steps ul li .num {
        width: 50px;
        height: 50px;
        margin: 0 auto 10px auto;
    }

    .checkout_steps ul li {
        padding-bottom: 15px;
    }

    .rooms #scrollUp {
        right: 15px;
    }

    .selected_room_info h3 {
        font-size: 24px;
    }

    .rooms p.total {
        font-size: 21px;
    }

    .total_charges {
        padding-top: 20px;
    }

    .selected_room_info a.edit_btn {
        margin-top: 20px;
    }

    .selected_room.mob {
        margin-bottom: 40px;
    }

    .guest_info h4, .billing_address h4 {
        font-size: 22px;
        margin-bottom: 15px;
    }

    .guest_info, .billing_address {
        padding: 20px 0px 0px 20px;
    }

    .guest_info h4, .billing_address h4 {
        font-size: 21px;
        margin-bottom: 10px;
    }

    .checkout_steps ul li.prev .num {
        background-size: 22px;
    }

    .payment_methods {
        gap: 5px;
        margin-bottom: 20px;
    }

    .payment_methods img {
        width: 65px;
    }

    .hotel_page.checkout .checkbox {
        margin-top: 15px;
    }

    .checkout .checkbox label {
        font-size: 13px;
    }

    /* LOGIN */
    .contactform input[type="text"], .contactform input, .contactform textarea, .contactform select {
        padding: 12px 10px;
    }
    .page_text.page_heading_image.no_banner h1 {
        font-size: 30px;
        line-height: 30px;
    }
    .btn-link {
        margin-top: 20px;
    }

    .page_text.page_heading_image.no_banner h1 {
        margin-top: 100px;
    }

    /* MY RESERVATIONS */
    .guest_info.booking_details p.big {
        font-size: 19px;
    }

    .booking_details h5 {
        font-size: 17px;
    }

    .check_details img {
        width: 35px;
    }

    .back {
        padding: 15px 45px;
        font-size: 18px;
    }

    .booking_details img.country {
        width: 23px;
        height: 23px;
    }

}

@media only screen and (max-width: 420px) {
    .rounded {
        border-top-left-radius: 40px;
        border-top-right-radius: 40px;
    }

	.padd {
    	padding-top: 70px;
    	padding-bottom: 70px;
	}

	/* FOOTER */
	.padd_prefooter .col-xs-6 {
    	width: 100%;
	}

    .footer {
        border-top-left-radius: 40px;
        border-top-right-radius: 40px;
    }

    .padd_prefooter {
        padding: 50px 15px 20px 15px;
    }

	.footer_box.sec {
        float: none;
    }

	.footer_box.last {
        min-width: auto;
        float: none;
    }

	.footer_flex {
        padding: 30px 0 15px 0;
    }

	.footer_box.prelast {
        float: none;
    }

	.footer_box {
		text-align: center;
	}

	.copyright {
	    font-size: 12px;
	}

	.copyright_menu p {
		font-size: 13px;
		padding: 0 7px;
		line-height: 12px;
	}

	/* INSTAGRAM */
	.image-wrapper img {
        height: 130px;
    }

	/* MEETINGDS & EVENTS */
	.page_text h1 {
        font-size: 35px;
        line-height: 40px;
        padding-right: 15px;
	}

    .customers.purchases .page_text h1{
        padding-right: 0px;
    }

	.page_text h2 {
        font-size: 21px;
    }

	p {
        font-size: 16px;
        line-height: 25px;
    }

	.button {
		padding-right: 28px;
		font-size: 14px;
		background-size: 17px;
	}

	.black_bg .button {
    	background-size: 17px;
	}
	 
	.home_text {
        margin-bottom: 30px;
    }

	.page_text h3 {
        font-size: 20px;
        margin-bottom: 5px;
    }

	.meeting_box .book_now {
        padding: 13px 55px;
        font-size: 15px;
    }

	.meeting_box {
        margin: 10px 0;
    }

	/* EXPERIENCES */
	.page_text .experience_box h3 {
        font-size: 20px;
        margin-top: 10px;
    }

    .experience_box p {
        font-size: 17px;
    }

	.home_experiences {
    	margin-bottom: 40px;
	}

    .experience_text_inner {
        padding: 20px;
    }

    .book_now {
        padding: 13px 40px;
        font-size: 14px;
    }

	/* HOMES & VILLAS */
	.home_villa_text {
        padding: 15px;
    }

	.page_text .home_villa_box h3 {
        font-size: 20px;
    }

	.more {
    	font-size: 15px;
    	padding: 14px 40px;
	}

    .home_villa_box .book_now {
        font-size: 14px;
        padding: 13px 40px;
    }

	/* DESTINATIONS */
	.location-tabs .tab {
        font-size: 13px;
    }

    .location-tabs {
        margin: 25px 15px 25px 0;
        gap: 10px;
    }

	.home_destinations {
        height: 60vh;
    }

	/* HOTELS & SUITES */
	.hotels {
        height: 60vh;
    }

    .hotels_map:after {
        bottom: 60vh;
    }

    .home_destinations {
        margin-right: 15px;
    }

    .destinations_wrap {
        padding-left: 0;
    }

    .map_sidebox input {
        margin-bottom: 20px;
    }

	/* BANNER */
	.home_header_content h1 {
        font-size: 32px;
        line-height: 42px;
    }
	 
	.home_header_content h1 span {
        font-size: 40px;
        line-height: 40px;
    }

    /* HEADER */
    #logo {
        width: 130px;
        height: 32px;
    }

    .header_wrap {
        margin: 0 15px;
    }

    .open_menu img {
        width: 33px;
        height: 33px;
    }

    .open_menu {
        margin-left: 7px;
    }

    .header_right {
        gap: 7px;
    }

    #logo_wrap {
        padding: 15px 0 15px 0;
    }

    #header.fixed .open_menu img {
        width: 30px;
        height: 30px;
    }

    #header.fixed {
        padding: 0 10px;
    }

    /* MOBILE MENU */
    .close_menu {
        width: 52px;
        height: 52px;
        background-size: 55px;
        right: 3px;
        top: 11px;
    }

    .responsive_menu ul li a {
        font-size: 30px;
    }

    /* CONTACT PAGE */
    .contact_details p {
        font-size: 16px;
        line-height: 23px;
    }

    .contactform div.input {
        margin: 0px 0px 25px 0px;
    }

    .contactform div.submit input, .btn.btn-primary:not(.editable-submit) {
        padding: 13px 50px;
        font-size: 14px;
    }

    .contact_details {
        margin-top: 15px;
        padding-top: 15px;
        margin-bottom: 35px;
    }

    /* HOTEL PAGE */
    .footer .social_media img {
        width: 20px;
    }

    .footer h2 {
        padding-bottom: 15px;
        font-size: 30px;
    }

    .rooms p {
        line-height: 24px;
    }

    .footer .social_media a {
        width: 40px;
        height: 40px;
    }

    .footer .social_media img.facebook {
        width: 11px;
    }

    .footer .social_media {
        padding: 25px 0px;
        gap: 12px;
    }

    .copyright_inner .copyright {
        font-size: 11px;
        line-height: 17px;
    }

    .hotel_page h2 {
        font-size: 30px;
    }

    .load_more {
        font-size: 14px;
        padding: 15px 55px;
    }

    .facilities_section {
        gap: 30px;
    }

    .hotel_page .more {
        padding: 14px 50px;
        margin-top: 25px;
        font-size: 14px;
    }

    .modal-content {
        padding: 15px;
    }

    .modal-content h4 {
        font-size: 23px;
        padding-bottom: 20px;
    }

    .modal-header .close {
        font-size: 50px;
        line-height: 26px;
        top: 20px;
        right: 10px;
    }

    .modal-body ul li img {
        width: 22px;
        margin-right: 6px;
    }

    .swiper-modal-facilities img, .swiper-modal-property img {
        height: 240px;
    }

    .modal-body p {
        margin: 15px 0;
    }

    .modal-dialog {
        max-width: calc(100% - 30px);
        margin: 25px auto;
    }

    .room_info {
        padding: 30px;
        bottom: -40px;
        left: 15px;
        width: calc(100% - 30px);
    }

    .room_info h3 {
        font-size: 21px;
    }

    .room_info:after {
        right: 30px;
        background-size: 21px;
        width: 21px;
        height: 21px;
    }

    .property_section h3 {
        font-size: 21px;
        line-height: 30px;
    }

    #header_hotel #logo {
        width: 125px;
        height: 55px;
    }

    .top_bar {
        padding: 5px 15px;
        flex-direction: column;
        gap: 5px;
    }

    .languages a.selected_lang {
        font-size: 13px;
    }

    #header_hotel #lang_info {
        padding-right: 12px;
    }

    #lang_info .languages .languages_menu a {
        font-size: 12px;
    }

    #header_hotel .menu .menu_half {
        margin-top: 43px;
        left: -40%;
        width: 147%;
    }

    .menu_right.active .open_menu .close {
        width: 52px;
        height: 52px;
    }

    #header_hotel .menu .menu_half {
        padding: 15px;
    }

    .hotel_info {
        padding: 9px 0px;
    }

    .hotel_details ul li {
        font-size: 12px;
    }

    .hotel_details ul li img {
        width: 17px;
    }

    .stepper button {
        width: 40px;
        height: 40px;
    }

    .book_info .minus, .book_info .plus {
        font-size: 22px;
    }

    .book_info {
        padding: 10px 12px;
    }

    #datepickerContainer .rangeMode .flatpickr-day {
        font-size: 13px;
        margin-top: 3px;
        height: 28px;
        line-height: 28px;
    }

    #datepickerContainer .flatpickr-current-month {
        font-size: 13px;
        width: 100%;
        left: 0;
        height: 25px;
    }

    .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
        height: 20px!important;
        padding: 6px!important;
    }

    span.flatpickr-weekday {
        font-size: 76%;
    }

    .special-rates-options button, #closeDatepicker {
        padding: 8px 40px;
        margin: 20px auto 0 auto;
        font-size: 13px;
    }

    #datepickerContainer .flatpickr-months .flatpickr-month {
        height: 30px;
    }

    #datepickerContainer .flatpickr-days, #datepickerContainer .flatpickr-weekdays {
        gap: 10px;
    }

    .swiper-hotel-banner h1 {
        font-size: 28px;
        line-height: 33px;
    }

    .swiper-buttons .swiper-button-prev, .swiper-buttons .swiper-button-next {
        background-size: 19px;
    }

    .tab_content .swiper-button-next, .tab_content .swiper-button-prev {
        background-size: 17px;
        width: 45px;
        height: 43px;
    }

    .room_rates h3 {
        font-size: 22px;
        line-height: normal;
    }

    .container_tab .room_rates_list ul li {
        padding: 10px 0;
    }

    .hotel_page .room_rates .more {
        padding: 12px 30px;
    }

    #tabs .subtab {
        display: block;
    }

    .extra_addons {
        padding: 15px;
    }

    .extra_addons ul li span {
        font-size: 16px;
    }

    .rooms .selected_room p.small {
        margin-bottom: 15px;
    }

    .rooms p.total {
        font-size: 20px;
    }

    .total_charges {
        padding-top: 10px;
        margin-top: 20px;
    }

    .addon_text h5 {
        font-size: 17px;
    }

    .selected_room_info {
        padding: 15px;
    }

    .switch {
        width: 45px;
        height: 26px;
    }

    input:checked + .slider::before {
        transform: translateX(20px);
    }

    .addon_box {
        margin-bottom: 20px;
    }

    .addon_button {
        right: 10px;
    }

    .switch, .addon_box .switch {
        width: 46px;
        height: 26px;
    }
    .slider::before {
        height: 20px;
        width: 20px;
        left: 1px;
        bottom: 1px;
    }


    .checkout_steps ul li .num {
        width: 45px;
        height: 45px;
        margin: 0 auto 8px auto;
    }

    .checkout_steps ul li {
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .selected_room.mob {
        margin-bottom: 35px;
    }

    .checkout_steps ul {
        flex-direction: column;
    }

    .checkout_steps ul li {
        width: 100%;
    }

    .contactform div.input label {
        font-size: 13px;
    }

    .guest_info h4, .billing_address h4 {
        font-size: 20px;
    }

    .checkout_steps ul li.prev .num {
        background-size: 21px;
    }

    #toggleBookingForm {
        padding: 10px 50px;
        font-size: 15px;
        width: calc(100% - 40px);
        margin: 15px 20px;
    }

    .hotel_page .contactform div.input {
        margin: 0px 20px 25px 0px;
    }

    .payment_methods {
        flex-wrap: wrap;
    }

    .hotel_page .more.full {
        margin: 0px;
    }

    /* LOGIN */
    .page_text.page_heading_image.no_banner h1 {
        font-size: 27px;
        line-height: 27px;
    }

    .page_heading_image.no_banner {
        padding: 25px 15px !important;
    }

    .login_page .guest_info {
        padding: 20px 0px 20px 20px;
    }

    .login_page .guest_info.last {
        padding: 20px;
    }

    .hotel_page .contactform div.input, .guest_info .contactform div.input {
        margin: 0px 20px 25px 0px;
        width: calc(100% - 20px);
    }

    .my_reservations .guest_info {
        padding: 20px;
    }

    .page_text.page_heading_image.no_banner h1 {
        margin-top: 90px;
        margin-bottom: 10px;
    }
}


/* ===========================>
		ERROR PAGE
   <========================== */
   .tit-er{color:#fff !important;}
   .tex-er{

   }

   .btn-er .button {
	margin-top: 50px;
   }

  @media(min-width:768px){
	.con-er{display: flex;
		align-items: center;
	}
	
  }
  @media(max-width:767px){
	.tex-er{
		border-left:unset;
		border-top:1px solid #fff;
		padding-left:unset;
		padding-top:25px;
		margin-top:50px;
	}
  }
   

   @media(max-width:420px){
	.tex-er{width:95%;font-size:15px !important;}
	.btn-er a{font-size:17px;padding-right:65px;}
   }