@media only screen and (max-width: 1199px) {

	.site-title{
		margin-top: 75px;
	}
	
	.schedule-list .performer-block .label-group .heading {
		display: block;
		font-size: 24px;
		line-height: 18px;
	}
	
	.schedule-list .performer-block .label-group .location {
		display: block;
		margin-top: 8px;
		font-size: 18px;
		line-height: 18px;
	}
	
	.schedule-item .special-label {
    	padding: 5px 0;
    	padding-right: 112px;
		font-size: 16px;
	}
	
}

@media only screen and (max-width: 1023px) {
	
	body {
		font-size: 18px;
	}

	.site-title-container {
		padding-right: 94px;
	}
	
	.main-overlay-image-container {
    	max-width: 80%;
	}
	
	.home .main-overlay-container {
		background-size: 25%;
	}
	
	.main-overlay-image {
		width: 60%;
    	margin: auto;
	}
	
	.main-overlay-image-container h2 {
		font-size: 118px;
		line-height: 0.7em;
	}
	
	.main-overlay-image-container h2 sup {
		font-size: 58px;
		top: -32px;
	}
	
	.main-overlay-image-container h2 em {
    	font-size: inherit;
	}
	
	.main-overlay-image-container h3 {
		font-size: 64px;
	}
	
	.featured-button {
		height: 360px;
    	font-size: 28px;
	}
	
	.featured-button .heading {
		
	}
	
	.home .section-container .entry-title,
	.home article h2 {
    	margin: 25px 0;
		font-size: 54px;
	}
	
	.home main,
	.festival-ticket-section .section-container,
	.stringcamp-ticket-section .section-container,
	.sponsors-section .section-container,
	.site-footer .section-container {
		background-size: 25%, 25%, 75%, auto;
	}
	
	.home main {
	  	padding: 45px;
	}
	
	.secondary-page-entry-header {
		margin: 50px 30px 30px;
	}
	
	.ticket-option-group select {
    	font-size: 20px;
	}
	
	.ticket-option-group .button,
	.ticket-option-group .add_to_cart {
		font-size: 27px;
	}
	
	main {
		padding: 45px;
	}
	
	.tickera .fields-wrap {
		clear: both;
		width: 100%;
	}
	
	.performer-list {
		grid-template-columns: 1fr 1fr;
		column-gap: 8px;
		row-gap: 8px;
		margin: 18px;
	}
	
	.performer-list .label-group .heading {
		font-size: 30px;
		line-height: 12px;
	}
	
	.schedule-list {
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 8px;
		row-gap: 8px;
		margin: 18px;
	}
	
	.schedule-item-group {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.schedule-item .special-label {
		padding: 3px 0;
		padding-right: 0;
		font-size: 18px;
		transform: rotate(0deg) scale(1);
	}
	
	.primary-image-section .inner {
		padding: 0 45px 20px 45px;
	}
	
}


@media only screen and (max-width: 767px) {
	
	.primary-background-container {
	  	background-position: center top;
	}
	
	#masthead {
    	position: relative;
	}

	.header-container {
		margin-top: 0;
	}
	
	.header-container > .inner {
    	
	}
	
	.site-branding {
		
	}
	
	.special-banner-active .site-branding {
		margin-top: 0;
	}
	
	.site-title-container {
		padding: 0;
	}
	
	.site-title {
		margin-top: 100px;
		margin-bottom: 15px;
	}
	
	.home .site-branding {
		background-size: 120% 100%;
	}
	
	.home .site-branding .site-title {
		padding: 0 12px;
	}
	
	.home .site-branding #site-logo {
		  margin-right: 32px;
	}
	
	.home .site-branding #site-logo img {
	  	max-width: 100%;
	}
	
	.site-branding .general-description {
		margin: 0 12% 80px 12%;
		font-size: 15px;
		line-height: 1.75em;
	}
	
	.secondary-page .site-branding {
		width: 100%;
		margin-top: 40px;
		margin-left: 0;
		margin-right: 0;
		padding-top: 0;
		padding-left: 10%;
		padding-right: 10%;
		padding-bottom: 65px;
		background-size: 100%;
	}
	
	.secondary-page .site-branding .site-title {
		margin-top: 18%;
		margin-left: 0;
		margin-right: 12px;
	}
	
	.secondary-page .site-branding #site-logo img {
	  	max-width: 100%;
	}
	
	.site-navigation-container {
		width: 100%;
	}
	
	#main-menu-modal-container {
		position: absolute;
		top: 0;
		background-size: 90%;
	}
	
	
	.admin-bar #main-menu-modal-container {
		/*top: 46px;*/
	}
	
	#main-menu-modal-container .inner {
		margin: 30px;
	}
	
	#primary-menu > li {
		display: inline-block;
		vertical-align: top;
		width: 33%;
		padding-bottom: 20px;
	}
	
	.site-navigation-container .action-button-group {
	  	text-align: right;
	}
	
	#close-main-menu {
		top: -28px;
		right: -25px;
	}
	
	.date-container {
		  margin-top: 75%;
		  margin-bottom: 0;
		  min-height: 210px;
	}
	
	.date-container h3 {
  		font-size: 38px;
	}
	
	.date-container h4 {
		  font-size: 24px;
	}
	
	.secondary-page .date-container  {
		  min-height: 0;
	}
	
	.main-overlay-image-container {
		max-width: 96%;
	}
	
	.main-overlay-image-container h2 {
		font-size: 96px;
	}
	
	.main-overlay-image-container h2 sup {
		top: -26px;
		font-size: 48px;
	}
	
	.main-overlay-image-container h3 {
		font-size: 56px;
	}
	
	.featured-buttons-container {
    	display: block;
	}
	
	.featured-button-bg {
		margin-bottom: 5px;
	}
	
	.ticket-section .wp-block-button__link {
    	padding: 18px 30px;
		font-size: 24px;
	}
	
	:where(.wp-block-columns.is-layout-flex) {
		gap: 10px;
	}
	
	.secondary-page-header {
		background-image: linear-gradient(0deg,rgba(255,255,255,0.3), transparent);
	}
	
	.ticket-option-group {
		width: 45%;
	}
	
	.wp-block-column h3,
	.wp-block-column h4,
	.wp-block-column h5,
	.wp-block-column h6 {
		margin: 12px 0;
	}
	
	.wp-block-column p {
		margin: 8px 0;
	}
	
	.wp-block-image {
		margin: 8px 0;
	}
	
	.tickera .ticket-section .wp-block-button__link {
		margin: 15px 0;
		padding: 12px 30px;
		font-size: 24px;
	}
	
	.tickera .ticket-quantity .tickera_button {
		padding-left: 2px;
		padding-right: 2px;
	}
	
	.tickera .ticket-quantity .quantity {
		font-size: 18px;
	}
	
	.performer-list {
		grid-template-columns: 1fr;
	}
	
	.schedule-list {
		grid-template-columns: 1fr 1fr;
	}
	
	.schedule-item-group {
		grid-template-columns: 1fr 1fr;
	}
	
	.schedule-item .thumbnail {
    	padding: 22px 0;
		text-decoration: none !important;
	}
	
	.schedule-item .thumbnail .thumbnail-content {
		position: static;	
	}
	
	.schedule-item .special-label {
		display: none;
	}

	.primary-image-section {
		text-align: center;
	}
	
	.primary-image-section .inner {
		padding: 0 30px 20px 30px;
		background-image: none;
	}
	
	.primary-image-section .aspect-ratio {
		height: 0;
		padding-bottom: 100%;
	}
	
	.primary-image-section.section-container .entry-title {
		font-size: 72px;
	}

	.performer-detail.detail-container {
		float: none;
		max-width: none;
    	min-width: none;
		margin: 0;
	}
	
	.detail-container .inner {
		padding: 30px;
	}
	
	.detail-container h2 {
		font-size: 36px;
		line-height: 36px;
	}
	
	.performer-detail .button {
		margin-top: 18px;
	}
	
	#mc_embed_signup {
		text-align: center;
	}
	
	#mc_embed_signup .mc-field-group {
		width: 100%;
	}
	
	#mc_embed_signup input[type="email"] {
		width: 100%;
		text-align: center;
	}
	
	#mc_embed_signup .button {
		max-width: 254px;
    	margin-top: 18px !important;
		margin-left: 0 !important;
	}
	
}


