
/* MOBILE-FIRST RESPONSIVE STYLES
	---------------------------------------------------
	Styles below will apply to all devices starting at the smallest screen size or browser width.
	Some of the styles will be overriden further below for a more appropriate presentation dependent on viewport width and content layout. */


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

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

/* HTML5 Block-level Elements - for browsers that don't render them correctly */


article,
aside,
figure,
footer,
header,
menu,
nav,
section {
	display: block;
}

/* Definition of status */


dfn {
	cursor: help;
	border-bottom: 1px dotted #ddd;
	font-style: normal;
}

dt {
	margin-top: 2em;
	padding-top: 2em;
	border-top: 1px dashed #ccc;
	text-align: center;
}

dd {
	margin: .25em 0;
	text-align: center;
}

dd > dfn {
	font-weight: bold;
}

label {
	font-weight: 400;
	line-height: 1.75;
}

h4 {
	color: #d21034;
}

.intro > h2 {
	font-size: 2em;
	font-family: serif;
	margin-bottom: .5em;
	font-weight: normal;
}

.h3 {
	line-height: 3;
	font-size: 1.3em;
}

p {
	hyphens: auto;
	color: #444;
	margin: 0 0 1.5em;
	word-wrap: break-word;
}

.btn > .icon {
	display: inline-block;
	top: 2px;
	position: relative;
}

td,
th {
	vertical-align: middle;
}

.status {
	border-collapse: collapse;
	table-layout: fixed;
	border: 15px solid #eee;
}

.status th {
	background-color: #eee;
}

.status td {
	border: 15px solid #eee;
}

.change-enrollment td {
	text-align: right;
	background-color: #eee;
}

.action {
	text-align: center;
}

.form-horizontal {
	margin: 3em 0;
}

.form-horizontal label {
	float: left;
	width: 33%;
}

.form-horizontal-label-right label {
	text-align: right;
	margin-right: 2em;
}

/* continue banner color full width of container past the banner image */


.banner {
	background-color: #d21034;
	position: relative;
}

/* logout button */


.nav-system {
	position: static;
}

/* provice menu toggle button button for small viewports */


.menu-button {
	position: absolute; /* TODO : try to position proportionately to height of container */
	right: 1%;
	top: 1%;
	background: transparent; /* reset button styles */
	border: 0; /* reset button styles */
	padding: .333em .75em .5em;
}

/* 3 bar menu icon made from 3 spans */


.menu-button__bar {
	display: block;
	width: 1.5em;
	height: 2px;
	margin-top: 3px;
	background-color: #fff;
}

/* show menu | height must be in absolute measurement otherwise transition won't work | dynamically set with JavaScript */


.open {
	height: 12.5em;
}

.content {
	margin: 1em;
}

/* hide tooltips on small screen | affects both desktop and mobile, but is targetted toward touch devices because of hover issues */


.tooltip {
	visibility: hidden;
}

/* required item status icon */


.item-status {
	border: 2px solid #ccc;
	padding: .25em;
	background-color: #eee;
	border-radius: .25em;
}

/* call to action buttons container */


.c2a {
	text-align: center;
	margin-top: 1em;
}

/* accept / decline call to action buttons | inherit some styles from .btn-primary */


.btn--accept,
.btn--decline {
	padding: .75em 2em 1.25em;
	font-weight: 400;
	-webkit-box-shadow: 0 -6px 0 rgba(0, 0, 0, 0.1) inset, 0 3px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 -6px 0 rgba(0, 0, 0, 0.1) inset, 0 3px 3px rgba(0, 0, 0, 0.2);
	box-shadow: 0 -6px 0 rgba(0, 0, 0, 0.1) inset, 0 3px 3px rgba(0, 0, 0, 0.2);
	border-radius: 10em;
	text-transform: none;
}

/* accept button */


.btn--accept,
.btn--accept:visited,
.btn--accept--small,
.btn--accept--small:visited {
	background-color: #0a0;
	margin-bottom: 2em;
}

.btn--accept:hover,
.btn--accept:active,
.btn--accept:focus,
.btn--accept--small:hover,
.btn--accept--small:active,
.btn--accept--small:focus {
	background-color: #080;
}

.btn--accept:hover,
.btn--accept:active,
.btn--accept:focus,
.btn--decline:hover,
.btn--decline:active,
.btn--decline:focus {
	-webkit-box-shadow: 0 -6px 0 rgba(0, 0, 0, 0.1) inset, 0 3px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 -6px 0 rgba(0, 0, 0, 0.1) inset, 0 3px 3px rgba(0, 0, 0, 0.2);
	box-shadow: 0 -6px 0 rgba(0, 0, 0, 0.1) inset, 0 3px 3px rgba(0, 0, 0, 0.2);
}

