/* =========================
   Variables
   ========================= */
:root {
	/* old vars */
	--color-primary: #032d8d;
	--color-accent: #e83f57;
	--color-text: #3b4457; /* Old color */
	--color-text: #282a36;
	--color-border: #b8c4df;
	--color-border-light: #cad3e7;
	--color-bg-light: #f7f8fb;
	
	/* new vars */
	--color-blue: #2a3c62;
	--color-light-blue: #496a9c;
	--color-grey: #d9d9d9;
	--color-red: #c23d39;
	--color-dark: #282a36;

	--font-sans: 'Nunito Sans', sans-serif;
	--font-serif: 'Libre Baskerville', serif;
	--font-alt: 'Libre Baskerville', serif;
}

/* =========================
   Base
   ========================= */
body {
	font-family: var(--font-sans);
	font-size: 18px;
	line-height: 1.56;
	padding-top: 100px;
	padding-top: 132px;
	padding-top: calc(max(11px, calc(13em / 18)) + 1.2 * max(11px, calc(13em / 18)) + 104px);
	color: var(--color-text);
	overflow-x: hidden;
}

@media (max-width: 1279px) {
	body {
		font-size: 16px;
	}	
}

@media (max-width: 63.999em) {
	body {
		font-size: 16px;
		padding-top: 104px;
		padding-top: calc(max(11px, calc(13em / 18)) + 1.2 * max(11px, calc(13em / 18)) + 76px);
	}
	
	button.rmp_menu_trigger {
		top: calc(max(11px, calc(13em / 18)) + 1.2 * max(11px, calc(13em / 18)) + 0.5 * 76px) !important;
		transform: translateY(-50%) scale(1.4);
		background-color: transparent !important;
		
		& > .rmp-trigger-box {
			color: var(--color-blue);
			
			& > .responsive-menu-pro-inner {
				background-color: var(--color-blue) !important;
				
				&::after, &::before {
					background-color: inherit !important;
				}
			}
		}
	}
}

@media (max-width: 39.999em) {
	body {
		font-size: 16px;
	}	
}

p {
	color: var(--color-text);
	margin: 0 0 15px 0;
	font-weight: 500;
}

ol li, ul li {
	color: var(--color-text);
	margin: 0 0 5px 0;
	font-weight: 500;
}

ol, ul {
	margin-bottom: 15px;
	margin-left: 20px;
	padding-left: 0;
}

.page-id-727 {
	ol { list-style-type: upper-alpha; }
	ol ol { list-style-type: decimal; }
	ol ol ol { list-style-type: lower-alpha; }
}

.container-fluid { max-width: min(calc(100vw - 30px),1280px); }
.header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	gap: 20px;
}
.logo {
	max-width: 320px;
	height: auto;
}

@media (max-width: 63.999em) {
	.logo {
		max-width: 230px;
	}
}

.text-red { color: var(--color-accent); }
a { color: var(--color-primary); }
img { max-width: 100%; }

/* =========================
   Typography
   ========================= */
h1, .h1, .is-style-h1 {
	font-family: var(--font-sans);
	color: var(--color-blue);
	font-size: 42px;
	font-size: max(30px,calc(42em / 18));
	line-height: 1.2;
	margin: 0 0 0.27em 0;
	font-weight: 400;

	a {
		border-bottom: 1px solid;

		&:hover {
			text-decoration: none;
			border-bottom: 2px solid;
		}
	}
}

.hero-body h1 { margin: 0; }

h2, .is-style-h2 {
	font-family: var(--font-serif);
	color: var(--color-dark);
	font-size: 24px;
	font-size: max(18px,calc(24em / 18));
	line-height: 1.2em;
	margin: 0 0 0.43em 0;
	font-weight: 400;
	letter-spacing: 0em;
}

h3, .is-style-h3 {
	font-family: var(--font-sans);
	color: var(--color-light-blue);
	font-weight: 800;
	font-size: max(16px,calc(20em / 18));
	line-height: 1.2em;
	margin: 0;
	
	& + * {
		margin-top: 0.5em;
	}
}

h4, .is-style-h4 {
	font-family: var(--font-sans);
	font-weight: 800;
	font-size: max(15px,calc(18em / 18));
	color: #000;
	line-height: 1.56em; /* ~20 ÷ 18 */
	margin: 0 0 0.83em 0; /* 15 ÷ 18 */
}

:is(h1, .is-style-h1,h2, .is-style-h2,h3, .is-style-h3,h4, .is-style-h4,h5, .is-style-h5,h6, .is-style-h6) a {
	color: inherit;
}

p {
	color: var(--color-text);
	margin: 0 0 1em 0; /* 15 ÷ 15 */
	font-weight: 500;
}

