/* TABLE OF CONTENT
1. * * *
2. Navbar
3. Hero
4. Story
5. Facilities
6. Accommodation
7. MICE
8. Local Area
9. Social Media Gallery
10. Contact Us
11. Footer
12. Page Not Found (404)
13. Modal
/* ------------- */

/* -----------------------------------------
            1. * * *
-------------------------------------------- */
body,
html {
  font-family: "Poppins", sans-serif;
  color: var(--dark);
  scroll-behavior: smooth;
  overflow-x: hidden;
}

/* Responsive */
@media (max-width: 576px) {
  .display1 {
    font-size: 64px !important;
    line-height: 78px !important;
  }

  .display2 {
    font-size: 42px !important;
    line-height: 54px !important;
  }
}

.story h2,
.facilities .description h1,
.accommodation .description h2,
.mice h3,
.local-area h3,
.contact h2 {
  font-family: "Bodoni MT";
  text-transform: uppercase;
}

.facilities .display2,
.accommodation .display2,
.mice .display2,
.local-area .display2,
.socmed-gallery .display2,
.contact .display2 {
  position: relative;
  overflow-wrap: break-word;
  z-index: 9;
}

/* -----------------------------------------
            2. Navbar
-------------------------------------------- */
.navbar {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  z-index: 9999999;
}

.collapse .navbar-nav {
  align-items: center !important;
}

@media (max-width: 576px) {
  .collapse .navbar-nav {
    align-items: flex-start !important;
  }
}

.navbar .logo {
  width: 180px;
}

.navbar .nav-link {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  color: var(--dark);
  transition: all 0.3s;
}

.navbar .nav-link:hover {
  color: var(--primary);
}

.navbar .nav-item {
  margin-right: 18px;
  display: flex;
  align-items: center;
}

.navbar .nav-item:last-child {
  margin-right: 0px;
}

.navbar .navbar-toggler {
  background-color: var(--primary);
  border-radius: 0px;
  padding: 8px;
}

.navbar .navbar-toggler span {
  top: 0px;
  color: var(--neutral-white);
}

.navbar .list-language {
  display: flex;
  align-items: center;
  gap: 8px;
}

.navbar .list-language .language {
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  color: var(--secondary);
}

.navbar .list-language .language::before {
  content: "/";
  font-size: 16px;
  line-height: 24px;
  color: var(--secondary);
  font-weight: 400;
  margin-right: 8px;
}

.navbar .list-language .language:first-child::before {
  display: none;
}

.navbar .list-language .language.active {
  color: var(--primary);
  font-weight: 600;
}

/* Responsive */
@media (max-width: 576px) {
  .navbar .list-language {
    margin-top: 12px;
    margin-bottom: 8px;
  }
}

