/*
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: 2026.04.04
Text Domain: bne
License: GPL2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/* Globals */
:root {
	/* Defined in options
	--bone:#F4EEE1;
	--bone-deep:#EBE2CF;
	--cobalt:#1E3C96;
	--cobalt-bright:#2C55C7;
	--indigo:#14265C;
	--straw:#C0913F;
	--sea:#9EC4D2;
	--ink:#1B2137;
	*/

	/* Layout */
	--content-area-width: 1180px;
	/* Sidebar gap on desktop */
	--sidebar-gutter: 3rem;
	
	/* Sections */
	--body-bg-color: var(--bone-color);
	--header-bg-color: var(--bone-color);
	--footer-bg-color: var(--indigo-color);
	
	/* 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: 'Figtree', 'Avenir Next', 'Segoe UI', sans-serif;
	--body-font-color: #333;
	--body-font-weight: 400;

	--heading-font-family: "Young Serif", "Iowan Old Style", Georgia, serif;
	--heading-font-color: #333;
	--heading-font-weight: 400;

	--link-color: #005994;
	--link-color-hover: #005994;
	
	/* Menu */
	--menu-alignment: flex-end; /* use "center" for centering links */
	--menu-bg-color: var(--header-bg-color); /* wrapper */
	
	--menu-top-color: var(--cobalt-color);
	--menu-top-color-hover: inherit;
	--menu-top-bg-color: transparent;
	--menu-top-bg-color-hover: transparent;
	--menu-top-color-border: var(--cobalt-color);

	--menu-sub-color: #333;
	--menu-sub-color-hover: #fff;
	--menu-sub-bg-color: #fff;
	--menu-sub-bg-color-hover: var(--cobalt-color);

	/* Forms */
	--input-color: #535165;
	--input-bg-color: #f4f4f4;
	--input-border-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: 2rem;
	/* --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;
}

/* == Sticky Column == */
@media( min-width: 768px ) {
	#main-content-wrapper:has(.sticky-col) {
		overflow: initial;
	}
	#main-content-wrapper .sticky-col {
		position: sticky;
		top: calc( ( var(--header-height) + 80 ) * 1px );
		transform: rotate(-1deg);
		height: fit-content;
	}
}




/*	=================================
	Typography
	Self Hosted Font Generator: gwfh.mranftl.com/fonts/
=================================  */
/* young-serif-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Young Serif';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/young-serif-v2-latin-regular.woff2') format('woff2');
}


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


/* == General == */
.heading-main {
	line-height: 1.1;
	font-family: var(--heading-font-family);
}
.heading-sub {
	line-height: 1.1;
}

.heading-sub {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--straw-color);	
}
.heading-sub:before {
	content: "";
	width: 34px;
	height: 2px;
	background: var(--straw-color);
}

strong {
	font-weight: 700;
}

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

.btn.btn-lg, .wp-block-button.btn-lg a {
	padding: 15px 28px !important;
	font-weight: 700;
	font-size: 14px;
}



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


/* == Tables == */
.wp-block-table.border-none td, .wp-block-table.border-none th {
	border: none;
}




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

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

/* =========================================================
   Chini Plate Image Style

   Add this class to a WordPress Image block:
   is-style-plate

   Colors may be overridden by any parent element:
   --plate-frame-color
   --plate-ornament-color
========================================================= */

.wp-block-image.is-style-plate {
	/* Colors */
	--plate-frame-color: #1e3c96;
	--plate-ornament-color: #c0913f;

	/* Image and animation settings */
	--plate-gap: 8%;
	--plate-spin-duration: 45s;

	position: relative;
	isolation: isolate;
	display: inline-block;
	aspect-ratio: 1;
	border-radius: 50%;
}

/* Shared decorative layer styles */
.wp-block-image.is-style-plate::before,
.wp-block-image.is-style-plate::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	pointer-events: none;
	border-radius: inherit;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transform-origin: 50% 50%;
	animation:
		plate-spin
		var(--plate-spin-duration)
		linear
		infinite;
}

/* Plate rings */
.wp-block-image.is-style-plate::before {
	background-color: var(--plate-frame-color);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='97' fill='none' stroke='white' stroke-width='1.4'/%3E%3Ccircle cx='100' cy='100' r='90.5' fill='none' stroke='white' stroke-width='.8' stroke-dasharray='1.5 4'/%3E%3C/svg%3E");
}

