/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Montserrat+Alternates:wght@600;800&family=Roboto:wght@400;500;700&display=swap");

html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* Sections
     ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Text-level semantics
     ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
     ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
}

/* Forms
     ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

    /**
 * Remove the inner border and padding in Firefox.
 */
    button::-moz-focus-inner,
    [type="button"]::-moz-focus-inner,
    [type="reset"]::-moz-focus-inner,
    [type="submit"]::-moz-focus-inner {
        border-style: none;
        padding: 0;
    }

    /**
 * Restore the focus styles unset by the previous rule.
 */
    button:-moz-focusring,
    [type="button"]:-moz-focusring,
    [type="reset"]:-moz-focusring,
    [type="submit"]:-moz-focusring {
        outline: 1px dotted ButtonText;
    }

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

    /**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
    [type="search"]::-webkit-search-decoration {
        -webkit-appearance: none;
    }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* Interactive
     ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/* Misc
     ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

/* =============================================================================
    Media queries for different screen sizes
    ========================================================================== */
/*
     Hidden
 */
/*
     Clearfix
 */
/*
     Font size
 */
/*
     Line height
 */
/*
     Columns definition
 */
/*
     Flex Columns definition
 */
/*
     Grid Columns definition
 */
*,
*:after,
*:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    outline: none;
}

html, body {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

body {
    position: relative;
    background-color: #FDFDFD;
    font-family: "Roboto", sans-serif;
    font-weight: normal;
    font-size: 18px;
    line-height: 22px;
    text-rendering: optimizeLegibility;
    color: #1C1C1C;
}

main {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

ul {
    padding: 0 0 0 20px;
    margin: 0;
}

a {
    font-size: 14px;
    line-height: 17px;
    text-decoration: underline;
    color: #14182F;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out;
}

    a:hover {
        color: #1A4CC0;
    }

.container {
    position: relative;
    max-width: 1310px;
    margin: 0 auto;
    padding: 0 15px;
}

h1, h2 {
    margin: 0;
    padding: 0;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 36px;
    line-height: 42px;
    color: #1c1c1c;
}

h2 {
    font-weight: bold;
    font-size: 48px;
    line-height: 56px;
}

h3 {
    font-weight: bold;
    font-size: 36px;
    line-height: 44px;
    color: #14182F;
}

.subtitle {
    font-size: 20px;
    line-height: 24px;
    color: #1c1c1c;
}

.desc {
    display: block;
    margin-bottom: 13px;
    font-size: 20px;
    line-height: 24px;
    color: #1C1C1C;
}

.button, a.button {
    --border: 1px;
    padding: calc(10px - var(--border)) calc(60px - var(--border));
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    width: 100%;
    font-family: "Roboto", sans-serif;
    font-weight: bold;
    font-size: 18px;
    line-height: 21px;
    border-radius: 4px;
    border: var(--border) solid #4A80FD;
    background-color: #4A80FD;
    color: #fff;
    cursor: pointer;
    -webkit-transition: background-color, -webkit-box-shadow .2s ease-in-out;
    transition: background-color, -webkit-box-shadow .2s ease-in-out;
    transition: background-color, box-shadow .2s ease-in-out;
    transition: background-color, box-shadow .2s ease-in-out, -webkit-box-shadow .2s ease-in-out;
    text-decoration: none;
    text-align: center;
}

    .button:hover, a.button:hover {
        border-color: #1A4CC0;
        background: #1A4CC0;
        -webkit-box-shadow: 0px 2px 10px rgba(26, 77, 192, 0.6);
        box-shadow: 0px 2px 10px rgba(26, 77, 192, 0.6);
    }

    .button:disabled, a.button:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

form {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 0.7fr;
    grid-template-columns: 1fr 1fr 0.7fr;
    gap: 18px;
    margin-top: 34px;
}

    form input {
        padding: 21px 15px;
        font-size: 18px;
        line-height: 21px;
        height: 50px;
        background: #FFFFFF;
        border: 1px solid #B3B3B3;
        border-radius: 4px;
        -webkit-transition: border-color .2s ease;
        transition: border-color .2s ease;
    }

        form input:focus {
            border-color: #1A4CC0;
        }

        form input:placeholder {
            font-size: 18px;
            line-height: 21px;
            color: #868686;
        }

    form .checkbox {
        --height: 30px;
        --width: 30px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        height: var(--height);
    }

        form .checkbox label {
            position: relative;
            padding-left: calc(var(--width) + 10px);
            font-size: 20px;
            line-height: 23px;
            color: #000;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

            form .checkbox label:before {
                content: '';
                position: absolute;
                margin-right: 8px;
                top: 50%;
                left: 0;
                -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
                min-width: var(--width);
                min-height: var(--height);
                border: 1px solid #1A4CC0;
                background: #fff;
                border-radius: 5px;
                cursor: pointer;
            }

            form .checkbox label:after {
                --color: #fff;
                content: '';
                position: absolute;
                left: 8px;
                top: 50%;
                background: var(--color);
                width: 2px;
                height: 2px;
                -webkit-box-shadow: 2px 0 0 var(--color), 4px 0 0 var(--color), 4px -2px 0 var(--color), 4px -4px 0 var(--color), 4px -6px 0 var(--color), 4px -8px 0 var(--color);
                box-shadow: 2px 0 0 var(--color), 4px 0 0 var(--color), 4px -2px 0 var(--color), 4px -4px 0 var(--color), 4px -6px 0 var(--color), 4px -8px 0 var(--color);
                -webkit-transform: rotate(45deg) scale(1.6);
                transform: rotate(45deg) scale(1.6);
                opacity: 0;
                -webkit-transition: opacity .2s ease-in-out;
                transition: opacity .2s ease-in-out;
            }

            form .checkbox label a {
                font-weight: 500;
                font-size: 20px;
                line-height: 23px;
            }

        form .checkbox input {
            position: absolute;
            opacity: 0;
            visibility: hidden;
            width: 0;
            height: 0;
        }

            form .checkbox input:checked ~ label:before {
                background: #1A4CC0;
            }

            form .checkbox input:checked ~ label:after {
                opacity: 1;
            }

            form .checkbox input.invalid ~ .invalid {
                display: none !important;
            }

                form .checkbox input.invalid ~ .invalid ~ label, form .checkbox input.invalid ~ .invalid ~ label a {
                    color: #FF3C3B;
                }

                    form .checkbox input.invalid ~ .invalid ~ label:before {
                        border-color: #FF3C3B;
                    }

    form .choice span {
        display: block;
        margin-bottom: 11px;
        font-weight: 600;
        font-size: 18px;
        line-height: 22px;
        color: #000;
    }

    form .choice input {
        position: absolute;
        opacity: 0;
        visibility: hidden;
        width: 0;
        height: 0;
    }

        form .choice input:checked + label:before {
            background: #4A80FD;
            opacity: 1;
        }

    form .choice label {
        position: relative;
        display: block;
        margin-bottom: 15px;
        padding-left: 30px;
        font-weight: 500;
        font-size: 18px;
        line-height: 22px;
        color: #575757;
    }

        form .choice label:after, form .choice label:before {
            content: '';
            position: absolute;
            top: 50%;
            border-radius: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            -webkit-transition: opacity 0.2s ease-in-out;
            transition: opacity 0.2s ease-in-out;
            cursor: pointer;
        }

        form .choice label:after {
            left: 0;
            min-width: 24px;
            min-height: 24px;
            background: transparent;
            border: 1px solid #4A80FD;
        }

        form .choice label:before {
            opacity: 0;
            left: 3px;
            min-width: 18px;
            min-height: 18px;
        }

    form .button {
        padding: 9px 0;
        max-width: 100%;
        font-weight: bold;
        font-size: 18px;
        line-height: 21px;
    }

.menu-bottom {
    display: none;
}

header, .header {
    padding-top: 14px;
    padding-bottom: 14px;
    background: linear-gradient(to left, #B0BEC5, #fff);
    -webkit-box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.1);
}

    header > .container, .header > .container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

header-logo, .header-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

header-info, .header-info {
    color: #224EB4;
    font-family: "Montserrat Alternates", sans-serif;
}

header-logo a, .header-logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 24px;
    text-decoration: none;
}

    header-logo a img, .header-logo a img {
        width: 100%;
        height: 100%;
    }

    header-logo a span, .header-logo a span {
        margin-left: 10px;
        font-family: "Montserrat Alternates", sans-serif;
        font-weight: 600;
        font-size: 24px;
        line-height: 29px;
        color: #1c1c1c;
    }

        header-logo a span b, .header-logo a span b {
            font-weight: 800;
        }

header-logo span, .header-logo span {
    font-weight: 500;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    color: #fff;
}

footer, .footer {
    padding-top: 28px;
    padding-bottom: 14px;
    background: #546E7A;
    -webkit-box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.1);
}

footer-top, .footer-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

footer-bottom, .footer-bottom {
    margin-top: 19px;
    padding-top: 16px;
    font-weight: normal;
    font-size: 18px;
    line-height: 21px;
    text-transform: uppercase;
    color: #fff;
    border-top: 1px solid #fff;
}

    footer-bottom p, .footer-bottom p {
        margin-bottom: 12px;
    }

footer-logo, .footer-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

    footer-logo a, .footer-logo a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-right: 24px;
        max-width: 184px;
        max-height: 43px;
        text-decoration: none;
    }

        footer-logo a img, .footer-logo a img {
            width: 100%;
        }

        footer-logo a span, .footer-logo a span {
            margin-left: 10px;
            font-family: "Montserrat Alternates", sans-serif;
            font-weight: bold;
            font-size: 24px;
            line-height: 29px;
            color: #fff;
        }

    footer-logo span, .footer-logo span {
        font-weight: normal;
        font-size: 18px;
        line-height: 21px;
        color: #fff;
    }

