/*
 Theme Name:   Dance House 2025
 Theme URI:    https://generatepress.com
 Description:  Dance House child theme
 Author:       Rare Design Group
 Author URI:   https://raredesign.ca/
 Template:     generatepress
 Text Domain: generatepress-child
 Version:      0.1
*/

html, body, p {
	font-family: "franklin-gothic-urw", sans-serif;	
	font-weight: 500;
	letter-spacing: 0rem !important;
	line-height: 1.3rem;
}
.wp-block-query-is-layout-flow .has-post-thumbnail p {
	margin-bottom: 0.3rem!important; 
}
/* Headings */
h1, h2, h3, h4{
	font-family: "franklin-gothic-urw", sans-serif;
	font-weight: 700;
	font-style: normal;
	text-transform: uppercase;	
}
h1, h2, h3 {
	letter-spacing: -.12rem!important;
	line-height: 1.9rem;
}
.dh-heading a {text-decoration: none!important;}
h2 {
	margin-bottom: .7rem;
}
h4, h5, h6, button {
	letter-spacing: 0rem!important;
}
h4 {
	line-height: 1.3rem;
}
/* Headings */
h5, h6 {
	font-family: "franklin-gothic-urw", sans-serif;
	font-weight: 700;
	font-style: normal;
	text-transform: none!important;
	line-height: 1.3rem;
}
.home p {
	margin-bottom: 0!important;
}
.menu-pipe a {
	padding: 0!important;
}
/* Navigation Menu */
.main-navigation .main-nav ul li a {
	font-size: 16px;
	padding: .3rem 1.7rem;
}
/* Links */
.secondary-navigation .main-nav ul li[class*="current-menu-"] > a {
	background-color: inherit!important;
}
.site-content a {
	text-decoration: underline;
}

.site-content a.gb-button, .site-content a.dh-button,
.site-content a.gb-button-text,
.site-content .gb-button a,
.site-content .wp-block-button__link {
	text-decoration: none !important;
}
.footer a.underline {
	text-decoration: underline!important;
}
/* Buttons */
.dh-button, .wp-block-button__link, .button {
	font-family: "franklin-gothic-urw", sans-serif !important;
	transition: background-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 1024px) {
  .gb-grid-column .gb-container {
    display: block !important;
  }
  .gb-grid-column .gb-container .dh-button.full-width {
    display: block !important;
    width: 100% !important;
    text-align: center;
  }
}
/* Primary desktop menu */
.main-navigation .main-nav ul li a, .secondary-menu a {
  font-family: "franklin-gothic-urw", sans-serif !important;
}
/* Mobile slideout or overlay menu */
.slideout-navigation .main-nav ul li a,
.mobile-header-navigation .main-nav ul li a {
  font-family: "franklin-gothic-urw", sans-serif !important;
}

/* header */
@media (min-width: 980px) {
	
	.main-navigation.toggled .main-nav > ul {
		    background-color: rgba(26, 26, 26, 1);
	}
	
}
	.site-header {
	  position: fixed;
	  width: 100%;
	  left: 0;
	  z-index: 999;
	  background-color: rgba(0, 0, 0, 0.7); /* Adjust color/opacity */
	background: #4d4d4d;
	background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.80) 50%, rgba(0, 0, 0, 0) 100%);
	  transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
	  box-shadow: none;
	}

	/* Stack secondary nav below header */
	.secondary-navigation {
	  top: var(--header-height, 0px); /* Adjust to match header height */
		  position: fixed;
		right: 18%;
	  z-index: 999;
	  background-color: transparent;
	  transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
	  box-shadow: none;
		text-align: right;
	}


	.main-navigation.navigation-stick .sticky-navigation-logo {
		display: none!important;
	}
	.site-header.scrolled{
	  background-color: rgba(0, 0, 0, 0.7); /* Adjust color/opacity */
	background: #4d4d4d;
	background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.80) 50%, rgba(0, 0, 0, 0) 100%);
	}
	.site-header {
	 height: 130px; /* Set a fixed height */
		 padding-top: 1em;	
		top: 0;
	}

@media (max-width: 1080px) {
	.site-header {
		 padding-top: 0em;	
	}
	.site-header .header-image {
		width: 100px;
	}
}
	.main-navigation .main-nav ul li a {
	  line-height: 70px; /* match header height */
	}
	.secondary-navigation {
		z-index: 300000!important;
		background-color: rgba(0, 0, 0, 0);
	}

/* home page slider */