/* -----------------------------------------
            3. Hero
-------------------------------------------- */
.hero {
  background: center bottom;
  background-size: cover;
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.hero .background {
  width: 100%;
  height: 100vh;
  padding-top: 98px;
  object-fit: cover;
}

.hero .display2 {
  color: var(--neutral-white) !important;
  text-align: center;
  margin: auto;
  margin-top: 72px;
}

.hero .title {
  position: absolute;
  height: 100vh;
  width: 100%;
  top: 0px;
  left: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.hero .overlay {
  position: absolute;
  top: 99px;
  left: 0px;
  height: 100vh;
  width: 100%;
  z-index: 1;
  background: rgba(0, 0, 0, 0.3);
}

/* Responsive */
@media (max-width: 576px) {
  .hero .display2 {
    overflow-wrap: break-word;
    font-size: 42px !important;
    line-height: 54px !important;
  }
}

/* -----------------------------------------
            4. Story
-------------------------------------------- */
.story {
  padding: 96px 0px;
  position: relative;
  overflow: hidden;
}

.story .display2 {
  text-align: center;
  max-width: 1080px;
  margin: auto;
}

.story .logo {
  position: absolute;
  top: 0px;
  right: 0px;
}

.story .description {
  padding: 0px 72px;
}

.story .description p {
  line-height: 32px !important;
  text-align: justify;
}

.story .logo {
  position: absolute;
  top: -174px;
  right: -160px;
  width: 460px;
}

/* Responsive */
@media (max-width: 576px) {
  .story img {
    max-width: 100%;
  }

  .story .description {
    padding: 48px 24px 0px 24px;
  }
}

/* Responsive */
@media (min-width: 576px) and (max-width: 992px) {
  .story .description {
    padding: 48px 24px 0px 24px;
  }
}

/* -----------------------------------------
            5. Facilities
-------------------------------------------- */
.facilities {
  background-color: var(--primary-soft);
  padding: 96px 0px 80px 0px;
  position: relative;
  overflow: hidden;
}

.facilities .logo {
  position: absolute;
  top: -174px;
  left: -160px;
  width: 460px;
}

.facilities .display2 {
  text-align: center;
  margin: auto;
}

.facilities .carousel .owl-item.active.center .card-slider {
  margin-left: 32px;
  margin-right: 32px;
}

.facilities .carousel .card-slider {
  position: relative;
  overflow: auto;
}

.facilities .slider {
  position: relative;
}

@media screen and (max-width: 600px) {
  .facilities .carousel__prev {
    left: 50px !important;
  }

  .facilities .carousel__next {
    right: 50px !important;
  }
}

.facilities .slider .owl-item.active.center .card-slider {
  position: relative;
  left: 50%;
  transform: scale(1) translateX(-50%);
  opacity: 1;
}

.facilities .slider .owl-item {
  z-index: 9;
}

.facilities .slider .owl-item.active.center {
  z-index: 99;
}

.facilities .slider .owl-item {
  position: relative;
}

.facilities .card-slider {
  position: relative;
  left: 0%;
  transform: scale(0.8) translateX(-50%);
  background: var(--dark);
  width: 824px !important;
  overflow: hidden;
  opacity: 0.8;
  transition: all 0.3s;
}

.facilities .card-slider img {
  border-radius: 0px !important;
  border: none !important;
  width: 824px;
  height: 684px;
  object-fit: cover;
}

.facilities .card-slider .description {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  padding: 40px;
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.6) 100%);
  transition: all 0.5s;
  text-align: justify;
}

.facilities .slider .owl-item.active.center .card-slider .description {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  padding: 40px;
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.6) 100%);
}

.facilities .owl-nav .owl-prev {
  position: absolute;
  top: 50%;
  transform: translate(-0%, -50%);
  left: 88px;
  opacity: 1;
  font-size: 30px !important;
  z-index: 1;
}

.facilities .owl-nav .owl-next {
  position: absolute;
  top: 50%;
  transform: translate(-0%, -50%);
  right: 88px;
  opacity: 1;
  font-size: 30px !important;
  z-index: 1;
}

.facilities .owl-nav .btn-control {
  padding: 16px;
  border: 1px solid var(--neutral-white);
  border-radius: 40px;
  background: rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(32px);
  color: var(--neutral-white);
}

.facilities .owl-dots {
  text-align: center;
  display: none;
}

.facilities .carousel,
.facilities .carousel-inner,
.facilities .carousel-inner>.carousel-item {
  overflow: hidden;
}

.facilities .carousel-inner>.carousel-item.active,
.facilities .carousel-inner>.carousel-item-next {
  display: flex;
  flex-wrap: nowrap;
}

.facilities .carousel-inner:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 72%;
  left: 0;
  content: "";
  display: block;
  background-color: transparent;
  z-index: 2;
}

.facilities .carousel-inner:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 72%;
  content: "";
  display: block;
  background-color: transparent;
  z-index: 2;
}

.facilities .carousel-control-prev {
  z-index: 2000;
  left: 22%;
}

.facilities .carousel-control-next {
  z-index: 2000;
  right: 22%;
}

.facilities .carousel-item.active {
  margin: auto;
}

.facilities .carousel-item.active .col-4 {
  position: relative;
}

.facilities .carousel,
.facilities .carousel-inner {
  overflow: hidden;
}

.facilities .carousel-item {
  align-items: center;
}

.facilities .carousel-item .col-4:first-child {
  width: 25%;
}

.facilities .carousel-item .col-4:nth-child(2) {
  width: 50%;
}

.facilities .carousel-item .col-4:nth-child(3) {
  width: 25%;
}

.facilities .owl-carousel .owl-dots.disabled,
.owl-carousel .owl-nav.disabled {
  display: block !important;
}

.facilities .carousel {
  cursor: grab;
}

.facilities .carousel__viewport {
  padding: 120px 0px;
}

.facilities .carousel .carousel__slide {
  height: 440px;
  position: relative;
  z-index: 2;
}