footer-links a, .footer-links a {
    margin-right: 40px;
    font-weight: 500;
    font-size: 18px;
    line-height: 22px;
    text-decoration: none;
    color: #fff;
}

    footer-links a:last-child, .footer-links a:last-child {
        margin-right: 0;
    }

.showcase {
    padding-top: 30px;
    padding-bottom: 70px;
    background-color: #F0F4FA;
}

    .showcase .container h1 {
        color: #fff;
    }

.offers {
    --offerShadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
    --offerRadius: 5px;
    --offerMaxWidth: 307px;
    --offerGap: 30px 17px;
    --offerPadding: 11px 15px 27px;
    --imageWidth: 91px;
    --imageHeight: 40px;
    overflow: visible;
}

.offers-wrapper {
    display: -ms-grid;
    display: grid;
    margin-top: 40px;
    -ms-grid-columns: (minmax(var(--offerMaxWidth), 1fr))[auto-fit];
    grid-template-columns: repeat(auto-fit, minmax(var(--offerMaxWidth), 1fr));
    gap: var(--offerGap);
    padding: 10px 0;
}

.offers .offer {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: var(--offerPadding);
    background: linear-gradient(179.93deg, #FFFFFF 0.06%, #EFEFEF 99.94%);
    -webkit-box-shadow: var(--offerShadow);
    box-shadow: var(--offerShadow);
    border-radius: var(--offerRadius);
    max-width: 307px;
}

.offers .offer__footer {
    margin: 10px 0;
    text-align: center;
    font-size: 16px;
    line-height: 16px;
}

.offers .offer-header {
    margin-bottom: 15px;
}

    .offers .offer-header .offer__image {
        margin-bottom: 4px;
        text-align: center;
        width: var(--imageWidth);
        height: var(--imageHeight);
    }

        .offers .offer-header .offer__image img {
            width: 100%;
            height: 100%;
            -o-object-fit: contain;
            object-fit: contain;
            -o-object-position: left;
            object-position: left;
        }

    .offers .offer-header .offer__desc {
        font-size: 14px;
        line-height: 22px;
        color: #303030;
    }

.offers .offer-body {
    width: 100%;
    border-top: 1px solid #BCBCBC;
    padding-top: 15px;
    margin-bottom: 20px;
}

    .offers .offer-body div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 18px;
    }

        .offers .offer-body div:last-child {
            margin-bottom: 0;
        }

