@charset "UTF-8";
.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }
.clearfix:after {
  clear: both; }

.row {
  width: 100%;
  max-width: 110rem;
  margin: 0 auto; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }
  @media screen and (max-width: 480px) {
    .row > .column {
      width: 100%; } }

.column {
  float: left;
  padding: 0 1.5rem; }
  @media screen and (max-width: 480px) {
    .column {
      min-width: 100%; } }

@media screen and (max-width: 480px) {
  .small-w10 {
    width: 10%; } }

@media screen and (min-width: 480px) {
  .medium-w10 {
    width: 10%; } }

@media screen and (min-width: 800px) {
  .w10 {
    width: 10%; } }

@media screen and (max-width: 480px) {
  .small-w20 {
    width: 20%; } }

@media screen and (min-width: 480px) {
  .medium-w20 {
    width: 20%; } }

@media screen and (min-width: 800px) {
  .w20 {
    width: 20%; } }

@media screen and (max-width: 480px) {
  .small-w30 {
    width: 30%; } }

@media screen and (min-width: 480px) {
  .medium-w30 {
    width: 30%; } }

@media screen and (min-width: 800px) {
  .w30 {
    width: 30%; } }

@media screen and (max-width: 480px) {
  .small-w40 {
    width: 40%; } }

@media screen and (min-width: 480px) {
  .medium-w40 {
    width: 40%; } }

@media screen and (min-width: 800px) {
  .w40 {
    width: 40%; } }

@media screen and (max-width: 480px) {
  .small-w50 {
    width: 50%; } }

@media screen and (min-width: 480px) {
  .medium-w50 {
    width: 50%; } }

@media screen and (min-width: 800px) {
  .w50 {
    width: 50%; } }

@media screen and (max-width: 480px) {
  .small-w60 {
    width: 60%; } }

@media screen and (min-width: 480px) {
  .medium-w60 {
    width: 60%; } }

@media screen and (min-width: 800px) {
  .w60 {
    width: 60%; } }

@media screen and (max-width: 480px) {
  .small-w70 {
    width: 70%; } }

@media screen and (min-width: 480px) {
  .medium-w70 {
    width: 70%; } }

@media screen and (min-width: 800px) {
  .w70 {
    width: 70%; } }

@media screen and (max-width: 480px) {
  .small-w80 {
    width: 80%; } }

@media screen and (min-width: 480px) {
  .medium-w80 {
    width: 80%; } }

@media screen and (min-width: 800px) {
  .w80 {
    width: 80%; } }

@media screen and (max-width: 480px) {
  .small-w90 {
    width: 90%; } }

@media screen and (min-width: 480px) {
  .medium-w90 {
    width: 90%; } }

@media screen and (min-width: 800px) {
  .w90 {
    width: 90%; } }

@media screen and (max-width: 480px) {
  .small-w100 {
    width: 100%; } }

@media screen and (min-width: 480px) {
  .medium-w100 {
    width: 100%; } }

@media screen and (min-width: 800px) {
  .w100 {
    width: 100%; } }

*,
*:before,
*:after {
  box-sizing: border-box;
  outline: 0; }

html {
  font-size: 62.5%; }

body {
  color: #4b6670;
  font-family: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.4rem;
  background-color: #CDD9DE; }

a img {
  border: 0; }

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

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 1.8rem 0;
  color: #1B435A;
  font-family: "Oswald", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600; }

h1 {
  font-size: 2.8rem;
  line-height: 3.2rem; }

h2 {
  font-size: 2.4rem;
  line-height: 2.8rem; }

h3 {
  font-size: 2rem;
  line-height: 2.4rem; }

h4 {
  font-size: 1.8rem;
  line-height: 2rem; }

hr {
  width: 100%;
  height: 1px;
  margin: 0 0 2rem 0;
  background-color: #9FB6BF;
  border: 0; }

p {
  margin: 0 0 1.2rem 0;
  color: #4b6670;
  font-size: 1.4rem;
  line-height: 2rem; }

