* {
    margin: 0;
    padding: 0;
}
html { 
    height: 100%;
    overflow-x: hidden;
}
body {
    overflow-x: hidden;
    line-height: 2.4em;
    font-size: 62.5%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #fff;
}
li {
    margin-left: 20px;
}
h1 {
    -webkit-font-smoothing: antialiased;
    color: #02438e;
    font-size: 3.2em;
    text-transform:uppercase;
    padding: 0 0 24px 0;
    line-height: 1.2em;
    font-weight: 500;
    font-style: normal;
}
h2 {
    -webkit-font-smoothing: antialiased;
    color: #02438e;
    font-size: 2.8em;
    text-transform:capitalize;
    padding: 0 0 24px 0;
    line-height: 1.2em;
    font-weight: 500;
    font-style: normal;
}
h3 {
    -webkit-font-smoothing: antialiased;
    color: #02438e;
    font-size: 1.8em;
    font-weight: 800;
    text-transform: capitalize;
    margin: 6px 0 20px 0;
    padding: 0;
}
h4 {
    color: #002147;
    line-height: 1.8em;
    margin: 0 0 10px 0;
    font-style: italic;
    font-size: 1.4em;
    margin:0 0 -5px 0;
}
a, a:link,
a:active,
a:visited {
    -webkit-transition: all 0.25s ease-out;
    -moz-transition: all 0.25s ease-out;
    -o-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    color:#1f448b;
    outline: none;
    font-weight: 700;
}
a:hover { 
    color:#02438e;
}
a.button {
    display: inline-block;
    background-color: #002147;
    padding: 16px 8px;
    -webkit-font-smoothing: antialiased;
    color: #fff;
    width: 180px;
    font-size: 1.6em;
    text-decoration: none;
    text-align: center;
    line-height: 1.0em;
    font-weight: 600;
    border-radius: 3px;
}
a img, a.button {
    transition: all .5s ease;
    -moz-transition: all .5s ease; /* Firefox 4 */
    -webkit-transition: all .5s ease; /* Safari and Chrome */
    -o-transition: all .5s ease; /* Opera */
}
a img:hover {
    opacity: 0.5;
}
a.button:hover {
    background-color: #02438e;
    color: #fff;
}
a[href^=tel] { /* Stops iPhones from changing phone number colors */
    color: inherit; 
    text-decoration: none; 
} 

p, #panel-content li {
    padding: 0 0 20px 0;
    font-size: 1.6em;
    font-weight: 500;
    font-style: normal;
    color: #555;
    line-height: 1.8em;
}
#panel-content ul {
    padding-bottom: 30px;
}
#panel-content li {
    padding: 0;
}
hr {
    border: 0;
    border-top: 1px solid #ccc;
    margin: 50px 0;
}
.clearboth {
    clear: both;
    height: 0;
}	
td {
    padding: 7px;
    font-size: 70%;
}
/*------------------------------------------------------------ HEADER */
header {
    position: relative;
    height: 58px;
    top: 50px;
    margin-bottom: -100px;
    background-color: #002147;
}
.wrapper {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 50px;
}
#header {
    margin-top: 20px;
}
#logo {
    display: block;
    float: left;
    width: 93px;
    margin-top: -16px;
    -webkit-filter: drop-shadow(5px 5px 5px #222);
    filter:         drop-shadow(5px 5px 5px #222);
}
#logo-text {
    display: block;
    float: left;
    width: 150px;
    margin: 9px 60px 0 10px;
}
#logo img, #logo-text img {
    width: 100%;
    height: auto;
}

