/*!
Launched:2022-03-16
Authors:Taylor Packet, Erik Runyon
Marketing Communications:Web

CONTENTS
-----------------------------------------
1. Common Styles
2. Screen Styles
3. Media Queries
4. Themes
5. Plugins
6. Print Styles

BRANDING
-----------------------------------------
1. COLORS
 - Blue: #0c2340
 - Gold: #ae9142

2. FONT STACKS
 - Headings: GPC, "Arial Narrow", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif
 - Body/Default: Sumana, Georgia, "Times New Roman", Times, serif
 - Captions/Secondary: "Libre Franklin", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif
*/

/*************************************************************************************
* 1. Common Styles
************************************************************************************/

:root {
	--brand-blue: #0c2340;
	--brand-gold: #ae9142;
	--link-blue: #0c2340;
	--link-focus: #15a6b5;

	--font-default: Sumana, Georgia, "Times New Roman", Times, serif;
	--font-secondary: "Libre Franklin", "Helvetica Neue", Helvetica, Arial,
		Verdana, sans-serif;
	--font-heading: GPC, "Arial Narrow", "Libre Franklin", "Helvetica Neue",
		Helvetica, Arial, Verdana, sans-serif;

	--gray: #555;
	--gray-dark: #333;
	--gray-light: #d2d2d2;
	--gray-extra-light: #e2e2e2;

	--sky-blue: #e1e8f2;
	--sky-blue-light: #edf2f9;
	--sky-blue-dark: #c1cddd;

	--grid-gap: 1.5rem;
	--anim-duration: 325ms;
	--anim-duration-fast: 125ms;
	--anim-duration-slow: 500ms;
	--anim-ease: ease-in-out;

	--offset: -8vw;
}
*,
*:before,
*:after {
	box-sizing: border-box;
}
@-ms-viewport {
	width: device-width;
	zoom: 1;
}
@-o-viewport {
	width: device-width;
	zoom: 1;
}
@viewport {
	width: device-width;
	zoom: 1;
}
html {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 100%;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
	overflow-x: hidden;
}
body {
	margin: 0;
	color: #383838;
	font: 1em/1.5em var(--font-default);
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}
audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
	max-width: 100%;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
[hidden] {
	display: none;
}
[tabindex="-1"]:focus {
	outline: none !important;
}
p {
	margin: 0 0 1.5em;
	font-size: 1.3em;
	line-height: 1.8em;
}
a {
	color: var(--brand-blue-bright);
	overflow-wrap: break-word;
	-webkit-text-decoration-skip: ink;
	text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
	background-color: transparent;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a:visited {
	color: var(--brand-blue);
}
a:hover {
	color: var(--brand-blue-bright);
}
a:active {
	color: var(--brand-gold);
}
a:focus {
	outline: thin dotted;
}
strong,
b {
	font-weight: bolder;
}
em,
i {
	font-style: italic;
}
small {
	font-size: 80%;
}
iframe,
embed {
	width: 100%;
}
sub,
sup {
	position: relative;
	vertical-align: baseline;
	line-height: 0;
	font-size: smaller;
}
sup {
	vertical-align: super;
}
sub {
	vertical-align: sub;
}
pre,
code,
kbd,
samp {
	overflow: auto;
	font-family: monospace, sans-serif;
}
hr {
	clear: both;
	margin: 3rem 5%;
	max-width: calc(65rem - 10%);
	border: 1px solid var(--gray-light);
}
a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
	touch-action: manipulation;
}

/* Headings
---------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 1.4em 0 0.25em;
	line-height: 1.4em;
	color: var(--brand-blue);
	font-weight: 700;
	text-rendering: optimizeLegibility;
	font-family: var(--font-heading);
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	text-decoration: none;
}
h1 a:visited,
h2 a:visited,
h3 a:visited,
h4 a:visited,
h5 a:visited,
h6 a:visited {
	color: var(--brand-blue);
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
	text-decoration: underline;
}
h1 {
	margin-top: 0;
	font-size: 1.65em;
}
h2 {
	margin: 0 0 0.25em;
	font-size: 2.4em;
}
h3 {
	font-size: 1.563em;
}
h4 {
	font-size: 1.375em;
}
h5 {
	font-size: 1.188em;
}
h6 {
	font-size: 1em;
}

/* Lists
----------------------------------------------------*/
ol,
ul,
dl {
	margin: 1rem 0;
	padding: 0 0 0 2rem;
}
li {
	margin: 0 0 0.25rem;
}
nav ul {
	list-style: none;
}
nav ul,
nav li {
	margin: 0;
	padding: 0;
}
nav a {
	text-decoration: none;
}

/* Tables
----------------------------------------------------*/
table {
	width: 100%;
	margin: 2em 0;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid var(--gray-light);
}
tr {
	border-top: 1px solid var(--gray-light);
}
tr:nth-child(even) td {
	background: var(--gray-extra-extra-light);
}
th,
thead th {
	text-align: left;
	background-color: var(--gray-extra-light);
	color: var(--gray-dark);
	border-right: 1px solid var(--gray-light);
	font-family: var(--font-default);
	font-weight: 600;
	font-size: 1em;
	border-bottom: 3px solid var(--gray);
}
tfoot th {
	text-align: right;
}
th,
td {
	padding: 0.5em 0.75em;
}
td {
	border-right: 1px solid var(--gray-light);
	border-left: 1px solid var(--gray-light);
}
td,
td img {
	vertical-align: top;
}

