@charset "utf-8";


/*-----------------------------------------------------------------
COLUMNATION
-----------------------------------------------------------------*/
.container12 {
    margin:0 auto;
    padding:0px;
    width:100%;
	position:relative;
	display:flex;
	flex-direction:column;
	flex-wrap: wrap;
	padding:0px 30px 0px 30px;
}
.column12 {
	width:100%;
    display:inline-block;
	position:relative;
}

@media only screen and (min-width:768px) {
    .container12 {
		width:100%;
		max-width:1380px;
		padding-right:50px;
		padding-left:50px;
		flex-direction:row;
	}
}


/*-----------------------------------------------------------------
GENERAL AND DEFAULTS
-----------------------------------------------------------------*/
html, body, .post, .page{
    margin:0px;
    font-family: "Freight Sans Pro Bk";
    font-display: swap;
    font-style: normal;
    font-weight: normal;
}
#maincontent{
	background:#f5f5ec;
}
#maincontent.DARK{
	background:#161616;
}

*{
    -moz-box-sizing:border-box !important;
    -webkit-box-sizing:border-box !important;
    box-sizing:border-box !important;
}
*:focus{
	outline:none !important;
}
*:focus-visible{
	outline:2px solid #1a2e3e !important;
}

p{
	position:relative;
	z-index:2;
	font-family:inherit;
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	margin:0px;
}
p + p,
p + ul,
ul + p,
ol + p,
p + ol,
p + ul,
li ul{
	padding:15px 0px 0px 0px;
}
p + h2, p + h3,
ul + h2, ul + h3,
ol + h2, ol + h3, ol + h4, ol + h5{
	padding-top:50px;
}
p + h4, p + h5,
ul + h4, ul + h5{
	padding-top:40px;
}
h2 + h3, h2 + h4, h2 + h5{
	padding-top:10px;
}

h1, h2, h3, h4, p, .wp-block-buttons, .wp-block-pullquote{
	opacity:0;
}
h1,
h2.h1{
    color:#000000;
	font-size: 36px;
	line-height:100%;
    font-family: "Arboria Bla";
    font-display: swap;
    font-style: normal;
    font-weight: normal;
	margin:0px;
	padding:0px 0px 20px 0px;
}
h2,
h1.h2{
    color:#000000;
	font-size: 32px;
	line-height:100%;
    font-family: "Arboria Bla";
    font-display: swap;
    font-style: normal;
    font-weight: normal;
	margin:0px;
	padding:0px 0px 20px 0px;
}
h3{
    color:#000000;
	font-size: 26px;
	line-height:100%;
    font-family: "Freight Sans Pro Bd";
    font-display: swap;
    font-style: normal;
    font-weight: normal;
	margin:0px;
	padding:0px 0px 15px 0px;
}
h4{
    color:#000000;
	font-size: 20px;
	line-height:100%;
    font-family: "Freight Sans Pro Bd";
    font-display: swap;
    font-style: normal;
    font-weight: normal;
	margin:0px;
	padding:0px 0px 10px 0px;
}

body,
.normal{
    color:#505050;
	font-size: 16px;
	font-style: normal;
	line-height: 140%;
}
.small{
	color:#a2a2a2;
	font-size: 14px;
	font-style: normal;
	line-height: 130%;
}
.xsmall{
	color:#a2a2a2;
	font-size: 12px;
	font-style: normal;
	line-height: 130%;
}

@media only screen and (min-width:1280px) {
	h1,
	h2.h1{
		font-size: 66px;
		letter-spacing:-1.5px;
	}
	h2,
	h1.h2{
		font-size: 46px;
		letter-spacing:-1px;
	}
	h3{
		font-size: 28px;
		letter-spacing:-0.5px;
	}
	h4{
		font-size: 24px;
		letter-spacing:-0.5px;
	}

	body,
	.normal{
		font-size: 21px;
	}
	.small{
		font-size: 16px;
	}
	.xsmall{
		font-size: 14px;
	}
}

.bold,
strong{
    font-family: "Freight Sans Pro Bd";
    font-display: swap;
    font-style: normal;
    font-weight: normal;
}
	
a.skip {
	display:inline-block;
	padding:10px 14px;
	border-radius: 6px;
	background:#1a2e3e;
	color: #FFF !important;
	z-index:9999;
	position: absolute;
	top: -1000px;
	left: -1000px;
	text-align: left;
	overflow: hidden;
	font-size:14px;
	font-weight:600;
	line-height:normal;
	width: auto; 
	height: auto; 
}
a.skip:active,  
a.skip:focus, 
a.skip:hover {
	color: #FFF !important;
	overflow: visible; 
	left: 10px; 
	top: 10px;
}

a:link,
a:visited{
	color:#161616;
	text-decoration:underline;
	transition: all .2s ease-in-out 0s;
}
a:hover,
a:active,
a:focus{
	text-decoration:none;
	color:#161616;
	transition: all .2s ease-in-out 0s;
}

ul{
	margin:0px;
	padding:0px;
}
ol{
	margin:0px;
	padding:0px;
}
ul li,
ol li{
	position:relative;
	margin-left:20px;
	padding-top:10px;
	padding-bottom:0px;
}
ul li{
	padding-left:8px;
}
ul li:first-child,
ol li:first-child{
	padding-top:0px;
}
ul li:last-child,
ol li:last-child{
	padding-bottom:0px;
}

hr,
hr.wp-block-separator{
	width:100%;
	margin:40px 0px 40px 0px;
	padding:0px;
	border:0px;
	height:0px;
	border-bottom:1px solid #000000;
}

.center{
	text-align:center;
}
.left{
	text-align:left;
}
.right{
	text-align:right;
}


/*-----------------------------------------------------------------
DARK BACKGROUND
-----------------------------------------------------------------*/
.GRAY{
	background: #f4f4f4;
}

