@import url('type.css');

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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

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

img {
	max-width: 100%;
}

/******************** end reset ********************/

/* general */

html, body {
	height: 100%;
}

html {
	position: relative;
    min-height: 100%;
}

body {
	font-family: 'korolevlight', sans-serif;
	line-height: 1.3;
	background: #1D2425;
	color: #fff;
	margin: 0 0 -50px;
	letter-spacing: .2px;
}

.width {
	width: 80%;
	margin: 0 auto;
	max-width: 1200px;
}

.clearfix {
    margin-top: 20px;
    clear: both;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    line-height: 0;
    visibility: hidden;
}


/* header stuff */

header {
	height: 150px;
	background: url("../assets/graphics/headerbg.png"), #AB200C;
	background-size: cover;
	position: relative;
	margin-bottom: 50px;
	box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.64);
}

header div#title {
	float: left;
	margin-top: 40px;
}

header div#title div.logo {
	float: left;
	height: 58px;
	width: 79px;
}

header div#title div.text {
	float: left;
	margin-top: 22px;
	margin-left: 5px;
}

header div#title div.text p {
	text-transform: uppercase;
	font-family: 'korolevlight';
	letter-spacing: 0;
	font-size: 36px;
}

header div#title h1 {
	position: absolute;
	margin-left: -9999em;
}

header div#title p span.em {
	font-family: 'korolevbold';
	font-style: normal;
	letter-spacing: .7px;
}

header div#logOut {
	padding-top: 15px;	
	float: right;
}

header div#logOut p a {
	font-family: 'korolevmedium_italic';
	text-decoration: none;
}

/*
header div#userInfo div.text {
	float: left;
}

header div#userInfo div.profilePic {
	float: left;
	margin-left: 5px;
}

header div#userInfo div.profilePic img {
	border: 1px solid #1D2425;
	width: 40px;
	height: 40px;
}
*/


/* navigation stuff */

nav {
	position: absolute;
	top: 110px;
	width: 80%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}

nav ul li {
	width: 18.5%;
	margin-right: 1.875%;
	float: left;
	text-align: center;
	background: #000;
}

nav ul li:last-child {
	margin-right: 0;
}


#degreePage .degreePage, #overviewPage .overviewPage, #instructorsPage .instructorsPage, #portfolioPage .portfolioPage, #accountPage .accountPage {
	background: #1D2425;
}

#degreePage .degreePage a, #overviewPage .overviewPage a, #instructorsPage .instructorsPage a, #portfolioPage .portfolioPage a, #accountPage .accountPage a {
	color: #1CACD3;
}

nav ul li a {
	height: 40px;
	line-height: 40px;
	color: #E2BC23;
	font-family: 'korolevmedium';
	text-decoration: none;
	display: block;
}

nav ul li a:hover {
	color: #fff;
}

nav a#menuButton {
	background: url("../assets/graphics/hamburger.png") 8px center no-repeat, #000;
	line-height: 40px;
	padding-left: 42px;
	color: #fff;
	height: 40px;
	display: block;
	width: 150px;
	display: none;
}

nav a#menuButton:hover {
	cursor: pointer;
}

/* just type */

h1 {
	font-family: 'korolevbold';
	font-size: 28px;
	margin-top: 15px;
	margin-bottom: 10px;
	line-height: 32px;
}

h2 {
	color: #ded2cd;
	font-size: 18px;
	text-transform: uppercase;
}

h3 {
	font-family: 'korolevbold';
	margin-top: 10px;
}

em {
	font-family: 'korolevlight_italic';
}

div#title a {
	color: #fff;
}

a {
	color: #E2BC23;
	font-family: 'korolevmedium';
	text-decoration: none;	
}

a:hover {
	color: #fff;
}

.removerow {
	display: inline-block;
	background: none;
	display: none;
	text-align: left;
	font-family: 'korolevbold_italic';
	color: #AB200C;
	font-size: 12px;
	padding: none;
	margin-top: 5px;
}

fieldset.row + fieldset.row .removerow {
	display:inline-block;
}

