/*
Theme Name: ORC-2025 (Organized)
Author: Tom Bennie
Description: Refactored & organized stylesheet with consistent structure, fixed errors, and clearer sections.
Version: 1.0b
*/

/* ==========================================================
   0) TABLE OF CONTENTS
   ==========================================================
   1) Fonts
   2) CSS Variables (Theme Tokens)
   3) Base / Resets / Helpers
   4) Layout Wrappers
   5) Header & Top Bar
      5.1) Contact Bar
   6) Navigation (Desktop)
      6.1) Dropdowns
      6.2) Logo in Menu
   7) Navigation (Mobile Drawer)
   8) Components
      8.1) ResponsiveSlides (Hero)
      8.2) Caption Text
      8.3) Section 1 (Hero Split)
      8.4) Tiles
      8.5) Activities Slider (Cards)
      8.6) Maps (OpenStreetMap / Deep Links)
      8.7) Location Description
      8.8) CTA Buttons
      8.9) Footer (Nexus)
      8.10) ORC Map SVG
      8.11) Sponsors Bar
   9) Page-specific
      9.1) 404 Page
      9.2) Subpage: RC/Drone/Frisbee/Camps/Hike-Bike
      9.3) Galleries (Masonry-ish grids)
  10) Media Queries (sorted smallest → largest)

  Notes:
  • Fixed invalid values (e.g., rgba(255,255,255,0.85), rgb typos, unitless heights).
  • De-duplicated utilities and consolidated scattered rules.
  • Kept original class names to avoid breaking markup.
  • Where semantics help, added comments and light renames of variables.
*/

/* ==========================================================
   1) FONTS
   ========================================================== */
@font-face {
  font-family: 'Icons';
  src: url('./includes/fonts/winwood-icon.woff2') format('woff2');
}

/* Ubuntu Regular */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v21/4iCs6KVjbNBYlgoKfw72.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Ubuntu 700 */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ubuntu/v21/4iCv6KVjbNBYlgoCxCvjsGyN.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Viga Regular */
@font-face {
  font-family: 'Viga';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/viga/v14/xMQbuFFdSaiXzQUpDg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================
   2) THEME TOKENS (CSS Variables)
   ========================================================== */
:root {
  --orc-green-1: #9AA55D;
  /* palette */
  --orc-green-2: #699765;
  --orc-green-3: #40866E;
  --orc-green-4: #277271;
  --orc-green-5: #275D69;
  --orc-green-6: #2F4858;
  --orc-accent-1: #cde266;
  /* highlight */
  --orc-accent-2: #77833D;
  /* btn/bg */
  --orc-accent-3: #56621E;
  /* text */
  --orc-accent-4: #364300;
  /* dark text */
  --orc-accent-5: #1E2600;
  /* darkest */
  --orc-grey-1: #363636;
  /*gold for headers and accents*/
  --theme-gold1: #ffcc33;

  /* legacy aliases for backward compat (minimize breakage) */
  --theme-pallete-1: var(--orc-green-1);
  --theme-pallete-2: var(--orc-green-2);
  --theme-pallete-3: var(--orc-green-3);
  --theme-pallete-4: var(--orc-green-4);
  --theme-pallete-5: var(--orc-green-5);
  --theme-pallete-6: var(--orc-green-6);
  --theme-green-shade1: var(--orc-accent-1);
  --theme-green-shade2: var(--orc-accent-2);
  --theme-green-shade3: var(--orc-accent-3);
  --theme-green-shade4: var(--orc-accent-5);
  --theme-grey1: var(--orc-grey-1);
}

/* ==========================================================
   3) BASE / UTILITIES / HELPERS
   ========================================================== */
html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  margin:0;
}

.hidden {
  display: none !important;
}
.front-booking-button{
  text-decoration: none;
  color:white;
}
.front-booking-button button {
    cursor: pointer!important;
}
/* Screen-reader utility */
.sr-only,
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.centered {
  display: flex;
  justify-content: center;
}

.target-link {
  color: var(--theme-green-shade2);
  text-decoration: underline;
  cursor: pointer;
}

.target-link:hover {
  color: var(--theme-pallete-2);
}

.front-point {
  color: var(--theme-green-shade2);
}

/* Generic icon underline swipe */
.linearswipe {
  display: block;
  height: 3px;
  width: 100%;
  margin: .5rem 0 .75rem;
  background: linear-gradient(90deg, rgba(0, 0, 0, .15), rgba(0, 0, 0, 0));
}

.linearswipe::before {
  content: "\e00f";
  /* from Icons font if needed */
  font-family: 'Icons';
  font-size: 6px;
  color: var(--theme-pallete-1);
}

/* ==========================================================
   4) LAYOUT WRAPPERS
   ========================================================== */
.wrap {
  /* reserved */
}

.tile-grid {
  max-width: 80vw;
  display: flex;
  justify-content: center;
}

/* ==========================================================
   5) HEADER & TOP BAR
   ========================================================== */
#header-wrap {
  color: #fff;
  font-family: Ubuntu, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  width: 100%;
  position: absolute;
  z-index: 101;
  height: 205px;
  background-image: linear-gradient(black 80%, rgba(255, 255, 255, 0));
}

.header-container {
  display: inline-flex;
  width: 100%;
  justify-content: center;
}

#linearbar {
  border-bottom: 3px solid #fff;
  width: 100%;
  position: absolute;
  top: 165px;
}

#masthead {
  width: auto;
  background: transparent;
}

/* 5.1 Contact Bar */
#contactbar {
  font-family: Viga;
  font-size: 18px;
  padding-bottom: 10px;
  display: flex;
  justify-content: space-evenly;
  font-weight: 400;
}

#contactbar a {
  color: #fff;
  text-decoration: none !important;
}

#contactbar a:hover{
  color:var(--theme-gold1);
} 
#contactbar .contactitem-1:before {
  font-family: 'Icons';
  content: '\E009';
}

#contactbar .contactitem-2:before {
  font-family: 'Icons';
  content: '\E062';
}