.facilities .carousel .carousel__slide.carousel__slide--active {
  transform: scale(1.4);
  position: relative;
  z-index: 9;
}

.facilities .carousel .carousel__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  image-rendering: pixelated;
}

.facilities .carousel__prev,
.facilities .carousel__next {
  padding: 16px;
  border: 1px solid var(--neutral-white);
  border-radius: 40px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(32px);
  color: var(--neutral-white);
  width: unset;
  height: unset;
}

.facilities .carousel__prev {
  left: 80px;
}

.facilities .carousel__next {
  right: 80px;
}

.facilities .carousel .carousel__slide .description {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  padding: 40px;
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.6) 100%);
  transition: all 0.5s;
  text-align: justify;
}

/* Responsive */
@media (max-width: 576px) {
  .facilities .carousel .carousel__slide .description {
    padding-right: 80px !important;
    padding-left: 80px !important;
  }
}

.facilities .carousel .carousel__slide.carousel__slide--active .description h1 {
  font-size: 32px !important;
  line-height: 48px !important;
}

.facilities .carousel .carousel__slide.carousel__slide--active .description h6 {
  font-size: 14px !important;
  line-height: 22px !important;
}

/* Responsive */
@media (max-width: 576px) {
  .facilities .owl-nav .owl-prev {
    left: 16px;
    top: 46%;
    transform: translate(-0%, -50%);
  }

  .facilities .owl-nav .owl-next {
    right: 16px;
    top: 46%;
    transform: translate(-0%, -50%);
  }

  .facilities .card-slider img {
    width: 100% !important;
  }

  .facilities .card-slider .description {
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    padding: 40px 240px !important;
    background: linear-gradient(180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.6) 100%);
  }
}

/* Responsive */
@media (min-width: 576px) and (max-width: 992px) {
  .facilities .card-slider .description {
    padding: 40px 120px !important;
  }
}

/* -----------------------------------------
            6. Accommodation
-------------------------------------------- */
.accommodation {
  padding: 96px 0px;
  position: relative;
  overflow: hidden;
}

.accommodation .logo {
  position: absolute;
  top: -174px;
  right: -160px;
  width: 460px;
}

.accommodation .background {
  position: absolute;
  top: 0px;
  z-index: -99;
  width: 100%;
  height: 542px;
}

.accommodation .display2 {
  margin: auto;
  color: var(--neutral-white);
  text-align: center;
  max-width: 612px !important;
}

.accommodation .stars {
  position: absolute;
  top: -5px;
  right: 296px;
}

.accommodation .card-accommodation {
  background-color: var(--neutral-white);
  margin: auto;
  margin-top: 40px;
  box-shadow: 0px 50px 100px 0px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.accommodation .description {
  padding: 0px 60px;
}

.accommodation .description h2 {
  text-align: left;
}

.accommodation .description p {
  line-height: 32px !important;
  text-align: justify;
}

.accommodation .carousel-control-next,
.accommodation .carousel-control-prev {
  width: fit-content;
  opacity: 1;
}

.accommodation .carousel-control-prev .material-icons-round,
.accommodation .carousel-control-next .material-icons-round {
  color: var(--dark);
  padding: 12px;
  border: 1px solid var(--dark);
  border-radius: 48px;
}

.accommodation .list-icon {
  display: flex;
  gap: 8px;
  align-items: center;
}

.accommodation .list-icon img {
  width: 24px;
  height: 24px;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  -ms-interpolation-mode: nearest-neighbor;
}

/* Responsive */
@media (max-width: 992px) {
  .accommodation .background {
    width: auto;
  }

  .accommodation .stars {
    display: none;
  }

  .accommodation .description {
    padding: 32px;
  }

  .accommodation .carousel-control-prev .material-icons-round,
  .accommodation .carousel-control-next .material-icons-round {
    color: var(--neutral-white);
    border: 1px solid var(--neutral-white);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(32px);
  }

  .accommodation .carousel-control-prev {
    left: 16px;
  }

  .accommodation .carousel-control-next {
    right: 16px;
  }

  .accommodation .carousel-control-next,
  .accommodation .carousel-control-prev {
    top: 240px;
    height: fit-content;
  }
}

/* -----------------------------------------
            7. MICE
-------------------------------------------- */
.mice {
  padding: 96px 0px 0px 0px;
  background-color: var(--primary-soft);
  position: relative;
  overflow: hidden;
}

.mice .logo {
  position: absolute;
  top: -174px;
  left: -160px;
  width: 460px;
}

.mice .display2 {
  margin: auto;
  color: var(--dark);
  text-align: center;
}

.mice .highlight {
  position: relative;
  overflow: hidden;
}

.mice .overlay {
  position: absolute;
  bottom: 0px;
  left: 0px;
  height: 50%;
  width: 100%;
  z-index: 1;
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0.8) 100%);
}