p.errorMessage {
	position: absolute;
	z-index: 1;
	font-family: 'korolevbold_italic';
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
}


/* main content layout */

section#content {
	min-height: 100%;
	margin: 0 auto -50px;
}

div.oneQuarter {
	float: left;
	width: 23.5%;
	margin-right: 2%;
	margin-top: 50px;
}

section div.oneQuarter:last-child {
	margin-right: 0;
}

div.oneHalf {
	float: left;
	width: 48%;
	margin-right: 4%;
	margin-bottom: 15px;
}

div.oneHalf div.oneHalf {
	margin-right: 0;
}

div.oneHalf div.oneHalf div.oneHalf {
	margin-right: 4%;
}

div.oneHalf div.oneHalf div.oneHalf:last-child {
	margin-right: 0;
}

div.oneHalf hgroup {
	width: 100%;
}

div.oneHalf:nth-child(2) {
	margin-right: 0;
}

div.oneHalf.left {
	margin-right: 4%;
}

div.oneHalf.right {
	margin-right: 0;
}

div.oneHalf div.oneHalf:first-child {
	margin-right: 4%;
}

div.oneHalf div.oneHalf:last-child {
	margin-right: 0;
}

div.oneHalf img {
	width: 80%;
	border: 1px solid #fff;
}

/* form */

form label {
	display: block;
	font-size: 16px;
	margin-top: 10px;
	font-family: 'korolevbold';
}

form input {
	border: none;
	height: 20px;
	background: #6C7677;
	width: 100%;
}

form input[type="submit"] {
	margin: 30px auto;
	font-family: 'korolevmedium';
	color: #fff;
	background: #E2BC23;
	padding: 5px 10px;
	font-size: 16px;
	height: 30px;
	overflow: hidden;
	clear: both;
	width: auto;
	display: block;
}

form input[type="submit"]:hover {
	background: #1CACD3;
	cursor: pointer;
}

form input[type="file"] {
	font-family: 'korolevlight';
}

form input#postal {
	width: 84%;
}

form input#filePath {
	background: none;
}

form select {
	width: 100%;
}

form textarea {
	width: 100%;
	height: 50px;
	background: #6C7677;
	border: none;
	color: #fff;
	letter-spacing: .5px;
	resize: vertical;
	font-family: 'korolev';
	padding: 5px;
}

input.addrow {
	margin-top: 10px;
	background: none;
	width: 100%;
	text-align: left;
    padding: 0;
    font-family: 'Korolev', sans-serif;
    color: #fff;
    font-size: 12px;
}

fieldset.row {
	padding-bottom: 20px;
	border-top: 1px solid #fff;
}

fieldset.row:first-child {
	border-top: none;
}

fieldset.row:last-child {
	border-bottom: 1px solid #fff;
	padding-bottom: 5px;
	margin-bottom: 20px;
	padding-bottom: 20px;
}


/* footer */

footer {
	clear: both;
	height: 72px;
	background: url("../assets/graphics/footerbg.png");
	background-size: cover;
	margin-top: 100px;
	position: relative;
	bottom: 0;
    width: 100%;
}

footer p {
	position: absolute;
    top: -25px;
    left: 50%;
    font-family: 'korolevmedium';
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}


/* responsive tables */

.stacktable.large-only { display: table; }
.stacktable.small-only { display: none; }
.stacktable { width: 100%; }
.st-head-row.st-head-row-main { font-size: 1.5em; padding-top: 0 }
.st-key { width: 40%; padding-right: 2%; }
.st-val { width: 58%; }

table tr {
	border-bottom: 1px solid #fff;
	height: 30px;
}

table tr:last-child {
	border-bottom: none;
}

table tr td {
	vertical-align: middle;
}

table tr th {
	vertical-align: middle;
	text-align: left;
	padding-bottom: 10px;
}



/* collapsible panels */

div.fold {
	clear: both;
	margin-top: 10px;
}

div.fold span.arrow {
	background: url("../assets/graphics/arrowright.svg") no-repeat;
	width: 10px;
	height: 14px;
    display: block;
    float: left;
	margin-top: 5px;
    margin-right: 5px;
}