.dh-slider .n2-ss-button-container a div, .dh-slider .n2-ss-button-container a{
	font-weight: 500!important;
	font-family: "franklin-gothic-urw", sans-serif!important;	
	font-size; 1rem!important;
}
.n2-style-785355f374be86c332d4665aae819858-dot.n2-active {
    background: #bbb!important; /* Light gray for active */
}
.n2-style-785355f374be86c332d4665aae819858-dot{
    background: #444!important; 
}
.n2-ss-layer-content {
	padding-top: 3rem;
}
/* post grid thumbs */
.gb-image-ratio {
  position: relative;
  width: 100%;
  padding-top: 133.33%; /* 4:3 ratio */
  overflow: hidden;
}

.gb-image-ratio img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.fixed-aspect-image {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.fixed-aspect-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fixed-aspect-image {
  position: relative;
  width: 100%;
  padding-top: 133.33%; /* fallback for 4:3 aspect ratio */
  overflow: hidden;
}

.fixed-aspect-image img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*single post */

.single-post .dh-top-image-container img {
  max-height: 62vh;
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}



.page-id-31 .site-content {
	padding-top: 200px;
}

.post-14980 .gb-element-4bcd7e9a .more-info-button {
	display: none;
}

.single-post .dh-top-image-container {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  position: relative;
  left: 0;
}
.dh-top-image-container img {
  width: 100%;

  display: block;
  object-fit: cover;
}
.n2-style-785355f374be86c332d4665aae819858-dot {
    padding: 1px 7px 1px 7px!important;
    margin: 7px!important;
    width: 1rem!important;
}

/* image lightbox gallery */
.dh-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 16px;
  margin: 2em 0;
}

.dh-gallery a {
  display: block;
  overflow: hidden;
}

.dh-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.dh-gallery img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}



/* content padding */ 

