/*
Theme Name: BNE Minimal
Description: A starter template ready for full customizations. Inspired by Sweetness, a full fledge theme by BNE Creative.
Author: Kerry Kline
Author URI: https://www.bnecreative.com
Version: 2025.12.19
Text Domain: bne
License: GPL2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/* Globals */
:root {
	/* Defined in options
	--btn-color
	--btn-text-color
	--primary-color
	--secondary-color
	--tertiary-color
	--accent-color
	*/

	/* Layout */
	--content-area-width: 1400px;
	/* Sidebar gap on desktop */
	--sidebar-gutter: 3rem;
	
	
	/* Typography */
	--fs-base: 16px;
	/* --fs-ratio: 1.3; */
		
	/* Fluid Generator: https://fluidtypography.com */
	/* Clamp: (min, fluid, max) */
	--fs-h1: clamp(2rem, 5.196vw + 1.155rem, 2.5rem); 
	--fs-h2: clamp(1.5rem, 1.617vw + 1.519rem, 2rem);
	--fs-h3: clamp(1.3rem, 1.386vw + 1.079rem, 1.5rem);
	--fs-h4: clamp(1.125rem, 1.155vw + 0.826rem, 1.3rem);
	--fs-h5: clamp(1rem, 0.693vw + 0.821rem, 1.125rem);
	--fs-h6: clamp(0.875rem, 0.462vw + 0.755rem, 1rem);
	
	--body-font-family: 'PT Sans';
	--body-font-color: #000;

	--heading-font-family: 'PT Sans';
	--heading-font-color: #333;
	--heading-font-weight: 600;

	--link-color: var(--primary-color);
	--link-color-hover: var(--primary-color);
	
	/* Menu */
	--menu-alignment: flex-end; /* use "center" for centering links */
	--menu-bg-color: transparent; /* wrapper */
	
	--menu-top-color: #333;
	--menu-top-color-hover: #000;
	--menu-top-bg-color: transparent;
	--menu-top-bg-color-hover: #fff;
	--menu-top-color-border: var(--primary-color);

	--menu-sub-color: #333;
	--menu-sub-color-hover: #333;
	--menu-sub-bg-color: #f4f4f4;
	--menu-sub-bg-color-hover: #fff;

	/* Forms */
	--input-color: #535165;
	--input-bg-color: #f4f4f4;
	--input-border-radius: 0.5rem;
	--input-shadow: none;
	
	/* Buttons */
	--btn-submit-text-size: 1.125rem;
	--btn-submit-padding: .625rem 1rem;
	--btn-submit-width: auto;
	--btn-border-radius: .25rem;
	/* --btn-color: #fff */
	/* --btn-text-color: #333 */
	
	
	/* Media */
	--wp--style--block-gap: 1.2rem;

	/* Utility */
	--border-radius: 1rem;
	
}
/* END Globals */



/* 	=================================
	Utilities
=================================  */



/* WP Columns */
@media( min-width: 1024px ) {
	:where( .wp-block-columns.is-layout-flex ) {
		column-gap: 4em;
	}
	
	.wp-block-columns + .wp-block-columns {
		margin-top: 3rem;
	}
}

@media( max-width: 768px ) {
	.wp-block-columns.columns-sm-2 > .wp-block-column {
		flex-basis: 40% !important;
	}
}

.border-radius {
	border-radius: var(--border-radius) !important;
}


/*	=================================
	Typography
	Self Hosted Font Generator: gwfh.mranftl.com/fonts/
=================================  */

/* pt-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/pt-sans-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* pt-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/pt-sans-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* == General == */
.text-shadow-drk {
	text-shadow: 1px 1px 1px black;
}
strong {
	font-weight: 800;
}

.heading-main {
	line-height: 1;
	font-family: var(--heading-font-family);
}
.heading-sub {
	line-height: 1.1;
}

