@font-face {
	font-family: 'Gantari';
	src: url('../fonts/Gantari-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
:root {
	--color-rich-black: #000011;
	--color-caribbean: #00757d;
	--color-sea-green: #0EA9A9;
	--color-anti-flash-white: #f1f1f1;
	font-size: 20px;
}
html, body {
	margin: 0 auto;
	width: 100%;
	height: 100%;
}
body {
	margin: 0 auto;
	font-family:'Gantari', sans-serif;
	font-size: 1rem;
	color:#000;
	background-color:#fff;
}
body.no-scroll {
    overflow: hidden;
    height: 100vh;
    touch-action: none;
}
a:link,a:visited,a:active {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

#content-container > section.page-content > article a:link,
#content-container > section.page-content > article a:visited,
#content-container > section.page-content > article a:active {
	font-weight:700;
}
img {
	max-width:100%;
	height:auto;
}
.drop-shadow {
	-webkit-box-shadow: 0px 7px 25px -15px #000000; 
	box-shadow: 0px 7px 25px -15px #000000;
}
hr.faded-line {
    border: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--color-caribbean), transparent);
    margin:50px auto;
    width: 90%;
}
.front-page hr.faded-line {
	margin:6px auto;
}
@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* ends in place */
    }
}
.fade-in-up {
    animation: fade-in-up 0.8s ease-in-out forwards;
}
#wrapper > div#container > main#content div.entry-content p.before-heading { /* added with javascript */
    margin-bottom:50px;
}
#wrapper p {
    margin:10px auto;
    font-weight:normal;
}
#wrapper > div#container > main#content header.entry-header {
    margin:0 auto 8px auto;
    text-align:center;
}
#wrapper > div#container > main#content div.entry-content {
    margin:0 auto 20px auto;
    max-width:1250px;
}
#wrapper > div#container > main#content div.entry-content a {
    display:inline-block;
	word-break:break-all;
}
#desktop-menu-container {
	display:none;
}
#wrapper > #header > #top-bar {
	position:fixed;
	z-index:999;
	top:0;
	right:0;
	left:0;
	width:100%;
}
/*	for fixed header on scroll	*/
#wrapper > #header > #top-bar {
	transition: transform 0.4s ease;
}
#wrapper > #header > #top-bar.hide {
	transform: translateY(-60px);
}
#wrapper > #header > #top-bar > .top-bar {
	height:100%;
}
#wrapper > #header > #top-bar > .top-bar > ul {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	height:100%;
}
#wrapper > #header > #top-bar > .top-bar > ul > li {
	padding:3px;
}
#wrapper > #header > #top-bar > .top-bar > ul > li a {
	display:flex;
	align-items:center;
}
#wrapper > #header {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	position:relative;
	color:#000;
}
#header #branding #site-logo img {
	max-width:200px;
}
#header #branding #site-logo span,
#header #branding #site-logo a {
	display:inline-block;
	width:100%;
	height:100%;
	margin:4px auto;
	text-align:center;
}
#wrapper > #container > #content > #content-container img,
#wrapper > #container > #content > #content-container p {
	margin:16px auto;
}
#wrapper > footer {
	font-size:.93rem;
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	justify-content:center;
	font-weight:400;
	background: var(--color-rich-black);
	padding:1rem .5rem;
	color:var(--color-anti-flash-white);
}
#wrapper > footer .footer-menu ul {
	list-style-type:none;
}
#wrapper > footer a:link,
#wrapper > footer a:visited,
#wrapper > footer a:active {
	color:var(--color-anti-flash-white);
	text-decoration: none;
}
#wrapper > footer a:hover {
	text-decoration:underline;
}
#wrapper > footer > #sponsors,
#wrapper > footer > #sponsors > .sponsors-tier {
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content:center;
}
#wrapper > footer > #sponsors > .sponsors-tier {
	margin:0 auto 15px auto;
}
#wrapper > footer > #sponsors > #sponsors-title,
#wrapper > footer > #sponsors > .sponsors-tier > .tier-title,
#wrapper > footer > #sponsors > .sponsors-tier > .sponsor {
	text-align:center;
	flex:100%;
}
#wrapper > footer > #sponsors > #sponsors-title {
	text-align:center;
	flex:100%;
}
#wrapper > footer > #sponsors > #sponsors-title > h2 {
	font-size:1.8rem;
}
#wrapper > footer > #sponsors > .sponsors-tier > .tier-title {
	font-size:1.3rem;
}
#wrapper > footer > #sponsors > .sponsors-tier > .sponsor {
	margin:8px;
	flex:0;
}
#wrapper > footer > #sponsors > .sponsors-tier > .sponsor img {
	max-width:150px;
}
#wrapper > footer > section > .copyright,
#wrapper > footer > section.footer-nav {
	margin:2rem auto;
}
#wrapper > footer > section.footer-nav div.footer-menu > div  {
	display:flex;
	flex-wrap:wrap;
}
#wrapper > footer > section.footer-nav div.footer-menu > div ul {
	flex:100%;
}
#wrapper > footer > section > div.copyright {
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	font-size:.7rem;
	margin:0;
}
#wrapper > footer > section > div.copyright > div {
	flex:100%;
	text-align:center;
	padding:10px;
}
#wrapper > footer > section > .footer-section-title {
	text-align:center;
}
#wrapper > footer > section > .footer-section-title > h3 {
	font-size:1.5rem;
	margin-bottom:10px;
}
#wrapper > #container > #content > #front-page-container > #front-page-content {
	position:relative;
	min-height:450px;
	border-top:2rem solid var(--color-caribbean);
	border-bottom:2rem solid var(--color-caribbean);
	background:var(--color-rich-black);
}
#wrapper > #container > #content > #front-page-container > #front-page-content > .background-image {
	background:url(../img/figure-skating-girl.jpg) no-repeat;
	background-size:cover;
	background-position:0 0;
	position:absolute;
	top:10%;
	right:5%;
	bottom:10%;
	left:5%;
	display:flex;
	align-items:center;
	justify-content:center;
}
#wrapper > #container > #content > #front-page-container > #front-page-content> .background-image > .user-button {
	display:flex;
	align-items:center;
	justify-content:center;
}

