@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-VariableFont_wdth,wght.ttf') format('truetype');
    font-weight: 300 800;
    font-stretch: 75% 100%;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf') format('truetype');
    font-weight: 300 800;
    font-stretch: 75% 100%;
    font-style: italic;
    font-display: swap;
}
:root {
	--color-pine-teal: #254832;
	--color-dark-emerald: #176734;
	--color-honey-bronze: #DFA33C;
	--color-anti-flash-white: #f1f1f1;
	font-size: 20px;
}
strong {
    font-weight: bolder;
}
html, body {
	margin: 0 auto;
	width: 100%;
	height: 100%;
}
body {
	margin: 0 auto;
	font-family:'Open Sans', sans-serif;
	font-size: 1rem;
	color:#000;
	background-color:#fff;
}
body.no-scroll {
    overflow: hidden;
    height: 100vh;
    touch-action: none;
}
a:link,a:visited,a:active {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
#content-container > section.page-content > article a:link,
#content-container > section.page-content > article a:visited,
#content-container > section.page-content > article a:active {
	font-weight:700;
}
img {
	max-width:100%;
	height:auto;
}
.wp-block-image img {
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);
}
.drop-shadow {
	-webkit-box-shadow: 0px 7px 25px -15px #000000; 
	box-shadow: 0px 7px 25px -15px #000000;
}
hr.faded-line {
    border: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--color-pine-teal), transparent);
    margin:50px auto;
    width: 90%;
}
.front-page hr.faded-line {
	margin:16px auto;
}
@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* ends in place */
    }
}
.fade-in-up {
    animation: fade-in-up 0.8s ease-in-out forwards;
}
#wrapper > div#container > main#content div.entry-content p.before-heading { /* added with javascript */
    margin-bottom:50px;
}
#wrapper p {
    margin:24px auto;
    font-weight:normal;
}
#wrapper > div#container > main#content header.entry-header {
    margin:0 auto 8px auto;
    text-align:center;
}
#wrapper > div#container > main#content div.entry-content {
    margin:0 auto 20px auto;
    max-width:1250px;
}
#wrapper > div#container > main#content div.entry-content a {
    display:inline-block;
	word-break:break-all;
}
#desktop-menu-container {
	display:none;
}
#wrapper > #header > #top-bar {
	position:fixed;
	z-index:999;
	top:0;
	right:0;
	left:0;
	width:100%;
}
/*	for fixed header on scroll	*/
#wrapper > #header > #top-bar {
	transition: transform 0.4s ease;
}
#wrapper > #header > #top-bar.hide {
	transform: translateY(-60px);
}
#wrapper > #header > #top-bar > .top-bar {
	height:100%;
}
#wrapper > #header > #top-bar > .top-bar > ul {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	height:100%;
}
#wrapper > #header > #top-bar > .top-bar > ul > li {
	padding:3px;
}
#wrapper > #header > #top-bar > .top-bar > ul > li a {
	display:flex;
	align-items:center;
}
#wrapper > #header {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	position:relative;
	color:#000;
    background:var(--color-dark-emerald);
}
#header #branding #site-logo img {
	max-width:200px;
}
#header #branding #site-logo span,
#header #branding #site-logo a {
	display:inline-block;
	width:100%;
	height:100%;
	margin:12px auto;
	text-align:center;
}
#wrapper > #container > #content > #content-container img,
#wrapper > #container > #content > #content-container p {
	margin:16px auto;
}
#wrapper > #container {
	padding-bottom:1rem;
}
#wrapper > footer {
	font-size:.93rem;
	display:flex;
	flex-wrap:wrap;
	flex-direction:column;
	justify-content:center;
	font-weight:400;
	background: var(--color-pine-teal);
	padding:1rem .5rem;
	color:var(--color-anti-flash-white);
}
#wrapper > footer .footer-menu ul {
	list-style-type:none;
}
#wrapper > footer a:link,
#wrapper > footer a:visited,
#wrapper > footer a:active {
	color:var(--color-anti-flash-white);
	text-decoration: none;
}
#wrapper > footer a:hover {
	text-decoration:underline;
}
#wrapper > footer > section > .copyright,
#wrapper > footer > section.footer-nav {
	margin:2rem auto;
}
#wrapper > footer > section.footer-nav div.footer-menu > div  {
	display:flex;
	flex-wrap:wrap;
}
#wrapper > footer > section.footer-nav div.footer-menu > div ul {
	flex:100%;
}
#wrapper > footer > section > div.copyright {
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	font-size:.7rem;
	margin:0;
}
#wrapper > footer > section > div.copyright > div {
	flex:100%;
	text-align:center;
	padding:10px;
}
#wrapper > footer > section > .footer-section-title {
	text-align:center;
}
#wrapper > footer > section > .footer-section-title > h3 {
	font-size:1.5rem;
	margin-bottom:10px;
}
#wrapper > #container > #content > #front-page-container > #front-page-editor {
	padding:1rem .5rem;
}
#wrapper > #container > #content > #front-page-container > #front-page-editor > .editor-wrapper {
	margin:auto;
	max-width:1200px;
}
#wrapper > #container .woocommerce-breadcrumb-container {
	padding:10px 0;
	margin:0 auto;
	border-top:1px solid var(--color-pine-teal);
	border-bottom:1px solid var(--color-pine-teal);
	background:var(--color-honey-bronze);
	color:#000;
	font-weight:600;
}
#wrapper > #container .woocommerce-breadcrumb-container .woocommerce-breadcrumb {
	margin:auto;
	width:90%;
	font-size:.9rem;
	color:#000;
}
#wrapper > #container .woocommerce-breadcrumb a:link,
#wrapper > #container .woocommerce-breadcrumb a:visited,
#wrapper > #container .woocommerce-breadcrumb a:active {
	color:#000;
	text-decoration:none;
}
#wrapper > #container .woocommerce-breadcrumb a:hover {
	text-decoration:underline;
}
#wrapper > #container > #content > #content-container,
#wrapper > #container > #content > #front-page-container {
	min-height:40vh;
}
#wrapper > #container > #content > #content-container .page-title {
	margin:0 auto;
	text-align:center;
}
#wrapper > #container > #content > #content-container .page-title h2 {
	padding-top:1rem;
	font-size:1.4rem;
}
.woocommerce-account div.woocommerce-MyAccount-title-container > h2.woocommerce-MyAccount-title {
	padding:.5rem 0 1.5rem 0;
	font-size:1.2rem;
	text-align:center;
}
#wrapper > #container > #content > #content-container {
    margin:0 auto;
	width:95%;
}
#wrapper > #container > #content > #front-page-container > section#front-page-editor {
	padding:2rem;
}
#wrapper > #container > #content > #front-page-container > section#front-page-editor div.wp-block-column p:first-of-type {
	margin-top:0;
}
form.post-password-form input {
    padding: 8px !important;
    margin: 10px;
}
.product_cat-chahinkapa-zoo.product_cat-school-field-trip .gf-readonly label,
.product_cat-chahinkapa-zoo.product_cat-school-field-trip .gf-readonly .charleft.ginput_counter.gfield_description {
	display:inline-block!important;
}
.product_cat-chahinkapa-zoo.product_cat-school-field-trip .gf-readonly input {
	font-size:15px!important;
	padding:8px!important;
	margin-top:0!important;
}
.product_cat-chahinkapa-zoo.product_cat-school-field-trip .gf-readonly label,
.product_cat-chahinkapa-zoo.product_cat-school-field-trip .gf-readonly .charleft.ginput_counter.gfield_description,
.product_cat-chahinkapa-zoo.product_cat-school-field-trip .gf-readonly input {
	pointer-events: none;
}
.product_cat-chahinkapa-zoo.product_cat-school-field-trip .gf-readonly input {
	pointer-events: none;
	outline:none;
	background:#e6e6e6;
}
.product_cat-chahinkapa-zoo.product_cat-school-field-trip .wc-bookings-booking-cost.price {
    display:none!important;
}
section.chahinkapa-zoo .zoo-template-heading {
    margin:10px auto;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
}
section.chahinkapa-zoo .zoo-template-heading p {
    text-align:center;
}
ul.chahinkapa-zoo-product-categories {
    padding:0;
	max-width:1200px;
	margin:auto;
}
ul.chahinkapa-zoo-product-categories,
ul.chahinkapa-zoo-product-categories li {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
}
ul.chahinkapa-zoo-product-categories li {
    flex:100%;
    max-width:400px;
}
ul.chahinkapa-zoo-product-categories li a {
    font-size: 1.15rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    display:inline-block;
    width:85%;
    height:100%;
    border-radius: 14px;
    padding:.5rem;
	background-color:var(--color-honey-bronze);
    transition: background-color 0.2s ease, 
                color 0.2s ease, 
                text-shadow 0.2s ease,
				transform 0.1s ease;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);
}
ul.chahinkapa-zoo-product-categories li a:hover {
	background-color:var(--color-dark-emerald);
	color:var(--color-anti-flash-white);
    text-shadow: 1px 1px 1px rgba(27, 27, 27, 0.6);
	transform: translateY(-2px);
}
ul.chahinkapa-zoo-product-categories li.zoo-product img {
    max-width:180px;
}
@media only screen and (min-width:650px) {
    ul.chahinkapa-zoo-product-categories li {
        flex:1 25%;
		max-width:420px;
    }
}
@media only screen and (min-width:782px) {
	#wrapper > #container > #content > #front-page-container > section#front-page-editor {
		padding:3rem 2.5rem;
	}
}
@media only screen and (min-width:850px) {
	#wrapper > footer {
		flex-direction:row;
	}
	#wrapper > footer > #sponsors {
		padding-bottom:2rem;
	}
	#wrapper > footer > section.footer-nav {
		flex:0 55%;
	}
	#wrapper > footer > section.theme-info {
		flex:0 35%;
		display:flex;
		flex-wrap:wrap;
		align-items:stretch;
	}
	#wrapper > footer > section.footer-nav div.footer-menu > div ul#menu-footer-sitemap.menu {
		margin:0;
	}
	#wrapper > footer > section.footer-nav div.footer-menu > div ul li {
		flex:1 50%;
	}
	#wrapper > footer > section.footer-nav {
		margin:0;
	}
	#wrapper > footer > section.footer-nav > div.footer-menu {
		width:100%;
	}
	#wrapper > footer > section > div.copyright > div {
		flex:100%;
	}
	#wrapper > footer > section > .footer-section-title {
		text-align:left;
	}
	#wrapper > footer > section > .footer-section-title > h3 {
		font-size:1.8rem;
	}
	#wrapper > footer > section > div.copyright {
		align-items:flex-start;
		font-size:.9rem;
	}
	#wrapper > footer > section > div.copyright > div {
		flex:90%;
		text-align:left;
		padding:10px;
	}
	#wrapper > footer > .footer-nav ul li {
		text-align:left!important;
	}
}
@media only screen and (min-width:900px) {
    body {
        font-size:1.1rem;
    }
	#wrapper > #container > #content > #content-container > #template-container {
		flex-wrap:nowrap;
		flex-direction:row-reverse;
		justify-content:space-evenly;
	}	
	#wrapper > #container > #content > #content-container .right-sidebar #sidebar-container {
		padding:0 1rem 0 .25rem;
		min-height:300px;
	}
}
@media only screen and (min-width:1000px) {
	#mobile-menu-container, #mobile-nav,#mobile-nav-overlay {
		display:none;
	}
	body {
		font-size:1.05rem;
	}
	a[href*="tel:"] {
		pointer-events: none;
	}
	:root {
		font-size: 22px;
    }
	#wrapper > #container,
	#wrapper > #footer {
		position:relative;
		top:120px;
	}
	/*	for fixed header on scroll	*/
	#wrapper > #header {
		transition: transform 0.5s ease-in-out, box-shadow 0.5s ease;
		box-shadow: none;
		position:fixed;
		z-index:999;
		top:0;
		right:0;
		left:0;
		width:100%;
		height:120px;
	}
	#wrapper > #header.shift,
	#wrapper > #header.scroll-up {
		box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3);
	}
	#wrapper > #header.at-top {
		box-shadow: none;
	}
	#wrapper > #header.shift {
		transform: translateY(-150px);
		border-bottom:0;
	}
	#wrapper > #header.scroll-up {
		border-bottom:0;
	}
	#wrapper > #header.shift,
	#wrapper > #header.scroll-up {
		box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3);
	}
	#header #branding #site-logo img {
		max-width:85px;
	}
	#wrapper {
		overflow-x:unset;
		position:relative;
	}
	#site-title h1 {
		font-size:1.8rem;
	}
	#wrapper > #header > #branding {
		flex:0 10%;
		max-width:none;
		margin:0;
	}
	#wrapper > div#container > main#content div.entry-content {
		margin:20px auto;
		max-width:none;
	}
	#wrapper > #container > #content > #content-container > section.right-sidebar > #template-container  {
		width:auto;
		padding: 3px;
	}
	#wrapper > footer > .footer-nav > .menu-footer-menu-container ul li {
		flex:auto;
	}
	#header #branding {
		flex:1 20%;
	}
	#wrapper > #container > #content > #content-container,
	#wrapper > #container > #content > #front-page-container {
		margin:0 auto;
		padding:0;
	}
	#wrapper > div#container > main#content header.entry-header > h1.entry-title {
		font-size:1.6rem;
	}
	#wrapper > #container > #content > #content-container > .page-title > h2 {
		font-size:1.8rem;
	}
	.woocommerce-account div.woocommerce-MyAccount-title-container > h2.woocommerce-MyAccount-title {
		padding:.5rem 0 1.5rem 0;
		font-size:1.2rem;
		text-align:center;
	}
	#wrapper > #container > #content > #content-container,
	#wrapper > #container > #content > #front-page-container {
		min-height:70vh;
	}
	#wrapper > #container > #content > #front-page-container {
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
	}
	#wrapper > #container > #content > #front-page-container > section {
		flex:100%;
	}
	#wrapper > div#container > main#content #front-page-container section:first-of-type h1,
	#wrapper > div#container > main#content #front-page-container section:first-of-type p {
		width:auto;
	}
	#wrapper > #container > #content > #content-container > section.right-sidebar {
		display:flex;
		align-items:flex-start;
		justify-content:center;
		margin-bottom:50px;
	}
	#wrapper > #container > #content > #content-container > section.right-sidebar > article  {
		flex:0 50%;
	}
	#wrapper > #container > #content > #content-container > section.right-sidebar > #template-container  {
		flex:0 30%;
		width:400px;
		max-width:none;
	}
	#wrapper > #container > #content > #front-page-container > section > p {
		font-size: 1.1rem!important;
	}
}
@media only screen and (min-width:1160px) {
	#header #branding #site-logo img {
		max-width:140px;
	}
	#wrapper > #header > #branding {
		flex:0 14%;
	}
}
@media only screen and (min-width:1300px) {
	:root {
		font-size: 22px;
    }
	#header #branding #site-logo img {
		margin-left:15px;
		max-width:160px;
	}
	#wrapper > #container > #content > #content-container {
		max-width:1600px;
	}
	#wrapper > footer > section.footer-nav {
		flex:0 40%;
	}
	#wrapper > footer > section.theme-info {
		flex:0 35%;
	}
	#wrapper > footer > section > div.footer-menu,
	#wrapper > footer > section > div.copyright {
		font-size:1rem;
	}
}
@media only screen and (min-width:1600px) {
	#wrapper > #container > #content > #front-page-container > section > p {
		font-size: 1.25rem!important;
	}
	ul.chahinkapa-zoo-product-categories {
		max-width:1500px;
	}
}
@media only screen and (min-width:1800px) {
	#wrapper > #container > #content > #content-container,
	#wrapper > #container .woocommerce-breadcrumb-container .woocommerce-breadcrumb {
		max-width:1600px;
	}
	#wrapper > #container > #content > #content-container article {
		max-width:none;
	}
	body.page-template-right-sidebar #wrapper > #container .woocommerce-breadcrumb-container .woocommerce-breadcrumb {
		max-width:none;
	}
	#wrapper > #footer,
	#wrapper > footer > section > .copyright {
		font-size:.8rem;
	}
}