:root{
	--img: background: var(--img) no-repeat center center / cover;
	
}
#slick-slide00 .slider-banner-title > span{
	display:none;
}
.text-white{
	color:#fff;
}
.no-margin{
	margin:0 !important;
}

.no-sidebars-main a.wp-block-button__link {
	margin-top:.5em;
    background:black;
	color:white;
	border-radius:24px;
	padding:8px 24px;
	text-transform:capitalize;
	font-size:15px;
}
.card-row{
	gap:32px;
}
.card-row .card{
	box-shadow:0 2px 12px rgb(0,0,0,0.25);
	border-radius:24px;
	
}
.card-row .card img{
	border-radius:24px 24px 0 0;
}
.card-row .card > *:not(figure){
padding:0 32px;
}
.card-row .card a.wp-block-button__link{
padding:4px 16px;
	font-size:14px;
	border-radius:24px;
	background:black;
	color:white;
	margin-bottom:16px;
	
}
.cta-col{
	margin-bottom:4em;
	border-radius:24px;
		box-shadow:0 2px 12px rgb(0,0,0,0.25);
	overflow:hidden;
	position:relative;
		background: url('http://cits-2026.local/wp-content/uploads/2025/12/header-bkg.jpg') !important;
	background-repeat:no-repeat !important;
	background-size:cover !important;
}
.cta-col::after {
  content: '';
  position: absolute;
  inset: 0;
     background: linear-gradient(
    to right,
    rgba(0,185,207,0.95) 0%,   /* solid brand colour on left */
    rgba(0,185,207,0.85) 25%,
    rgba(0,185,207,0.5) 50%,
    rgba(0,185,207,0.15) 70%,
    rgba(0,185,207,0) 100%  
  );
}
.cta-col-inner{
	padding:120px 64px;
	position:relative;
	z-index:100;

}
.cta-col-inner h2{
	font-size:32px;

}
/** *********************************************
 *  NEW CSS for submenus - tzwiep@interkom.ca
 * ********************************************* */
#page-header-menu.menu.nav-menu .sub-menu {
    position: absolute;
	display:none;
	flex-direction:column;
	align-items:flex-start;
	    opacity: 0;
    z-index: 1000;
	background:#000;
		padding:0px !important;
	top:36px;
	left:-2px;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
#page-header-menu .sub-menu li + li{
	margin-left:0;
}

#page-header-menu.menu.menu li:hover > .sub-menu {
	display:flex;
	opacity: 1;
	visibility: visible;
}

/* Ensure the submenu aligns with the parent menu item */
#page-header-menu.menu li {
    position: relative;
}

/* Style the submenu items */
#page-header-menu.menu .sub-menu li {
    display: block;
    width: 250px;
}

#page-header-menu.menu .sub-menu a {
    display: flex;
	justify-content:flex-start;
    padding: 8px 12px;
    text-decoration: none;
 	color:#fff;
	line-height:1.25;
	font-size:17px;
}

#page-header-menu.menu .sub-menu a:hover {
   color:#000;
}
/* CSS for marking the parent of an active submenu */
#page-header-menu .menu-item-has-children.current-menu-parent > a:after{
	background-color: var(--cits-color-aqua);
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 100%;
}

#page-header-menu .current-menu-parent{
	position: relative;
}

@media (max-width: 768px) {
    #page-header-menu.menu.nav-menu {
        display: flex;
        flex-direction: column;
    }

    #page-header-menu.menu.nav-menu .sub-menu {
        position: relative;
        opacity: 1;
        visibility: visible;
        background: #000;
        top: auto;
        left: auto;
			margin:0;
        flex-direction: column;
        align-items: flex-start;
        padding: 0px !important;
        z-index: 1000;
        transition: none;
    }

    #page-header-menu.menu.nav-menu .sub-menu li {
    text-align:center;

    }
	
#page-header-menu.menu .sub-menu a {
    padding: 0px 0px !important;
    text-decoration: none;
font-size:15px;
	line-height:1.2;
	letter-spacing:.75px;
justify-content:center;
}
}
.page-home-banner-button[href="http://cits-2026.local/season-brochure/"]{
	display:none;
}

/* Home 2024 */
.page-template-template-home-2024 #main{
	float:unset;
	width:100%;
	margin:0 auto;
}
#main.no-sidebars-main{
	float:unset;
	width:100%;
	margin:0 auto;
	padding:0 24px;
}

/* Grid Section Styles */
.grid-section {
    margin: 60px 32px;
}

.grid-section h2 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 40px;
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
    gap: 24px;
}

.grid-item {
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
	 display: flex;
    flex-direction: column;
    justify-content: space-between; 
    height: 100%;
}

.grid-item:hover {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); 
}

.grid-item img {
    width: 100%;
    height: auto;
    display: block;
  
}
.grid-item a{
	  text-decoration:none !important;
}

.grid-banner-info {
    padding: 15px;
	 display: flex;
    flex-direction: column;
    justify-content: space-between;
	flex-grow: 1;

}

.grid-banner-info h3 {
    font-size: 21px;
    font-weight: bold;
    margin: 0 0 10px;
    color: #333;
	flex-grow: 1;
}

.grid-banner-info span {
    font-size: 14px;
    color: #666;
    display: block;
    margin-top: 5px;
}

a.page-home-all-events{
	width:33%;
	margin:0 auto 2em auto;
		border-radius: 4px;
}
a.page-home-banner-button{
		padding: 10px 20px;
    margin-top: 15px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
}

.grid-banner-button {
    display: inline-block;
    background-color: var(--cits-color-yellow);
    color: #000;
    padding: 10px 20px;
    margin-top: 15px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s ease;
	align-self: flex-start; 
	justify-self:flex-end;
}

.grid-banner-button:hover {
    background-color: #ffa500; 
}



/* Slider */
.slider {
    width: 100%;
    margin: 0;
    position: relative;
}

.slide {
    position: relative;
    text-align: center;
    margin:12px;
	box-shadow:0 4px 8px rgb(0,0,0,0.2);
	border-radius:8px;

}

.slide img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px 8px 0 0; 
}

.slider-banner-info {
    position: static;
	display:flex;
	justify-content:space-between;
	align-items:center;
	background:#000;
    padding: 16px 48px;
    border-radius: 0 0 5px 5px;
   
}
.slider-banner-button{
		padding:12px 48px !important;
	align-self:flex-start;
	margin:auto 0;
	border-radius: 4px;
}

.slider-banner-info h2 {
    margin: 0 0 8px;
	color:#fff !important;
	text-align:left;
}

.slider-banner-info h2 span{
	display:block;
font-size:14px;
	font-weight:bold;
	background:var(--cits-color-aqua);;
	color:#000;
	width:max-content;
    margin: 4px 0;
	padding:1px 4px;
	line-height:1.5;

	text-align:left;
}

.slick-prev, .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    border: none;
    color: #000;
    font-size: 21px !important;
    padding: 10px 15px;
    cursor: pointer;
    z-index: 10;
}
.slick-prev::before, .slick-next::before {
	font-size:28px !important;
}

.slick-prev {
    left: 8px;
}

.slick-next {
    right: 16px;
}

.slick-dots {
    text-align: center;
    margin-top: 15px;
}

.slick-dots li {
    display: inline-block;
    margin: 0 5px;
}

.slick-dots li button {
    font-size: 0; 
	min-height:12px !important;
	min-width:12px !important;
	line-height:0;
	padding:0 !important;
    width: 2px !important;
    height: 2px !important;
    background-color:lightgrey;
    border-radius: 50%;
}
.slick-dots li button::before{
	content:'';
}

.slick-dots li.slick-active button {
    background-color: #ffa500;
}

.slick-list {
    overflow: hidden;
}

.slick-slide img {
    width: 100%;
    height: auto;
}
.page-home-banner{
	margin:16px;
	  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); 
	  border-radius: 8px;

}
.page-home-banner + .page-home-banner{
	border-top:none;
}
.page-home-banners img{

	border-radius:8px 8px 0 0;

}
.page-home-banner-info{
	border-radius:0 0 8px 8px
}

.page-template-template-home-2024 .inset .half{
	   background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;

}
.page-template-template-home-2024 .inset .half:hover{
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35); 
}