@media (min-width: 1501px)  {
	.secondary-navigation {
	right: clamp(1rem, 9.5rem, 13.5rem)
	}
}
@media (min-width: 1301px) and  (max-width: 1500px) {
	.secondary-navigation {
	right: clamp(1rem, 8rem, 13.5rem)
	}
}
@media (min-width: 1200px) and  (max-width: 1300px) {
	.secondary-navigation {
	right: clamp(.5rem, 0rem, 13.5rem)
	}
}
@media (min-width: 1200px) {
	.site-content .content-area {
padding-left: clamp(0.3rem, 0.5rem, 0.5rem);
        padding-right: clamp(0.3rem, 0.5rem, 0.5rem);
	}
	.footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
@media (min-width: 1080px) and  (max-width: 1199px) {
	.site-header {
	 padding-left: clamp(5px, 1vw, 5px);
	  padding-right: clamp(5px, 3vw, 25px);
	}
	.site-content .content-area {
	padding-left: clamp(0.8rem, 1.3rem, 0.5rem);
	  padding-right: clamp(0.8rem, 1.3rem, 0.5rem);
	}
	.footer {
	padding-left: clamp(0.8rem, 1.3rem, 0.5rem);
	  padding-right: clamp(0rem, 1.3rem, 0.8rem);
	}
	.secondary-navigation {
	right: clamp(0rem, 0rem, 0rem)
	}
}

@media (max-width: 768px) {
    .one-container .site-content {
        padding: 0.4rem!important;
    }
	 .inside-header, .site-content .content-area {
        padding-right: 0!important;
        padding-left: 0!important;
    }
	.secondary-navigation {
	right: clamp(5px, 0.5rem, 13.5rem)
	}
}
@media (min-width: 501px) and (max-width: 1080px) {
.site-header{
	 	padding-left: clamp(0rem, 0.2rem, 20px);
	  padding-right: clamp(0rem, 0.2rem, 20px);
	}
	.site-content .content-area {
   	padding-left: clamp(0rem, 0.6rem, 20px);
	  padding-right: clamp(0rem, 0.6rem, 20px);
    }
	.footer {
	padding-left: clamp(0.8rem, 1.3rem, 0.5rem);
	  padding-right: clamp(0rem, 1.3rem, 0.8rem);
	}
}
.site-main .wp-block-group__inner-container {
	padding: 0px!important;
}
/* mobile toggle */

/* Make toggle button background square */
.main-navigation .menu-toggle {
  font-size: 2.5rem;
	border-radius: 0; /* removes rounded corners */
  padding: 10px;
  background-color: transparent; /* optional: remove background */
}

/* Customize the default bars */
.main-navigation .menu-toggle .gp-icon path {
  stroke: var(--moon); /* set line color */
  stroke-width: 3; /* line thickness */
}

/* Optional: increase spacing between bars */
.main-navigation .menu-toggle .gp-icon {
  height: 24px;
  width: 28px;
}

/* Remove default background if any */
.main-navigation .menu-toggle .gp-icon circle,
.main-navigation .menu-toggle .gp-icon rect {
  fill: none !important;
}




.dh-show-heading .artist-name {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: 0.5em;
		margin-top: 0rem;
}

.dh-show-heading .show-title {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 0.5em;
}

h2.show-title h2 {
	margin-top: 0rem;
}

/* Subtext line */
.dh-show-heading .show-note {
  font-style: italic;
  font-size: 0.95rem;
  line-height: 1.4;
}

/* Right side: Date + Venue */
.dh-show-info {
  flex: 1 1 35%;
  text-align: left;
}

.dh-show-info .show-date,
.dh-show-info .show-venue,
.dh-show-info .show-address {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 0.2em;
}

/* Ticket info button */
.dh-show-info .dh-ticket-button {
  display: inline-block;
  background-color: #e20b20;
  color: var(--moon);
  padding: 0.6em 1.2em;
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  margin: 1em 0;
}


@media (min-width: 767px) {
.dh-sticky-info {
    position: sticky;
    top: 120px; /* Adjust this value to set more spacing from the top */
    z-index: 100;
	align-self: start;
  }
	.footer a {
	text-decoration: none!important;
	}
}

.footer a {
	text-decoration: none!important;
}
.footer a:hover {
	color: var(--crimson)
}

.inner-footer {
  max-width: 1182px;
  margin: 0 auto;
  box-sizing: border-box;
}


footer.site-footer {
  padding: 0;
  margin: 0;
  background-color: #000;
}

footer.site-footer .gb-container {
  padding: 2em 1.5em;
  margin: 0 auto;
  max-width: 1200px;
  box-sizing: border-box;
}
footer {
	background: #000!important;
	margin: 0;
}
.footer {
  margin-top: 3em; 
	background: #000!important;

}
.featured-image.page-header-image {
	width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
}
@media (min-width: 1300px) {
	.featured-image.page-header-image {	margin-bottom: 3rem;}
}
/* Desktop: add top space ONLY on pages without a header image, not the homepage */
@media (min-width:1080px){
  body.page:not(.home):not(.has-post-thumbnail):not(:has(.page-header-image)) .site-content {
    margin-top: 8rem;
  }
}
/* Mobile: add top space ONLY on pages without a header image, not the homepage */
@media (max-width:1079px){
  body.page:not(.home):not(.has-post-thumbnail):not(:has(.page-header-image)) .site-content {
    margin-top: 1rem;
  }
}
body.category-shows .site {
	margin-top: 8rem;
}

.gb-element-d8fe1b99 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: auto;
  max-width: 300px; /* or a value that ensures it won’t overflow */
  height: auto;
  z-index: 0;
  pointer-events: none;
  display: block;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.sticky-enabled .main-navigation.is_stuck {
	box-shadow: none;
}

.dh-accordion .gb-accordion__toggle-icon svg {
  width: 32px;
  height: 32px;
  display: block; /* prevents vertical whitespace */
}
.dh-accordion-toggle {
	display: flex;
  align-items: center;
  gap: 0.5rem; /* adjust spacing between icon and text */
}

@media (max-width: 1079px) {
  .secondary-navigation {
    display: none!important;
  }
}
@media (min-width: 1080px) {
.login-link{
    display: none!important;
  }
.secondary-navigation {
    display: inline!important;
  }
}

@media (min-width: 676px) {
.hideondesktop {
	display: none;
}
	}
@media (max-width: 1079px) {
	.main-navigation.toggled .main-nav > ul {
		background-color: rgba(0, 0, 0, 1);
	}
	.main-navigation a {
		font-size: 3rem;
	}
}
body.sticky-menu-active .menu-toggle {
  display: none;
}

body.sticky-menu-active .gb-sticky-menu .menu-toggle {
  display: block;
}
@media (max-width: 1079px) {
	.menu-item a {
		font-size: 2rem!important;
	}
}


/* hide copyright */
.inside-site-info {
	display: none;
}

/* hide subscribe tile buy tickets button */
.category-subscribe-tile .buy-tixbutton {display:none}


/* slider */
  .n2-ss-slider-1 {
    height: 62vh !important;
  }

  .n2-ss-slider-1 .n2-ss-slide-background, 
  .n2-ss-slider-1 .n2-ss-slide {
    height: 62vh !important;
  }

/* mobile slider */ 

@media (max-width: 768px) {
  .n2-ss-slider-1 {
    height: 68vh !important;
  }

  .n2-ss-slider-1 .n2-ss-slide-background, 
  .n2-ss-slider-1 .n2-ss-slide {
    height: 68vh !important;
  }
}

  .n2-ss-slider-1 .n2-ss-slide  {
	padding-top: 3rem;
}
/* always show mobile toggle */ 
@media (max-width: 1080px) {
  .main-navigation .menu-toggle {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
/*loop grid columns */ 
@media (max-width: 1080px) {
  .show-loop .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}

/*mobile menu */


@media (max-width: 1080px) {
  /* Always show the default (non-sticky) toggle */
  .gb-container-d46c18ec .menu-toggle {
    display: block !important;
  }

  /* Hide the sticky version UNTIL scroll */
  .gb-container-d1629c5e.gb-sticky .menu-toggle {
    display: none !important;
  }

  /* Show sticky toggle only when sticky is active */
  .gb-container-d1629c5e.gb-sticky.is-stuck .menu-toggle {
    display: block !important;
  }

  /* Hide the default toggle when sticky is active */
  .is-stuck ~ .gb-container-d46c18ec .menu-toggle {
    display: none !important;
  }
}

@media (max-width: 1080px) {
  /* Hide the menu toggle inside the sticky nav only */
  nav.main-navigation.stuckElement .menu-toggle {
    display: none !important;
  }
}



.dh-mini-acctog {
padding: 0.6rem 0rem!important;
}

/* hide empty field blocks */
.content-advisory {
  display: none;
}

body.has-show-warning .content-advisory {
  display: block;
}
.content-area {
	padding-top: 2rem;
}

/* Hide accordion fallbacks if corresponding title is not set */

body:not(.has-accordion-title-1) .accordion-title-1-fallback,
body:not(.has-accordion-title-2) .accordion-title-2-fallback,
body:not(.has-accordion-title-3) .accordion-title-3-fallback,
body:not(.has-accordion-title-4) .accordion-title-4-fallback,
body:not(.has-accordion-title-5) .accordion-title-5-fallback,
body:not(.has-accordion-title-6) .accordion-title-6-fallback,
body:not(.has-accordion-title-7) .accordion-title-7-fallback,
body:not(.has-accordion-title-8) .accordion-title-8-fallback {
  display: none !important;
}


/* Flip when field is filled */
body.has-accordion-title-1 .accordion-title-1.fallback-title {
  display: none;
}
body.has-accordion-title-1 .accordion-title-1.dynamic-title {
  display: block;
}

body.has-accordion-title-2 .accordion-title-2.fallback-title {
  display: none;
}
body.has-accordion-title-2 .accordion-title-2.dynamic-title {
  display: block;
}

body.has-accordion-title-3 .accordion-title-3.fallback-title {
  display: none;
}
body.has-accordion-title-3 .accordion-title-3.dynamic-title {
  display: block;
}
body.has-accordion-title-4 .accordion-title-4.fallback-title {
  display: none;
}
body.has-accordion-title-4 .accordion-title-4.dynamic-title {
  display: block;
}

body.has-accordion-title-5 .accordion-title-5.fallback-title {
  display: none;
}
body.has-accordion-title-5 .accordion-title-5.dynamic-title {
  display: block;
}
body.has-accordion-title-6 .accordion-title-6.fallback-title {
  display: none;
}
body.has-accordion-title-6 .accordion-title-6.dynamic-title {
  display: block;
}

body.has-accordion-title-7 .accordion-title-7.fallback-title {
  display: none;
}
body.has-accordion-title-7 .accordion-title-7.dynamic-title {
  display: block;
}

body.has-accordion-title-8 .accordion-title-8.fallback-title {
  display: none;
}
body.has-accordion-title-8 .accordion-title-8.dynamic-title {
  display: block;
}

.site-footer  {
	background: var(--black);
}

/* backgrounds */


body {
background: #000000;
background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 0%, rgba(26, 26, 26, 1) 100%);
}


/* footer bg */
@media (min-width: 1080px) {
.footer {
   background-position: 85% 6rem!important;
	background-image: url(/wp-content/uploads/2025/07/dh-house@250x-1.png) !important;
	background-repeat: no-repeat !important;
    background-size: auto 70%!important;
	}
	.site-footer {
  padding-top: 2rem;
  padding-bottom: 2rem;
	}
}

.footer p a {
    line-height: 1rem;
    font-size: 14px;
}
#footer div p {
	margin-bottom: .5rem;
	line-height: 1rem;
}
.footer-menu-list p {
	margin-bottom: 1rem; 
}
.gb-element-07e99bbd .dh-button {
	background: #00000000!important;
}
.category-subscribe-tile .gb-element-4bcd7e9a {
	display: block!important;
	width: 100%!important;
}

.caption {
	color: #9D9D9D;
}
.CheckoutLink {
	padding: .7rem 2rem;
    width: 100%;
    text-align: center;
}

.dh-toggle-title {
	font-size: 1.7rem!important;
    margin-top: .05rem!important;
    line-height: 1.7rem!important;
}

@media (max-width: 1079px) {
	.main-navigation .main-nav ul li a {
		line-height: 1rem;
	}
    .menu-item a {
        font-size: 1rem !important;
    }
	.site-header {
    padding-top: 0em!important;
    top: 0!important;
	}
}

/* Apply background color ONLY in the block editor */

/* Black background inside block editor iframe */
html .editor-styles-wrapper {
    background-color: #000 !important;
}

/* show post single template */
p.gb-text-65638a31 {
	margin-bottom: 0em;
}
 p.gb-text-477f8b4a {
	margin-bottom: 1rem;
}

.show-details-accordion .dh-accordion-item {
	padding-bottom: 0!important;
    padding-top: 0!important;
}
/* logo shrink on scroll */
.site-logo img {
  transition: transform 0.3s ease;
  transform: scale(1.2);
  transform-origin: left center; /* Keeps left edge fixed */
}

.scrolled .site-logo img {
  transform: scale(.8); 
}

.cta {
align-items: center;
    background-color: transparent;
    border-bottom-style: solid;
    border-bottom-width: 1.5px;
    border-left-style: solid;
    border-left-width: 1.5px;
    border-right-style: solid;
    border-right-width: 1.5px;
    border-top-style: solid;
    border-top-width: 1.5px;
 
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: 0rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}
.cta .gp-icon {
	display: none;
	
}

.cta a {
        line-height: 1rem!important;
    }
.cta.menu-item-has-children .dropdown-menu-toggle {
    padding-right: 10px;
    padding-left: 10px;
}
.cta .main-navigation ul ul{
	padding-top: 0rem!important;
}
/* Dropdown under CTA, no real gap */
.main-navigation .menu .cta > ul.sub-menu {
    position: absolute;
    top: 100%;     /* sits directly under CTA */
    margin-top: 0; /* no true gap */
}

/* Create visual offset + safe hover zone */
.main-navigation .menu .cta > ul.sub-menu::before {
    content: "";
    position: absolute;
    top: -2rem;    /* extend hit area upward */
    left: 0;
    right: 0;
    height: 2rem;  /* size of the visual offset */
    background: transparent;
}

#dh-instances-list-container .dh-button{
  background: red!important;
}
.PricesHeading {
  background: transparent;
}

