* {
	backface-visibility: hidden;
	box-sizing: border-box;
}

*::before, *::after { box-sizing: border-box; }

html { margin: 0!important; }

body { min-width: 360px; overflow-x: hidden; }

.full-wrapper {
	width: 100%;
	transition: margin-left 0.5s;
}

header {
	background: #FAFAFA;
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	padding: 1em;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	transition: box-shadow 0.2s;
	z-index: 100;
}

#wpadminbar { position: fixed; }

.no-sticky-support header { position: fixed; }
.no-sticky-support body { padding-top: 70px; }
@media (min-width: 768px) { .no-sticky-support body { padding-top: 80px; } }
@media (min-width: 960px) { .no-sticky-support body { padding-top: 66px; } }
@media (min-width: 1280px) { .no-sticky-support body { padding-top: 6vw; } }
.admin-bar header { border-top: 32px solid white; }

.scrolled header { box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.25); }

p a { position: relative; }

p a::after {
	content: "";
	display: block;
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0.25em;
	background: #26a2ba;
	transition: left 0.2s, width 0.2s;
}

p a:hover { color: inherit; }
p a:hover::after { left: 0; width: 100%; }

header a.logo {
	display: block;
	text-decoration: none;
	width: 8em;
	overflow: hidden;
	border: none;
}

header a.logo svg {
	display: block;
	width: 100%;
	max-height: 100%;
}

header a.nav-opener {
	display: block;
	width: 3em;
	height: 3em;
	position: relative;
	color: inherit;
	text-decoration: none;
	border-bottom: none;
}

header a.nav-opener i {
	display: block;
	position: absolute;
	top: 50%;
	left: 0.5em;
	right: 0.5em;
	background: currentColor;
	height: 2px;
	margin-top: -1px;
	transition: opacity 0.5s, transform 0.5s;
}

header a.nav-opener i:first-of-type { transform: translate3d(0, -0.5em, 0); }
header a.nav-opener i:last-of-type { transform: rotateZ(0deg) translate3d(0, 0.5em, 0); }

.nav-open header a.nav-opener i {
	opacity: 0;
	transform: rotateZ(135deg);
}

.nav-open header a.nav-opener i:first-of-type {
	opacity: 1;
	transform: rotateZ(135deg);
}

.nav-open header a.nav-opener i:last-of-type {
	opacity: 1;
	transform: rotateZ(225deg);
}

nav.main ul {
	list-style: none;
	display: block;
	padding: 1em 0;
	margin: 0;
	font-size: 2em;
}

nav.main ul li {
	list-style: none;
	display: table;
	padding: 0;
	margin: 0;
}

nav.main ul li::before { display: none; }

nav.main ul li a {
	display: block;
	border-bottom: none;
}

nav.main ul li ul { font-size: 0.75em; }

@media (max-width: 959px) {
	header { transition: margin 0.5s; }
	header a.logo svg { width: 250%; }
	header a.logo #logo_text { display: none; }

	header nav.main {
		position: fixed;
		top: 0;
		left: 100%;
		z-index: 100;
		width: calc(100% - 5em);
		height: 100%;
		background: white;
		z-index: 9999;
		transition: margin 0.5s;
		padding: 0 2em;
	}

	.admin-bar header nav.main { top: 46px; height: calc(100% - 46px); }

	.nav-open header nav.main { margin-left: calc(-100% + 5em); box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.25); }
	.no-sticky-support .nav-open header { margin-left: calc(-100% + 5em); }
	.nav-open .full-wrapper { margin-left: calc(-100% + 5em); }

	header .search { margin: 0 0 2em; position: relative; }
	header .search .search-field { display: block; width: 100%; font: inherit; color: inherit; border: 1px solid currentcolor; background: white; padding: 0.5em 2em 0.5em 1em; line-height: 1em; }
	header .search .search-submit { display: block; position: absolute; top: 0; right: 0; width: 2.25em; height: 2.25em; text-align: center; line-height: 2.25em; font: inherit; font-family: "meadow-arts-icons"; font-weight: normal; color: inherit; background: none; border: none; padding: 0; cursor: pointer; }
	header .search .search-field:focus { outline: 2px solid #26A2BA; }
}