.page-template-template-home-2024 .inset .half h2{
	padding:12px 16px 0 16px;
	text-decoration:none !important;
}
.page-template-template-home-2024 .inset .half p{
	padding:8px 16px 24px 16px;
}
@media only screen and (max-width:767px){
	.slider-banner-info {
    position: static;
	display:flex;
		flex-direction:column;
	justify-content:space-between;
	align-items:center;
	background:#000;
		gap:8px;
    padding: 16px 32px 24px 32px;
    border-radius: 0 0 5px 5px;
   
}
	.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    gap: 24px;
}
	a.page-home-all-events{
	width:66%;
	margin:0 auto 2em auto;
		border-radius: 4px;
}
	.grid-section {
    margin: 48px 16px;
}
}

.wp-block-quote p {
    font-size: 17px;
    color: #555;
    font-style: italic;
}
.has-medium-font-size{
	font-size:20px;
}
.has-small-font-size{
	font-size:15px;
}
.mb-small{
	margin-bottom:4px;
}
footer{
	padding-bottom:0 !important;
}
footer .charitable-info {
	font-size:15px;
	background-color:#000;
  margin-left: -1em;
  margin-right: -1em;
  width: calc(100% + 2em); 
	padding:1em;
	margin-top:2em;
	margin-bottom:0;
}
.chapeau{
	margin-bottom:0;
	padding-bottom:0;
	color:teal;
text-transform:uppercase;
	letter-spacing:.25px;
	font-size:15px;
	
}
.chapeau + h2{
	margin-top:2px;
	line-height:1.2;
}

.artist-feature {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1em;
  gap: 1.25em;
}

.artist-image {
  width: 25%;
  height: auto;
  object-fit: cover;
}

.artist-info {
  flex: 1;
	margin-right:.25em;
}
@media only screen and (max-width:767px){
	
.artist-feature {
flex-direction:column;
}
	.artist-image {
  width: 100%;
  height: auto;
  object-fit: cover;
}
}

.page-id-117 details p, .page-id-117 details li {
	font-weight:400;
}
.page-id-117 details p strong{
	font-weight:700;
}

.button.btn-black{
	background:black;
	color:white;
justify-content:center;
}
.video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.shorts-row {
  display: flex;
  justify-content: center;
  gap: 8px;
	margin-top:1em;
}

.video-vert {
  position: relative;
  width: 100%;     
  padding-bottom: 80%;
	height:100%;
  overflow: hidden;
}

.video-vert iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}
.flex-quotes{
	display:flex;
	gap:24px;
	justify-content:space-evenly;
	
}
.flex-quotes p{
	font-size:18px;
	font-style:italic;
	flex:1 1 150px;
}
@media (max-width:767px){
	.shorts-row {
  flex-direction:column;
}
	.video-vert {
  position: relative;
  width: 100%;     
  padding-bottom: 180%;
	}
}

.postid-24504 .wp-block-gallery .wp-block-image.size-large:nth-child(5) {
  flex: 1;
}

/* Summer Camps */

.page-id-24549 .page-content, .page-id-24962 .page-content, .page-id-24952 .page-content, .page-id-24956 .page-content,
.page-id-25367 .page-content,
.page-id-25369 .page-content,
.page-id-25371 .page-content,
.page-id-25373 .page-content,
.page-id-25456 .page-content{
	display: grid;
	grid-template-columns: auto;
	gap: 24px;
}
.page-id-24549 .entry-title, .page-id-24962 .entry-title, .page-id-24952 .entry-title, .page-id-24956 .entry-title,
.page-id-25367 .entry-title,
.page-id-25369 .entry-title,
.page-id-25371 .entry-title,
.page-id-25373 .entry-title,
.page-id-25456 .entry-title{
	margin: 16px;
}
.page-id-24549 .upcoming-shows, .page-id-24962 .upcoming-shows, .page-id-24952 .upcoming-shows, .page-id-24956 .upcoming-shows,
.page-id-25367 .upcoming-shows,
.page-id-25369 .upcoming-shows,
.page-id-25371 .upcoming-shows,
.page-id-25373 .upcoming-shows,
.page-id-25456 .upcoming-shows
{
	display: none;
}
.page-id-24549 .post-thumbnail, .page-id-24962 .post-thumbnail, .page-id-24952 .post-thumbnail, .page-id-24956 .post-thumbnail{
	display: flex;
	justify-content: center;
}
body.page-id-24549 aside.menu, body.page-id-24962 aside.menu, body.page-id-24952 aside.menu, body.page-id-24956 aside.menu,
body.page-id-25367 aside.menu,
body.page-id-25369 aside.menu,
body.page-id-25371 aside.menu,
body.page-id-25373 aside.menu,
body.page-id-25456 aside.menu
{
	display: none;
}
body.page-id-24549 #main, body.page-id-24962 #main, body.page-id-24952 #main, body.page-id-24956 #main,
body.page-id-25367 #main,
body.page-id-25369 #main,
body.page-id-25371 #main,
body.page-id-25373 #main,
body.page-id-25456 #main
{
	width: 100%;
	margin: 0 auto;
}
body.page-id-24549 #main .entry-content, body.page-id-24962 #main .entry-content, body.page-id-24952 #main .entry-content, body.page-id-24956 #main .entry-content,
body.page-id-25367 #main .entry-content,
body.page-id-25369 #main .entry-content,
body.page-id-25371 #main .entry-content,
body.page-id-25373 #main .entry-content,
body.page-id-25456 #main{
	width: auto;
	max-width: 1024px;
	margin: 0 auto;
}
.page-id-24962 h2, .page-id-24952 h2, .page-id-24956 h2{
	margin:0;
}
.page-id-24962 h2 + h2, .page-id-24952 h2 + h2, .page-id-24956 h2 + h2{
	margin-bottom:20px;
	font-weight:400;
}
@media (max-width: 1000px) {
	.page-id-24549 .page-content, .page-id-24962 .page-content, .page-id-24952 .page-content, .page-id-24956 .page-content {
		grid-template-columns: 1fr;
	}
	.page-id-24549 .entry-title, .page-id-24962 .entry-title, .page-id-24952 .entry-title, .page-id-24956 .entry-title,
.page-id-25367 .entry-title,
.page-id-25369 .entry-title,
.page-id-25371 .entry-title,
.page-id-25373 .entry-title,
.page-id-25456 .entry-title{
	margin: 0px 0px 4px 0px;
}
}

/* POPUP*/
#newsletter-popup {
  position: fixed;
  bottom: 40px;
  right: 0;
  left: 50%;
  transform:translate(-50%, 0%);
  z-index: 9999;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  overflow: hidden;
  max-width: 750px;
  width: 90%;
  font-family: 'Lato', sans-serif;
	  transition: opacity 0.5s ease, transform 0.5s ease;

}
.popup-wrapper {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  position: relative;
}
.popup-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position:center;
  max-width: 300px;
}

.popup-content {
  padding: 40px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.popup-content h2 {
  margin: 0 0 8px;
  font-size: 20px;
}

.popup-content p {
  margin-bottom: 16px;
  font-size: 14px;
}

.popup-button {
  display: inline-block;
  padding: 10px 20px;
  background-color: black;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  text-align: center;
  font-weight: bold;
}
.popup-button:hover {

  color: #fff !important;
}

 #close-newsletter {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.7);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.popup-close-icon {
  width: 28px;
  height: 28px;
  display: block;
}


@media (max-width: 600px) {
  .popup-wrapper {
    flex-direction: column;
  }
  .popup-image img {
    max-width: 100%;
    height: auto;
  }
  #newsletter-popup {
  position: fixed;
  bottom: 40px;
  left: 50%;
  }
}
#newsletter-popup.popup-hidden {
  opacity: 0;
   transform: translate(-50%, 20px);
  pointer-events: none;
  transition: opacity 1s ease, transform 1s ease;
}

#newsletter-popup.popup-visible {
  opacity: 1;
   transform: translate(-50%, 0px);
  pointer-events: auto;
}

/* Season launch */
.genre-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0 2rem 0;
}

.genre-heading h2 {
  margin: 0;
	letter-spacing:.25px;
	text-transform:uppercase;
  font-weight: 700;
  white-space: nowrap;
}

