:root {
    --step--2: clamp(0.6076rem, 0.5686rem + 0.1954vw, 0.72rem);
    --step--1: clamp(0.7292rem, 0.6697rem + 0.2971vw, 0.9rem);
    --step-0: clamp(0.875rem, 0.788rem + 0.4348vw, 1.125rem);
    --step-1: clamp(1.05rem, 0.9261rem + 0.6196vw, 1.4063rem);
    --step-2: clamp(1.26rem, 1.0868rem + 0.8658vw, 1.7578rem);
    --step-3: clamp(1.512rem, 1.2736rem + 1.1918vw, 2.1973rem);
    --step-4: clamp(1.8144rem, 1.4902rem + 1.6212vw, 2.7466rem);
    --step-5: clamp(2.1773rem, 1.7404rem + 2.1843vw, 3.4332rem);
    --main-text: #666;
}

* {
    margin: 0;
    padding: 0;
    font: inherit;
}

*::before,
*::after {
    box-sizing: border-box;
}

html {
    /*color-scheme: dark light;*/
    font-size: 12px;
    position: relative;
    /*min-height: 100%;*/
    height: 100%;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}


body {
    /*min-height: 100svh;*/
    height: 100%;
    font-size: var(--step-0);
    overflow: hidden;
}
body > div {
    height: 100%;
    overflow-y: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
    color: var(--main-text);
}

p {
    max-width: 75ch;
    text-wrap: pretty;
    margin-bottom: .5rem;
    font-size: var(--step-2);
    color: #222;
}

img,
picture,
video {
    display: block;
    max-width: 100%;
}

/*@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}*/
@media (prefers-reduced-motion: no-preference) {
    :has(:target) {
        scroll-behavior: smooth;
        scroll-padding-top: 3rem;
    }
}

* {
    font-family: "Source Sans Pro", sans-serif;
}

body {
    background: #f6f6f6;
    /*padding: 1em;*/
}

.no-scroll {
    overflow: hidden;
}

h1 {
    font-size: var(--step-5);
    font-weight: 300;
    color: #000;
    letter-spacing: -0.04167em;
    word-spacing: 0.09524em;
    line-height: 1.05em;
}

h2 {
    font-size: var(--step-3);
    font-weight: 300;
    color: #666;
    letter-spacing: -0.02273em;
    word-spacing: 0.09091em;
    margin-top: 0.1em;
}

h3 {
    font-size: var(--step-4);
    font-weight: 300;
    color: #222;
    line-height: 2;
    letter-spacing: -0.01923em;
    word-spacing: 0.07692em;
    padding: 1rem 0 1rem;
    background: #eee;
    text-align: center;
    margin-bottom: 1.5rem;
}
h3:nth-child(n+2) {
    margin-top: 3rem;
}

nav~section h3:first-child {
    padding-top: .4em;
}

h4 {
    font-size: var(--step-2);
    font-weight: 300;
    color: #222;
    letter-spacing: -0.01562em;
    word-spacing: 0.0625em;
}

h5 {
    font-size: var(--step-0);
    font-weight: 400;
    color: #222;
    letter-spacing: -0.02273em;
    word-spacing: 0.09091em;
    margin-top: 40rem;
}

.hidden {
    display: none !important;
    visibility: hidden;
}
.freeform a {
    color: #02377c;
    text-decoration: underline;
}


/* -------------------------- Containers -------------------------- */

.container {
    margin: 0 auto 3em;
    max-width: 105rem;
    min-width: 20rem;
}

h3+.container {
    padding: 3rem 0 4rem;
}

section .container {
    max-width: 70rem;
    min-width: 20rem;
}

.container-flex {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    max-width: 50rem;
}

.container-flex-col {
    display: flex;
    flex-direction: column;
    gap: .7rem;
    max-width: 700rem;
}

.center-flex {
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    text-align: center;
}

.self-right {
    align-self: flex-end;
}
.question {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem;
    margin-bottom: 1rem;
}
.question label {
    color: var(--main-text);
    font-size: var(--step-2);
    justify-self: end;
    align-self:center;
}
.question .yesNoGroup {
    display: flex;
    height: 1.5rem;
    max-width: 2rem;
}
.question .yesNoGroup input{
    min-width:unset;
}
.question .yesNoGroup label {
    min-width: 10rem;
}
.question label.required::after {
    content: "*";
    color: red;
}
.question + .fileUploadWrapper {
    grid-template-columns: 1fr;
    justify-content:center;
    margin: 1.5em 0;
    gap: .1em
}
.fileUploadWrapper label {
    justify-self: center;
}
.fileUploadInputWrapper {
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
}
.fileUploadInputWrapper input[type="file"] {
    border: none;
    background-color: unset;
    font-size: 1em;
    min-width: auto;
    width: 13em;
}
span.fileUploadText {
    font-size: 1rem;
    font-style: italic;
    padding: 0 .7em;
}
.question.radio {
    display: block;
    margin-top: 2rem;
}
input[type=radio]{
    min-width: unset;
}
.question.radio.achTerms {
    margin-bottom: 0;
}
.radio-group {
    margin-bottom: 2em;
}
.radio-group label {
    display: block;
    justify-self: start;
    margin-left: 35%;
}
/* -------------------------- Text Links -------------------------- */
.text-link p {
    font-size: 16em;
    font-weight: 400;
    color: #02377c;
    line-height: 1.25;
    text-decoration: underline;
    display: inline;
    cursor: pointer;
}

.text-link p:hover {
    text-decoration: none;
}


/* ================================ HEADER ================================ */

header.main {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    padding: 1rem 1rem 2rem;
    height: 5rem;
    background: #f6f6f6;
    z-index: 500;
}

header.main .container {
    position: relative;
    padding-left: 1rem;
    display: flex;
    justify-content: space-between;
}
/*
header.main .container .logo {
    position: absolute;
    top: -15rem;
    right: 0;
    display: table;
    width: 400rem;
    height: 110rem;
    text-align: right;
}
*/
header.main .container .logo li {
    display: table-cell;
    vertical-align: middle;
}

header.main .container .logo a {
    display: inline-block;
    background-repeat: no-repeat;
}

header.main~input[type=radio][id|=step] {
    display: none;
}

header.main .help {
    font-size: 1.2em;
    color: #aaa;
    float: right;
}


/* ================================ STEPS ================================ */

