* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "Playfair Display", serif;
  transition: background-color 0.3s, color 0.3s;
  overflow-x: hidden;
  background-color:#f0f0f5 !important;
  color: var(--text-color);
}

/* Google Map (Contact Us) */
.map-canvas {
  width: 100%;
  height: 500px;
  border: none;
}

:root {
  --text-color:#0f0e0f;
  --content-color:#333333;
  --tertiary-text:#ffffff;
  --light-bg:#d8d6e2;
  --danger-color:#ce2230;
  --sucess-color:#679334;
}

button {
  border: none;
  background: none;
}

.mTop50 {
  margin-top: 50px;
}

.mBtm50 {
  margin-bottom: 50px;
}

.pTop50 {
  padding-top: 50px;
}

.pBtm50 {
  padding-bottom: 50px;
}

.pTop100 {
  padding-top: 100px;
}

.pBtm100 {
  padding-bottom: 100px;
}

img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

ul,
li {
  list-style: none;
  padding: 0px;
  margin: 0px;
}

li {
  list-style: none;
  text-decoration: none;
}

a,
a:hover {
  color: var(--content-color);
  text-decoration: none !important;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}



h1,
h2,
h3,
h4,
h5,
h6,
p {
  padding: 0;
  margin: 0;
  font-family: "Playfair Display", serif;
}

h1,
.h1 {
  padding: 0;
  margin: 0;
  font-size: 36px;
  font-family: "Playfair Display", serif;
}

h2,
.h2 {
  padding: 0;
  margin: 0;
  font-size: 30px;
  font-family: "Playfair Display", serif;
}

h3,
.h3 {
  padding: 0;
  margin: 0;
  font-size: 24px;
  font-family: "Playfair Display", serif;
}

h4,
.h4 {
  padding: 0;
  margin: 0;
  font-size: 18px;
  font-family: "Playfair Display", serif;
}

h5,
.h5 {
  padding: 0;
  margin: 0;
  font-size: 14px;
  font-family: "Playfair Display", serif;
}

h6,
.h6 {
  padding: 0;
  margin: 0;
  font-size: 12px;
  font-family: "Playfair Display", serif;
}


.main-btn {
  border-radius: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  padding: 6px 15px;
  border: none;
  background: var(--tertiary-text);
  color: var(--text-color);
  display: inline-block;
  cursor: pointer;
  max-height: 41px;
  text-align: center;



}

.main-btn.bdr {
  border: 1px solid var(--text-color);
  color: var(--text-color);
  background: transparent;
}

.main-btn.blk-btn {
  color: var(--tertiary-text);
  background: var(--text-color);
}


.heading-main,
h1.heading-main,
h2.heading-main {
  color: var(--text-color);
  font-family: "Playfair Display", serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 40px;
  margin: 0;
}

