@charset "UTF-8";
@import url("https://fast.fonts.net/t/1.css?apiType=css&projectid=437b6557-ce99-4f35-97ff-64a93247731f");
@font-face {
  font-family: 'Neue Helvetica W01';
  font-display: swap;
  src: local("Helvetica Neue"), url("/cms/assets/fonts/3dac71eb-afa7-4c80-97f0-599202772905.woff2") format("woff2"), url("/cms/assets/fonts/34e0e4c0-c294-49bb-9a8e-1b2cafd54e32.woff") format("woff");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Neue Helvetica W01';
  font-display: swap;
  src: local("Helvetica Neue Italic"), url("/cms/assets/fonts/21c44514-f4d6-4cff-a5de-e4cac5e61aff.woff2") format("woff2"), url("/cms/assets/fonts/e7c4b231-76ad-47c7-a54b-5d84dcd78d0f.woff") format("woff");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: 'Neue Helvetica W01';
  font-display: swap;
  src: url("/cms/assets/fonts/5b1fbd62-45dc-4433-a7df-a2b24a146411.woff2") format("woff2"), url("/cms/assets/fonts/050b1948-f226-4d20-a65a-15d8ed031222.woff") format("woff");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Neue Helvetica W01';
  font-display: swap;
  src: url("/cms/assets/fonts/657c2fa4-585b-4761-9e2e-65ab13159323.woff2") format("woff2"), url("/cms/assets/fonts/400869f0-f0d5-49a0-8a11-f4fb4279d125.woff") format("woff");
  font-weight: 500;
  font-style: italic; }

@font-face {
  font-family: 'Neue Helvetica W01';
  font-display: swap;
  src: local("Helvetica Neue Bold"), url("/cms/assets/fonts/531c5a28-5575-4f58-96d4-a80f7b702d7b.woff2") format("woff2"), url("/cms/assets/fonts/439c5962-f9fe-4eaf-a1f6-f41d42edba75.woff") format("woff");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Neue Helvetica W01';
  font-display: swap;
  src: local("Helvetica Neue Bold Italic"), url("/cms/assets/fonts/ade4dbae-c607-4c84-a375-f0c4de0cc357.woff2") format("woff2"), url("/cms/assets/fonts/5b864741-6f14-4ed9-a297-27a4d73edf51.woff") format("woff");
  font-weight: 700;
  font-style: italic; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

html {
  font-family: 'Neue Helvetica W01', sans-serif;
  font-size: 62.5%; }

.kss-style {
  font-family: 'Neue Helvetica W01', Georgia, sans-serif; }

body {
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2.5rem;
  background-color: #f1f1f1;
  color: #424242;
  margin: 0;
  min-height: 100vh; }

h1,
h2,
h3,
h4 {
  margin-bottom: 1rem; }

h2 {
  margin-top: 2rem; }

h3 {
  margin-top: 1.5rem; }

h4 {
  margin-top: 1rem; }

.copy-large {
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 3rem; }

a {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #027eb5;
  text-decoration: underline; }
  a:hover, a:active {
    color: #026aa1; }

html {
  overflow-x: hidden; }

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: auto; }

plug-in {
  width: 100%; }

dialog {
  position: absolute; }

iframe {
  border: 0; }

a.btn {
  text-decoration: none; }

p {
  margin-bottom: 1rem; }

strong {
  font-weight: bold; }

.page-loading > .os-loader {
  opacity: 0; }

.os-loader {
  height: 0;
  opacity: 0;
  width: 0; }

.no-bullets {
  list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
  list-style-type: none; }

sup {
  font-size: 66%;
  margin-left: 0.1rem;
  position: relative;
  top: -0.25em;
  vertical-align: top; }

.go-to {
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 3rem;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  color: #027eb5;
  text-decoration: underline;
  font-weight: 500; }
  .go-to:hover, .go-to:active {
    color: #026aa1; }

.go-to,
.with-arrow {
  text-decoration: none; }
  .go-to::after,
  .with-arrow::after {
    content: '▸';
    font-size: 120%;
    padding-left: 0.5em; }
  .go-to.down-page::after,
  .with-arrow.down-page::after {
    display: inline-block;
    margin-left: 0.5em;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: 0.5em 0.4em;
            transform-origin: 0.5em 0.4em; }

.download-link {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem;
  font-weight: 500;
  text-transform: uppercase; }
  .download-link.unavailable {
    color: #026aa1; }

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 0.1rem;
  margin: -0.1rem;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 0.1rem; }

.hidden {
  display: none; }

.hide-until-loaded {
  opacity: 0;
  -webkit-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
  visibility: hidden; }
  .hide-until-loaded.loaded {
    opacity: 1;
    visibility: visible; }

.no-scroll,
.no-scroll-dialog {
  overflow: hidden;
  max-height: 100vh; }

.mac-scroll {
  -webkit-overflow-scrolling: touch; }
  .mac-scroll::-webkit-scrollbar {
    -webkit-appearance: none; }
  .mac-scroll::-webkit-scrollbar:vertical {
    width: 0.8rem; }
  .mac-scroll::-webkit-scrollbar-thumb {
    background-color: rgba(66, 66, 66, 0.3);
    border: thin solid #fff;
    border-radius: 0.8rem; }
  .mac-scroll::-webkit-scrollbar-track {
    background-color: #fff;
    border-radius: 0.8rem; }

.nojs {
  background-color: #098194;
  height: 100vh;
  width: 100vw; }
  .nojs p {
    background-color: #fff;
    left: 50%;
    padding: 5rem 3rem;
    position: absolute;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0); }

#header {
  z-index: 3; }