nav {
    position: fixed;
    top: 10rem;
    right: 0;
    left: 0;
    height: 7rem;
    background: #02377c;
    background: -moz-linear-gradient(left, #02377c 50%, #fff 50%);
    background: -webkit-linear-gradient(left, #02377c 50%, #fff 50%);
    background: linear-gradient(to right, #02377c 50%, #fff 50%);
    /*box-shadow: inset 0 -1rem rgba(0, 0, 0, 0.135), inset 0 1rem rgba(0, 0, 0, 0.135);*/
    z-index: 500;
}

.steps {
    display: table;
    width: 100%;
}

.steps label {
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    webkit-transition: background 0.2s;
    transition: background 0.2s;
    display: table-cell;
    width: 25%;
    height: 6rem;
    padding: 1rem 0 0 3rem;
    background: #fff;
    /*box-shadow: inset 0 -1rem rgba(0, 0, 0, 0.135), inset 0 1rem rgba(0, 0, 0, 0.135);*/
    cursor: pointer;
}

#step-2:disabled~nav .steps label[for=step-2] {
    cursor: default;
}

#step-3:disabled~nav .steps label[for=step-3] {
    cursor: default;
}

#step-4:disabled~nav .steps label[for=step-4] {
    cursor: default;
}

.steps label p {
    font-size: 1.8rem;
    font-weight: 400;
    color: #666;
    webkit-transition: color 0.2s;
    transition: color 0.2s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.steps label p+p {
    font-size: 2.2rem;
    font-weight: 400;
    color: #222;
    letter-spacing: -0.03846em;
    word-spacing: 0.03846em;
}

.steps label:after {
    position: absolute;
    top: 0;
    right: -2.5rem;
    webkit-transition: border-color 0.2s;
    transition: border-color 0.2s;
    content: '';
    height: 0;
    width: 0;
    border: 3.5rem solid transparent;
    border-right-width: 0;
    border-left-width: 2.5rem;
    border-left-color: #fff;
    z-index: 100;
}

#step-1:checked~nav .steps label[for=step-1] {
    background: #5bac46;
    box-shadow: none;
}

#step-1:checked~nav .steps label[for=step-1] p {
    color: #fff;
    opacity: .7;
}

#step-1:checked~nav .steps label[for=step-1] p+p {
    opacity: 1;
}

#step-1:checked~nav .steps label[for=step-1]:after {
    border-left-color: #5bac46;
}

#step-1:checked~nav .steps label[for=step-0],
#step-1:checked~nav .steps label[for=step--1],
#step-1:checked~nav .steps label[for=step--2] {
    background: #02377c;
    box-shadow: none;
}

#step-1:checked~nav .steps label[for=step-0] p,
#step-1:checked~nav .steps label[for=step--1] p,
#step-1:checked~nav .steps label[for=step--2] p {
    color: #fff;
    opacity: .7;
}

#step-1:checked~nav .steps label[for=step-0] p+p,
#step-1:checked~nav .steps label[for=step--1] p+p,
#step-1:checked~nav .steps label[for=step--2] p+p {
    opacity: 1;
}

#step-1:checked~nav .steps label[for=step-0]:after,
#step-1:checked~nav .steps label[for=step--1]:after,
#step-1:checked~nav .steps label[for=step--2]:after {
    border-left-color: #02377c;
}

#step-2:checked~nav .steps label[for=step-2] {
    background: #5bac46;
    box-shadow: none;
}

#step-2:checked~nav .steps label[for=step-2] p {
    color: #fff;
    opacity: .7;
}

#step-2:checked~nav .steps label[for=step-2] p+p {
    opacity: 1;
}

#step-2:checked~nav .steps label[for=step-2]:after {
    border-left-color: #5bac46;
}

#step-2:checked~nav .steps label[for=step-1],
#step-2:checked~nav .steps label[for=step-0],
#step-2:checked~nav .steps label[for=step--1] {
    background: #02377c;
    box-shadow: none;
}

#step-2:checked~nav .steps label[for=step-1] p,
#step-2:checked~nav .steps label[for=step-0] p,
#step-2:checked~nav .steps label[for=step--1] p {
    color: #fff;
    opacity: .7;
}

#step-2:checked~nav .steps label[for=step-1] p+p,
#step-2:checked~nav .steps label[for=step-0] p+p,
#step-2:checked~nav .steps label[for=step--1] p+p {
    opacity: 1;
}

#step-2:checked~nav .steps label[for=step-1]:after,
#step-2:checked~nav .steps label[for=step-0]:after,
#step-2:checked~nav .steps label[for=step--1]:after {
    border-left-color: #02377c;
}

#step-3:checked~nav .steps label[for=step-3] {
    background: #5bac46;
    box-shadow: none;
}

#step-3:checked~nav .steps label[for=step-3] p {
    color: #fff;
    opacity: .7;
}

#step-3:checked~nav .steps label[for=step-3] p+p {
    opacity: 1;
}

#step-3:checked~nav .steps label[for=step-3]:after {
    border-left-color: #5bac46;
}

#step-3:checked~nav .steps label[for=step-2],
#step-3:checked~nav .steps label[for=step-1],
#step-3:checked~nav .steps label[for=step-0] {
    background: #02377c;
    box-shadow: none;
}

#step-3:checked~nav .steps label[for=step-2] p,
#step-3:checked~nav .steps label[for=step-1] p,
#step-3:checked~nav .steps label[for=step-0] p {
    color: #fff;
    opacity: .7;
}

#step-3:checked~nav .steps label[for=step-2] p+p,
#step-3:checked~nav .steps label[for=step-1] p+p,
#step-3:checked~nav .steps label[for=step-0] p+p {
    opacity: 1;
}

#step-3:checked~nav .steps label[for=step-2]:after,
#step-3:checked~nav .steps label[for=step-1]:after,
#step-3:checked~nav .steps label[for=step-0]:after {
    border-left-color: #02377c;
}

#step-4:checked~nav .steps label[for=step-4] {
    background: #5bac46;
    box-shadow: none;
}

#step-4:checked~nav .steps label[for=step-4] p {
    color: #fff;
    opacity: .7;
}

#step-4:checked~nav .steps label[for=step-4] p+p {
    opacity: 1;
}

#step-4:checked~nav .steps label[for=step-4]:after {
    border-left-color: #5bac46;
}

#step-4:checked~nav .steps label[for=step-3],
#step-4:checked~nav .steps label[for=step-2],
#step-4:checked~nav .steps label[for=step-1] {
    background: #02377c;
    box-shadow: none;
}