p,
p.description {
  color: var(--content-color);
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  margin: 0 0 10px 0;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 2;
}
body.menu-open {
  position: fixed !important;
  width: 100%;
  overflow: hidden;
}
/* header */
header.main-header {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 9999;
}
header.main-header nav.navbar{
  padding: 20px;
}
header.main-header nav.navbar .top--bar{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
header.main-header nav.navbar .top--bar .logo a img {
  width: auto;
  height: 50px;
}
header.main-header nav.navbar .top--bar .desk-right {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

header.main-header nav.navbar .top--bar .desk-right .main-btn a {
  color: var(--danger-color);
}
header.main-header nav.navbar .top--bar .desk-right .main-btn a span {
  padding-left: 5px;
}
header.main-header nav.navbar .top--bar .desk-right .acc-btn .main-btn svg path {
  fill: var(--text-color);
}
header.main-header nav.navbar .top--bar .desk-right .acc-btn .main-btn {
  padding: 6px;
}

/* ----- nav button ----- */
.navbar-toggle-btn{display: inline-block; vertical-align: top; position: fixed; top: 180px; left: 0; padding: 15px 18px; background-color: var(--tertiary-text); z-index: 1035; width: 60px; height: 110px; text-align: center; -webkit-transition: all .7s cubic-bezier(0.19,1,0.22,1); transition: all .7s cubic-bezier(0.19,1,0.22,1);}
.nav-icon{width: 100%; height: 25px; display: inline-block; vertical-align: top; position: relative; font-size: 0; -webkit-transition: all .7s cubic-bezier(0.19,1,0.22,1); transition: all .7s cubic-bezier(0.19,1,0.22,1);}
.nav-icon .icon-line{display: inline-block; width: 100%; vertical-align: top; height: 1px; background-color: var(--text-color); position: absolute; right: 0; top: 50%; -webkit-transition: all .7s cubic-bezier(0.19,1,0.22,1); transition: all .7s cubic-bezier(0.19,1,0.22,1);}
.nav-icon .icon-line::after, .nav-icon .icon-line::before{content: ''; position: absolute; right: 0; height: 1px; width: 100%; background-color: #000; -webkit-transition: all .7s cubic-bezier(0.19,1,0.22,1); transition: all .7s cubic-bezier(0.19,1,0.22,1);}
.nav-icon .icon-line::before{top: -8px;}
.nav-icon .icon-line::after{bottom: -8px;}
.nav-text{position: absolute; bottom: 32px; right: 0; left: 0; margin: 0 auto; opacity: 1; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; -webkit-transition: all .7s cubic-bezier(0.19,1,0.22,1); transition: all .7s cubic-bezier(0.19,1,0.22,1); -webkit-transform: rotate(-90deg); transform: rotate(-90deg); font-weight: 400; color: var(--text-color);}
.navbar-toggle-btn:hover{width: 70px;}
.navbar-toggle-btn:hover .nav-icon .icon-line::after, .navbar-toggle-btn:hover .nav-icon .icon-line::before{width: 0;}
.navbar-toggle-btn:hover .nav-icon .icon-line::before {width: 12px; transform: rotate(45deg); top: -5px; right: -1px;}
.navbar-toggle-btn:hover .nav-icon .icon-line::after { width: 12px; bottom: -5px; transform: rotate(-45deg) !important; right: -1px;}
.navbar-toggle-btn.book-btnf{top: 290px; height: 125px; background-color: var(--text-color);}
.navbar-toggle-btn.book-btnf:hover{background-color: var(--text-color);}
.navbar-toggle-btn.book-btnf .nav-icon{height: 16px; overflow: hidden;}
.navbar-toggle-btn.book-btnf .nav-text{color: var(--tertiary-text);}
.navbar-toggle-btn.book-btnf .nav-icon .icon-line{width: 0; background-color: var(--tertiary-text);}
.navbar-toggle-btn.book-btnf:hover .nav-icon .icon-line{width: 100%; background-color: var(--tertiary-text);}
.navbar-toggle-btn.book-btnf .nav-icon .icon-line::before{top: -8px; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.navbar-toggle-btn.book-btnf .nav-icon .icon-line::after{bottom: -8px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}
.navbar-toggle-btn.book-btnf .nav-icon .icon-line::after, .navbar-toggle-btn.book-btnf .nav-icon .icon-line::before{content: ''; position: absolute; right: 3px; height: 1px; width: 23px; -webkit-transition: all .7s cubic-bezier(0.19,1,0.22,1); transition: all .7s cubic-bezier(0.19,1,0.22,1); margin: 0 auto; background-color: var(--tertiary-text);}
.navbar-toggle-btn.book-btnf:hover .nav-icon .icon-line::after, .navbar-toggle-btn.book-btnf:hover .nav-icon .icon-line::before{right: -3px;}
body.menu-slide .navbar-toggle-btn.menu-button{left: -80px;}
body.menu-slide .navbar-toggle-btn.book-btnf{pointer-events: none;}






.main-menu-ITEM .dropdown.drp-desk{
  position: fixed;
  top: 0;
  right: 0;
  width: 80%;
  height: 100%;
  background: var(--text-color);
  z-index: 9999;
  transform: translateX(100%); /* start off-screen (right) */
  transition: transform 0.4s ease-in-out;
  overflow-y: auto;
}

.main-menu-ITEM .dropdown.drp-desk.show {
  transform: translateX(0); /* slide in from right to left */
}

.main-menu-ITEM .close-menu-item .navbar-toggle-btn.header-sidenav__close {
  position: absolute;
  background-color: transparent;
  top: 20px;
}
.main-menu-ITEM .close-menu-item .navbar-toggle-btn.header-sidenav__close .nav-icon .icon-line, 
.main-menu-ITEM .close-menu-item .navbar-toggle-btn.header-sidenav__close .nav-icon .icon-line::after,
.main-menu-ITEM .close-menu-item .navbar-toggle-btn.header-sidenav__close  .nav-icon .icon-line::before {
  background-color: var(--tertiary-text);
}
.main-menu-ITEM .close-menu-item .navbar-toggle-btn.header-sidenav__close .nav-text{
  color: var(--tertiary-text);
}
.main-menu-ITEM .dropdown.drp-desk .row-menu{
  /* width: 100%;
  max-width: 1280px; */
  padding: 0 120px;
  margin: 0 auto;
  max-height: 100vh;
  overflow: auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 48px;
  height: 100%;
  padding-top: 100px;
}
.main-menu-ITEM .dropdown.drp-desk .row-menu .dropdown-nav-col {
  flex: 1 1 100%;
  min-width: 0;
  transition: flex-basis 0.35s ease, max-width 0.35s ease;
}
/* Two-column layout: main nav + room list (visible whenever menu is open) */
.main-menu-ITEM .dropdown.drp-desk.show .row-menu:has(.dropdown-rooms-col) .dropdown-nav-col {
  flex: 1 1 50%;
  max-width: 50%;
}
.main-menu-ITEM .dropdown.drp-desk .row-menu ul.dropdown-content {
  width: 100%;
  padding-left: 0;
}

/* Room list column: hidden when menu closed; visible beside nav when menu is open */
.main-menu-ITEM .dropdown.drp-desk .dropdown-rooms-col {
  flex: 0 1 0;
  max-width: 0;
  min-width: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, max-width 0.35s ease, flex-basis 0.35s ease, visibility 0s linear 0.35s;
}
.main-menu-ITEM .dropdown.drp-desk.show .row-menu:has(.dropdown-rooms-col) .dropdown-rooms-col {
  flex: 1 1 50%;
  max-width: 50%;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.25s ease 0.05s, max-width 0.35s ease, flex-basis 0.35s ease, visibility 0s;
}
.main-menu-ITEM .dropdown.drp-desk .dropdown-rooms-heading {
  font-family: "Playfair Display", serif;
  color: var(--tertiary-text);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px;
  margin-bottom: 16px;
  opacity: 0.75;
}
.main-menu-ITEM .dropdown.drp-desk .dropdown-rooms-list li a {
  display: block;
  font-family: "Playfair Display", serif;
  color: var(--tertiary-text);
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: all 0.2s ease;
  position: relative;
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;
}
.main-menu-ITEM .dropdown.drp-desk .dropdown-rooms-list li a:hover {
  transform: translateX(10px);
}
.main-menu-ITEM .dropdown.drp-desk .dropdown-rooms-list li a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--danger-color);
  transition: all 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  z-index: -1;
}
.main-menu-ITEM .dropdown.drp-desk .dropdown-rooms-list li a:hover::before {
  width: 80%;
}
.main-menu-ITEM .dropdown.drp-desk .dropdown-rooms-list li a.dropdown-rooms-all {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}



.main-menu-ITEM .dropdown.drp-desk .row-menu ul.dropdown-content li {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  list-style: none;
}

.main-menu-ITEM .dropdown.drp-desk .row-menu ul.dropdown-content li a {
   display: block;
  font-family: "Playfair Display", serif;
  color: var(--tertiary-text);
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: all .2s ease;
  position: relative;
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;

}
.main-menu-ITEM .dropdown.drp-desk .row-menu ul.dropdown-content li a:hover{
  transform: translateX(10px);
}

.main-menu-ITEM .dropdown.drp-desk .row-menu ul.dropdown-content li a::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -10px;
  width: 0;
  height: 2px;
  background: var(--danger-color);
  transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  z-index: -1;
      left: 0px;
  top: inherit;
  bottom: 0px;
}
.main-menu-ITEM .dropdown.drp-desk .row-menu ul.dropdown-content li a:hover::before {
  width: 80%;
}


button#backToTop {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: var(--content-color);
  width: 40px;
  height: 40px;
}

