:root {
    --root-font-size: 10px;

    --common-transition: all 0.2s ease-out 0.01s;
    --common-shadow: 0 2px 5px rgba(150, 148, 179, 0.46);

    --outer-offset: 7rem;
    --outer-offset-fix: -7rem;

    --horizontal-offset: 11rem;
    --horizontal-offset-fix: -11rem;

    --huge-gap: 6rem;
    --huge-gap-fix: -6rem;

    --big-gap: 4rem;
    --big-gap-fix: -4rem;

    --normal-gap: 3rem;
    --normal-gap-fix: -3rem;

    --small-gap: 2rem;
    --small-gap-fix: -2rem;

    --tiny-gap: 1.4rem;
    --tiny-gap-fix: -1.4rem;

    --font-main: 500 1.5rem/2.6rem Montserrat;
    --font-main-color: #3D4153;

    --active-color: #CC3500;

    --font-h1: 500 4.2rem/4.8rem Montserrat;
    --font-h2: 500 3rem/3.6rem Montserrat;
    --font-h3: 700 2.1rem/3rem Montserrat;
    --font-h4: 700 1.5rem/2.6rem Montserrat;
}

script {
    display: none !important;
}

html {
    height: 100%;
    font-size: var(--root-font-size);
}

*, *:before, *:after {
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
    text-decoration: none;
    background: none;
    font-weight: inherit;
    color: inherit;
    border-collapse: collapse;
    box-sizing: border-box;
}

body {
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    min-height: 100%;

    background-color : #ffffff;

    font: var(--font-main);
    color : var(--font-main-color);
}
textarea {
    resize : none;
}
table {
    vertical-align: top;
}
sub {
    vertical-align: sub;
}
sup {
    vertical-align: super;
}
b, strong {
    font-weight : bold;
}

a, a:before, a:after {
    cursor: pointer;
    color: inherit;
    text-decoration: none;
    transition: var(--common-transition);
}
a:hover {
    text-decoration : none;
}
a.orange-link {
    color: var(--active-color);
}

button, input[type="button"], input[type="submit"] {
    cursor : pointer;
    transition : var(--common-transition);
}

.animated {
    transition : var(--common-transition);
}

.uppercase {
    text-transform: uppercase;
}

.d-flex {
    display: flex;
}

.float_l {float : left;}
.float_r {float : right;}
.float_n {float : none;}

.overflow_h {overflow : hidden;}

.clear_l {clear : left;}
.clear_r {clear : right;}
.clear_b {clear : both;}

.align_t {vertical-align : top;}
.align_m {vertical-align : middle;}
.align_b {vertical-align : bottom;}

.align_l {text-align : left;}
.align_r {text-align : right;}
.align_c {text-align : center;}
.align_j {text-align : justify; cursor : default;}
.align_j:after {
    content: "";
    display : inline-block;
    width : 100%;
    height : 0;
    overflow : hidden;
    line-height : 0;
}

