/*!
Launched:2022-12-5
Authors: Nevin McElwrath, Taylor Packet, Erik Runyon
Office of Public Affairs & Communications

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); overflow-x: hidden; position: relative; }
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
----------------------------------------------------*/
/* MailChimp Form Embed Code - Classic - 12/17/2015 v10.7 */
#mc_embed_signup form { font-family:var(--font-secondary); display:block; position:relative; text-align:left; padding:10px 0 10px 3%}
#mc_embed_signup form .d-flex { display:flex; grid-column:1/-1; gap:1rem; }
#mc_embed_signup form .flex-grow { flex-grow:1; }
#mc_embed_signup form .align-end { align-items:flex-end;}
#mc_embed_signup form label { display:block; font-weight:bold; }
#mc_embed_signup form input[type="email"] { background-color: #fefefe; border: 1px solid #cacaca; border-radius: 4px; box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, .1); color: #0a0a0a; display: block; font-family: inherit; font-size: 1rem; font-weight: 400; line-height: 1.5; margin: 0; outline: 2px solid transparent; padding: .75rem .5rem; transition: outline-color .25s ease-in-out, box-shadow .5s; transition: box-shadow .5s, outline-color .25s ease-in-out; width: 100%; }
#mc_embed_signup h2 {font-weight:bold; padding:0; margin:15px 0; font-size:1.4em;}
#mc_embed_signup input {border: 1px solid #ABB0B2; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;}
#mc_embed_signup input[type=checkbox]{-webkit-appearance:checkbox;}
#mc_embed_signup input[type=radio]{-webkit-appearance:radio;}
#mc_embed_signup input:focus {border-color:#333;}
#mc_embed_signup .button {clear:both; background-color: #aaa; border: 0 none; border-radius:4px; transition: all 0.23s ease-in-out 0s; color: #FFFFFF; cursor: pointer; display: inline-block; font-size:15px; font-weight: normal; height: 32px; line-height: 32px; margin: 0 5px 10px 0; padding: 0 22px; text-align: center; text-decoration: none; vertical-align: top; white-space: nowrap; width: fit-content; width: -moz-fit-content;}
#mc_embed_signup .button:hover {background-color:#777;}
#mc_embed_signup .small-meta {font-size: 11px;}
#mc_embed_signup .nowrap {white-space:nowrap;}

#mc_embed_signup .mc-field-group {clear:left; position:relative; width:96%; padding-bottom:3%; min-height:50px;}
#mc_embed_signup .size1of2 {clear:none; float:left; display:inline-block; width:46%; margin-right:4%;}
* html #mc_embed_signup .size1of2 {margin-right:2%; /* Fix for IE6 double margins. */}
#mc_embed_signup .mc-field-group label {display:block; margin-bottom:3px;}
#mc_embed_signup .mc-field-group input {display:block; width:100%; padding:8px 0; text-indent:2%;}
#mc_embed_signup .mc-field-group select {display:inline-block; width:99%; padding:5px 0; margin-bottom:2px;}

#mc_embed_signup .datefield, #mc_embed_signup .phonefield-us{padding:5px 0;}
#mc_embed_signup .datefield input, #mc_embed_signup .phonefield-us input{display:inline; width:60px; margin:0 2px; letter-spacing:1px; text-align:center; padding:5px 0 2px 0;}
#mc_embed_signup .phonefield-us .phonearea input, #mc_embed_signup .phonefield-us .phonedetail1 input{width:40px;}
#mc_embed_signup .datefield .monthfield input, #mc_embed_signup .datefield .dayfield input{width:30px;}
#mc_embed_signup .datefield label, #mc_embed_signup .phonefield-us label{display:none;}

#mc_embed_signup .indicates-required {text-align:right; font-size:11px; margin-right:4%;}
#mc_embed_signup .asterisk {color:#e85c41; font-size:150%; font-weight:normal; position:relative; top:5px;}
#mc_embed_signup .clear {clear:both;}
#mc_embed_signup .foot {display:grid; grid-template-columns: 3fr 1fr; width:96%; align-items: center;}
@media screen and (max-width:400px) {#mc_embed_signup .foot {display:grid; grid-template-columns: 1fr; width:100%; align-items: center;}}

@media screen and (max-width:400px) {#mc_embed_signup .referralBadge {width:50%;}}

#mc_embed_signup .brandingLogo {justify-self:right;}
@media screen and (max-width:400px) {#mc_embed_signup .brandingLogo {justify-self:left;}}

#mc_embed_signup .mc-field-group.input-group ul {margin:0; padding:5px 0; list-style:none;}
#mc_embed_signup .mc-field-group.input-group ul li {display:block; padding:3px 0; margin:0;}
#mc_embed_signup .mc-field-group.input-group label {display:inline;}
#mc_embed_signup .mc-field-group.input-group input {display:inline; width:auto; border:none;}

#mc_embed_signup div#mce-responses {float:left; top:-1.4em; padding:0em .5em 0em .5em; overflow:hidden; width:90%; margin: 0 5%; clear: both;}
#mc_embed_signup div.response {margin:1em 0; padding:1em .5em .5em 0; font-weight:bold; float:left; top:-1.5em; z-index:1; width:80%;}
#mc_embed_signup #mce-error-response {display:none;}
#mc_embed_signup #mce-success-response {color:#529214; display:none;}
#mc_embed_signup label.error {display:block; float:none; width:auto; margin-left:1.05em; text-align:left; padding:.5em 0;}

#mc-embedded-subscribe {clear:both; width:auto; display:block; margin:0;}
#mc_embed_signup #num-subscribers {font-size:1.1em;}
#mc_embed_signup #num-subscribers span {padding:.5em; border:1px solid #ccc; margin-right:.5em; font-weight:bold;}

#mc_embed_signup #mc-embedded-subscribe-form div.mce_inline_error {display:inline-block; margin:2px 0 1em 0; padding:3px; background-color:rgba(255,255,255,0.85); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; font-size:14px; font-weight:normal; z-index:1; color:#e85c41;}
#mc_embed_signup #mc-embedded-subscribe-form input.mce_inline_error {border:2px solid #e85c41;}

/* Overrides */
#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/8; }
#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:block; width:100% !important; grid-column:1/8; }

/* Quotes
----------------------------------------------------*/
 blockquote { position:relative; margin:2rem 1rem; padding:0; font-family:var(--font-secondary); font-weight: 300; text-align:left; }
 blockquote p { margin:0 0 1rem; font-size:1.75rem; line-height:1.6em; color:var(--brand-blue); }
 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:flex; margin:0; flex-flow: column; }
 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; }
 .figgroup-2,
 .figgroup-3 { display:grid; grid-template-columns:1fr; }
 .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: contain; height: 100%; }

	.full-bleed img,
	.full-bleed video { object-fit:contain; grid-column:1/5; }

 .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; }

 .text-right { text-align:right; }
 .text-center { text-align:center; }