button#backToTop svg path {
  stroke: var(--tertiary-text);
}



/* footer */
footer.footer {
  background-color: var(--text-color);
}
footer.footer .contact-details {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  padding-bottom: 20px;
}

footer.footer .contact-details .contact-item {
  width: 30%;
}

footer.footer .contact-details .contact-item.logo a img {
  width: 80px;
  height: auto;
}
footer.footer .contact-details .contact-item p, 
  footer.footer .contact-details .contact-item a {
  margin: 0;
  color: var(--light-bg);
  font-size: 12px;
  line-height: 20px;
  font-family: "Open Sans", sans-serif;
  font-weight: 300;
}


footer.footer .ftr-btm .ftr-scr {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
}


footer.footer .ftr-btm .ftr-scr  ul.footer-social {
width: 30%;
  padding: 0;
  margin: 0;
 

}
footer.footer .ftr-btm .ftr-scr  ul.footer-social li {
  display: inline-block;
  vertical-align: top;
  list-style: none;
  margin: 0 5px 0 0;
}

footer.footer .ftr-btm .ftr-scr ul.footer-social li a {
  height: 32px;
  width: 32px;
  text-align: center;
  line-height: 32px;
  display: inline-block;
  color: var(--tertiary-text);
  text-decoration: none;
  font-size: 18px;
}




