/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
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;
}

.container:before, .contact .office:before, .container:after, .contact .office:after {
  content: " ";
  display: table;
}
.container:after, .contact .office:after {
  clear: both;
}

.contact-details {
  width: 100%;
  padding: 10px 0 0 100px;
}

.school-details {
  width: 25%;
  float: left;
}

.school-logo {
    height: 160px;
}

@media (max-width: 768px) {
    .contact-details {
        padding: 0;
    }

    .school-details {
        width: 80%;
        float: none;
        text-align: center;
        padding-top: 25px;
        border-bottom: 1px solid rgba(165, 174, 184, 0.33);
        display: block;
        margin-right: auto;
        margin-left: auto;
    }
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body.all-loaded {
  overflow: visible;
  background: white;
  transition: background .5s;
}
body.all-loaded > .wrap {
  transition: opacity 1s;
  transition-delay: .5s;
  opacity: 1;
}
body.all-loaded .loading {
  opacity: 0;
  transition: opacity .5s;
}

.container {
  max-width: 1260px;
  margin-left: auto;
  margin-right: auto;
}

section.main {
  padding: 0 20px;
}
@media (min-width: 768px) {
  section.main {
    padding: 3% 20px;
  }
}

.divider img {
  height: 14px;
  width: auto;
}

@font-face {
  font-family: 'Perpetua';
  src: url("fonts/Perpetua.eot?#iefix") format("embedded-opentype"), url("fonts/Perpetua.woff") format("woff"), url("fonts/Perpetua.ttf") format("truetype"), url("fonts/Perpetua.svg#Perpetua") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Perpetua-Italic';
  src: url("fonts/Perpetua-Italic.eot?#iefix") format("embedded-opentype"), url("fonts/Perpetua-Italic.woff") format("woff"), url("fonts/Perpetua-Italic.ttf") format("truetype"), url("fonts/Perpetua-Italic.svg#Perpetua-Italic") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Gotham-Book';
  src: url("fonts/Gotham-Book.eot?#iefix") format("embedded-opentype"), url("fonts/Gotham-Book.otf") format("opentype"), url("fonts/Gotham-Book.woff") format("woff"), url("fonts/Gotham-Book.ttf") format("truetype"), url("fonts/Gotham-Book.svg#Gotham-Book") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Gotham-Medium';
  src: url("fonts/Gotham-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/Gotham-Medium.otf") format("opentype"), url("fonts/Gotham-Medium.woff") format("woff"), url("fonts/Gotham-Medium.ttf") format("truetype"), url("fonts/Gotham-Medium.svg#Gotham-Medium") format("svg");
  font-weight: normal;
  font-style: normal;
}
body {
  font: 13px Gotham-Book, sans-serif;
  color: #0b3659;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.member-content img {
  max-width: 100px;
  height: auto;
  vertical-align: middle;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

h1, h2, h3, h4, h5, h6 {
  font: 1em Perpetua, sans-serif;
}

h1 {
  font-size: 3.615em;
}

h2 {
  font-size: 2.23em;
}

h3 {
  font-size: 1.23em;
}
article h3 {
  font-family: Gotham-Book, serif;
}

a {
  text-decoration: none;
}
a, a:hover, a:focus, a:visited {
  color: #00bd8a;
}

b, strong, dt {
  font-family: Gotham-Medium, sans-serif;
}

dt {
  font-size: 1.23em;
}

hr {
  border: none;
  border-top: 1px solid rgba(165, 174, 184, 0.33);
}

figure {
  line-height: 1.5;
}
figure img {
  vertical-align: baseline;
}

p, dd, article li {
  line-height: 1.75;
}

h1, h2, h3, h4, h5, h6, p, dt, figure, .sub-navigation li, .school-list footer, .contact .school, .contact .office dl, .contact .office img {
  margin-top: 20.8px;
}

dl > :first-child, .article > :first-child, .sub-navigation > :first-child, .slider .slider-slide > :first-child {
  margin-top: 0;
}

.button, a.button {
  transition: background .2s , color .2s;
  background: white;
  color: inherit;
  display: inline-block;
  text-transform: uppercase;
  padding: 1em 2em;
  border-radius: .75em;
  font-family: Gotham-Medium, sans-serif;
  letter-spacing: .2em;
}
.button:hover, a.button:hover {
  background: #0b3659;
  color: white;
}

@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?epnpxu");
  src: url("fonts/icomoon.eot?epnpxu#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?epnpxu") format("truetype"), url("fonts/icomoon.woff?epnpxu") format("woff"), url("fonts/icomoon.svg?epnpxu#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
.icon-twitter-with-circle:before, .icon-facebook-with-circle:before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-twitter-with-circle:before {
  content: "\e901";
}

.icon-facebook-with-circle:before {
  content: "\e900";
}

article ul li:before {
  content: " - ";
}

#header {
  padding: 3%;
  background: center #0b3659;
  background-size: cover;
  border-bottom: 6px #00bd8a solid;
  text-align: right;
  font-family: Gotham-Medium, sans-serif;
  color: white;
}
#header li {
  display: inline-block;
}
#header .container {
  position: relative;
}
#header .pmsa {
  position: absolute;
  left: 0;
  top: 50%;
  width: 13.25%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
