/* Colors 

Blue: #152076
Orange: #ce3b2b
tan: #f7f6f5
white #fff

*/



/* Animation */

@keyframes reveal {
	0% {
	    opacity: 0;
	}
	100% {
	    opacity: 1;
	}
}



/* Global / Reset */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
	display: block;
	margin: 0;
}
audio, canvas, video {
	display: inline-block;
	max-width: 100%;
}

html {
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}
body {
	background: #fff;
	color: #152076;
	font-family: 'franklin-gothic-urw', 'Open Sans', sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
}

a {
	color: #ce3b2b;
	text-decoration: none;
	transition: background .3s, color .3s, border .3s;
}
a:hover, a:active {
	text-decoration: underline;
}
a:focus, a:hover, a:active {
	outline: 0;
}


abbr[title] {
	border-bottom: 1px dotted #2b2b2b;
	cursor: help;
}

b, strong, dt {font-weight: 700;}
address, cite, dfn, em, i {font-style: italic;}
mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

code, kbd, tt, var, samp, pre {
	font-family: monospace, serif;
	-webkit-hyphens: none;
	-moz-hyphens:    none;
	-ms-hyphens:     none;
	hyphens:         none;
}
pre {
	border: 1px solid rgba(0, 0, 0, 0.1);
	margin-bottom: 24px;
	max-width: 100%;
	overflow: auto;
	padding: 12px;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

blockquote, q {
	-webkit-hyphens: none;
	-moz-hyphens:    none;
	-ms-hyphens:     none;
	hyphens:         none;
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}
blockquote {
	color: #767676;
	font-size: 19px;
	font-style: italic;
	font-weight: 300;
	line-height: 1.2631578947;
	margin-bottom: 24px;
}
blockquote cite, blockquote small {
	color: #2b2b2b;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}
blockquote em, blockquote i, blockquote cite {font-style: normal;}
blockquote strong, blockquote b {font-weight: 400;}

small {font-size: smaller;}
big {font-size: 125%;}

sup, sub {
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {bottom: 1ex;}
sub {top: .5ex;}

ul, ol {list-style: none;}

img {
	-ms-interpolation-mode: bicubic;
	border: 0;
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}
svg {
	height: 100%;
	width: 100%;
	transition: fill .3s, stroke .3s;
}
iframe {
	width: 100%;
}

fieldset {border: 1px solid rgba(0, 0, 0, 0.1);}
legend {white-space: normal;}
button, input, select, textarea {
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	font-size: 100%;
	margin: 0;
	max-width: 100%;
	vertical-align: baseline;
}
button, input {line-height: normal;}
input, textarea {
	background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0)); /* Removing the inner shadow, rounded corners on iOS inputs */
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: none;
	cursor: pointer;
}
button[disabled], input[disabled] {cursor: default;}
input[type="checkbox"], input[type="radio"] {padding: 0;}
input[type="search"], input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
textarea {
	overflow: auto;
	vertical-align: top;
}

table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
th {font-weight: bold;}

del {color: #767676;}

hr {display: none;}

/* non-standard selection styling */
::selection {
	background: #ce3b2b;
	color: #fff;
	text-shadow: none;
}
::-moz-selection {
	background: #ce3b2b;
	color: #fff;
	text-shadow: none;
}




/* Typography */

h2,
h3,
.highlight {
	font-weight: 900;
}
h2 {
	text-transform: uppercase;
	font-size: 36px;
	text-align: center;
	padding: 0 0 30px;
	margin: 0 0 30px;
	line-height: 1em;
	position: relative;
}
h2 .subtitle {
	display: block;
	font-weight: 300;
}
h2:after {
	content: '';
	display: block;
	border-bottom: 1px dotted #ce3b2b;
	width: 140px;
	height: 1px;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0);
}



/* Structure */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}

article,
.banner {
	margin: 0 auto;
	width: 92%;
	max-width: 1140px;
}

section.intro header,
a.button {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}
#content p,
#colophon p,
#content h3 {
	max-width: 550px;
	margin-left: auto;
	margin-right: auto;
}

img.alignleft {
	margin: 0 0 30px;
}



/* Header */