footer.footer .ftr-btm .ftr-scr p {
  display: inline;
  float: right;
  width: 70%;
  font-size: 12px;
  margin: 0;
  color: rgba(255, 255, 255, .4);
}


/* slider */
.main-slider {
  position: relative;
}

.main-slider .slider-home {
  position: relative;
}

.main-slider .slider-home .slider-carousel .owl-item .item img {
  width: 100%;
  height: 100vh;
}

/* .main-slider .custom-nav {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 10;
} */
.main-slider .custom-nav {
  position: absolute;
  bottom: 6%;
  right: 10%;
  width: 90%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  z-index: 10;
  pointer-events: none;
  border-radius: 50%; 
}
.main-slider .custom-nav button {
  background: rgba(0, 0, 0, 0.34);
  border: none;
  padding: 10px;
  cursor: pointer;
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s;
  border-radius: 50%;
}

.main-slider .custom-nav button svg path {
  stroke: var(--tertiary-text);
}

.main-slider .custom-nav button:hover {
  background: rgba(0, 0, 0, 0.50);
}
/* sub slider */
.innerpage-bnr {
  display: inline-block;
  width: 100%;
  height: 135px;
  background-color: var(--text-color);
  position: relative;
}
.innerpage-bnr img.brnimg {
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .5;
}
.slide-cnt {
  position: absolute;
left: 12%;
  bottom: 0;
  margin: 0 auto;
  color: var(--tertiary-text);
  z-index: 20;
  text-align: left;
  width: 100%;
  max-width: 480px;
      padding: 10px 20px;
  background: rgba(0, 0, 0, 0.5);
}
.innerpage-bnr .slide-title {
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 5px;
  font-family: 'Playfair Display', serif;
}

/* about us */

section.home-section .about-cols {
    position: relative;
    display: flex;
    align-items: center;
}

section.home-section .about-cols:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 78%;
    height: 100%;
    background-color: var(--light-bg);
    z-index: -1;
}

section.home-section .about-cols .about-image, section.home-section .about-cols .about-des {
    width: 50%;
}
section.home-section .about-cols .about-image{

  height: 520px;
  object-fit: cover;
  margin-top: -30px;

}
section.home-section .about-cols .about-image img{
  width: 100%;
  height: 100%
}
section.home-section .about-cols .about-des {
    display: inline-block;

    vertical-align: top;
    padding:  20px;
}

/* accommodation-home */
section.accommodation .accommodation-wrapper {
  background: var(--light-bg);
}
section.accommodation .accommodation-wrapper .title-main {
  padding-bottom: 20px;
}
section.accommodation .accommodation-wrapper .services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  row-gap: 20px;
}

section.accommodation .accommodation-wrapper .services-grid .service-card {
  float: none;
  overflow: hidden;
  position: relative;
  display: inline-block;
  text-align: left;
  cursor: pointer;
}


section.accommodation .accommodation-wrapper .services-grid .service-card .service-overlay h2{
  position: absolute;
  bottom: 30px;
  left: 30px;
  right: 30px;
  background-color: rgba(0, 0, 0, .5);
  padding: 20px;
  z-index: 10;
  margin: 0 30px;
  -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
 color: var(--tertiary-text);
 text-decoration: none;
 font-size: 12px;
 text-transform: uppercase;
 line-height: normal;
 font-family: "Open Sans", sans-serif;
 font-weight: 300;
}
section.accommodation .accommodation-wrapper .services-grid .service-card .service-overlay h2:before {
  content: '';
  display: block;
  height: 1px;
  width: 100px;
  background-color: rgba(255, 255, 255, 0.8);
  margin: 0px 0 10px;
  position: relative;
  -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}
section.accommodation .accommodation-wrapper .services-grid .service-card:hover .service-overlay h2:before{
  width: 100%
}

section.accommodation .accommodation-wrapper .services-grid .service-card .main-card {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: inline-block;
  width: 100%;
  height: 250px;
  position: relative;
  -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}
