/*!
Launched:2018-08-21
Authors: Shawn Maust, Taylor Packet, Olivia Rotolo, Erik Runyon
Marketing Communications:Web

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

BRANDING
-----------------------------------------
1. COLORS
	 - Blue (Headings):#002b5b
	 - Blue (Links):#004da3
	 - Gold:#dcb439

2. FONT STACKS
	 - Body:font-family:Lora, "Times New Roman", Times, serif
*/

/*************************************************************************************
 * 1. Common Styles
 ************************************************************************************/
*, *:before, *:after {-moz-box-sizing:border-box; -webkit-box-sizing:border-box; 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 {width:100%; margin:0; padding:0; color:#383838; font:1em/1.5em Lora, "Times New Roman", Times, serif;}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {display:block;}
audio, canvas, video {max-width:100%; width:100%; display:inline-block; *display:inline; *zoom:1;}
audio:not([controls]) {display:none;}
[hidden] {display:none;}
p {margin:0 0 1em; font-size:1.15em; line-height:1.7em;}
a {color:#37486a; outline:none; -webkit-tap-highlight-color:rgba(0,0,0,0); transition:all 125ms ease; }
a:visited {color:#4a3651; text-decoration:none; }
a:hover {color:#5873a9;}
a:active {color:#37486a;}
a:focus {outline:thin dotted;}
a.tapped {background-color:rgba(220,179,57,0.5);}
::-moz-selection,
::selection {background:#0058cf; color:#fff; text-shadow:none;}
strong, b {font-weight:bold;}
em, i {font-style:italic;}
h1,h2,h3,h4,h5,h6 {margin:1.4em 0 0.25em; line-height:1.2em; color:#0A233F; font-weight:700; text-rendering:optimizeLegibility; font-family:Lora, "Times New Roman", Times, serif;}
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:#004da3;}
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:2em;}
h2 {margin:0 0 0.5em; font-size:2.4em; }
h2:after {content:""; margin-top:0.35em; display:block; height:5px; width:35px; background:#bbb;}
h3 {font-size:1.45em;}
h4 {font-size:1.375em;}
h5 {font-size:1.188em;}
h6 {font-size:1em;}
h1 + h2,
h2 + h3,
h3 + h4,
h4 + h5 {margin-top:0;}
ol, ul {margin:1em 0; padding:0 0 0 2em;}
li {margin:0 0 0.25em;}
nav ul {margin:0; padding:0; list-style:none;}
nav li {margin:0; padding:0;}
nav a {text-decoration:none;}
iframe, embed {width:100%;}
sup {vertical-align:super; font-size:smaller;}
sub {vertical-align:sub; font-size:smaller;}
pre, code, kbd, samp {font-family:monospace, sans-serif;}
hr {clear:both; width:100%; margin:1em 0; border:1px solid #dadada; border-width:1px 0 0;}

/* Quotes
----------------------------------------------------*/
blockquote {margin:1rem 0; padding:0; font-size:1.1em; line-height:1em; text-align:left; padding:0.25em 0; color:#fff; overflow:hidden; }
blockquote p {margin:0; color:#585858; line-height:1.5em;}
blockquote.pull {font-style:normal;}
blockquote.pull p {padding-left:0; color:#37486a; font-weight:bold; text-align:left; border:none;}
blockquote p cite {display:block; font-size:1rem; font-weight:normal; font-style:normal; font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}

.slide.quote {display:block}

.quote-img {margin:1em 0 0; text-align:center;}
.quote-img img {margin:0 2em 0.25em 0;	border-radius:100%; width:115px; height:115px;}

/* Images
----------------------------------------------------*/
figure {margin:0;}
img {max-width:100%; width:auto; height:auto; border:none; vertical-align:bottom; -ms-interpolation-mode:bicubic; box-sizing:content-box; transition:all 125ms ease; }
figcaption {margin:1em 0 0; color:#888; font-size:0.9rem; line-height:1.3rem; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
.image-right {margin: 20px 0;}

/* General Classes
----------------------------------------------------*/
.noborder {border:none !important;}
.ndmark {display:block; width:200px; max-width:100%; text-decoration:none;}

.cf:before, .cf:after {content:"\0020"; display:block; height:0; overflow:hidden;}
.cf:after {clear:both;}
.cf {zoom:1;}

.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;}
.section-intro {font-size:1.35rem;}
.no-margin {margin:0;}

/*************************************************************************************
 * 2. Screen Styles
 ************************************************************************************/
@media screen,projection {
	body {background:#f3f3f3;}
	figure img {margin:0 auto;}
	figure.full {margin:2em 0;}
	.wrapper {height:100%; overflow-x:hidden;}
	.row {width:90vw; margin:0 auto; *zoom:1;}
	.row:before, .row:after {content:" "; display:table;}
	.row:after {clear:both;}

	.video {position:relative; display:block; text-align:center; margin:2em 0;}
		.video .play {position:absolute; top:-15px; left:15px; width:100%; height:100%; margin:0 auto; background:url('images/play-icon.svg') left bottom no-repeat; background-size:180px auto;}

	.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:#0A233F; background-color:transparent; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
	progress::-webkit-progress-bar {background-color:transparent;}
	progress::-webkit-progress-value {background-color:#0A233F;}
	progress::-moz-progress-bar {background-color:#0A233F;}

	/* Header
	----------------------------------------------------*/
	.site-header {position:relative; z-index:1; margin:0; }
		.brandbar { position:relative; z-index:9999; }
		.brandbar li {margin:0 -0.9375em; padding:0;}
		.brandbar a {display:block;	margin:0 auto; text-decoration:none; height:50px; text-indent:-9999px; overflow:hidden; background-repeat:no-repeat;}
		.dept-nd img {display:none;}
			.dept-nd a {background-position:left 0;}
			.dept a {background-position:right 0;}

		.titlebar {position:relative; z-index:1000; font-family:Lora, "Times New Roman", Times, serif; min-height:60vh;}
		.site-title {background:url('images/title.svg') 50% 50% / contain no-repeat; z-index:999; filter: drop-shadow( 0 0 35px #fff ); text-indent: -9999px; font-size:10em; }
	.intro {font-weight:600; font-size:1rem; color:#0A233F;}
	 .intro cite {display:block; margin-top:1em; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-style:normal; font-weight:400; color:#444; font-size:1.1rem;}
	 .intro p:before,
	 .intro p:after {content:''; margin:2em auto; display:block; height:1px; width:65%; background:#a1a1a1;}

		.lead {font-size:1.2rem; line-height:1.5em;}
		.titlebar .section-media { position:absolute; top:0; right:0; left:0; bottom:0; margin-bottom:1em; }

	.header-video { position:absolute; top:0; left:0; right:0; bottom:0; z-index:-1; }
		.header-video video { min-height:100%; min-width:100%; max-width:none; }

	/* Content
	----------------------------------------------------*/
	.site-content {position:relative; padding:0; z-index:0; }
	.section { display:flex; flex-flow:column; position:relative; z-index:0;}
	.slide { padding:0.5rem 2rem; }
	.origin-slide {display: block;}

	.header-overlay {width:250px; height:50px; margin:0 auto; background: url(images/play-icon.svg) 50% 50% / contain no-repeat; text-indent:-9999px; cursor:pointer; max-width:200px; z-index:999;}

	/* Media layouts */
	.section-media { position:relative; font-family:GPC, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-weight:700;}
		.no-copy .section-media { min-height:100vh;	}
		.section-media figcaption { margin:0.5em; text-transform:uppercase; z-index:100; position:absolute; bottom:0.5em; left:0.5em; }
		.section-media .highlight { line-height:2em; padding:0.25em 0; color:#fff; background:#0077DA; box-decoration-break: clone; box-shadow: 0.5em 0 0 #0077DA, -0.5em 0 0 #0077DA; }
		figcaption .highlight {font-family:GPC, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
		.media-caption { text-align:center; position:absolute; bottom:0; padding:1rem; width:100%; text-transform:none; font-size:0.9rem; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-weight:400; }

		.soundcite-loaded {display:inline !important;}

 /* Related Content */
	.related {margin:3rem 0;}
	.related article a {margin-bottom:0.75em; padding:0.7em; display:block; min-height:120px; vertical-align:top; border:1px solid #d9d9d9; box-shadow:0 0 8px rgba(204,204,204,0.25); background:#fff; transition:all 125ms ease;}
	.related article a:hover {border:1px solid #d5d5d5; box-shadow:0 0 8px rgba(0,0,0,0.1); -webkit-transform:scale(1.015); transform:scale(1.0125);}
	 .related h2 {margin:0 0 1em; padding:0 0 0.15em; border-bottom:1px solid #ccc; font-size:0.9em; text-transform:uppercase; letter-spacing:1px; color:#555; font-weight:400; font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
		 .related h2:after {display:none;}
	.related .image {margin-right:0.75em; float:left; width:130px;}
	.related .headline {padding-top:0.15em; overflow:hidden;}
	.related .headline h3 {margin-top:0; font-size:1.15em; line-height:1.4em; font-weight:400;}
	.related .date {font-size:0.9rem; color:#656565; font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
	.related a {text-decoration:none; color:#1a324e;}

	 .new-section:before {content:''; margin:20% auto; display:block; height:1px; width:65%; background:#a1a1a1;}

		.drop {float:left; display:inline-block; vertical-align:text-top; margin:-0.5em 0.5em 0.25em 0; width:4em; height:4em; text-indent:-9999px; overflow:hidden; background-position:bottom center; background-repeat:no-repeat; background-size:auto 100%;}
		.drop-m {background-image:url('images/dropcap-m.svg');}
		.drop-h {background-image:url('images/dropcap-h.svg');}
		.drop-t {background-image:url('images/dropcap-t.svg');}

	/* Footer
	----------------------------------------------------*/
	.byline:before {content:''; margin-bottom:1.5em; display:inline-block; height:3px; width:80px; background:#caa246;}
	.byline {margin:3em 0 2em; font-style:italic; color:#0C2340;}
	.byline p {margin:0; font-size:1.1em; font-family:Lora, "Times New Roman", Times, serif;}
	.byline ul {padding:0; list-style:none; font-size:0.9em; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-style:normal;}
	.byline ul strong,
	.byline li {color:#555;}
	.byline li {margin:0;}
	.byline a {color:#1a324e;}

	.site-footer {position:relative; clear:both; overflow:hidden; margin:0 auto; padding:1em 0; color:#222; text-align:center; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; background:#fff; border-top:1px solid #ccc;}
		.footer-inner {position:relative; margin:0 auto; padding:1em 0;}
		.site-footer p {overflow:hidden; margin:0; font-size:0.875em;}
	.site-info {margin:1em 0;}
	.site-info li {display:inline-block; margin:0 2%;}
	.site-footer a {color:#002b5c; text-decoration:underline;}
	.geo,
	.country-name {border:0; clip:rect(0 0 0 0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px;}
	.address {display:block; margin:0;}
	.site-link,
	.org,
	.tel {display:block;}
	.ndmark {width:200px; height:70px; margin:2em auto;}
}

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

/* 580px
----------------------------------------------------*/
@media only screen and (min-width:36.25em) {
	blockquote.pull {font-size:1.35em;}
	.image-right,
	.image-left {max-width:55%; font-size:0.9rem; text-align:left; color:#888; line-height:1.4em; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
	.image-right { float:right; margin:0 0 1.2em 1.2em; }
	.image-left { float:left; margin:0 1.2em 1.2em 0; }
}

/* 700px
----------------------------------------------------*/
@media only screen and (min-width:43.75em) {
	html {background-attachment:fixed;}

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

	.site-title {margin:0.25em 0; font-size:16rem;}
	.site-subtitle {font-size:1.85rem;}
	.titlebar {min-height:100vh;}
	.titlebar-share {position:absolute; bottom:0.5rem; right:3rem;}
	.row {max-width:90vw;}
	.brandbar li {margin:0 auto;}

	.video .play {top:-3em; left:3em; background-size:400px auto;}

	.drop { width:4.5em; height:4.5em;}

	.header-overlay {width:300px; height:90px; margin:0 auto; max-width:300px;}

	/* Header
	----------------------------------------------------*/
	.site-header {text-align:left; }
	.brandbar {padding:0;}
		.brandbar li {float:left;}
	.header-image {height:600px; background:url('images/header-1000.jpg') center center no-repeat; background-size:cover;}

	.intro {font-size:1.1rem;}

	/* Content
	----------------------------------------------------*/

	.lead {font-size:1.35rem;}

	/* Related */
	.related .headline h3 {font-size:1.25em; line-height:1.5em;}
	.related.float-right article {width:48%; margin-right:1%; display:inline-block; vertical-align:top;}
	.related.main article {width:49%; margin:0 0.115em; display:inline-block;}

	/* Footer
	----------------------------------------------------*/
	.site-footer {text-align:left;}
		.footer-inner {padding:1em 0 2em;}
		.ndmark {position:absolute; right:0; top:2.2em; margin:0;}
		.site-link {display:block;}
		.org {display:inline;}
}

/* 1000px
----------------------------------------------------*/
@media only screen and (min-width:62.5em) {
	blockquote.pull {font-size:1.45em;}
	.brandbar {padding:0;}

	.site-title {margin:2em 0;}
	.image-right {margin-right:-10vw;}
	.image-right.video-right {margin-right:-10vw;}

	.header-overlay {margin-left:-1.25em;}

	figure.full {margin:3em -11em}

	/* Navigation
	----------------------------------------------------*/
	.nav-page .title { width:33%; float:left; }
	.nav-page ul { width:66%; float:left; }

	/* Content
	----------------------------------------------------*/

	blockquote .share {position:relative;}
	blockquote.pull p {padding-left:0;	font-weight:bold; text-align:right; border:none;}

	.site-title {margin-left:-0.1em;}
	.titlebar .section-copy {position: absolute; bottom: -9em; left: -5.5em; text-align: left;}

	.related {margin:1rem 0 3rem;}
	.related.float-right {float:right; padding-left:2em; width:40vw; margin-right:-18vw;}
	.related.float-right article {width:100%;}

	.section { flex-flow:row; position:relative; transition:opacity 0.5s; }
		.js .section {	opacity:0; }
		.section.active { z-index:99; opacity:1; }
		.section.media-full { flex-flow:column; }
		.section.no-copy { padding-top:100vh; }
		.section.media-left { justify-content:flex-end; }

	/* Media Layouts */
	.section-media { width:50%; height:100vh;	}
		.js .section-media { z-index:-1; position:absolute; }
		.active .section-media { z-index:99; position:fixed; top:0; bottom:0; }
		.media-full .section-media { width:100%; }
		.media-right .section-media { right:0; left:50%; }
		.media-left .section-media { right:50%; left:0; }
		.media-full .section-media { left:0; right:0; }
		.section-media figure { height:100%; width:100%; }
		.section-media figcaption { bottom:20vh; max-width:40vw; font-size:1.75em; }
		.section-media.quote-up figcaption {bottom:32vh;}
			.media-right figcaption { left:-4vw; }
		.section-media img { height:100%; width:100%; object-fit: cover; object-position: 50% 50%; }

	.section-copy { z-index:100; padding:0 15vw; width:100vw; max-width:68rem; margin:0 auto; }
		.slide { padding:2em; min-height:100vh; }
		.media-right .section-copy,
		.media-left .section-copy { width:50%; padding:0 5vw; margin:0; }
		.media-right .section-copy { order:-1; }

	/* Media Overlay */
	.overlay .section-copy { color:#333; margin-top:90vh; }
	.overlay .section-media::before { z-index:-1; content:''; display:block; position:absolute; top:0; bottom:0; right:0; left:0; background:rgba(255,255,255,0); transition:1s; }
	.overlay .section-media.lighten::before { z-index:10; background:rgba(255,255,255,0.85);	}

	/* Footer
	----------------------------------------------------*/
	.contact-info {margin:0;}
	.site-link,
	.address,
	.site-link,
	.tel,
	.email {float:left; margin:0 1em 0 0;}
	.site-link {margin-right:0.5em;}
}

/* 1200px
----------------------------------------------------*/
@media only screen and (min-width:75em) {
	blockquote {font-size:1.2em;}
	.row {max-width:80vw;}
	.pull {width:20vw; margin-left:-20vw;}
	.titlebar-share {bottom:2rem;}
	.header-image { height:650px; background:url('images/header-1600.jpg') top center no-repeat; background-size:cover;}
 .related.float-right {width:32vw; margin-right:-10vw;}
}

/* 1400px
----------------------------------------------------*/
@media only screen and (min-width:87.5em) {
	blockquote.pull {font-size:1.65em;}
	.section-copy {max-width:80rem;}
}

/* 1600px
----------------------------------------------------*/
@media only screen and (min-width:100em) {
	.image-right, .image-left {max-width:60%;}
	.image-right {margin-right:-10vw;}
	.related.float-right {width:26vw; margin-right:-10vw;}
	.section-media figcaption {max-width:30vw;}
	.section-copy {max-width:82rem;}
}

/* 2000px
----------------------------------------------------*/
@media only screen and (min-width:125em) {
.section-copy {max-width:100rem;}
}

/* Hi-res
----------------------------------------------------*/
@media
	(-webkit-min-device-pixel-ratio:1.5),
	only screen and (min--moz-device-pixel-ratio:1.5),
	(min-resolution:144dppx){
		.dept-nd a,
		.dept a {background-size:auto 50px;}
}

/*************************************************************************************
 * 4. Themes
 ************************************************************************************/
@media screen, projection {
	/* Brand Bar
	----------------------------------------------------*/
	.dept-nd a	 {width:301px; background-image:url('https://static.nd.edu/images/brandbar/dept-nd-white.png');}
	.brandbar {background:#fff; border-bottom:1px solid #181b20;}
	.brandbar.theme-bb-blue {background:#0A233F; border-bottom:1px solid #001123;}
}

/* Hi-res
----------------------------------------------------*/
@media
	(-webkit-min-device-pixel-ratio:1.5),
	only screen and (min--moz-device-pixel-ratio:1.5),
	(min-resolution:144dppx){
		.dept-nd a {background-image:url('https://static.nd.edu/images/brandbar/dept-nd-white@2x.png');}
}


/*************************************************************************************
 * 5. Print Styles
 ************************************************************************************/
@media print {

	@page {margin:0.5cm;}
	body {font-family:Georgia, "Times New Roman", Times, serif; color:#000;}
	img, tr {page-break-inside:avoid;}
	p, h2, h3 {orphans:3; widows:3;}
	h2, h3 {margin:2rem 0 0; page-break-after:avoid;}

	/* Styles
	----------------------------------------------------*/
	a[href^="javascript:"]:after,
	a[href^="#"]:after {content:"";}
	.ndmark {width:150px;}
	.image-right img {float:right; margin:0 0 1em 2em;}
	.image-left img {float:left; margin:0 2em 1em 0;}

	/* HIDDEN
	----------------------------------------------------*/
	progress,
	.breadcrumbs,
	.header-util,
	.skip-links,
	.nav-mobile,
	.nav-site,
	.nav-page,
	.content-video,
	.timelapse-video,
	.nav-skip,
	.header-video,
	.related,
	.section-media .highlight {display:none;}

	/* STRUCTURE
	----------------------------------------------------*/
	.site-header {overflow:hidden; position:relative; margin:0 0 20px; padding:0 0 20px; border-bottom:1px solid gray;}
		.brandbar {font-size:12px; text-transform:uppercase; font-family:"Adobe Garamond", Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;}
			.brandbar i {text-transform:none;}
		.site-title {margin:0; display:block; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
		.site-header a,
		.site-title a,
		.subline a {color:#000;}
		.site-title {margin:4px 0 2px; font-size:2em;}
		.subline {font-size:1em;}

	.media-right img,
	.media-left img,
	.image-left,
	.image-right {float:right; width:33%; margin:0 0 0 2rem;}


	.full img { float:right; width:40%; margin:0 0 0 2rem;}

	figcaption { clear:both; text-align:right;}
	.media-left figcaption,
	.media-right figcaption { float:right; max-width:33%; padding:0.5rem; }

	.site-content a:link:after {content:" [link:" attr(href) "] "; font-size:11px; font-family:inherit;}
	.site-content abbr:after {content:" (" attr(title) ")";}

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