:root {
    --auth26-ink: #25152f;
    --auth26-copy: #6f6a74;
    --auth26-purple: #7458b5;
    --auth26-purple-dark: #604397;
    --auth26-mint: #62d9c3;
    --auth26-sky: #9fc9ff;
    --auth26-lime: #edf35e;
    --auth26-line: #e8e2fa;
}

body.page-login,
body.page-register,
body.page-reset {
    min-height: 100vh;
    margin: 0;
    padding-bottom: 0;
    background:
        radial-gradient(circle at 0% 65%, rgba(207, 187, 239, 0.16) 0 230px, transparent 231px),
        radial-gradient(circle at 100% 12%, rgba(207, 187, 239, 0.18) 0 290px, transparent 291px),
        radial-gradient(circle at 82% 94%, rgba(98, 217, 195, 0.1), transparent 25%),
        linear-gradient(112deg, #faf9fe 0%, #f7f3fd 48%, #eee8fa 100%);
    color: var(--auth26-ink);
    font-family: "osregular", Arial, sans-serif;
}

body.page-login .homepage__header,
body.page-register .homepage__header,
body.page-reset .homepage__header {
    position: relative;
    z-index: 20;
    height: 106px;
    padding-top: 0;
    background: transparent;
}

body.page-login .homepage__header .container-fluid,
body.page-register .homepage__header .container-fluid,
body.page-reset .homepage__header .container-fluid {
    display: flex;
    width: min(1380px, calc(100% - 48px));
    max-width: none;
    min-height: 106px;
    align-items: center;
    padding: 0;
}

body.page-login .homepage__header .row,
body.page-register .homepage__header .row,
body.page-reset .homepage__header .row {
    width: 100%;
    margin: 0;
}

body.page-login .homepage__header .row > div,
body.page-register .homepage__header .row > div,
body.page-reset .homepage__header .row > div {
    padding: 0;
}

body.page-login .homepage__logo img,
body.page-register .homepage__logo img,
body.page-reset .homepage__logo img {
    width: 202px;
    max-height: 48px;
    object-fit: contain;
}

body.page-login .homepage__header-menu,
body.page-register .homepage__header-menu,
body.page-reset .homepage__header-menu {
    margin: 10px 18px 0 0;
}

body.page-login .homepage__header-menu li a,
body.page-register .homepage__header-menu li a,
body.page-reset .homepage__header-menu li a {
    padding: 0 17px;
    color: var(--auth26-ink);
    font-family: "ossemibold", Arial, sans-serif;
    font-size: 14px;
    transition: color 0.2s ease;
}

body.page-login .homepage__header-menu li a:hover,
body.page-login .homepage__header-menu li a:focus,
body.page-register .homepage__header-menu li a:hover,
body.page-register .homepage__header-menu li a:focus,
body.page-reset .homepage__header-menu li a:hover,
body.page-reset .homepage__header-menu li a:focus {
    color: var(--auth26-purple-dark);
    text-decoration: none;
}

body.page-login .auth26-nav-cta,
body.page-register .auth26-nav-cta,
body.page-reset .auth26-nav-cta {
    min-width: 138px;
    padding: 12px 21px;
    border: 1px solid var(--auth26-purple);
    border-radius: 14px;
    background: var(--auth26-purple);
    color: #fff;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.page-login .auth26-nav-cta:hover,
body.page-login .auth26-nav-cta:focus,
body.page-register .auth26-nav-cta:hover,
body.page-register .auth26-nav-cta:focus,
body.page-reset .auth26-nav-cta:hover,
body.page-reset .auth26-nav-cta:focus {
    background: var(--auth26-purple-dark);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(116, 88, 181, 0.17);
}

body.page-login .homepage__loginregister,
body.page-register .homepage__loginregister,
body.page-reset .homepage__loginregister {
    position: relative;
    min-height: calc(100vh - 106px);
    padding: 28px 24px 90px;
    overflow: hidden;
}

body.page-login .homepage__loginregister .container-fluid,
body.page-register .homepage__loginregister .container-fluid,
body.page-reset .homepage__loginregister .container-fluid {
    max-width: 1200px;
    padding: 0;
}

body.page-login .homepage__loginregister .row,
body.page-register .homepage__loginregister .row,
body.page-reset .homepage__loginregister .row {
    display: block;
    margin: 0;
}

body.page-login .homepage__loginregister .row > .col-md-3,
body.page-register .homepage__loginregister .row > .col-md-3,
body.page-reset .homepage__loginregister .row > .col-md-3 {
    display: none;
}

body.page-login .homepage__loginregister .col-lg-6,
body.page-register .homepage__loginregister .col-lg-6,
body.page-reset .homepage__loginregister .col-lg-6 {
    width: 100%;
    max-width: none;
    padding: 0;
}

body.page-login .homepage__loginregister .bg-shape,
body.page-register .homepage__loginregister .bg-shape,
body.page-reset .homepage__loginregister .bg-shape {
    position: absolute;
    z-index: 1;
    top: 22%;
    left: calc(50% - 405px);
    display: block;
    width: 205px;
    opacity: 0.22;
    pointer-events: none;
}

body.page-login .homepage__loginregister .bg-shape.shape-2,
body.page-register .homepage__loginregister .bg-shape.shape-2,
body.page-reset .homepage__loginregister .bg-shape.shape-2 {
    top: auto;
    right: calc(50% - 385px);
    bottom: 24%;
    left: auto;
    width: 145px;
    opacity: 0.18;
}

body.page-login .homepage__loginregister .bg-shape.shape-3,
body.page-register .homepage__loginregister .bg-shape.shape-3,
body.page-reset .homepage__loginregister .bg-shape.shape-3 {
    top: auto;
    right: calc(50% - 430px);
    bottom: 7%;
    left: auto;
    width: 205px;
    opacity: 0.2;
}

body.page-login .homepage__login-box,
body.page-register .homepage__login-box,
body.page-reset .homepage__login-box {
    position: relative;
    z-index: 3;
    display: block;
    width: min(520px, 100%);
    margin: 42px auto 0;
    text-align: center;
}

body.page-login .homepage__login-box .homepage__login-box-bg,
body.page-register .homepage__login-box .homepage__login-box-bg,
body.page-reset .homepage__login-box .homepage__login-box-bg {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 52px 62px 46px;
    border: 1px solid var(--auth26-line);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 20px 55px rgba(75, 52, 111, 0.08);
}

body.page-login .homepage__login-box .homepage__login-box-bg::before,
body.page-register .homepage__login-box .homepage__login-box-bg::before,
body.page-reset .homepage__login-box .homepage__login-box-bg::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--auth26-mint), var(--auth26-sky) 35%, var(--auth26-purple) 68%, var(--auth26-lime));
    content: "";
}

