:root {
    --q-primary: #48C1B8;
    --q-secondary: #26A69A;
    --q-accent: #9C27B0;
    --q-positive: #21BA45;
    --q-negative: #C10015;
    --q-info: #31CCEC;
    --q-warning: #F2C037;
    --q-dark: #100F0D;
    --q-dark-page: #121212;
    --q-primary-light: rgba(72, 193, 184, .15);
    --q-primary-8: rgba(72, 193, 184, .8);
    --q-white: #fff;
    --q-white-accent: #f9fdfd;
    --q-black: #333;
    --q-gray: #ebebeb;
    --q-gray-accent: #b7b7b7;
}

body {
    font-family: 'Roboto', sans-serif;
}

a {
    text-decoration: none;
    color: var(--q-primary);
    font-size: 1em;
    transition: .4s all;
}

h1, h2, h3, h4, h5, h6, p {
    margin: 0;
    padding: 0;
    line-height: 1.4;
    font-weight: normal;
}

.button-primary,
a.button-primary,
.header a.button-primary  {
    display: inline-flex;
    flex-direction: column;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    justify-content: center;
    color: var(--q-white);
    min-height: 50px;
    background: var(--q-primary);
    border-radius: 3px;
    padding: 4px 16px;
    border: none;
}

.button-secondary,
a.button-secondary,
.header a.button-secondary {
    display: inline-flex;
    flex-direction: column;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    justify-content: center;
    color: var(--q-primary);
    min-height: 50px;
    background: var(--q-gray);
    border-radius: 3px;
    padding: 4px 16px;
    border: none;
}

.header {
    background: #fff;
    padding-top: 64px;
    padding-bottom: 20px;
}

.front .header {
    min-height: 100vh;
    background: #fff url('/images/bg.png') no-repeat 0 0;
    background-size: cover;
}

.front .header .header-panel {
    background-color: transparent;
    border-bottom: 1px transparent solid; /* prevent layout shift on scroll */
    transition: background-color .2s ease, border-bottom-color .2s ease;
}

.front .header .header-panel .header-logo-image-color {
    display: none;
}

.front .header .header-panel.scrolled {
    background-color: var(--q-white);
    color: var(--q-black);
}

.front .header .header-panel.scrolled a {
    color: var(--q-black);
}

.front .header .header-panel.scrolled .header-logo-image {
    display: none;
}
.front .header .header-panel.scrolled .header-logo-image-color {
    display: inline-block;
}

.lk .header {
    background-color: var(--q-white-accent);
    padding-top: 57px;
}

.lk .header .header-panel {
    background-color: var(--q-white-accent);
    color: var(--q-black);
    border-bottom: 1px var(--q-primary-light) solid;
}

.lk-link-ico,
.lk-link-ico-scrolled {
    height: 24px;
}
.lk-link-ico-scrolled {
    display: none;
}
.scrolled .lk-link-ico-scrolled {
    display: inline-block;
}
.scrolled .lk-link-ico {
    display: none;
}


.header a {
    color: var(--q-white);
}

.lk .header a {
    color: var(--q-black);
}

.header .header-menu a:hover {
    color: var(--q-primary);
}

.lk .header .header-menu a:hover {
    color: var(--q-black);
}

.header-logo-title {
    font-size: 2.3em;
    font-weight: 500;
    line-height: 1;
}

.header-logo-text {
    font-size: .6em;
    max-width: 100px;
    line-height: 1;
}

.header-content {
    max-width: 1400px;
    margin: 0 auto;
}

.header-content h1 {
    color: var(--q-white);
    font-size: 3em;
    font-weight: 400;
    letter-spacing: -.01562em;
}

.header-content-user {
    box-shadow: 0 1px 5px #0003, 0 2px 2px #00000024, 0 3px 1px -2px #0000001f;
    border-radius: 4px;
    background: #fff;
    padding: 16px;
    max-width: 400px;
}

.header-content-user-avatar-text {
    font-size: 1.3em;
    line-height: 1;
    color: var(--q-white);
    display: block;
    background: var(--q-primary);
    border-radius: 50%;
    height: 36px;
    width: 36px;
    text-align: center;
    padding-top: 8px;
    margin-right: .5rem;
}

.header-content-user-welcome {
    font-size: 1.4em;
    font-weight: 400;
    margin-bottom: 2px;
}

.header-content-user-link {
    display: inline-flex;
    flex-direction: column;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    background: var(--q-primary);
    border-radius: 3px;
    padding: 4px 16px;
}

.header-content-user-title-1 {
    font-size: 1.4em;
    font-weight: 400;
}

.header-content-user-title-2 {
    margin-bottom: 15px;
}

.myformfield {
    border-radius: 4px;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    color: var(--q-primary);
    height: 56px;
    max-width: 100%;
    outline: none;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, .24);
    transition: border-color .36s cubic-bezier(.4, 0, .2, 1);
    margin-bottom: 24px;
}

.myformfield label {
    color: #0009;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: .00937em;
    padding: 10px 12px 2px 12px;
    margin: 0;
}

.myformfield input,
.myformfield select {
    line-height: 24px;
    padding-top: 24px;
    padding-bottom: 8px;
    width: 100%;
    font-weight: 400;
    letter-spacing: .00937em;
    text-decoration: inherit;
    text-transform: inherit;
    border: none;
    border-radius: 0;
    background: none;
    color: #000000de;
    outline: 0;
    padding: 0 12px 6px 12px;
    font-size: 14px;
}

