*, html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, label, fieldset, input, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul, li {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: inherit; }

q:before, q:after {
  content: ''; }

header, aside, nav, footer, section, article, hgroup, address,
figure, figcaption, video, details, small, summary, img, main,
time, dl, dt, dd, li, picture {
  display: block; }

html {
  webkit-text-size-adjust: none; }

i, b, em, strong {
  font-style: inherit;
  font-weight: inherit; }

img, video {
  display: block;
  width: 100%;
  height: auto; }

a {
  text-decoration: none;
  color: inherit; }

mark {
  background: none;
  color: inherit; }

small {
  font-size: inherit; }

abbr {
  text-decoration: none;
  color: inherit; }

@font-face {
  font-family: "GTAmerica";
  src: url(../fonts/GT-America-Extended-Regular.woff);
  font-weight: 400; }

@font-face {
  font-family: "GTAmerica";
  src: url(../fonts/GT-America-Extended-Bold.woff);
  font-weight: 700; }

@font-face {
  font-family: "GTAmerica";
  src: url(../fonts/GT-America-Expanded-Black.woff);
  font-weight: 900; }

/*
============================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


--------------------------------------------
GT AMERICA (served locally)
--------------------------------------------
    Extended Regular        400
    Extended Bold           700
    Expanded Black          900

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
============================================
*/
/*==============================================================
ASPECT RATIO
================================================================ */
/*==============================================================
COLORS
================================================================ */
/*==============================================================
VIEWPORT FUN
================================================================ */
:root {
  --vh-offset: 0px;
  --scrollbar: 0px; }

/*==============================================================
BODY
================================================================ */
body {
  font-size: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  /* Prevent font scaling in landscape while allowing user zoom */
  font: 400 normal 1rem/1.25 "GTAmerica", Helvetica, Arial, sans-serif;
  background-color: white;
  -webkit-overflow-scrolling: touch;
  color: black; }

html, body {
  height: 100%; }

.scrollbar-test {
  width: 100vw;
  width: calc(100vw - var(--scrollbar));
  width: calc(var(--scrollbar));
  background: black;
  font-size: 20px;
  color: white; }

.locked {
  height: 100vh;
  overflow: hidden; }

