/* PRESIDENTS REPORT 2025 - COMPLETE STYLING */

/*Google Fonts - All required weights for EB Garamond and Roboto*/

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Roboto:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

/* ========== MAIN TYPOGRAPHY ========== */

/* Headers - EB Garamond */
.article-headers span .numbers {
	font-family: "EB Garamond", serif !important;
}

.article h1 {
	font-family: "EB Garamond", serif !important;
	font-size: 3rem !important;
	letter-spacing: 0.25em;
	color: #00205c;
}

.article-headers h1,
.article-headers .h3,
.article-headers .largest,
article .heading.h2 {
	font-family: "EB Garamond", serif !important;
}

.h3 {
	font-size: 3.0rem !important;
	color: #7E7344 !important;
	font-weight: bolder !important;
}

.largest {
	color: #4f5c6f !important;
	font-family: "EB Garamond", serif !important;
}

.serif {
	font-family: "EB Garamond", serif !important;
	font-size: 1.1em;
}

/* ========== BODY TEXT & PARAGRAPHS ========== */ 

.article p {
	font-family: "Roboto", sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
}

.articles h1 {
    font-family: "EB Garamond", serif !important;
    font-size: 3rem !important;
    color: #00205c !important;
    letter-spacing: 0.1em;
    font-weight: 400 !important;
}

/* Intro paragraph styling - Thin 100, Blue #163a64 */
.article .intro-paragraph,
.intro-paragraph {
	font-family: "Roboto", sans-serif;
	font-weight: 100;
	color: #163a64;
	font-size: 1.5rem;
}

/* Bold lead-in on news articles - Medium 500, Pep Blue #00205c */
article .bold-lead,
.bold-lead {
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	color: #00205c;
}

/* Body text variations */
.body-light {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 1.5rem;
}

.body-regular {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
}

.body-extra-light {
	font-family: "Roboto", sans-serif;
	font-weight: 200;
	font-size: 1.5rem;
}

/* ========== PULL QUOTES ========== */

.pull-quote {
	font-family: "EB Garamond", serif !important;
}

.pull-quote-body {
	font-family: "EB Garamond", serif;
	font-weight: 300;
	color: #4f5c6f;
	font-size: 2.5rem;
	font-style: italic;
}

.pull-quote-attribution {
	font-family: "EB Garamond", serif;
	font-weight: 300;
	color: #4d372c;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	font-size: 1rem;
}

/* ========== LISTS ========== */

.lists-bold {
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	font-size: 0.5625rem; /* 9pt */
	letter-spacing: -0.35pt;
	line-height: 1.33; /* 12pt leading */
	color: #404041;
}

.lists-regular {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 0.5rem; /* 8pt */
	line-height: 1.25; /* 10pt leading */
	color: #404041;
}

/* ========== INFOGRAPHICS ========== */

.infographic-header {
	font-family: "EB Garamond", serif;
	font-weight: 300;
	color: #005189;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	font-size: 1.2rem;
}

.infographic-h1 {
	font-family: "EB Garamond", serif;
	font-weight: 600;
	color: #636C7E;
	font-size: 3.5rem;
}

.infographic-h2 {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 0.9375rem; /* 15pt */
	letter-spacing: 1.4pt; /* 20pt tracking */
	text-transform: uppercase;
	line-height: 1.13; /* 17pt leading */
	color: #005189;
}

.infographic-body {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 0.8125rem; /* 13pt */
	letter-spacing: -0.7pt; /* -10pt tracking */
	line-height: 1.19; /* 15.5pt leading */
	color: #00205c;
}

.infographic-body-extra-light {
	font-family: "Roboto", sans-serif;
	font-weight: 200;
	font-size: 1rem;
}

.infographic-emphasis {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	color: #92693F;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	font-size: 1.2rem;
}

.infographic-italic-subhead {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-style: italic;
	font-size: 0.8125rem; /* 13pt */
	line-height: 1.19; /* 15.5pt leading */
	color: #00205c;
}

.infographic-big-numbers {
	font-family: "EB Garamond", serif;
	font-weight: 400;
	font-size: 1.6875rem; /* 27pt */
	letter-spacing: -0.35pt; /* -5pt tracking */
	line-height: 1.06; /* 17pt leading */
	color: #7fa0b6;
}

.infographic-bold-callout {
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	font-size: 0.8125rem; /* 13pt */
	letter-spacing: 2.8pt; /* 40pt tracking */
	text-transform: uppercase;
	line-height: 1.19; /* 15.5pt leading */
	color: #005189;
}

/* ========== SYMBOL STYLES ========== */

