/**
 * Mixin for fluid type.
 * Example usage: @include fluid-type(font-size, 320px, 1600px, 32px, 80px);
 */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
:host {
  display: block;
}
.hy-heading__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  width: 100%;
}
@media (min-width: 30rem) {
  .hy-heading__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
.hy-heading__container__subsection {
  padding: 2.5rem 0 1.375rem;
}
@media (min-width: 30rem) {
  .hy-heading__container__subsection {
    padding: 4rem 0 2.375rem;
  }
}
.hy-heading__container h1.hy-heading__default {
  margin-bottom: 12px;
}
@media (min-width: 1601px) {
  .hy-heading__container h1.hy-heading__default {
    margin-bottom: 16px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-heading__container h1.hy-heading__default__large {
    margin-bottom: 16px;
  }
}
.hy-heading__container h1.hy-heading__search {
  margin-bottom: 0;
  padding: 16px 0 0;
}
@media (min-width: 30rem) {
  .hy-heading__container h1.hy-heading__search {
    padding: 28px 0 0;
  }
}
@media (min-width: 60rem) {
  .hy-heading__container h1.hy-heading__search {
    padding: 32px 0 0;
  }
}
@media (min-width: 75.0625rem) {
  .hy-heading__container h1.hy-heading__search__large {
    padding: 40px 0 0;
  }
}
.hy-heading__container h2,
.hy-heading__container h3,
.hy-heading__container h4,
.hy-heading__container h5,
.hy-heading__container h6 {
  padding: 1.5rem 0 1rem;
}
@media (min-width: 30rem) {
  .hy-heading__container h2,
  .hy-heading__container h3,
  .hy-heading__container h4,
  .hy-heading__container h5,
  .hy-heading__container h6 {
    padding: 2rem 0 1rem;
  }
}
.hy-heading__container.hy-heading__introduction {
  padding-top: 0;
}
.hy-heading__container .hy-heading__courses {
  padding-top: 0;
}
.hy-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  max-width: 100%;
  width: auto;
}
/*
  Headers (ex. h2, h3) used in Content pages (no caps and line).
*/
.hy-heading__subsection--divider,
.hy-heading__contentsection--divider {
  -ms-flex-negative: 2;
  flex-shrink: 2;
  overflow: hidden;
  width: 100%;
}
.hy-heading__subsection--divider:after,
.hy-heading__contentsection--divider:after {
  background-color: transparent;
  border-bottom: 6px solid var(--grayscale-dark);
  content: " ";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2px;
  width: 100%;
  margin-left: 0;
  margin-bottom: 0.5rem;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (min-width: 30rem) {
  .hy-heading__subsection--divider:after,
  .hy-heading__contentsection--divider:after {
    margin-left: 2rem;
    border-bottom: 1px solid var(--grayscale-dark);
    margin-bottom: 1rem;
  }
}
h2.hy-heading__introduction,
h2.hy-heading__landingsection {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-32);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-tight);
  line-height: 36px;
  -ms-hyphens: auto;
  hyphens: auto;
  font-stretch: var(--ds-fontWidth-normal);
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h2.hy-heading__introduction,
  h2.hy-heading__landingsection {
    font-size: var(--ds-fontSize-48);
    line-height: 52px;
    font-stretch: var(--ds-fontWidth-condense);
  }
}
h1.hy-heading__hero {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-40);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: -1.2px;
  font-stretch: var(--ds-fontWidth-normal);
  line-height: 48px;
  text-transform: uppercase;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h1.hy-heading__hero {
    font-size: var(--ds-fontSize-56);
    letter-spacing: var(--ds-letterSpacing-tight);
    line-height: 64px;
    font-stretch: var(--ds-fontWidth-condense);
  }
}
.hy-heading__container__common h2.hy-heading__introduction,
.hy-heading__container__common h2.hy-heading__landingsection {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-32);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-tight);
  line-height: 36px;
  -ms-hyphens: auto;
  hyphens: auto;
  font-stretch: var(--ds-fontWidth-normal);
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  .hy-heading__container__common h2.hy-heading__introduction,
  .hy-heading__container__common h2.hy-heading__landingsection {
    font-size: var(--ds-fontSize-48);
    line-height: 52px;
    font-stretch: var(--ds-fontWidth-condense);
  }
}
.hy-heading__container__common h2.hy-heading__contentsection {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-24);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-normal);
  line-height: 28px;
  -ms-hyphens: auto;
  hyphens: auto;
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  .hy-heading__container__common h2.hy-heading__contentsection {
    font-size: var(--ds-fontSize-32);
    font-weight: var(--ds-fontWeight-semiboldPlus);
    letter-spacing: var(--ds-letterSpacing-tight);
    line-height: 36px;
  }
}
.hy-heading__container__common h3.hy-heading {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-20);
  font-weight: var(--ds-fontWeight-semiboldPlus);
  letter-spacing: var(--ds-letterSpacing-normal);
  line-height: 28px;
  -ms-hyphens: auto;
  hyphens: auto;
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  .hy-heading__container__common h3.hy-heading {
    font-size: var(--ds-fontSize-24);
    line-height: 24px;
  }
}
.hy-heading__container__common h2.hy-heading__introduction {
  padding: 0 0 12px;
}
@media (min-width: 30rem) {
  .hy-heading__container__common h2.hy-heading__introduction {
    padding: 0 0 1rem;
  }
}
.hy-heading__container__common h2.hy-heading__landingsection,
.hy-heading__container__common h2.hy-heading__contentsection {
  padding-bottom: 24px;
}
@media (min-width: 30rem) {
  .hy-heading__container__common h2.hy-heading__landingsection,
  .hy-heading__container__common h2.hy-heading__contentsection {
    padding-bottom: 28px;
  }
}
@media (min-width: 60rem) {
  .hy-heading__container__common h2.hy-heading__landingsection,
  .hy-heading__container__common h2.hy-heading__contentsection {
    padding-bottom: 32px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-heading__container__common h2.hy-heading__landingsection,
  .hy-heading__container__common h2.hy-heading__contentsection {
    padding-bottom: 32px;
  }
}
@media (min-width: 1601px) {
  .hy-heading__container__common h2.hy-heading__landingsection,
  .hy-heading__container__common h2.hy-heading__contentsection {
    padding-bottom: 40px;
  }
}
.hy-heading__container__common h2.hy-heading__group_footer_info {
  font-size: 1.5rem;
  line-height: 28px;
  font-weight: 700;
  letter-spacing: -0.6px;
  text-transform: uppercase;
}
@media (min-width: 30rem) {
  .hy-heading__container__common h2.hy-heading__group_footer_info {
    letter-spacing: -0.8px;
  }
}
@media (min-width: 1601px) {
  .hy-heading__container__common h2.hy-heading__group_footer_info {
    font-size: 1.625rem;
    line-height: 30px;
  }
}
.hy-heading__container__common h2.hy-heading__footer_info {
  font-size: 1.75rem;
  line-height: 32px;
  font-weight: 700;
  letter-spacing: -0.7px;
  text-transform: uppercase;
}
@media (min-width: 30rem) {
  .hy-heading__container__common h2.hy-heading__footer_info {
    font-size: 2.125rem;
    line-height: 40px;
    letter-spacing: -0.85px;
  }
}
@media (min-width: 1601px) {
  .hy-heading__container__common h2.hy-heading__footer_info {
    font-size: 2.625rem;
    line-height: 48px;
    letter-spacing: -1.05px;
  }
}
.hy-heading__container__large h2.hy-heading__introduction,
.hy-heading__container__large h2.hy-heading__landingsection {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-32);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-tight);
  line-height: 36px;
  -ms-hyphens: auto;
  hyphens: auto;
  font-stretch: var(--ds-fontWidth-normal);
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  .hy-heading__container__large h2.hy-heading__introduction,
  .hy-heading__container__large h2.hy-heading__landingsection {
    font-size: var(--ds-fontSize-48);
    line-height: 52px;
    font-stretch: var(--ds-fontWidth-condense);
  }
}
@media (min-width: 75.0625rem) {
  .hy-heading__container__large h2.hy-heading__introduction {
    padding: 0 0 1rem;
  }
}
@media (min-width: 1601px) {
  .hy-heading__container__large h2.hy-heading__introduction {
    padding: 0 0 20px;
  }
}
.hy-heading__container__large h2.hy-heading__landingsection,
.hy-heading__container__large h2.hy-heading__contentsection {
  padding-bottom: 24px;
}
@media (min-width: 30rem) {
  .hy-heading__container__large h2.hy-heading__landingsection,
  .hy-heading__container__large h2.hy-heading__contentsection {
    padding-bottom: 28px;
  }
}
@media (min-width: 60rem) {
  .hy-heading__container__large h2.hy-heading__landingsection,
  .hy-heading__container__large h2.hy-heading__contentsection {
    padding-bottom: 32px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-heading__container__large h2.hy-heading__landingsection,
  .hy-heading__container__large h2.hy-heading__contentsection {
    padding-bottom: 40px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-heading__container__large h1.hy-heading__landing_minor {
    font-size: 3.25rem;
    line-height: 60px;
    letter-spacing: -1.3px;
  }
}
.hy-heading__container__large h1.hy-heading__frontpage,
.hy-heading__container__large h1.hy-heading__landing_major {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-32);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-tight);
  line-height: 36px;
  -ms-hyphens: auto;
  hyphens: auto;
  font-stretch: var(--ds-fontWidth-normal);
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  .hy-heading__container__large h1.hy-heading__frontpage,
  .hy-heading__container__large h1.hy-heading__landing_major {
    font-size: var(--ds-fontSize-48);
    line-height: 52px;
    font-stretch: var(--ds-fontWidth-condense);
  }
}
.hy-heading__container__large h2.hy-heading__group_footer_info {
  font-size: 1.5rem;
  line-height: 28px;
  font-weight: 700;
  letter-spacing: -0.6px;
  text-transform: uppercase;
}
@media (min-width: 30rem) {
  .hy-heading__container__large h2.hy-heading__group_footer_info {
    letter-spacing: -0.8px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-heading__container__large h2.hy-heading__group_footer_info {
    font-size: 1.625rem;
    line-height: 30px;
  }
}
.hy-heading__container__large h2.hy-heading__footer_info {
  font-size: 1.75rem;
  line-height: 32px;
  font-weight: 700;
  letter-spacing: -0.7px;
  text-transform: uppercase;
}
@media (min-width: 30rem) {
  .hy-heading__container__large h2.hy-heading__footer_info {
    font-size: 2.125rem;
    line-height: 40px;
    letter-spacing: -0.85px;
  }
}
@media (min-width: 75.0625rem) {
  .hy-heading__container__large h2.hy-heading__footer_info {
    font-size: 2.625rem;
    line-height: 48px;
    letter-spacing: -1.05px;
  }
}
h3.hy-heading__landingsection {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-24);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-normal);
  line-height: 28px;
  -ms-hyphens: auto;
  hyphens: auto;
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h3.hy-heading__landingsection {
    font-size: var(--ds-fontSize-32);
    font-weight: var(--ds-fontWeight-semiboldPlus);
    letter-spacing: var(--ds-letterSpacing-tight);
    line-height: 36px;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--brand-main-nearly-black);
  font-family: var(--main-font-family);
  font-weight: 700;
  padding: 0;
  margin: 0;
  width: 100%;
}
h1.negative,
h2.negative,
h3.negative,
h4.negative,
h5.negative,
h6.negative {
  color: var(--grayscale-white);
}
h1 {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-32);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-tight);
  line-height: 36px;
  -ms-hyphens: auto;
  hyphens: auto;
  font-stretch: var(--ds-fontWidth-normal);
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h1 {
    font-size: var(--ds-fontSize-48);
    line-height: 52px;
    font-stretch: var(--ds-fontWidth-condense);
  }
}
h2 {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-24);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-normal);
  line-height: 28px;
  -ms-hyphens: auto;
  hyphens: auto;
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h2 {
    font-size: var(--ds-fontSize-32);
    font-weight: var(--ds-fontWeight-semiboldPlus);
    letter-spacing: var(--ds-letterSpacing-tight);
    line-height: 36px;
  }
}
h3 {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-20);
  font-weight: var(--ds-fontWeight-semiboldPlus);
  letter-spacing: var(--ds-letterSpacing-normal);
  line-height: 28px;
  -ms-hyphens: auto;
  hyphens: auto;
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h3 {
    font-size: var(--ds-fontSize-24);
    line-height: 24px;
  }
}
h4 {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-18);
  font-weight: var(--ds-fontWeight-semibold);
  letter-spacing: var(--ds-letterSpacing-normal);
  line-height: 20px;
  -ms-hyphens: auto;
  hyphens: auto;
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h4 {
    font-size: var(--ds-fontSize-20);
    line-height: 24px;
  }
}
h5 {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-16);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-normal);
  line-height: 18px;
  -ms-hyphens: auto;
  hyphens: auto;
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h5 {
    font-size: var(--ds-fontSize-18);
    line-height: 20px;
  }
}
h6 {
  color: var(--ds-palette-black-95);
  font-family: var(--ds-fontFamily-heading);
  font-size: var(--ds-fontSize-16);
  font-weight: var(--ds-fontWeight-bold);
  letter-spacing: var(--ds-letterSpacing-normal);
  line-height: 18px;
  -ms-hyphens: auto;
  hyphens: auto;
  text-transform: none;
  text-wrap: balance;
}
@media (min-width: 60rem) {
  h6 {
    font-size: var(--ds-fontSize-18);
    line-height: 20px;
  }
}