#contactbar .contactitem-3:before {
  font-family: 'Icons';
  content: '\E02B';
}

/* ==========================================================
   6) NAVIGATION (DESKTOP)
   ========================================================== */
.menu-top-menu-container {
  height: 5em;
}

.current_page_item>a {
  color: var(--theme-gold1)!important;
}

.current_page_item {
  border-bottom: 2px solid #fff;
}

.top-menu-wrapper {
  position: relative;
  z-index: 99;
  width: 100%;
}

#top-menu .top-nav-menu {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  height: 165px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#top-menu .menu-item {
  position: relative;
  height: 2em;
  list-style: none;
}

#top-menu .menu-item>a {
  color: #fff;
  font-family: Viga, sans-serif;
  font-variant: small-caps;
  font-size: 50px;
  text-decoration: none;
  display: block;
  padding: .25rem .5rem;
}

#top-menu a:hover,
#top-menu a:focus {
  color: var(--theme-pallete-1);
}

/* caret for parents only */
.menu-item-has-children>a::after {
  font-family: 'Icons';
  content: "\E047";
  margin-left: 1em;
  -webkit-font-smoothing: antialiased;
}

.menu-item:not(.menu-item-has-children)>a::after {
  content: none;
}

/* 6.1 Dropdowns */
#top-menu .sub-menu {
  top:80px;
  position: absolute;
  left: 0;
  min-width: 150px;
  margin: 0;
  padding: .35rem 0;
  list-style: none;
  background: rgba(0,0,0, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  z-index: 1000;

}

#top-menu .sub-menu>li {
  display: block;
    padding-bottom:25px;
}

#top-menu .sub-menu a {
  color:white;
  font-size: 24px;
  font-weight: 700;
  padding: .5rem .75rem;
  white-space: nowrap;
  padding-left:50px;

   padding-right:50px;
}

#top-menu .sub-menu a:hover {
  color: var(--theme-pallete-1);
}

#top-menu .menu-item:hover>.sub-menu,
#top-menu .menu-item:focus-within>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}

#top-menu .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  transform: translateX(8px);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

#top-menu .sub-menu li:hover>.sub-menu,
#top-menu .sub-menu li:focus-within>.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition-delay: 0s;
}

/* 6.2 Logo in Menu */
#top-menu>ul.top-nav-menu {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.menu-item-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline: .5rem;
}

.menu-logo-link {
  display: inline-flex;
  padding: 0 !important;
}

.menu-logo-img {
  display: block;
  width: auto;
  height: 150px;
  pointer-events: none;
}

/* ==========================================================
   7) NAVIGATION (MOBILE DRAWER)
   ========================================================== */
#mobile-wrapper {
  display: none;
}

.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: min(86vw, 360px);
  height: 100vh;
  background: #111;
  color: #fff;
  transform: translateX(100%);
  transition: transform .25s ease-out;
  z-index: 10000000;
  padding: 1rem 1rem 2rem;
  overflow-y: auto;
  box-shadow: -8px 0 24px rgba(0, 0, 0, .35);
}

.mobile-nav.is-open {
  transform: translateX(0);
}

.mobile-nav-toggle {
  display: none;
  background: transparent;
  color: inherit;
  border: 0;
  padding: .5rem;
  cursor: pointer;
  z-index: 1001;
}

.mobile-nav .nav__close {
  background: transparent;
  color: inherit;
  border: 0;
  padding: .5rem;
  margin-bottom: .5rem;
  cursor: pointer;
}

.mobile-nav__menu,
.mobile-nav__menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav__menu>li>a {
  display: block;
  padding: .75rem 0;
  color: #fff;
  text-decoration: none;
  font-family: Viga, sans-serif;
  font-variant: small-caps;
  font-size: 18px;
}

.mobile-nav__menu a:hover {
  color: var(--theme-pallete-1);
}

.mobile-nav__menu .sub-menu a {
  padding-left: 1rem;
}

.mobile-nav__menu .sub-menu .sub-menu a {
  padding-left: 2rem;
}

body.nav-open {
  overflow: hidden;
}

/* ==========================================================
   8) COMPONENTS
   ========================================================== */
/* 8.1 ResponsiveSlides (RS) */
.rslides {
  position: relative;
  list-style: none;
  overflow: hidden;
  width: 100%;
  padding: 0;
  margin: 0;
  height:800px;
}
.rslides_container{
  text-align:center;
  background-color:black;
}
.rslides li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
}

.rslides li:first-child {
  position: relative;
  display: block;
  float: left;
}

.rslides img {

  max-width: 900px;
  width: 100%;
  border: 0;
  height: 700px;
  padding-top: 100px;
}

#slider:hover .centered_btns_nav {
  opacity: .7;
}

.centered_btns_nav {
  position: absolute;
  top: 450px;
  text-align: center;
  transform: translateY(-20%);
  opacity: 1;
  transition: opacity .3s ease;
  z-index: 100;
  height: 100px;
  width: 100px;
}

.centered_btns_nav.prev {
  left: 15px;
}

.centered_btns_nav.next {
  right: 15px;
}

.centered_btns_nav svg {
  transition: stroke .3s ease, transform .3s ease;
}

.centered_btns_nav:hover svg {
  stroke: #ffcc00;
  transform: scale(1.2);
}

.rslides li::after {
  content: "";
  position: absolute;
  inset: 0;
  padding-top: 100px;
  height: 700px;
  z-index: 70;
  background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5));
}

/* 8.2 Caption Text */
.caption-text {
  position: absolute;
  top: 450px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 102;
  color: #fff;
  font-family: Viga;
  font-size: 72px;
  font-weight: 400;
  white-space: normal;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.caption-text-wrap {
  max-width: 75vw;
}

/* 8.3 Section 1 (Hero Split) */
.sectiongrid-1 {
  display: grid;
  grid-template-columns: 60% 40%;
  grid-template-rows: auto;
}

#section-1 .left {
  position: relative;
  height: 800px;
  overflow: hidden;
}

