/*
	(c)2021 - visuallizard.com

	Responsive styles based on browser breakpoints
*/

.mobile-menu-toggle {
	display: none;
	position: absolute;
	z-index: 1000;
	top: 15px;
	right: 15px;
	width: 30px;
	padding: 3px 0 0 0;
	border-top: 9px double #fff;
	border-bottom: 9px double #fff;
	line-height: 0;
}
.main-nav .nav-1 > li#navigation-1-40,
.main-nav .nav-1 > li#navigation-1-41,
.main-nav .nav-1 > li#navigation-1-42,
.main-nav .nav-1 > li#navigation-1-43,
.main-nav .nav-1 > li#navigation-1-44,
.main-nav .nav-1 > li#navigation-1-45,
.site-footer .nav-1 > li#fnav-40,
.site-footer .nav-1 > li#fnav-41,
.site-footer .nav-1 > li#fnav-42,
.site-footer .nav-1 > li#fnav-43,
.site-footer .nav-1 > li#fnav-44,
.site-footer .nav-1 > li#fnav-45 { display: none; }
header .container > a.button { display: none; }

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

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

@media only screen and (max-width: 1024px) {
	.main-nav { font-size: 0.75rem; }
	.main-nav .nav-1 > li > a { padding: 1rem 1rem; }
	
	.site-header > .container {  }
	
	div#fixed-social { display: none; }
	
	main,
	div.home-section,
	div.home-section#merchandise-feature { padding: 0 1rem; }
	
	.form-block { padding: 1em; }
	div.quicklink div.description { padding: 4em 1em 1em 1em; }
	
	div.event-listing div.event-desc {  }
	
	div.sponsor-section { grid-template-columns: 2% 30% 1fr 30% 1fr 30% 2%; padding: 3em 0; }
	
	.site-footer { grid-template-columns: 5% auto 35% 5%; }
	
	div.contact-section div.contact-info { padding: 2.5em; }
}

@media only screen and (max-width: 768px) {
	.img-left,
	.img-right { float: none; margin: 0; }
	
	.cke > .c1,
	.cke > .c-first,
	.cke > .c2,
	.cke > .c3,
	.cke > .c4,
	.cke > .c5,
	.cke > .c6 { width: 100%; flex-basis: 100%; max-width: 100%; margin:  0; }
	
	.mobile-menu-toggle { display: block; }
	.main-nav .nav-1 > li#navigation-1-40,
	.main-nav .nav-1 > li#navigation-1-41,
	.main-nav .nav-1 > li#navigation-1-42,
	.main-nav .nav-1 > li#navigation-1-43,
	.main-nav .nav-1 > li#navigation-1-44,
	.main-nav .nav-1 > li#navigation-1-45 { display: block; }
	.main-nav .nav-1 > li#navigation-1-60 { display: none; }
	
	.site-header > .container { grid-template-columns: 10px 140px 20px auto 10px; }
	
	div.promotions,
	div.festival-promotions { margin: -4.5em 0 2em 0; }
	div.promolink-set { justify-content: center; flex-wrap: wrap; }
	div.promolink-set div.promolink { max-width: 49%; margin: 0 0 1em 2%; }
	div.promolink-set div.promolink:nth-child(2n+1) { margin: 0 0 1em 0; }
	
	div.merch-display div.merch-description {  }
	div.home-section#merchandise-feature h2 { padding: 0; }
	div.home-section#merchandise-feature:before { width: 200px; height: 250px; }
	
	div.staff-set { padding: 0; }
	div.staff-set div.staff,
	div.staff-set div.staff:nth-child(3n+1) { max-width: 49%; margin: 0 0 1em 2%; }
	div.staff-set div.staff:nth-child(2n+1) { max-width: 49%; margin: 0 0 1em 0; }
	div.staff-set div.staff.president,
	div.staff-set div.staff.president-message { max-width: 49%; }
	div.staff-set.executive div.staff { display: flex; max-width: 100%; margin: 0 0 1em 0; }
	div.staff-set.executive div.staff div.staff-img { flex-grow: 1; width: 25%; margin: 0; }
	div.staff-set.executive div.staff div.staff-copy { flex-grow: 3; width: 75%; padding: 0 1em; }
	
	div.article-set article,
	div.article-set article:nth-child(3n+1) { flex-basis: 49%; max-width: 49%; margin: 0 0 1em 2%; }
	div.article-set article:nth-child(2n+1) { max-width: 49%; margin: 0 0 1em 0; }
	
	div.quicklink-set div.quicklink,
	div.quicklink-set div.quicklink:nth-child(3n+1) { flex-basis: 49%; max-width: 49%; margin: 0 0 1em 2% }
	div.quicklink-set div.quicklink:nth-child(2n+1) { margin: 0 0 1em 0; }
	div.quicklink div.description h3 { padding: 50% 0 0 0; }
	div.quicklink div.description p { bottom: 3em; }
	
	div.main-region div.introduction { padding: 0; }
	
	div.plaque-info ul li span { width: 14%; }
	
	div.sponsor-section:before { bottom: 0; width: 300px; height: 500px; }
	div.sponsor-section:after,
	body.default div.sponsor-section:after { top: 200px; width: 300px; height: 500px; }
	div.sponsor-section {
		grid-template-areas:
			". thanks thanks thanks thanks thanks ."
			". platinum platinum platinum platinum platinum ."
			". gold gold gold gold gold ."
			". silver silver silver silver silver ."
			". bronze bronze bronze bronze bronze ."
			". lava lava lava lava lava ."
			". community community community community community ."
			". other other other other other ."
			". gov gov gov gov gov ."
		;
	}
	div.sponsor-thanks { padding: 0; }
	div.sponsor-set#silver,
	div.sponsor-set#lava,
	div.sponsor-set#community { margin-right: 0; }
	
	div.sponsor-set#platinum ul li,
	div.sponsor-set#platinum ul li:nth-child(4n+1) { flex-basis: 49%; max-width: 49%; padding: 4em 2em; }
	div.sponsor-set#gold ul li,
	div.sponsor-set#gold ul li:nth-child(4n+1) { flex-basis: 49%; max-width: 49%; padding: 4em 2em; }
	div.sponsor-set#gold ul li:nth-child(2n+1) {  }
	
	.form-block#golf-registration form div > fieldset legend { width: 50%; }
	form div.golf-group > fieldset div,
	form div.golf-dinner > fieldset div,
	form div.golf-individual > fieldset div.input-text,
	form div.golf-individual > fieldset div.input-email { flex-basis: 49%; max-width: 49%; margin-bottom: 0.5em; }
	form div.golf-group > fieldset div.input-email,
	form div.golf-individual > fieldset div.input-email,
	form div.golf-dinner > fieldset div.input-email { margin: 0; }
	
	
	div.contact-section div.contact-info { padding: 1.5em; }
}

