/*
Theme Name: All About Kids 2026
Author: Matthew Broerman
Description: Custom theme for allaboutkidslc.com website
Version: 0.0.1
*/

:root {
	--color-gray-dark: #444444;
	--color-gray-med: #999999;
	--color-gray-form: #bbbbbb;
	--color-gray-light: #cccccc;
	--color-gray-extralight: #eeeeee;
	--color-red: #DF2626;
	--color-blue: #248DD3;
	--color-blue-link: #1F7AB7;	/* for accessibility */
	--color-green: #47A038;
	--color-gold: #F49200;
	--color-red-light: #FFE1E1;
	--color-blue-light: #E0EFF9;
	--color-green-light: #DBFFCA;
	--color-gold-light: #fff0cd;
	--color-red-med: #ff9592;
	--color-blue-med: #84b9e2;
	--color-green-med: #97d090;
	--color-gold-med: #ffcd76;
	
	--swiper-pagination-color: var(--color-red);
	--swiper-wrapper-transition-timing-function: cubic-bezier(0, 0.7, 0.5, 1);
	
	--font-sans: 'Poppins', sans-serif;
	
	--header-height: 99px;
	--fade-speed: 200ms;
	--hover-opacity: 0.85;
	--radius-1x: 8px;
	--radius-2x: 16px;
	--edge-spacing: 60px;
	--nav-spacing: 60px;
	--section-spacing: 50px;
	--border-spacing : 55px;
	--center-spacing: 55px;
	--top-spacing: 60px;	
	--base-font-size: 15px;
}
@media (max-width: 1280px) {
	:root {
		--border-spacing : 50px;
		--center-spacing: 45px;
	}
}
@media (max-width: 990px) {
	:root {
		--border-spacing : 40px;
		--edge-spacing: 30px;
		--section-spacing: 35px;
		--center-spacing: 35px;
		--top-spacing: 40px;
		--nav-spacing: 30px;
	}
}
@media (max-width: 710px) {
	:root {
		--border-spacing : 30px;
	}
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	outline-color: #444444;
}
html, body {
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	background: #ffffff;
	font-family: var(--font-sans);
	font-size: var(--base-font-size);
	line-height: 1.55;
	letter-spacing: 0.01em;
	color: var(--color-gray-dark);
	font-weight: 400;
	word-break: break-word;
	
	border: none;
	
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: none;
	-webkit-overflow-scrolling: touch;
	-webkit-appearance: none;
	-moz-appearance: none;
    appearance: none; 
	scrollbar-gutter: stable;
}
body {
	overflow-x: hidden;
	overflow-y: scroll;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-sans);
	margin: 0;
	padding: 0;
	color: var(--color-gray-dark);
	font-weight: 700;
	padding-right: 15px; /* for ragging */
	
}
h1, h2  {
	margin-top: -5px;  /* offset type metrics */
}
h1 {
	font-size: 60px;
	margin-bottom: 30px;
	line-height: 1.13;
	color: var(--color-blue);
	position: relative;
}
h2 {
	font-size: 40px;
	margin-bottom: 20px;
	color: var(--color-blue);
	line-height: 1.2;
}
h3 {
	font-size: 28px;
	line-height: 1.25;
	margin-bottom: 20px;
}
h4 {
	font-size: 24px;
    margin-bottom: 10px;
    line-height: 1.3;
}
h5 {
	font-size: 18px;
    margin-bottom: 5px;
	line-height: 1.4;
}
h6 {
	font-size: var(--base-font-size);
    margin-bottom: 5px;
}
a, a:visited, a:active {
    color: var(--color-blue-link);
	text-decoration: underline;
}
	a:hover {
		opacity: var(--hover-opacity);
	}
a[href^=tel]{
    color:inherit;
    text-decoration:none;
}
a img {
  border: none;
}
pre {
	margin: 0;
	padding: 0;
	display: inline-block;
}
ul {
    margin-left: 25px;
    margin-bottom: 30px;
	margin-top: 3px;
}
ol {
    margin-left: 25px;
    margin-bottom: 30px;
	margin-top: 3px;
}
ul li {
    list-style: outside disc;
    padding: 2px 7px;
}
ol li {
    list-style: outside decimal;
    padding: 2px 7px;
}
img, svg {
	display: block;
	border: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
}
/*
iframe, video {
	width: auto;
	height: auto;
	display: block;
}
*/
	.video-cover {
		position: absolute; 
		top: 0; 
		left: 0; 
		width: 100%; 
		height: 100%; 
		aspect-ratio: 16/9; 
		border: 1px solid #ffffff;
		border-radius: var(--radius-2x);
		box-shadow: 0 0 0 20px #ffffff;
		z-index: 2;
		pointer-events: none;
	}
figure {
	margin-bottom: calc(var(--section-spacing));
	margin-top: calc(var(--section-spacing));
}
.wp-caption, .wp-element-caption, caption {
	display: block;
	padding: 13px 15px;
	/*background: #eeeeee;*/
	font-size: 15px;
	color: var(--color-gray-2);
	margin-bottom: -10px;
	text-align: center;
}	
p {
	margin: 0;
	padding: 0;
	margin-bottom: 25px;
	padding-right: 10px; /* for ragging */
}
p.large {
	font-size: 18px;
	margin-bottom: 30px;
}

@media (max-width: 1280px) {
	h1 {
		font-size: 50px;
	}
	
}

@media (max-width: 990px) {
	h1 {
		font-size: 36px;
		margin-bottom: 25px;
		line-height: 1.2;
	}
	h2 {
		font-size: 28px;
	}
	h3 {
		font-size: 24px;
	}
	h4 {
		font-size: 21px;
	}
	h5 {
		font-size: 17px;
	}
	p.large {
		font-size: 17px;
	}
}

@media (max-width: 710px) {
	h1 {
		/*
		font-size: 36px;
		line-height: 1.15;
		*/
	}
}

/*======================================================================
  HELPERS
=======================================================================*/

.clearfix:after {
  content: '';
  display: table;
  clear: both;
}
.fixed {
	position: fixed !important;	
}
.overflow {
	overflow: hidden !important;	
}
.margin-top {
	margin-top: var(--section-spacing) !important;
}
.margin-bottom {
	margin-bottom: var(--section-spacing) !important;
}
.padding-top {
	padding-top: calc(var(--section-spacing) - 20px) !important;
}
.padding-bottom {
	padding-bottom: var(--section-spacing) !important;
}
.padding-intro {
	padding-top: var(--top-spacing);
}
.no-padding {
	padding: 0 !important;
}
.no-margin {
	margin: 0 !important;
}
.no-border {
	border: none !important;
}
.text-left {
	text-align: left !important;
}
.text-center {
	text-align: center !important;
}
.ratio-1x1 {
	aspect-ratio: 1/1;
}
.ratio-16x9 {
	aspect-ratio: 16/9;
}
.border-bottom {
 	border-bottom: var(--base-border)
}
.border-top {
 	border-top: var(--base-border)
}
.row-reverse {
	flex-flow: row-reverse !important;
}

/*=======================================================================
  LOADERS
========================================================================*/

/****** logo spinner ************** */
#page-loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	z-index: 550;
}
	.show-page #page-loader {
		display: none;
	}
.loading-spinner, .loading-spinner:after {
  border-radius: 50%;
  width: 50px;
  height: 50px;
}
.loading-spinner {
  margin: 0 auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 5px solid #cccccc;
  border-right: 5px solid #cccccc;
  border-bottom: 5px solid #cccccc;
  border-left: 5px solid var(--color-blue);
  top: 50%;
  transform: translateY(-50%);
  animation: spin .7s infinite linear;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
	
/*=======================================================================
  STRUCTURE
========================================================================*/
#main {
	position: relative;
	margin-top: var(--header-height);
}		
#wrapper {
	transition: all .3s linear;
	opacity: 0;
}
	.show-page #wrapper {
		opacity: 1;
	}
