:root {
    --white: #FFFFFF;
    --alert-red: #e4002b;
    --black: #000000;
    --light-gray: #c6c6c6;
    --light-pink: #d36ba3;
    --label-color: #63666A;
    --interactive-blue: #001489;
    --disabled-gray: #979797;
    --disabled-gray-light: #ECECEB;
    --charcoal: #222731;
    --infoBorderGrey: #d9d9d6;
    --dropdown-gray: #63666A;
    --button-color: #001489;
    --spinner-color: var(--interactive-blue);
    --focus-blue: #009CDE;
    --multi-sensor-drawer-yellow: #FFF1B2;

    --size-xxs: 0.28571rem;
    --size-xs: 0.57rem;
    --size-sm: 1.14286rem;
    --size-xmd: 1.28rem;
    --size-md: 1.42857rem;
    --size-lg: 1.71rem;
    --size-xl: 2.2857rem;
    --size-2xl: 3.428rem;

    --font-weight-regular: 400;
    --font-weight-bold: 700;

    --title-line-height: 1.42857rem;
    --content-line-height: 1.42857rem;
    --dialog-radius: 0;

    --checkbox-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12px' height='12px' viewBox='0 0 12 12' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.75 8.68934L10.7197 1.71967C11.0126 1.42678 11.4874 1.42678 11.7803 1.71967C12.0732 2.01256 12.0732 2.48744 11.7803 2.78033L4.28033 10.2803C3.98744 10.5732 3.51256 10.5732 3.21967 10.2803L0.21967 7.28033C-0.0732233 6.98744 -0.0732233 6.51256 0.21967 6.21967C0.512563 5.92678 0.987437 5.92678 1.28033 6.21967L3.75 8.68934Z' fill='white'/%3E%3C/svg%3E");
    --check-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='16' viewBox='0 0 17 16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.5 11.5858L14.7929 2.29289C15.1834 1.90237 15.8166 1.90237 16.2071 2.29289C16.5976 2.68342 16.5976 3.31658 16.2071 3.70711L6.20711 13.7071C5.81658 14.0976 5.18342 14.0976 4.79289 13.7071L0.792893 9.70711C0.402369 9.31658 0.402369 8.68342 0.792893 8.29289C1.18342 7.90237 1.81658 7.90237 2.20711 8.29289L5.5 11.5858Z' fill='%23001489'/%3E%3C/svg%3E");
    --danger-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='16' viewBox='0 0 17 16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.5 1L16.5 15H0.5L8.5 1ZM8.5 13.3333C8.96024 13.3333 9.33333 12.9602 9.33333 12.5C9.33333 12.0398 8.96024 11.6667 8.5 11.6667C8.03976 11.6667 7.66667 12.0398 7.66667 12.5C7.66667 12.9602 8.03976 13.3333 8.5 13.3333ZM7.83333 7V9.66667C7.83333 10.0349 8.13181 10.3333 8.5 10.3333C8.86819 10.3333 9.16667 10.0349 9.16667 9.66667V7C9.16667 6.63181 8.86819 6.33333 8.5 6.33333C8.13181 6.33333 7.83333 6.63181 7.83333 7Z' fill='%23E4002B'/%3E%3C/svg%3E");
}


html {
    margin: 0;
    box-sizing: border-box;

    font-size: 14px;
    color: var(--black);
    line-height: 1.43;
    font-weight: var(--font-weight-regular);
    font-family: 'Helvetica', Arial, sans-serif;
    font-feature-settings: 'liga' off, 'clig' off;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smooth: never;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
    margin-top: var(--size-lg);
}

/*Container*/
@media screen and (min-width: 769px) {
    .container {
        max-width: 753px /* 47rem*/;
        margin: auto;
    }
}

@media screen and (max-width: 768px) {
    .container {
        margin: auto 1rem;
    }
}

@media screen and (min-width: 1024px) {
    .top-container {
        display: flex;
        justify-content: space-between;
        max-width: 1007px;
        margin: auto;
    }
}

