/* Main page settings */

:root { background-attachment: fixed; }

body {
    margin: 0;
    width: 100%;
    min-height: 100vh;
    position: relative;
    background: 
    linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.4)),
    url("/images/Backgroundimg.JPG") no-repeat center center fixed;
    background-size: cover;
	font-family: 'Raleway', sans-serif;
}


.fullpage {
    width: 80%;
    background-color: #ffffff;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
	padding-top: 20px;
}

/* =========================
   HEADER WRAPPER
========================= */

.site-header-wrapper {
    width: 100%;
    background: #ffffff;
}

/* =========================
   DESKTOP NAV
========================= */

.desktop-nav {
    display: block;
}

.site-header-logos {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.header-logo-left,
.header-logo-center,
.header-logo-right {
    display: flex;
    align-items: center;
}

.header-logo-left { justify-content: flex-start; }
.header-logo-center { justify-content: center; }
.header-logo-right { justify-content: flex-end; }

.header-logo-left img,
.header-logo-center img,
.header-logo-right img {
    max-height: 100px;
    width: auto;
}

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    background: #26d07c;
}

.main-navigation li {
    position: relative;
}

.main-navigation li a {
    display: block;
    padding: 1em 1.5em;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.main-navigation li a:hover {
    background: #22bd70;
}

/* Dropdown */
.main-navigation li ul {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    flex-direction: column;
    background: #26d07c;
    min-width: 200px;
}

.main-navigation li:hover > ul {
    display: flex;
}

/* =========================
   MOBILE NAV
========================= */

.mobile-nav {
    display: none;
}

.mobile-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #26d07c;
    padding: 10px 15px;
}

.mobile-logo {
    display: flex;
    justify-content: center; /* center horizontally */
    align-items: center;
    background-color: #ffffff; /* optional white background */
    padding: 10px 0;
}

.mobile-logo img {
    height: 60px;  /* adjust as needed */
    width: auto;
}

.hamburger span {
  display: block;
  height: 3px;
  width: 25px;
  margin: 5px 0;
  background-color: white;
  transition: 0.4s;
}

.hamburger.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.open span:nth-child(2) {
  opacity: 0;
}

.hamburger.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

.mobile-menu {
    display: none;
    flex-direction: column;
    background: white;
}

.mobile-menu a {
    padding: 15px;
    border-bottom: 1px solid #eee;
    text-decoration: none;
    color: #26d07c;
}

.mobile-menu a:hover {
    background: #f5f5f5;
}

#menu-wrapper {
    overflow: hidden;
    max-width: 100%;
    cursor: pointer;
    background-color: #26d07c;
}


#menu-wrapper #hamburger-menu {
    position: relative;
    width: 25px;
    height: 20px;
    margin: 15px;
}

#menu-wrapper #hamburger-menu span {
    opacity: 1;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 10px;
    color: black;
    background-color: white;
    position: absolute;
    transform: rotate(0deg);
    transition: .4s ease-in-out;
}

#menu-wrapper #hamburger-menu span:nth-child(1) {
    top: 0;
}
#menu-wrapper #hamburger-menu span:nth-child(2) {
    top: 9px;
}
#menu-wrapper #hamburger-menu span:nth-child(3) {
    top: 18px;
}
#menu-wrapper #hamburger-menu.open span:nth-child(1) {
    transform: translateY(9px) rotate(135deg);
}
#menu-wrapper #hamburger-menu.open span:nth-child(2) {
    opacity: 0;
    transform: translateX(-60px);
}
#menu-wrapper #hamburger-menu.open span:nth-child(3) {
    transform: translateY(-9px) rotate(-135deg);
}

#menu-container .menu-list .menu-submenu {
    padding-top: 20px;
    padding-bottom: 20px;
}
#menu-container .menu-list {
    padding-left: 20px;
	 line-height: 2.2;
    display: block;
    position: absolute;
    width: 50%;
    max-width: 450px;
    background: white;
    box-shadow: rgba(100,100,100,0.2) 6px 2px 10px;
    z-index: 999;
    overflow-y: auto;
    overflow-x: hidden;
    left: -100%;
	 text-decoration: none;
	 font-family: Raleway, serif;
	 color: #26d07c;
}