.DARK{
	position:relative;
}
.DARK *:focus-visible{
	outline:2px solid #FFFFFF !important;
}
.DARK, .DARK p, .DARK a:link, .DARK a:visited, .DARK a:hover, .DARK a:focus, .DARK h2, .DARK h3, .DARK h4, .DARK h5{
	color:#FFFFFF;
}
.DARK h1{
	color:#dddddd;
}
.DARK .dark_override,
.DARK .dark_override p,
.DARK .dark_override a,
.DARK .dark_override a:hover,
.DARK .dark_override a:focus,
.DARK .dark_override h1,
.DARK .dark_override h2,
.DARK .dark_override h3,
.DARK .dark_override h4,
.DARK .dark_override h5{
	color:#FFFFFF;
}
.DARK .eyebrow{
	color:#FFF;
}


/*-----------------------------------------------------------------
GUTENBERG OVERRIDES
-----------------------------------------------------------------*/
img,
object,
embed {
	max-width:100%;
}
img {
	height:auto;
}
figure img{
	margin:0px !important;
}
figure.wp-block-image{
	max-width:100% !important;
	margin:0px !important;
	text-align:left;
}
figure.wp-block-image img{
	width:auto;
	height:auto;
	max-width:100% !important;
	border-radius:20px;
}
.is-content-justification-center{
	text-align:center;
}
.image_offset{
	margin-top:-3px;
}

/* Maintain aspect ratio for YouTube and Vimeo blocks */
figure.wp-block-embed{
    position:relative;
    z-index:3;
}
.wp-block-embed__wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
}
.wp-block-embed__wrapper iframe,
.wp-block-embed__wrapper object,
.wp-block-embed__wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius:10px;
    overflow:hidden;
}

figcaption{
	font-size:14px;
    font-family: "Freight Sans Pro Bd";
}


/*-----------------------------------------------------------------
SPACER
-----------------------------------------------------------------*/
.wp-block-spacer.half{
	height:40px !important;
}
.wp-block-spacer.quarter{
	height:20px !important;
}
.wp-block-spacer{
	height:80px !important;
}
.wp-block-spacer.one_plus_half{
	height:80px !important;
}
.wp-block-spacer.double{
	height:120px !important;
}

@media only screen and (min-width: 1280px) {
	.wp-block-spacer.one_plus_half{
		height:120px !important;
	}
	.wp-block-spacer.double{
		height:160px !important;
	}
}


/*-----------------------------------------------------------------
STANDARD IMAGE + VIDEO CONTAINER
-----------------------------------------------------------------*/
.image_container{
	display:inline-block;
	width:100%;
	height:100%;
	position:absolute;
	left:0px;
	top:0px;
}
.image_container img{
	display:inline-block;
	width:100%;
	height:100%;
	position:absolute;
	left:0px;
	top:0px;
	z-index:1;
	border-radius:25px;
	object-fit:cover;
}
.image_container .standard_image_cover{
	width:calc(100% + 2px);
	height:calc(100% + 2px);
	position:absolute;
	left:-1px;
	bottom:-1px;
	background: linear-gradient(190deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.8) 90%, rgba(0, 0, 0, 0.8) 100%);
	z-index:2;
	mix-blend-mode:multiply;
}
.image_container.top img{
	object-position:top;
}
.image_container.center img{
	object-position:center;
}
.image_container.bottom img{
	object-position:bottom;
}
.image_container.cover img{
	object-fit:cover;
}
.image_container.contain img{
	object-fit:contain;
}

