/*
From terminal, run:
    npm run compile:sass
This will compile the SCSS code to CSS code according to the compile:sass 
script in the package.json file.  If the -w flag is on in that script, 
the script will watch the code and make updates live.

NEED TO FIND NPM PACKAGE TO AUTO ADD VENDOR PREFIXES
*/
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  font-size: 62.5%; }
  @media (min-width: 112.5em) {
    html {
      font-size: 67.5%; } }
  @media (max-width: 85em) {
    html {
      font-size: 55%; } }
  @media (max-width: 62.5em) {
    html {
      font-size: 42.5%; } }
  @media (max-width: 37.5em) {
    html {
      font-size: 37.5%; } }

body {
  height: 100vh;
  font-family: Poppins, Arial, sans-serif;
  font-weight: 400;
  background-color: #f7f7f7;
  color: #272727;
  position: relative;
  overflow-y: scroll; }
  body.light {
    color: #272727; }

@font-face {
  font-family: GeneralSans;
  font-weight: 100;
  src: url("/fonts/GeneralSans-Extralight.ttf"); }

@font-face {
  font-family: GeneralSans;
  font-weight: 200;
  src: url("/fonts/GeneralSans-Light.ttf"); }

@font-face {
  font-family: GeneralSans;
  font-weight: 300;
  src: url("/fonts/GeneralSans-Regular.ttf"); }

@font-face {
  font-family: GeneralSans;
  font-weight: 400;
  src: url("/fonts/GeneralSans-Medium.ttf"); }

@font-face {
  font-family: GeneralSans;
  font-weight: 500;
  src: url("/fonts/GeneralSans-Semibold.ttf"); }

@font-face {
  font-family: GeneralSans;
  font-weight: 600;
  src: url("/fonts/GeneralSans-Bold.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 100;
  src: url("/fonts/Poppins-Thin.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 200;
  src: url("/fonts/Poppins-ExtraLight.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 300;
  src: url("/fonts/Poppins-Light.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 400;
  src: url("/fonts/Poppins-Regular.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 500;
  src: url("/fonts/Poppins-Medium.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 600;
  src: url("/fonts/Poppins-SemiBold.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 700;
  src: url("/fonts/Poppins-Bold.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 800;
  src: url("/fonts/Poppins-ExtraBold.ttf"); }

@font-face {
  font-family: Poppins;
  font-weight: 900;
  src: url("/fonts/Poppins-Black.ttf"); }

.skewed-highlight-box {
  position: relative; }
  .skewed-highlight-box::after {
    content: "";
    position: absolute;
    width: 110%;
    height: 100%;
    bottom: 0;
    left: -5%;
    background-color: #ffad34;
    transform: rotate(-4deg);
    z-index: -1; }

.highlight-text {
  font-weight: 600; }

.accent {
  color: #ffad34; }

.italic {
  font-style: italic; }

.inline-link {
  text-decoration: none;
  color: inherit;
  font-weight: 600; }
  .inline-link a:link,
  .inline-link a:visited {
    text-decoration: none;
    color: inherit; }
  .inline-link:hover {
    color: #ffad34; }

.block-style-1 {
  padding: 8rem 25rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, auto);
  row-gap: 8rem; }
  @media (max-width: 37.5em) {
    .block-style-1 {
      padding: 8rem 4rem;
      row-gap: 4rem; } }
  .block-style-1__heading {
    grid-row: 1;
    grid-column: 1/-1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-size: 3.2rem;
    font-weight: 200; }
    @media (max-width: 37.5em) {
      .block-style-1__heading {
        font-size: 2rem; } }
  .block-style-1__paragraph {
    grid-row: 2;
    grid-column: 3/-1;
    font-size: 1.6rem;
    font-weight: 200; }
    @media (max-width: 37.5em) {
      .block-style-1__paragraph {
        font-size: 1.2rem; } }
    .block-style-1__paragraph p {
      line-height: 250%;
      margin-bottom: 3.5rem; }
      @media (max-width: 37.5em) {
        .block-style-1__paragraph p {
          line-height: 200%;
          margin-bottom: 2rem; } }
      .block-style-1__paragraph p:last-child {
        margin-bottom: 0; }

.block-style-2 {
  padding: 15rem 25rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  row-gap: 8rem;
  column-gap: 4rem; }
  @media (max-width: 37.5em) {
    .block-style-2 {
      grid-template-rows: repeat(3, auto);
      row-gap: 4rem;
      padding: 10rem 5rem;
      justify-items: center; } }
  .block-style-2__primary {
    grid-row: 1;
    grid-column: 1/-1;
    font-size: 3.2rem;
    font-weight: 200;
    justify-self: center; }
    @media (max-width: 37.5em) {
      .block-style-2__primary {
        font-size: 2.4rem; } }
  .block-style-2__secondary {
    grid-row: 2;
    font-size: 1.6rem;
    font-weight: 200; }
    @media (max-width: 37.5em) {
      .block-style-2__secondary {
        font-size: 1.4rem; } }
    .block-style-2__secondary p {
      line-height: 150%; }
    .block-style-2__secondary--left {
      grid-column: 1; }
      @media (max-width: 37.5em) {
        .block-style-2__secondary--left {
          grid-column: 1/-1;
          grid-row: 2; } }
    .block-style-2__secondary--right {
      grid-column: 2; }
      @media (max-width: 37.5em) {
        .block-style-2__secondary--right {
          grid-column: 1/-1;
          grid-row: 3; } }

.block-style-3 {
  padding: 10rem 25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: end;
  text-align: right; }
  @media (max-width: 62.5em) {
    .block-style-3 {
      padding: 8rem 5rem; } }
  .block-style-3.left {
    align-items: start;
    text-align: left; }
    .block-style-3.left .block-style-3__content {
      align-self: end;
      text-align: left; }
    .block-style-3.left .block-style-3__heading--title {
      border-bottom: 1px solid #272727; }
  .block-style-3__heading {
    display: flex;
    flex-direction: column;
    width: 55%;
    margin-bottom: 5rem; }
    @media (max-width: 62.5em) {
      .block-style-3__heading {
        width: 85%; } }
    .block-style-3__heading--title-container {
      text-align: inherit; }
    .block-style-3__heading--title {
      display: inline-block;
      text-transform: uppercase;
      font-size: 1.8rem;
      letter-spacing: 0.4rem;
      font-weight: 200;
      line-height: 1.8rem;
      border-bottom: 1px solid #f7f7f7;
      text-align: center; }
      @media (max-width: 62.5em) {
        .block-style-3__heading--title {
          font-size: 1.6rem;
          line-height: 1.6rem; } }
    .block-style-3__heading--subtitle {
      margin-top: 0.5rem;
      font-size: 2.4rem;
      font-weight: 600;
      line-height: 3.6rem;
      text-align: inherit; }
      @media (max-width: 62.5em) {
        .block-style-3__heading--subtitle {
          font-size: 2.4rem;
          line-height: 3.6rem; } }
  .block-style-3__content {
    width: 70%;
    font-size: 1.6rem;
    font-weight: 200;
    align-self: start;
    text-align: left; }
    @media (max-width: 62.5em) {
      .block-style-3__content {
        width: 85%;
        font-size: 1.4rem; } }
    .block-style-3__content p {
      margin-bottom: 2rem;
      line-height: 2.8rem; }
      .block-style-3__content p:last-child {
        margin-bottom: 0; }
    .block-style-3__content ul {
      margin-bottom: 2rem;
      margin-left: 4rem; }
      .block-style-3__content ul li {
        font-style: italic; }

.block-style-4 {
  padding: 10rem 25rem;
  display: flex;
  flex-direction: column;
  gap: 5rem; }
  @media (max-width: 62.5em) {
    .block-style-4 {
      padding: 8rem 5rem; } }
  .block-style-4__heading {
    font-size: 2.8rem;
    font-weight: 200;
    width: 60%; }
    @media (max-width: 62.5em) {
      .block-style-4__heading {
        padding: 2.4rem;
        width: 100%;
        font-size: 2.2rem; } }
    .block-style-4__heading h3 {
      font-weight: inherit;
      font-size: inherit;
      margin-block-end: 0;
      margin-block-start: 0;
      margin-inline-end: 0;
      margin-inline-start: 0; }
  .block-style-4__grid {
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr 2fr;
    row-gap: 10rem;
    column-gap: 2rem;
    width: 90%;
    align-self: center; }
    @media (max-width: 62.5em) {
      .block-style-4__grid {
        row-gap: 4rem; } }
    .block-style-4__grid--title {
      font-family: GeneralSans, Arial, sans-serif;
      font-size: 3.2rem;
      font-weight: 600;
      color: #ffad34;
      grid-column: 1; }
      @media (max-width: 62.5em) {
        .block-style-4__grid--title {
          font-size: 2.4rem; } }
      .block-style-4__grid--title-1 {
        grid-row: 1; }
      .block-style-4__grid--title-2 {
        grid-row: 2; }
      .block-style-4__grid--title-3 {
        grid-row: 3; }
    .block-style-4__grid--content {
      font-size: 1.6rem;
      font-weight: 200;
      grid-column: 2;
      line-height: 2.8rem; }
      @media (max-width: 62.5em) {
        .block-style-4__grid--content {
          font-size: 1.6rem;
          line-height: 2.2rem; } }
      .block-style-4__grid--content p {
        margin-bottom: 2rem; }
      .block-style-4__grid--content-1 {
        grid-row: 1; }
      .block-style-4__grid--content-2 {
        grid-row: 2; }
      .block-style-4__grid--content-3 {
        grid-row: 3; }

.contact-block {
  padding: 15rem 25rem;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  row-gap: 8rem;
  column-gap: 4rem; }
  @media (max-width: 37.5em) {
    .contact-block {
      padding: 10rem 5rem;
      row-gap: 4rem; } }
  .contact-block__heading {
    font-family: GeneralSans;
    font-weight: 600;
    font-size: 4.8rem;
    color: #ffad34;
    justify-self: center;
    align-self: center; }
    @media (max-width: 37.5em) {
      .contact-block__heading {
        font-size: 3.2rem; } }
  .contact-block__button {
    font-weight: 300;
    font-size: 2rem;
    color: #f7f7f7;
    justify-self: center;
    align-self: center; }
    @media (max-width: 37.5em) {
      .contact-block__button {
        font-size: 1.6rem; } }
    .contact-block__button a:link,
    .contact-block__button a:visited {
      text-decoration: none;
      color: inherit; }
    .contact-block__button--text {
      padding: 0.25rem 1.5rem; }
      @media (max-width: 37.5em) {
        .contact-block__button--text {
          padding: 0.25rem 0.5rem; } }
  .contact-block__link--outer {
    padding: 1rem 3rem;
    background-color: #f7f7f7;
    border: 4px solid #f7f7f7;
    border-radius: 10px;
    transition: all 0.2s; }
    .contact-block__link--outer:hover {
      background-color: #ffad34;
      border: 4px solid #ffad34; }
  .contact-block__link--text {
    color: #363636; }

.dark-block {
  background-color: #363636;
  color: #f7f7f7; }

.footer {
  display: flex;
  flex-direction: column; }
  .footer__links {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(2, auto);
    row-gap: 2rem;
    column-gap: 3rem;
    padding: 8rem 15rem;
    font-size: 1.4rem; }
    @media (max-width: 62.5em) {
      .footer__links {
        padding: 8rem 5rem;
        grid-template-columns: repeat(4, 1fr);
        font-size: 1.2rem; } }
  .footer__links-block {
    display: flex;
    flex-direction: column;
    gap: 0.2rem; }
    .footer__links-block--heading {
      color: #363636; }
    .footer__links-block--link {
      color: #363636; }
      .footer__links-block--link a:link,
      .footer__links-block--link a:visited {
        color: inherit;
        text-decoration: underline; }
    .footer__links-block--e {
      grid-column: 1;
      grid-row: 1; }
    .footer__links-block--s {
      grid-column: 1;
      grid-row: 2; }
    .footer__links-block--m {
      grid-column: 2;
      grid-row: 1/-1; }
  .footer__bottom-line {
    padding: 2rem 10rem;
    margin-bottom: 3rem;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 62.5em) {
      .footer__bottom-line {
        padding: 1rem 2rem; } }
    .footer__bottom-line--img {
      height: 4rem; }
      @media (max-width: 62.5em) {
        .footer__bottom-line--img {
          height: 2rem; } }
    .footer__bottom-line--copy {
      font-size: 1.2rem;
      color: #7f7f7f; }
      @media (max-width: 62.5em) {
        .footer__bottom-line--copy {
          font-size: 1rem; } }

.top-bar {
  padding: 2rem;
  margin: 0 10%;
  display: flex;
  justify-content: space-between;
  align-content: center;
  letter-spacing: -1px; }
  @media (max-width: 37.5em) {
    .top-bar {
      gap: 2rem;
      margin: 0; } }
  .top-bar__logo-box {
    width: 50rem;
    align-self: center; }
    .top-bar__logo-box--link {
      height: 100%; }
    .top-bar__logo-box--img {
      height: 5rem;
      overflow: visible; }
      @media (max-width: 37.5em) {
        .top-bar__logo-box--img {
          height: 2rem; } }
  .top-bar__links-box {
    display: flex;
    gap: 8rem;
    align-items: center;
    justify-content: space-around;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 300;
    color: #363636; }
    .top-bar__links-box a:link,
    .top-bar__links-box a:visited {
      text-decoration: none;
      color: inherit; }
    .top-bar__links-box a:hover {
      color: #272727; }
    @media (max-width: 37.5em) {
      .top-bar__links-box {
        font-size: 1.2rem;
        gap: 2rem; } }
  .top-bar__link {
    position: relative;
    overflow: hidden;
    min-width: 8rem; }
    .top-bar__link::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-bottom: 3px solid #ffad34;
      transform: translateX(-100%);
      transition: transform 0.2s; }
    .top-bar__link:hover:after {
      transform: translateX(0); }
  .top-bar__contact-box {
    align-self: center;
    border: 2px solid #363636;
    border-radius: 5px;
    font-weight: 300;
    font-size: 2rem;
    min-width: 9rem;
    color: #363636;
    transition: all 0.1s;
    text-align: center; }
    .top-bar__contact-box--link {
      width: 100%;
      height: 100%; }
    .top-bar__contact-box--text {
      padding: 0.25rem 1.5rem; }
      @media (max-width: 37.5em) {
        .top-bar__contact-box--text {
          padding: 0.25rem 1rem; } }
    .top-bar__contact-box:hover {
      background-color: #ffad34;
      color: #363636;
      border-color: #ffad34; }
    .top-bar__contact-box a:link,
    .top-bar__contact-box a:visited {
      text-decoration: none;
      color: inherit; }
    @media (max-width: 37.5em) {
      .top-bar__contact-box {
        font-size: 1.2rem;
        gap: 4rem; } }

.page-summary {
  padding: 2rem 25rem;
  margin-top: 2rem;
  margin-bottom: 10rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem; }
  @media (max-width: 62.5em) {
    .page-summary {
      padding: 2rem 5rem;
      margin-top: 0;
      margin-bottom: 5rem; } }
  .page-summary__heading {
    font-family: GeneralSans, Arial, sans-serif;
    font-size: 6.4rem;
    font-weight: 600; }
    @media (max-width: 62.5em) {
      .page-summary__heading {
        font-size: 4.8rem; } }
    .page-summary__heading h1 {
      font-weight: inherit;
      font-size: inherit;
      margin-block-end: 0;
      margin-block-start: 0;
      margin-inline-end: 0;
      margin-inline-start: 0; }
  .page-summary__primary {
    font-family: Poppins, Arial, sans-serif;
    font-size: 2.8rem;
    font-weight: 200; }
    @media (max-width: 62.5em) {
      .page-summary__primary {
        font-size: 2.2rem; } }
    .page-summary__primary h2 {
      font-weight: inherit;
      font-size: inherit;
      margin-block-end: 0;
      margin-block-start: 0;
      margin-inline-end: 0;
      margin-inline-start: 0; }
  .page-summary__secondary {
    font-size: 1.6rem;
    font-weight: 200;
    margin-top: 3rem;
    line-height: 2.4rem; }
    @media (max-width: 62.5em) {
      .page-summary__secondary {
        font-size: 1.4rem;
        line-height: 2.2rem; } }
    .page-summary__secondary p {
      width: 60%;
      margin-bottom: 2rem; }

.headlines {
  margin-top: 5rem;
  margin-bottom: 15rem;
  padding: 4rem 15rem;
  display: grid;
  grid-template-columns: 3.5fr 6.5fr;
  grid-template-rows: 1fr 1fr 1fr; }
  @media (max-width: 62.5em) {
    .headlines {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr 1fr 1fr 1fr; } }
  @media (max-width: 37.5em) {
    .headlines {
      padding: 5rem 5rem;
      margin-top: 0rem;
      margin-bottom: 5rem; } }
  .headlines__sub {
    font-size: 3rem;
    font-family: Poppins;
    font-weight: 200;
    letter-spacing: -2px;
    grid-column: 1;
    grid-row: 1;
    align-self: center; }
    @media (max-width: 62.5em) {
      .headlines__sub {
        font-size: 2.6rem;
        letter-spacing: -1px; } }
  .headlines__main {
    font-family: GeneralSans;
    font-weight: 600;
    font-size: 16rem;
    letter-spacing: -5px;
    line-height: 95%;
    align-self: center;
    justify-self: end; }
    @media (max-width: 85em) {
      .headlines__main {
        font-size: 14rem; } }
    @media (max-width: 62.5em) {
      .headlines__main {
        font-size: 12rem; } }
    @media (max-width: 37.5em) {
      .headlines__main {
        letter-spacing: -3px;
        font-size: 8rem; } }
    .headlines__main--1 {
      grid-row: 1;
      grid-column: 2; }
      @media (max-width: 62.5em) {
        .headlines__main--1 {
          grid-row: 2;
          grid-column: 1; } }
    .headlines__main--2 {
      grid-row: 2;
      grid-column: 2; }
      @media (max-width: 62.5em) {
        .headlines__main--2 {
          grid-row: 3;
          grid-column: 1; } }
    .headlines__main--3 {
      grid-row: 3;
      grid-column: 2; }
      @media (max-width: 62.5em) {
        .headlines__main--3 {
          grid-row: 4;
          grid-column: 1; } }
