﻿@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

:root {
    --color-light: #FFFFFF;
    --color-primary: #174860;
    --color-secondary: #3DAFCA;
    --color-gray: #868686;
    --color-danger: #e53939;
    --border-width: 1px;
    --border-style: solid;
    --border-color-primary: var(--color-primary);
    --border-color-secondary: var(--color-secondary);
    --box-shadow-s: 1px 1px 10px 1px rgba(0 0 0 / .15);
    --font-family: 'Poppins', sans-serif;
    --font-size-s: 14px;
    --font-size-r: 16px;
    --font-size-m: 18px;
    --font-size-l: 20px;
    --font-size-xl: 24px;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column wrap;
    flex-flow: column wrap;
    font-family: var(--font-family);
    font-size: var(--font-size-r);
    color: var(--color-primary);
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
}

h3 {
    font-size: calc(1.275rem + .3vw);
    font-weight: 500;
}

main {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 100%;
    font-family: var(--font-family);
}

footer {
    --col-count: 3;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns:;
    grid-template-columns: repeat(var(--col-count), 1fr);
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    gap: 32px;
    width: 100%;
    font-family: var(--font-family);
    text-align: center;
    -webkit-margin-after: 32px;
    margin-block-end: 32px;
    width: calc(min(100% - 64px, 1600px));
    margin-inline: auto;
}

    footer small {
        display: block;
        -webkit-margin-after: 16px;
        margin-block-end: 16px;
    }

    footer a {
        color: inherit;
        font-size: .875em;
    }

    footer a.logos {
        display: flex;
        gap: 2em;
    }

p {
    margin: 0;
    margin-bottom: 0 !important;
}

img {
    max-width: 50%;
    height: auto;
}

@media (max-width: 820px) {
    footer {
        --col-count: 1;
    }
}

/* cookie */
.dotvvm-contrib-cookie-bar__footer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}

/* container */
.container-s {
    width: calc(min(100% - 64px, 820px));
    margin-inline: auto;
}

.container-m {
    width: calc(min(100% - 64px, 1200px));
    margin-inline: auto;
}

.container-wide {
    width: calc(min(100% - 64px, 1600px));
    margin-inline: auto;
}

@media (max-width: 425px) {
    .container-s {
        width: calc(min(100% - 32px, 820px));
        margin-inline: auto;
    }

    .container-m {
        width: calc(min(100% - 32px, 1200px));
    }

    .container-wide {
        width: calc(min(100% - 32px, 1600px));
    }
}

/* navigation */
.navigation {
    -webkit-margin-before: 16px;
    margin-block-start: 16px;
    -webkit-margin-after: 32px;
    margin-block-end: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: calc(min(100% - 64px, 1600px));
    margin-inline: auto;
    gap: 2dvi;
}

.navigation__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 2dvi;
}

@media (max-width: 425px) {
    .navigation {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

/* chat */
.chat {
    position: relative;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 8fr 5fr;
    grid-template-columns: 8fr 5fr;
    -webkit-margin-after: 24px;
    margin-block-end: 24px;
}

.chat--media-container {
    position: relative;
}

.chat video,
#lottie {
    position: absolute;
    top: -10%;
    left: -33%;
    -webkit-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
    max-width: 600px;
    height: auto;
}

.chat img {
    position: absolute;
    top: -1%;
    left: -15%;
    -webkit-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
    max-width: 500px;
    height: auto;
}

.message {
    position: relative;
    padding-block: 24px;
    -webkit-padding-start: 32px;
    padding-inline-start: 32px;
    -webkit-padding-end: 40px;
    padding-inline-end: 40px;
    -webkit-margin-after: 40px;
    margin-block-end: 40px;
    border-radius: 32px;
    color: var(--color-light);
    font-size: clamp(1rem, 0.96rem + 0.1708vw, 1.125rem);
}

    .message a {
        color: inherit;
    }

.message--primary p {
    opacity: 0;
    -webkit-animation: fadeUp 0.6s linear forwards;
    animation: fadeUp 0.6s linear forwards;
}

.message--secondary p {
    opacity: 0;
    -webkit-animation: .6s fadeUp 0.3s linear forwards;
    animation: .6s fadeUp 0.3s linear forwards;
}

.message--primary {
    background-color: var(--color-primary);
}

.message--secondary {
    background-color: var(--color-secondary);
}

.triangle {
    display: block;
    height: 35px;
    width: 35px;
    background-color: inherit;
    border: inherit;
    position: absolute;
    bottom: -13px;
    left: calc(80% - 10px);
    -webkit-clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
    -webkit-transform: skew(-14deg, -14deg);
    -ms-transform: skew(-14deg, -14deg);
    transform: skew(-14deg, -14deg);
    rotate: -45deg;
    border-radius: 0 0 0 0.6em;
}

@media (max-width: 1024px) {
    .chat video,
    #lottie {
        top: 0%;
        left: -33%;
        max-width: 500px;
    }

    .chat img {
        top: 8%;
        left: -15%;
        max-width: 400px;
    }
}

