/*!
Theme Name: Camp Keff 2024
Author: Ian Israel
Version: 1.0.0
Text Domain: camp-keff-2024
*/

:root {
	/** Fonts
	*
	* Ian's Adobe Font Project (Keff 2023) (loaded from header.php)
	*
	*/

	--primary: lato, sans-serif;
	--secondary: canada-type-gibson, sans-serif;
	--hero: bebas-neue-pro, sans-serif;
	--logo: active, sans-serif;
	--accent-font: "circus-mn", sans-serif;

	/*Colors*/
	--keff-blue: #008da8;

	--accent: #F37022;
	--accent-one: #656565;
	--accent-three: #FB965A;
	--accent-four: #004B70;
	--accent-five: #EEEEEE;
	--accent-six: #CCCCCC;
	--accent-seven: #4A4A4A;
	
	--blue: #00496E;
	--blueTwo: #336D8B;
	--blueThree: #6692A8;
	--blueFour: #88A9B9;
	--teal: #1380B9;
	--yellow: #FFD41A;
	--darkyellow: #FFD61A;
	--lightyellow: #FFEDA1;
	--red: #d9534f;
	
	--modal-background: #feeda0;
}

.teal-text,
.teal-text a,
.teal-text a:visited {
	color: var(--teal);
}

.teal {
	background-color: var(--teal);
}

/* Global */
html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(126px + 96px + 4rem);
}

html.modal-open {
	overflow: hidden;
}

/* Typography
--------------------------------------------- */
h1 {
	margin: 0 0 1rem 0;
	font-size: 4rem;
	line-height: 1;
	font-weight: 900;
	text-transform: uppercase;
}
/* 
h1 span {
	margin: 0 2rem;
} */

h2 {
	font-family: var(--primary);
	margin: 0 0 2rem 0;
	font-size: 3rem;
	line-height: 1.2;
	color: var(--blue);
	font-weight: 900;
}

h2 span {
	color: var(--teal);
}

.teen h2 span {
	color: var(--navy);
}

h3 {
	font-family: var(--primary);
	font-weight: 900;
	font-size: 2.5rem;
	color: var(--blue);
	text-align: center;
}

#privacy-policy h3,
#policies h3,
#health-safety h3 {
	text-align: left;
	margin-bottom: 1rem;
}

.section-wrapper .section-wrapper h3 {
	margin-top: 0;
}

.section-wrapper .section-wrapper :last-child {
	margin-bottom: 0;
}

h4 {
	font-family: var(--primary);
	font-weight: 700;
	font-size: 2.25rem;
	color: var(--blue);
	margin: 1rem 0;
}

h3.light,
h4.light {
	color: var(--keff-blue);
	font-weight: 700;
	margin-top: 0;
	line-height: 2.6875rem;
}

h3.light {
	font-size: 2.25rem;
}

/* h4:before {
	position: absolute;
	content: url('/wp-content/uploads/quotes.svg');
	top: 0;
	left: 0;
	width: 60px;
}
  
h4:after {
	position: absolute;
	content: url('/wp-content/uploads/quotes.svg');
	bottom: 0;
	right: 0;
	width: 60px;
	transform: rotate(180deg);
} */

h5 {
	font-family: var(--primary);
	color: black;
	margin: 0 0 1rem 0;
	font-size: 1.5rem;
}

h5.light {
	color: var(--keff-blue);
}

h6 {
	font-family: var(--primary);
	color: var(--keff-blue);
	font-size: 2rem;
	text-align: center;
	margin:0 0 3rem;
}

p {
	font-family: var(--primary);
	font-size: 1.125rem;
	margin-top: 0;
	margin-bottom: 1.5em;
	font-weight: 500;
	color: var(--accent-seven);
}

/* p * {
	margin: 0 4px;
} */

.footnote {
	font-size: 1rem;
}

.yellow {
	color: var(--yellow);
}

/***** Elements *****/
/* Columns */
.columns-3 {
	columns: 3;
}

hr {
	background-color: var(--navy);
	border: 0;
	height: 1px;
	width: 100%;
	margin-bottom: 1.5em;
}

/* Lists */
ul,
ol {
	margin: 0 0 1.5em 0;
	padding-left: 2rem;
}

p + ul,
p + ol {
	margin-top: -1.5rem;
}

ul {
	list-style: disc;
}

ul:last-child {
	margin-bottom: 0;
}

ol {
	list-style: decimal;
}

li {
	font-family: var(--primary);
	font-size: 1.125rem;
	color: var(--accent-seven);
}

li:not(nav li) {
	margin-bottom: 10px;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

ul.blocks,
ul.blocks li,
#highlights ul li {
	list-style: none;
}

ul.blocks li:before,
#highlights ul li:before,
#preschool .bubble ul li:before {
	content: "";
	background-color: var(--navy);
	height: 1em;
	width: 1em;
	display: inline-block;
	margin-left: -1.5em;
	margin-right: .5em;
}

.se-head {
	margin-bottom: 1.5rem;
	text-align: left;
}

.se-list {
	margin-bottom: 0;
}

.se-list li {
	text-align: left;
}

/* Links
--------------------------------------------- */
a {
	color: var(--accent);
	text-decoration: none;
	transition: .3s;
}

a:visited {
	color: var(--accent);
}

a:hover,
a:focus,
a:active {
	color: var(--accent);
}

a:focus {
	outline: 0;
}

a:hover,
a:active {
	outline: 0;
}

a {
	text-decoration: underline;
}

h5 a:hover {
	text-decoration: underline;
}


/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/*Buttons*/
.rounded-btn,
#secondary-menu .rounded-btn {
	text-align: center;
	font-family: var(--primary);
	font-size: 1.25em;
	border-radius: 5px;
	transition: .3s;
	padding:  10px 25px;
	letter-spacing: 1px;
	font-weight: 700;
	text-transform: capitalize;
	text-decoration: none;
}

.rounded-btn a,
#secondary-menu .rounded-btn a {
	width: 100%;
	height: 100%;
}

#secondary-menu .rounded-btn {
	padding: 0;
}

#secondary-menu .rounded-btn a {
	padding:  8px 25px;
}

.rounded-btn:hover {
	filter: brightness(1.25);
    cursor: pointer;
}

#page-content-container .rounded-btn {
	width: 25%;
	margin: 0 auto;
}

#page-content-container button.rounded-btn {
	width: auto;
}

.rounded-btn.orange {
	background-color: var(--accent);
	color: white;
	transition: .3s;
}

.rounded-btn.orange:hover {
	background-color: #FB965A;
}

.single-nav-container .sold-out-container .rounded-btn:hover {
	filter: brightness(1);
	box-shadow: none;
	cursor: default;
}

.square-btn {
	padding: 1rem 2rem;
	color: white;
	text-transform: uppercase;
	font-family: var(--hero);
	font-weight: 600;
	font-size: 5rem;
	display: inline-block;
	line-height: 1;
	transition: .3s;
	text-decoration: none;
}

.square-btn:hover {
	filter: brightness(1.25);
}

.square-btn.teal {
	background-color: var(--teal);
}

.rounded-btn.blue {
	background: var(--blue);
}

.reload {
	display: none;
}

.rounded-btn.blue.reload {
	color: white;
}

.rounded-btn.blue,
.rounded-btn.blue a {
	color: var(--yellow);
}

.rounded-btn.teal a {
	color: white;
}

.rounded-btn.yellow {
	background: var(--yellow);
	color: black;
}

.rounded-btn.yellow a,
a .rounded-btn.yellow {
	color: black;
}

.wire-btn,
.wire-btn:visited,
.wire-btn:active {
	border: 1px solid white;
	border-radius: 5px;
	padding: 5px 10px;
	color: white;
	font-weight: 700;
	text-transform: capitalize;
	font-family: var(--primary);
	font-size: 1.5rem;
	width: 240px;
	text-align: center;
	transition: .3s;
	text-decoration: none;
}

.wire-btn:hover {
	background-color: white;
	color: var(--accent);
}

/* Tables */
.table-wrapper {
	overflow-x: auto;
}

/* Testimonials */
.testimonial {
	background-image: linear-gradient(rgba(0, 141, 168, .6), rgba(0, 141, 168, .6)), url(/wp-content/uploads/Camp-Keff-Website-Hero-BG-2-2.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 75% 50%;
	padding: 4rem 5vw;
	margin: 4rem -5vw;
	width: 100vw;
	color: white;
	font-family: var(--primary);
	font-size: 2.25rem;
	text-align: center;
}

/* Callout */
.callout {
	padding: 2rem;
	background-color: var(--accent-five);
	margin: 2rem 0;
	text-align: center;
}

.callout :last-child {
	margin-bottom: 0;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.hide {
	display: none!important;
}

/* scroll bar */
::-webkit-scrollbar {
	width: 10px;
  }
  
/* Track */
::-webkit-scrollbar-track {
background: white;
border-radius: 5px;
box-shadow: inset 0 0 3px var(--blue);
}

/* Handle */
::-webkit-scrollbar-thumb {
background: var(--blue);
border-radius: 5px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
filter: brightness(1.2);
}

/* Header */
#header {
	position: sticky;
	top: 0;
	z-index: 30;
}

.header-wrapper {
	position: relative;
	padding: 1.5em 40px;
	box-shadow: 0 2px 5px -3px;
	background: white;
}

.header-wrapper,
.logo-container,
.main-navigation {
	display: flex;
	align-items: center;
}

.header-bar {
	background-color: var(--darkyellow);
	text-align: center;
	padding: .5rem;
}

.header-bar img {
	height: 40px;
}

.menu-primary-container {
	display: flex;
	justify-content: center;
	flex-grow: 2;
	padding: 0 8rem;
}

.logo-container div:not(:last-of-type) {
	display: inline-block;
}

.logo-container {
	gap: 1rem;
}

.logo-separator {
	width: 2px;
	height: 40px;
	background-color: var(--yellow);
	align-self: flex-start;
}

.logo-container div:last-of-type {
	margin-right: 0;
}

.logo-container img {
	height: 40px;
}

.logo-one,
.logo-two {
	position: relative;;
}

.logo-two img {
	height: 25px;
}

.logo-menu {
	display: none;
	padding: 0;
	position: absolute;
	min-width: 250px;
}

.logo-one:hover > .logo-menu,
.logo-two:hover > .logo-menu {
	display: block;
}

.logo-menu li {
	list-style: none;
	padding: 0;
	margin: 0;
}

.logo-menu li a {
	width: 100%;
	display: inline-block;
}

.logo-menu li,
#primary-menu > li,
#secondary-menu > li {
	position: relative;
	font-family: var(--hero);
	text-transform: uppercase;
	font-size: 1.5rem;
}