.genre-heading::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #111;

}
.grid-header {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 24px;
  align-items: stretch;
  margin: 0 auto 3rem auto;
}

.grid-header__main img {
  width: 100%;
  height: 624px;
  object-fit: cover;
  display: block;
  border-radius: 12px; 
}

.grid-header__side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-gap: 24px;
  height: 100%;
}

.grid-header__side img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  border-radius: 12px; /* Optional */
}

/* Responsive adjustments for tablets and mobile */
@media (max-width: 900px) {
  .grid-header {
    grid-template-columns: 1fr;
  }
  .grid-header__main img,
  .grid-header__side img {
    height: 240px;
  }
  .grid-header__side {
    grid-template-rows: 1fr 1fr;
  }
}

.grid-header__main {
  position: relative;
  overflow: hidden;
}

.event:nth-child(even) .event-flex-row {
  flex-direction: row-reverse;
}
#post-27912 .event:nth-child(even) .event-flex-row {
  flex-direction: row;
}

.hero-card{
	background:#EF4957; padding:4px 8px; 
	width: max-content; position:absolute; 
	top:100%; transform:translate(24px, -36px);
}
@media (max-width: 700px) {
  .event-flex-row {
    flex-direction: column !important;  
  }
	  .event-flex-row .event-image {
   max-width:100% !important;
			flex:1 1 100%;
  }
	.events-list{
		padding:0 !important;
	}
	.genre-heading h2{
		white-space:unset;
	}
	.hero-card{
		left:50%;
		transform:translate(-50%, -32px);
	}
	.grid-header__side img:first-child{
		display:none;
	}
	.grid-header__side{
		grid-template-rows:1fr;
	}
	.grid-header{
		gap:16px !important;
	}
	.hero-card h1{
		font-size:2rem !important;
	}
}
.event-genre h2{
  font-family: Arial, sans-serif;
  font-size: 2.25rem;
  font-weight: bold;
  color: transparent;                 
  -webkit-text-stroke: 1px #000;      
  text-stroke: 1px #000;              
}
.responsive-iframe {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; 
  height: 0;
  overflow: hidden;
}

.responsive-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Page Template - No Sidebars */
.page-template-page-no-sidebars #main{
width:100%;
	float:none;
	margin:0 auto;
}
.page-template-page-no-sidebars .entry-header{
	display:none;
}

.tina-gallery{
	display:flex;
	flex-wrap:wrap;
	gap:1rem 1rem;
	margin-block:1rem;
}
.tina-gallery .image-wrapper{
	flex:1 1 calc(50% - 2rem);
	
}
.tina-gallery img, .cast-gallery img{
		box-shadow:0 4px 8px rgb(0,0,0,0.15);
	border-radius:8px;
}
@media (max-width:767px){
	.tina-gallery .image-wrapper{
	flex: 1 1 100%;
	}
}
body.page-template-page-no-sidebars .page-content{
	margin:0 !important;
}
body.page-template-page-no-sidebars main#main{
	padding-bottom:0;
}
/* Mixtape */
#post-26608 .entry-content, #post-26970 .entry-content{
	margin-top:0;
}
.mixtape-hero{
	margin-bottom:0;
}
.mixtape-hero img{
	padding-top:5em;
	padding-bottom:3em;
	max-width:66%;
	margin:0 auto;
}
.j-card-row{
	padding:3rem 4rem;
}
 .cassette-jcard {
    max-width: 67%;
    margin: 0 auto;
    background: #eae9d5;
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
    padding: 2rem;
    position: relative;
    overflow: hidden;
  }
 .cassette-jcard {
	 font-family: 'Courier New', sans-serif;
font-weight: 400;
font-style: normal;
}
.cassette-row{
font-family: "adobe-handwriting-tiffany", sans-serif;
font-weight: 400;
font-style: normal;
	letter-spacing:1px;
}
.cassette-tracklist .cal-prefix { font-size: 0.85em; }

  /* Paper fold line */
  .cassette-jcard::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 10px;
    width: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.15), transparent);
    pointer-events: none;
  }

  .cassette-letter-a {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    font-size: 2rem;
    font-weight: bold;
		font-family:sans-serif;
  }

  .cassette-header-row {
    display: grid;
    grid-template-columns: 1fr 1fr 140px;
    align-items: end;
    margin-left: 2.5rem; 
    margin-bottom: 1rem;
    font-weight: bold;
    font-size: 1.05rem;
    gap:1rem;
    text-transform: uppercase;
    border-bottom: 1px solid #000;
    padding-bottom: 0.25rem;
  }

  .cassette-tracklist {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .cassette-row {
    display: grid;
    grid-template-columns: 1fr 1fr 140px;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px dashed #aaa;
    padding: 0.5rem 0;
    font-size: 1.05rem;
    transition: background 0.2s ease;
    margin-left: 2.5rem;
  }
  .cassette-button {
    display: inline-block;
		font-family:'Courier New', sans-serif;
    padding: 6px 12px;
    font-size: 0.8rem;
    background-color: #000;
    color: #fff !important;
    text-decoration: none;
    border: none;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    transition: background 0.2s;
  }
 #post-26608 .casette-j-card .cassette-button a,  #post-26608 .cassette-button a:visited {
	text-decoration:none !important;
    color: #fff; !important
}
  .cassette-button:hover {
    background-color: #ffcc00;
  }
  @media (max-width: 999px) {
				 .cassette-jcard {
    max-width: 81%;
		}
		.mixtape-hero img{
	padding-top:3em;
	padding-bottom:1em;
	max-width:80%;
		}
}
  @media (max-width: 767px) {
				 .cassette-jcard {
    max-width: 91%;
		}
		.mixtape-hero img{
	padding-top:3em;
	padding-bottom:1em;
	max-width:90%;
		}
}

  @media (max-width: 640px) {
    .cassette-header-row,
    .cassette-row {
      grid-template-columns: 1fr;
      margin-left: 0;
    }

    .cassette-letter-a {
      position: static;
      margin-bottom: 1rem;
    }

  }
/* More Rock */
#post-26664 .entry-content{margin-top:0;}
#post-26664 * {
    font-family: 'Outfit', sans-serif;
  }

.more-rock-cover {
	padding:0;
	position:relative;
	min-height:calc(100svh - 192px);

}
.more-rock-cover h2 {
	font-size:10cqh !important;
	line-height:1;

	
}
.more-rock-cover h2 > span{
	color: #ff4754;
}
.more-rock-cover p.has-large-font-size{
	font-size:2rem;
	line-height:1.25;
}

.more-rock-cover .rock-hero-row{
	display:flex;
	align-items:center;
	justify-content:space-between
}
.more-rock-cover .wp-block-group.wp-container-content-1{
	width:33%;
			padding:4rem;
}

.more-rock-cover .wp-block-group.wp-container-content-1 .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
}
.more-rock-cover .wp-block-group.wp-container-content-2{
	width:66%;
}


.slanted-columns {
  display: flex;
  height: 100vh;
  overflow: hidden;
	gap:1rem;
	min-width:66%;
}

.column {
  flex: 1;
  position: relative;
  background-image: var(--img);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 0;
}

.column::before,
.column::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 30%;
  background-color: #e4485d;
  z-index: 1;
  pointer-events: none;
}

.column::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e4485d;
  z-index: 1;
  pointer-events: none;
  clip-path: polygon(0 100%, 100% 0, 100% 100%, 0% 100%);
}

.column::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e4485d;
  z-index: 1;
  pointer-events: none;
  clip-path: polygon(0 0, 100% 100%, 100% 0, 0% 0);
}

.column:nth-child(1)::before {
  clip-path: polygon(0 10%, 100% 20%, 100% 0, 0 0);
}
.column:nth-child(2)::before {
  clip-path: polygon(0 20%, 100% 30%, 100% 0, 0 0);
}
.column:nth-child(3)::before {
  clip-path: polygon(0 30%, 100% 40%, 100% 0, 0 0);
}
.column:nth-child(1)::after {
  clip-path: polygon(0 100%, 100% 100%, 100% 80%, 0 90%);
}
.column:nth-child(2)::after {
  clip-path: polygon(0 100%, 100% 100%, 100% 70%, 0 80%);
}
.column:nth-child(3)::after {
  clip-path: polygon(0 100%, 100% 100%, 100% 60%, 0 70%);
}

