/*
Theme Name: Pandora Inn
Theme URI: https://gotripod.com
Description: A Custom child theme for Pandora Inn and GeneratePress.
Author: GoTripod
Author URI: https://gotripod.com
Template: generatepress
Version: 1.0.32
*/

/**
*
* Styles are imported via main.js to ensure they are included in the build process and available in both the editor and frontend.
* Theme makes use of vite to compile and bundle assets, so styles are imported in the main JavaScript file to ensure they are processed correctly.
*
**/

html, body {
  font-size: 16px;
}
a {
  color: inherit;
}

.text-xl, .text-xl * {
  font-size: 1.01em;
}
.text-2xl, .text-2xl * {
  font-size: 1.02em;
}
.text-3xl, .text-3xl * {
  font-size: 1.03em;
}
.text-4xl, .text-4xl * {
  font-size: 1.04em;
}
.text-5xl, .text-5xl * {
  font-size: 1.05em;
}
.text-6xl, .text-6xl * {
  font-size: 1.06em;
}

.text-7xl, .text-7xl * {
  font-size: 1.07em;
}
.text-8xl, .text-8xl * {
  font-size: 1.08em;
}
.text-9xl, .text-9xl * {
  font-size: 1.09em;
}
.text-10xl, .text-10xl * {
  font-size: 1.1em;
}
.text-11xl, .text-11xl * {
  font-size: 1.11em;
}
.text-12xl, .text-12xl * {
  font-size: 1.12em;
}
.text-13xl, .text-13xl * {
  font-size: 1.13em;
}
.text-14xl, .text-14xl * {
  font-size: 1.14em;
}
.text-15xl, .text-15xl * {
  font-size: 1.15em;
}
.text-16xl, .text-16xl * {
  font-size: 1.16em;
}
.text-17xl, .text-17xl * {
  font-size: 1.17em;
}
.text-18xl, .text-18xl * {
  font-size: 1.18em;
}
.text-19xl, .text-19xl * {
  font-size: 1.19em;
}
.text-20xl, .text-20xl * {
  font-size: 1.20em;
}
.text-21xl, .text-21xl * {
  font-size: 1.21em;
}
.text-22xl, .text-22xl * {
  font-size: 1.22em;
}
.text-23xl, .text-23xl * {
  font-size: 1.23em;
}
.text-24xl, .text-24xl * {
  font-size: 1.24em;
}
.text-25xl, .text-25xl * {
  font-size: 1.25em;
}
.text-26xl, .text-26xl * {
  font-size: 1.26em;
}
.text-27xl, .text-27xl * {
  font-size: 1.27em;
}
.text-28xl, .text-28xl * {
  font-size: 1.28em;
}
.text-29xl, .text-29xl * {
  font-size: 1.29em;
}
.text-30xl, .text-30xl * {
  font-size: 1.30em;
}
.text-31xl, .text-31xl * {
  font-size: 1.31em;
}
.text-32xl, .text-32xl * {
  font-size: 1.32em;
}
.text-33xl, .text-33xl * {
  font-size: 1.33em;
}
.text-34xl, .text-34xl * {
  font-size: 1.34em;
}
.text-35xl, .text-35xl * {
  font-size: 1.35em;
}
.text-36xl, .text-36xl * {
  font-size: 1.36em;
}
.text-37xl, .text-37xl * {
  font-size: 1.37em;
}
.text-38xl, .text-38xl * {
  font-size: 1.38em;
}
.text-39xl, .text-39xl * {
  font-size: 1.39em;
}
.text-40xl, .text-40xl * {
  font-size: 1.40em;
}
.text-41xl, .text-41xl * {
  font-size: 1.41em;
}
.text-42xl, .text-42xl * {
  font-size: 1.42em;
}
.text-43xl, .text-43xl * {
  font-size: 1.43em;
}
.text-44xl, .text-44xl * {
  font-size: 1.44em;
}
.text-45xl, .text-45xl * {
  font-size: 1.45em;
}
.text-46xl, .text-46xl * {
  font-size: 1.46em;
}
.text-47xl, .text-47xl * {
  font-size: 1.47em;
}
.text-48xl, .text-48xl * {
  font-size: 1.48em;
}
.text-49xl, .text-49xl * {
  font-size: 1.49em;
}
.text-50xl, .text-50xl * {
  font-size: 1.50em;
}
.text-51xl, .text-51xl * {
  font-size: 1.51em;
}
.text-52xl, .text-52xl * {
  font-size: 1.52em;
}
.text-53xl, .text-53xl * {
  font-size: 1.53em;
}
.text-54xl, .text-54xl * {
  font-size: 1.54em;
}
.text-55xl, .text-55xl * {
  font-size: 1.55em;
}
.text-56xl, .text-56xl * {
  font-size: 1.56em;
}
.text-57xl, .text-57xl * {
  font-size: 1.57em;
}
.text-58xl, .text-58xl * {
  font-size: 1.58em;
}
.text-59xl, .text-59xl * {
  font-size: 1.59em;
}
.text-60xl, .text-60xl * {
  font-size: 1.60em;
}
.text-61xl, .text-61xl * {
  font-size: 1.61em;
}
.text-62xl, .text-62xl * {
  font-size: 1.62em;
}
.text-63xl, .text-63xl * {
  font-size: 1.63em;
}
.text-64xl, .text-64xl * {
  font-size: 1.64em;
}
.text-65xl, .text-65xl * {
  font-size: 1.65em;
}
.text-66xl, .text-66xl * {
  font-size: 1.66em;
}
.text-67xl, .text-67xl * {
  font-size: 1.67em;
}
.text-68xl, .text-68xl * {
  font-size: 1.68em;
}
.text-69xl, .text-69xl * {
  font-size: 1.69em;
}
.text-70xl, .text-70xl * {
  font-size: 1.70em;
}
.text-71xl, .text-71xl * {
  font-size: 1.71em;
}
.text-72xl, .text-72xl * {
  font-size: 1.72em;
}
.text-73xl, .text-73xl * {
  font-size: 1.73em;
}
.text-74xl, .text-74xl * {
  font-size: 1.74em;
}
.text-75xl, .text-75xl * {
  font-size: 1.75em;
}
.text-76xl, .text-76xl * {
  font-size: 1.76em;
}
.text-77xl, .text-77xl * {
  font-size: 1.77em;
}
.text-78xl, .text-78xl * {
  font-size: 1.78em;
}
.text-79xl, .text-79xl * {
  font-size: 1.79em;
}
.text-80xl, .text-80xl * {
  font-size: 1.80em;
}
.text-81xl, .text-81xl * {
  font-size: 1.81em;
}
.text-82xl, .text-82xl * {
  font-size: 1.82em;
}
.text-83xl, .text-83xl * {
  font-size: 1.83em;
}
.text-84xl, .text-84xl * {
  font-size: 1.84em;
}
.text-85xl, .text-85xl * {
  font-size: 1.85em;
}
.text-86xl, .text-86xl * {
  font-size: 1.86em;
}
.text-87xl, .text-87xl * {
  font-size: 1.87em;
}
.text-88xl, .text-88xl * {
  font-size: 1.88em;
}
.text-89xl, .text-89xl * {
  font-size: 1.89em;
}
.text-90xl, .text-90xl * {
  font-size: 1.90em;
}
.text-91xl, .text-91xl * {
  font-size: 1.91em;
}
.text-92xl, .text-92xl * {
  font-size: 1.92em;
}
.text-93xl, .text-93xl * {
  font-size: 1.93em;
}
.text-94xl, .text-94xl * {
  font-size: 1.94em;
}
.text-95xl, .text-95xl * {
  font-size: 1.95em;
}
.text-96xl, .text-96xl * {
  font-size: 1.96em;
}
.text-97xl, .text-97xl * {
  font-size: 1.97em;
}
.text-98xl, .text-98xl * {
  font-size: 1.98em;
}
.text-99xl, .text-99xl * {
  font-size: 1.99em;
}
.text-100xl, .text-100xl * {
  font-size: 2em;
}