#title-holder {
	position: relative;
	z-index: 580;
}
.title-bar {
		background: var(--color-blue);
		padding: 37px 0;
	}
		.title-bar h1 {
			margin: 0;
			font-size: 50px;
			color: #ffffff;
		}
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--header-height);
	background: #ffffff;
	box-shadow: 0 1px 10px rgba(0,0,0,0.2);
	z-index: 600;
}
#header .logo {
	width: 200px;
	height: auto;
	position: absolute;
	left: var(--edge-spacing);
	top: 28px;
}
	#header.scroll {
		/*box-shadow: 0 1px 10px rgba(0,0,0,0.2);*/
	}
	
@media (max-width: 1280px) {
	#header .logo {
		left: var(--nav-spacing);
	}
}
	
@media (max-width: 990px) {
	.title-bar {
		padding: 24px 0;
	}
		.title-bar h1 {
			font-size: 36px;
		}
	.padding-top {
		padding-top: calc(var(--section-spacing) - 10px) !important;
	}
}

/*=======================================================================
  NAV MENU
========================================================================*/ 

body.main-menu-open {
	overflow: hidden;
}
	.main-menu-open #nav .nav-holder, .main-menu-open #nav .menu {
		display: block;
	}
#nav {
	position: absolute;
	right: var(--edge-spacing);
	top: 27px;
	display: flex;
	font-weight: 600;
	gap: 28px;
}
	#nav ul, #nav li {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	#nav a {
		text-decoration: none;	
		display: inline-block;
		line-height: 44px;		
	}
		#nav a:hover {
			color: var(--color-blue-link);
		}
		#nav .button-icon {
			margin-top: -1px;
			line-height: initial;
		}
	#nav .menu {
		display: flex;
		gap: 28px;
	}
		#nav .menu li {
			position: relative;
		}
		#nav li.current-menu-item a, #nav li.current-menu-item a:hover, #nav li.current-menu-parent a, #nav li.current-menu-parent a:hover {
			/*border-bottom: 2px solid var(--color-red);*/
			color: var(--color-red);
		}
	#nav .sub-menu {
		height: auto;
		visibility: hidden;
		position: absolute;
		width: 280px;
		padding: 0 20px 0;
		background: var(--color-blue-light);
		border-radius: var(--radius-2x);
		transition: none; /* removes outro transition */
		opacity: 0;
		top: 55px;
		z-index: 600;
	}
			/* padding glitch for accordions on mobile */
			#nav .sub-menu li:first-child {
				padding-top: 10px;
			}
			#nav .sub-menu li:last-child {
				padding-bottom: 10px;
			}
		#nav .sub-menu li a {
			line-height: 34px !important;
			color: var(--color-blue-link) !important;
		}
		/*
		#nav .sub-menu a:hover {
			color: var(--color-blue-link) !important;
		}
		*/
		#nav .sub-menu span {
			font-weight: 400 !important;
		}
		#nav .menu-item-has-children {
			padding-right: 19px !important;
			margin-right: -8px !important;
		}
			#nav .menu-item-has-children:after {
				content: '';
				position: absolute;
				top: 14px;
				right: 0px;
				width: 16px;
				height: 16px;
				background: no-repeat center center;
				background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.6665 6.33338L20.229 4.89588L9.729 15.3959L9.0415 16.1146L9.729 16.8334L20.229 27.3334L21.6665 25.8959L11.8853 16.1146L21.6665 6.33338Z" fill="%23999999"/></svg>');
				background-size: 100% auto;
				pointer-events: none;
				transform: rotate(270deg);
			}
	.menu-actions {
		display: flex;
		gap: 28px;
	}
		.desktop-action-button {
			display: block;
		}
		.mobile-action-button {
			display: none;
		}
		.desktop-action-button a.button-icon,  .mobile-action-button a.button-icon {
			margin: 0;
		}
		#menu-trigger {
			position: relative;
			display: none !important;
			margin-top: 8px;
			margin-right: -8px;
		}
			#menu-trigger .menu-icon {
				display: block;
				width: 32px;
				height: 32px;
				position: relative;
				transform-origin: center;
			}
			#menu-trigger:hover {
				opacity: var(--hover-opacity);
			}
		#menu-trigger .line {
			position: absolute;
			width: 26px;
			height: 2px;
			background: var(--color-gray-med);
			transition: all .5s cubic-bezier(0,.7,0.3,1);
		}
			#menu-trigger .line.top {
				top: 7px;
				left: 0;
			}
			#menu-trigger .line.mid {
				top: 15px;
				left: 0;
				display: block;
			}
			#menu-trigger .line.bottom {
				top: 23px;
				left: 0;
			}
		.main-menu-open #menu-trigger .menu-icon {
			transform: rotate(45deg);
		}
			.main-menu-open #menu-trigger .top {
				top: 17px;
			}
			.main-menu-open #menu-trigger .mid {
				display: none;
			}
			.main-menu-open #menu-trigger .bottom {
				transform: rotate(-90deg);
				top: 17px;
				left: 0px;
			}
			
	/* if open */
	#nav .menu li.sub-menu-open > ul > a {
		color: var(--color-blue-link);
	}
	#nav .menu li.sub-menu-open .sub-menu {
		visibility: visible;
		opacity: 1;
		top: 45px;
		transition: all .3s cubic-bezier(0, 0.8, 0.4, 1), width 0s;  /* intro transition */
	}

@media (max-width: 1280px) {
	#nav {
		top: var(--header-height);
		left: 0;
		right: 0;	
	}
	#nav .nav-holder {
		display: none;
		width: 100%;
		height: 100vh;
		background: #ffffff;
		border-top: 1px solid #dddddd;
	}
	/*
	#nav .menu {
		display: none;
		width: 100%;
		height: 100vh;
		background: #ffffff;
		border-top: 1px solid #dddddd;
	}
	*/
		#nav .menu li {
			width: 100%;
			border-bottom: 1px solid #dddddd;
			padding: 0;
		}
		#nav .menu li > a {
			display: block !important;
			padding: 0 var(--nav-spacing) !important;
			line-height: 50px;
			color: var(--color-blue-link) !important;
		}
		#nav li.current-menu-item {
			color: inherit;
		}
		#nav .menu li.mobile-action-button {
			border: none;
		}
	#nav .sub-menu {
		width: 100vw;
		height: 0;
		position: relative;
		overflow: hidden;
		top: auto !important;
		border-radius: 0;
		transition: height .5s cubic-bezier(0, 0.8, 0.4, 1);
		
		padding: 0px !important;
		padding-left: 15px !important;
		visibility: visible; 
		opacity: 1;
	}
		#nav .sub-menu li {
			border: none;
		}
			#nav .sub-menu li:first-child {
				border-top: 1px solid #dddddd;
			}
		#nav .sub-menu a {
			line-height: 34px !important;
			padding: 0 var(--nav-spacing) !important;
		}
		#nav .menu-item-has-children {
			padding: 0 !important;
			margin-right: 0 !important;
		}
			#nav .menu-item-has-children:after {
				top: 14px;
				right: calc(var(--nav-spacing) + 1px);
				width: 20px;
				height: 20px;
				transform: rotate(270deg);
				transition: all .4s cubic-bezier(0, 0.8, 0.4, 1);
			}
			#nav .sub-menu-open.menu-item-has-children:after {
				transform: rotate(90deg);
			}
		#nav .menu li.sub-menu-open .sub-menu {
			padding: 0 0 0 15px !important;
		}
	.menu-actions {
		position: fixed;
		top: 27px;
		/*right: var(--edge-spacing);*/
		right: var(--nav-spacing);
	}
		#menu-trigger {
			display: block !important;
		}

}