#menu-container .menu-list li.accordion-toggle, #menu-container .menu-list .menu-login {
    font-size: 16px;
    padding: 20px;
    text-transform: uppercase;
    border-top: 1px solid #dbdcd2;
}
#menu-container .menu-list li:first-of-type {
    border-top: 0;
}

.accordion-toggle, .accordion-content {
    cursor: pointer;
    font-size: 16px;
    position: relative;
    letter-spacing: 1px;
}

  .accordion-content {
    display: none;
}

.accordion-toggle a:before, .accordion-toggle a:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 15px;
    height: 2px;
    margin-top: -1px;
    background-color: #5a5858;
    transform-origin: 50% 50%;
    transition: all 0.3s ease-out;
}

.accordion-toggle a:before {
    transform: rotate(-90deg);
    opacity: 1;
    z-index: 2;
}

.accordion-toggle.active-tab {
  background: #ffffff;
  color: #ffffff;
  transition: all 0.3s ease;
}
.accordion-toggle a.active:before {
    transform: rotate(0deg);
    background: #fff !important;
}

.accordion-toggle a.active:after {
    transform: rotate(180deg);
    background: #fff !important;
    opacity: 0;
}

a {
    color: #26d07c;
    text-decoration: none;
}

a:hover {
    color: #26d07c;
    text-decoration:none; 
    cursor:pointer;  
}

#menu-wrapper {
    overflow: hidden;
    max-width: 100%;
    cursor: pointer;
    background-color: #26d07c;
}


#menu-wrapper #hamburger-menu {
    position: relative;
    width: 25px;
    height: 20px;
    margin: 15px;
}

#menu-wrapper #hamburger-menu span {
    opacity: 1;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 10px;
    color: black;
    background-color: white;
    position: absolute;
    transform: rotate(0deg);
    transition: .4s ease-in-out;
}

#menu-wrapper #hamburger-menu span:nth-child(1) {
    top: 0;
}
#menu-wrapper #hamburger-menu span:nth-child(2) {
    top: 9px;
}
#menu-wrapper #hamburger-menu span:nth-child(3) {
    top: 18px;
}
#menu-wrapper #hamburger-menu.open span:nth-child(1) {
    transform: translateY(9px) rotate(135deg);
}
#menu-wrapper #hamburger-menu.open span:nth-child(2) {
    opacity: 0;
    transform: translateX(-60px);
}
#menu-wrapper #hamburger-menu.open span:nth-child(3) {
    transform: translateY(-9px) rotate(-135deg);
}

#menu-container .menu-list .menu-submenu {
    padding-top: 20px;
    padding-bottom: 20px;
}
#menu-container .menu-list {
    padding-left: 20px;
	 line-height: 2.2;
    display: block;
    position: absolute;
    width: 50%;
    max-width: 450px;
    background: white;
    box-shadow: rgba(100,100,100,0.2) 6px 2px 10px;
    z-index: 999;
    overflow-y: auto;
    overflow-x: hidden;
    left: -100%;
	 text-decoration: none;
	 font-family: Raleway, serif;
	 color: #26d07c;
}

#menu-container .menu-list li.accordion-toggle, #menu-container .menu-list .menu-login {
    font-size: 16px;
    padding: 20px;
    text-transform: uppercase;
    border-top: 1px solid #dbdcd2;
}
#menu-container .menu-list li:first-of-type {
    border-top: 0;
}

.accordion-toggle, .accordion-content {
    cursor: pointer;
    font-size: 16px;
    position: relative;
    letter-spacing: 1px;
}

  .accordion-content {
    display: none;
}

.accordion-toggle a:before, .accordion-toggle a:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 15px;
    height: 2px;
    margin-top: -1px;
    background-color: #5a5858;
    transform-origin: 50% 50%;
    transition: all 0.3s ease-out;
}

.accordion-toggle a:before {
    transform: rotate(-90deg);
    opacity: 1;
    z-index: 2;
}

.accordion-toggle.active-tab {
  background: #ffffff;
  color: #ffffff;
  transition: all 0.3s ease;
}
.accordion-toggle a.active:before {
    transform: rotate(0deg);
    background: #fff !important;
}

.accordion-toggle a.active:after {
    transform: rotate(180deg);
    background: #fff !important;
    opacity: 0;
}

a {
    color: #26d07c;
    text-decoration: none;
}