/* button active state - orange glow highlight */


.btn--accept:active,
.btn--decline:active {
	color: rgba(255,255,255,.5);
	box-shadow: 0 0 2px 1px #C80, 0 -3px 0 rgba(0, 0, 0, 0.1) inset, 0 2px 1px rgba(0, 0, 0, 0.35);
	outline: 0;
}

/* Accept / Decline text */


.btn--accept > b,
.btn--decline > b {
	font-size: 2em;
	font-family: serif;
	letter-spacing: .05em;
	font-weight: 400;
	text-shadow: 0 -1px 1px rgba(0,0,0,.5);
}

/* section headings */


.h3 {
//margin: 0 -1em;
	text-align: center;
	padding-left: 1em;
	color: #fff;
	background-color: #000;
}

.h3 strong {
	font-weight: 400;
	text-transform: capitalize;
}

.intro > h3 {
	line-height: 1;
	padding-bottom: 1em;
}

.h--announcements {
	background-color: #d21034;
	text-transform: uppercase;
}

/* section containers */


.panel {
	background-color: #fff;
	padding: 1em 0;
	overflow: auto;
	margin-bottom: 1em;
}

.panel > ul {
	padding: 0;
	list-style: none;
}

.panel li {
	line-height: 2;
}

.panel :last-child {
	margin-bottom: 0;
}

.panel-announcements {
	margin: 0;
	padding: 1em;
	background-color: #F6F7F2; /* #ffd */
}

.footer {
	margin: 0;
}

.footer > p {
	display: none;
}

.link-logo {
	left: 10px;
}

/* trigger auto scrolling back to the top of page */