/** Site Styles **/
.header-wrap {
  z-index: unset;
}
#siteHeader {
  z-index: 1;
}
.site.grid-container {
  padding-top: 116px;
  position: relative;
  z-index: 0;
  font-size: 1.25rem;
}
@media (min-width: 800px) {
  .site.grid-container {
    padding-top: 110px;
  }
}

.entry-title{
  margin-bottom: 3rem;
}

/** STYLES FOR BUTTONS **/
[class*="gbp-button"] {
  cursor: pointer !important;
}
.gbp-button--tertiary,
.gbp-button--tertiary-gold {
    padding-right: 30px !important;
    position: relative;
}
/* .gbp-button--tertiary::after,
.gbp-button--tertiary-gold::after,
.gbp-button--tertiary-black-arrow::after {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='9.467' height='17.593' viewBox='0 0 9.467 17.593'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Crect id='Rectangle_75' data-name='Rectangle 75' width='17.593' height='9.467' fill='none' stroke='%23707070' stroke-width='1'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Group_137' data-name='Group 137' transform='translate(9.467) rotate(90)'%3E%3Cpath id='Path_130' data-name='Path 130' d='M1,9.736,9.323,1.414l8.322,8.323' transform='translate(-0.526 -0.743)' fill='none'/%3E%3Cg id='Group_138' data-name='Group 138' transform='translate(0 0)'%3E%3Cg id='Group_137-2' data-name='Group 137' clip-path='url(%23clip-path)'%3E%3Cpath id='Path_131' data-name='Path 131' d='M1,9.736,9.323,1.414l8.322,8.323' transform='translate(-0.526 -0.743)' fill='none' stroke='%23a27226' stroke-linecap='round' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3Cpath id='Path_132' data-name='Path 132' d='M8.457,11.6h0Z' transform='translate(-4.446 -6.096)' fill='%23fff'/%3E%3Cline id='Line_1' data-name='Line 1' x2='9.571' transform='translate(4.011 5.499)' fill='none' stroke='%23a27226' stroke-linecap='round' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E%0A");
    width: 10px;
    height: 18px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
} */
[class^="gbp-button"]::after,
.gbp-button--secondary::after,
.gbp-button--tertiary::after,
.gbp-button--tertiary-gold::after,
.gbp-button--tertiary-black-arrow::after,
.gbp-button--arrow-only::after {
    content: '';
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='9.467' height='17.593' viewBox='0 0 9.467 17.593'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Crect id='Rectangle_75' data-name='Rectangle 75' width='17.593' height='9.467' fill='none' stroke='%23707070' stroke-width='1'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Group_137' data-name='Group 137' transform='translate(9.467) rotate(90)'%3E%3Cpath id='Path_130' data-name='Path 130' d='M1,9.736,9.323,1.414l8.322,8.323' transform='translate(-0.526 -0.743)' fill='none'/%3E%3Cg id='Group_138' data-name='Group 138' transform='translate(0 0)'%3E%3Cg id='Group_137-2' data-name='Group 137' clip-path='url(%23clip-path)'%3E%3Cpath id='Path_131' data-name='Path 131' d='M1,9.736,9.323,1.414l8.322,8.323' transform='translate(-0.526 -0.743)' fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3Cpath id='Path_132' data-name='Path 132' d='M8.457,11.6h0Z' transform='translate(-4.446 -6.096)' fill='currentColor'/%3E%3Cline id='Line_1' data-name='Line 1' x2='9.571' transform='translate(4.011 5.499)' fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E%0A");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='9.467' height='17.593' viewBox='0 0 9.467 17.593'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Crect id='Rectangle_75' data-name='Rectangle 75' width='17.593' height='9.467' fill='none' stroke='%23707070' stroke-width='1'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Group_137' data-name='Group 137' transform='translate(9.467) rotate(90)'%3E%3Cpath id='Path_130' data-name='Path 130' d='M1,9.736,9.323,1.414l8.322,8.323' transform='translate(-0.526 -0.743)' fill='none'/%3E%3Cg id='Group_138' data-name='Group 138' transform='translate(0 0)'%3E%3Cg id='Group_137-2' data-name='Group 137' clip-path='url(%23clip-path)'%3E%3Cpath id='Path_131' data-name='Path 131' d='M1,9.736,9.323,1.414l8.322,8.323' transform='translate(-0.526 -0.743)' fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3Cpath id='Path_132' data-name='Path 132' d='M8.457,11.6h0Z' transform='translate(-4.446 -6.096)' fill='currentColor'/%3E%3Cline id='Line_1' data-name='Line 1' x2='9.571' transform='translate(4.011 5.499)' fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E%0A");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: currentColor; /* inherits from the element's color */
    width: 10px;
    height: 18px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.gbp-button--secondary::after { color: var(--accent-4); }
.gbp-button--tertiary::after { color: var(--accent-4); }
.gbp-button--tertiary-gold::after { color:var(--accent-4); }
.gbp-button--tertiary-black-arrow::after { color: var(--contrast) }
.gbp-button--arrow-only::after { color: var(--contrast) }

.gbp-button--tertiary:hover::after,
.gbp-button--tertiary-gold:hover::after {
    color: var(--base);
}
.gbp-button--tertiary-black-arrow:hover::after {
    color: var(--contrast);
}

.gbp-button--arrow-only:hover { text-decoration: underline; }

/** END STYLES FOR BUTTONS **/

/** STYLES TO REMOVE SORT PADDING FOR MENU TOGGLE **/
@media (max-width: 2000px) {
    .main-navigation .menu-toggle, .main-navigation .mobile-bar-items a, .main-navigation .menu-bar-item > a {
        padding-left: 0;
        padding-right: 20px;
    }
}
/** END STYLES TO REMOVE SORT PADDING FOR MENU TOGGLE **/

.nav-float-left #site-navigation {
	margin-right: unset;
  background: transparent;
}
.main-navigation .inside-navigation {
	height: 100%;
	align-items: unset;
	flex-direction: column;
	justify-content: unset;
    flex-wrap: nowrap;
}
.slideout-navigation button.slideout-exit {
	height: 60px !important;
	width: 60px !important;
	color: var(--accent-4) !important;
}
.slideout-menu, #generate-slideout-menu {
	overflow: visible;
}