.logo-menu li a,
#primary-menu > li > a {
	font-weight: 600;
	color: black;
}

#primary-menu > li.rounded-btn.blue a {
	color: var(--yellow);
}

#primary-menu > li:last-of-type	,
#secondary-menu > li:last-of-type {
	margin-right: 0;
}

#primary-menu > .menu-item-has-children:before {
	display: inline-block;
	margin-right: .5rem;
	content: "";
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 10px solid black;
	transition: .1s;
}

#primary-menu > .menu-item-has-children:hover:before {
	transform: rotate(90deg);
}

#primary-menu > .menu-item-has-children a {
	display: inline-block;
}

.main-navigation {
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

#primary-menu .sub-menu {
	display: none;
	position: absolute;
	min-width: 300px;
	box-shadow: 1px 1px 5px -3px; 
}

#primary-menu .sub-menu .sub-menu {
	position: relative;
	min-width: 100%;
	box-shadow: none;
}

.sub-menu li {
	display: block;
}

.logo-menu li:not(:first-child),
.sub-menu li:not(:first-child) {
	border-top: 2px solid white;
}

.sub-menu .sub-menu li {
	border-top: none;
}

.logo-menu li a,
.sub-menu li a {
	color: var(--blue);
	font-family: var(--secondary);
	font-weight: 600;
	width: 100%;
	height: 100%;
	padding: .5rem 1rem;
	background-color: var(--darkyellow);
}

.sub-menu .sub-menu li a {
	font-weight: 400;
	padding-left: 2rem;
}

.logo-menu li a:hover,
.sub-menu li a:hover {
	background-color: var(--lightyellow);
}

.sub-menu li a[href="#"]:hover {
	background-color: var(--darkyellow);
}

#primary-menu li.menu-item-has-children:hover .sub-menu {
	display: block;
}

.eb-hero {
	display: none;
	width: 250px;
	height: 250px;
	background-image:linear-gradient(-135deg, var(--blue) 50%, transparent 50%);
	position: absolute;
	top: 0;
	right: 0;
	padding: 2rem;
}

.eb-hero img {
	display: block;
	width: 265px;
	transform: rotate(7deg);
	animation: eb-circle 2s infinite;
}

@keyframes eb-circle {
	0% {
    	transform: scale(1);
  	}
	
	50% {
    	transform: scale(1.1);
  	}
	
	100% {
    	transform: scale(1);
  	}
}

.eb-mobile {
	display: none!important;
	background-color: var(--blue);
	padding: .5rem;
	gap: .5rem;
	justify-content: center;
	align-items: center;
}

.eb-mobile img {
	width: 65px;
}

.eb-mobile h3 {
	margin: 0;
}

.eb-mobile h3 span {
	color: var(--yellow);
}

#lit .eb-hero,
#lit .eb-mobile,
#spring .eb-hero,
#spring .eb-mobile{
	display: none!important;
}

/*Footer*/
#footer {
	position: relative;
	z-index: 1;
	margin-top: 10rem;
}

.footer-top {
	position: absolute;
	bottom: 99%;
	width: 100%;
}

.footer-top img {
	display: block;
}

#footer-menu-two,
#footer-menu {
	padding: 0;
	margin: 0;
}

#footer-menu-two li,
#footer-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu-container {
	background: var(--blue);
	/* margin: 0 -1rem; */
	padding: 2rem 2rem 3rem;
}

.footer-menu-container a {
	text-decoration: none;
	color: white;
}

.footer-menu-container a:hover {
	color: white;
	text-decoration: underline;
}

.footer-menu-container p {
	color: white;
	margin-bottom: 0;
}

.footer-menu-container p:not(:last-child) {
	margin-bottom: 10px;
}

.footer-menu-grid {
	display: grid;
	grid-template-columns: 20% 25% 25% 1fr;
	width: 80%;
	margin: 0 auto;
}

.footer-menu-grid > div:not(:first-child) {
	padding-top: 2rem;
}

.footer-menu-grid > div:not(:first-child):not(:last-child) {
	padding-left: 2rem;
}

.footer-menu-grid > div:not(:last-child) {
	padding-right: 2rem;
}

.footer-menu-grid > div:nth-child(-n+2) {
	border-right: 2px solid white;
}

.footer-top-bar-container {
	background: var(--orange);
	text-align: center;
	padding: 1rem;
	margin: -.5rem -1rem 0;
}

.footer-top-bar-container h5 {
	margin: 0;
	color: white;
}

.footer-logo {
	height: 110px;
}

.social-icon {
	height: 20px;
	display: inline-block;
}

.section-4 a:not(:last-child) {
	margin-right: .5rem;
}

.footer-partner-logo-container {
	text-align: center;
	padding: 1rem;
	display: flex;
	justify-content: center;
	gap: 2rem;
}

.partner-logo {
	height: 45px;
	width: 100px;
	display: inline-block;
}

.partner-logo:not(:last-of-type) {
	margin-right: 1rem;
}

/* General Page Structure */
.utility-nav-container {
	position: sticky;
	z-index: 10;
	margin-top: calc(-70px - 2rem);
	padding: 1.5rem 0;
	transition: .3s;
	top: 94px;
}

.utility-nav-container.stuck {
	background-color: var(--accent-one);
}

.utility-nav-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.utility-nav-grid > div {
	height: 70px;
}

.utility-nav-grid a {
	width: 100%;
    height: 100%;
    display: block;
    text-align: center;
    padding: 0.5rem;
    font-size: 2rem;
    font-family: var(--secondary);
    font-weight: 500;
}

.utility-nav-grid a:hover {
	filter: brightness(1.5);
	font-size: 2.2rem;
}

.utility-nav-grid .left a {
	background-color: var(--blue);
	color: white;
}

.utility-nav-grid .center a {
	background-color: var(--teal);
	color: white;
}

.utility-nav-grid .right a {
	background-color: var(--darkyellow);
	color: black;
}

.utility-nav-flex {
	display: flex;
	gap: 1.25rem;
	justify-content: center;
}

#page-content-container {
	padding: 4rem 0;
}

.col-2-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 2rem;
	margin: 4rem 0;
	/* text-align: center; */
}

.col-2-grid.dark {
	background-color: var(--blue);
	grid-gap: 0;
	margin: 4rem -5vw;
}

.col-2-grid.narrow.dark {
	display: block;
}

.col-2-grid.narrow.dark .col-1 {
	width: 80%;
	margin: 0 auto;
}

.col-2-grid.dark * {
	color: white;
}

.col-2-grid.dark .col-1 {
	padding: 4rem 4rem 4rem 5vw;
	text-align: left;
}

.col-2-grid.dark .col-1 p {
	margin: 1rem 0;
}

.col-2-grid.dark .col-1 .rounded-btn {
	display: inline-block;
	margin-top: 1rem!important;
	width: auto!important;
}

.col-2-grid.highlights {
	grid-gap: 0;
}

.col-2-grid.highlights.left {
	grid-template-columns: 33% 1fr;
}

.col-2-grid.highlights.left .col-1,
.col-2-grid.highlights.right .col-2 {
	background-color: var(--teal);
	padding: 2rem;
}

.col-2-grid.highlights.right {
	grid-template-columns: 1fr 33%;
}

.col-2-grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-top-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.col-2-grid.highlights img {
	object-fit: cover;
	height: 100%;
}

.col-2-grid.highlights h5 {
	color: var(--yellow);
	text-transform: uppercase;
	font-size: 2rem;
	font-family: var(--primary);
	font-weight: 600;
}

.col-2-grid.highlights li {
	color: white;
}

.col-2-grid.tk-5-seasonal {
	grid-gap: 0;
}

.col-2-grid.tk-5-seasonal > div:not(.image) {
	padding: 2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.col-2-grid .flex {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
}

.col-2-grid .flex #highlights {
	display: revert;
	min-height: 0;
	padding: 0;
}

.col-2-grid .image:not(.square) {
	border-top-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.col-2-grid .image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* .col-2-grid p:last-child {
	margin-bottom: 0;
} */

.col-2-grid.adventure-sessions {
	grid-template-columns: 60% 1fr;
}

.col-2-grid.adventure-sessions .col-1 {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.col-2-grid.adventure-sessions .col-2.image img {
	max-height: 300px;
}

.col-4-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.col-4-grid > div:not(:last-child) {
	padding-right: 2rem;
	border-right: 1px solid var(--accent-six);
}
.col-4-grid > div:not(:first-child) {
	padding-left: 2rem;
}

.col-4-grid h6 {
	font-size: 1.5rem;
	text-align: left;
	margin: 0;
	font-weight: 600;
}

/* 2024 Seasonal Pages */
.narrow-wrapper {
	width: 70%;
	margin: 0 auto;
}

.page-template-seasonal-camps h2 span {
	color: var(--blue);
}

.page-template-seasonal-camps .col-2-grid {
	margin: 0;
}

.page-template-seasonal-camps .col-1 *,
.page-template-seasonal-camps .col-2 *  {
	text-align: left;
}

.page-template-seasonal-camps .col-1 h3,
.page-template-seasonal-camps .col-2 h3,
.page-template-seasonal-camps .col-1 h4,
.page-template-seasonal-camps .col-2 h4  {
	margin: 0 0 1rem;
}

.page-template-seasonal-camps h6 {
	color: var(--blue);
	font-size: 1.25rem;
	text-align: left;
	margin: 0;
}

/* Slick Slider */
.slick-arrow {
	position: absolute;
	border-radius: 50%;
	background-color: lightgrey;
	top: 50%;
	width: 36px;
	height: 36px;
	z-index: 1;
}

.slick-arrow::before {
	content: "";
	background-image: url('/wp-content/uploads/chevron-black.svg');
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 13px;
	left: 8px;
	cursor: pointer;
}

.slick-prev.slick-arrow {
	left: 2rem;
	transform: rotate(90deg);
}

.slick-next.slick-arrow {
	right: 2rem;
	transform: rotate(-90deg);
}

.slick-arrow img {
	width: 2rem;
}

/* Adventure Session Grid */
.adventure-sessions-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 2rem;
	border-radius: 10px;
	
	& .session {
		border-radius: 10px;
		box-shadow: 1px 1px 6px 1px lightgray;
	}
	
	& h4 {
		color: var(--teal);
		font-family: var(--primary);
		font-weight: 900;
		text-align: center;
		font-size: 1.875rem;
		line-height: 1.2;
	}

	& .image img {
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		display: block;
		margin: 0 auto;
		width: 100%;
	}
	
	& .description {
		padding: 1rem;

		& h5 {
			color: var(--teal);
			margin: 0 0 .5rem;
		}

		& h6 {
			font-size: 1.25rem;
			color: var(--teal);
			text-align: left;
			margin: 0 0 .5rem;
		}

		& p + ul {
			margin: 1rem 0 0;
		}
	}
}


/* Navigation
--------------------------------------------- 
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

.menu-toggle {
	font-size: 1.75rem;
	margin: -9px 0 0 1rem;
}

/******************** Page Templates **********************/
/*Summer Camps*/
.single-summercamps .summer-reg {
	display: none;
}

.single-summercamps #secondary-menu>li {
	margin-right: 0;
}

