/* Root Values */

body,
body *,
body *:after,
body *:before {
    --primary-green: #2eac69;
    --primary-green-dark: #00ab6e;
    --primary-green-light: #d5eee0;
    --primary-green-shadow: #00422b;
    --primary-white: #f3f4f6;
    --primary-white-dark: #e5e7eb;
    --primary-white-light: #ffffff;
    --primary-black: #000000;
    --primary-black-nochange: #000000;
    --primary-black-alpha: rgba(0, 0, 0, 0.4);
    --primary-gray-dark: #353940;
    --primary-gray-light: #6b7280;
    --primary-yellow-light: #f4f6dd;
    --link-color: #e1723a;

    speak: never;
}

body {
    background-color: #ffffff;
    background-color: var(--primary-white-light);
    font-family: 'Source Sans Pro', sans-serif;
    color: #353940;
    color: var(--primary-gray-dark);

    display: flex;
    flex-flow: column nowrap;
    min-height: 100vh;
}



/* General */

h1,
h2,
h3 {
    font-family: "Muli", sans-serif;
}

h2 {
    color: #2eac69;
    color: var(--primary-green);
    font-size: 36px;
    font-size: 3.6rem;
    text-align: center;
    margin-bottom: 25px;
    margin-bottom: 2.5rem
}

.subtitle {
    text-align: center;
    font-weight: 700
}

a,
a:link,
a:visited {
    color: #e1723a;
    color: var(--link-color);
    text-decoration: none
}

a:hover,
a:focus,
a:active,
button:hover,
button:focus,
button:active,
button[type=submit]:hover,
button[type=submit]:focus,
button[type=submit]:active,
button[type=reset]:hover,
button[type=reset]:focus,
button[type=reset]:active,
input[type=button]:hover,
input[type=button]:focus,
input[type=button]:active,
input[type=submit]:hover,
input[type=submit]:focus,
input[type=submit]:active,
input[type=reset]:hover,
input[type=reset]:focus,
input[type=reset]:active {
    text-decoration: underline
}



/* Cookie Dialog */

#cookie-banner {
    background: #f4f6dd;
    background: var(--primary-yellow-light);
    color: #353940;
    color: var(--primary-gray-dark);
    padding: 15px 20px;
    padding: 1.5rem 2rem;
    line-height: 1.2;
    text-align: left;

    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

#cookie-banner .cookie-text {
    flex-shrink: 1;
    flex-basis: auto;
}

#cookie-button {
    margin: 5px 0 5px 15px;
    margin: .5rem 0 .5rem 1.5rem;
    padding: 6px 12px;
    padding: .6rem 1.2rem;
    background-color: #e1723a;
    background-color: var(--link-color);
    color: #f3f4f6;
    color: var(--primary-white);
    border-radius: 5px;
    border-radius: .5rem;
    border: none;
    text-transform: uppercase;
    flex-basis: max-content;
    max-width: max-content;
    min-width: max-content;
    flex-grow: 0;
    flex-shrink: 0;
    cursor: pointer;
}



/* Navbar */

.logo {
    width: 110px;
    width: 11rem;
    height: 40px;
    height: 4rem;
    flex: 0 0 110px;
    flex: 0 0 11rem
}

.logo [role=img] {
    height: 100%;
}

nav {
    font-family: "Muli", sans-serif;
    color: #f3f4f6;
    color: var(--primary-white);
    background-color: #2eac69;
    background-color: var(--primary-green);
    padding: 25px 0;
    padding: 2.5rem 0;
}

ul.header-nav {
    width: 90%;
    max-width: 1229px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: space-between;
    height: 40px;
    height: 4rem;
    list-style-type: none;
}

.mobile-menu {
    width: 40px;
    width: 4rem;
    margin: 0 !important;
    cursor: pointer;
}

.mobile-menu .keep-ar-content {
    background: transparent no-repeat center;
    background-size: auto;
    background-size: auto 100%;
}

.header-menu {
    display: flex;
    flex-wrap: nowrap;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 40px;
    line-height: 4rem;
    height: 40px;
    height: 4rem;
    margin: 0;
    padding: 0 0 0 12px;
    padding: 0 0 0 1.2rem;
    list-style-type: none
}