/* Subscribe
----------------------------------------------------*/
#mc_embed_signup {
	clear: both;
	width: 100%;
	margin-top: 4rem;
	padding: 0.5rem 1rem;
	background: var(--sky-blue-light);
}
#mc_embed_signup_scroll {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	grid-gap: var(--grid-gap);
}
#mc_embed_signup_scroll p {
	margin: 0;
	font-family: var(--font-secondary);
	font-size: 1.1rem;
}
#mc_embed_signup_scroll h2 {
	font-size: 2.15rem !important;
	margin-bottom: 0.25rem !important;
}
#mc_embed_signup div#mce-responses {
	margin: 0 0 1rem !important;
	padding: 0;
	grid-column: 1/7;
}
#mc_embed_signup div.response {
	top: 0;
	margin: 0 0 0.5rem !important;
	padding: 0 !important;
}
#mc_embed_signup form { font-family:var(--font-secondary);
	padding: 0.675rem 1.25rem 0 !important;
}
#mc_embed_signup .mc-field-group {
	width: 100% !important;
	grid-column: 1/6;
}
#mc_embed_signup #mc-embedded-subscribe-form div.mce_inline_error {
	margin: 0 !important;
	background: none !important;
	font-family: var(--font-secondary);
	font-weight: bold !important;
}
#mc_embed_signup .mc-field-group {
	margin: 0 !important;
}
#mc_embed_signup .mc-field-group input {
	padding: 0.95rem 0 !important;
	font-size: 1rem !important;
}
#mc_embed_signup .button {
	margin: 0 !important;
	padding: 0.625rem 1rem !important;
	height: auto !important;
	width: 100% !important;
	background-color: var(--brand-blue) !important;
	font-family: var(--font-secondary) !important;
	font-weight: 700 !important;
}
#mc_embed_signup .foot {
	grid-template-columns: none !important;
	width: 100% !important;
}

.mc_group {
	grid-column: 1/8;
}
.optionalParent {
	display: inline;
	width: 100% !important;
	grid-column: 6/7;
	grid-row: 2;
}

/* Quotes
----------------------------------------------------*/
blockquote {
	position: relative;
	margin: 2rem 1rem;
	font-family: var(--font-default);
	text-align: left;
	background-color: var(--gray-extra-light);
	padding: 1.5em;
}
blockquote p {
	margin: 0 0 1rem;
	font-size: 1.5rem;
	line-height: 1.6em;
	color: var(--gray-dark);
}
blockquote p cite {
	display: block;
	margin: 1rem 0 0;
	font-size: 1rem;
	color: var(--gray);
	text-align: right;
	font-weight: normal;
	font-style: normal;
	font-family: var(--font-secondary);
}
.photo-quote figure {
	margin: 0 auto;
	width: 50%;
}
.photo-quote img {
	border-radius: 100%;
}
.photo-quote figure {
	position: relative;
}

/* Images & Videos
----------------------------------------------------*/
img {
	max-width: 100%;
	min-width: 100%;
	width: auto;
	height: auto;
	border: none;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
	box-sizing: content-box;
}
figure {
	display: block;
	margin: 0 0 2rem;
}
figcaption {
	clear: both;
	margin: 0.75em 0;
	font-size: 0.95rem;
	text-align: left;
	color: var(--gray);
	line-height: 1.4em;
	font-family: var(--font-secondary);
}

.full,
.figgroup-2,
.figgroup-3,
.figgroup-3-combo,
.figgroup-4,
.image-right,
.image-left {
	margin: 2rem 0 4rem;
	z-index: 5;
	grid-gap: 1.5rem;
}
.figgroup-2 img,
.figgroup-3 img {
	margin-bottom: var(--grid-gap);
}
.figgroup-3-combo img,
.figgroup-4 img {
	margin: 0.75rem 0 0;
}

.figgroup-2 img,
.figgroup-3 img,
.figgroup-3-combo img,
.figgroup-4 img {
	object-fit: cover;
}

.figgroup-2 figcaption.group-caption {
	grid-column: -3/-1;
}

.video {
	min-width: 100%;
	position: relative;
	display: inline-block;
	text-align: center;
	overflow: hidden;
}
.video .play {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: rgba(0, 0, 0, 0.1) url("images/play-btn.svg") no-repeat left
		center / auto 100%;
	-webkit-transform-origin: 12% 79%;
	transform-origin: 12% 79%;
	-webkit-transform: scale(1);
	transform: scale(1);
	transition: all 125ms cubic-bezier(0, 0, 0.25, 1);
}
.video:hover .play {
	background-color: rgba(0, 0, 0, 0);
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}
.video-container {
	margin-bottom: 0;
}

/* Scrolling fades */
.js .animate {
	transform: scale(1.02);
	opacity: 0;
	transition: all 1s cubic-bezier(0.31, 0.72, 0.49, 0.9);
}
.js figcaption.animate,
.js .slide.animate {
	transform: scale(1) translate(2rem, 0);
}
.js .animate.active,
.js .animate.active-once {
	transform: scale(1) translateY(0);
	opacity: 1;
}