.hidden {
    display: none;
}
.clear {
    clear: both;
}
.bold, .strong {
    font-weight: bold;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.h1 {
    display: block;
    font: var(--font-h1);
}

.h1_article_title {
    font: 500 3rem/3.7rem Montserrat;;
}

.h1-tha-focus {
    font: 600 4.5rem/4.5rem HelveticaNeue;
    color: var(--active-color);
}

.h2 {
    display: block;
    font: var(--font-h2);
}

.h3 {
    display: block;
    font: var(--font-h3);
}

.h4 {
    display: block;
    font: var(--font-h4);
}

.h2 + * {
    margin-top: 2rem !important;
}

.h3 + * {
    margin-top: 2rem !important;
}

.h4 + * {
    margin-top: 2rem !important;
}

.main-text {
    display: block;
    font: var(--font-main);
}

.main-text > * + * {
    margin-top: 1.4rem;
}

.super-arrow {
    display: inline-block;
}
* + .super-arrow:before {
    content: '\a0';
}
.super-arrow-left { transform: rotate(180deg); }
.super-arrow:after {
    content: '\a0';
    display: inline-block;
    width: 3.6rem;
    background: url('/i/super-arrow-d.svg') no-repeat center / contain;
}
.super-arrow-white:after {
    background-image: url('/i/super-arrow.svg')
}

.super-arrow-orange:after {
    background-image: url('/i/super-arrow-orange.svg')
}
.fixed-width {
    width: 100%;
    max-width: 144rem;
    margin: 0 auto;
    padding: 0 var(--horizontal-offset);
}
.fixed-width_tha_h1 {
    max-width: 104rem;
    margin: 0 auto;
    padding-left: 11rem;
}
.fixed-width_tha_btn {
    max-width: 40rem;
    margin: 0 auto;
    padding-right: 11rem;
}

.body {
    margin-bottom: auto;
    padding: var(--outer-offset) 0;
}

.body > * + * {
    margin-top: var(--big-gap) !important;
}

.common-columns {
    display: flex;
    flex-flow: row nowrap;
}

.common-columns > * {
    width: 100%;
}

.common-columns > * + * {
    margin-left: 7rem;
}

.column-380 {
    flex-shrink: 0;
    flex-grow: 0;
    width: 38rem;
}

.column-350 {
    flex-shrink: 0;
    flex-grow: 0;
    width: 35rem;
}

.common-rows > * + * {
    margin-top: 4rem;
}

.gray-zone {
    background: #F5F5F5;
}

.gray-zone-main {
    padding: 5rem 0;
}

.gray-zone-narrow {
    padding: 1.2rem 0;
}

.gray-zone-padded {
    padding: 2rem 3rem;
}

.body > .gray-zone:last-child {
    margin-bottom: var(--outer-offset-fix);
}

.columned-titles {
    column-count: 4;
    column-gap: var(--small-gap);
}

.columned-titles > * + * {
    margin-top: 1.2rem;
}

.columned-titles > * > a {
    display: inline-block;
    font: 500 1.5rem/2.6rem Montserrat;
    color: #3D4153;
}

.columned-titles > * > a:hover {
    color: var(--active-color);
}

.btns {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
}

.btn {
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;

    min-width: 20rem;
    height: 5rem;

    border: 1px solid transparent;

    background-color: var(--active-color);

    font: 700 1.1rem/1.7rem Montserrat;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #FFFFFF;
}
a.btn { width: min-content; }

.btn + .btn {
    margin-left: 5rem;
}

.btn-light {
    border-color: #7D79AD;
    background-color: #ffffff;
    color: #6863A7;
}
.btn-white:not(:hover) {
    border-color: var(--active-color);
    background-color: #FFFFFF;
    color: var(--active-color);
}

.btn.selected {
    background-color: #6863A7;
    color: #FFFFFF;
}

.form-row {
    display: flex;
    flex-flow: row nowrap;
}

.form-row + .form-row {
    margin-top: 3rem;
}

.form-cell {
    display: flex;
    flex-flow: column;
    width: 100%;
}
.form-cell > span:first-child {
    margin-bottom: 1rem;
    font: 1.1rem/1.7rem Montserrat;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #3D4153;
    opacity: 0.65;
}

.form-cell + .form-cell {
    margin-left: 2.5rem;
}

.form-loading {
    position: fixed;
    display: none;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    margin-top: 0;
    background: rgba(0, 0, 0, .2) url('/i/search_loader.gif') no-repeat center;
}

.input {
    width: 100%;
    min-height: 5rem;
    padding: 0 2rem;

    background: #F5F5F5;

    font: 500 1.5rem/2.6rem Montserrat;
    color: #3D4153;
}

.input-error {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.7rem;
    letter-spacing: 0.02em;
    color: #E72F2F;
}

*:not(.invalid) + .input-error {
    display: none;
}

.comment-font {
    font: 500 1.1rem/1.7rem Montserrat;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.checkbox-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.checkbox-wrapper input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    height: 2rem;
    width: 2rem;
    border: 1px solid #CBC9DE;
    margin-right: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.checkmark:after {
    content: "";
    display: none;

}

.checkbox-wrapper input:checked ~ .checkmark:after {
    display: block;
}

.checkbox-wrapper .checkmark:after {
    background: url("/i/check.svg") no-repeat center / cover;
    height: 1.2rem;
    width: 1.4rem;
}

:focus {
    outline: none;
    box-shadow: 0 0 0 0.3rem hsla(220, 100%, 50%, 80%) !important;
}

@media (max-width: 1439px) {
    :root {
        --horizontal-offset: 2rem;
        --horizontal-offset-fix: -2rem;
    }

    .big-tablet-mono-column {
        flex-flow: column nowrap;
        align-items: stretch;
    }

    .big-tablet-mono-column > * + * {
        margin-left: 0 !important;
        margin-top: var(--normal-gap) !important;
    }

    .columned-titles {
        column-count: 3;
    }
}

@media (max-width: 1023px) {
    .tablet-mono-column {
        flex-flow: column nowrap;
        align-items: stretch;
    }

    .tablet-mono-column > * + * {
        margin-left: 0 !important;
        margin-top: var(--normal-gap) !important;
    }

    .columned-titles {
        column-count: 2;
    }
}

@media (min-width: 768px) {
    .left-burger {
        float: right;
        display: block;
        width: 2.5rem;
        height: 1.6rem;
        margin-top: -2rem !important;
        background: url('/i/icon-burger-alt.svg') no-repeat center / contain;
    }

    .left-burger + * {
        margin-top: 2rem !important;
    }

    .column-hidden {
        width: 0!important;
        height: 0!important;
    }

    .column-hidden > *:not(.left-burger) {
        overflow: hidden;
    }

    .column-hidden > .left-burger {
        margin-right: -2.5rem;
        transform: rotate(180deg);
    }

}

@media (max-width: 767px) {
    :root {
        --root-font-size: 2.6666vw;

        --huge-gap: 3rem;
        --huge-gap-fix: -3rem;

        --big-gap: 1.7rem;
        --big-gap-fix: -1.7rem;

        --normal-gap: 1.5rem;
        --normal-gap-fix: -1.5rem;

        --small-gap: .5rem;
        --small-gap-fix: -.5rem;

        --tiny-gap: 1.4rem;
        --tiny-gap-fix: -1.4rem;

        --font-h1: 500 2.1rem/3.5rem Montserrat;
        --font-h2: 500 2.1rem/3.5rem Montserrat;
        --font-h3: 700 1.6rem/2.4rem Montserrat;
        --font-h4: 700 1.3rem/2rem Montserrat;
        --font-main: 500 1.3rem/2rem Montserrat;
    }

    .h1_article_title {
        font: 500 2rem/3rem Montserrat;
    }

    .h2 + * {
        margin-top: 2rem !important;
    }

    .h2 + * {
        margin-top: 1.5rem !important;
    }

    .h3 + * {
        margin-top: 1rem !important;
    }

    .h4 + * {
        margin-top: 1rem !important;
    }

    .main-text > * + * {
        margin-top: 1rem;
    }

    .mobile-hidden {
        display: none !important;
    }

    .mobile-mono-column {
        flex-flow: column nowrap;
        align-items: stretch;
    }

    .mobile-mono-column > * + * {
        margin-left: 0 !important;
        margin-top: var(--big-gap) !important;
    }

    .mobile-full-width {
        margin-left: var(--horizontal-offset-fix) !important;
        margin-right: var(--horizontal-offset-fix) !important;
    }

    .fixed-width {
        max-width: none;
    }
    .fixed-width_tha_h1 {
        max-width: none;
        padding-left: 0;
    }
    .fixed-width_tha_btn {
        padding-right: 0;
    }

    .common-columns {
        display: flex;
        flex-flow: column;
    }

    .common-columns > * + * {
        margin-left: 0;
        margin-top: 2rem;
    }

    .column-380 {
        width: auto;
    }

    .column-350 {
        width: auto;
    }

    .common-rows > * + * {
        margin-top: 2rem;
    }

    .left-burger {
        display: none;
    }

    .columned-titles {
        column-count: 1;
    }

    .gray-zone-main {
        padding: 2rem 0;
    }

    .fixed-width_tha_btn .btn {
        min-width: 25rem;
        height: 5rem;
        text-align: center
    }
    .btn {
        min-width: 15rem;
        height: 5rem;
        text-align: center
    }

    .btn + .btn {
        margin-left: .5rem;
    }

    .h1-tha-focus {
        font: 600 2.5rem/3rem HelveticaNeue;
    }
}