@media (max-width:841px){
	
.more-rock-cover .rock-hero-row{
	display:flex;
	flex-direction:column-reverse;
}
	.more-rock-cover .wp-block-group.wp-container-content-1{
	width:100%;
			padding:4rem;
}

.more-rock-cover .wp-block-group.wp-container-content-1 .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained{
	display:flex;
	flex-direction:row;
	justify-content:space-evenly;
	align-items:center;
	gap:2em;
}
.more-rock-cover .wp-block-group.wp-container-content-2{
	width:100%;
}
	.more-rock-cover h2 {
	padding:0;
	margin:0;
	}
}

@media (min-width: 1300px) {
  .column:nth-child(2) {
		background-size:300% !important;
    
  }
	.column:nth-child(3){
background-size:250% !important;
	}
}

.mw-content{
	max-width:1200px;
	margin:2rem auto;
	padding:0 32px;
}
.wp-block-separator{
	width:125px;
	margin-top:1.5em;
}

.event-sponsors{
margin-top:3rem;
	display:flex;
	gap:.5em;
	flex-direction:column;
	justify-content:center;
	align-items:center;
		padding:0 24px;
}
.event-sponsors span, .sponsor_description{
	font-weight:bold;
	text-transform:uppercase;
	font-size:14px;
	letter-spacing:1px;
	color:rgb(0,0,0,0.8);
	padding-bottom:.5rem;
}
.sponsor-highlight img{
	max-width:190px;
}
.event-sponsors span:not(:first-child), .sponsor_description{
		padding-bottom:1rem;
}
.event-sponsors .event-sponsor-logo.heffner{
max-width:500px;
}
.event-sponsors .event-sponsor-logo.ctv{
max-width:200px;
}

.sponsor_block.sponsor-has-desc {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.sponsor_row {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  margin-top: 1.5rem;
}
.sponsor-highlight, .sponsor-has-desc{
	  margin-top: 1rem;
}

.sponsor-delta-hotel img, .sponsor-chym-fm img{
	max-width:160px;
}

#gform_submit_button_1{
	background:black;
}

.availability {
  font-size: 14px;
  margin-left: 0.5em;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.availability::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.availability.best::before { background-color: #27ae60; }  /* green */
.availability.good::before { background-color: #f1c40f; }  /* yellow */
.availability.limited::before { background-color: #e74c3c; } /* red */

.show-listing-availability {
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  margin-bottom: 6px;
	color:white;
}

/* The colored dot */
.show-listing-availability::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* Color states */
.show-listing-availability.best::before {
  background-color: #2ecc71; /* green – best availability */
}
.show-listing-availability.good::before {
  background-color: #f1c40f; /* yellow – good availability */
}
.show-listing-availability.limited::before {
  background-color: #e74c3c; /* red – limited availability */
}

/* Optional label tweaks */
.show-listing-availability .availability-label {
color:#ddd;
}

/* Tina Show */
.postid-25792 .top_links_event {
  display: none;
}
.postid-25792 #breadcrumb {
  display: none;
}
.postid-25792 .event-content {
  padding: 0rem 4rem;
	width:100%;
}
.postid-25792 .event-body {
margin-top:-2em;
}
.postid-25792 .cast-gallery {
  grid-template-columns: repeat(auto-fit, minmax(calc(25% - 20px), 1fr)) !important;
}

.postid-25792 .event-title span {
  font-size: 18px;
}
body.single-event.postid-25792 .event-info {
  background-color: white;
  color: black;
  flex: 1;
  padding: 0em 4em;
  width:100%;
}
 .postid-25792 .event-body{
    display: flex;
    gap: 1em;
    width: 100vw;
    align-items: center;
    padding: 1em;
    flex-direction: column;
  }

.postid-25792 .event-shows{
  display:flex;
  align-items:center;
  justify-content:space-between;
	gap:24px;
}
body.single-event.postid-25792 .event-shows .event-show + .event-show , .postid-25792 .event-show {
  margin-top: 0;
  flex: 0 0 calc(33% - 24px);
}
.postid-25792 .show-listing-availability .availability-label {
color:#555;
}
.postid-25792 .event-related{
	display:none;
}
.postid-25792 .event-contents-tabs.tabs{
	display:none;
}
.postid-25792 .tabpanels{
	border-top:none;
	margin:0;
}
.postid-25792 .event-show-link a.button.buy_now{
	background-color: #ffd172;
	color: var(--cits-color-black);
	border-radius:99px;
	justify-content:center;
}
body.single-event.postid-25792 main section{
	border-top:none;
}
.critical-acclaim {
  text-align: center;
  padding: 3rem 1rem;
}
.critical-acclaim h2 {
  font-size: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}

.acclaim-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(calc(33% - 1.5rem), 1fr));
  gap: 1rem;
  margin: 0 auto;
  align-items:flex-end;
}

.acclaim-grid blockquote {
  font-size: 1rem;
  padding: 0rem;
  line-height: 1.35;
}

.acclaim-grid cite {
  display: block;
  margin-top: 0rem;
  font-style: normal;
  letter-spacing: 0.03em;
}
.acclaim-grid .highlight {
  display: inline-block;
  font-weight: 700;
  font-size: 2rem;
}

@media (max-width: 768px) {
	
	.postid-25792 .event-content {
  padding: 0;
	width:100%;
	}
	body.single-event.postid-25792 .event-info {
  padding: 0;
  width:100%;
	}
	.postid-25792 .event-shows{
  display:flex;
		flex-direction:column;
  align-items:center;
  justify-content:space-between;
	gap:24px;
	}
	.acclaim-grid {
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items:center;
	}
	.acclaim-grid blockquote{
 	margin:0;
	}
	.postid-25792 .cast-gallery {
  grid-template-columns: 1fr !important;
		gap:16px;
}
	.postid-25792 .cast-gallery	figure{
		margin:0;
	}
	
}

.tina-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
  margin: 2rem 0;
}

.tina-text {
  font-size: 1rem;
  line-height: 1.6;
}

.tina-video {
  text-align: center;

}

.tina-video iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 0.5rem;
}

@media (max-width: 768px) {
	
  .tina-two-column {
    grid-template-columns: 1fr;
  }
	

}
.postid-25792 .event-cta {
  background: #000;
  color: #fff;
  text-align: center;
  padding: 3rem 1rem;
  margin-top: 3rem;
	box-shadow:0 4px 20px rgb(0,0,0,0.3);
border-radius:8px;

}

.postid-25792 .event-cta-title {
  font-size: 2rem;
  margin-bottom: 2rem;
	text-transform:uppercase;
	letter-spacing:.5px;
}

.postid-25792 .event-cta-shows {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
	justify-content:space-evenly;
  align-items: center;
}

.postid-25792 .event-cta-shows li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.postid-25792 .event-cta-shows .buy_now {
  display: inline-block;
  background: #f6d46b;
  color: #000;
  padding: 0.75rem 1.75rem;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: background 0.3s ease;
}

.postid-25792 .event-cta-shows .buy_now:hover {
  background: #fff;
}

@media (max-width: 768px) {
  .postid-25792 .event-cta {
    padding: 3rem 1.5rem !important;
  }
 .postid-25792  .event-cta-title {
    font-size: 1.6rem;
	 margin-top:0;
  }
	.postid-25792 .event-cta-shows {
  flex-direction: column;
		gap:2rem;
}
}

/* Advent */
.page-id-27735 #breadcrumb {
	display:none;
}
.page-id-27735 .entry-content{
	margin-top:0;
}
.advent-wrapper {
  margin: 0 auto;
  padding: 32px 24px;
	background:#C62828;
}

.advent-title {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 20px;
	color:#fff;
}

.advent-intro {
  max-width: 900px;
  margin: 0 auto 40px;
  text-align: center;
  line-height: 1.5;
	color:#fff;
	font-size:18px;
}
.advent-calendar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1100px;
  margin: 40px auto;
}
.day-link-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  pointer-events: none;
  z-index: 5;
	border:1px solid white;
	width:max-content;
	background:
}
.day-link-label{
  opacity: 0;
  transition: opacity .6s ease;
	  background: rgba(255, 255, 255, 0.2);      
  backdrop-filter: blur(2px);           
  -webkit-backdrop-filter: blur(6px);   

  padding: 4px 16px;
  color: #fff;
}