.offers .offer-button {
    width: 100%;
}

    .offers .offer-button button {
        max-width: 100%;
        padding-left: 30px;
        padding-right: 30px;
        font-weight: bold;
        font-size: 16px;
        line-height: 19px;
    }

.offers .offer__label {
    display: block;
    font-size: 16px;
    line-height: 19px;
    color: #666666;
}

    .offers .offer__label img {
        width: 16px;
        height: 16px;
        -o-object-fit: contain;
        object-fit: contain;
        vertical-align: middle;
    }

.offers .offer__value {
    display: block;
    font-weight: bold;
    font-size: 16px;
    line-height: 19px;
    color: #1C1C1C;
}

.subscribe {
    padding-top: 49px;
    padding-bottom: 81px;
    background: #fff;
    -webkit-box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.1);
}

.mb {
    margin-bottom: 20px;
}

.info {
    padding-top: 30px;
    padding-bottom: 60px;
    font-weight: 500;
    font-size: 14px;
    line-height: 22px;
    color: #575757;
}

    .info a {
        font-size: inherit;
        text-decoration: none;
        color: #575757;
    }

        .info a:hover {
            color: #FF9300;
        }

    .info h3 {
        margin-top: 40px;
        margin-bottom: 10px;
        font-weight: bold;
        font-size: 36px;
        line-height: 43px;
        color: #6F6F6F;
    }

    .info article {
        max-width: 1100px;
        margin-bottom: 20px;
    }

        .info article p {
            margin-bottom: 10px;
            color: #6F6F6F;
        }

        .info article div[data-column="2"] {
            display: -ms-grid;
            display: grid;
            -ms-grid-columns: 1fr 1fr;
            grid-template-columns: 1fr 1fr;
            gap: 10px 24px;
        }

        .info article h6 {
            font-weight: normal;
            font-size: 14px;
            line-height: 22px;
            color: #949494;
        }

        .info article ul li {
            font-weight: 500;
            font-size: 14px;
            line-height: 22px;
            color: #6F6F6F;
        }