#generate-slideout-menu .inside-navigation.grid-container.grid-parent {
	overflow-y: auto;
	/* Firefox */
	scrollbar-width: none;

	/* IE and old Edge */
	-ms-overflow-style: none;
}

#generate-slideout-menu .inside-navigation.grid-container.grid-parent::-webkit-scrollbar {
  display: none;
}

#generate-slideout-menu * {
	background-color: var(--contrast);
	text-align: center;
}

.dropdown-menu-toggle, .menu-item-has-children .dropdown-menu-toggle {
    top: 0.15rem;
    display: block;
    position: relative;
}

#generate-slideout-menu.main-navigation .main-nav {
	margin: auto;
}
#generate-slideout-menu.main-navigation .main-nav ul {
	row-gap: 1rem;
}

#generate-slideout-menu .current-menu-ancestor,
#generate-slideout-menu .current-menu-ancestor > a,
#generate-slideout-menu .current-menu-item,
#generate-slideout-menu .current-menu-item > a {
  color: var(--accent-4);
}

#generate-slideout-menu .current-menu-ancestor .sub-menu {
  display: flex;
}

@media(max-width: 767px) {
    .main-navigation.slideout-navigation .main-nav > ul > li > a {
        line-height: 2 !important;
    }
    #generate-slideout-menu.main-navigation .main-nav ul {
        row-gap: 0.5rem;
    }

    #generate-slideout-menu .slideout-menu li,
    #generate-slideout-menu .slideout-menu li * {
        font-size: 1.15rem;
        text-align: left;
    }

    #generate-slideout-menu .slideout-menu li ul,
    #generate-slideout-menu .slideout-menu li ul * {
        font-size: 1rem;
    }
}
@media(min-width: 768px) {
	#generate-slideout-menu.main-navigation ul ul {
		display: flex;
	}
	.dropdown-menu-toggle, .menu-item-has-children .dropdown-menu-toggle {
        /* transform: rotate(90deg);
		padding-right: 10px; */
		display: none;
		
	}

    #generate-slideout-menu.main-navigation .main-nav ul ul,
    .slideout-navigation.main-navigation ul ul,
    .sub-menu.toggled-on,
    #generate-slideout-menu .slideout-menu li ul,
    #generate-slideout-menu .current-menu-ancestor .sub-menu{
        background-color: var(--contrast-2);
        position: fixed !important;
        top: 0;
        left: 0;
        height: 100vh;
        width: var(--gp-slideout-width);
        padding: 80px 20px;
        padding-top: calc(125px + 2rem);
        margin: auto;
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
        pointer-events: none;

        transition: transform 0.5s ease, opacity 0.01s;
        overflow: auto;
        z-index: -1;
        font-size: inherit;
    }
	
	#generate-slideout-menu.main-navigation .main-nav ul ul li,
    .slideout-navigation.main-navigation ul ul li,
    .sub-menu.toggled-on li,
    #generate-slideout-menu .slideout-menu li ul * {
        background-color: transparent;
        font-size: 1.3rem;

    }
	
	#generate-slideout-menu .slideout-menu li ul {
		display: flex;
	}
    #generate-slideout-menu.is-open .slideout-menu li.current-menu-item ul.toggled-on, 
    #generate-slideout-menu.is-open .slideout-menu li:hover ul,
    #generate-slideout-menu.is-open .slideout-menu li.current-menu-ancestor ul.sub-menu {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        opacity: 1;
        transform: translate3d(var(--gp-slideout-width), 0, 0);
        pointer-events: auto;
    }
	
    .main-navigation .main-nav ul li.menu-item-has-children>a {
		padding-right: 20px;
	}
}

