:root {
    --statdog-color-blue              : #002f61;
    --statdog-color-blue-rgb          : 0, 47, 97;
    --statdog-color-green             : #33bb03;
    --statdog-color-green-rgb         : 51, 187, 3;
    --statdog-color-light-gray        : #f6f7fa;
    --statdog-color-light-gray-rgb    : 246, 247, 250;
    --statdog-color-light-green       : #f7fbfa;
    --statdog-color-light-green-rgb   : 247, 251, 250;
    --statdog-color-light-green-2     : #c5e3d7;
    --statdog-color-light-green-2-rgb : 197, 227, 215;
    --statdog-color-purple            : #1b103a;
    --statdog-color-purple-rgb        : 27, 16, 58;
    --statdog-color-white             : #fff;
    --statdog-color-white-rgb         : 255, 255, 255;
    --statdog-section-padding-y       : 1.875rem;
    --bs-body-color                   : var(--statdog-color-blue);
    --bs-body-color-rgb               : var(--statdog-color-blue-rgb);
    --bs-body-font-family             : "brother-1816", sans-serif;
    --bs-body-font-size               : 0.875rem;
    --bs-body-font-weight             : 300;
    --bs-box-shadow                   : rgba(25, 70, 107, 0.3) 0 0 6px;
    --bs-header-color                 : var(--statdog-color-purple);
    --bs-link-color                   : var(--statdog-color-green);
    --bs-link-color-rgb               : var(--statdog-color-green-rgb);
    --bs-link-hover-color             : var(--statdog-color-green-rgb);
    --bs-link-hover-color-rgb         : var(--statdog-color-green-rgb);
    --vw                              : 1vw;
    --vw-unit                         : 1vw;
    --vh                              : 1vh;
    --vh-unit                         : 1vh;
}

@media (min-width : 480px) {
    :root {
        --statdog-section-padding-y : 2.8125rem;
        --bs-body-font-size         : 1.125rem;
    }
}

@media (min-width : 576px) {
    :root {
        --statdog-section-padding-y : 3.5rem;
        --bs-body-font-size         : 1.375rem;
    }
}

@media (min-width : 768px) {
    :root {
        --statdog-section-padding-y : 3.75rem;
        --bs-body-font-size         : 1.5rem;
    }
}

@media (min-width : 992px) {
    :root {
        --statdog-section-padding-y : 4rem;
        --bs-body-font-size         : 1.125rem;
    }
}

@media (min-width : 1200px) {
    :root {
        --statdog-section-padding-y : 4rem;
        --bs-body-font-size         : 1.4375rem;
    }
}

@media (min-width : 1400px) {
    :root {
        --statdog-section-padding-y : 6rem;
        --bs-body-font-size         : 1.5rem;
    }
}

@media (min-width : 1600px) {
    :root {
        --statdog-section-padding-y : 6.25rem;
        --bs-body-font-size         : 1.6875rem;
    }
}

@media (min-width : 1920px) {
    :root {
        --bs-body-font-size : 2.25rem;
    }
}

body :last-child {
    margin-bottom : 0 !important;
}

a {
    text-decoration : none;
}

a:active,
a:focus,
a:hover {
    text-decoration : underline;
}

b, strong {
    font-weight : 500;
}

img {
    max-width : 100%;
    height    : auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-weight   : 500;
    line-height   : 1.25;
    margin-bottom : 0.5em;
}

h1,
.h1,
h2,
.h2 {
    font-size     : 1.375rem;
    margin-bottom : calc(5em / 9);
}

@media (min-width : 480px) {
    h1,
    .h1,
    h2,
    .h2 {
        font-size : 1.875rem;
    }
}

@media (min-width : 576px) {
    h1,
    .h1,
    h2,
    .h2 {
        font-size : 2.25rem;
    }
}

@media (min-width : 768px) {
    h1,
    .h1,
    h2,
    .h2 {
        font-size : 1.75rem;
    }
}

@media (min-width : 992px) {
    h1,
    .h1,
    h2,
    .h2 {
        margin-bottom : calc(32em / 52);
    }
}

@media (min-width : 1200px) {
    h1,
    .h1,
    h2,
    .h2 {
        font-size : 2rem;
    }
}

@media (min-width : 1400px) {
    h1,
    .h1,
    h2,
    .h2 {
        font-size : 2.25rem;
    }
}

@media (min-width : 1600px) {
    h1, .h1, h2, .h2 {
        font-size : 2.625rem;
    }
}

