   /*
   
   Theme Name: Festival of Ballooning 2022
   Text Domain: fob2022
   Author: Zero Defect Design LLC
   Author URI: https://zerodefectdesign.com
      
   */
   
   /* fonts */
   
	@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');
	@import url('https://fonts.googleapis.com/css2?family=Yanone+Kaffeesatz:wght@300;400;500;600&display=swap');
	
   /* resets */

   *, *::before, *::after { box-sizing: border-box; }
   html { height: 100%; -webkit-text-size-adjust: 100%; }
   body { margin: 0; padding: 0; height: 100%; scroll-behavior: smooth; text-rendering: optimizeSpeed; }   
	body > footer { position: sticky; top: 100vh; }
   table { border: 0; padding: 0; border-spacing: 0px; border-collapse: collapse; }
   sup, sub { vertical-align: baseline; position: relative; top: -0.4em; }
   sub { top: 0.4em; }
   img { vertical-align: bottom; max-width: 100%; height: auto; display: block; }
	img.aligncenter { text-align: center; margin: 0 auto; }
   input, button, textarea, select { font: inherit; border: 0; color: #000000; background-color: #DEDEDE; }
	h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }
   form *:focus, input:focus { outline: none; }
   body.safari input { -webkit-appearance: none; border-radius: 0; -webkit-border-radius: 0px; }
   input[type="checkbox"] { -webkit-appearance: checkbox; }
   input[type="radio"] { -webkit-appearance: radio; }
	a[name] { position: relative; top: -215px; }
	
	/* structure */
	
	body { color: #000000; background-color: #E8F3FB; text-align: center; padding-top: 153px; }
	body.home 
	{ 
		color: #FFFFFF; background: #5CA5DA url('images/bg-home.jpg') center bottom no-repeat; background-size: cover; 
		background-attachment: fixed; 
	}
	.zone { position: relative; }
	.zone.reversed { background-color: rgba(66,128,176,1); }
	.frame { text-align: left; margin: 0 auto; padding: 80px 100px; max-width: 1400px; }
	.frame.content {  }
	body.home .zone.main { background-color: #4280b0; color: #FFFFFF; }	
	body.home .frame.features { display: flex; align-items: stretch; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
	body.home .frame .tile { background-color: #C2E0F7; color: #000000; padding: 20px; flex-basis: calc(50% - 15px); flex-shrink: 1; position: relative; }
	body.home .frame .tile.image-only { padding: 0px; }
	body.home .frame .tile h3 { color: #000000; text-shadow: none; }
	.cols { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
	.cols.stretch { align-items: stretch; }
	.cols > div { flex-basis: 50%; }
	.overlay { position: absolute; bottom: 0; left: 0; right: 0; z-index: 190; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.5)); }
	.padded { padding: 20px; }
	body.home .frame .tile.reversed { color: #FFFFFF; }
	body.home .frame .tile.reversed h3 { color: #FFCC00; }
	body.home .frame .tile.reversed h3, body.home .frame .tile.reversed p { text-shadow: 2px 2px 4px rgba(0,0,0,0.5); }
	body.home .frame .tile.tile-newsletter { background-color: #458DC5; color: #FFFFFF; }
	body.home .frame .tile.tile-newsletter h3 { color: #FFCC00; }
	body.home .frame .tile.tile-app { background-color: #C2E0F7; color: #000000; }
	body.home .frame .tile.tile-app h3 { color: #000000; }
	body.home .frame .tile.tile-schedule { color: #FFFFFF; background: #000000 url('images/bg-schedule.jpg') bottom center no-repeat; background-size: 100% auto; }
	body.home .frame .tile.tile-schedule h3 { color: #FFFFFF; }
	body.home .frame .tile.tile-schedule::after { content: ""; display: block; width: 100%; height: 0; padding-top: calc(33.333% - 100px); }
	body.home .frame .tile.tile-rides { color: #FFFFFF; background: #C7712A url('images/bg-rides.jpg') bottom center no-repeat; background-size: cover; }
	body.home .frame .tile.tile-rides h3 { color: #FFCC00; }
	body.home .frame .tile.tile-shapes { padding-right: 110px; background: linear-gradient(to bottom, #458DC5, #C2E0F7); }
	body.home .frame .tile.tile-shapes img { position: absolute; width: 120px; height: auto; right: -30px; top: 20px; }
	body.home .frame .tile.tile-shapes h3 { color: #FFFFFF; }
	body.home .frame .tile.tile-event { /* background-color: #458DC5; */ background: linear-gradient(to bottom, #000000, #458DC5); padding: 0; }
	body.home .frame .tile.tile-event h3, body.home .frame .tile.tile-event p { margin: 0; text-shadow: none; }
	body.home .frame .tile.tile-event img { width: 100%; height: auto; }
	body.home .frame .tile .caption 
	{ 
		position: absolute; bottom: 0; left: 0; right: 0; padding: 5px 5px 5px 20px; display: flex; align-items: center;
		justify-content: space-between; background-color: rgba(0,0,0,0.66); gap: 5px;
	}
	body.home .frame .tile .caption .btn { flex-grow: 0; }
	
	body.home .frame .tile p:last-child { margin-bottom: 0; }
	
	body.home .splash 
	{ 
		background: transparent url('images/sun-balloon.jpg') center center no-repeat; background-size: cover; 
		width: 100%; height: 50vw; display: flex; align-items: center;
	}
	body.home .splash .frame { width: 100%; text-align: center; }
	body.home .splash .frame h3 { text-shadow: 0 0 15px rgba(0,0,0,0.5); }
	
	.newsletter form { display: flex; width: 100%; gap: 5px; }
	.newsletter .email { color: #000000; background-color: rgba(255,255,255,0.75); flex-basis: 95%; flex-shrink: 1; padding: 3px; }
	.newsletter .btn { border-radius: 0; }

	/* type */
	
	body { font: 400 19px/1.5 'Titillium Web', sans-serif; }
	h1, h2 { font: 600 36px/1.2 'Titillium Web', sans-serif; }
	h3, h5 { font: 500 32px/1.2 'Yanone Kaffeesatz', sans-serif; color: #D48700; }
	h3 .light { font-weight: 300; opacity: 0.8; }
	.reversed h3, body.home h3 { color: #FFCB08; text-shadow: 1px 1px 0px rgba(0,0,0,0.5); }
	h1, h2, h3, h5 { margin-bottom: 0.5em; }
	h5 { padding-top: 0.25em; border-top: 2px dotted #D48700; }
	ul li { margin-bottom: 10px; }
	
	/* links and controls */
	
	a { text-decoration: none; color: #4280B0; }
	a:hover { color: #FFA200; }
	.btn, .wp-block-button .wp-block-button__link
	{ 
		color: #FFFFFF; background-color: #004273; display: inline-block; font-family: Yanone Kaffeesatz; font-weight: 500; line-height: 1; 
		padding: 7px 15px 4px 15px; border: 0px; border-radius: 15px; cursor: pointer; font-size: 22px; letter-spacing: 0.02em;
		white-space: nowrap;
	}
	.btn .light { font-weight: 400; opacity: 0.8; }
	.btn.play { background-color: #E12F0C; }
	.btn:hover, .btn.play:hover, .wp-block-button .wp-block-button__link:hover { color: #FFFFFF; background-color: #E08E00; }
	.btn::before, .wp-block-button__link::before { display: inline-block; margin-right: 3px; width: 1em; height: 15px; background: transparent url('images/icon-right.svg') left bottom no-repeat; background-size: contain; content: ""; }
	.btn.play::before { background-image: url('images/icon-play.svg'); }
	.btn.google-play, .btn.apple { background-color: #000000; margin-bottom: 4px; }
	.btn.google-play:hover, .btn.apple:hover { background-color: rgba(0,0,0,0.5); }
	.btn.google-play::before { background-image: url('images/icon-google-play.svg'); height: 16px; }
	.btn.apple::before { background-image: url('images/icon-apple.svg'); height: 16px; }
	.btn.inquire::before { background-image:  url('images/icon-question.svg'); }
	
	.btn.tix::before, .btn.buy-tickets::before, .wp-block-button.buy-tickets a.wp-block-button__link::before 
	{ 
		background-image: url('images/icon-tix.svg'); background-size: 80% auto; transform: rotate(-45deg); position: relative; top: -1px; 
	}
	.btn.buy-tickets, .buy-tickets .wp-block-button__link { background-color: #E08E00;  text-transform: uppercase; letter-spacing: 1px; }
	.btn.buy-tickets::before, .buy-tickets .wp-block-button__link::before { margin-right: 5px; }
	.btn.buy-tickets:hover, .buy-tickets .wp-block-button__link:hover { background-color: #16c1f3; }
	.buttons { white-space: nowrap; }
	.breadcrumb { margin-bottom: 0.5em; }
	
	/* images */
	
	.hero { margin-bottom: 30px; }
	.alignright { width: 33.333%; height: auto; float: right; margin: 0 0 25px 25px; }
	
	
	/* icon system */
	
	.icon { background-position: center; background-repeat: no-repeat; background-size: auto 60%; }
	.social .icon { width: 32px; height: 32px; display: inline-block; border-radius: 16px; margin-right: 5px; }
   .facebook { background-image: url('images/icon-facebook.svg'); background-color: #1877f2; }
   .instagram { background-image: url('images/icon-instagram.svg'); background-color: #cb22df; }
   .twitter { background-image: url('images/icon-twitter.svg'); background-color: #1da1f2; }
	.youtube { background-image: url('images/icon-play.svg'); background-color: #e12f0c; background-size: auto 45%; }
   .social .icon:hover { background-color: #FFA200; }
	.countbar .social .icon { width: 24px; height: 24px; border-radius: 12px; position: relative; top: 2px; background-color: transparent; }
	.countbar .social .icon:hover { background-color: #FFA200; opacity: 1; }
	.social { white-space: nowrap; }
	
	/* header */
	
	#hd { position: fixed; top: 0; left: 0; right: 0; z-index: 200; }
	.countbar { color: #FFFFFF; background-color: #5C973C; line-height: 1; font-size: 18px; }
	#endtime { display: none; }
	.countbar .frame 
	{ 
		margin-top: 0; margin-bottom: 0; display: flex; align-items: center; justify-content: space-between;  
		padding-left: 240px; padding-top: 0px; padding-bottom: 0px;
	}
	.countdown 
	{ 
		padding-top: 5px; padding-bottom: 5px; text-align: right; display: flex; align-items: center; justify-content: flex-end; gap: 5px; 
		visibility: hidden;
	}
	.countdown .number 
	{ 
		color: #FFCB08; font-family: Yanone Kaffeesatz; font-weight: 500; padding: 5px 0; font-size: 24px; line-height: 1; letter-spacing: 1px; 
		position: relative; top: 2px;
	}
	.navbar { background-color: #004273; font-family: Yanone Kaffeesatz; font-weight: 400; box-shadow: 0px 5px 10px rgba(0,0,0,0.2); padding: 1px 0; }
	.navbar .frame { padding-left: 240px; padding-top: 0px; padding-bottom: 0px; position: relative; }
	.datelocation { font: 600 17px/1 'Titillium Web', sans-serif; letter-spacing: 1px; text-transform: uppercase; color: #FFCB08; padding: 21px 0 11px 0; }
	.datelocation a { color: #C2E0F7; }
	.datelocation a:hover { color: #FFFFFF; }
	a.fob 
	{ 
		position: absolute; top: -55px; left: 0px; height: 240px; padding: 20px; 
		background: radial-gradient(at center 40%, rgba(255,255,255,0.7), rgba(255,255,255,0) 100px); background-repeat: no-repeat; 
	}
	a.fob img { height: 200px; width: auto; }
	.navbar a.buy-tickets { float: right; position: relative; top: 16px; }
	.announce { background-color: #E12F0C; display: block; }
	.announce .frame { padding-top: 4px; padding-bottom: 5px; text-align: center; color: #FFFFFF;  }
	
	/* main menu */
	
	#menu, #menu li { list-style-type: none; margin: 0; padding: 0; display: inline-block; }
	#menu { padding: 10px 0; }
	#menu a { color: #FFFFFF; font-size: 26px; line-height: 1; display: inline-block; padding: 4px 14px 4px 0px; }
	#menu a:hover { color: #FFCB08; }
   #menu li ul 
	{ 
		display: none; position: absolute; padding: 11px 0 0 0; list-style-type: none; 
		background: transparent url('images/wedge.svg') 10px top no-repeat; background-size: 23px auto;
	}
   #menu li:hover ul { display: block; text-align: left; box-shadow: 0px 5px 10px rgba(0,0,0,0.2);  }
   #menu li ul li { margin: 0px; padding: 0px; list-style-type: none; text-transform: none; display: block; float: none; }
   #menu li ul li a { display: block; font: 400 18px/1 'Titillium Web', sans-serif; padding: 7px 10px; background-color: #4280b0; margin: -1px 0px; }
   #menu li ul li:first-child { border-top: 6px solid #4280b0; }
   #menu li ul li:last-child { border-bottom: 6px solid #4280b0; }
   #menu li ul li a:hover { color: #FFFFFF; background-color: #E08E00; }
	
	/* search control */
	
	#menu .search { width: 1.5em; height: 1.5em; padding: 0; position: relative; top: 0.25em; cursor: pointer; }
	#menu .search::before, .search::after { content: ""; display: block; position: absolute; }
	#menu .search::before { top: 0; left: 0; width: 78%; height: 78%; border: 2.5px solid #FFFFFF; border-radius: 50%; }
	#menu .search::after { bottom: 20%; right: 0; width: 40%; height: 2px; background-color: #FFFFFF; transform: rotate(45deg); }
	#menu .search:hover::before { border-color: #FFCB08; }
	#menu .search:hover::after { background-color: #FFCB08; }

	/* mobile control */
	
	#menu li.mobilenav { margin-left: 15px; }
	.mobilenav { width: 1.2em; height: 1.2em; padding: 0; position: relative; cursor: pointer; border-top: 2px solid #FFFFFF; border-bottom: 2px solid #FFFFFF; }
	.mobilenav::before { content: ""; position: absolute; top: 0; left: 0; right: 0; display: block; height: calc(50% + 1px); border-bottom: 2px solid #FFFFFF; }
	.mobilenav:hover, .mobilenav:hover::before { border-color: #FFCB08; }
	
	/* expanding list */
   
   dl.expanding { background-color: #FFFFFF; }
   dl.expanding dt { color: #FFFFFF; background-color: #4280b0; padding: 25px; margin: 2px 0 0 0; cursor: pointer; position: relative; }
   dl.expanding dt:nth-child(4n-1) { background-color: #73b3e1; }
   dl.expanding dt:hover { background-color: #e69f23 !important; }
   dl.expanding dt.active { background-color: #7fb546 !important; }
   dl.expanding dt:after 
   { 
      display: block; position: absolute; right: 0px; top: 5px; bottom: 5px; width: 50px; content: "";
      background: transparent url('images/angle-down.svg') center center no-repeat; background-size: 18px auto;
   }
   dl.expanding dt.active:after { background-image: url('images/angle-up.svg'); }
   dl.expanding dd { display: none; margin: 0; padding: 25px; background-color: #bee199; }
   dl.expanding dt h3 { margin: 0; color: #FFFFFF; }
   dl.expanding dt p { margin: 0; }
	
	/* dads */
	
	.zone.dads { background-color: #FFFFFF; }
	.zone.dads .frame { padding-top: 20px; padding-bottom: 20px; text-align: center; }
	.zone.dads h3 { color: #000000; margin: 15px 0; text-shadow: none; }
	.dads .label.textbased { display: flex; align-items: center; justify-content: center; height: 90px; margin: 0 auto; }
	.dad .label { padding: 10px; width: 100%; max-width: 728px; border: 1px solid #004273; }
	.dad .label:hover { border-color: #FFA200; }
	.dad img { width: 100%; max-width: 728px; height: auto; margin: 0 auto; }
	.spons .img { width: 100%; max-width: 200px; height: 0; padding-top: 75%; background-position: center center; background-repeat: no-repeat; background-size: contain; }
	.spons .dad.lslide { width: 200px; text-align: center; }
	.become-sponsor { display: block; text-align: center; margin-top: 20px; }
	
	.sponsor-group { display: flex; align-items: center; justify-content: center; }
	.sponsor-group > a, .sponsor-group > spons { flex-basis: 25%; text-align: center; padding: 20px; }
	
	.sponsor-list { display: block; }
	.sponsor-list .sponsor-logo 
	{ 
		height: 120px; width: 170px; display: inline-block; float: left; margin: 0 40px 30px 0; 
		background-position: center center; background-repeat: no-repeat; background-size: contain;
	}
	.sponsor-list .sponsor-logo.textbased
	{ 
		display: flex; align-items: center; border: 1px solid #000000; 
		background-color: #FFFFFF; color: #000000; font-size: 21px; line-height: 1.2; text-align: center;
	}
	.sponsor-list .sponsor-logo.textbased span { width: 100%; text-align: center; padding: 20px; }
	.sponsor-list::after { display: block; content: ""; clear: both; width: 1px; height: 1px; }
	
	/* sponsors marquee */
	
	.marquee { width: 100%; height: 200px; overflow: hidden; text-align: left; }
	.marquee .slab { position: relative; display: flex; white-space: nowrap; animation: 15s linear infinite slideslab; }
	.marquee .slab .dad { width: 300px; height: 200px; padding: 0 50px; }
	.marquee .dad .img { width: 200px; height: 200px; background-position: center center; background-size: contain; background-repeat: no-repeat; }
	
	/* instagram feed */
	
	body.home .zone.instagram { background-color: #000000; background-image: none; padding: 25px 0; }
	body.home .zone.instagram .social { margin-bottom: 25px; }
	body.home .zone.instagram .icon { position: relative; top: 9px; }
	body.home .zone.instagram .label { font-weight: 600; color: #FFFFFF; }
	body.home .zone.instagram .label:hover { color: #FFA200; }
	
	/* responsive lightbox */
	
	.gallery-bg-thumb 
	{ 
		background-position: center center; background-size: cover; background-repeat: no-repeat; 
		height: 0; padding-top: 120%;
	}
	
	/* standard tiles */
	
	.tiles { display: flex; align-items: stretch; flex-wrap: wrap; gap: 30px; }
	.tiles .tile 
	{ 
		background-position: center center; background-size: cover; background-repeat: no-repeat;
		width: calc(50% - 15px); position: relative; height: 0; padding-top: 25%; 
	}
	.tiles .tile h3 
	{ 
		position: absolute; bottom: 0; left: 0; right: 0; padding: 40px 20px 20px 20px; margin: 0;
		color: #FFFFFF; background: linear-gradient(to bottom, rgba(72,130,176,0), rgba(72,130,176,0.9) 80%);
		text-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	}
	.tiles .tile:hover h3 { background: linear-gradient(to bottom, rgba(224,142,0,0), rgba(224,142,0,0.9) 80%); }
	
	/* tables */
	
	.schedule .table-container 
	{ 
		margin: 15px 0; padding: 15px 0; border-top: 2px dotted rgba(255,255,255,0.75); border-bottom: 2px dotted rgba(255,255,255,0.75); 
	}
	.schedule table { font-size: 18px; line-height: 1.2; }
	.schedule table td { padding: 3px 20px 3px 0px; font-weight: 300; }
	.schedule table td:last-child { padding-right: 0; }
	.schedule table td .light { opacity: 0.7; }
	.schedule table a { color: #16c1f3; font-weight: 500; }
	.schedule table a:hover { color: #FFA200; }
	
	.event-list table { width: 100%; }
	.event-list table tr.highlight { background-color: #FFFFFF; }
	.event-list table h3 { padding-top: 10px; border-top: 2px dotted #D48700; }
	.event-list table td { padding: 10px 25px 10px 5px; font-size: 20px; line-height: 1.2; }
	.event-list table td.curdate { padding-right: 0; }
	.event-list table td.date { white-space: nowrap; font-weight: 400; }
	.event-list table tr.highlight td.date { font-weight: 600; }
	.event-list table td.summary { width: 95%; padding-right: 0; }
	.event-list table td a { font-weight: 600; }
	
	/* event list filtering */
	
	.event-list-filter { margin: 20px 0; }
	.filter-control 
	{ 
		border: 2px solid #004273; color: #004273; display: inline-block; font-weight: 400; line-height: 1; 
		padding: 5px 15px 4px 15px; border-radius: 15px; cursor: pointer; font-size: 20px; 
	}			
	.filter-control:hover { color: #004273; background-color: #FFFFFF; }
	.filter-control.active { color: #FFFFFF; background-color: #004273; }
	
	/* blockquotes */
	
	blockquote.wp-block-quote { margin: 2em 0; position: relative; }
	blockquote.wp-block-quote::before, blockquote.wp-block-quote::after
	{ 
		display: block; content: ""; height: 56px; background: transparent url('images/quotes.png') center center repeat-x;
		background-size: 1200px auto;
	}
	blockquote.wp-block-quote::after { transform: rotate(180deg); }
	blockquote.wp-block-quote p { margin: 0.5em 0; font-size: 32px; line-height: 1.2; font-family: Yanone Kaffeesatz; font-weight: 400; color: #e12f0c; }
	blockquote.wp-block-quote cite { display: block; text-align: right; font-variant: italic; margin: 0.5em 0; }
	blockquote.wp-block-quote cite::before { content: '\2014'; display: inline-block; margin-right: 0.5em; }
	blockquote.wp-block-quote.testimony { margin-bottom: 3em; }
	blockquote.wp-block-quote.testimony::after, blockquote.wp-block-quote.testimony cite::before { display: none; }
	blockquote.wp-block-quote.testimony img { display: block; text-align: center; width: 200px; height: auto; margin: 0 auto 30px auto; }
	blockquote.wp-block-quote.testimony p { color: #000000; font-size: 28px; }
	blockquote.wp-block-quote.testimony cite { text-align: center; }
	
	/* home page video */
	
	.vimeo-container { width: 100%; height: 45vw; overflow: hidden; transition: height 0.3s ease-in; z-index: 170; }
	.vimeo-container .inner { padding: 56.25% 0 0 0; position:relative; top: -10vw; transition: top 0.3s ease-in; }
	.vimeo-container iframe { position: absolute; top:0; left:0; width: 100%; height: 100%; }
	.zone.video .overlay { transition: all 0.3s ease-in; z-index: 170; }
	.zone.video.active .overlay { opacity: 0; }
	.zone.video.active .vimeo-container { height: 55vw; }
	.zone.video.active .vimeo-container .inner { top: 0; }
	
	/* standard embedded video player */
   
   .video-container { overflow: hidden; height: 0; padding-bottom: 56.25%; position: relative; margin-bottom: 30px; }
   .video-container iframe { position:absolute; left: 0; top: 0; height: 100%; width: 100%; }
	
	/* footer */
	
	footer { background-color: #004273; color: rgba(255,255,255,0.8); font-size: 17px; line-height: 1.5; }
	body.home footer { background-color: rgba(0,66,115,0.85); }
	footer .cols { align-items: flex-start; }
	footer b { color: #FFFFFF; }
	footer a { color: #16C1F3; }

   /* wp blocks + defaults */

   .wp-block-column h4 { margin-top: 0; }
	
   .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; }
   figure.wp-block-image.size-full { margin-bottom: 2em; }
   figure.wp-block-image.sponsor img { height: 150px; width: auto; }
	figcaption { font-size: 16px; line-height: 1.3; }
	
	.wp-block-gallery.has-nested-images figure.wp-block-image { flex-grow: 0 !important; }
	.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { font-size: 18px !important; }
	.wp-block-image figure.alignright { width: auto; max-width: 33.333%; }
	.wp-block-image figure.alignright img { width: auto; max-width: 100%; }
	
   .wp-block-table table { margin: 15px 0; border-bottom: 1px solid rgba(66,128,176,0.7); }
	.wp-block-table table tr { background-color: rgba(255,255,255,0.4); }
	.wp-block-table table tr:nth-child(even) { background-color: rgba(66,128,176,0.07); }
	.wp-block-table table thead tr { background-color: rgba(66,128,176,0.7);  }
   .wp-block-table table.has-fixed-layout { width: auto !important; }
   .wp-block-table table td,.wp-block-table table th { padding: 3px 25px 3px 5px; }
   .wp-block-table table td:last-child { padding-right: 3px; }
	.wp-block-table table th { color: #FFFFFF; font-weight: 600; }
	.wp-block-table.top-align table tr { vertical-align: top; }
	.wp-block-media-text { display: flex !important; gap: 30px; align-items: center; }
	.wp-block-media-text .wp-block-media-text__media { order: 2; }
	.wp-block-media-text:nth-child(even) .wp-block-media-text__content { order: 3; }
	.wp-block-media-text .wp-block-media-text__media image { width: 100%; height: auto; }
	.wp-block-media-text > div, .wp-block-media-text figure.wp-block-media-text__media { width: calc(50% - 15px); }
	.wp-block-media-text .wp-block-media-text__content { display: block; text-align: left; padding: 0 20px 0 0 !important; }
	.wp-block-media-text .wp-block-media-text__content h3 { color: #FFCC00; }
	.wp-block-media-text .wp-block-media-text__content p { width: 100%; }
	.wp-block-media-text .wp-block-media-text__content .has-large-font-size { font-size: inherit; }
	
	/* wp-forms + smashbox instagram */
	
	div.wpforms-container-full .wpforms-form input[type=submit], div.wpforms-container-full .wpforms-form button[type=submit], 
		div.wpforms-container-full .wpforms-form .wpforms-page-button, #sb_instagram #sbi_load .sbi_load_btn, #sb_instagram .sbi_follow_btn a
		{ 
			color: #FFFFFF !important; border: 0 !important; background-color: #004273 !important; font-size: 22px !important; line-height: 1;
			border-radius: 15px !important; padding: 7px 15px 4px 15px !important; font-family: Yanone Kaffeesatz; font-weight: 500; 
			transition: none !important;
		}
		
	div.wpforms-container-full .wpforms-form input[type=submit]:hover, div.wpforms-container-full .wpforms-form input[type=submit]:focus, 
		div.wpforms-container-full .wpforms-form input[type=submit]:active, div.wpforms-container-full .wpforms-form button[type=submit]:hover, 
		div.wpforms-container-full .wpforms-form button[type=submit]:focus, div.wpforms-container-full .wpforms-form button[type=submit]:active, 
		div.wpforms-container-full .wpforms-form .wpforms-page-button:hover, div.wpforms-container-full .wpforms-form .wpforms-page-button:active, 
		div.wpforms-container-full .wpforms-form .wpforms-page-button:focus,
		#sb_instagram #sbi_load .sbi_load_btn:active, #sb_instagram .sbi_follow_btn a:active, #sb_instagram #sbi_load .sbi_load_btn:hover
		{ color: #FFFFFF !important; background-color: #E08E00 !important; box-shadow: none; }

	/* mobile navigation */
   
   #mobilemenu 
   { 
      position: fixed; top: 0; right: 0; left: 0; z-index: 190; overflow: auto; height: 0px; opacity: 0; transition-duration: 0.3s;  
      background-color: #4280b0;
   }
   #mobilemenu.active { height: 100vh; background-color: #4280b0; opacity: 1; padding-top: 20px; }
   #mobilemenu a { color: #FFFFFF; display: block; font-size: 20px; line-height: 20px; padding: 10px 25px 10px 0; font-weight: 300; text-decoration: none; }
   #mobile-menu { list-style-type: none; margin: 0px; padding: 80px 0px 0px 0px; color: #FFFFFF; }
   #mobile-menu > li { border-bottom: 1px solid rgba(255,255,255,0.33); padding-right: 50px; }
   #mobile-menu > li.menu-item-has-children 
   { 
      background: transparent url('images/angle-down.svg') right 9px no-repeat; background-size: 13px auto; 
      cursor: pointer;
   }
   #mobile-menu > li.menu-item-has-children.expanded { background-image: url('images/angle-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 > ul > li a { font-size: 16px; line-height: 1; padding: 7px 0px; }
   
   /* search modal */
   
   #searchmodal
   { 
      position: fixed; top: 0; right: 0; left: 0; z-index: 180; overflow: hidden; height: 0px; opacity: 0; transition-duration: 0.3s;  
      background-color: rgba(255,255,255,0.97);
   }
   #searchmodal.active { height: 100vh; opacity: 1; overflow: auto; padding-top: 160px; }
   #searchmodal .content { padding: 35px 35px 35px 240px; text-align: left; }
   #searchmodal .closebtn 
   { 
      width: 50px; height: 48px; background: transparent url('images/icon-close.svg') center center no-repeat; background-size: contain; cursor: pointer; 
      opacity: 0.5; position: fixed; right: 20px; top: 20px;
   }
   #searchmodal .closebtn:hover { opacity: 1; }
   #searchmodal form { white-space: nowrap; display: flex; align-items: flex-end; margin-bottom: 25px; }
   #searchmodal input:focus { outline: none; }
   #searchmodal input#s 
	{ 
		border-radius: 0; -webkit-border-radius: 0px; border: 0;
		width: 100%; border-bottom: 1px solid #666666; color: #000000; margin-right: 20px; font-weight: 300; 
		font-size: 32px; line-height: 1; background-color: transparent; 
	}
	#searchmodal input.btn { border-radius: 0; font-size: 30px; }
   #searchmodal.active::after 
   { 
      position: fixed; left: 0px; bottom: 0px; right: 0px; height: 100px; z-index: 199;
      content: " "; display: block; background: linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0));
   }

	/* search results */

   #autoresults h3 { margin-bottom: 20px; }
   .searchresults { display: block; columns: 2; column-gap: 35px; }
   .searchresult { display: block; margin: 0 0 20px 0; break-inside: avoid; }
   .searchresult a { text-decoration: none; line-height: 1.1; }
   .searchresult .img { display: block; margin-bottom: 10px; }
   .searchresults .excerpt, .searchresults .date { display: block; color: rgba(0,0,0,0.5); font-size: 90%; line-height: 1.25; }
	.searchresults .excerpt { margin-top: 5px; }
	.searchresults .date { color: #000000; }
	
	
	/* wp admin bar */
   
   body.admin-bar #hd { top: 32px; }
	body.admin-bar #mobilemenu.active, body.admin-bar #searchmodal.active { padding-top: 160px; }
   @media screen and (max-width: 781px) { body.admin-bar #hd { top: 46px; } }
	
	/* responsive adjustments */

   @media screen and (max-width: 1200px) 
	{ 
		.frame { padding-left: 50px; padding-right: 50px; } 
		.navbar .frame, .countbar .frame { padding-left: 160px; }
		a.fob { height: 160px; background: transparent; }
		a.fob img { height: 120px; }
		#searchmodal .content { padding-left: 35px; }
	}

   @media screen and (min-width: 951px)
	{
		.mobileonly, #menu li.mobileonly, #menu li.mobilenav { display: none; }
	}

   @media screen and (max-width: 950px)
   {
		body { padding-top: 84px; font-size: 17px; }
		h1, h2 { font-size: 30px; }
		h3 { font-size: 26px; }
		.wp-block-table table td, .wp-block-table table th { padding-right: 5px; line-height: 1.2; }

		.frame { padding-left: 25px; padding-right: 25px; }
		.navbar { height: 56px; overflow: hidden; background: #004273 url('images/fob-mid.png') center center no-repeat; background-size: contain; }
		.navbar .frame { text-align: right; }
		.countbar .social, .navbar .datelocation, .navbar a.buy-tickets, #menu li { display: none; }
		.countdown { width: 100%; justify-content: center; font-size: 14px; padding: 0; height: 28px; overflow: hidden; }
		.countdown .number { font-size: 18px; }
		.countbar .frame { padding: 0px 5px; width: 100%; }
		#menu li.menu-icon { display: inline-block; }
		.datelocation { padding-top: 11px; font: 15px/1.2 'Yanone Kaffeesatz', sans-serif; }
		
		body.home .frame .tile.tile-shapes { padding-right: 150px; }
		body.home .frame .tile.tile-shapes img { right: 20px; top: 20px; }
		#hd { height: 84px; }
		a.fob { top: 0; padding: 0; height: 56px; width: 240px; background: transparent url('images/fob.png') 15px center no-repeat;
			background-size: auto 50px; } /* fob-mobile-horiz2.png background-size: auto 60px; */
		a.fob img { display: none; }

		.cols { flex-wrap: wrap; }
		.cols > .col { flex-basis: 100%; order: 2; }
		.cols > .col.illus { order: 1; }
		
		img.dad { max-width: 100%; height: auto; }
   }
	
   @media screen and (max-width: 780px)
	{
		body { font-size: 16px; }
		.wp-block-table table td, .wp-block-table table th { padding: 3px; }
		body.home .frame .tile { flex-basis: 100%; font-size: 17px; }
		.dads .label.textbased { height: auto; }
		.tiles { gap: 20px; }
		.tiles .tile { width: calc(50% - 10px); }
		.tiles .tile h3 { padding: 20px 10px 10px 10px; font-size: 24px; }	
		body.home .frame .tile.tile-shapes { padding-right: 110px; }
		body.home .frame .tile.tile-shapes img { width: 90px; right: 10px; }
		.zone.video .overlay .frame { padding-bottom: 20px; }
		.zone.video .overlay .frame h3 { font-size: 24px; text-shadow: 3px 3px 3px rgba(0,0,0,0.5); }
		
		.wp-block-media-text { flex-wrap: wrap; }
		.wp-block-media-text figure.wp-block-media-text__media { order: 1; width: 100%; }
		.wp-block-media-text .wp-block-media-text__content { order: 2; width: 100%; padding: 0; }		

		.event-list table td { font-size: 16px; padding-right: 15px; }
		.btn, .wp-block-button .wp-block-button__link { font-size: 18px; padding: 4px 13px 2px 12px; }
		.filter-control { font-size: 16px; margin-bottom: 2px; padding: 2px 12px 2px 12px; }
	}
	
	
	@media screen and (max-width: 500px)
	{
		.countdown-label { display: none; }
		.tiles .tile { width: 100%; padding-top: 33.333%; }
		.searchresults { columns: 1; }
		
		.vimeo-container { height: 45vw; }
		.zone.video .overlay .frame h3 { font-size: 20px; line-height: 1.2; }
		
	}
		
		