.symbol-hash {
	font-family: "EB Garamond", serif;
	font-weight: 500;
	font-size: 1.375rem; /* 22pt */
	letter-spacing: -0.35pt; /* -5pt tracking */
	line-height: 1.06; /* 17pt leading */
	color: #005189;
}

.symbol-dollar {
	font-family: "EB Garamond", serif;
	font-weight: 500;
	font-size: 1.1875rem; /* 19pt */
	letter-spacing: -0.7pt; /* -10pt tracking */
	line-height: 1.06; /* 17pt leading */
	color: #005189;
}

.symbol-percent {
	font-family: "EB Garamond", serif;
	font-weight: 400;
	font-size: 1.1875rem; /* 19pt */
	letter-spacing: -0.7pt; /* -10pt tracking */
	line-height: 1.06; /* 17pt leading */
	color: #005189;
}

.symbol-superscript {
	vertical-align: super;
	font-size: 0.1875rem; /* 3pt */
}

/* ========== PAGE LAYOUT & CONTAINERS ========== */

body.onecol main article {
	padding-top: 0px !important;
}

.articles {
	margin-top: 30px;
}

h1:before {
	display: none !important;
	height: 0;
	width: 0;
	visibility: hidden;
}

main:not(.home) h1:before,
main.home h2:before {
	display: none !important;
}

article .heading,
article .jumbo,
article h1,
article .h1,
article h2,
article .h2,
article h3,
article .h3,
article h3-4,
article .h3-4,
article h4,
article .h4,
article h5,
article .h5 {
	font-size: 3rem !important;
}

article .heading.h2 {
	line-height: 1.2em;
}

/* ========== STORIES & CARDS ========== */

.stories .heading {
	color: #00205c;
}

.stories .heading.h3-4 {
	font-size: 2.3rem;
}

.stories .heading.jumbo {
	font-size: 4.2rem;
}

.stories .heading.jumbo-x {
	font-size: 5.6rem;
}

.stories {
	display: inline-block;
}

.stories figure.captionslideup {
	margin: 0;
	grid-template-columns: none;
	padding: 0;
	background-color: #fff;
}

.stories figure.captionslideup img {
	margin-bottom: 10px;
}

.stories figure.captionslideup figcaption {
	padding: 15px;
}

.stories .third,
.stories .half,
.stories .twothirds {
	border-right: 1px solid #6096ae;
}

.stories .third > .third,
.stories .third > .half,
.stories .third > .twothirds,
.stories .half > .third,
.stories .half > .half,
.stories .half > .twothirds,
.stories .twothirds > .third,
.stories .twothirds > .half,
.stories .twothirds > .twothirds {
	border-right: none;
}

/* ========== HORIZONTAL RULES & DIVIDERS ========== */

hr.color-line {
	margin-top: 10px;
	border-top: 5px solid #7fa0b6 !important;
}

hr.color-style {
	border: 0;
	height: 1px;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(158, 186, 201, 1), rgba(0, 0, 0, 0));
}

.divider-lines {
	border-top: 0.75pt solid #bbdbc0;
}

/* ========== ARTICLE LAYOUT ========== */

article {
	padding-left: 20px;
	padding-right: 20px;
}

.pr-content-half {
	width: 100%;
}

.pr-content-half.right {
	width: calc(100% - 40px);
	margin: -60px 0 30px 0;
	padding: 30px 20px 20px 40px;
	color: #000;
	background-position: center;
	background-size: cover;
}

.pr-content-half .h2 {
	font-size: 2.4rem;
	line-height: 1.2em;
	color: #fff;
	font-family: "EB Garamond", serif !important;
}

.pr-content-half-jim {
	width: 100%;
}

.pr-content-half-jim .h2 {
	font-size: 2.4rem;
	line-height: 1.2em;
	font-family: "EB Garamond", serif !important;
}

.pr-content-half-jim.right {
	width: calc(100% - 40px);
	margin: -60px 0 30px 0;
	padding: 30px 20px 20px 40px;
}

/* ========== MAIN ROW LAYOUT ========== */

.pr-main-row {
	border-top: 1px dotted #838d9d;
}

.pr-main-row .twothirds {
	padding: 20px 0;
}

/* ========== NAVIGATION TILES ========== */

.pr-tiles {
	margin: 0;
	padding: 30px 10px 20px 10px;
	background-repeat: no-repeat;
	background-size: cover;
}

.pr-tiles .quarter {
	grid-column: span 6;
}

.pr-tiles a {
	text-decoration: none;
	box-sizing: border-box;
}