@media only screen and (max-width: 639px) {
	
	.primary-background-container {
	  	background-position: center 40%;
	}
	
	.secondary-page-entry-header {
		
	}
	
	.ticket-option-group {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	
	home main,
	.festival-ticket-section .section-container,
	.stringcamp-ticket-section .section-container,
	.sponsors-section .section-container,
	.site-footer .section-container {
		background-size: 25%, 25%, 100%, auto;
	}
	
	.section-container .entry-title,
	.entry-title-container .entry-title {
	  font-size: 56px;
	}
	
	.home article h3 {
		  font-size: 30px;
	}
	
	.ticket-section {
		padding-left: 0;
		padding-right: 0;
	}
	
	#primary input[type=submit],
	#primary input[type=reset] {
		font-size: 16px;
		margin-bottom: 8px;
	}
	
	.tickera, .tickera-checkout tr th {
		font-size: 16px;
	}
	
	.tickera h5 {
		font-size: 18px;
	}
	
	.tickera .info_section {
		padding: 20px;
	}
	
	.site-footer .menu-main-menu-container {
		margin-bottom: 0;
	}
	
	.site-footer .menu-main-menu-container .menu > li {
		display: inline-block;
		vertical-align: top;
		width: auto;
		margin-right: 30px;
		margin-bottom: 15px;
	}
	
}