#wrapper > #container > #content > #front-page-container > #front-page-content> .background-image > .user-button > .container {
	margin:auto;
	padding:1rem;
	text-align:center;
	text-shadow:1px 1px 1px rgba(0,0,0,0.9);
}
#wrapper > #container > #content > #front-page-container > #front-page-content> .background-image > .user-button > .container p {
	color:var(--color-anti-flash-white);
	font-weight:600;
}
#wrapper > #container > #content > #front-page-container > #front-page-editor a:link,
#wrapper > #container > #content > #front-page-container > #front-page-editor a:visited,
#wrapper > #container > #content > #front-page-container > #front-page-editor a:active {
	color:var(--color-anti-flash-white);
}
#wrapper > #container > #content > #front-page-container > #front-page-editor {
	text-shadow:1px 1px 1px rgba(0,0,0,0.5);
	background: var(--color-rich-black);
	padding:1rem .5rem;
	color:var(--color-anti-flash-white);
}
#wrapper > #container > #content > #front-page-container > #front-page-editor > .editor-wrapper {
	margin:auto;
	max-width:1100px;
}
#wrapper > #container > #content > #front-page-container > #front-page-featured-products {
	padding:2rem;
	background: var(--color-anti-flash-white);
}
#wrapper > #container > #content > #front-page-container > #front-page-featured-products > .featured-products-wrapper {
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:2rem;
	text-align:center;
}
#wrapper > #container > #content > #front-page-container > #front-page-featured-products > .featured-products-wrapper > .featured-product {
	flex:1 50%;
}
#wrapper > #container .woocommerce-breadcrumb-container {
	padding:10px 0;
	margin:0 auto;
	border-top:2px solid var(--color-rich-black);
	border-bottom:2px solid var(--color-rich-black);
	background:var(--color-caribbean);
	color:var(--color-anti-flash-white);
}
#wrapper > #container .woocommerce-breadcrumb-container .woocommerce-breadcrumb {
	margin:auto;
	width:90%;
	font-size:.9rem;
	color:var(--color-anti-flash-white);
}
#wrapper > #container .woocommerce-breadcrumb a:link,#wrapper > #container .woocommerce-breadcrumb a:visited,#wrapper > #container .woocommerce-breadcrumb a:active {
	color:var(--color-anti-flash-white);
	text-decoration:underline;
}
#wrapper > #container > #content > #content-container,
#wrapper > #container > #content > #front-page-container {
	min-height:40vh;
}
#wrapper > #container > #content > #content-container .page-title {
	margin:0 auto;
	text-align:center;
}
#wrapper > #container > #content > #content-container .page-title h2 {
	padding-top:1rem;
	font-size:1.4rem;
}
.woocommerce-account div.woocommerce-MyAccount-title-container > h2.woocommerce-MyAccount-title {
	padding:.5rem 0 1.5rem 0;
	font-size:1.2rem;
	text-align:center;
}
#wrapper > #container > #content > #content-container {
    margin:0 auto;
	width:95%;
}
.staff-list {
	display:flex;
	flex-wrap:wrap;
	align-items:stretch;
	justify-content:space-evenly;
	gap:20px;
}
.staff-list > .staff-member {
	flex:1 200px;
	text-align:center;
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	align-content:center;
}
.staff-list > .staff-member > .staff-bio {
	margin:5px;
	width:95%;
	font-size:.8rem;
	text-align:left;
}
.coaches > .staff-member {
	flex:100%;
}
.coaches > .staff-member .coach-header {
	display:flex;
	flex-wrap:wrap;
	justify-content: space-evenly;
	gap:2rem;
}
.coaches > .staff-member .coach-header-full {
	display:block;
}
/* Staff Archive */
.staff-archive {
	text-align: center;
	padding: 3rem 1rem;
}