a:hover {
    color: #26d07c;
    text-decoration:none; 
    cursor:pointer;  
}

/* MOBILE MENU HIDDEN BY DEFAULT */
.mobile-nav .menu-list {
    display: none;           /* hide initially */
    position: absolute;      /* overlay on page */
    top: 60px;               /* adjust to sit below bar */
    left: 0;
    width: 100%;
    background-color: #ffffff; 
    z-index: 999;            /* on top of everything */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* =========================
   SITE HEADER
   ========================= */
.site-header {
  width: 100%;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 0;
  box-sizing: border-box;
}

/* Logos container */
.site-header-logos {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1100px;
  padding: 0 20px;
  box-sizing: border-box;
}

.header-logo-left,
.header-logo-center,
.header-logo-right {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-logo-left img,
.header-logo-center img,
.header-logo-right img {
  max-height: 13vh;
  width: auto;
  display: block;
}

/* =========================
   MAIN NAVIGATION (MENU)
   ========================= */
.main-navigation {
  width: 100%;
  margin-top: 15px;
}

.main-navigation ul {
  list-style: none;
  margin: 0 auto;            /* center the menu container */
  padding: 0;                /* remove extra padding */
  display: flex;
  justify-content: center;   /* center items */
  background-color: #26d07c;
  box-sizing: border-box;
}

.main-navigation li {
  position: relative;
  margin: 0 35px;            /* equal horizontal spacing between all items */
}

.main-navigation li:first-child {
  margin-left: 0;            /* optional: no extra space at very start */
}

.main-navigation li:last-child {
  margin-right: 0;           /* optional: no extra space at very end */
}

.main-navigation li a {
  font-size: 12px;               /* fixed max size */
  padding: 1em 1.5em;            /* vertical + horizontal spacing */
  display: block;
  text-decoration: none;
  color: #fff;
  font-family: Raleway, serif;
   text-align: center;
  transition: 
    background 0.3s ease, 
    text-shadow 0.3s ease;      /* added text-shadow transition */
}

.main-navigation li a:hover {
  background-color: #22bd70; 
  color: #fff;
  text-shadow: 0 0 8px #fff, 0 0 12px #22bd70;  /* glow effect */
}


/* =========================
   DROPDOWN ANIMATION
   ========================= */

.main-navigation li ul {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #26d07c;
  min-width: 180px;
  z-index: 10;
  padding: 0;
  margin: 0;
  list-style: none;
  flex-direction: column;

  /* animation setup */
  opacity: 0;
  transform: translateY(10px);
  visibility: hidden;
  pointer-events: none;

  transition: 
    opacity 0.35s ease,
    transform 0.35s ease,
    visibility 0.35s ease;
}

/* show dropdown smoothly */
.main-navigation li:hover > ul {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
  display: flex;
}


.main-navigation li ul li {
  width: 100%;
  margin: 0;
  padding: 0;  
}

.main-navigation li ul li a {
  display: block;
  padding: 0.8em 1em; 
  text-align: left;    
  white-space: nowrap;
  color: #fff;         
  font-family: Raleway, serif;
  transition: background 0.3s ease;
}

.main-navigation li ul li a:hover {
  background-color: #22bd70; /* match main menu hover */
}

/* Second-level dropdowns */
.main-navigation ul ul ul {
  left: 100%;
  top: 0;
}

/* Clearfix */
.main-navigation ul::after {
  content: "";
  display: table;
  clear: both;
}

/* =========================
   HEADER LOGO STRIP
   ========================= */

.site-header {
  width: 100%;
  background: #ffffff;
  display: flex;
  justify-content: center;
  padding: 0 0;
  box-sizing: border-box;
}

/* Main logo row */
.site-header-logos {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* 3 equal columns */
  align-items: center;
}

/* Each logo block */
.header-logo-left,
.header-logo-center,
.header-logo-right {
  display: flex;
  align-items: center;
}

/* Left logo */
.header-logo-left {
  justify-content: flex-start;
}

/* Centre logo (perfectly centred now) */
.header-logo-center {
  justify-content: center;
}

/* Right logo */
.header-logo-right {
  justify-content: flex-end;
}

/* Logo images */
.header-logo-left img,
.header-logo-center img,
.header-logo-right img {
  max-height: 105px;   /* adjust if needed */
  width: auto;
  display: block;
}


header {
	text-decoration: none;
   font-size: max(2vw, 20px);
   font-family: PlayfairBold;
   text-align: center;
	color: #26d07c;
}

.menualign {
	width: 60vw;
	margin-left: auto;
	margin-right: auto;
	background-color: #26d07c;
}

/* Main menu links bold */
.main-navigation li > a {
    font-weight: 600;  /* bold to match subheaders */
}

/* Subheadings inside dropdown */
.main-navigation li ul li.dropdown-subheading {
    font-family: Raleway, sans-serif;
    font-weight: 600;          /* match main menu weight */
    font-size: 12px;           /* same as main menu links */
    color: #fff;               /* keep white */
    background-color: #22bd70; /* slightly darker for separation */
    padding: 0.8em 1em;        /* match link padding */
    cursor: default;
    pointer-events: none;      /* unclickable */
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sub-menu links normal weight */
.main-navigation li ul li a {
    font-weight: normal; /* reset to normal */
}

/* Divider inside dropdown (unchanged) */
.main-navigation li ul li.menu-divider {
    border-top: 1px solid #1E8E57;
    margin: 0.2em 0;
    padding: 0;
    pointer-events: none;
}

/* =========================
   RESPONSIVE SWITCH
========================= */

@media (max-width: 768px) {
    .desktop-nav { display: none; }
    .mobile-nav { display: block; }
}

@media screen and (max-device-width: 480px) and (orientation: portrait) {
.fullpage {
	width: 100%;
	background-color: #ffffff;
	margin-left: auto;
	margin-right: auto;
}
}

@media screen and (max-device-width: 480px) and (orientation: landscape) {
.fullpage {
	width: 100%;
	background-color: #ffffff;
	margin-left: auto;
	margin-right: auto;
}
}

/* =========================
   TOURING PAGE HEADER
   ========================= */

.touring-hero{
    width:100%;
    background:#ffffff;
    padding:40px 0 20px 0;
}

.touring-hero-inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}

.touring-hero-left h1{
    font-family: Raleway, serif;
    font-size:30px;
    margin:0;
    color:#111;
}

.touring-book-btn{
    background:#26d07c;
    color:#fff;
    padding:14px 28px;
    font-size:16px;
    font-weight:600;
    border-radius:8px;
    text-decoration:none;
    transition:0.25s;
    display:inline-block;
}

.touring-book-btn:hover{
    background:#22bd70;
}

/* Mobile */
@media (max-width:480px){

  .touring-hero-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:15px;
  }

  .touring-hero-left h1{
    font-size:30px;
  }

  .touring-book-btn{
    width:100%;
    text-align:center;
  }

}

/* =========================
   TOURING IMAGE + TEXT LAYOUT
   ========================= */

.touring-info-section{
  max-width:1200px;
  margin:40px auto;
  padding:0 20px;
  display:flex;
  gap:40px;
  align-items:flex-start;
}

/* LEFT COLUMN WRAPPER */
.touring-left-column {
  width:50%;
  display:flex;
  flex-direction:column;
  gap:12px; /* space between slideshow and thumbnails */
}

/* SLIDESHOW */
.touring-slideshow{
  position:relative;
  width:100%;       /* full width of left column */
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

/* slides */
.slide{
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:100%;
  opacity:1;
  transition:left .7s cubic-bezier(.65,.05,.36,1);
  z-index:1;
}

/* Current visible slide */
.slide.active{
  left:0;
  z-index:2;
}

/* Slide leaving to left */
.slide.prev{
  left:-100%;
  z-index:1;
}

/* Slide coming in from right */
.slide.next{
  left:100%;
}


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

/* slideshow arrows */
.slide-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(0,0,0,0.45);
  color:#fff;
  font-size:26px;
  padding:10px 14px;
  cursor:pointer;
  border-radius:6px;
  user-select:none;
  transition:0.2s;
  z-index:5;
}

.slide-arrow:hover{
  background:rgba(0,0,0,0.65);
}

.slide-arrow.left{ left:10px; }
.slide-arrow.right{ right:10px; }

/* =========================
   THUMBNAIL CAROUSEL
   ========================= */

.touring-thumbnails-container {
  display: flex;
  align-items: center;
  width: 100%;       /* same width as slideshow */
  gap: 6px;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  margin-top: 6px;
}

.touring-thumbnails {
  display: flex;
  gap: 6px;
  overflow-x: auto;       /* horizontal scrolling */
  scroll-behavior: smooth;
  flex: 1;                /* take up space between arrows */
  padding: 4px 0;
}

.touring-thumbnails img.thumb {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
  cursor: pointer;
  opacity: 0.6;
  border: 2px solid transparent;
  flex-shrink: 0;
  transition: 0.3s;
}

.touring-thumbnails img.thumb.active {
  opacity: 1;
  border-color: #26d07c;
}

/* Thumbnail arrows */
.thumb-arrow {
  background: rgba(0,0,0,0.45);
  color: #fff;
  font-size: 22px;
  padding: 6px 10px;
  cursor: pointer;
  border-radius: 6px;
  user-select: none;
  flex-shrink: 0;
  z-index: 5;
}

.thumb-arrow:hover {
  background: rgba(0,0,0,0.65);
}

/* Position arrows outside thumbnail strip */
.thumb-arrow.left {
  margin-right: 4px;
}

.thumb-arrow.right {
  margin-left: 4px;
}

/* Slideshow arrows hidden by default */
.touring-slideshow .slide-arrow {
  opacity: 0;
  transition: opacity 0.3s ease; /* smooth fade */
}

/* Show arrows on hover */
.touring-slideshow:hover .slide-arrow {
  opacity: 1;
}


/* =========================
   RIGHT COLUMN (TEXT)
   ========================= */

.touring-info-text {
  width: 50%;
  font-size: 14px;        /* match the bullet text */
  font-family: Raleway, serif;
  line-height: 1.7;
  color: #111;
}

.touring-features {
  list-style-type: disc;
  padding-left: 20px;     /* space for bullets */
  margin: 0 0 16px 0;
  background: none !important;
  color: #111;
  font-family: Raleway, serif;
  font-size: 14px;        /* make bullet text same size as main text */
  line-height: 1.7;
}

.touring-features li {
  margin-bottom: 8px;
  font-size: 14px;        /* explicitly set size on li too */
}

.touring-features li::marker {
  font-size: 14px;        /* ensures the bullet matches the text size */
  color: #111;
}

.touring-top-row, .touring-bottom-row {
    display: flex;
    gap: 40px;
}

.touring-left-column {
    flex: 2;
}

.touring-right-column {
    flex: 1;
}

.touring-notes h3 {
    margin-bottom: 10px;
    font-size: 1.2em;
    color: #333;
}

.touring-notes ul {
    list-style-type: disc;
    margin-left: 20px;
    line-height: 1.5;
}

/* =========================
   TOURING PAGE BOTTOM SECTION: Notes + Booking Form
   ========================= */

.touring-bottom-section {
    max-width: 1200px;       /* same as top section */
    margin: 40px auto 0 auto; /* spacing above */
    display: flex;
    gap: 40px;
    flex-wrap: wrap;         /* allow stacking on small screens */
    align-items: flex-start;
	padding-bottom: 60px;
	padding: 0 20px; /* overall horizontal padding */
}

.bottom-notes,
.bottom-booking {
    width: 50%;              /* equal columns */
    min-width: 300px;        /* ensures readability on narrow screens */
	padding-right: 20px;
	padding-bottom: 60px;
}

.bottom-notes ul {
    list-style-type: disc;
    margin-left: 20px;
    line-height: 1.5;
}

.bottom-notes {
    width: 50%;
    min-width: 300px;
    padding: 0 15px 15px 15px;  /* remove top padding so it aligns with form */
    background-color: #f7f7f7;
    border-left: none;
    display: flex;
    flex-direction: column;
	margin-top: 10px;
	padding-left: 20px;
}

.bottom-notes h3 {
    margin-top: 0;       /* remove any top margin */
    margin-bottom: 10px; /* keep spacing below heading */
    font-size: 1.2em;
    color: #333;
}

.booking-test-note {
    background-color: #fff3cd;  /* light yellow alert */
    border: 1px solid #ffeeba; /* slightly darker border */
    color: #856404;             /* dark yellow/brown text */
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;       /* space below the note */
    text-align: center;
}


/* MOBILE ADJUSTMENTS */
@media (max-width:480px){
    .touring-bottom-section {
        flex-direction: column; /* stack notes above form */
    }

    .bottom-notes,
    .bottom-booking {
        width: 100%;
    }
}


/* =========================
   MOBILE ADJUSTMENTS
   ========================= */

@media (max-width:480px){
  .touring-info-section{
    flex-direction:column;
  }

  .touring-left-column,
  .touring-info-text{
    width:100%;
  }

  .touring-thumbnails img.thumb {
    width:48px;
    height:48px;
  }

  .thumb-arrow {
    font-size: 20px;
    padding: 4px 8px;
  }
}

/* =========================
   MOBILE TOURING LAYOUT FIX
   ========================= */

@media (max-width: 480px) {

  /* Main top section stack */
  .touring-info-section {
    display: flex;
    flex-direction: column;
  }

  .touring-left-column {
    order: 1;
    width: 100%;
  }

  .touring-info-text {
    order: 2;
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
  }

  /* Bottom section stack */
  .touring-bottom-section {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  /* BOOKING FIRST on mobile */
  .bottom-booking {
    order: 3;
    width: 100%;
  }

  /* NOTES AFTER booking */
  .bottom-notes {
    order: 4;
    width: 100%;
  }

  /* Make booking container full width nicely */
  .booking-container,
  #checkout-section {
    max-width: 100%;
    margin: 0 auto;
  }
  
  .touring-slideshow {
    aspect-ratio: auto;       /* remove fixed 1/1 ratio */
    height: 250px;            /* set a reasonable height for mobile */
  }

  /* Slideshow full width */
 .touring-slideshow .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;        /* ensures image covers entire slide */
  }

  /* Stop overflow issues */
  .fullpage {
    overflow-x: hidden;
  }
  
  .touring-slideshow .slide-arrow {
    display: none;
  }
}