.taxonomy-post_tag {
	display: inline;

	padding: .3rem;
	background: #636363;
	margin-bottom: 1rem;
}
.taxonomy-post_tag a {
	text-decoration: none!important;
		width: auto;
}

#n2-ss-2 p {letter-spacing: -.1rem!important; }

.wpDataTables {
	overflow: scroll;
}

/* Make the first column sticky (pure CSS method) */
.wdt-container table.wpDataTable th:first-child,
.wdt-container table.wpDataTable td:first-child {
  position: sticky;
  left: 0;
  z-index: 2; /* stay above other cells */
  background: #fffafa; /* match your table background */
}

/* Keep header cell above the sticky body cells */
.wdt-container table.wpDataTable thead th:first-child {
  z-index: 3;
}
#n2-ss-2 div.n2-ss-slider-4.n2-ow >.n2-ss-layers-container.n2-ss-slide-limiter .n2-ss-layer.n2-ow {
	padding-top: 10rem;
}


/* Hide fallback when a matching replacement exists inside the same toggle */
.gb-accordion__toggle:has(.dynamic-title.accordion-title-1) .dh-fallback-title.accordion-title-1,
.dh-accordion-toggle:has(.dynamic-title.accordion-title-1) .dh-fallback-title.accordion-title-1 { display:none !important; }