#header .schools img {
  margin-left: 1em;
  max-height: 74px;
}
@media (max-width: 768px) {
  #header .schools img {
    height: 3em;
    width: auto;
    margin-left: .5em;
  }
}
#header .navigation {
  margin-top: 2em;
}
#header .navigation a {
  color: inherit;
}
#header .navigation > li {
  text-transform: uppercase;
  position: relative;
  padding: 2em;
  margin-right: -.3em;
  border-top: 1px solid rgba(165, 174, 184, 0.33);
}
@media (min-width: 1200px) {
  #header .navigation > li {
    padding: 2em 3.5em;
  }
}
#header .navigation > li:first-child {
  padding-left: 0;
}
#header .navigation > li:last-child {
  padding-right: 0;
}
#header .navigation > li.has-sub-menu:hover {
  background: #0b3659;
}
#header .navigation > li.has-sub-menu:hover ul {
  display: block;
}
#header .navigation > li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #0b3659;
  text-align: left;
  padding: 0.5em 20px;
}
#header .navigation > li ul li {
  white-space: nowrap;
  display: block;
  padding: 1em 0;
}

.header-mobile {
  display: none;
  text-transform: uppercase;
  font-family: Gotham-Medium, sans-serif;
  color: white;
  position: relative;
  margin-top: -6px;
  border-bottom: 3px #00bd8a solid;
}
@media (max-width: 768px) {
  .header-mobile {
    display: block;
  }
}
.header-mobile a {
  color: inherit;
}
.header-mobile #navigation-toggle {
  position: absolute;
  left: -10000em;
}
.header-mobile label {
  background: #0b3659;
  display: block;
  text-align: center;
  padding: 3%;
}
.header-mobile .navigation {
  display: none;
  background: rgba(11, 54, 89, 0.8);
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  padding: 1em 20px;
}
.header-mobile .navigation li {
  padding: 1em 0;
}
.header-mobile .navigation ul {
  padding-left: 1em;
  padding-top: 2em;
  margin-bottom: -1em;
  text-transform: none;
}
.header-mobile .navigation ul li {
  padding-top: 0;
}
.header-mobile :checked + label + .navigation {
  display: block;
}