.modal {
    --width: 24px;
    --height: auto;
    --padding: 38px 30px 56px;
    --m-width: 508px;
    --m-height: auto;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(46, 46, 46, 0.5);
    visibility: hidden;
    opacity: 0;
    z-index: -1;
}

.articles {
    background: #fff;
    font-size: 16px;
    line-height: 22px;
    box-shadow: 0px 1px 10px rgb(0 0 0 / 10%);
    padding: 36px 0;
}

    .articles img {
        display: block;
        margin: 20px auto;
        border-radius: 24px;
        box-shadow: 0px 1px 10px rgb(0 0 0 / 50%);
        width: 50%;
    }

    .articles article h1 {
        font-size: 36px;
        line-height: 43px;
    }

    .articles article h2 {
        text-align: center;
        font-size: 28px;
        line-height: 32px;
    }

    .articles article h3 {
        font-size: 21px;
        line-height: 24px;
        margin-bottom: 15px;
    }

    .articles article p {
        margin-bottom: 10px;
    }

    .articles article ul {
        margin-bottom: 10px;
    }

.article__button a.button {
    font-size: 21px;
    line-height: 32px;
    max-width: 60%;
    margin: 20px auto;
    display: block;
    box-sizing: border-box;
}

.modal.open {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
}

.modal .button {
    margin-top: 30px;
}

.modal__close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: var(--width);
    height: var(--width);
    border-radius: 10px;
    cursor: pointer;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

    .modal__close:hover {
        opacity: .7;
    }

    .modal__close::after, .modal__close::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: calc(var(--width)/10);
        background: #000;
        border-radius: 2px;
    }

    .modal__close::after {
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .modal__close::before {
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg);
    }