/* =========================
   MOBILE NAVIGATION
========================= */
.mobile-nav {
    display: none; /* hidden by default on desktop */
    flex-direction: column;
    width: 100%;
    z-index: 1000;
}

/* show mobile nav under 768px */
@media (max-width: 768px) {
    .mobile-nav {
        display: flex;
    }
}

/* MOBILE TOP BAR */
#menu-wrapper {
    width: 100%;
    background-color: #26d07c;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 15px;
    box-sizing: border-box;
}

/* HAMBURGER ICON */
#hamburger-menu {
    width: 25px;
    height: 20px;
    position: relative;
    cursor: pointer;
}

#hamburger-menu span {
    display: block;
    height: 3px;
    width: 100%;
    background-color: white;
    margin: 4px 0;
    transition: 0.4s;
}

/* Hamburger open animation */
#hamburger-menu.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
#hamburger-menu.open span:nth-child(2) {
    opacity: 0;
}
#hamburger-menu.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* LOGO BELOW THE BAR */
.mobile-logo {
    display: flex;
    justify-content: center;
    padding: 10px 0;
    background-color: #ffffff; /* white background */
}

.mobile-logo img {
    height: 50px;
    width: auto;
}

/* MOBILE MENU LIST */
.menu-list {
    display: none; /* hidden by default */
    flex-direction: column;
    background-color: #ffffff;
    width: 100%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    padding: 0;
    margin: 0;
}