.gb-accordion__toggle:has(.dynamic-title.accordion-title-2) .dh-fallback-title.accordion-title-2,
.dh-accordion-toggle:has(.dynamic-title.accordion-title-2) .dh-fallback-title.accordion-title-2 { display:none !important; }

.gb-accordion__toggle:has(.dynamic-title.accordion-title-3) .dh-fallback-title.accordion-title-3,
.dh-accordion-toggle:has(.dynamic-title.accordion-title-3) .dh-fallback-title.accordion-title-3 { display:none !important; }

.gb-accordion__toggle:has(.dynamic-title.accordion-title-4) .dh-fallback-title.accordion-title-4,
.dh-accordion-toggle:has(.dynamic-title.accordion-title-4) .dh-fallback-title.accordion-title-4 { display:none !important; }

.gb-accordion__toggle:has(.dynamic-title.accordion-title-5) .dh-fallback-title.accordion-title-5,
.dh-accordion-toggle:has(.dynamic-title.accordion-title-5) .dh-fallback-title.accordion-title-5 { display:none !important; }

.gb-accordion__toggle:has(.dynamic-title.accordion-title-6) .dh-fallback-title.accordion-title-6,
.dh-accordion-toggle:has(.dynamic-title.accordion-title-6) .dh-fallback-title.accordion-title-6 { display:none !important; }

