@charset "UTF-8";
html, button, input, select, textarea, .pure-g [class*="pure-u"] {
  font-family: 'Titillium Web', sans-serif;
  font-weight: 300; }

p.responsive-small-only {
  display: block !important; }

p.responsive-large-only {
  display: none !important; }

.inline-data {
  display: none !important; }

header.top-header {
  background: #f0f0f0;
  border-bottom: 1px solid #ccc; }
  header.top-header > section.header-inner {
    margin: 0 auto;
    padding: 13px 0;
    max-width: 45em; }
    header.top-header > section.header-inner > h1 {
      margin: 0;
      text-align: center;
      padding-left: 9px;
      box-sizing: border-box; }
      header.top-header > section.header-inner > h1 img {
        height: 48px;
        margin: 0;
        display: block; }
    header.top-header > section.header-inner > section#menu-button {
      text-align: right;
      padding-right: 1em;
      box-sizing: border-box;
      cursor: pointer;
      user-select: none;
      margin: 4px 0; }
      header.top-header > section.header-inner > section#menu-button span {
        background: #F08B31;
        color: #fff;
        display: inline-block;
        padding: 3px 12px;
        border-radius: 3px;
        font-size: 0.9rem;
        line-height: 30px; }
    header.top-header > section.header-inner > nav.top-header-nav {
      display: none;
      padding-top: 13px; }
      header.top-header > section.header-inner > nav.top-header-nav.open {
        display: block; }
      header.top-header > section.header-inner > nav.top-header-nav > ul {
        list-style: none;
        margin: 0;
        padding: 0; }
        header.top-header > section.header-inner > nav.top-header-nav > ul:last-child {
          border-top: 1px solid #ddd; }
        header.top-header > section.header-inner > nav.top-header-nav > ul > li {
          color: #000;
          -webkit-font-smoothing: antialiased; }
          header.top-header > section.header-inner > nav.top-header-nav > ul > li > a, header.top-header > section.header-inner > nav.top-header-nav > ul > li > span {
            color: #000;
            text-decoration: none;
            display: block;
            text-align: center;
            padding: 0.3em;
            border-bottom: 1px solid #ddd; }
            header.top-header > section.header-inner > nav.top-header-nav > ul > li > a i, header.top-header > section.header-inner > nav.top-header-nav > ul > li > span i {
              margin-right: 3px; }
            header.top-header > section.header-inner > nav.top-header-nav > ul > li > a:hover, header.top-header > section.header-inner > nav.top-header-nav > ul > li > span:hover {
              background: #ccc; }
          header.top-header > section.header-inner > nav.top-header-nav > ul > li:last-child > a, header.top-header > section.header-inner > nav.top-header-nav > ul > li:last-child > span {
            border-bottom: none; }
    header.top-header > section.header-inner > h2 {
      margin: 0.5rem 0 0 0;
      padding: 0 1rem;
      font-size: 1.1rem; }
      header.top-header > section.header-inner > h2 i {
        margin-right: 5px; }

nav.top-nav > ul > li > a, nav.top-nav a.open-button {
  color: #666;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 0.3em;
  border-bottom: 1px solid #ddd;
  background: #ccc; }
nav.top-nav a.open-button {
  cursor: pointer; }
  nav.top-nav a.open-button span.list-hidden {
    display: inline; }
  nav.top-nav a.open-button span.list-visible {
    display: none; }
  nav.top-nav a.open-button span.arrow {
    font-family: 'Lucida Grande', 'Arial Unicode MS';
    font-size: 0.75rem; }
nav.top-nav.opened a.open-button span.list-hidden {
  display: none; }
nav.top-nav.opened a.open-button span.list-visible {
  display: inline; }
nav.top-nav.opened ul {
  display: block; }
nav.top-nav > ul {
  background: #ccc;
  display: none;
  list-style: none;
  margin: 0;
  padding: 0; }

section#hero {
  position: relative;
  overflow: hidden; }
  section#hero > img {
    position: absolute;
    height: 100%;
    z-index: -1; }
  section#hero section#hero-tagline {
    padding: 20px; }
    section#hero section#hero-tagline article {
      background: rgba(255, 255, 255, 0.95);
      padding: 20px;
      border-radius: 3px;
      max-width: 35em;
      margin: 0 auto; }
      section#hero section#hero-tagline article h2 {
        margin: 0;
        padding: 0;
        font-size: 1.2rem;
        display: inline; }
      section#hero section#hero-tagline article p {
        margin: 0;
        font-size: 1.1rem;
        display: inline; }
      section#hero section#hero-tagline article div#hero-tagline-button {
        text-align: right; }
        section#hero section#hero-tagline article div#hero-tagline-button a.call-to-action {
          display: inline-block;
          margin: 1em 0 0 0;
          padding: 10px 2em; }
  section#hero section#hero-select-partner {
    background: rgba(240, 139, 49, 0.9); }
    section#hero section#hero-select-partner #hero-select-partner-inner {
      padding: 10px 1rem;
      overflow: auto; }
      section#hero section#hero-select-partner #hero-select-partner-inner h3 {
        margin: 0 auto;
        color: #fff;
        max-width: 35rem; }
      section#hero section#hero-select-partner #hero-select-partner-inner > a {
        float: left;
        width: 7.5%;
        box-sizing: border-box;
        height: 54px;
        line-height: 54px;
        font-size: 1.6rem;
        margin: 13px 0;
        color: #fff;
        user-select: none; }
        section#hero section#hero-select-partner #hero-select-partner-inner > a.left {
          text-align: left; }
        section#hero section#hero-select-partner #hero-select-partner-inner > a.right {
          text-align: right; }
        section#hero section#hero-select-partner #hero-select-partner-inner > a.inactive {
          color: rgba(255, 255, 255, 0.3); }
        section#hero section#hero-select-partner #hero-select-partner-inner > a:hover {
          text-decoration: none !important; }
      section#hero section#hero-select-partner #hero-select-partner-inner section {
        padding: 10px;
        border-radius: 3px;
        background: #fff;
        margin: 10px 0;
        box-sizing: border-box;
        width: 85%;
        height: 70px;
        overflow: hidden;
        float: left; }
        section#hero section#hero-select-partner #hero-select-partner-inner section ul {
          list-style: none;
          padding: 0;
          margin: 0;
          overflow: auto;
          width: 1360px;
          position: relative;
          transition: left 0.3s;
          left: 0px; }
          section#hero section#hero-select-partner #hero-select-partner-inner section ul li {
            float: left;
            height: 50px;
            line-height: 50px;
            vertical-align: middle;
            margin-right: 20px; }
            section#hero section#hero-select-partner #hero-select-partner-inner section ul li:last-child {
              margin-right: 0; }
            section#hero section#hero-select-partner #hero-select-partner-inner section ul li img {
              height: 100%;
              vertical-align: middle; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