.header-menu-option {
    margin: 0 6px;
    margin: 0 .6rem;
    min-width: max-content;
    flex-shrink: 0;
    flex-grow: 0
}

.header-menu-option:last-child {
    margin-right: 0;
}

.header-menu-option a {
    display: block;
    line-height: 40px;
    line-height: 4rem;
    height: 40px;
    height: 4rem;
    padding: 0 6px;
    padding: 0 .6rem;
    color: #f3f4f6;
    color: var(--primary-white);
    font-style: normal;
    font-weight: bold;
    -webkit-padding-before: 1px
}

.register-button,
.dashboard-button,
.accessibility-button {
    margin: 0 12px;
    margin: 0 1.2rem;
    padding: 0;
    background-color: #e1723a;
    background-color: var(--link-color);
    border-radius: 5px;
    border-radius: .5rem;
    border: 1px solid;
    border: .1rem solid;
    text-transform: uppercase
}

.register-button {
    border-color: #e1723a;
    border-color: var(--link-color);
}

.dashboard-button,
.accessibility-button {
    background-color: transparent;
}

.register-button a,
.dashboard-button a,
.accessibility-button a {
    padding: 0 12px;
    padding: 0 1.2rem;
    height: 38px;
    height: 3.8rem;
    line-height: 38px;
    line-height: 3.8rem;
    -webkit-padding-before: 1px
}


.accessibility-button,
.accessibility-button a {
    border: none;
}



/* Header */

.header-box {
    text-align: left;
    background-color: #2eac69;
    background-color: var(--primary-green);
    color: #f3f4f6;
    color: var(--primary-white);
    padding: 0 0 25px;
    padding: 0 0 2.5rem;
    width: 100%;
    margin: 0;
}

.header-box.index {
    padding: 0;
}

.header-content {
    display: flex;
    align-items: center;
    width: 90%;
    max-width: 1400px;
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    line-height: 1.2;
}

.header-content .banner-text,
.header-content .banner-text h1,
.header-content .banner-text .subtitle {
    text-align: left
}
.header-content .banner-text .subtitle {
    font-size: 18px;
    font-size: 1.8rem;
}

.header-content .banner-text {
    max-width: 100%;
    flex-shrink: 1;
    flex-grow: 1;
    flex-basis: 535px;
    font-size: 24px;
    font-size: 2.4rem;
}

.index .header-content .banner-text {
    flex-basis: 515px;
    padding-right: calc(100% - 1150px);
    text-align: center;
}

.index .header-content .banner-text h1,
.index .header-content .banner-text .subtitle {
    text-align: center;
}

.index .header-content .ab-testing .register-button {
    display: inline-block;
    margin: 0;
    padding: 8px 13px;
    padding: 0.8rem 1.3rem;
    color: #f3f4f6;
    color: var(--primary-white);
}

.header-content .notification {
    display: inline-block;
    background: #f4f6dd;
    background: var(--primary-yellow-light);
    color: #353940;
    color: var(--primary-gray-dark);
    padding: 8px 13px;
    padding: .8rem 1.3rem;
    border-radius: 5px;
    border-radius: .5rem;
    line-height: 1.2;
}

.header-content .banner-image {
    background-position: bottom center;
    max-width: 100%;
    width: 410px;
    flex-basis: 410px;
    flex-shrink: 0;
    flex-grow: 0;
}

.index .header-content .banner-image {
    width: 600px;
    flex-basis: 600px;
    margin-right: 150px;
}



/* Sections */

main>section {
    width: 90%;
    max-width: 800px;
    margin: 110px auto;
    line-height: 1.2;
}

main>section {
    margin: 70px auto 110px;
}