.door-wrapper.open + .day-link + .day-link-label {
  opacity: 1;
  transition-delay: 1.75s;
}


.day {
  position: relative;
  aspect-ratio: 1/1;
  perspective: 1000px;
	  container-type: size;
}
.day {
  position: relative;
  z-index: 1;
}

.day.opening {
  z-index: 999; 
}

/* DOOR (rotates) */
.door-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  transform-origin: left center;
  transform-style: preserve-3d;
  transition: transform .7s cubic-bezier(.34, 1.56, .64, 1);
	z-index:10;
}

.door-wrapper.open {
  transform: rotateY(-110deg);
		z-index:100;

}

.door-wrapper.open .door {
  box-shadow:
    0 4px 10px rgba(0,0,0,0.35),
    inset 0 0 0 1px rgba(255,255,255,0.15);

}
.door-wrapper.open .door-number {
  visibility: hidden;
	opacity:0;
}
.door-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  transform-origin: left center;
  transform-style: preserve-3d;
  transition: transform .7s cubic-bezier(.34, 1.56, .64, 1);
}

.door-wrapper.open {
  transform: rotateY(-100deg); 
  box-shadow:
    -6px 6px 10px rgba(0, 0, 0, 0.18),
    -14px 14px 22px rgba(0, 0, 0, 0.15);
}

.door-wrapper.open .door-back {
z-index:999;

}

.door {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
}

.door-front {
  position: absolute;
  inset: 0;
  background: #C62828;
  border: 4px dashed #2e6b3a;
  border-radius: 6px;
  color: #fff;
 font-family: 'Old Standard TT', serif;
  font-size: 40cqh;
	letter-spacing:-10%;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  backface-visibility: hidden;
  transform: rotateY(0deg) translateZ(2px);
  box-shadow:
    0 4px 10px rgba(0,0,0,0.35),
    inset 0 0 0 1px rgba(255,255,255,0.15);
}
.door-back {
  position: absolute;
  inset: 0;
  background: #C62828; 
  border-radius: 6px;
  backface-visibility: hidden;
  transform: rotateY(180deg) translateZ(1px);
  border: 2px dashed #2e6b3a;

}
.image-panel {
  width: 100%;
  height: 100%;
  padding: 2px; 
  border-radius: 4px;
  box-shadow:
    inset 0 4px 2px rgba(0,0,0,0.15), 
    inset 0 0px 8px rgba(0,0,0,0.55); 
}

.image-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}

/* Locked days */
.day.locked .door-wrapper {
  opacity: 1;
  cursor: not-allowed;
}

/* Focus */
.door-wrapper:focus-visible {
  outline: 3px solid gold;
  outline-offset: 3px;
}

.holiday-hero {
  position: relative;
  background: #C62828; 
  padding: 100px 20px 0 20px;
  color: #fff;
  text-align: center;
  overflow: hidden;
}

/* Corner artwork */
.hero-corner {
  position: absolute;
  width: clamp(600px, 5vw, 800px);
  height: auto;
  pointer-events: none;
  user-select: none;
}

.hero-corner-top-left {
  top: 0;
  left: 0;
  transform: translate(-10%, -10%);
}

.hero-corner-bottom-right {
 top: 0;
  right: 0;
  transform: translate(0%, -10%);
}

.hero-inner {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.hero-title {
  font-family: 'Old Standard TT', serif;
  font-size: clamp(3rem, 5vw, 5rem);
  margin-bottom: 12px;
}

.hero-subtitle {
	  font-family: 'Old Standard TT', serif;
  font-size: clamp(2rem, 2vw, 3rem);
  line-height: 1.5;
  max-width: 650px;
  margin: 0 auto;
  opacity: 0.95;
}

.image-panel {
  position: relative;
}

.image-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
  opacity: 0;
  pointer-events: none; 
  transition: opacity 0.8s ease;
}

/* fade in when door is open */
.door-wrapper.open ~ .day-link .image-panel .image-overlay {
  opacity: 1;
	  transition-delay: 1.75s;
}

@media (max-width:999px){
	.advent-calendar {
  grid-template-columns: repeat(2, 1fr);
	
}
	.advent-wrapper {
  margin: 0 auto;
  padding: 32px 32px;
}
}
@media (max-width:767px){
	.advent-calendar {
  grid-template-columns: repeat(1, 1fr);
}
}
	
	.day.locked {
  position: relative;
}

/* Tooltip bubble */
.day.locked::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 6px 10px;
  font-size: 0.75rem;
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  border-radius: 4px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
  z-index: 20;
}



.day.locked:hover::after,
.day.locked:hover::before,
.day.locked:focus-within::after,
.day.locked:focus-within::before {
  opacity: 1;
  transform: translateX(-50%) translateY(50%);
}

.day.locked {
  position: relative;
}
	
.page-id-27912 .holiday-sale-wrapper{
		padding:0 24px;
	}

.max-width-video{
	margin:0 auto;
	max-width:1500px;
	padding-inline:4em;
	padding-top:4rem;
	padding-bottom:3rem;
}
.max-width{
	margin:0 auto;
	max-width:900px;
	padding-inline:4em;
	padding-top:2rem;
	padding-bottom:3rem;
	z-index:1000;
	position:relative;
}
#post-28083 .max-width{
	padding-top:4rem;
	padding-bottom:4rem;
}
#post-28083 .max-width h1, #post-28138 h1, #post-28212 h1{
	 font-family: 'Old Standard TT', serif;
  font-size: clamp(3rem, 5vw, 5rem);
	line-height:1 !important;
	color:#fff;
}
#post-28083 .max-width h2{
  font-size: clamp(1.25rem, 5vw, 1.75rem);
	color:#fff;
	font-weight:400;
}
#post-28020 h2, #post-28003 h2, #post-28138 h2, #post-28212 {
	 font-family: 'Old Standard TT', serif;
	font-weight:400;
	color:#fff;
}

@media (max-width:990px){
	.max-width-video{
	max-width:none;
	margin:0 auto;
		padding-inline:0;
}
}
.holiday-bg{
	position:absolute;
	width:75%;
	pointer-events:none;
}
.holiday-bg.bg-right{
	position:absolute;
	width:75%;
	right:0;
}
#post-28083 .holiday-bg, #post-28138 .holiday-bg, #post-28212 .holiday-bg{
	opacity:0.8;
	width:50%;
}
#post-28020, #post-28003, #post-28083, #post-28138, #post-28212{
	background: #C62828;
}
#post-28020 .entry-content, #post-28003 .entry-content,
#post-28083 .entry-content, #post-28138 .entry-content,
#post-28212 .entry-content{
	margin-top:0;
}
.page-id-28020 #page-footer, .page-id-28003 #page-footer,
.page-id-28083 #page-footer{
	z-index:100;
}
/* ================================
   Centre In The Square – Summer Camps Landing Page
   Scoped to .cits-summer-camps (safe: won’t affect other pages)
   ================================ */

/* Section spacing */
.cits-summer-camps .camp-section {
  margin: 2rem 0;
}

/* Session grid */
.cits-summer-camps .session-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

/* Session card */
.cits-summer-camps .session-card {
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 16px;
  padding: 1rem;
  background: #fff;
}

/* Meta row */
.cits-summer-camps .session-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
  margin-bottom: 0.75rem;
}

.cits-summer-camps .session-dates { font-weight: 700; }
.cits-summer-camps .session-price { font-weight: 700; }

/* CTA base */
.cits-summer-camps .session-cta {
  width: 100%;
  text-align: center;
  display: inline-block;
}

/* Register button styling (Centre In The Square blue) */
.cits-summer-camps .session-card .wp-block-button__link.session-cta {
  background-color: #07638c;
  color: #ffffff;
  font-weight: 600;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  text-decoration: none;
}

/* Hover state */
.cits-summer-camps .session-card .wp-block-button__link.session-cta:hover {
  background-color: #054a67;
}

/* Coming Soon state (non-clickable) */
.cits-summer-camps .session-cta.coming-soon {
  background-color: #f3f4f6;
  color: #6b7280;
  cursor: default;
  box-shadow: none;
  pointer-events: none;
}