#section-1 img.left-underlay {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  height: 800px;
  width: 100vw;
  overflow: hidden;
  touch-action: pan-y !important;
}

#section-1 .image-blur-box {
  mask-image: linear-gradient(to top, transparent, black 10%);
  position: relative;
  width: 100%;
  height: 100%;
}

#section-1 img.left.overlay {
  height: 400px;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 101;
  filter: blur(1px);
  transition: all .6s ease-in-out;
}

#section-1:hover img.left.overlay {
  filter: blur(0);
  transform: translate(-50%, -50%) scale(1.1);
}

.section-mini-left.background {
  height: 40%;
  width: 65%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -90%);
  transition: all 1s ease-in-out;
}

#section-1:hover .section-mini-left.background {
  filter: blur(2px);
}

#section-1 .right {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 20px 0 0 20px;
}

#section-1 span.right .frontpage.description.wrap span.badge.icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: auto;
  position: relative;
  top: 25%;
}

.badge.icon::before {
  font-family: 'Icons';
  content: "\E019";
  color: var(--theme-pallete-1);
  font-size: 72px;
  padding-top: 25px;
}

.badge-text {
  font-family: Viga;
  font-variant: small-caps;
  color: var(--theme-pallete-1);
  font-size: 36px;
  padding-left: 15px;
}

.title-leader {
  text-transform: uppercase;
  color: #8E984A;
  font-family: Viga;
  letter-spacing: 6px;
  font-weight: 400;
  font-size: 36px;
  display: flex;
  justify-content: center;
  padding: 35px 0;
}

.front-page-leadertext,
.second-leader-text {
  font-family: Viga;
  font-weight: 500;
  font-size: 50px;
  font-variant: small-caps;
}

section#front-page-sections.second,
section#front-page-sections.second .title-leader {
  background: var(--theme-grey1);
  margin-top: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#front-page-sections.second h5 {
  color: #fff;
  display: flex;
  justify-content: center;
  margin-top: 0;
}

.frontpage.description.wrap .text {
  font-family: Ubuntu, sans-serif;
  font-size: 18px;
  display: inline;
  padding-top: 30px;
}

/* 8.4 Tiles */
ul.tiles {
  list-style: none;
  display: flex;
  gap: 5em;
}

ul.tiles .tile-header {
  font-size: 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: .875em;
  padding-left: 10px;
}

ul.tiles .tile-header:hover {
  color: var(--theme-pallete-1);
}

.tileinfobox {
  font-family: Viga;
  background: #fff;
  display: flex;
  flex-direction: column;
  width: 200px;
  height: auto;
  position: absolute;
}

.tileinfobox li {
  list-style: none;
  padding: 0 15px 15px 0;
}

.tileinfobox li::before {
  content: "✓";
  color: green;
  font-family: Viga;
  font-weight: 500;
  padding-right: 1em;
}

li.booknowbutton::before {
  font-family: 'Icons';
  font-size: 56px;
  content: "\E008";
  padding-right: 10px;
  transition: text-shadow .5s ease;
}

.tileinfobox:hover li.booknowbutton::before {
  text-shadow: 2px 2px 5px grey;
}

.tileinfobox li.booknowbutton {
  display: flex;
  align-items: center;
  font-size: 20px;
  top: 75%;
  
}
.tileinfolist a {
  text-decoration: none;
  color:black;
}

#front-page-sections li.tile.one.container,
#front-page-sections li.tile.two.container,
#front-page-sections li.tile.three.container {
  width: 500px;
  height: 500px;
  display: flex;
  object-fit: scale-down;
  justify-content: flex-end;
  align-items: flex-end;
}

#front-page-sections li.tile.one.container img,
#front-page-sections li.tile.two.container img,
#front-page-sections li.tile.three.container img {
  height: 100%;
  width: 100%;
}

#front-page-sections.third {
  height: 1350px;
  background: whitesmoke;
}

/* 8.5 Activities Slider (cards) */
.activities.slider {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  touch-action: pan-y;
  overflow: hidden;
}
#activity-slider{
  touch-action: pan-y;
}
.activity-slides,
.activity-slides li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.activity-slides {
  display: flex;
  justify-content: center;
  height: 80%;
}

.activity-slides li {
  position: relative;
}

.imagewrap {
  position: relative;
  overflow: hidden;
  width: 440px;
  height: 720px;
  object-fit: none;
}

.imagewrap img {
  display: block;
  height: calc(900px * 0.8);
}

.imagewrap img+img {
  position: absolute;
  inset: 0;
  height: calc(900px * 0.8);
  object-fit: contain;
  pointer-events: none;
}

.description-wrap {
  position:relative;
  top:-150px;
  left:100px;
  font-family: Viga;
  background: rgb(233, 233, 233);
  height: 450px;
  width: 40vw;
  margin-left: 5em;
  padding: 50px;
  max-width: 600px;
  min-width: 360px;
}

.description-wrap .header {
  font-size: 48px;
  font-variant: small-caps;
  display: flex;
  justify-content: space-evenly;
  align-items: flex-end;
  flex-wrap: wrap;
  width: 100%;
}

.description-wrap .slide-1.header::before {
  content: url('./includes/svg/frisbee.svg');
  display: inline-block;
  height: 50px;
  width: 50px;
}

.description-wrap .slide-2.header::before {
  content: url('./includes/svg/rccar.svg');
  display: inline-block;
  height: 50px;
  width: 50px;
}

.description-wrap .slide-3.header::before {
  content: url('./includes/svg/hiking.svg');
  display: inline-block;
  height: 50px;
  width: 50px;
}

.description-wrap .slide-4.header::before {
  content: url('./includes/svg/drone.svg');
  display: inline-block;
  height: 50px;
  width: 50px;
}

.description-wrap .slide-5.header::before {
  content: url('./includes/svg/tent.svg');
  display: inline-block;
  height: 50px;
  width: 50px;
  padding-right: 50px;
  padding-bottom: 25px;
}

.tagline {
  font-family: Viga;
}