.gb-accordion__toggle:has(.dynamic-title.accordion-title-7) .dh-fallback-title.accordion-title-7,
.dh-accordion-toggle:has(.dynamic-title.accordion-title-7) .dh-fallback-title.accordion-title-7 { display:none !important; }

.gb-accordion__toggle:has(.dynamic-title.accordion-title-8) .dh-fallback-title.accordion-title-8,
.dh-accordion-toggle:has(.dynamic-title.accordion-title-8) .dh-fallback-title.accordion-title-8 { display:none !important; }



/* Hide "dates/location" accordion item when there's no content */
.show-details-accordion .gb-accordion__item-2a931444:not(:has(.show-dates-location)),
.show-details-accordion .gb-accordion__item-2a931444:has(.show-dates-location:empty),
.show-details-accordion .gb-accordion__item-2a931444:has(.show-dates-location:has(br:only-child, wbr:only-child)),
.show-details-accordion .gb-accordion__item-2a931444:has(.show-dates-location:has(:is(p, span, div):empty:only-child)) {
  display: none !important;
}


.dh-instance-item {
	width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}
.dh-instance-actions, .dh-available-seats{
	width: 100%;
}
#dh-instances-list-container .dh-button {
	width: 100%;
}




/* ---------- Mobile Menu ---------- */
.slideout-navigation,
.nav-float-right .slideout-navigation { 
  background: rgba(0,0,0,.96);
  color: var(--moon);
  font-family: "franklin-gothic-urw", system-ui, sans-serif;
}