.modal-wrapper {
    position: relative;
    top: 40%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    max-width: var(--m-width);
    padding: var(--padding);
    background: #fff;
    -webkit-box-shadow: 0px 4px 10px rgba(58, 68, 99, 0.1);
    box-shadow: 0px 4px 10px rgba(58, 68, 99, 0.1);
    border: 1px solid #C0C0C0;
    border-radius: 2px;
    height: var(--height);
    max-height: var(--m-height);
    margin: auto;
    overflow: auto;
}

.modal-form {
    display: block;
}

    .modal-form input {
        width: 100%;
    }

.modal__title {
    font-weight: bold;
    font-size: 30px;
    line-height: 36px;
    text-align: left;
    color: #000000;
}

.modal__subtitle {
    margin-top: 10px;
    font-weight: bold;
    font-size: 18px;
    line-height: 21px;
    text-align: center;
}

.modal__button {
    margin: 0 auto;
    margin-top: 30px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

@media only screen and (min-width: 54.33333em) {
    .hidden--desktop {
        display: none;
        visibility: hidden;
    }
}

@media (max-width: 79.94444em) {
    .footer-logo > span {
        display: none;
    }
}

@media (max-width: 54.27778em) {
    .hidden--mobile {
        display: none;
        visibility: hidden;
    }

    h2 {
        font-size: 30px;
        line-height: 36px;
    }

    .desc {
        font-size: 14px;
        line-height: 17px;
    }

    .subtitle {
        font-size: 18px;
        line-height: 22px;
    }

    .header-logo > span, .footer-logo > span {
        display: none;
    }

    header-info, .header-info {
        color: #fff;
        text-align: right;
        padding-left: 10%;
    }

    header, .header {
        background: #546E7A;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    header-logo a span, .header-logo a span {
        color: #fff;
    }

    .articles img {
        width: 100%;
    }

    .article__button a.button {
        max-width: 100%;
    }

    .footer-top {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .footer-links a {
        display: block;
        margin-top: 33px;
    }

    .offers {
        margin-top: -20px;
        overflow: hidden;
    }

    .offers-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        -ms-grid-columns: inherit;
        grid-template-columns: inherit;
    }

    .offer {
        max-width: 90%;
    }

    .showcase {
        background: #F0F4FA;
        -webkit-transform: translateY(-1px);
        transform: translateY(-1px);
        /*padding-bottom: 40px;*/
        padding: 30px 15px 40px;
    }

        .showcase .container {
            padding: 0;
        }

        .showcase .container-pagination {
            padding: 0 15px;
            margin-top: 20px;
        }

            .showcase .container-pagination .swiper-pagination {
                position: relative;
                width: 100%;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                justify-content: space-between;
                padding: 5px;
                border: 1px solid #fff;
            }

                .showcase .container-pagination .swiper-pagination .swiper-pagination-bullet {
                    background: transparent;
                    width: 100%;
                    border-radius: 0;
                    -webkit-transition: all .2s ease-in-out;
                    transition: all .2s ease-in-out;
                }

                .showcase .container-pagination .swiper-pagination .swiper-pagination-bullet-active {
                    background: #fff;
                }

        .showcase .container h1 {
            padding: 0 15px;
            text-align: center;
            font-weight: bold;
            font-size: 32px;
            line-height: 40px;
            color: #fff;
        }

    form {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        gap: 25px;
    }

        form .button {
            padding: 10px 0;
            font-size: 18px;
            -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
            order: 1;
        }

        form .checkbox {
            -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
            order: 0;
        }

            form .checkbox label {
                font-size: 14px;
            }

                form .checkbox label a {
                    font-size: inherit;
                }

        form .choice span {
            font-size: 14px;
        }

        form .choice label {
            font-size: 14px;
        }

    .info {
        font-size: 12px;
        line-height: 20px;
    }

        .info h3 {
            font-size: 24px;
            line-height: 29px;
        }

        .info article div[data-column="2"] {
            -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
        }

    .modal-wrapper {
        --padding: 28px 20px 36px;
    }

    .modal__title {
        font-size: 20px;
        line-height: 22px;
    }
}

@media (min-width: 17.77778em) and (max-width: 26.61111em) {
    .showcase .container h1 {
        font-size: 26px;
        line-height: 20px;
    }
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
