/* =========================================================
   PROTECTION STARTS HERE
   COMPLETE RESPONSIVE FORM CSS

   BREAKPOINTS:
   Desktop      = Base CSS / 1400px+
   Small Laptop = 992px - 1399.98px
   Tablet       = 768px - 991.98px
   Mobile       = <= 767.98px
========================================================= */


/* =========================================================
   VARIABLES
========================================================= */

:root {
    --protection-blue: #345C9A;
    --protection-blue-hover: #294D81;

    --protection-green: #79C930;

    --protection-black: #000000;
    --protection-text: #111111;

    --protection-gray: #CAD3D9;
    --protection-muted: #777777;

    --protection-border: #DDE4E9;

    --protection-input-bg: #F3F7FB;

    --protection-error: #C62828;
}


/* =========================================================
   MODAL ROOT
========================================================= */

#protectionStartsHereModal {
    z-index: 1085;

    padding-left: 0 !important;
    padding-right: 0 !important;

    background: rgba(0, 0, 0, 0);

    transition:
        background-color .22s ease;
}

#protectionStartsHereModal .protection-dialog.is-success .protection-modal-content {
    height: 300px;
    width: 528px;
}
/* =========================================================
   DESKTOP / TABLET DARK OVERLAY
========================================================= */

#protectionStartsHereModal.show {
    background: rgba(0, 0, 0, .77);
}


.protection-modal {
    font-family: inherit;
}


/* =========================================================
   MODAL DIALOG
   CENTERED DESKTOP
========================================================= */

#protectionStartsHereModal .protection-dialog {
    position: relative;

    z-index: 2;

    width: calc(100% - 64px);

    max-width: 1480px;

    min-height: calc(100vh - 40px);

    margin: 20px auto;

    display: flex;

    align-items: center;

    justify-content: center;
}
.protection-step.has-selection-error .protection-answer-note {
    margin-top: 14px;
}
.protection-step.has-selection-error .protection-options-grid {
    margin-top: 18px;
}
/* =========================================================
   MODAL CONTENT
   SAME HEIGHT STEP 1 - STEP 5
========================================================= */

#protectionStartsHereModal .protection-modal-content {
    width: 100%;

    /* height: clamp(580px, 70vh, 670px);

    max-height: calc(100vh - 40px); */

    height: 450px;

    max-height: 450px;

    border: 0;

    border-radius: 10px;

    overflow: hidden;

    background: #FFFFFF;

    box-shadow:
        0 20px 55px
        rgba(0, 0, 0, .20);
}


/* =========================================================
   MODAL HEADER
========================================================= */

.protection-modal-header {
    position: relative;

    flex: 0 0 60px;

    width: 100%;

    height: 60px;

    min-height: 60px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 14px 90px;

    border-bottom:
        1px solid
        var(--protection-border);

    background: #FFFFFF;
}


/* =========================================================
   MODAL TITLE
========================================================= */

.protection-brand-title {
    color: var(--protection-black);
    text-align: center;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 400;
}


.protection-brand-title strong {
    color: var(--protection-blue);

    font-weight: 700;
}


/* =========================================================
   BACK BUTTON
========================================================= */

/* .protection-back {
    position: absolute;

    left: 54px;

    top: 50%;

    transform: translateY(-50%);

    width: 44px;

    height: 44px;

    border: 0;

    padding: 0;

    display: none;

    align-items: center;

    justify-content: center;

    background: transparent;

    color: #9F9F9F;

    cursor: pointer;

    transition: color .2s ease;
}


.protection-back svg {
    display: block;

    width: 27px;

    height: 27px;
}


.protection-back:hover {
    color: #555555;
} */

.protection-back {
    position: absolute;

    left: 54px;
    top: 50%;

    transform: translateY(-50%);

    width: 44px;
    height: 44px;

    border: 0;
    padding: 0;

    display: none;

    align-items: center;
    justify-content: center;

    background: transparent;

    cursor: pointer;
}


.protection-back-icon {
    display: block;

    width: 20px;
    height: 20px;

    object-fit: contain;

    opacity: .62;

    transition:
        opacity .2s ease,
        transform .2s ease;
}