#masthead {
	position: fixed;
	z-index: 9;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	background: #152076;
	color: #fff;
}
#masthead .banner {
	padding: 10px 0;
}
#masthead a {
	color: #fff;
}
#masthead svg {
	fill: #fff;
}
#masthead h1 {
	height: 40px;
	width: 140px;
	overflow: hidden;
	float: right;
}
#masthead nav {
	float: left;
}
#masthead nav a {
	display: inline-block;
	height: 40px;
	margin: 0;
	overflow: hidden;
	width: 60px;
}



/* Content */

#content,
#colophon {
	line-height: 1.8em;
}
#content p:not(:last-child) {
	margin-bottom: 30px;
}

video#introvid { 
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: 56.25vw;
    z-index: -100;
    background: #152076 url('assets/intro.jpg') no-repeat;
    background-size: cover; 
}

section {
	background: #fff;
}
section:nth-of-type(2n) {
	background: #f7f6f5;
}

section.program h2 {
	color: #ce3b2b;
}

article {
	padding: 60px 0;
}
article:after {
	content: '';
	display: block;
	clear: both;
}

article ul {
	border-top: 1px dotted #152076;
	margin: 30px 0 0;
	padding: 30px 0 0;
	clear: both;
}
article ul li {
	margin-bottom: 30px;
}



/* Intro */

section.intro,
section.outro {
	text-align: center;
}
section.intro {
	margin-top: calc( 56vw + 60px );
	font-size: 20px;
}
section.intro header {
	margin: 4% auto 60px;
	border: 1px solid #ce3b2b;
	padding: 50px 4%;
	font-size: 24px;
}
section.intro header p {
	color: #ce3b2b;
}

section.intro article {
	padding-top: 1px;
}



/* Internal anchor links */

#page-menu {
	margin: 30px 0 0;
}

#page-menu a {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	margin: 4vw 0 0;
	padding: 60px 4%;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 28px;
	line-height: 1.2em;
	background-size: cover;
	background-position: 50% 50%;
	color: #fff;
	position: relative;
}
#page-menu a:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #152076;
	opacity: .4;
	transition: opacity .35s;
}
#page-menu a:hover:before {
	opacity: .8;
}
#page-menu a span {
	display: block;
	position: relative;
}
#page-menu a .description {
	text-transform: none;
	font-weight: 400;
	font-size: 20px;
	line-height: 1.4;
	margin: 6px 0 0;
}
#page-menu a .icon {
	transform: rotate(90deg);
	width: 38px;
	height: 38px;
	margin: 15px auto 0;
	padding: 2px 7px 19px 12px;
	background: #ce3b2b;
	border-radius: 50%;
}
#page-menu a .icon svg {
	fill: #fff;
	vertical-align: center;
	display: inline-block;
}



/* Video profiles */

.profiles {
	clear: both;
	border-top: 1px dotted #152076;
	padding: 30px 0;
	margin: 30px 0 0;
}
.profiles .profile {
	color: #fff;
	margin-bottom: 4%;
}
.profile .profile-content {
	padding: 4%;
	background: #152076;
	text-align: center;
}
.profile-content p {
	font-size: 15px;
	text-transform: uppercase;
	line-height: 1.3;
}

.profile .screen {
	width: 100%;
	padding: 56.25% 0 0;
	position: relative;
}
.profile .screen iframe {
	position: absolute;
	top: 0;
	height: 100%;
}



/* Commitment teaser */

section.outro {
	background: #2f4f98 url('assets/library-mobile.png') no-repeat center 100%;
	background-color: #4f6fb8;
	background-size: 100% auto;
	color: #fff;
	font-size: 24px;
	position: relative;
}
section.outro article {
	position: relative;
	z-index: 1;
}
section.outro:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 10, 20, .3);
}
section.outro a {
	color: #fff;
}
#content section.outro p,
#colophon p {
	max-width: 1140px;
}
section.outro .button {
	display: block;
	margin: 45px auto 60px;
	border: 1px solid #FFF;
	padding: 50px 4%;
	text-transform: uppercase;
	line-height: 1.2;
	font-weight: 700;
	text-decoration: none;
}
section.outro h2:after,
#colophon h2:after {
	border-color: #fff;
}
section.outro h2 .subtitle {
	font-size: 24px;
	text-transform: none;
	line-height: 1.6;
	margin-top: 30px;
}



/* Footer */