.myformfield input:focus,
.myformfield input.is-invalid:focus,
.myformfield input.is-valid:focus,
.myformfield.is-invalid,
.myformfield.is-valid,
.myformfield select:focus,
.myformfield select.is-invalid:focus,
.myformfield select.is-valid:focus {
    border: none;
    box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0);
}

.myformfield .invalid-feedback {
    font-size: 0.7rem;
}

.signup-field-validation {
    display: none;
}

.lk h1 {
    font-size: 1.5em;
    color: var(--q-gray-accent);
    font-weight: 400;
}

.main-advantages h2 {
    font-size: 2em;
    font-weight: normal;
}

.main-advantage-icon {
    border-radius: 50%;
    min-width: 80px;
    height: 80px;
    background-color: var(--q-gray);
    align-items: center;
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
}

.main-advantage-icon span {
    font-size: 2em;
    color: var(--q-primary);
}

.main-advantage-title {
    font-size: 1.2em;
}

.main-advantage-text {
    font-weight: 300;
}

.footer {
    background: var(--q-gray);
}

.footer-top {
    font-weight: 300;
    font-size: .8em;
    line-height: 1.6;
}

.footer-bottom {
    opacity: .6;
    font-size: 12px;
}

/******************************************************************************/

body.lk {
    padding-left: 57px;
}

.js-mobile-menu.opened {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 10px;
    z-index: 1030;
    background-color: var(--q-white-accent);
    box-shadow: 0 0 25px #0000000d;
    border-radius: 0 0 30px 30px;
}

.js-mobile-menu.opened li a {
    display: block;
    padding: 10px;  
    color: var(--q-black);
}

.aside {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 57px;
    z-index: 1040;
}

.aside-block {
    background-color: var(--q-white-accent);
    box-shadow: 0 0 25px #0000000d;
    border-radius: 0 30px 30px 0;
    width: 100%;
    height: 100%;
}

.aside-block-burger {
    border-bottom: 1px rgba(72, 193, 184, .15) solid;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aside-block-menu {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.aside-block-menu li {
    width: 100%;
    overflow: hidden;
}

.aside-block-menu li a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    width: 100%;
    height: 57px;
}

.aside-block-menu li a span.material-icons {
    min-width: 57px;
    text-align: center;
}

.aside-block-menu li a span.am-text {
    min-width: 200px;
}

.aside-block-menu li a:hover {
    background: var(--q-gray);
}

.aside-block-menu li:first-child a {
    border-radius: 0 30px 0 0;
}

.header-user-avatar-text {
    font-size: .8em;
    line-height: 1;
    color: var(--q-white);
    display: block;
    background: var(--q-primary);
    border-radius: 50%;
    height: 30px;
    width: 30px;
    text-align: center;
    padding-top: 8px;
    margin-right: .5rem;
}

.header-user-name-text {
    font-size: .9em;
    line-height: 1;
    margin-bottom: 4px;
}

.header-user-name-welcome {
    font-size: .8em;
    font-weight: 300;
    line-height: 1;
}

.header-user .dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
}

.header-user .dropdown-menu .material-icons {
    line-height: 1;
    width: 1em;
    height: 1em;
    font-size: 1em;
    margin-right: 10px;
}

.header-user .dropdown-menu a {
    color: var(--q-primary);
}

.block-add-lk {
    border: 2px #adaeaf dashed;
    min-height: 300px;
    border-radius: 5px;
    text-align: center;
    cursor: pointer;
    transition: .4s all;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.block-add-lk-body .material-icons {
    font-size: 40px;
    color: var(--q-primary);
}

.block-add-lk-title {
    font-size: 1.1em;
    margin-top: 16px;
    margin-bottom: 5px;
}

.block-add-lk-text {
    font-size: .9em;
    color: var(--q-gray-accent);
}

.block-lk {
    background: var(--q-white);
    box-shadow: 0 0 25px #0000000d;
    border-radius: 5px;
    padding: 16px;
    min-height: 300px;
    max-width: 600px;
}

.block-lk-icon {
    background-color: var(--q-gray);
    border-radius: 50%;
    width: 47px;
    min-width: 47px;
    height: 47px;
    position: relative;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin-right: 10px;
}

.block-lk-icon img {
    width: 24px;
    height: 24px;
}

.block-lk-date {
    font-size: .9em;
    text-align: right;
    color: var(--q-primary);
}

.block-lk-form-row {
    border-radius: 4px;
    padding: 0 12px;
    display: flex;
    flex-wrap: nowrap;
    color: var(--q-primary);
    height: 56px;
    max-width: 100%;
    outline: none;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, .24);
    transition: border-color .36s cubic-bezier(.4, 0, .2, 1);
}

.block-lk-form-label {
    color: #0009;
    font-size: 12px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: .00937em;
    padding: 10px 0 2px 0;
}

input.block-lk-form-input {
    line-height: 24px;
    padding-top: 24px;
    padding-bottom: 8px;
    width: 100%;
    font-weight: 400;
    letter-spacing: .00937em;
    text-decoration: inherit;
    text-transform: inherit;
    border: none;
    border-radius: 0;
    background: none;
    color: #000000de;
    outline: 0;
    padding: 0 0 6px 0;
    font-size: 14px;
}

.block-lk .button-primary {
    min-width: 40%;
}