@media only screen and (max-width: 539px) {

	.truncate {
		display: none;
	}
	
	.primary-background-container {
	  	background-position: center 65%;
	}
	
	.primary-background-container .decorative {
		background-size: 40px;
	}
	
	#masthead {
		border-top: 0;
		text-align: center;
	}
	
	.site-branding,
	.site-title-container {
		display: block;
	}
	
	.site-branding {
    	margin-top: 0;
		margin-bottom: 0;
		padding: 16px 15px;
    	padding-bottom: 0;
    	outline: 0;
		background: transparent;
	}
	
	.home .site-branding {
	  	background-size: 150% 100%;
	}
	
	.home .site-branding .site-title {
		margin-left: 0;
	  	padding: 0;
	}
	
	.site-branding .custom-logo-link {
    	display: block;
		width: 60%;
		margin: auto;
		transform: scale(1);
	}

	.site-branding .custom-logo-link:hover {
		transform: scale(1.1);
	}
	
	/*
	.site-title-container {
		margin: 12px 0;
		padding: 0 12px;
		border: 1px white solid;
		outline: 1px white solid;
		outline-offset: 5px;
		background-color: white;
	}
	*/
	
	.home .site-branding #site-logo {
	  	margin-left: 0;
	  	margin-right: 0;
	}
	
	.home .site-branding #site-logo img {
	  	max-width: 100%;
	}
	
	.site-branding .general-description {
  		margin: 0 0 80px 0;
	}
	
	.secondary-page .site-branding {
		padding-left: 5%;
		padding-right: 5%;
		padding-bottom: 15%;
		background-size: 120% 90%;
	}
	
	.secondary-page .site-branding .site-title {
		margin-top: 18%;
	}
	
	
	.main-navigation,
	.site-navigation-container .action-button-group {
		
	}
	
	.main-navigation {
	    padding-left: 14px;
		text-align: left;
	}
	
	.site-navigation-container {
		
	}
	
	.site-navigation-container .action-button-group {
		width: 50%;
	}
	
	.action-button {
    	
	}
	
	.home .date-container h3 {
	  letter-spacing: -0.03em;
	}
	
	.ticket-section .wp-block-button__link {
		font-size: 32px;
	}
	
	#primary-menu > li {
		display: block;
		width: auto;
	}

	.main-overlay-image-container h2 {
		font-size: 64px;
	}
	
	.main-overlay-image-container h2 sup {
		top: -20px;
		font-size: 28px;
	}
	
	.main-overlay-image-container h3 {
		font-size: 36px;
	}
	
	.entry-title-container h1,
	.entry-title-container h2 {
    	display: block;
	}
	
	.entry-title-container .entry-title.has-children:after {
		content: '▼';
		display: block;
		padding: 0;
		font-size: 25px;
		line-height: 1.5em;
		opacity: 0.65;
	}
	
	.entry-title-container {
		margin-bottom: 25px;
	}
	
	.secondary-page-subnav ul li {
		display: block;
		border: 0;
		/*border-bottom: 1px rgba(0,0,0,0.3) solid;*/
		font-size: 22px;
	}
	
	.secondary-page-subnav ul li:last-child {
		border: 0;
	}
	
	.secondary-page-subnav ul li a {
		padding: 10px 18px;
	}
	
	.secondary-page-subnav ul li.current_page_item {
		border-bottom: 0;
	}
	
	.secondary-page-subnav ul li.current_page_item a {
		background-color: rgba(255,255,255,0.5);
	}
	
	.featured-button {
		height: 280px;
	}
	
	main {
		padding: 24px;
	}
	
	.home main {
		text-align: center;
	}
	
	.home .entry-content h2 {
		font-size: 52px;
	}
	
	.home main,
	.site-footer .section-container,
	section .section-container {
		padding: 20px;
	}
	
	.sponsors-section .wp-block-image {
		width: 75px;
	}
	
	.schedule-list .performer-block {
    	padding-top: 75px;
	}
	
	#mc_embed_signup form {
		padding: 0 0 30px 0 !important;
	}
	
	#mc_embed_signup .button {
		margin-top: 10px !important;
	}
	
	.wp-block-social-links {
		margin-bottom: 15px;
	}
	
	.site-footer .menu-main-menu-container .menu > li {
		display: block;
		margin-right: 0;
		text-align: center;
	}
	
}


@media only screen and (max-width: 539px) {
	
	
	.secondary-page .site-branding .site-title {
		margin-top: 22%;
	}
	
	
}