@media (min-width: 960px) {
	header { padding: 1rem 2rem; overflow: visible; align-items: flex-start; }

	header a.logo { width: 18em; position: relative; z-index: 3; }

	header a.nav-opener { display: none; }

	nav.main {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
		margin: 0 0 0 4em;
	}

	nav.main ul {
		display: flex;
		font-size: 1em;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
		flex-grow: 1;
		white-space: nowrap;
		color: #201f1e;
	}

	nav.main ul li { padding: 0 1em; }

	nav.main ul li a { display: table; position: relative; z-index: 2; color: inherit; }

	nav.main ul li a::after {
		content: "";
		display: block;
		position: absolute;
		top: 100%;
		left: 50%;
		width: 0;
		height: 0.25em;
		background: currentcolor;
		transition: left 0.2s, width 0.2s;
	}

	nav.main ul li a:hover::after { left: 0; width: 100%; }
	nav.main ul li:hover > a::after { left: 0; width: 100%; }

	nav.main ul li ul {
		font-size: 1em;
		float: left;
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 100%;
		max-width: none;
	}

	nav.main ul li ul li { margin-bottom: 0.5em; }
	nav.main ul li ul li ul { display: block; }

	nav.main .search { margin-top: 0.35em; margin-left: 1em; font-size: 1.125em; position: relative; overflow: hidden; flex-shrink: 0; }
	nav.main .search .search-field { transition: width 0.5s, opacity 0.5s, padding 0.5s; opacity: 0; display: block; width: 2em; font: inherit; color: inherit; border: none; outline: 2px solid #26A2BA; background: white; padding: 0.5em 1.2em; line-height: 1em; }
	nav.main .search .search-submit { display: block; position: absolute; top: 0; right: 0; width: 2.25em; height: 2.25em; text-align: center; line-height: 2.25em; font: inherit; font-family: "meadow-arts-icons"; font-weight: normal; color: inherit; background: none; border: none; padding: 0; cursor: pointer; }
	nav.main .search .search-field:focus { opacity: 1; padding: 0.5em 2em 0.5em 1em; width: 15em; }

	nav.main a.wp-block-button__link { margin: 0.35em 0 0 2em; }
}

@media (min-width: 1280px) {
	header a.logo { width: 24em; }
}

footer {
	background: #e19a33;
	padding: 2em 1em;
	text-align: center;
	margin-top: 4em;
}

footer .newsletter-social {
	border-bottom: 1px solid #BE7813;
	padding: 0 0 1em;
	margin: 0 0 1em;
}

footer .newsletter-social::after {
	content: "";
	display: block;
	clear: both;
}

footer .newsletter-social a.newsletter {
	display: block;
	float: left;
	font-weight: bold;
	text-decoration: none;
	color: inherit;
}

footer .newsletter-social a.newsletter:hover { text-decoration: underline; }

footer .newsletter-social a.newsletter::before {
	content: "\e904";
	font-family: "meadow-arts-icons";
	font-weight: normal;
	display: inline-block;
	vertical-align: middle;
	margin: 0 0.5em 0.25em 0;
	font-size: 1.4em;
	height: 1em;
	line-height: 1em;
}

footer .newsletter-social nav.social {
	float: right;
	cursor: default;
	font-size: 1.2em;
	margin-right: -0.25em;
}

footer .newsletter-social nav.social a {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	line-height: 1.5em;
	font-family: "meadow-arts-icons";
	font-weight: normal;
	transition: color 0.2s;
	position: relative;
}

footer .newsletter-social nav.social a:hover { color: white; }
footer .newsletter-social nav.social a::before {
	display: block;
	position: relative;
	z-index: 2;
}

footer .newsletter-social nav.social a.facebook::before { content: "\e903"; }
footer .newsletter-social nav.social a.twitter::before { content: "\e902"; }
footer .newsletter-social nav.social a.youtube::before { content: "\e901"; }
footer .newsletter-social nav.social a.instagram::before { content: "\e900"; }

footer .newsletter-social nav.social a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	z-index: 1;
	opacity: 0;
	transition: opacity 0.3s;
}

footer .newsletter-social nav.social a:hover::after { opacity: 1; }

footer .newsletter-social nav.social a.facebook::after { background: #1773EA; }
footer .newsletter-social nav.social a.twitter::after { background: #000000; }
footer .newsletter-social nav.social a.youtube::after { background: #FF0000; }

footer .newsletter-social nav.social a.instagram::after {
	background: #f09433; 
	background: -moz-linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); 
	background: -webkit-linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); 
	background: linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); 
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f09433', endColorstr='#bc1888',GradientType=1 );
}

footer nav.policies,
footer nav.contact {
	float: left;
	width: 50%;
	text-align: left;
	font-size: 0.9em;
	padding: 0.5em 0 0 0;
	margin: 0 0 2em;
}