@media (max-width: 710px) {
	#nav .button-icon {
		position: relative;
		top: auto;
		right: auto;
		
		width: calc(100% - var(--edge-spacing)*2);
		margin: 20px var(--edge-spacing);
		text-align: center;
	}
		#nav .button-icon a {
			width: 100%;
		}
	.desktop-action-button {
		display: none;
	}
	.mobile-action-button {
		display: block;
	}
}

/*=====================================================================
LAYOUT
======================================================================*/

.inside {
	width: 100%;
	padding: 0 var(--edge-spacing);
	margin: 0 auto;
	max-width: 1540px;
}

/* tabs ************************************************************* */

.tabs {
	border-bottom: 1px solid #dddddd;
	background: #ffffff;
	margin-bottom: var(--section-spacing);
}
.tab-menu, .tab-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.tab-menu {
	display: flex;
	flex-wrap: nowrap;
	
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
	margin-bottom: -1px;
	padding-left: var(--edge-spacing);
	margin-left: calc(var(--edge-spacing) * -1);			
	width: calc(100% + var(--edge-spacing)*2)
}
	.tab-menu::-webkit-scrollbar {
		display: none;
	}
	.tab-menu:last-child:after {
		content: '';
		flex: none;
		width: calc(var(--edge-spacing) * 2);
	}
.tab-menu li {
	flex: 0 0 auto;
	align-items: flex-start;
	margin-right: 30px;
}
.tab-menu a {
	display: block;
	position: relative;
	color: var(--color-gray-dark);
	font-weight: 600;
	text-decoration: none;
	opacity: 1;
	line-height: 68px;
}
	.tab-menu .current_page_item a, .tab-menu .current_page_item a:hover {
		color: var(--color-red);
	}
	.tab-menu a:hover {
		color: var(--color-blue-link);
	}

.checkmark-list ul, .checkmark-list li {
	margin: 0;
	padding: 0;
	list-style: none;
}
	.checkmark-list ul {
		margin-left: 50px;
	}
	.checkmark-list li {
		position: relative;
		margin-bottom: 25px;
	}
	.checkmark-list li::before {
		content: '';
		display: inline-block;
		position: absolute;
		top: -2px;
		left: -50px;
		background: center center no-repeat;
		background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M28.2812 6.28125L11 23.5625L3.71875 16.2812L2.28125 17.7188L10.2812 25.7188L11 26.4062L11.7188 25.7188L29.7188 7.71875L28.2812 6.28125Z" fill="%23F49200"/></svg>');
		background-size: 100% auto;
		width: 32px;
		height: 32px;
	}	
	.accent-blue .checkmark-list li::before {
		background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M28.2812 6.28125L11 23.5625L3.71875 16.2812L2.28125 17.7188L10.2812 25.7188L11 26.4062L11.7188 25.7188L29.7188 7.71875L28.2812 6.28125Z" fill="%23248DD3"/></svg>');
	}
	.accent-green .checkmark-list li::before {
		background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M28.2812 6.28125L11 23.5625L3.71875 16.2812L2.28125 17.7188L10.2812 25.7188L11 26.4062L11.7188 25.7188L29.7188 7.71875L28.2812 6.28125Z" fill="%2347A038"/></svg>');
	}
	.accent-gold .checkmark-list li::before {
		background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M28.2812 6.28125L11 23.5625L3.71875 16.2812L2.28125 17.7188L10.2812 25.7188L11 26.4062L11.7188 25.7188L29.7188 7.71875L28.2812 6.28125Z" fill="%23F49200"/></svg>');
	}
	.accent-red .checkmark-list li::before {
		background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M28.2812 6.28125L11 23.5625L3.71875 16.2812L2.28125 17.7188L10.2812 25.7188L11 26.4062L11.7188 25.7188L29.7188 7.71875L28.2812 6.28125Z" fill="%23DF2626"/></svg>');
	}
.fader {
	position: relative;
	opacity: 0;
	transition: all .3s linear;
}
	.fader.on {
		opacity: 1;
	}
.cutout {
	max-width: 550px;
	display: block;
	margin: 0 auto;
}
.rounded img {
	border-radius: var(--radius-2x);
}
.accent-blue {
	border-color: var(--color-blue-med) !important;
}
	.accent-blue .circle {
		background: var(--color-blue) !important;
	}
	.accent-blue h1, .accent-blue h2 {
		color: var(--color-blue) !important;
	}
.accent-red {
	border-color: var(--color-red-med) !important;
}
	.accent-red .circle {
		background: var(--color-red) !important;
	}
	.accent-red h1, .accent-red h2 {
		color: var(--color-red) !important;
	}
.accent-green {
	border-color: var(--color-green-med) !important;
}
	.accent-green .circle {
		background: var(--color-green) !important;
	}
	.accent-green h1, .accent-green h2 {
		color: var(--color-green) !important;
	}
.accent-gold {
	border-color: var(--color-gold-med) !important;
}
	.accent-gold .circle {
		background: var(--color-gold) !important;
	}
	.accent-gold h1, .accent-gold h2 {
		color: var(--color-gold) !important;
	}
.accent-gray h1, .accent-gray h2 {
	color: var(--color-dark-gray) !important;
}
	
/* blocks ************************************************************* */

.layout-main-feature h1, .layout-franchise-feature h1, .programs-header h1, .program-detail-header h1 {
	margin-bottom: 25px;
}
.layout-main-feature h5, .layout-franchise-feature h5, .programs-header h5, .program-detail-header h5 {
	display: block;
	font-weight: 600;
	color: var(--color-red);
	font-size: 18px;
	margin-bottom: 25px;
}
.layout-main-feature p, .layout-franchise-feature p, .programs-header p, .program-detail-header p {
	font-size: 18px;
	margin-bottom: 30px;
}
	.layout-main-feature p:last-child, .layout-franchise-feature p:last-child, .programs-header p:last-child, .program-detail-header p:last-child {
		margin-bottom: 0px; /* compensate for WP editor */
	}
.layout-main-feature {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 var(--center-spacing);
}
	.layout-main-feature > div {
		margin-bottom: 50px;
	}
	.layout-main-feature > div.text {
		/*margin-top: -20px;*/
		padding: var(--top-spacing) 0 var(--top-spacing);
	}
	.layout-main-feature > div.cutout {
		flex-shrink: 0;
		width: 40%;
		padding-top: 30px;
	}
.layout-franchise-feature {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 var(--center-spacing);
}
	.layout-franchise-feature > div {
		width: calc(50% - var(--center-spacing)/2);
		flex: 1 1 0;
	}
	.layout-franchise-feature > div:first-child {
		align-self: flex-start;
	}
.layout-50-50 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0 var(--center-spacing);
}
	.layout-50-50 > div {
		width: calc(50% - var(--center-spacing)/2);
		flex: 1 1 0;
	}
.layout-border-feature {
	display: flex;
	align-items: flex-start;
	gap: 0 var(--center-spacing);
	padding: var(--border-spacing);
	border: 2px solid black;
	border-radius: var(--radius-2x);
}
	.layout-border-feature > div {
		width: 50%;
		flex: 1 1 0;
	}