#step-4:checked~nav .steps label[for=step-3] p,
#step-4:checked~nav .steps label[for=step-2] p,
#step-4:checked~nav .steps label[for=step-1] p {
    color: #fff;
    opacity: .7;
}

#step-4:checked~nav .steps label[for=step-3] p+p,
#step-4:checked~nav .steps label[for=step-2] p+p,
#step-4:checked~nav .steps label[for=step-1] p+p {
    opacity: 1;
}

#step-4:checked~nav .steps label[for=step-3]:after,
#step-4:checked~nav .steps label[for=step-2]:after,
#step-4:checked~nav .steps label[for=step-1]:after {
    border-left-color: #02377c;
}

.steps label[for=step-1]:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    height: 0;
    width: 0;
    border: 3.5rem solid transparent;
    border-right-width: 0;
    border-left-width: 2.5rem;
    border-left-color: #02377c;
}

/* rules moving the pages/sections on and off the window */
section[id|=step] {
    webkit-transition: left 0.2s ease-in-out, opacity 0.2s linear;
    transition: left 0.2s ease-in-out, opacity 0.2s linear;
    position: fixed;
    top: 17rem;
    bottom: 2rem;
    left: 0;
    max-height: 100vh;
    width: 100vw;
    overflow-y: auto;
    opacity: 0;
    z-index: 500;
    -webkit-overflow-scrolling: touch;
}

#step-1:checked~#step-1-content,
#step-2:checked~#step-2-content,
#step-3:checked~#step-3-content,
#step-4:checked~#step-4-content {
    left: 0;
    opacity: 1;
}

#step-1:checked~#step-2-content,
#step-2:checked~#step-3-content,
#step-3:checked~#step-4-content {
    left: 100vw;
}

#step-1:checked~#step-3-content,
#step-2:checked~#step-4-content {
    left: 200vw;
}

#step-1:checked~#step-4-content {
    left: 300vw;
}

#step-2:checked~#step-1-content,
#step-3:checked~#step-2-content,
#step-4:checked~#step-3-content {
    left: -100vw;
}

#step-3:checked~#step-1-content,
#step-4:checked~#step-2-content {
    left: -200vw;
}

#step-4:checked~#step-1-content {
    left: -300vw;
}
/* end rules moving the pages/sections on and off the window */


footer.main {
    /*display: none;
    visibility: hidden;
    
        This is all messed up. hidding for now. */
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3.2em;
    padding-top: .2rem;
    background: #fff;
    text-align: center;
    box-shadow: 0 -.1rem #ddd;
    z-index: 500;
}

.button-groups {
    position: relative;
}

.button-groups li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    webkit-transition: visibility 0s 0.2s, opacity 0.2s 0.2s;
    transition: visibility 0s 0.2s, opacity 0.2s 0.2s;
    background: #fff;
    visibility: hidden;
    opacity: 0;
}

#step-1:checked~footer.main .step-1-buttons {
    webkit-transition: visibility 0s, opacity 0.2s;
    transition: visibility 0s, opacity 0.2s;
    visibility: visible;
    opacity: 1;
}

#step-2:checked~footer.main .step-2-buttons {
    webkit-transition: visibility 0s, opacity 0.2s;
    transition: visibility 0s, opacity 0.2s;
    visibility: visible;
    opacity: 1;
}

#step-3:checked~footer.main .step-3-buttons {
    webkit-transition: visibility 0s, opacity 0.2s;
    transition: visibility 0s, opacity 0.2s;
    visibility: visible;
    opacity: 1;
}

#step-4:checked~footer.main .step-4-buttons {
    webkit-transition: visibility 0s, opacity 0.2s;
    transition: visibility 0s, opacity 0.2s;
    visibility: visible;
    opacity: 1;
}

div#wrapper-w9FormLink {
    text-align: center;
    font-style: italic;
    margin-bottom: 2em;
}

/* ================================ FORM STRUCTURE ================================ 

.field-group {
    padding: 0 2.5rem 0 0;
}

    .field-group span {
        position: relative;
    }

    .field-group [required] ~ i,
    .field-group .required + i {
        position: absolute;
        top: 1rem;
        left: -1.2rem;
        display: inline-block;
        width: .5rem;
        height: .5rem;
        border-radius: .5rem;
        background: #f00;
    }

    .field-group > li {
        min-height: 4rem;
    }

        .field-group > li + li {
            margin-top: 1rem;
        }

.inner-field-group > li + li {
    margin-top: 1rem;
}

.form-checkboxes-large,
.form-text,
.form-date,
.form-attachment,
.form-textbox,
.form-drop-down,
.form-checkboxes-small,
.form-radio-buttons-small,
.form-radio-buttons-large {
    display: table;
    width: 100%;
}

    .form-checkboxes-large > label,
    .form-text > label,
    .form-date > label,
    .form-attachment > label,
    .form-textbox > label,
    .form-drop-down > label,
    .form-checkboxes-small > label,
    .form-radio-buttons-small > label,
    .form-radio-buttons-large > label {
        display: table-cell;
        width: 6.5rem;
        padding-right: .1rem;
        vertical-align: top;
        box-sizing: content-box;
    }

    .form-checkboxes-large > span,
    .form-text > span,
    .form-date > span,
    .form-attachment > span,
    .form-textbox > span,
    .form-drop-down > span,
    .form-checkboxes-small > span,
    .form-radio-buttons-small > span,
    .form-radio-buttons-large > span {
        display: table-cell;
        width: 12rem;
        vertical-align: top;
        box-sizing: content-box;
    }

    .form-checkboxes-large > span {
        width: 100%;
    }

    .form-text p {
        padding-right: 1.5rem;
    }
    */