.video_container {
    position: absolute;
	z-index:1;
    width: 100%;
    height: 100%;
}
.video_container video {
    position: absolute;
	z-index:1;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
.mute_toggle{
	cursor:pointer;
	background:url(/wp-content/uploads/2025/06/volume-on-1.png) center center no-repeat;
	background-size:contain;
	width:50px;
	height:50px;
	position:absolute;
	z-index:3;
	right:20px;
	bottom:100px;
}
.mute_toggle.off{
	cursor:pointer;
	background:url(/wp-content/uploads/2025/06/volume-off-1.png) center center no-repeat;
	background-size:contain;
}


/*-----------------------------------------------------------------
GUTENBERG COLUMNS
-----------------------------------------------------------------*/
.wp-block-columns{
	position:relative;
	z-index:1;
    margin: 0 auto;
}

@media only screen and (max-width: 1023px) {
    .wp-block-columns {
        flex-direction: column !important;
        gap: 0px !important;
	}
    .wp-block-column {
        padding: 0px;
    }

	.wp-block-columns.stack_mobile_center{
		text-align:center !important;
	}
	.wp-block-columns.stack_mobile_center figure.alignright{
		float:none;
		text-align:center;
		display:inline-block;
	}

	.wp-block-columns .wp-block-column.mobile_center *{
		text-align:center !important;
		justify-content:center !important;
	}
}

@media only screen and (min-width: 1024px) {
    .wp-block-columns {
        flex-direction: row !important;
        gap: 60px !important;
	}
}

@media only screen and (min-width:1500px) {
	.wp-block-columns{
		gap:90px !important;
	}
}

blockquote{
	margin:0px;
	padding:0px;
}
.wp-block-pullquote{
	margin:40px 0px 40px 0px;
	padding:0px;
}
.wp-block-pullquote p{
	margin:0px !important;
	padding:0px !important;
	font-size:22px;
	line-height:120%;
    font-family: "Freight Sans Pro Bd";
    font-display: swap;
    font-style: normal;
	font-weight:normal;
}
.wp-block-pullquote cite{
	margin-top:10px;
	font-style:normal;
	color:#71a841;
	text-transform:uppercase;
	font-size:16px;
}

@media only screen and (min-width: 1280px) {
	.wp-block-pullquote p{
		font-size:40px;
	}
}


/*-----------------------------------------------------------------
BUTTONS
-----------------------------------------------------------------*/
.wp-block-buttons{
	width:100%;
	margin:20px 0px 0px 0px;
}
.wp-block-buttons:first-child {
    margin: 0px;
}
h1 + .wp-block-buttons,
h2 + .wp-block-buttons,
h3 + .wp-block-buttons,
h4 + .wp-block-buttons,
h5 + .wp-block-buttons{
	margin-top:10px;
}
.wp-block-button{
	display:inline-block;
	width:auto;
	margin:0px !important;
	padding:0px !important;
}
.wp-block-buttons + .wp-block-buttons .wp-block-button{
	margin-top:15px;
}
.wp-block-button + .wp-block-button{
	margin-left:5px !important;
}

@media only screen and (max-width:767px) {
	.wp-block-button + .wp-block-button{
		margin-left:0px !important;
	}

	.wp-block-button.mobile_full,
	.wp-block-button.mobile_full .wp-block-button__link{
		width:100%;
		margin-top:10px;
	}
}

input[type="submit"],
.wp-block-button .wp-block-button__link{
    font-family: "Freight Sans Pro Bk";
    font-display: swap;
    font-style: normal;
	font-weight:normal;
	text-decoration:none;
	display:inline-block;
	position:relative;
	padding:8px 16px;
	font-size:16px;
	line-height:normal;
	color:#FFFFFF;
	text-align:center;
	border-radius:10px;
	border:#505050 1px solid;
	transition: all .2s ease-in-out;
	cursor:pointer;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.DARK .wp-block-button:not(.is-style-outline) .wp-block-button__link{
	background:#505050;
	border:#505050 1.5px solid;
	color:#FFFFFF;
	transition: all .2s ease-in-out;
}
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus,
.DARK .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.DARK .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus{
	background:#505050;
	border:#505050 1.5px solid;
	color:#505050;
	transition: all .2s ease-in-out;
}

input[type="submit"],
.wp-block-button.is-style-outline .wp-block-button__link{
	color:#505050;
	background:none;
	border:#505050 1.5px solid;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus{
	color:#FFF;
	background:#505050;
	border:#505050 1.5px solid;
}

.DARK button[type="submit"],
.DARK .wp-block-button.is-style-outline .wp-block-button__link{
	color:#FFFFFF;
	background:none;
	border:#FFFFFF 1.5px solid;
}
.DARK button[type="submit"]:hover,
.DARK button[type="submit"]:focus,
.DARK .wp-block-button.is-style-outline .wp-block-button__link:hover,
.DARK .wp-block-button.is-style-outline .wp-block-button__link:focus{
	background:#FFF;
	color:#505050;
	border:#FFFFFF 1.5px solid;
}

@media only screen and (min-width:1280px) {
	.wp-block-buttons{
		margin:25px 0px 0px 0px;
	}
}


/*-----------------------------------------------------------------
ANIMATIONS
-----------------------------------------------------------------*/
.animate_up{
	opacity:0;
	transform:translateY(50px);
}
.animate_up.animate{
	opacity:1;
	transform:translateY(0px);
	transition-delay:1s;
	transition:all 1s ease-in-out;
}
.animate_fadein{
	opacity:0;
}
.animate_fadein.animate{
	opacity:1;
	transition-delay:1s;
	transition:all 1s ease-in-out;
}
.animate_scale{
	transform:scale(0.95);
}
.animate_scale.animate{
	transform:scale(1);
	transition-delay:1s;
	transition:all 1s ease-in-out;
}

ul.animate_sequence li {
	opacity: 0;
	transform:translateY(50px);
}
ul.animate_sequence.animate li {
	opacity:1;
	transform:translateY(0px);
	transition:all 0.8s ease-in-out;
}
ul.animate_sequence.animate li:nth-child(1)  { transition-delay: 0.1s; }
ul.animate_sequence.animate li:nth-child(2)  { transition-delay: 0.2s; }
ul.animate_sequence.animate li:nth-child(3)  { transition-delay: 0.3s; }
ul.animate_sequence.animate li:nth-child(4)  { transition-delay: 0.4s; }
ul.animate_sequence.animate li:nth-child(5)  { transition-delay: 0.5s; }
ul.animate_sequence.animate li:nth-child(6)  { transition-delay: 0.6s; }
ul.animate_sequence.animate li:nth-child(7)  { transition-delay: 0.7s; }
ul.animate_sequence.animate li:nth-child(8)  { transition-delay: 0.8s; }
ul.animate_sequence.animate li:nth-child(9)  { transition-delay: 0.9s; }
ul.animate_sequence.animate li:nth-child(10) { transition-delay: 1.0s; }
ul.animate_sequence.animate li:nth-child(11) { transition-delay: 1.1s; }
ul.animate_sequence.animate li:nth-child(12) { transition-delay: 1.2s; }
ul.animate_sequence.animate li:nth-child(13) { transition-delay: 1.3s; }
ul.animate_sequence.animate li:nth-child(14) { transition-delay: 1.4s; }
ul.animate_sequence.animate li:nth-child(15) { transition-delay: 1.5s; }
ul.animate_sequence.animate li:nth-child(16) { transition-delay: 1.6s; }
ul.animate_sequence.animate li:nth-child(17) { transition-delay: 1.7s; }
ul.animate_sequence.animate li:nth-child(18) { transition-delay: 1.8s; }
ul.animate_sequence.animate li:nth-child(19) { transition-delay: 1.9s; }
ul.animate_sequence.animate li:nth-child(20) { transition-delay: 2.0s; }
ul.animate_sequence.animate li:nth-child(21) { transition-delay: 2.1s; }
ul.animate_sequence.animate li:nth-child(22) { transition-delay: 2.2s; }
ul.animate_sequence.animate li:nth-child(23) { transition-delay: 2.3s; }
ul.animate_sequence.animate li:nth-child(24) { transition-delay: 2.4s; }
ul.animate_sequence.animate li:nth-child(25) { transition-delay: 2.5s; }
ul.animate_sequence.animate li:nth-child(26) { transition-delay: 2.6s; }
ul.animate_sequence.animate li:nth-child(27) { transition-delay: 2.7s; }
ul.animate_sequence.animate li:nth-child(28) { transition-delay: 2.8s; }
ul.animate_sequence.animate li:nth-child(29) { transition-delay: 2.9s; }
ul.animate_sequence.animate li:nth-child(30) { transition-delay: 3.0s; }
ul.animate_sequence.animate li:nth-child(31) { transition-delay: 3.1s; }
ul.animate_sequence.animate li:nth-child(32) { transition-delay: 3.2s; }
ul.animate_sequence.animate li:nth-child(33) { transition-delay: 3.3s; }
ul.animate_sequence.animate li:nth-child(34) { transition-delay: 3.4s; }
ul.animate_sequence.animate li:nth-child(35) { transition-delay: 3.5s; }
ul.animate_sequence.animate li:nth-child(36) { transition-delay: 3.6s; }
ul.animate_sequence.animate li:nth-child(37) { transition-delay: 3.7s; }
ul.animate_sequence.animate li:nth-child(38) { transition-delay: 3.8s; }
ul.animate_sequence.animate li:nth-child(39) { transition-delay: 3.9s; }
ul.animate_sequence.animate li:nth-child(40) { transition-delay: 4.0s; }
ul.animate_sequence.animate li:nth-child(41) { transition-delay: 4.1s; }
ul.animate_sequence.animate li:nth-child(42) { transition-delay: 4.2s; }
ul.animate_sequence.animate li:nth-child(43) { transition-delay: 4.3s; }
ul.animate_sequence.animate li:nth-child(44) { transition-delay: 4.4s; }
ul.animate_sequence.animate li:nth-child(45) { transition-delay: 4.5s; }
ul.animate_sequence.animate li:nth-child(46) { transition-delay: 4.6s; }
ul.animate_sequence.animate li:nth-child(47) { transition-delay: 4.7s; }
ul.animate_sequence.animate li:nth-child(48) { transition-delay: 4.8s; }
ul.animate_sequence.animate li:nth-child(49) { transition-delay: 4.9s; }
ul.animate_sequence.animate li:nth-child(50) { transition-delay: 5.0s; }


/*-----------------------------------------------------------------
FORMS
-----------------------------------------------------------------*/
label{
	display:block;
	padding:0px;
	margin:0px 0px 0px 0px;
	font-weight:500;
	color:#111111;
}

select,
input[type="text"],
input[type="email"],
input[type="password"],
textarea{
	font-weight:400;
	font-family: inherit;
  	font-optical-sizing: auto;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	width:100%;
	padding:10px;
	border-radius:8px;
	border:0px;
	margin-bottom:10px;
}
select:focus,
select:focus-visible,
input[type="text"]:focus,
input[type="text"]:focus-visible,
input[type="email"]:focus,
input[type="email"]:focus-visible,
input[type="password"]:focus,
input[type="password"]:focus-visible,
textarea:focus,
textarea:focus-visible {
	outline:0px !important;
}
textarea{
	height:160px;
}

.wpforms-container .wpforms-form .wpforms-field.wpforms-field-name .wpforms-field-row{
	min-width:100%;
}
.wpforms-container input{
	min-width:100%;
}

::-webkit-input-placeholder {
	color: #666666;
}
::-moz-placeholder {
	color: #666666;
}
:-ms-input-placeholder {
	color: #666666;
}
:-moz-placeholder {
	color: #666666;
}

.grecaptcha-badge{
	position:fixed;
	width:1px;
	height:1px;
	overflow:hidden;
	left:-9999999px;
}

.input_error{
	background: #ffeaea !important;
	border-color: #ffa7a7 !important;
}
#jquery_validation{
	display:none;
}


/*-----------------------------------------------------------------
SUBSCRIPTION
-----------------------------------------------------------------*/
.subscription{
	background:#e8e7e2;
	border-radius:10px;
	padding:20px 30px 30px 30px;
}


/*-----------------------------------------------------------------
PRIMARY HEADER
-----------------------------------------------------------------*/
.primary_header{
	position:relative;
	height:auto;
}
.primary_header .image_cover{
	background: #000000;
	position:absolute;
	z-index:2;
	width:100%;
	height:100%;
	left:0px;
	top:0px;
	opacity:0;
}

.primary_header .image_container img{
	border-radius:0px;
}
.primary_header .content_container{
	min-height:calc(100vh - 80px);
	display:flex;
	flex-direction:row;
	align-items:center;
	width:100%;
	height:100%;
	position:relative;
	z-index:2;
}
.primary_header .content_container .content{
	display:inline-block;
	width:100%;
	padding-top:80px;
	padding-bottom:80px;
}
.primary_header .content_container .content .content_padding{
	max-width:700px;
}
.primary_header .content_container .wp-block-buttons{
	margin-top:40px;
}

@media (max-aspect-ratio: 1/1) and (min-width: 768px) {
	.primary_header .content_container{
		min-height:60vh;
	}
}

@media only screen and (min-width:600px) {
	.primary_header .content_container .content .content_padding{
		width:80%;
	}
}

@media only screen and (min-width:1024px) {
	.primary_header .content_container .content{
		padding-top:120px;
		padding-bottom:120px;
	}
	.primary_header .content_container .content .content_padding{
		width:60%;
	}
}


/*-----------------------------------------------------------------
CARDS
-----------------------------------------------------------------*/
ul.cards{
	position:relative;
    display:grid;
    grid-template-columns: repeat(1, 1fr);
    margin:0px;
    padding:0px;
    list-style:none;
   	gap:24px;
}
ul.cards > li{
    position:relative;
    display:inline-block;
    width:100%;
    margin:0px;
    padding:0px;
	display:flex;
	flex-direction:column;
	overflow:hidden;
}
ul.cards > li::before{
	display:none;
}
ul.cards .card_image{
	position:relative;
}
ul.cards .card_icon{
	position:relative;
}
ul.cards .card_content{
	position:relative;
}

ul.cards.artists .card_image{
	width:100%;
	height:auto;
	padding-bottom:65%;
	overflow:hidden;
	border-radius:10px 10px 0px 0px;
    border-radius:25px;
}
ul.cards.artists .card_content{
	height:100%;
}

ul.cards.programs .card_image{
	width:100%;
	height:auto;
	padding-bottom:65%;
	overflow:hidden;
	border-radius:10px 10px 0px 0px;
    border-radius:25px;
}
ul.cards.programs .card_content{
	position:absolute;
	z-index:2;
	left:0px;
	bottom:0px;
	width: 100%;
	height:auto;
}
ul.cards.programs .card_content .content_container{
	padding:24px;
}
ul.cards.programs .card_content .content_container h3{
	margin:0px;
	padding:0px;
}

ul.cards > li a .image_container{
	overflow:hidden;
    border-radius:25px;
}
ul.cards > li a .image_container{
	transform:scale(1);
	transition:all 0.5s ease-in-out;
}
ul.cards > li a:hover .image_container,
ul.cards > li a:focus .image_container{
	transform:scale(1.15);
	transition:all 0.5s ease-in-out;
}
ul.cards > li a .standard_image_cover{
	opacity:1;
	transition:all 0.5s ease-in-out;
}
ul.cards > li a:hover .standard_image_cover,
ul.cards > li a:focus .standard_image_cover{
	opacity:0;
	transition:all 0.5s ease-in-out;
}
	
@media only screen and (min-width:600px) {
	ul.cards.columns_2{
		grid-template-columns: repeat(2, 1fr);
	}
	ul.cards.columns_3{
		grid-template-columns: repeat(2, 1fr);
	}
}
	
@media only screen and (min-width:1024px) {
	ul.cards.columns_2{
		grid-template-columns: repeat(2, 1fr);
	}
	ul.cards.columns_3{
		grid-template-columns: repeat(3, 1fr);
	}
}
	
@media only screen and (min-width:1024px) {
	ul.cards.columns_2{
		grid-template-columns: repeat(2, 1fr);
	}
	ul.cards.columns_3{
		grid-template-columns: repeat(3, 1fr);
	}
}


/*-----------------------------------------------------------------
ARTISTS
-----------------------------------------------------------------*/
ul.artist_styles_nav{
	margin:0px;
	padding:0px;
	list-style:none;
	display:inline-block;
	width:auto;
	border:1px solid #eef1f6;
	border-radius:10px;
	overflow:hidden;
}
ul.artist_styles_nav li{
	display:inline-block;
	width:auto;
	margin:0px;
	padding:0px;
}
ul.artist_styles_nav li a{
	display:inline-block;
	font-size:19px;
	text-decoration:none;
	text-transform:uppercase;
	margin:0px;
	padding:8px 16px;
	border-right:1px solid #eef1f6;
	transition:all 0.3s ease-in-out;
}
ul.artist_styles_nav li:last-child a{
	border-right:0px;
}
ul.artist_styles_nav li a:hover,
ul.artist_styles_nav li a:focus,
ul.artist_styles_nav li.active a{
	background:#eef1f6;
	color:#1e1e1e;
	transition:all 0.3s ease-in-out;
}

.artist_headshot{
	border-radius:20px;
	width:100%;
	height:auto;
}
.image_container.artist_headshot{
	position:relative;
	padding-bottom:55%;
}

.artist_links{
	display:flex;
	flex-direction:column;
	gap:20px;
}
.artist_links .artist_link{
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	gap:10px;
}
.artist_links .artist_link img{
	flex:0 0 30px;
	display:inline-block;
}
.artist_links .artist_link a{
	white-space: nowrap;
	display:block;
	flex: 0 1 auto;
	text-decoration:none;
	font-size:16px;
    font-family: "Freight Sans Pro Bd";
}
.artist_links .artist_link a:hover,
.artist_links .artist_link a:focus{
	color:#71a841;
}

@media only screen and (min-width: 768px) {
	.artist_links{
		margin:0px auto;
		align-items:center;
		flex-direction:row;
		gap:30px;
		max-width: fit-content;
	}
	.artist_link{
		width:100%;
	}
}


/*-----------------------------------------------------------------
PERFORMANCES
-----------------------------------------------------------------*/
ul.performances{
	margin:0px auto;
	padding:0px;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:8px;
	width:100%;
	max-width:1024px;
}
ul.performances li{
	margin:0px;
	padding:0px;
	display:flex;
	flex-direction:row;
	align-items:left;
	justify-content:left;
	gap:0px;
	background:#d4474f;
	border-radius:20px;
	padding:20px;
	line-height:normal;
	width:100%;
}
ul.performances li span{
	display:block;
	line-height:normal;
	flex: 1;
	font-size:16px;
}
ul.performances li span:nth-child(1){
	flex:0 0 90px;
}
ul.performances li span:nth-child(2){
	display:none;
}
ul.performances li span:nth-child(3) i{
	display:block;
	margin-top:10px;
	font-style:normal;
}
ul.performances li span:nth-child(4){
	display:none;
}
ul.performances li span:nth-child(1) i,
ul.performances li span:nth-child(2) i{
	text-transform:uppercase;
	display:block;
	font-style:normal;
}
ul.performances li span:nth-child(1) b,
ul.performances li span:nth-child(2) b{
	display:block;
    font-family: "Arboria Bla";
    font-weight: normal;
	font-size:50px;
	line-height:50px;
	margin-top:-5px;
}

@media only screen and (min-width: 768px) {
	ul.performances li{
		flex-direction:row;
		gap:40px;
		align-items: stretch; 
	}
	ul.performances li span{
		position:relative;
		display:flex;
		align-items: center;
	}
	ul.performances li span::after{
		position:absolute;
		content:"";
		width:0px;
		height:45px;
		border-right:1px solid #FFF;
		display:inline-block;
		top:0px;
		right:-20px;
	}
	ul.performances li span:last-child::after{
		display:none;
	}
	ul.performances li span:nth-child(1){
		padding-left:0px;
		flex:0 0 70px;
	}
	ul.performances li span:nth-child(1) b{
		display:none;
	}
	ul.performances li span:nth-child(2){
		display:flex;
		flex:0 0 60px;
	}
	ul.performances li span:nth-child(3){
		flex: 1;
	}
	ul.performances li span:nth-child(3) i{
		display:none;
	}
	ul.performances li span:nth-child(4){
		display:flex;
		border-right:0px;
		flex:0 0 220px;
	}
}

@media only screen and (min-width: 1024px) {
	ul.performances li span{
		font-size:20px;
	}
	ul.performances li span:nth-child(1){
		flex:0 0 80px;
	}
	ul.performances li span:nth-child(2){
		flex:0 0 60px;
	}
	ul.performances li span:nth-child(4){
		flex:0 0 340px;
	}
}


/*-----------------------------------------------------------------
PROGRAMS CATEGORY PAGE
-----------------------------------------------------------------*/
.program_banner{
	border-radius:20px;
	overflow:hidden;
	width:100%;
	height:auto;
	min-height:240px;
}
.program_banner_image{
	position:absolute;
	right:0px;
	top:0px;
	width:500px;
	height:100%;
}
.program_banner_image .image_container img{
	border-radius:0px;
}
.program_banner h1{
	color:#FFF;
	position:absolute;
	z-index:3;
	left:0px;
	bottom:0px;
	padding:30px;
	margin:0px;
}


/*-----------------------------------------------------------------
PROGRAM MODAL - SINGLE PROGRAMS
-----------------------------------------------------------------*/
.program-modal {
    display: none !important;
    position: fixed;
    z-index: 1000;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    align-items: center;
    justify-content: center;
    overflow-y: auto;
}
.program-modal p{
	opacity:1 !important;
}
.program-modal.is-visible {
    display: flex !important;
}
.modal-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.modal-image-container{
	width:100%;
	height:auto;
	padding-bottom:30%;
	position:relative;
	overflow: hidden;
}
.modal-image-container .modal-image-curve{
	position:absolute;
	left:0px;
	bottom:-1px;
	width:100%;
	height:100%;
	z-index:2;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="200" viewBox="0 0 1000 200"><path d="M0 150 C250 198, 750 198, 1000 150 L1000 200 L0 200 Z" fill="white"/></svg>') no-repeat bottom center;
	background-size: contain;
}

.modal-image-container img#modal-image{
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	object-fit:cover;
}
.modal-content {
    background: #ffffff;
    margin: 3rem auto;
    max-width: 800px;
    width: 90%;
    border-radius: 20px;
    position: relative;
    overflow: auto;
    max-height: calc(100vh - 6rem);
}
.modal-content-inner{
    padding: 30px 30px 30px 30px;
}
.modal-close{
	position:fixed;
	z-index:3;
	width:40px;
	height:40px;
	right:20px;
	top:20px;
	background: url(/wp-content/uploads/2025/05/Close-Menu-Button.svg) center center no-repeat;
	background-size: 60%;
}
.program-modal.fixed-top {
    align-items: flex-start;
}
body.modal-open {
    overflow: hidden;
}
.schirmer,
.disclaimer{
	margin-top:20px;
}