.protection-back:hover
.protection-back-icon {
    opacity: .9;

    transform: translateX(-2px);
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.protection-close,
.protection-success-close {
    position: absolute;

    width: 44px;

    height: 44px;

    border: 0;

    padding: 0;

    background: transparent;

    cursor: pointer;

    z-index: 10;
}


.protection-close {
    right: 43px;

    top: 50%;

    transform: translateY(-50%);
}


.protection-close span,
.protection-success-close span {
    position: absolute;

    left: 5px;

    top: 21px;

    display: block;

    width: 34px;

    height: 2px;

    background: #AAAAAA;

    transition: background .2s ease;
}


.protection-close span:first-child,
.protection-success-close span:first-child {
    transform: rotate(45deg);
}


.protection-close span:last-child,
.protection-success-close span:last-child {
    transform: rotate(-45deg);
}


.protection-close:hover span,
.protection-success-close:hover span {
    background: #666666;
}


/* =========================================================
   FORM
========================================================= */

#protectionInquiryForm {
    width: 100%;

    height: calc(100% - 76px);

    min-height: 0;

    margin: 0;
}


/* =========================================================
   FORM BODY
========================================================= */

.protection-body {
    width: 100%;

    height: 100%;

    min-height: 0;

    max-height: none;

    overflow-x: hidden;

    overflow-y: auto;

    padding: 27px 68px 29px;

    background: #FFFFFF;

    scrollbar-width: thin;

    scrollbar-color:
        #C3C3C3
        #F2F2F2;
}

.iti__selected-country-primary:hover {
    background-color: transparent !important;
}
.protection-body::-webkit-scrollbar {
    width: 7px;
}


.protection-body::-webkit-scrollbar-track {
    background: #F2F2F2;
}


.protection-body::-webkit-scrollbar-thumb {
    background: #C3C3C3;

    border-radius: 20px;
}


/* =========================================================
   STEP
========================================================= */

.protection-step {
    display: none;

    width: 100%;

    min-height: 100%;
}


.protection-step.active {
    display: flex;

    flex-direction: column;

    width: 100%;

    min-height: 100%;
}


/* =========================================================
   QUESTION
========================================================= */

.protection-question {
    flex: 0 0 auto;

    color: #000000;

    font-size: 18px;

    line-height: 1.32;

    font-weight: 400;
}


/* =========================================================
   SUBTITLE
========================================================= */

.protection-subtitle {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #7B7B7B;
    font-size: 16px;
    line-height: 1.35;
    font-style: italic;
}


/* =========================================================
   OPTIONS GRID
========================================================= */

.protection-options-grid {
    flex: 0 0 auto;

    margin-top: 31px;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    column-gap: clamp(35px, 5vw, 78px);

    row-gap: 18px;

    transition:
        border-color .2s ease,
        background .2s ease,
        padding .2s ease,
        margin .2s ease;
}


/* =========================================================
   OPTION
========================================================= */

.protection-option {
    position: relative;

    min-width: 0;

    margin: 0;

    display: flex;

    align-items: center;

    gap: 16px;

    color: #080808;

    cursor: pointer;

    font-size: 16px;

    line-height: 1.35;

    user-select: none;
}


.protection-option input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.protection-option-text {
    min-width: 0;

    overflow-wrap: anywhere;
}


/* =========================================================
   OPTION CIRCLE
========================================================= */