/*************************************************************************************
* 2. Screen Styles
************************************************************************************/
@media screen {
	body { background: #fffffe url(images/bg-map.png) center center / 100vw auto repeat; }
 .wrapper { height:100%; }
 .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; margin: 4rem 0 0; }

 .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:contain; overflow:hidden; 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:var(--brand-blue); }
 progress::-moz-progress-bar { background-color:var(--brand-blue); }

/* Header
----------------------------------------------------*/
 .site-header { margin:auto; display:grid; grid-template-columns:1fr minmax(0, 23em) minmax(0, 23em) 1fr; grid-gap:var(--grid-gap); }

 .brandbar { grid-column:1/7; grid-row:1/2; }
	.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 a {width:260px; background-image:url('https://www.nd.edu/assets/css/images/marks/white/mark-stories.svg');}

 .dept-nd img { display:none; }
 .dept-nd a { background-position:center 0; width:260px; background-image:url('https://www.nd.edu/assets/css/images/marks/white/mark-stories.svg'); }
 .dept a { background-position:right 0; }

	.titlebar {	margin:1rem 0 0; grid-column:2/4;	}
	.header-image { overflow:hidden; margin:0; width:100%; z-index:-999; grid-row:1/2; grid-column:1/7; position:relative; height:50vh; }
	.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); }

/* 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;}

/* 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 .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; }

/* 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); }
 .footer-global { padding:2rem 0 0; }
 .footer-global li { padding:0.5rem 0; }
 .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; }
}

@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>');}
}


/*************************************************************************************
* 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) {

/* Header
----------------------------------------------------*/
 html { background-attachment:fixed; }
 body { background: #fffffe url(images/bg-map.png) center center / 200px auto repeat; }
 .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; }

 .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; }

/* 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 { margin:4rem 0; }
 .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; }

 .figgroup-2 img,
 .figgroup-3 img,
 .figgroup-3-combo img,
 .figgroup-4 img { object-fit: cover; height: 100%; }

 #mc_embed_signup .mc-field-group { width:100% !important; grid-column:1/6; }
	.optionalParent { width:100% !important; grid-column:6/8; }

 /* 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) {
 body { background: #fffffe url(images/bg-map.png) center center / 400px auto repeat; }
 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
 ----------------------------------------------------*/
 .site-header { grid-template-columns:repeat(12,1fr); grid-gap:0; }
 .titlebar { margin-top:13rem; grid-column:2/6; grid-row:1/2; }
 .header-image { height:100vh; grid-column:7/13; grid-row:1/2; }
 .dept-nd a { background-image:url('https://www.nd.edu/assets/css/images/marks/blue/mark-stories.svg');}
 .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); }
 .full-bleed img,
 .full-bleed video { object-fit:cover; overflow:hidden; height:50vh; grid-column:1/5; }

 .image-right,
 .video-right { margin-right:var(--offset); }

 .image-left,
.video-left { margin-left: var(--offset); }

 /* Content
 ----------------------------------------------------*/
 blockquote { margin:0; }
 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:.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) {

/* Header
----------------------------------------------------*/
 .titlebar { margin-top:15rem; grid-column:2/6; grid-row:1/2; }
 .header-image { grid-column:7/13; grid-row:1/2; }
 .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:Sumana; font-weight:700; font-style:normal; font-display:swap;
	src:url("https://static.nd.edu/fonts/google/sumana-700.woff2") format("woff2"),
			url("https://static.nd.edu/fonts/google/sumana-700.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");
}


/*************************************************************************************
 * 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;}
 figcaption { font-size: 12px; }

 /* Header
	----------------------------------------------------*/
	.site-header { grid-template-columns:repeat(12,1fr); grid-gap:0; display: grid; }
	.titlebar { margin-top:13rem; grid-column:2/6; grid-row:1/2; }
	.header-image { height:100vh; grid-column:7/13; grid-row:1/2; }
	.brandbar { grid-column: 1/7; display: grid; grid-row: 1/1; }
	.dept-nd a { height: 4rem; display: block; width: 100%; background:url('https://www.nd.edu/assets/css/images/marks/blue/mark-stories.svg') center center / contain no-repeat; text-indent: -999rem; }
	.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; }

 /* HIDDEN
 ----------------------------------------------------*/
	progress,
 .skip-links,
 .video,
 .video-caption,
 .related,
 .footer-global-links,
 .social,
 #mc_embed_signup {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; }
}