.sc-hero-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
    z-index: 3;
	min-height: 670px;
	padding-bottom: 8rem;
}

.sc-hero-content {
	width: 80%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.sc-hero-content h1,
.sc-hero-content h3 {
	font-family: var(--hero);
	font-weight: 600;
	color: white;
}

.sc-hero-content h1 {
	font-size: 9.375rem;
	margin: 0;
	line-height: .9;
}

.sc-hero-content h1.yellow,
.sc-hero-content h3.yellow {
	color: var(--yellow);	
}

.sc-hero-content h3 {
	font-size: 3.125rem;
	margin: 1rem 0;
	background-color: transparent;
	width: auto;
	line-height: 1;
	padding: 0;
	text-transform: uppercase;
	color: var(--yellow);
}

.sc-hero-content h3 span {
	color: white;
}

#index .sc-hero-container h1 {
	text-transform: uppercase;
}

.sc-hero-content .rounded-btn {
	width: 50%;
	margin-bottom: 1rem;
}

.preschool .sc-hero-content .camp-format {
	display: none;
}

.single-nav-container { 
	position: sticky;
	background: white;
	box-shadow: 0 2px 5px;
	padding: calc(.5rem + 10px);
	z-index: 5;
	align-items: center;
}

.single-nav-container .registration-container,
.single-nav-container .sold-out-container {
    position: absolute;
    right: 40px;
    top: 10px;
}

#single-nav {
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0;
}

#single-nav li {
	list-style: none;
	margin-right: 2em;
}

#single-nav li:last-of-type {
	margin-right: 0;
}

.adventure #single-nav .highlights,
.mix-and-match #single-nav .highlights,
.teen #single-nav .highlights {
	display: none;
}

.preschool #single-nav .explore {
	display: none;
}

#overview-highlights-outer {
	position: relative;
	background-image: 
		url('/wp-content/uploads/2021/12/pool-back.svg'),
		url('/wp-content/uploads/2021/12/overview-back.svg'),
		linear-gradient(to right, #13ccb3 15%, #bee758 75%, white);
	background-size: 215%, 100% 650px, cover;
	background-position: 38% -55px, center -130px, center;
	background-repeat: no-repeat;
}

.adventure #overview-highlights-outer,
.mix-and-match #overview-highlights-outer {
    background-image: linear-gradient(to bottom, white, rgb(19, 205, 180, .3)40%, rgb(190, 231, 88, .3)50%, white 100%);
    background-position: unset;
 }

 .teen #overview-highlights-outer {
 	background-image: linear-gradient(to bottom, white 15%, #b4e2ff 50%);
 	background-position: unset;
 }

 .preschool #overview-highlights-outer {
 	background-image: url('/wp-content/uploads/2022/01/preschool_overview-top.svg'),
 					  linear-gradient(to bottom, white 15%, #6ec5ce4d 30%, #c6ddc3b3 50%, #f6e0a580 75%, #f6f09100 95%, white 100%);
 	background-repeat: no-repeat;
 	background-size: auto;
 }

.sticker-keff-exclusive {
	width: 30%;
}

.adventure .sticker-keff-exclusive,
.mix-and-match .sticker-keff-exclusive,
.teen .sticker-keff-exclusive,
.preschool .sticker-keff-exclusive {
	display: none;
}

.sticker-sig-eb {
	width: 20%;
    position: absolute;
    right: -40px;
    top: -80px;
}

.sticker-teen-eb {
	width: 15%;
    position: absolute;
    right: 10px;
    top: 10px;
}

#counselor-in-training-cit-program .sticker-teen-eb,
#maccabi-games .sticker-teen-eb {
	display: none;
}

.sticker-preschool-eb {
	width: 15%;
    position: absolute;
    right: 10px;
    top: 10px;
}

.teen .sticker-sig-eb ,
.preschool .sticker-sig-eb,
.signature-camp .sticker-teen-eb,
.adventure .sticker-teen-eb,
.mix-and-match .sticker-teen-eb,
.preschool .sticker-teen-eb,
.signature-camp .sticker-preschool-eb,
.adventure .sticker-preschool-eb,
.mix-and-match .sticker-preschool-eb,
.teen .sticker-preschool-eb {
	display: none;
}

#spring .eb-sticker-2025,
#spring-policies .eb-sticker-2025{
	display: none!important;
}

.eb-sticker-2025 {
	display: none;
	position: absolute;
	padding: 1.5rem;
	max-width: 22rem;
	background: var(--keff-blue);
	border: 4px solid var(--accent);
	right: 2rem;
	top: 115%;
	transform: rotate(8deg);
	border-radius: 3rem;
	box-shadow: 5px 5px 20px #484848;
	z-index: 5;
}

.eb-sticker-2025 * {
	color: white;
	text-align: center;
}

.eb-sticker-2025 img {
	width: 4rem;
	display: inline-block;
	padding-right: .5rem;
}

.eb-sticker-2025 h2 {
	font-size: 1.5rem;
	margin: 0;
	padding: 0;
	display: inline-block;
}

.eb-sticker-2025 h3 {
	font-size: 1.25rem;
	margin: 0;
	padding: 0;
	line-height: 1;
}

.eb-sticker-2025 hr {
	margin: 1rem auto;
	width: 80%;
	height: 2px;
	background: white
}

.eb-sticker-2025 .footnote {
	margin: 1rem 0 0;
	font-size: .75rem;
}

#overview {
	text-align: center;
	padding: 40px;
	position: relative;
}

.section-wrapper {
	/* width: 80%; */
	width: 90vw;
	margin: 0 auto;
}

.section-wrapper .section-wrapper {
	margin: 4rem -5vw 0;
	width: 100vw;
	padding: 4rem 5vw;
}

.section-wrapper .section-wrapper.tight {
	padding: 2rem 5vw;
}

.banded {
	background-color: var(--accent-five);
}

.keff-blue {
	background-color: var(--keff-blue);
}

.section-wrapper .section-wrapper + * {
	margin-top: 4rem;
}

.adventure .registration-container,
.mix-and-match .registration-container {
	text-align: left;
}

#overview .rounded-btn {
	width: 25%;
	margin: 0 auto;
	display: inline-block;
}

.adventure #overview .rounded-btn,
.mix-and-match #overview .rounded-btn {
	margin: 0;
}

.signature-camp #overview .section-content-grid,
.teen #overview .section-content-grid,
.preschool #overview .section-content-grid {
	grid-template-columns: 1fr;
	width: 95%;
}

.signature-camp #overview .section-content-grid .blob-container,
.teen #overview .section-content-grid .blob-container,
.preschool #overview .section-content-grid .blob-container {
	display: none;
}

.adventure #overview .section-wrapper,
.mix-and-match #overview .section-wrapper,
.teen #overview .section-wrapper {
	margin-top: 5%;
}

.adventure #overview h2,
.mix-and-match #overview h2,
.teen #overview h2 {
	width: 	60%;
	margin: 0 auto 5% auto;
}

.adventure .description,
.mix-and-match .description {
	text-align: left;
}

.description p:last-of-type {
	margin-bottom: 0;
}

.format-description {
	text-align: left;
	margin-top: 2rem;
}

.format-description span {
	color: var(--red);
}

.blob-container {
	position: relative;
}

.sticker-blob {
	position: absolute;
	width: 150px;
	top: -75px;
	left: -50px;
	z-index: 2;
}

.sticker-blob-preschool {
	position: absolute;
	width: 150px;
	bottom: 0;
	left: -20px;
	z-index: 2;
}

.preschool .sticker-blob,
.signature-camp .sticker-blob-preschool {
	display: none;
}

.blob {
	position: relative;
	z-index: 0;
	width: 100%;
	mask-image: url("/wp-content/uploads/2021/12/blob_300x270.svg");
	mask-repeat: no-repeat;
	-webkit-mask-image: url("/wp-content/uploads/2021/12/blob_300x270.svg");
	-webkit-mask-repeat: no-repeat;
	margin: 0 auto;
}

.blog:before {
	content:  "test";
}

#highlights {
	min-height: 400px;
	display: flex;
	align-items: center;
	padding: 80px;
}

#highlights h4 {
	margin-top: 1rem;
}

#highlights table {
	width: 50%;
}

#highlights th {
	text-align: left;
	border-bottom: 1px solid var(--navy);
}

#highlights td:first-child {
	font-weight: bold;
}

.adventure #highlights,
.mix-and-match #highlights,
.teen #highlights {
	display: none;
}


.section-content-grid {
	display: grid;
	grid-template-columns: 40% 1fr;
	grid-gap: 3rem;
}

.highlights-content-container {
	position: relative;
}

.sticker-highlights {
	position: absolute;
	width: 150px;
	right: -5px;
	top: -100px;
}