@media screen and (max-width: 1023px) {
    .top-container {
        display: flex;
        justify-content: space-between;
        margin: auto 1rem;
    }
}

.container {
    margin-top: var(--size-lg);
}

footer {
    margin: 2rem;

    & .container {
        margin: 0 2rem;
    }
}

a, a:visited, a:link {
    color: var(--interactive-blue);
    font-weight: var(--font-weight-bold);
}

a:hover {
    text-decoration: underline;
}

h1, h2, h3, h4 {
    margin-bottom: 12px;
    font-weight: var(--font-weight-bold);
}

h1 {
    font-size: 3.2rem;
}

h2 {
    font-size: 1.3rem;
    line-height: 1.33;
}

h3 {
    font-size: var(--size-xmd);
    line-height: 1.25;
}

h4 {
    font-size: 1.3rem;
    line-height: var(--size-lg);
}

h5 {
    margin-bottom: var(--size-sm);
    font-size: var(--size-sm);
    font-weight: bold;
}

h2.finished-header {
    line-height: 1.71;
}

.finished-thanks {
    font-weight: var(--font-weight-bold);
    margin-top: var(--size-xs)
}

p {
    font-weight: var(--font-weight-regular);
    line-height: 1.42;
    margin-bottom: 12px;
}

.bold {
    font-weight: var(--font-weight-bold)
}

.back-link {
    margin-left: 0.5rem;

    & a {
        display: flex;
        flex-direction: row;
        justify-items: center;
        align-items: center;
        text-decoration: none;
        color: var(--black);
        font-weight: var(--font-weight-regular);
        cursor: pointer;

        & svg {
            margin-right: 0.5rem;
        }
    }
}

.footnotes {
    margin-top: 1rem;

    p {
        font-size: .6rem;
    }
}

.veeva-number {
    display: flex;
    justify-content: flex-end;
    padding-right: 1rem;
    color: var(--charcoal);
}

p:not(:last-child), ul:not(:last-child), h3:not(:last-child), fieldset:not(:last-child) {
    margin-bottom: 12px;
}

strong {
    font-weight: var(--font-weight-bold);
}

em {
    font-style: italic;
}


ul li, ol li {
    margin-left: var(--size-sm);
    margin-bottom: 12px;
    line-height: var(--size-md);
}

ul > li {
    list-style: disc;
    color: var(--charcoal);
}

ol > li {
    list-style: decimal;
}

ul {
    &.cards, &.actions {
        max-width: 730px;
        display: flex;
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;

        & li {
            margin-left: 0;
        }
    }

    &.cards {
        margin: 2rem auto;
    }

    &.actions {
        justify-content: start;
        margin: var(--size-sm) 0;
    }

    & li {
        &.card {
            width: 315px;
            min-height: 100px;
            padding: 1px 6px 1px 6px;
            list-style: none;
            background-color: var(--white);
            box-shadow: 0 5px 15px rgba(0, 0, 0, .1);
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            margin: 0;

            &:hover {
                box-shadow: 0 0 10px rgba(0, 0, 0, .4);
            }

            & a {
                padding: 0.5rem 1rem;
                font-size: 16px;
                line-height: 1.2;
                text-decoration: none;
                letter-spacing: 0.8px;
                color: var(--interactive-blue);
                display: flex;
                width: 100%;
                height: 100%;
                align-items: center;
                justify-content: center;
            }

        }

        &.action {
            list-style: none;
            white-space: normal;
            max-width: calc((100% - 2rem) / 2);
            align-items: start;
            justify-items: center;
            display: flex;
            flex-direction: column-reverse;

            & svg {
                margin-right: 0.7rem;
            }

            & a.request-button {
                justify-content: center;
            }

            & a {
                padding: var(--size-xs) var(--size-lg);
                display: flex;
                flex-direction: row;
                align-items: center;
                justify-content: center;

                background-color: var(--interactive-blue);
                border: 1px solid var(--interactive-blue);
                border-radius: var(--size-xs);
                white-space: nowrap;

                color: var(--white);
                font-size: 1rem;
                line-height: 1.4;
                text-decoration: none;

                &:hover {
                    box-shadow: 0 2px 24px 0 rgba(0, 0, 0, .4);
                }
            }
        }
    }

    li.action:nth-of-type(2) a, li.action.continue-button a {
        background-color: white;
        color: var(--interactive-blue);
    }
}