#footer {
  padding-top: 2.5%;
  text-align: center;
  background: #0b3659;
  color: white;
  font: .92em Gotham-Medium, sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
}
#footer li {
  display: inline-block;
}
#footer a {
  color: inherit;
}
#footer .schools {
  padding: 20px;
}
#footer .schools img {
  height: 2.5em;
  width: auto;
  margin: 0 .5em;
}
@media (min-width: 768px) {
  #footer .schools img {
    height: 5.3em;
    margin: 0 1em;
  }
}
#footer .navigation {
  padding: 20px 0 2.5% 0;
}
#footer .navigation li {
  padding: 1em;
}
@media (min-width: 768px) {
  #footer .navigation li {
    border-top: 1px solid rgba(165, 174, 184, 0.33);
    margin-right: -.4em;
    padding: 2em 3.5em 1em;
  }
  #footer .navigation li:first-child {
    padding-left: 0;
  }
  #footer .navigation li:last-child {
    padding-right: 0;
  }
}
#footer .bottom {
  padding: 20px;
  background: #082e50;
  font-size: .83em;
}
#footer .bottom li {
  margin: 0 .5em;
}
#footer .bottom .flip {
  color: #00bd8a;
}
#footer .bottom .flip img {
  margin: 0 .5em;
  height: 2.5em;
  width: auto;
}
@media (max-width: 767px) {
  #footer .bottom .flip {
    padding-top: 20px;
    display: block;
  }
}

.article {
  padding: 20px 0;
}

.sidebar {
  border-bottom: 1px solid rgba(165, 174, 184, 0.33);
  padding: 20px 0;
}
@media (min-width: 768px) {
  .sidebar {
    width: 20%;
    float: left;
    border-bottom: none;
    padding-right: 4%;
  }
  .sidebar + .article {
    width: 80%;
    float: left;
    border-left: 1px solid rgba(165, 174, 184, 0.33);
    padding-left: 4%;
  }
}

.sub-navigation {
  font-family: Gotham-Medium, sans-serif;
}
.sub-navigation a {
  text-decoration: none;
  color: inherit;
}
.sub-navigation li.active {
  color: #00bd8a;
}

.hero {
  padding: 2.5%;
  text-align: center;
  background: center;
  background-size: cover;
}
@media (max-width: 480px) {
  .hero {
    font-size: .7em;
    padding: 20px;
  }
}
.hero h1, .hero h2, .hero h3, .hero h4, .hero h5, .hero h6, .hero .divider {
  margin-top: 1em;
}
.hero h1 {
  text-transform: uppercase;
  line-height: .5;
  margin-top: .3em;
}

.slider {
  background: #f3f1ec;
  text-align: center;
  padding: 20px;
  font-size: 1.2em;
}
.slider h2, .slider .bullets {
  background: repeat-x center url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABBJREFUeNpiWLpuRwhAgAEABmcCYBkKCFAAAAAASUVORK5CYII=");
}
.slider h2 span, .slider .bullets span {
  background: #f3f1ec;
  display: inline-block;
  padding: 0 .5em;
}
@media (min-width: 480px) {
  .slider {
    padding: 3%;
    font-size: 1.92em;
  }
}
.slider h2 {
  font-size: 1.88em;
  text-transform: uppercase;
}
.slider p {
  font-family: Perpetua-Italic, sans-serif;
  line-height: 1.3;
}
.slider .bullets {
  font-size: 1.5em;
  color: #d9dbdb;
  word-spacing: -.1em;
}
.slider .bullets i {
  vertical-align: -.2em;
}
.slider .bullets i.active {
  color: #0b3659;
}

.button, a.button {
  transition: background .2s , color .2s;
  background: white;
  color: inherit;
  display: inline-block;
  text-transform: uppercase;
  padding: 1em 2em;
  border-radius: .75em;
  font-family: Gotham-Medium, sans-serif;
  letter-spacing: .2em;
}
.button:hover, a.button:hover {
  background: #0b3659;
  color: white;
}

.news .message {
  position: relative;
}
@media (min-width: 480px) {
  .news .message {
    padding-left: 30%;
  }
  .news .message figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 25%;
  }
}
@media (min-width: 768px) {
  .news .message {
    float: left;
    width: 50%;
    padding-left: 14%;
  }
}
.news .latest {
  padding-bottom: 20px;
}
.news .latest li {
  padding: 1em 0 1em 14%;
  line-height: 1.5;
  position: relative;
}
.news .latest li img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 8%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (min-width: 768px) {
  .news .latest {
    float: right;
    width: 40%;
  }
}