p.big, p.is-style-big {
	font-weight: 300;
	color: var(--color-primary);
	font-size: max(16px,calc(22em / 18));
	line-height: 1.2em; /* ~26 ÷ 22 */
	margin: 0 0 0.68em 0; /* 15 ÷ 22 */
}

p.muted {
	opacity: .5;
	font-size: 13px;
	line-height: 1.3em; /* ~17 ÷ 13 */
}


/* Query Block */

.wp-block-post-title {
	
}

.wp-block-post-date {
	margin-top: 0.2em;
	font-weight: 700;
}

.wp-block-post-excerpt {
	margin-top: 0.5em;
}



/* =========================
   Buttons
   ========================= */
.btn, .wp-block-button__link {
	display: inline-block;
	padding: 0.6em 1.8em;
	font-family: var(--font-sans);
	font-style: normal;
	border: 2px solid var(--color-red);
	/* box-shadow: inset 0 -1px 26px rgba(252, 239, 195, 0.75); */
	color: var(--color-red);
	font-size: max(12px,calc(16em / 18));
	background-color: #fff;
	border-radius: 0;
	text-transform: uppercase;
	font-weight: 700;
}

.btn-plain {
	padding: 0;
	border: none;
	color: var(--color-primary);
	text-decoration: underline;
	box-shadow: none;
}

/* =========================
   Header / Navigation
   ========================= */
header {
	padding: 0;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	background: #fff;
	z-index: 11;
	border-bottom: 1px solid var(--color-border-light);
	box-shadow: 0 3px 8px rgba(50, 50, 50, 0.09);
	
	@media (max-width: 39.99em) {
		.container-fluid {
			max-width: min(calc(100vw - 0px),1280px);
		}
	}
	
	body.admin-bar & {
		top: 32px;
	}

	& .menu {
		list-style: none;
		margin: 0;
		display: flex;
		gap: 40px;
		align-items: center;
		justify-content: center;
				
		@media (max-width: 1279px) {
			& {
				gap: 30px;
			}
		}
		
		&::before, &::after {
			display: none;
		}

		& > li {
			text-align: center;
			margin: 0;

			& > a {
				display: block;
				padding: 0.5em 0;
				font-size: 14px;
				color: var(--color-dark);
				text-transform: uppercase;
				font-weight: 900;
				line-height: 1.1;
				
				@media (max-width: 1279px) {
					& {
						font-size: 13px;
					}
				}
			}
		}

		a[href="#"] {
			cursor: pointer;
			pointer-events: none;
		}
	}

	& .sub-menu {
		display: none;
		position: absolute;
		list-style: none;
		margin: 0;
		padding: 1em;
		background-color: rgba(255,255,255,1);
		z-index: 10;
		border: 2px solid var(--color-grey);
		max-width: 300px;
		min-width: 250px;

		.sub-menu {
			left: 100%;
			top: 0;
		}

		li {
			display: block;
			float: none;
			margin: 0;
			padding: 0 10px;
			position: relative;
		}

		& a {
			color: var(--color-dark);
			display: block;
			padding: 0.4em 0;
			text-align: left;
			font-weight: 600;
			font-size: 16px;
		}
	}

	li:hover > .sub-menu { display: block; }
	
	.top-bar {
		color: #fff;
		background-color: var(--color-dark);
		margin: 0 calc(50% - 50vw);
		padding: 0 calc(50vw - 50%);
		
		& ul.menu {
			padding: 0;
			display: flex;
			gap: 40px;
			align-items: center;
			justify-content: flex-end;
			
			@media (max-width: 39.999em) {
				& {
					justify-content: center;
					gap: 30px;
				}
			}
			
			& > li {
				background: none;
				padding: 0;
				margin: 0;
				
				& > a {
					text-transform: uppercase;
					font-size: max(11px, calc(13em / 18));
					padding: 0.6em 0;
					font-weight: 700;
					color: #fff;
				}
			}
		}
	}
	
	.main-header {
		padding: 10px calc(50vw - 50%);
	}
}


/* Responsive Menu */

.rmp-container {
	/* background-color: var(--color-blue) !important; */
	background-color: #496a9c !important;
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
	max-width: 400px;
	width: calc(100vw - 0px) !important;
	
	& .rmp-menu-title {
		background-color: #fff !important;
		border-top: calc(max(11px, calc(13em / 18)) + 1.2 * max(11px, calc(13em / 18)) + 1px) solid var(--color-blue) !important;
		padding-top: 0 !important;
	
		
		& .rmp-menu-title-image {
			margin: 7px 0 !important;
			width: auto;
			height: auto;
			max-width: 230px !important;
		}
	}
		
	& .rmp-menu-wrap {
		padding: 2em 0 !important;
		
		& .rmp-menu-item-link {
			font-size: 1.4em !important;
			font-family: var(--font-sans) !important;
			padding: 0 60px 0 30px !important;
		}
		
		& .rmp-menu-subarrow {
			width: 60px !important;
		}
	}
	
	& .rmp-submenu {
		padding-left: 30px !important;
		
		& .rmp-menu-item-link {
			font-size: 1.2em !important;
			height: 35px !important;
			line-height: 35px !important;
		}
	}
}