@media screen and (max-width: 768px) {
    ul {
        & li {
            &.action {
                max-width: unset;

                & a {
                    width: 100%;
                }
            }
        }
    }
}

.header {
    line-height: 1.25;

    &.centered {
        text-align: center;
    }
}

.form-heading {
    font-size: 2.7rem;
    line-height: 1.25;
    color: var(--interactive-blue);
    font-weight: var(--font-weight-regular);
    text-align: center;
}

.form-subheading {
    font-size: 1.125rem;
    line-height: 1.5;
    text-align: center;
}

.replacement-steps {
    margin: 2.85rem 0;
    display: flex;
    flex-direction: row;
    counter-reset: step-number;

    & .step {
        counter-increment: step-number;
        color: var(--label-color);

        margin: 0 8px;

        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .6rem;
        width: var(--size-2xl);

        & .step-label {
            width: var(--size-2xl);
            height: var(--size-2xl);
            border: 1px solid var(--label-color);
            border-radius: 100%;

            display: flex;
            justify-content: center;
            align-items: center;

            &:after {
                content: counter(step-number);
                font-size: var(--size-lg);
                line-height: 1.3333;
                font-weight: var(--font-weight-bold);
            }
        }

        & .step-name {
            width: 180px;
            display: flex;
            justify-content: center;
            font-size: 0.857rem;
            line-height: 1.25;
            text-align: center;
        }

        &.passed .step-label:after {
            content: var(--check-svg);
        }

        &.selected, &.passed {
            --label-color: var(--interactive-blue);
        }
    }

    .replacement-step-between {
        flex-grow: 1;
        height: 0;
        border-bottom: 1px solid var(--label-color);
        margin-top: calc(var(--size-2xl) / 2);

        &.passed {
            border-width: 2px;
            border-color: var(--interactive-blue);
        }
    }
}

@media screen and (max-width: 768px) {
    .replacement-steps {
        margin-left: 10px;
        margin-right: 10px;
        & .step {
            width: var(--size-xl);

            & .step-label {
                width: var(--size-xl);
                height: var(--size-xl);

                &:after {
                    font-size: 1.285rem;
                    line-height: 1.25;
                }
            }

            & .step-name {
                width: 64px;
            }

            &.passed .step-label:after {
                padding-top: 0.3rem;
            }
        }

        .replacement-step-between {
            margin-top: calc(var(--size-xl) / 2);
        }
    }
}