section.accommodation .accommodation-wrapper .services-grid .service-card .main-card a img{
  width: 100%;
  height: 100%
}

section.accommodation .accommodation-wrapper .services-grid .service-card .main-card:hover {
  -webkit-transform: scale(.9);
  transform: scale(.9);
}

/* accommodation  page */
section.accommodation.acc-pg .accommodation-wrapper{
  background: inherit;
}
section.accommodation.acc-pg .accommodation-wrapper .services-grid {
  grid-template-columns: repeat(2, 1fr);
  column-gap: 50px;
  row-gap: 30px;
}
section.accommodation.acc-pg .accommodation-wrapper .services-grid .acc-service-image{
  position: relative;
  margin: 15px 0;
}
section.accommodation.acc-pg .accommodation-wrapper .services-grid .acc-service-image .acc-main-card a img.card-image {
  height: 250px;
}

section.accommodation.acc-pg .accommodation-wrapper .services-grid .acc-service-image .acc-overlay {
  padding: 20px 0;
}
section.accommodation.acc-pg .accommodation-wrapper .services-grid .acc-service-image .overlay{
  position: absolute;
  top: -8px;
  right: 8px;
}
section.accommodation.acc-pg .accommodation-wrapper .services-grid .acc-service-image .acc-overlay a.main-btn {
  background: inherit;
  /* padding-left: 0; */
  color: var(--sucess-color);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  display: inline-block;
}
section.accommodation.acc-pg .accommodation-wrapper .services-grid .acc-service-image .acc-overlay a.main-btn:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--sucess-color);
  -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}

section.accommodation.acc-pg .accommodation-wrapper .services-grid .acc-service-image .acc-overlay a.main-btn:hover:before {
  width: 100%;
}
/* accomodation-details */

section.accommodation-details .a-room-dec .main-slider  .slider-carousel .owl-item .item img{
width: 100%;
height: 450px;
}
section.accommodation-details .a-room-dec .main-slider{
  display: inline-block;
  width: 100%;
  vertical-align: top;
  position: relative;
  padding: 0 200px 0 0;
}
section.accommodation-details .a-room-dec  .acc-det{
  display: inline-block;
  vertical-align: top;
  padding: 60px 60px 40px;
  background-color: var(--light-bg);
  width: 100%;
  max-width: 810px;
  margin-top: -140px;
  position: relative;
  z-index: 20;
  float: right;
}

section.accommodation-details .a-room-dec {
  display: flow-root;
  padding-bottom: 100px;
  box-sizing: border-box;
}
section.accommodation-details .a-room-dec .main-slider  .custom-nav{
  bottom: 31%;
  left: 0;
  width: 100%;
  padding: 0 155px 0 0;
  gap: 0;
}
section.accommodation-details .a-room-dec .main-slider .custom-nav button{
  border-radius: 0;
  background: var(--tertiary-text);
}
section.accommodation-details .a-room-dec .main-slider .custom-nav button svg path{
  stroke: var(--text-color);
}
section.accommodation-details .acc-widget {
  margin: 100px 0 100px 0;
  display: inline-block;
  width: 100%;
  vertical-align: top;
  position: relative;
}
section.accommodation-details .acco-offer {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  position: relative;
  margin-bottom: 30px;
}
section.accommodation-details .acco-offer .title-main {
  margin-bottom: 20px;
}


section.accommodation-details .acco-offer ul.facilities-list {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  margin: 0;
  padding: 0;
  font-size: 0;
}

section.accommodation-details .acco-offer ul.facilities-list li.facility-item {
  display: inline-block;
  width: 33.33%;
  padding: 5px;
}
section.accommodation-details .acco-offer ul.facilities-list li.facility-item  p.description{

  font-size: 14px;
  position: relative;
  vertical-align: top;
  padding: 0;
  margin: 0;
}
section.accommodation-details .acco-offer ul.facilities-list li.facility-item  p.description:before {
  content: '-';
  margin-right: 5px;
}
/* contact  */
section.contact-page-section .contact-grid {
  width: 60%;
  text-align: center;
  margin: 0 auto;
  box-shadow: 0 9px 24px 0 rgba(0, 0, 0, 0.06);
  padding: 20px;
  background: var(--light-bg);
}

section.contact-page-section .contact-grid p.description a {
  color: var(--content-color);
  font-family: "Playfair Display", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  margin: 0 0 10px 0;
  word-wrap: break-word;
}



/* gallery */