.section.container {
    max-width: 800px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.container-mid {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

section.container-mid {
    width: 90%;
}

.container-small {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

section.container-small {
    width: 90%;
}



/* Intro */

#presentation .section.container {
    margin: 50px auto 85px;
    margin: 5rem auto 8.5rem;
    max-width: 980px;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    height: 0;
    overflow: hidden;
    border-radius: 20px;
    border-radius: 2rem;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/* Sliders */

@-o-keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-moz-keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-ms-keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fade-in {
    -webkit-animation-name: fade-in;
    -webkit-animation-duration: 1.5s;
    animation-name: fade-in;
    animation-duration: 1.5s;
}


.slider {
    position: relative;
    margin: 40px 0 0;
    margin: 4rem 0 0;
}

.slider-prev,
.slider-next {
    display: flex;
    position: absolute;
    justify-content: center;
    align-items: center;

    cursor: pointer;
    z-index: 10;
    border: none;
    margin: 0;
    padding: 0;
    background-color: transparent;

    top: 15%;
    bottom: 15%;
    width: 45px;
    width: 4.5rem;
    height: 70%;
    transition: 0.3s ease-in-out;
}

.slider-prev[hidden],
.slider-next[hidden] {
    display: none;
}

.slider-prev {
    left: 0;
}

.slider-next {
    right: 0;
}

.slider-prev:hover,
.slider-next:hover {
    top: 0;
    bottom: 0;
    height: 100%;
    background-color: #000000;
    background-color: #00000066;
    background-color: var(--primary-black-alpha);
}

.slider-prev span,
.slider-next span {
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: 700;

    color: #00ab6e;
    color: var(--primary-green-dark);
    transition: 0.6s ease-in-out;
}



/* Presentation */

#presentation {
    max-width: 100%;
    width: 100%;
}

#controller-presentation {
    height: 552px;
    background: transparent no-repeat bottom center;
    background-size: auto 600px;
    margin-top: 200px
}

#presentation .presentation {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
}

#presentation .presentation {
    list-style-type: none;
    max-width: 866px;
    padding: 307px 0 0;

    display: flex;
    flex-flow: row wrap;
    justify-content: left;
    align-items: flex-start;

    line-height: 1.5;
}

#presentation .presentation li {
    padding-left: 32px;
    flex-shrink: 0;
    flex-grow: 0;
}

#presentation .presentation li:nth-child(1) {
    padding-right: 32px;
    min-width: 217px;
    flex-basis: 217px;
}

#presentation .presentation li:nth-child(2) {
    padding-right: 32px;
    min-width: 235px;
    flex-basis: 235px;
}

#presentation .presentation li:nth-child(3) {
    padding-right: 32px;
    min-width: 217px;
    flex-basis: 217px;
}

#presentation .presentation li:nth-child(4) {
    padding-left: 31px;
    min-width: 197px;
    flex-basis: 197px;
}

/****/



/* Image-List */

#benefits {
    max-width: 1120px;
}

.image-list {
    padding: 0;
    list-style-type: none;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-flow: row wrap;
}

.image-list .list-image {
    max-width: 310px;
    margin: 0 0 25px;
    margin: 0 0 2.5rem;
    text-align: center;
}

.image-list .list-image span,
.image-list .list-image h2 {
    display: block;
}

.image-list .list-image h2 {
    font-size: 28px;
    font-size: 2.8rem;
    color: #353940;
    color: var(--primary-gray-dark);
    margin: 0 0 30px;
    margin: 0 0 3rem;
}

.image-list .list-image .list-bg {
    margin: 0 auto 30px;
    margin: 0 auto 3rem;
    width: 65%;
    padding-top: 65%;
    background: transparent no-repeat bottom center;
    background-size: 100% auto;
    background-size: contain;
}

.image-list .list-image .list-text {
    line-height: 1.6;
}



/* Benefits */

.benefits-title {
    margin-top: 22px;
    margin-top: 2.2rem;
    text-align: left;
    font-weight: 700;
}