/* Outer ornament */
.wp-block-image.is-style-plate::after {
	background-color: var(--plate-ornament-color);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M194 96.8Q199.5 100 194 103.2M192.355 117.797Q197.005 122.141 190.931 124.037M186.08 137.902Q189.646 143.171 183.303 143.668M175.487 156.106Q177.792 162.037 171.497 161.11M161.11 171.497Q162.037 177.792 156.106 175.487M143.668 183.303Q143.171 189.646 137.902 186.08M124.037 190.931Q122.141 197.005 117.797 192.355M103.2 194Q100 199.5 96.8 194M82.203 192.355Q77.859 197.005 75.963 190.931M62.098 186.08Q56.829 189.646 56.332 183.303M43.894 175.487Q37.963 177.792 38.89 171.497M28.503 161.11Q22.208 162.037 24.513 156.106M16.697 143.668Q10.354 143.171 13.92 137.902M9.069 124.037Q2.995 122.141 7.645 117.797M6 103.2Q.5 100 6 96.8M7.645 82.203Q2.995 77.859 9.069 75.963M13.92 62.098Q10.354 56.829 16.697 56.332M24.513 43.894Q22.208 37.963 28.503 38.89M38.89 28.503Q37.963 22.208 43.894 24.513M56.332 16.697Q56.829 10.354 62.098 13.92M75.963 9.069Q77.859 2.995 82.203 7.645M96.8 6Q100 .5 103.2 6M117.797 7.645Q122.141 2.995 124.037 9.069M137.902 13.92Q143.171 10.354 143.668 16.697M156.106 24.513Q162.037 22.208 161.11 28.503M171.497 38.89Q177.792 37.963 175.487 43.894M183.303 56.332Q189.646 56.829 186.08 62.098M190.931 75.963Q197.005 77.859 192.355 82.203' fill='none' stroke='white' stroke-width='1.6'/%3E%3C/svg%3E");
}


.wp-block-image.is-style-plate > img,
.wp-block-image.is-style-plate > a {
	position: relative;
	z-index: 1;
}

/* Unlinked image */
.wp-block-image.is-style-plate > img {
	display: block;
	width: calc(100% - (var(--plate-gap) * 2));
	height: calc(100% - (var(--plate-gap) * 2));
	margin: var(--plate-gap);
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
}

/* Linked image */
.wp-block-image.is-style-plate > a {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
}

/* Image inside a link */
.wp-block-image.is-style-plate > a > img {
	display: block;
	width: calc(100% - (var(--plate-gap) * 2));
	height: calc(100% - (var(--plate-gap) * 2));
	margin: var(--plate-gap);
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
}

/* Optional image depth */
.wp-block-image.is-style-plate > img,
.wp-block-image.is-style-plate > a > img {
	box-shadow: 0 30px 60px -20px rgb(20 38 92 / 45%);
}


/* Animation */
@keyframes plate-spin {
	to { transform: rotate(1turn); }
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-image.is-style-plate::before,
	.wp-block-image.is-style-plate::after {
		animation: none;
	}
}





/* == Image Captions == */

.is-style-rounded-lite.shadow {
	box-shadow: rgba(20, 38, 92, 0.4) 0px 30px 60px -24px;
}

figcaption {
	position: absolute;
	bottom: -22px;
	right: 26px;
	background: var(--straw-color);
	color: #fff;
	font-family: var(--heading-font-family);
	padding: 16px 24px;
	border-radius: 1rem;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 16px 30px -12px;
	text-align: center;
	line-height: 1.3;
	font-size: 12px;
	text-align: center !important; 
}

figcaption strong {
	font-size: 26px;
	margin-bottom: 5px;
	display: inline-block;
}

.wp-block-cover, .wp-block-cover-image {
	align-items: flex-end;
	justify-content: flex-start;
}

.wp-block-cover__inner-container {
	max-width: 60%;
}

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

/* == Mobile Menu btn == */
.mobile-nav-btn {
	background-color: var(--cobalt-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: auto;
	}
	
	
}