.layout-50-50.reverse, .layout-border-feature.reverse {
	flex-direction: row-reverse;
}
.layout-testimonials {
	
}
	.layout-testimonials h2 {
		color: var(--color-blue);
		margin-bottom: 40px;
		text-align: center;
	}
	.layout-video-testimonials h2 {
		color: var(--color-gray-dark);
		margin-bottom: 40px;
		text-align: center;
	}
	.layout-testimonials h3 {;
		margin-bottom: 40px;
	}
	.testimonial-holder, .video-testimonial-holder {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0 var(--center-spacing);
	}
		.video-testimonial-holder {
			margin-top: 45px;
		}
		.testimonial-holder > div {
			width: calc(50% - calc(var(--center-spacing)/2));
			flex-shrink: 0;
			align-self: stretch;
			border: 2px solid var(--color-blue-med);
			border-radius: var(--radius-2x);

			display: flex;
			align-items: center;
			justify-content: center;
			min-height: 200px;
		}
		.video-testimonial-holder > div {
			width: calc(50% - calc(var(--center-spacing)/2));
			flex-shrink: 0;
		}
	.layout-testimonials .quote {
		max-width: 80%;
		text-align: center;
		font-size: 18px;
		padding: 60px 0 65px;
	}
		.layout-testimonials .quote p {
			margin-bottom: 15px;
		}
			.layout-testimonials .quote p:last-child {
				margin-bottom: 0; /* compensate for WP editor */
			}
		.layout-testimonials .quote strong, .layout-testimonials .quote b {
			display: block;
			color: var(--color-red);
			font-size: var(--base-font-size);
			font-weight: 600;
			margin-top: 20px;
			text-transform: uppercase;
		}	
.layout-franchise-stats {
	text-align: center;
}
	.layout-franchise-stats h2 {
		margin-bottom: 40px;
	}
	.stats-holder {
		display: flex;
		flex-wrap: wrap;
		border: 2px solid var(--color-green-med);
		border-radius: var(--radius-2x);
	}
		.stats-holder > div {
			padding: 40px;
			border-right: 2px solid var(--color-green-med);
			width: 25%;
		}
		.stats-holder > div:last-of-type {
			border: none;
		}
			.stats-holder h3 {
				font-size: 42px;
				color: var(--color-green) !important;
				margin-bottom: 5px;
				margin-top: -5px;
				font-weight: 600;
			}
			.stats-holder p {
				margin-bottom: 0;
			}
ul.circle-features, .circle-features > li {
	margin: 0;
	padding: 0;
	list-style: none;
}
	.circle-features {
		margin-bottom: -15px;
	}
	.circle-features > li {
		display: flex;
		gap: 0 20px;
		padding-top: 5px;
	}
		.circle-features .circle, .circle-features > li .text {
			margin-bottom: 30px;
		} 
			.circle-features li p:last-of-type {
				margin-bottom: 0;
			}
			.circle-features > li:last-of-type .text, .circle-features > li:last-of-type .circle {
				margin-bottom: 10px;
			}
	.circle-features .circle {
		position: relative;
		width: 64px;
		height: 64px;
		border-radius: 50%;
		background: auto;
		flex-shrink: 0;
		margin-top: 3px;
	}
	.circle-features .icon {
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -20px -20px;		
		width: 40px;
		height: 40px;
	}
	.circle-features .number {
		text-align: center;
		color: #ffffff;
		font-weight: 600;
		font-size: 32px;
		position: absolute;
		width: 100%;
		top: 50%;
		margin-top: -25px;		
	}
.border-inset {
	padding: 40px;
	border: 2px solid black;
	border-radius: var(--radius-2x);
	align-self: stretch;
}
	.border-inset.accent-gold h3 {
		color: var(--color-gold) !important;
		margin-top: -5px;
	}

@media (max-width: 1280px) {
	.layout-border-feature {
		padding: var(--border-spacing);
	}
	.video-testimonial-holder {
		margin-top: auto;
	}
}
	
@media (max-width: 990px) {
	.border-inset {
		padding: 30px;
	}
	.border-inset.accent-gold h3 {
		margin-top: 0;
	}
	.layout-main-feature h1, .programs-header h1, .program-detail-header h1 {
		margin-bottom: 20px;
	}
	.layout-main-feature h5, .programs-header h5, .program-detail-header h5 {
		margin-bottom: 20px;
	}
	.layout-main-feature p:last-child, .programs-header p:last-child, .program-detail-header p:last-child {
		margin-bottom: 10px !important;
	}
	.layout-main-feature p, .programs-header p, .program-detail-header p {
		font-size: 17px;
	}
	.layout-testimonials .quote {
		font-size: 17px;
	}
	.layout-main-feature {
		display: block;
	}
		.layout-main-feature > div {
			width: 100%;
			margin: 0;
			padding: 0;
		}
		.layout-main-feature > div.text {
			padding-top: 0;
			padding-bottom: var(--section-spacing);
		}
		.layout-main-feature > div.cutout {
			margin: 0 auto;
			width: 100%;
			padding-bottom: var(--border-spacing);
		}
	.layout-50-50, .layout-franchise-feature {
		display: block;
	}
		.layout-50-50 > div, .layout-franchise-feature > div {
			width: 100%;
			margin-bottom: var(--section-spacing);
		}
	.layout-border-feature {
		display: block;
		padding: var(--border-spacing);
	}
		.layout-border-feature > div {
			width: 100%;
			margin-bottom: var(--section-spacing);
		}
		.layout-border-feature > div:last-child {
			margin-bottom: 0;
		}
	.layout-testimonials .quote {
		padding: 45px 0 50px;
	}
		.testimonial-holder {
			display: block;
		}
			.testimonial-holder > div {
				width: 100%;
				margin-bottom: var(--section-spacing);
			}
	.stats-holder > div {
		width: 50%;
	}
		.stats-holder > div:nth-child(1), .stats-holder > div:nth-child(2) {
			border-bottom: 2px solid var(--color-green-med);
		}
		.stats-holder > div:nth-child(2) {
			border-right: none;
		}

}
@media (max-width: 710px) {
	.layout-border-feature {
		padding: var(--border-spacing);
	}
	.stats-holder > div {
		border-right: none;
		border-bottom: 2px solid var(--color-green-med);
		width: 100%;
	}
	.video-testimonial-holder {
		display: block;
	}
		.video-testimonial-holder > div {
			width: 100%;
			margin-bottom: 45px;
		}
}
/*======================================================================
  PAGES
=======================================================================*/

/* HOME **************************************************************** */
/*
.home-subfeatures {
	margin-top: -5px;
}
	.home-subfeatures h2 {
		text-align: center;
		margin-bottom: 60px;
	}
	.home-subfeatures > div {
		display: flex;
		gap: 0 40px;
		margin-top: 35px;
		margin-bottom: var(--section-spacing);
	}
	.home-subfeatures > div > div {
		position: relative;
		width: 33.33%;
		flex: 1 1 0;
		text-align: center;
		padding: 52px 50px 40px;
		border-width: 2px; 
		border-style: solid;
		border-radius: var(--radius-2x);
	}
		.home-subfeatures p {
			margin: 0;
		}
		.home-subfeatures p, .home-subfeatures h5 {
			padding: 0;
		}
	.home-subfeatures .circle {
		position: absolute;
		top: 0;
		left: 50%;
		margin-top: -32px;
		margin-left: -32px;
		width: 64px;
		height: 64px;
		border-radius: 50%;
		background: auto;
		flex-shrink: 0;
	}
	.home-subfeatures .icon {
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -20px -20px;		
		width: 40px;
		height: 40px;
	}
*/
.home-programs {
}
	.home-programs .text {
		text-align: center;
		max-width: 800px;
		margin: 0 auto;
		margin-bottom: 45px;
	}
		.home-programs h2 {
			color: var(--color-red);
		}


/* PROGRAMS *********************************************************** */