.benefits-section {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

section.benefits-section {
    width: 90%;
}

.benefits {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.benefits .benefits-list {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    text-align: left;
    margin: 15px 0;
    line-height: 23px;
}

.benefits .bl-image {
    width: 30px;
    min-width: 30px;
    max-width: 30px;
    height: 30px;
    background: transparent no-repeat center;
    background-size: 100%;
    margin: 0 15px 0 0;
}

.benefits .bl-image.large {
    width: 47px;
    min-width: 47px;
    max-width: 47px;
    height: 47px;
    margin: 0 35px 0 20px;
}

/* Teams */

.teams-title {
    margin-top: 22px;
    margin-top: 2.2rem;
    text-align: left;
    font-weight: 700;
}

.teams-section {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

section.teams-section {
    width: 90%;
}

.teams {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.teams .teams-list {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    text-align: left;
    margin: 15px 0;
    line-height: 23px;
}

.teams .bl-image {
    width: 30px;
    min-width: 30px;
    max-width: 30px;
    height: 30px;
    background: transparent no-repeat center;
    background-size: 100%;
    margin: 0 15px 0 0;
}

.teams .bl-image.large {
    width: 47px;
    min-width: 47px;
    max-width: 47px;
    height: 47px;
    margin: 0 35px 0 20px;
}

#vhelp-teams h2 {
    padding-right: 45px;
}

#vhelp-teams .teams-paragraph {
    transform: translateX(55px);
    margin-top: 80px;
    margin-bottom: 80px;
}


/* Keep aspect ratio of background-images */

.keep-ar-container {
    max-width: 100%;
    margin: 0 auto;
    height: auto;
    flex-grow: 0;
    flex-shrink: 0;
}

.keep-ar-content {
    width: 100%;
    background: transparent no-repeat center;
    background-size: auto 100%;
    background-size: contain;
}



/* Expense Calculator*/

#expense-calculator-header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-end;
}

#expense-calculator-title,
#expense-calculator-description {
    text-align: left;
}

#expense-calculator-form {
    margin: 50px auto;
    margin: 5rem auto;
    border: 3px solid #2eac69;
    border: .3rem solid #2eac69;
    border: .3rem solid var(--primary-green);
    padding: 16px 26px;
    padding: 1.6rem 2.6rem;
    border-radius: 25px;
    border-radius: 2.5rem;
}

#expense-calculator-form div.input-label,
#expense-calculator-form fieldset.input-field {
    border: none;
    margin: 0;
    padding: 0;

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

#expense-calculator-form div.input-label div.expense-label {
    width: 32%;
    flex-basis: 32%;
    margin: 4px 0;
    margin: .4rem 0;
    font-size: 14px;
    font-size: 1.4rem;
    color: #e1723a;
    color: var(--link-color);
    text-align: center;
}

#expense-calculator-form div.input-label div.empty {
    width: 35%;
    flex-basis: 35%;
}

#expense-calculator-form fieldset.input-field div.expense-label,
#expense-calculator-form fieldset.input-field div.expense-input {
    padding: 4px 6px 4px 0;
    padding: .4rem .6rem .4rem 0;
    display: block;
    position: relative;
    width: 31.5%;
    flex-basis: 31.5%;
    margin: 4px 0;
    margin: .4rem 0;
}

#expense-calculator-form fieldset.input-field div.expense-label {
    width: 35%;
    flex-basis: 35%;
}

#expense-calculator-form fieldset.input-field div.expense-input {
    height: 35px;
    height: 3.5rem;
}

#expense-calculator-form label.expense-input,
#expense-calculator-form input.expense-input {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 35px;
    height: 3.5rem;
    max-width: 100%;
    font-size: 1em;
    border: 1px solid #2eac69;
    border: .1rem solid #2eac69;
    border: .1rem solid var(--primary-green);
    border-radius: 4px;
    border-radius: .4rem;
    padding: 3px 5px;
    padding: .3rem .5rem;
    color: #353940;
    color: var(--primary-gray-dark)
}

#expense-calculator-form input.expense-input {
    width: 100%;
    color: #353940;
    color: var(--primary-gray-dark);
}

#expense-calculator-form input.expense-input[disabled] {
    background: #e5e7eb;
    background: var(--primary-white-dark);
    color: #6b7280;
    color: var(--primary-gray-light);
}

#expense-calculator-form div.expense-input input.expense-input[id^=salary] {
    padding-left: 1em;
}