.protection-radio {
    position: relative;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border: 1.4px solid #000000;
    border-radius: 50%;
    background: #FFFFFF;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}


.protection-option input:checked + .protection-radio {
    border-color: var(--protection-blue);
}


.protection-option input:checked + .protection-radio::after {
    content: "";

    position: absolute;

    left: 3px;

    top: 3px;

    width: 13px;

    height: 13px;

    border-radius: 50%;

    background: var(--protection-blue);
}


/* =========================================================
   OTHER OPTION
========================================================= */

.protection-option-with-other {
    min-width: 0;

    display: flex;

    align-items: center;

    gap: 13px;
}


.protection-option-with-other .protection-option {
    flex: 0 0 auto;
}


/* =========================================================
   OTHER FIELD
========================================================= */

.protection-other-field {
    display: none;

    min-width: 0;

    flex: 1 1 auto;

    animation:
        protectionOtherShow .18s ease;
}


.protection-other-field.active {
    display: block;
}


.protection-other-input {
    width: 100%;

    height: 42px;

    border: 1px solid #D5DDE4;

    border-radius: 5px;

    outline: none;

    padding: 0 13px;

    background: var(--protection-input-bg);

    color: #000000;

    font-size: 15px;

    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}


.protection-other-input::placeholder {
    color: #858585;

    opacity: 1;
}


.protection-other-input:focus {
    border-color: var(--protection-blue);

    background: #FFFFFF;

    box-shadow:
        0 0 0 3px
        rgba(52, 92, 154, .08);
}


.protection-other-input.is-invalid {
    border-color: var(--protection-error);

    background: #FFFAFA;
}


/* =========================================================
   OTHER ERROR
========================================================= */

.protection-other-error {
    display: none;

    margin-top: 4px;

    color: var(--protection-error);

    font-size: 11px;

    line-height: 1.3;
}


.protection-other-input.is-invalid
+ .protection-other-error {
    display: block;
}


/* =========================================================
   OTHER ANIMATION
========================================================= */

@keyframes protectionOtherShow {

    from {
        opacity: 0;

        transform: translateX(-5px);
    }

    to {
        opacity: 1;

        transform: translateX(0);
    }

}


/* =========================================================
   STEP SELECTION ERROR
========================================================= */

.protection-selection-error {
    flex: 0 0 auto;

    display: none;

    margin-top: 12px;

    color: var(--protection-error);

    font-size: 14px;

    line-height: 1.4;

    font-weight: 500;
}


.protection-step.has-selection-error
.protection-selection-error {
    display: block;
}


/* =========================================================
   RED CIRCLE VALIDATION
========================================================= */

.protection-step.has-selection-error
.protection-option
.protection-radio {
    border-color: var(--protection-error);

    box-shadow:
        0 0 0 2px
        rgba(198, 40, 40, .05);
}


/* =========================================================
   OPTION SECTION ERROR
========================================================= */

.protection-step.has-selection-error
.protection-options-grid {
    margin-left: -12px;

    margin-right: -12px;

    padding: 12px;

    border:
        1px solid
        rgba(198, 40, 40, .30);

    border-radius: 8px;

    background:
        rgba(198, 40, 40, .025);
}


/* =========================================================
   SELECTED OPTION STAYS BLUE
========================================================= */

.protection-step.has-selection-error
.protection-option
input:checked
+ .protection-radio {
    border-color: var(--protection-blue);
}


/* =========================================================
   ANSWER NOTE
========================================================= */

.protection-answer-note {
    flex: 0 0 auto;
    margin-top: 28px;
    color: #000000;
    font-size: 16px;
    line-height: 1.45;
    font-style: italic;
}


/* =========================================================
   FOOTER
   FIXED AT BOTTOM OF STEP
========================================================= */

.protection-footer {
    flex: 0 0 auto;

    margin-top: auto;

    padding-top: 18px;

    display: flex;

    align-items: center;

    gap: 40px;
}


/* =========================================================
   BUTTON
========================================================= */

.protection-next-btn {
    min-width: 99px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 0;
    border-radius: 5px;
    padding: 8px 21px;
    background: var(--protection-blue);
    color: #FFFFFF;
    font-size: 18px;
    line-height: 1.2;
    cursor: pointer;
    transition: background .2s ease, opacity .2s ease, transform .2s ease;
}


.protection-next-btn:hover {
    background: var(--protection-blue-hover);
}


.protection-next-btn:active {
    transform: translateY(1px);
}


.protection-next-btn:disabled {
    opacity: .68;

    cursor: not-allowed;
}


/* =========================================================
   PROGRESS
========================================================= */

.protection-progress {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #787474;
    font-size: 16px;
    line-height: 1.2;
}


/* =========================================================
   PROGRESS DOTS
========================================================= */

.protection-dots {
    display: flex;

    align-items: center;

    gap: 7px;
}


.protection-dots i {
    display: block;

    width: 10px;
    height: 10px;
    flex: 0 0 10px;

    border-radius: 50%;

    background: var(--protection-gray);

    transition:
        background .2s ease,
        transform .2s ease;
}


.protection-dots i.active {
    background: var(--protection-green);
}


/* =========================================================
   STEP 5 FIELDS
========================================================= */

.protection-fields {
    flex: 0 0 auto;

    margin-top: 25px;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        17px 28px;
}


.protection-field {
    min-width: 0;
}


/* =========================================================
   INPUT WRAPPER
========================================================= */

.protection-input-wrap {
    width: 100%;

    min-height: 46px;

    display: flex;

    align-items: center;

    gap: 16px;

    padding: 0 20px;

    border: 1px solid transparent;

    border-radius: 4px;

    background: #F4F9FF;

    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.protection-input-wrap:focus-within {
    border-color: var(--protection-blue);

    background: #FFFFFF;

    box-shadow:
        0 0 0 3px
        rgba(52, 92, 154, .08);
}


/* =========================================================
   LOCAL SVG IMAGE ICONS
   name.svg
   email.svg
   company.svg
   website.svg
========================================================= */

.protection-field-icon {
    display: block;

    width: 24px;

    height: 24px;

    flex: 0 0 24px;

    object-fit: contain;

    object-position: center;

    opacity: .72;

    pointer-events: none;

    user-select: none;
}


/* =========================================================
   OLD INLINE SVG FALLBACK
========================================================= */

.protection-input-wrap > svg {
    display: block;

    width: 24px;

    height: 24px;

    flex: 0 0 24px;

    fill: #7C7C7C;
}


/* =========================================================
   NORMAL INPUT
========================================================= */

.protection-input-wrap input {
    width: 100%;

    min-width: 0;

    border: 0;

    outline: 0;

    padding: 0;

    background: transparent;

    color: #000000;

    font-size: 18px;

    line-height: 1.4;
}

input#protectionPhone {
    padding-left: 95px !important;
}
.protection-input-wrap input::placeholder {
    color: #787474;

    opacity: 1;
}


/* =========================================================
   PHONE WRAPPER
========================================================= */

.protection-phone-wrap {
    width: 100%;
}


.protection-phone-wrap .iti {
    width: 100%;

    display: block;
}


/* =========================================================
   PHONE INPUT
========================================================= */

.protection-phone-input {
    width: 100% !important;

    height: 46px !important;

    border:
        1px solid transparent !important;

    border-radius:
        4px !important;

    outline: 0 !important;

    background:
        #F4F9FF !important;

    color:
        #000000 !important;

    font-size:
        18px !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.protection-phone-input:focus {
    border-color:
        var(--protection-blue) !important;

    background:
        #FFFFFF !important;

    box-shadow:
        0 0 0 3px
        rgba(52, 92, 154, .08) !important;
}


.protection-phone-input.protection-phone-invalid {
    border-color:
        var(--protection-error) !important;

    background:
        #FFFAFA !important;
}


/* =========================================================
   PHONE COUNTRY
========================================================= */

.protection-phone-wrap
.iti__country-container {
    padding-left: 7px;
}


.protection-phone-wrap
.iti__selected-country {
    background: transparent !important;

    border: 0 !important;
}


.protection-phone-wrap
.iti__selected-country:hover {
    background: transparent !important;
}


.protection-phone-wrap
.iti__selected-dial-code {
    color: #555555;
    font-size: 18px;
}


.iti__dropdown-content {
    z-index:
        99999 !important;
}


.iti__country-list {
    max-height: 245px;
}


/* =========================================================
   PREFERRED CONTACT
========================================================= */

.preferred-contact {
    flex: 0 0 auto;

    margin-top: 25px;

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap:
        23px 48px;
}


.preferred-label {
    color: #000000;

    font-size: 18px;

    line-height: 1.4;
}


/* =========================================================
   CONTACT OPTION
========================================================= */

.contact-option {
    position: relative;

    margin: 0;

    display: inline-flex;

    align-items: center;

    gap: 13px;

    color: #000000;

    cursor: pointer;

    font-size: 16px;

    user-select: none;
}


.contact-option input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


/* =========================================================
   CONTACT RADIO
========================================================= */

.contact-radio {
    position: relative;

    width: 18px;

    height: 18px;

    flex: 0 0 18px;

    border:
        1.5px solid #000000;

    border-radius: 50%;

    transition:
        border-color .18s ease;
}


.contact-option
input:checked
+ .contact-radio {
    border-color:
        var(--protection-blue);
}


.contact-option
input:checked
+ .contact-radio::after {
    content: "";

    position: absolute;

    left: 2px;

    top: 2px;

    width: 11px;

    height: 11px;

    border-radius: 50%;

    background:
        var(--protection-blue);
}


/* =========================================================
   GENERAL FORM ERROR
========================================================= */

.protection-form-error {
    flex: 0 0 auto;

    min-height: 8px;

    margin-top: 8px;

    color: var(--protection-error);

    font-size: 12px;

    line-height: 1.4;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.protection-submit-btn {
    min-width: 145px;
}


/* =========================================================
   SUBMIT LOADER
========================================================= */

.protection-submit-loader {
    display: none;

    width: 19px;

    height: 19px;

    flex: 0 0 19px;

    color: #FFFFFF;
}


.protection-submit-loader svg {
    display: block;

    width: 100%;

    height: 100%;
}


.protection-submit-btn.is-loading
.protection-submit-loader {
    display: inline-flex;

    animation:
        protectionSubmitSpin
        .7s linear infinite;
}


.protection-submit-btn.is-loading {
    cursor: wait;
}


/* =========================================================
   SUBMIT LOADER ANIMATION
========================================================= */

@keyframes protectionSubmitSpin {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


/* =========================================================
   SUCCESS DIALOG
========================================================= */

.protection-dialog.is-success {
    max-width:
        800px !important;
}


/* =========================================================
   SUCCESS SCREEN
========================================================= */

.protection-success {
    position: relative;

    display: none;

    width: 100%;

    height: 100%;

    min-height: 0;

    /* padding:
        50px 65px 45px; */

    text-align: center;

    background: #FFFFFF;

    overflow-y: auto;
}


.protection-success.active {
    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;
}


/* =========================================================
   SUCCESS CLOSE
========================================================= */

.protection-success-close {
    right: 18px;

    top: 14px;
}


/* =========================================================
   SUCCESS ICON WRAPPER
========================================================= */

.protection-success-icon {
    width: 72px;
    height: 68px;
    flex: 0 0 72px;
    margin: 0 auto 18px;
}


/* =========================================================
   SUCCESS LOCAL SVG IMAGE
========================================================= */

.protection-success-icon-image {
    display: block;

    width: 100%;

    height: 100%;

    object-fit: contain;

    object-position: center;
}


/* =========================================================
   SUCCESS INLINE FALLBACK
========================================================= */

.protection-success-icon svg {
    display: block;

    width: 100%;

    height: 100%;
}


/* =========================================================
   SUCCESS HEADING
========================================================= */

.protection-success h2 {
    margin: 0;

    color: #000000;

    font-size: 20px;

    line-height: 1.4;

    font-weight: 400;
}


.protection-success h2 strong {
    font-weight: 700;
}


/* =========================================================
   SUCCESS TEXT
========================================================= */

.protection-success p {
max-width: 572px;
    margin: 22px auto 29px;
    color: #000000;
    font-size: 16px;
    line-height: 1.5;
}


/* =========================================================
   KEEP EXPLORING
========================================================= */

.protection-explore-btn {
    min-width: 179px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    padding: 9px 24px;
    background: var(--protection-blue);
    color: #FFFFFF;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    transition: background .2s ease, transform .2s ease;
}


.protection-explore-btn:hover {
    background:
        var(--protection-blue-hover);

    color: #FFFFFF;
}


.protection-explore-btn:active {
    transform:
        translateY(1px);
}


/* =========================================================
   RESPONSIVE
========================================================= */


/* =========================================================
   SMALL LAPTOP
   992px - 1399.98px
========================================================= */

@media (min-width: 992px) and (max-width: 1399.98px) {

    #protectionStartsHereModal
    .protection-dialog {
        width:
            calc(100% - 44px);

        max-width: 1160px;

        min-height:
            calc(100vh - 30px);

        margin:
            15px auto;
    }


    #protectionStartsHereModal
    .protection-modal-content {
        height: 580px;

        max-height:
            calc(100vh - 30px);

        border-radius: 16px;
    }
    #protectionStartsHereModal .protection-dialog.is-success .protection-modal-content{
            height: 450px;
        width: 528px;
    }

    .protection-modal-header {
        flex:
            0 0 66px;

        height: 66px;

        min-height: 66px;

        padding:
            11px 70px;
    }


    #protectionInquiryForm {
        height:
            calc(100% - 66px);
    }


    .protection-brand-title {
        font-size: 24px;
    }


    .protection-back {
        left: 24px;

        width: 40px;

        height: 40px;
    }


    .protection-back svg {
        width: 25px;

        height: 25px;
    }


    .protection-close {
        right: 22px;

        width: 40px;

        height: 40px;
    }


    .protection-close span {
        width: 30px;

        top: 19px;
    }


    .protection-body {
        height: 100%;

        padding:
            27px 38px 28px;
    }


    .protection-question {
        font-size: 21px;
    }


    .protection-subtitle {
        font-size: 16px;
    }


    .protection-options-grid {
        margin-top: 25px;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        column-gap: 34px;

        row-gap: 18px;
    }


    .protection-option {
        gap: 12px;

        font-size: 16px;
    }


    .protection-radio {
        width: 22px;

        height: 22px;

        flex:
            0 0 22px;
    }


    .protection-option
    input:checked
    + .protection-radio::after {
        width: 14px;

        height: 14px;

        left: 2.3px;

        top: 2.3px;
    }


    .protection-option-with-other {
        gap: 9px;
    }


    .protection-other-input {
        height: 39px;

        padding:
            0 10px;

        font-size: 13px;
    }


    .protection-selection-error {
        margin-top: 10px;

        font-size: 13px;
    }


    .protection-answer-note {
        margin-top: 24px;

        font-size: 15px;
    }


    .protection-footer {
        margin-top: auto;

        padding-top: 20px;

        gap: 28px;
    }


    .protection-next-btn {
        min-width: 104px;

        min-height: 43px;

        padding:
            7px 18px;

        font-size: 17px;
    }


    .protection-submit-btn {
        min-width: 130px;
    }


    .protection-progress {
        gap: 14px;

        font-size: 14px;
    }


    .protection-dots {
        gap: 5px;
    }


    .protection-dots i {
        width: 10px;

        height: 10px;

        flex-basis: 10px;
    }


    .protection-fields {
        margin-top: 25px;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            13px 18px;
    }


    .protection-input-wrap {
        min-height: 51px;

        gap: 13px;

        padding:
            0 15px;
    }


    .protection-input-wrap input {
        font-size: 15px;
    }


    .protection-field-icon {
        width: 21px;

        height: 21px;

        flex-basis: 21px;
    }


    .protection-phone-input {
        height:
            51px !important;

        font-size:
            15px !important;
    }


    .preferred-contact {
        margin-top: 22px;

        gap:
            16px 27px;
    }


    .preferred-label {
        width: 100%;

        font-size: 17px;
    }


    .contact-option {
        gap: 10px;

        font-size: 15px;
    }


    .contact-radio {
        width: 21px;

        height: 21px;

        flex-basis: 21px;
    }


    .contact-option
    input:checked
    + .contact-radio::after {
        width: 13px;

        height: 13px;

        left: 2.3px;

        top: 2.3px;
    }


    .protection-dialog.is-success {
        max-width:
            760px !important;
    }


    .protection-success {
        padding:
            40px 55px;
    }


    .protection-success-icon {
        width: 88px;

        height: 88px;

        flex-basis: 88px;

        margin-bottom: 20px;
    }


    .protection-success h2 {
        font-size: 25px;
    }


    .protection-success p {
        margin:
            18px auto 25px;

        font-size: 17px;
    }


    .protection-explore-btn {
        min-width: 225px;

        min-height: 52px;

        font-size: 18px;
    }

}


/* =========================================================
   TABLET
   768px - 991.98px
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    #protectionStartsHereModal.show {
        background:
            rgba(0, 0, 0, .40);
    }


    #protectionStartsHereModal
    .protection-dialog {
        width:
            calc(100% - 30px);

        max-width: 820px;

        min-height:
            calc(100vh - 30px);

        margin:
            15px auto;
    }


    #protectionStartsHereModal
    .protection-modal-content {
        height: 620px;

        max-height:
            calc(100vh - 30px);

        border-radius: 14px;
    }


    .protection-modal-header {
        flex:
            0 0 62px;

        height: 62px;

        min-height: 62px;

        padding:
            10px 58px;
    }


    #protectionInquiryForm {
        height:
            calc(100% - 62px);
    }


    .protection-brand-title {
        font-size: 21px;
    }


    .protection-back {
        left: 15px;

        width: 39px;

        height: 39px;
    }


    .protection-back svg {
        width: 23px;

        height: 23px;
    }


    .protection-close {
        right: 14px;

        width: 38px;

        height: 38px;
    }


    .protection-close span {
        width: 27px;

        top: 18px;
    }


    .protection-body {
        height: 100%;

        padding:
            24px 27px 26px;
    }


    .protection-question {
        font-size: 19px;
    }


    .protection-subtitle {
        font-size: 15px;
    }


    .protection-options-grid {
        margin-top: 24px;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        column-gap: 24px;

        row-gap: 17px;
    }


    .protection-option {
        gap: 11px;

        font-size: 14px;
    }


    .protection-radio {
        width: 20px;

        height: 20px;

        flex:
            0 0 20px;
    }


    .protection-option
    input:checked
    + .protection-radio::after {
        width: 12px;

        height: 12px;

        left: 2.3px;

        top: 2.3px;
    }


    .protection-option-with-other {
        gap: 7px;
    }


    .protection-other-input {
        height: 37px;

        padding:
            0 9px;

        font-size: 12px;
    }


    .protection-other-error {
        font-size: 10px;
    }


    .protection-selection-error {
        margin-top: 10px;

        font-size: 12px;
    }


    .protection-step.has-selection-error
    .protection-options-grid {
        margin-left: -8px;

        margin-right: -8px;

        padding: 9px;
    }


    .protection-answer-note {
        margin-top: 23px;

        font-size: 14px;
    }


    .protection-footer {
        margin-top: auto;

        padding-top: 18px;

        gap: 24px;
    }


    .protection-next-btn {
        min-width: 100px;

        min-height: 42px;

        padding:
            6px 17px;

        font-size: 16px;
    }


    .protection-submit-btn {
        min-width: 125px;
    }


    .protection-progress {
        gap: 13px;

        font-size: 14px;
    }


    .protection-dots {
        gap: 5px;
    }


    .protection-dots i {
        width: 9px;

        height: 9px;

        flex-basis: 9px;
    }


    .protection-fields {
        margin-top: 23px;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            12px 15px;
    }


    .protection-input-wrap {
        min-height: 49px;

        gap: 12px;

        padding:
            0 14px;
    }


    .protection-input-wrap input {
        font-size: 14px;
    }


    .protection-field-icon {
        width: 20px;

        height: 20px;

        flex-basis: 20px;
    }


    .protection-phone-input {
        height:
            49px !important;

        font-size:
            14px !important;
    }


    .protection-phone-wrap
    .iti__country-container {
        padding-left: 4px;
    }


    .preferred-contact {
        margin-top: 21px;

        gap:
            15px 22px;
    }


    .preferred-label {
        width: 100%;

        font-size: 16px;
    }


    .contact-option {
        gap: 9px;

        font-size: 14px;
    }


    .contact-radio {
        width: 20px;

        height: 20px;

        flex-basis: 20px;
    }


    .contact-option
    input:checked
    + .contact-radio::after {
        width: 12px;

        height: 12px;

        left: 2.3px;

        top: 2.3px;
    }


    .protection-form-error {
        margin-top: 10px;

        font-size: 12px;
    }


    .protection-submit-loader {
        width: 17px;

        height: 17px;

        flex-basis: 17px;
    }


    .protection-dialog.is-success {
        max-width:
            680px !important;
    }


    .protection-success {
        padding:
            38px 45px;
    }


    .protection-success-icon {
        width: 82px;

        height: 82px;

        flex-basis: 82px;

        margin-bottom: 20px;
    }


    .protection-success h2 {
        font-size: 23px;
    }


    .protection-success p {
        margin:
            17px auto 24px;

        font-size: 16px;
    }


    .protection-explore-btn {
        min-width: 210px;

        min-height: 50px;

        font-size: 17px;
    }

}


/* =========================================================
   MOBILE
   <= 767.98px
========================================================= */

@media (max-width: 767.98px) {

    #protectionStartsHereModal.show {
        background:
            #FFFFFF;
    }


    #protectionStartsHereModal
    .protection-dialog {
        width: 100%;

        max-width: none;

        height: 100vh;

        min-height: 100vh;

        margin: 0;

        display: block;
    }


    #protectionStartsHereModal
    .protection-modal-content {
        width: 100%;

        height: 100vh;

        min-height: 100vh;

        max-height: 100vh;

        border-radius: 0;

        box-shadow: none;

        overflow: hidden;
    }


    /* =====================================================
       HEADER
    ===================================================== */

    .protection-modal-header {
        position: relative;

        z-index: 20;

        flex:
            0 0 48px;

        height: 48px;

        min-height: 48px;

        justify-content:
            flex-start;

        padding:
            8px 43px;

        background:
            #FFFFFF;
    }


    #protectionInquiryForm {
        height:
            calc(100vh - 48px);
    }


    .protection-brand-title {
        font-size: 18px;

        text-align: left;

        white-space: nowrap;
    }


    /* =====================================================
       BACK BUTTON
    ===================================================== */

    .protection-back {
        left: 2px;

        width: 38px;

        height: 38px;

        display: flex;
    }


    .protection-back svg {
        width: 22px;

        height: 22px;
    }


    /* =====================================================
       CLOSE
    ===================================================== */

    .protection-close {
        right: 4px;

        width: 34px;

        height: 34px;
    }


    .protection-close span {
        left: 5px;

        top: 16px;

        width: 24px;
    }


    /* =====================================================
       BODY
    ===================================================== */

    .protection-body {
        width: 100%;

        height: 100%;

        min-height: 0;

        max-height: none;

        overflow-x: hidden;

        overflow-y: auto;

        padding:
            16px 12px 24px;
    }


    .protection-step {
        min-height: 100%;
    }


    .protection-step.active {
        display: flex;

        flex-direction: column;

        min-height: 100%;
    }


    /* =====================================================
       QUESTION
    ===================================================== */

    .protection-question {
        font-size: 16px;

        line-height: 1.35;
    }


    .protection-subtitle {
        margin-top: 1px;

        font-size: 13px;
    }


    /* =====================================================
       OPTIONS
    ===================================================== */

    .protection-options-grid {
        margin-top: 19px;

        grid-template-columns:
            1fr;

        column-gap: 0;

        row-gap: 15px;
    }


    .protection-option {
        gap: 11px;

        font-size: 14px;

        line-height: 1.35;
    }


    .protection-radio {
        width: 17px;

        height: 17px;

        flex:
            0 0 17px;

        border-width: 1px;
    }


    .protection-option
    input:checked
    + .protection-radio::after {
        width: 11px;

        height: 11px;

        left: 2px;

        top: 2px;
    }


    /* =====================================================
       VALIDATION
    ===================================================== */

    .protection-selection-error {
        margin-top: 8px;

        font-size: 12px;
    }


    .protection-step.has-selection-error
    .protection-options-grid {
        margin-left: -5px;

        margin-right: -5px;

        padding:
            8px 5px;

        border-radius: 6px;
    }


    /* =====================================================
       ANSWER NOTE
    ===================================================== */

    .protection-answer-note {
        display: none;
    }


    /* =====================================================
       OTHER
    ===================================================== */

    .protection-option-with-other {
        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 8px;
    }


    .protection-option-with-other
    .protection-option {
        width: 100%;
    }


    .protection-other-field {
        width: 100%;

        padding-left: 28px;
    }


    .protection-other-input {
        width: 100%;

        height: 40px;

        padding:
            0 11px;

        font-size: 13px;
    }


    .protection-other-error {
        font-size: 10px;
    }


    /* =====================================================
       FOOTER
    ===================================================== */

    .protection-footer {
        margin-top: auto;

        padding-top: 22px;

        gap: 12px;

        flex-wrap: wrap;
    }


    .protection-next-btn {
        min-width: 76px;

        min-height: 34px;

        padding:
            5px 14px;

        font-size: 14px;
    }


    .protection-submit-btn {
        min-width: 115px;
    }


    /* =====================================================
       PROGRESS
    ===================================================== */

    .protection-progress {
        gap: 9px;

        font-size: 12px;
    }


    .protection-dots {
        gap: 4px;
    }


    .protection-dots i {
        width: 8px;

        height: 8px;

        flex-basis: 8px;
    }


    /* =====================================================
       STEP 5 FIELDS
    ===================================================== */

    .protection-fields {
        margin-top: 19px;

        grid-template-columns:
            1fr;

        gap: 9px;
    }


    .protection-input-wrap {
        min-height: 44px;

        gap: 10px;

        padding:
            0 12px;
    }


    .protection-input-wrap input {
        font-size: 14px;
    }


    /* =====================================================
       LOCAL SVG ICONS
    ===================================================== */

    .protection-field-icon {
        width: 19px;

        height: 19px;

        flex-basis: 19px;
    }


    .protection-input-wrap > svg {
        width: 19px;

        height: 19px;

        flex-basis: 19px;
    }


    /* =====================================================
       PHONE
    ===================================================== */

    .protection-phone-input {
        height:
            44px !important;

        min-height:
            44px !important;

        font-size:
            14px !important;
    }


    .protection-phone-wrap
    .iti__country-container {
        padding-left: 3px;
    }


    /* =====================================================
       CONTACT METHOD
    ===================================================== */

    .preferred-contact {
        margin-top: 18px;

        display: grid;

        grid-template-columns:
            1fr;

        gap: 11px;
    }


    .preferred-label {
        width: auto;

        font-size: 15px;
    }


    .contact-option {
        gap: 9px;

        font-size: 14px;
    }


    .contact-radio {
        width: 18px;

        height: 18px;

        flex-basis: 18px;
    }


    .contact-option
    input:checked
    + .contact-radio::after {
        width: 12px;

        height: 12px;

        left: 1.4px;

        top: 1.4px;
    }


    /* =====================================================
       GENERAL ERROR
    ===================================================== */

    .protection-form-error {
        margin-top: 10px;

        min-height: 15px;

        font-size: 12px;
    }


    /* =====================================================
       LOADER
    ===================================================== */

    .protection-submit-loader {
        width: 15px;

        height: 15px;

        flex-basis: 15px;
    }


    /* =====================================================
       SUCCESS
    ===================================================== */

    .protection-dialog.is-success {
        max-width:
            none !important;
    }


    .protection-success {
        width: 100%;

        height: 100vh;

        min-height: 100vh;

        padding:
            60px 20px 35px;
    }


    .protection-success.active {
        display: flex;

        flex-direction: column;

        align-items: center;

        justify-content: center;
    }


    .protection-success-close {
        top: 7px;

        right: 7px;

        width: 36px;

        height: 36px;
    }


    .protection-success-close span {
        width: 25px;

        top: 17px;
    }


    .protection-success-icon {
        width: 78px;

        height: 78px;

        flex-basis: 78px;

        margin-bottom: 20px;
    }


    .protection-success h2 {
        max-width: 420px;

        font-size: 21px;

        line-height: 1.4;
    }


    .protection-success p {
        max-width: 440px;

        margin:
            18px auto 24px;

        font-size: 15px;

        line-height: 1.55;
    }


    .protection-explore-btn {
        min-width: 205px;

        min-height: 49px;

        font-size: 17px;
    }

}