body.page-login .homepage__login-box .homepage__login-box-heading,
body.page-register .homepage__login-box .homepage__login-box-heading,
body.page-reset .homepage__login-box .homepage__login-box-heading {
    padding: 0;
}

body.page-login .homepage__login-box .homepage__login-box-heading h3,
body.page-register .homepage__login-box .homepage__login-box-heading h3,
body.page-reset .homepage__login-box .homepage__login-box-heading h3 {
    margin: 0;
    color: var(--auth26-ink);
    font-family: "osbold", Arial, sans-serif;
    font-size: 36px;
    font-weight: normal;
    line-height: 1.18;
    letter-spacing: -0.8px;
}

.auth26-kicker {
    margin: 0 0 12px;
    color: var(--auth26-purple);
    font-family: "osbold", Arial, sans-serif;
    font-size: 12px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.auth26-intro {
    margin: 14px auto 0;
    color: var(--auth26-copy);
    font-size: 15px;
    line-height: 1.55;
}

body.page-login .homepage__login-box .homepage__login-box-body,
body.page-register .homepage__login-box .homepage__login-box-body,
body.page-reset .homepage__login-box .homepage__login-box-body {
    padding: 32px 0 0;
}

body.page-login .homepage__login-box-body .form-group,
body.page-register .homepage__login-box-body .form-group,
body.page-reset .homepage__login-box-body .form-group {
    margin-bottom: 16px;
}

body.page-login .homepage__login-box .homepage__login-box-body .form-control,
body.page-register .homepage__login-box .homepage__login-box-body .form-control,
body.page-reset .homepage__login-box .homepage__login-box-body .form-control {
    width: 100%;
    min-height: 56px;
    padding: 13px 18px;
    border: 1.5px solid var(--auth26-line);
    border-radius: 14px;
    background: #fbfaff;
    color: var(--auth26-ink);
    font-family: "osregular", Arial, sans-serif;
    font-size: 16px;
    outline: 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.page-login .homepage__login-box .homepage__login-box-body .form-control:hover,
body.page-register .homepage__login-box .homepage__login-box-body .form-control:hover,
body.page-reset .homepage__login-box .homepage__login-box-body .form-control:hover {
    border-color: #cfc5ef;
}

body.page-login .homepage__login-box .homepage__login-box-body .form-control:focus,
body.page-register .homepage__login-box .homepage__login-box-body .form-control:focus,
body.page-reset .homepage__login-box .homepage__login-box-body .form-control:focus {
    border-color: var(--auth26-purple);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(96, 50, 232, 0.11);
}

body.page-login .homepage__login-box .homepage__login-box-body .button__radius,
body.page-register .homepage__login-box .homepage__login-box-body .button__radius,
body.page-reset .homepage__login-box .homepage__login-box-body .button__radius {
    width: 100%;
    min-height: 56px;
    margin-top: 3px;
    padding: 14px 24px;
    border: 0;
    border-radius: 14px;
    background: var(--auth26-purple);
    color: #fff;
    font-family: "ossemibold", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.2;
    box-shadow: 0 10px 24px rgba(116, 88, 181, 0.17);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.page-login .homepage__login-box .homepage__login-box-body .button__radius:hover,
body.page-login .homepage__login-box .homepage__login-box-body .button__radius:focus,
body.page-register .homepage__login-box .homepage__login-box-body .button__radius:hover,
body.page-register .homepage__login-box .homepage__login-box-body .button__radius:focus,
body.page-reset .homepage__login-box .homepage__login-box-body .button__radius:hover,
body.page-reset .homepage__login-box .homepage__login-box-body .button__radius:focus {
    background: var(--auth26-purple-dark);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(116, 88, 181, 0.2);
}

body.page-login .homepage__login-box .homepage__agreement,
body.page-register .homepage__login-box .homepage__agreement,
body.page-reset .homepage__login-box .homepage__agreement {
    margin: 22px 0 0;
    color: var(--auth26-copy);
    font-size: 13px;
    line-height: 1.65;
}

body.page-login .homepage__login-box .homepage__agreement a,
body.page-register .homepage__login-box .homepage__agreement a,
body.page-reset .homepage__login-box .homepage__agreement a {
    border-bottom: 1px solid rgba(96, 50, 232, 0.26);
    color: var(--auth26-purple-dark);
    font-family: "ossemibold", Arial, sans-serif;
    font-size: inherit;
    text-decoration: none;
}

body.page-login .homepage__login-box .homepage__agreement a:hover,
body.page-login .homepage__login-box .homepage__agreement a:focus,
body.page-register .homepage__login-box .homepage__agreement a:hover,
body.page-register .homepage__login-box .homepage__agreement a:focus,
body.page-reset .homepage__login-box .homepage__agreement a:hover,
body.page-reset .homepage__login-box .homepage__agreement a:focus {
    border-bottom-color: var(--auth26-purple);
    color: var(--auth26-purple);
}

body.page-register .elem-group {
    line-height: normal;
}

body.page-register .captcha-image {
    width: auto;
    max-width: calc(100% - 76px);
    height: 54px;
    border-radius: 10px;
    vertical-align: middle;
}

body.page-register .refresh-captcha {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    margin-left: 10px !important;
    color: var(--auth26-purple-dark);
    font-family: "ossemibold", Arial, sans-serif;
    font-size: 13px;
    vertical-align: middle;
}

body.page-register #captcha {
    margin-top: 12px !important;
}

body.page-login .homepage__login-box-body .alert,
body.page-register .homepage__login-box-body .alert,
body.page-reset .homepage__login-box-body .alert {
    margin-bottom: 20px;
    padding: 13px 16px;
    border: 0;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 1040px) {
    body.page-login .homepage__header-menu li a,
    body.page-register .homepage__header-menu li a,
    body.page-reset .homepage__header-menu li a {
        padding-right: 11px;
        padding-left: 11px;
    }
}

@media (max-width: 800px) {
    body.page-login .homepage__header .container-fluid,
    body.page-register .homepage__header .container-fluid,
    body.page-reset .homepage__header .container-fluid {
        width: min(100% - 32px, 1380px);
    }

    body.page-login .homepage__header-menu.show,
    body.page-register .homepage__header-menu.show,
    body.page-reset .homepage__header-menu.show {
        top: 54px;
        right: 0;
        width: min(280px, calc(100vw - 32px));
        padding: 14px;
        border: 1px solid #e1d8ee;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 16px 36px rgba(75, 52, 111, 0.1);
    }

    body.page-login .homepage__header-menu.show li a,
    body.page-register .homepage__header-menu.show li a,
    body.page-reset .homepage__header-menu.show li a {
        padding: 10px 12px;
        color: var(--auth26-ink);
    }

    body.page-login .mobile-toggle-menu,
    body.page-register .mobile-toggle-menu,
    body.page-reset .mobile-toggle-menu,
    body.page-login .mobile-menu-login,
    body.page-register .mobile-menu-login,
    body.page-reset .mobile-menu-login {
        min-width: 44px;
        min-height: 44px;
        padding: 10px !important;
        border: 1px solid #e1d8ee;
        border-radius: 13px;
        background: #fff;
    }

    body.page-login .mobile-toggle-menu img,
    body.page-register .mobile-toggle-menu img,
    body.page-reset .mobile-toggle-menu img,
    body.page-login .mobile-menu-login img,
    body.page-register .mobile-menu-login img,
    body.page-reset .mobile-menu-login img {
        width: 22px;
        height: 22px;
    }

    body.page-login .homepage__loginregister,
    body.page-register .homepage__loginregister,
    body.page-reset .homepage__loginregister {
        padding-top: 12px;
    }

    body.page-login .homepage__login-box,
    body.page-register .homepage__login-box,
    body.page-reset .homepage__login-box {
        margin-top: 24px;
    }
}

@media (max-width: 700px) {
    body.page-login .homepage__logo img,
    body.page-register .homepage__logo img,
    body.page-reset .homepage__logo img {
        width: 142px;
    }
}

@media (max-width: 560px) {
    body.page-login .homepage__header,
    body.page-register .homepage__header,
    body.page-reset .homepage__header,
    body.page-login .homepage__header .container-fluid,
    body.page-register .homepage__header .container-fluid,
    body.page-reset .homepage__header .container-fluid {
        height: 84px;
        min-height: 84px;
    }

    body.page-login .homepage__loginregister,
    body.page-register .homepage__loginregister,
    body.page-reset .homepage__loginregister {
        min-height: calc(100vh - 84px);
        padding: 12px 16px 55px;
    }

    body.page-login .homepage__loginregister .bg-shape,
    body.page-register .homepage__loginregister .bg-shape,
    body.page-reset .homepage__loginregister .bg-shape {
        left: -75px;
        width: 165px;
        opacity: 0.18;
    }

    body.page-login .homepage__loginregister .bg-shape.shape-2,
    body.page-register .homepage__loginregister .bg-shape.shape-2,
    body.page-reset .homepage__loginregister .bg-shape.shape-2 {
        right: -35px;
        bottom: 17%;
        width: 115px;
    }

    body.page-login .homepage__loginregister .bg-shape.shape-3,
    body.page-register .homepage__loginregister .bg-shape.shape-3,
    body.page-reset .homepage__loginregister .bg-shape.shape-3 {
        right: -80px;
        bottom: 2%;
        width: 170px;
    }

    body.page-login .homepage__login-box,
    body.page-register .homepage__login-box,
    body.page-reset .homepage__login-box {
        margin-top: 14px;
    }

    body.page-login .homepage__login-box .homepage__login-box-bg,
    body.page-register .homepage__login-box .homepage__login-box-bg,
    body.page-reset .homepage__login-box .homepage__login-box-bg {
        padding: 42px 24px 36px;
        border-radius: 22px;
    }

    body.page-login .homepage__login-box .homepage__login-box-heading h3,
    body.page-register .homepage__login-box .homepage__login-box-heading h3,
    body.page-reset .homepage__login-box .homepage__login-box-heading h3 {
        font-size: 29px;
        line-height: 1.2;
    }

    .auth26-intro {
        font-size: 14px;
    }

    body.page-register .captcha-image {
        max-width: calc(100% - 66px);
        height: 48px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-login *,
    body.page-register *,
    body.page-reset * {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}