/** STYLES FOR COMPASS DETAIL IN SLIDEOUT NAV **/
.compass-detail {
	height: 70px;
	width: 100%;
	max-width: 300px;
	flex-shrink: 0;
	overflow: hidden;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 2rem;
	color: var(--accent-4);
	position: relative;
  display: none;
}

@media (min-width: 1024px) {
    .compass-detail {
        display: block;
    }
}

.compass-detail::after {
    background: linear-gradient(to bottom, transparent 60%, var(--contrast));
    position: absolute;
    content: '';
    z-index: 1;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}
/** END STYLES FOR COMPASS DETAIL IN SLIDEOUT NAV **/

/** STYLES FOR BUTTONS AT BOTTOM OF SLIDEOUT NAV **/
#menu-buttons *, #slideout-menu-buttons * {
	font-size: 0.86rem !important;
}
#slideout-menu-buttons {
	padding: 0 20px;
	padding-bottom: 20px;
	min-height: 60px;
	flex-shrink: 0;
	order: 4;
	justify-content: center;
	width: 100%;
	color: var(--base);
}
#slideout-menu-buttons * {
	font-size: 0.86rem;
		color: var(--base);
}
#slideout-menu-buttons a:hover * {
		color: var(--accent-4);
}
/** END STYLES FOR BUTTONS AT BOTTOM OF SLIDEOUT NAV **/