/* Limited spots remaining */
.cits-summer-camps .session-card.is-limited {
  border: 1.5px solid rgba(107,114,128,0.45);
}

/* Limited badge – soft amber */
.cits-summer-camps .limited-badge {
  display: inline-block;
  text-align: center;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  background-color: #fff7ed;
  color: #9a3412;
  border: 1px solid #fed7aa;
  margin: 0 0 0.5rem 0;
}

/* Sold Out */
.cits-summer-camps .session-card.is-soldout {
  opacity: 0.55;
  pointer-events: none;
}

.cits-summer-camps .soldout-badge {
  display: inline-block;
  text-align: center;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background-color: #e5e7eb;
  color: #374151;
  margin: 0 0 0.5rem 0;
}

/* Sticky register bar (optional) */
.cits-summer-camps .sticky-register-bar {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,0.12);
  padding: 0.6rem 0;
}

.cits-summer-camps .sticky-register-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* FAQ */
.cits-summer-camps .camp-faq details {
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 12px;
  padding: 0.75rem 1rem;
  margin: 0.75rem 0;
}

.cits-summer-camps .camp-faq summary {
  cursor: pointer;
}

/* Responsive */
@media (max-width: 900px) {
  .cits-summer-camps .session-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .cits-summer-camps .session-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================
   Ticket Price Table – v2 (Scoped Styling)
   Safe to use on WordPress
   ========================================= */

.event-ticket-prices--v2 {
  width: 100%;
  border-collapse: collapse;
}

.event-ticket-prices--v2 thead th {
  text-align: left;
  padding: 12px;
  border-bottom: 2px solid #ddd;
  font-weight: 600;
}


.event-ticket-prices--v2 th,
.event-ticket-prices--v2 td {
  padding: 14px 12px;
  vertical-align: top;
}


.event-ticket-prices--v2 tbody td {
  border-bottom: 1px solid #eee;
}

.event-ticket-prices--v2 tbody tr:last-child td {
  border-bottom: 0;
}


.event-ticket-prices--v2 td strong {
  display: inline-block;
  font-size: 1.15em; 
  font-weight: 700;
  margin-bottom: 4px;
}


.event-ticket-prices--v2 .price-details {
  display: block;
  font-size: 0.85em;
  color: #666;
  line-height: 1.3;
  margin-top: 2px;
}


.event-ticket-prices--v2 tbody tr {
  line-height: 1.4;
}

.event-ticket-prices--v2 + .fee-note {
  font-size: 0.85em;
  color: #555;
  margin-top: 10px;
}

/* Shortcode - Featured Events */
.featured-events-grid {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.featured-events-grid  .featured-event {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.featured-events-grid .event-image {
  flex: 0 0 30%;
}

.featured-events-grid  .event-image img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.featured-events-grid  .event-info {
  flex: 1;
}

.featured-events-grid  .event-buttons {
  margin-top: 1rem;
  display: flex;
  gap: 1rem;
}

.featured-events-grid  .btn-outline {
  border: 1px solid black;
  padding: 10px 20px;
  border-radius: 999px;
  text-decoration: none;
}

.featured-events-grid  .btn-solid {
  background: black;
  color: white;
  padding: 10px 20px;
  border-radius: 999px;
  text-decoration: none;
}
.featured-events-grid .event-date{
	font-weight:700;
letter-spacing:.25px;
	text-transform:uppercase;
	font-size:14px;
	margin:0;
}
.featured-events-grid .event-date + h3{
margin-top:8px;;
}

@media (max-width:990px){
	 .featured-events-grid  .featured-event {
  flex-direction:column;
		 gap:1rem;
}
}

.mw-1000{
	max-width:1400px;
	margin:0 auto;
}
.page-template-page-no-sidebars #breadcrumb{ display:none;}
.page-template-page-no-sidebars .entry-content{
	margin:0 0 3rem 0;
}
.promo-strip {
  text-align: center;
  padding: 48px 18px;
  background: rgba(0,0,0,0.04);
  font-size: 20px;
}

.promo-pills {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.promo-pills span {
  background: white;
  padding: 6px 24px;
  border-radius: 20px;
  font-weight: 500;
}

.promo-meta {
	margin-top:16px;
  font-size: 15px;
  opacity: 0.8;
	display:flex;
	flex-direction:column;
}
/* Kinder story theme styling */
.cits-summer-camps .session-theme {
  font-size: 0.9rem;
  line-height: 1.35;
  margin: 0 0 0.6rem 0;
  padding: 0.35rem 0.6rem;
  display: inline-block;
  border-radius: 8px;
  background-color: #f0f7fb;
  color: #075985;
  border: 1px solid #dbeafe;
}

.cits-summer-camps .session-theme strong {
  font-weight: 600;
}
/* Make session cards equal-height and align buttons */
.cits-summer-camps .session-card {
  display: flex;
  flex-direction: column;
}

/* Push register button to bottom of card */
.cits-summer-camps .session-card .session-cta {
  margin-top: auto;
}
/* Card hover polish */
.cits-summer-camps .session-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.cits-summer-camps .session-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}
/* Theatre show badge styling */
.cits-summer-camps .session-theme strong {
  font-weight: 600;
}

/* Slightly richer styling when used for shows */
#junior-stars .session-theme,
#centre-stage .session-theme {
  background-color: #eef6fa;
  border: 1px solid #cfe7f3;
  color: #0b4f6c;
}
.camp-jobs-wrap {
  max-width: 865px;
  margin: 0;
  padding: 10px 0 20px;
  font-family: Arial, sans-serif;
  color: #1f1f1f;
}

.camp-jobs-intro {
  margin-bottom: 20px;
}

.camp-jobs-intro h2 {
  margin: 0 0 10px;
  font-size: 2.2rem;
  line-height: 1.15;
  color: #8b1e3f;
}

.camp-jobs-intro p {
  margin: 0;
  line-height: 1.6;
  font-size: 1rem;
}

.camp-jobs-intro a {
  color: #8b1e3f;
  font-weight: 700;
  text-decoration: none;
}

.camp-jobs-intro a:hover {
  text-decoration: underline;
}

.camp-job {
  border: 1px solid #d7d7d7;
  border-radius: 14px;
  background: #dcdcdc;
  margin-bottom: 14px;
  overflow: hidden;
}

.camp-job summary {
  list-style: none;
  cursor: pointer;
  padding: 20px 64px 18px 22px;
  position: relative;
  display: block;
  transition: background 0.2s ease;
}

.camp-job summary::-webkit-details-marker {
  display: none;
}

.camp-job summary:hover {
  background: #d5d5d5;
}

.camp-job summary strong {
  display: block;
  margin: 0 0 6px;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 700;
  color: #8b1e3f;
}

.camp-job summary span {
  display: block;
  font-size: 0.95rem;
  line-height: 1.4;
  font-weight: 700;
  color: #1f1f1f;
}

.camp-job summary::after {
  content: "+";
  position: absolute;
  right: 38px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #8b1e3f;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
}

.camp-job[open] summary::after {
  content: "−";
}

.camp-job-content {
  padding: 2px 22px 22px;
  background: #ffffff;
  border-top: 1px solid #d7d7d7;
}

.camp-job-content p,
.camp-job-content li {
  line-height: 1.65;
  font-size: 0.98rem;
}

.camp-job-content h4 {
  margin: 20px 0 8px;
  font-size: 1rem;
  line-height: 1.3;
  color: #1f1f1f;
}

.camp-job-content ul {
  margin: 0 0 10px 20px;
  padding: 0;
}

.camp-job-content li {
  margin-bottom: 7px;
}

.camp-job-meta {
  margin-top: 16px;
  font-weight: 700;
}

.camp-job-apply {
  margin-top: 18px;
}

.camp-job-apply a {
  display: inline-block;
  background: #8b1e3f;
  color: #ffffff;
  text-decoration: none;
  padding: 11px 18px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.95rem;
}

.camp-job-apply a:hover {
  background: #6f1732;
}

@media (max-width: 640px) {
  .camp-jobs-intro h2 {
    font-size: 1.8rem;
  }

  .camp-job summary {
    padding: 18px 58px 16px 18px;
  }

  .camp-job summary::after {
    right: 24px;
    width: 26px;
    height: 26px;
    font-size: 17px;
  }

  .camp-job-content {
    padding: 2px 18px 18px;
  }
}
.gas-promo-page {
  max-width: 1100px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
}

.gas-hero {
  background: linear-gradient(135deg, #2a0d3d 0%, #4a145f 100%);
  color: #fff;
  padding: 60px 20px;
  text-align: center;
  border-radius: 16px;
  margin-bottom: 30px;
}

.gas-hero-inner {
  max-width: 700px;
  margin: 0 auto;
}

.gas-badge {
  display: inline-block;
  background: #ff5a5f;
  color: #fff;
  font-weight: bold;
  padding: 10px 16px;
  border-radius: 999px;
  margin-bottom: 18px;
  font-size: 14px;
}

.gas-hero h1 {
  font-size: 48px;
  margin-bottom: 16px;
}

.gas-subhead {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
}

.gas-support {
  font-size: 18px;
  margin-bottom: 24px;
}

.gas-btn {
  display: inline-block;
  background: #ff5a5f;
  color: #fff;
  text-decoration: none;
  padding: 14px 24px;
  border-radius: 8px;
  font-weight: bold;
}

.gas-btn:hover {
  opacity: 0.9;
  color: #fff;
}

.gas-intro {
  padding: 10px 20px 30px;
  font-size: 18px;
  line-height: 1.6;
}

.gas-shows {
  display: grid;
  gap: 24px;
  padding: 0 20px 30px;
}

.gas-show-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  border: 1px solid #e5e5e5;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.gas-show-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 220px;
}

.gas-show-content {
  padding: 24px;
}

.gas-show-content h2 {
  margin: 0 0 8px;
  font-size: 28px;
}

.gas-date {
  font-weight: bold;
  margin-bottom: 12px;
}

.gas-multi-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.gas-multi-buttons .gas-btn {
  padding: 10px 16px;
  font-size: 14px;
}

.gas-footer-note {
  padding: 10px 20px 40px;
  font-size: 14px;
  color: #666;
}

@media (max-width: 768px) {
  .gas-hero h1 {
    font-size: 36px;
  }

  .gas-subhead {
    font-size: 20px;
  }

  .gas-show-card {
    grid-template-columns: 1fr;
  }
}.gas-hero-img img {
  width: 100%;
  border-radius: 16px;
  margin-bottom: 30px;
}
.page-id-28852 .entry-title {
  display: none;
}

/* 26/27 Season Landing */
:root {
  --mint:      #9BBFAF;
  --terra:     #C0513A;
  --brown:     #3c1f16;
  --cream:     #E8D9C0;
  --blue:      #B5D6C9;
  --cream-dim: rgba(232,217,192,0.7);
  --display:   'polymath-display', sans-serif;
  --body:      inherit;
}

html { scroll-behavior: smooth; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeUpMuted {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 0.7; transform: translateY(0); }
}

@keyframes fadeUpSub {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 0.65; transform: translateY(0); }
}

@keyframes slideRight {
  from { opacity: 0; transform: translateX(-40px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes slideLeft {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ─────────────────────────────────────────
   HERO
───────────────────────────────────────── */
#post-28984 .hero {
  background: var(--mint);
  position: relative;
  overflow: hidden;
  padding: 56px 48px 64px;
  height: calc(100svh - 180px);
  min-height:620px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#post-28984 .hero::before {
  content: '';
  position: absolute;
  top: -160px;
  right: -160px;
  width: 480px;
  height: 480px;
  background: var(--terra);
  border-radius: 50%;
  z-index: 0;
}

#post-28984 .hero::after {
  content: '';
  position: absolute;
  bottom: -200px;
  left: -160px;
  width: 520px;
  height: 520px;
  background: var(--terra);
  border-radius: 50%;
  z-index: 0;
}

#post-28984 .hero-top {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  animation: fadeIn 0.6s ease 0s both;
}

#post-28984 .date-badge {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(32px, 5vw, 46px);
  color: var(--cream);
  line-height: 1;
  text-align: right;
  z-index: 1;
  opacity:0;
  display: flex;
  flex-direction: column;
   animation: fadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.35s forwards;
}

#post-28984 .date-badge .year {
  font-size: clamp(20px, 3.5vw, 34px);
  font-weight: 500;
}

