@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap");
/* ==============================================================
Premium Hotel Theme: Deep Green and Heritage Gold
Brand colors supplied by the client:
Primary: #154734
Accent:  #ed8b00
============================================================== */

/* Light and dark surface variants */

.light-background {
  background-color: color-mix(in srgb, #154734 4%, #ffffff);
}

.dark-background {
  background-color: #154734;
  color: #ffffff;
}

/* Base typography and rendering polish */

html {
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  line-height: 1.75;
  letter-spacing: 0.01em;
}

p,
li,
label,
input,
select,
textarea,
button {
  font-family: "Montserrat", serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-wrap: balance;
}

::selection {
  color: #000000;
  background: color-mix(in srgb, #ed8b00 45%, #ffffff);
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, #ed8b00, transparent 20%);
  outline-offset: 3px;
}

a {
  color: #154734;
  text-decoration: none;
}

a:hover {
  color: #ed8b00;
  text-decoration: none;
}

.amenities-btn,
.hero .carousel-indicators li {
  cursor: pointer;
}

body {
  color: #000000;
  background-color: color-mix(in srgb, #ed8b00 3%, #ffffff);
  font-family: "Montserrat", serif;
}

a {
  transition: .3s;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #000000;
  font-family: "Playfair Display", serif;
}

.pulsating-play-btn {
  width: 94px;
  height: 94px;
  background: radial-gradient(#154734 50%,color-mix(in srgb,#ed8b00,transparent 75%) 52%);
  border-radius: 50%;
  display: block;
  position: relative;
  overflow: hidden;
}

.pulsating-play-btn:before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  animation: 2s infinite pulsate-play-btn;
  animation-direction: normal;
  animation-timing-function: ease-out;
  opacity: 1;
  border-radius: 50%;
  border: 5px solid color-mix(in srgb,#ed8b00,transparent 30%);
  top: -15%;
  left: -15%;
  background: transparent;
}

.pulsating-play-btn:after,
.pulsating-play-btn:hover:before {
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  position: absolute;
  content: "";
}

.pulsating-play-btn:after {
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #ffffff;
  z-index: 100;
  transition: .4s cubic-bezier(.55, .055, .675, .19);
}

.pulsating-play-btn:hover:before {
  border: none;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #ffffff;
  z-index: 200;
  animation: none;
  border-radius: 0;
}

.pulsating-play-btn:hover:after {
  border-left: 15px solid #ed8b00;
  transform: scale(20);
}

@keyframes pulsate-play-btn {
  0% {
    transform: scale(.6,.6);
    opacity: 1;
  }

  100% {
    transform: scale(1,1);
    opacity: 0;
  }
}

/* Header and navigation */

#header {
  background: #ffffff;
  transition: .5s;
  z-index: 997;
  padding: 10px 0;
  border-top: 2px solid #ed8b00;
}

#header.header-scrolled {
  padding: 12px 0;
  box-shadow: 0 2px 15px color-mix(in srgb, #154734, transparent 90%);
}

#header .logo {
  font-size: 26px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}

#header .logo a {
  color: #000000;
}

#header .logo img {
  padding: 0;
  margin: -35px 0 0;
  z-index: 1000;
  position: absolute;
  max-height: 70px;
}

@media only screen and (max-width:1024px) {
  #header .logo img {
    padding: 0;
    margin: -23px 0 0;
    z-index: 1000;
    position: absolute;
    max-height: 70px;
  }

  .hero {
    padding: 0;
    padding-top: 52px !important;
  }
}

@media only screen and (max-width:480px) {
  #header .logo img {
    padding: 0;
    margin: -18px 0 0;
    z-index: 1000;
    position: absolute;
    max-height: 70px;
  }

  .hero {
    padding: 0;
    padding-top: 52px !important;
  }
}

@media only screen and (max-width:321px) {
  #header .logo img {
    max-height: 70px;
    margin-top: -20px;
  }

  .hero {
    padding: 0;
    padding-top: 52px !important;
  }
}