.menu-list dt {
    list-style: none;
    border-bottom: 1px solid #eee;
}

.menu-list a {
    display: block;
    padding: 15px 20px;
    color: #26d07c;
    text-decoration: none;
    font-weight: 600;
}

.menu-list a:hover {
    background-color: #f5f5f5;
}

/* Accordion submenu */
.accordion-content {
    display: none;
    flex-direction: column;
    background: #f9f9f9;
}

.accordion-toggle.active-tab + .accordion-content {
    display: flex;
}

.dropdown-subheading {
    padding: 12px 20px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    background-color: #e6e6e6;
    cursor: default;
}

.menu-divider {
    height: 1px;
    background-color: #ddd;
    margin: 5px 0;
}

#menu-wrapper {
    overflow: hidden;
    max-width: 100%;
    cursor: pointer;
    background-color: #26d07c;
}


#menu-wrapper #hamburger-menu {
    position: relative;
    width: 25px;
    height: 20px;
    margin: 15px;
}

#menu-wrapper #hamburger-menu span {
    opacity: 1;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 10px;
    color: black;
    background-color: white;
    position: absolute;
    transform: rotate(0deg);
    transition: .4s ease-in-out;
}

#menu-wrapper #hamburger-menu span:nth-child(1) {
    top: 0;
}
#menu-wrapper #hamburger-menu span:nth-child(2) {
    top: 9px;
}
#menu-wrapper #hamburger-menu span:nth-child(3) {
    top: 18px;
}
#menu-wrapper #hamburger-menu.open span:nth-child(1) {
    transform: translateY(9px) rotate(135deg);
}
#menu-wrapper #hamburger-menu.open span:nth-child(2) {
    opacity: 0;
    transform: translateX(-60px);
}
#menu-wrapper #hamburger-menu.open span:nth-child(3) {
    transform: translateY(-9px) rotate(-135deg);
}