/** STYLES FOR CUSTOM MENUS **/
.custom-menu-container {
  display: flex;
  flex-direction: column;
}

.custom-menu-container .custom-menu {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  width: 100%;
}

.custom-menu-container .custom-menu.split-columns.columns {
  columns: 2;
  column-gap: 40px;
}

@media (max-width: 768px) {
    .custom-menu-container .custom-menu.split-columns.columns{
        columns: 1;
    }
}


.custom-menu-container .custom-menu.inline {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.custom-menu-container .custom-menu.inline.align-right {
  justify-content: flex-end;
}

.custom-menu-container .custom-menu.inline.align-left {
  justify-content: flex-start;
}
.custom-menu-container .custom-menu.inline.align-space-around {
  justify-content: space-around;
}
.custom-menu-container .custom-menu.inline.align-center {
  justify-content: center;
}

/** STYLES FOR CUSTOM MENUS **/

#footer a:not([class*="button"]):hover {
  color: var(--accent-4);
  text-decoration: underline;
}

/** STYLES FOR HERO CAROUSEL **/
.gb-carousel-item img {
  transform: scale(1);
  transition: transform 15s ease-in-out;
}

.gb-carousel-item.is-visible img, .gb-carousel-item.is-active img {
  transform: scale(1.3);
}



/* @keyframes zoomPan {
  0% {
    transform: scale(1) translate(0, 0);
  }
  100% {
    transform: scale(1.3) translate(-3%, -3%);
  }
}

.gb-carousel-item.is-visible img {
  animation: zoomPan 15s ease-in-out infinite alternate;
} */

/** DIAGONAL REVEAL FOR HERO CAROUSEL **/
.gb-carousel-item.is-visible .gb-text-12382 {
  opacity: 0;
  transform: translate(-10px, -10px);

  /* diagonal mask */
  -webkit-mask-image: linear-gradient(135deg, transparent 0%, black 0%);
  mask-image: linear-gradient(135deg, transparent 0%, black 0%);

  animation: diagonalFade 8.5s ease forwards;
}

@keyframes diagonalFade {
  0% {
    opacity: 0;
    transform: translate(-10px, -10px);
    -webkit-mask-image: linear-gradient(135deg, transparent 0%, black 0%);
    mask-image: linear-gradient(135deg, transparent 0%, black 0%);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0);
    -webkit-mask-image: linear-gradient(135deg, transparent 100%, black 100%);
    mask-image: linear-gradient(135deg, transparent 100%, black 100%);
  }
}

/* Define the animation */
@keyframes fadeInFromTopLeft {
  0% {
    opacity: 0;
    transform: translate(-20px, -20px); /* Start slightly up and left */
  }
  20% {
    opacity: 1;
    transform: translate(0, 0); /* End at original position */
  }
  80% {
    opacity: 1;
    transform: translate(0, 0); /* End at original position */
  }
  100% {
    opacity: 0;
    transform: translate(0, 0); /* End at original position */
  }
}

/* Apply to text */
.gb-carousel-item .gb-text {
    opacity: 0; /* Start invisible */
}
.gb-carousel-item.is-visible .gb-text,
.gb-carousel-item.is-active .gb-text {
    line-height: 1;
    animation: fadeInFromTopLeft 12.5s ease-out forwards;
    animation-delay: 2.5s; /* waits 2 seconds before starting */
    opacity: 0; /* Start invisible */
}

/** STYLES FOR STACKED SECTIONS **/
.stacked-sections {
    position: relative;
}

/* All panels */
.stacked-sections > div {
    position: sticky;
    top: 0;
    aspect-ratio: 180 / 109;
    overflow: hidden;
    transition: transform 0.4s ease, opacity 0.4s ease;
}
@media (min-width: 1601px) {
  .stacked-sections > div {
        aspect-ratio: 180 / 80;
  }
}
@media screen and (max-width: 1400px) {
   .stacked-sections > div {
    min-height: 70vw;
    aspect-ratio: unset;
  }
}
@media screen and (max-width: 1024px) {
  .stacked-sections > div {
    position: relative;
    aspect-ratio: unset;
  }
}
/* Layer order */
/* .gb-element-6ac3b2fd {
    z-index: 1;
}

.gb-element-579f0b9f {
    z-index: 2;
}

.gb-element-7fb136a0 {
    z-index: 3;
} */