/* -------------------------- 2 Form Fields Side by Side -------------------------- 

.form-fields-2 span,
.form-field-2-larger span,
.form-field-2-even span,
.form-field-2-even-big-label span {
    width: 20rem;
}

.form-fields-2 label:nth-of-type(2),
.form-field-2-larger label:nth-of-type(2),
.form-field-2-even label:nth-of-type(2),
.form-field-2-even-big-label label:nth-of-type(2) {
    width: 10rem;
}

    .form-fields-2 label:nth-of-type(2).label-short,
    .form-field-2-larger label:nth-of-type(2).label-short,
    .form-field-2-even label:nth-of-type(2).label-short,
    .form-field-2-even-big-label label:nth-of-type(2).label-short {
        width: 8rem;
    }

        .form-fields-2 label:nth-of-type(2).label-short + span,
        .form-field-2-larger label:nth-of-type(2).label-short + span,
        .form-field-2-even label:nth-of-type(2).label-short + span,
        .form-field-2-even-big-label label:nth-of-type(2).label-short + span {
            width: 12rem;
        }

.form-fields-2 span:nth-of-type(2),
.form-field-2-larger span:nth-of-type(2),
.form-field-2-even span:nth-of-type(2),
.form-field-2-even-big-label span:nth-of-type(2) {
    width: 10rem;
}

.form-field-2-larger span {
    width: 12rem;
}

.form-field-2-larger label:nth-of-type(2) {
    width: 20rem;
}

.form-field-2-larger span:nth-of-type(2) {
    width: 18rem;
}

.form-field-2-even span {
    width: 133.2rem;
}

.form-field-2-even label:nth-of-type(2) {
    width: 108.2rem;
}

.form-field-2-even span:nth-of-type(2) {
    width: 133.2rem;
}

.form-field-2-even-big-label span {
    width: 120rem;
}

.form-field-2-even-big-label label:nth-of-type(2) {
    width: 135rem;
}

.form-field-2-even-big-label span:nth-of-type(2) {
    width: 120rem;
}

.form-fields-range {
    padding-right: 100rem;
}

    .form-fields-range label {
        width: 430rem;
    }

    .form-fields-range span {
        width: 130rem;
    }

    .form-fields-range label:nth-of-type(2) {
        width: 27rem;
        padding-right: 13rem;
    }

    .form-fields-range span:nth-of-type(2) {
        width: 130rem;
    }

.form-fields-2-columns {
    padding-right: 180rem;
}

    .form-fields-2-columns span {
        width: 80rem;
    }

    .form-fields-2-columns label:nth-of-type(2) {
        width: 35rem;
    }

.field-group .form-fields-2-columns + .form-field-tiny {
    margin-top: 40rem;
}
*/

/* -------------------------- Miscellaneous -------------------------- 

.form-field-half-width {
    padding-right: 5rem;
}

    .form-field-half-width > span {
        width: 5rem;
    }

.form-field-third-width {
    padding-right: 266.4rem;
}

    .form-field-third-width > span {
        width: 133.2rem;
    }

.form-field-tiny {
    padding-right: 320rem;
}

    .form-field-tiny > span {
        width: 80rem;
    }

.form-field-indented > label {
    padding-left: 129rem;
}

.form-field-indented > span {
    width: 271rem;
}

.form-field-dedented > label {
    width: 313.9rem;
}

.form-field-dedented > span {
    width: 516.1rem;
}

.form-field-dedented.form-checkboxes-large {
    padding-left: 360rem;
}

.form-field-dedented-extra.form-checkboxes-large {
    padding-left: 240rem;
}

li.form-field-centered {
    padding-left: 300rem;
    padding-right: 50rem;
    text-align: center;
}

.form-label-columns {
    padding-left: 430rem;
}

    .form-label-columns li {
        position: relative;
        left: -20rem;
        display: inline-block;
        width: 120rem;
        text-align: center;
    }

        .form-label-columns li + li {
            left: 0;
        }

    .form-label-columns p {
        font-size: 16em;
        font-weight: 500;
        color: #666;
        line-height: 1.25;
        font-style: italic;
    }

.form-field-percentage {
    padding-right: 0;
}

    .form-field-percentage span {
        width: 80rem;
    }

        .form-field-percentage span + span {
            width: 320rem;
        }

            .form-field-percentage span + span p {
                position: relative;
                left: 6rem;
                font-size: 20em;
                font-weight: 500;
                color: #000;
                line-height: 1.9;
            }

*/
/* ================================ FORM FIELDS ================================ */


/* -------------------------- Labels -------------------------- */
li.form-text {
    margin-bottom: 1.5em;
}


.form-text label,
.form-date label,
.form-attachment label,
.form-textbox label,
.form-drop-down label,
.form-checkboxes-small>label p,
.form-checkboxes-small ul p,
.form-checkboxes-large>label p,
.form-checkboxes-large ul input+label p,
.form-radio-buttons-small>label p,
.form-radio-buttons-small ul label p,
.form-radio-buttons-large>label p,
.form-radio-buttons-large ul label p {
    font-size: var(--step-1);
    font-weight: 400;
    color: #666;
    line-height: 1.25;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-align: left;
}


/* -------------------------- Text Field -------------------------- */

input,
input[type=date] {
    /*font-size: 1.4em;*/
    font-weight: 400;
    color: #222;
    letter-spacing: -0.025em;
    webkit-transition: border-color 0.1s, box-shadow 0.1s;
    transition: border-color 0.1s, box-shadow 0.1s;
    height: 1.4rem;
    padding: 1.2rem 1rem;
    border-radius: .5rem;
    border: .1rem solid #ddd;
    outline: 0;
}
input, select, .fileUpload {
    font-size: 1.4rem;
    padding: .7em;
    min-width: 20rem;
    background-color: #fff;
}

input:hover,
input[type=date]:hover {
    border-color: #aaa;
}

input:focus,
input[type=date]:focus {
    border-color: #80b6fd;
    box-shadow: 0 0 .8rem #b2d3fe;
}

input.error,
input.error[type=date] {
    border-color: #f00;
    box-shadow: none;
}

input:disabled,
input[type=date]:disabled {
    color: #666;
    border-color: #ddd;
    background: transparent;
}

input[type="password"] {
    letter-spacing: 0.1em;
}
input[type="checkbox"]{
    min-width: 1.2rem;
    justify-self: start;
}

.userEmail {
    color: #222;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: .7rem;
}

/*.userEmail .button-primary {
    text-align: right;
    align-self:flex-end;
}*/



/* -------------------------- File Attachment -------------------------- */