/*
.test {
  font: $font-secondary;
}
p + p {
  margin-top: 1em;
}
*/
/*
Mins and maxes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
$desktopFloor:      1021px;
$mobileCeiling:     1020px;

$essayRowCeiling:   950px;
$essayRowFloor:     951px;

$tabletFloor:       766px;
$phoneCeiling:      765px;
*/
/*
Screen widths that exclude scrollbar width
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
Bound
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
.bound {
  width: calc(100% * 0.89);
  margin: 0 auto;
  max-width: 1270px; }

/*
Headline hyphens
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
Dots: horizontal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
Highlight
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
.highlight {
  background: red;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 0 3px red;
          box-shadow: 0 0 0 3px red;
  padding: 0 0.125em;
  margin: 0 0.125em; }

.text-wrapper {
  max-width: 576px;
  margin-right: auto;
  margin-left: auto; }

.expository.justified p:first-of-type {
  text-indent: 0; }

.expository.justified .text-wrapper {
  max-width: 420px; }

.block-masthead {
  background: url("../images/tile-symbols.png") repeat 0 0;
  background-size: 366px 498px;
  background-color: #0057b7;
  position: relative;
  z-index: 2;
  color: white; }
  .block-masthead .topper {
    padding: 24px 0;
    font-size: 0.875rem;
    line-height: 1;
    background: url("../images/dotted-rule-aqua.png") repeat-x left bottom;
    background-size: auto 3px; }
    .block-masthead .topper .columns {
      display: flex;
      justify-content: space-between;
      align-items: center; }
    .block-masthead .topper .language-picker {
      margin-left: 15px; }
    .block-masthead .topper ul {
      display: flex;
      align-items: center; }
    .block-masthead .topper li + li {
      margin-left: 5px; }
    .block-masthead .topper a {
      display: block;
      border-radius: 5px;
      padding: 12px 18px;
      color: white;
      -webkit-transition: all 110ms;
      transition: all 110ms;
      background: rgba(0, 14, 30, 0.6);
      transition: all 110ms;
      white-space: nowrap; }
    .block-masthead .topper a:not(.active):hover {
      -webkit-box-shadow: inset 0 0 0 1px white;
              box-shadow: inset 0 0 0 1px white;
      background: rgba(0, 63, 132, 0.8); }
    .block-masthead .topper .active {
      background: white;
      color: #0057b7; }
    .block-masthead .topper .gov-identifier {
      position: relative;
      background: url("../images/logo-eagle.png") no-repeat left center;
      background-size: auto 41px;
      padding-left: 50px;
      line-height: 1;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      min-height: 41px;
      display: flex;
      align-items: center; }
  .block-masthead .hero {
    height: 569px;
    position: relative;
    z-index: 1; }
    .block-masthead .hero .media-track {
      position: absolute;
      z-index: 1;
      width: 100%;
      height: 100%; }
    .block-masthead .hero .media-setting {
      position: relative;
      width: 100%;
      height: 108%;
      margin-top: -17px;
      display: flex;
      justify-content: flex-end; }
    .block-masthead .hero .artwork {
      display: block;
      height: 100%;
      background: url("../images/masthead-hero.png") no-repeat left center;
      background-size: auto 100%;
      width: calc(50% + 60px); }
    .block-masthead .hero .titling-track {
      position: relative;
      z-index: 2;
      width: 100%;
      height: 100%; }
      .block-masthead .hero .titling-track .bound {
        height: 100%; }
    .block-masthead .hero .title-setting {
      height: 100%;
      display: flex;
      align-items: center; }
    .block-masthead .hero .title {
      position: relative;
      z-index: 1;
      position: relative; }
    .block-masthead .hero .title:after {
      content: "";
      display: block;
      position: absolute;
      left: -4.3307086614173%;
      bottom: -80px;
      width: 81px;
      height: 67px;
      z-index: 1;
      background: url("../images/swoop-arrow.png") no-repeat 0 0;
      background-size: contain; }
    .block-masthead .hero .piano,
    .block-masthead .hero .forte {
      display: block;
      position: relative;
      z-index: 2; }
    .block-masthead .hero .piano {
      font-size: 2.25rem; }
    .block-masthead .hero .forte {
      font-size: 4.3125rem;
      font-weight: 900;
      line-height: 1.17;
      margin-top: 8px; }
    .block-masthead .hero .phrase {
      display: inline-block;
      max-width: 12em; }
  @media (max-width: 1200px) {
    .block-masthead .hero {
      height: calc(569px - 100px); }
      .block-masthead .hero .artwork {
        width: calc(50% + 30px); }
      .block-masthead .hero .piano {
        font-size: 2rem; }
      .block-masthead .hero .forte {
        font-size: 4rem;
        text-shadow: 6px 5px 0 #0057b7; } }
  @media (max-width: 1000px) {
    .block-masthead .hero {
      height: calc(569px - 150px); }
      .block-masthead .hero .artwork {
        width: calc(50% + 60px); }
      .block-masthead .hero .piano {
        font-size: 1.5rem; }
      .block-masthead .hero .forte {
        font-size: 3rem; } }
  @media (max-width: 820px) {
    .block-masthead .topper .gov-identifier {
      max-width: 18em; } }
  @media (max-width: 900px) {
    .block-masthead .hero {
      height: auto;
      padding-bottom: 50px; }
      .block-masthead .hero .media-track {
        position: relative; }
      .block-masthead .hero .media-setting {
        margin: -12px auto 0;
        height: 470px;
        width: calc(0.89 * 100%);
        display: block; }
      .block-masthead .hero .artwork {
        width: 112%;
        margin-left: -6%;
        background-position: center center;
        background-size: contain;
        background-size: auto 100%; }
      .block-masthead .hero .titling-track {
        margin-top: 10px; }
      .block-masthead .hero .titling-track,
      .block-masthead .hero .titling-track .bound,
      .block-masthead .hero .title-setting {
        height: auto; }
      .block-masthead .hero .title-setting {
        justify-content: center; }
      .block-masthead .hero .title {
        text-align: center; }
      .block-masthead .hero .forte {
        margin-top: 4px;
        text-shadow: none;
        font-size: 2.75rem; }
      .block-masthead .hero .title:after {
        -webkit-transform: rotate(70deg);
                transform: rotate(70deg);
        bottom: 30px;
        left: 0; } }
  @media (max-width: 700px) {
    .block-masthead .hero .title:after {
      bottom: 30px;
      left: -7%; } }
  @media (max-width: 600px) {
    .block-masthead .hero .media-setting {
      height: 350px; }
    .block-masthead .topper {
      font-size: 0.75rem;
      padding: 15px 0 33px; }
      .block-masthead .topper .gov-identifier {
        padding-left: 47px; }
      .block-masthead .topper ul {
        justify-content: flex-end; }
      .block-masthead .topper a {
        padding: 12px 15px; } }
  @media (max-width: 525px) {
    .block-masthead .hero {
      padding-bottom: 35px; } }
  @media (max-width: 480px) {
    .block-masthead .hero .forte {
      font-size: 2.375rem; }
    .block-masthead .hero .title:after {
      bottom: 30px;
      left: -12%; }
    .block-masthead .topper .columns {
      display: block; }
    .block-masthead .topper .gov-identifier {
      max-width: 100%; }
    .block-masthead .topper .language-picker {
      margin-top: 3px; } }
  @media (max-width: 410px) {
    .block-masthead .hero .forte {
      font-size: 2rem; } }
  @media (max-width: 350px) {
    .block-masthead .hero .forte {
      font-size: 1.75rem; } }
.block-deck {
  background: url("../images/tile-sparkles.png") repeat 0 0;
  background-size: 104px;
  background-color: #f0f4ff;
  color: #0057b7;
  position: relative;
  z-index: 1; }
  .block-deck .inner {
    padding: 100px 0; }
  .block-deck .columns {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .block-deck .precis {
    width: 48.503937007874%;
    order: 2; }
  .block-deck .diagram {
    width: 34.6456692913386%;
    min-width: 440px; }
  .block-deck p {
    font-size: 1.5rem;
    line-height: 1.45;
    mix-blend-mode: multiply; }
  .block-deck strong {
    font-weight: 700; }
  .block-deck .diagram-graphic img {
    max-width: 440px;
    mix-blend-mode: multiply; }
  @media (max-width: 1120px) {
    .block-deck .precis {
      width: 45%; }
    .block-deck .diagram {
      min-width: 400px; }
    .block-deck p {
      font-size: 1.25rem; } }
  @media (max-width: 930px) {
    .block-deck .inner {
      padding: 60px 0 80px; }
    .block-deck .columns {
      display: block; }
    .block-deck .precis,
    .block-deck .diagram {
      width: 100%;
      display: flex;
      justify-content: center; }
    .block-deck .diagram {
      margin-top: 40px; }
    .block-deck p {
      max-width: 25em; } }
  @media (max-width: 720px) {
    .block-deck .inner {
      padding: 60px 0; }
    .block-deck p {
      max-width: 100%; } }
  @media (max-width: 525px) {
    .block-deck .inner {
      padding: 35px 0; }
    .block-deck .diagram {
      margin-top: 25px;
      min-width: auto; } }
.block-questionnaire {
  position: relative;
  z-index: 2; }
  .block-questionnaire .columns {
    display: flex;
    justify-content: space-between;
    margin-top: -29px; }
  .block-questionnaire .column.primary {
    width: 48.503937007874%;
    padding-top: 105px; }
  .block-questionnaire .column.secondary {
    width: 51.496062992126%; }
  .block-questionnaire .quiz-invitation {
    background: url("../images/dotted-rule-lime.png") repeat-x left bottom;
    background-size: auto 3px;
    color: #0057b7;
    font-size: 1.5rem;
    line-height: 1.35;
    padding-bottom: 22px; }
    .block-questionnaire .quiz-invitation .string {
      display: block;
      padding-right: 35px; }
    .block-questionnaire .quiz-invitation .phrase {
      display: inline-block; }
  .block-questionnaire .questions-bucket {
    padding: 64px 40px 44px;
    -webkit-box-shadow: inset 0 0 0 1px #add868;
            box-shadow: inset 0 0 0 1px #add868;
    border-radius: 15px; }
  .block-questionnaire .decision-buttons {
    margin-top: 23px; }
  .block-questionnaire .rack {
    display: flex; }
    .block-questionnaire .rack li + li {
      margin-left: 7px; }
  .block-questionnaire .rack:not([data-active]) {
    display: none; }
  .block-questionnaire .question-identifier {
    display: block;
    font-weight: 700;
    color: #add868;
    font-size: 0.9375rem;
    margin-bottom: 22px; }
  .block-questionnaire .question-identifier.hidden {
    display: none; }
  .block-questionnaire .question-prompts {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.35;
    min-height: 2em; }
  .block-questionnaire .question-prompt a {
    color: #0057b7;
    -webkit-transition: all 120ms;
    transition: all 120ms; }
  .block-questionnaire .question-prompt a:hover {
    -webkit-box-shadow: inset 0 -2px 0 white, inset 0 -3px 0 #0057b7;
            box-shadow: inset 0 -2px 0 white, inset 0 -3px 0 #0057b7; }
  .block-questionnaire .question-prompt:not([data-active]) {
    display: none; }
  .block-questionnaire .quiet {
    font-weight: 400; }
  .block-questionnaire button {
    -ms-touch-action: manipulation;
        touch-action: manipulation;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    background: none;
    cursor: pointer;
    border: none;
    font: inherit;
    font-size: 1.5rem;
    background: #0057b7;
    color: white;
    border-radius: 10px;
    font-weight: 700;
    padding: 12px 44px;
    -webkit-transition: all 130ms;
    transition: all 130ms; }
  .block-questionnaire button:hover {
    background: #add868;
    background: #1484ff;
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
    -webkit-box-shadow: 0 6px 12px -3px rgba(0, 0, 0, 0.5);
            box-shadow: 0 6px 12px -3px rgba(0, 0, 0, 0.5); }
  .block-questionnaire button:active {
    -webkit-transition: all 90ms;
    transition: all 90ms;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-box-shadow: 0 2px 3px -1px rgba(0, 0, 0, 0.6);
            box-shadow: 0 2px 3px -1px rgba(0, 0, 0, 0.6); }
  @media (max-width: 1040px) {
    .block-questionnaire .quiz-invitation,
    .block-questionnaire .question-prompts,
    .block-questionnaire button {
      font-size: 1.25rem; } }
  @media (max-width: 720px) {
    .block-questionnaire .columns {
      display: block;
      margin-top: 0;
      padding-top: 40px; }
    .block-questionnaire .column.primary {
      width: 100%;
      padding-top: 0;
      margin-bottom: 30px; }
    .block-questionnaire .quiz-invitation {
      padding: 0;
      background: none; }
    .block-questionnaire .quiz-invitation .string {
      padding: 0; }
    .block-questionnaire .column.secondary {
      width: 100%; }
    .block-questionnaire .questions-bucket {
      padding: 30px; } }
.block-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding: 24px 0;
  font-size: 0.8125rem;
  line-height: 1;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.3);
  margin-top: 130px; }
  .block-footer .columns {
    display: flex;
    justify-content: space-between; }
  .block-footer ul {
    display: flex; }
  .block-footer li + li {
    margin-left: 20px; }
  .block-footer a {
    display: flex;
    align-items: center;
    height: 24px; }
  .block-footer .icon,
  .block-footer .string {
    display: block; }
  .block-footer .icon {
    width: 24px;
    display: flex;
    align-items: center; }
  .block-footer .icon + .string {
    margin-left: 4px; }
  .block-footer .string,
  .block-footer path {
    -webkit-transition: all 110ms;
    transition: all 110ms; }
  .block-footer a:hover .string {
    color: #0057b7; }
  .block-footer a:hover path {
    fill: #0057b7; }
  @media (min-width: 1101px) {
    .block-footer .column.secondary {
      margin-right: 20px;
      margin-left: 20px; }
    .block-footer .column.secondary,
    .block-footer .column.tertiary {
      flex-shrink: 0;
      white-space: nowrap; } }
  @media (max-width: 1100px) {
    .block-footer .columns {
      flex-wrap: wrap; }
    .block-footer .column {
      width: 100%;
      display: flex;
      justify-content: center;
      padding: 15px 0; } }
  @media (max-width: 720px) {
    .block-footer {
      margin-top: 80px; } }
  @media (max-width: 500px) {
    .block-footer {
      font-size: 0.6875rem;
      padding-bottom: 45px; } }
  @media (max-width: 400px) {
    .block-footer .icon + .string {
      margin-left: 8px; }
    .block-footer .learn-more .string {
      max-width: 170px; } }