#post-28984 .hero-title {
  position: relative;
  z-index: 1;
  margin-top: -8rem;
  align-self: center;
}

#post-28984 .the {
  font-family: var(--display);
  font-weight: 900;
  font-style: normal;
    font-size: clamp(32px, 5vw, 46px);
  line-height: 1;
  color: var(--cream);
  opacity: 0;
  margin-bottom: -4px;
  display: block;
  animation: fadeUpMuted 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.25s forwards;
}

#post-28984 .big {
  font-family: var(--display);
  font-weight: 900;
    font-size: clamp(32px, 5vw, 46px);
  line-height: 0.88;
  color: var(--cream);
  letter-spacing: 0.01em;
  display: block;
  opacity: 0;
  animation: fadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.35s forwards;
}

#post-28984 .hero-title .season-sub {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(28px, 6vw, 60px);
  line-height: 1.1;
  color: var(--brown);
  opacity: 0;
  letter-spacing: -0.01em;
  margin-top: 6px;
  display: block;
  animation: fadeUpSub 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.85s forwards;
}

#post-28984 .hero-bottom {
  position: relative;
  z-index: 1;
}

#post-28984 .dare-label {
  font-family: var(--display);
  font-weight: 500;
  font-style: normal;
  font-size: calc(clamp(60px, 13vw, 130px) * 0.2);
  padding-left: calc(clamp(60px, 13vw, 130px) * 0.65);
  color: var(--brown);
  letter-spacing: 0.02em;
  margin-bottom: calc(clamp(60px, 13vw, 130px) * -0.225);
  display: block;
  animation: slideRight 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.65s both;
}

#post-28984 .dare-big {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(60px, 13vw, 130px);
  line-height: 0.88;
  color: var(--brown);
  letter-spacing: 0.01em;
  animation: slideLeft 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.75s both;
}

/* ─────────────────────────────────────────
   COUNTDOWN BAND
───────────────────────────────────────── */
#post-28984 .countdown-band {
  background: var(--brown);
  padding: 56px 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

#post-28984 .cd-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 32px;
}

#post-28984 .cd-unit:not(:last-child) {
  border-right: 1px solid rgba(232,217,192,0.15);
}

#post-28984 .cd-num {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(56px, 10vw, 96px);
  line-height: 1;
  color: var(--cream);
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
  transition: opacity 0.1s;
}

#post-28984 .cd-label {
  font-family: var(--body);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--terra);
  margin-top: 10px;
}

/* ─────────────────────────────────────────
   VENUE PHOTO SECTION
───────────────────────────────────────── */
#post-28984 .photo-section {
  position: relative;
  height: clamp(320px, 50vw, 560px);
  overflow: hidden;
  background: var(--brown);
}

#post-28984 .photo-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  opacity: 0.7;
  display: block;
}

#post-28984 .photo-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(160deg, #2a1a0e 0%, #3d2415 50%, #1a0e06 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}


#post-28984 .photo-event-label {
  position: absolute;
  bottom: 40px;
  left: 48px;
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(13px, 2vw, 17px);
  color: var(--cream);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.9;
}

/* ─────────────────────────────────────────
   BODY COPY SECTION
───────────────────────────────────────── */
#post-28984 .content-section {
  background: var(--cream);
  padding: clamp(64px, 10vw, 100px) clamp(32px, 8vw, 120px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
#post-28984 .content-left h2{
    margin-top:8px;
}
#post-28984 .content-left .section-label {
  font-family: var(--body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 20px;
}

#post-28984 .content-left h2 {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(32px, 4.5vw, 48px);
  line-height: 1.0;
  color: var(--brown);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin-bottom: 32px;
}

#post-28984 .event-details {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#post-28984 .detail-row {
  display: flex;
  flex-direction: column;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(30,18,8,0.12);
}

#post-28984 .detail-row:last-child { border-bottom: none; }

#post-28984 .detail-key {
  font-family: var(--body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 4px;
}