.staff-archive-title {
	margin-bottom: 2rem;
}

.staff-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

.staff-card {
	text-align: center;
}

.staff-image img {
	display: block;
	margin: 0 auto;
	border-radius: 6px;
	max-width:400px;
}

.staff-name {
	margin-top: 1rem;
}

.staff-title {
	font-style: italic;
	margin: 0.25rem 0;
}

.staff-link {
	display: inline-block;
	margin-top: 1rem;
	text-decoration: none;
}

/* Single Staff */
.staff-single {
	display: flex;
	justify-content: center;
	padding: 2rem 1rem;
}

.staff-profile {
	max-width: 700px;
	text-align: center;
}

.staff-profile .staff-image img {
	margin: 0 auto 1.5rem;
}

.staff-type {
	font-weight: bold;
	margin-bottom: 1rem;
}

.staff-content {
	margin: 1.5rem 0;
}

.staff-email a {
	text-decoration: none;
	font-weight: bold;
}
/* Match WooCommerce Bookings label + select spacing */
#sl-filters .sl-filter-field label {
	font-size: 1rem;
	margin-bottom: 6px;
	display: block;
}
#sl-filters .sl-filter-field select.sl-filter {
	width: 140px;
	padding: 6px 8px;
	font-size: 0.95rem;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fff;
}
/* tighten up vertical alignment */
#sl-filters .sl-filter-field {
	display: flex;
	flex-direction: column;
}
body.page-id-97 .entry-content h1.wp-block-heading {
	font-size:1.4rem;
}
form.post-password-form input {
    padding: 8px !important;
    margin: 10px;
}
@media only screen and (min-width:850px) {
	#wrapper > footer {
		flex-direction:row;
	}
	#wrapper > footer > #sponsors {
		padding-bottom:2rem;
	}
	#wrapper > footer > section.footer-nav {
		flex:0 55%;
	}
	#wrapper > footer > section.theme-info {
		flex:0 35%;
		display:flex;
		flex-wrap:wrap;
		align-items:stretch;
	}
	#wrapper > footer > section.footer-nav div.footer-menu > div ul#menu-footer-sitemap.menu {
		margin:0;
	}
	#wrapper > footer > section.footer-nav div.footer-menu > div ul li {
		flex:1 50%;
	}
	#wrapper > footer > section.footer-nav {
		margin:0;
	}
	#wrapper > footer > section.footer-nav > div.footer-menu {
		width:100%;
	}
	#wrapper > footer > section > div.copyright > div {
		flex:100%;
	}
	#wrapper > footer > section > .footer-section-title {
		text-align:left;
	}
	#wrapper > footer > section > .footer-section-title > h3 {
		font-size:1.8rem;
	}
	#wrapper > footer > section > div.copyright {
		align-items:flex-start;
		font-size:.9rem;
	}
	#wrapper > footer > section > div.copyright > div {
		flex:90%;
		text-align:left;
		padding:10px;
	}
	#wrapper > footer > .footer-nav ul li {
		text-align:left!important;
	}
}
@media only screen and (min-width:900px) {
    body {
        font-size:1.1rem;
    }
	#wrapper > #container > #content > #content-container > #template-container {
		flex-wrap:nowrap;
		flex-direction:row-reverse;
		justify-content:space-evenly;
	}	
	#wrapper > #container > #content > #content-container .right-sidebar #sidebar-container {
		padding:0 1rem 0 .25rem;
		min-height:300px;
	}
	#wrapper > #container > #content > #front-page-container > #front-page-content {
		height:300px;
		padding:2rem;
	}
	#wrapper > #container > #content > #front-page-container > #front-page-featured-products > .featured-products-wrapper > .featured-product {
		flex:1 23%;
	}
	#wrapper > #container > #content > #front-page-container > #front-page-content {
		min-height:450px;
	}
	#wrapper > #container > #content > #front-page-container > #front-page-content > .background-image {
		right:25%;
		left:25%;
	}
	.coaches > .staff-member {
		flex:0 45%;
	}
}
@media only screen and (min-width:1000px) {
	#mobile-menu-container, #mobile-nav,#mobile-nav-overlay {
		display:none;
	}
	body {
		font-size:1.05rem;
	}
	a[href*="tel:"] {
		pointer-events: none;
	}
	:root {
		font-size: 22px;
    }
	#wrapper > #container,
	#wrapper > #footer {
		position:relative;
		top:120px;
	}
	/*	for fixed header on scroll	*/
	#wrapper > #header {
		transition: height .4s ease-in-out, background-color 300ms linear, box-shadow .5s ease-in-out;
		box-shadow: none;
		position:fixed;
		z-index:999;
		top:0;
		right:0;
		left:0;
		width:100%;
		height:120px;
	}
	#wrapper > #header.shift,
	#wrapper > #header.scroll-up {
		box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3);
	}
	#wrapper > #header.at-top {
		box-shadow: none;
	}
	#header #branding #site-logo img {
		max-width:180px;
	}
	#wrapper {
		overflow-x:unset;
		position:relative;
	}
	#site-title h1 {
		font-size:1.8rem;
	}
	#wrapper > #header > #branding {
		flex:0 15%;
		max-width:none;
		margin:0;
	}
	#wrapper > #header {
		background:#fff;
	}
	#wrapper > #container > #content > #front-page-container > section#front-page-content > div p {
		width:80%;
		max-width:1150px;
		font-size: 1.6rem;
	}
	#wrapper > div#container > main#content div.entry-content {
		margin:20px auto;
		max-width:none;
	}
	#wrapper > #container > #content > #content-container > section.right-sidebar > #template-container  {
		width:auto;
		padding: 3px;
	}
	#wrapper > footer > .footer-nav > .menu-footer-menu-container ul li {
		flex:auto;
	}
	#wrapper > #container > #content > #content-container section#collapsible-items-container > #collapsible-items > .item-container {
		font-size:1.3rem;
		padding:15px;
	}
	#header #branding {
		flex:1 20%;
	}
	#wrapper > #container > #content > #content-container,
	#wrapper > #container > #content > #front-page-container {
		margin:0 auto;
		padding:0;
	}
	#wrapper > div#container > main#content header.entry-header > h1.entry-title {
		font-size:1.6rem;
	}
	#wrapper > #container > #content > #content-container > .page-title > h2 {
		font-size:1.8rem;
	}
	.woocommerce-account div.woocommerce-MyAccount-title-container > h2.woocommerce-MyAccount-title {
		padding:.5rem 0 1.5rem 0;
		font-size:1.2rem;
		text-align:center;
	}
	#wrapper > #container > #content > #content-container,
	#wrapper > #container > #content > #front-page-container {
		min-height:70vh;
	}
	#wrapper > #container > #content > #front-page-container {
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
	}
	#wrapper > #container > #content > #front-page-container > #front-page-content > #front-page-services {
		min-height:auto;
	}
	#wrapper > #container > #content > #front-page-container > section {
		flex:100%;
	}
	#wrapper > div#container > main#content #front-page-container section:first-of-type h1,
	#wrapper > div#container > main#content #front-page-container section:first-of-type p {
		width:auto;
	}
	#wrapper > #container > #content > #front-page-container > section#front-page-content > div h1 {
		font-size: 3rem;
	}
	#wrapper > #container > #content > #content-container > section.right-sidebar {
		display:flex;
		align-items:flex-start;
		justify-content:center;
		margin-bottom:50px;
	}
	#wrapper > #container > #content > #content-container > section.right-sidebar > article  {
		flex:0 50%;
	}
	#wrapper > #container > #content > #content-container > section.right-sidebar > #template-container  {
		flex:0 30%;
		width:400px;
		max-width:none;
	}
	#wrapper > #container > #content > #front-page-container > section > p {
		font-size: 1.1rem!important;
	}
	#wrapper > footer > #sponsors {
		gap:10px;
		justify-content:space-evenly;
	}
	#wrapper > footer > #sponsors > .sponsors-tier {
		margin:5px;
		flex:0 45%;
	}
	body.page-id-97 .entry-content h1.wp-block-heading {
		font-size:1.8rem;
	}
}
@media only screen and (min-width:1300px) {
	:root {
		font-size: 22px;
    }
	#wrapper > #container > #content > #content-container {
		max-width:1600px;
	}
	.staff-list {
		gap:50px 10px;
	}
	.staff-list > .staff-member > .staff-bio {
		margin:5px;
		width:95%;
		font-size:.8rem;
		text-align:left;
	}
	.coaches > .staff-member .coach-header {
		flex-wrap:nowrap;
		justify-content: stretch;
		gap:1rem;
	}
	#wrapper > footer > section.footer-nav {
		flex:0 40%;
	}
	#wrapper > footer > section.theme-info {
		flex:0 35%;
	}
	#wrapper > footer > section > div.footer-menu,
	#wrapper > footer > section > div.copyright {
		font-size:1rem;
	}
}
@media only screen and (min-width:1600px) {
	#wrapper > #container > #content > #front-page-container > section > p {
		font-size: 1.25rem!important;
	}
}
@media only screen and (min-width:1800px) {
	#wrapper > #container > #content > #content-container,
	#wrapper > #container .woocommerce-breadcrumb-container .woocommerce-breadcrumb {
		max-width:1600px;
	}
	#wrapper > #container > #content > #content-container article {
		max-width:none;
	}
	body.page-template-right-sidebar #wrapper > #container .woocommerce-breadcrumb-container .woocommerce-breadcrumb {
		max-width:none;
	}
	#wrapper > #footer,
	#wrapper > footer > section > .copyright {
		font-size:.8rem;
	}
}