.back-top {
	position: fixed;
	right: 10px;
	bottom: 15px;
	text-transform: uppercase;
	background-color: #ddd;
	width: 3em;
	height: 3em;
	line-height: 3em;
	text-decoration: none;
	color: #000;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.5s;
	-moz-transition: opacity 0.5s;
	-ms-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

/* use JavaScript to add this class to .back-top to show the link once the page has been scrolled a bit */


.back-top--visible {
	opacity: 1;
	visibility: visible;
}

.back-top > .arrow {
	border-width: 0 .5em 1em;
}

.accordion-title {
	cursor: pointer;
	background-color: #ddd;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #fff;
	text-align: left;
	color: #000;
	text-indent: 1%;
}

.accordion-title:hover,
.accordion-title:focus {
	color: #d21034;
}

.accordion-title span {
	font-family: monospace, monospace;
}

.accordion-title:hover:after {
	content: "show / hide";
	color: rgba(0,0,0,.75);
	font-family: sans-serif;
	font-size: 10px;
	vertical-align: middle;
	text-transform: uppercase;
	font-weight: 400;
	margin-left: 1em;
}

.accordion-content {
	background-color: #f9f9f9;
	border: 1px solid #eee;
	padding-bottom: 2em;
	margin-bottom: 0;
}

/* SMALL SCREEN ONLY
	--------------------------------------------------- */


.nav-main,
.nav-system,
.link-logo,
.status thead {
	display: none;
}

.status td > div {
	display: block;
	width: 100%; /* override inline styles */
	padding: .5em 0;
	text-align: center;
}

.footer {
	border: 0;
}

.btn--decline,
.btn--decline:visited {
	background-color: #d21034;
	color: #fff;
}

table {
	background: none repeat scroll 0 0 #fff;
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	margin: 0 0 1.5rem;
}

.lined tbody td,
.lined tbody th {
	border-top: 1px solid #eee;
}

caption,
th,
td {
	padding: 0.5em 0.75em;
	text-align: left;
}

.w-1of1 {
	width: 100%;
}
.tooltip, [title] {
cursor: pointer;
}

abbr[title] {
	border-bottom: 1px dotted #ccc;
}

a[title] {
	cursor: pointer;
}

.popup {
	left: 17em;
	top: auto;
	margin-top: -3em;
}

/* tooltip arrows */


.popup:before,
.popup:after {
	content: " ";
	border: solid;
	border-color: #fff transparent;
	border-width: 1em 1em 0 1em; /* 12px 12px 0 12px */
	display: block;
	position: absolute;
	z-index: 99;
	left: 50%; /* 1em */
	margin-left: -1em;
	top: 100%;
}

/* move arrow to the right */


.popup-r:before,
.popup-r:after {
	top: 1.25em;
	right: auto;
	bottom: auto;
	left: 0;
	border-color: transparent #ccc transparent transparent;
	border-width: 1em 1em 1em 0; /* 6px 6px 0 6px */
}

.popup-r:after {
	border-right-color: #fff;
	margin-top: 0;
	margin-right: 0;
	left: 1px;
}

/* move arrow above */


.popup-b:before,
.popup-b:after {
	border-color: transparent transparent #ccc transparent;
	border-width: 0 1em 1em; /* 6px 6px 0 6px */
	top: auto;
	bottom: 100%;
}

.popup-b:after {
	border-bottom-color: #fff;
	margin-top: 0;
	margin-bottom: -2px;
}

.pad-s {
	padding: 0.75rem;
}

.status .box-help {
	background-color: #fff;
	border: 1px solid rgb(204, 204, 204);
	border-radius: 3px;
	position: absolute;
	width: 300px;
	z-index: 999;
	margin: 0;
}

.status .box-help div {
	display: block;
	width: auto;
}

.box-help-top {
	border-bottom: 1px solid #ddd;
	padding-bottom: .5em;
	margin-bottom: .5em;
}

.status .box-help .button-close {
	cursor: pointer;
	height: 15px;
	width: 15px;
	position: relative;
	z-index: 1001;
	background: url(http://bartgrebowiec.com/spn/pi/img/icons1.png) no-repeat;
	background-position: 0 50%;
	overflow: hidden;
}

.status .status-indicator {
	position: relative;
	width: auto;
}

.status-indicator > a {
	color: #000;
	text-decoration: none;
	border-bottom: 1px dotted #ddd;
	cursor: help;
}

.program-message {
	font-size: 12px;
	width: 100%;
	padding: 1%;
	color: #555;
	border-top: 1px dashed #ddd;
}

.panel {
	overflow: visible;
}

.box-help-main {
	max-height: 300px;
	overflow-y: auto;
}

.tooltip,
.tooltip-r,
.tooltip-b {
	color: #fff;
	font-size: 11px; /* 12px */
	line-height: 1.3em; /* 16px */
	text-align: left;
	background-color: #444;
	border-radius: 0.25em; /* 4px */
	padding: 0.5em; /* 8px */
	max-width: 15em;
	display: block;
	position: absolute;
	padding: .75em;
	z-index: 1001;
	box-shadow: 0 0 1px 1px #fff;
}

/* tooltip arrows */


.tooltip:before,
.tooltip:after,
.tooltip-r:before,
.tooltip-r:after,
.tooltip-b:before,
.tooltip-b:after {
	content: " ";
	border: solid;
	border-color: #fff transparent;
	border-width: 1em 1em 0 1em; /* 12px 12px 0 12px */
	display: block;
	position: absolute;
	z-index: 99;
	left: 50%; /* 1em */
	margin-left: -1em;
	top: 100%;
}

/* arrow above border arrow */


.tooltip:after {
	border-color: #444 transparent;
	margin-top: -2px;
}

/* move arrow above */


.tooltip-b:before,
.tooltip-b:after {
	border-color: transparent transparent #fff transparent;
	border-width: 0 1em 1em; /* 6px 6px 0 6px */
	top: auto;
	bottom: 100%;
}

.tooltip-b:after {
	border-bottom-color: #444;
	margin-top: 0;
	margin-bottom: -2px;
}

.btn-close,
.nav-utility {
	display: none;
}

.applicant-info > a {
	white-space: nowrap;
}

.h-announcements {
	background-color: orange;
	margin-bottom: 1em;
}

#main {
	padding: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

#logo {
	line-height: 9em;
	position: static;
}

.applicant-info {
	border-bottom: 1px solid #ddd;
	padding: 1em 0;
}

body {
	background-color: #fff;
}


/* 320+
	---------------------------------------------------
	Proportional (EM-based) Media Queries - http://blog.cloudfour.com/the-ems-have-it-proportional-media-queries-ftw/
	Find pixel breakpoint and divide it by base font size */
@media all and (min-width: 320px) { /* 320 / 16px = 20em */

body {
	background-color: #eee;
}

#main {
	padding: 0 1em;
	-webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
	-moz-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
	box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
}
}





/* 480+
	--------------------------------------------------- */
	@media only screen and (min-width:480px) {

.btn--accept,
 .btn--accept:visited,
 .btn--accept--small,
 .btn--accept--small:visited {
	margin-bottom: 0;
}

.btn-close {
	float: right;
	position: relative;
	right: 10px;
	top: .5em;
	margin: 0;
	display: block;
}

.status thead {
	display: table-header-group;
}

.status td,
 .status th {
	font-size: 0;
	vertical-align: middle;
}

.status th > div,
 .status td > div {
	display: inline-block;
	text-align: left;
	width: 33%;
	font-size: 12px;
	vertical-align: middle;
	padding: 1%;
}

.status th > div {
	text-transform: uppercase;
	font-weight: normal;
	font-size: 11px;
	padding: 0 1%;
}

.status .status-schoolName {
	width: 50%;
}

.status .status-semester {
	width: 20%;
}

.status .status-description {
	width: 30%;
}

.panel-announcements {
	width: 50%;
	margin-left: 5%;
	margin-bottom: 0;
	border: 1px dashed orange;
}

#main {
	padding: 0 1.5em;
}
}