/* Page Header */

.page-header {
	& {
		position: relative;
		color: #fff;
		
		& * {
			color: #fff;
		}
		
		& > .wrapper {
			position: relative;
			margin: 0 calc(50% - 50vw);
			padding: 50px calc(50vw - 50%) 75px;
			background-color: var(--color-light-blue);
		}
		
		& .bgimage {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			
			&::after {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-color: #000;
				opacity: 0.75;
				opacity: 0;
			}
			
			& img {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center center;
			}
		}
		
		& .row {
			position: relative;
		}
	}
}



/* =========================
   Hero
   ========================= */
.home .hero-container { margin-bottom: 50px; }

.hero-container {
	/*background-color: var(--color-bg-light);*/
	padding: calc(15em / 18) 15px 0;
	position: relative;
	
	@media (max-width: 39.999em) {
		& {
			padding-top: 0px;
		}
	}

	.hero-body {
		padding: 0;

		h1 { margin: 0; }
	}

	.home & .hero-body {
		padding-top: 70px;
		padding-bottom: 100px;
		padding-right: 100px;
	}
}

.seal {
	background: url('../images/seal.png') no-repeat right center;
	position: absolute;
	right: 0;
	top: 0;
	width: 129px;
	height: 129px;
}

.candid {
	background: url('https://widgets.guidestar.org/prod/v1/pdp/transparency-seal/7558170/svg') no-repeat right center;
	position: absolute;
	right: 0;
	top: 0;
	width: 129px;
	height: 129px;
}

.rx {
	position: absolute;
	bottom: 0;
	left: 0;
	border-top: 1px solid var(--color-border);
	border-right: 1px solid var(--color-border);
	padding: 5px;
	background: url('../images/rx.png') no-repeat center;
	width: 38px;
	height: 38px;
}

.float1 {
	background: url('../images/float1.png') no-repeat;
	width: 311px;
	height: 151px;
	background-size: cover;
	position: absolute;
	z-index: 1;
	left: 15%;
}

.float2 {
	background: url('../images/float2.png') no-repeat;
	width: 414px;
	height: 419px;
	background-size: cover;
	position: absolute;
	z-index: 1;
	left: 35%;
	bottom: 10px;
}

.float3 {
	position: absolute;
	right: 0;
	z-index: 5;
	width: 241px;
	height: 281px;
	background: url('../images/float3.png') no-repeat;
	margin-top: -300px;
}

.float4 {
	position: absolute;
	left: 0;
	z-index: 5;
	width: 351px;
	height: 274px;
	background: url('../images/float4.png') no-repeat;
}

.featured-img { position: relative; z-index: 9; }
.home-container { position: relative; }
.vcenter { display: inline-block; vertical-align: middle; float: none; }

.tagline {
	position: absolute;
	bottom: 10px;
	left: 50px;
	color: var(--color-primary);
	opacity: .5;
	font-style: italic;
	font-size: 16px;
	font-family: var(--font-alt);
	text-decoration: underline;
}


/* Cover Block - Hero Section */

.wp-block-cover.is-style-hero {
	margin: 0px calc(50% - 50vw) 40px !important;
	margin: 0px calc(50% - 50vw) max(15px,calc(40em / 18)) !important;
	padding: 80px calc(50vw - 50%);
	padding: max(30px,calc(80em / 18)) calc(50vw - 50%);
	min-height: 30vw;
	
	& .wp-block-cover__inner-container {
		
		& .wp-block-image {
			& + * {
				margin-top: 0.5em;
			}
				
			img[style*="150px"] {
				width: calc(150em / 18) !important;
			}
		}
		
		& h1, & .h1, & .is-style-h1 {
			font-family: var(--font-sans);
			/* color: var(--color-blue); */
			font-size: 3em;
			line-height: 1.2;
			margin: 0 0 0.27em 0;
			font-weight: 900;
			
			@media (max-width: 39.99em) {
				& {
					font-size: 30px;
				}
			}
		}
		
		& p {
			font-size: 1.4em;
			font-weight: 300;
		}
		
		& > :last-child {
			margin-bottom: 0;
		}
	}
}


/* =========================
   Layout Blocks
   ========================= */