#menu-container .menu-list .menu-submenu {
    padding-top: 20px;
    padding-bottom: 20px;
}
#menu-container .menu-list {
    padding-left: 20px;
	 line-height: 2.2;
    display: block;
    position: absolute;
    width: 50%;
    max-width: 450px;
    background: white;
    box-shadow: rgba(100,100,100,0.2) 6px 2px 10px;
    z-index: 999;
    overflow-y: auto;
    overflow-x: hidden;
    left: -100%;
	 text-decoration: none;
	 font-family: Raleway, serif;
	 color: #26d07c;
}

#menu-container .menu-list li.accordion-toggle, #menu-container .menu-list .menu-login {
    font-size: 16px;
    padding: 20px;
    text-transform: uppercase;
    border-top: 1px solid #dbdcd2;
}
#menu-container .menu-list li:first-of-type {
    border-top: 0;
}

.accordion-toggle, .accordion-content {
    cursor: pointer;
    font-size: 16px;
    position: relative;
    letter-spacing: 1px;
}

  .accordion-content {
    display: none;
}

.accordion-toggle a:before, .accordion-toggle a:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 15px;
    height: 2px;
    margin-top: -1px;
    background-color: #5a5858;
    transform-origin: 50% 50%;
    transition: all 0.3s ease-out;
}