.text-stroke .heading-main {
	-webkit-text-stroke: 2px white;
}

p.has-fit-text {
	line-height: 1.1;
}



/* == Mobile Typography Resets == */
/* let's make sure any inline font changes in WP blocks are reset for mobile */
@media(max-width:600px) {
	h1, .h1 { font-size: var(--fs-h1) !important; }
	h2, .h2 { font-size: var(--fs-h2) !important; }
	h3, .h3 { font-size: var(--fs-h3) !important; }
	h4, .h4 { font-size: var(--fs-h4) !important; }
	h5, .h5 { font-size: var(--fs-h5) !important; }
	h6, .h6 { font-size: var(--fs-h6) !important; }
}



/* == Buttons == */
.wp-block-button.is-style-outline:hover a:not(.has-text-color) .btn-icon,
.wp-block-button.is-style-outline a:not(.has-text-color):hover {
	color: var(--btn-color) !important;
}
.wp-block-button.is-style-outline a.has-light-color:hover {
	color: #000 !important;
}

.wp-block-button.is-style-curve a {
	padding-bottom: calc(1rem + 10px) !important;
	mask: radial-gradient(55% 25% at bottom, transparent 97%, #000);
}

/* Button - External Link Icon 
	Use "icon-after-{xxx}" and "icon-before-{xxx}"
*/
.wp-block-button.icon-after-external a:after {
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M290.4 19.8C295.4 7.8 307.1 0 320 0L480 0c17.7 0 32 14.3 32 32l0 160c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9L400 157.3 246.6 310.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L354.7 112 297.4 54.6c-9.2-9.2-11.9-22.9-6.9-34.9zM0 176c0-44.2 35.8-80 80-80l80 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-80 0c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-80c0-17.7 14.3-32 32-32s32 14.3 32 32l0 80c0 44.2-35.8 80-80 80L80 512c-44.2 0-80-35.8-80-80L0 176z"/></svg>');
}

/* Button - Phone Icon */
.wp-block-button.icon-before-phone a:before {
	mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24c-17.4 4.8-29.5 20.6-29.5 38.6 0 247.4 200.6 448 448 448 18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6l-40.4 49.3c-70.4-33.3-127.4-90.3-160.7-160.7l49.3-40.3c13.7-11.2 18.4-30 11.6-46.3l-40-96z"/></svg>');
}




/* == Forms == */





/*	=================================
	Media
=================================  */

@media(max-width:500px) {
	.wp-block-image .alignleft,
	.wp-block-image .alignright {
		float: none;
	}
}

.star-top-offset {
	margin-top: -50px;
}

.card-image-top-offset {
	margin-top: -60px;
}


/*	=================================
	Main Menu
=================================  */

/* == Mobile Menu btn == */
.mobile-nav-btn {
	background-color: var(--primary-color);
	height: 100%;
	width: fit-content;
}

.mobile-nav-btn span {
	display: block;
}


/* == Menu Button CTA == */
@media( min-width: 768px ) {
	ul.primary-nav {
		align-items: center; /* Aligns with menu btns */
	}
	.menu-btn {
		margin-left: 1rem;
	}
	
	/* Fly in button on sticky */
	/*
	.menu-btn {
		margin-left:-175px;
		transform: translateX(175px);
		opacity: 0;
		transition: all .3s ease;
	}
	.menu-btn a {
		border-radius: var(--border-radius) !important;
	}
	
	.is-sticky .menu-btn {
		margin-left: 1rem;
		transform: translateX(0);
		opacity: 1;
	}
	*/
	
	
}

ul.primary-nav .menu-btn a {
	background-color: var(--primary-color);
	color: #fff;
	border: 1px solid transparent;
	border-radius: var(--btn-border-radius);
	font-weight: bold;
}

ul.primary-nav .menu-btn:hover a {
	background-color: #fff;
	color: var(--primary-color);
	border-color: var(--primary-color);
	box-shadow: none;
}

ul.primary-nav .menu-btn .menu-label {
	display: inline-flex;
	align-items: center;
}

ul.primary-nav .menu-btn .menu-label:before {
	/* SVG Phone */
	content: "";
	height: 1em;
	width: 1em;
	margin-right: 0.5em;	
	background-color: currentColor;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 1em;
	mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24c-17.4 4.8-29.5 20.6-29.5 38.6 0 247.4 200.6 448 448 448 18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6l-40.4 49.3c-70.4-33.3-127.4-90.3-160.7-160.7l49.3-40.3c13.7-11.2 18.4-30 11.6-46.3l-40-96z"/></svg>');
}

ul.primary-nav .menu-btn.menu-appointment .menu-label:before {
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M224 64C241.7 64 256 78.3 256 96L256 128L384 128L384 96C384 78.3 398.3 64 416 64C433.7 64 448 78.3 448 96L448 128L480 128C515.3 128 544 156.7 544 192L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 192C96 156.7 124.7 128 160 128L192 128L192 96C192 78.3 206.3 64 224 64zM160 304L160 336C160 344.8 167.2 352 176 352L208 352C216.8 352 224 344.8 224 336L224 304C224 295.2 216.8 288 208 288L176 288C167.2 288 160 295.2 160 304zM288 304L288 336C288 344.8 295.2 352 304 352L336 352C344.8 352 352 344.8 352 336L352 304C352 295.2 344.8 288 336 288L304 288C295.2 288 288 295.2 288 304zM432 288C423.2 288 416 295.2 416 304L416 336C416 344.8 423.2 352 432 352L464 352C472.8 352 480 344.8 480 336L480 304C480 295.2 472.8 288 464 288L432 288zM160 432L160 464C160 472.8 167.2 480 176 480L208 480C216.8 480 224 472.8 224 464L224 432C224 423.2 216.8 416 208 416L176 416C167.2 416 160 423.2 160 432zM304 416C295.2 416 288 423.2 288 432L288 464C288 472.8 295.2 480 304 480L336 480C344.8 480 352 472.8 352 464L352 432C352 423.2 344.8 416 336 416L304 416zM416 432L416 464C416 472.8 423.2 480 432 480L464 480C472.8 480 480 472.8 480 464L480 432C480 423.2 472.8 416 464 416L432 416C423.2 416 416 423.2 416 432z"/></svg>');
}

ul.primary-nav .menu-btn.menu-call:not(:hover) a {
	background-color: var(--secondary-color);
}
ul.primary-nav .menu-btn.menu-call:hover a {
	color: var(--secondary-color);
}

/* Curve Bottom */
@media(min-width: 768px) {
	ul.primary-nav .menu-btn a {
		padding-bottom: calc(1rem + 10px) !important;
		mask: radial-gradient(55% 25% at bottom, transparent 97%, #000);
	}
}
.mobile-nav-open ul.primary-nav .menu-btn + .menu-btn {
	margin-top: 0.5rem;
}



/* ul.primary-nav .menu-btn a:after {
	content: "";
	clip-path: ellipse(50% 100% at 50% 100%);
	background: white;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 10px;
} */



ul.primary-nav .menu-phone a {
	font-size: 1.3rem ;
}

/* == General Menu Adjustments == */
ul.primary-nav > li > a {
	font-weight: bold;
}
ul.primary-nav > li > a .menu-label {}



/* == Mobile Menu Adjustments == */
@media(max-width: 768px) {
	body.has-mobile-nav.admin-bar #header-wrapper:not(.is-sticky) #primary-nav-wrapper {
		top: calc( (var(--header-height) * 1px ) + 46px);
	}
	
	/* Mobile Menu */
	body.has-mobile-nav #primary-nav-wrapper {
		top: calc( var(--header-height) * 1px );
		width: 100vw;
		--menu-bg-color: #fff;
		/* 
		--menu-top-color: #333;
		--menu-top-color-hover: #000;
		--menu-top-bg-color: transparent;
		--menu-top-bg-color-hover: #fff;
		--menu-top-color-border: var(--primary-color); 
		*/
		
	}
}