.container {
    display: none;
}
#announce-strip {
    background-color: #02438e;
    margin-top: -15px;
    padding: 20px 0;
    text-align: center;
}
#announce-strip a {
    color: #02438e;
    display: inline-block;
    margin: 4px 0 10px;
    background-color: #fff;
}
#announce-strip a:hover {
    opacity: 0.6;
}
#announce-strip span {
    color: #fff;
    display: block;
    font-size: 1.8em;
    padding: 8px 0;
}
/*------------------------------------------------------------ VIDEO */
#panel-video {
    position: relative;
    z-index: -100;
    background-color: #fff;
    height: 600px;
    margin: -200px auto 0 auto;
    width: 100%;
}
.video {
    min-width: 1920px;
    min-height: 100%;
    width: 100%;
    height: auto;  
    top: 0;
    left: 50%;
    transform: translateY(-143px);
    object-fit: cover;
    display: block;
}
#play {
    position: relative;
    z-index: 500;
    margin-top: -100px;
    margin-bottom: 260px;
    text-shadow: 0px 0px 5px rgba(150, 150, 150, 1);
}
#play img {
    display: block;
    color: #fff;
    margin: 0 auto;
    width: 60px;
}
#slogan {
    background-color: #002147;
}
#layerslider {
    width:100%;
    height:650px;
    z-index:-10;
    top:-120px;
}
/*------------------------------------------------------------ WELCOME */
#panel-welcome {
    background-color: #fff;
    padding: 40px 0;
}
#welcome-left {
    float: left;
    width: 43%;
}
#principal-profile {
    display: flex;
    justify-content: flex-start;
    margin: 15px 0 40px 0;
}
#principal-profile img {
    width: 120px;
    height: 120px;
    margin: 0 30px 0 0;
}
#principal-title h3 {
    margin: 30px 0 0 0;
}
#welcome-right {
    float: right;
    width: 45%;
}
.news-item a {
    text-decoration: none;
}
.news-item a.button {
    margin: 0 0 40px 0;
}
/*------------------------------------------------------------ CAMPUS */
#panel-campus {
    background-image: url(../images/web-structure/campus-background.jpg);
    background-attachment: fixed;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    padding: 40px 0;
}
#panel-campus h2 {
    text-align: center;
    padding-bottom: 40px;
}
#campus-list {
    display: flex;
    justify-content: space-between;
}
.campus-item {  
    width: 48%;
}
.campus-item a {
    display: block;
}
.campus-item .button {
    margin: -100px auto 80px auto;
    position: relative;
    z-index: 100;
}
.campus-item p {
    text-align: center;
    max-width: 500px;
    margin: 0 auto;
}
.campus-item img {
    width: 100%;
}
/*---------------------------------------------------------- QUICKLINKS */
#panel-links {
    background-color: #02438e;
    padding: 40px 0;
}
#quicklinks {
    display: flex;
    justify-content: center;
}
#quicklinks a {
    display: inline-block;
    margin: 0 12px;
    background-color: #002147;
    padding: 16px 8px;
    -webkit-font-smoothing: antialiased;
    color: #fff;
    width: 200px;
    font-size: 1.6em;
    text-decoration: none;
    text-align: center;
    line-height: 1.2em;
    font-weight: 600;
    border-radius: 3px;
}
#quicklinks a:hover {
    opacity: 0.5;
}