.replacement-form {
    margin-top: var(--size-lg);
    display: flex;
    flex-direction: column;
    justify-content: center;

    & h2 {
        margin: var(--size-sm) 0 var(--size-lg) 0;
    }
    .summary-list {
        display: inline-grid;
        margin-top: 0;
        margin-bottom: 8px;
        white-space: pre-line;
    }
    .multi-sensor-summary-title{
        font-weight: 450;
    }

    & fieldset {
        display: flex;
        flex-direction: row;

        &:last-child {
            margin-bottom: var(--size-sm);
        }
    }

    & label {
        display: flex;
        flex-direction: column;
        justify-content: start;
        gap: 0.25rem;
        width: 100%;
        line-height: 1.42;

        & span.required {
            color: var(--light-pink);

            &:after {
                content: "\a0"; /*Non-breaking space */
            }
        }

        & a.tooltip {
            text-decoration: none;
            font-weight: normal;
            padding-left: 8px;

            & img {
                vertical-align: middle;
            }
        }

        [data-tooltip] {
            position: relative;
        }

        [data-tooltip]:hover:before, [data-tooltip]:focus-within:before {
            content: attr(data-tooltip);
            position: absolute;
            bottom: 100%;
            padding: 1rem;
            border: 1px solid var(--infoBorderGrey);
            border-radius: 4px;
            font-weight: var(--font-weight-regular);
            background: var(--white);
            font-size: .875rem;
            width: 19rem;
            color: var(--black);
            line-height: 1.5;
        }

        &.label-phone-country {
            width: auto;
            max-width: 180px;
        }


        &.label-readonly{
            & input {
                background: var(--disabled-gray-light);
                border: hidden;
            }

        }

        &.label-eligibility {
            display: flex;
            flex-direction: row;
            align-items: center;
            flex-wrap: wrap;

        }

        &.label-with-tooltip {
            & span {
                display: flex;
                flex-direction: row;
                align-items: center;
                color: var(--charcoal)
            }

            & span.required {
                color: var(--light-pink);

                &:after {
                    content: "\a0"; /*Non-breaking space */
                }
            }

            & span[hidden] {
                display:none;
            }

            & span.error-message{
                color: var(--alert-red);
            }

            & span.alert {
                align-items: start;
            }

            & span.alert-image {
                width: var(--size-sm);
                height: var(--size-sm);
                margin-right: var(--size-xs);
                padding-top: 9px;
            }
        }
        &.label-with-tooltip:has(select:user-invalid){
            & span {
                color: var(--alert-red);
            }
        }
    }
    & label:has(input:user-invalid, select:user-invalid) {
        & span {
            color: var(--alert-red);
        }
    }

    label + label {
        margin-left: 2.29rem;
    }

    & span.alert {
        display: flex;
    }

    & span.alert-image {
        width: var(--size-sm);
        height: var(--size-sm);
        margin-right: var(--size-xs);
        padding-top: 5px;
    }

    & span.error-message {
        margin-top: 0.29rem;
        color: var(--alert-red);
        font-size: 0.85714rem;
        font-style: normal;
        font-weight: var(--font-weight-regular);
        line-height: var(--size-sm);
        display: flex;
        flex-direction: row;
        align-items: start;
    }

    input[type="text"], input[type="tel"], input[type="email"], select {
        color: var(--dropdown-gray);
        box-sizing: border-box;
        margin-top: var(--size-xxs);
        display: flex;
        height: var(--size-2xl);
        padding: 1rem var(--size-sm);
        align-items: center;
        gap: var(--size-xs);
        align-self: stretch;

        border-radius: var(--size-xxs);
        border: 1px solid var(--charcoal);
        background: var(--white);
    }

    input:user-invalid, select:user-invalid {
        border: 1px solid var(--alert-red);
    }

    select {
        font-size: 1rem;
        text-transform: none;
        font-weight: var(--font-weight-regular);

        padding: .75rem 2rem .75rem .75rem;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;

        background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.07267 9.07815L13.8305 3.3795C14.3295 2.88567 15.1336 2.88769 15.6301 3.38403C16.0903 3.84411 16.1211 4.5711 15.7224 5.06688L15.6256 5.17412L9.10521 11.6275C8.54278 12.1841 7.63864 12.1894 7.06982 11.6392L0.384774 5.17384C-0.0829682 4.72147 -0.125779 3.99514 0.264659 3.49285L0.359625 3.38403C0.850311 2.88202 1.65436 2.87073 2.15896 3.35874L8.07267 9.07815Z' fill='%23888B8D'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position-x: 98%;
        background-position-y: center
    }

    & fieldset.request-replacement-submit {
        display: flex;
        align-self: center;
        margin-bottom: 0;
        gap: 24px;

        input:disabled {
            color: var(--border-gray);
            border: 1px solid var(--border-gray);
        }
    }

    & .button, .secondary-button {
        padding: var(--size-xs) var(--size-lg);

        background-color: var(--interactive-blue);
        border: 1px solid var(--interactive-blue);
        border-radius: var(--size-xxs);
        white-space: nowrap;
        color: var(--white);

        font-size: 1rem;
        font-weight: var(--font-weight-bold);
    }

    & .secondary-button {
        margin-right: var(--size-sm);
    }

    &:invalid input[type="submit"].button {
        background-color: var(--dropdown-gray);
        border: 1px solid var(--dropdown-gray);
        color: var(--white);
    }

    &:invalid input[type="submit"].secondary-button {
        background-color: var(--white);
        border: 1px solid var(--disabled-gray);
        color: var(--charcoal);
    }
}