.activity-description {
  position: relative;
  font-family: Ubuntu;
  font-variant: small-caps;
  font-size: 20px;
  padding-left: 4em;
  height: 100%;
  margin-top: 65px;
  min-width: 280px;
  max-width: 600px;
}

.flexwrap-CTA-slide {
  position: absolute;
  top: 40%;
  
  display: flex;
  justify-content: center;
  justify-self:anchor-center;
}

.CTA-activity-slide a {
  display: flex;
  position: relative;
  text-decoration: none;
  color: #fff;
  background: var(--theme-green-shade2);
  border-radius: 25px;
  padding: 20px;
  top: 25px;
  min-width: 220px;
  max-width: 600px;
  width: 100%;
  justify-content: center;
  transition: .5s;
}

.CTA-activity-slide a:hover {
  background: var(--theme-green-shade1);
  color: #000;
  width: 110%;
  transform: translateX(-5%);
}

/* Slide-specific art positions */
img.slide-1.overlay {
  position: absolute;
  z-index: 101;
  width: 230px;
  height: auto;
  top: 20%;
  left: 20vw;
  transition: all .8s ease-in-out;
}

.slidewrap:hover img.slide-1.overlay {
  transform: scale(1.1);
  top: 5%;
  left: 250px;
}
img.slide-6.overlay {
  position: absolute;
  z-index: 101;
  width: 350px;
  height: auto;
  top: 0;
  left: 30vw;
  transition: all .8s ease-in-out;
}

.slidewrap:hover img.slide-6.overlay {
  transform: scale(1.1);
  top: 5%;
  left:0;
}

img.slide-4.overlay {
  position: absolute;
  z-index: 101;
  width: 450px;
  height: auto;
  top: 5%;
  left:10%;
  display: block;
  transform: translateX(-130px);
  transition: transform 1s ease;
}

.slidewrap:hover img.slide-4.overlay {
  transform: translate(350px, 150px);

}

.activities-slide-2 {
  overflow: visible;
}

img.slide-2.overlay {
  position: absolute;
  height: 400px;
  transform: translateX(-50%);
}

#activities1_s2 .slide-3.imagewrap img.background {
  height: calc(900px * 0.8);
  max-width: 440px;
  object-fit: cover;
  display: block;
  position: relative;
}

/* Selector dots for slider */
.selector-wrap {
  display: flex;
  justify-content: center;
  margin: .75rem 0 35px;
  position: relative;
  z-index: 1001;
}

.selector-list {
  position: relative;
  top:55px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.selector-list li {
  list-style: none;
}

.selector-circle {
  width: 18px;
  height: 18px;
  cursor: pointer;
  --dot-stroke: #a3a3a3;
  --dot-fill: transparent;
}

.selector-circle path {
  stroke: var(--dot-stroke);
  fill: var(--dot-fill);
}

.selector-circle.active {
  --dot-stroke: #0ea5e9;
  --dot-fill: rgba(14, 165, 233, .2);
}

.selector-circle:focus-visible {
  box-shadow: 0 0 0 3px rgba(14, 165, 233, .45);
  border-radius: 999px;
}

/* 8.6 Maps / Links */
.openstreetmap {
  width: 100%;
  height: 100%;
  max-width: 650px;
  min-width: 250px;
}

.map-links {
  display: flex;
  gap: .75rem;
  align-items: center;
}

.map-links a {
  color: #fff;
}

.map-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem .9rem;
  border-radius: 2rem;
  text-decoration: none;
  font-weight: 600;
  line-height: 1;
  border: 1px solid #e2e2e2;
}

.map-google,
.map-apple {
  background: var(--theme-grey1);
}

.map-btn:hover {
  background: var(--theme-pallete-2);
}

.map-btn .icon {
  display: inline-flex;
}

.direction-link {
  text-decoration: none;
}

/* 8.7 Location Description */
.location-description {
  max-height: 520px;
  display: flex;
  font-family: Ubuntu;
  background: #e9e9e9;
  padding: 20px;
  height: 80%;
  flex-direction: column;
  justify-content: center;
  width: 75%;
  margin-left: 20px;
  align-items: center;
}

/* 8.8 CTA Buttons (shared) */
.cta-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 12px 0 18px;
}
.front-page.CTA-button{
display: flex
;
    position: relative;
    text-decoration: none;
    color: #fff;
    background: var(--theme-green-shade2);
    border-radius: 25px;
    padding: 20px;

    min-width: 220px;
    max-width: 600px;
    width: 100%;
    justify-content: center;
    transition: .5s;
    font-family: Ubuntu;
    font-variant: small-caps;
    font-size: 20px;
}
.front-page.CTA-button:hover{
      background: var(--theme-green-shade1);
    color: #000;
    width: 110%;
    transform: translateX(-5%);
}
.btn {
  display: flex;
  color: #fff;
  min-width: 220px;
  max-width: 600px;
  width: 100%;
  justify-content: center;
  text-decoration: none !important;
  background: var(--theme-green-shade2);
  border-radius: 25px;
  padding: 20px;
  transition: .5s;
  font-size: 48px;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn.call,
.btn.email {
  background: var(--theme-green-shade2);
  color: #fff;
  transition: 1s;
}

.btn.call:hover,
.btn.email:hover {
  background: var(--theme-green-shade1);
  color: #000;
}

.btn.submit {
  background: #2a332a;
  color: #a8f0a2;
  border-color: #466;
}

/* 8.9 Footer (Nexus) */
#nexusfooter {
  font-family: Viga;
  background: #000;
  color: #0ea5e9;
  height: 150px;
  display: flex;
  justify-content: center;
  width: 100%;
  box-shadow: 2px 2px 2px #000;
}

#nexusfooter p {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#nexusfooter p a {
  display: flex;
  text-decoration: none;
  color: purple;
  font-size: 24px;
  border-bottom: 2px solid #fff;
  transition: color 1.2s ease;
  width: 100%;
  justify-content: center;
}

#nexusfooter:hover a {
  color: #49dec5;
}