.mice .title {
  position: absolute;
  left: 0px;
  bottom: 0px;
  padding: 0px 40px 72px 40px;
  z-index: 3;
}

.mice .title h3 {
  font-size: 44px !important;
  line-height: 58px !important;
  color: var(--neutral-white);
}

.mice .title p {
  line-height: 28px !important;
  text-align: justify;
}

.mice img {
  position: relative;
  height: 800px;
  z-index: 0;
  transition: all 0.5s;
}

.mice img:hover {
  transform: scale(1.2);
}

/* Responsive */
@media (max-width: 992px) {
  .mice .title {
    padding: 16px 16px 24px 16px;
  }

  .mice .title .d-flex {
    flex-direction: column;
    justify-content: start !important;
    align-items: flex-start !important;
  }

  .mice .title .d-flex .h6 {
    width: 100% !important;
  }

  .mice .title .d-flex .btn {
    margin-top: 16px;
  }
}

/* -----------------------------------------
            8. Local Area
-------------------------------------------- */
.local-area {
  padding: 96px 0px;
  position: relative;
  overflow: hidden;
}

.local-area .logo {
  position: absolute;
  top: -174px;
  right: -160px;
  width: 460px;
}

.local-area .display2 {
  margin: auto;
  text-align: center;
}

.local-area .material-icons-round {
  padding: 14px;
  border-radius: 100px;
  background-color: var(--primary-soft);
  color: var(--dark);
  cursor: default;
}

.local-area .list-left {
  padding-right: 24px;
  border-right: 1px solid var(--primary-soft);
}

.local-area .list-right {
  padding-left: 24px;
  border-left: 1px solid var(--primary-soft);
}

.local-area .list-group-item {
  border-bottom: none;
  margin-bottom: 24px;
  padding: 0px;
  gap: 16px;
}

.local-area .list-group-item:last-child {
  margin-bottom: 0px;
}

.local-area .badge {
  background-color: var(--primary-soft);
  color: var(--dark);
  padding: 8px 12px;
  border-radius: 0px;
}

/* Responsive */
@media (max-width: 992px) {
  .local-area .row {
    --bs-gutter-y: 56px;
  }

  .local-area .list-left {
    padding-right: 0px;
    border-right: none;
    padding-bottom: 56px;
    border-bottom: 2px solid var(--primary-soft);
  }

  .local-area .list-right {
    padding-left: 0px;
    border-left: none;
  }
}

/* -----------------------------------------
            9. Social Media Gallery
-------------------------------------------- */
.socmed-gallery {
  padding: 96px 0px;
  background-color: var(--light);
  overflow: hidden;
}

.socmed-gallery .display2 {
  margin: auto;
  text-align: center;
}

.socmed-gallery .logo {
  position: absolute;
  top: -174px;
  left: -160px;
  width: 460px;
}

/* -----------------------------------------
            10. Contact Us
-------------------------------------------- */
.contact {
  padding: 96px 0px;
  color: var(--neutral-white);
  position: relative;
  overflow: hidden;
}

.contact .logo {
  position: absolute;
  top: -174px;
  right: -160px;
  width: 460px;
}

.contact .display2 {
  margin: auto;
  text-align: center;
}

.contact .row {
  position: relative;
  z-index: 1;
}

.contact .box {
  background-color: var(--primary-soft);
  padding: 48px;
  border-radius: 0px;
  height: 500px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--dark);
}

.contact h6 {
  font-weight: 400;
  line-height: 28px !important;
}

.contact .btn {
  width: fit-content;
}

.contact .maps {
  border-radius: 0px;
  overflow: hidden;
}

.contact .maps iframe {
  width: 100%;
  height: 500px;
}

.contact ul {
  margin-bottom: 0px;
  padding-left: 0px;
  list-style: none;
}