@media screen and (max-width: 768px) {
    [data-tooltip]::before {
        right: 100%;
        transform: translateX(10%);
        width: 17rem !important;
        max-width: 70vw;
    }

    .replacement-form {
        fieldset {
            flex-direction: column;
        }

        label:not(:last-of-type) {
            margin-bottom: var(--size-lg);
        }

        label + label {
            margin: auto;
        }

        label {
            display: flex;
            flex-direction: column;

            &.label-phone-country {
                width: unset;
                max-width: unset;
            }

            &.label-eligibility {
                flex-direction: row;
            }
        }
        & label:has(input:user-invalid) {
            & span {
                color: var(--alert-red);
            }
        }

        & .request-replacement-submit {
            width: 100%;
        }
    }

    .form-heading {
        font-size: var(--size-lg);
    }
}

.grecaptcha-badge {
    visibility: hidden;
}

.recaptcha-disclaimer {
    margin-top: 2.86rem;
    text-align: center;
}

.general-call-message {
    margin-top: var(--size-sm);
    margin-bottom: var(--size-sm);
}

.general-call-availability {
    margin-bottom: var(--size-sm);
}

.support {
    margin-top: 1rem;

    & p:not(:last-of-type) {
        margin-bottom: var(--size-xs);
        line-height: 1.5;
    }

    & .something-else-message {
        margin: 2rem 0;

        & a {
            color: var(--interactive-blue);
        }
    }
}

@media screen and (max-width: 800px) {
    ul.actions {
        flex-direction: column;
    }
}

/* Development aids */

.locale-nav {
    display: none;
}

.question-hint {
    display: none;
    margin: 1rem 2rem;
}

body.show-locale-nav {
    .locale-nav, .question-hint {
        display: block;
    }
}

/* request-replacement-eligibility */
.form-container {
    max-width: 540px;
    margin: 0 auto;
}

label > input[required] &:after {
    content: '*';
    color: var(--alert-red);
}

input[type=checkbox] {
    width: var(--size-md);
    height: var(--size-md);
    padding: 0;
    flex-shrink: 0;
    border-radius: var(--size-xxs);
    border: 1px solid var(--interactive-blue);
    background: var(--interactive-blue);
    display: flex;
    align-items: center;
    justify-content: center;

    &::before {
        border-radius: var(--size-xxs);
        border: 1px solid var(--interactive-blue);
        background: var(--interactive-blue);
        width: var(--size-md);
        height: var(--size-md);
        padding: 0.40rem var(--size-xxs) var(--size-xxs) var(--size-xxs);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    &:checked {
        &::before {
            content: var(--checkbox-svg);
        }
    }
}

/* content blocks */
.content-block {

    /* collapse margins when there's just a header block */

    > :last-child {
        margin-bottom: var(--size-lg);
    }

    > :only-child {
        margin-bottom: var(--size-xs);
    }

    h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
        margin-top: var(--size-xs);
    }

    h1, h2, h3, h4, h5, h6 {
        display: block;
        margin-top: var(--size-lg);
        margin-bottom: var(--size-xs);
    }

    p {
        margin-top: var(--size-sm);
        margin-bottom: var(--size-sm);
        a {
            display: inline;
        }
    }

    p:first-child {
        margin-top: var(--size-xs);

        h1, h2, h3, h4, h5, h6 {
            margin-top: inherit;
        }
    }

    a {
        display: block;
        margin-top: var(--size-sm);
        line-height: 1.42;
    }

    li {
        line-height: 1.42;
    }
}