@media only screen and (min-width: 1024px) {
	.modal-content-inner{
		padding: 30px 60px 30px 60px;
	}
}


/*-----------------------------------------------------------------
TOP CURVES
-----------------------------------------------------------------*/
/*
.top_curves {
	height: 100vh;
	position:fixed;
	left: -5%;
	top: 60px;
	width: 110%;
	background:#f5f5ec;
	border-radius:10% 10% 0px 0px;
}
#maincontent.DARK .top_curves {
	background:#1e1e1e;
}

@media only screen and (min-width: 1024px) {
	.top_curves {
		top:80px;
	}
}
*/
.top_curves {
	position:absolute;
	z-index:3;
	left:0px;
	top:60px;
	height:0px;
	width:100%;
}
.top_curves::before{
	left:-1px;
	top:-1px;
	background:url(/wp-content/uploads/2025/06/curve.svg) left bottom no-repeat;
	background-size:contain;
	content:"";
	position:absolute;
	width:120px;
	height:20px;
}
.top_curves::after{
	right:0px;
	top:-1px;
	background:url(/wp-content/uploads/2025/06/curve.svg) left bottom no-repeat;
	background-size:contain;
	content:"";
	position:absolute;
	width:120px;
	height:20px;
	transform: scale(-1, 1);
}