section.gallery-container .gallery-wrapper #lg-gallery .gallery-col {
  position: relative;
  overflow: hidden;

}

section.gallery-container .gallery-wrapper #lg-gallery .gallery-col .gallery-item {
  position: relative;
  overflow: hidden;
}

section.gallery-container .gallery-wrapper button.main-btn.active {
  background: var(--text-color);
  color: var(--tertiary-text);

}

section.gallery-container .gallery-wrapper button.main-btn:hover {
  box-shadow: none;
}

section.gallery-container .gallery-wrapper #lg-gallery .gallery-col img.img-fluid {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;

}


section.gallery-container .gallery-wrapper #lg-gallery .gallery-col .gallery-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--text-color);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}


section.gallery-container .gallery-wrapper #lg-gallery .gallery-col .gallery-item::after {
  content: "+";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  font-size: 40px;
  color: var(--tertiary-text);
  background: rgba(0, 0, 0, 0.6);
  width: 50px;
  height: 50px;
  line-height: 40px;
  text-align: center;
  transition: transform 0.3s ease;
  z-index: 2;
}

section.gallery-container .gallery-wrapper #lg-gallery .gallery-col:hover .gallery-item::before {
  opacity: .4;
  -webkit-transition: opacity .35s;
  transition: opacity .35s;
}

section.gallery-container .gallery-wrapper #lg-gallery .gallery-col:hover .gallery-item::after {
  transform: translate(-50%, -50%) scale(1);
}


section.gallery-container .gallery-wrapper #lg-gallery .gallery-col:hover img {
  transform: scale(1.1);
}

section.gallery-container .gallery-wrapper #lg-gallery .gallery-col .gallery-item::before,
section.gallery-container .gallery-wrapper #lg-gallery .gallery-col .gallery-item::after {
  pointer-events: none;
}

/* additional page1 */
section.content-wrapper section.wedding-section .wedding-container,
section.content-wrapper section.wedding-section.wedding-sub .wedding-container .wedding-card  {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 70px;
  width: 100%;
  vertical-align: top;
}
section.content-wrapper section.wedding-section .wedding-container .wedding-image,
section.content-wrapper section.wedding-section .wedding-container .wedding-content {
  width: 50%;
}
section.content-wrapper section.wedding-section .wedding-container::before{

  content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 78%;
    height: 100%;
    background-color: var(--light-bg);
    z-index: -1;
}
section.content-wrapper section.wedding-section.wedding-sub .wedding-container::before{
  position: inherit;
}
section.content-wrapper section.wedding-section.wedding-sub .wedding-container{
  display: inline-block;
}
 section.content-wrapper section.wedding-section.wedding-sub .wedding-container .wedding-card{
  margin: auto;
  width: 90%;
  margin-bottom: 50px
}
section.content-wrapper section.wedding-section.wedding-sub .wedding-container .wedding-card::before{
  content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 78%;
    height: 100%;
    background-color: var(--light-bg);
    z-index: -1;
}


section.content-wrapper section.wedding-section .wedding-container .wedding-image{
  height: 250px;
}

section.content-wrapper section.wedding-section .wedding-container .wedding-image img.card-image,
section.content-wrapper section.wedding-section.wedding-sub .wedding-container .wedding-card .wedding-image img.card-image {
  width: 100%;
  height: 100%;
}

section.content-wrapper section.wedding-section .wedding-container .wedding-content {

  padding: 30px 100px ;

} 



section.content-wrapper section.wedding-section.wedding-sub .wedding-container .wedding-card:nth-child(odd){
  flex-direction: row-reverse;
} 

section.content-wrapper section.wedding-section.wedding-sub .wedding-container .wedding-card:nth-child(odd)::before{
  left: 0;
  right: inherit;
}
section.content-wrapper section.wedding-section .wedding-container .wedding-content .main-btn{
  background: inherit;
  /* padding-left: 0; */
  color: var(--sucess-color);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  display: inline-block;
}
section.content-wrapper section.wedding-section .wedding-container .wedding-content .main-btn::before{
  content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--sucess-color);
    -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
    transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}
section.content-wrapper section.wedding-section .wedding-container .wedding-content .main-btn:hover:before{
  width: 100%;
}

/* additional page2 */
section.content-wrapper section.dining-section .dining-container  {
  position: relative;
 display: flex;
 align-items: center;
 margin-bottom: 70px;
 width: 100%;
 vertical-align: top;
}
section.content-wrapper section.dining-section .dining-container::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 78%;
height: 100%;
background-color: var(--light-bg);
z-index: -1
}
section.content-wrapper section.dining-section .dining-container  .dining-image,
section.content-wrapper section.dining-section .dining-container  .dining-content{
width: 50%;
}