a {
  color: #FF7C5C;
  font-size: 1.4rem;
  text-decoration: none;
  -webkit-transition: all 0.4s ease;
          transition: all 0.4s ease; }
  a:hover {
    color: #ff3f10; }

ul {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  list-style: none; }

.list {
  list-style-type: disc;
  margin-bottom: 2rem;
  padding-left: 1.8rem; }
  .list li {
    margin-bottom: 0.6rem; }
    .list li ul {
      padding-left: 1.8rem;
      list-style-type: circle; }

.navigation {
  margin-bottom: 4rem; }
  .navigation:before, .navigation:after {
    content: " ";
    display: table; }
  .navigation:after {
    clear: both; }
  .navigation li {
    border-bottom: 1px dotted #9FB6BF; }
  .navigation a {
    display: block;
    padding: 1.4rem 1.6rem;
    font-size: 1.3rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.6rem;
    -webkit-transition: 180ms;
            transition: 180ms; }
    .navigation a:hover {
      color: #FFF;
      background-color: #FF7C5C; }
  @media screen and (min-width: 800px) {
    .navigation {
      margin: 4rem 0; }
      .navigation ul {
        float: right; }
      .navigation li {
        float: left;
        border: 0; } }

.students {
  margin: 0 0.6rem; }
  .students:before, .students:after {
    content: " ";
    display: table; }
  .students:after {
    clear: both; }
  .students > li {
    width: 100%;
    margin-bottom: 2rem; }
    .students > li:hover .student-image img {
      opacity: 0.2; }
    .students > li:hover .student-name h2 {
      color: #FF7C5C; }
  .students .students-inner {
    padding: 1rem;
    background-color: #FFF;
    border-radius: 3px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.04); }
    .students .students-inner:before, .students .students-inner:after {
      content: " ";
      display: table; }
    .students .students-inner:after {
      clear: both; }
  .students .student-image {
    position: relative;
    display: block;
    margin-bottom: 1rem;
    background-color: #FF7C5C; }
    .students .student-image img {
      -webkit-transition: 180ms;
              transition: 180ms; }
  .students .subjects li {
    width: 100%;
    margin-bottom: 0.6rem;
    color: #4b6670; }
    .students .subjects li:not(:last-child) {
      padding-bottom: 0.6rem;
      border-bottom: 1px dotted #CDD9DE; }
  @media screen and (min-width: 480px) {
    .students > li {
      width: 50%;
      float: left;
      padding: 0.6rem; } }
  @media screen and (min-width: 800px) {
    .students {
      margin: 0 -0.6rem; }
      .students > li {
        width: 25%; } }

aside {
  margin: 2rem 0;
  padding: 2rem 0;
  border-top: 1px dotted #9FB6BF;
  border-bottom: 1px dotted #9FB6BF; }

.institution {
  margin: 0 0.6rem 2rem 0.6rem;
  padding: 1rem;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 3px; }
  .institution li {
    color: #4b6670; }
  @media screen and (min-width: 800px) {
    .institution {
      margin: 0 0 2rem 0; } }

.logos {
  margin-bottom: 2rem; }
  .logos:before, .logos:after {
    content: " ";
    display: table; }
  .logos:after {
    clear: both; }
  .logos li {
    width: 100%;
    padding: 0 0.6rem 2rem 0.6rem;
    text-align: center; }
    .logos li:not(:last-child) {
      margin-right: 4rem; }
    .logos li img {
      max-width: 20rem; }
  @media screen and (min-width: 800px) {
    .logos li {
      width: auto;
      float: left; } }

footer {
  margin-bottom: 4rem;
  text-align: center; }
  footer img {
    max-width: 10rem;
    margin-bottom: 2rem; }
  footer p {
    max-width: 80rem;
    margin: 0 auto;
    color: #9FB6BF;
    font-size: 1.2rem; }

.map {
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px dotted #9FB6BF; }
  .map:before, .map:after {
    content: " ";
    display: table; }
  .map:after {
    clear: both; }
  .map .path-home,
  .map .path-nav {
    position: relative;
    display: block;
    margin-bottom: 2rem;
    padding: 1.4rem 1.6rem;
    text-transform: uppercase;
    letter-spacing: 0.6rem; }
  .map .path-home {
    color: #FFF;
    background-color: #1B435A; }
    .map .path-home:hover {
      background-color: #FF7C5C; }
    .map .path-home:after {
      position: absolute;
      right: 1.4rem;
      content: "→"; }
  .map .path-nav {
    color: #1B435A;
    border: 1px dotted #1B435A;
    cursor: default; }

.depth {
  margin-bottom: 2rem;
  padding: 1rem;
  text-align: left;
  background-color: #FFF;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.04); }
  .depth li {
    padding-left: 1rem;
    text-transform: uppercase; }
    .depth li:not(:last-child) {
      margin-bottom: 1rem;
      padding-bottom: 1rem;
      border-bottom: 1px dotted #CDD9DE; }