.accordion-toggle a:before {
    transform: rotate(-90deg);
    opacity: 1;
    z-index: 2;
}

.accordion-toggle.active-tab {
  background: #ffffff;
  color: #ffffff;
  transition: all 0.3s ease;
}
.accordion-toggle a.active:before {
    transform: rotate(0deg);
    background: #fff !important;
}

.accordion-toggle a.active:after {
    transform: rotate(180deg);
    background: #fff !important;
    opacity: 0;
}

a {
    color: #26d07c;
    text-decoration: none;
}

a:hover {
    color: #26d07c;
    text-decoration:none; 
    cursor:pointer;  
}

.mobilelogo {
    height: 70px;       /* adjust to taste */
    width: auto;
    object-fit: contain;
    display: block;
    margin: 10px auto;  /* spacing below hamburger bar */
}

/* =========================
   MOBILE NAVIGATION CLEAN
========================= */

/* Remove default spacing from body */
body, html {
    margin: 0;
    padding: 0;
}

/* Mobile nav container */
.mobile-nav {
    display: none;          /* hidden on desktop */
    flex-direction: column;
    width: 100%;
    position: relative;     /* base for absolute menu */
    z-index: 1000;
}

/* Show mobile nav under 768px */
@media (max-width: 768px) {
    .mobile-nav {
        display: flex;
    }
}

/* GREEN BAR / TOP BAR */
#menu-wrapper {
    width: 100%;
    background-color: #26d07c;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    box-sizing: border-box;
    margin: 0;              /* remove any space above */
}

/* HAMBURGER ICON */
#hamburger-menu {
    width: 25px;
    height: 20px;
    cursor: pointer;
    position: relative;
    z-index: 1002;          /* above menu */
}

#hamburger-menu span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: white;
    margin: 4px 0;
    border-radius: 10px;
    transition: 0.4s ease-in-out;
}

/* Hamburger open animation */
#hamburger-menu.open span:nth-child(1) {
    transform: translateY(9px) rotate(135deg);
}
#hamburger-menu.open span:nth-child(2) {
    opacity: 0;
    transform: translateX(-60px);
}
#hamburger-menu.open span:nth-child(3) {
    transform: translateY(-9px) rotate(-135deg);
}