#lower-sticky-note {
  position: -webkit-sticky;
  position: sticky;
  top: 5rem;
  z-index: 2; }

#microsurvey {
  background-color: #fff;
  border-radius: 0.3rem;
  bottom: 1.5rem;
  -webkit-box-shadow: 0 0.2rem 0.6rem 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.2rem 0.6rem 0 rgba(0, 0, 0, 0.25);
  max-width: 32rem;
  overflow: hidden;
  position: fixed;
  right: 1.5rem;
  z-index: 3; }
  #microsurvey > div:not(:empty) {
    padding: 2.5rem 2.5rem 1.5rem 1.5rem; }
  #microsurvey .put-away {
    height: 2rem;
    line-height: 1.8rem;
    right: 0.7rem;
    top: 0.7rem;
    width: 2rem; }

#main {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  z-index: 0; }
  #main.with-sticky:not(.with-modal) {
    z-index: 1; }
  #main.with-modal {
    z-index: 2; }

#footer {
  z-index: 0; }

#maincontent {
  outline: none; }
  #maincontent:focus {
    -webkit-animation: pulse ease-in 1;
            animation: pulse ease-in 1;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    opacity: 1; }

.page:not([hidden]) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }

.boxed,
.text-content {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%; }
  .boxed.left-justified,
  .text-content.left-justified {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
  .boxed > *,
  .text-content > * {
    max-width: 100%; }

.text-content {
  max-width: 80rem; }

.boxed {
  max-width: 120rem; }

.boxed-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  margin: 0 auto;
  max-width: 120rem;
  width: 100%; }

.no-style.page .boxed {
  margin: 4rem auto 8rem; }
  @media (min-width: 60.0625em) {
    .no-style.page .boxed {
      text-align: center; } }

.subhead {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: normal;
  max-width: 120rem;
  padding: 8rem 1.5rem;
  text-align: center;
  width: 100%; }
  .subhead h1 {
    line-height: 1;
    margin: 0; }

.strips {
  left: 0;
  position: absolute;
  width: 100%; }

[href=""],
[href="#"],
[href*="undefined"] {
  border: 0.3rem solid #c22032; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes pulse {
  from {
    background-color: rgba(0, 36, 105, 0.2); } }

@keyframes pulse {
  from {
    background-color: rgba(0, 36, 105, 0.2); } }

@-webkit-keyframes flyin {
  from {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes flyin {
  from {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes flyout {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); }
  to {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); } }

@keyframes flyout {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); }
  to {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); } }

@-webkit-keyframes loop {
  from {
    -webkit-transform: translate(-1.5rem, -7rem) rotate(0.001deg);
            transform: translate(-1.5rem, -7rem) rotate(0.001deg); }
  to {
    -webkit-transform: translate(0) rotate(0.001deg);
            transform: translate(0) rotate(0.001deg); } }