@media (min-width : 1920px) {
    h1, .h1, h2, .h2 {
        font-size : 3.25rem;
    }
}

blockquote {
    font-size       : 1.375rem;
    font-weight     : 500;
    line-height     : 1.25;
    max-width       : 26.25rem;
    margin-right    : auto;
    margin-left     : auto;
    padding         : 3.125rem 1.25rem;
    text-align      : center;
    color           : var(--statdog-color-purple);
    background      : var(--statdog-color-light-gray) url(../images/quote.svg) no-repeat 1.25rem 1.25rem;
    background-size : 2.125rem auto;
    box-shadow      : var(--bs-box-shadow);
}

@media (min-width : 480px) {
    blockquote {
        font-size       : 1.875rem;
        padding-top     : 4.6875rem;
        padding-bottom  : 4.6875rem;
        background-size : 3.125rem auto;
    }
}

@media (min-width : 576px) {
    blockquote {
        font-size       : 2rem;
        padding-top     : 5.75rem;
        padding-bottom  : 5.75rem;
        background-size : 3.875rem auto;
    }
}

@media (min-width : 768px) {
    blockquote {
        font-size       : 2.25rem;
        padding-top     : 6.25rem;
        padding-bottom  : 6.25rem;
        background-size : 4.25rem auto;
    }
}

@media (min-width : 992px) {
    blockquote {
        font-size           : 1.25rem;
        max-width           : 100%;
        margin              : 0;
        padding             : 2.25rem 1.75rem;
        background-position : 0.75rem 0.75rem;
        background-size     : 1.75rem auto;
    }
}

@media (min-width : 1200px) {
    blockquote {
        font-size           : 1.625rem;
        padding-top         : 3.375rem;
        padding-bottom      : 3.375rem;
        background-position : 1rem 1rem;
        background-size     : 2.4375rem auto;
    }
}

@media (min-width : 1400px) {
    blockquote {
        font-size           : 2rem;
        padding-top         : 5.0625rem;
        padding-bottom      : 5.0625rem;
        background-position : 1.25rem 1.25rem;
        background-size     : 3.6875rem;
    }
}

@media (min-width : 1600px) {
    blockquote {
        font-size           : 2.3125rem;
        padding-top         : 6.25rem;
        padding-bottom      : 6.25rem;
        background-position : 2rem 2rem;
        background-size     : 4.25rem auto;
    }
}

@media (min-width : 1920px) {
    blockquote {
        font-size : 2.75rem;
    }
}

p {
    margin-bottom : 1em;
}

form {
    max-width    : 30rem;
    margin-right : auto;
    margin-left  : auto;
    text-align   : start;
}

fieldset {
    display        : flex;
    flex-direction : column;
    row-gap        : 1rem;
}

label {
    display : block;
}

input:where([type=email], [type=tel], [type=text]),
textarea {
    width            : 100%;
    padding          : 0.5625rem 0.625rem;
    color            : var(--statdog-color-green);
    border           : 1px solid var(--statdog-color-light-green-2);
    border-radius    : 0.25rem;
    background-color : var(--statdog-color-light-green);
    box-shadow       : var(--bs-box-shadow);
}

input:where([type=email], [type=tel], [type=text])::placeholder,
textarea::placeholder {
    color : inherit;
}

textarea {
    min-height : 5.1875rem;
}

@media (min-width : 480px) {
    input:where([type=email], [type=tel], [type=text]),
    textarea {
        padding : 0.875rem 0.9375rem;
    }

    textarea {
        min-height : 5.875rem;
    }
}

@media (min-width : 576px) {
    input:where([type=email], [type=tel], [type=text]),
    textarea {
        padding : 1rem 1.125rem;
    }

    textarea {
        min-height : 8.3125rem;
    }
}

@media (min-width : 768px) {
    input:where([type=email], [type=tel], [type=text]),
    textarea {
        padding : 1.125rem 1.25rem;
    }

    textarea {
        min-height : 9.125rem;
    }
}

@media (min-width : 992px) {
    form {
        max-width : 100%;
    }

    fieldset {
        display               : grid;
        gap                   : 2rem 1rem;
        grid-template-columns : repeat(2, 1fr);
    }

    textarea {
        min-height : 7.4375rem;
    }
}

@media (min-width : 1200px) {
    textarea {
        min-height : 8.9375rem;
    }
}

@media (min-width : 1400px) {
    textarea {
        min-height : 9.125rem;
    }
}