@media only screen and (max-width: 670px) {
	
	header .container > a.button {
		display: block;
		position: absolute;
		top: 1em;
		right: 3.5em;
	}
	
	h2, .h2 { font-size: 1.75rem; }
	h3, .h3 { font-size: 1.625rem; margin-bottom: 0.75rem; }
	h4, .h4 { font-size: 1.375rem; }
	body.default main div.main-region > h2:first-of-type,
	body.event main div.main-region > h2:first-of-type,
	body.contest main div.main-region > h2:first-of-type { font-size: 1.75rem; }
	
	main div.main-region,
	main div.article-view,
	main div.search-results,
	main div#mc_embed_signup { width: 100%; padding: 1rem;; }
	
	.home-banner-set:before,
	.page-banner-set:before { display: none; }
	.banner-container { padding: 2em; }
	.banner-title { font-size: 2.125rem; }
	.banner-subtitle { font-size: 1.125rem; letter-spacing: normal; }
	
	div.video-display { padding: 2em 0; }
	div.video-display iframe { max-height: 200px; }
	
	div.promotions,
	div.festival-promotions { margin: 0 0 2em 0; }
	div.promolink-set div.promolink { width: 100%; max-width: none; margin: 0 0 1em 0; }
	
	div.featured-news div.article-set article,
	div.featured-news div.article-set div.mini-set { max-width: 100%; margin: 0 0 0.5em 0; }
	div.article-set article,
	div.article-set article:nth-child(3n+1) { flex-basis: 100%; }
	div.featured-news div.article-set div.mini-set article { flex-wrap: wrap; }
	div.featured-news div.article-set div.mini-set article > div.article-image { width: 100%; max-width: none; min-height: 200px; }
	div.featured-news div.article-set div.mini-set article > div.article-body { width: 100%; max-width: none; }
	
	div.home-section#merchandise-feature:before,
	div.home-section#merchandise-feature:after { display: none; }
	div.merch-display { flex-wrap: wrap; padding: 2em 0; }
	div.merch-display div.merch-image { max-width: 100%; margin: 0 0 0.5em 0; }
	div.merch-display div.merch-description { max-width: 100%; padding: 0; }
	
	div.quicklink-set { padding: 0; }
	div.quicklink-set div.quicklink,
	div.quicklink-set div.quicklink:nth-child(3n+1) { flex-basis: 100%; max-width: none; margin: 0 0 1em 0; }
	div.quicklink div.description h3 { padding: 0; }
	
	div.staff-set div.staff.president,
	div.staff-set div.staff.president-message { max-width: none; }
	div.staff-set.executive div.staff { flex-wrap: wrap; }
	div.staff-set div.staff,
	div.staff-set div.staff:nth-child(2n+1),
	div.staff-set div.staff:nth-child(3n+1) { max-width: none; }
	div.staff-set.executive div.staff div.staff-img { width: 100%; padding: 0 25% 0.5rem 25%; }
	
	div.article-set article,
	div.article-set article:nth-child(2n+1),
	div.article-set article:nth-child(3n+1) { max-width: none; }
	
	div.main-region form.event-filter fieldset div.input-datepicker,
	div.main-region form.event-filter fieldset div.input-select,
	div.main-region form.event-filter fieldset div.input-datepicker:first-child,
	div.main-region form.event-filter fieldset div.input-select:first-child { width: 100%; margin: 0 0 0.5em 0; }
	div.main-region form.event-filter fieldset div.input-datepicker label { text-align: center; }
	div.main-region form.event-filter fieldset button[type="submit"] { width: 60%; }
	
	div.event-set:last-child,
	div.festival-set:last-child { padding-bottom: 0; margin: 0; }
	div.event-set div.event-listing,
	div.festival-set div.event-listing { flex-basis: 100%; max-width: 100%; margin: 0 0 1em 0; }
	div.event-set div.event-listing div.event-desc > p.dates,
	div.festival-set div.event-listing div.event-desc > p.dates { display: none; }
	div.event-set div.event-listing div.event-desc span.categories,
	div.festival-set div.event-listing div.event-desc span.categories { display: none; }
	
	.pagination-links { padding: 0; margin: 1em 0; font-size: 0.75rem; }
	.pagination-links a,
	.pagination-links .current { padding: 0 0.5em; }
	
	div.message-display { padding: 2em 1em; }
	
	div.table-wrap {
		display: block;
		position: relative;
		width: 100%;
		padding: 0;
		margin: 0 0 1.5em 0;
	}
	div.table-wrap table {
		display: block;
		position: relative;
		width: 100%;
		padding: 0;
		margin: 0;
		border-bottom: 1px solid #ddd;
	}
	div.table-wrap table tr { display: block; }
	div.table-wrap table thead { display: none; }
	div.table-wrap table tbody { display: block; width: 100%; }
	div.table-wrap table tbody td {
		display: block;
		position: relative;
		width: 100%;
		border: none;
	}
	div.table-wrap table tbody td[data-th="Item"]:before {
		content: "Line Item:";
		display: inline-block;
		position: relative;
		width: 25%;
		font-weight: 600;
	}
	div.table-wrap table tbody td[data-th="Quantity"]:before {
		content: "Quantity:";
		display: inline-block;
		position: relative;
		width: 25%;
	}
	div.table-wrap table tbody td[data-th="Price"]:before {
		content: "Price:";
		display: inline-block;
		position: relative;
		width: 25%;
		font-weight: 600;
	}
	div.table-wrap table tbody td[data-th="Subtotal"]:before {
		content: "Subtotal:";
		display: inline-block;
		position: relative;
		width: 25%;
		font-weight: 600;
	}
	div.table-wrap table tbody td:nth-child(3n+1) {
		border-top: 1px solid #ddd;
		font-weight: 700;
	}
	p.order-total,
	p.order-owing { padding: 0 0.5em; }
	

	div.contact-section div.contact-map {
		flex-basis: 100%;
		max-width: 100%;
		min-height: 300px;
		background-size: 200%;
	}
	div.contact-section div.contact-info {
		flex-basis: 100%;
		max-width: 100%;
	}
	
	form div.golf-individual > fieldset div.input-radio { flex-wrap: wrap; }
	form div.golf-individual > fieldset div.input-radio div.input-radio-option,
	form div.golf-individual > fieldset div.input-radio div.input-radio-option:first-of-type { flex-basis: 100%; max-width: 100%; margin: 0 0 0.5em 0; }
	
	.site-footer {
		grid-template-columns: 5% 45% 45% 5%;
		grid-template-areas:
			". social-media social-media ."
			". copyright copyright ."
			". logo logo ."
		;
	}
	.site-footer ul.social-media { padding: 1em 25%; }
	.site-footer p.copyright { text-align: center; }
	.site-footer p.tagline { width: 100%; }
}