/* Optional: make images fill
.stacked-sections img {
    width: 100%;
    height: 100%;
    object-fit: cover;
} */


/**
* Styles for popup menus
*/
/* body.pdf-menu-open {
    overflow-x: auto;
    flex-shrink: 0;
    background: #f7f5f1;
}

.pdf-menu-modal {
    position: relative;
    z-index: 0;
    display: none;
}
.pdf-menu-modal.active {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 1000002;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.pdf-menu-overlay {
    position: absolute;
    z-index: 1000002;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.8);
}
.pdf-menu-modal-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    z-index:1000004;
    height: 90%;
    width: 80%;
    background-color: #ffffff;
    margin: 0 auto;
}
.pdf-menu-tab {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 24px;
    color: #2d241b;
    position: relative;
    padding-bottom: 10px;
    white-space: nowrap;
    font-family: serif;
}

.pdf-menu-tab.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #2d241b;
}

.pdf-menu-content {
    position: relative;
    flex: 1;
    padding: 40px;
    overflow: hidden;
}

.pdf-download-button {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    background: #b8862d;
    color: white;
    text-decoration: none;
    width: 52px;
    height: 52px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
}

.pdf-download-button::before {
    content: '↓';
    font-size: 24px;
}

.pdf-menu-frame {
    width: 100%;
    height: 100%;
    border: 0;
    background: transparent;
        mix-blend-mode: multiply;

}

.pdf-menu-frame body {
  background-color: transparent;
}

@media (max-width: 991px) {

    .pdf-menu-modal-inner {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        border-radius: 8px;
    }

    .pdf-menu-tabs {
        gap: 24px;
        padding: 24px;
    }

    .pdf-menu-tab {
        font-size: 18px;
    }

    .pdf-menu-content {
        padding: 20px;
    }
} */

/* Modal backdrop */
.pdf-menu-modal {
    position: fixed;
    z-index: 1000002;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.pdf-menu-modal.active {
    opacity: 1;
    pointer-events: all;
}

.pdf-menu-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

body.pdf-menu-open {
    overflow: hidden;
}

/* Modal shell */
.pdf-menu-modal-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(880px, calc(100vw - 32px));
    height: min(90vh, 900px);
    background: #faf8f4;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
    transform: translateY(12px);
    transition: transform 0.25s ease;
}

.pdf-menu-modal.active .pdf-menu-modal-inner {
    transform: translateY(0);
}

/* Header bar */
.pdf-menu-header {
    display: flex;
    align-items: center;
    padding: 0 28px 10px 28px;
    padding-top: 30px;
    border-bottom: 1px solid var(--contrast-2);
    flex-shrink: 0;
    min-height: 76px;
    position: relative;
    background-color: #ffffff;
}

.pdf-menu-tabs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0 20px;
}

.pdf-menu-tabs::-webkit-scrollbar {
    display: none;
}

.pdf-menu-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    top: 5px;
    right: 5px;
}

.pdf-menu-tab {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 10px 14px;
    white-space: nowrap;
    position: relative;
    transition: color 0.15s ease;
}

.pdf-menu-tab:hover {
    color: var(--accent-4);
}

.pdf-menu-tab.active {
    color: var(--accent-4);
}

.pdf-menu-tab.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 14px;
    right: 14px;
    height: 2px;
    background: var(--accent-4);
    border-radius: 2px 2px 0 0;
}

/* Header actions */
.pdf-menu-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.pdf-download-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--accent-4);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    letter-spacing: 0.02em;
    padding: 8px 14px;
    border-radius: 6px;
    transition: background 0.15s ease, opacity 0.15s ease;
    white-space: nowrap;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    z-index: 1;
}

.pdf-download-button:hover {
    background: var(--accent-4);
}

.pdf-menu-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    color: var(--accent-4);
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.15s ease, color 0.15s ease;
    flex-shrink: 0;
    padding: 0;
}

.pdf-menu-close:hover {
    background: transparent;
    color: var(--accent-2);
}

/* Content / scroll area */
.pdf-menu-content {
    position: relative;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    background: #ffffff;
    scroll-behavior: smooth;
}

/* Canvas pages */
.pdf-menu-canvas-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 0;
}

.pdf-page-canvas {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    /* box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15); */
    background: #fff;
}

/* Loader */
.pdf-menu-loader {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: #e8e4de;
    z-index: 2;
}

