@charset "UTF-8";

/* Fonts */
@import url(https://fonts.googleapis.com/css?family=Ubuntu:400,700,700italic,300,400italic);

/* Global styles -----------------------------------------------------------------------------------------------------------*/

/* limited reset */
html, body, div, section, article, aside, header, hgroup, footer, nav, h1, h2, h3, h4, h5, h6, p, blockquote, address, time, span, em, strong, img, ol, ul, li, figure, canvas, video, th, td, tr {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align:baseline;
	font: inherit;
}

/* html5 display rule */
address, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, nav, menu, nav, section, summary {
	display: block;
}
/* micro-clearfix by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/ */
/* For modern browsers */
.cf:before, .cf:after {
	content:"";
	display:table;
}
.cf:after {
	clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom:1;
}
a {
	text-decoration: none;
	color: #667F6A;
}
a:hover {
	color: #7B798F;
	border-bottom: 1px solid #7B798F;
}
a img {
	border: none;
	outline: 0;
}
html {
	background: #fff;
}
body {
	font-family: 'Ubuntu', Arial, Helvetica, sans-serif;
	line-height: 1.5;
	background: #fff;
	color: rgb(76, 67, 65);
	font-weight:normal;
	font-style:normal;
}
#mainNav h2, #mainNav #menuToggle {
	display: none;
}
nav ul {
	list-style: none;
}

/*------------------------------------------------*/

#page { max-width: 1280px; margin: 0 auto; position:relative; }

h1 { margin: 0 0 2em 0; font-size: 1.4em; font-weight: 700; line-height: 1.5em; }
h2 { margin: 0 0 1.25em 0; font-size: 1.2em; font-weight: 700; line-height: 1.2em; }
h3 { margin: 0 0 .5em 0; font-size: 1em; }
h4 { margin: 0 0 1.5em 0; font-size: .8em; font-weight: 700; }

/* button */
a.btn, a.btn:visited { font-size: 1.2em; text-decoration: none; color: #7a1501; border: 1px solid #7a1501; text-align: center; padding: 4px 15px; }
a.btn { transition: background-color .5s; }
a.btn:hover { background-color: rgba(0,0,0,.3); }

div.ctr-btn {
	text-align: center;
	margin: 20px auto;
}


/* top logo/nav menu */

#logoNavBkgrd {
	background-color: rgba(0,0,0,.75);
	position:absolute;
	top:0; left:0;
	width:100%;
	height:60px;
}
#logoNavFlexContainer {
	display:flex;
	flex:1 1 0;
	position:absolute;
	top:0; left:0;
	width:100%;
	min-width:250px;
}
#navFlexContainer {
	display:flex;
	margin-right:2em;
	margin-top:18px;
	align-items:baseline;
	flex:3 1 0;
	align-content:flex-end;
}
#logoFlexContainer {
	display:flex;
	align-items:center;
	margin-left:1em;
	flex: 1 0 0;
}
img {
	display:block;
	border:0;
	width:100%;
	height:auto;
}

/*------------------------------------------------*/

/*header styles*/
header {
	background: rgb(100, 98, 102);
	width: 100%;
	padding-top: 1px;
	overflow: hidden;
	margin-bottom: 1.5em;
}

header h1 {
	color: #fff;
	font-weight: bold;
	text-transform: uppercase;
}

header a {
	text-decoration: none;
	border: none;
	color: white;
}
header a:hover {
	border: none;
	color: white;
}

/* navigation */
#mainNav {
	margin-bottom: .5em;
	width: 100%;
}
#mainNav li {
	float: right;
}
#mainNav a, #mainNav h3 {
	display: block;
	color: rgb(255, 255, 255);
	border: none;
}
#mainNav a:hover {
	color: rgb(200, 200, 200);
}
#mainNav a.current {
	color: rgb(200, 200, 200);
	cursor: default;
}

/* banner */
#bannerFlexContainer {
	display: flex;
	width:100%;
	height:auto;
}
#purposeFlexContainer,  #imageFlexContainer{
	display:flex;
	flex: 1 1 0;
	background-color:#fff;
	height:auto;
	max-width:100%;
	min-width:200px;
	justify-content:center;
}

/* Section All */
section { padding: 0 30px; }
section::after { content:''; display: block; clear: both; }


/* Section Story */
section.story { margin-top: 40px; margin-bottom: 30px; padding: 0; }
section.story article {
	width: 60%;
	margin: 0 auto;
}
section.story article h2 { text-align: center; }
section.story article p { font-size: 1.2em; line-height: 1.8em; text-align: justify; }

/* Section Testimonial */
section.testimonials { width:60%; max-width:48em; margin: 6em auto 4em; padding: 0; }
section.testimonials h2 { text-align: center; }
section.testimonials .testimonial 
{ 
	width:100%;
	margin-bottom: 2em;
	background-color: #f4eee4;
	padding: 2em; 
	border:2px solid #7a1600;
	border-radius:5px;
	min-width:350px;
	box-sizing: border-box;
	color: #7a1600;
}
section.testimonials p.testimonialAuthor{ margin: 0.75em 0 0 15em; }