.sticker-highlights-preschool {
	position: absolute;
	width: 150px;
	right: -5px;
	top: -60px;
}

.preschool .sticker-highlights,
.signature-camp .sticker-highlights-preschool {
	display: none;
}
/*
.bubble {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px;
	border-radius: 60px;
	box-shadow: 3px 3px 15px #666;
}

.bubble.yellow {
	background: var(--yellow);
}

.preschool .bubble.yellow,
.bubble.light-yellow {
	background: var(--lightyellow);
}

.bubble.white {
	background: white;
}

.bubble.blue {
	background: var(--lightblue);
}

.bubble.teal {
	background: var(--teal);
}

.bubble.orange {
	background: var(--orange);
}

.bubble.orange * {
	color: white;
}

.bubble ul {
	margin: 0;
	padding:  0 0 0 1em;
	list-style: square;
}

.bubble h3 {
	text-align: center;
}

#meet-our-staff .bubble h3 {
	text-align: left;
}

.bubble.yellow li {
	color: var(--navy);
}*/

#date-price {
	background-color: white;
	text-align: center;
	position: relative;
	padding: 40px;
	margin: 100px 0;
}

.adventure #date-price,
.mix-and-match #date-price,
.teen #date-price,
.preschool #date-price {
	background-color: transparent;
	margin: 0;
}

.preschool .camp-hours,
.teen .camp-hours {
	display: none!important;
}

#advanced-culinary-arts .camp-hours,
#minecraft-coding-and-robotics-design .camp-hours,
#counselor-in-training-cit-program .camp-hours {
	display: block!important;
}

.teen-photo-container {
	display: none;
}

.teen .teen-photo-container {
	display: revert;
}

.teen-photo-grid,
.off-season-photo-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	position: relative;
	width: 80%;
	margin: 0 auto;
	grid-column-gap: 5rem;
	grid-row-gap: 2rem;
}

.teen-photo-grid img,
.off-season-photo-grid img,
.preschool-hub-grid img {
	display: block;
	position: relative;
	border-radius: 30px;
	box-shadow: 3px 3px 10px;
	width: 100%;
}

.photo-1 {
	grid-column: 1 / span 6;
	grid-row: 1;
}

.photo-2 {
	grid-column: 7 / -1;
	grid-row: 1 / span 2;
	padding-top: 20%;
	z-index: 1;
}

.photo-3 {
	grid-column: 3 / span 5;
	grid-row: 2;
}

#date-price h4 {
	display: inline-block;
	margin-right: 1.3em;
	font-size: 1.3em;
}

#date-price h4:last-of-type {
	margin-right: 0;
}

.preschool #date-price .fee-key,
#counselor-in-training-cit-program .fee-key {
	display: none;
}

#date-price:before {
	content: "";
	background-image: url('/wp-content/uploads/2021/12/date-price-wave-top.svg');
	position: absolute;
	left: 0;
	top: -200px;
	height: 200px;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
}

.adventure #date-price:before,
.mix-and-match #date-price:before,
.teen #date-price:before,
.preschool #date-price:before {
	display: none;
}

#date-price:after {
	content: url('/wp-content/uploads/2021/12/date-price-wave-btm.svg');
	position: absolute;
	left: 0;
	bottom: -390px;
	height: 300px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
}

.adventure #date-price:after,
.mix-and-match #date-price:after,
.preschool #date-price:after,
.teen #date-price:after,
#date-price.remove-after:after {
	display: none;
}

#date-price table {
	width: 80%;
	margin: 0 auto;
}

#date-price table.full {
	width: 100%;
}

#date-price table.full td:nth-child(1),
#date-price table.full td:nth-child(3) {
	width: 30%;
}

#date-price table.full td:nth-child(2) {
	width: 40%;
}

.adventure #date-price table,
.mix-and-match #date-price table {
	width: 50%;
}

.cit-dates-rates td {
	width: 50%;
}

#date-price table td {
	padding: 1rem 0;
}

#fall #date-price td {
	width: 50%;
}

#date-price table p,
.mix-and-match-table p {
	margin:  0;
}

#date-price table tr:first-child td,
.mix-and-match-table tr:first-child td {
	border-bottom: 1px solid var(--navy);
}

.mix-and-match-table tr:first-child td {
	padding-bottom: .25rem;
}

.mix-and-match-table tr:nth-child(2) td {
	padding-top: .25rem;
}

#date-price table tr:first-child td,
#date-price table tr:first-child td p {
	color: var(--teal);
	font-weight: 900;
	font-size: 1.2em;
}

.mix-and-match-table tr:first-child td,
.mix-and-match-table table tr:first-child td p {
	font-weight: 600;
	font-family: var(--regular);
}

.mix-and-match td {
	font-family: var(--regular);
}

#date-price table tr td,
#date-price table tr td p {
	font-weight: 500;
	font-family: var(--regular);
}

#date-price table tr:nth-child(2) td{
	padding-top: 1.2rem;
}

.limited-space:before,
.sold-out:before {
	font-family: var(--poster);
	font-size: 1rem;
	margin-right: 10px;
}

.limited-space:before {
	content: "LS";
	background: var(--red);
	color: white;
	border-radius: 50%;
	padding: 9px 11px;
}

.sold-out:before {
	content: "Sold Out";
	color: var(--red);
}

td.limited-space:before {
	position: relative;
	left: -40%;
	top: 0px;
}

td.sold-out:before {
	position: relative;
	left: -40%;
	top: -1px;
}

td.limited-space p,
td.sold-out p {
	margin-top: -25px!important;
}

#date-price h4.limited-space,
#date-price h4.sold-out {
	display: none;
}

#extras-outer {
	background-image: linear-gradient(to left, lightblue 15%, lightgreen 75%, white);
	padding: 40px;
}

.adventure #extras-outer,
.mix-and-match #extras-outer {
	background-image: linear-gradient(to top, white, rgb(19, 205, 180, .3)40%, rgb(190, 231, 88, .3)50%, white 100%);
}

.preschool #extras-outer{
	background: transparent;
}

.teen #extras-outer {
	background: #b4e2ff;
}

#extras {
	position: relative;
	z-index: 1;
}

#extras h2 {
	text-align: center;
}

.extras-tagline {
	margin-bottom: 2rem;
	text-align: center;
}

.lunch-grid,
.ed-grid {
	display: grid;
	grid-gap: 2rem;
	grid-template-columns: 20% 1fr;
}

.lunch-grid {
	margin-bottom: 2rem;
}

.lunch-img,
.ed-img {
	display: block;
	width: 100%;
	border-radius: 20px;
}

.ed-schedule-container {
	width: 80%;
	margin: 0 auto;
}

.ed-schedule-container h4 {
	text-align: center;
}

.ed-schedule {
	width: 80%;
	margin: 0 auto;
}

.ed-schedule p {
	margin-bottom: 0;
}

#explore-more {
	position: relative;
	z-index: 0;
	padding: 40px 0;
}

.teen #explore-more {
	background-image: linear-gradient(to bottom, #b4e2ff, #7792b4 80%);
}

.preschool #explore-more {
	display: none;
}

#explore-more:before {
	content: "";
	background-image: url('/wp-content/uploads/2021/12/explore-more-wave-top.svg');
	position: absolute;
	top: -180px;
	z-index: -1;
	left: 0;
	height: 200px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
}

.adventure #explore-more:before,
.mix-and-match #explore-more:before,
.teen #explore-more:before {
	display: none;
}

#explore-more h2 {
	text-align: center;
}

.explore-more-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 2rem;
	width: 80%;
	margin: 2rem auto 0;
}

#preschool .explore-more-grid,
.page-id-182 .explore-more-grid {
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 4rem;
	width: 50%;
}

.page-template-camphub .explore-more-grid {
	margin:  0 auto 2rem;
}

.explore-more-tile {
	display: flex;
	flex-direction: column;
}

.explore-more-img-container {
	overflow: hidden;
	border-radius: 20px;
}

.explore-more-tile img {
	display: block;
	width: 100%;
	border-radius: 20px;
	transition: .3s;
}

.explore-more-img-container:hover img {
	transform: scale(1.3);
}

.explore-more-tile h5 {
	margin: 1em auto 0;
}

.explore-more-tile p {
	margin-bottom: 0;
}

.explore-more-format-container p {
	color: var(--red);
}

.explore-more-tile:hover .explore-more-date-container p,
.explore-more-date-container p:hover,
.explore-more-date-container p:active,
.explore-more-date-container p a:focus {
	color: var(--navy);
}

/*Hub Pages*/
.camp-hub-on {
	display: none;
}

.page-template-summer-camp-hub .camp-hub-on {
	display: revert;
}

/* .page-template-summer-camp-hub .sc-hero-container {
	display: flex;
	flex-direction: column;
	justify-content: end;
} */

.page-template-summer-camp-hub .sc-hero-content h3 {
	font-size: 3.125rem;
	margin: 0;
}

.hero-sub-title p {
	font-family: var(--hero);
	color: var(--yellow);
	font-weight: 600;
	font-size: 3rem;
	text-shadow: 2px 2px 2px black;
	line-height: 1.2;
	margin: 0;
}

/* TK-5 Hub Page */
.tk-5-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 1rem;
}

.tk-5-grid .program-tile {
	box-shadow: 2px 2px 15px lightgrey;
	display: flex;
	flex-direction: column;
}

.tk-5-grid .program-tile p {
	margin-top: auto;
}

.tk-5-grid .program-tile:nth-child(2) .program-title,
.tk-5-grid .program-tile:nth-child(3) .program-title {
	background: var(--blue);
}

.tk-5-grid .program-title {
	color: white;
	font-weight: 600;
	font-family: var(--secondary);
}

#page-content-container .tk-5-grid .rounded-btn {
	width: 90%;
	display: block;
	margin: 1rem auto 0;
}

.tk-5-grid h2 {
	font-size: 2.5rem;
	text-align: center;
	margin-top: 1rem;
}

.tk-5-grid .highlights {
	width: 90%;
	margin: 0 auto;
}

.modal-container {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: #000000bd;
	backdrop-filter: blur(4px);
	z-index: 100;
	flex-direction: column;
	justify-content: center;
}

.modal-container.active {
	display: flex;
}