footer nav.policies .nav-title,
footer nav.contact .nav-title {
	margin: 0 0 1em;
	font-weight: bold;
}

footer nav.policies ul,
footer nav.contact ul {
	list-style: none;
	display: block;
	padding: 0;
	margin: 0;
}

footer nav.policies ul li,
footer nav.contact ul li {
	list-style: none;
	display: block;
	padding: 0;
	margin: 0 0 0.25em;
	line-height: 1.5em;
}

footer nav.policies ul li::before,
footer nav.contact ul li::before { display: none; }

footer nav.policies ul li a,
footer nav.contact ul li a {
	font-weight: normal;
	color: inherit;
}

footer nav.policies ul li a:hover,
footer nav.contact ul li a:hover { text-decoration: underline; }

footer .sponsors {
	clear: both;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	margin: 2em 0;
}

footer .sponsors img {
	display: block;
	width: auto;
	height: 2.25em;
}

footer .bottom {
	clear: both;
	border-top: 1px solid #BE7813;
	margin: 1em 0 0;
	padding: 2em 0 0;
	font-size: 0.7em;
}

footer .copyright { margin: 1em 0 3em; }

footer .credit {
	display: block;
	margin: 0 0 1em;
	padding: 0;
}

footer .credit dt { display: inline-block; padding: 0; margin: 0; }
footer .credit dt::after { content: "\00a0\00a0|\00a0"; }
footer .credit dd { display: inline-block; padding: 0; margin: 0; }
footer .credit dd img { display: inline-block; height: 0.7em; width: auto; vertical-align: baseline; }

@media (min-width: 768px) {
	footer { margin-top: 6em; }
	footer nav.policies,
	footer nav.contact {
		font-size: 0.7em;
		width: auto;
		padding-right: 6em;
		white-space: nowrap;
	}

	footer .sponsors {
		clear: none;
		float: right;
		margin: 0.25em 0 0;
	}

	footer .sponsors img { margin-left: 1em; height: 1.85em; }

	footer .bottom { overflow: hidden; }
	footer a.logo { display: block; float: left; margin: 0 2em 0 0; }
	footer a.logo img { width: auto; height: 2em; }

	footer .copyright { display: block; float: left; margin: 0.5em 0 0; }

	footer .credits { display: block; float: right; margin: 0.5em 0 0; }
	footer .credit { display: inline-block; margin: 0 0 0 2em; }
}

@media (min-width: 960px) {
	footer { padding: 2em; }
	footer .newsletter-social { font-size: 1.4em; }

	footer nav.policies,
	footer nav.contact {
		font-size: 1em;
	}

	footer .sponsors img { height: 3em; }

	footer .bottom { font-size: 1em; }
}

.wpcf7 form,
.mc4wp-form .mc4wp-form-fields {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	font-size: 0.8em;
}

.wpcf7 form p { margin: 1em 0; width: 100%; }
.mc4wp-form p { margin: 1em 0; width: 100%; }

.wpcf7 form p.required label::after,
.mc4wp-form p.required label::after {
	content: "*";
	display: inline-block;
	margin: 0 0 0 0.25em;
	color: #F05652;
}

.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form input[type="number"],
.wpcf7 form textarea,
.mc4wp-form input[type="text"],
.mc4wp-form input[type="email"],
.mc4wp-form input[type="tel"],
.mc4wp-form input[type="number"],
.mc4wp-form textarea {
	width: 100%;
	border: 1px solid #CACACA;
	background: white;
	font: inherit;
	color: inherit;
	padding: 0.5em 1em;
	margin: 0.25em 0 0;
	outline: 0;
}