section.content-wrapper section.dining-section .dining-container  .dining-image .main-slider .slider-home .slider-carousel .owl-item .item {
height: 250px;
}
section.content-wrapper section.dining-section .dining-container  .dining-image .main-slider .slider-home .slider-carousel .owl-item .item img{
width: 100%;
height: 100%;
}
section.content-wrapper section.dining-section .dining-container  .dining-content {
padding: 30px 100px;
}


section.content-wrapper section.dining-section .dining-container  .dining-content .main-btn{
background: inherit;
/* padding-left: 0; */
color: var(--sucess-color);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
position: relative;
display: inline-block;
}
section.content-wrapper section.dining-section .dining-container  .dining-content .main-btn::before{
content: "";
 display: block;
 position: absolute;
 bottom: 0;
 left: 0;
 width: 0;
 height: 2px;
 background: var(--sucess-color);
 -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
 transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}
section.content-wrapper section.dining-section .dining-container  .dining-content .main-btn:hover:before{
width: 100%;
}
section.content-wrapper section.dining-section .dining-container .dining-image .main-slider .custom-nav {
  width: 100%;
  justify-content: center;
  left: 0;
  right: 0;
}
section.content-wrapper section.dining-section .dining-container .dining-image .main-slider .custom-nav button{
  border-radius: 0;
}
section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card{

}
section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card .dining--image{
  display: inline-block;
  width: 100%;
  vertical-align: top;
  position: relative;
  padding: 0 50% 0 0;
  height: 400px;

}
section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card .dining--image img{
  width: 100%;
  height: 100%;
}
section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card .overlay{
  display: inline-block;
  vertical-align: top;
  padding: 60px 60px 40px;
  background-color: var(--light-bg);
  width: 60%;
  margin-top: -300px;
  min-height: 400px;
  position: relative;
  z-index: 20;
  float: right
}
section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card .overlay .titleline{
  height: 2px;
  background-color: var(--sucess-color);
  margin: 35px 0 40px;
  position: relative;
  right: 0;
}

section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card .overlay .main-btn{
  background: inherit;
  /* padding-left: 0; */
  color: var(--sucess-color);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  display: inline-block;
}
section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card .overlay .main-btn::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--sucess-color);
  -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}
section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card .overlay .main-btn:hover:before{
  width: 100%
}

/* Contain floated overlay + negative margin so card height includes content (prevents overlap with footer) */
section.content-wrapper section.dining-section.dining-sub .dining--container .dining-carousel .item .dining--card {
  display: flow-root;
  min-height: 520px;
  padding-bottom: 48px;
  box-sizing: border-box;
}

/* Extra space below sub-carousel blocks (overlay extends past image) */
section.content-wrapper section.dining-section.dining-sub {
  padding-bottom: 140px;
}

section.content-wrapper section.dining-section.dining-sub .dining--container .custom-nav {
 margin-top: 20px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  pointer-events: none;

}
section.content-wrapper section.dining-section.dining-sub .dining--container .custom-nav button {
  background: rgba(0, 0, 0, 0.34);
  border: none;
  padding: 10px;
  cursor: pointer;
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s;
  
}
section.content-wrapper section.dining-section.dining-sub .dining--container .custom-nav button svg path {
  stroke: var(--tertiary-text);
}


/* additional page3 */
 section.content-wrapper section.offer-section .offer-container {
     position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 70px;
    width: 100%;
    vertical-align: top;
}
section.content-wrapper section.offer-section .offer-container::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 78%;
  height: 100%;
  background-color: var(--light-bg);
  z-index: -1
}

section.content-wrapper section.offer-section .offer-container .offer-image,
section.content-wrapper section.offer-section .offer-container .offer-content{
  width: 50%;
}

section.content-wrapper section.offer-section .offer-container .offer-image{
  height: 250px;
}
section.content-wrapper section.offer-section .offer-container .offer-image  img.card-image{
  width: 100%;
  height: 100%;
}
section.content-wrapper section.offer-section .offer-container .offer-content {
  padding: 30px 100px;
}


section.content-wrapper section.offer-section .offer-container .offer-content .main-btn{
  background: inherit;
  /* padding-left: 0; */
  color: var(--sucess-color);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  display: inline-block;
}
section.content-wrapper section.offer-section .offer-container .offer-content .main-btn::before{
  content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--sucess-color);
    -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
    transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}