.slideout-navigation .inside-navigation {
  padding: 16px 20px 40px;
  max-height: 100dvh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Close (X) button */
.slideout-exit, .slideout-navigation .menu-toggle {
  color: var(--moon) !important;
  opacity: 1;
}
.slideout-navigation .menu-toggle .gp-icon svg { width: 28px; height: 28px; }

/* ---------- Menu items ---------- */
.slideout-navigation .main-nav ul,
.slideout-navigation .main-nav ul li,
.slideout-navigation .main-nav ul li a { border: 0; }

.slideout-navigation .main-nav > ul > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;       /* room for chevron */
  gap: 12px;
  padding: .5rem .2rem;
  font-size: 24px;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
  color: var(--moon);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Active/hover + accent */
:root { --dh-accent: #ec1c24; }         /* your crimson */
.slideout-navigation .main-nav > ul > li > a:hover,
.slideout-navigation .main-nav > ul > li.current-menu-item > a,
.slideout-navigation .main-nav > ul > li.current-menu-ancestor > a { 
  color: var(--dh-accent);
}

/* Make the FIRST item (e.g. Subscribe) red like the mockup */
.slideout-navigation .main-nav > ul > li:first-child > a { color: var(--dh-accent); }


/* When submenu is open, flip chevron up */
html.slide-opened .slideout-navigation .main-nav li.menu-item-has-children.toggled-on > a::after {
  transform: rotate(-135deg);
}

/* ---------- Submenus ---------- */
.slideout-navigation .main-nav ul ul {
  margin: 0 0 8px 0;
  padding-left: 14px;
  border-left: 1px solid rgba(255,255,255,.08);
}
.slideout-navigation .main-nav ul ul li > a {
  padding: 12px 0;
  font-size: 18px;
  line-height: 1.3;
  border-bottom: none;
  color: #ddd;
}
.slideout-navigation .main-nav ul ul li > a:hover { color: var(--moon); }

/* ---------- Section heading style (optional) ----------
   In Menus → Screen Options enable "CSS Classes", then add class "menu-heading"
   to any item you want to look like a grey uppercase label (e.g. SHOWS & EVENTS).
*/
.slideout-navigation .main-nav .menu-item.menu-heading > a {
  border: 0;
  padding: 18px 4px 6px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #bbb;
  pointer-events: none;                  /* label, not a link */
}

/* ---------- Boxed button style (optional) ----------
   Add class "menu-boxed" to the “Login to Your Account” item.
*/
.slideout-navigation .main-nav .menu-item.menu-boxed > a {
  margin: 14px 0 8px;
  padding: 14px 14px;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 6px;
  font-size: 20px;
}

/* ---------- Spacing between groups (optional) ----------
   Add class "menu-spacer" to a custom link and leave its URL as #.
*/
.slideout-navigation .main-nav .menu-item.menu-spacer { height: 12px; border: 0; }
.slideout-navigation .main-nav .menu-item.menu-spacer > a { display:none; }

.slideout-navigation .mobile-cta ul li {
	font-size: 1rem !important;
    border: 1px solid var(--moon)!important;
}

.slideout-navigation ul ul li  a {
	 font-size: .8rem!important;
	    text-transform: none;
}
:root {
  --gp-slideout-width: 80vw!important;
}
.slideout-navigation ul li a:not(.mobile-cta) {
    text-transform: uppercase;
    font-size: 2rem!important;
    font-weight: 700;
}
.slideout-navigation .mobile-cta, .buy-tickets {
	text-align: center;
}

.slideout-navigation ul ul {
	background: #1a1a1a00;
}

/* Hide ACF fields on single show posts by default */
.accord-item-1, .accord-item-2, .pre-show-chat,
.post-show-social,
.other-activities, .runtime {
  display: none !important;
}

/* Only show when the ACF-driven body flag is present */
.single-post.has-accord-item-1 .accord-item-1 { display: block !important; }
.single-post.has-accord-item-2 .accord-item-2 { display: block !important; }
.single-post.has-pre-show-chat .pre-show-chat { display: block !important; }
.single-post.has-pre-show-chat .runtime { display: flex !important; }
.single-post.has-post-show-social .post-show-social { display: block !important; }
.single-post.has-other-activities .other-activities { display: block !important; }


/* Collapse newlines in GB Text paragraphs on show pages */
.single-post .entry-content .gb-text p,
.single-post .entry-content .gb-container p,
.single-post .entry-content p {
  white-space: normal !important;
}



/* gravity forms */
/* Form field styles */
input[type="text"],
 input[type="email"],
 input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"],
textarea,
select {
    background-color: #404040!important;
    border: 1px solid #404040!important;
    border-radius: 0!important;
    color: var(--moon)!important;
    font-family: inherit!important;
	font-size: 1.2rem!important;
    font-weight: 700!important;
}

/* Submit button hover */
.gform-theme-button:hover {
    background-color: #b11218!important; /* slightly darker crimson */
}

.gform-theme--framework .gfield_list_group_item::before:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gform-field-label:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    --gf-local-color: var(--moon)!important;
    --gf-local-font-family: inherit!important;
    --gf-local-font-size: inherit!important;
    --gf-local-font-style: inherit!important;
    --gf-local-font-weight: inherit!important;
    --gf-local-letter-spacing: inherit!important;
    --gf-local-line-height: inherit!important;
    color: var(--moon)!important;
    font-family: inherit!important;
    font-size: inherit!important;
    font-style: inherit!important;
    font-weight: inherit!important;
    letter-spacing: inherit!important;
    line-height: inherit!important;
}

/* On focus */
 input:focus,
textarea:focus,
select:focus {
    background-color: #000000!important;
    border: 1px solid var(--moon)!important;
    color: var(--moon)!important;
    outline: none!important;
}


.gform-theme.gform-theme--framework.gform_wrapper .button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper :where(:not(.mce-splitbtn))>button:not([id*=mceu_]):not(.mce-open):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper button.button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit],[type=button],[type=reset]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit],[type=button],[type=reset]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper input[type=submit].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    --gf-local-bg-color: var(--crimson)!important;
    --gf-local-radius: 0!important;
    --gf-local-border-color: var(--moon);
    --gf-local-border-style: var(--gf-ctrl-btn-border-style-primary);
    --gf-local-border-width: var(--gf-ctrl-btn-border-width-primary);
   
    --gf-local-shadow: none!important;
    --gf-local-color: var(--gf-ctrl-btn-color-primary);
    --gf-local-column-gap: var(--gf-ctrl-btn-icon-gap);
    --gf-local-cursor: pointer;
    --gf-local-display: inline-flex;
    --gf-local-font-style: var(--gf-ctrl-btn-font-style);
    --gf-local-font-weight: 700;
    --gf-local-font-size: inherit;
    --gf-local-font-family: inherit;
    --gf-local-height: auto;
    --gf-local-letter-spacing: var(--gf-ctrl-btn-letter-spacing);
    --gf-local-line-height: var(--gf-ctrl-btn-line-height);
    --gf-local-min-height: var(--gf-ctrl-btn-size);
    --gf-local-min-width: auto;
    --gf-local-opacity: var(--gf-ctrl-btn-opacity);
    --gf-local-padding-y: var(--gf-ctrl-btn-padding-y);
    --gf-local-padding-x: var(--gf-ctrl-btn-padding-x);
    --gf-local-text-decoration: var(--gf-ctrl-btn-text-decoration);
    --gf-local-text-transform: Uppercase;
    --gf-local-width: auto;
    align-items: center;
    -moz-column-gap: var(--gf-local-column-gap);
    column-gap: var(--gf-local-column-gap);
    cursor: var(--gf-local-cursor);
    justify-content: center;
    min-inline-size: var(--gf-local-min-width);
    opacity: var(--gf-local-opacity);
    text-align: center;
    -webkit-text-decoration: var(--gf-local-text-decoration);
    text-decoration: var(--gf-local-text-decoration);
    text-transform: uppercase!important;
    vertical-align: top;
	
}
.gform-theme.gform-theme--framework.gform_wrapper .button:hover, .gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button:hover, .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit]:hover,[type=button]:hover,[type=reset]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover, .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit]:hover,[type=button]:hover,[type=reset]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover, .gform-theme.gform-theme--framework.gform_wrapper input[type=submit].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):hover 
{
	background-color: #b11218!important; /* slightly darker crimson */
}