.wpcf7 form input[type="text"]:focus,
.wpcf7 form input[type="email"]:focus,
.wpcf7 form input[type="tel"]:focus,
.wpcf7 form input[type="number"]:focus,
.wpcf7 form textarea:focus { border-color: #26A2BA; box-shadow: 0 0 0.25em #26A2BA; }

.mc4wp-form input[type="text"]:focus,
.mc4wp-form input[type="email"]:focus,
.mc4wp-form input[type="tel"]:focus,
.mc4wp-form input[type="number"]:focus,
.mc4wp-form textarea:focus { border-color: #26A2BA; box-shadow: 0 0 0.25em #26A2BA; }

.wpcf7 form p.firstname { width: calc(50% - 1em); }
.wpcf7 form p.lastname { width: calc(50% - 1em); }
.wpcf7 form p.email { width: calc(50% - 1em); }
.wpcf7 form p.telephone { width: calc(50% - 1em); }
.wpcf7 form p.message { width: 100%; }
.wpcf7 form p.checkbox { width: 100%; }
.wpcf7 form p.buttons { width: 100%; }

.mc4wp-form p.firstname { width: calc(50% - 1em); }
.mc4wp-form p.lastname { width: calc(50% - 1em); }
.mc4wp-form p.email { width: calc(50% - 1em); }
.mc4wp-form p.telephone { width: calc(50% - 1em); }
.mc4wp-form p.message { width: 100%; }
.mc4wp-form p.checkbox { width: 100%; }
.mc4wp-form p.buttons { width: 100%; }

.wpcf7 .wpcf7-list-item { margin: 0 0 2em; }

.wpcf7 .wpcf7-list-item label {
	display: block;
	position: relative;
	padding: 0 0 0 2em;
	line-height: 1.5em;
	overflow: hidden;
	cursor: pointer;
}

.wpcf7 .wpcf7-list-item label input {
	position: absolute;
	right: 100%;
	margin-right: 2em;
}

.wpcf7 .wpcf7-list-item .wpcf7-list-item-label::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1.25em;
	height: 1.25em;
	line-height: 1.1em;
	border: 1px solid currentcolor;
	background: white;
	text-align: center;
	color: #CACACA;
	font-family: "meadow-arts-icons";
	font-weight: normal;
	font-size: 1.2em;
}

.wpcf7 .wpcf7-list-item input:checked + .wpcf7-list-item-label::before {
	content: "✓";
	display: block;
	text-align: center;
	vertical-align: middle;
	color: #26A2BA;
}

.wpcf7 form input[type="submit"],
.wpcf7 form input[type="button"],
.mc4wp-form input[type="submit"],
.mc4wp-form input[type="button"] {
	background: #26a2ba;
	border-radius: 0;
	border-bottom: none;
	height: 2.5em;
	line-height: 2.5em;
	padding: 0 2em;
	min-width: 8em;
	font-weight: 900;
	position: relative;
	text-align: center;
	color: white;
	overflow: hidden;
	display: inline-block;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s;
}

.wpcf7 form input[type="submit"]:hover,
.wpcf7 form input[type="button"]:hover { background: #5CB9CB; }

.mc4wp-form input[type="submit"]:hover,
.mc4wp-form input[type="button"]:hover { background: #5CB9CB; }

.wpcf7 form .buttons.dark input[type="submit"],
.wpcf7 form .buttons.dark input[type="button"] { background: black; }

.wpcf7 form .buttons.dark input[type="submit"]:hover,
.wpcf7 form .buttons.dark input[type="button"]:hover { background: #303030; }

.wpcf7 form .wpcf7-response-output,
.mc4wp-response .mc4wp-alert {
	margin: 2em 0;
	padding: 1em;
	color: white;
	font-weight: bold;
}

.mc4wp-response .mc4wp-alert p { margin: 0; }

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.mc4wp-response .mc4wp-alert {
	background: #F19F37;
	border: none;
}

.wpcf7-not-valid-tip {
	font-weight: bold;
	color: #F05652;
	margin-left: 1em;
	line-height: 2em;
}

.wpcf7 form.sent .wpcf7-response-output,
.mc4wp-response .mc4wp-success {
	border: none;
	background: #00A387;
}

ul.sidebar {
	list-style: none;
	display: block;
	padding: 0;
	margin: 0;
	border-top: 1px solid #707070;
}

ul.sidebar li.widget {
	list-style: none;
	display: block;
	padding: 0;
	margin: 0 0 2em;
}

ul.sidebar li.widget::before { display: none; }

.page-id-12 .wp-block-media-text h1 { margin: 0; }
.page-id-12 .wp-block-media-text .wp-block-separator { margin: 2em 0; }

.page-id-1445 .wp-block-media-text h1 { margin: 0; }
.page-id-1445 .wp-block-media-text .wp-block-separator { margin: 2em 0; }

.page-id-1450 .wp-block-media-text h1 { margin: 0; }
.page-id-1450 .wp-block-media-text .wp-block-separator { margin: 2em 0; }

.expanding-content {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.5s;
}

.expanding-content .expanding-content-inner {
	display: block;
	overflow: hidden;
}

.expanding-content.open {
	grid-template-rows: 1fr;
}

a.content-expander span::after {
	content: " More";
}

a.content-expander.open span::after {
	content: " Less";
}