/* 8.10 ORC Map (SVG hotspots) */
#HoverMarkers ellipse,
#HoverMarkers rect {
  fill: #fff;
  stroke: none;
  pointer-events: all;
  cursor: pointer;
}

#HoverMarkers ellipse:hover,
#HoverMarkers rect:hover {
  fill-opacity: .25 !important;
}

#HoverMarkers * {
  z-index: 1001;
}

.orc-map-svg {
  padding: 200px 0;
  height: auto;
  width: auto;
  min-height: 800px;
  min-width: 800px;
  max-width: 90vw;
  max-height: 1800px;
  position: relative;
  left: 305px;
}

#popup img {
  width: 300px;
}

.front-map-svg-wrap {
  width: 100%;
  height: auto;
  text-align: center;
}

.front-orc-map-svg {
  width: 80%;
  height: auto;
}

#front-page-hovermap h3 {
  text-transform: uppercase;
  color: #8E984A;
  font-family: Viga;
  letter-spacing: 6px;
  font-weight: 400;
  font-size: 36px;
  display: flex;
  justify-content: center;
  padding: 35px 0;
}

/* 8.11 Sponsors */
.sponsorbar {
  width: 100%;
  background: #000;
  font-family: Viga;
  font-size: 36px;
  text-align: center;
  color: #fff;
}

.sponsors {
  background-color: rgba(0,0,0,0.7);
  height: 200px;
  display: flex;
}

.sponsors div {
  display: flex;
  height: 200px;
  width: calc(100% / 3);
  justify-content: center;
  align-items: center;
}

.sponsors img {
  max-height: 200px;
}

/* ==========================================================
   9) PAGE-SPECIFIC
   ========================================================== */
/* 9.1 404 */
#primary.site-404 {
  position: absolute;
  top: 300px;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  font-family: Viga;
  font-size: 48px;
  background-color: rgb(233, 233, 233);
}

.lost.home-button {
  display: flex;
  position: relative;
  text-decoration: none;
  color: #fff;
  background: var(--theme-green-shade2);
  border-radius: 25px;
  padding: 20px;
  font-family:Viga;
  font-size:24px;
  min-width: 220px;
  max-width: 600px;
  width: 100%;
  justify-content: center;
  transition: .5s ease;
}

.lost.home-button:hover {
  background: var(--theme-green-shade1);
  color: #000;
  width: 110%;
}

span.buttonwraplost {
  display: flex;
  justify-content: center;
}

/* 9.2 Subpage wrappers */
#primary.site-frisbeegolfbooking {
  height: 90%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Viga;
  font-size: 48px;
}

#primary>div.page-title {
  position: relative;
  padding-top: 250px;
  width: 100%;
  text-align: center;
  font-family: Viga;
  font-size: 84px;
  font-variant: small-caps;
  color:var(--orc-green-2);
}

#primary.site-subpage>div.linearswipe {
  text-align: center;
}

.contact-misc {
  font-family: Viga;
  font-size: 24px;
  text-align: center;
}

.subpage-wrap {
  display: flex;
  flex-direction: column;
}

.subpage-description {
  font-family: Viga;
  font-size: 48px;
  justify-self: center;
}

.drone-page.subpage-description {
  align-self: baseline;
}

.drone-page.page-wrap,
.camps-page.page-wrap,
.hike-bike-page.page-wrap,
.rc-page.page-wrap,
.camp-info.page-wrap,
.frisbee-page.page-wrap {
  display: flex;
  flex-wrap: nowrap;
}

#primary>div.rc-page.page-wrap {
  align-items: flex-start;
}

/* Shared content blocks */
.golf-booking-info,
.drone-course-info,
.rc-course-info,
.camp-info,
.hike-bike-info,
.ev-course-info {
  font-family: Viga;
  padding: 20px;
  margin: 20px 0;
  line-height: 1.6;
  color: #000;
}
.ev-course-info h1{
  font-size:72px;
  color:var(--theme-gold1);
}

.golf-booking-info h2,
.drone-course-info h2,
.rc-course-info h2,
.camp-info h2,
.hike-bike-info h2 {
  color: var(--theme-gold1);
  margin: 14px 0 8px;
  border-bottom: 2px solid #444;
  padding-bottom: 4px;
  font-size: 72px;
}

.golf-booking-info h3,
.drone-course-info h3,
.rc-course-info h3,
.camp-info h3,
.hike-bike-info h3,
.ev-course-info h2 {
  color: var(--theme-gold1);
  margin: 14px 0 8px;
  border-bottom: 2px solid #444;
  padding-bottom: 4px;
  font-size: 56.16px;
}

.golf-booking-info p,
.golf-booking-info li,
.drone-course-info p,
.drone-course-info li,
.rc-course-info p,
.rc-course-info li,
.camp-info p,
.camp-info li,
.hike-bike-info p,
.hike-bike-info li,
#ev-track-page p,
#ev-track-page li {
  font-size: 1.2rem;
}
.EV-page.page-wrap{
  align-items:flex-start!important;
}
.golf-booking-info ul,
.drone-course-info ul,
.rc-course-info ul,
.hike-bike-info ul {
  margin: 12px 0 16px;
  padding-left: 20px;
}

.golf-booking-info a,
.drone-course-info a,
.rc-course-info a,
.hike-bike-info a {
  text-decoration: none;
  color:white;

  align-self:center;
  background-color:var(--orc-accent-2);
  transition: 1s;
  border-radius: 25px;
  text-align:center;
}

.golf-booking-info a:hover,
.drone-course-info a:hover,
.rc-course-info a:hover,
.hike-bike-info a:hover {
  color: black;
  background: var(--theme-green-shade1);
  text-decoration: none;
}

/* Booking form */
.booking-form {
  display: grid;
  gap: 10px;
  max-width: 560px;
  margin-top: 8px;
}

.booking-form label {
  display: grid;
  gap: 6px;
  font-size: .95rem;
}