@media (min-width:1200px) {
  .navmenu {
    padding: 0;
  }

  .navmenu ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
  }

  .navmenu li {
    position: relative;
  }

  .navmenu a,
  .navmenu a:focus {
    color: #000000;
    padding: 18px 15px;
    font-size: 16px;
    font-family: "Montserrat", serif;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: .3s;
    font-weight: 500;
  }

  .navmenu a em,
  .navmenu a:focus em {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    transition: .3s;
  }

  .navmenu li:last-child a {
    padding-right: 0;
  }

  .navmenu .active,
  .navmenu .active:focus,
  .navmenu li:hover>a {
    color: #154734;
    font-weight: 600;
  }

  .navmenu .dropdown ul {
    margin: 0;
    padding: 10px 0;
    background: #ffffff;
    display: block;
    position: absolute;
    visibility: hidden;
    left: 14px;
    top: 130%;
    opacity: 0;
    transition: .3s;
    border-radius: 4px;
    z-index: 99;
    box-shadow: 0 0 30px color-mix(in srgb,color-mix(in srgb, #154734 88%, #ffffff),transparent 85%);
  }

  .navmenu .dropdown ul li {
    min-width: 200px;
  }

  .navmenu .dropdown ul a {
    padding: 10px 20px;
    font-size: 15px;
    text-transform: none;
    color: #000000;
  }

  .navmenu .dropdown ul a i {
    font-size: 12px;
  }

  .navmenu .dropdown ul .active:hover,
  .navmenu .dropdown ul a:hover,
  .navmenu .dropdown ul li:hover>a {
    color: #000000;
  }

  .navmenu .dropdown:hover>ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }

  .navmenu .dropdown .dropdown ul {
    top: 0;
    left: -90%;
    visibility: hidden;
  }

  .navmenu .dropdown .dropdown:hover>ul {
    opacity: 1;
    top: 0;
    left: -100%;
    visibility: visible;
  }
}

/* Footer */

.footer,
.footer a,
.page-title,
.section,
section {
  color: #ed8b00;
}

.hero .carousel-item,
/* Page titles, breadcrumbs, and section shells */