.programs-header {
	
}
	.programs-header .text {
		text-align: center;
		max-width: 800px;
		margin: 0 auto;
		margin-bottom: 45px;
	}		
/* For infants, toddler pages, etc */
.program-detail-header {
	
}
	.program-detail-header h5.section-name {
		margin-top: 0;
	}
	.program-detail-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0 var(--center-spacing);
		padding: var(--border-spacing);
		border: 2px solid black;
		border-color: var(--color-blue-med);
		border-radius: var(--radius-2x);
	}	
	.program-detail-inner > div.cutout {
		flex-shrink: 0;
		width: 40%;
		padding: 0;
		margin-top: -15px;
		margin-bottom: -3px;
	}
	
@media (max-width: 1280px) {
	.program-detail-inner {
		/*padding: var(--border-spacing);*/
	}
}
		
@media (max-width: 990px) {

	.program-detail-inner {
		display: block;
		padding: var(--border-spacing);
	}	
	.program-detail-inner > div.cutout {
		width: 100%;
		padding-bottom: 30px;
		margin-top: 0;
		margin-bottom: 0;
	}
	
}
@media (max-width: 710px) {

	.program-detail-inner {
		padding: var(--border-spacing);
	}
	
}
		
/* FAQs **************************************************************** */

.faqs {
	
}
.faqs h3 {
	margin-bottom: 20px;
}
/* accordion plugin for ALL */
.ui-accordion {
	margin-top: 0 !important;
	border-bottom: 1px solid var(--color-gray-light) !important;
	margin-bottom: 50px !important;
}
.ui-accordion .ui-widget-content a {
	color: var(--color-blue-link);
}
	.ui-accordion .ui-widget-content a:hover {
	
	}
.ui-accordion .ui-accordion-header {
	position: relative;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	padding: 17px 0 !important;
	padding-right: 40px !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: var(--color-gray-dark) !important;
}
	.ui-accordion .ui-state-hover {
		color: var(--color-blue-link) !important;
	}
.ui-accordion .ui-state-default {
	border: none !important;
	border-top: 1px solid var(--color-gray-light) !important;
	background: transparent !important;
}
.ui-accordion .ui-state-default::before {
	position: absolute;
	top: 19px;
	right: 0px;
	content: '';
    z-index: 50;
	width: 24px;
	height: 24px;
	background: center center no-repeat;
	background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.6665 6.33338L20.229 4.89588L9.729 15.3959L9.0415 16.1146L9.729 16.8334L20.229 27.3334L21.6665 25.8959L11.8853 16.1146L21.6665 6.33338Z" fill="%23999999"/></svg>');
	background-size: 100%;
	transform: rotate(270deg);
	transition: all .4s cubic-bezier(0, 0.8, 0.4, 1);
}
.ui-accordion .ui-state-active {
	color: var(--color-red) !important;
}
	.ui-accordion .ui-state-active::before {
		transform: rotate(90deg);
	}
.ui-accordion .ui-accordion-content {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	
	padding-right: 20px !important;
	font-family: var(--font-sans) !important;
	font-size: var(--base-font-size) !important;
	color: var(--color-gray-dark) !important;
	line-height: 1.5 !important;
}
	.ui-accordion .ui-accordion-content .content {
		padding: 5px 0 0;
		margin-bottom: 35px;
	}
.ui-accordion-header-icon {
	display: none !important;
}

@media (max-width: 990px) {

	.ui-accordion {
		margin-bottom: 40px !important;
	}
	
}

/* LOCATIONS **************************************************************** */

.location-info {
	position: relative;
}
.location-notice {
	margin-bottom: 25px;
	padding: 11px 20px !important;
	border: none !important;
	background: var(--color-gold-light);
	border-radius: var(--radius-1x);
}
	.location-notice p {
		margin: 0 !important;
	}
.location-details {
	display: flex;
	margin-top: 30px;
}
	.location-details > div {
		padding-right: 30px;
		flex: 1 1 0;
	}
.location-action {
	margin: 25px 0 30px;
}
.location-social {
	justify-content: flex-start;
	margin-top: 25px;
}

@media (max-width: 990px) {

	.location-details {
		display: block;
		margin-bottom: calc(var(--section-spacing) + 20px);
	}
	.location-details > div {
		padding: 0;
	}
	
}

/* swiper plugin ************************************************* */

.swiper-scrollbar {
	display: none !important;
}

/* gallery */

.gallery-holder {
	position: relative;
}
	.gallery-holder .gallery-controls {
		position: absolute;
		width: 100%;
		bottom: -60px;
		display: flex;
		gap: 0 5px;
		align-items: center;
		justify-content: center;
	}
	.custom-swiper-button-next, .custom-swiper-button-prev {
		background: center center no-repeat;
		background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.6665 6.33338L20.229 4.89588L9.729 15.3959L9.0415 16.1146L9.729 16.8334L20.229 27.3334L21.6665 25.8959L11.8853 16.1146L21.6665 6.33338Z" fill="%23cccccc"/></svg>');
		background-size: 100% auto;
		width: 32px;
		height: 32px;		
		z-index: 15;
		cursor: pointer;
	}
		.custom-swiper-button-next {
			right: 0;
			top: -5px;
			transform: rotate(180deg);
		}
		.custom-swiper-button-prev {
			left: 0;
			top: -5px;
		}
.gallery-holder .swiper-pagination, .carousel-holder .swiper-pagination {
	position: relative;
	top: auto;
	width: auto !important;
	left: auto !important;
	transform: none !important;
}
	.swiper-gallery {
		border-radius: var(--radius-2x);
		cursor: grab;
	}
	.swiper-gallery .swiper-slide {
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
		background: #cccccc center center no-repeat;
		background-size: cover;
	}
	.swiper-wrapper > div:first-child {
		border-radius: var(--radius-2x);
		border-bottom-right-radius: 0;
		border-top-right-radius: 0;		
	}
	.swiper-wrapper > div:last-child {
		border-radius: var(--radius-2x);
		border-bottom-left-radius: 0;
		border-top-left-radius: 0;		
	}
	
@media (max-width: 990px) {
	.gallery-holder {
		margin-bottom: 100px;
	}

	
}

/* carousel */
.card-carousel {
	/*width: calc(100% - 70px);*/
	width: 100%;
	margin: 0 auto;
	position: relative;
	padding-top: 60px;
}
	.card-carousel a {
		text-decoration: none !important;
		color: inherit;
	}
		.card-carousel a:hover {
			opacity: var(--hover-opacity);
		}
		.card-carousel a:hover h5 {
			color: var(--color-blue-link);
		}
	.card-carousel .image {
		width: 100%;
		height: 210px;
		background: #cccccc center center no-repeat;
		background-size: cover;
		border-radius: var(--radius-2x);
		margin-bottom: 15px;
	}
	.card-carousel .desc {
		text-align: left;
		margin-bottom: 40px;
	}	
		.card-carousel h5 {
			margin-top: 0;
			margin-bottom: 2px;
			color: var(--color-red);
		}
		.card-carousel h6 {
			font-weight: normal;
			font-size: 15px;
			color: #767676;
			margin-top: 0;
			margin-bottom: 12px;
		}