a {
  text-decoration: none;
  color: #6a83c1; }
  a:hover {
    color: #7c92c9;
    text-decoration: underline; }

#subjects-new {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 70px;
  margin-top: 1em;
  max-width: 25em; }
  #subjects-new li {
    padding: 10px;
    text-align: center;
    line-height: 20px; }
    #subjects-new li i {
      margin-bottom: 10px;
      color: #555 !important; }

ul#login-providers {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid #ccc;
  border-bottom: none; }
  ul#login-providers li a {
    display: block;
    padding: 1.5em 1em;
    color: #000;
    background: #e6e6e6;
    border-bottom: 1px solid #ccc;
    font-weight: bold; }
    ul#login-providers li a:hover {
      text-decoration: none;
      background: #ddd; }
    ul#login-providers li a:after {
      content: '»';
      float: right; }

footer {
  background: #f0f0f0;
  border-top: 1px solid #ccc;
  color: #000;
  padding: 0 2em;
  margin-top: 3em; }
  footer p {
    margin: 0;
    text-align: center;
    font-size: 0.7em;
    padding: 2em 0; }
    footer p a {
      color: #000; }
  footer nav ul {
    margin: 1em 0;
    padding: 0;
    list-style: none; }
    footer nav ul li {
      padding: 0.25em 0; }
      footer nav ul li a {
        color: #999; }
      footer nav ul li h4 {
        margin: 0;
        color: #F08B31; }
        footer nav ul li h4 a {
          color: #F08B31; }

a.call-to-action {
  background: #F08B31;
  color: #fff;
  display: block;
  margin: 1.5em auto 2em auto;
  padding: 10px;
  border-radius: 3px;
  text-align: center;
  max-width: 15em;
  user-select: none; }

article.extra-info {
  padding: 0 1em;
  max-width: 35em;
  margin: 0 auto; }
  article.extra-info ul {
    padding-left: 1.25em;
    list-style-type: square; }
  article.extra-info h2.institution-title {
    text-align: center; }
  article.extra-info.extra-info-home > h2 {
    text-align: center;
    color: #F08B31;
    font-size: 1.3em;
    margin: 1em 0 0.25em 0; }
  article.extra-info.extra-info-home > h3 {
    text-align: center;
    color: #F08B31;
    font-size: 1.05em;
    margin: 0.25em 0; }
    article.extra-info.extra-info-home > h3.break {
      margin-top: 0.75em; }
  article.extra-info.extra-info-home > img {
    max-width: 100%;
    margin: 0.5em 0; }
  article.extra-info.extra-info-home > p {
    text-align: center;
    margin: 0.25em 0; }
  article.extra-info.extra-info-home > section.course-lengths div {
    text-align: center;
    color: #fff;
    padding: 1em;
    border-bottom: 1px dashed #fff; }
    article.extra-info.extra-info-home > section.course-lengths div.weeks-8 {
      background: #8a480f; }
    article.extra-info.extra-info-home > section.course-lengths div.weeks-16 {
      background: #ae5c13; }
    article.extra-info.extra-info-home > section.course-lengths div.weeks-28 {
      background: #cf6d17; }
    article.extra-info.extra-info-home > section.course-lengths div:first-child {
      border-top-left-radius: 3px;
      border-top-right-radius: 3px; }
    article.extra-info.extra-info-home > section.course-lengths div:last-child {
      border-bottom: none;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px; }
    article.extra-info.extra-info-home > section.course-lengths div h3 {
      margin: 0 0 0.5em 0; }
    article.extra-info.extra-info-home > section.course-lengths div p {
      margin: 0.25em 0; }
  article.extra-info.extra-info-home > ol#itt-route {
    list-style: none;
    margin: 0;
    padding: 0; }
    article.extra-info.extra-info-home > ol#itt-route li {
      background: #e6e6e6;
      padding: 1em;
      border-radius: 3px;
      text-align: center;
      margin: 1em 0;
      position: relative;
      counter-increment: item; }
      article.extra-info.extra-info-home > ol#itt-route li:before {
        content: "Step " counter(item);
        display: block;
        font-weight: bold;
        font-size: 0.8em; }
      article.extra-info.extra-info-home > ol#itt-route li:after {
        content: '';
        display: block;
        width: 4%;
        height: 1em;
        background: #e6e6e6;
        position: absolute;
        bottom: -1em;
        left: 50%; }
      article.extra-info.extra-info-home > ol#itt-route li:last-child:after {
        display: none; }

/* Medium (-md) */
@media screen and (min-width: 48em) {
  p.responsive-small-only {
    display: none !important; }

  p.responsive-large-only {
    display: block !important; }

  header.top-header {
    padding: 0.5em 1em; }

  section#hero-tagline {
    margin-bottom: 100px; }

  section#hero-select-partner #hero-select-partner-inner {
    padding: 20px 2rem !important; }
    section#hero-select-partner #hero-select-partner-inner h3, section#hero-select-partner #hero-select-partner-inner section {
      max-width: none !important; }

  article.extra-info-home > h2 {
    margin-top: 2em !important; } }