@keyframes loop {
  from {
    -webkit-transform: translate(-1.5rem, -7rem) rotate(0.001deg);
            transform: translate(-1.5rem, -7rem) rotate(0.001deg); }
  to {
    -webkit-transform: translate(0) rotate(0.001deg);
            transform: translate(0) rotate(0.001deg); } }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

.quote-bucket .image {
  background-repeat: no-repeat; }

.bucket {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .bucket.full {
    text-align: center; }
    @media (max-width: 760px) {
      .bucket.full {
        text-align: left; } }
    .bucket.full .quote {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      @media (max-width: 760px) {
        .bucket.full .quote {
          -webkit-box-align: start;
              -ms-flex-align: start;
                  align-items: flex-start;
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      .bucket.full .quote .blurb {
        margin: 0 auto;
        max-width: 50%; }
        @media (max-width: 760px) {
          .bucket.full .quote .blurb {
            margin: 0;
            max-width: 100%; } }
  .bucket.left > .image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    @media (max-width: 760px) {
      .bucket.left > .image {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  .bucket.left > .quote {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .bucket.right > .image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .bucket.right > .quote {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .bucket .image {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 17rem;
            flex: 1 1 17rem;
    max-width: 47rem; }
    @media (max-width: 760px) {
      .bucket .image {
        max-width: none;
        min-height: 32rem; } }
  .bucket .quote {
    -webkit-box-flex: 2;
        -ms-flex: 2 0;
            flex: 2 0;
    padding: 3rem;
    position: relative; }
    .bucket .quote .title {
      font-size: 4.8rem;
      font-weight: bold;
      letter-spacing: -0.192rem;
      line-height: normal;
      line-height: 5rem;
      display: block;
      max-width: 100%; }
    .bucket .quote .blurb {
      font-size: 1.8rem;
      font-weight: normal;
      letter-spacing: normal;
      line-height: normal;
      line-height: 3rem;
      display: block; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

[role="button"],
button,
.btn {
  border: 0;
  cursor: pointer;
  display: inline-block;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [role="button"]:focus,
  button:focus,
  .btn:focus {
    border-radius: 0.3rem;
    -webkit-box-shadow: 0 0 0.5rem 0.3rem rgba(13, 192, 220, 0.7);
            box-shadow: 0 0 0.5rem 0.3rem rgba(13, 192, 220, 0.7); }
  [role="button"]:hover, [role="button"]:focus,
  button:hover,
  button:focus,
  .btn:hover,
  .btn:focus {
    text-decoration: none; }

button,
.btn {
  background-color: #767676;
  color: #fff;
  font-size: inherit;
  font-weight: 500;
  padding: 1rem;
  text-align: center;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

.btn-large {
  padding: 2.5rem; }

.cta > .btn {
  padding: 1.5rem 2rem;
  text-transform: uppercase; }

.cta > .btn,
.btn-orange {
  background-color: #f36b32;
  border: 0;
  color: #fff; }
  .cta > .btn:active,
  .btn-orange:active {
    background-color: #df571e; }
  .cta > .btn:hover,
  .btn-orange:hover {
    background-color: #e96128; }

.btn-cyan {
  background-color: #0dc0dc; }

.btn-gold {
  background-color: #fdbd3e; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

.strips-and-filter {
  position: relative;
  width: 100%; }
  .strips-and-filter .strips {
    margin-bottom: 0;
    position: absolute;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 1; }

.filter {
  color: #5e6162;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1; }
  @media (max-width: 60em) {
    .filter {
      background-color: #fff;
      border: 0.1rem solid #dbdbdb; } }

.filter-buttons {
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 3rem; }
  @media (max-width: 60em) {
    .filter-buttons {
      height: auto;
      justify-items: right;
      min-height: 5rem; } }
  @media (min-width: 60.0625em) {
    .filter-buttons {
      border: 0.1rem solid #d5d5d5;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      border-radius: 0.2rem;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      height: 5rem;
      padding: 0; }
      .filter-buttons > * {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        text-align: center;
        font-size: 1.6rem;
        font-weight: normal;
        letter-spacing: normal;
        line-height: normal;
        line-height: 2.5rem;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        cursor: pointer;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        height: 5rem;
        margin: 0;
        padding: 0 3rem;
        text-decoration: none;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        white-space: nowrap;
        width: auto;
        border: 0.1rem solid #d5d5d5;
        border-radius: 0.2rem;
        color: #424242;
        font-weight: normal;
        background-color: #f1f1f1;
        background-color: #fff;
        border: 0;
        color: #5e6062;
        font-family: inherit;
        height: 100%;
        margin: 0;
        max-height: 100%;
        white-space: nowrap; }
        .filter-buttons > *.small {
          font-size: 1.4rem;
          font-weight: normal;
          letter-spacing: normal;
          line-height: normal;
          line-height: 2rem;
          height: 3rem;
          padding: 0 2rem; }
        .filter-buttons > *.medium {
          height: 4rem; }
        .filter-buttons > *.wide {
          padding: 0;
          width: calc(100% - 0.5rem); }
        .filter-buttons > *:hover, .filter-buttons > *:focus {
          background-color: #e5e5e5; }
        .filter-buttons > *:active {
          background-color: #dbdbdb; }
        .filter-buttons > *:focus {
          z-index: 1; }
        .filter-buttons > *:not(:last-child) {
          border-right: thin solid #d5d5d5; }
        .filter-buttons > *:hover {
          background-color: #f1f1f1; }
      .filter-buttons :not(:first-child) {
        border-bottom-left-radius: 0;
        border-top-left-radius: 0; }
      .filter-buttons :not(:last-child) {
        border-bottom-right-radius: 0;
        border-top-right-radius: 0; } }
  @media (max-width: 60em) {
    .filter-buttons .filter-button {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 5rem;
      overflow: hidden;
      padding: 0 1.5rem;
      white-space: nowrap; } }
  .filter-buttons .filter-button:focus {
    position: relative;
    z-index: 1; }
  @media (min-width: 60.0625em) {
    .filter-buttons .filter-button[aria-pressed="true"] {
      background-color: #e5e5e5;
      color: #424242;
      -webkit-box-ordinal-group: 1;
          -ms-flex-order: 0;
              order: 0; } }
  @media (max-width: 60em) {
    .filter-buttons .filter-button[aria-pressed="true"] {
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1; } }
  @media (max-width: 60em) {
    .filter-buttons .filter-button:not([aria-pressed="true"]) {
      height: 0;
      opacity: 0;
      padding: 0;
      -webkit-transition: opacity 0.3s;
      -o-transition: opacity 0.3s;
      transition: opacity 0.3s;
      width: 0; }
      .active.filter-buttons .filter-button:not([aria-pressed="true"]) {
        height: 5rem;
        opacity: 1;
        padding-left: 2rem;
        width: 100%; } }
  .filter-buttons .filter-button .on-mobile {
    margin-left: 1.5rem; }
    @media (min-width: 60.0625em) {
      .filter-buttons .filter-button .on-mobile {
        display: none; } }
  .filter-buttons .filter-button .filter-by {
    font-weight: bold;
    margin-right: 0.7rem; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

form label {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem;
  color: #424242; }

form .subhead {
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 3rem;
  text-align: center; }

form [type="submit"] {
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 3rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  float: right;
  margin: 0.84rem 0;
  padding: 1rem 2rem;
  width: 15rem; }

form .control-group {
  margin-bottom: 3rem; }
  form .control-group .invalid-message {
    height: 0;
    overflow: visible; }

form .control-group,
form .radio-control-group {
  -webkit-column-break-inside: avoid;
     page-break-inside: avoid;
          break-inside: avoid; }
  form .control-group > label,
  form .radio-control-group > label {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    form .control-group > label [type="radio"],
    form .control-group > label [type="checkbox"],
    form .radio-control-group > label [type="radio"],
    form .radio-control-group > label [type="checkbox"] {
      margin: 0.5rem 0.5rem 0.5rem 0; }

form .field-label {
  color: #424242;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  min-height: 2rem; }

form fieldset {
  border: 0; }

form .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem;
  color: #c22032;
  display: block; }

form.labeled-inputs {
  border: 0;
  border-spacing: 0.5rem;
  display: table; }
  form.labeled-inputs label,
  form.labeled-inputs .form-item {
    color: #002469;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    form.labeled-inputs label > span,
    form.labeled-inputs label > input,
    form.labeled-inputs .form-item > span,
    form.labeled-inputs .form-item > input {
      font-weight: 500; }
    form.labeled-inputs label > span,
    form.labeled-inputs .form-item > span {
      -ms-flex-preferred-size: 11rem;
          flex-basis: 11rem; }
    form.labeled-inputs label > input,
    form.labeled-inputs .form-item > input {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }

form.labeled-buttons {
  border: 0; }
  form.labeled-buttons > label {
    display: block; }

form .labeled-buttons label {
  display: block; }
  form .labeled-buttons label .short {
    height: 2.1rem;
    width: 8rem; }

form .validation-message {
  display: none; }

form .invalid > .validation-message {
  background-color: none;
  color: #c22032;
  display: block; }

form .field-long-label {
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2.5rem;
  color: #424242;
  display: block; }

form [type="text"],
form [type="url"],
form [type="number"],
form [type="email"],
form [type="date"],
form textarea,
form .selected-button {
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0.1rem solid #d5d5d5;
  border-radius: 0;
  display: inline-block;
  font-weight: 500;
  height: 5rem;
  overflow: hidden;
  padding: 0.84rem;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%; }
  form [type="text"]:focus,
  form [type="url"]:focus,
  form [type="number"]:focus,
  form [type="email"]:focus,
  form [type="date"]:focus,
  form textarea:focus,
  form .selected-button:focus {
    border: thin solid #0dc0dc;
    -webkit-box-shadow: 0 0 0.4rem 0 rgba(13, 192, 220, 0.5);
            box-shadow: 0 0 0.4rem 0 rgba(13, 192, 220, 0.5);
    outline: 0; }

form :not(output):invalid {
  -webkit-box-shadow: none;
          box-shadow: none; }

form.submitted :not(output):invalid,
form.submitted [type="text"]:invalid,
form.submitted [type="url"]:invalid,
form.submitted [type="number"]:invalid,
form.submitted [type="email"]:invalid,
form.submitted [type="date"]:invalid,
form.submitted textarea:invalid,
form.submitted .selected-button:invalid {
  background-color: #f8e8ea;
  border: thin solid #c22032;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #c22032;
  outline: 0; }
  form.submitted :not(output):invalid ~ .invalid-message,
  form.submitted [type="text"]:invalid ~ .invalid-message,
  form.submitted [type="url"]:invalid ~ .invalid-message,
  form.submitted [type="number"]:invalid ~ .invalid-message,
  form.submitted [type="email"]:invalid ~ .invalid-message,
  form.submitted [type="date"]:invalid ~ .invalid-message,
  form.submitted textarea:invalid ~ .invalid-message,
  form.submitted .selected-button:invalid ~ .invalid-message {
    color: #c22032;
    display: block; }

form.submitted [type="checkbox"]:invalid,
form.submitted [type="radio"]:invalid {
  -webkit-box-shadow: 0 0 0.2rem 0.1rem #c22032;
          box-shadow: 0 0 0.2rem 0.1rem #c22032; }

form textarea {
  height: 21.42rem;
  overflow-y: auto;
  white-space: normal; }

form .select-instructions {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem;
  color: #6f6f6f;
  display: block;
  font-style: italic; }

form [type="date"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

form .btn {
  margin-top: 3rem; }

form .wrapper {
  background-color: #f1f1f1; }
  form .wrapper .strips {
    margin-bottom: 0; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

.hero {
  background-color: #fff;
  padding: 6rem 1.5rem;
  text-align: left; }
  @media (min-width: 60.0625em) {
    .hero {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      text-align: center; } }
  .hero.w-cards {
    padding: 1.5rem; }
  .hero h1 {
    color: inherit;
    margin-bottom: 1rem;
    margin-top: 0; }
    .hero h1 ~ p {
      margin-top: 3rem; }
  .hero h2 {
    font-size: 4.8rem;
    font-weight: bold;
    letter-spacing: -0.192rem;
    line-height: normal;
    line-height: 5rem;
    color: inherit; }
  .hero p {
    margin: 2rem auto 0;
    max-width: calc(80rem - 3rem); }
  .hero .cta {
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: normal;
    line-height: normal;
    line-height: 2rem;
    font-weight: bold;
    text-transform: capitalize; }
  .hero .boxed p,
  .hero .container p {
    font-size: 1.8rem;
    font-weight: normal;
    letter-spacing: normal;
    line-height: normal;
    line-height: 3rem;
    margin: 0 auto;
    max-width: 100%;
    width: 100%; }
  .hero .boxed p p,
  .hero .container p p {
    margin: 0;
    max-width: 100%; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

.initial-load.page-loaded #header,
.initial-load.page-loaded #main,
.initial-load.page-loaded #footer,
.page-loading.page-loaded #header,
.page-loading.page-loaded #main,
.page-loading.page-loaded #footer {
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.initial-load .os-loader,
.page-loading .os-loader {
  background-color: #f1f1f1;
  bottom: 0;
  height: 100vh;
  left: 0;
  opacity: 1;
  overflow: hidden;
  -webkit-perspective: 100rem;
          perspective: 100rem;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
  width: 100vw;
  z-index: 200; }
  .page-loaded.initial-load .os-loader, .page-loading .os-loader {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    -webkit-transition: opacity 0.5s 0.3s, -webkit-transform 0.2s 0.2s;
    transition: opacity 0.5s 0.3s, -webkit-transform 0.2s 0.2s;
    -o-transition: opacity 0.5s 0.3s, transform 0.2s 0.2s;
    transition: opacity 0.5s 0.3s, transform 0.2s 0.2s;
    transition: opacity 0.5s 0.3s, transform 0.2s 0.2s, -webkit-transform 0.2s 0.2s; }
  .initial-load .os-loader .os-overlay,
  .page-loading .os-loader .os-overlay {
    background-color: #fff;
    background-size: 200% 100%;
    height: 100vh;
    left: 0;
    position: absolute;
    top: 0;
    width: 100vw; }
  .initial-load .os-loader .os-loader--inner,
  .page-loading .os-loader .os-loader--inner {
    height: 10rem;
    left: 50%;
    margin-left: -5rem;
    margin-top: -5rem;
    position: absolute;
    top: 50%;
    width: 10rem; }
    .initial-load .os-loader .os-loader--inner svg,
    .page-loading .os-loader .os-loader--inner svg {
      -webkit-animation: loadSvg 0.3s forwards 0.3s;
              animation: loadSvg 0.3s forwards 0.3s;
      display: block;
      height: 100%;
      margin: 0 auto;
      opacity: 0;
      position: relative;
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transform-origin: center;
              transform-origin: center;
      width: 5rem; }

@-webkit-keyframes loadSvg {
  from {
    -webkit-transform: scale(0);
            transform: scale(0); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes loadSvg {
  from {
    -webkit-transform: scale(0);
            transform: scale(0); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
      .initial-load .os-loader .os-loader--inner svg *,
      .page-loading .os-loader .os-loader--inner svg * {
        -webkit-animation: fadeIn 0.3s forwards;
                animation: fadeIn 0.3s forwards; }
      .initial-load .os-loader .os-loader--inner svg .os-green,
      .initial-load .os-loader .os-loader--inner svg .os-orange,
      .initial-load .os-loader .os-loader--inner svg .os-gray,
      .initial-load .os-loader .os-loader--inner svg .os-yellow,
      .initial-load .os-loader .os-loader--inner svg .os-blue,
      .page-loading .os-loader .os-loader--inner svg .os-green,
      .page-loading .os-loader .os-loader--inner svg .os-orange,
      .page-loading .os-loader .os-loader--inner svg .os-gray,
      .page-loading .os-loader .os-loader--inner svg .os-yellow,
      .page-loading .os-loader .os-loader--inner svg .os-blue {
        -webkit-animation-delay: 0.5s;
                animation-delay: 0.5s; }
      .initial-load .os-loader .os-loader--inner svg .os-green,
      .page-loading .os-loader .os-loader--inner svg .os-green {
        -webkit-animation: moveGreen 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.5s infinite alternate;
                animation: moveGreen 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.5s infinite alternate;
        -webkit-transform-origin: center left;
                transform-origin: center left; }

@-webkit-keyframes moveGreen {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(0.96593, -0.25882, 0.25882, 0.96593, 0, -18);
            transform: matrix(0.96593, -0.25882, 0.25882, 0.96593, 0, -18); } }

@keyframes moveGreen {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(0.96593, -0.25882, 0.25882, 0.96593, 0, -18);
            transform: matrix(0.96593, -0.25882, 0.25882, 0.96593, 0, -18); } }
      .initial-load .os-loader .os-loader--inner svg .os-orange,
      .page-loading .os-loader .os-loader--inner svg .os-orange {
        -webkit-animation: moveOrange 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.5s infinite alternate;
                animation: moveOrange 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.5s infinite alternate;
        -webkit-transform-origin: center right;
                transform-origin: center right; }

@-webkit-keyframes moveOrange {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(0.99452, 0.10453, -0.10453, 0.99452, 0, -14);
            transform: matrix(0.99452, 0.10453, -0.10453, 0.99452, 0, -14); } }

@keyframes moveOrange {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(0.99452, 0.10453, -0.10453, 0.99452, 0, -14);
            transform: matrix(0.99452, 0.10453, -0.10453, 0.99452, 0, -14); } }
      .initial-load .os-loader .os-loader--inner svg .os-gray,
      .page-loading .os-loader .os-loader--inner svg .os-gray {
        -webkit-animation: moveGray 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.5s infinite alternate;
                animation: moveGray 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.5s infinite alternate;
        -webkit-transform-origin: center right;
                transform-origin: center right; }

@-webkit-keyframes moveGray {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(0.99863, 0.05234, -0.05234, 0.99863, 0, -8);
            transform: matrix(0.99863, 0.05234, -0.05234, 0.99863, 0, -8); } }

@keyframes moveGray {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(0.99863, 0.05234, -0.05234, 0.99863, 0, -8);
            transform: matrix(0.99863, 0.05234, -0.05234, 0.99863, 0, -8); } }
      .initial-load .os-loader .os-loader--inner svg .os-yellow,
      .page-loading .os-loader .os-loader--inner svg .os-yellow {
        -webkit-animation: moveYellow 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.6s infinite alternate;
                animation: moveYellow 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.6s infinite alternate;
        -webkit-transform-origin: center right;
                transform-origin: center right; }

@-webkit-keyframes moveYellow {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(1, 0, 0, 1, 0, -8);
            transform: matrix(1, 0, 0, 1, 0, -8); } }

@keyframes moveYellow {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(1, 0, 0, 1, 0, -8);
            transform: matrix(1, 0, 0, 1, 0, -8); } }
      .initial-load .os-loader .os-loader--inner svg .os-blue,
      .page-loading .os-loader .os-loader--inner svg .os-blue {
        -webkit-animation: moveBlue 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.5s infinite alternate;
                animation: moveBlue 0.6s cubic-bezier(0.81, 0.41, 0.13, 0.74) 0.5s infinite alternate;
        -webkit-transform-origin: center;
                transform-origin: center; }

@-webkit-keyframes moveBlue {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(0.99863, 0.05234, -0.05234, 0.99863, 0, -4);
            transform: matrix(0.99863, 0.05234, -0.05234, 0.99863, 0, -4); } }

@keyframes moveBlue {
  from {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
            transform: matrix(1, 0, 0, 1, 0, 0); }
  to {
    -webkit-transform: matrix(0.99863, 0.05234, -0.05234, 0.99863, 0, -4);
            transform: matrix(0.99863, 0.05234, -0.05234, 0.99863, 0, -4); } }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }


[type="radio"] {
  -webkit-appearance: none;
  border-radius: 100%;
  display: inline-block;
  height: 2rem;
  max-width: 2rem;
  outline: none;
  padding: 0; }
  
  [type="radio"]::before {
    background: #fff;
    border: 0.1rem solid #8b8b8b;
    border-radius: 100%;
    -webkit-box-shadow: inset 0 0.1em 0.1rem -0.1em #f1f1f1;
            box-shadow: inset 0 0.1em 0.1rem -0.1em #f1f1f1;
    content: '';
    display: block;
    height: 2rem;
    width: 2rem; }
  
  [type="radio"]:checked::before {
    background: #fff;
    border-color: #8b8b8b; }
  
  [type="radio"]:disabled::before {
    background-color: #d5d5d5;
    border-color: rgba(139, 139, 139, 0.8);
    cursor: not-allowed; }
  
  [type="radio"]::after {
    background: #0dc0dc;
    border-radius: 100%;
    -webkit-box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
            box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
    content: '';
    display: block;
    height: 0;
    left: 0.1rem;
    position: relative;
    top: -2.1rem;
    width: 0; }
  
  [type="radio"]:checked::after {
    height: 2rem;
    width: 2rem; }
  
  [type="radio"]:disabled::after {
    background: rgba(13, 192, 220, 0.6); }

.btn.btn-social {
  -ms-flex-line-pack: center;
      align-content: center;
  border: 0;
  border-radius: 50%;
  display: grid;
  font-size: 1.6rem;
  height: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  padding: 0;
  width: 3rem; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

.with-tooltip {
  cursor: default;
  display: block;
  position: relative; }
  .with-tooltip .tooltip {
    height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    text-align: left; }
  .with-tooltip:hover .tooltip {
    background-color: #fff;
    -webkit-box-shadow: 0 0.1rem 0.3rem 0.2rem rgba(94, 97, 98, 0.9);
            box-shadow: 0 0.1rem 0.3rem 0.2rem rgba(94, 97, 98, 0.9);
    cursor: default;
    display: block;
    height: auto;
    left: 0;
    opacity: 1;
    overflow: visible;
    padding: 2rem;
    top: 4rem;
    -webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
    transition: opacity 0.2s, -webkit-transform 0.2s;
    -o-transition: opacity 0.2s, transform 0.2s;
    transition: opacity 0.2s, transform 0.2s;
    transition: opacity 0.2s, transform 0.2s, -webkit-transform 0.2s;
    width: auto;
    z-index: 10; }
    .with-tooltip:hover .tooltip::before {
      border: 2rem solid;
      border-color: transparent transparent #fff;
      bottom: 100%;
      content: '';
      left: 50%;
      margin-left: -2rem;
      position: absolute; }

.hero h1 {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: -0.24rem;
  line-height: normal;
  line-height: 6rem; }

h1 {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: -0.192rem;
  line-height: normal;
  line-height: 5rem; }

h2 {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: -0.144rem;
  line-height: normal;
  line-height: 4rem; }

h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: -0.096rem;
  line-height: normal;
  line-height: 3rem; }

h4 {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: -0.072rem;
  line-height: normal;
  line-height: 2.5rem; }

form.submitted :not(output):invalid ~ .invalid-message,
form.submitted [type="text"]:invalid ~ .invalid-message,
form.submitted [type="url"]:invalid ~ .invalid-message,
form.submitted [type="number"]:invalid ~ .invalid-message,
form.submitted [type="email"]:invalid ~ .invalid-message,
form.submitted [type="date"]:invalid ~ .invalid-message,
form.submitted textarea:invalid ~ .invalid-message,
form.submitted .selected-button:invalid ~ .invalid-message {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  line-height: 2rem; }

.tutor .hero h1, .hero .tutor h1 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5rem;
  letter-spacing: -0.192rem; }

.tutor h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  letter-spacing: -0.144rem; }

.tutor h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  letter-spacing: -0.096rem; }

.tutor h3 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.056rem;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: uppercase; }

.tutor h4 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.5rem;
  letter-spacing: -0.064rem; }

.tag-multi-select {
  background-color: white;
  border: 0.1rem solid #d5d5d5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 5rem;
  min-width: 12rem;
  padding-right: 5rem;
  position: relative; }
  .tag-multi-select .tag-list {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  .tag-multi-select .activate-pulldown {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0; }

/*# sourceMappingURL=main.css.map */