.carousel-holder .carousel-controls {
	position: absolute;
	width: 100%;
	top: 0;
	display: flex;
	gap: 0 5px;
	align-items: center;
	justify-content: center;
}
	.carousel-controls .custom-swiper-button-next, .carousel-controls .custom-swiper-button-prev {
		background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.6665 6.33338L20.229 4.89588L9.729 15.3959L9.0415 16.1146L9.729 16.8334L20.229 27.3334L21.6665 25.8959L11.8853 16.1146L21.6665 6.33338Z" fill="%23cccccc"/></svg>');
		/*background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.6665 6.33338L20.229 4.89588L9.729 15.3959L9.0415 16.1146L9.729 16.8334L20.229 27.3334L21.6665 25.8959L11.8853 16.1146L21.6665 6.33338Z" fill="%23DF2626"/></svg>');*/
	}
	/* disabled styles for carousel */
	.carousel-controls .custom-swiper-button-next:disabled, .carousel-controls .custom-swiper-button-prev:disabled {
		background-image: url('data:image/svg+xml,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21.6665 6.33338L20.229 4.89588L9.729 15.3959L9.0415 16.1146L9.729 16.8334L20.229 27.3334L21.6665 25.8959L11.8853 16.1146L21.6665 6.33338Z" fill="%23cccccc"/></svg>');
	}
.staff-accordion.ui-accordion {
	margin-top: var(--section-spacing) !important;
	border-bottom: 0 !important;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 30px;
}
	.staff-accordion .member {
		width: calc(50% - 15px);
		border-radius: var(--radius-2x);
		border: 1px solid var(--color-blue-med);
	}
	.staff-accordion .details {
		display: flex;
		gap: 25px;
		align-items: center;
	}
		.staff-accordion .image {
			flex-shrink: 0;
			width: 120px;
			height: 120px;
			background: var(--color-blue-light) center center no-repeat;
			background-size: cover;
			background-image: url('img/headshot-blank.png');
			border-radius: 12px;
		}
		.staff-accordion h5.name {
			margin-top: 0;
			margin-bottom: 3px;
			padding-right: 40px;
		}
		.staff-accordion h6.job {
			font-weight: normal;
			font-size: 15px;
			color: #767676;
			margin-top: 0;
			margin-bottom: 0;
			padding-right: 25px;
		}
		.staff-accordion.ui-accordion .ui-accordion-content .content p {
			margin-bottom: 25px;
		}
		.staff-accordion.ui-accordion .ui-accordion-content .content p:last-of-type {
			margin-bottom: 30px;
		}
/* accordion plugin for STAFF */
.staff-accordion.ui-accordion .ui-accordion-header {
	padding: 30px !important;
}
	.staff-accordion.ui-accordion .ui-state-hover h5 {
		color: var(--color-blue-link) !important;
	}
	.staff-accordion.ui-accordion .ui-state-active h5 {
		color: var(--color-red) !important;
	}
.staff-accordion.ui-accordion .ui-state-default {
	border: none !important;
}
.staff-accordion.ui-accordion .ui-state-default::before {
	top: 50%;
	right: 28px;
	margin-top: -14px;
}
.staff-accordion.ui-accordion .ui-accordion-content {
	padding-right: 0px !important;
}
.staff-accordion.ui-accordion .ui-accordion-content .content {
	padding: 0 !important;
	margin: 0 30px;
}
	.staff-accordion.ui-accordion .ui-accordion-content p {
		padding-right: 0;
	}
	.staff-accordion.ui-accordion .ui-accordion-content .content p:last-of-type {
		margin-bottom: 35px;
	}
	
@media (max-width: 1280px) {
	.staff-accordion.ui-accordion {
		display: block;
	}
		.staff-accordion .member {
			width: 100%;
			margin-bottom: 24px;
		}
		.staff-accordion .details {
			gap: 20px;
		}
		.staff-accordion .image {
			width: 80px;
			height: 80px;
		}
	.staff-accordion.ui-accordion .ui-accordion-header {
		padding: 24px !important;
	}
	.staff-accordion.ui-accordion .ui-accordion-content .content {
		margin: 0 24px;
	}
	.staff-accordion.ui-accordion .ui-state-default::before {
		right: 22px;
	}

}


/*======================================================================
  FOOTER
=======================================================================*/

#footer {
	position: relative;
	box-sizing: border-box;
	color: var(--color-gray-dark);
	padding: 40px 0 70px;
	margin-top: 100px;
	box-shadow: 0 -1px 0 rgba(0,0,0,0.1);
}
	#footer a {
		color: var(--color-blue-link);
	}
		#footer a:hover {
			opacity: var(--hover-opacity);
		}
	#footer ul, #footer li {
		margin: 0;
		padding: 0;
		list-style: none;
	}
		#footer li {
			margin-bottom: 7px;
		}
	.footer-cols {
		display: flex;
		justify-content: space-between;
		/*margin: 0 var(--edge-spacing);*/
	}
	.footer-copyright {
		margin: 0 auto;
		text-align: center;
		padding: 40px 40px 0;
	}	
.footer-social {
	justify-content: flex-end;
}
.social-icons {
	text-align: center;
	display: flex;
	gap: 20px;
}
	.social-icons a {
		opacity: 1;
	}
	.social-icons img {
		width: 24px;
		height: 24px;
	}
		.social-icons a:hover {
			opacity: var(--hover-opacity);
		}

@media (max-width: 990px) {
	.footer-cols {
		display: block;
	}
		.footer-cols > div {
			margin-bottom: var(--section-spacing);
		}
		.footer-cols > div:nth-child(2) {
			margin-bottom: 0;
		}
	.footer-social {
		justify-content: flex-start;
	}
}

/*================================================================
  FORMS
================================================================*/

.form-holder {
	margin-top: 45px;
}
label {
	display: block;
	font-size: var(--base-font-size);
	color: #767676;
	margin-bottom: 7px;
}
label:hover {
	cursor: pointer;
}
label:has(input[type=checkbox]), label:has(input[type=radio]) {
	color: inherit;
	margin: 0;
	display: inline-block;
}
input[type=text], input[type=password], input[type=tel], input[type=email], textarea {
	appearance: none;
	width: 100%;
	padding: 11px 10px;
	border: 1px solid var(--color-gray-form);
	font-size: var(--base-font-size);
	font-family: var(--font-sans);
	/*margin-bottom: 25px;*/
	border-radius: var(--radius-1x);
}
input[type=text]::placeholder, input[type=password]::placeholder, input[type=tel]::placeholder, input[type=email]::placeholder, textarea::placeholder {
	color: var(--color-gray-med);
}
textarea {
	min-height: 150px;
}

/* select ************************************************* */

select {
	appearance: none;
	display: inline-block;
	margin: 0;
	width: 100%;
	padding: 12px 10px;
	border: 1px solid var(--color-gray-form);
	font-size: var(--base-font-size);
	font-family: var(--font-sans);
	/*margin-bottom: 25px;*/
	border-radius: var(--radius-1x);
	color: var(--color-gray-dark);
	
	background: url('img/caret-down.svg') no-repeat !important;
	background-position: center right 11px !important;
	background-size: 16px auto !important;
}
select::-ms-expand {
  display: none;
}
select:disabled {
	background-color: var(--color-gray-extralight);
	border-color: var(--color-gray-light);
	color: var(--color-gray-med);
}

/* checkbox *********************************************** */

input[type=checkbox] {
	appearance: none;
	display: inline-block;
	margin-right: 10px;
	width: 18px;
	height: 18px;
	border: 1px solid var(--color-gray-form);
	vertical-align: middle; 
	position: relative; 
	bottom: 1px; 
	border-radius: 4px;	
	box-sizing: border-box;
	background-color: transparent;
	transition: all .2s cubic-bezier(0, 0.8, 0.4, 1);
}
input[type=checkbox]:checked {
	background-size: cover;
	background-color: var(--color-red);
	border-color: var(--color-red);
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" baseProfile="tiny" version="1.2" viewBox="0 0 32 32"><g id="checkmark"><polygon points="11.9 25.4 3.8 17.2 6.2 14.8 11.9 20.4 25.8 6.5 28.3 9 11.9 25.4" fill="%23fff"/></g></svg>')
}
input[type=checkbox]:disabled {
	background-color: var(--color-gray-extralight);
	border-color: var(--color-gray-light);
}
input[type=checkbox]:disabled:checked {
	 background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" baseProfile="tiny" version="1.2" viewBox="0 0 32 32"><g id="checkmark"><polygon points="11.9 25.4 3.8 17.2 6.2 14.8 11.9 20.4 25.8 6.5 28.3 9 11.9 25.4" fill="%23bbb"/></g></svg>')
}