#expense-calculator-form div.expense-input label.expense-input {
    border: none;
    padding: 7px 6px 4px 6px;
    padding: .7rem .6rem .4rem .6rem;
    -webkit-padding-before: 7px;
    -webkit-padding-before: .7rem;

    background: transparent;
    z-index: 5;
    color: transparent !important;
    cursor: text;
    margin-right: 1.45em;
    user-select: none;
}

#expense-calculator-form div.expense-input.calculator-active label.expense-input {
    color: #353940 !important;
    color: var(--primary-gray-dark) !important
}

#expense-calculator-form div.expense-input.calculator-active.disabled label.expense-input {
    color: #6b7280 !important;
    color: var(--primary-gray-light) !important
}

#expense-calculator-form #div-costs {
    margin: 0 -10px;
    margin: 0 -1rem;
}

#expense-calculator-form #div-costs .output-label {
    padding: 7px 10px;
    padding: .7rem 1rem;
    color: #f3f4f6;
    color: var(--primary-white);
    background: #2eac69;
    background: var(--primary-green);
    margin: 4px 0;
    margin: .4rem 0;
    border-radius: 4px;
    border-radius: .4rem;

    display: flex;
    flex-flow: row wrap;
    align-items: flex-end;
    justify-content: space-between;
}

#expense-calculator-form #div-costs .output-label span,
#expense-calculator-form #div-costs .output-label strong {
    display: block;
    flex-grow: 1;
    flex-shrink: 1;
}

#expense-calculator-form #div-costs .output-label strong {
    margin-left: 1em;
    width: max-content;
    min-width: max-content;
    max-width: max-content;
    flex-basis: max-content;
}



/* Covid-19 Notice */

#covid19 {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;

    font-size: 24px;
    font-size: 2.4rem;
}

#covid19 .keep-ar-container {
    margin: 0 20px 0 0;
    margin: 0 2rem 0 0;
}

#covid19 #covid19-desc {
    text-align: center;
    margin: 20px 0 0;
    margin: 2rem 0 0;
    max-width: 100%;
    flex-basis: 515px;
    flex-shrink: 0;
    flex-grow: 1;
}



/* Testimonials */

#testimonials {
    max-width: 100%;
    width: 100%;
}

#testimonials h2 {
    background: #2eac69;
    background: var(--primary-green);
    color: #ffffff;
    color: var(--primary-white);
    padding: 35px;
    padding: 3.5rem;
}

#controller-testimonials {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
}

.testimonials {
    display: flex;
    flex-flow: column nowrap;
    margin: 0;
    min-height: 325px;
    padding: 0 85px;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.testimonials blockquote {
    margin: 0;
    padding: 18px 40px;
    padding: 1.8rem 4rem;
    position: relative;
}

.testimonials blockquote:before,
.testimonials blockquote:after {
    position: absolute;
    left: 0; right: 0;
    content: '';
    border-top: 2px dashed #2eac69;
    border-top: .2rem dashed #2eac69;
    border-top: .2rem dashed var(--primary-green);
    opacity: 0;
    transition: .4s opacity ease-in-out;
}
.testimonials blockquote:before {
    top: 0;
}
.testimonials blockquote:after {
    bottom: 0;
}

.testimonials blockquote:hover:before,
.testimonials blockquote:hover:after {
    opacity: 1;
}

.testimonials blockquote q {
    display: inline-block;
    font-weight: 700;
    font-style: italic;
    font-size: 24px;
    font-size: 2.4rem;
    padding: 0;
    text-indent: 38px;
    text-indent: 3.8rem;
    margin: 0 0 1em;
    background: transparent no-repeat top left;
    background-size: 35px auto;
    background-size: 3.5rem auto;
}

.testimonials blockquote cite {
    display: block;
    font-style: 400;
}

.testimonials blockquote cite:before {
    display: inline;
    content: '— ';
}



/* Clients */

#clients {
    max-width: 1195px;
}

.clients-images {
    height: 180px;
    text-align: center;
    font-size: 0;

    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
}