@media only screen and (min-width: 1024px) {
	.top_curves {
		top:80px;
	}
}


/*-----------------------------------------------------------------
HOMEPAGE SNAP SCROLL
-----------------------------------------------------------------*/
.snap_container {
	position: relative;
	z-index: 2;
	height: 100vh;
	top: -1px;
	overflow-y: hidden; /* disable native scrolling */
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: auto;
	touch-action: none;
	overscroll-behavior: none;
}

.snap_container::-webkit-scrollbar {
	display: none;
}
.snap_panel {
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	position:relative;
}
.snap_panel p,
.snap_panel h1,
.snap_panel h2,
.snap_panel .wp-block-buttons{
	position:relative;
	z-index:3;
	opacity:1 !important;
}
.snap_panel.DARK h1{
	color:#FFF;
}
.snap_panel:not(.DARK) p,
.snap_panel:not(.DARK) h1,
.snap_panel:not(.DARK) h2{
	color:#000000;
}
.snap_panel:not(.DARK) a.wp-block-button__link{
	color:#000000;
	border:1.5px solid #000;
}
.snap_panel:not(.DARK) a.wp-block-button__link:hover,
.snap_panel:not(.DARK) a.wp-block-button__link:focus{
	background:#000;
	border:1.5px solid #000;
}