/* General Classes
----------------------------------------------------*/
.ndmark {
	display: block;
	width: 200px;
	max-width: 100%;
	text-decoration: none;
}
.hidden {
	display: none !important;
}
.skip-links {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.skip-links:active,
.skip-links:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

.visibility-hidden {
	display: none !important;
}
.visually-hidden {
	position: absolute;
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	width: 1px;
	overflow: hidden;
	margin: -1px;
	padding: 0;
	white-space: nowrap;
}

/*************************************************************************************
* 2. Screen Styles
*************************************************************************************/
@media screen {
	body {
		background: #fffffe;
	}
	.wrapper {
		height: 100%;
		position: relative;
	}
	.wrapper::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 0.3rem;
		bottom: 0;
		height: 100vh;
		background: url("images/uganda_flag_colors.svg") left top / auto 50vh repeat;
		z-index: 4;
	}
	.site-content {
		margin: auto;
		display: grid;
		grid-template-columns: 1fr minmax(0, 23em) minmax(0, 23em) 1fr;
		grid-gap: var(--grid-gap);
	}
	.section {
		grid-column: 2/4;
	}

	.full-bleed {
		display: grid;
		grid-template-columns: 1fr minmax(0, 30em) minmax(0, 30em) 1fr;
		grid-gap: var(--grid-gap);
		grid-row-gap: 0.8em;
	}
	.full-bleed img,
	.full-bleed video {
		object-fit: cover;
		overflow: hidden;
		height: 50vh;
		grid-column: 1/5;
	}
	.full-bleed figcaption {
		margin: 0 0 2rem;
		grid-column: 2/4;
	}

	.bgvid {
		position: relative;
		overflow: hidden;
	}
	.bgvid img {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}

	.embed-inner {
		position: relative;
		padding: 0;
	}
	.embed-inner iframe,
	.embed-inner object,
	.embed-inner embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	progress {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 10;
		width: 100%;
		height: 5px;
		border: none;
		color: var(--brand-blue);
		background-color: transparent;
		-webkit-appearance: none;
		appearance: none;
	}

	progress::-webkit-progress-bar {
		background-color: transparent;
	}
	progress::-webkit-progress-value {
		background-color: #fcdc04;
	}
	progress::-moz-progress-bar {
		background-color: #fcdc04;
	}

	/* Header
----------------------------------------------------*/
	.site-header {
		position: relative;
		z-index: 999;
		margin: 0;
	}

	.brandbar {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		height: 100%;
	}
	.brandbar li {
		margin: 0;
		padding: 0;
	}
	.brandbar a {
		display: block;
		margin: 0.5rem auto;
		text-decoration: none;
		height: 65px;
		text-indent: -9999px;
		overflow: hidden;
		background-repeat: no-repeat;
	}

	.dept-nd img {
		display: none;
	}
	.dept-nd a {
		background-position: center 0;
	}
	.dept a {
		background-position: right 0;
	}

	.titlebar {
		margin: 2.75rem 0 4rem;
	}
	.header-image {
		position: relative;
		overflow: hidden;
		margin: 0;
		width: 100%;
	}
	.header-image:before {
		content: "";
		z-index: 2;
		display: block;
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
		box-shadow: inset 0px 80px 80px rgba(0, 0, 0, 0.5);
	}
	.header-image img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.category,
	.pubdate {
		margin: 0 0 0.5rem;
		color: var(--gray);
		font-family: var(--font-secondary);
		font-weight: 400;
		text-transform: uppercase;
		letter-spacing: 0.08em;
	}
	.pubdate {
		margin: 2em 0 0;
		text-transform: capitalize;
		letter-spacing: 0;
	}
	.site-title {
		margin-bottom: 0;
		font-size: 2.25rem;
		line-height: 1.1em;
		font-weight: 700;
		font-family: var(--font-heading);
		color: var(--brand-blue);
	}
	.site-title:after {
		content: "";
		display: block;
		width: 50px;
		height: 4px;
		margin: 0.75rem 0 1.875rem 0;
		background: var(--brand-gold);
	}
	.subtitle {
		margin: 1em 0 0;
		font-size: 1.4rem;
		line-height: 1.45em;
		font-weight: 300;
		font-family: var(--font-secondary);
		color: var(--gray-dark);
	}
	.footer-global {
		padding: 2rem 2rem 0;
	}
	.footer-global li {
		padding: 0.5rem 0;
	}
	.footer-global p {
		font-size: 1rem;
	}

	/* Content
----------------------------------------------------*/
	.lede {
		font-size: 1.45rem;
	}

	.byline:before {
		content: "";
		margin-bottom: 1.5em;
		display: block;
		height: 4px;
		width: 80px;
		background: var(--brand-gold);
	}
	.byline {
		margin: 3.5em 0 0;
		color: var(--brand-blue);
	}
	.byline p {
		margin: 0;
		font-size: 1.25em;
		font-weight: 700;
		font-family: var(--font-heading);
	}
	.byline ul {
		padding: 0;
		list-style: none;
		font-size: 0.9em;
		font-weight: 400;
		font-family: var(--font-secondary);
		font-style: normal;
		color: var(--gray);
	}
	.byline ul strong {
		color: var(--gray-dark);
	}
	.byline a {
		color: var(--brand-blue);
	}

	/* Story Slider */
	.slider {
		position: relative;
		margin: 2rem 0 3rem;
	}
	.slides {
		display: flex;
		grid-gap: 2.25rem;
		align-items: center;
		scroll-behavior: smooth;
		overflow-x: scroll;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	.slider .cover {
		display: flex;
		flex-direction: column;
		width: 100vw;
		max-width: 650px;
		padding: 2rem 2.5rem;
		color: #fff;
		background: var(--brand-blue) url("images/slider-bg.jpg") center top / cover
			no-repeat;
	}
	.slider .cover .body p {
		flex: 1;
		font-size: 1.15rem;
		line-height: 1.65;
		color: #eee;
		font-family: var(--font-secondary);
	}
	.slider .cover .body a,
	.slider .cover .body a:link,
	.slider .cover .body a:hover,
	.slider .cover .body a:visited {
		color: #ccc;
	}
	.slider .cover .title {
		margin: 0 0 1.5rem;
		font-size: 2rem;
		line-height: 1.1;
		color: #fff;
		font-family: var(--font-heading);
	}
	.slider .cover .subtitle {
		font-size: 0.9rem;
		letter-spacing: 1px;
		margin-bottom: 0.5rem;
		text-transform: uppercase;
		color: var(--gray-light);
	}
	.slider .cover .drag-cta {
		display: flex;
		gap: 1rem;
		align-items: center;
		color: #fff;
		font-size: 1.1rem;
		line-height: 1.6;
		font-family: var(--font-secondary);
		background: none;
		border: none;
		text-align: right;
	}
	.slider .cover .drag-cta .icon {
		color: var(--brand-gold);
	}
	.slider .cover .drag-cta .cta {
		width: 100%;
	}
	.slider .cover .drag-cta:hover {
		cursor: pointer;
	}

	.slider .slide {
		flex: 1 0 auto;
		scroll-snap-align: start;
	}
	.slider .slide img {
		max-height: 100%;
	}
	.slider .slide .entry-wrapper p {
		padding: 0 1rem;
		font-size: 1rem;
		font-family: var(--font-secondary);
	}
	.slider .slide.image {
		max-width: 880px;
		width: 100vw;
	}
	.slider .slide.image .entry-wrapper {
		height: 100%;
		width: 100%;
	}
	.slider .slide.image .entry-wrapper .image-wrapper {
		height: 100%;
	}
	.slider .slide.text-above-image,
	.slider .slide.text-below-image {
		max-width: 455px;
		overflow: hidden;
		width: 100vw;
	}
	.slider .slide.text-above-image .entry-wrapper,
	.slider .slide.text-below-image .entry-wrapper {
		display: flex;
		height: 100%;
	}
	.slider .slide.text-above-image .entry-wrapper img,
	.slider .slide.text-below-image .entry-wrapper img {
		width: 533px;
	}
	.slider .slide.text-above-image .entry-wrapper {
		flex-direction: column;
	}
	.slider .slide.text-below-image .entry-wrapper {
		flex-direction: column-reverse;
	}
	.slider .slide.text-below-image .entry-wrapper .image-wrapper,
	.slider .slide.text-above-image .entry-wrapper p {
		margin-bottom: 1.5rem;
	}
	.slider .slide.text-below-image .entry-wrapper p {
		flex: 1;
	}

	.slider .btn {
		opacity: 0;
		position: absolute;
		top: 50%;
		z-index: 1;
		transform: translateY(-50%);
		height: 45px;
		width: 45px;
		border-radius: 100%;
		transition: opacity 0.4s;
		background-color: rgba(12, 35, 64, 0.75);
		background-position: 50% 50%;
		background-repeat: no-repeat;
	}
	@media (hover: hover) {
		.slider .btn:hover {
			cursor: pointer;
		}
		.slider:hover .btn {
			opacity: 1;
		}
		.slider .btn.slide-next {
			right: 10px;
			background-image: url('data:image/svg+xml;charset=utf-8,<svg width="18" height="18" viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg"><title>Shape</title><path d="M25.557 14.7L13.818 2.961 16.8 0l16.8 16.8-16.8 16.8-2.961-2.961L25.557 18.9H0v-4.2z" fill="%23FFF" fill-rule="evenodd"/></svg>');
		}
		.slider .btn.slide-prev {
			left: 10px;
			background-image: url('data:image/svg+xml;charset=utf-8,<svg width="18" height="18" viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg"><title>Shape</title><path d="M33.6 14.7H8.043L19.782 2.961 16.8 0 0 16.8l16.8 16.8 2.961-2.961L8.043 18.9H33.6z" fill="%23FFF" fill-rule="evenodd"/></svg>');
		}

		/* Related Content
----------------------------------------------------*/
		.related {
			margin: 4rem 0 3rem;
		}
		.related h2 {
			margin-top: 0.45rem;
			font-size: 1.75rem;
			color: var(--brand-blue);
			font-weight: 700;
			font-family: var(--font-heading);
		}
		.related .image {
			margin-right: 0.75em;
			float: left;
			width: 130px;
		}
		.related .category {
			display: block;
			margin: 0.75rem 0 0;
			font-size: 0.8rem;
			line-height: 1.25rem;
			color: var(--gray);
		}
		.related p.subtitle {
			margin-top: 0;
			font-size: 0.925rem;
			font-family: var(--font-secondary);
			font-weight: 400;
		}
		.related .text-right {
			margin: 0;
			grid-column: 2/4;
		}
		/* Cards
----------------------------------------------------*/
		.card-label {
			color: var(--gray);
			font-family: var(--font-default);
		}
		.card-link,
		.card-link:visited {
			display: block;
			text-decoration: none;
			color: var(--brand-blue);
		}
		.card-link:hover {
			text-decoration: none;
			color: var(--brand-blue);
		}
		.card-link::before {
			content: "";
			display: block;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			left: 0;
			z-index: 2;
		}

		/* Cards (flexible content containers)
----------------------------------------------------*/
		.card {
			display: flex;
			flex-flow: column;
			width: 100%;
			position: relative;
			margin: 0;
			width: 100%;
		}
		.card-body {
			padding: 0 1rem 1rem;
			font-size: 1rem;
		}
		.card-title {
			margin: 0 0 1rem;
			font-size: 1.35rem;
			padding-top: 0;
			font-family: var(--font-heading-article);
			font-weight: 400;
		}
		.card-label {
			font-size: 1rem;
			margin: 0 0 0.5em;
			font-size: 0.875rem;
			font-weight: normal;
			letter-spacing: 0.08em;
			text-transform: uppercase;
		}
		.card-image {
			order: -1;
			margin: 0;
			width: 100%;
		}
		.card-image img {
			width: 100%;
		}

		/* Hover Effects
----------------------------------------------------*/
		[class*="hover-"],
		[class*="hover-"]::after,
		[class*="hover-"]::before {
			transition: all var(--anim-duration) cubic-bezier(0, 0, 0, 1);
		}
		.hover-grow {
			transform: scale(1);
			margin-bottom: 0.75rem;
		}
		.hover-grow:hover {
			transform: scale(1.01);
		}
		.hover-bg {
			border-bottom: 0.25rem solid transparent;
		}
		.hover-bg:hover,
		.hover-bg:focus-within {
			background-color: var(--sky-blue);
			border-color: var(--sky-blue-dark);
		}
		.hover-bg:focus-within a:focus {
			outline: none;
		}
		.hover-more {
			padding-right: 3rem;
			background-position: calc(100% - 2rem) 50%;
			background-size: 1rem;
			background-repeat: no-repeat;
			background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"%3E%3Cpath fill="%23ae9142" d="M166.9 264.5l-117.8 116c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17L127.3 256 25.1 155.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0l117.8 116c4.6 4.7 4.6 12.3-.1 17z"/%3E%3C/svg%3E');
		}
		.hover-more.card {
			padding-right: 0;
		}
		.hover-more.card-body,
		.hover-more .card-body {
			padding-right: 3rem;
		}

		/* Buttons
----------------------------------------------------*/
		.btn {
			display: inline-block;
			padding: 0.8rem 1rem;
			border: 3px solid transparent;
			border-radius: 0.6rem;
			line-height: 1.5rem;
			text-decoration: none;
			transition: all 125ms ease-in-out;
			font-size: 1rem;
			font-family: var(--font-secondary);
		}
		.btn:focus {
			border-color: var(--link-focus);
			outline: none;
		}
		.btn:visited {
			color: var(--brand-blue);
		}
		.btn svg {
			vertical-align: middle;
			transition: transform 0.25s ease-in-out;
		}
		.btn:hover svg {
			transform: translateX(0.325em);
		}
		.btn-inline {
			color: var(--brand-blue);
		}
		.btn-inline:hover {
			color: var(--brand-blue);
			background-color: var(--sky-blue);
			transform: scale(1.02);
		}
		.btn-inline:active {
			color: var(--brand-blue);
			background-color: var(--sky-blue);
		}
		.btn-inline svg {
			fill: var(--brand-gold);
		}
		.btn-hidden {
			display: none;
		}
		.btn-hidden-mobile {
			display: block;
		}

		.text-right {
			text-align: right;
		}

		/* Footer
----------------------------------------------------*/
		.site-footer {
			position: relative;
			text-align: center;
			margin-top: 2rem;
			font-family: "Libre Franklin", Helvetica, Arial, Verdana, sans-serif;
			background: #f5f5f5;
		}
		.site-footer p {
			clear: both;
			margin: 0;
			font-size: 1rem;
		}
		.site-footer a {
			color: var(--gray);
		}
		.site-footer svg {
			fill: var(--gray);
		}
		.social {
			margin: 2rem 0;
		}
		.copyright {
			font-weight: bold;
		}
		.address {
			display: block;
			margin: 0;
		}
		.ndmark {
			width: 200px;
			margin: 2em auto;
		}
		.footer-global-links {
			padding: 1rem 0;
			background: var(--gray-light);
			font-size: 1rem;
		}
		.footer-global-links a {
			padding: 0.45rem 1rem;
			border-radius: 0.5rem;
			transition: all 125ms ease-in-out;
			text-decoration: none;
			transition: all 125ms ease-in-out;
		}
		.footer-global-links a:hover {
			text-decoration: underline;
		}
		.footer-global-links nav a:hover {
			text-decoration: none;
			background-color: #f0f0f0;
		}
		.footer-global-links li {
			margin: 0 1rem;
			padding: 0.5rem 0;
		}
		.footer-links-content {
			text-align: center;
		}
		.footer-links-policy {
			justify-content: flex-end;
			text-align: center;
		}
	}
	/*************************************************************************************
* 3. Media Queries
************************************************************************************/

	/** 580px **
----------------------------------------------------*/
	@media only screen and (min-width: 36.25em) {
		/* Header
----------------------------------------------------*/
		.lede {
			font-size: 1.6rem;
		}

		/* Images & Video
----------------------------------------------------*/
		.image-right,
		.image-left {
			max-width: 52%;
			font-size: 0.9rem;
			text-align: left;
			color: #888;
			line-height: 1.4em;
			font-family: "Libre Franklin", Helvetica, Arial, Verdana, sans-serif;
		}
		.image-right {
			float: right;
			margin: 0 0 1.2em 3em;
		}
		.image-left {
			float: left;
			margin: 0 3em 1.2em 0;
		}
		.header-image {
			height: 60vh;
			min-height: 31.25rem;
		}
		.header-video {
			padding-top: 54.875%;
		}

		.video-right {
			width: 52%;
			float: right;
			margin: 0 0 1.2em 3em;
		}
	}
	/** 768px **
----------------------------------------------------*/
	@media only screen and (min-width: 48em) {
		.wrapper::before {
			width: 2vw;
		}

		/* Header
----------------------------------------------------*/
		html {
			background-attachment: fixed;
		}
		.brandbar li {
			margin: 0 auto;
		}
		.header-image {
			height: 70vh;
			min-height: 43.75rem;
		}
		.site-title {
			font-size: 3em;
		}
		.site-title:after {
			margin-left: -0.75rem;
			margin-top: 1rem;
			width: 60px;
			height: 5px;
		}
		.subtitle {
			font-size: 1.8rem;
		}

		/* Content
----------------------------------------------------*/
		h2 {
			font-size: 2.3em;
		}
		h3 {
			font-size: 1.75em;
		}
		h4 {
			font-size: 1.5em;
		}
		h5 {
			font-size: 1.25em;
		}
		h6 {
			font-size: 1.125em;
		}

		blockquote p {
			margin: 2em 3em 2em 3em;
		}

		.related {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			grid-gap: var(--grid-gap);
		}
		.related article {
			width: 48%;
			display: inline-block;
			margin-right: 1%;
		}
		.related.float-right article {
			width: 48%;
			margin-right: 1%;
			display: inline-block;
		}
		.related.main article {
			width: 49%;
			margin: 0 0.115em;
			display: inline-block;
		}
		.optionalParent {
			grid-column: 6/8;
			grid-row: 2;
		}
		.photo-quote {
			display: grid;
			grid-template-columns: repeat(7, 1fr);
			grid-column-gap: var(--grid-gap);
		}
		.photo-quote figure {
			grid-column: 1/3;
			width: 100%;
		}
		.photo-quote blockquote {
			grid-column: 3/8;
		}
		.photo-quote blockquote p {
			margin: 0 1em 2em;
		}
		.photo-quote.pull figure {
			grid-column: 1/8;
			width: 40%;
			margin-bottom: 2rem;
		}
		.photo-quote.pull blockquote {
			grid-column: 1/8;
		}

		.slider {
			margin: 5rem 0 6rem;
		}
		.slider .cover {
			padding: 6.5rem 6rem;
		}
		.slider .cover .title {
			font-size: 2.65rem;
		}

		.figgroup-2 img,
		.figgroup-3 img,
		.figgroup-3-combo img,
		.figgroup-4 img {
			object-fit: cover;
			height: 100%;
		}

		/* Buttons/Hover
----------------------------------------------------*/
		.btn-hidden {
			display: block;
		}
		.btn-hidden-mobile {
			display: none;
		}
		.hover-more {
			background-image: none;
		}
		.hover-more:hover,
		.hover-more:focus-within {
			background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"%3E%3Cpath fill="%23ae9142" d="M166.9 264.5l-117.8 116c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17L127.3 256 25.1 155.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0l117.8 116c4.6 4.7 4.6 12.3-.1 17z"/%3E%3C/svg%3E');
			background-position-x: calc(100% - 1.5rem);
		}

		/* Images
 ----------------------------------------------------*/
		.full,
		.figgroup-2,
		.figgroup-3,
		.figgroup-3-combo,
		.figgroup-4 {
			margin: 3rem 0;
		}
		.full-bleed img,
		.full-bleed video {
			height: 80vh;
		}
		.full-bleed {
			margin: 4rem 0;
		}
		.figgroup-2,
		.figgroup-3 {
			display: grid;
		}

		.figgroup-2 {
			grid-template-columns: repeat(2, 1fr);
			grid-column-gap: var(--grid-gap);
		}
		.figgroup-3 {
			grid-template-columns: repeat(3, 1fr);
			grid-column-gap: var(--grid-gap);
		}
		.figgroup-3-combo img,
		.figgroup-4 img {
			margin: 0;
		}
		.figgroup-3-combo figure,
		.figgroup-4 figure {
			margin: 0;
		}
		.figgroup-3-combo figcaption,
		.figgroup-4 figcaption {
			margin: -0.65em 0 0;
			grid-column: 1/9;
		}
		.figgroup-3-combo {
			display: grid;
			grid-template-columns: repeat(8, 1fr);
			grid-gap: 1.5rem;
		}
		.figgroup-3-combo img:nth-child(1) {
			grid-column: 1/5;
			grid-row: 1/9;
		}
		.figgroup-3-combo img:nth-child(2) {
			grid-column: 5/9;
			grid-row: 1/6;
		}
		.figgroup-3-combo img:nth-child(3) {
			grid-column: 5/9;
			grid-row: 6/9;
		}
		.figgroup-4 {
			display: grid;
			grid-template-columns: repeat(8, 1fr);
			grid-gap: var(--grid-gap);
		}
		.figgroup-4 img:nth-child(1) {
			grid-column: 1/3;
			grid-row: 1/2;
		}
		.figgroup-4 img:nth-child(2) {
			grid-column: 3/5;
			grid-row: 1/2;
		}
		.figgroup-4 img:nth-child(3) {
			grid-column: 1/5;
			grid-row: 2/9;
		}
		.figgroup-4 img:nth-child(4) {
			grid-column: 5/9;
			grid-row: 1/9;
		}

		/* Footer
 ----------------------------------------------------*/
		.social li {
			display: inline-block;
			margin: 0 0.25rem;
		}
		.footer-links-content li {
			margin-right: 0.5rem;
			display: inline-block;
		}
		.footer-links-policy li {
			margin-left: 0.5rem;
			display: inline-block;
		}
	}

	/** 1000px **
----------------------------------------------------*/
	@media only screen and (min-width: 62.5em) {
		h2 {
			font-size: 2.3em;
		}
		h3 {
			font-size: 1.75em;
		}
		h4 {
			font-size: 1.5em;
		}
		h5 {
			font-size: 1.25em;
		}
		h6 {
			font-size: 1.125em;
		}

		/* Header
 ----------------------------------------------------*/
		.category {
			font-size: 1.2rem;
			margin: 0 0 0.5rem;
		}
		.site-title {
			font-size: 3rem;
		}
		.site-title:after {
			margin-left: -1.35rem;
			width: 70px;
		}
		.site-title:after {
			width: 80px;
			height: 6px;
		}
		.header-overlay {
			width: 68vw;
			left: 15%;
			bottom: 8rem;
		}

		/* Images
----------------------------------------------------*/
		.full,
		.figgroup-2,
		.figgroup-3,
		.figgroup-3-combo,
		.figgroup-4 {
			margin: 4rem var(--offset);
		}

		.image-right,
		.video-right {
			margin-right: var(--offset);
		}

		.image-left,
		.video-left {
			margin-left: var(--offset);
		}

		/* Content
 ----------------------------------------------------*/
		blockquote {
		}
		blockquote.pull p {
			margin-top: 0;
		}
		.pull {
			width: 40vw;
			margin-right: -8vw;
			float: right;
		}

		.related {
			margin: 6rem var(--offset) 4rem;
		}

		.photo-quote blockquote p {
			margin: 1em 1em 2em;
		}
		.photo-quote.pull figure {
			grid-column: 2/8;
			width: 55%;
		}
		.photo-quote.pull blockquote {
			grid-column: 2/8;
		}
		.photo-quote.pull blockquote p {
			margin: 0 1em 1em;
		}

		/* Footer
 ----------------------------------------------------*/
		.footer-global {
			padding: 3rem 0 0;
		}
		.footer-global li {
			padding: 0;
		}
		.footer-global .col {
			display: flex;
			justify-content: space-between;
			max-width: 90vw;
			margin: 0 auto 1rem;
		}
		.footer-global .social {
			justify-self: center;
			max-width: 500px;
		}
		.footer-global .social svg {
			margin-right: 0.25rem;
			vertical-align: text-bottom;
			margin-bottom: 2px;
		}
		.footer-global .social ul {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			grid-gap: 0.5rem;
			justify-items: start;
		}
		.footer-global .ndmark {
			margin: 0;
		}
		.footer-global .social {
			margin: 0;
		}
		.footer-global .vcard {
			text-align: left;
		}
		.social li {
			display: inline-block;
			margin: 0 0.25rem;
			font-size: 1rem;
		}
		.social a {
			color: var(--gray);
			padding: 0.5rem 1rem;
			margin-top: -0.5rem;
			display: block;
			border-radius: 0.6rem;
			border: 3px solid transparent;
			transition: all 125ms ease-in-out;
		}
		.social a:hover {
			background-color: var(--sky-blue);
			color: var(--brand-blue);
		}
		.social a:focus {
			border-color: var(--link-focus);
			outline: none;
		}
		.social a:active {
			color: var(--brand-blue);
			background-color: var(--sky-blue-dark);
		}
		.social a:hover svg {
			fill: var(--brand-blue);
		}
		.footer-global-links {
			font-size: 0.875rem;
		}
		.footer-global-links nav {
			display: flex;
		}
		.footer-global-links ul {
			width: 50%;
			margin: 0;
		}
		.footer-links-content {
			text-align: left;
		}
		.footer-links-content li {
			margin: 0;
			display: inline-block;
		}
		.footer-links-policy {
			justify-content: flex-end;
			text-align: right;
		}
		.footer-links-policy li {
			margin-left: 0.5rem;
			display: inline-block;
		}
		.vcard p {
			font-size: 0.875rem;
			line-height: 1.6rem;
		}
	}

	/** 1200px **
----------------------------------------------------*/
	@media only screen and (min-width: 75em) {
		.wrapper::before {
			width: 5vw;
		}

		/* Header
----------------------------------------------------*/
		.header-image {
			height: 70vh;
		}
		.site-title {
			font-size: 3.75em;
		}
		.subtitle {
			font-size: 1.9rem;
		}

		/* Images
----------------------------------------------------*/
		.full-bleed img,
		.full-bleed video {
			width: 100vw;
			height: 100vh;
		}

		/* Content
----------------------------------------------------*/
		.pull {
			width: 32vw;
		}
		.social li {
			font-size: 1.125rem;
		}
	}

	/** 1400px **
----------------------------------------------------*/
	@media only screen and (min-width: 87.5em) {
		.related .category {
			font-size: 0.9rem;
		}
		.related .headline h3 {
			font-size: 1.35rem;
		}
		.footer-global .col {
			max-width: 78vw;
		}
	}

	/** 1600px **
----------------------------------------------------*/
	@media only screen and (min-width: 100em) {
		.header-image {
			height: 75vh;
		}
	}

	/** 1800px **
----------------------------------------------------*/
	@media only screen and (min-width: 112.5em) {
		.pull {
			width: 25vw;
		}
	}

	/* Icons
<span class="icon" data-icon="nd-monogram"></span>
https://dev.conductor.nd.edu/icons/
----------------------------------------------------*/
	.icon {
		display: inline-block;
		width: 1em;
		height: 1em;
		fill: currentColor;
	}

	/* Fonts
https://dev.conductor.nd.edu/fonts/
----------------------------------------------------*/
	@font-face {
		font-family: GPC;
		font-weight: 700;
		font-style: normal;
		font-display: swap;
		src: url("https://static.nd.edu/fonts/gp-min/gpc-bold.woff2")
				format("woff2"),
			url("https://static.nd.edu/fonts/gp-min/gpc-bold.woff") format("woff");
	}
	@font-face {
		font-family: Sumana;
		font-weight: 400;
		font-style: normal;
		font-display: swap;
		src: url("https://static.nd.edu/fonts/google/sumana-400.woff2")
				format("woff2"),
			url("https://static.nd.edu/fonts/google/sumana-400.woff") format("woff");
	}
	@font-face {
		font-family: "Libre Franklin";
		font-weight: 300;
		font-style: normal;
		font-display: swap;
		src: url("https://static.nd.edu/fonts/google/libre-franklin-300.woff2")
				format("woff2"),
			url("https://static.nd.edu/fonts/google/libre-franklin-300.woff")
				format("woff");
	}
	@font-face {
		font-family: "Libre Franklin";
		font-weight: 400;
		font-style: normal;
		font-display: swap;
		src: url("https://static.nd.edu/fonts/google/libre-franklin-400.woff2")
				format("woff2"),
			url("https://static.nd.edu/fonts/google/libre-franklin-400.woff")
				format("woff");
	}
	@font-face {
		font-family: "Libre Franklin";
		font-weight: 700;
		font-style: normal;
		font-display: swap;
		src: url("https://static.nd.edu/fonts/google/libre-franklin-700.woff2")
				format("woff2"),
			url("https://static.nd.edu/fonts/google/libre-franklin-700.woff")
				format("woff");
	}

	/*************************************************************************************
 * 4. Themes
 ************************************************************************************/

	@media screen {
		/* Brand Bar
 ----------------------------------------------------*/
		.dept-nd a {
			width: 260px;
			background-image: url("https://www.nd.edu/assets/css/images/marks/white/mark-stories.svg");
		}
	}
}

/*************************************************************************************
 * 5. Print Styles
 ************************************************************************************/
@media print {
	@page {
		margin: 1.5cm;
	}
	body {
		font-family: Georgia, "Times New Roman", Times, serif;
		color: #000;
	}
	img,
	tr,
	.full-bleed {
		page-break-inside: avoid;
		width: 100%;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}

	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}
	.ndmark {
		width: 150px;
	}

	/* HIDDEN
 ----------------------------------------------------*/
	progress,
	.skip-links,
	.video,
	.video-caption,
	.related,
	.footer-global-links,
	.social {
		display: none;
	}

	/* Images
 ----------------------------------------------------*/
	.image-right {
		float: right;
		margin: 0 0 1em 2em;
		width: 45%;
	}
	.image-left {
		float: left;
		margin: 0 2em 1em 0;
		width: 45%;
	}

	.full-bleed {
		display: grid;
		grid-template-columns: 1fr minmax(0, 23em) minmax(0, 23em) 1fr;
		grid-gap: var(--grid-gap);
		grid-row-gap: 0.8em;
	}
	.full-bleed img,
	.full-bleed video {
		object-fit: cover;
		overflow: hidden;
		width: 100%;
		grid-column: 1/5;
	}
	.full-bleed figcaption {
		margin: 0 0 2rem;
		grid-column: 2/4;
	}

	.full,
	.figgroup-2,
	.figgroup-3,
	.figgroup-3-combo,
	.figgroup-4 {
		margin: 3rem 0;
	}
	.full-bleed {
		margin: 4rem 0;
	}
	.full-bleed figcaption {
		margin: 0 var(--offset);
	}
	.figgroup-2 {
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: var(--grid-gap);
	}
	.figgroup-3 {
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: var(--grid-gap);
	}
	.figgroup-3-combo img,
	.figgroup-4 img {
		margin: 0;
	}
	.figgroup-3-combo figure,
	.figgroup-4 figure {
		margin: 0;
	}
	.figgroup-3-combo figcaption,
	.figgroup-4 figcaption {
		margin: -0.65em 0 0;
		grid-column: 1/9;
	}
	.figgroup-3-combo {
		display: grid;
		grid-template-columns: repeat(8, 1fr);
		grid-gap: 1.5rem;
	}
	.figgroup-3-combo img:nth-child(1) {
		grid-column: 1/5;
		grid-row: 1/9;
	}
	.figgroup-3-combo img:nth-child(2) {
		grid-column: 5/9;
		grid-row: 1/6;
	}
	.figgroup-3-combo img:nth-child(3) {
		grid-column: 5/9;
		grid-row: 6/9;
	}
	.figgroup-4 {
		display: grid;
		grid-template-columns: repeat(8, 1fr);
		grid-gap: var(--grid-gap);
	}
	.figgroup-4 img:nth-child(1) {
		grid-column: 1/3;
		grid-row: 1/2;
	}
	.figgroup-4 img:nth-child(2) {
		grid-column: 3/5;
		grid-row: 1/2;
	}
	.figgroup-4 img:nth-child(3) {
		grid-column: 1/5;
		grid-row: 2/9;
	}
	.figgroup-4 img:nth-child(4) {
		grid-column: 5/9;
		grid-row: 1/9;
	}

	/* Structure
 ----------------------------------------------------*/
	.site-header {
		overflow: hidden;
		position: relative;
		margin: 0 0 20px;
		padding: 0;
		border-bottom: 1px solid gray;
	}
	.brandbar {
		margin: 2rem 0 1rem;
		font-size: 9px;
		text-transform: uppercase;
		font-family: "Adobe Garamond", Garamond, Baskerville, "Baskerville Old Face",
			"Hoefler Text", "Times New Roman", serif;
		text-align: center;
		letter-spacing: 1px;
	}
	.brandbar i {
		text-transform: none;
	}
	.site-title,
	.subline {
		margin: 0;
		display: block;
		font-family: "Libre Franklin", Helvetica, Arial, Verdana, sans-serif;
		font-weight: 400;
	}
	.site-header a,
	.site-title a,
	.subline a {
		color: #000;
	}

	.lede {
		font-size: 1.2rem;
	}
	.site-title {
		margin: 4px 0 2px;
		font-size: 1.75em;
		font-family: var(--font-heading);
		font-weight: 700;
		font-size: 2.25rem;
	}
	.subtitle {
		font-family: "Libre Franklin", Helvetica, Arial, sans-serif;
		font-size: 1.3rem;
	}
	.category {
		margin-top: 1rem;
		font-family: "Libre Franklin", Helvetica, Arial, sans-serif;
		text-transform: uppercase;
		letter-spacing: 1px;
		color: var(--gray);
	}
	.byline {
		font-size: 0.9rem;
	}
	p {
		font-size: 1rem;
	}

	.sidebar-heading {
		margin: 0;
	}

	.site-footer {
		position: relative;
		clear: both;
		margin: 20px 0 0;
		padding: 20px 0 0;
		border-top: 1px solid gray;
	}
	.site-footer p {
		margin: 0;
	}
	.geo,
	.country-name {
		display: none;
	}
	.tel {
		display: block;
	}
	.site-footer .ndmark {
		position: absolute;
		top: 20px;
		right: 0;
	}

	/* Custom
 ----------------------------------------------------*/
	.photo-quote figure {
		margin: 4rem auto 0;
		width: 22%;
	}
	.photo-quote blockquote {
		margin: 2rem auto 4rem;
		width: 80%;
	}
	.slider .cover .subtitle {
		font-size: 0.9rem;
		letter-spacing: 1px;
		margin-bottom: 0.5rem;
		text-transform: uppercase;
	}
	.image-wrapper {
		margin-bottom: 1rem;
	}
	blockquote p {
		font-size: 1.25rem;
	}
	.js .animate {
		opacity: 1;
	}
}