#colophon {
	color: #fff;
	background: #353535;
	text-align: center;
}
#colophon a {
	color: #fff;
}
#colophon a.button {
	display: block;
	background: #ce3b2b;
	color: #fff;
	font-size: 24px;
	margin: 0 auto 30px;
	font-weight: 700;
	padding: 15px;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .3s, color .3s;
}
#colophon a.button:hover {
	background: #fff;
	color: #ce3b2b;
}
#colophon span {
	display: block;
}
#footer-links {
	font-size: 16px;
	margin: 60px 0;
}
.nav-social {
	margin: 0 0 30px;
}
.nav-social a {
	display: inline-block;
	width: 32px;
	height: 32px;
	margin: 0 15px 30px;
}
.nav-social a svg {
	fill: #fff;
	transition: fill .3s;
}
.nav-social a:hover svg {
	fill: #ce3b2b;
}

#colophon article ul {
	border: none;
	padding: 0;
	margin: 0 0 30px;
}
#colophon article ul li {
	padding: 0;
	margin: 0;
}



/* Tablets + */

@media (min-width: 720px) {

	#masthead {
		background: transparent;
		background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
		height: 95px;
	}
	#masthead:before {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
		background: #152076;
		opacity: 0;
		transition: opacity 1s;
		z-index: -1;
	}
	#masthead .banner {
		padding: 15px 0;
	}
	#masthead h1 {
		height: 65px;
		width: 224px;
	}
	#masthead nav a {
		height: 65px;
		width: 100px;
	}
	.scrolling #masthead:before {
		opacity: 1;
	}
	
	video#introvid { 
	    top: 0;
	}
	
	section.intro {
		margin-top: 56vw;
	}
	section.intro header {
		margin: -170px auto 60px;
	}
	section.intro header h2 {
		color: #fff;
		padding-bottom: 46px;
		margin-bottom: 45px;
	}
	section.intro header h2:after {
		display: none;
	}
	
	#page-menu {
		margin: 60px -15px 0;
		
	}
	#page-menu a {
	width: calc( ( 33.3% - 30px ) );
	margin: 0 15px;
	padding: 120px 15px;
	}
	
	article {
		padding: 120px 0;
	}
	article ul {
		margin-top: 60px;
		padding: 60px 0 15px;
	}
	article ul li {
		display: inline-block;
		vertical-align: top;
		width: 50%;
		padding: 0 15px 0 0;
	}
	article ul li:nth-child(2n) {
		padding: 0 0 0 15px;
	}
	
	.profiles {
		padding-top: 60px;
	}
	.profiles .profile {
		display: inline-block;
		vertical-align: top;
		width: calc(50% - 15px);
		margin-bottom: 30px;
	}
	.profiles .profile:nth-of-type(2n) {
		margin-left: 30px;
	}
	.profile .profile-content {
		padding: 50px 30px 58px;
	}
	.profile-content h3 {
		margin-bottom: 5px;
	}
	.profile-content p {
		font-size: 12px;
		line-height: 1.3;
	}
	
	section.outro,
	section.outro h2 .subtitle {
		font-size: 24px;
	}
	section.outro {
		background-image: url('assets/library-large.png');
	}
	section.outro h2 {
		font-size: 48px;
	}
	section.outro .button {
		padding: 60px 15px;
	}
	
	#colophon article ul {
		border: none;
	}
	#colophon article ul li {
		width: auto;
		margin: 0 15px;
	}

}



/* Desktop + */

@media (min-width: 950px) {

	img.alignleft {
		float: left;
		width: 50%;
		margin: 9px 0 60px;
		padding: 0 15px 0 0;
	}
	
	video#introvid { 
    	background-image: none;
	}
	
	#content img.alignleft + .entry-content {
		float: right;
		width: 50%;
		padding: 0 0 0 15px
	}
	
	article ul {
		font-size: 15px;
		line-height: 1.4em;
	}
	article ul li,
	article ul li:nth-child(2n) {
		width: 25%;
		padding: 0 15px;
	}
	article ul li:nth-child(4n+1) {
		padding: 0 15px 0 0;
	}
	article ul li:nth-child(4n) {
		padding: 0 0 0 15px;
	}
	
	section.outro h2 {
		font-size: 60px;
	}

}