form label {
  display: block;
  margin: 0.75em 0; }
  form label:first-of-type {
    margin-top: 0; }
  form label span {
    display: block;
    font-weight: 600; }
    form label span.static {
      font-weight: 300; }
  form label input, form label select, form label textarea {
    display: block;
    padding: 0.25em 0.4em;
    width: 100%;
    box-sizing: border-box; }
  form label textarea.large {
    height: 20em; }
  form label.error span {
    color: #9a3232; }
  form label.error input, form label.error select, form label.error textarea {
    border: 1px solid #9a3232; }
form button {
  outline: none;
  color: #fff;
  background: #888;
  text-align: center;
  border: 1px solid #ddd;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  padding: 0.5rem 3rem;
  margin-top: 0.5em;
  width: 100%; }
  form button:hover {
    background: #aaa; }
form .g-recaptcha > div > div {
  margin: 0 auto; }
form section.school-details {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 1rem;
  margin: 2rem 0; }

@media screen and (min-width: 64em) {
  header.top-header {
    padding: 0.5em 1em 1em 1em; }
    header.top-header > section.header-inner {
      max-width: 60em;
      padding-bottom: 0; }
      header.top-header > section.header-inner > h1 img {
        height: 60px; }
      header.top-header > section.header-inner > h2 {
        margin: 1rem 0 0 0;
        padding: 0 1.5rem;
        font-size: 1.2rem;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis; }
      header.top-header > section.header-inner > nav.top-header-nav {
        display: block !important;
        padding-right: 1rem;
        box-sizing: border-box;
        padding: 2px 0; }
        header.top-header > section.header-inner > nav.top-header-nav > ul {
          overflow: auto;
          float: right;
          border-top: none !important;
          font-size: 15px; }
          header.top-header > section.header-inner > nav.top-header-nav > ul:last-child {
            clear: right; }
          header.top-header > section.header-inner > nav.top-header-nav > ul > li {
            float: left;
            line-height: 28px;
            /* 1/2 height of logo container */ }
            header.top-header > section.header-inner > nav.top-header-nav > ul > li > a, header.top-header > section.header-inner > nav.top-header-nav > ul > li > span {
              border-bottom: none;
              background: none !important;
              padding: 0;
              display: inline;
              float: left;
              /* Collapse whitespace between the link name and the | */
              margin: 0 1em 0 0; }
              header.top-header > section.header-inner > nav.top-header-nav > ul > li > a.break, header.top-header > section.header-inner > nav.top-header-nav > ul > li > span.break {
                margin-left: 1em; }
              header.top-header > section.header-inner > nav.top-header-nav > ul > li > a span.nav-times-large, header.top-header > section.header-inner > nav.top-header-nav > ul > li > span span.nav-times-large {
                display: inline; }
              header.top-header > section.header-inner > nav.top-header-nav > ul > li > a span.nav-times-small, header.top-header > section.header-inner > nav.top-header-nav > ul > li > span span.nav-times-small {
                display: none; }
            header.top-header > section.header-inner > nav.top-header-nav > ul > li > a:hover {
              text-decoration: underline; }
            header.top-header > section.header-inner > nav.top-header-nav > ul > li:last-child > a, header.top-header > section.header-inner > nav.top-header-nav > ul > li:last-child > span {
              margin-right: 0; }
            header.top-header > section.header-inner > nav.top-header-nav > ul > li:last-child::after {
              content: ''; }
    header.top-header section#menu-button {
      display: none; }

  article.extra-info {
    font-size: 18px; }

  footer nav {
    width: 60em; } }