/*	=================================
	Header
=================================  */

#header-above {
	background-color: var(--secondary-color);
	padding: 1rem 30px;
	display: none;
	color: #fff;
}

#header-wrapper {
	padding: 0;
	box-shadow: 0px 0px 3px rgba(0,0,0,.4);
	border-top: 5px solid var(--primary-color);
}

#header-wrapper .row {
	align-items: stretch;
	gap: 0;
	margin: 0;
}

#header-wrapper .row > * {
	padding: 0;
}

.header-logo {}

.header-logo a {
	display: block;
}

.header-logo img {
	padding: .8rem;
	max-height: 70px;
	width: auto;
	text-align: center;
}

@media( min-width: 768px ) {
	#header-above {
		display: block;
	}
	
	#header-wrapper {
		padding: 0.5rem 30px;
	}
	
	
	.header-logo {
		text-align: left;
	}
	
	.header-logo img {
		max-height: 90px;
		padding: 0;
	}
	
	.header-widget-area {
		display: flex;
		gap: 2rem;
		/* font-size: .9rem; */
		font-weight: bold;
		align-items: center;
		padding-right: 1rem;
	}
	
	.header-widget-area p,
	.header-widget-area figure {
		margin: 0;
	}
	
	/* Widget Alignment */
	.header-widget-area .widget:last-of-type {
		margin-left: auto; 
	}
	
}