@media (min-width : 1600px) {
    textarea {
        min-height : 10.0625rem;
    }
}

@media (min-width : 1920px) {
    textarea {
        min-height : 12.5rem;
    }
}

.container {
    --bs-gutter-x : 2rem;
}

@media (min-width : 480px) {
    .container {
        padding : 0;
    }
}

/*noinspection CssNonIntegerLengthInPixels*/
@media (min-width : 480px) and (max-width : 575.98px) {
    .container {
        max-width : 450px;
        padding   : 0;
    }
}

@media (min-width : 992px) {
    .container {
        max-width : 820px;
    }
}

@media (min-width : 1200px) {
    .container {
        max-width : 992px;
    }
}

@media (min-width : 1400px) {
    .container {
        max-width : 1156px;
    }
}

@media (min-width : 1600px) {
    .container {
        max-width : 1322px;
    }
}

@media (min-width : 1920px) {
    .container {
        max-width : 1586px;
    }
}

.section {
    padding-top    : var(--statdog-section-padding-y) !important;
    padding-bottom : var(--statdog-section-padding-y) !important;
}

.bg-color-blue {
    background-color : var(--statdog-color-blue) !important;
}

.bg-color-green {
    background-color : var(--statdog-color-green) !important;
}

.bg-color-light-gray {
    background-color : var(--statdog-color-light-gray) !important;
}

.bg-color-light-green {
    background-color : var(--statdog-color-light-green) !important;
}

.bg-color-light-green-2 {
    background-color : var(--statdog-color-light-green-2) !important;
}

.bg-color-purple {
    background-color : var(--statdog-color-purple) !important;
}

.bg-color-white {
    background-color : var(--statdog-color-white) !important;
}

.color-blue {
    color : var(--statdog-color-blue) !important;
}

.color-green {
    color : var(--statdog-color-green) !important;
}

.color-light-gray {
    color : var(--statdog-color-light-gray) !important;
}

.color-light-green {
    color : var(--statdog-color-light-green) !important;
}

.color-light-green-2 {
    color : var(--statdog-color-light-green-2) !important;
}

.color-purple {
    color : var(--statdog-color-purple) !important;
}

.color-white {
    color : var(--statdog-color-white) !important;
}

.button {
    padding                    : 0.375rem 0.9375rem;
    transition-timing-function : ease-in-out;
    transition-duration        : 0.3s;
    transition-property        : background-color, color;
    color                      : var(--statdog-color-white);
    border                     : 1px solid var(--statdog-color-green);
    border-radius              : 0.25rem;
    background-color           : var(--statdog-color-green);
    -webkit-appearance         : none;
    appearance                 : none;
    will-change                : background-color, color;
}

.button:active,
.button:focus,
.button:hover {
    text-decoration  : none;
    color            : var(--statdog-color-green);
    background-color : var(--statdog-color-white);
}

@media (min-width : 480px) {
    .button {
        padding : 0.5625rem 1.375rem;
    }
}

@media (min-width : 576px) {
    .button {
        padding : 0.625rem 1.75rem;
    }
}

@media (min-width : 768px) {
    .button {
        padding : 0.75rem 1.875rem;
    }
}

@media (min-width : 992px) {
    .button {
        padding : 1rem 2.75rem;
    }
}

.grecaptcha-badge {
    position    : fixed !important;
    overflow    : hidden !important;
    clip        : rect(0, 0, 0, 0) !important;
    width       : 1px !important;
    height      : 1px !important;
    margin      : -1px !important;
    padding     : 0 !important;
    white-space : nowrap !important;
    border      : 0 !important;
}

.grecaptcha-badge * {
    overflow : hidden !important;
}

.site-header__top::after {
    display         : block;
    width           : 100%;
    content         : "";
    background      : url(../images/blue-curve.svg) no-repeat center bottom;
    background-size : cover;
    aspect-ratio    : 720 / 66;
}

.site-header__top-inner {
    padding          : 1.25rem 0 0;
    background-color : var(--statdog-color-blue);
}

.site-header__top-inner,
.site-header__top-inner *:not(a, b, strong, .button) {
    color : var(--statdog-color-white);
}

.site-header__logo {
    margin-bottom : 1rem;
}

.site-header__text {
    position      : relative;
    z-index       : 4;
    margin-bottom : 1.5rem;
}

.site-header__text b,
.site-header__text strong {
    color : var(--statdog-color-green);
}

.site-header__images {
    position       : relative;
    overflow       : visible;
    height         : 0;
    padding-bottom : 107%;
}

