﻿@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.page {
    background: #fff;
    max-width: 90rem;
    margin: 0 auto
}

body {
    background: linear-gradient(#fff, #fff) center no-repeat repeat;
    background-size: 90rem;
    background-color: #fafafa
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.page-section {
    transition: background .3s ease-out
}

.page-section {
    --background-image: none;
    --background-repeat: no-repeat;
    --background-position: 0 0;
    --background-size: auto;
    --min-height: auto;
    --background-image-mobile: var(--background-image);
    --background-repeat-mobile: var(--background-repeat);
    --background-position-mobile: var(--background-position);
    --background-size-mobile: var(--background-size);
    --min-height-mobile: var(--min-height);
    --background-image-tablet: var(--background-image);
    --background-repeat-tablet: var(--background-repeat);
    --background-position-tablet: var(--background-position);
    --background-size-tablet: var(--background-size);
    --min-height-tablet: var(--min-height);
    --background-image-desktop: var(--background-image);
    --background-repeat-desktop: var(--background-repeat);
    --background-position-desktop: var(--background-position);
    --background-size-desktop: var(--background-size);
    --min-height-desktop: var(--min-height);
    background-image: var(--background-image);
    background-repeat: var(--background-repeat);
    background-position: var(--background-position);
    background-size: var(--background-size);
    min-height: var(--min-height);
    display: flex;
    justify-content: center
}

@media all and (-ms-high-contrast: none),(-ms-high-contrast: active) {
    .page-section {
        height: var(--min-height, auto)
    }
}

@media (max-width: 767px) {
    .page-section {
        background-image: var(--background-image-mobile);
        background-repeat: var(--background-repeat-mobile);
        background-position: var(--background-position-mobile);
        background-size: var(--background-size-mobile);
        min-height: var(--min-height-mobile)
    }
}

@media (max-width: 767px)and (-ms-high-contrast: none),(max-width: 767px)and (-ms-high-contrast: active) {
    .page-section {
        height: var(--min-height-mobile, auto)
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section {
        background-image: var(--background-image-tablet);
        background-repeat: var(--background-repeat-tablet);
        background-position: var(--background-position-tablet);
        background-size: var(--background-size-tablet);
        min-height: var(--min-height-tablet)
    }
}

@media (min-width: 768px)and (max-width: 1023px)and (-ms-high-contrast: none),(min-width: 768px)and (max-width: 1023px)and (-ms-high-contrast: active) {
    .page-section {
        height: var(--min-height-tablet, auto)
    }
}

@media (min-width: 1024px) {
    .page-section {
        background-image: var(--background-image-desktop);
        background-repeat: var(--background-repeat-desktop);
        background-position: var(--background-position-desktop);
        background-size: var(--background-size-desktop);
        min-height: var(--min-height-desktop)
    }
}

@media (min-width: 1024px)and (-ms-high-contrast: none),(min-width: 1024px)and (-ms-high-contrast: active) {
    .page-section {
        height: var(--min-height-desktop, auto)
    }
}

@media (min-width: 1024px) {
    .page-section.border > .inner {
        border: 1px solid hsl(270, 11%, 86%)
    }
}

@media (max-width: 767px) {
    .page-section, .page-section.border > .inner, .page-section:not(.bleed) > .inner {
        padding: 2.5rem 1.25rem
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section, .page-section.border > .inner, .page-section:not(.bleed) > .inner {
        padding: 3.75rem 2.5rem
    }
}

@media (min-width: 1024px) {
    .page-section, .page-section.border > .inner, .page-section:not(.bleed) > .inner {
        padding: 5rem 2.5rem
    }
}

.page-section.bleed > * {
    background-color: rgba(0, 0, 0, 0) !important
}

.page-section.darken {
    box-shadow: inset 0 0 0 100vw rgba(0, 0, 0, .25)
}

.page-section:not(.bleed) {
    padding: 0;
    position: relative;
    z-index: 2
}

@media (min-width: 1024px) {
    .page-section:not(.bleed) {
        margin-left: 2.5rem;
        margin-right: 2.5rem;
        margin-bottom: 2.5rem
    }
}

.page-section:not(.bleed):before {
    background-color: #fff;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1
}

.page-section:not(.bleed).padding-none > .inner {
    padding: 0 !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-none\@mobile > .inner {
        padding: 0 !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-none\@tablet > .inner {
        padding: 0 !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-none\@desktop > .inner {
        padding: 0 !important
    }
}

.page-section:not(.bleed).padding-top-none .inner {
    padding-top: 0 !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-top-none\@mobile .inner {
        padding-top: 0 !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-top-none\@tablet .inner {
        padding-top: 0 !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-top-none\@desktop .inner {
        padding-top: 0 !important
    }
}

.page-section:not(.bleed).padding-bottom-none > .inner {
    padding-bottom: 0 !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-bottom-none\@mobile > .inner {
        padding-bottom: 0 !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-bottom-none\@tablet > .inner {
        padding-bottom: 0 !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-bottom-none\@desktop > .inner {
        padding-bottom: 0 !important
    }
}

.page-section:not(.bleed).padding-right-none > .inner {
    padding-right: 0 !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-right-none\@mobile > .inner {
        padding-right: 0 !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-right-none\@tablet > .inner {
        padding-right: 0 !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-right-none\@desktop > .inner {
        padding-right: 0 !important
    }
}

.page-section:not(.bleed).padding-left-none > .inner {
    padding-left: 0 !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-left-none\@mobile > .inner {
        padding-left: 0 !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-left-none\@tablet > .inner {
        padding-left: 0 !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-left-none\@desktop > .inner {
        padding-left: 0 !important
    }
}

.page-section:not(.bleed).padding-top-xs .inner {
    padding-top: .75rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-top-xs\@mobile .inner {
        padding-top: .75rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-top-xs\@tablet .inner {
        padding-top: .75rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-top-xs\@desktop .inner {
        padding-top: .75rem !important
    }
}

.page-section:not(.bleed).padding-top-sm .inner {
    padding-top: 1.25rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-top-sm\@mobile .inner {
        padding-top: 1.25rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-top-sm\@tablet .inner {
        padding-top: 1.25rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-top-sm\@desktop .inner {
        padding-top: 1.25rem !important
    }
}

.page-section:not(.bleed).padding-top-sm .inner {
    padding-top: 1.25rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-top-sm\@mobile .inner {
        padding-top: 1.25rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-top-sm\@tablet .inner {
        padding-top: 1.25rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-top-sm\@desktop .inner {
        padding-top: 1.25rem !important
    }
}

.page-section:not(.bleed).padding-top-ms .inner {
    padding-top: 1.875rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-top-ms\@mobile .inner {
        padding-top: 1.875rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-top-ms\@tablet .inner {
        padding-top: 1.875rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-top-ms\@desktop .inner {
        padding-top: 1.875rem !important
    }
}

.page-section:not(.bleed).padding-top .inner {
    padding-top: 2.5rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-top\@mobile .inner {
        padding-top: 2.5rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-top\@tablet .inner {
        padding-top: 2.5rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-top\@desktop .inner {
        padding-top: 2.5rem !important
    }
}

.page-section:not(.bleed).padding-top-lg .inner {
    padding-top: 3.75rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-top-lg\@mobile .inner {
        padding-top: 3.75rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-top-lg\@tablet .inner {
        padding-top: 3.75rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-top-lg\@desktop .inner {
        padding-top: 3.75rem !important
    }
}

.page-section:not(.bleed).padding-top-xl .inner {
    padding-top: 5rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-top-xl\@mobile .inner {
        padding-top: 5rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-top-xl\@tablet .inner {
        padding-top: 5rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-top-xl\@desktop .inner {
        padding-top: 5rem !important
    }
}

.page-section:not(.bleed).padding-bottom-xs .inner {
    padding-bottom: .75rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-bottom-xs\@mobile .inner {
        padding-bottom: .75rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-bottom-xs\@tablet .inner {
        padding-bottom: .75rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-bottom-xs\@desktop .inner {
        padding-bottom: .75rem !important
    }
}

.page-section:not(.bleed).padding-bottom-sm .inner {
    padding-bottom: 1.25rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-bottom-sm\@mobile .inner {
        padding-bottom: 1.25rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-bottom-sm\@tablet .inner {
        padding-bottom: 1.25rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-bottom-sm\@desktop .inner {
        padding-bottom: 1.25rem !important
    }
}

.page-section:not(.bleed).padding-bottom-sm .inner {
    padding-bottom: 1.25rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-bottom-sm\@mobile .inner {
        padding-bottom: 1.25rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-bottom-sm\@tablet .inner {
        padding-bottom: 1.25rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-bottom-sm\@desktop .inner {
        padding-bottom: 1.25rem !important
    }
}

.page-section:not(.bleed).padding-bottom-ms .inner {
    padding-bottom: 1.875rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-bottom-ms\@mobile .inner {
        padding-bottom: 1.875rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-bottom-ms\@tablet .inner {
        padding-bottom: 1.875rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-bottom-ms\@desktop .inner {
        padding-bottom: 1.875rem !important
    }
}

.page-section:not(.bleed).padding-bottom .inner {
    padding-bottom: 2.5rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-bottom\@mobile .inner {
        padding-bottom: 2.5rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-bottom\@tablet .inner {
        padding-bottom: 2.5rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-bottom\@desktop .inner {
        padding-bottom: 2.5rem !important
    }
}

.page-section:not(.bleed).padding-bottom-lg .inner {
    padding-bottom: 3.75rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-bottom-lg\@mobile .inner {
        padding-bottom: 3.75rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-bottom-lg\@tablet .inner {
        padding-bottom: 3.75rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-bottom-lg\@desktop .inner {
        padding-bottom: 3.75rem !important
    }
}

.page-section:not(.bleed).padding-bottom-xl .inner {
    padding-bottom: 5rem !important
}

@media (max-width: 767px) {
    .page-section:not(.bleed).padding-bottom-xl\@mobile .inner {
        padding-bottom: 5rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section:not(.bleed).padding-bottom-xl\@tablet .inner {
        padding-bottom: 5rem !important
    }
}

@media (min-width: 1024px) {
    .page-section:not(.bleed).padding-bottom-xl\@desktop .inner {
        padding-bottom: 5rem !important
    }
}

.page-section:not(.bleed) > .inner {
    background: inherit !important;
    min-height: inherit !important;
    width: 81.25rem
}

.page-section > .inner {
    background-color: inherit;
    max-width: 100%;
    width: calc(81.25rem - 5rem)
}

.page-section.stretch-contents > .inner {
    display: flex !important;
    flex-flow: column !important
}

.page-section.stretch-contents > .inner > * {
    flex: 1 0 auto
}

@media (max-width: 767px) {
    .page-section.stretch-contents\@mobile > .inner {
        display: flex !important;
        flex-flow: column !important
    }

    .page-section.stretch-contents\@mobile > .inner > * {
        flex: 1 0 auto
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .page-section.stretch-contents\@tablet > .inner {
        display: flex !important;
        flex-flow: column !important
    }

    .page-section.stretch-contents\@tablet > .inner > * {
        flex: 1 0 auto
    }
}

@media (min-width: 1024px) {
    .page-section.stretch-contents\@desktop > .inner {
        display: flex !important;
        flex-flow: column !important
    }

    .page-section.stretch-contents\@desktop > .inner > * {
        flex: 1 0 auto
    }
}

.page-section.width-100\% > .inner, .inner.width-100\% {
    width: 100% !important
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.hover-effect-wrapper, .dropdown-arrow, .subnav__active-dropdown:hover > .dropdown-content__link {
    transition: all .3s ease-out
}

.subnav .cta-container {
    transition: opacity .3s ease-out
}

@media (min-width: mobile-and-tablet) {
    .subnav {
        font-size: .75rem
    }
}

.subnav {
    box-shadow: 0 2px 2px -2px rgba(0, 0, 0, .1), 0 7px 5px -5px rgba(0, 0, 0, .1);
    display: flex;
    height: 3.875rem;
    line-height: 1.2;
    margin: 0 auto;
    width: 90rem;
    max-width: 100%;
    position: relative;
    z-index: 100
}

.subnav.sticky-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000
}

.subnav.sticky-nav .cta-container {
    opacity: 1;
    pointer-events: auto
}

.subnav div, .subnav ul, .subnav li {
    background-color: inherit
}

.subnav .cta-container {
    opacity: 0;
    pointer-events: none;
    align-self: center
}

@media (max-width: 767px) {
    .subnav__inner, .subnav .dropdown-wrapper {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .subnav__inner, .subnav .dropdown-wrapper {
        padding-left: 1.875rem;
        padding-right: 1.875rem
    }
}

@media (min-width: 1024px) {
    .subnav__inner, .subnav .dropdown-wrapper {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }
}

.subnav__inner {
    width: 81.25rem;
    max-width: 100% !important;
    height: 100%;
    margin: 0 auto
}

.subnav__list {
    display: flex;
    width: 100%;
    height: 100%;
    padding: 0
}

@media all and (-ms-high-contrast: none),(-ms-high-contrast: active) {
    .subnav__list > li {
        width: 100%
    }
}

.subnav__link {
    height: 100%;
    display: flex;
    align-items: center
}

.subnav__link, .subnav__link:hover {
    color: inherit
}

.subnav__first-item, .subnav__title {
    font-size: 16px;
    font-weight: bold
}

.subnav__title {
    display: flex !important;
    align-items: center
}

.subnav__active-dropdown:hover {
    position: relative
}

.subnav__active-dropdown:hover > .dropdown-content a:hover {
    color: hsl(191, 100%, 39%) !important
}

.subnav__active-dropdown:hover > .dropdown-content {
    border: 1px solid hsla(0, 0%, 100%, .3);
    border-top: 0;
    background-color: hsl(251, 51%, 18%);
    animation: .3s slideDropdown forwards;
    display: block;
    padding-bottom: .75rem;
    position: absolute;
    width: -moz-fit-content;
    width: fit-content;
    top: 2.875rem;
    text-wrap: nowrap
}

.subnav__active-dropdown:hover > .dropdown-content__link {
    white-space: nowrap;
    padding-top: .3125rem;
    padding-bottom: .3125rem
}

.subnav__active-dropdown:hover > .dropdown-content__link:first-child {
    padding-top: 0
}

@keyframes slideDropdown {
    0% {
        padding-top: 0
    }
    100% {
        padding-top: 1rem
    }
}

.subnav__dropdown-control {
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 3.875rem;
    cursor: default
}

.subnav .dropdown-content {
    display: none
}

.subnav__control {
    line-height: 1.2;
    height: 100%;
    display: flex;
    align-items: center
}

.subnav .dropdown-wrapper {
    border-top: 1px solid;
    display: none;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0
}

.subnav .dropdown-wrapper li a {
    color: inherit;
    white-space: nowrap
}

.subnav .dropdown-wrapper li a:hover {
    text-decoration: underline
}

.subnav__active {
    display: block !important
}

.subnav__active .animated {
    animation: .3s slideDropdown forwards
}

@keyframes slideDropdown {
    0% {
        padding-top: 0
    }
    100% {
        padding-top: .75rem
    }
}

.subnav .dropdown-arrow {
    transform: rotate(180deg)
}

.subnav .mobile-nav-link-dropdown-button:hover, .subnav .mobile-nav-link-dropdown-button:focus {
    text-decoration: underline
}

.current-page-learn {
    color: hsl(191, 100%, 39%) !important
}

.current-page, .current-page-learn {
    font-weight: bold;
    text-decoration: none !important;
    pointer-events: none
}

.hover-effect-wrapper {
    pointer-events: auto
}

.hover-effect-wrapper:hover {
    opacity: 1 !important
}

.subnav:hover .hover-effect-wrapper {
    opacity: .3
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.button {
    transition: all .3s ease-out
}

.button {
    background: #00819d;
    border: 2px solid #00819d;
    cursor: pointer;
    font-family: "TT Norms", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none !important;
    display: inline-block;
    max-width: 100%;
    padding: .8em 1.8em
}

@media (min-width: 1024px) {
    .button {
        min-width: 11.875rem
    }
}

.button, .button:hover, .button:focus, .button:active {
    color: #fff
}

.button:hover, .button:focus, .button:active {
    background: hsl(191, 100%, 39%);
    border-color: hsl(191, 100%, 39%)
}

.button.disabled, .button:disabled {
    animation: none !important;
    background: #d0d0d0 !important;
    border-color: rgba(0, 0, 0, 0) !important;
    color: hsla(0, 0%, 100%, .85) !important;
    pointer-events: none !important
}

.button.white:not(.punchout) {
    background: #fff;
    border-color: #fff;
    color: #00819d
}

.button.white:not(.punchout):hover, .button.white:not(.punchout):focus, .button.white:not(.punchout):active {
    background: rgba(0, 0, 0, 0);
    border-color: #fff;
    color: #fff !important
}

.button.ink {
    background: hsl(251, 51%, 18%);
    border-color: hsl(251, 51%, 18%)
}

.button.ink:hover, .button.ink:focus, .button.ink:active {
    background: hsl(267, 100%, 22%);
    border-color: hsl(267, 100%, 22%)
}

.button.turquoise {
    background-color: hsl(191, 100%, 39%);
    border-color: hsl(191, 100%, 39%)
}

.button.turquoise:hover, .button.turquoise:focus, .button.turquoise:active {
    background-color: #00819d;
    border-color: #00819d
}

.button.punchout {
    background: rgba(0, 0, 0, 0) !important;
    border-color: #00819d !important;
    color: #00819d !important
}

.button.punchout:hover, .button.punchout:focus, .button.punchout:active {
    background: #00819d !important;
    color: #fff !important
}

.button.punchout.white {
    border-color: #fff !important;
    color: #fff !important
}

.button.punchout.white:hover, .button.punchout.white:focus, .button.punchout.white:active {
    background: #fff !important;
    color: #00819d !important
}

.button.punchout.ink {
    border-color: hsl(251, 51%, 18%) !important;
    color: hsl(251, 51%, 18%) !important
}

.button.punchout.ink:hover, .button.punchout.ink:focus, .button.punchout.ink:active {
    background: hsl(251, 51%, 18%) !important;
    color: #fff !important
}

.button.punchout.turquoise {
    border-color: hsl(191, 100%, 39%) !important;
    color: hsl(191, 100%, 39%) !important
}

.button.punchout.turquoise:hover, .button.punchout.turquoise:focus, .button.punchout.turquoise:active {
    background-color: hsl(191, 100%, 39%) !important;
    color: #fff !important
}

.button.small-size {
    font-size: .875rem;
    padding: .75em 1.5em;
    min-width: 0
}

@media (max-width: 767px) {
    .button.small-size {
        padding: .6em .7em
    }
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

html.modal-open {
    height: auto !important;
    overflow: hidden;
    padding-right: 1px
}

html.modal-open body {
    width: auto !important
}

.rc-dialog-root .rc-dialog-mask {
    background-color: rgba(0, 0, 0, .5) !important;
    z-index: 10000 !important;
    opacity: 1 !important
}

.rc-dialog-root .rc-dialog-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 88.5rem;
    padding: .75rem;
    margin: 0 auto;
    z-index: 10001 !important
}

.rc-dialog-root .rc-dialog {
    animation: fade .3s ease-in-out both;
    background: #fff;
    border-radius: 8px;
    color: hsl(0, 0%, 13%);
    max-width: 100%;
    max-height: 100%;
    width: 46.875rem;
    margin: 0 !important;
    overflow-y: auto
}

.rc-dialog-root .rc-dialog.has-video {
    background: rgba(0, 0, 0, 0);
    text-align: right;
    padding: 2px !important
}

.rc-dialog-root .rc-dialog.has-video .rc-dialog-body {
    text-align: left;
    padding: 0 !important
}

.rc-dialog-root .rc-dialog.has-video .rc-dialog-body > * {
    background: #000
}

.rc-dialog-root .rc-dialog.has-video .rc-dialog-close {
    background: hsl(251, 51%, 18%);
    color: #fff !important;
    padding: .3em !important;
    margin-bottom: .75rem;
    position: static !important
}

.rc-dialog-root .rc-dialog-close {
    color: inherit !important;
    opacity: 1 !important;
    pointer-events: all;
    padding: 0 !important;
    top: 1.25rem !important;
    right: 1.25rem !important;
    z-index: 5
}

@media (max-width: 767px) {
    .rc-dialog-root .rc-dialog-close {
        top: .375rem !important;
        right: .375rem !important
    }

    .rc-dialog-root .rc-dialog-close svg {
        width: .875rem;
        height: .875rem
    }
}

.rc-dialog-root .rc-dialog-close:hover {
    border: none
}

.rc-dialog-root .rc-dialog-close svg {
    display: block
}

@media (max-width: 767px) {
    .rc-dialog-root .rc-dialog-close {
        top: 0;
        right: 0
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .rc-dialog-root .rc-dialog-close {
        top: .75rem;
        right: .75rem
    }
}

@media (min-width: 1024px) {
    .rc-dialog-root .rc-dialog-close {
        top: 1.875rem
    }
}

.rc-dialog-root .rc-dialog-content {
    background: rgba(0, 0, 0, 0) !important;
    border-radius: 0 !important;
    color: inherit
}

@media (max-width: 767px) {
    .rc-dialog-root .rc-dialog-body {
        padding: 1.25rem !important
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .rc-dialog-root .rc-dialog-body {
        padding: 2.5rem !important
    }
}

@media (min-width: 1024px) {
    .rc-dialog-root .rc-dialog-body {
        padding: 3.75rem 2.5rem !important
    }
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.bento-box {
    aspect-ratio: 1;
    background-color: #fff;
    background-image: var(--main-bg-image);
    background-position-x: 100%;
    background-position-y: 100%;
    background-repeat: no-repeat;
    color: hsl(0, 0%, 13%);
    border-radius: 24px;
    position: relative;
    width: 100%
}

@media (max-width: 767px) {
    .bento-box {
        padding: 1rem 2rem;
        height: 18.5rem;
        background-size: 10rem
    }

    .bento-box:hover {
        background-size: 10rem, 100%
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .bento-box {
        padding: 1rem 2rem;
        height: 17.5rem;
        background-size: 9rem
    }

    .bento-box:hover {
        background-size: 9rem, 100%
    }
}

@media (min-width: 1024px) {
    .bento-box {
        padding: 1rem 4rem;
        padding-right: 4.0625rem;
        height: 18.5rem
    }

    .bento-box.large-desktop {
        background-size: 15rem
    }

    .bento-box.small-desktop {
        background-size: 12rem
    }

    .bento-box.small-desktop p {
        max-width: 236px
    }

    .bento-box:hover.large-desktop {
        background-size: 15rem, 100%
    }

    .bento-box:hover.small-desktop {
        background-size: 12rem, 100%
    }
}

.bento-box .content {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    height: 90%
}

@media (min-width: 768px)and (max-width: 1023px) {
    .bento-box .content {
        justify-content: space-between;
        padding-top: 28px
    }
}

@media (max-width: 767px) {
    .bento-box .content {
        justify-content: space-between;
        padding-top: 24px;
        height: 76%
    }
}

.bento-box .content h3 {
    color: hsl(251, 51%, 18%);
    font-feature-settings: "liga" off, "clig" off;
    font-family: "Larsseit";
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 2.25rem;
    letter-spacing: -0.03125rem;
    margin-top: 0
}

.bento-box .content p {
    color: hsl(251, 51%, 18%);
    font-feature-settings: "liga" off, "clig" off;
    font-family: "TT Norms";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    margin: 0px
}

.bento-box .content .new-product {
    color: hsl(191, 100%, 39%);
    font-feature-settings: "liga" off, "clig" off;
    font-family: "TT Norms";
    font-size: .75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 16px;
    text-transform: uppercase;
    margin-top: -1rem
}

.bento-box a {
    display: inline-flex;
    color: #fff;
    padding: 10px 20px;
    justify-content: center;
    align-items: center;
    background: hsl(191, 100%, 39%);
    margin-top: 45px;
    font-family: "TT Norms";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: -0.16px;
    width: 150px
}

@media (min-width: 768px)and (max-width: 1023px) {
    .bento-box a {
        margin-top: unset
    }
}

@media (max-width: 767px) {
    .bento-box a {
        margin-top: unset
    }
}

.bento-box a:hover, .bento-box a:focus-visible, .bento-box a:active {
    background: #00819d
}

.bento-box .plus {
    background-color: rgba(0, 0, 0, 0);
    border: none;
    position: absolute;
    top: 20px;
    right: 20px;
    height: 40px
}

.bento-box .plus-hidden {
    display: none
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.box {
    background-color: #fff;
    color: hsl(0, 0%, 13%)
}

@media (max-width: 767px) {
    .box {
        padding: 1.25rem
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .box {
        padding: 1.875rem 1.25rem
    }
}

@media (min-width: 1024px) {
    .box {
        padding: 2.5rem 1.875rem
    }
}

.box {
    --background-image: none;
    --background-repeat: no-repeat;
    --background-position: 0 0;
    --background-size: auto;
    --min-height: auto;
    --background-image-mobile: var(--background-image);
    --background-repeat-mobile: var(--background-repeat);
    --background-position-mobile: var(--background-position);
    --background-size-mobile: var(--background-size);
    --min-height-mobile: var(--min-height);
    --background-image-tablet: var(--background-image);
    --background-repeat-tablet: var(--background-repeat);
    --background-position-tablet: var(--background-position);
    --background-size-tablet: var(--background-size);
    --min-height-tablet: var(--min-height);
    --background-image-desktop: var(--background-image);
    --background-repeat-desktop: var(--background-repeat);
    --background-position-desktop: var(--background-position);
    --background-size-desktop: var(--background-size);
    --min-height-desktop: var(--min-height);
    background-image: var(--background-image);
    background-repeat: var(--background-repeat);
    background-position: var(--background-position);
    background-size: var(--background-size);
    min-height: var(--min-height)
}

@media (max-width: 767px) {
    .box {
        background-image: var(--background-image-mobile);
        background-repeat: var(--background-repeat-mobile);
        background-position: var(--background-position-mobile);
        background-size: var(--background-size-mobile);
        min-height: var(--min-height-mobile)
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .box {
        background-image: var(--background-image-tablet);
        background-repeat: var(--background-repeat-tablet);
        background-position: var(--background-position-tablet);
        background-size: var(--background-size-tablet);
        min-height: var(--min-height-tablet)
    }
}

@media (min-width: 1024px) {
    .box {
        background-image: var(--background-image-desktop);
        background-repeat: var(--background-repeat-desktop);
        background-position: var(--background-position-desktop);
        background-size: var(--background-size-desktop);
        min-height: var(--min-height-desktop)
    }
}

.box.border {
    border: 1px solid rgba(0, 0, 0, .18)
}

.box.rounded {
    border-radius: 4px
}

.box.shadow {
    box-shadow: 0 2px 11px 0 rgba(0, 0, 0, .15), 0 0 0 1px rgba(87, 87, 87, .05)
}

@media (min-width: 1024px) {
    .box.screen-width-50\%\@desktop {
        max-width: 45rem
    }
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

div.continue-banner__container {
    position: sticky;
    bottom: 0;
    background-color: #fff;
    width: 100%;
    z-index: 9999
}

.continue-banner-desktop__container {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #e7e7e7;
    padding: 1rem
}

.continue-banner-header__container {
    display: flex;
    flex-direction: column
}

.continue-banner-header__container p {
    margin-top: 8px;
    font-weight: bold;
    color: #5b5b5b
}

.continue-banner-mobile__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-top: 1px solid #e7e7e7;
    padding: 1rem
}

.continue-banner-button__container {
    display: flex
}

.continue-banner-button {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    padding: .5rem;
    min-height: 2rem
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.cta-section {
    align-items: center;
    background-color: hsl(42, 98%, 75%);
    border-radius: .25rem;
    color: hsl(251, 51%, 18%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem;
    text-align: center
}

@media (min-width: 1024px) {
    .cta-section {
        border-radius: 10rem;
        flex-direction: row;
        text-align: left
    }
}

.cta-section__img {
    margin-right: 1rem
}

.cta-section__heading {
    margin: 1rem 0
}

@media (min-width: 1024px) {
    .cta-section__heading {
        margin-bottom: 0;
        margin-right: auto;
        margin-top: 0;
        max-width: 260px
    }
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.tooltip {
    display: inline-block;
    position: relative
}

.tooltip__control {
    cursor: pointer;
    display: inline-flex;
    justify-content: center
}

.tooltip__control svg {
    vertical-align: middle
}

.tooltip__content {
    animation: fade .3s ease-in-out both;
    background: hsl(251, 51%, 18%);
    color: #fff;
    font-size: .875rem;
    line-height: 1.2;
    margin: .1em 0;
    padding: 1em 1.2em;
    position: absolute;
    z-index: 5;
    display: none
}

@media (max-width: 767px) {
    .tooltip__content {
        width: 10rem
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .tooltip__content {
        width: 15rem
    }
}

@media (min-width: 1024px) {
    .tooltip__content {
        width: 15rem
    }
}

:focus + .tooltip__content, :hover > .tooltip__content {
    display: block
}

.tooltip__content[class*=bottom] {
    top: 100%
}

.tooltip__content[class*=top] {
    bottom: 100%
}

.tooltip__content[class$=right] {
    left: 0
}

.tooltip__content[class$=left] {
    right: 0
}

.tooltip__content[class*=center] {
    transform: translateX(-50%);
    left: 50%
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.customer-service-banner {
    bottom: .75rem;
    left: 0;
    padding: 0 1.875rem;
    position: fixed;
    right: 0;
    z-index: 5000
}

.customer-service-banner__inner {
    align-items: center;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, .16);
    color: hsl(251, 51%, 18%);
    display: flex;
    flex-direction: column;
    font-size: 100%;
    margin: 0 auto;
    padding: .75rem;
    position: relative
}

@media (min-width: 768px)and (max-width: 1023px) {
    .customer-service-banner__inner {
        flex-direction: row;
        font-size: .875rem;
        max-width: 715px
    }
}

@media (min-width: 1024px) {
    .customer-service-banner__inner {
        flex-direction: row;
        font-size: .875rem;
        max-width: 715px
    }
}

.customer-service-banner__phone--static {
    display: none
}

@media (min-width: 768px)and (max-width: 1023px) {
    .customer-service-banner__phone--static {
        display: inline-block;
        margin-right: .75em;
        min-width: 10ch
    }
}

@media (min-width: 1024px) {
    .customer-service-banner__phone--static {
        display: inline-block;
        margin-right: .75em;
        min-width: 10ch
    }
}

.customer-service-banner__phone--link {
    color: #00819d;
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    text-decoration: underline
}

@media (min-width: 768px)and (max-width: 1023px) {
    .customer-service-banner__phone--link {
        display: none
    }
}

@media (min-width: 1024px) {
    .customer-service-banner__phone--link {
        display: none
    }
}

.customer-service-banner__close-btn {
    align-items: center;
    background-color: #222;
    border-color: rgba(0, 0, 0, 0);
    border-radius: 50%;
    display: flex;
    height: 20px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: -10px;
    top: -10px;
    width: 20px
}

.customer-service-banner__close-btn svg {
    color: #fff
}

.customer-service-banner__content {
    margin: 0 auto
}

.customer-service-banner__content-question {
    display: block;
    margin-top: .75rem;
    text-align: center
}

@media (min-width: 768px)and (max-width: 1023px) {
    .customer-service-banner__content-question {
        display: inline-block;
        margin-right: 1ch;
        margin-top: 0;
        text-align: unset
    }
}

@media (min-width: 1024px) {
    .customer-service-banner__content-question {
        display: inline-block;
        margin-right: 1ch;
        margin-top: 0;
        text-align: unset
    }
}

.customer-service-banner__tooltip {
    background-color: hsl(204, 16%, 94%);
    border-radius: 4px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, .14), 0 3px 1px rgba(0, 0, 0, .12), 0 1px 5px rgba(0, 0, 0, .2);
    color: hsl(251, 51%, 18%);
    font-size: .75rem;
    font-style: italic;
    max-width: 220px;
    padding: 8px 16px;
    text-align: left
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.eyebrow:not(.mixed-case) {
    letter-spacing: .03em;
    text-transform: uppercase;
    line-height: 1.1
}

.eyebrow {
    background: hsl(2, 60%, 66%) radial-gradient(rgba(0, 0, 0, 0.01), hsl(2, 60%, 66%) 50%);
    color: #fff;
    font-family: "TT Norms", Helvetica, Arial, "Lucida Grande", sans-serif !important;
    font-weight: normal;
    line-height: 1;
    display: inline-block;
    min-height: .625rem
}

@media (max-width: 767px) {
    .eyebrow {
        font-size: .75rem !important;
        min-width: 2.5rem;
        padding: .25em 1em
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .eyebrow {
        font-size: 1.125rem !important;
        min-width: 5rem;
        padding: .5em 1em
    }
}

@media (min-width: 1024px) {
    .eyebrow {
        font-size: 1.125rem !important;
        min-width: 5rem;
        padding: .5em 1em
    }
}

.eyebrow.plain {
    background: rgba(0, 0, 0, 0) !important;
    color: inherit;
    font-weight: bold;
    padding: 0 !important
}

.eyebrow[class*=bg-] {
    background-image: none !important
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.faq {
    border-bottom: 1px solid hsl(270, 11%, 86%);
    padding: 1.25rem 0
}

@media (max-width: 767px) {
    .faq {
        padding: .75rem 0
    }
}

@keyframes expandHeight {
    0% {
        max-height: 0;
        opacity: 0
    }
    100% {
        max-height: 30em;
        opacity: 1
    }
}

.faq__animate-expand-height {
    animation: expandHeight .3s ease-out
}

@keyframes collapseHeight {
    0% {
        max-height: 0;
        opacity: 0
    }
    100% {
        max-height: 30em;
        opacity: 1
    }
}

.faq__animate-collapse-height {
    animation: collapseHeight .3s ease-in;
    animation-direction: reverse;
    max-height: 0
}

.faq__animate-expand-height, .faq__animate-collapse-height {
    overflow: hidden
}

.faq__question {
    cursor: pointer;
    align-items: center;
    border: none;
    background: rgba(0, 0, 0, 0);
    padding-left: 0;
    padding-right: 0;
    white-space: normal;
    width: 100%
}

.faq__question:active {
    opacity: 1
}

.faq__question:focus, .faq__question:hover {
    outline: none !important;
    border: none !important
}

.faq__question:focus:hover {
    box-shadow: none !important
}

.faq__icon {
    color: #00819d;
    pointer-events: none;
    margin-left: .3em;
    font-size: 2rem
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.flowCodeWrapper {
    width: 360px;
    height: 150px;
    position: relative
}

.round {
    width: 140px;
    height: 140px;
    border-radius: 500px;
    position: absolute;
    z-index: 1;
    background-color: #fff;
    padding: 2%
}

.pill {
    width: 240px;
    height: 100px;
    position: absolute;
    background-color: #fff;
    border-radius: 0 500px 500px 0;
    padding: .75rem 1.875rem;
    margin-left: 110px;
    margin-top: 20px
}

.pillText {
    width: 200px;
    height: 100px
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.image-card__image img {
    transition: all .3s ease-out
}

.image-card__overlay {
    transition: background .3s ease-out
}

.image-card {
    background: #fff;
    color: hsl(0, 0%, 13%);
    text-decoration: none;
    display: flex;
    flex-flow: column
}

.image-card > * {
    flex: 1 0 auto
}

.image-card__image {
    position: relative
}

.image-card__image img {
    display: block;
    width: 100%;
    height: auto
}

a:hover .image-card__image img {
    filter: saturate(115%) contrast(110%)
}

.image-card__overlay {
    background: rgba(0, 0, 0, .35);
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 2
}

a:hover .image-card__overlay {
    background: rgba(0, 0, 0, .45)
}

a:hover .image-card__overlay + picture img {
    filter: none
}

a:hover .image-card__caption {
    color: hsl(191, 100%, 39%)
}

.image-card[class*=bg-] .image-card__caption {
    color: inherit
}

*::-ms-backdrop, .image-card {
    display: block !important
}

*::-ms-backdrop, .image-card__image {
    display: block !important;
    min-height: auto !important
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.icon-button {
    background-color: #fff;
    border: 2px solid hsl(191, 100%, 39%);
    border-radius: 50%;
    display: inline-flex;
    height: 40px;
    padding: 0;
    width: 40px
}

.icon-button > svg {
    height: auto;
    margin: auto;
    width: 24px;
    color: hsl(191, 100%, 39%)
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.input-wrapper .input {
    transition: all .3s ease-out
}

.input-wrapper {
    display: inline-block;
    width: 20.375rem;
    max-width: 100%
}

.input-wrapper label {
    display: flex;
    flex-direction: column-reverse;
    position: relative
}

.input-wrapper.is-flying .input {
    padding: 1.74em .8em .45em .8em !important
}

.input-wrapper.is-flying.has-value .input + .label-text, .input-wrapper.is-flying .input:active + .label-text, .input-wrapper.is-flying .input:focus + .label-text {
    transform: scale(0.75) !important;
    margin-top: -0.6em !important;
    padding-top: .1em !important
}

.input-wrapper.is-flying .label-text {
    transition: transform .3s ease-out, margin-top .3s ease-out;
    transform-origin: top left;
    color: rgba(0, 0, 0, .58);
    display: flex;
    align-items: center;
    position: absolute;
    top: 2px;
    left: .8em;
    bottom: 2px;
    right: 2px;
    pointer-events: none
}

.input-wrapper:not(.is-flying) .label-text {
    font-weight: bold;
    margin-bottom: .2em
}

.input-wrapper .input {
    background-clip: padding-box;
    background-color: #fff !important;
    border: 1px solid !important;
    border-radius: 2px !important;
    color: hsl(0, 0%, 13%) !important;
    padding: 1.095em .8em 1.095em .8em !important;
    display: block !important;
    width: 100% !important
}

.input-wrapper .input[type=number] {
    -moz-appearance: textfield !important
}

.input-wrapper .input[type=number]::-webkit-inner-spin-button, .input-wrapper .input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none
}

.is-invalid .input-wrapper .input {
    color: hsl(350, 100%, 41%) !important;
    border-color: inherit !important
}

.input-wrapper .input:focus {
    border-color: hsl(0, 0%, 13%) !important;
    box-shadow: 0 0 0 3px #b9ecf3 !important;
    outline: none !important
}

.input-wrapper .input:disabled {
    background-color: hsl(204, 16%, 94%) !important;
    border-color: hsl(204, 16%, 94%) !important;
    cursor: not-allowed !important
}

.input-wrapper .input:disabled + .label-text {
    transform: none !important;
    transform-origin: initial !important;
    margin-top: 0 !important;
    padding-top: 0 !important
}

.input-wrapper .field-helper, .input-wrapper .field-error {
    text-align: left
}

*:not([class*=text-white]) .input-wrapper .field-error {
    color: hsl(350, 100%, 41%)
}

.input-wrapper ::-webkit-input-placeholder {
    color: rgba(0, 0, 0, .58)
}

.input-wrapper ::input-placeholder {
    color: rgba(0, 0, 0, .58)
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.pullQuote {
    color: hsl(191, 100%, 39%);
    display: flex;
    position: relative;
    font-size: 1.5rem;
    font-weight: 800;
    font-family: "TT Norms", Helvetica, Arial, "Lucida Grande", sans-serif
}

.pullQuote:before {
    content: "“";
    font-family: "Larsseit", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size: 8rem;
    font-weight: 700;
    line-height: 120px;
    letter-spacing: -0.5px;
    text-align: left;
    color: hsl(191, 100%, 39%);
    align-self: baseline;
    margin-right: 1rem
}

@media (max-width: 767px) {
    .pullQuote {
        min-height: 200px;
        font-size: 1.25rem;
        align-items: center;
        flex-direction: column
    }

    .pullQuote:before {
        height: 35px
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .pullQuote {
        margin-top: 2.1875rem
    }
}

@media (min-width: 1024px) {
    .pullQuote {
        margin-top: 2.1875rem
    }
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.responsive-image {
    --width: unset;
    --height: unset;
    --mobile-width: var(--width);
    --mobile-height: var(--height);
    --tablet-width: var(--width);
    --tablet-height: var(--height);
    margin-top: auto;
    margin-bottom: auto
}

@media (max-width: 767px) {
    .responsive-image img {
        width: var(--mobile-width);
        height: var(--mobile-height)
    }
}

@media (min-width: 768px)and (max-width: 1023px) {
    .responsive-image img {
        width: var(--tablet-width);
        height: var(--tablet-height)
    }
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.responsive-video {
    min-height: 3.125rem;
    position: relative
}

.responsive-video::before {
    box-sizing: border-box;
    content: "";
    display: block;
    animation: spin .9s linear infinite, fade 1s ease-in-out reverse both 5s;
    border: 5px solid #d9d9d9;
    border-left-color: #006b87;
    border-radius: 50%;
    height: 3.125rem;
    width: 3.125rem;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.responsive-video video {
    max-width: 100%
}

.responsive-video--bg {
    position: static !important
}

.responsive-video--bg:before {
    display: none !important
}

.responsive-video--bg .mp4-video.mp4-video--as-background {
    z-index: -1
}

.responsive-video .youtube-video iframe, .responsive-video .mp4-video.mp4-video--as-background {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.responsive-video .youtube-video {
    overflow: hidden;
    height: 0;
    padding-bottom: 56.25%;
    position: relative
}

.responsive-video .mp4-video {
    position: relative
}

.responsive-video .mp4-video:before {
    content: none;
    position: initial;
    width: 0%;
    height: 0%;
    background: none
}

.responsive-video .mp4-video > video {
    height: 100%;
    width: 100%
}

.responsive-video .mp4-video .mp4-video__play-pause-btn {
    background-color: rgba(0, 0, 0, 0);
    border-color: #ab989d;
    border-radius: 50%;
    border-style: solid;
    border-width: 2px;
    color: #ab989d;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    width: 34px;
    position: absolute;
    bottom: 1rem;
    right: 2rem;
    padding: 0
}

.responsive-video .mp4-video--as-background:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(57, 47, 96, .5)
}

.responsive-video .mp4-video--as-background video {
    width: inherit;
    height: inherit;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top
}

.controls-overlay {
    position: absolute;
    background: rgba(0, 0, 0, 0);
    z-index: 1;
    width: 100%;
    height: 100%
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.debt-relief__container {
    display: flex;
    flex-direction: column;
    min-width: 15rem;
    align-items: center;
    background-color: var(--background-color)
}

@media (max-width: 767px) {
    .debt-relief__container {
        min-width: 10rem
    }
}

.debt-relief__content-container {
    display: flex;
    flex-direction: column;
    padding: 3rem 8rem;
    background: #f7f7f7;
    box-shadow: 0 0 1px rgba(0, 0, 0, .2), 0 2px 4px rgba(0, 0, 0, .1);
    border-radius: 6px;
    min-width: 49rem;
    min-height: 44rem
}

@media (max-width: 767px) {
    .debt-relief__content-container {
        min-width: 10rem;
        min-height: 15rem;
        padding: 1rem
    }
}

.debt-relief__yes-no-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch
}

.debt-relief__yes-no-container > *:first-child {
    margin-left: 0
}

.debt-relief__yes-no-button {
    flex: 1;
    margin-left: .725rem;
    min-height: 3rem;
    overflow-wrap: break-word
}

.debt-relief__yes-no-button:focus {
    -webkit-box-shadow: 3px 3px 0 #170033 !important
}

.debt-relief__back-next-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%
}

.debt-relief__next-button {
    display: flex;
    align-self: flex-end;
    margin-top: 1.5rem
}

.debt-relief__back-button {
    display: flex;
    align-self: flex-start;
    margin-top: 1.5rem;
    border: none !important
}

.debt-relief__header {
    display: flex;
    font-weight: 400;
    font-size: 1rem;
    color: #007d99
}

@media (max-width: 767px) {
    .debt-relief__header {
        font-size: .75rem;
        align-self: center
    }
}

.debt-relief__question-text {
    font-weight: 700;
    font-size: 1.5rem;
    color: #170033
}

@media (max-width: 767px) {
    .debt-relief__question-text {
        font-size: 1.125rem
    }
}

.debt-relief__question-subtext {
    font-weight: 400;
    font-size: 1rem;
    color: #717171
}

@media (max-width: 767px) {
    .debt-relief__question-subtext {
        font-size: .75rem
    }
}

.debt-relief__progress-container {
    display: flex;
    flex-direction: row;
    margin-top: 2rem;
    justify-content: center
}

@media (max-width: 767px) {
    .debt-relief__progress-container {
        width: -webkit-fill-available
    }
}

.debt-relief__progress-one {
    width: 171.5px;
    height: 8px;
    border-radius: 6px 0 0 6px;
    background-color: #170033
}

.debt-relief__progress-two {
    width: 171.5px;
    height: 8px;
    border-radius: 0 6px 6px 0;
    background-color: #fff
}

.debt-relief__progress-two-filled {
    width: 171.5px;
    height: 8px;
    border-radius: 0 6px 6px 0;
    background-color: #170033
}

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

.debt-relief__li {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 0C6.41775 0 4.87104 0.469192 3.55544 1.34824C2.23985 2.22729 1.21447 3.47672 0.608967 4.93853C0.00346629 6.40034 -0.15496 8.00887 0.153721 9.56072C0.462403 11.1126 1.22433 12.538 2.34315 13.6569C3.46197 14.7757 4.88743 15.5376 6.43928 15.8463C7.99113 16.155 9.59966 15.9965 11.0615 15.391C12.5233 14.7855 13.7727 13.7602 14.6518 12.4446C15.5308 11.129 16 9.58225 16 8C15.9975 5.87903 15.1539 3.84563 13.6541 2.34587C12.1544 0.846118 10.121 0.00247015 8 0V0ZM12.618 5.46667L8.05467 11.6593C8.0008 11.7308 7.93322 11.7908 7.85589 11.8359C7.77856 11.881 7.69303 11.9102 7.60429 11.9219C7.51554 11.9336 7.42536 11.9274 7.339 11.9039C7.25265 11.8803 7.17186 11.8398 7.10134 11.7847L3.84267 9.17933C3.7743 9.12462 3.71737 9.05697 3.67514 8.98025C3.63291 8.90353 3.6062 8.81924 3.59654 8.73221C3.57704 8.55642 3.62816 8.38009 3.73867 8.242C3.84918 8.10391 4.01001 8.01538 4.1858 7.99587C4.36158 7.97637 4.53791 8.02749 4.676 8.138L7.39334 10.312L11.5447 4.678C11.5946 4.603 11.6593 4.53892 11.7348 4.48962C11.8102 4.44032 11.8948 4.40683 11.9836 4.39117C12.0724 4.37551 12.1634 4.37801 12.2511 4.39851C12.3389 4.41902 12.4216 4.4571 12.4942 4.51047C12.5668 4.56383 12.6279 4.63136 12.6737 4.70899C12.7194 4.78661 12.749 4.87271 12.7606 4.96209C12.7722 5.05146 12.7655 5.14226 12.741 5.22898C12.7165 5.31571 12.6746 5.39656 12.618 5.46667Z' fill='%23717171'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 1px;
    padding: .675rem 0 .675rem 1.25rem
}

.debt-relief__li-text {
    font-weight: 400;
    font-size: 1rem;
    color: #717171;
    padding-left: .675rem
}

.debt-relief-home__content-container {
    display: flex;
    flex-direction: row;
    align-items: center
}

@media (max-width: 767px) {
    .debt-relief-home__content-container {
        text-align: center;
        flex-direction: column
    }
}

.debt-relief-home__text-container {
    display: flex;
    flex-direction: column;
    margin-right: 5rem
}

@media (max-width: 767px) {
    .debt-relief-home__text-container {
        margin-right: 0
    }
}

.debt-relief-home__check-eligibility-button {
    display: flex;
    justify-content: center;
    margin-right: 1rem;
    padding: 1rem 1.5rem;
    min-height: 2rem
}

@media (max-width: 767px) {
    .debt-relief-home__check-eligibility-button {
        margin-top: 2rem
    }
}

@media (max-width: 767px) {
    .debt-relief-home__grad-cap {
        align-self: center
    }
}

.debt-relief-home__title {
    margin-top: 1rem;
    font-weight: 800;
    font-size: 3rem;
    color: #170033
}

@media (max-width: 767px) {
    .debt-relief-home__title {
        font-size: 2.25rem
    }
}

.debt-relief-home__sub-text {
    font-weight: 400;
    font-size: 1rem;
    color: #717171
}

.debt-relief-home__disclaimer {
    margin-top: 5rem;
    font-weight: 700;
    font-size: .75rem;
    color: #717171
}

@media (max-width: 767px) {
    .debt-relief-home__disclaimer {
        text-align: center
    }
}

.debt-relief-info__container {
    padding: 2rem 16rem;
    display: flex;
    flex-direction: row;
    background-color: var(--background-color);
    justify-content: center
}

@media (max-width: 767px) {
    .debt-relief-info__container {
        padding: 2rem
    }
}

.debt-relief-info__title {
    font-weight: 700;
    font-size: 2rem;
    color: #170033;
    margin-top: 1rem
}

@media (max-width: 767px) {
    .debt-relief-info__title {
        text-align: center;
        font-size: 1.5rem
    }
}

.debt-relief-eligibility__page {
    padding: 2rem 16rem;
    display: flex;
    flex-direction: column;
    background-color: var(--background-color)
}

@media (max-width: 767px) {
    .debt-relief-eligibility__page {
        padding: 2rem
    }
}

.debt-relief-eligibility__content-container {
    display: flex;
    flex-direction: column;
    min-width: 10rem;
    align-items: center
}

@media (max-width: 767px) {
    .debt-relief-eligibility__content-container {
        min-width: 5rem
    }
}

.debt-relief-eligibility__decision-container {
    display: flex;
    flex-direction: column;
    padding: 3rem 8rem;
    background: #f7f7f7;
    box-shadow: 0 0 1px rgba(0, 0, 0, .2), 0 2px 4px rgba(0, 0, 0, .1);
    border-radius: 6px;
    min-width: 45rem;
    min-height: 25rem;
    margin-bottom: 3rem
}

@media (max-width: 767px) {
    .debt-relief-eligibility__decision-container {
        min-width: 10rem;
        padding: 1rem;
        margin-bottom: 0
    }
}

.debt-relief-eligibility__cta-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 2rem
}

@media (max-width: 767px) {
    .debt-relief-eligibility__cta-container {
        flex-direction: column;
        margin-top: 0
    }
}

.debt-relief-eligibility__sofi-cta-button {
    margin-left: 1.5rem
}

@media (max-width: 767px) {
    .debt-relief-eligibility__sofi-cta-button {
        margin-left: 0;
        margin-top: 1rem
    }
}

.debt-relief-eligibility__grad-cap {
    display: flex;
    align-self: center;
    margin: 0 1.5rem
}

@media (max-width: 767px) {
    .debt-relief-eligibility__grad-cap {
        margin: 0 1rem 0 0
    }
}

.debt-relief-eligibility__view-rate-page-section {
    background: #005366;
    padding: 2rem 16rem;
    margin: 0
}

@media (max-width: 767px) {
    .debt-relief-eligibility__view-rate-page-section {
        padding: 2rem
    }
}

.debt-relief-eligibility__view-rate-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    min-width: 10rem
}

@media (max-width: 767px) {
    .debt-relief-eligibility__view-rate-container {
        min-width: 5rem
    }
}

.debt-relief-eligibility__view-rate-content {
    flex-direction: column;
    padding: 2rem 0
}

.debt-relief-eligibility__view-rate-title {
    display: flex;
    font-weight: 700;
    font-size: 2rem;
    color: #f7f7f7
}

@media (max-width: 767px) {
    .debt-relief-eligibility__view-rate-title {
        font-size: 1.25rem
    }
}

.debt-relief-eligibility__view-rate-sub-text {
    font-weight: 300;
    font-size: 1.25rem;
    color: #f7f7f7
}

@media (max-width: 767px) {
    .debt-relief-eligibility__view-rate-sub-text {
        font-size: 1rem
    }
}

.debt-relief-eligibility__view-rate-button {
    display: flex;
    margin-top: 1.5rem
}

@media (max-width: 767px) {
    .debt-relief-eligibility__view-rate-button {
        margin: 0;
        width: 100%;
        justify-content: center
    }
}

.debt-relief-eligibility__title {
    font-weight: 700;
    font-size: 2.25rem
}

@media (max-width: 767px) {
    .debt-relief-eligibility__title {
        font-size: 1.5rem
    }
}

.debt-relief__eligible-text {
    color: #005366
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.ratebox-container {
    align-items: center;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 200px;
    width: 270px;
    box-shadow: 4.1252484322px 4.1252484322px 10.313120842px 0px rgba(0, 0, 0, .25)
}

.ratebox-container .rate, .ratebox-container .apr {
    font-size: 32px;
    font-weight: 800;
    line-height: 33px;
    letter-spacing: -0.5px
}

.ratebox-container .eyebrow-container {
    border-radius: 15px;
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -1.25em;
    padding-bottom: .5em;
    padding-top: .5em
}

@media (min-width: 768px)and (max-width: 1023px) {
    .ratebox-container {
        justify-content: space-around;
        min-height: 258px;
        width: 297px
    }

    .ratebox-container .rate, .ratebox-container .apr {
        font-size: 36px;
        line-height: 36px;
        letter-spacing: -0.5px
    }

    .ratebox-container .eyebrow-container .eyeBrow-text {
        font-size: 14px;
        line-height: 16px
    }
}

@media (min-width: 1024px) {
    .ratebox-container {
        justify-content: space-around;
        min-height: 258px;
        width: 297px
    }

    .ratebox-container .rate, .ratebox-container .apr {
        font-size: 36px;
        line-height: 36px;
        letter-spacing: -0.5px
    }

    .ratebox-container .eyebrow-container .eyeBrow-text {
        font-size: 14px;
        line-height: 16px
    }
}

@keyframes focusRing {
    0% {
        box-shadow: #fff 0 0 0 1px inset, #69c 0 0 0 3px
    }
    100% {
        box-shadow: none
    }
}

.selection-module-container {
    width: 100%
}

.selection-module-container .selection-container .image-card__image {
    display: inline-flex;
    justify-content: center;
    width: 220px
}

.selection-module-container .selection-container a {
    text-decoration: underline
}

.selection-module-container .selection-container p {
    color: hsl(251, 51%, 18%)
}

.selection-module-container .chip-container {
    color: hsl(251, 51%, 18%);
    padding: 20px 38px;
    border-radius: 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    background-color: hsl(204, 16%, 94%);
    margin-top: 5px;
    height: auto;
    display: flex
}

@media (min-width: 768px)and (max-width: 1023px) {
    .selection-module-container .chip-container {
        border-radius: 30px;
        flex-direction: row;
        gap: 0px;
        height: 50px;
        padding: 11px 12px
    }
}

@media (min-width: 1024px) {
    .selection-module-container .chip-container {
        border-radius: 50px;
        flex-direction: row;
        gap: 0px;
        height: 60px;
        padding: 18px 12px
    }
}

.selection-module-container .chip-container svg {
    margin: 0px
}

.selection-module-container .chip-container svg.checkmark {
    height: 35px;
    width: 35px
}

@media (min-width: 768px)and (max-width: 1023px) {
    .selection-module-container .chip-container svg.checkmark {
        height: 32px;
        width: 32px
    }
}

@media (min-width: 1024px) {
    .selection-module-container .chip-container svg.checkmark {
        height: 40px;
        width: 40px
    }
}

.selection-module-container .chip-container svg.arrow {
    fill: hsl(251, 51%, 18%);
    height: 10px;
    width: 20px;
    display: none
}

@media (max-width: 767px) {
    .selection-module-container .chip-container svg.arrow {
        display: block
    }
}

.selection-module-container .active-chip {
    background-color: hsl(191, 100%, 39%);
    color: #fff
}

.selection-module-container .active-chip svg {
    fill: #fff
}

.selection-module-container .active-chip svg path {
    fill: hsl(191, 100%, 39%)
}

.selection-module-container .active-chip svg path g path {
    fill: #fff
}

.selection-module-container .active-chip svg path g g path {
    fill: #fff
}

.selection-module-container .active-chip svg g path {
    fill: #fff
}

.selection-module-container .active-chip svg g path:nth-child(2) {
    fill: hsl(191, 100%, 39%)
}

.selection-module-container .active-chip svg > path:nth-child(1) {
    fill: #fff
}

@media (max-width: 767px) {
    .selection-module-container .active-chip svg.arrow {
        transform: rotate(180deg)
    }
}

.selection-module-container .chip-container:hover {
    cursor: pointer;
    box-shadow: inset 0px 0px 0px 3px hsl(191, 100%, 39%)
}