/*---------------------------------------------------------- CONTACT */
#content-flex {
    display: flex;
    justify-content: space-between;
}
.content-column {
    width: 45%;
}
#contact {
    background-color: #101e37;
}
#contact-text {
    float: left;
    width: 30%;
    padding: 40px 0 0 50px;
}
#contact-text-wrapper > * {
    color: #fff;
}
#contact-text-wrapper {
    float: right;
    max-width: 420px;
}
#contact-text-wrapper .button {
    margin-bottom: 40px;
}
#contact-map {
    float: right;
    width: 60%;
    height: 600px;
    -webkit-clip-path: polygon(5% 0, 100% 20%, 100% 100%, 1% 100%);
    clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
}
/*---------------------------------------------------------- CURRICULUM */
#banner, #curriculum-banner {
    background: url(../images/web-structure/banner-curriculum-guide.jpg) center top no-repeat;
    background-size: cover;
    height: 500px;
}
#panel-curriculum, #panel-content {
    padding: 40px 0;
}
#curriculum-nav {
    float: left;
    width: 25%;
}
#curriculum-content {
    float: right;
    width: 65%;
}
#curriculum-content h2 {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #02438e;
}
#curriculum-content h3 {
    padding: 10px 0;
    margin: 0;
}
#curriculum-content ul {
    padding: 0 0 20px 20px;
}
#curriculum-content li {
    font-size: 1.6em;
    color: #333;
    line-height: 1.8em;
    padding-bottom: 10px;
}
/*---------------------------------------------------------- FOOTER */
footer {
    background-color: #002147;
    padding-bottom: 40px;
}
footer *, footer a:link, footer a:visited {
    color: #fff;
    text-decoration: none;
}
footer select {
	color: #555;
}
footer a:hover {
    opacity: 0.5;
}
footer .wrapper {
    padding-left: 70px;
}
footer p {
    padding-top: 0;
}
#footer-logo {
    margin: 0 0 40px -10px;
    padding-top: 40px
}
#footer-left {
    float: left;
    width: 530px;
}
#footer-logo-icon {
    display: block;
    float: left;
    max-width: 100px;
}
#footer-logo-text {
    display: block;
    float: left;
    max-width: 180px;
    margin: 24px 0 0 12px;
}
#footer-left h2 {
    margin-top: 95px;
}

#footer-right {
    float: right;
    width: 600px;
    margin-top: 45px;
}
#footer-right img {
    width: 30px;
    margin: 0 0 -40px -40px;
}
#address-wrapper {
    display: flex;
    justify-content: left;
	padding-bottom: 20px;
}
#nw-address {
    width: 350px;
}
#ws-address {
    width: 240px;
}
#footer-right .goog-te-gadget img {
	width: auto;
	margin: 0;
}
#copyright {
    margin: 8px 0 -10px;
}

/*---------------------------------------------------------- MENU */
#menu {
    float: left;
    margin: 0;
}
#menu ul {
    list-style:none;
}

#menu ul li {
    float:left;
    position: relative;
    z-index: 100;
    margin: 0;
}
#menu ul li a {
    font-size: 1.6em;
    font-weight: 300;
    line-height: 1.0em;
    display:block;
    margin: 0;
    padding: 20px 20px 22px;
    /* this + padding + margin = overall height of menu bar */
    -webkit-font-smoothing: antialiased;
    color : #fff;
    text-decoration : none;
    text-transform:capitalize;
    white-space:nowrap;
    border-radius:0px;
    transition: all .5s ease;
    -moz-transition: all .5s ease; /* Firefox 4 */
    -webkit-transition: all .5s ease; /* Safari and Chrome */
    -o-transition: all .5s ease; /* Opera */

}
#menu ul li a:hover{
    color: #fff;
    background-color: #02438e;
}

.level1 { position: relative; }

.sub-menu { 
  visibility: hidden; /* hides sub-menu */
  background: #02438e;
  opacity: 0;
  position: absolute;
  top: 58px;
  left: 0;
  transform: translateY(-2em);
  z-index: -1;
  transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
}
#menu ul li ul li a {
    padding: 12px 20px 14px 20px;
    color: #fff;
    width: 210px;
    text-transform: capitalize;
}
#menu ul li:nth-child(3) ul li a {
    width: 330px;
}
#menu ul li ul li:nth-child(1) a {
    padding-top: 12px;
}
.level1:focus .sub-menu,
.level1:focus-within .sub-menu,
.level1:hover .sub-menu {
  visibility: visible; /* shows sub-menu */
  opacity: 1;
  z-index: 1;
  transform: translateY(0%);
  transition-delay: 0s, 0s, 0.3s; /* this removes the transition delay so the menu will be visible while the other styles transition */
}
#menu ul li ul li a:hover {
    color: #fff;
    background-color: #002147;
}

/*---------------------------------------------------------- MINI-NAV */
#mini-nav {
    float: right;
    margin: 15px 0 0 0;
    width: 200px;
    display: flex;
    justify-content: space-between;
    position: relative;
}

#mini-nav img {
    width: 30px;
}