.program-modal {
	display: none;
	width: 80vw;
	height: 80vh;
	background-color: white;
	margin: 0 auto;
	position: relative;
	overflow: auto;
}

.modal-container .close {
	position: absolute;
    top: 5%;
    right: 8%;
    background-color: var(--darkyellow);
    padding: 20px 7px 15px 7px;
    font-size: 2rem;
    color: black;
    transform: rotate(45deg);
    border-radius: 50%;
    font-family: var(--secondary);
    font-weight: 600;
    line-height: 0;
}

.modal-container .close:hover {
	cursor: pointer;
}

.program-modal.active {
	display: block;
}

.program-modal h2 {
	margin: 2rem 2rem 0;
	text-align: center;
}

.program-modal p {
	text-align: center;
	padding: 1rem 2rem;
	margin: 0;
}

.program-modal h3 {
	background-color: var(--teal);
	margin: 0;
}

.program-modal img {
	display: block;
	width: 100%;
}

.btn-container,
.program-modal .btn-container {
	text-align: center;
	margin: 2rem 0;
}

.program-modal .square-btn.teal {
	color: var(--yellow);
}

.square-btn:visited {
	color: white;
}

/* Sample Schedule */
.schedule-grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap: 2rem;
	margin-bottom: 4rem;
	/* grid-template-areas: 
	"event-1 event-2 event-3 event-4"
	"event-8 event-7 event-6 event-5"; */
}

/* #preschool .schedule-grid {
	grid-template-columns: repeat(3,1fr);
	grid-template-areas: 
	"event-1 event-2 event-3"
	"event-6 event-5 event-4";
} */

.schedule-grid .event {
	position: relative;
	text-align: center;
	font-family: var(--primary);
	font-size: 1.125rem;
	font-weight: 500;
}

.event-img {
	height: 3rem;
	display: block;
	margin: 0 auto 1rem;
}

.event h5 {
	color: var(--keff-blue);
}

.event p {
	color: var(--accent-seven);
}

/* .schedule-grid .event:nth-child(1) {
	grid-area: event-1;
}

.schedule-grid .event:nth-child(2) {
	grid-area: event-2;
}

.schedule-grid .event:nth-child(3) {
	grid-area: event-3;
}

.schedule-grid .event:nth-child(4) {
	grid-area: event-4;
}

.schedule-grid .event:nth-child(5) {
	grid-area: event-5;
}

.schedule-grid .event:nth-child(6) {
	grid-area: event-6;
}

.schedule-grid .event:nth-child(7) {
	grid-area: event-7;
}

.schedule-grid .event:nth-child(8) {
	grid-area: event-8;
} */

/* .schedule-grid .event:nth-child(-n+3):after {
	content: url('/wp-content/uploads/schedule-arrow.svg');
    position: absolute;
    top: 35%;
    right: -3rem;
    height: 40px;
    width: 60px;
	z-index: 1;
}

#tk-5 .schedule-grid .event:nth-child(4):after,
#preschool .schedule-grid .event:nth-child(3):after {
	content: url('/wp-content/uploads/schedule-arrow.svg');
    position: absolute;
    bottom: -1rem;
    right: -10px;
    height: 40px;
    width: 60px;
	z-index: 1;
	transform: rotate(90deg);
}

#tk-5 .schedule-grid .event:nth-child(n+5):not(:last-child):after,
#preschool .schedule-grid .event:nth-child(n+4):not(:last-child):after {
	content: url('/wp-content/uploads/schedule-arrow.svg');
    position: absolute;
    top: 35%;
    left: -3rem;
    height: 40px;
    width: 60px;
	z-index: 1;
	transform: rotate(180deg);
} */

/* Session Tables */
/* .session-table {
	width: 80%;
	margin: 0 auto;
}

.session-table th {
	text-align: center;
	color: white;
	font-family: var(--primary);
	font-weight: 600;
	background-color: var(--teal);
	font-size: 2rem;
	padding: .5rem;
}

.session-table td {
	font-family: var(--primary);
	font-size: 1.5rem;
	font-weight: 500;
	text-align: center;
	padding: 1rem;
	vertical-align: middle;
	background-color: var(--darkyellow);
}

.session-table td:first-child,
.session-table.week-highlight td:nth-child(2) {
	background-color: var(--lightyellow);
}

.session-table.week-highlight td:first-child {
	background-color: var(--blue);
	color: white;
	font-family: var(--secondary);
	font-weight: 600;
	font-size: 2rem;
}

.session-table img {
	width: 40px;
	display: block;
	margin: 0 auto;
} */

.session-grid {
	display: grid;
	grid-gap: 2rem;
	margin-bottom: 2rem;
	grid-template-columns: repeat(6, 1fr);
	grid-template-areas: 
	"one one two two three three"
	"four four five five six six"
	". seven seven shalom shalom .";
}

.page-template-summer-camp-hub:not(#adventure):not(#lit) .session-grid {
	display: grid;
	grid-gap: 2rem;
	margin-bottom: 2rem;
	grid-template-columns: repeat(2, 1fr);
	grid-template-areas: none;
}

.page-template-summer-camp-hub:not(#adventure):not(#lit) .session-grid .session {
	grid-area: auto!important;
}

#adventure .session-grid {
/* 	display: none; */
}

.session-wrapper {
	border-radius: 10px;
	box-shadow: 4px 7px 7px rgba(0, 0, 0, 0.25);
	background-color: white;
}

.session-grid .session:nth-child(1) {
	grid-area: one;
}

.session-grid .session:nth-child(2) {
	grid-area: two;
}

.session-grid .session:nth-child(3) {
	grid-area: three;
}

.session-grid .session:nth-child(4) {
	grid-area: four;
}

.session-grid .session:nth-child(5) {
	grid-area: five;
}

.session-grid .session:nth-child(6) {
	grid-area: six;
}

.session-grid .session:nth-child(7) {
	grid-area: seven;
}

.session-grid .session:nth-child(8) {
	grid-area: shalom;
}

.session .week {
	background-color: var(--blue);
	text-align: center;
	font-family: var(--primary);
	color: var(--yellow);
	text-transform: uppercase;
	font-size: 1.5rem;
	font-weight: 700;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
}

.session .overnight-week {
	position: relative;
}

.fees .overnight-week .tooltip {
	display: inline;	
}

.session .overnight-week .tooltip {
	position: absolute;
	top: 0;
	right: 1rem;
}

.fees .overnight-week img {
	height: 20px;
}

.session .overnight-week img {
	height: 20px;
	cursor: help;
}

.session .overnight-week .tooltip-content {
	display: none;
	position: absolute;
	bottom: 100%;
	width: 200px;
	padding: .5rem 1rem;
	background-color: white;
	color: black;
	font-size: 1rem;
	text-transform: none;
	font-weight: 400;
	text-align: left;
	border-bottom: 1px dotted var(--accent-seven);
}

.session .theme-container {
	text-align: center;
	padding: 1rem 1rem 0;
}

.session .theme-container h6 {
	color: var(--accent-seven);
	font-family: var(--primary);
	font-size: 1.5rem;
	font-weight: 900;
	margin: 0;
}

.session .theme-container p {
	color: var(--accent-seven);
	margin: 0;
}

.session .date-time-container {
	padding: 1rem;
/* 	text-align: center; */
/* 	border-bottom: 1px solid var(--accent-six); */
}

/* .session .date-time-container p {
	margin: 0;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--accent-seven);
	font-size: 1.25rem;
} */

.session .date-time-container p.dates-times {
	color: var(--keff-blue);
	font-weight: 900;
	text-transform: none;
}

.session .date-time-container p.dates-times span {
	font-weight: 400;
}

.session .date-time-container hr {
	width: 10%;
	height: 2px;
	background-color: var(--accent-seven);
	margin: 1rem auto;
}

.session .fees-details-container {
	padding: 1rem;
	display: flex;
	justify-content: space-between;
}

.session .fees-details-container .fees {
	position: relative;
	display: flex;
	align-items: start;
}

.session .fees-details-container .fees p {
	font-family: var(--primary);
	font-size: 1.125rem;
	font-weight: 900;	
	color: var(--accent-seven);
	margin: 0;
}

.session .fees-details-container .fees .tooltip {
	position: relative;
}

.session .fees-details-container .fees .tooltip img {
	cursor: help;
	padding: 2px;
}

.session .fees-details-container .fees .tooltip-content {
	display: none;
	position: absolute;
	bottom: 100%;
	width: 150px;
	padding: .5rem 1rem;
	background-color: white;
	border-bottom: 1px dotted var(--accent-seven);
}

.session .fees-details-container .details {
	color: var(--accent);
	font-family: var(--primary);
	font-weight: 500;
	font-size: 1.125rem;
	text-transform: uppercase;
	cursor: pointer;
	display: flex;
	align-items: center;
}

.session .fees-details-container .details:after {
	content: "";
	background-image: url(/wp-content/uploads/🦆-icon-_chevron-down_-orange.svg);
	background-repeat: no-repeat;
	background-position: 50% 49%;
	transform: rotate(180deg); 
	display: inline-block;
	transition: .3s;
	width: 18px;
	height: 18px;
	margin-left: .5rem;
/* 	position: relative;
	top: 2px; */
}

.session .fees-details-container .details.active:after {
	transform: rotate(0);
}

.session .details-content {
	display: none;
	padding: 1rem;
	border-top: 1px solid var(--accent-six);
}

.session .details-content * {
	color: var(--accent-seven);
}

.session .details-content hr {
	height: 1px;
	background-color: var(--accent-seven);
}

.session .details-content li {
	font-size: 1.125rem;
}

#lit .session-grid {
	grid-template-columns: repeat(2, 1fr);
	grid-template-areas: revert;
}

#lit .session {
	grid-area: revert;
}


#lit .session .date-time-container {
	display: flex;
	justify-content: center;
}

#lit .session .date-time-container .date-time-wrapper {
	width: 50%;
}

#lit .session .date-time-container .vert-bar {
	width: 1px;
	background-color: var(--accent-seven);
	height: 40px;
	margin: auto 1rem;
}

.overnight {
	width: 40px;
}

#preschool .session-table td {
	width: calc(100% / 3);
}

#lit .session-table td:first-child {
	width: 34%;
}