/* 768+
	--------------------------------------------------- */
	@media only screen and (min-width:768px) {

html {
	font-size: 100%;
}

#main {
	padding: 0 3em;
}

.nav-utility {
	display: block;
}

dl {
	background-color: #f9f9f9;
	overflow: hidden;
	margin: 0;
	border: 1em solid #eee;
	border-top: 0;
}

dt,
 dd {
	float: left;
	text-align: center;
	border-top: 1em solid #eee; /* 1px dashed #ccc; */
	width: 25%;
	padding: 1em 1%;
	margin: 0;
}

.term {
	width: 10%;
}

dt {
	width: 40%;
	clear: left;
	text-align: left;
}

.vcenter {
	line-height: 3;
}

.menu-button {
	display: none;
}

.nav-system {
	position: absolute;
	background-color: transparent;
}

.nav-main {
	display: block;
	padding: .5em 0 .5em 25px;
	background-color: transparent;
	float: none;
	overflow: hidden;
	position: absolute;
	bottom: 0;
	right: 35px;
	width: auto;
}

.nav-system li > span > a {
	float: none;
	padding: 0;
	border-radius: 0;
	border-bottom: 1px dashed rgba(255,255,255,.35);
}

.nav-main span {
	color: #fff;
}

.nav-system li > span > a:hover,
 .nav-system li > span > a:focus {
	border-color: #fff;
	background-color: transparent;
}

.nav-main li > a {
	background-color: transparent;
	border-top: 0;
	padding: 0;
	white-space: nowrap;
}

.nav-main a:hover,
 .nav-main a:focus {
	padding: 0;
	border: 0;
	background-color: transparent;
}

.nav-main a span {
	background-color: transparent;
	font-family: Verdana, sans-serif;
	padding-top: 0;
}

.nav-main a:hover span,
 .nav-main a:focus span,
 .nav-main a:hover,
 .nav-main a:focus {
}

.nav-main a .icon {
	display: inline-block;
	display: block;
	width: 16px;
	height: 16px;
	margin: 0 auto;
}

.nav-main a:hover .icon,
 .nav-main a:focus .icon {
}

.intro > h3 {
	text-transform: none;
	font-weight: bold;
}

.intro > h4,
 .intro > p {
	padding: 0;
}

.applicant-info {
	border-bottom: 1px solid #ddd;
	padding: 1em 0;
	margin-bottom: 1em;
	text-align: center;
}

.panel {
	padding: 1em 0;
	margin-bottom: 1em;
}

.tooltip {
	visibility: visible;
}

.h3 {
	margin: 0;
	padding: 0;
}

.panel-announcements {
	margin-bottom: 0;
	margin-right: 0;
	padding: 2em;
}

.nav-main {
	margin-bottom: 0;
}

#logo {
	position: absolute;
	right: 20px;
	top: 0;
}

.status th div,
 .status td div {
	display: inline-block;
	width: 25%;
}

.status th div {
	font-size: 12px;
	font-weight: 400;
	color: #777;
	text-transform: uppercase;
}

.status th,
 .status td {
	font-size: 0;
}

.footer {
	text-align: center;
	padding: 3em .5em;
	margin-top: 3em;
}

.footer > p {
	display: block;
	margin: 0 0 .5em;
}

.back-top {
	position: fixed;
	right: 1.5em;
	bottom: 1.5em;
}

.back-top b:after {
	border: 3px solid;
	bottom: 14px;
	content: "";
	display: block;
	font-size: 0;
	height: 5px;
	left: 21px;
	position: absolute;
	width: 0;
}

.link-logo {
	position: static;
}
}





/* 960+
	--------------------------------------------------- */
	@media only screen and (min-width:960px) {

.content {
	margin: 0 auto;
}

.status td > div,
.program-message {
	padding: 2%;
}

.status th > div {
	padding: 0 2%;
}
}


/* HIGH RESOLUTION DISPLAYS
	--------------------------------------------------- */
	@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
}

/* Conditions of enrollment status3a3.html, status5accept.html */

.conditions {
	background-color: #f9f9f9;
	margin-bottom: 2em;
	padding: 1em 2em 2em;
	border: 1px solid #eee;
	overflow-y: scroll;
	height: 15em;
	font-size: 13px;
	color: #555;
}

.conditions ul li {
	margin-bottom: 2em;
	line-height: 1.5;
}



/* PRINT */
	@media print {

.conditions {
	overflow-y: auto;
	overflow: visible;
	height: auto;
}

.hide-print {
	display: none !important;
	visibility: hidden;
}
}