#post-28984 .detail-val {
  font-family: var(--display);
  font-weight: 700;
  font-size: 18px;
  color: var(--brown);
}

#post-28984 .content-right p {
  font-family: var(--body);
  font-size: clamp(15px, 2vw, 17px);
  line-height: 1.8;
  color: rgba(30,18,8,0.75);
  margin-bottom: 24px;
}

#post-28984 .content-right p:last-child { margin-bottom: 0; }

#post-28984 .content-right strong {
  color: var(--brown);
  font-weight: 600;
}

/* ─────────────────────────────────────────
   CTA SECTION
───────────────────────────────────────── */
#post-28984 .cta-section {
  background: var(--terra);
  padding: clamp(64px, 10vw, 100px) clamp(32px, 8vw, 120px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

#post-28984 .cta-copy {
  flex: 1;
  min-width: 240px;
}

#post-28984 .cta-copy .big-line {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(38px, 7vw, 72px);
  line-height: 0.95;
  color: var(--cream);
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

#post-28984 .cta-copy .big-line em {
  font-style: italic;
  font-weight: 500;
  font-size: 0.55em;
  display: block;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.5;
  opacity: 0.85;
}

#post-28984 .btn {
  display: inline-block;
  font-family: var(--body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--terra);
  background: var(--cream);
  padding: 20px 44px;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
  flex-shrink: 0;
}

#post-28984 .btn:hover {
  background: var(--brown);
  color: var(--cream);
}

/* ─────────────────────────────────────────
   RESPONSIVE — TABLET  (≤ 768px)
───────────────────────────────────────── */
@media (max-width: 768px) {
  #post-28984 .hero::before {
    width: 340px;
    height: 340px;
    top: -80px;
    right: -80px;
  }
  #post-28984 .hero::after {
    width: 360px;
    height: 360px;
    bottom: -140px;
    left: -100px;
  }
  #post-28984 .hero { padding: 44px 36px 56px; }
  #post-28984 .content-section { padding: 64px 36px; gap: 48px; }
  #post-28984 .cta-section {
    padding: 64px 36px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  #post-28984 .btn { width: 100%; text-align: center; }
}

/* ─────────────────────────────────────────
   RESPONSIVE — TABLET SMALL  (≤ 680px)
───────────────────────────────────────── */
@media (max-width: 680px) {
  #post-28984 .content-section { grid-template-columns: 1fr; gap: 48px; }
}

@media (max-width: 606px) {
#post-28984 .hero {
  height: calc(100svh - 224px);

}
}
/* ─────────────────────────────────────────
   RESPONSIVE — MOBILE  (≤ 480px)
───────────────────────────────────────── */
@media (max-width: 480px) {
  #post-28984 .hero::before {
    width: 220px;
    height: 220px;
    top: -50px;
    right: -50px;
  }
  #post-28984 .hero::after {
    width: 240px;
    height: 240px;
    bottom: -100px;
    left: -70px;
  }
  #post-28984 .hero { padding: 32px 24px 40px; }
  #post-28984 .countdown-band { padding: 36px 12px; gap: 0; }
  #post-28984 .cd-unit { padding: 0 10px; }
  #post-28984 .cd-unit:not(:last-child) { border-right-width: 1px; }
  #post-28984 .content-section {
    grid-template-columns: 1fr;
    padding: 48px 24px;
    gap: 40px;
  }
  #post-28984 .cta-section { padding: 48px 24px; gap: 28px; }
}

.cits-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(30,18,8,0.85);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.cits-modal-overlay.open { display: flex; }

.cits-modal {
  background: var(--cream);
  padding: 48px;
  max-width: 560px;
  width: 90%;
  position: relative;
}

#post-28984 .photo-section {
  position: relative;
  height: clamp(320px, 50vw, 560px);
  overflow: hidden;
  background: var(--brown);
}

#post-28984 .photo-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  opacity: 0.7;
  display: block;
}


#post-28984 .photo-event-label {
  position: absolute;
  bottom: 40px;
  left: 48px;
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(13px, 2vw, 17px);
  color: var(--cream);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.9;
}

#post-28984 .cits-modal-close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 300;
  color: var(--brown);
  opacity: 0.4;
  line-height: 1;
  padding: 0;
  transition: opacity 0.2s;
}

#post-28984 .cits-modal-close:hover {
  opacity: 1;
}

#post-28984 .photo-overlay-num {
  position: absolute;
  right: 40px;
  top: -12px;
  font-family: 'degular-text';
  font-weight: 400;
  font-size: clamp(40px, 18vw, 120px);
  line-height: 0.85;
  color: var(--blue);
  pointer-events: none;
  user-select: none;
  display: flex;
  align-items: center;
}

#post-28984 .year-split {
  display: inline-flex;
  flex-direction: column;
  line-height: 0.65;
}

#post-28984 .year-split span {
  display: block;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeUpMuted {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeUpSub {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 0.9; transform: translateY(0); }
}

.hero-title .the {
  animation: fadeUpMuted 0.6s ease 0.1s forwards;
}
.hero-title .big {
  animation: fadeUp 0.6s ease 0.1s forwards;
}
.hero-title .season-sub {
  animation: fadeUpSub 0.6s ease 0.3s forwards;
}

/* ── Modal shell ── */
#post-28984 .cits-modal {
  background: var(--cream);
  padding: 52px 48px 48px;
  max-width: 560px;
  width: 90%;
  position: relative;
}

/* ── Gravity Forms reset ── */
#post-28984 .cits-modal .gform_wrapper {
  margin: 0;
}

#post-28984 .cits-modal .gfield {
  margin-bottom: 28px;
}

/* ── Labels ── */
#post-28984 .cits-modal .gfield_label {
  font-family: var(--display);
  font-weight: 700;
  font-size: 14px;
  color: var(--brown);
  letter-spacing: 0.02em;
  margin-bottom: 8px;
  display: block;
}

#post-28984 .cits-modal .gfield_required {
  color: var(--terra);
  font-family: var(--body);
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.08em;
  margin-left: 4px;
}

/* Sub-labels (First / Last) */
#post-28984 .cits-modal .gfield_description,
#post-28984 .cits-modal .ginput_container label {
  font-family: var(--body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(30,18,8,0.45);
  margin-top: 6px;
}

/* ── Inputs ── */
#post-28984 .cits-modal input[type="text"],
#post-28984 .cits-modal input[type="email"],
#post-28984 .cits-modal input[type="tel"] {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1.5px solid rgba(30,18,8,0.25);
  border-radius: 0;
  padding: 10px 0;
  font-family: var(--display);
  font-weight: 500;
  font-size: 16px;
  color: var(--brown);
  outline: none;
  transition: border-color 0.2s;
  -webkit-appearance: none;
}

/* ── Focus ── */
#post-28984 .cits-modal input[type="text"]:focus,
#post-28984 .cits-modal input[type="email"]:focus,
#post-28984 .cits-modal input[type="tel"]:focus {
  border-bottom-color: var(--terra);
}

/* ── Validation error ── */
#post-28984 .cits-modal .gfield_error input {
  border-bottom-color: var(--terra);
}

#post-28984 .cits-modal .validation_message {
  font-family: var(--body);
  font-size: 11px;
  color: var(--terra);
  margin-top: 4px;
}

/* ── Submit button ── */
#post-28984 .cits-modal .gform_button,
#post-28984 .cits-modal input[type="submit"] {
  background: var(--brown);
  color: var(--cream);
  font-family: var(--body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border: none;
  padding: 18px 40px;
  cursor: pointer;
  transition: background 0.2s;
  -webkit-appearance: none;
  border-radius: 0;
}

#post-28984 .cits-modal .gform_button:hover,
#post-28984 .cits-modal input[type="submit"]:hover {
  background: var(--terra);
}

#post-28984 .cits-modal input[type="text"]:focus-visible,
#post-28984 .cits-modal input[type="email"]:focus-visible,
#post-28984 .cits-modal input[type="tel"]:focus-visible {
  outline: none;
  box-shadow: none;
  border-bottom-color: var(--terra);
}

/* In case the theme is using [data-focus-visible-added] (polyfill) */
#post-28984 .cits-modal input[data-focus-visible-added] {
  outline: none;
  box-shadow: none;
  border-bottom-color: var(--terra);
}