#lit .session-table td:not(:first-child) {
	width: 22%;
}

.session-table thead tr:nth-child(1) th {
	background-color: var(--teal);
	font-size: 2rem;
}

.session-table thead tr:nth-child(2) th {
	background-color: var(--blue);
	font-size: 1.5rem;
	padding: 1rem;
}

#preschool .session-table thead tr:nth-child(2) th {
	vertical-align: top;
}

.session-table thead tr:nth-child(2) th:not(:last-child),
.session-table.week-highlight thead tr th:not(:last-child) {
	border-right: 4px solid white;
}

.session-table thead tr:nth-child(2) span {	
	font-size: 2rem;
}

.session-table tbody tr:not(:first-child) {
	border-top: 4px solid white;
}

.session-table td:not(:last-child) {
	border-right: 4px solid white;
}

/* Hours and Fees */
.early-bird-banner {
	background-color: var(--blue);
	color: var(--yellow);
	padding: 1rem 4rem;
	text-align: center;
	text-transform: uppercase;
	font-size: 2.5rem;
	font-weight: 700;
	border-radius: .3125rem;
}

.fees-container {
	width: 80%;
	margin: 2rem auto;
}

.fees th,
.fees td {
	font-size: 1.25rem;
}

.fees th {
	text-align: left;
	padding: 0 .5rem;
}

.fees tbody tr {
	border-bottom: 1px solid var(--accent-seven);
}

.fees:not(#lit .fees):not(#adventure .fees) tbody tr:nth-child(2n) {
	border-bottom: 2px solid var(--accent-seven);
}

.fees tbody td {
	color: var(--accent-seven);
	padding: .5rem;
}

.fees tbody td:nth-child(-n+3) {
	width: 25%;
}

.fees tbody td:nth-last-child(-n+2) {
	width: 12.5%;
}

.fees tbody td span {
	color: var(--blue);
	font-weight: 600;
}

/***** Adventure Page *****/
/* #adventure .session-grid {
	grid-template-areas: revert;
	grid-template-columns: repeat(4, 1fr);
}

#adventure .session-grid .session {
	grid-area: revert;
} */

/* Adventure Highlights */
.adventure-highlight-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 1rem;
}

.adventure-highlight-grid .session {
	padding: 1rem;
	border: 1px solid var(--blue);
}

.adventure-highlight-grid .session:nth-child(odd) {
	background-color: var(--blue);
}

.adventure-highlight-grid .session h4 {
	font-size: 2rem;
	width: 100%;
	color: var(--blue);
	margin: 0;
	padding: 0;
}

.adventure-highlight-grid .session li {
	color: var(--blue);
}

.adventure-highlight-grid .session:nth-child(odd) h4,
.adventure-highlight-grid .session:nth-child(odd) li {
	color: white;
}

.adventure-highlight-grid .session h4:before,
.adventure-highlight-grid .session h4:after {
	display: none;
}

.adventure-highlight-grid .session ul {
	margin-top: 2rem;
}

.adventure-highlight-grid .session ul li {
	line-height: 1.2;
	margin-bottom: 1rem;
}

.adventure-highlight-grid .session ul li:last-child {
	margin-bottom: 0;
}


/*Primary Template*/
.page-template-primary-template #page-content-container {
	padding: 2.5rem 0;
	background-image: linear-gradient(to bottom, white, lightblue 12rem, lightyellow 15rem, white 22rem);
}

.page-template-primary-template h2 {
	text-align: center;
}

.page-template-primary-template h2:not(:first-of-type) {
	border-top: 2px solid var(--navy);
	margin-top: 3rem;
	padding-top: 3rem;
}

.page-template-primary-template ol,
.page-template-primary-template ul {
	margin-left: 0;
}

/*Home Template */
.program-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-areas:
		"one one two two three three"
		". four four five five .";
	grid-gap: 2rem;
	margin: 4rem 0;
}

.program-tile {
	overflow: hidden;
	border-radius: 10px;
}

.program-tile:nth-child(1) {
	grid-area: one;
}
.program-tile:nth-child(2) {
	grid-area: two;
}

.program-tile:nth-child(3) {
	grid-area: three;
}

.program-tile:nth-child(4) {
	grid-area: four;
}

.program-tile:nth-child(5) {
	grid-area: five;
}

.program-tile-content-container {
	background-color: var(--blue);
	display: flex;
	flex-direction: column;
	align-items: center;	
	gap: 2rem;
	padding: 2rem 2rem 3rem;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.program-tile-content-container P:last-child {
	margin-bottom: 0;
}

.program-title a {
	color: white;
    font-family: var(--secondary);
    font-weight: 600;
    width: 100%;
    height: 100%;
    display: block;
    padding: 11% 2rem;
    flex: 1;
}

.program-title {
	color: var(--yellow);
    font-family: var(--primary);
    font-weight: 900;
	text-align: center;
	font-size: 1.875rem;
	line-height: 1.2;
}

.program-title span {
	color: white;
}

.program-img {
	overflow: hidden;
	position: relative;
	min-height: 300px;
	background-position: center 40%;
	background-size: cover;
	background-repeat: no-repeat;
}

.program-img img {
	display: block;
	width: 100%;
	transition: .3s;
}

.program-img img + p {
	display: none;
}

.program-img-overlay {
	opacity: 0;
	position: absolute;
	background: rgba(19,128,185,.75);
	top: 0;
	right:0;
	bottom:0;
	left:0;
	padding: 1rem;
	transition: .5s;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.program-img-overlay * {
	color: white;
	text-align: center;
}

.program-tile .program-img:hover .program-img-overlay {
	opacity: 1;
}

.program-toggle-container {
	width: 100%;
}

.program-toggle {
	color: white;
	text-align: center;
	border-top: 1px solid white;
	border-bottom: 1px solid white;
	text-transform: uppercase;
	padding: 1rem 0;
	margin: 0 -2rem;
	cursor: pointer;
}

.program-toggle:after {
	content: url(/wp-content/uploads/🦆-icon-_chevron-down_.svg);
	margin-left:.5rem;
	transform: rotate(180deg);
	display: inline-block;
	transition: .3s;
}

.program-toggle.active:after {
	transform: rotate(0);
}

.program-toggle-content  {
	display: none;
	background-color: var(--accent-five);
	margin:0 -2rem;
	padding: 2rem;
}

.program-toggle-content li {
	font-size: 1.125rem;
}

.program-toggle-content :last-child {
	margin-bottom: 0;
}

.image-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap:2rem;
}

.image-grid img {
	display: block;
}

/*Staff Bio Template*/
.staff-grid {
	display: grid;
	grid-template-columns: 1fr;
}

.staff-tile {
	padding: 4rem 0;
}

.staff-tile:nth-child(odd) {
	background-color: var(--accent-five);
	margin: 0 -5vw;
	padding: 4rem 5vw;
}

.staff-tile h3 {
	text-align: left;
	padding-left: 1rem;
}

.staff-tile .job-title {
	margin-top: 0;
	font-weight: 700;
	font-size: 1.5rem;
}

.staff-tile h4 {
	margin: 0;
	line-height: 1;
}

.staff-tile h5 {
	font-size: 2rem;
}

.staff-content {
	display: grid;
	grid-template-columns: 20% 1fr;
	grid-gap: 3rem;
}

.staff-content img {
	display: block;
	width: 100%;
}

.question-answer {
	background-color: var(--blue);
	padding: 2rem;
	text-align: center;
	border-radius: 5px;
}

.question-answer p {
	color: white;
	margin: 0;
}

.question-answer p strong {
	color: var(--yellow);
	font-size: 1.5rem;
}

.question-answer :last-child {
	margin-bottom: 0;
}

/* Contact Us */
.two-col-container {
	display: flex;
}

.two-col-container .col-1 {
	flex: 2;
	padding: 1rem 2rem 1rem;
}

.two-col-container .col-2 {
	border-left:  2px solid var(--blue);
	flex: 1;
	padding: 1rem 1rem 1rem 2rem;
}

/*Seasonal Camp Template */
.page-template-seasonal-camps .grade-selection-container {
	margin-bottom: 4em;
	padding-bottom: 4rem;
	border-bottom: 3px solid var(--blue);
}

.page-template-seasonal-camps .grade-selection-container h3 {
	margin-bottom: 4rem;
}

.page-template-seasonal-camps h6 {
	margin-bottom: 0;
}

.page-template-seasonal-camps hr.yellow {
	height: 3px;
	background-color: var(--yellow);
	width: 60%;
	margin: 0 auto 1.5rem;
}

.grade-selection-btn-container {
	display: flex;
	gap: 1rem;
	justify-content: center;
}

.grade-selection-btn-container .rounded-btn {
	width: 20%;
}

.grade-preschool.rounded-btn.teal,
.grade-elementary.rounded-btn.teal {
	background: transparent;
	border:  1px solid var(--teal);
	color: var(--teal);
}

.grade-preschool.rounded-btn.teal.active,
.grade-elementary.rounded-btn.teal.active{
	background: var(--teal);
	color: white;
}

.grade-preschool.rounded-btn.active:hover,
.grade-elementary.rounded-btn.active:hover {
	filter: brightness(1);
	cursor: default;
	box-shadow: none;
}

.grade-preschool-container,
.grade-elementary-container{
	display:none;
}

/*Adjustments for Fall camp since thee is no Preschool*/
#fall .grade-selection-container {
	display: none;
}

#fall .grade-elementary-container {
	display: block;
}

/* Prices and Policies Page */
.savings-grid {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 2rem;
	width: 50%;
	margin: 0 auto;
}

.savings-tile {
	border-radius: 10px;
	border-top: 20px solid var(--accent-four);
	padding: 3rem 2rem;
	box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.25);
	text-align: center;
}

.savings-icon {
	text-align: center;
	position: relative;
	margin-bottom: 2rem;
}

.savings-icon img {
	height: 4.25rem;
}

.savings-icon.early-bird:before {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	content: "";
	background-image: url('/wp-content/uploads/early-bird-note.svg');
	transition: .1s;
	top: -30px;
    right: 80px;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
}

.savings-icon.early-bird:hover:before {
	visibility: visible;
	opacity: 1;
}

/* .savings-icon h5 {
	font-size: 3.25;
	line-height: 1.2;
} */

