/* Fonts & Icons */
  @import url('https://fonts.googleapis.com/css?family=Open+Sans:300,600|Merriweather:400,700,900|Montserrat:400,700');
  @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');

    /* Scrollbar Fix */
    html {
  scrollbar-gutter: stable;
}

  /* Global Resets & Typography */
  *, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; font-family: 'Open Sans', sans-serif; color: #555; background-color: #fff; -webkit-font-smoothing: antialiased; font-size: 14px; }
  h1, h2, h3, h4, h5, h6, .plan-name, .price { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #222; margin-top: 0; margin-bottom: 10px; line-height: 1.1; }
  h1 { font-size: 36px; }
  h2 { font-size: 30px; }
  h3 { font-size: 24px; }
  h4 { font-size: 18px; }
  h5 { font-size: 14px; }
  h6 { font-size: 12px; }
  p { line-height: 1.7; font-size: 14px; margin-top: 0; margin-bottom: 10px; }
  
  /* Color updates: Highlight color #c4b000 */
  a { color: #c4b000; text-decoration: none; transition: all 0.3s ease; }
  a:hover { color: #a89700; }
  img { max-width: 100%; height: auto; display: block; }
  
  /* Utility Classes */
  .text-center { text-align: center; }
  .text-muted { color: #777; }
  .lead { font-size: 21px; font-weight: 300; margin-bottom: 20px; line-height: 1.4; }
  .img-responsive { width: 100%; height: auto; display: block; }
  .bottom-space-sm { margin-bottom: 30px; }
  .bottom-space-lg { margin-bottom: 50px; }

  /* Modern Grid System */
  .container { width: 100%; max-width: 1170px; margin: 0 auto; padding: 0 15px; }
  .row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
  .col-sm-6, .col-md-6, .col-md-4, .col-sm-offset-3, .col-md-offset-0 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
  
  @media (min-width: 768px) {
    .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
    .col-sm-offset-3 { margin-left: 25%; }
  }
  @media (min-width: 992px) {
    .col-md-6 { flex: 0 0 50%; max-width: 50%; }
    .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-md-offset-0 { margin-left: 0; }
  }

  /* Custom Animations */
  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
  @keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 40px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
  @keyframes zoomIn { from { opacity: 0; transform: scale3d(0.5, 0.5, 0.5); } 50% { opacity: 1; } }
  
  .animated { animation-duration: 1s; animation-fill-mode: both; }
  .fadeIn { animation-name: fadeIn; }
  .fadeInUp { animation-name: fadeInUp; }
  .zoomIn { animation-name: zoomIn; }

  /* Navbar Styling - Hidden until scroll */
  .navbar { position: fixed; top: 0; left: 0; right: 0; z-index: 1030; padding: 15px 0; transition: all 0.4s ease; transform: translateY(-100%); opacity: 0; pointer-events: none; background: transparent; }
  .navbar .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; position: relative; }
  .navbar-header { display: flex; align-items: center; justify-content: space-between; width: 100%; }
  .navbar-brand { display: flex; align-items: center; }
  .navbar-brand img { max-height: 40px; transition: all 0.3s ease; }
  
  .navbar-nav { display: flex; list-style: none; padding-left: 0; margin: 0; }
  .navbar-nav > li > a { padding: 10px 15px; color: #fff; text-transform: uppercase; font-size: 13px; font-weight: 600; letter-spacing: 1px; transition: color 0.3s; display: block; width: 100%; height: 100%; }
  
  .navbar-toggle { display: none; flex-direction: column; gap: 4px; background: transparent; border: none; cursor: pointer; padding: 10px; margin: 0; outline: none; }
  .navbar-toggle .icon-bar { width: 22px; height: 2px; background-color: #fff; transition: all 0.3s; }
  
  /* Vanilla JS Scrolled Navbar state */
  .navbar-scrolled-vanilla { transform: translateY(0); opacity: 1; pointer-events: auto; background: #fff; padding: 15px 0; box-shadow: 0 2px 10px rgba(0,0,0,0.1); border-bottom: 1px solid #e7e7e7; }
  .navbar-scrolled-vanilla .navbar-nav > li > a { color: #333; }
  .navbar-scrolled-vanilla .navbar-nav > li.active > a, 
  .navbar-scrolled-vanilla .navbar-nav > li > a:hover { color: #c4b000; }
  .navbar-scrolled-vanilla .navbar-toggle .icon-bar { background-color: #333; }

  /* Mobile Navbar Specifics */
  @media (min-width: 768px) {
    .navbar-header { width: auto; justify-content: flex-start; }
    .navbar-toggle { display: none; }
    .navbar-collapse { display: block !important; width: auto; background: transparent; box-shadow: none; margin-top: 0; padding: 0; position: static; }
    .navbar-nav { flex-direction: row; }
    .navbar-nav > li > a { padding: 10px 15px; border-bottom: none; }
  }
  @media (max-width: 767px) {
    .navbar-header { width: 100%; justify-content: space-between; align-items: center; display: flex; }
    .navbar-toggle { display: flex; }
    .navbar-collapse { width: 100%; display: none; background: #fff; padding: 0; position: absolute; top: 100%; left: 0; }
    .navbar-collapse.in { display: block; }
    .navbar-nav { flex-direction: column; }
    .navbar-nav > li > a { display: block; width: 100%; color: #333; padding: 10px 0px 0px 20px; font-size: 24px; }
    .navbar-scrolled-vanilla .navbar-nav > li > a { color: #333; }
  }

  /* Buttons */
  .btn { display: inline-block; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; border: 1px solid transparent; text-transform: uppercase; font-weight: 700; transition: all 0.3s; }
  .btn-xl { padding: 15px 40px; font-size: 16px; border-radius: 30px; letter-spacing: 1px; }
  .btn-xs { padding: 10px 25px; border-radius: 30px; font-size: 12px; }
  .btn-success, .btn-default { background-color: #c4b000; border-color: #c4b000; color: #fff; }
  .btn-success:hover, .btn-default:hover { background-color: #a89700; border-color: #a89700; color: #fff; }
  .btn-outline { background: transparent; border: 2px solid #c4b000; color: #c4b000; }
  .btn-outline:hover { background: #c4b000; color: #fff; }

  /* Header Section */
  .header { background: #222 url('images/parallax-bg.jpg') no-repeat center center; background-size: cover; position: relative; padding: 150px 0 100px; text-align: center; color: #fff; }
  .header:before { content: ""; position: absolute; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.65); }
  .header .container { position: relative; z-index: 2; }
  .header_top-bg .logo img { max-width: 280px; margin: 0 auto 25px auto; }
  .header > .container > a > img { max-width: 150px; margin: 0 auto 30px auto; border-radius: 5px; box-shadow: 0 5px 15px rgba(0,0,0,0.3); }
  .event_when { font-size: 26px; font-weight: 600; margin-bottom: 10px; font-family: 'Montserrat', sans-serif; }
  .event_where { font-size: 18px; margin-bottom: 40px; line-height: 1.6; }
  @media (max-width: 767px) { .header { padding: 60px 0 60px; } }

  /* Common Layout Utilities */
  .highlight, .pricing, .gallery, .blog, .faq, .footer-action { padding: 80px 0; }
  .highlight, .faq { background-color: #f9f9f9; }
  .section-title { text-align: center; margin-bottom: 60px; }
  .section-title h4, .section-title h3 { text-transform: uppercase; letter-spacing: 2px; margin-bottom: 15px; font-weight: 700; }

  /* Hide raw Add To Calendar Text block completely */
  .addtocalendar var { display: none !important; }

  /* Countdown Widget & Add to Calendar */
  #countdown { list-style: none; padding: 0; margin: 50px 0; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
  #countdown li { text-align: center; background: #fff; padding: 25px 20px; border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); min-width: 130px; border-bottom: 3px solid #c4b000; }
  #countdown span { display: block; font-size: 50px; font-weight: 700; color: #222; line-height: 1; margin-bottom: 5px; font-family: 'Montserrat', sans-serif; }
  #countdown p { text-transform: uppercase; font-size: 13px; letter-spacing: 1.5px; margin: 0; color: #777; font-weight: 600; }
  .addtocalendar a { cursor: pointer; color: #c4b000; font-weight: 600; font-size: 16px; border: 2px solid #c4b000; padding: 10px 20px; border-radius: 30px; display: inline-block; transition: all 0.3s; }
  .addtocalendar a:hover { background: #c4b000; color: #fff; }
  @media (max-width: 767px) {
    #countdown li { min-width: 80px; padding: 15px 10px; }
    #countdown span { font-size: 30px; }
  }

  /* Pricing Cards - Always Equal Height */
  .pricing-row { display: flex; flex-wrap: wrap; align-items: stretch; }
  .pricing-row > [class*="col-"] { display: flex; flex-direction: column; }
  .pricing-item { background: #fff; border: 1px solid #eaeaea; padding: 45px 30px; text-align: center; border-radius: 10px; transition: transform 0.3s, box-shadow 0.3s; margin-bottom: 30px; display: flex; flex-direction: column; flex: 1; width: 100%; height: 100%; }
  .pricing-item:hover { transform: translateY(-8px); box-shadow: 0 15px 40px rgba(0,0,0,0.08); }
  .highlighted-plan { border-color: #c4b000; box-shadow: 0 10px 30px rgba(196,176,0,0.15); position: relative; }
  .highlighted-plan:before { content: "POPULAR"; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background: #c4b000; color: #fff; padding: 5px 15px; border-radius: 20px; font-size: 12px; font-weight: 700; letter-spacing: 1px; }
  .plan-name { font-size: 22px; text-transform: uppercase; margin-bottom: 20px; letter-spacing: 1px; }
  .price { font-size: 65px; color: #c4b000; margin-bottom: 30px; line-height: 1; display: inline-block; }
  .price .curr { font-size: 30px; vertical-align: top; margin-right: 5px; line-height: 1.5; color: #333; }
  .plan-features { list-style: none; padding: 0; margin-bottom: 35px; text-align: center; flex-grow: 1; }
  .plan-features li { padding: 12px 0; border-bottom: 1px solid #f5f5f5; position: relative; color: #666; }
  .pricing-item .btn { align-self: center; margin-top: auto; }
  @media (max-width: 767px) { .price { font-size: 50px; } }

  /* Gallery & Nav Pills */
  .nav-center { display: flex; justify-content: center; }
  .nav-pills { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; padding-left: 0; margin: 0 auto; }
  .nav-pills > li { margin: 0 5px; }
  .nav-pills > li > a { display: block; border-radius: 30px; color: #333; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; padding: 10px 25px; transition: all 0.3s; }
  .nav-pills > li > a:hover { background: #eee; }
  .nav-pills > li.active > a { background-color: #c4b000; color: #fff; }
  
  .popup-gallery a { display: block; overflow: hidden; border-radius: 8px; margin-bottom: 30px; }
  .popup-gallery img { width: 100%; border-radius: 8px; transition: transform 0.3s, box-shadow 0.3s; cursor: pointer; }
  .popup-gallery img:hover { transform: scale(1.05); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
  
  .tab-pane { display: none; opacity: 0; transition: opacity 0.4s ease-in-out; }
  .tab-pane.active { display: block; opacity: 1; }

  /* Blog / Enjoy Blocks */
  .thumbnail { background: #fff; border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); overflow: hidden; transition: transform 0.3s; padding: 0; margin-bottom: 30px; }
  .thumbnail:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
  .thumbnail img { width: 100%; border-bottom: 1px solid #eee; }
  .caption { padding: 30px !important; text-align: center; }
  .caption-title { font-size: 20px; margin-bottom: 15px; color: #222; }
  .caption-text { margin: 0; color: #777; }

  /* FAQ Section */
  .testblock { max-width: 800px; margin: 0 auto; background: #fff; padding: 45px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
  .faq-title { font-size: 18px; color: #222; margin-top: 35px; margin-bottom: 15px; line-height: 1.4; border-left: 3px solid #c4b000; padding-left: 15px; }
  .testblock h6:first-child { margin-top: 0; }
  .testblock p { padding-left: 18px; color: #666; }

  /* Google Maps */
  .google-maps { position: relative; width: 100%; background: #eee; }
  .google-maps iframe { width: 100%; height: 400px; display: block; border: none; }

  /* Contact Boxes */
  .contact-box { text-align: center; padding: 40px 30px; background: #fff; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); margin-bottom: 30px; height: calc(100% - 30px); border-bottom: 3px solid #c4b000; }
  .contact-box img { max-height: 70px; margin: 0 auto 25px auto; transition: transform 0.3s; }
  .contact-box:hover img { transform: scale(1.1); }
  .contact-box h5 { margin-bottom: 20px; letter-spacing: 1px; font-weight: 700; color: #222; }
  @media (max-width: 767px) { .contact-box { height: auto; } }

  /* Footer Pre-Action */
  .footer-action { background: #222; color: #fff; text-align: center; }
  .footer-action .event_when { color: #c4b000; font-size: 22px; }
  .footer-action .event_where { color: #ccc; }
  .footer-action .logo img { max-width: 220px; margin: 0 auto 30px auto; }

  /* Sub-Footer */
  <footer> { background: #111; padding: 40px 0; text-align: center; }
  .social-icons { margin-bottom: 20px; display: flex; justify-content: center; gap: 15px; }
  .social-icons a { background: rgba(255,255,255,0.05); color: #888; font-size: 20px; width: 45px; height: 45px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: all 0.3s; }
  .social-icons a:hover { color: #fff; background: #c4b000; transform: translateY(-3px); }

  /* Utility Components */
  .back_to_top { position: fixed; bottom: 30px; right: 30px; z-index: 99; display: none; background: #c4b000; width: 45px; height: 45px; text-align: center; line-height: 45px; border-radius: 50%; box-shadow: 0 5px 15px rgba(0,0,0,0.2); transition: all 0.3s; }
  .back_to_top:hover { background: #a89700; transform: translateY(-3px); }
  .back_to_top img { width: 18px; filter: brightness(0) invert(1); display: inline-block; vertical-align: middle; margin-top: -3px; }

  /* Modal Overrides */
  .modal-open-vanilla { overflow: hidden; }
  .modal-backdrop-vanilla { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000; opacity: 0; transition: opacity 0.3s ease; display: none; }
  .modal-backdrop-vanilla.show { opacity: 0.6; }
  .modal { display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; overflow: hidden; outline: 0; }
  .modal.in { display: block; overflow-x: hidden; overflow-y: auto; }
  .modal-dialog { position: relative; width: auto; margin: 10px; pointer-events: none; }
  .modal-content { position: relative; display: flex; flex-direction: column; width: 100%; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0,0,0,.2); border-radius: 6px; outline: 0; pointer-events: auto; }
  .modal-body { position: relative; padding: 15px; }
  .modal-transparent .modal-content { background: #fff; border: none; box-shadow: none; }
  @media (min-width: 768px) {
    .modal-dialog { width: 600px; margin: 30px auto; }
    .modal-lg { width: 900px; }
  }
  
  /* Vanilla JS Lightbox */
  .v-lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(10, 10, 10, 0.95); z-index: 9999; display: none; flex-direction: column; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; padding: 20px; box-sizing: border-box; }
  .v-lightbox.show { opacity: 1; }
  .v-lightbox-content { position: relative; display: inline-block; }
  .v-lightbox-img { max-width: 80vw; max-height: 80vh; border: 5px solid #fff; border-radius: 4px; box-shadow: 0 10px 40px rgba(0,0,0,0.5); transition: opacity 0.2s ease; display: block; }
  .v-lightbox-prev, .v-lightbox-next { position: absolute; top: 50%; transform: translateY(-50%); font-size: 60px; color: #fff; cursor: pointer; user-select: none; z-index: 10000; opacity: 0.5; transition: all 0.3s; font-family: 'Open Sans', sans-serif; }
  .v-lightbox-prev:hover, .v-lightbox-next:hover { opacity: 1; text-shadow: 0 0 10px rgba(255,255,255,0.5); }
  .v-lightbox-prev { right: calc(100% + 25px); }
  .v-lightbox-next { left: calc(100% + 25px); }
  .v-lightbox-close { position: absolute; bottom: calc(100% + 25px); right: 0; font-size: 50px; color: #fff; cursor: pointer; z-index: 10000; transition: all 0.3s; opacity: 0.5; line-height: 0.7; }
  .v-lightbox-close:hover { opacity: 1; transform: scale(1.1); }