ul.primary-nav .menu-btn a {
	background-color: var(--cobalt-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: var(--cobalt-bright-color);
	color: #fff;
	border-color: transparent;
	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 {}
ul.primary-nav > li > a .menu-label {}


/* Sub Menu */
#primary-nav-wrapper ul.primary-nav > li.has-sub-menu > ul.sub-menu:before {
	content: "";
	position: absolute;
	height: 0;
	width: 0;
	top: -10px;
	left: 50%;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid var(--menu-sub-bg-color, #fff);
	transform: translateX(-50%);
	filter: drop-shadow(0px -1px 1px rgba(0,0,0,0.2));
}
@media(min-width: 768px) {
	#primary-nav-wrapper ul.primary-nav > li.has-sub-menu > ul.sub-menu {
		border-radius: 1rem;
		transform: translateX(-50%);
		left: 50%;
		background: var(--menu-sub-bg-color, #f4f4f4);
		padding: 0.5rem;
		width: 225px;
		top: calc( 100% - 2px);
		border-top: 3px solid var(--menu-top-color-border);
		
	}
	
	
	#primary-nav-wrapper ul.primary-nav > li.has-sub-menu > ul.sub-menu a {
		margin: 0.2rem 0;
		border-radius: 0.5rem;
		padding: 0.8rem 1rem;
		/* font-size: 14px;
		font-weight: bold; */
	}
	#primary-nav-wrapper ul.primary-nav > li.has-sub-menu > ul.sub-menu li:last-child a {
		margin-bottom: 0;
	}
	
	/* Level 3 */
	ul.primary-nav .sub-menu .sub-menu {
		top: 0;
		left: calc(100% + 0.5rem);
		border-radius: 0 1rem 1rem 0;
	}
}





/* == 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-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-wrapper {
	padding: 0;
	box-shadow: 0px 0px 3px rgba(0,0,0,.4);
	z-index: 3;
}

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

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

.site-title {
	font-family: var(--heading-font-family);
	font-size: 26px;
	letter-spacing: .06em;
	color: var(--cobalt-color);
}


.site-description {
	display: block;
	font-family: var(--body-font-family);
	font-size: 12px;
	letter-spacing: .34em;
	color: var(--straw-color);
	font-weight: 600;
	text-transform: uppercase;
	margin-top: -2px;
}



.header-logo a {
	display: block;
	color: inherit;
}

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

@media( min-width: 768px ) {	
	#header-wrapper {
		padding: 1rem 30px;
	}
		
	.header-logo {
		text-align: left;
	}
	
	.header-logo img {
		/* max-height: var(--menu-bg-height); */
		padding: 0;
	}
		
}



/*	=================================
	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(--straw-color);
	color: #fff;
}

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

@media(max-width: 768px) {
	.header-logo .site-name {
		padding: 5px;
	}

	.header-logo .site-description {
		font-size: 10px;
	}
	
	.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;
}


/* == Flower == */
.has-cini .bne-container-content {
	z-index: 2;
}
.has-cini:before,
.has-cini:after {
	content: "";
	position: absolute;
	background-image: url('assets/images/cini.webp');
	background-size:cover;
	background-repeat: no-repeat;
	width: 300px;
	aspect-ratio: 1;
	opacity: .09;
	pointer-events: none;
	z-index: 1;
}

.cini_a:before {
	top: -60px;
	left: -70px;
}

.cini_b:after {
	bottom: -80px;
	right: 38%;
	transform: rotate(160deg);
}

.cini_c:after {
	top: -90px;
	right: -110px;
	filter: brightness(0) saturate(100%) invert(89%) sepia(29%) saturate(92%) hue-rotate(144deg) brightness(101%) contrast(99%);
	width: 420px;
}


/* == marquee == */
.band{background:var(--cobalt-color);color:var(--bone-color);overflow:hidden;padding:14px 0;border-block:3px solid var(--straw-color)}
.band-track{display:flex;width:max-content;gap:0;animation:slide 30s linear infinite}
.band span{display:inline-flex;align-items:center;gap:26px;padding-right:26px;font-family: var(--heading-font-family); font-size:19px;letter-spacing:.04em;white-space:nowrap}
.band i{font-style:normal;color:var(--straw-color);font-size:14px}
@keyframes slide{to{transform:translateX(-50%)}}





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

#footer-wrapper {
 	padding-bottom: 40px;
	color: #93a0cb;
	--link-color: #93a0cb;
	/* --footer-bg-color: #fff;
	--heading-font-color: #fff;
	--link-color: var(--tertiary-color);
	--link-color-hover: #fff;  */

}

#footer-wrapper .site-title {
	color: #fff;
}

.footer-copy-content p {
	margin: 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;
	}
}

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