.savings-tile p:last-child {
	margin-bottom: 0;
}

/* Tabs */
#tabs-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}
  
#tabs-nav li {
	display: inline-block;
	padding: 8px 10px;
	border:  1px solid var(--blue);
	border-bottom: none;
	border-radius: 5px 5px 0 0;
	width: 20%;
	text-align: center;
}

#tabs-nav li:hover,
#tabs-nav .active {
	background-color: var(--blue);
	cursor: pointer;
}

#tabs-nav .active {
	box-shadow: 1px 0 3px;
}

#tabs-nav li a {
	text-decoration: none;
	color: var(--blue);
}

#tabs-nav li:hover a,
#tabs-nav .active a {
	color: white;
}

.tab-content {
	padding: 1rem;
	border:  1px solid var(--blue);
}
  
/* Contact Form */
	#contact ._form_element * {
	font-size: 1.25rem;
	font-family: var(--regular);
}

/*Mobile*/
.mobile {
	display: none;
}

/* Alert Bar */
.alert-bar {
	background: var(--red);
	padding: 1rem;
}

.alert-bar p,
.alert-bar a {
	color: white;
	font-size: 1.5rem;
	text-align: center;
}

.alert-bar p:last-child {
	margin-bottom: 0;
}

.alert-bar a,
.alert-bar a:hover {
	text-decoration: underline;
}

/*******************************************************
 * MEDIA QUERIES
 * ****************************************************/
 @media screen and (min-width: 1375px) {
	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		width: 100%;
		justify-content: space-between;
		gap: 2rem;
	}
}

@media only screen and (max-width: 1780px) {
	/* Earlybird Discount */
	.savings-icon.early-bird:before {
		right: 10px;
	}
}

@media only screen and (max-width: 1515px) {
	.menu-primary-container {
		padding: 0 4rem;
	}
}

@media only screen and (max-width: 1374px) {
	.camp-hub-on,
	.mobile {
		display: revert;
	}

	/* Header */
	.header-wrapper {
		z-index: 2;
	}
	
	.logo-container {
		width: 100%;
	}

	.logo-one:hover > .logo-menu, 
	.logo-two:hover > .logo-menu {
		display: none;
	}

	.menu-toggle {
		flex-grow: 1;
		text-align: right;
	}

	/*Navigation*/
	.main-navigation {
		flex-direction: column;
		width: auto;
	}

	#primary-menu .sub-menu {
	    position: revert;
	    background: transparent; 
	    padding: 0; 
	    min-width: revert; 
	    box-shadow: none;
	}

	#primary-menu {
	    background: white;
	    width: 40%;
	    position: absolute;
	    top: 60px;
	    right: 0;
	    padding: 1rem;
	    box-shadow: 1px 1px 3px #cdcdcd;
		max-height: 65vh;
		overflow: auto;
	}

	#primary-menu > li:not(:first-child) {
		margin-top: .5rem;
	}

	.sub-menu li a {
		background-color: transparent;
		font-weight: 500;
		padding: 0 2rem;
	}

	.sub-menu li a:hover,
	.sub-menu li a[href="#"]:hover {
		background-color: transparent;
	}

	.sub-menu .sub-menu li a {
		padding-left: 4rem;
	}
	
	.utility-nav-container {
		display: none;
	}
	
	.sc-hero-container {
		padding-bottom: 0;
	}

	/* Tables */
	.session-table {
		width: 100%;
	}
	
	/* session grid */
	.session-grid {
		grid-template-areas: revert;
		grid-template-columns: repeat(2, 1fr);
	}
	
	.session-grid .session {
		grid-area: revert!important;
	}
	
	.eb-sticker-2025 {
		transform: rotate(0);
		top: 100%;
		transition: .3s;
	}
}

@media only screen and (max-width: 1240px) {
	/* Earlybird Discount */
	.savings-icon.early-bird:before {
		right: 0;
	}
}
 
@media only screen and (max-width: 1024px) {
	/* Page Layout */
	.section-wrapper {
		width: 90%;
	}

	#page-content-container {
		padding: 2rem 0;
	}

	/* Program Grid */
	.program-title a {
		padding: 11% 1rem;
	}
	
	/* Schedule Grid */
	.schedule-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	
	/*Early Bird*/
	.eb-mobile {
		display: flex;
	}
	.eb-hero {
		display: none;
	}
	
	.adventure-highlight-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.program-img {
    	min-height: 300px;
	}
}

@media only screen and (max-width: 980px) {
	/*Headings*/
	h4 {
		font-size: 2.25rem;
	}

	/*Hero Section*/
	.sc-hero-overlay {
		padding:  1rem;
	}

	/* Utility Nav */
	.utility-nav-grid a {
		font-size: 1.75rem;
	}

	.utility-nav-grid a:hover {
		font-size: 1.9rem;
	}

	/* Grids */
	.program-grid,
	.session-grid,
	.col-2-grid:not(.dark),
	.col-2-grid.highlights.left,
	.col-2-grid.highlights.right,
	.adventure-sessions-grid{
		grid-template-columns: 1fr;
	}
	
	.program-grid {
		grid-gap: 1rem;
		grid-template-areas: revert;
	}
	
	.program-grid .program-tile {
		grid-area: revert!important;
	}
	
	.col-2-grid:not(.dark) .col-2.image {
		width: 80%;
		margin: 0 auto;
	}

/* 	.savings-grid, */
	.tk-5-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.program-img {
	    min-height: 150px;
	}
	
/* 	.program-title {
		min-height: 60px;
	} */

	.tk-5-grid .program-title span {
		padding: 1rem 0;
	}

	.savings-tile p {
		margin-bottom: 0;
	}

	.schedule-grid {
		grid-template-columns: 100%;
		grid-template-areas: none;
	}

	#tk-5 .schedule-grid .event {
		grid-area: unset!important;
	}

	#tk-5 .schedule-grid .event:after {
		display: none!important;
	}
	
	/* lists */
	.columns-3 {
		columns: 1;
	}

	/* Tables */
	.mobile-merge td {
		font-size: 1rem;
		padding: .5rem;
	}

	.session-table.week-highlight.mobile-merge td:first-child {
		font-size: 1.5rem;
	}
	
	.fees-container {
		width: 100%;
	}
	
	.fees tbody td:nth-child(-n+3),
	.fees tbody td:nth-last-child(-n+2){
		width: 20%;
	}

	/* Contact Page */
	.two-col-container {
		flex-direction: column;
	}

	#contact .sc-hero-container {
		background-position: left center;
	}

	/*Footer*/
	.footer-top-bar-container h5 {
		line-height: 1.3;
	}

	.footer-menu-grid {
		width: 100%;
		grid-template-columns: 1fr;
		grid-gap: 1rem 0;
	}	
	
	.footer-menu-grid > div:not(:first-child):not(:last-child) {
		padding: 0;
	}
	
	.footer-menu-grid > div:nth-child(-n+2) {
		border: none;
	}
	
	.modal-card-grid {
		padding: 0 5%;
	}
}

@media only screen and (max-width:900px) {
	.utility-nav-container {
		position: relative;
		top: 0!important;
	}
	
	.program-tile-content-container {
		padding: 2rem 1rem 3rem;
	}
}

@media only screen and (max-width:790px) {
	.col-2-grid:not(.dark) .col-2.image {
		width: 100%;
	}
	
	.program-grid {
		grid-template-columns: 1fr;
	}
	
	.program-img {
		min-height: 300px;
	}
}

@media only screen and (max-width: 479px) {
	/* Early Bird Sticker 2025 */
	.eb-sticker-2025 {
		padding: 1rem;
		left: 1rem;
		right: 1rem
	}
	
	/* Header */
	.header-wrapper {
		padding: 1rem;
	}

	/*Nav*/
	#primary-menu {
    	top: 60px;
		width: 100%;
		max-height: 90vh;
	}
	
	.header-wrapper {
		display: block;
	}
	
	.logo-container {
		flex-wrap: wrap;
		gap: .75rem;
	}
	
	.logo-container .logo-separator {
		margin-top: 5px;
		height: 20px;
	}

	#header .logo-one img,
	#header .logo-two img {
		height: 13px;
	}

	/*Headings*/
	h1 {
		font-size: 3.5rem;
	}

	h2 {
		font-size: 3rem;
	}

	h4 {
		padding: 0;
		margin: 3rem 0;
	}
	
	.adventure-sessions-grid h4 {
		margin: 1rem 0;
	}

	h4:before {
		top: -2.5rem;
		left: 0;
		width: 40px;
	}

	h4:after {
		bottom: -2.5rem;
		right: 0;
		width: 40px;
	}

	/*footer*/
	.footer-menu-grid {
		grid-template-columns: 1fr;
		grid-gap: 1rem;
	}

	/*Hero Section*/
	.sc-hero-container {
		min-height: 600px;
	}

	.sc-hero-content {
		padding: 0;
		margin: 0;
		width: 100%;
	}

	.sc-hero-content h1 {
		font-size: 5rem;
	}

	.sc-hero-content h3,
	.square-btn {
		font-size: 3rem;
	}
	
	.page-template-summer-camp-hub .sc-hero-content h3 {
		margin-top: 2rem;
	}
	
	.hero-sub-title span {
		display: block;
		margin-bottom: 2rem;
	}
	
	/* Hero Photo Adjustments */
	#index .sc-hero-container {
		background-position: 45% 100%;