/* radio *********************************************** */
input[type=radio] {
	appearance: none;
	background-color: #fff;
	margin: 0;
	
	width: 18px;
	height: 18px;
	border: 1px solid var(--color-gray-form);
	border-radius: 50%;
	vertical-align: middle; 
	position: relative; 
	bottom: 1px; 
	margin-right: 10px;
	box-sizing: border-box;
	box-shadow: inset 0 0 0 20px #ffffff;
	transition: all .2s cubic-bezier(0, 0.8, 0.4, 1);
}
input[type=radio]:not(:disabled):checked {
	background-color: var(--color-red);
	border-color: var(--color-red);
	box-shadow: inset 0 0 0 3px #ffffff;
}
input[type=radio]:disabled {
	background-color: var(--color-gray-extralight);
	border-color: var(--color-gray-light);
	color: var(--color-gray-med);
}
input[type="radio"]:disabled:checked {
	background-color: var(color-gray-extralight);
	background-size: 12px;
	background-image: url('data:image/svg+xml,<svg height="100" width="100" xmlns="http://www.w3.org/2000/svg"><circle r="45" cx="50" cy="50" fill="%23aaaaaa" /></svg>');
	
}
/* button *********************************************** */
button {
	appearance: none;
	position: relative;
	display: inline-block;
	padding: 0;
	margin: 0;
	border: 0;
	font-family: var(--font-sans) !important;
}
	button:hover {
		opacity: var(--hover-opacity):
	}
/* hack for WP editor */
.button, .button-icon, .button-form {
	position: relative;
	display: inline-block;
	margin: 5px 10px 5px 0;
	padding: 0;
}
	.button a, .button-form input, .button-icon a {
		cursor: pointer;
		display: inline-block;
		position: relative;
		font-weight: 600;
		padding: 11px 25px;
		transition: all .4s cubic-bezier(0, 0.8, 0.4, 1);
		color: #ffffff !important;
		text-decoration: none !important;
		background-color: var(--color-red);
		border-radius: var(--radius-1x);	
		font-size: var(--base-font-size);
		font-family: var(--font-sans);
		border: 0;
		opacity: 1;
	}
	.button:after, .button-form p:after  {
	  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" baseProfile="tiny" version="1.2" viewBox="0 0 32 32"><g id="checkmark"><polygon points="12.6 27.6 10.5 25.5 19.9 16 9.9 6.1 12.1 3.9 24.2 16 12.6 27.6" fill="%23fff"/></g></svg>');
	  position: absolute;
	  opacity: 0;
	  top: 14px;
	  right: 24px;
	  width: 14px;
	  height: 14px;
	  transition: all .4s cubic-bezier(0, 0.8, 0.4, 1);
	  pointer-events: none;
	}
	.button:hover a, .button-form:hover input {
	  padding-right: 31px;
	  padding-left: 19px;
	  opacity: var(--hover-opacity);
	}
	.button:hover:after {
	  opacity: 0.8;
	  right: 14px;
	}
	.button-form p:after  {
		right: 89px;
	}	
		.button-form:hover p:after {
		  opacity: 0.8;
		  right: 78px;
		}

/* button icon */
.button-icon {
	margin: 0;
}
	.button-icon a {
		padding: 11px 19px;
		padding-left: 39px;
		line-height: initial !important;
	}
		.button-icon a:hover {
			opacity: var(--hover-opacity);
		}
	.button-icon span {
		position: absolute;
		top: 11px;
		left: 12px;
		width: 22px;
		height: 22px;		
	}
	.button-icon:hover span {
		animation: bounce .4s ease-in infinite;
	}
	.button-icon svg {
		fill: #ffffff;
		opacity: 0.6;
	}
@keyframes bounce {
  0% {
    top: 12px;
  } 
  50% {
    top: 9px;
  } 
  100% {
    top: 12px;
  }
}

/* secondary button ************************************** */

a.button.secondary {
	background-color: var(--color-red-light);
	color: #CC1E1E !important;
}
	a.button.secondary > strong:after  {
	  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" baseProfile="tiny" version="1.2" viewBox="0 0 32 32"><g id="checkmark"><polygon points="12.6 27.6 10.5 25.5 19.9 16 9.9 6.1 12.1 3.9 24.2 16 12.6 27.6" fill="%23DF2626"/></g></svg>');
	}
	
@media (max-width: 710px) {
	.button-icon a {
		padding-left: 21px;
	}
}

/* 
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*/

/* PLUGINS ************************************************* */

/* CONTACT FORM 7 */

.form-flex {
	display: flex;
	gap: 0 30px;
}
	.form-flex > div {
		
		flex: 1 1 0;
	}

.wpcf7 {
	padding-top: 15px;
}
.wpcf7 h5 {
	margin-bottom: 20px;
	margin-top: 40px;
}
	.wpcf7 h5:first-of-type {
		margin-top: 0;
	}
.wpcf7 i {
	display: inline-block;
	color: var(--color-red);
	font-style: normal;
	margin-left: 2px;
}
.wpcf7 label {
	margin: 0;
	padding: 0;
}
.wpcf7 p {
	/*margin-bottom: 0;*/
	padding-right: 0;
	margin-right: 0;
	margin-bottom: 20px;
}
.wpcf7 span {
	display: block;
	margin-top: 7px;
}
span.wpcf7-list-item {
	margin: 0 !important;
	display: block !important;
}
	.wpcf7-radio span {
		display: inline-block;
		margin: 0 !important;
		margin-bottom: 3px !important;
	}
/*
.wpcf7-submit {
	appearance: none;
	font-weight: 600;
	padding: 11px 20px;
	border-radius: 0;
	border: 0;
	text-decoration: none !important;
	
	font-size: var(--base-font-size);
	font-family: var(--font-sans);
	background-color: var(--color-red);
	color: #FFFFFF !important;
	border-radius: var(--radius-1x);
	margin-top: 20px !important;
}
	.wpcf7-submit:hover {
		opacity: var(--hover-opacity);
		cursor: pointer;
	}
*/
	
.wpcf7-spinner {
	display: inline-block !important;
	margin: -5px 20px !important;
	background: transparent !important;
	border-top: 4px solid #cccccc !important;
	border-right: 4px solid #cccccc !important;
	border-bottom: 4px solid #cccccc !important;
	border-left: 4px solid var(--color-blue) !important;
	animation: spin .7s infinite linear !important;
	opacity: 1 !important;
}
.wpcf7-spinner:before {
	display: none !important;
}
.wpcf7-not-valid {
	border-color: var(--color-red) !important;
}
.wpcf7-response-output {
	margin: 35px 0 !important;
	padding: 11px 20px !important;
	border: none !important;
	background: var(--color-blue-light);
	border-radius: var(--radius-1x);
}
.wpcf7 form.invalid .wpcf7-response-output {
	background: var(--color-gold-light);
}

/* CALENDLY */
.tour-form {
	background: #f3f3f3;
	margin-top: var(--section-spacing);
	border: 1px solid #dddddd;
	/*border-radius: var(--radius-2x);*/
}
/*
.calendly-inline-widget { overflow-y: hidden !important; }
*/