.booking-form input,
.booking-form textarea {
  background: #1b1b1b;
  color: #f5f5f5;
  border: 1px solid #444;
  border-radius: 8px;
  padding: 10px;
}

.booking-form .form-note {
  font-size: .85rem;
  color: #cfcfcf;
  opacity: .9;
}

/* 9.3 Galleries (grid) */
.grid {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  /* note: masonry rows are experimental */
}

.gallery-wrap {
  width: 50%;
  padding-top: 1vh;
  padding-left: 2vw;
}

.grid-item {
  width: 30%;
  margin-bottom: 10px;
  display: block;
}

.page-wrap {
  display: flex;
  align-items: center;
}

/* Toggle helpers for mobile galleries */
.grid-toggle-btn {
  display: none;
  margin: 12px auto 24px;
  padding: 10px 16px;
  border: 1px solid var(--orc-accent, #999);
  border-radius: 8px;
  background: transparent;
  font: inherit;
  cursor: pointer;
  width:100%;
  font-family:Viga;
  background-color:var(--theme-green-shade3);
  color:white;
  font-size:24px;
  box-shadow: 5px 5px 5px #888888;
}

.grid-item.is-hidden-mobile {
  display: block;
}

/* ==========================================================
   10) MEDIA QUERIES
   ========================================================== */

@media (mex-width:480px){
  .page-wrap{
    width:100%;
  }
}
@media (max-width:376px) {
  .caption-text {
    font-size: 1.5em;
  }
}

@media (max-width:451px) {
  ul.tiles {
    padding-left: 0;
  }

  #front-page-sections>div.tile-grid>ul>li.tile {
    padding-left: 0 !important;
  }

  .tile-grid {
    flex-direction: column;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
  }

  #section-1 {
    height: auto;
  }

  .frontpage.description.wrap span.badge.icon {
    border-top: 2px solid var(--theme-green-shade2);
    padding-top: 20px;
  }

  .frontpage.description.wrap .text {
    display: inline;
    padding-top: 5px;
  }
}

@media (max-width:640px) {
  ul.tiles {
    max-width: 80vw;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }

  #front-page-sections li.container {
    width: 90vw !important;
    margin-inline: auto !important;
    padding-left: 5vw;
    padding-bottom: 2vh;
  }

  section#front-page-sections.second {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  #front-page-sections.second h5 {
    width: 50%;
    margin-inline: auto;
    margin-top: 0;
  }

  .activities.slider,
  .description-wrap {
    max-width: 100vw;
    margin: 0;
    padding: 0;
  }

  .slidewrap img.overlay {
    width: 0;
    height: 0;
    display: none;
  }

  .sectiongrid-1 {
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto;
  }

  span.CTA-activity-slide a {
    width: auto;
  }

  #front-page-sections.fourth {
    height: 1000px;
  }

  #front-page-sections.fourth .section-grid {
    display: flex;
    flex-direction: column;
  }

  .location-description {
    padding: 0;
  }

  #contactbar {
    display: flex;
    flex-direction: column;
  }

  #top-menu {
    display: none;
  }

  .mobile-nav {
    display: block;
    width: 50%;
  }

  #nav-toggle {
    width: 20%;
    height: 20%;
  }

  #mobile-wrapper {
    display: flex;
  }
}

@media (max-width:675px) {
  #activities1_s2 .slide-3.imagewrap img.background {
    max-width: 100%;
  }

  #activities1_s4>div>div.slide-5.description-wrap>div.slide-5.activity-description {
    margin-top: 0;
  }

  .caption-text {
    width: auto;
    font-size: 3em;
  }
}

@media (max-width:821px) {
  .sectiongrid-1 {
    grid-template-columns: 100%;
    grid-template-rows: auto auto;
  }

  #section-1 .left {
    height: 500px;
  }

  .frontpage.description.wrap .text {
    padding-left: 0;
    padding-right: 0;
  }

  .caption-text {
    font-size: 3.5em;
  }
}

@media (max-width:864px) {
  #front-page-sections.fourth .section-grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  #front-page-sections.fourth {
    padding-bottom: 35px;
  }
}

@media (max-width:900px) {
  .mobile-nav-toggle {
    display: inline-flex;
    align-items: center;
  }
  .coming-soon-banner{
    font-size:36px!important;
    height:100px!important;
  }
  #desktop-nav,
  .primary-navigation,
  .main-navigation .menu,
  #top-menu .menu-item>a {
    display: none !important;
  }

  #section-1 img.left-underlay {
    top: 0;
    position: absolute;
    height: 900px;
  }

  #top-menu .menu-logo-img {
    width: clamp(120px, 40vw, 260px);
    height: auto;
  }
}

@media (max-width:1010px) {
  .slidewrap {
    flex-direction: column;
    max-height: unset;
  }

  #front-page-sections .activities.slider ul.activity-slides {
    height: 1080px;
  }
.selector-list {
  top:0;
}
  #front-page-sections .activities.slider ul.activity-slides li {
    height: auto;
  }

  .description-wrap {
    position: relative;
    top: -300px;
    left:0;
    width:80vw;
    margin:auto;
    box-shadow:1em 3em 10em 2em rgba(0,0,0,0.5);
    
  }
  .description-wrap .header{
    text-align:center;
  }
  .description-wrap .tag-line{
    text-align:center;
  }
  .activity-description{
    padding-left:25px;
    padding-right:25px;
    width:auto;
    margin-top:5px
  }
  img.slide-1.overlay {
    height: 10vw;
    width: 10vw;
  }

  img.slide-4.overlay {
    width: 325px;
    position: absolute;
    left: -100px;
  }
  
}

@media (max-width:1200px) {
  h5{
    margin-block-start: 0;
    margin-block-end: 0;
  }
  h2{
    margin-block-start: 0.2em;
    margin-block-end:0.2em;
  }
   h3{
    margin-block-start: 0.1em;
    margin-block-end:0.1em;
  }
  .slidewrap:hover img.slide-1.overlay {
    left: -60px !important;
  }
}