.snap_panel .image_container img{
	border-radius:0px;
}

.snap_panel_mobile{
	display:none !important;
}
.snap_panel_desktop{
	display:inline-block !important;
}

@media (orientation: portrait) {
	.snap_panel.has_video{
		display:none;
	}
	.snap_panel.has_video .video_container video {
		transform: translate(-50%, 0%);
	}
	.snap_panel_mobile{
		display:inline-block !important;
	}
	.snap_panel .image_cover{
		display:inline-block;
		width:100%;
		height:100%;
		background:#000000;
		opacity:0.5;
		left:0px;
		top:0px;
		z-index:2;
		position:absolute;
	}
	.snap_panel_desktop{
		display:none !important;
	}
	.snap_panel h1, .snap_panel h2, .snap_panel p{
		color:#FFF !important;
	}
	.snap_panel .wp-block-button.is-style-outline .wp-block-button__link{
		color:#FFFFFF !important;
		background:none !important;
		border:#FFFFFF 1.5px solid !important;
	}
	.snap_panel .wp-block-button.is-style-outline .wp-block-button__link:hover,
	.snap_panel .wp-block-button.is-style-outline .wp-block-button__link:focus{
		background:#FFF !important;
		color:#505050 !important;
		border:#FFFFFF 1.5px solid !important;
	}
}