/* WP GO MAPS */

#map-holder {
	position: absolute;
	z-index: 400;
	top: var(--header-height);
	left: 0;
	width: 100%;
	height: calc(100vh - var(--header-height));
	overflow: hidden;
}
#map-holder h5 {
	position: absolute;
	top: 20px;
	left: var(--edge-spacing) !important;
	z-index: 1100;
	color: #ffffff;
	margin: 18px 25px;
}
.wpgmza_map {
	font-family: var(--font-sans) !important;
}
.wpgmza_sl_radius_div {
    pointer-events: none !important;
}
.wpgmza_map svg {
	/* resets svgs for mapping */
	display: initial;
	width: auto;
	height: auto;
}
.wpgmza_map p {
	margin-bottom: 0;
}
.wpgmza-standalone-component {
	position: absolute;
}
.wpgmza-inner-stack {
	/* realign to top left */
	top: 20px !important;
	left: var(--edge-spacing) !important;
	transform: none !important;
	max-width: none !important;
	width: 400px !important;
	height: calc(100vh - 260px) !important;
	padding: 0 !important;
}
.wpgmza-basic-listing-image-holder {
	display: none;
}
.leaflet-control-zoom {
	position: fixed !important;
	right: 10px;
	margin-top: 10px !important;
	left: auto;
	border: 1px solid red;
}

/* list of addresses ********************************** */
.legacy-listing-adapter {
	width: auto !important;
	min-height: 100% !important;
	margin: 0 !important;
	margin-top: calc(var(--header-height) + 133px)!important;
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
}
.wpgmza-basic-listing-content-holder {
	padding: 30px !important;
	padding-top: 22px !important;
	padding-bottom: 5px !important;
	position: relative;
	border-bottom: 1px solid #dddddd !important;
	color: var(--color-gray-dark) !important;
}
	.wpgmza-link {
		display: none !important;
	}
	.wpgmza-link a, .wpgmza_infowindow_link a {
		display: inline-block;
		padding: 7px 14px;
		background: var(--color-red-light);
		border-radius: var(--radius-1x);
		color: var(--color-red) !important;
		text-decoration: none !important;
		font-weight: 500;
		margin-right: 10px;
	}
		.wpgmza_infowindow_link a:last-of-type {
			margin-right: 0;
		}
.wpgmza_marker_icon {
	max-width: none !important;
	position: absolute !important;
	top: 24px;
	left: 28px;
	width: 20px;
	height: auto;
}
.wpgmza_marker_title a {
	color: var(--color-gray-dark) !important;
	text-decoration: none !important;
	opacity: 1 !important;
	font-size: 15px;
}
.wpgmza-content-address-holder {
	padding-left: 40px; /* for marker offset */
	
}
.wpgmza-content-address-holder, .wpgmza-address {
	font-size: 14px !important;
}
.wpgmza-distance-from-location {
	font-size: 13px !important;
	color: #737373;
	position: absolute;
	top: 65px;
	left: 20px;
	width: 32px;
	text-align: center;
	line-height: 1.3;
}
/* store locator *************************** */
.wpgmza-store-locator {
	padding: 55px 15px 20px 20px !important;
	background: var(--color-blue) !important;
	width: 400px !important;
	z-index: 1002 !important;
	margin: 0 !important;
	justify-content: flex-start;
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}
	.wpgmza-store-locator svg {
		width: 20px !important;
		height: 20px !important;
		stroke: #ffffff !important;
		padding: 0 !important;
		border: none !important;
		margin: 11px 6px;
	}
.wpgmza-error, .wpgmza-address-container:after {
	display: none !important;
}
	.wpgmza-address.addressInput {
		padding-right: 35px !important;
	}
	.wpgmza-address.addressInput, .wpgmza-radius {
		background-color: #ffffff !important;
	}
	.wpgmza-address-container, .wpgmza-radius-container {
		margin-right: 10px !important;
		width: 100px !important;
	}
	.wpgmza-radius-container {
		width: 100px !important;
	}
	.wpgmza-address-container {
		width: calc(100% - 155px) !important;
	}
.wpgmza-store-locator input:focus-visible, .wpgmza-store-locator select:focus-visible {
	box-shadow: none !important;
}
	svg.wpgmza-reset {
		position: absolute !important;
		stroke: #999999 !important;
		right: 182px;
		width: 16px !important;
		height: 16px !important;
		margin-top: 13px !important;
	}
/* autocomplete */
.wpgmza-internal-autocomplete-list {
	display: none !important;
}
.wpgmza-address-container:after {
	display: none !important;
}
	svg.wpgmza-loading {
		stroke: #999999 !important;
		position: absolute;
		right: 190px;
		display: none !important;
	}

/* map popup **************************************** */

.leaflet-popup-content {
	font-size: 14px !important;
	color: var(--color-gray-dark) !important;
	line-height: 1.4 !important;
	max-width: 280px !important;
}
	.leaflet-popup-content p {
		margin: 0 !important;
		color: var(--color-gray-dark) !important;
	}
	p.wpgmza_infowindow_link {
		margin: 20px 0 24px !important;
	}
	.leaflet-popup-content {
		margin: 17px 23px 17px 19px !important;
	}
		.leaflet-popup-content .wpgmza-distance-from-location {
			display: none !important
		}

/* scrollbar ******************************************** */
 
@media (max-width: 990px) {
	#map-holder {		
		position: absolute;
		z-index: 400;
		top: 50px;	/* offset */
		left: 0;
		width: 100%;
		height: calc(100vh - var(--header-height) - 150px);
		overflow: hidden;
	}
	#map-holder h5 {
		display: none;
	}
	.leaflet-control-zoom {
		margin-top: 140px !important;
	}
	.wpgmza-inner-stack {
		top: 0px !important;
		left: 0px !important;
		width: 100% !important;
		height: calc(100vh - var(--header-height)) !important;
	}	
	/* list of addresses ********************************** */
	.legacy-listing-adapter {
		width: 100% !important;
		min-height: auto !important;
		margin: 0 !important;
		position: fixed !important;
		bottom: 0 !important;
		height: 220px !important;
		border-radius: 0 !important;
		box-shadow: 0 0px 10px rgba(0,0,0,0.2) !important;
	}	
	.wpgmza-basic-listing-content-holder {
		padding-left: 34px !important;
		position: relative;
	}
	.wpgmza_marker_icon {
		left: 32px;
	}
	.wpgmza-distance-from-location {
		left: 25px;
	}
	/* store locator *************************** */
	.wpgmza-store-locator {
		position: fixed;
		top: var(--header-height);
		padding: 20px 20px 20px 20px !important;
		width: 100% !important;
		height: 80px !important;
		border-radius: 0 !important;
	}

}

/* WP CONSENT COOKIES */
#wpconsent-container::part(wpconsent-banner)
{
	padding: 15px 24px;
}
#wpconsent-container::part(wpconsent-button-cancel),
#wpconsent-container::part(wpconsent-button-accept),
#wpconsent-container::part(wpconsent-button-preferences)
{
	font-family: var(--font-sans);
	font-weight: normal;
	height: 36px;
	padding: initial 10px;
}

@media (max-width: 767px) {
	#wpconsent-container::part(wpconsent-banner) {
		padding: 10px 24px 20px 24px;
	}
	#wpconsent-container::part(wpconsent-banner-footer){
		gap: 10px;
		flex-direction: initial;
	}
	#wpconsent-container::part(wpconsent-banner-body){
		margin: 0;
		padding: 5px 0;
	}
}

.grecaptcha-badge {
    visibility: hidden !important;
}
.recaptcha {
	font-size: 13px;
	color: #737373;
}