section.content-wrapper section.offer-section .offer-container .offer-content .main-btn:hover:before{
  width: 100%;
}

section.content-wrapper section.offer-container.offer-sub .offer-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  row-gap: 20px;
  text-align: left;
}
section.content-wrapper section.offer-container.offer-sub .offer-container .offer-card {
  float: none;
  overflow: hidden;
  position: relative;
  display: inline-block;
  text-align: left;
  cursor: pointer;
}
section.content-wrapper section.offer-container.offer-sub .offer-container .offer-card .offer-card-image{
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: inline-block;
  width: 100%;
  height: 250px;
  position: relative;
  -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}
section.content-wrapper section.offer-container.offer-sub .offer-container .offer-card .offer-card-image:hover{
  -webkit-transform: scale(.9);
    transform: scale(.9);

}
section.content-wrapper section.offer-container.offer-sub .offer-container .offer-card .offer-card-image a img.card-image {
  width: 100%;
  height: 100%;
}
section.content-wrapper section.offer-container.offer-sub .offer-container .offer-card .service-overlay h2{
  position: absolute;
  bottom: 30px;
  left: 30px;
  right: 30px;
  background-color: rgba(0, 0, 0, .5);
  padding: 20px;
  z-index: 10;
  margin: 0 30px;
  -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
  color: var(--tertiary-text);
  text-decoration: none;
  font-size: 12px;
  text-transform: uppercase;
  line-height: normal;
  font-family: "Open Sans", sans-serif;
  font-weight: 300;
}
section.content-wrapper section.offer-container.offer-sub .offer-container .offer-card .service-overlay h2:before{
  content: '';
    display: block;
    height: 1px;
    width: 100px;
    background-color: rgba(255, 255, 255, 0.8);
    margin: 0px 0 10px;
    position: relative;
    -webkit-transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
    transition: all .5s cubic-bezier(0.86, 0, 0.07, 1);
}
section.content-wrapper section.offer-container.offer-sub .offer-container .offer-card:hover .service-overlay h2:before{
  width: 100%
}
/* room-details-section  */

section.room-details-section .sub--all .main-slider {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  position: relative;


}
section.room-details-section .sub--all .main-slider    .slider-home .slider-carousel{
  padding: 0 200px 0 0;
}
section.room-details-section .sub--all .sub--content {
  display: inline-block;
  vertical-align: top;
  padding: 60px 60px 40px;
  background-color: var(--light-bg);
  width: 100%;
  max-width: 810px;
  margin-top: -140px;
  position: relative;
  z-index: 20;
  float: right;
  
}

section.room-details-section .sub--all {
  display: flow-root;
  padding-bottom: 100px;
  box-sizing: border-box;
}

section.room-details-section.pBtm100 {
  padding-bottom: 160px;
}
section.room-details-section .sub--all .main-slider .slider-home .slider-carousel .owl-item .item img {
  height: 450px;
}

section.room-details-section .sub--all .main-slider .slider-home .custom-nav{
  
  bottom: 31%;
  left: 0;
  width: 100%;
  padding: 0 155px 0 0;
  gap: 0;
}
section.room-details-section .sub--all .main-slider .slider-home .custom-nav button{
  border-radius: 0;
  background: var(--tertiary-text);
}
section.room-details-section .sub--all .main-slider .slider-home .custom-nav button svg path{
  stroke: var(--text-color);
}
/* room-details-section  */

/* modal css */
div#policyModal {
  height: calc(100vh - 100px);
  border-radius: 0;
  top: 50px;
}



div#policyModal .modal-header {
  padding: 10px 20px;
  background: var(--text-color);
  border-radius: 0;
}

div#policyModal .modal-header h2.heading-main {
  color: var(--tertiary-text);
  font-weight: 500;
  font-size: 18px;
}

div#policyModal .modal-header button.btn-close {
  background: var(--tertiary-text);
  background-image: url("../img/cross.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
}

div#policyModal .modal-dialog .modal-content {
  border-radius: 0;
}

div#policyModal .modal-dialog {
  margin: auto;
}

div#policyModal .modal-header h4.modal-title.heading-main {
  font-size: 24px;
}
/* Facility icons - inline SVG emitted by facility_icon() */
.facility-svg-icon {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    vertical-align: -0.125em;
}

.facility-svg-icon--inline {
    margin-right: 8px;
    font-size: 1.15em;
}