.item-type {
	font-family: var(--font-alt);
	font-style: italic;
	color: var(--color-accent);
	font-size: 16px;
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 20px;
}

.item { padding: 0 15px; }

.level-one {
	margin-top: 20px;

	.container-fluid {
		border: 1px solid var(--color-border);
		padding: 70px 50px;
	}
}

.hero-pestle { margin-bottom: 25px; }

.quote-section {
	margin: 100px 0;
	text-align: center;
	color: var(--color-primary);
	font-size: 40px;
	font-family: var(--font-alt);
	font-style: italic;
}

.quote-text { padding: 50px 0; }
.level-two { margin-bottom: 100px; }


/* Join Section */

section.join-section {
	background-color: var(--color-blue);
	background-color: var(--color-red);
	text-align: center;
	padding: 3em 0;
	
	& :is(p,h1,h2,h3,h4,h5,h6) {
		color: #fff !important;
	}
	
	h2 {
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
}


/* =========================
   Footer
   ========================= */
footer {
	background: var(--color-bg-light);
	background: var(--color-dark);
	
	& :is(p,a,h1,h2,h3,h4,h5,h6) {
		color: #fff !important;
	}

	p.big, p.is-style-big { color: var(--color-text); }
	.h1, .is-style-h1 { margin-bottom: 50px; }
	
	.footer-logo {
		max-width: calc(160em / 18);
		margin-left: auto;
		margin-right: auto;
		
		@media (max-width: 39.999em) {
			& {
				max-width: 120px;
			}
		}
	}
	
	& * + .widget {
		margin-top: 1.5em;
	}
	
	& .main-footer-row {
		padding: 50px 0;
		
		.footer-col {
			padding-bottom: 15px;
		}
	}
	
	& .copyright-row {
		padding: 0 0 15px;
		text-align: center;
		
		p {
			margin: 0;
		}
	}
}

.footer-pestle { opacity: .2; margin-bottom: 50px; }
.secondary {
	margin: 0;
	
	& > .container-fluid > .row > .col-md-12 {
		& > :first-child {
			margin-top: 40px;
		}
		& > :last-child {
			margin-bottom: 40px;
		}
	}
}
.sm { margin: 0 20px 0 0; }

/* =========================
   Media / Content
   ========================= */
.wp-caption,
.alignnone {
	float: left;
	clear: left;
	margin: 0 1.5em 1em 0;
}

.alignright {
	float: right;
	margin: 0 0 1em 1.5em;
}

.wp-caption-text {
	font-family: var(--font-alt);
	font-size: 13px;
	font-style: italic;
	padding: 6px;
}

p.muted {
	opacity: .5;
	font-size: 13px;
}

.book-row {
	border: 1px solid var(--color-border-light);
	margin-bottom: 50px;
}

.book {
	padding: 40px 20px;
	border-right: 1px solid var(--color-border-light);

	+ .book { border-right: none; }
}

.breadcrumbs {
	/* background: var(--color-bg-light); */
	padding: 25px 15px 0;
	font-size: 13px;
	font-family: var(--font-alt);

	span { margin: 0 2px; }
}

hr { margin: 40px 0 55px 0; clear: both; }

/* =========================
   Search
   ========================= */
.search-field {
	border: 1px solid rgb(200,200,200);
	box-shadow: none;
}

.search-submit {
	background: var(--color-primary);
	border: none;
	box-shadow: none;
	color: #fff;
}


/* Single Team Member */

.single-team_member {
	
	& .hero-body {
		display: flex;
		gap: 25px;
		margin-top: 1em;
		
		& .photo {
			max-width: min(90vw,200px);
			
			& img {
				height: auto;
			}
		}
		
		@media (max-width: 479px) {
			& {
				flex-wrap: wrap;
			}
		}
	}
}


/* Latest News - Query Block */

.wp-block-query.latest-news {
	
	& > ul {
		gap: calc(60em / 18);
		margin: 30px 0;
		
		@media (max-width: 39.999em) {
			gap: 30px;
		}
		
		& > li {
			
		}
	}
	
	& .post-block {
		padding: 0 !important;
	}
}



/* =========================
   Mobile
   ========================= */
@media screen and (max-width:768px) {
	.menu-main-nav-container { display: none; }
	.float2 { display: none; }

	h1, .h1, .is-style-h1 {
		font-size: 30px;
		line-height: 1.3;
	}

	.home .hero-body { padding: 70px 30px; }
	.tagline { font-size: 13px; }
	.item { margin: 0 0 50px 0; }
	.level-one .container-fluid { padding: 50px 0; }
	table { max-width: 100%; }

	.wp-caption {
		display: block;
		float: none;
		margin: 15px auto;
	}
}