/* Section Focus */
section.focus { margin: 30px; padding: 0; }
section.focus aside { width: 33%; float: left; text-align: center; }

section.focus .content { margin:15px; background: no-repeat center top; background-size: 75px 75px; padding-top: 85px; }

section.focus h3 a { color: #000; text-decoration: none; }
section.focus h3 a:hover { text-decoration: underline; }

section.focus aside .content.trimester { background-image: url(../img/icon_star.svg); }
section.focus aside .content.students { background-image: url(../img/icon_marker.svg); }
section.focus aside .content.calendar { background-image: url(../img/icon_gear.svg); }


/* Footer */
footer {
	display: flex;
	justify-content:space-between;
	font-size: .8em;
	margin-top: 40px;
	color:#fff; 
	background-color: #7a1501;
	width: 100%
}
footer p { margin-bottom: 4px; padding: 0; line-height: 18px; }

div.footer-container { width:25%; float:left; padding: 12px 0 12px 24px; }
div.footer-contact { display:flex; }
div.footer-contact-item1, div.footer-contact-item2 {
	display:flex;
	min-width:175px;
	padding:10px 0 10px 36px;
	line-height:1.5em;
}
div.footer-copyright {
	display:flex;
	align-items:flex-end;
	padding-right: 36px;
	padding-bottom:10px;
}
p.contact { line-height:22px; }
p.copyright { text-align: right; }

/* mobile styles */
@media only screen and (max-width:724px) {

body {
	margin: 0 auto;
	min-width: 320px;
	max-width: 600px;
}

/* header */
header { 
	display:flex;
	justify-content:center;
	max-width:600px;
}
header h2 { display: none; }
#logoNavBkgrd {
	max-width:600px;
	height:60px;
}
#logoNavFlexContainer {
	/*display:flex;*/
	position:absolute;
	top:0; left:0;
	width:100%;
}
#logo-nav-container {
	position:absolute;
	top:6px; left:0;
	width:100%;
}
#bannerFlexContainer {
	flex-direction:column;
}
#logoFlexContainer {
	display:flex;
	align-items:flex-start;
	min-width:150px;
	margin-left:1em;
	margin-top:6px;
	flex: 2 1 0;
}

/* navigation */
#navFlexContainer {
	display:flex;
	margin-right:2em;
	margin-top:18px;
	align-items:center;
	flex:1 1 0;
	min-width:200px;
	align-content:flex-end;
}
#mainNav {
	margin: 32px 0 0;
	margin-bottom: 1em;
	overflow: hidden;
	background:black;
	
}
#mainNav li {
	margin: 0;
	float: none;
	position: relative;
}
.topMenu {
	max-height: 0;
	visibility: hidden;
}
.topMenu.expand {
	max-height: 900em;
	visibility: visible;
}
#mainNav a, #mainNav h3 {
	font-size: .9em;
	text-align: left;
	color: white;	
	display: block;
	margin-bottom: 1px;
	padding-left: 1em;
	line-height: 2em;
	text-transform: uppercase;
	cursor: pointer;
}
#mainNav a:hover { color: white; }
#mainNav a.current { color: rgb(237, 228, 214); }
#mainNav span.indicator {
	position: absolute;
	right: 1em;
}

/* dropdown menu */
#mainNav ul.submenu {
	float: none;
	width: auto;
	height: auto;
	max-height: 0;
	-moz-transition:max-height 0.5s ease;
	-webkit-transition:max-height 0.5s ease;
	-o-transition:max-height 0.5s ease;
	transition:max-height 0.5s ease;
	overflow: hidden;
}
#mainNav ul.submenu.expand { max-height: 20em; }
#mainNav ul.submenu li a {
	padding: .2em 1em;
	white-space: nowrap;
	color: white;
	text-align: left;
	font-size: .9em;
	padding-left: 2em;
	background: #000;
}
#mainNav .menuToggle {
	display: block;
	z-index: 2;
	width: 32px; height: 32px;
	position: absolute; top: 17px; left:85%; margin-left: -16px;
}
.menuToggle img {
	display: block;
	width: 32px; height: 32px;
}
.menuToggle a {
	text-align: center;
	padding: 0;
}
h2 { margin: 0 0 .9em 0; font-size: 1em; line-height: 1.2em; }
#purposeFlexContainer, #imageFlexContainer{
	flex: 1 0;
}

/* Section - Story */
section.story article {
	width: 90%;
	margin: 0 auto;
}

/* Section - Testimonials */
section.testimonials { width:90%; max-width:48em; margin: 4em auto 3em; padding: 0; }
section.testimonials h2 { text-align: center; }
section.testimonials .testimonial 
{ 
	margin-bottom: 1.5em;
	padding: 1.25em; 
	border:2px solid #7a1600;
	border-radius:5px;
	min-width:350px;
	box-sizing: border-box;
	color: #7a1600;
}
section.testimonials p.testimonialAuthor{ margin: 0.75em 0 0 6em; }