.page-title {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.footer {
  background-color: color-mix(in srgb, #ed8b00 3%, #ffffff);
  font-size: 16px;
  position: relative;
}

.footer .footer-top {
  background-color: color-mix(in srgb,#154734,#ffffff 5%);
  padding-top: 50px;
}

.footer .footer-about .logo {
  line-height: 1;
  margin-bottom: 25px;
}

.footer .footer-about .logo img {
  max-height: 40px;
  margin-right: 6px;
}

.footer .footer-about .logo span {
  color: #000000;
  font-family: "Playfair Display", serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 1px;
}

.footer .footer-about p {
  font-size: 14px;
  font-family: "Playfair Display", serif;
}

.footer h4 {
  font-size: 16px;
  font-weight: 600;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 15px;
}

.footer h4::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 2px;
  background: #ed8b00;
  bottom: 0;
  left: 0;
}

.footer .footer-links {
  margin-bottom: 30px;
}

.footer .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer-links ul i {
  padding-right: 2px;
  font-size: 12px;
  line-height: 0;
}

.footer .footer-links ul li {
  font-size: 16px;
  padding: 10px 0;
  display: flex;
  align-items: center;
  color: white;
}

.footer .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-links ul a {
  color: white;
  display: inline-block;
  line-height: 1;
}

.breadcrumbs ol a,
.footer .footer-links ul a:hover,
.footer-info a:hover {
  color: #ed8b00;
}

.footer .footer-contact p {
  margin-bottom: 5px;
}

.footer .copyright {
  padding: 10px 0;
}

.about-me .content p:last-child,
.footer .copyright p {
  margin-bottom: 0;
}

.footer .credits {
  margin-top: 5px;
  font-size: 13px;
}

.footer .social-links a {
  font-size: 18px;
  display: inline-block;
  color: #ffffff;
  line-height: 1;
  padding: 8px 0;
  margin-right: 4px;
  border-radius: 4px;
  text-align: center;
  width: 36px;
  height: 36px;
  transition: .3s;
}

.footer .social-links a:hover {
  color: #ffffff;
  text-decoration: none;
}

/* Preloader and utility controls */

#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  overflow: hidden;
  background: color-mix(in srgb, #ed8b00 3%, #ffffff);
  transition: .6s ease-out;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #ffffff;
  border-color: #ed8b00 transparent #ed8b00 transparent;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: 1.5s linear infinite animate-preloader;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background-color: #ed8b00;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: .4s;
}

.scroll-top em {
  font-size: 24px;
  color: #ffffff;
  line-height: 0;
}

.scroll-top:hover {
  background-color: #ed8b00;
  color: #ffffff;
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
}

@media screen and (max-width:768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }

  .hero {
    padding: 0;
    padding-top: 52px !important;
  }
}

.page-title {
  background-color: color-mix(in srgb, #ed8b00 3%, #ffffff);
  padding: 80px 0;
  text-align: center;
  position: relative;
}

.page-title:before {
  content: "";
  background-color: color-mix(in srgb,color-mix(in srgb, #ed8b00 3%, #ffffff),transparent 50%);
  position: absolute;
  inset: 0;
}

.hero .carousel,
.section,
section {
  background-color: color-mix(in srgb, #ed8b00 3%, #ffffff);
}

.page-title h1 {
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 10px;
}

.section-title h2,
h2 {
  margin-bottom: 15px;
}

.page-title .breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: center;
  padding: 0;
  margin: 0;
  font-size: 16px;
  font-weight: 400;
}

.breadcrumbs ol li+li,
.page-title .breadcrumbs ol li+li {
  padding-left: 10px;
}

.page-title .breadcrumbs ol li+li::before {
  content: "/";
  display: inline-block;
  padding-right: 10px;
  color: #000000;
}

.section,
section {
  padding: 0px 0;
  scroll-margin-top: 100px;
  overflow: clip;
}

@media (max-width:1199px) {
  .mobile-nav-toggle {
    color: #000000;
    font-size: 28px;
    line-height: 0;
    margin-right: 10px;
    cursor: pointer;
    transition: color .3s;
  }

  .navmenu {
    padding: 0;
    z-index: 9997;
  }

  .navmenu ul {
    display: none;
    list-style: none;
    position: absolute;
    inset: 60px 20px 20px 20px;
    padding: 10px 0;
    margin: 0;
    border-radius: 6px;
    background-color: #ffffff;
    overflow-y: auto;
    transition: .3s;
    z-index: 9998;
    box-shadow: 0 0 30px color-mix(in srgb,color-mix(in srgb, #154734 88%, #ffffff),transparent 90%);
  }

  .navmenu a,
  .navmenu a:focus {
    color: #000000;
    padding: 10px 20px;
    font-family: "Montserrat", serif;
    font-size: 17px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: .3s;
  }

  .navmenu a em,
  .navmenu a:focus em {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: .3s;
    background-color: color-mix(in srgb,#ed8b00,transparent 90%);
  }

  .navmenu a em:hover,
  .navmenu a:focus em:hover {
    background-color: #154734;
    color: #ffffff;
  }

  .navmenu .active,
  .navmenu .active:focus,
  .navmenu a:hover {
    color: #000000;
  }

  .navmenu .active em,
  .navmenu .active:focus em {
    background-color: #154734;
    color: #ffffff;
    transform: rotate(180deg);
  }

  .navmenu .dropdown ul {
    position: static;
    display: none;
    z-index: 99;
    padding: 10px 0;
    margin: 10px 20px;
    background-color: #ffffff;
    border: 1px solid color-mix(in srgb,color-mix(in srgb, #154734 88%, #ffffff),transparent 90%);
    box-shadow: none;
    transition: .5s ease-in-out;
  }

  .navmenu .dropdown ul ul {
    background-color: color-mix(in srgb, #154734, transparent 90%);
  }

  .navmenu .dropdown>.dropdown-active {
    display: block;
    background-color: color-mix(in srgb, #154734, transparent 97%);
  }

  .mobile-nav-active {
    overflow: hidden;
  }

  .mobile-nav-active .mobile-nav-toggle {
    color: #ffffff;
    position: absolute;
    font-size: 32px;
    top: 15px;
    right: 15px;
    margin-right: 0;
    z-index: 9999;
  }

  .mobile-nav-active .navmenu {
    position: fixed;
    overflow: hidden;
    inset: 0;
    background: color-mix(in srgb, #154734, transparent 20%);
    transition: .3s;
  }

  .mobile-nav-active .navmenu>ul {
    display: block;
  }

  .section,
  section {
    scroll-margin-top: 66px;
  }
}

/* Section headings */

.section-title {
  text-align: center;
  padding-bottom: 60px;
  position: relative;
}

.highlight-box,
.services-2 .section-title {
  text-align: left;
}

.section-title h2 {
  font-size: 28px;
  font-weight: 500;
}

.section-title p {
  margin-bottom: 0;
  font-family: "Playfair Display", serif;
  font-size: 21px;
}

/* Hero carousel */

.hero {
  padding: 76px 0 0;
}

.hero .carousel {
  width: 100%;
  min-height: calc(100vh - 100px);
  padding: 0;
  margin: 0;
  position: relative;
}

.hero img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero .carousel-item {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero .carousel-item:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}

.hero .carousel-container {
  position: absolute;
  inset: 90px 64px 64px 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 3;
}

.hero .titlehero {
  margin-bottom: 30px;
  font-size: 35px;
  font-weight: 600;
  animation: 1s both fadeInDown;
  font-family: "Playfair Display", serif;
  letter-spacing: 0;
  background: color-mix(in srgb, #154734, transparent 0%);
  padding: 10px;
  border-radius: 10px;
}

.hero .btn-get-started,
/* Titles, highlights, and amenities */

.title1 {
  font-family: "Playfair Display", serif;
}

.hero p {
  animation: 1s .2s both fadeInDown;
}

.hero .btn-get-started {
  color: #ffffff;
  background: #ed8b00;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 8px 32px;
  border-radius: 50px;
  transition: .5s;
  margin: 10px;
  animation: 1s .4s both fadeInUp;
}

.hero .btn-get-started:hover {
  background: color-mix(in srgb,#ed8b00,transparent 20%);
}

.hero .carousel-control-next,
.hero .carousel-control-prev {
  width: 10%;
  transition: .3s;
  opacity: .5;
}

.hero .carousel-control-next:focus,
.hero .carousel-control-prev:focus {
  opacity: .5;
}

.hero .carousel-control-next:hover,
.hero .carousel-control-prev:hover {
  opacity: .9;
}

@media (min-width:1024px) {
  .hero .titlehero,
  .hero p {
    max-width: 60%;
  }

  .hero .carousel-control-next,
  .hero .carousel-control-prev {
    width: 5%;
  }
}

.hero .carousel-control-next-icon,
.hero .carousel-control-prev-icon {
  background: 0 0;
  font-size: 32px;
  line-height: 1;
}

.hero .carousel-indicators,
ul {
  list-style: none;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0,100%,0);
  }

  to {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0,-100%,0);
  }

  to {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

/* About sections */

.about .section-title {
  margin-bottom: 60px;
}

.about .content {
  background: #154734;
  padding: 7rem 0;
}

.about .content-subtitle,
.about .content-title,
.about p {
  color: #ffffff;
}

.about .content .img-overlap {
  margin-top: -150px;
}

.amenities-btn,
.call-to-action .content .error-message,
.call-to-action .content .loading,
.call-to-action .content .sent-message {
  margin-top: 15px;
}

.about p {
  text-align: justify;
}

.about .content-title {
  font-weight: 300;
  font-family: "Playfair Display", serif;
  text-align: left;
  font-size: 21px;
}

.about .content-subtitle {
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.3rem;
}

section#about {
  padding-top: 60px;
  padding-bottom: 0;
}

/* Services carousel */

.services-2 {
  overflow: visible;
  margin-bottom: 200px;
}

.services-2 .section-title h2 {
  color: #ed8b00;
  text-transform: uppercase;
  font-size: 20px;
}

.services-2 .section-title p {
  color: #ffffff;
}

.services-2 .services-carousel-wrap {
  position: relative;
  margin-bottom: -200px;
}

.services-2 .swiper-wrapper {
  height: auto;
}

.services-2 .service-item {
  position: relative;
  overflow: hidden;
}

.services-2 .service-item:before {
  content: "";
  background-color: color-mix(in srgb,color-mix(in srgb, #ed8b00 3%, #ffffff),transparent 50%);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  transition: .3s;
}

.services-2 .service-item img {
  transition: .5s;
  transform: scale(1);
}

.services-2 .service-item .service-item-contents {
  z-index: 9;
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  transition: .3s;
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
}

.services-2 .service-item .service-item-contents .service-item-category {
  color: #000000;
  text-transform: uppercase;
}

.gallery .venue-info p,
.services-2 .service-item .service-item-contents .service-item-title {
  color: #ffffff;
  margin-bottom: 0;
}

.services-2 .service-item:hover:before {
  opacity: 1;
  visibility: visible;
}

.services-2 .service-item:hover .service-item-contents {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.services-2 .service-item:hover img {
  transform: scale(1.2);
}

.services-2 .navigation-next,
.services-2 .navigation-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9;
  width: 46px;
  height: 46px;
  background: #ffffff;
  background-color: transparent;
  border: none;
  transition: .3s;
}

.services-2 .navigation-next em,
.services-2 .navigation-prev i {
  font-size: 2rem;
}

.services-2 .navigation-next:hover,
.services-2 .navigation-prev:hover {
  background-color: #ed8b00;
  color: #ffffff;
}

.services-2 .navigation-prev {
  left: 10px;
}

.services-2 .navigation-next {
  right: 10px;
}

.services-2 .swiper {
  padding-bottom: 50px;
}

.services-2 .swiper-pagination {
  bottom: 0;
}

.services-2 .swiper-pagination .swiper-pagination-bullet {
  border-radius: 0;
  width: 20px;
  height: 4px;
  background-color: color-mix(in srgb,color-mix(in srgb, #ed8b00 3%, #ffffff),transparent 80%) !important;
  opacity: 1;
}

.services-2 .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #154734 !important;
}

/* Calls to action */

.call-to-action .content {
  padding: 20px 0;
}

.call-to-action .content h3 {
  text-transform: capitalize;
  color: #ed8b00;
  font-size: 22px;
  font-weight: 600;
}

.call-to-action .content .form-subscribe .form-control {
  border: 2px solid #ed8b00;
  background: #ffffff;
  border-radius: 0;
}

.call-to-action .content .form-subscribe input[type=email] {
  height: 63px !important;
  color: #000000;
}

.call-to-action .content .form-subscribe input[type=email]:focus {
  box-shadow: none;
}

.call-to-action .content .form-subscribe input[type=email]::placeholder {
  color: #ffffff;
}

.call-to-action .content .btn {
  color: #ffffff;
  background-color: #ed8b00;
  border: 1px solid #ed8b00;
  border-radius: 0;
}

.call-to-action .content .btn:active,
.call-to-action .content .btn:focus,
.call-to-action .content .btn:hover {
  box-shadow: none;
  outline: 0;
  background-color: #ffffff;
  border: 1px solid #ffffff;
}

.call-to-action a {
  color: #000000;
}

.call-to-action {
  background: color-mix(in srgb, #154734 4%, #ffffff);
}

.about-3 .content-title {
  color: #ed8b00 !important;
  margin-bottom: 30px;
}

.about-3 .btn-cta,
.btn-cta {
  text-transform: uppercase;
  font-size: 14px;
  padding: 10px 30px;
  background-color: #154734;
  color: #ffffff;
  border-radius: 6px;
}

.about-3 .list-check {
  margin-bottom: 50px;
}

.about-3 .list-check li {
  display: block;
  padding-left: 30px;
  position: relative;
}

.about-3 .list-check li:before {
  content: "\f26e";
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-weight: 400 !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  top: .1rem;
  font-size: 20px;
  left: 0;
  color: #000000;
}

.about-3 .pulsating-play-btn {
  position: absolute;
  left: calc(50% - 47px);
  top: calc(50% - 47px);
}

section#about-3 {
  padding-top: 40px;
  padding-bottom: 40px;
}

.title1 {
  color: #000000;
  font-weight: 600;
}

.title2 {
  font-size: 22px;
  color: #ed8b00;
  font-family: "Playfair Display", serif;
}

.title3,
h2 {
  font-size: 18px;
}

.title3 {
  color: #000000;
  font-weight: 600;
}

.highlight-container {
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 20px;
}

.highlight-box {
  background: #ffffff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 5px 15px color-mix(in srgb, #154734, transparent 80%);
  width: 100%;
  position: relative;
}

.amenities-btn,
.item {
  padding: 10px;
  font-size: 16px;
}

.highlight-box::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  background: #154734;
  border-radius: 10px;
  z-index: -1;
}

.highlight-content {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.item,
.left,
.right {
  gap: 10px;
  display: flex;
}

.left,
.right {
  flex-direction: column;
  width: 100%;
}

.item {
  align-items: center;
  background: color-mix(in srgb, #154734 4%, #ffffff);
  border-radius: 8px;
  color: #000000;
}

.item em {
  font-size: 18px;
  color: #ed8b00;
}

.amenities-btn {
  max-width: 100%;
  border: 2px solid #154734;
  border-radius: 8px;
  background: #154734;
  transition: .3s;
  color: #ffffff;
}

.amenities-btn a,
.amenities-btn a:hover,
.credits a:hover,
a.btn-cta.text-center {
  color: #ffffff;
}

a.twitter {
  background: #154734;
}

a.facebook {
  background: #ed8b00;
}

a.instagram {
  background: linear-gradient(135deg,#154734,#ed8b00);
}

a.linkedin {
  background: #154734;
}

a.youtube {
  background: #ed8b00;
}

/* Reservation form */

.agileits_reservation {
  z-index: 999;
  background-image: linear-gradient(to bottom,#ffffff 16%,#ffffff 68%);
  padding: 1em;
  -webkit-box-shadow: 0 1px 8px 0 color-mix(in srgb, #154734, transparent 58%);
  -moz-box-shadow: 0 1px 8px 0 color-mix(in srgb, #154734, transparent 58%);
  box-shadow: 0 1px 8px 0 color-mix(in srgb, #154734, transparent 58%);
  margin-top: 5px;
}

.span1_of_1 {
  float: left;
  list-style: none;
  padding-top: 10px;
}

.agileits_reservation input[type=text],
.phone_email1 input[type=email],
select#adult,
select#children,
select#selrooms {
  width: 100%;
  color: #000000;
  font-size: 15px;
  padding: 10px 19px;
  outline: 0;
  background: #ffffff;
  border: 1px solid color-mix(in srgb, #154734 16%, #ffffff);
}

.date_btn input[type=submit] {
  text-transform: capitalize;
  width: 100%;
  background: #154734;
  color: #ffffff;
  padding: 10px 0;
  border: none;
  font-size: 15px;
  outline: 0;
  font-weight: 600;
  letter-spacing: 4px;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  transition: .5s;
}

.agileits_reservation em.bi {
  position: absolute;
  color: #000000;
  font-size: 13px;
  margin-top: 14px;
  margin-left: 3px;
}

.date_btn input[type=submit]:hover {
  background: #ed8b00;
  color: #000000;
}

.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-xs-1,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9 {
  position: relative;
  min-height: 1px;
  padding-right: 2px;
  padding-left: 2px;
  float: left;
}

@media (max-width:480px) {
  .col-xs-12.span1_of_1.book_date {
    width: 100% !important;
  }
}

/* Profile and detail content */

.about-me .profile-img {
  border: 20px solid #ed8b00;
  padding: 0;
}

.about-me .profile-img img {
  margin-top: -60px;
  margin-left: 40px;
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}

.about-me .content h2 {
  font-size: 23px;
  font-weight: 700;
  color: #000000;
}

.about-me .content .fst-italic {
  color: #ffffff;
}

.about-me .content ul {
  list-style: none;
  padding: 0;
}

.about-me .content ul li {
  padding: 10px 0 0;
  display: flex;
}

.about-me .content ul i {
  color: #000000;
  margin-right: .5rem;
  line-height: 1.2;
  font-size: 1.25rem;
}

em.bi.bi-check2-all {
  color: #ed8b00;
  padding-right: 5px;
}

ol,
ul {
  padding-left: 0;
}

/* Breadcrumb bar */

.breadcrumbs {
  padding: 15px 0;
  background: #154734;
  min-height: 40px;
  margin-top: 70px;
}

.breadcrumbs h2 {
  font-size: 28px;
  font-weight: 300;
  color: #ffffff;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  color: #ffffff;
}

.breadcrumbs ol li+li::before {
  display: inline-block;
  padding-right: 10px;
  color: #ffffff;
  content: "/";
}

@media (max-width:768px) {
  .hero .titlehero {
    font-size: 30px;
  }

  .highlight-box {
    max-width: 100%;
  }

  .highlight-content {
    flex-direction: column;
    gap: 15px;
  }

  .breadcrumbs .d-flex {
    display: block !important;
  }

  .breadcrumbs ol {
    display: block;
  }

  .breadcrumbs ol li {
    display: inline-block;
  }
}

.well {
  min-height: 20px;
  padding-bottom: 0;
  padding-top: 20px;
  margin-bottom: 20px;
  background-image: linear-gradient(to bottom,#154734 11%,#154734 132%);
  border: 1px solid color-mix(in srgb, #154734 16%, #ffffff);
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px color-mix(in srgb, #154734, transparent 95%);
  box-shadow: inset 0 1px 1px color-mix(in srgb, #154734, transparent 95%);
}

.gpdn {
  padding-top: 10px;
  color: #ffffff;
  font-family: "Playfair Display", serif;
}

/* Gallery and venue */

.gallery .venue-map iframe {
  width: 100%;
  height: 100%;
  min-height: 300px;
}

.gallery .venue-info {
  background-image: url(../../Img/mill-park.webp);
  background-size: cover;
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px;
}

.gallery .venue-info:before {
  content: "";
  background: color-mix(in srgb, #154734, transparent 45%);
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
}

.gallery .venue-info h3 {
  font-size: 36px;
  font-weight: 700;
  color: #ffffff;
}

@media (max-width:574px) {
  .gallery .venue-info h3 {
    font-size: 24px;
  }
}

.gallery .venue-gallery-container {
  padding-right: 12px;
}

.gallery .venue-gallery {
  overflow: hidden;
  border-right: 3px solid color-mix(in srgb, #ed8b00 3%, #ffffff);
  border-bottom: 3px solid color-mix(in srgb, #ed8b00 3%, #ffffff);
}

.gallery .venue-gallery img {
  transition: .4s ease-in-out;
}

.gallery .venue-gallery:hover img {
  transform: scale(1.1);
}

.btn-cta a:hover {
  background-color: #154734;
  color: #ffffff !important;
}

/*--------------------------------------------------------------
# Why Us
--------------------------------------------------------------*/

.why-us {
  padding: 0;
}

.why-us .content {
  padding: 60px 100px 0 100px;
  background: color-mix(in srgb, #154734 4%, #ffffff);
}

.why-us .content h3 {
  font-weight: 400;
  font-size: 34px;
  color: #154734;
}

.why-us .content h4 {
  font-size: 20px;
  font-weight: 700;
  margin-top: 5px;
}

.why-us .content p {
  font-size: 16px;
  color: #000000;
}

.why-us .video-box {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  min-height: 400px;
  position: relative;
}

.why-us .accordion-list {
  /*  padding: 0 100px 60px 100px; */
}

.why-us .accordion-list ul {
  padding: 0;
  list-style: none;
}

.why-us .accordion-list li+li {
  margin-top: 15px;
}

.why-us .accordion-list li {
  padding: 10px;
  background: #ffffff;
  border-radius: 4px;
}

.why-us .accordion-list a {
  display: block;
  position: relative;
  font-family: "Playfair Display", serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
  padding-right: 30px;
  outline: none;
  color: #000000;
  cursor: pointer;
}

.why-us .accordion-list span {
  color: #000000;
  font-weight: 600;
  font-size: 18px;
  padding-right: 10px;
}

.why-us .accordion-list i {
  font-size: 24px;
  position: absolute;
  right: 0;
  top: 0;
}

.why-us .accordion-list p {
  margin-bottom: 0;
  padding: 10px 0 0 0;
}

.why-us .accordion-list .icon-show {
  display: none;
}

.why-us .accordion-list a.collapsed {
  color: #000000;
}

.why-us .accordion-list a.collapsed:hover {
  color: #000000;
}

.why-us .accordion-list a.collapsed .icon-show {
  display: inline-block;
}

.why-us .accordion-list a.collapsed .icon-close {
  display: none;
}

.why-us .play-btn {
  width: 94px;
  height: 94px;
  background: radial-gradient(#ed8b00 50%, color-mix(in srgb, #ed8b00, transparent 60%) 52%);
  border-radius: 50%;
  display: block;
  position: absolute;
  left: calc(50% - 47px);
  top: calc(50% - 47px);
  overflow: hidden;
}

.why-us .play-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #ffffff;
  z-index: 100;
  transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.why-us .play-btn::before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  animation-delay: 0s;
  animation: pulsate-btn 2s;
  animation-direction: normal;
  animation-iteration-count: infinite;
  animation-timing-function: ease-out;
  opacity: 1;
  border-radius: 50%;
  border: 5px solid color-mix(in srgb, #ed8b00, transparent 30%);
  top: -15%;
  left: -15%;
  background: transparent;
}

.why-us .play-btn:hover::after {
  border-left: 15px solid #ed8b00;
  transform: scale(20);
}

.why-us .play-btn:hover::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border: none;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #ffffff;
  z-index: 200;
  animation: none;
  border-radius: 0;
}

@media (max-width: 1024px) {
  .why-us .content,
  .why-us .accordion-list {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 992px) {
  .why-us .content {
    padding-top: 30px;
  }

  .why-us .accordion-list {
    padding-bottom: 30px;
  }
}

@keyframes pulsate-btn {
  0% {
    transform: scale(0.6, 0.6);
    opacity: 1;
  }

  100% {
    transform: scale(1, 1);
    opacity: 0;
  }
}

.tp {
  margin-top: 82px;
}

.hero {
  padding: 0 !important;
}

/* ==============================================================
Final typography and luxury-surface overrides
These rules only refine color and type. Layout remains unchanged.
============================================================== */

.section-title p,
.footer .footer-about p,
.why-us .accordion-list a,
.call-to-action,
.agileits_reservation,
.item {
  font-family: "Montserrat", serif;
}

.title1,
.title2,
.title3,
.hero .titlehero,
.about .content-title,
.gpdn {
  font-family: "Playfair Display", serif;
}

.hero h1,
.hero h2,
.hero h3,
.hero h4,
.hero h5,
.hero h6,
.about .content h1,
.about .content h2,
.about .content h3,
.about .content h4,
.about .content h5,
.about .content h6,
.footer .footer-top h1,
.footer .footer-top h2,
.footer .footer-top h3,
.footer .footer-top h4,
.footer .footer-top h5,
.footer .footer-top h6,
.dark-background h1,
.dark-background h2,
.dark-background h3,
.dark-background h4,
.dark-background h5,
.dark-background h6 {
  color: #ffffff;
}

.footer .footer-top,
.footer .footer-top a,
.footer .footer-top p,
.footer .footer-top li {
}

.footer .footer-top {
  box-shadow: inset 0 1px 0 color-mix(in srgb, #ed8b00, transparent 68%);
}

.highlight-box,
.agileits_reservation,
.why-us .accordion-list li {
  box-shadow: 0 18px 45px color-mix(in srgb, #154734, transparent 88%);
}

.hero .btn-get-started,
.call-to-action .content .btn,
.scroll-top em {
  color: #000000;
}

input,
select,
textarea {
  caret-color: #ed8b00;
}

/* Normal surface variants (no custom properties) */
section.light-background,
.section.light-background,
.light-background {
  background-color: color-mix(in srgb, #154734 4%, #ffffff);
}

section.dark-background,
.section.dark-background,
.dark-background {
  background-color: #154734;
  color: #ffffff;
}


.mb-4 {
    margin-bottom: 1.5rem !important;
    color: black !important;
}


.about-3 .list-check {
    margin-bottom: 50px;
    color: #154734;
}



/* ====== New Attraction Section ====== */
/* App Layout */
.New-attraction-app-container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.New-attraction-attraction-quality-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 600px) {
    .New-attraction-attraction-quality-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- MODIFIED DESKTOP STYLES --- */
@media (min-width: 1024px) {
    .New-attraction-attraction-quality-cards {
        /* Create a 6-column grid to allow for precise placement */
        grid-template-columns: repeat(6, 1fr);
    }

    /* First 3 items (top row): make each span 2 columns */
    .New-attraction-card:nth-child(-n+3) {
        grid-column: span 2;
    }
    
    /* 4th item: start at column 2 and span 2 columns */
    .New-attraction-card:nth-child(4) {
        grid-column: 2 / span 2;
    }

    /* 5th item: start at column 4 and span 2 columns */
    .New-attraction-card:nth-child(5) {
        grid-column: 4 / span 2;
    }
}
/* --- END OF MODIFIED STYLES --- */

/* Card Styles */
.New-attraction-card {
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.New-attraction-card:hover {
    transform: translateY(-5px);
    /* New primary color with transparency for shadow (#154734 / rgba: 21, 71, 52) */
    box-shadow: 0 8px 12px rgba(21, 71, 52, 0.1);
}

.New-attraction-card-image-container {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.New-attraction-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease-in-out;
}

.New-attraction-card:hover .New-attraction-card-image {
    transform: scale(1.05);
}

.New-attraction-card-content {
    padding: 1.5rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.New-attraction-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    /* New primary color */
    color: #154734;
}

.New-attraction-card-description {
    font-size: 1rem;
    /* Changed to black for contrast on white background */
    color: #000000;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.New-attraction-card-details {
    list-style: none;
    padding-left: 0;
    margin: 0;
    font-size: 0.9rem;
    /* Changed to black for contrast on white background */
    color: #000000;
}

.New-attraction-card-details li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.New-attraction-card-details li + li {
    margin-top: 0.75rem;
}

/* --- UPDATED STYLES FOR ICONS AND LINKS --- */

/* Style for new Font Awesome icons */
.New-attraction-card-details i {
    /* New primary color */
    color: #154734;
    font-size: 16px;
    width: 16px; /* Ensures alignment is consistent with old SVGs */
    text-align: center;
    flex-shrink: 0;
    margin-top: 3px;
}

/* Style for the link text */
.New-attraction-card-details a {
    color: inherit; /* Use the default text color (black) */
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

/* Change the link text color on hover */
.New-attraction-card-details a:hover {
    /* New accent color */
    color: #ed8b00;
}

/* ===================================================================
   --- 3. NEARBY ATTRACTIONS SECTION ---
   =================================================================== */

.attractions-section {
  background: white; /* Keep as white */
  padding: 39px 8% 80px 8%;
  color: #333; /* Kept for general section text if not overridden */
}

/* Header */
.attractions-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 40px;
}

.attractions-title {
  font-size: 2.8rem;
  font-weight: 500;
  text-transform: uppercase;
  /* Changed to black for contrast on white background */
  color: #000000;
  margin: 0;
  position: relative;
}

.attractions-title span {
  /* UPDATED: Using new accent color */
  color: #ed8b00; 
}

.attractions-title::after {
  content: "";
  width: 80px;
  height: 4px;
  /* UPDATED: New accent color */
  background: #ed8b00; 
  display: block;
  margin: 12px 0 0;
  border-radius: 2px;
}

/* Attractions Grid */
.attractions-container {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    padding: 0; /* Remove padding here, controlled by section */
    max-width: 1500px;
}

.attractions-container .category {
    background: white;
    border-radius: 16px;
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    flex: 1;
}

.attractions-container .category:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.25);
}

.attractions-container .category-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    /* UPDATED: New accent color border */
    border-bottom: 4px solid #ed8b00;
}

.attractions-container .category-header {
    padding: 20px;
    /* UPDATED: New primary color background */
    background-color: #154734; 
    color: white; /* White text on new primary background */
    text-align: center;
}

.attractions-container .category-header h2, .title2 {
    margin: 0;
    font-size: 24px;
}

.attractions-container .attraction-list {
    padding: 20px;
}

.attractions-container .attraction {
    padding: 15px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee; /* Kept light grey for separation */
}

.attractions-container .attraction:last-child {
    border-bottom: none;
}
.attractions-container .attraction-details {
    flex-grow: 1;
    padding-right: 15px;
}
.attractions-container .attraction-name, .title3-attraction {
    margin-bottom: 4px;
    font-size: 16px;
    /* Changed to black for contrast on white background */
    color: #000000;
}

.attractions-container .attraction-type {
    /* Keep black for contrast on white background */
    color: #000000;
}

.attractions-container .attraction-distance {
    /* UPDATED: New accent color */
    background-color: #ed8b00; 
    color: white; /* Changed to white for better contrast with accent color */
    padding: 5px 12px;
    border-radius: 20px;
    min-width: 70px;
    text-align: center;
    transition: all 0.3s ease;
    font-size: 14px;
    font-weight: 500;
}

.attractions-container .attraction:hover .attraction-distance {
    /* UPDATED: New primary color on hover */
    background-color: #154734; 
    transform: scale(1.05);
    color: white; /* Keep white on new primary background */
}

/* ===== Responsive for Nearby Attractions ===== */
@media (max-width: 992px) {
    .attractions-container {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 768px) {
    .attractions-section {
        padding: 40px 15px;
    }
    .attractions-header {
        justify-content: center;
        text-align: center;
    }
    .attractions-title {
        font-size: 2.2rem;
    }
    .attractions-title::after {
        margin: 12px auto 0;
    }
    .attractions-container {
        gap: 30px;
    }
}