/*!
Launched:2022-02-18
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-extra-light:#f2f6fb;
	--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:-6vw;
}
 *, *: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; }
body { margin:0; color:#383838; font:1em/1.5em var(--font-default); overflow-x: hidden; }
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.25em; 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.2; 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:3.25rem 0 0.25em; font-size:2.125em; }
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; font-family:var(--font-secondary); font-size:1.1rem; line-height:1.6; }
li { margin:0 0 0.75rem; }
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; }

/* Quotes
----------------------------------------------------*/
 blockquote { position:relative; margin:2rem 1rem; padding:0; font-family:var(--font-default); text-align:left; }
 blockquote p { margin:0 0 1rem; font-size:1.5rem; 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); }

/* 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; }
 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-4,
 .image-right { margin:2rem 0; }
 .figgroup-2 { display:grid; grid-template-columns:1fr; }
 .figgroup-3 img, .figgroup-4 img { margin:0.75rem 0 0; }

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

 .photo-quote figure { margin:0 auto; width:50%; }
 .photo-quote img { border-radius:100%; }

 .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.05) 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; }

 .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%; }
 .hdr-campus { position:relative; z-index:-999; }
 .hdr-campus:after { content:''; position:absolute; top:0; height:15rem; width:100vw; background:url('images/hdr-campus-800.jpg') center top / cover	no-repeat; }
 .site-content { margin:auto; display:grid; grid-template-columns:1fr minmax(0, 26em) minmax(0, 26em) 1fr; grid-gap:var(--grid-gap); }
 .section { grid-column:2/4; }

 .note { margin:2em 0; padding:1.75em 2em 0.25em; border:1px solid #ccc; }
 .note p { font-size:1.1rem; line-height:1.8; font-family:"Libre Franklin", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; color:#555;}

 .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 { position:relative; z-index:1; margin:0; }

 .brandbar { position:absolute; z-index:1; top:4rem; 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:2rem 0 4rem; }
	.header-image { margin:5rem 0 2rem; }
	.header-image img { transform: scale(1) !important;}
 .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.35rem; line-height:1.45em; font-weight:300; font-family:var(--font-secondary); color:var(--gray-dark); }

 .top-nav { display:block; padding: 1rem; }


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

 .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); }

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

/* 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; }
 .vcard { margin-bottom:2rem; }

/*************************************************************************************
* 3. Media Queries
************************************************************************************/

/** 580px **
----------------------------------------------------*/
@media only screen and (min-width:36.25em) {

/* Header
----------------------------------------------------*/
 .lede { font-size:1.5rem; }
 .hdr-campus:after { height:25rem; }

/* 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; }
 .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) {

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

/* Header
----------------------------------------------------*/
 html { background-attachment:fixed; }
 .brandbar li { margin:0 auto; }
 .hdr-campus:after { background-image:url('images/hdr-campus-1200.jpg');}
 .site-title { font-size:2.75em; }
 .site-title:after { margin-left:-0.75rem; margin-top:1rem; width:60px; height:5px; }
 .subtitle { font-size:1.5rem; }
 .section { margin-bottom:4rem; }

/* 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, .figgroup-photo-caption {margin: 3rem 0;}
.figgroup-2 {
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: var(--grid-gap);
}

 /* 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) {

 /* Header
 ----------------------------------------------------*/
 .brandbar { top: 0; }
 .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; }
 .subtitle { font-size:1.5rem; }
 .hdr-campus:after { height:32rem; }
 .header-image { margin:6rem var(--offset) 2.5rem; }

 /* Content
 ----------------------------------------------------*/
 .pull { width:40vw; margin:0 var(--offset) 0 0; float:right; }
 .pull p { margin:0 0 2em 3em; }

 .note { margin:4rem var(--offset); padding:2.75em 3em 1.25em; }
 .top-nav { display:block; padding:0.5rem 0 0; position:absolute; z-index:999; }
	.top-nav a { padding:1em; transition:all 125ms ease-in-out; font-size:0.9rem; }
	.top-nav a:hover { background:#fff; }
	.top-nav svg { vertical-align:middle; }
	.full, .figgroup-2, .figgroup-3, .figgroup-3-combo, .figgroup-4, .figgroup-photo-caption {
		margin: 4rem var(--offset);}

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

 /* 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 0; }
 .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
----------------------------------------------------*/
 .site-title { font-size:3.75em; }
 .subtitle { font-size:1.85rem; }
 .hdr-campus:after { height:36rem; background-image:url('images/hdr-campus-1600.jpg'); }

 /* Images
----------------------------------------------------*/
 .full-bleed img,
 .full-bleed video { width:100vw; height:100vh; }
 .full-bleed figcaption { margin:0 var(--offset); }

/* Content
----------------------------------------------------*/
 blockquote { font-size:1.2em; }
 .pull { width:32vw; float:right; }
 .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) {
}

/** 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')
}


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

@media screen {
 /* Brand Bar
 ----------------------------------------------------*/
 .dept-nd a {width:260px; background-image:url('https://www.nd.edu/assets/css/images/marks/blue/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, .top-nav {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-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 img, .figgroup-4 img { margin:0; }
 .figgroup-3 figure, .figgroup-4 figure { margin:0; }
 .figgroup-3 figcaption, .figgroup-4 figcaption { margin:-0.65em 0 0; grid-column:1/9; }
 .figgroup-3 { display:grid; grid-template-columns:repeat(3, 1fr); grid-gap:1.5rem; }
 .figgroup-3 img:nth-child(1) { grid-column:1/5; grid-row:1/9; }
 .figgroup-3 img:nth-child(2) { grid-column:5/9; grid-row:1/6; }
 .figgroup-3 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,
 .pubdate {margin-top:1rem; font-family:"Libre Franklin", Helvetica, Arial, sans-serif; text-transform:uppercase; letter-spacing:1px; color:var(--gray);}
 .pubdate { margin:2em 0; text-transform:capitalize; letter-spacing:0; }

 .byline {font-size:0.9rem;}
 p,
 li {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;}
}