#mini-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#mini-nav ul li a {
    position: relative;
    font-size: 1.6em;
    font-weight: 300;
}

#mini-nav li {
    float: left;
    margin-left: 10px;
    padding-left: 10px;
}

#mini-nav .sub-menu li{
    margin-left: 0;
    padding-left: 0;
}

#mini-nav .sub-menu {
    visibility: hidden;
    background: #02438e;
    opacity: 0;
    position: absolute;
    top: 43px;
    left: 0;
    transform: translateY(-2em);
    z-index: -1;
    transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
}

#mini-nav .sub-menu a {
    padding: 12px 20px 14px 20px;
    color: #fff;
    width: 210px;
    text-transform: capitalize;
    text-decoration: none;
    display: block;
}

#mini-nav .sub-menu a:hover {
    color: #fff;
    background-color: #002147;
}

#mini-nav .level1:hover .sub-menu {
    visibility: visible;
    opacity: 1;
    z-index: 1;
    transform: translateY(0%);
    transition-delay: 0s, 0s, 0.3s;
}

/*---------------------------------------------------------- CURRICULUM GUIDE MENU */
#toggle-nav {
    display: none;
}
#curriculum-nav h2 {
    font-size: 2.2em;
    padding: 4px 0 20px 9px;
}
#curriculum-nav ul {
    list-style:none;
    padding: 0;
    margin: 0;
}
#curriculum-nav ul li {
    border-bottom: 1px solid #02438e;
}
#curriculum-nav ul li a {
    font-size: 1.6em;
    font-weight: 700;
    display:block;
    padding: 10px 0 10px 10px;
    -webkit-font-smoothing: antialiased;
    text-decoration : none;
    text-transform:uppercase;
    border-radius:0px;
    transition: all .5s ease;
    -moz-transition: all .5s ease; /* Firefox 4 */
    -webkit-transition: all .5s ease; /* Safari and Chrome */
    -o-transition: all .5s ease; /* Opera */
}
#curriculum-nav ul li a:hover {
    color: #fff;
    background-color: #02438e;
}
#curriculum-nav ul li ul {
    padding-bottom: 20px;
}
#curriculum-nav ul li ul li {
    border: 0;
}
#curriculum-nav ul li ul li a {
    font-style: italic;
    text-transform:capitalize;
    font-weight: 400;
    padding: 10px 10px 10px 30px;
}
#curriculum-nav ul li ul li.active a {
    font-weight: 700;
}
#curriculum-nav ul li ul li a:hover{
    color: #fff;
    background-color: #02438e;
}
#curriculum-nav ul li ul li ul {
    margin-left: 30px;
    padding: 4px 0;
}
#curriculum-nav ul li ul li ul li {
    display: inline;
}
#curriculum-nav ul li ul li ul li a {
    display: inline-block;
    font-style: normal;
    text-transform: capitalize;
    font-weight: 400 !important;
    margin-bottom: 4px;
    padding: 4px 10px 6px 10px;
    background-color: #02438e;
    color: #fff;
    border-radius: 3px;
}
#curriculum-nav ul li ul li ul li a:hover {
    opacity: 0.5;
}
/*---------------------------------------------------------- FORMS */
label {
    font-family: Calibri, Arial, Helvetica, sans-serif;
    font-size: 1.4em;
    line-height: 1.8em;
    font-weight: bold;
    color: #02b5cb;
}

input[type="text"] { width: 200px; padding: 6px; height: 20px; font-size: 1.4em; margin-bottom: 12px; border: 1px solid #aaa; border-radius: 6px;
}

textarea { width:440px; padding: 6px; font-size: 1.4em; margin-bottom: 20px; height: 80px; border: 1px solid #aaa; border-radius: 6px;
}

.submit, select { width: 100px; height: 36px; border: 1px solid #aaa; border-radius: 6px;
    font-size: 1.4em; padding: 9px;
}

select { width: 214px; margin-bottom: 12px}

.error {
    font-weight: bold;
    color: #ed1b24;
}