/* 		background-size: 475% 130%; */
	}

	#policies .sc-hero-container {
		background-position: 26% center;
	}

	#lit .sc-hero-container {
		background-position: 64% center;
	}

	#preschool .sc-hero-container {
		background-position: 25% center;
	}

	#contact .sc-hero-container {
		background-position: 20% center;
	}

	#welcoming-all .sc-hero-container {
		background-position: 30% center;
	}

	#adventure .sc-hero-container {
		background-position: 28% center;
	}

	/* Page Layout */
	#page-content-container {
		padding: 1rem 0;
		overflow: hidden;
	}
	
	.col-2-grid {
		margin: 0;
	}
	
	.early-bird-banner {
		padding: 1rem;
		font-size: 2.25rem;
	}
	
	.fees-container {
		width: 100%;
	}
	
	/* Tables */	
	.table-wrapper {
		margin-bottom: 1rem;
	}
	
	.fees th {
		vertical-align: bottom;
	}
	
	.fees tbody > tr:nth-child(1) > td:nth-child(-n+2) {
		min-width: 260px;
	}
	
	.fees tbody > tr:nth-child(1) > td:nth-child(n+3):nth-child(-n+4) {
		min-width: 150px;
	}
	
	#join-our-team .testimonial {
		margin: 4rem 0vw;
	}
	
	

	/* Footer */
	#footer {
		margin-top: 6rem
	}
	
	#footer-menu {
		columns: 1;
	}
	
	
	.footer-menu-grid {
		grid-gap: 0;
	}
	
	.footer-menu-grid .section-2 {
		margin-top: 1rem;
	}
	
	.footer-menu-grid > div:not(:first-child) {
		padding-top: 1rem;
	}

	/* Grids */
	.col-4-grid,
	.session-grid,
	.col-2-grid,
	.image-grid,
	.tk-5-grid,
	.staff-content,
/* 	.savings-grid, */
	.program-grid,
	.utility-nav-grid,
	.adventure-highlight-grid {
		grid-template-columns: 1fr;
	}
	
	.staff-grid {
		grid-template-columns: 100%;
	}
	
	.col-4-grid > div:not(:last-child) {
		border: none;
	}
	
	.col-4-grid > div:not(:first-child) {
		padding-left: 0;
	}
		
	.session .week {
		padding: 0 2rem;
	}
	
	.session .overnight-week .tooltip {
		position: relative;
		right: 0;
	}
	
	.session .overnight-week .tooltip-content {
		width: 150px;
	}
	
	.savings-grid {
		width: 100%;
	}

	.utility-nav-grid > div {
		height: auto;
	}
	
	.grade-selection-btn-container {
		flex-direction: column;
	}
	
	#page-content-container .grade-selection-btn-container .rounded-btn {
		width: 100%;
	}
	
	.col-2-grid.dark {
		margin-bottom: 0;
	}
	
	.col-2-grid.dark .col-1 {
		padding: 0 0 0 5vw;
	}
	
	.col-2-grid.dark .image {
		min-height: 400px;
	} 
	
	.col-2-grid.narrow.dark {
		padding: 2rem;
	}
	
	.col-2-grid.narrow.dark .col-1 {
		padding: 0;
		margin: 0;
		width: 100%;
	}

	/*Staff page*/
	.staff-member-container {
		flex-direction: column;
	}

	.staff-name {
		width: 100%;
	}

	.staff-photo-col {
		margin-right: 0;
	}

	.staff-member-container:nth-child(even) .staff-photo-col {
		margin-left: 0;
	}

	.staff-member-container:nth-child(even) .staff-photo-col {
		order: 0;
	}

	/* Tk-5 Page */
	.program-modal h2 {
		font-size: 2rem;
	}

	/* Earlybird Discount */
	.savings-icon.early-bird:before {
		right: 0;
	}

	/* Narrow Wrapper */
	.narrow-wrapper {
		width: 100%;
	}

	/* Slider */
	.slick-prev.slick-arrow {
		left: 1rem;
	}

	.slick-next.slick-arrow {
		right: 1rem;
	}
}

/* Pricing */
.eb-price,
.bird-key,
.bird-key p {
	position: relative
}

.bird-key {
	text-align:center;
}

.bird-key p {
	display: inline-block;
}

.eb-price {
	display:none;
	color: var(--blue);
	font-weight: 700;
}

.eb-price:before,
.bird-key p:before {
	content: url('/wp-content/uploads/early-bird.svg');
	width: 40px;
	margin-right: 1rem;
	position: absolute;
	left: -3.5rem;
}

.bird-key p:before {
	left: -3rem;
}

.reg-price {
	display: block;
	color: var(--blue);
	font-weight: 700;
}

#tk-5 .session-table,
#adventure .session-table{
	width: 100%;
}

#tk-5 .session-table td:not(:nth-child(1)),
#adventure .session-table td:not(:nth-child(1)){
	width: 25%;
}

/* Feature Section */
.feature-section {
    background-image: linear-gradient(rgba(255, 255, 255, .8), rgba(255, 255, 255, .8)), url(/wp-content/uploads/Camp-Keff-Website-Hero-BG-2-2.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 75% 50%;
    width: 100vw;
	margin: 0 -5vw;
	padding: 4rem 5vw;
}

.feature-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 4rem;
}

.feature {
	text-align: center;
}

.feature img {
	height: 3rem;
}

.feature h5 {
	font-size: 1.5rem;
	color: var(--keff-blue);
	margin-top: 1rem;
}

.feature :last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 1700px) {
	#tk-5 .session-table td:not(:nth-child(1)),
	#adventure .session-table td:not(:nth-child(1)){
		width: 23%;
	}
	
	#tk-5 .session-table td:last-child,
	#adventure .session-table td:last-child {
		width: 31%;
	}
}

@media only screen and (max-width: 1420px) {
	#tk-5 .session-table td:not(:nth-child(1)),
	#adventure .session-table td:not(:nth-child(1)){
		width: 20%;
	}
	
	#tk-5 .session-table td:last-child,
	#adventure .session-table td:last-child {
		width: 40%;
	}
	
	#preschool .session-table td {
		width: 30%;
	}
	
	#preschool .session-table td:last-child {
		width: 40%;
	}
}
@media only screen and (max-width: 1200px) {
	#tk-5 .session-table td:not(:nth-child(1)),
	#adventure .session-table td:not(:nth-child(1)){
		width: 24%;
	}
	
	#tk-5 .session-table td:last-child,
	#adventure .session-table td:last-child {
		width: 30%;
	}
	
	#tk-5 .seesion-table td,
	#adventure .session-table td {
		padding: 1.5rem;
	}
}

@media only screen and (max-width:980px) {
	#tk-5 .session-table td:not(:nth-child(1)),
	#adventure .session-table td:not(:nth-child(1)){
		width: 75%;
	}
	
	#tk-5 .session-table td:last-child,
	#adventure .session-table td:last-child {
		width: 30%;
	}
	
	#tk-5 .seesion-table td,
	#adventure .session-table td {
		padding: 1rem;
	}
	
	.mobile-merge td .reg-price {
		font-size: .75rem;
	}
	
	.mobile-merge td .eb-price:before {
		width: 30px;
		left: -3rem;
	}
	
	#preschool .session-table td {
		padding: 1.5rem;
		width: 33.33%;
	}
	
	#preschool .session-table td:last-child {
		width: 33.33%;
	}
}

@media only screen and (max-width:479px) {
	#preschool .session-table td {
		padding: 1rem;
		width: 30%;
	}
	
	#preschool .session-table td:last-child {
		min-width: 350px;
	}
}

/* Highlights Height Demo */
.col-2-grid.highlights.demo .col-1 {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

/* 2025 Event Sticker */
.event-sticker {
    position: absolute;
    border-radius: 50%;
    padding: 1rem;
    background: var(--blue);
    color: white;
    top: 95%;
    left: 2rem;
    z-index: 1;
	box-shadow: 5px 5px 20px #484848;
	cursor: pointer;
}

.event-sticker img {
	height: 2rem;
	display: block;
}

#spring .event-sticker,
#spring-policies .event-sticker {
	display: none;
}

/* 2025 Event Callout Modal */
.modal-overlay {
	display:none;
	position: fixed;
    top: 0;
	left: 0;
	width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, .3);
    z-index: 99999;
    padding: 10vh 0;
    backdrop-filter: blur(10px);
}

.modal-overlay.open {
	display: flex;
}

.modal-card-container {
	position: relative;
	background: var(--modal-background);
    width: 60%;
	margin: 0 auto;
	padding: 1rem;
}

.modal-card-container .close {
	position: absolute;
    top: -3rem;
    right: -3rem;
    background: white;
    font-weight: 700;
    font-size: 2rem;
    color: black;
    transform: rotate(45deg);
    border-radius: 50%;
    padding: 0px 7px 6px 7px;
	line-height: 1;
	cursor: pointer;
}

.modal-card-grid {
	display: grid;
	grid-template-columns: 100%;
	height: 100%;
	width: 100%;
	margin: 0 auto;
	overflow: auto;
	padding: 0 10%;
}

.modal-card-one {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	justify-content: center;
}

.modal-card-one img {
	display: block;
	border-radius: 12px;
}

.modal-card-two {
	padding: 0 3rem 0 4rem;
	display: flex;
    flex-direction: column;
    justify-content: center;
}

.modal-card-two * {
	text-align: center;
}

.modal-card-two h1 {
	font-family: var(--logo);
	font-size: 8rem;
	font-weight: 400;
	color: var(--blue);
	margin: 0;
	line-height: 1;
}

.modal-card-two h2 {
	font-size: 3rem;
	margin: 0 0 1rem;
	line-height: 1;
	text-transform: uppercase;
}

.modal-card-two h3 {
	font-size: 2rem;
	margin: 0 0 .5rem;
	line-height: 1;
	text-transform: uppercase;
}

.modal-card-two h4 {
	font-size: 1.75rem;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.modal-card-two p {
	text-align: center;
	color: var(--blue);
}

.modal-card-two .rounded-btn.blue {
	color: var(--modal-background);
	text-transform: uppercase;
	width: 50%;
	margin: 0 auto;
}

@media only screen and (max-width:1374px) {
	.modal-card-container {
		width: 80%;
	}
}

@media only screen and (max-width: 980px) {
	.modal-card-two .rounded-btn.blue {
		width: 100%;
	}
}

@media only screen and (max-width: 479px) {
	.modal-overlay {
		padding: 0;
	}
	
	.modal-card-container {
		width: 100%;
	}
	
	.modal-card-container .close {
		right: 1rem;
		top: 1rem;
		padding: .6rem 1rem;
	}
	
	.modal-card-grid {
		padding: 0;
	}
	
	.modal-card-two h1 {
		font-size: 4rem;
	}
	
	.modal-card-two h2 {
		font-size: 2rem;
	}
	
	.modal-card-two h3 {
		font-size: 1.5rem;
	}
	
	.modal-card-two {
		padding: 0 1rem;
	}
}