
   /* resets */

   *, *::before, *::after { box-sizing: border-box; }
	* { margin: 0; }
	*:focus { outline: none; } 
   html { height: 100%; }
	body { min-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: 'HG'; font-style: normal; font-weight: 300; src: url('fonts/hg300.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'HG'; font-style: italic; font-weight: 300; src: url('fonts/hg300i.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'HG'; font-style: normal; font-weight: 400; src: url('fonts/hg400.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'HG'; font-style: italic; font-weight: 400; src: url('fonts/hg400i.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'HG'; font-style: normal; font-weight: 600; src: url('fonts/hg600.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'HG'; font-style: italic; font-weight: 600; src: url('fonts/hg600i.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'HG'; font-style: normal; font-weight: 800; src: url('fonts/hg800.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'HG'; font-style: italic; font-weight: 800; src: url('fonts/hg800i.woff2') format('woff2'); }

	@font-face { font-display: swap; font-family: 'BS'; font-style: normal; font-weight: 300; src: url('fonts/bs300.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'BS'; font-style: normal; font-weight: 400; src: url('fonts/bs400.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'BS'; font-style: normal; font-weight: 500; src: url('fonts/bs500.woff2') format('woff2'); }
	@font-face { font-display: swap; font-family: 'BS'; font-style: normal; font-weight: 600; src: url('fonts/bs600.woff2') format('woff2'); }

	/* structure */
	
	body
	{
		color: #FFFFFF; background-color: #000000; text-align: center;
		background: linear-gradient(to bottom, #8A6496 0px, #000000 450px);
		background-repeat: no-repeat; background-attachment: fixed;
	}
	body.modal-open { overflow: hidden; }
	.frame { text-align: left; margin: 0 auto; padding: 0 75px; width: 100%; max-width: 1800px; }
	.container { display: flex; gap: 50px; width: 100%; }
	.container main { width: calc(100% - 390px); position: relative; }
	.container nav { width: 340px; }
	img.hero { width: 100%; height: auto; margin: 0 0 30px 0; }
	div.hero { aspect-ratio: 2; background-position: center center; background-size: cover; background-repeat: none; margin: 0 0 30px 0; }
	.img { aspect-ratio: 1; background-position: center center; background-size: cover; background-repeat: none; }
	.right { float: right; width: calc(50% - 35px); height: auto; margin: 0 0 30px 45px; }
	.divided { border-top: 2px dotted rgba(255,255,255,0.5); margin-top: 30px; padding-top: 30px; }
	
	/* nav bar */
	
	nav { background-color: #70507e; }
	nav .section { display: block; padding: 30px; }
	nav .section:nth-child(even) { background-color: rgba(0,0,0,0.2); }
	nav a { color: #FFFFFF; font-weight: 300; }
	nav h3, nav h4 { color: #FFDA6C; }
	nav h4 { font-family: 'BS', serif; font-size: 24px; font-weight: 600; }
	nav ul { margin: 15px 0; padding: 0; list-style-type: none; }
	nav ul li { margin: 0; line-height: 1.1; }
	nav ul a { display: block; padding: 6px 0; opacity: 1; }
	nav ul a:hover { color: #E8A652; opacity: 1; }
	nav .quicklinks p { margin: 0 0 8px 0; }
	nav .quicklinks a { font-size: 20px; }
	nav div.light { opacity: 0.6; display: block; font-size: 16px; margin: 2px 0 0 0; }
	
	/* header */
	
	header { padding: 20px 0 30px 0;  }
	article { }
	body.home article { }
	
	.hos { display: block; background: transparent url('images/stripe.png') left calc(50% - 1px) no-repeat; background-size: 100% 47%; }
	.hos img { height: 75px; width: auto; }
	body.home header { position: absolute; top: 0; left: 0; right: 0; z-index: 10; }
	body.home .hos img { height: 95px; }
	body.home .hos { background-image: url('images/stripe-home.png'); }
	.hos .frame img { width: auto; height: auto; }
	.topbar { text-align: right; }
	
	/* type */
	
	body { font: 400 18px/1.5 'HG', sans-serif; }
	h2 
	{ 
		font-family: 'BS', serif; font-size: 48px; font-weight: 500; line-height: 1.1; margin: 0 0 30px 0; color: #FFFFFF;	
	}
	h3 { font-family: 'BS', serif; font-size: 30px; font-weight: 400; line-height: 1.1; margin: 0 0 20px 0; color: #FFFFFF; }
	h3.h3a { font-size: 24px; color: #FFDA6C; font-weight: 600; }
	h4 { font-size: 18px; margin: 0 0 5px 0; line-height: 1.1; font-weight: 600; }
	h5 { font-family: 'BS', serif; font-size: 18px; margin: 0 0 10px 0; line-height: 1.1; font-weight: 600; 
		text-transform: uppercase; letter-spacing: 2px; color: #FFDA6C; }
	p { margin-bottom: 20px; }
	article p { font-weight: 300; }
	b { font-weight: 600; }
	.monospace { font-family: monospace; font-weight: 500; }
	.light { font-weight: 300; opacity: 0.5; }
	.red { color: #D8004F; }
	.orange { color: #FCA230; }
	.warm { color: #FFDA6C; }
	.dot { display: inline-block; margin: 0 0.15em; font-style: normal; font-weight: 300; opacity: 0.5; }
	.dot::before { content: "\00B7"; }
	.date { color: #E8A652; }
	.sc { font-size: 75%; font-weight: 400; }
	.msg, .msg.success 
	{ 
		font-weight: 400; color: #000000; background-color: #c5e306; display: block; line-height: 1; 
		padding: 4px 8px; margin-bottom: 20px; position: relative; cursor: pointer;
	}
	.msg.alert { background-color: #D8004F; }
	.msg:after { content: "x"; position: absolute; top: 0; right: 0; bottom: 0; padding: 3px 8px 5px 8px; color: #FFFFFF; background-color: rgba(0,0,0,0.3); }
	.msg:hover:after { background-color: rgba(255,255,255,0.7); color: #000000; }
	
	/* links and controls */
	
	a { text-decoration: none; color: #C481DA; }
	a:hover { color: #E8A652; }
	a.moar 
	{ 
		display: inline-block; white-space: nowrap; padding-left: 24px; 
		background: transparent url('images/icons/arrow-right.svg') left center no-repeat;
		background-size: 20px auto;
	}
	a.has-icon, span.has-icon
	{
		display: inline-block; x-white-space: nowrap; padding-left: 24px; 
		background-position: left center; background-repeat: no-repeat;
		background-size: 14px auto;
	}
	.has-icon.icon-calendar { background-image: url('images/icons/calendar.svg'); background-size: 16px auto; }
	.has-icon.icon-phone { background-image: url('images/icons/phone.svg'); }
	.has-icon.icon-link { background-image: url('images/icons/link.svg'); background-size: 16px auto;  }
	.has-icon.icon-ticket { background-image: url('images/icons/ticket.svg'); background-size: 16px auto;  }
	.has-icon.icon-map { background-image: url('images/icons/map.svg'); background-size: 16px auto; }
	.has-icon.icon-price { background-image: url('images/icons/dollar.svg'); background-size: 18px auto; }
	.has-icon.icon-favorite { background-image: url('images/icons/heart-red.svg');background-size: 18px auto; }
	
 	.btn 
	{ 
		color: #FFFFFF; background-color: #70507E; font-size: 18px; line-height: 1; font-weight: 600; 
		display: inline-block; cursor: pointer; padding: 5px 10px; margin: 0 5px 5px 0; border: 0;
		white-space: nowrap;
	}
	.btn.btn-large { font-size: 22px; padding: 8px 15px; }
	.btn.btn-small { font-size: 16px; padding: 4px 8px; clip-path: polygon(0% 0%, calc(100% - 7px) 0%, 100% 7px, 100% 100%, 0% 100%); } 
	.btn:hover { color: #FFFFFF; background-color: #C5812A; }
	.btn.btn-action { padding-right: 1.6em;
			background-image: url('images/icons/arrow-right-gold.svg');
			background-position: right center; background-repeat: no-repeat;
			background-size: auto 80%;
	}
	
	a.action
	{ 
		display: inline-block; white-space: nowrap; padding-right: 1.6em;
		background: transparent url('images/icons/arrow-right-gold.svg') right center no-repeat;
		background-size: auto 100%;
	}
	
	
	.tag 
	{ 
		color: #FFFFFF; background-color: #d8004f; /* text-transform: uppercase; */
		font-size: 15px; font-weight: 600;
		line-height: 1; padding: 2px 6px 2px 6px; display: inline-block; margin: 0 5px 0 0;
	}
	
	.controls { float: right; margin: 3px 0 5px 10px; }
	input[type=text], input[type=date], select, textarea 
	{ 
		color: #FFFFFF; background-color: rgba(255,255,255,0.2); border: 0; font-size: 18px; line-height: 1; 
		padding: 3px; width: 100%; 
	}
	select, option { color: #000000; background-color: rgba(255,255,255,0.8); }
	.input-auto select, select.inline, .input-auto input[type=text] { width: auto; }
	textarea { height: 160px; }
	.fieldsets { display: flex; align-items: flex-start; }
	.fieldsets.wrap { flex-wrap: wrap; }
	fieldset { display: block; margin: 0 0 1rem 0; padding: 0 1rem 0 0; border: 0; }
	fieldset label { font-weight: 600; display: block; }
	fieldset img { width: 100%; height: auto; }
	select, input[type=date], input[type=file], input[type=checkbox] { cursor: pointer; }
	.shade td, .shade th { padding: 3px 20px 3px 3px; }
	.shade td:last-child, .shade th:last-child { padding-right: 3px; }
	label { white-space: nowrap; }
	fieldset.multiple label { display: inline-block; margin-right: 1rem; font-weight: 300; }
	.changed { background-color: rgba(139,181,68,0.2); }
	
	
	/* cells */
	
	.cells { display: flex; gap: 10px; flex-wrap: wrap; }
	.cells .cell 
	{ 
		position: relative; overflow: hidden; width: calc(33.333% - 7px); 
		background: linear-gradient(to bottom, rgba(112,80,126,0.8), rgba(112,80,126,0));
	}
	.cells .cell .img { aspect-ratio: 1.75; }
	.cells.matchzone .cell { width: calc(25% - 7.5px); }
	.cells.features .cell:first-child { width: 100%; }
	.cells.features .cell:nth-child(2), .cells.features .cell:nth-child(3) { width: calc(50% - 5px); }
	.cells .cell .caption { padding: 15px; }

	.cells .cell h4 { font-size: 18px;  }
	.cells .cell ul.info { margin: 5px 0; font-size: 16px; font-weight: 300; list-style-type: none; padding: 0; line-height: 1.1; }
	.cells .cell ul.info li { margin: 0; padding: 0; color: #E8A652; }
	.cells .cell .tags { position: absolute; top: -7px; right: 0px; text-transform: lowercase; }
	.cells .cell .tags .tag { margin: 0 0 0 3px; }
	
	.cells.infoboxes .cell 
	{ 
		padding: 15px;	font-weight: 300; font-size: 16px; line-height: 1.3; 		
		background: linear-gradient(to bottom, rgba(112,80,126,0.6), rgba(112,80,126,0)); 
	}
	.cells.infoboxes .cell h4 { margin-bottom: 15px; color: #FFDA6C; }
	
	.cells.features .cell:first-child h4 { font-size: 24px; }
	.cells.features .cell { aspect-ratio: 1.75; overflow: hidden; background-size: cover; background-repeat: no-repeat; }
	.cells.features .cell:before
	{
		position: absolute; content: ""; display: block; top: 0; left: 0; right: 0; bottom: 0; 
		background: linear-gradient(to bottom, rgba(0,0,0,0) 33.333%, rgba(0,0,0,0.8) 75%); 
	}
	.cells.features .cell .caption 
	{ 
		position: absolute; bottom: 0; left: 0; right: 0; text-shadow: 2px 2px 6px rgba(0,0,0,1);
		background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.8));
	}
	.cells.features a.cell:hover h4 { color: #FFFFFF; }
	.cells .cell .i-heart-ny { padding-top: 4px; }
	.cells .cell .i-heart-ny img { height: 56px; width: auto; }
		
	/* columns */
	
	.cols { display: flex; gap: 70px; }
	.cols .col { width: calc(50% - 35px); }
	ul.list_cols { display: flex; gap: 20px; flex-wrap: wrap; margin: 0; padding: 0; list-style-type: none; }
	ul.list_cols li { width: calc(50% - 10px); margin: 0; padding: 0; }
	
	ul.items { list-style-type: none; margin: 0 0 30px 0; padding: 0; }
	ul.items li { margin: 0 0 5px 0; line-height: 1.2; }
	ul.items a { font-weight: 600; display: block; }
	ul.news li { margin-bottom: 15px; }
	ul.news .info { margin: 5px 0; font-size: 16px; font-weight: 300; list-style-type: none; padding: 0; line-height: 1.2; color: #E8A652; opacity: 0.75; }

	/* search nav box */
	
	nav .search-control { background-color: #a9c204; background: linear-gradient(to top, #c5e306, #869906); cursor: pointer; }
	nav .search-control:hover { background-color: #CC7700; background: linear-gradient(to top, #ff990b, #CC7700); }
	nav .search-control h4 { color: #FFFFFF; margin-bottom: 0; }
	nav .search-control .search-inner 
	{ 
		padding-right: 70px; background: transparent url('images/icons/search.svg') center right no-repeat;
		background-size: auto 50px; 
	}
	nav .search-control .search-inner .info { margin: 0; color: #000000; font-weight: 400; opacity: 1; }
	

	/* map nav box */
	
	body.maps nav a.section.map-control { display: none; }
	nav .map-control { background-color: #d8004f; background: linear-gradient(to top, #f4679a, #bf0046); cursor: pointer; }
	nav .map-control:hover { background-color: #CC7700; background: linear-gradient(to top, #ff990b, #CC7700); }
	nav .map-control h4 { color: #FFFFFF; margin-bottom: 0; }
	nav .map-control .map-inner 
	{ 
		padding-right: 70px; background: transparent url('images/icons/heart-white.svg') center right no-repeat;
		background-size: auto 50px; 
	}
	nav .map-control .map-inner .info { margin: 0; color: #000000; font-weight: 400; opacity: 1; }
	
	/* calendar grid + controls */

	nav .calendar .months 
	{ 
		display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 20px 20px 14px 4px; 
		border-top: 2px dotted rgba(255,255,255,0.5); border-bottom: 2px dotted rgba(255,255,255,0.5);
	}
	nav .calendar .months .prev { background: transparent url('images/icons/arrow-left.svg') left center no-repeat; }
	nav .calendar .months .next { background: transparent url('images/icons/arrow-right.svg') right center no-repeat; }
	nav .calendar .months .prev, nav .calendar .months .next { width: 20px; height: 20px; background-size: contain; cursor: pointer; }
	nav .calendar .months .curr { text-align: center; color: #FFFFFF; font-size: 18px; font-weight: 400; }
	nav .calendar .days { display: flex; gap: 10px; flex-wrap: wrap; font-size: 16px; line-height: 1; }
	nav .calendar .days .day 
	{ 
		width: 30px; height: 30px; text-align: center; color: #FFFFFF; border-radius: 15px; overflow: hidden; line-height: 30px; font-weight: 300;
		flex-grow: 0; flex-shrink: 0;
	}
	nav .calendar .days .day.legend { color: #FFDA6C; font-weight: 700; }
	nav .calendar .days .day.blank { opacity: 0; }
	nav .calendar .days .day.past { border: 1px solid rgba(255,255,255,0.5); line-height: 28px; color: rgba(255,255,255,1); }
	nav .calendar .days .day.today { background-color: #c5e306; color: #000000; font-weight: 700; }
	nav .calendar .days .day.future { font-weight: 400; background-color: rgba(255,255,255,0.25); }
	nav .calendar .days .day.today, nav .calendar .days .day.future { cursor: pointer; }
	nav .calendar .days .day.today:hover, nav .calendar .days .day.future:hover { color: #FFFFFF; background-color: #CC7700; font-weight: 700; }
	nav .calendar .month { margin-bottom: 20px; display: none; }
	nav .calendar .month.current { display: block; }
	
	/* mobile nav switch */
	
	#navswitch 
	{ 
		z-index: 20; transition: right 0.2s ease-out; display: block; position: fixed; 
		width: 70px; height: 100px; border-radius: 50%;
		right: -35px; top: calc(50vh - 50px);
		background: #a1ba05 url('images/icons/menu.svg') 4px center no-repeat; 
		background-size: 26px auto; cursor: pointer;
	}
	#navswitch.activated 
	{ 
		right: 305px; background-image: url('images/icons/arrow-right.svg'); 
		background-size: 30px auto; transition: right 0.3s ease-out; 
	}
		
	/* downtabs: bottom of page navigation */
	
	#downbar 
	{ 
		position: fixed; bottom: 0; left: 0; right: 0; /* width: 100%; max-width: 1800px; padding: 0 60px; margin: 0 auto; */ z-index: 200; 
		display: flex; justify-content: space-between; align-items: flex-end; 
	}
	#downbar .contain { width: 100%; text-align: left; display: flex; align-items: flex-end; }
	#downbar .inner { width: 100%; text-align: left; display: flex; align-items: flex-end; }
	.downtab 
	{ 
		color: #FFFFFF; background-color: #186996; x-border-radius: 10px 10px 0 0; display: inline-block;
		overflow: hidden; position: relative; bottom: 0; padding-left: 40px;
		cursor: pointer; font-weight: 500; box-shadow: 5px 5px 5px rgba(0,0,0,0.4); margin-right: 15px;
		clip-path: polygon(0% 8px, 8px 0%, calc(100% - 8px) 0%, 100% 8px, 100% 100%, 0 100%);
	}
	.downtab.offstage { bottom: -60px; }
	.downtab, .downtab .ibox, .downtab .label { transition: 0.1s all ease-out; }
	.downtab.inactive { bottom: -60px; }

	.downtab .ibox 
	{ 
		position: absolute; top: 0; left: 0; bottom: 0; width: 40px; 
		background-color: rgba(0,0,0,0.25); color: #FFCC00; display: inline-block; 
		background-position: center center; background-repeat: no-repeat; background-size: 50% auto;
	}		
	.downtab:hover .ibox, .downtab:hover .label { padding-bottom: 14px; }
	.downtab:hover .ibox { background-color: rgba(0,0,0,0.5); background-position: center calc(50% - 3.5px); }
	.downtab.tours { background-color: #679436; }
	.downtab.tours .ibox { background-image: url('images/icons/footsteps.svg'); background-size: auto 50%; }
	.downtab.ny { background-color: #cd7f8e; }
	.downtab.ny .ibox { background-image: url('images/icons/ny.svg'); background-size: 55% auto;  }
	.downtab.news { background-color: #774e24; }
	.downtab.news .ibox { background-image: url('images/icons/megaphone.svg'); }
	.downtab.visit { background-color: #31748e; }
	.downtab.visit .ibox { background-image: url('images/icons/pin.svg'); background-size: 35% auto; }
	.downtab.events { background-color: #B180C1; }
	.downtab.events .ibox { background-image: url('images/icons/ticket.svg'); }
	.downtab.organizations .ibox { background-image: url('images/icons/org.svg'); }
	
	.downtab .label { padding: 8px 15px; display: inline-block; }
	.downtab.totop { padding-left: 0; background-color: #aabf22; margin-right: 0; }
	.downtab.totop .label 
	{ 
		background: transparent url('images/icons/arrow-up.svg') center center no-repeat; background-size: 40% auto; 
		padding-left: 0; padding-right: 0; width: 40px; color: transparent;
	}
	.downtab.totop:hover .label { background-position: center calc(50% - 3.5px); }
	.downtab:hover { background-color: #CC7700; color: #FFFFFF; }

	/* modals */
	
	.modal-close { cursor: pointer; text-align: right; display: block; margin: 20px 0; }
	.modal-close svg { width: 30px; height: 30px; color: #7FB637; display: inline-block; }
	.modal-close:hover svg { color: #FFFFFF; }
	
	
   /* embedded videos */

   .video-container { position: relative; padding-bottom: 54%; padding-top: 30px; height: 0; overflow: hidden; background-color: #000000; }
   .video-container iframe, .video-container object, .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
	
	/* modal: search */
	
	#searchmodal 
	{ 
		position: fixed; transition: all 0.2s ease-in; opacity: 0; left: 0; right: 0; top: -600px; height: 0; overflow: hidden;
		color: #FFFFFF; background-color: #1E1621; display: flex; flex-direction: column; z-index: 300;
		background: linear-gradient(to bottom, #382B3D, #000000);
	}
	#searchmodal #panel-top { background: linear-gradient(to top, #c5e306, #869906); flex-shrink: 1; box-shadow: 0 10px 20px rgba(0,0,0,0.5);  }
	#searchmodal #panel-bot { flex-grow: 1; overflow: scroll; }
	#searchmodal.active { top: 0; height: 100vh; opacity: 1; }
	#searchmodal .modal-close svg { color: rgba(0,0,0,0.5); }
	#searchmodal .modal-close:hover svg { color: #FFFFFF; }
	.searchform { display: flex; gap: 30px; align-items: flex-start; width: 100%; padding: 20px 0; }
	.searchform fieldset { border: 0; margin: 0; padding: 0; width: calc(25% - 23px); }
	@media screen and (max-width: 1050px) 
	{
		#searchmodal #panel-top { padding-top: 70px; }
		#searchmodal .modal-close { display: inline-block; float: right; margin: 0 0 20px 20px; padding: 5px 0 5px 5px; }
	}
		
	@media screen and (max-width: 900px) 
	{
		.searchform { flex-wrap: wrap; }
		.searchform fieldset { width: calc(50% - 15px);  }
	}
	@media screen and (max-width: 550px) 
	{
		#searchmodal .modal-close { margin-bottom: 0; }
		#searchmodal h2 .evp { display: none; }
		.searchform fieldset { width: 100%; }
		.searchform { gap: 5px; padding: 10px 0; }
	}
	.searchform fieldset label { color: #000000; font-size: 16px; font-weight: 600; display: block; margin: 0 0 5px 0; padding: 0; }
	.searchform input, .searchform select 
	{ 
		border: 0; color: #FFFFFF; background-color: #788905; padding: 6px; font-size: 20px; line-height: 18px; 
		width: 100%; display: block; height: 38px; margin: 0;
	}
	.searchform #getdate { display: flex; gap: 5px; }
	.searchform #date-cancel 
	{ 
		width: 38px; height: 38px; cursor: pointer; 
		background: #755783 url('images/icons/cancel.svg') center center no-repeat; background-size: auto 60%;
	}
	.searchform #date-cancel:hover { background-color: #CC0000; }
	.searchform #dates.inactive, .searchform #getdate.inactive { display: none; }
	#searchmodal .matchzone { padding: 60px 0; }
	#searchmodal .matchzone.cells .cell.feature h3:before 
	{ 
		content: 'Feature'; display: block; color: #CC7700; font-size: 13px; font-weight: 700; text-transform: uppercase; 
		letter-spacing: 1px; margin: 0 0 4px 0; 
	}
	/* #searchmodal .matchzone.cells .cell { width: calc(20% - 24px); } */
	#searchmodal h2 { font-size: 36px; margin-bottom: 0; }
	/*
	@media screen and (max-width: 1500px) { #searchmodal .matchzone.cells .cell { width: calc(25% - 23px); } }
	@media screen and (max-width: 1100px) { #searchmodal .matchzone.cells .cell { width: calc(33.333% - 20px); } }
	@media screen and (max-width: 900px) { #searchmodal .matchzone.cells .cell { width: calc(50% - 15px); } }
	@media screen and (max-width: 500px) { #searchmodal .matchzone.cells .cell { width: 100%; } }
	*/
	
	/* maps */
	
	#map { width: 100%; height: calc(100vh - 700px); min-height: 500px; background-color: rgba(85,61,92,0.3); z-index: 1; 
		mix-blend-mode: screen; } 
	#map.short { height: 400px; min-height: 400px; }
	#map .leaflet-map-pane { background-color: transparent; mix-blend-mode: screen; }
	#map .leaflet-popup-content-wrapper .leaflet-popup-content { font-family: 'HG', sans-serif; font-weight: 600; }
	#map .leaflet-control-container .leaflet-control-attribution.leaflet-control { opacity: 0.8; background-color: #000000; color: #999999; }
	#map .leaflet-control-container .leaflet-control-attribution.leaflet-control a { color: #C481DA; }
	#map .leaflet-popup-content { font-size: 14px; }
	#map .leaflet-popup-content a { color: #9058A2; }
	#map .leaflet-popup-content a:hover { color: #E8A652; }
	#map .leaflet-popup a.leaflet-popup-close-button 
	{ 
		top: 4px; right: 4px; font: inherit; font-size: 15px; line-height: 18px; width: 18px; height: 18px; 
		border-radius: 50%; color: #999999;
	}
	#map .leaflet-popup a.leaflet-popup-close-button:hover { color: #FFFFFF; background-color: #AAAAAA; }
	h3.legend { margin-bottom: 30px; }
	h4.legend { margin: 20px 0; }
	.map-legend 
	{ 
		margin: 5px 0 10px 0; line-height: 1.2; padding-left: 40px; background-position: top left; 
		background-size: 22px auto; background-repeat: no-repeat; min-height: 30px;
	}
	.map-legend .info { font-size: 16px; opacity: 0.7; }
	.map-legend.pin-green { background-image: url('/images/pin-green.svg'); }
	.map-legend.pin-orange { background-image: url('/images/pin-orange.svg'); }
	.map-legend.pin-red { background-image: url('/images/pin-red.svg'); }
	.map-legend .btn.btn-legend 
	{ 
		font-size: 15px; padding: 2px 6px 3px 6px; margin: 0 0 0 5px; 
		opacity: 0; transition: opacity 0.2s;
	}
	.map-legend:hover .btn.btn-legend { opacity: 1; }
		
	/* sponsors */
	
	.spons 
	{ 
		text-align: center; padding: 40px 0; margin: 40px 0; 
		border-top: 2px dotted rgba(255,255,255,0.5); border-bottom: 2px dotted rgba(255,255,255,0.5);
	}
	.spons img { margin: 0 auto; width: auto; max-width: 100%; height: auto; }
	  
	/* footer */
	
	footer 
	{ 
		text-align: left; padding: 40px 0; margin: 40px 0; 
		border-top: 2px dotted rgba(255,255,255,0.5); color: rgba(255,255,255,0.5);
		font-size: 18px; font-weight: 300;
	}
	footer .dot { opacity: 1; }
	footer b { color: #FFFFFF; }
	footer .uptown { float: right; width: auto; height: 42px; }
	.socials { margin-bottom: 30px; padding-top: 3px; }
	.socials .icon 
	{ 
		width: 36px; height: 36px; border-radius: 50%; background-position: center center;
		background-size: 50% auto; background-repeat: no-repeat;
		display: inline-block; margin: 0 0 0 5px; 
	}
   .socials .icon.icon-facebook { background-image: url('images/icons/facebook.svg'); background-color: #3d5b97; background-size: auto 50%; }
   .socials .icon.icon-instagram { background-image: url('images/icons/instagram.svg'); background-color: #b54189; }
   .socials .icon.icon-twitter { background-image: url('images/icons/twitter.svg'); background-color: #2eaadf; }
	.socials a.icon:hover { background-color: #E8A652; }
	.affils { display: flex; align-items: center; gap: 40px; margin: 20px 0; }
	.affils img { height: 30px; width: auto; }
	@media screen and (max-width: 550px) 
	{
		footer { font-size: 16px; }
		.affils { gap: 20px; }
		.affils img { height: 15px; }
	}
		
	
   /* mobile */
	
	@media screen and (min-width: 1500px)
	{
		.cells .cell { width: calc(25% - 8px); }	
		.cells.matchzone .cell { width: calc(20% - 9px); }	
	}

	@media screen and (max-width: 1499px) and (min-width: 1301px)
	{
		body.home .cells .cell:nth-child(4) { display: none; }
	}
			
	@media screen and (max-width: 1300px)
	{
		.cells .cell { width: calc(50% - 5px); }	
		.cells.matchzone .cell { width: calc(33.333% - 7px); }	

	}
	
   @media screen and (min-width: 1200px)
	{
		#navswitch { display: none; }
	}
	

	
   @media screen and (max-width: 1200px)
   {
		.hos img, body.home .hos img { height: 60px; width: auto; }
		.frame { padding-left: 30px; padding-right: 30px; }
		.container { display: block; }
		.container main { width: 100%; }
		/* nav { display: none; } */
		nav
		{ 
			position: fixed; top: 0; right: -340px; bottom: 0; z-index: 30; box-shadow: 0 0 20px rgba(0,0,0,0.5); overflow: hidden scroll; 
			transition: right 0.3s;
		}
		nav.activated { right: 0; }
   }  

   @media screen and (max-width: 900px)
   {
		.frame { padding-left: 20px; padding-right: 20px; }
		.downtab:not(.totop) { padding-left: 10px; }
		.downtab:not(.totop) .label { width: 1px; height: 40px; overflow: hidden; visibility: hidden; }
		.cells.matchzone .cell { width: calc(50% - 5px); }	
		h2 { font-size: 32px; }
		h3 { font-size: 28px; }
		#map { min-height: auto; height: 70vh; }
	}
	
   @media screen and (max-width: 700px)
   {
		.cols { flex-wrap: wrap; }
		.cols .col { width: 100%; }
		body.home .cells.features .cell .info { display: none; }
		body.home .cells.features .cell h4 { font-size: 16px; line-height: 1; }
		body.home .cells.features .cell .caption { padding-top: 80px; }			
	}
	
	@media screen and (max-width: 550px)
   {
		.frame { padding-left: 10px; padding-right: 10px; }
		.cells .cell, .cells.matchzone .cell { width: 100%; }	
	}
   
   /* print */

   @media print
   {
		nav, #navswitch, header, #map, .btn, .msg, .socials, .quicklinks, form, .img, 
			#downbar, #searchmodal, .controls, .tags, .nomobile { display: none !important; }
		body { font-size: 11.5pt; padding: 0; margin: 0; background: #FFFFFF; color: #555555; }
		h2 { font-size: 24pt; }
		h3 { font-size: 20pt; }
		h4 { font-size: 18pt; }
		h2, h3, h3.h3a, h4, h5 { color: #000000; }
		.container main { width: 100%; }
		footer { font-size: 11pt; margin: 0; color: #555555; }
		footer, .divided { border-top: 2px dotted #999999; }
		footer p { clear: both; }
		footer .uptown { float: none; display: block; margin-bottom: 20px; }
		.frame { max-width: auto; }
		.cells .cell, .cells.infoboxes .cell { font-size: 11px; color: #000000; background: #FFFFFF; }
		.cells .cell .caption { padding: 0; }
		.cells .cell h4 { font-size: 13pt; }
		.cells .cell ul.info li { color: #999999; }
		.cols { flex-wrap: wrap; }
		.cols .col { width: 100%; }
		a, ul.news a { color: #000000; font-size: 13pt; }
		ul.news a { display: inline-block; }
		ul.news .info  { color: #555555; font-size: 12pt; display: inline-block; margin-left: 0.5em; }
		input[type=text], input[type=date], select, textarea { color: #000000; background-color: #FFFFFF; border: 1px solid #999999; }
   }
   