.pdf-menu-loader.active {
    display: flex;
}

.pdf-menu-loader-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid rgba(45, 36, 27, 0.15);
    border-top-color: var(--accent-4);
    border-radius: 50%;
    animation: pdf-spin 0.7s linear infinite;
}

@keyframes pdf-spin {
    to { transform: rotate(360deg); }
}

/* Error state */
.pdf-menu-error {
    padding: 40px 20px;
    text-align: center;
    color: #6b5c4a;
    font-family: inherit;
    font-size: 14px;
}

/* Mobile */
@media (max-width: 640px) {
    .pdf-menu-modal-inner {
        width: calc(100vw - 16px);
        height: calc(100svh - 16px);
        border-radius: 10px;
    }

    .pdf-menu-header {
        padding: 0 12px 0 16px;
    }

    .pdf-download-button span {
        display: none;
    }

    .pdf-download-button {
        padding: 8px 10px;
    }

    .pdf-menu-canvas-container {
        padding: 16px 12px;
        gap: 8px;
    }
}

/** Formidable forms **/
/* .frm_combo_inputs_container, .frm_grid_container, .frm_form_fields .frm_section_heading, .frm_form_fields .frm_fields_container {
  grid-gap: 1rem;
} */
.with_frm_style .frm_inside_container.frm_label_float_top > label {
  color: var(--base);
}
.frm_style_formidable-style.with_frm_style .frm_error_style {
  text-align: center; 
  font-size: 1rem;
}
.frm_style_formidable-style.with_frm_style .frm_error, .frm_style_formidable-style.with_frm_style .frm_limit_error {
      font-size: 1rem;
}
.frm_form_fields input[type=email], 
.frm_form_fields input[type=number], 
.frm_form_fields input[type=password], 
.frm_form_fields input[type=search], 
.frm_form_fields input[type=tel], 
.frm_form_fields input[type=text], 
.frm_form_fields input[type=url], 
.frm_form_fields select, 
.frm_form_fields textarea {
  width: 100%;
  color: #ffffff;
}

.gform_wrapper.gravity-theme.condensed-form_wrapper .gfield_required {
    color: #c02b0a;
    display: inline-block;
    font-size: 13.008px;
    padding-inline-start: 0.125em;
}
.gform_wrapper.gravity-theme.condensed-form_wrapper .gfield input.large, .gform_wrapper.gravity-theme.condensed-form_wrapper .gfield select.large {
    width: 100%;
}
.gform_wrapper.gravity-theme.condensed-form_wrapper .gfield input {
  font-size: 1rem;
}

.gform_wrapper.gravity-theme.condensed-form_wrapper .gfield {
  margin-bottom: 1rem;
}

.custom-form_wrapper.condensed-form_wrapper.gform_wrapper.gravity-theme #field_submit, .custom-form_wrapper.condensed-form_wrapper.gform_wrapper.gravity-theme .gform_footer {
    justify-content: flex-end;
    display: flex;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}


/*** EVENT LISTING ***/
/* Filter carousel */
.gt-event-filters { margin-bottom: 2rem; width: 265px; margin-right: auto; margin-left: auto;}

@media (min-width: 767px) {
  .gt-event-filters { margin-bottom: 2rem; width: 300px; margin-right: 3rem;}
}
.gt-event-filters .splide__arrow--next {
  right: -3rem;
  color: var(--accent-4);
  background-color: transparent;
}

.gt-event-filters .splide__arrow--prev {
  left: -3rem;
  color: var(--accent-4);
  background-color: transparent;
}

.gt-filter-btn {
    display: inline-block;
    text-decoration: none;
    white-space: nowrap;
    font-size: 0.9rem;
    transition: color 0.15s;
    text-transform: uppercase;
}

.gt-filter-btn.is-active,
.gt-filter-btn:hover {
    color: var(--accent-4);
    
}

.gt-filter-btn.is-active {
  font-weight: bold;
}

/* Event cards */

.gt-events-archive-section {
  width: 100%;
  padding-top: 0;
}

.gt-events-archive-section .archive-header {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  row-gap: 1rem;
  column-gap: 1rem;
  border-bottom: solid 1px var(--contrast);
}

@media (min-width: 767px) {
  .gt-events-archive-section .archive-header {
    flex-direction: row;
    align-items: center;
  }
}

.gt-events-archive-section .archive-header h2 {
  text-transform: uppercase;
}

.gt-event-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem 0;
    border-bottom: 1px solid #e5e5e5;
    font-size: 1.1rem;
}

@media (min-width: 768px) {
  .gt-event-card {
    grid-template-columns: 1fr 1fr 6fr;
    padding: 1.25rem 0;

  }
}