@media (max-width:1201px) {
  #activities1_s4>div>div.slide-5.description-wrap>span.slide-5.header {
    flex-wrap: nowrap;
  }
}

@media (max-width:1250px) {
  .sectiongrid-1 {
    display: flex;
    flex-direction: column;
  }

  #section-1 span.right .frontpage.description.wrap span.badge.icon {
    display: flex;
    justify-content: center;
  }
}

@media (min-width:1251px) and (max-width:1300px) {
  #section-1 span.right .frontpage.description.wrap span.badge.icon {
    display: grid;
    grid-template-columns: 20% auto;
    top: 0;
    height: 150px;
  }
}

@media (max-width:1300px) {
  ul.tiles {
    gap: 0;
    transition: .1s ease;
    padding: 0;
    margin: auto;
    max-width: 100vw;
  }

  /* scale down headings */
  .golf-booking-info h2,
  .drone-course-info h2,
  .rc-course-info h2,
  .camp-info h2,
  .hike-bike-info h2 {
    font-size: 36px;
  }

  .golf-booking-info h3,
  .drone-course-info h3,
  .rc-course-info h3,
  .camp-info h3,
  .hike-bike-info h3 {
    font-size: 28px;
  }

  .drone-page.page-wrap,
  .camps-page.page-wrap,
  .hike-bike-page.page-wrap,
  .rc-page.page-wrap,
  .camp-info.page-wrap,
  .frisbee-page.page-wrap {
    flex-direction: column;
  }

  .gallery-wrap,
  .camps.gallery-wrap,
  .rc.gallery-wrap,
  .frisbee-page.gallery-wrap {
    padding-left: 0;
    width: 90%;
    margin: auto;
  }

  .grid-toggle-btn {
    display: inline-block;
  }

  .grid-item.is-hidden-mobile {
    display: none !important;
  }
}
@media (max-width:1350px){
  .sponsors{
    display:flex;
    flex-direction: column;
    height:auto;
    align-items: center;
    width:100%;
  }
  .sponsors div{
    width:100%;

  }
  .sponsors * img {
    width:100%;
  }
}
@media (max-width:1625px) {
  ul.tiles {
    padding: 0;
    margin: auto;
    max-width: 100vw;
  }
}

@media (1301px <=width <=1771px) {
  #section-1 span.right .frontpage.description.wrap span.badge.icon {
    position: absolute;
    left: 20vw;
    top: 1450px;
    z-index: 99999;
    padding: 25px 25px 30px;
    background-color: rgba(245, 245, 245, .75);
    border-radius: 4em;
  }

  .sectiongrid-1 {
    height: auto;
    padding-bottom: 100px;
  }
}

@media (min-width:901px) {

  .mobile-nav,
  .mobile-nav-toggle {
    display: none !important;
  }
}

/* ==========================================================
   END
   ========================================================== */
/* --- Sponsor marquee --- */
.sponsor-flex {
  max-width: 1200px;
  margin: 0 auto;
}

.sponsorbar {

  font-family: Viga, sans-serif;
}

.sponsor-marquee {
  position: relative;
  overflow: hidden;
}

.sponsor-track {
  display: flex;
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  will-change: transform;
  animation: sponsor-marquee var(--marquee-duration, 20s) linear infinite;
}

.sponsor-marquee:hover .sponsor-track {
  animation-play-state: paused;
}

.sponsor-item {
display:flex;
height:180px;



}
#sponsor-slider li img{
  height:180px;
}
.sponsor-item img {
  display: block;
  max-height: 200px;
  width: auto;
  max-width: 33vw;
  object-fit: contain;
}

/* If your old .sponsors had grid/flex, neutralize it */
section.sponsors {
  display: block;
  margin: 0;
  padding: 0;
}
.rslides2{
display: flex
;
    flex-direction: row;
    list-style: none;
    align-items: center;
    padding-inline-start: 0px;
}

@keyframes sponsor-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(var(--marquee-translate, -50%));
  }
}


.section-mini-left.background {display:none!important}


/* Ensure slider captures gestures and hides overflow */
#activity-slider {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}

/* Non-interactive art layers shouldn't block swipes */
#activity-slider .overlay,
#activity-slider .imagewrap img.background,
#activity-slider .linearswipe {
  pointer-events: none;
}

/* Links remain clickable */
#activity-slider a,
#activity-slider .CTA-activity-slide a {
  pointer-events: auto;
}

/* Guard against any absolute layer covering the slider */
#activity-slider, #activity-slider * {
  -webkit-user-select: none;
  user-select: none;
}
#activity-slider {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}
#activity-slider .overlay,
#activity-slider .imagewrap img.background,
#activity-slider .linearswipe { pointer-events: none; }
#activity-slider a,
#activity-slider .CTA-activity-slide a { pointer-events: auto; }
#activity-slider {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}

#activity-slider .overlay,
#activity-slider .imagewrap img.background,
#activity-slider .linearswipe { pointer-events: none; }

#activity-slider a,
#activity-slider .CTA-activity-slide a { pointer-events: auto; }


#camp-map-selector {
  width:500px;
  height:auto;
}
.orc-site.is-selected{
  fill-opacity:0.5!important;
  fill:#cde6ff!important;

}
.camp-page #HoverMarkers ellipse#RC-Course:hover,
.camp-page #HoverMarkers ellipse#DroneCourse:hover,
.camp-page #HoverMarkers rect#H20-3:hover,
.camp-page #HoverMarkers ellipse#Hole-1:hover  {
  fill-opacity:0!important;
  cursor: default;
}
.camp-page #HoverMarkers ellipse#camphover-2,
.camp-page #HoverMarkers ellipse#camphover-1,
.camp-page #HoverMarkers ellipse#camphover-3,
.camp-page #HoverMarkers ellipse#camphover-4{
  stroke:#ffcc00;
  stroke-width: 2px!important;
  stroke-dasharray:4,5;
  stroke-linecap: round;
} 
.camp-page.calendar-booking-wrap{
  width:90vw;
  margin:auto;
}