@media (max-width: 820px) {
    .chat {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

        .chat video,
        .chat img,
        #lottie {
            display: none;
        }

    .message {
        padding-inline: 32px;
    }
}

@media (max-width: 425px) {
    .message {
        padding-block: 16px;
        padding-inline: 16px;
        border-radius: 18px;
    }
}

@-webkit-keyframes fadeUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50%);
        transform: translateY(50%);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50%);
        transform: translateY(50%);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* register */
.register {
    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;
    gap: 32px;
    -webkit-margin-after: 40px;
    margin-block-end: 40px;
}

    .register span {
        position: absolute;
        top: 0;
        line-height: 0;
        font-size: clamp(7rem, -2rem + 18vw, 15.6rem);
        margin: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        color: white;
        text-shadow: -1px 0 #3DAFCA, 0 1px #3DAFCA, 1px 0 #3DAFCA, 0 -1px #3DAFCA;
        opacity: .6;
        z-index: -1;
    }

    .register p {
        font-size: clamp(1rem, 0.96rem + 0.1708vw, 1.125rem);
        font-weight: 500;
    }

    .register .register__content {
        background-color: #ffffffab;
        border-radius: 8px;
        padding: 6px;
        text-align: center;
        max-inline-size: 600px;
    }

    .register .register__signin {
        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-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: relative;
        inline-size: 100%;
        max-inline-size: 600px;
    }

@media (max-width: 1024px) {
    .register {
        -webkit-margin-after: 32px;
        margin-block-end: 32px;
    }
}

@media (max-width: 768px) {
    .register span {
        display: none;
    }
}