/* == Transparent Header == */
@media(min-width: 768px) {
	body.has-transparent-header #header-wrapper {
		background-color: rgba(0, 0, 0, 0.2);
		--menu-top-color: #fff;
		--menu-top-color-hover: #fff;
		--menu-top-bg-color: transparent;
		--menu-top-bg-color-hover: transparent;
		--menu-top-color-border: var(--primary-color);
	}
	body.has-transparent-header #header-wrapper:not(.is-sticky) {
		top: calc( var(--header-above-height) * 1px );
	}
	
	body.has-transparent-header #header-wrapper.is-sticky {
		background-color: #fff !important;
		transition: all .3s ease;
		--menu-top-color: #000;
		--menu-top-color-hover: var(--primary-color);
		--menu-top-bg-color: transparent;
		--menu-top-bg-color-hover: transparent;
		--menu-top-color-border: var(--primary-color);
	}

	body.has-transparent-header .default-logo {
		display: none;
	}
	body.has-transparent-header .transparent-logo {
		display: inline-block;
	}
	
	body.has-transparent-header #header-wrapper.is-sticky .transparent-logo {
		display: none;
	}
	body.has-transparent-header #header-wrapper.is-sticky .default-logo {
		display: inline-block;
	}

}



/*	=================================
	Sticky Header
=================================  */

/* Enable Mobile Sticky */
@media(max-width: 768px) {

	#wrapper {
		overflow: initial;
	}
	
	#header-wrapper {
		position: sticky;
		top:0
	}

}

/* Mobile Sticky Header */
.mobile-header-btns {
	display: flex;
	align-items: stretch;
	height: 70px
}

.mobile-header-btns > * {
	box-shadow: none;
	border: none;
}

.mobile-header-btns .header-cta {
	height: 100%;
	max-width: fit-content;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	padding: .8rem 1rem;
	background-color: var(--secondary-color);
	color: #fff;
}

.mobile-header-btns .header-cta span {
	display: block
}

@media(max-width: 768px) {
	.logo-col {
		justify-content: center;
		display: flex;
	}
	.logo-col img {
		padding: .1rem;
	}
}


/*	=================================
	Main
=================================  */