@media only screen and (min-width: 1024px) {
	.snap_panel .content_container{
		width:50%;
	}
	.snap_panel.right .content_container{
		margin-left:50%;
	}
}



/*-----------------------------------------------------------------
TOP STYLES AND CONTAINERS
-----------------------------------------------------------------*/
#TOP_COMPENSATION,
#TOP {
	height: 60px;
	background:#161616;
}
#TOP {
	padding: 0px;
	z-index: 10;
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
}
#TOP #logo {
	z-index: 12;
	position: absolute;
	display: inline-block;
	width: 200px;
	height: 40px;
	top: 10px;
	left: 0px;
}
#TOP #logo img {
	width: auto;
	height: 100%;
	position:absolute;
	left:0px;
	top:0px;
}

#TOP .container12,
#TOP .container12 .column12,
#TOP .navigation_container,
#TOP nav.main-navigation,
#TOP .menu-primary-menu-container {
	height: 100%;
	width: 100%;
	position: relative;
}

#TOP button.menu-toggle {
	z-index: 13;
	border: 0;
	padding: 0;
	margin: 0;
	background: none;
	width: 22px;
	height: 100%;
	position: absolute;
	cursor: pointer;
	left:auto;
	right: 0;
	top: 0;
	background: url(/wp-content/uploads/2025/05/Menu-Button.svg) left center no-repeat;
	background-size: 100% auto;
}
#TOP button.menu-toggle-active {
	background: url(/wp-content/uploads/2025/05/Close-Menu-Button.svg) left center no-repeat;
	background-size: 100% auto;
}

#TOP ul#primary-menu{
	height: calc(100% - 60px);
	top: 60px;
}
#TOP ul#primary-menu,
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu {
	z-index: 11;
	display: inline-block;
	width: 100%;
	left: 0;
	list-style: none;
	position: fixed;
	vertical-align: middle;
	background: #161616;
	margin: 0;
	padding: 20px 30px 0px 30px;
	visibility: hidden;
	overflow-x: scroll;
	opacity:0;
	transform: translateX(-100%);
	transition: all .3s ease-in-out;
}
#TOP.active ul#primary-menu,
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu.active {
	visibility: visible;
	opacity:1;
	transform: translateX(0);
}
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu {
	height: 100%;
	top:0px;
	z-index: 14;
}

#TOP ul#primary-menu li {
	background: none;
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 0;
	margin: 0;
}
#TOP ul#primary-menu li::before {
	display:none;
}
#TOP ul#primary-menu li a,
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading a {
	text-decoration: none;
	display: inline-block;
	width: 100%;
	line-height: normal;
	padding: 18px 0;
	font-weight: 400;
	font-size: 22px;
	text-transform:uppercase;
	color:#FFFFFF;
}
#TOP ul#primary-menu li a:hover,
#TOP ul#primary-menu li a:focus{
	color:#FFFFFF;
}
#TOP ul#primary-menu li.menu-item-has-children > a::after,
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading a::before {
	content: "";
	display: inline-block;
	position: absolute;
	height: 100%;
	width: 16px;
	background: url(/wp-content/uploads/2025/05/down-arrow.svg) center center no-repeat;
	background-size: contain;
}
#TOP ul#primary-menu li.menu-item-has-children > a::after{
	right: 0;
	top: 0;
	transform: rotate(-90deg);
}
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading a::before {
	left: -8px;
	top: 0;
	transform: rotate(90deg);
}
#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading a {
	padding-left: 20px;
	font-weight: 500;
	border-bottom:1px solid #d1d0cd;
}

@media only screen and (min-width: 768px) {
	#TOP ul#primary-menu,
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu {
		padding:20px 50px 0px 50px;
	}
}