.clients-images img {
    margin: 15px;
    max-width: 185px;
    max-height: 150px;
    vertical-align: middle;
}



/* Questions */

dt {
    cursor: pointer;
    user-select: none;

    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;

    color: #353940;
    color: var(--primary-gray-dark);
    padding: 20px;
    padding: 2rem;
    width: 100%;
    text-align: left;

    border-top: 1px #e1723a dashed;
    border-top: .1rem #e1723a dashed;
    border-top: .1rem var(--link-color) dashed;

    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
}

dt[disabled] {
    cursor: default;
    color: #6b7280;
    color: var(--primary-gray-light);
}

dd:last-child {
    border-bottom: 1px #e1723a dashed;
    border-bottom: .1rem #e1723a dashed;
    border-bottom: .1rem var(--link-color) dashed;
}

dt span {
    width: 20px;
    width: 2rem;
    min-width: 20px;
    min-width: 2rem;

    height: 20px;
    height: 2rem;
    line-height: 20px;
    line-height: 2rem;

    margin: 5px;
    margin: .5rem;
    text-align: center;

    color: #e1723a;
    color: var(--link-color);

    transition: 0.4s ease-in-out;
}

dt[disabled] span {
    color: #6b7280;
    color: var(--primary-gray-light);
}

dt.active span {
    transform: translateY(1px) rotateZ(90deg);
}

dd {
    overflow: hidden;
    height: 0;
    line-height: 0;
    color: transparent;

    text-align: left;

    margin: 0;
    padding: 0 50px;
    padding: 0 5rem;

    overflow: hidden;
    transition: .3s ease-in-out;
}

dd.active {
    height: auto;
    line-height: 1.2;
    color: inherit;
    padding-bottom: 23px;
    padding-bottom: 2.3rem;
}

dd *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

dd *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

dd ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

dd li {
    margin: 0 0 20px;
    margin: 0 0 2rem;
    padding: 0 0 0 14px;
    padding: 0 0 0 1.4rem;
    text-indent: -14px;
    text-indent: -1.4rem;
}

dd li:before {
    content: '‒ ';
    display: inline;
    speak: never;
}



/* Partners */

.partners-images {
    font-size: 0;
    text-align: center;
}

.partners-images img {
    max-width: 200px;
    max-height: 160px;
    margin: 20px;
    vertical-align: middle;
}



/* Contact Us */

#contact-us p {
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
}


/* Download */

.store-area {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

.store-link {
    margin: 5px;
    margin: .5rem;
}

.store-button {
    display: inline-block;
    width: 170px;
    width: 17rem;
}



/* Achievements */

.achievements-images {
    /* border: 1px solid red; */
    font-size: 0;
    text-align: center;
}

.achievements-images img {
    height: 140px;
    margin: 10px;
    vertical-align: middle;
}



/* Join */

#join {
    text-align: center;
}

#join .register-button {
    display: inline-block;
}
#join .register-button a {
    color: #f3f4f6;
    color: var(--primary-white);
}



/* Footer */

footer {
    margin: auto 0 0;
    width: 100%;
    height: auto;
    padding: 55px 0;
    background: #e5e7eb;
    background: var(--primary-white-dark);
}

footer .footer-content {
    width: 90%;
    max-width: 1229px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    align-items: flex-end;
    min-height: 47px;
    margin: 0 auto;

    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
}

footer .footer-logo-label {
    position: absolute;
    top: 0; left: 0;
    width: 130px;
    width: 13rem;
    height: 48px;
    height: 4.8rem;
}

footer .footer-left {
    background: transparent no-repeat top left;
    background: transparent no-repeat top left;
    background-size: auto 48px;
    color: #6b7280;
    color: var(--primary-gray-light);
    text-align: left;
    padding: 6px 15px;
    padding: 6px 1.5rem;

    position: relative;
}

footer .footer-logo-label {
    position: absolute;
    top: 0; left: 0;
    width: 130px;
    width: 13rem;
    height: 48px;
    height: 4.8rem;
}

footer .footer-line-1,
footer .footer-line-2 {
    padding-left: 130px;
}