/* == Page Title Wrapper ==  */
#page-title-wrapper {}
#page-title-wrapper .entry-header {}
#page-title-wrapper .entry-title {}
#page-title-wrapper .subheading {}
#page-title-wrapper .cta {}
#page-title-wrapper .btn {}


/* == Featured Image == */
.page-template.sidebar-none .featured-image-wrapper.alignfull {
	margin-top: -40px;
}


/* == Promo Container == */
.promobox {}
.promobox.mascot {
	position: relative;
}

@media(min-width: 768px) {
	.promobox.mascot {
		max-width: 90%;
		margin: 0 auto;
	}
}
.promobox.mascot:after {
	content: "";
	position: absolute;
	top: 60px;
	right: -30px;
	background-image: url('assets/images/mascotbadge.webp');
	width: 150px;
	height: 150px;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 1;
}

@media(max-width: 1200px) {
	.promobox.mascot:after {
		top: 80px;
		right: -20px;
		width: 120px;
		height: 120px;
	}

}

@media(max-width: 768px) {
	.promobox.mascot:after {
		width: 100px;
		height: 100px;
	}

}





/*	=================================
	Footer
=================================  */

#footer-wrapper {
	color: #fff;
	--heading-font-color: #fff;
	--link-color: #fff;
	--link-color-hover: #fff;
	border-top: 5px solid var(--primary-color);
	padding: 30px;
}

/* #footer-wrapper .widget h3,
#footer-wrapper .widget-title {
	position: relative;
	margin-bottom: 2rem;
}

#footer-wrapper .widget h3:after,
#footer-wrapper .widget-title:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -10px;
	width: 150px;
	border-bottom: 4px solid var(--tertiary-color);
} */

.footer-copy {}

.footer-widgets ul {
	list-style: none;
}
@media(min-width: 768px) {
	.list-columns-2 {
		columns: 2;
		text-align: center;
	}
}




/*	=================================
	Widgets / Sidebar
=================================  */




/*	=================================
	Blocks
=================================  */

/* == BNE Container == */
/* Adjust to --content-area-width + 30*/
@media(max-width: 1430px) {
	.bne-container.has-right-bg .bne-container-content {
		padding-left: 30px;
	}
	.bne-container.has-left-bg .bne-container-content {
		padding-right: 30px;
	}
}

.bne-container.containerW70 {
	max-width: calc( var(--content-area-width) - 30% );
	margin: 0 auto;
}

.curved-inset-bottom-edge {
	/* Source: https://www.freecodecamp.org/news/rounded-and-curved-edge-css-shapes/ */
	mask: radial-gradient(60% 80px at bottom, transparent 99%, #000);
	margin-bottom: -80px !important;
}

.curved-inset-bottom-edge + .wp-block-bne-container {
	z-index: -1;
}

.wp-block-bne-container.review {
	border-radius: 25px;
	border: 3px solid white;
}

.wp-block-bne-container.review:before,
.wp-block-bne-container.review:after {
	content: "";
	background-image: url('assets/images/quote-wht-start.webp'), linear-gradient(transparent 40%, #123d6a 40%);
	
	position: absolute;
	top: -25px;
	left: 25px;
	width: 50px;
	height: 50px;
	background-size: contain;
	background-repeat: no-repeat;
}
.wp-block-bne-container.review:after {
	top: auto;
	left: auto;
	bottom: -35px;
	right: 35px;
	background-image: url('assets/images/quote-wht-end.webp'), linear-gradient(#123d6a 40%, transparent 40%);
}



/* == Shape Divider == */
@media( max-width: 768px ) {
	#content .wp-block-bne-shape-divider.is-style-rounded {
		--shapeHeight: 30px !important;
	
	}
}

/* == Cards == */
@media(max-width:768px) {
	.wp-block-bne-card.card-img-fit-contain .card-img {
		max-width: 50%;
		margin: 1.25rem auto 0 auto;
	}

}
/*	=================================
	Plugins
=================================  */