.main-navigation:not(.toggled) ul li.cta:hover>ul {
    left: auto;
    right: 0;
margin-top: 2rem;
}

/* HOTFIX: show all accordion items until PHP body classes are fixed */
.dh-accordion .gb-accordion__item { display: block !important; }

/* ensure the chosen nodes win even if other rules hide them */
.dh-accordion .dh-force-visible { display: inline !important; }
.dh-accordion .gb-accordion__content .dh-force-visible { display: block !important; }


/* .dh-accordion defaults */
.dh-accordion .gb-accordion__item { display: block; }
.dh-accordion .gb-accordion__toggle .dh-fallback-title,
.dh-accordion .gb-accordion__toggle .dynamic-title { display: inline; }
.dh-accordion .gb-accordion__content .dh-fallback-content,
.dh-accordion .gb-accordion__content .dynamic-content { display: block; }





/* Base: show items */
.dh-accordion .gb-accordion__item { display: block; }

/* Titles: show fallback by default */
.dh-accordion .gb-accordion__toggle .dh-fallback-title { display: inline; }
.dh-accordion .gb-accordion__toggle .dynamic-title     { display: none; }

/* Flip to dynamic when that slot’s ACF title is filled (body class from PHP above) */
body.has-accordion-title-1 .dh-accordion .dh-fallback-title.accordion-title-1 { display: none; }
body.has-accordion-title-1 .dh-accordion .dynamic-title.accordion-title-1     { display: inline; }

body.has-accordion-title-2 .dh-accordion .dh-fallback-title.accordion-title-2 { display: none; }
body.has-accordion-title-2 .dh-accordion .dynamic-title.accordion-title-2     { display: inline; }

body.has-accordion-title-3 .dh-accordion .dh-fallback-title.accordion-title-3 { display: none; }
body.has-accordion-title-3 .dh-accordion .dynamic-title.accordion-title-3     { display: inline; }

body.has-accordion-title-4 .dh-accordion .dh-fallback-title.accordion-title-4 { display: none; }
body.has-accordion-title-4 .dh-accordion .dynamic-title.accordion-title-4     { display: inline; }

body.has-accordion-title-5 .dh-accordion .dh-fallback-title.accordion-title-5 { display: none; }
body.has-accordion-title-5 .dh-accordion .dynamic-title.accordion-title-5     { display: inline; }

body.has-accordion-title-6 .dh-accordion .dh-fallback-title.accordion-title-6 { display: none; }
body.has-accordion-title-6 .dh-accordion .dynamic-title.accordion-title-6     { display: inline; }

body.has-accordion-title-7 .dh-accordion .dh-fallback-title.accordion-title-7 { display: none; }
body.has-accordion-title-7 .dh-accordion .dynamic-title.accordion-title-7     { display: inline; }

body.has-accordion-title-8 .dh-accordion .dh-fallback-title.accordion-title-8 { display: none; }
body.has-accordion-title-8 .dh-accordion .dynamic-title.accordion-title-8     { display: inline; }



/* belt-and-suspenders: class-based hide (JS already sets display:none) */
.dh-accordion .is-empty-accord-item { display: none !important; }

figcaption {
	padding-bottom: 1rem;
}


.img-lightbg img {
	background: #fffafa!important;
}

.home .featured-image {
	display: none!important;
}