footer .footer-right {
    color: #2eac69;
    color: var(--primary-green);
    text-align: center;
    padding: 6px 15px;
    padding: 6px 1.5rem;
}

footer .footer-right a,
footer .footer-right a:active,
footer .footer-right a:visited {
    vertical-align: bottom;
    color: #2eac69;
    color: var(--primary-green);
}

footer .footer-right a:hover {
    color: #2eac69;
    color: var(--primary-green);
}



/* Registration Pop-Up */

.w3-modal {
    display: none;
}

.w3-modal.active {
    display: block;
}

.w3-modal:target {
    display: block;
}

.w3-container {
    padding: 21px;
    padding: 2.1rem;
}

.w3-card-4 {
    -o-border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    border-radius: .4rem;
}

.w3-card-4 .w3-button.w3-display-topright {
    -o-border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    border-radius: .4rem;
    padding: 8px 14px;
    padding: .8rem 1.4rem;
    line-height: 26px;
    line-height: 2.6rem;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: 700;
    background: transparent;
}

.w3-card-4 .w3-button.w3-display-topright:not(:hover):not(:focus):not(:active) {
    text-decoration: none;
}

.w3-button:hover,
.w3-button:focus {
    color: #f3f4f6 !important;
    color: var(--primary-white) !important;
    background-color: #e1723a !important;
    background-color: var(--link-color) !important
}

#registration-title,
#dashboard-title,
#wcag-confirm-title {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 700;
    color: #353940;
    color: var(--primary-gray-dark);
    margin: 0 0 21px;
    margin: 0 0 2.1rem;
}

.vhelp-service-logo {
    color: #2eac69;
    color: var(--primary-green);
    font-size: 52px;
    font-size: 5.2rem;
    line-height: 65px;
    line-height: 6.5rem;
    display: block;
    font-style: italic;
    font-weight: bold;
    letter-spacing: -0.05em;
    text-align: right;
    width: min-content;
    height: 85px;
    height: 8.5rem;
    margin: 0 0 15px;
    margin: 0 0 1.5rem;
    padding: 0 25px 0 0;
    padding: 0 2.5rem 0 0;
}

.vhelp-service-logo::first-letter {
    letter-spacing: -0.04em;
}

.vhelp-service-logo span {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 15px;
    line-height: 1.5rem;
    letter-spacing: 0;
    display: block;
    margin: 0 0 0 auto;
}

.service-logo-center {
    margin-left: auto;
    margin-right: auto;
}

.service-dialog {
    padding: 0 0 21px;
    padding: 0 0 2.1rem;
}

.dialog-left {
    padding: 0 0 32px;
    padding: 0 0 3.2rem;
}

.service-dialog ul {
    list-style-type: none;
    padding: 0;
}

#register-dialog ul {
	margin-top: 0;
}

.service-dialog ul li {
    max-width: 300px;
    margin: 0 auto 15px;
    margin: 0 auto 1.5rem;
    padding: 4px 0 4px 40px;
    padding: .4rem 0 .4rem 4rem;
    line-height: 24px;
    line-height: 2.4rem;
    font-size: 18px;
    font-size: 1.8rem;
    text-align: left;
    background: transparent no-repeat left center;
    background-size: 32px auto;
    background-size: 3.2rem auto;
}

.service-dialog ul li.short {
    background-size: 32px 25px;
    background-size: 3.2rem 2.5rem;
}

.dialog-button-container .registration-button,
.dialog-button-container .dashboard-button {
    display: inline-block;
    padding: 8px 14px;
    padding: .8rem 1.4rem;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 22px;
    line-height: 2.2rem;
    font-weight: bold;
    background-color: #e1723a;
    background-color: var(--link-color);
    border: 1px solid #e1723a;
    border: 1px solid var(--link-color);
    color: #f3f4f6;
    color: var(--primary-white);
    border-radius: 5px;
    border-radius: .5rem;
    text-transform: none
}

.registration-button:not(:hover):not(:focus):not(:active) {
    text-decoration: none;
}

#register-dialog .registration-button {
	width: 245px;
	width: 24.5rem;
}