/* Section - Focus */
section.focus { margin: 30px 20px 30px 0; padding: 0; }
section.focus aside { width: 100%; float:none; text-align:left; }
section.focus aside div.content {
margin: 8px 20px 8px 0;
padding: 5px 0px 10px 85px;
background-size: 50px 50px;
background-position: 20px 5px;
}

/* footer */
footer {
	display: flex;
	flex-wrap:wrap;
	font-size: .8em;
	margin-top: 40px;
	color:#fff; 
	background-color: #7a1501;
	width: 100%
}
footer p { margin-bottom: 4px; padding: 0; line-height: 14px; }
div.footer-contact {
	display:flex;
	flex-wrap:wrap;
}
div.footer-contact-item1, div.footer-contact-item2, div.footer-copyright {
	display:flex;
	min-width:175px;
	padding:10px 0 10px 36px;
	line-height:1.5em;
}
p.contact { line-height:22px; }
p.copyright { text-align: left; }
}

/* tablet styles */
@media only screen and (min-width:725px) and (max-width:874px) {

body {
	margin: 0 auto;
	min-width: 725px;
	max-width: 874px;
}

/* header */
header {
	margin-bottom: 1em;
}
header h1 {
	font-size: 3.2em;
	padding-left: 110px;
	line-height: 165px;
	width: 270px;
	margin: 0 auto;
}
header h2 {
	display: none;
}

/* navigation */
#mainNav {
	width: 100%;
	font-size: 85%;
	padding-bottom: 0;
	margin-bottom: 1em;
}
#mainNav li {
	position: relative;
	width: auto;
}
#mainNav li:last-child {
	margin-right: 0;
}
#mainNav a, #mainNav h3 {
	font-size: 1em;
	text-align: center;
	cursor: pointer;
	padding:0 .65em;
}

/* dropdown menu */
#mainNav ul.submenu {
	float: none;
	width: auto;
	height: auto;
	padding-top: .9em;
	max-height: 0;
	-moz-transition:max-height 0.2s ease;
	-webkit-transition:max-height 0.2s ease;
	-o-transition:max-height 0.2s ease;
	transition:max-height 0.2s ease;
	overflow: hidden;
	z-index: 1000;
	position: absolute;
}
#mainNav ul.submenu li {
	float: none;
	margin: 0;
	background:#000;
}
#mainNav li.hover:hover ul, #mainNav ul.submenu.expand {
	max-height: 20em;
}
#mainNav ul.submenu li a {
	padding: .4em 1em;
	/*padding: .1em 1em .4em;*/
	white-space: nowrap;
	color: white;
	text-align: left;
	font-size: 1em;
}
#mainNav ul.submenu li:last-child a {
	border-bottom: none;
}
#mainNav ul.submenu li a:hover {
	background: rgb(123, 121, 143);
}

/* Section Story */
section.story article { width: 75%; }
section.story article h2 { text-align: center; }
section.story article p { text-size: 1.65em; line-height: 1.75em; }

/* Section - Focus */
section.focus aside { width: 100%; float:none; text-align:left; }
section.focus aside div.content {
	margin: 8px 20px 8px 0;
	padding: 5px 0px 10px 85px;
	background-size: 50px 50px;
	background-position: 20px 5px;
}

/* footer */

}

/* desktop styles */
@media only screen and (min-width:875px) {

body {
	margin: 0 auto;
	min-width: 875px;
	max-width: 1280px;
}

/* header */
header {
	margin-bottom: 1em;
}
header h1 {
	font-size: 3.2em;
	padding-left: 110px;
	line-height: 100px;
	line-height: 165px;
	margin-right: .5em;
	float: left;
	margin-left: 3.9%; /* fixes nasty 1px header fitting problem */
	display: inline;
}
header h2 {
	font-family: Cantarell, Arial, Helvetica, sans-serif;
	font-style: italic;
	font-weight:normal;
	font-size: 1.4em;
	color: #fff;
	float: left;
	text-transform: lowercase;
	letter-spacing:.1em;
	line-height: 165px;
}

/* navigation */
#mainNav {
	padding-left: 3.9%;
	margin-bottom:1em;
}
#mainNav li {
	position: relative;
}
#mainNav a, #mainNav h3 {
	font-size: .9em;
	text-align: center;
	padding: 0 1em;
}

/* dropdown menu */
#mainNav ul.submenu {
	float: none;
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	padding-top: 2.2em;
	left: -8000em;
	max-height: 0;
	-moz-transition:max-height 0.5s ease;
	-webkit-transition:max-height 0.5s ease;
	-o-transition:max-height 0.5s ease;
	transition:max-height 0.5s ease;
	overflow: hidden;
	z-index: 1000;
}
#mainNav ul.submenu li {
	float: none;
	margin: 0;
	background: #000;
}
#mainNav li:hover ul {
	left: 0;
	max-height: 20em;
}
#mainNav ul.submenu li a {
	padding: .4em 1em;
	white-space: nowrap;
	color: white;
	text-align: left;
	font-size: .9em;
}
#mainNav ul.submenu li:last-child a {
	border-bottom: none;
}
#mainNav ul.submenu li a:hover {
	background: rgb(123, 121, 143);
}
}