.pr-tiles a:hover,
.pr-tiles a:focus {
	background-color: #dff3f4;
	text-decoration: none;
}

.pr-tiles figure.captionslideup {
	margin: 0;
	padding: 5px 5px 0 5px;
	grid-template-columns: none !important;
	background-color: transparent !important;
}

.pr-tiles figure.captionslideup figcaption {
	padding: 7px 0 3px 0 !important;
}

.pr-tiles .heading {
	font-size: 1.9rem !important;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
}

/* ========== IMAGE CONTAINERS ========== */

.container-full-width-image {
	margin: 0 auto;
	overflow: hidden;
}

.container-full-width-image .row {
	display: flex;
	flex-wrap: wrap;
}

.container-full-width-image .column {
	flex: 1;
	padding: 20px;
}

.container-full-width-image .content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.container-full-width-image .image {
	background-size: cover;
	background-position: center;
	min-height: 500px;
}

.container-full-width-image .fr-image {
	background-size: cover;
	background-position: center;
	min-height: 500px;
}

.container-full-width-image .aah-image {
	background-size: cover;
	background-position: center;
	min-height: 600px;
}

.container-full-width-image .nrg-image {
	background-size: cover;
	background-position: center;
	min-height: 500px;
}

/* ========== FLEXBOX LAYOUT ========== */

.left-side {
	width: 30%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.right-side {
	width: 70%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ========== MEDIA QUERIES - DESKTOP ========== */

@media only screen and (min-width: 600px) {
	.pr-img {
		width: 50%;
	}

	.pr-content-half.right {
		width: calc(60% - 8vw - 60px);
		margin: 0 0 30px 30px;
		padding: 0vw 5vh 4vw 5vh;
	}

	.pr-content-half.right .h2 {
		font-size: 3.4rem;
		color: #000 !important;
	}

	.pr-content-half-jim.right {
		float: right;
		width: calc(50% - 8vw - 60px);
		margin: 0 0 30px 30px;
		padding: 2vw 5vh 2vw 5vh;
		border-radius: 10px;
	}

	.pr-main-row {
		display: flex;
		flex-direction: row;
		align-items: center;
	}

	.pr-main-row.reverse-order {
		flex-flow: row-reverse;
	}

	.pr-main-row .third {
		max-width: 420px;
	}

	.pr-main-row .twothirds {
		padding: 30px 0 30px 20px;
	}

	.pr-main-row.reverse-order .twothirds {
		padding: 30px 30px 20px 0;
	}
}

@media (min-width: 765px) {
	main {
		max-width: 1400px !important;
	}

	article {
		max-width: none !important;
	}

	.stories .twothirds {
		width: 100%;
	}

	.stories .third {
		width: calc((100% - (2 * 20px)) / 2);
	}

}

@media only screen and (min-width: 900px) {
	.pr-tiles {
		padding: 50px 40px 40px 40px;
	}

	.pr-tiles .quarter {
		grid-column: span 3;
	}

	.pr-tiles figure.captionslideup {
		padding: 20px 20px 0 20px;
	}

	.pr-tiles figure.captionslideup figcaption {
		padding: 12px 0 5px 0 !important;
	}

	.pr-tiles .heading {
		font-size: 2.6rem !important;
	}

	.with-bg {
		align-items: flex-end;
		text-align: right;
		padding: 40px;
		justify-content: flex-end;
	}

	.with-bg div.bg-color {
		width: 50%;
	}
}

@media only screen and (min-width: 1010px) {
	.pr-tiles .heading {
		font-size: 2.8rem !important;
	}
}

@media only screen and (min-width: 1050px) {
	.pr-img {
		width: auto;
	}

	.stories .heading.jumbo {
		font-size: 5.5rem;
	}

	.stories .heading.jumbo-x {
		font-size: 7rem;
	}

	.stories .twothirds {
		width: calc((((100% - (2 * 20px)) / 3) * 2) + 20px);
	}

	.stories .third {
		width: calc((100% - (2 * 20px)) / 3);
	}

	.stories:before {
		margin-top: -30px;
		margin-right: -30px;
	}
}

/* ========== MEDIA QUERIES - MOBILE ========== */

@media screen and (max-width: 768px) {
	.left-side,
	.right-side {
		width: 100%;
	}

	.container-full-width-image .row {
		flex-direction: column;
	}

	.container-full-width-image .column {
		width: 100%;
	}

	.with-bg {
		align-items: flex-start;
		text-align: left;
		padding: 20px;
		justify-content: start;
	}

	.with-bg div.bg-color {
		width: 100%;
	}
}