
	/*
	*  Theme Name: 	Allentown Symphony Orchestra 2024
	*  Text Domain: 	aso2024
	*  Author: 			Zero Defect Design
	*  Author URI: 	https://zerodefectdesign.com
	*/
	
   /* resets */

	*, *::before, *::after { box-sizing: border-box; }
	* { margin: 0; }
	*:focus { outline: none; } 
	html, body { height: 100%; }
	body { line-height: 1.5; }   
	body > footer { position: sticky; top: 100vh; }
	table { border-collapse: collapse; }
	img, picture, video, canvas, svg { display: block; max-width: 100%; }
	sup, sub { vertical-align: baseline; position: relative; top: -0.4em; }
	sub { top: 0.4em; }
	p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
	input, button, textarea, select { font: inherit; }
	textarea { white-space: revert; }
	
	/* fonts */

	@font-face { font-display: swap; font-family: 'Figtree'; font-style: normal; font-weight: 300; src: url('fonts/figtree-v5-latin-300.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'Figtree'; font-style: italic; font-weight: 300; src: url('fonts/figtree-v5-latin-300italic.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'Figtree'; font-style: normal; font-weight: 400; src: url('fonts/figtree-v5-latin-regular.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'Figtree'; font-style: italic; font-weight: 400; src: url('fonts/figtree-v5-latin-italic.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'Figtree'; font-style: normal; font-weight: 700; src: url('fonts/figtree-v5-latin-700.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'Figtree'; font-style: italic; font-weight: 700; src: url('fonts/figtree-v5-latin-700italic.woff2') format('woff2'); }
	
	@font-face { font-display: swap; font-family: 'Neuton'; font-style: normal; font-weight: 300; src: url('fonts/neuton-v22-latin-300.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'Neuton'; font-style: normal; font-weight: 400; src: url('fonts/neuton-v22-latin-regular.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'Neuton'; font-style: normal; font-weight: 700; src: url('fonts/neuton-v22-latin-700.woff2') format('woff2'); }

	@font-face { font-display: swap; font-family: 'Alegreya'; font-style: italic; font-weight: 400; src: url('fonts/alegreya-v35-latin-italic.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'Alegreya'; font-style: italic; font-weight: 700; src: url('fonts/alegreya-v35-latin-700italic.woff2') format('woff2'); }
	
	/* type */
	
	body { font: 300 normal 20px/1.4 'Figtree', sans-serif; }
	body.home, footer { font-weight: 400; }
	b, strong { font-weight: 700; }
	h2 { font: 400 normal 48px/1 'Neuton', serif; margin-bottom: 35px; }
	h2 i, h2 em { font-weight: 400; font-family: 'Alegreya', serif; font-size: 95%; }
	h3 { font: 300 normal 34px/1.1 'Neuton', serif; margin-bottom: 30px; }
	h3 i, h3 em { font-weight: 400; font-family: 'Alegreya', serif; font-size: 95%; }
	h4 { font: 700 normal 22px/1.2 'Figtree', sans-serif; margin-bottom: 15px; }
	.subtitle { display: block; font-size: 70%; margin-top: 0.25em; }
	.green { color: #6A813B; }
	p, ul, ol { margin-bottom: 1rem; }
	ul.loose li { margin-bottom: 1rem; }
	ul.event-info { list-style-type: none; margin: 0 0 1rem 0; padding: 0; }
	ul.event-info li { list-style-type: none; margin: 5px 0; padding: 0; }
	ul.event-info li a.btn { margin: -2px 0; }
	body.home p { margin-bottom: 0; }
	.divided, body.type-event h3 { margin-top: 25px; padding-top: 25px; border-top: 2px dotted #4C721D; }
	.clear { clear: both; }
	.series { color: #EE2E24; font-weight: 700; }
	h3.series { font-weight: 400; }
	.tag { color: #4C721D; font-weight: 700; }
	.dot { display: inline-block; margin: 0 3px; }
	
	/* quotes */
	
	blockquote { margin: 30px 0 45px 0; }
	blockquote p { font-size: 22px; font-weight: 400; padding-left: 40px; position: relative; }
	blockquote p:before 
	{ 
		font-family: 'Neuton'; content: "\201C"; font-size: 68px; line-height: 1; display: inline-block; 
		position: absolute; top: -11px; left: 0; color: #EF8A1E; 
	}
	blockquote p:after { font-family: 'Neuton'; content: "\201D"; }
	blockquote cite { text-align: right; }
	blockquote cite:before { content: "~"; color: #EF8A1E; display: inline-block; margin-right: 10px; font-weight: 700; }
	
	/* links and controls */
	
	a { color: #8B005A; text-decoration: none; }
	a:hover { color: #EE2E24; }
	.btn, main .btn.ghostbtn.current, input.btn, .wp-block-button__link, .wp-element-button, .wp-block-button .wp-block-button__link, 
		.wpforms-submit.btn
	{ 
		color: #FFFFFF; background-color: #8B005A; cursor: pointer; white-space: nowrap; padding: 5px 10px; display: inline-block; 
		font-weight: 400; font-size: 18px; line-height: 1; margin: 0 3px 3px 0; border: 0; border-radius: 0;
	}
	main .btn.ghostbtn { color: #8B005A; background-color: transparent; border: 1px solid #8B005A; }
	.btn:hover, main .btn.ghostbtn:hover, .wp-block-button__link:hover, .wp-element-button:hover, .wp-block-button .wp-block-button__link:hover,
		.wpforms-submit.btn:hover
	{ 
	
		color: #FFFFFF; background-color: #EE2E24; border-color: #EE2E24; 
	}
	.wpforms-submit.btn { background-color: #8B005A !important; }
	.wpforms-submit.btn:hover { background-color: #EE2E24 !important; }
	.btn.action 
	{ 
		padding-left: 36px; background-image: url('images/icon-right.svg'); background-position: 8px center; 
		background-repeat: no-repeat; background-size: 22px auto; 
	}
	.btn.ticket 
	{ 
		padding-left: 36px; background-image: url('images/icon-ticket.svg'); background-position: 8px center; 
		background-repeat: no-repeat; background-size: 20px auto; 
	}
	.btn.list 
	{ 
		padding-left: 36px; background-image: url('images/icon-list.svg'); background-position: 8px center; 
		background-repeat: no-repeat; background-size: 20px auto; 
	}
	
	li .btn { padding-top: 4px; padding-bottom: 4px; font-size: 16px;  }
	li .btn.ticket { background-size: 16px auto; background-position: 6px center; padding-left: 30px; }
	select { cursor: pointer; }
	h2 select { font-size: inherit; font-family: inherit; font-weight: inherit; color: #000000; background-color: #FFFFFF; border: 1px solid #000000; }
	.controls { float: right; margin: 10px 0 10px 30px; }
	.inactive { opacity: 0.5; }
	.inactive:hover { opacity: 1; }
	.series-filter, .tag-filter { margin-bottom: 30px; }
	.breadcrumb { display: block; margin: 0 0 20px 0; }
	.breadcrumb a 
	{ 
		display: inline-block; margin-right: 15px; text-transform: uppercase; font-size: 17px; letter-spacing: 1px; 
		font-weight: 500;
	}
	.breadcrumb a:after
	{
		display: inline-block; color: #EF8A1E; content: "//"; margin-left: 10px; 
	}
	
	/* chart legend */
	
	.legend { display: block; text-align: center; border-top: 1px solid #000000; border-bottom: 1px solid #000000; padding: 30px 0 40px 0; margin: 30px 0; }
	.legend-item { display: inline-block; white-space: nowrap; margin: 0 20px; font-weight: 400; }
	.legend-item.accessible:before 
	{ 
		display: inline-block; font-weight: 700; font-size: 200%; line-height: 1; margin: 0 10px -5px 0; content: "*"; position: relative; top: 0.35em; 
	}
	.legend-item.level-a:before, .legend-item.level-b:before, .legend-item.level-c:before, .legend-item.level-d:before 
	{ 
		display: inline-block; width: 20px; height: 20px; content: ""; margin: 0 10px 0 0; position: relative; top: 4px;
	}
	.legend-item.level-a:before { background-color: #ee8a1d; }
	.legend-item.level-b:before { background-color: #8b005a; }
	.legend-item.level-c:before { background-color: #ee2e24; }
	.legend-item.level-d:before { background-color: #4c721d; }
	
	/* structure */
	
	body { color: #000000; background-color: #FFFFFF; padding-top: 160px; }
	main { padding: 50px 0; }
	body.home main { padding: 0; }
	.frame { padding-left: 50px; padding-right: 50px; position: relative; }
	.zone { position: relative; display: block; height: 33.333vw; }
	.zone .overlay { position: absolute; bottom: 0; left: 0; right: 0; padding-top: 50px; padding-bottom: 50px;	}
	.zone.hero { height: 50vw; max-height: calc(100vh - 240px); }
	.zones { display: flex; height: 33.333vw; }
	.zones .zone { width: 50%; }
	.frame.right { padding-left: calc(50% + 50px); }
	
	/* slider sidebar */
	
	.slider-sidebar { display: flex; align-items: stretch; }
	.slider-sidebar .slide-container { width: 75%; }
	.slider-sidebar .sidebar { width: 25%; background-size: cover; background-position: center center; background-repeat: no-repeat; height: auto;	}
	@media screen and (max-width: 1200px)
	{
		.slider-sidebar .slide-container { width: 66.667%; }
		.slider-sidebar .sidebar { width: 33.333%; }
	}
	@media screen and (max-width: 900px)
	{
		.slider-sidebar { flex-wrap: wrap; }
		.slider-sidebar .slide-container, .slider-sidebar .sidebar { width: 100%; }
		.slider-sidebar .sidebar { height: 33.333vw; }
		.nomobile-sidebar { display: none; }
	}
	@media screen and (max-width: 700px)
	{
		.slider-sidebar .sidebar { height: auto; }
	}
	
	/* images */
	
	img.icon { display: inline; margin-right: 2px; width: auto; height: 1em; vertical-align: middle; position: relative; top: -2px; }
	img.icon.icon-at { height: 1.1em; }
	img.right, .wp-block-image figure.alignright { width: 33.333%; float: right; margin: 0 0 25px 50px; }
	img.left, .wp-block-image figure.alignleft { width: 33.333%; float: left; margin: 0 50px 25px 0; }
	img.right img, .wp-block-image figure.alignright img, img.left img, .wp-block-image figure.alignleft img { width: 100%; height: auto; }
	
	img.hero { width: auto; max-width: 100%; height: auto; margin-bottom: 30px; }
	.tile img.logo { width: auto; max-width: 100%; height: auto; }
	div.img { width: 100%; height: 0; padding-top: 56%; background-position: center center; background-size: cover; }
	div.img.hd { padding-top: 28%; }
	figcaption.wp-element-caption { font-size: 80%; opacity: 0.67; }
	
	/* header */
	
	header 
	{ 
		position: fixed; height: 160px; left: 0; top: 0; right: 0; background-color: #000000; color: #FFFFFF; 
		z-index: 200;
	}
	.topbar .aso img { height: 58px; width: auto; }
	.topbar .frame { height: 114px; display: flex; align-items: center; gap: 30px; justify-content: space-between; }
	.topbar .quicklinks { flex-grow: 1; text-align: right; display: flex; gap: 20px; justify-content: flex-end; }
	.topbar .quicklinks a, .topbar .quicklinks span { display: inline-block; cursor: pointer; }
	.topbar .quicklinks a:hover, .topbar .quicklinks span:hover { opacity: 0.75; }
	.topbar .quicklinks img { height: 36px; width: auto; }
	.topbar .quicklinks .gtranslate_wrapper img { height: 24px; }
	.gtranslate_wrapper { padding-top: 3px; white-space: nowrap; }
	.gtranslate_wrapper a { color: #FFFFFF; }
	.topbar .quicklinks a.donatebtn 
	{ 
		color: #FFFFFF; font-size: 18px; font-weight: 700; padding: 5px 9px 3px 9px; border-radius: 15px; 
		background-color: #5d8a25; align-self: center;
	}
	.topbar .quicklinks a.donatebtn:hover { opacity: 1; background-color: #ee2e24; }
	.logotype .line1, .logotype .line2 { display: block; }
	.logotype .line1 { padding: 6px 0 2px 0; }
	.logotype .line1 img { width: 500px; height: auto; }
	.logotype .line2 img { width: 600px; height: auto; }
	
	header .menubar { height: 46px; display: flex; align-items: center; }
	header .menubar .frame { width: 100%; }
	header .menubar #menu a { font-weight: 700; font-size: 18px; color: #FFFFFF; }
	header .menubar #menu a:hover { color: #FFDC51; }
	header .menubar #menu { display: inline-block; list-style-type: none; margin: 0; padding: 0; }
	header .menubar #menu li { display: inline-block; margin: 0; padding: 0; }
	header .menubar #menu > li { margin-right: 20px; }
	header .menubar #menu li ul { display: none; position: absolute; z-index: 220; margin: 0px; padding: 0px; list-style-type: none; }
	header .menubar #menu li:hover ul 
	{ 
		display: block; text-align: left; padding-top: 8px; background: transparent url('images/wedge.svg') 10px 0 no-repeat; 
		background-size: 14px 14px; margin-left: -10px;
	}
	header .menubar #menu li ul li { display: block; background-color: #580038; }
	header .menubar #menu li ul li a { display: block; font-size: 16px; font-weight: 400; padding: 3px 10px 3px 10px; }
	header .menubar #menu li ul li a:hover { color: #FFFFFF; background-color: #EE2E24; }
	header .menubar #menu li ul li:first-child { border-top: 5px solid #580038; }
	header .menubar #menu li ul li:last-child { border-bottom: 5px solid #580038; }
	
	
	/* footer */
	
	footer { color: #CCCCCC; background-color: #000000; }
	footer .frame { padding-top: 50px; padding-bottom: 50px; font-size: 18px; line-height: 1.4; }
	footer b { color: #FFFFFF; }
	footer a { color: #C765A4; white-space: nowrap; }
	footer a:hover { color: #EE2E24; }
	footer ul { list-style-type: none; margin: 0; padding: 0; }
	footer ul li { margin: 8px 0; padding: 0; }
	footer .socials { float: right; margin: 0 0 20px 20px; text-align: right; }
	.socials a.icon 
	{ 
		width: 30px; height: 30px; display: inline-block; margin: 0 8px 0 0; background-position: center center; background-repeat: no-repeat;
		background-size: 50% auto; border-radius: 50%; 
	}
	.socials a.icon.icon-facebook { background-color: #1877F2; background-image: url('images/icon-facebook.svg'); background-size: auto 50%; }
	.socials a.icon.icon-instagram { background-color: #d13e86; background-image: url('images/icon-instagram.svg'); }
	.socials a.icon.icon-tiktok { background-color: #444444; background-image: url('images/icon-tiktok.svg'); background-size: auto 60%; }
	.socials a.icon.icon-linkedin { background-color: #0077b5; background-image: url('images/icon-linkedin.svg'); }
	.socials a.icon.icon-youtube { background-color: #ff0033; background-image: url('images/icon-youtube.svg'); background-size: 60% auto; }
	.socials a.icon:hover { background-color: #EE8A1D; }
	footer .section { height: 46px; }
	footer .socials a.icon.icon-youtube { margin-right: 0; }

	/* section identifiers */
	
	.section { background: #8B0059 url('images/menu-purple.jpg') left center no-repeat; background-size: auto 100%; }
	body.symphony .section { background: #EF8A1E url('images/menu-orange.jpg') left center no-repeat; background-size: auto 100%; }
	body.el-sistema .section { background: #6A813B url('images/menu-green.jpg') right center no-repeat; background-size: auto 100%; }
	.el-sistema-menu
	{ 
		font: 400 normal 20px/1 'Figtree', sans-serif;
		display: block; margin: 0 0 40px 0; padding: 0 0 20px 0; border-bottom: 2px dotted #6A813B; 
	}
	.el-sistema-menu a { color: #999999; display: inline-block; padding: 0 10px; }
	.el-sistema-menu a:first-child { padding-left: 0px; }
	.el-sistema-menu a b { font-weight: 700; color: #6A813B; }
	.el-sistema-menu a:hover, .el-sistema-menu a:hover b { color: #000000; }
	
	/* tiles */
	
	.tiles { display: flex; gap: 50px; flex-wrap: wrap; }
	.tile { width: calc(33.333% - 33.333px); }
	.tile img { width: 100%; height: auto; margin-bottom: 13px; }
	.tile div.img { margin-bottom: 13px; }
	.tile h4 { margin-bottom: 10px; }
	.tile .info { color: #000000; font-weight: 400; font-size: 18px; padding-left: 15px; border-left: 1px solid #000000; }
	.tiles.link-boxes .tile { padding-right: 10px; }
	.tiles.link-boxes .tile h4 { font-size: 24px; }

	/* side media */
	
	.sidemedia { display: flex; gap: 50px; align-items: center; margin-bottom: 50px; }
	.sidemedia .side { width: calc(50% - 25px); }
   @media screen and (max-width: 1200px)
	{
		.sidemedia { gap: 30px; margin-bottom: 30px; }
		.sidemedia .side { width: calc(50% - 15px); }
	}
   @media screen and (max-width: 1000px)
	{
		.sidemedia { flex-wrap: wrap; }
		.sidemedia .side { width: 100%; }
	}
	
	/* link bars */
	
	.linkbars { display: flex; gap: 30px; flex-wrap: wrap; }
	.linkbar { width: 100%; display: flex; align-items: flex-end; background-position: center center; background-size: cover; background-repeat: no-repeat; }
	.linkbar .overlay { padding: 150px 30px 30px 30px; background: linear-gradient(to top, rgba(0,0,0,0.8) 0px, rgba(0,0,0,0) 200px); display: block; width: 100%; }
	.linkbar .overlay h3 { font-size: 38px; font-weight: 400; color: #FFFFFF; margin-bottom: 20px; text-shadow: 3px 3px 9px rgba(0,0,0,0.7); }
	.linkbar .overlay p { color: #FFFFFF; background-color: #000000; padding: 3px 8px; display: inline-block; } 
   @media screen and (min-width: 1900px)
   {
		.linkbar .overlay h3 { font-size: 44px; }
		.linkbar { width: calc(50% - 15px); }
	}
   @media screen and (max-width: 600px)
	{
		.linkbar .overlay { padding: 100px 20px 20px 20px; background: linear-gradient(to top, rgba(0,0,0,0.7), rgba(0,0,0,0)); }
	}
	
	/* home page zones */
	
	#el-bench { background: transparent url('images/bench2.jpg') center 33% no-repeat; background-size: cover; }
	#el-bench h2 { color: #FFFFFF; text-shadow: 3px 3px 9px rgba(0,0,0,0.7); }
	#el-bench p { color: #FFFFFF; background-color: #5F9024; padding: 3px 8px; display: inline-block; }
	#el-bench .overlay { background: linear-gradient(to bottom, rgba(0,51,0,0), rgba(0,51,0,0.5)); color: #FFFFFF; }
	#schadt { background: #D8C3A4 url('images/schadt.jpg') center center no-repeat; background-size: cover; display: flex; align-items: center; }
	#schadt .overlay { position: relative; }
	#schadt h2 { color: #FFFFFF; }
	#schadt p { color: rgba(0,0,0,0.75); }
	#rental { background: #360d05 url('images/hall.jpg') center center no-repeat; background-size: cover; }
	#rental .overlay { background: linear-gradient(to bottom, rgba(51,0,0,0), rgba(51,0,0,0.75)); }
	#rental h2 { color: #FFDC51; text-shadow: 3px 3px 9px rgba(0,0,0,0.3); }
	#rental p { color: #FFFFFF; }
	#donate { background: #1B42C1 url('images/bluepops.jpg') center center no-repeat; background-size: cover; }
	#donate .overlay { background: linear-gradient(to bottom, rgba(0,21,117,0), rgba(0,21,117,1)); padding-top: 100px; }
	#donate h2 { color: #FFFFFF; text-shadow: 3px 3px 9px rgba(0,0,0,0.7); }
	#donate p { color: #e8c7a5; }
	#upcoming-events { color: #000000; background-color: #EFEBEA; padding: 50px 0; }
	#upcoming-events h2 { color: #000000; margin-bottom: 30px; }

	/* announcement bar */
	
	.announce { display: block; color: #FFFFFF; background-color: #EE8A1D; padding: 10px 0; font-weight: 700; }
	a.announce:hover { color: #FFFFFF; background-color: #EE2E24; }

	/* slider */
	
	.slide-container { position: relative; background-color: #000000; }  
	.frame .slide-container { margin-bottom: 50px; }
	.slide 
   { 
      width: 100%; height: 0; padding-top: 56.25%; position: relative; background-position: center center; 
		background-repeat: no-repeat; background-size: cover;
   }
	.slide .frame, .zdd_embed .frame
	{ 
		background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.85)); color: #FFFFFF; 
		padding-top: 50px; padding-bottom: 50px; position: absolute; bottom: 0; left: 0; right: 0;
	}
	.slide .frame h2, .zdd_embed .frame h2 { text-shadow: 3px 3px 3px rgba(0,0,0,0.5); }
	.slide .frame p { color: #FFFFFF; background-color: #000000; padding: 3px 8px; display: inline-block; }
	body.home .lSSlideOuter { position: relative; }
	body.home .lSSlideOuter .lSPager.lSpg { position: absolute; top: 20px; right: 20px; }
	.lSSlideOuter .lSPager.lSpg > li a { width: 16px; height: 16px; }
	
	/* event lists */
	
	.event-item { display: flex; gap: 30px; margin-bottom: 30px; }
	.event-day { width: 50px; text-align: center; flex-shrink: 0; }
	.event-day-no { font: 500 32px/1 'Fanwood', serif; font-feature-settings: "lnum"; }
	.event-day-name { text-transform: uppercase; font-size: 16px; font-weight: 400; opacity: 0.7; letter-spacing: 1px; }
	.event-item .event-info { align-self: center; }
	.event-item .event-info .info { opacity: 0.7; }
	.item-title { font-weight: 600; display: block; font-size: 22px; }
	
	/* event calendar */
	
	#yrmo { font: inherit; line-height: inherit; padding: 0px 5px 0px 5px; } 
	.calendar-month { display: flex; gap: 30px; flex-wrap: wrap; margin: 50px 0; }
	.calendar-month > div { width: calc(14.285% - 26px); padding: 15px 0; border-top: 1px solid transparent; }
	.calendar-month .th { font-weight: 600; padding: 0; }
	.calendar-month .blank, .calendar-month .day { border-color: #999999; min-height: 100px; }
	.calendar-month h4 { color: #000000; font-weight: 300; margin: 0 0 15px 0; }
	.calendar-month .item { margin: 0 0 20px 0; line-height: 1.2; font-size: 18px; }
	.calendar-month .item-title { font-size: 18px; line-height: 1.2; font-weight: 500; display: block; margin: 0 0 5px 0; }
	.calendar-month .item-info { display: block; margin-top: 3px; font-size: 16px; opacity: 0.75; color: #000000; }
	.calendar-month .day.today { border-top: 5px solid #ee2e24; padding-top: 11px; }
	.calendar-month .day.today h4 { color: #ee2e24; font-weight: 600; }
	.calendar-month .item-audience { display: block; margin-top: 5px; }
	.calendar-month .audience { font-size: 16px; padding: 3px 8px; margin: 0 2px 4px 0; }
	.calendar-month .img
	{ 
		width: 100%; height: 0; padding-top: 56.4%; position: relative; background-color: #EEEEEE;
		background-position: center center; background-repeat: no-repeat; background-size: cover;
		overflow: hidden; margin: 0 0 10px 0;
	}
	
	@media screen and (max-width: 1200px) 
	{ 
		.calendar-month { gap: 10px; } 
		.calendar-month .item-title { font-size: 16px; }
	}
	@media screen and (max-width: 1000px) 
	{ 
		.calendar-month .no-events, .calendar-month .th { display: none; }
		.calendar-month > div { width: 100%; padding-bottom: 0; }
		.calendar-month .item-title { font-size: 18px; }
	}

	
	/* search control */

	#searchcontrol 
	{ 
		background-color: #EAEAEA; color: #000000; position: absolute; top: -200px; left: 0px; right: 0px; height: 10px; overflow: hidden; 
		transition: all 0.2s ease-in-out; padding-top: 0; z-index: 190;
	}
	#searchcontrol.active 
	{ 
		top: 0; height: 100vh; transition: all 0.2s ease-in-out; padding-top: 190px; overflow: scroll; 
		position: fixed;
	}
	body.home #searchcontrol.active { padding-top: 200px; }
	#searchcontrol form { display: flex; gap: 15px; width: 100%; margin-bottom: 30px; }
	#searchcontrol form #s { flex-basis: 50%; flex-grow: 1; flex-shrink: 1; background-color: #FFFFFF; border: 0; font-size: 18px; line-height: 1; padding: 4px 6px; }
	#searchcontrol form .btn { flex-grow: 0; margin: 0; font-size: 18px; line-height: 1; padding: 4px 12px; }

	/* mobile navigation */
   
	#mobilemenu 
	{ 
		background-color: #7E0152; color: #FFFFFF; position: fixed; top: -200px; left: 0px; right: 0px; height: 10px; overflow: hidden; 
		transition: all 0.2s ease-in-out; padding-top: 0; z-index: 180;
	}
	#mobilemenu.active { top: 0; height: 100vh; transition: all 0.2s ease-in-out; padding-top: 105px; }
   #mobilemenu a { color: #FFFFFF; display: block; font-size: 18px; line-height: 20px; padding: 9px 25px 9px 0; font-weight: 400; text-decoration: none; }
	
   #mobile-menu { list-style-type: none; margin: 0 8px 0 0; padding: 0px; }
   #mobile-menu > li { border-bottom: 1px solid rgba(255,255,255,0.5); padding-right: 50px; }
   #mobile-menu > li.menu-item-has-children 
   { 
      background: transparent url('images/icon-down.svg') right 9px no-repeat; background-size: 13px auto; 
      cursor: pointer;
   }
   #mobile-menu > li.menu-item-has-children.expanded { background-image: url('images/icon-up.svg'); }
   #mobile-menu > li > ul { display: none; }   
   #mobile-menu > li.expanded > ul { display: block; list-style-type: disc; margin-bottom: 15px; }
	#mobile-menu > li.expanded > ul li::marker { color: rgba(255,255,255,0.33); }
		
   #mobile-menu > li > ul > li a { font-weight: 300; font-size: 16px; line-height: 1; padding: 7px 0px; }  
	#mobile-menu li::marker { color: #000000; }
	#mobilemenu .donatebtn 
	{ 
		background-color: #5d8a25; margin-top: 10px; display: inline-block; padding: 9px 15px; border-radius: 22px;
	}
	
	/* announcement bar */
	
	.announcement { display: block; padding: 10px 0; color: #FFFFFF; background-color: #EE2E24; margin-bottom: 20px;  }
	.announcement .frame { text-align: center; font-weight: 700; }
	a.announcement:hover { color: #FFFFFF; background-color: #ee8a1d; }
	
	/* video embed */
	
	.wp-block-embed.is-type-video .wp-block-embed__wrapper { width: 100%; height: 0; padding-top: 56.4%; position: relative; }
	.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe 
	{ 
		position: absolute; top: 0; left: 0; right: 0; bottom: 0; 
		width: 100%; height: 100%;
	}
	.zdd_embed { width: 100%; height: 0; padding-top: 56.4%; position: relative; background-color: #000000; }
	.zdd_embed iframe, .zdd_embed video { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; }
	body.home .zdd_embed { height: 56.4vw; padding: 0; max-height: calc(100vh - 160px); overflow: hidden; }
	body.home .zdd_embed video { bottom: auto; height: 56.4vw; }
		
	.zdd_embed video { z-index: 10; }
	.zdd_embed .frame { z-index: 25; }
	.bitscrim:after
	{ 
		display: block; content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
		background-image: url('images/bitscrim.png'); opacity: 0.25; z-index: 20; 
	}
	
	/* translation section */
	
	#language-select { border: 0; border-radius: 0; padding: 5px 8px; color: #000000; background-color: #DEDEDE; }
	main .language-es, body.language-es main .language-en { display: none; }
	body.language-es main .language-es { display: block; }
	
	/* wp admin bar + misc fixes */
   
	/* body.admin-bar { margin-top: 32px; } */
   body.admin-bar header { top: 32px; }
   @media screen and (max-width: 900px) 
	{ 		
		body.admin-bar { margin-top: 46px; }
	}
		
   @media screen and (max-width: 781px) 
	{ 
		body.admin-bar header { top: 46px; } 
		body.admin-bar { padding-top: 40px; }
	}
   @media screen and (max-width: 700px) 
	{ 
		body.admin-bar { padding-top: 16px; }
	}
   .blocks-gallery-grid .blocks-gallery-image figure, .blocks-gallery-grid .blocks-gallery-item figure, .wp-block-gallery .blocks-gallery-image figure, 
      .wp-block-gallery .blocks-gallery-item figure { padding: 0px 30px; }
		
	
   /* breakpoints */
	
	@media screen and (min-width: 1201px) { .mobileonly { display: none !important; } }
   @media screen and (max-width: 1200px)
   {
		.nomobile { display: none !important; }
		body { font-size: 18px; }
		h2 { font-size: 42px; }
		header .menubar #menu li { margin-right: 15px; }
		header .menubar #menu a { font-size: 18px; }
		.tiles { gap: 30px; }
		.tile { width: calc(50% - 15px); }
		
		body { padding-top: 84px; }
		header .menubar { display: none; }
		header, .topbar .frame { height: 84px; }
		.topbar .quicklinks { gap: 10px; }
		.topbar .aso img { height: 46px; }
		.logotype .line1 img { width: 400px; }
		.logotype .line2 img { width: 400px; }
		.topbar .frame { gap: 20px; }
   }  

   @media screen and (max-width: 900px)
   {
		.quicklinks a.ghostbtn { display: none; }
		.frame { padding-left: 25px; padding-right: 25px; }
		.zone .overlay, .zdd_embed .frame { padding-top: 25px; padding-bottom: 25px; }
		.zones { flex-wrap: wrap; height: auto; }
		.zones .zone { width: 100%; height: 33.333vw; }
		.frame.right { padding-left: calc(50% + 25px); }
		.controls { float: none; margin-left: 0; }
		
		.topbar .quicklinks a.donatebtn { display: none; }
	
		h2 { font-size: 32px; margin-bottom: 20px; }
		h3 { font-size: 26px; margin-bottom: 20px; }
		
		footer .socials { float: none; margin-left: 0; text-align: left; }
		
		a.slide .frame { padding-top: 25px; padding-bottom: 25px; }
		body.home .lSSlideOuter .lSPager.lSpg { top: 10px; right: 10px; }
		.lSSlideOuter .lSPager.lSpg > li a { width: 12px; height: 12px; }
	
   }  
	
	@media screen and (max-width: 700px)
	{
		header, .topbar .frame { height: 60px; }
		body { padding-top: 60px; }

		#mobilemenu.active { padding-top: 70px; }
		#mobile-menu > li > ul > li a { padding: 6px 0px; }  
	
		h2 { font-size: 28px;  }
		h3 { font-size: 22px; }
		h4 { font-size: 19px; }
		.tile .info { font-size: 16px; }
		body.home .frame.overlay { line-height: 1.2; }
		
		.logotype  { display: none; }
		.topbar .aso img { height: 32px; }
		.topbar .quicklinks img { height: 32px; }
		.topbar .quicklinks .gtranslate_wrapper img { height: 20px; }
		img.right, .wp-block-image figure.alignright, img.left, .wp-block-image figure.alignleft { float: none; margin-left: 0; width: 100%; }
		.tile { width: 100%; }
		.zone, .zones .zone { height: auto; }
		.zone .overlay { position: relative; }
		.frame.right { padding-left: 25px; }
		#donate .overlay { padding-top: 25px; }
		#schadt { background-position: left center; background-size: auto 100%; }
		#schadt .overlay { background-color: rgba(216,195,164,0.9); }
		.topbar a.donatebtn { display: none; }
		footer .frame { font-size: 16px; line-height: 1.3; }
	}
		
   @media screen and (min-width: 1600px)
   {
		body.twocolumn main .frame { display: flex; gap: 50px; }
		body.twocolumn .primary { width: calc(75% - 25px); }
		body.twocolumn .secondary { width: calc(25% - 25px); }
		body.twocolumn .secondary h3:first-child { margin-top: 0; }
	}
	
   @media screen and (min-width: 1900px)
   {
		main { font-size: 115%; }
   }  

   /* print */

   @media print
   {
		header, .controls, footer .section, .socials, footer a img.icon { display: none; }
		footer .frame:before { display: block; content: ""; border-top: 1px dotted #CCCCCC; width: 100%; height: 30px; overflow: hidden; }
		body { padding-top: 0; font-size: 11pt; line-height: 1.4; }
		footer, footer p { font-size: 11pt; color: #999999; }
		main, .frame { padding: 0; }
   }
	