/*drone page media tweaks */
@media (max-width:769px) {
  .drone-course-info{
    padding-left:1vw;
    padding-right:1vw;
    padding-top:0;
    padding-bottom:0;
    text-align:center;


  }
    .drone-page .cta-row{
    flex-direction: column;
    align-content: center;
    }
    .drone-page .grid{
      width:90vw;
      grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
    }
    .drone-page .gallery-wrap{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: wrap;}
}

@media (max-width:1300px){
  .drone-page .drone-course-info,
  .golf-booking-info,
  .rc-course-info,
  .hike-bike-info,
  .camp-info
  {
  display: flex;
  flex-direction: column;
  align-items: center;
  }
.drone-page .grid
  {
        margin-left:auto;
        margin-right: auto;
    
    
  }.EV-page.page-wrap{
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
    max-width:100vw;
  }
  .EV-page .gallery-wrap{
    display:flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-content: center;
    align-items: stretch;
    width:100%;
  }
  .EV-page .grid,
  .rc-page .grid,
  .drone-page .grid,
  .hike-bike-page .grid{
margin-left: auto; margin-right: auto;
  }

    /* Hide clamped items on small screens */
  .is-hidden-mobile { display: none !important; }
}

/*daypass modal popup stylings*/
#primary.site.day-pass{
  height:85vh;
}
.orc-daypass{
      background: honeydew;
    border-radius: 25px;
    margin-left: 5vw;
    margin-right: 5vw;
    padding-bottom:5vh;
}
.site.day-pass{
  background:#333333
}
.daypass-description{
  font-family: Viga;
  color:white;
  font-size:18px;
  text-align:center;
}
.daypass-header{
  background:black;
  font-family:Viga;
  text-align:center;
  font-size:56px;
  color:var(--theme-gold1);
}
.orc-daypass-price-instructions:nth-child(1){
  font-size:22px;
}

.orc-daypass-price-instructions:nth-child(2){
  font-size:12px;
}
.linearswipe.day-pass{
  text-align: center;
  font-weight:500;
}

/*email phone stylings*/
a.phone-link{
  background-color: unset;
  border-radius: unset;
  color:var(--orc-accent-2);
  text-decoration: underline;
}
a.phone-link::before{
  content:'';
  font-family:'Icons';
  font-size:24px;
  padding-right:10px;
}
a.email-link{
  background-color: unset;

  border-radius: unset;
  color:var(--orc-accent-2);
  text-decoration: underline;
}
a.email-link::before{
  content:'';
  font-family:'Icons';
  font-size:24px;
    padding-right:10px;
}
.orc-daypass-form input[type="email"], .orc-daypass-form input[type="date"], .orc-daypass-form input[type="number"] {
  font-family: Viga;
  height:35px;
  border-radius: 5px;
  font-size:34px;
  background:none;
  text-align:center;
}

/*Drone page adjustments for CTA buttons*/
.orc-daypass-link{
  padding-left:25px;
  padding-right:25px;
  box-shadow: 5px 5px 5px #888888;
}

/*FRONT PAGE BANNER ADJUSTMENTS*/
.coming-soon-banner{
  position:absolute;
  top:230px;
  font-family: Viga;
  z-index:100!important;
  width:100vw;
  height:200px;
  background-color:rgba(105,151,101,0.65);
  backdrop-filter: blur(5px);
  color:var(--theme-gold1);
  text-align:center;
  align-content:center;
  font-size:72px;
 
}
.sponsor1{
  padding:auto;
  min-width:25vw;
}
.mobile-nav.is-open{
  z-index:10000;
}


/* GUARANTEE a non-shrinking base size for the burger */
#nav-toggle{
  position: fixed;
  top: 45px; left: 12px;              /* tweak left if needed */
  z-index: 10000;
  background: #000; color: #fff;
  height: 44px;
  width: 90px !important;             /* <-- prevents dot */
  min-width: 90px;                    /* <-- prevents dot */
  box-sizing: border-box;
  border: 0; border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;        /* keep icon left; room for label */
  gap: 8px;
  padding: 0 14px;
  overflow: hidden;
  cursor: pointer;
  -webkit-appearance: none; appearance: none;
  transform: none !important;         /* kill any theme scale/transform */
  transition: width 220ms ease, box-shadow 180ms ease;
}
#nav-toggle svg{
  width: 22px; height: 22px; flex: 0 0 auto; display: block;
}

/* Label appears only when expanded (no markup changes needed) */
#nav-toggle::after{
  content: "MENU";
  font-family:Viga;
  text-transform: capitalize;
  letter-spacing: .04em;
  opacity: 0; white-space: nowrap;
  font-size:28px;
  transform: translateX(-6px);
  transition: opacity 180ms ease, transform 220ms ease;
}

/* Expand when scrolled or when menu is open */
html.scrolled-60 #nav-toggle,
html.menu-open   #nav-toggle{
  width: 160px !important;
  background-color:var(--orc-green-2);            /* expand width */
}
html.scrolled-60 #nav-toggle::after,
html.menu-open   #nav-toggle::after{
  opacity: 1; transform: none;
}

/* Keep header clickable above overlays on home */
.home #masthead, .home header.site-header, .home .topbar{ position:relative; z-index:10001; }
.home .linearswipe, .home .overlay, .home .rslides_container .overlay, .home .rslides_container::before{
  pointer-events:none !important;
}

/* Optional desktop rule: don’t expand on large screens */
@media (min-width: 901px){
  html.scrolled-60 #nav-toggle, html.menu-open #nav-toggle{ width: 90px !important; }
}

.booking-flex-item._1{
 align-content:center; 
}
.camping-reservation-tip,
.day-pass-tip{
  text-align:center;
}

.orc-daypass,
.orc-model-frame{
  min-width:300px;
  width:90vw;

}

/*burger push*/
@media (max-width:656px){
  #nav-toggle
{
  top:120px!important;
}
html.scrolled-60 #nav-toggle{
  top:10px!important;
  transition:all 1s ease;
}
}