.gt-event-card__image {
  width: 100%;
  min-width: 230px;
}
.gt-event-card__image a { 
  width: 100%; 
  display: block; 
  position: relative; 
  padding-top: 76.97%; 
  position: relative;
}

.gt-event-card__image a img { width: 100%; height: 100%; top: 0; left: 0; object-fit: cover; object-position: center; position: absolute;}

.gt-event-card__title { margin: 0 0 0.25rem; font-weight: normal; }
.gt-event-card__date { margin: 0; font-size: 1rem; font-family: var(--gp-font--cormorant)}
.gt-event-card__date h3  { margin: 0; }
.gt-event-card__date h4  { margin: 0; }
.gt-event-card__time  { margin-left: 0.5rem; }

.gt-event-content {
  margin-top: 2rem;
}
.gt-events-none { font-style: italic; }

.gt-event-date,
.gt-event-date h4 {
  text-transform: uppercase;
  font-weight: normal;
}
.gt-pagination {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.gt-pagination__page,
.gt-pagination__prev,
.gt-pagination__next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.75rem;
    border: 1px solid currentColor;
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1;
}

.gt-pagination__page.is-current {
    background: var(--accent-4);
    color: #fff;
    border-color: var(--accent-4);
}

.gt-event-description {
    display: none;
}

.gt-event-card.is-open .gt-event-description {
    display: block;
}

.gt-event-card.is-open .gt-event-excerpt {
    display: none;
}

.gt-event-toggle {
    cursor: pointer;
    margin-top: 2rem;
    text-align: left;
    background-color: #fff;
    font-size: 0.8rem;
}

.gt-event-toggle:hover {
  color: #fff;
}

/** OFF CANVAS POPOUT PANEL **/
.offcanvas {
    position: fixed;
    inset: 0;
    z-index: 1000;
    visibility: hidden;
}

.offcanvas.is-open {
    visibility: visible;
}

.offcanvas__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
    cursor: pointer;
}

.offcanvas.is-open .offcanvas__overlay {
    opacity: 1;
}

.offcanvas__drawer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(480px, 90vw);
    background: var(--contrast);
    color: var(--base-2);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    padding: 2rem;
}

.offcanvas__drawer *,
.offcanvas__drawer h1,.offcanvas__drawer h2,
.offcanvas__drawer h3,.offcanvas__drawer h4,
.offcanvas__drawer h5,.offcanvas__drawer h6 {
  color: var(--base-2);
}

.offcanvas.is-open .offcanvas__drawer {
    transform: translateX(0);
}

.offcanvas__close {
    display: block;
    margin-left: auto;
    font-size: 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    line-height: 1;
    height: 60px;
    width: 60px;
    cursor: pointer;
}
.offcanvas__close:hover {
    color: var(--accent-4);
    background: transparent;
    cursor: pointer;
}

.offcanvas__content {
  padding: 2rem 0;
}
button, a {
  cursor: pointer;
}


/**
* STYLES SINGLE EVENT TEMPLATE
*/

.event-section {
  width: 100%;
  padding: 2rem 2rem;
}

.event-section__inner{
  max-width: var(--gb-container-width);
  margin: auto;

}
.gt-single-event {
  width: 100%;
}
.gt-single-event__header {
  width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
    background-color: var(--contrast);
    color: var(--base-2);
}

.gt-single-event__header * {
    color: var(--base-2);
}

.gt-single-event__header-content{
  padding-left: max(2rem, calc((100vw - var(--gb-container-width)) / 2));
  padding-right: 2rem;
  order: 2;
}
.gt-single-event__header-image {
  position: relative;
  width: 100%;
  padding-top: 76.97%;
}
.gt-single-event__header-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  order: 1;
}


@media (min-width: 768px) {
  .gt-single-event__header {
    grid-template-columns: 1fr 1fr;
  }

  .gt-single-event__header-content {
    order: 1;
  }

  .gt-single-event__header-image {
    order: 2;
  }
}


.gt-single-event__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.upcoming-dates-section {
  padding: 0;
}
.gt-upcoming-dates {
  padding: 2rem;
  background-color: var(--base);
}
.gt-upcoming-dates__heading {
  font-size: 1.5rem;
  font-weight: bold;
}
.gt-upcoming-dates ul {
  margin-left: 1rem;
  font-size: 1rem;
}


@media (min-width: 1024px) {
  .gt-single-event__body {
    grid-template-columns: 1fr 1fr;
  }

  .upcoming-dates-section {
    padding: 0 2rem;
  }

}

@media (min-width: 1440px) {
  .gt-single-event__body {
    grid-template-columns: 2fr 1fr;
  }

  .upcoming-dates-section {
    padding: 0 2rem;
  }

}