@media only screen and (min-width: 1024px) {
	#TOP_COMPENSATION,
	#TOP {
		height: 80px;
	}
	#TOP{
	}
	#TOP #logo {
		top: 15px;
		width:240px;
		height:50px;
	}

	#TOP .navigation_container {
		text-align: right;
		width: 100%;
		display: inline-block;
	}

	#TOP button.menu-toggle {
		display: none;
	}
	#TOP ul#primary-menu {
		list-style: none;
		position: relative;
		top: auto;
		margin: 0;
		padding: 0;
		display: table;
		height: 100%;
		width: auto;
		float: right;
		visibility: visible;
		transform: none;
		background: none;
		opacity:1;
	}
	#TOP ul#primary-menu li {
		display: table-cell;
		width: auto;
		margin: 0;
		padding: 0px 14px;
		height: 100%;
		vertical-align: middle;
		text-align: center;
		border-top:0px;
	}
	#TOP ul#primary-menu li:last-child{
		border:none;
	}
	#TOP ul#primary-menu li a {
		position:relative;
		width: 100%;
		height:100%;
		line-height:80px;
		padding: 0px;
		font-size:16px;
		font-weight:500;
		margin: 0;
		background: none;
		border: 0;
		transition: all .2s ease-in-out;
	}
	#TOP ul#primary-menu li a:hover,
	#TOP ul#primary-menu li a:focus{
	}
	#TOP ul#primary-menu li.menu-item-has-children a{
		padding-right:20px;
	}
	#TOP ul#primary-menu li.menu-item-has-children > a::after {
		width: 12px;
		right: 0px;
		transform:rotate(0deg);
		transition: all .2s ease-in-out;
	}
	#TOP ul#primary-menu li.menu-item-has-children > a:hover::after,
	#TOP ul#primary-menu li.menu-item-has-children > a:focus::after {
		transform:rotate(180deg);
		transition: all .2s ease-in-out;
	}

	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu {
		position:absolute;
		background: #FFF;
		border-radius:10px;
		margin: 0;
		padding: 20px 25px 20px 20px;
		left: 0px;
		top: 95px; /* distance from top = TOP height + x px */
		height: auto;
		width: auto;
		min-width:200px;
		z-index: 14;
		transform: none;
		visibility: hidden;
		display:inline-block;
		overflow:visible;
		box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);
		opacity: 0;
		transform:translateY(-10px);
		transition: opacity .2s ease-in-out 0s, transform .2s ease-in-out 0s, visibility 0s ease-in-out .2s;
	}
	#TOP ul#primary-menu li.menu-item-has-children:hover ul.sub-menu,
	#TOP ul#primary-menu li.menu-item-has-children:focus-within ul.sub-menu,
	#TOP ul#primary-menu li.menu-item-has-children.ada_focus ul.sub-menu{
		visibility: visible;
		opacity:1;
		transform:translateY(0px);
		transition: opacity .2s ease-in-out 0s, transform .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu::before { /* permits space between primary nav and submenu */
		content:"";
		position:absolute;
		width:100%;
		left:0px;
		display:inline-block;
		height:15px; /* match distance from top */
		top:-15px; /* match distance from top */
	}

	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li {
		padding: 0;
		margin: 0;
		display: inline-block;
		width: 100%;
		height: auto;
		text-align: left;
		border:0px;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a {
		padding: 8px 10px;
		line-height:normal;
		display: inline-block;
		width: 100%;
		position:relative;
		white-space: nowrap;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu li a::before {
		display:none !important;
	}
	#TOP ul#primary-menu li.menu-item-has-children ul.sub-menu .subnav_heading {
		display:none !important;
	}
}

@media only screen and (min-width: 1200px) {
	#TOP ul#primary-menu li {
		padding: 0px 24px;
	}
}


/*-----------------------------------------------------------------
FOOTER
-----------------------------------------------------------------*/
footer{
	position:relative;
	padding-top:40px;
}
footer .footer_inside{
	padding-top:20px;
	padding-bottom:20px;
	border-top:1px solid #161616;
}
footer.DARK .footer_inside{
	border-top:1px solid #a2a2a2;
}

ul.social{
	position:relative;
	left:0px;
	bottom:0px;
	display:flex;
	flex-direction:row;
	gap:18px;
	width:100%;
	margin:0px 0px 10px 0px;
	padding:0px;
	justify-content:center;
	list-style: none;
}
ul.social li{
	background:none;
	display:inline-block;
	width:auto !important;
	padding:0px;
	margin:0px;
}
ul.social li::before {
	display:none;
}
ul.social li a{
	display:inline-block;
	width:40px;
	height:40px;
	position:relative;
}
ul.social li a img{
	position:absolute;
	object-fit: contain;
	left:0px;
	top:0px;
	width:100%;
	height:100%;
	filter:brightness(0);
}
.DARK ul.social li a img{
	filter:brightness(1);
}

footer ul.legal{
	position:relative;
	display:flex;
	flex-direction:row;
	justify-content:center;
	gap:30px;
	padding:0px;
	margin:0px;
}
footer ul.legal li{
	display:inline-block;
	width:auto;
	padding:0px;
	margin:0px;
}
footer ul.legal li a{
	text-decoration:none;
}
footer ul.legal li a:hover,
footer ul.legal li a:focus{
	text-decoration:underline;
}

@media only screen and (min-width:768px){
	footer{
		text-align:left;
	}
	footer .footer_inside{
		display:flex;
		flex-direction:row;
	}
	ul.social{
		margin:0px;
		padding:0px;
		justify-content:left;
	}
	footer .footer_inside nav{
		flex:1;
		text-align:left;
	}
	footer ul.legal{
		flex:1;
		justify-content:right;
	}
}