.school-list > li {
  background: no-repeat right;
  background-size: cover;
}
.school-list .container {
  padding: 20px;
  background: rgba(255, 255, 255, 0.8);
}
.school-list h2 {
  margin-top: 0;
  line-height: .8;
}
.school-list img {
  height: 74px;
}
.school-list footer a {
  margin-right: 1em;
  vertical-align: middle;
}
.school-list footer i {
  vertical-align: middle;
  font-size: 2em;
  color: #006f51;
  opacity: .8;
  transition: opacity .2s;
}
.school-list footer i:hover {
  opacity: 1;
}
.school-list footer .button:hover {
  background: #006f51;
}
.school-list > li:nth-child(2) footer i {
  color: #0b3659;
}
.school-list > li:nth-child(2) footer .button:hover {
  background: #0b3659;
}
.school-list > li:nth-child(4) footer .button:hover {
  background: #901346;
}
.school-list > li:nth-child(4) footer i {
  color: #901346;
}
@media (max-width: 767px) {
  .school-list footer {
    font-size: .9em;
  }
  .school-list header img {
    width: 10%;
    margin-right: -.4em;
  }
  .school-list header h2 {
    display: inline-block;
    width: 90%;
    vertical-align: middle;
    margin-top: 0;
    padding-left: 5%;
  }
}
@media (min-width: 768px) {
  .school-list > li {
    padding: 3% 20px;
  }
  .school-list .container {
    background: none;
    padding: 0 0 0 110px;
    position: relative;
  }
  .school-list h2, .school-list p {
    width: 50%;
  }
  .school-list header img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (min-width: 1200px) {
  .school-list h2 {
    font-size: 3.615em;
  }
}

.contact h2 {
  text-align: center;
}
.contact .school {
  padding-right: 30%;
  position: relative;
}
.contact .school + .school {
  margin-top: 3em;
}
.contact .school img {
  position: absolute;
  top: 0;
  right: 0;
  width: 25%;
}
@media (min-width: 480px) {
  .contact .school {
    float: left;
    width: 50%;
    padding-left: 20%;
    padding-right: 0;
    margin-top: 1em !important;
    margin-bottom: 5%;
  }
  .contact .school:nth-child(2n) {
    clear: left;
  }
  .contact .school img {
    left: 10%;
    right: auto;
    width: 20%;
  }
}
.contact .office {
  position: relative;
  padding-right: 30%;
  position: relative;
  margin-bottom: 3em;
}
.contact .office img {
  position: absolute;
  top: 0;
  right: 0;
  width: 25%;
}
@media (min-width: 480px) {
  .contact .office {
    padding-right: 0;
    padding-left: 20%;
  }
  .contact .office img {
    right: auto;
    left: 5%;
    width: 10%;
  }
}
@media (min-width: 768px) {
  .contact .office dl {
    float: left;
    width: 31.4%;
    padding-right: 5%;
  }
}

.members > li {
  margin-top: 2em;
  margin-bottom: 12.5%;
}
.members > li h2 {
  border-bottom: 1px solid rgba(165, 174, 184, 0.33);
  margin-bottom: .5em;
}
.members > li:before {
  content: none;
}
@media (min-width: 480px) {
  .members > li {
    position: relative;
    padding-left: 20%;
  }
  .members > li img {
    position: absolute;
    top: 0;
    left: 0;
    width: 15%;
  }
}

@media (min-width: 480px) {
  .members > li {
    padding-left: 0;
  }

  .members > li > .member-content {
    float: left;
    width: 100%;
    padding-left: 20%;
  }

  .members > li > .member-content h2 {
    margin-top: 0;
  }

  .members > li > img {
    position: relative;
    top: auto;
    left: auto;
    width: 15%;
    float: left;
    margin-right: -15%;
  }

  .members > li::after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
}