/* LOGO BELOW BAR */
.mobilelogo {
    display: flex;
    justify-content: center;
    padding: 10px 0;
    background-color: #ffffff;
}

.mobilelogo img {
    height: 50px;
    width: auto;
}

/* =========================
   MOBILE MENU LIST
========================= */

/* The menu slides out from the green bar */
.menu-list {
    display: none;           /* hidden by default */
    flex-direction: column;
    background-color: #ffffff;
    width: 100%;
    position: absolute;      /* relative to .mobile-nav */
    top: 100%;               /* directly below green bar */
    left: 0;
    z-index: 1001;
    max-height: 80vh;        /* scroll if menu is tall */
    overflow-y: auto;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    margin: 0;
    padding: 0;
}

/* Menu items */
.menu-list dt {
    list-style: none;
    border-bottom: 1px solid #eee;
}

.menu-list a {
    display: block;
    padding: 15px 20px;
    color: #26d07c;
    text-decoration: none;
    font-weight: 600;
}

.menu-list a:hover {
    background-color: #f5f5f5;
}

/* Submenu accordion */
.accordion-content {
    display: none;
    flex-direction: column;
    background: #f9f9f9;
    padding-left: 20px;
}

.accordion-toggle.active-tab + .accordion-content {
    display: flex;
}

.dropdown-subheading {
    padding: 12px 20px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    background-color: #e6e6e6;
    cursor: default;
}

.menu-divider {
    height: 1px;
    background-color: #ddd;
    margin: 5px 0;
}

/* Optional: smooth scroll for long menus */
.menu-list::-webkit-scrollbar {
    width: 6px;
}

.menu-list::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.2);
    border-radius: 3px;
}

@media (max-width: 768px) {
    .site-header {
        padding-top: 0;
        padding-bottom: 0;  /* optional, if you want no extra space */
    }
	
	/* =========================
   MOBILE NAV FLUSH TOP
========================= */
@media (max-width: 768px) {

    /* Remove header padding */
    .site-header {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Make mobile nav sit at very top */
    .mobile-nav {
        margin-top: 0 !important;
        top: 0;
    }

    /* Green top bar padding adjustment */
    #menu-wrapper {
        padding: 5px 15px;   /* reduce vertical padding for flush look */
    }

    /* Hamburger top spacing */
    #hamburger-menu {
        margin: 0;           /* remove any margin around icon */
    }

    /* Logo below the bar */
    .mobilelogo {
        margin: 0;           /* remove extra spacing above logo */
        padding: 5px 0;      /* small padding if needed */
    }

    /* Mobile menu list flush under green bar */
    .menu-list {
        top: 100%;           /* sits directly below #menu-wrapper */
        margin: 0;
    }
}
@media (max-width: 768px) {
    .site-header {
        padding-top: 0;
        padding-bottom: 0;
    }

    #hamburger-menu {
        margin: 0;
    }

    .mobilelogo {
        margin: 0;
        padding: 0;
    }

    #menu-wrapper {
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 768px) {
    /* Remove any spacing above the green bar */
    #menu-wrapper {
        margin: 0;
        padding: 0;
        position: fixed;  /* optional: keeps it at top even when scrolling */
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
    }

    /* Remove extra margin on hamburger */
    #hamburger-menu {
        margin: 0;
    }

    /* Optional: remove any spacing around the bar contents */
    #menu-wrapper * {
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 768px) {

    /* Green bar at top, in flow */
    #menu-wrapper {
        position: relative;  /* keep it in normal flow */
        top: 0;
        left: 0;
        width: 100%;
        background-color: #26d07c;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding: 5px 10px;   /* minimal padding */
        box-sizing: border-box;
        margin: 0;           /* no extra gap */
    }

    /* Hamburger sizing */
    #hamburger-menu {
        margin: 0;
        height: auto;
    }

    #hamburger-menu span {
        height: 2px;
        margin: 3px 0;
    }

    /* Logo below the bar */
    .mobile-logo {
        margin: 0;           /* remove gap above logo */
        padding: 10px 0;     /* optional internal spacing */
        background-color: #ffffff;
    }
}