.dialog-button-container {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
}

.dialog-button-center {
    margin: 5px auto 0;
    margin: .5rem auto 0;
}

#register-dialog .dialog-button-container {
	text-align: center;
	width: 100%;
}

.dialog-clear {
    clear: both
}



.learn-more-container label,
.learn-more-container input[type="text"],
.learn-more-container input[type="email"] {
    display: block;
    margin: 6px 0;
    margin: .6rem 0;
}
.learn-more-container input[type="text"],
.learn-more-container input[type="email"] {
    margin: 6px 0 11px;
    margin: .6rem 0 1.1rem;
    padding: 7px 11px;
    padding: .7rem 1.1rem;
    border: 1px solid #e1723a;
    border: .1rem solid #6b7280;
    border: .1rem solid var(--primary-gray-light);
    width: 100%;
    border-radius: 3px;
    border-radius: .3rem;
}

.learn-more-container input[type="submit"] {
    display: block;
    text-transform: uppercase;
    border: none;
    border-radius: 5px;
    border-radius: .5rem;
    margin: 15px 0 0 auto;
    margin: 1.5rem 0 0 auto;
    padding: 8px 13px;
    padding: .8rem 1.3rem;
    background: #e1723a;
    background: var(--link-color);
    color: #f3f4f6;
    color: var(--primary-white);
    font-size: 21px;
    font-size: 2.1rem;

    cursor: pointer;
}



/* Helpers */

.inline-center {
    text-align: center !important
}

.inline-start {
    text-align: start !important
}

.inline-end {
    text-align: end !important
}

.inline-left {
    text-align: left !important
}

.inline-right {
    text-align: right !important
}

.inline-justify {
    text-align: justify !important
}

.inline-top {
    vertical-align: top !important
}

.inline-texttop {
    vertical-align: text-top !important
}

.inline-middle {
    vertical-align: middle !important
}

.inline-baseline {
    vertical-align: baseline !important
}

.inline-bottom {
    vertical-align: bottom !important
}

.inline-textbottom {
    vertical-align: text-bottom !important
}


.no-marg-top {
    margin-top: 0 !important
}

.no-pad-top {
    padding-top: 0 !important
}

.no-marg-bot {
    margin-bottom: 0 !important
}

.no-pad-bot {
    padding-bottom: 0 !important
}


.clear {
    clear: both
}



div.pw-toggle {
	position: relative;
	height: 35px;
	height: 3.5rem;
	margin: 10px 0;
	margin: 1rem 0;
}

div.pw-toggle input:not(.pw-toggle) {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding-right: 3.5rem;
	margin: 0;
}

div.pw-toggle input.pw-toggle {
	position: absolute;
	top: 5px; top: .5rem;
	right: 5px; right: .5rem;
	bottom: 5px; bottom: .5rem;
	width: 25px;
	width: 2.5rem;
	height: 25px;
	height: 2.5rem;
	z-index: 4;
	margin: 0;
	border: none;
	opacity: 0;
}

div.pw-toggle label.pw-toggle {
	position: absolute;
	top: 5px; top: .5rem;
	right: 5px; right: .5rem;
	bottom: 5px; bottom: .5rem;
	width: 25px;
	width: 2.5rem;
	z-index: 5;
	margin: 0;
	cursor: pointer;
	border-radius: 50%;
}
div.pw-toggle label.pw-toggle span {
	width: 0; height: 0;
}

div.pw-toggle label.pw-toggle svg {
	transition-duration: .2s;
	transition-delay: 0ms;
	transition-property: color;
	transition-timing-function: ease-in-out;
	color: #6b7280;
	color: var(--primary-gray-light);
	border-radius: 50%;
	height: 25px;
	height: 2.5rem;
	width: 25px;
	width: 2.5rem;
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;

	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
}
div.pw-toggle label.pw-toggle.active svg {
	color: unset;
}

div.pw-toggle input.pw-toggle:focus + label.pw-toggle svg,
div.pw-toggle label.pw-toggle svg:hover {
	border-top-color: unset;
	border-bottom-color: unset;
}