.site-header__images img {
    position : absolute;
    z-index  : 2;
    top      : 0;
    left     : 0;
    width    : 100%;
    height   : auto;
}

.site-header__bottom {
    margin-top : 10%;
    padding    : 1.5rem 0 1.125rem;
}

.site-header__addtl-text {
    display               : grid;
    grid-template-columns : auto 12%;
    column-gap            : 1rem;
}

.site-header__addtl-text-arrow {
    transform : translateY(-35%);
}

@media (min-width : 480px) {
    .site-header__top-inner {
        padding-top : 1.875rem;
    }

    .site-header__logo {
        margin-bottom : 1.5rem;
    }

    .site-header__text {
        margin-bottom : 2.25rem;
    }

    .site-header__bottom {
        padding-top    : 2.25rem;
        padding-bottom : 1.5rem;
    }
}

@media (min-width : 576px) {
    .site-header__top-inner {
        padding-top : 2.25rem;
    }

    .site-header__logo {
        margin-bottom : 1.75rem;
    }

    .site-header__text {
        margin-bottom : 2.75rem;
    }

    .site-header__bottom {
        padding-top    : 2.75rem;
        padding-bottom : 2rem;
    }
}

@media (min-width : 768px) {
    .site-header__top-inner {
        padding-top : 2.5rem;
    }

    .site-header__logo {
        margin-bottom : 2rem;
    }

    .site-header__text {
        margin-bottom : 3rem;
    }

    .site-header__bottom {
        padding-top    : 3rem;
        padding-bottom : 2.25rem;
    }
}

@media (min-width : 992px) {
    .site-header__top::after {
        position         : relative;
        z-index          : 1;
        margin-top       : calc(-173 * (100 * var(--vw-unit)) / 1920);
        background-color : var(--statdog-color-white);
        aspect-ratio     : 1920 / 173;
    }

    .site-header__top-inner {
        padding-top    : 3.75rem;
        padding-bottom : 6.5rem;
    }

    .site-header__grid {
        display               : grid;
        column-gap            : 4.0625rem;
        grid-template-columns : auto calc(100% * 660 / 1586);
    }

    .site-header__grid > :last-child {
        position        : relative;
        z-index         : 2;
        top             : 6.5rem;
        display         : flex;
        flex-direction  : column;
        justify-content : flex-end;
    }

    .site-header__images {
        height         : auto;
        padding-bottom : 0;
    }

    .site-header__images img {
        position : static;
    }

    .site-header__bottom {
        margin  : 0;
        padding : 1.375rem 0 4.25rem;
    }

    .site-header__bottom > .container {
        position : relative;
    }

    .site-header__addtl-text {
        display     : block;
        max-width   : 52.8125rem;
        margin-left : auto;
    }

    .site-header__addtl-text-arrow {
        position  : absolute;
        z-index   : 3;
        top       : 0;
        right     : 0;
        max-width : 4.375rem;
        transform : translate(calc(100% * 2 / 3), -50%);
    }
}

@media (min-width : 1200px) {
    .site-header__top-inner {
        padding-bottom : 8.375rem;
    }

    .site-header__grid > :last-child {
        top : 8.375rem;
    }
}

@media (min-width : 1400px) {
    .site-header__top-inner {
        padding-top    : 5rem;
        padding-bottom : 5.5rem;
    }

    .site-header__grid {
        column-gap : 8.125rem;
    }

    .site-header__grid > :last-child {
        top : 5.5rem;
    }

    .site-header__addtl-text-arrow {
        max-width : 8.8125rem;
    }
}

@media (min-width : 1600px) {
    .site-header__top-inner {
        padding-bottom : 0;
    }

    .site-header__grid {
        column-gap : 9.875rem;
    }

    .site-header__grid > :last-child {
        top : 0;
    }
}

.site-footer {
    font-size : 0.75rem;
}

.site-footer::before {
    display         : block;
    width           : 100%;
    content         : "";
    background      : url(../images/footer-blue-curve.svg) no-repeat center top;
    background-size : cover;
    aspect-ratio    : 720 / 85;
}

.site-footer__inner {
    padding : 0 0 1.25rem;
}

.site-footer__copyright-logo {
    display               : grid;
    align-items           : end;
    grid-template-columns : auto 4.1875rem;
    column-gap            : 1rem;
}

