/*
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: 'Montserrat';
	--body-font-color: #333;

	--heading-font-family: 'Montserrat';
	--heading-font-color: #222;
	--heading-font-weight: 700;

	--link-color: #005994;
	--link-color-hover: #005994;
	
	/* 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;
	}
	
	.bg-position-sm-left {
		background-position: center right;
		--bg-position: center left !important;
	}
	
}

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


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

/* montserrat-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/montserrat-v31-latin-regular.woff2') format('woff2');
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/montserrat-v31-latin-700.woff2') format('woff2');
}


/* == General == */
strong {
	font-weight: 700;
}

.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;
}




/* == 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-curved a {
	border-radius: 20% 0% 20% 0% / 100% 0% 100% 0%;
	padding: 0.8rem 2rem;
}

/* 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>');
}

/* Button - Calendar Icon */
.wp-block-button.icon-before-calendar a:before {
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="rgb(30, 48, 80)" d="M224 64C206.3 64 192 78.3 192 96L192 128L160 128C124.7 128 96 156.7 96 192L96 240L544 240L544 192C544 156.7 515.3 128 480 128L448 128L448 96C448 78.3 433.7 64 416 64C398.3 64 384 78.3 384 96L384 128L256 128L256 96C256 78.3 241.7 64 224 64zM96 288L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 288L96 288z"/></svg>');
}


/* == Forms == */





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

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


/*	=================================
	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-phone a {
	font-size: 1.3rem ;
}

/* == General Menu Adjustments == */
ul.primary-nav > li > a {
	font-weight: 700;
}
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(--primary-color);
	padding: 1rem 30px;
	display: none;
	color: #fff;
	border-bottom: 8px solid var(--tertiary-color);
}

#header-above p img {
	height: 1.5em;
	width: 1.5em;
	display: inline-block;
	margin-top: -5px;
}

#header-wrapper {
	padding: 0;
	box-shadow: 0px 0px 3px rgba(0,0,0,.4);
}

#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: 1rem 30px;
	}
	
	
	.header-logo {
		text-align: left;
		position: absolute;
		top: -70px;
	}
	
	.header-logo img {
		/* max-height: var(--menu-bg-height); */
		padding: 0;
		max-height: 130px;
	}
	
	.header-widget-area {
		display: flex;
		gap: 2rem;
		font-size: .9rem;
		font-weight: bold;
		align-items: center;
		padding-right: 1rem;
		justify-content: end;
	}
	
	.header-widget-area p {
		margin: 0;
	}
	.header-widget-area .wp-block-buttons {
		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;
	}
}

@media(min-width: 768px) {
	body #header-wrapper.is-sticky .header-logo {
		top: 5px;
		transition: all .3s ease;
	}
	body #header-wrapper.is-sticky  img {
		max-height: 100px;
		transition: all .3s ease;
	}
}


/*	=================================
	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;
}


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

#footer-wrapper {
	background-color: var(--primary-color);
	color: #fff;
	--heading-font-color: #fff;
	--link-color:#fff;
	--link-color-hover: #fff; */
}

/* #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 .widget .menu {
	list-style: none;
	text-align: center;
	padding-left: 0;
}


/*	=================================
	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 Card == */
.wp-block-bne-card.is-style-curved {
	border-radius: 4rem 0 4rem 0;
	border: none;
}

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