/*pager*/
.pager {
    padding-left: 0;
    -webkit-margin-before: 16px;
    margin-block-start: 16px;
    -webkit-margin-after: 0;
    margin-block-end: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

    .pager li {
        display: inline;
        margin: 0 0 0 -1px;
    }

        .pager li:first-child > a,
        .pager li:first-child > span {
            border-top-left-radius: 8px;
            border-bottom-left-radius: 8px;
        }

        .pager li:last-child > a,
        .pager li:last-child > span {
            border-top-right-radius: 8px;
            border-bottom-right-radius: 8px;
        }

        .pager li > a,
        .pager li > span {
            display: inline-block;
            padding: 5px 14px;
            background-color: #fff;
            border: 1px solid #ddd;
            color: var(--color-primary);
        }

        .pager li.active > a,
        .pager li.active > span {
            color: var(--color-secondary);
        }

    .pager a {
        text-decoration: none;
        background-color: #eee;
    }

/* fieldset */
fieldset {
    padding-inline: 16px;
    padding-block: 16px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
}

legend {
    font-size: calc(1.275rem + .3vw);
    font-weight: 500;
}

/* dropdown */
.dropdown .btn {
    -webkit-box-shadow: var(--box-shadow-s);
    box-shadow: var(--box-shadow-s);
}

.dropdown-item.active, .dropdown-item:active {
    --bs-dropdown-link-active-bg: var(--color-light);
    --bs-dropdown-link-active-color: var(--color-primary);
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: var(--bs-dropdown-link-active-bg);
}

.dropdown li.active a {
    color: var(--color-secondary);
}

/* link */
.link {
    position: relative;
    font-family: var(--font-family);
    color: var(--color-primary);
    text-decoration: none;
}

    .link:after {
        background: none repeat scroll 0 0 transparent;
        bottom: 0;
        content: "";
        display: block;
        height: 1px;
        left: 50%;
        position: absolute;
        background: var(--color-secondary);
        -webkit-transition: width 0.3s ease 0s, left 0.3s ease 0s;
        -o-transition: width 0.3s ease 0s, left 0.3s ease 0s;
        transition: width 0.3s ease 0s, left 0.3s ease 0s;
        width: 0;
    }


    .link.active {
        color: var(--color-secondary);
    }

@media (hover: hover) {
    .link:hover {
        color: var(--color-secondary);
    }

        .link:hover:after {
            width: 100%;
            left: 0;
        }
}

/* route-link */
.route-link {
    --rl-color: var(--color-primary);
    --rl-font-family: var(--font-family);
    font-family: var(--rl-font-family);
    color: var( --rl-color);
}

@media (hover: hover) {
    .route-link:hover {
        --rl-color: var(--color-secondary);
    }
}

/* check-box*/
.check-box {
    font-size: 14px;
}

/* text-box */
.text-box {
    --tb-border-radius: 8px;
    --tb-pad-block: 12px;
    --tb-font-family: var(--font-family);
    --tb-inline-size: 100%;
    --tb-border-color: var(--color-primary);
    --tb-box-shadow: var(--box-shadow-s);
    --tb-padding: 12px;
    --tb-font-size: var(--font-size-s);
    font-family: var(--tb-font-family);
    font-size: var(--tb-font-size);
    -webkit-box-shadow: var(--tb-box-shadow);
    box-shadow: var(--tb-box-shadow);
    border: var(--border-width) var(--border-style) var(--tb-border-color);
    border-radius: var(--tb-border-radius);
    inline-size: var(--tb-inline-size);
    padding: var(--tb-padding);
}

    .text-box:focus {
        color: var(--bs-body-color);
        background-color: var(--bs-form-control-bg);
        border-color: #86b7fe;
        outline: 0;
        -webkit-box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
        box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
    }

    .text-box.is-invalid {
        --tb-border-color: var(--color-danger);
        --tb-box-shadow: var(--box-shadow-s);
    }

    .text-box[disabled] {
        background-color: var(--bs-gray-200);
        color: var(--bs-gray-600);
        box-shadow: none;
        border-color: var(--bs-gray-500);
    }

/* button */
.button {
    --btn-color: var(--color-light);
    --btn-font-family: var(--font-family);
    --btn-font-size: var(--font-size-s);
    --btn-border-radius: 8px;
    --btn-bg: var(--color-primary);
    --btn-border-color: var(--color-primary);
    --btn-box-shadow: var(--box-shadow-s);
    --btn-pad-block: 12px;
    --btn-pad-inline: 12px;
    --btn-inline-size: 190px;
    background-color: var(--btn-bg);
    color: var(--btn-color);
    font-family: var(--btn-font-family);
    font-size: var(--btn-font-size);
    -webkit-box-shadow: var(--btn-box-shadow);
    box-shadow: var(--btn-box-shadow);
    border: var(--border-width) var(--border-style) var(--btn-border-color);
    border-radius: var(--btn-border-radius);
    padding-block: var(--btn-pad-block);
    padding-inline: var(--btn-pad-inline);
    min-inline-size: var(--btn-inline-size);
    cursor: pointer;
    text-transform: uppercase;
    -webkit-transition: background-color .3s ease-in-out, border-color .3s ease-in-out;
    -o-transition: background-color .3s ease-in-out, border-color .3s ease-in-out;
    transition: background-color .3s ease-in-out, border-color .3s ease-in-out;
}
    .button[disabled] {
        background-color: var(--bs-gray-300);
        color: var(--bs-gray-600);
        box-shadow: none;
        border-color: var(--bs-gray-500);
        cursor: default;
    }

.button--small {
    --btn-font-size: var(--font-size-s);
    --btn-border-radius: 8px;
    --btn-pad-block: 12px;
    --btn-pad-inline: 12px;
    --btn-inline-size: 190px;
    font-size: var(--btn-font-size);
    border-radius: var(--btn-border-radius);
    padding-block: var(--btn-pad-block);
    min-inline-size: var(--btn-inline-size);
}

.button--secondary {
    --btn-bg: var(--color-secondary);
    --btn-border-color: var(--color-secondary);
    background-color: var(--btn-bg);
    border-color: var(--btn-border-color);
}

a.button {
    padding-left: 1em;
    padding-right: 1em;
    text-decoration: none;
}

.form-label {
    color: var(--color-gray);
    text-transform: uppercase;
    font-size: var(--font-size-s);
}


@media (max-width: 768px) {
    .button--small {
        --btn-font-size: var(--font-size-s);
        --btn-border-radius: 8px;
        --btn-inline-size: 140px;
    }
}

@media (hover: hover) {
    .button:hover {
        --btn-bg: var(--color-secondary);
        --btn-border-color: var(--color-secondary);
    }

    .button--secondary:hover {
        --btn-bg: var(--color-primary);
        --btn-border-color: var(--color-primary);
    }
}

.btn-primary {
    --bs-btn-color: var(--color-primary);
    --bs-btn-bg: var(--color-light);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-color: var(--color-light);
    --bs-btn-hover-bg: var(--color-primary);
    --bs-btn-hover-border-color: var(--color-primary);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: var(--color-light);
    --bs-btn-active-bg: var(--color-primary);
    --bs-btn-active-border-color: var(--color-primary);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--color-light);
    --bs-btn-disabled-bg: var(--color-primary);
    --bs-btn-disabled-border-color: var(--color-primary);
}

.law-text p {
    margin: .5em 0;
}
.law-text h1, .law-text h2, .law-text h3 {
    margin: .5em 0;
    line-height: 135%;
}

.source-list a {
    font-size: 70%;
    text-decoration: none;
}