@media (min-width : 480px) {
    .site-footer {
        font-size : 1rem;
    }

    .site-footer__inner {
        padding-bottom : 1.875rem;
    }

    .site-footer__copyright-logo {
        column-gap            : 1.5rem;
        grid-template-columns : auto 6.1875rem;
    }
}

@media (min-width : 576px) {
    .site-footer {
        font-size : 1.125rem;
    }

    .site-footer__inner {
        padding-bottom : 2.25rem;
    }

    .site-footer__copyright-logo {
        column-gap            : 2.25rem;
        grid-template-columns : auto 7.5rem;
    }
}

@media (min-width : 768px) {
    .site-footer {
        font-size : var(--bs-body-font-size);
    }

    .site-footer__inner {
        padding-bottom : 2.5rem;
    }

    .site-footer__copyright-logo {
        column-gap : 2.5rem;
    }
}

@media (min-width : 992px) {
    .site-footer__inner {
        padding-bottom : 2.25rem;
    }

    .site-footer__copyright-logo {
        grid-template-columns : auto 7.8125rem;
    }

    .site-footer__copyright br {
        display : none;
    }

    .site-footer__logo {
        overflow   : visible;
        max-height : 3.9375rem;
    }

    .site-footer__logo img {
        margin-top : -3.9375rem;
    }
}

@media (min-width : 1200px) {
    .site-footer {
        font-size : 1.375rem;
    }

    .site-footer__copyright-logo {
        grid-template-columns : auto 9.375rem;
    }

    .site-footer__logo {
        max-height : 4.6875rem;
    }

    .site-footer__logo img {
        margin-top : -4.6875rem;
    }
}

@media (min-width : 1400px) {
    .site-footer {
        font-size : var(--bs-body-font-size);
    }

    .site-footer__copyright-logo {
        grid-template-columns : auto 13.5rem;
    }

    .site-footer__logo {
        max-height : 6.75rem;
    }

    .site-footer__logo img {
        margin-top : -6.75rem;
    }
}

@media (min-width : 992px) {
    .simple > .container {
        position : relative;
    }

    .simple__grid {
        display               : grid;
        align-items           : center;
        column-gap            : 3.625rem;
        grid-template-columns : calc(100% * 420 / 1586) auto;
    }

    .simple__grid-img {
        position : absolute;
        top      : calc(-1 * var(--statdog-section-padding-y) - 21%);
        width    : calc(100% * 420 / 1586);
    }

    .simple__grid-img img {
        width : 100%;
    }

    .simple__grid-text {
        grid-column : 2 / 3;
    }
}

.results__quotes {
    display        : flex;
    flex-direction : column;
    margin-bottom  : 1.125rem;
    row-gap        : 1rem;
}

@media (min-width : 480px) {
    .results__quotes {
        margin-bottom : 1.5rem;
        row-gap       : 1.5rem;
    }
}

@media (min-width : 576px) {
    .results__quotes {
        margin-bottom : 1.875rem;
        row-gap       : 1.875rem;
    }
}

@media (min-width : 768px) {
    .results__quotes {
        margin-bottom : 2.25rem;
        row-gap       : 2.25rem;
    }
}

@media (min-width : 992px) {
    .results__quotes {
        display               : grid;
        column-gap            : 1.75rem;
        grid-template-columns : repeat(3, 1fr);
    }

    .results__quotes > * {
        display        : flex;
        flex-direction : column;
    }

    .results__quotes > * > blockquote {
        flex : 1;
    }
}

@media (min-width : 1200px) {
    .results__quotes {
        column-gap : 2.1875rem;
    }
}

@media (min-width : 1400px) {
    .results__quotes {
        column-gap : 1.9375rem;
    }
}

@media (min-width : 1600px) {
    .results__quotes {
        column-gap : 2.5625rem;
    }
}

@media (min-width : 1920px) {
    .results__quotes {
        column-gap : 4.1875rem;
    }
}

.preview__inner {
    padding : 1.125rem;
}

.preview__descr {
    margin-bottom : 1em;
}

@media (min-width : 480px) {
    .preview__inner {
        padding : 1.6875rem;
    }
}

@media (min-width : 576px) {
    .preview__inner {
        padding : 2rem;
    }
}

@media (min-width : 768px) {
    .preview__inner {
        padding : 2.25rem;
    }
}

@media (min-width : 992px) {
    .preview__descr {
        max-width : 74rem;
        margin    : 0 auto 2.8125rem;
    }

    .preview__form-tel,
    .preview__form-comments,
    .preview__form-submit {
        grid-column : span 2;
    }
}