.animateCollapse {
   max-height: 2500px !important;
   display: block !important;
   transition: all .5s;
}

div.expandableContent {
	max-height: 0;
    transition: all .5s;
    overflow: hidden;
	margin-left: 16px;
}

div.fold > div.expandableTitle {
	display: block;
	cursor: pointer;
}

div.fold > div.expandableTitle:hover {
	color: #fff;
}

div.fold div.expandableTitle span.arrow {
	background: url("../assets/graphics/arrowright.svg") no-repeat;
	cursor: pointer;
}

div.fold div.expandableTitle.open span.arrow {
	background: url("../assets/graphics/arrowdown.svg") no-repeat;
}


/********** misc *********/

	
	

@media screen and (min-width: 601px) {
	
	ul {
		display: block !important;
	}

}

@media screen and (max-width: 768px) {

	header div#title div.text p {
		font-size: 28px;
	}
	
	header div#title div.text {
		line-height: 28px;
		margin-top: 34px;
	}

	header div#title div.text span.pageTitle {
		display: block;
	}

	section hgroup {
		width: 100%;
	}

	div.border {
		border-right: none;
	}

	div.oneQuarter {
		float: left;
		width: 48%;
		margin-right: 2%;
	}

	div.oneHalf {
		width: 100%;
		float: none;
		margin-right: 0;
		margin-bottom: 0;
	}
	
	div.oneHalf.right {
		padding-top: 20px;
		clear: both;
	}

	div.oneHalf div.oneHalf {
		width: 48%;
		float: left;
		margin-right: 2%;
	}
	
	div.oneHalf div.oneHalf:last-child {
		margin-right: 0;
	}
	
	.stacktable.large-only { display: none; }
	.stacktable.small-only { display: table; }

	.st-head-row {
		padding-bottom: 0;
	}
		
	table tr {
		border-bottom: none;
		height: 10px;
	}
	
	table tr th {
		font-family: 'korolevbold';
	}
	
	table tr th:first-child {
		margin-top: 10px;
	}

	table tr td {
		vertical-align: top;
	}

	table tr td:last-child {
	    padding-bottom: 10px;
	}
		
	table tr td h3 {
		font-family: 'korolevlight';
		margin-top: 5px;
		vertical-align: middle;
	}
	
	table tr th.st-head-row {
		border-top: 1px solid #fff;
		margin-top: 10px;
	}
	
	table tr th.st-head-row:first-child {
		padding-top: 7px;
	}
		
	table tr th.st-head-row-main {
		display: none;
	}
	
}

@media screen and (max-width: 600px) {
			
	nav#mobileNav {
		display: block;
	}
	
	nav ul li {
		float: none;
		width: 80%;
	}
	
	nav ul li a {
		width: 100%;
		text-align: left;
		padding-left: 10px;
		display: block;
	}
	
	nav ul li a:hover, nav a#menuButton:hover {
		cursor: pointer;
	}
	
	nav a#menuButton {
		display: block;
	}
	
	#degreePage li.degreePage, #overviewPage li.overviewPage, #instructorsPage li.instructorsPage, #portfolioPage li.portfolioPage, #accountPage li.accountPage {
		background: #000;
	}

}


@media screen and (max-width: 420px) {
	
	div.oneHalf div.oneHalf {
		width: 100%;
		float: none;
		margin-right: 0;
		margin-top: 20px;
	}
		
	section hgroup {
		margin-bottom: 20px;
	}
	
	form input {
		width: 100%;
	}
	
	form input#zip {
		width: 100%;
	}
	
	form select {
		width: 100%;
	}
	
	footer {
		margin-top: 20px;
	}
	
}

@media screen and (max-width: 370px) {
	
	header div#title div.text {
	    margin-top: -53px;
	    margin-left: 90px;
   	}
	
}

@media screen and (max-width: 330px) {
	
	header div#logOut {
		top: 5px;
		right: 25px;
		position: absolute;
	}
	
}