.contact ul li {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 6px;
}

/* Responsive */
@media (max-width: 992px) {
  .contact .row {
    --bs-gutter-y: 32px;
  }

  .contact .box {
    padding: 24px;
  }
}

/* -----------------------------------------
            11. Footer
-------------------------------------------- */
.footer {
  background-color: var(--dark);
  background-size: cover;
  padding-top: 16px;
}

.footer .logo {
  width: 140px;
}

.footer ul {
  margin-bottom: 0px;
}

.footer ul li {
  display: inline-block;
  margin-right: 24px;
}

.footer ul li a {
  font-size: 16px;
  line-height: 24px;
  color: var(--primary);
  text-decoration: none;
}

.footer ul li:last-child {
  margin-right: 0px;
}

.footer .socmed a {
  margin-right: 16px;
}

.footer .socmed a:last-child {
  margin-right: 0px;
}

.footer .divider {
  width: 100%;
  height: 1px;
  background-color: var(--primary);
  margin: 16px 0px;
}

.footer .credit {
  padding-bottom: 16px;
}

.footer .credit .row .col-lg-6:last-child img {
  filter: brightness(0) invert(1);
}

/* Responsive */
@media (max-width: 992px) {
  .footer .row {
    --bs-gutter-y: 24px;
  }

  .footer ul {
    padding-left: 12px;
  }

  .footer ul li {
    display: block;
    margin-bottom: 12px;
  }

  .footer .col-lg-9 {
    justify-content: start !important;
  }

  .footer .credit .row .col-lg-6 {
    justify-content: start !important;
    text-align: left !important;
  }

  .footer .credit .row .col-lg-6:last-child span {
    width: 44%;
  }

  .footer .credit .row {
    --bs-gutter-y: 16px;
  }
}

/* -----------------------------------------
            12. Page Not Found (404)
-------------------------------------------- */
.page-not-found {
  background-color: #f1f1f1;
  min-height: 100vh;
  position: relative;
}

.page-not-found .logo {
  width: 222px;
  margin-top: 24px;
  margin-left: 52px;
}

.page-not-found .decoration {
  width: 540px;
  position: absolute;
  top: -240px;
  right: -240px;
}

.page-not-found .content {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  text-align: center;
}

.page-not-found .content img {
  display: block;
  margin: auto;
  margin-top: 24px;
  width: 654px;
}

.page-not-found .content h1 {
  font-size: 56px !important;
  line-height: 67px !important;
  font-family: "Bodoni MT";
  color: var(--primary);
  font-weight: 600;
  margin-top: 32px;
}

.page-not-found .content h6 {
  margin-top: 16px;
  color: var(--secondary);
  font-weight: 400;
}

.page-not-found .content .btn {
  margin-top: 40px;
  color: var(--neutral-white);
}

/* Responsive */
@media (max-width: 992px) {
  .page-not-found {
    min-height: 100vh;
  }

  .page-not-found .logo {
    width: 222px;
    margin-top: 16px;
    margin-left: 0px;
  }

  .page-not-found .content {
    min-height: auto;
    display: flex;
    justify-content: start;
    align-items: flex-start;
    position: relative;
    padding: 0px 24px 56px 24px;
    margin-top: 48px;
  }

  .page-not-found .content h1 {
    font-size: 46px !important;
    line-height: 57px !important;
    font-family: "Bodoni MT";
    color: var(--primary);
    font-weight: 600;
    margin-top: 32px;
  }

  .page-not-found .decoration {
    width: 240px;
    position: absolute;
    top: -100px;
    right: -100px;
  }

  .page-not-found .content img {
    width: 100%;
  }
}

/* -----------------------------------------
            13. Modal Promo
-------------------------------------------- */
.modal .modal-content {
  padding: 16px;
  background-color: var(--neutral-white);
  border: none;
  border-radius: 0px;
  width: fit-content;
}

.modal .modal-body {
  padding: 0px;
}

.modal .modal-body img {
  width: 500px;
  height: 500px;
  object-fit: cover;
}

.modal .btn-x {
  position: absolute;
  top: -48px;
  right: 0px;
  font-size: 24px;
  padding: 6px;
  background-color: var(--primary);
  color: var(--neutral-white);
  cursor: pointer;
}

/* Responsive */
@media (max-width: 576px) {
  .modal .modal-body img {
    width: 100%;
  }
}