@media only screen and (max-width: 520px) {
	
	.site-title { padding: 0; background-position: 0.5em 0.5em; }
	.container { margin: 0; padding: 0; }
	.controls-group > .button + .button { margin-left: 0; }
	
	.banner-container { display: none; }
	
	main ul.breadcrumbs { flex-wrap: wrap; }
	main ul.breadcrumbs li { width: 80%; margin: 0 auto; }
	
	div.home-section#gallery-feature { overflow: hidden; }
	div.gallery-banner-set { width: 200%; margin-left: -50%; }
	
	div.media-source,
	div.media-source:nth-child(2n+1) { max-width: none; margin: 0 0 1em 0; }
	
	div.featured-news a.read-all { display: none; }
	div.featured-news a.button { width: 60%; margin: 0 20%; }
	
	div.main-region.event > div.body { width: 90%; }
	div.body p iframe { max-height: 180px; }
	div.event-registration form#payment-form div.contact-info div { flex-basis: 100%; max-width: 100%; margin: 0 0 1em 0; }
	div.event-registration form#payment-form button[type="submit"] { width: 50%; }
	
	.form-block form.standard.payment div.input-text,
	.form-block form.standard.payment div.input-select { flex-basis: 100%; max-width: none; margin: 0 0 1rem 0; }
	.form-block form.standard.payment div.donation-amount { width: 60%; margin: 0 20% 1rem 20%; }
	.form-block form.standard.payment div.input-textarea { padding: 0; }
	.form-block form.standard.payment div.cc_form { flex-wrap: wrap; padding: 0; }
	.form-block form.standard.payment div.cc_form div.input-text.card-block { width: 100%; margin: 0 0 0.5em 0; }
	.form-block form.standard.payment div.cc_form div.input-text.cvd-block { width: 32%; max-width: 32%; margin: 0; }
	.form-block form.standard.payment div.cc_form div.input-select { width: 32%; max-width: 32%; margin: 0 0 0 2%; }
	.form-block form.standard.payment button { width: 60%; margin: 0 auto; }
	
	div.plaque-info ul li { border-bottom: 1px solid #333; }
	div.plaque-info ul li span { width: 100%; margin: 0 0 0.25em; border: none; border-bottom: 1px dotted #333; }
	
	.form-block#golf-registration form div > fieldset legend { width: 100%; }
	form div.golf-group > fieldset div,
	form div.golf-dinner > fieldset div,
	form div.golf-individual > fieldset div.input-text,
	form div.golf-group > fieldset div:first-of-type,
	form div.golf-dinner > fieldset div:first-of-type,
	form div.golf-individual > fieldset div.input-email,
	form div.golf-individual > fieldset div.input-radio + div.input-text { flex-basis: 100%; max-width: 100%; margin: 0 0 0.5em 0; }
	form div.golf-group > fieldset div.input-email,
	form div.golf-individual > fieldset div.input-email,
	form div.golf-dinner > fieldset div.input-email { margin: 0; }
	
	form#stripe-js-card-form div.input-email,
	form#stripe-js-card-form div.input-text,
	form#stripe-js-card-form div.input-select { flex-basis: 100%; max-width: 100%; margin: 0 0 1em 0; }
	
	div.sponsor-section:before {  }
	div.sponsor-section:after { background-position: right 70px; }
	div.sponsor-set#platinum ul li,
	div.sponsor-set#platinum ul li:nth-child(2n+1),
	div.sponsor-set#platinum ul li:nth-child(4n+1) { flex-basis: 100%; max-width: 100%; padding: 4em 2em; }
	div.sponsor-set#gold ul li,
	div.sponsor-set#gold ul li:nth-child(2n+1),
	div.sponsor-set#gold ul li:nth-child(4n+1) { flex-basis: 100%; max-width: 100%; padding: 4em 2em; }
	div.sponsor-set#gov-partners ul li,
	div.sponsor-set#gov-partners ul li:nth-child(4n+1) { flex-basis: 100%; max-width: 100%; }
	
}