.form-attachment input[type=file] {
    width: 0.01rem;
    height: 0.01rem;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.form-attachment label {
    padding-top: .9rem;
}

.form-attachment li {
    position: relative;
}

.form-attachment li>p {
    font-size: var(--step-1);
    font-weight: 400;
    color: #222;
    line-height: 1.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.form-attachment li button {
    position: absolute;
    top: 0;
    right: 0;
    font-size: var(--step-0);
    font-weight: 600;
    color: #02377c;
    line-height: 2.5;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    webkit-transition: opacity 0.2s, visibility 0s 0.2s;
    transition: opacity 0.2s, visibility 0s 0.2s;
    display: inline-block;
    height: 40rem;
    padding: 0 0 0 10rem;
    border: 0;
    outline: 0;
    text-align: left;
    background: #f6f6f6;
    box-shadow: -8rem 0 8rem #f6f6f6, 1rem 0 0 1rem #f6f6f6;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
}

.form-attachment li button .attachment-remove {
    position: absolute;
    top: 1rem;
    left: 0;
    display: inline-block;
    position: relative;
    height: 0;
    width: 1.8rem;
    padding-top: 1.8rem;
    fill: none;
    stroke: #02377c;
    stroke-width: 2;
}

.form-attachment li button .attachment-remove svg {
    position: absolute;
    top: 0;
    left: 0;
}

.form-attachment li button .attachment-remove line {
    stroke-width: 2.25;
}

.form-attachment li button p {
    display: inline-block;
    padding-left: 3rem;
}

.form-attachment li button:hover p {
    text-decoration: underline;
}

.form-attachment li:hover button {
    webkit-transition: opacity 0.2s, visibility 0s;
    transition: opacity 0.2s, visibility 0s;
    opacity: 1;
    visibility: visible;
}

.form-attachment input[type=file]+label {
    position: relative;
    display: inline-block;
    padding-top: 0;
    padding-bottom: 2rem;
    cursor: pointer;
}

.form-attachment input[type=file]+label .attachment-add {
    display: inline-block;
    position: relative;
    height: 0;
    width: 1.8rem;
    padding-top: 1.8rem;
    top: 8rem;
    fill: none;
    stroke: #5bac46;
    stroke-width: 2;
}

.form-attachment input[type=file]+label .attachment-add svg {
    position: absolute;
    top: 0;
    left: 0;
}

.form-attachment input[type=file]+label p {
    display: inline-block;
    padding-left: 3rem;
    text-align: left;
    font-weight: 600;
    color: #5bac46;
    line-height: 2.5;
}

.form-attachment input[type=file]+label:hover p {
    text-decoration: underline;
}



/* -------------------------- Textarea -------------------------- */

textarea {
    padding: .3em;
    font-size: 1.2em;
}

.form-textbox textarea {
    font-size: 1rem;
    font-weight: 400;
    color: #222;
    line-height: 1.2;
    letter-spacing: -0.025em;
    webkit-transition: border-color 0.1s, box-shadow 0.1s;
    transition: border-color 0.1s, box-shadow 0.1s;
    height: 14rem;
    padding: .6rem 1rem .8rem;
    border-radius: .3rem;
    border: .1rem solid #ddd;
    outline: 0;
    resize: none;
}

.form-textbox textarea:hover {
    border-color: #aaa;
}

.form-textbox textarea:focus {
    border-color: #80b6fd;
    box-shadow: 0 0 1rem #b2d3fe;
}

.form-textbox textarea.error {
    border-color: #f00;
    box-shadow: none;
}


/* -------------------------- Drop Down -------------------------- */

.form-drop-down select {
    font-size: 1rem;
    font-weight: 400;
    color: #222;
    line-height: 1.2;
    letter-spacing: -0.025em;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4rem;
    padding: 0 4rem 0 1.3rem;
    z-index: 10;
}

.form-drop-down select+span {
    font-size: 1rem;
    font-weight: 400;
    color: #222;
    line-height: 1.2;
    letter-spacing: -0.025em;
    webkit-transition: border-color 0.1s, box-shadow 0.1s;
    transition: border-color 0.1s, box-shadow 0.1s;
    display: block;
    height: 3rem;
    padding: 0 1rem 1rem;
    border-radius: .5rem;
    border: .1rem solid #ddd;
    outline: 0;
    background: #fff;
}

.form-drop-down select:hover+span {
    border-color: #aaa;
}

.form-drop-down select:focus+span {
    border-color: #80b6fd;
    box-shadow: 0 0 .8rem #b2d3fe;
}

.form-drop-down select.error+span {
    border-color: #f00;
    box-shadow: none;
}

.form-drop-down select:disabled {
    font-style: italic;
    color: #bbb;
}

.form-drop-down select:disabled+span {
    border-color: #ddd;
    background: transparent;
}

.drop-down-arrow {
    display: inline-block;
    position: relative;
    height: 0;
    width: 2.5rem;
    padding-top: .5rem;
    position: absolute;
    top: 1.2rem;
    right: .5rem;
    fill: none;
    stroke-width: 2.25;
    stroke: #999;
}

.drop-down-arrow svg {
    position: absolute;
    top: 0;
    left: 0;
}

select:disabled+span .drop-down-arrow {
    stroke: #ccc;
}


/* -------------------------- Checkboxes -------------------------- */

.form-checkboxes-small input,
.form-checkboxes-large input {
    display: none;
}

.form-checkboxes-small input+label,
.form-checkboxes-large input+label {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.form-checkboxes-small input+label span,
.form-checkboxes-large input+label span {
    position: absolute;
    top: .4rem;
    left: 0;
    webkit-transition: border-color 0.1s, background 0.1s;
    transition: border-color 0.1s, background 0.1s;
    display: inline-block;
    border-radius: .3rem;
    border: .2rem solid #ccc;
    background: #fff;
    outline: 0;
}

.form-checkboxes-small input+label:hover span,
.form-checkboxes-large input+label:hover span {
    border-color: #999;
}

.form-checkboxes-small input+label:active span,
.form-checkboxes-large input+label:active span {
    background: #b3b3b3;
}

.error .form-checkboxes-small input+label span,
.form-checkboxes-small .error input+label span,
.error .form-checkboxes-large input+label span,
.form-checkboxes-large .error input+label span {
    border-color: #f00;
}

.form-checkboxes-small input.error+label span,
.form-checkboxes-large input.error+label span {
    border-color: #f00;
}

.form-checkboxes-small input:checked+label span,
.form-checkboxes-large input:checked+label span {
    border-color: #666;
    background: #666;
}

.form-checkboxes-small input:checked+label:active span,
.form-checkboxes-large input:checked+label:active span {
    background: #b3b3b3;
}

.checkbox-checkmark-small {
    display: inline-block;
    position: relative;
    height: 0;
    width: 1rem;
    padding-top: .9rem;
    position: absolute;
    top: 0;
    left: 0;
    webkit-transition: opacity 0.1s;
    transition: opacity 0.1s;
    fill: none;
    stroke-width: 2.25;
    stroke: #fff;
    opacity: 0;
}

.checkbox-checkmark-small svg {
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.2);
}

input:checked+label .checkbox-checkmark-small {
    opacity: 1;
}

.checkbox-checkmark-large {
    display: inline-block;
    position: relative;
    height: 0;
    width: 20rem;
    padding-top: 2rem;
    position: absolute;
    top: 3rem;
    left: 1rem;
    webkit-transition: opacity 0.1s;
    transition: opacity 0.1s;
    fill: none;
    stroke-width: 2.25;
    stroke: #fff;
    opacity: 0;
}

.checkbox-checkmark-large svg {
    position: absolute;
    top: 0;
    left: 0;
}

input:checked+label .checkbox-checkmark-large {
    opacity: 1;
}
.form-checkboxes-small,
.form-checkboxes-large,
.form-checkboxes-small ul,
ul.field-group {
    list-style: none;
}

    .form-checkboxes-small > label {
        padding-top: 1rem;
    }

    .form-checkboxes-small ul {
        margin-top: 1rem;
        padding-bottom: 2rem;
    }

    .form-checkboxes-small li + li {
        margin-top: .5rem;
    }

    .form-checkboxes-small input + label {
        padding-left: 2rem;
    }

        .form-checkboxes-small input + label span {
            height: .7rem;
            width: .8rem;
        }

    .form-checkboxes-small ul p {
        line-height: 1.25;
        text-align: left;
    }

.form-checkboxes-large {
    padding-left: 4rem;
}

    .form-checkboxes-large ul {
        margin-top: 1rem;
    }

    .form-checkboxes-large li + li {
        margin-top: .8rem;
    }

    .form-checkboxes-large input + label {
        padding: .3rem 0 .3rem 3rem;
    }

        .form-checkboxes-large input + label span {
            height: 2.4rem;
            width: 2.4rem;
        }

    .form-checkboxes-large ul input + label p {
        padding-right: 4rem;
        line-height: 1.25;
        text-align: left;
    }

    .form-checkboxes-large label + label {
        position: relative;
        display: inline-block;
    }

    .form-checkboxes-large + .form-checkboxes-large {
        margin-top: 0;
    }

/* -------------------------- Radio Buttons -------------------------- */

.form-radio-buttons-small input,
.form-radio-buttons-large input,
.form-radio-buttons-large-descriptions input {
    display: none;
}

.form-radio-buttons-small input+label,
.form-radio-buttons-large input+label,
.form-radio-buttons-large-descriptions input+label {
    position: relative;
    display: inline-block;
    padding-left: 4rem;
    cursor: pointer;
}

.form-radio-buttons-small input+label span,
.form-radio-buttons-large input+label span,
.form-radio-buttons-large-descriptions input+label span {
    position: absolute;
    top: 0;
    left: 0;
    webkit-transition: border-color 0.1s, border-width 0.1s;
    transition: border-color 0.1s, border-width 0.1s;
    display: inline-block;
    border-radius: 1rem;
    border: .3rem solid #ccc;
    background: #fff;
    outline: 0;
}

.form-radio-buttons-small input+label:hover span,
.form-radio-buttons-large input+label:hover span,
.form-radio-buttons-large-descriptions input+label:hover span {
    border-color: #999;
}

.form-radio-buttons-small input+label:active span,
.form-radio-buttons-large input+label:active span,
.form-radio-buttons-large-descriptions input+label:active span {
    border-width: .3rem;
}

.error .form-radio-buttons-small input+label span,
.form-radio-buttons-small .error input+label span,
.error .form-radio-buttons-large input+label span,
.form-radio-buttons-large .error input+label span,
.error .form-radio-buttons-large-descriptions input+label span,
.form-radio-buttons-large-descriptions .error input+label span {
    border-color: #f00;
}

.error .form-radio-buttons-small input+label:active span,
.form-radio-buttons-small .error input+label:active span,
.error .form-radio-buttons-large input+label:active span,
.form-radio-buttons-large .error input+label:active span,
.error .form-radio-buttons-large-descriptions input+label:active span,
.form-radio-buttons-large-descriptions .error input+label:active span {
    border-color: #999;
}

.form-radio-buttons-small input:checked+label span,
.form-radio-buttons-large input:checked+label span,
.form-radio-buttons-large-descriptions input:checked+label span {
    border-color: #666;
    border-width: .4rem;
}

.form-radio-buttons-small input:checked+label:active span,
.form-radio-buttons-large input:checked+label:active span,
.form-radio-buttons-large-descriptions input:checked+label:active span {
    border-width: .5rem;
}
.form-radio-buttons-small>label {
    padding-top: 2rem;
    padding-left: 3rem;
}

.form-radio-buttons-small input+label {
    padding-left: 2.6rem;
}

.form-radio-buttons-small input+label span {
    height: 1.6rem;
    width: 1.6rem;
    top: 1.4rem;
}

.form-radio-buttons-small input:checked+label span {
    border-width: .5rem;
}

.form-radio-buttons-small input:checked+label:active span {
    border-width: .6rem;
}

.form-radio-buttons-small ul {
    padding-top: 1rem;
}

.form-radio-buttons-small ul li {
    position: relative;
}

.form-radio-buttons-small ul label p {
    line-height: 1.375;
    text-align: left;
}

.form-radio-buttons-large>label {
    padding-top: .9rem;
}

.form-radio-buttons-large input+label {
    padding-left: 1.8rem;
}

.form-radio-buttons-large input+label span {
    height: 1.25rem;
    width: 1.25rem;
    margin-top: .2rem;
}

.form-radio-buttons-large ul {
    position: relative;
    display: inline-block;
    padding-top: .9rem;
}

.form-radio-buttons-large ul li {
    display: inline-block;
}

.form-radio-buttons-large ul li+li {
    margin-left: 5rem;
}

.form-radio-buttons-large ul label p {
    line-height: 1.375;
    text-align: left;
    padding-right: 2.5rem;
}

.form-radio-buttons-large-descriptions {
    position: relative;
    left: 12rem;
}

.form-radio-buttons-large-descriptions>ul>li+li {
    margin-top: 2.5rem;
}

.form-radio-buttons-large-descriptions input+label {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    padding-left: 3rem;
}

.form-radio-buttons-large-descriptions input+label span {
    height: 2rem;
    width: 2rem;
}

.form-radio-buttons-large-descriptions p {
    font-size: 16em;
    font-weight: 400;
    color: #666;
    line-height: 1.25;
    font-style: italic;
}

.form-radio-buttons-large-descriptions p+p {
    margin-top: .5rem;
}

.form-radio-buttons-large-descriptions p strong {
    color: #222;
    font-size: 1.125em;
    font-style: normal;
    font-weight: 600;
}

.form-radio-buttons-large-descriptions ul ul {
    margin-top: 2rem;
    padding-left: 1.6rem;
}

.form-radio-buttons-large-descriptions ul ul li {
    position: relative;
}

.form-radio-buttons-large-descriptions ul ul li:before {
    position: absolute;
    top: 8rem;
    left: -1.6rem;
    content: '';
    width: .5rem;
    height: .5rem;
    background: #666;
    border-radius: .5rem;
}

/* ================================ FORM TYPES ================================ */


/* -------------------------- Header Text -------------------------- */

.form-header,
.form-header-dedented {
    padding-left: 3.6rem;
}

.form-header h5,
.form-header-dedented h5 {
    margin: 0;
}

.field-group li+.form-header,
.field-group li+.form-header-dedented {
    margin-top: 1rem;
}

.form-header-dedented {
    padding-left: 3rem;
}


/* -------------------------- Description Text -------------------------- */

.form-description,
.form-description-left,
.form-description-left-wide,
.form-description-wide {
    padding: 0 1rem 0 3rem;
}

.form-description p,
.form-description-left p,
.form-description-left-wide p,
.form-description-wide p {
    font-size: 1em;
    font-weight: 400;
    color: #666;
    line-height: 1.25;
    margin: 0;
    font-style: italic;
    text-align: center;
}

.form-description p+p,
.form-description-left p+p,
.form-description-left-wide p+p,
.form-description-wide p+p {
    margin-top: 1rem;
}

.form-description p strong,
.form-description-left p strong,
.form-description-left-wide p strong,
.form-description-wide p strong {
    color: #222;
    font-size: 1.125em;
    font-weight: 600;
    font-style: normal;
}

.form-description-left,
.form-description-left-wide {
    padding: 0 0 0 3rem;
}

.form-description-left p,
.form-description-left-wide p {
    text-align: left;
}

.form-description-left-wide {
    position: relative;
    left: 25rem;
    padding: 0 0 0 2rem;
}

.form-description-wide {
    padding: 0 0 0 2rem;
}

.form-extra-padding {
    padding-top: 2rem;
    padding-bottom: 2rem;
}


/* -------------------------- Text -------------------------- */

.form-text label {
    padding-top: .9rem;
}

.form-text input {
    width: 100%;
}


/* -------------------------- Text - Date -------------------------- */

.form-date label {
    padding-top: 1rem;
}

.form-date input[type=date] {
    font-size: 1em;
    font-weight: 400;
    color: #222;
    letter-spacing: -0.02778em;
    width: 10rem;
}

.form-date input[type=date]::-webkit-input-placeholder {
    color: #aaa;
}

.form-date input[type=date]::-moz-placeholder {
    color: #aaa;
}

.form-date input[type=date]:-ms-input-placeholder {
    color: #aaa;
}

.form-date input[type=date]:-moz-placeholder {
    color: #aaa;
}


/* -------------------------- Text - Number -------------------------- */

input[type="number"] {
    -moz-appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* -------------------------- Textarea -------------------------- */

.form-textbox label {
    padding-top: 9rem;
}

.form-textbox textarea {
    width: 100%;
}


/* -------------------------- Drop Down -------------------------- */

.form-drop-down label {
    padding-top: 1rem;
}

.form-drop-down select {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    outline: 0;
    border: 0;
    border-radius: 0;
    background: none;
    overflow: hidden;
    cursor: pointer;
    width: 100%;
}

.form-drop-down select:disabled:hover {
    cursor: default;
}

.form-drop-down select::-ms-expand {
    display: none;
}

.form-drop-down select::-ms-value {
    background: transparent;
    color: #222;
}

.form-drop-down select:focus:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #222;
}

.form-drop-down.form-field-half-width select {
    width: 200rem;
    right: auto;
}


/* -------------------------- Checkboxes -------------------------- */




/* -------------------------- Radio Buttons -------------------------- */




/* -------------------------- Error Message -------------------------- */

.error-message {
    position: absolute;
    top: 0;
    right: -220rem;
    webkit-transition: visibility 0s 0.2s, opacity 0.2s;
    transition: visibility 0s 0.2s, opacity 0.2s;
    min-width: 220rem;
    visibility: hidden;
    opacity: 0;
    z-index: 100;
}

.error~.error-message,
.error .error-message,
.error~* .error-message {
    webkit-transition: visibility 0s, opacity 0.2s;
    transition: visibility 0s, opacity 0.2s;
    visibility: visible;
    opacity: 1;
}

.error-message p {
    position: absolute;
    top: 0;
    left: 10rem;
    font-size: 16em;
    font-weight: 400;
    color: #000;
    line-height: 1.125;
    text-decoration: none;
    padding: 10rem 12rem 12rem;
    background: #ffd34c;
    border-radius: 3rem;
    box-shadow: 0 0 1rem 2rem #eee;
}

.error-message p:before {
    position: absolute;
    top: 10rem;
    left: -20rem;
    display: inline-block;
    width: 0;
    height: 0;
    border: 10rem solid transparent;
    border-right-color: #ffd34c;
    content: '';
}

label .error-message p {
    position: absolute;
    top: -8rem;
    left: 15rem;
}

.inline-error {
    position: relative;
    margin: 0 auto;
    padding: 15rem 0 20rem;
    max-width: 820rem;
    min-height: 70rem;
    background: #fff;
    border: 1rem solid #e4e4e4;
    border-radius: 5rem;
}

.inline-error .alert-small {
    display: inline-block;
    position: relative;
    height: 0;
    width: 39rem;
    padding-top: 35rem;
    position: absolute;
    top: 14rem;
    left: 18rem;
}

.inline-error .alert-small svg {
    position: absolute;
    top: 0;
    left: 0;
}

.inline-error .alert-small path,
.inline-error .alert-small line {
    stroke: #f00;
    stroke-width: 2;
    stroke-linecap: round;
    fill: none;
}

.inline-error .alert-small line {
    stroke-width: 3;
}

.inline-error .alert-small circle {
    stroke: none;
    fill: #f00;
}

.inline-error p {
    font-size: 20em;
    font-weight: 400;
    color: #222;
    line-height: 1.6;
    letter-spacing: -0.0125em;
    margin-left: 70rem;
}

.inline-error p+p {
    margin: 16rem 0 0;
    text-align: center;
}

.inline-error p+p+p {
    margin: 0;
    word-spacing: .25em;
}

.inline-error p+p+p strong {
    position: relative;
    top: 2rem;
    font-size: 24rem;
    font-weight: 600;
}

.inline-error a {
    color: #02377c;
}

.inline-error a:hover {
    text-decoration: none;
}


/* ================================ BUTTONS ================================ */

.button-primary,
.button-secondary,
.button-cancel {
    font-size: var(--step-2);
    font-weight: 400;
    color: #fff;
    line-height: 1.5;
    letter-spacing: -0.02273rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: inline-block;
    min-width: 6rem;
    padding: .3rem .5rem;
    border: 0;
    outline: 0;
    border-radius: .5rem;
    text-align: center;
    cursor: pointer;
}

.button-primary {
    background: #5bac46;
}

.button-primary:hover {
    background: #55a142;
}

.button-primary:active {
    background: #4f963d;
}

.button-secondary {
    background: #5bac46;
    border: 1px solid #5bac46;
    color: #fff;
}

.button-secondary:hover {
    background: #55a142;
}

.button-secondary:active {
    background: #e7f4e4;
}

.button-cancel {
    background: #eee;
    color: #666;
}

.button-cancel:hover {
    background: #e6e6e6;
}

.button-cancel:active {
    background: #dfdfdf;
}

.button-disabled {
    background: #f4f4f4;
    color: #ccc;
    cursor: default;
}

.button-disabled:hover {
    background: #f4f4f4;
}

.button-disabled:active {
    background: #f4f4f4;
}

[class|=button]+[class|=button] {
    margin-left: 20rem;
}

button p {
    margin-bottom: 3rem;
}

/* ================================ INTRODUCTION ================================ */

/*#introduction {
    display: none;
}

    #introduction ~ .introduction {
        webkit-transition: visibility 0s 0.2s, opacity 0.2s;
        transition: visibility 0s 0.2s, opacity 0.2s;
        visibility: hidden;
        opacity: 0;
    }

    #introduction:checked ~ .introduction {
        webkit-transition: visibility 0s, opacity 0.2s;
        transition: visibility 0s, opacity 0.2s;
        visibility: visible;
        opacity: 1;
    }
*/
.introduction {
    display: flex;
    flex-direction: column; /* stack children vertically */
    justify-content: center; /* vertically center when there's room */
    align-items: stretch; /* inner div fills full width */
    background: rgba(245, 245, 245, 0.95);
    min-height: 100%;
    overflow-y: unset; /* grow to fill the viewport */
}

.introduction > div {
    width: 100%;
    padding: 3rem 0 6rem;
    background: #fff;
    border: 0 solid #ddd;
    border-width: 1px 0;
    text-align: center;
}

.introduction h4 {
    font-size: var(--step-4);
    font-weight: 200;
    color: #000;
    line-height: 1.25;
    letter-spacing: -0.02083em;
}

.introduction h4~p {
    font-size: var(--step-1);
    font-weight: 300;
    color: #666;
    line-height: 1.25;
    letter-spacing: -0.02083em;
    margin: 2rem auto 0;
    max-width: 75ch;
}

.introduction span {
    display: block;
    height: 1rem;
    min-width: 1rem;
}

.introduction label {
    margin-top: 2rem;
}

.introduction #pageTitle {
    display: flex;
    gap: 1rem;
    flex-direction: column;
    align-items: center;
}

#pageTitle img {
    max-width: 300px;
    min-width: 100px;
}

#pageTitle.container img.logo {
    max-height: 80px;
}

.documents {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0 auto;
    padding: 1rem 0 .5rem;
}

.documents>div {
    padding: 0 .5rem;
    max-width: 9rem;
    min-width: 6rem;
}

.documents>div p {
    font-size: var(--step-2);
    font-weight: 400;
    color: #222;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-top: 1rem;
}

.documents>div p+p {
    font-size: var(--step--1);
    font-weight: 400;
    color: #666;
    line-height: 1.125;
    letter-spacing: -0.00937em;
    margin-top: .5rem;
}

.document-ribbon,
.document-document,
.document-badge,
.document-check {
    display: inline-block;
    position: relative;
    height: 0;
    width: 4rem;
    padding-top: 1rem;
    fill: none;
    stroke: #ccc;
    stroke-width: 3;
}

.document-ribbon svg,
.document-document svg,
.document-badge svg,
.document-check svg {
    /*position: absolute;
        top: 0;
        left: 0;*/
    display: inline-block;
}

.document-ribbon polyline+polyline {
    stroke-linejoin: round;
}

.document-check path {
    stroke-linecap: round;
}

.document-check path+path {
    fill: #ccc;
    stroke: none;
}
/*===== misc =====*/
#wrapper-useBankInfo .freeform {
    text-align: center;
    margin: 2em 0;
}
#wrapper-useBankInfo input {
    margin-right: .5em;
}
#saveProgress {
    margin: 2em 0;
}
/*.summary-group {
    border: 1px solid #ccc;
    padding: 1em;
    margin-bottom: 2em;
    border-radius: 6px;
    background: #fafafa;
}*/
.summary-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}
.summary-items {
    display: flex;
    flex-wrap: wrap;
    gap: .8em;
}
.summary-item {
    flex: 1 1 45%;
    min-width: 250px;
    box-sizing: border-box;
    font-size: 1.2em;
    font-weight: 300;
}
.summary-item strong {
    font-weight:500;
    color: #444;
}
.summary-group {
    flex: 1 1 45%;
    min-width: 300px;
    border: 1px solid #ccc;
    padding: 1em;
    border-radius: 6px;
    background: #fafafa;
    margin-bottom: 1em;
}
.summary-fullwidth .summary-group {
    width: 100%;
    min-width: unset;
}
div.summary-items .Store_Questions {
    justify-content: space-around;
}
div.Store_Questions .summary-item {
    min-width: 100px;
    max-width: 260px;
}
div#signing-ceremony {
    /*height: 4050px;*/
    height: 70vh;
}

li.step-4-buttons #submit {
    margin-left: 20px;
}

.validationMessage {
    text-align: right;
    grid-column: span 2;
    padding-bottom: .5rem;
    color: red;
}
div#loadingSummary div {
    display: flex;
    justify-content: center;
}
div.loadingSpinner img {
    animation-name: spin2;
    animation-duration: 3000ms;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    font-size: 3em;
}
@keyframes spin2 {
    0% {
        transform: rotate(0deg);
    }

    10% {
        transform: rotate(-20deg);
    }

    100% {
        transform: rotate(1080deg);
    }
}