:root {
    --focusOutline: 0 0 0 2px #fff, 0 0 0 4px #5464f7;
}
/*Fonts*/
@font-face {
    font-family: 'PPWoodland'; /*PP Hheheheheh */
    src: url('../../fonts/custom-fonts/PPWoodland/PP Woodland - Medium/PPWoodland-Medium.ttf') format('truetype');
}
@font-face {
    font-family: 'Manrope';
    src: url('../../fonts/custom-fonts/Manrope/Manrope-Medium.ttf') format('truetype');
}
@font-face {
    font-family: 'AvertaCY';
    src: url('../../fonts/custom-fonts/AvertaCY/avertacy-semibold.ttf') format('truetype');
}
@font-face {
    font-family: 'Muli-Regular';
    src: url('../../fonts/custom-fonts/Muli/Muli-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Muli-SemiBold';
    src: url('../../fonts/custom-fonts/Muli/Muli-SemiBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Muli-Italic';
    src: url('../fonts/custom-fonts/Muli/Muli-Italic.ttf') format('truetype');
}

@font-face {
    font-family: 'NotoSans-Regular';
    src: url('../../fonts/custom-fonts/Noto_Sans/NotoSans-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'OpenSans-Regular';
    src: url('../../fonts/custom-fonts/Open_Sans/OpenSans-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Raleway-Regular';
    src: url('../../fonts/custom-fonts/Raleway/Raleway-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Raleway-SemiBold';
    src: url('../../fonts/custom-fonts/Raleway/Raleway-SemiBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Raleway-Medium';
    src: url('../../fonts/custom-fonts/Raleway/Raleway-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto-Regular';
    src: url('../../fonts/custom-fonts/Roboto/Roboto-Regular.ttf') format('truetype');
}

/* == LOGIN BOX == */
html,body{
    height:100%;
    font-size:14px;
}
/* = COMPONENTS = */
.btn-rounded {
    background: #fff;
    border-radius: 50px;
    padding:16px;
    box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.14), 0px 3px 3px rgba(0, 0, 0, 0.12), 0px 1px 8px rgba(0, 0, 0, 0.2);
    min-width: 160px;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 1.25px;
    margin: 0px auto 24px;
    display: block;
    transition: all 0.35s ease-in-out;
    width:100%;
    font-family:Manrope;
    color:#191919;
    font-weight:500;
}

    .btn-rounded:hover,
    .btn-rounded:focus {
        background: rgba(51, 51, 51, 0.12);
    }

    .btn-rounded:focus-visible {
        box-shadow: var(--focusOutline), 0px 3px 4px rgba(0, 0, 0, 0.14), 0px 3px 3px rgba(0, 0, 0, 0.12), 0px 1px 8px rgba(0, 0, 0, 0.2);
    }
.btn-outline {
    background: transparent;
    border-radius: 50px;
    padding: 16px;
    min-width: 160px;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 1.25px;
    margin: 0px auto 24px;
    display: block;
    transition: all 0.35s ease-in-out;
    width: 100%;
    font-family: Manrope;
    color: #757575;
    border:solid 1px #757575;
    font-weight: 500;
}

    .btn-outline:hover,
    .btn-outline:focus {
        border: solid 1px #877594;
        background: #877594;
        color:#ffffff;
    }

    .btn-outline:focus-visible {
        box-shadow: var(--focusOutline), 0px 3px 4px rgba(0, 0, 0, 0.14), 0px 3px 3px rgba(0, 0, 0, 0.12), 0px 1px 8px rgba(0, 0, 0, 0.2);
    }
.btn-link {
    font-family: Manrope;
    font-size: 14px;
    line-height: 20px;
    background: unset;
    padding: unset;
    text-align: center;
    letter-spacing: 0.1px;
    text-decoration: unset;
    display: block;
    margin: auto;
    transition: all 0.35s ease-in-out;
    color: #877594;
}

    .btn-link:hover,
    .btn-link:focus {
        color: #877594;
    }

    .btn-link:focus-visible {
        box-shadow: var(--focusOutline);
    }
.btn-icon {
    background: unset;
    padding: unset;
    text-align: center;
    display: block;
    margin: auto;
    transition: all 0.35s ease-in-out;
    color: #757575;
}

    .btn-icon:hover,
    .btn-icon:focus {
        color: #4c4c4c;
    }

    .btn-icon:focus-visible {
        box-shadow: var(--focusOutline);
    }
.link-wrapper{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:64px;
    margin-top:32px;
}
@supports not(gap:64px){
    .link-wrapper .link + .link{
        margin-left:32px;
    }
}
.link{
    font-size:18px;
    line-height:24px;
    color:#333333;
    font-family:AvertaCY;
    transition:all 0.35s ease-in-out;
    position:relative;
}
    .link:hover,
    .link:focus {
        color: #333333;
        text-decoration: underline;
    }
    .link:focus-visible {
        color: #877594;
        box-shadow:var(--focusOutline);
    }
.link:not(:last-child)::after{
    position:absolute;
    content:'';
    width:1px;
    height:24px;
    background:#ccc;
    right:calc(0px - 32px);
    top:0;
}
/* = COMPONENTS END = */
.login-wrapper {
    min-width: 100%;
    min-height: 100%;
    padding:32px;
    display: flex;
    flex-flow: column nowrap;
    background: right bottom / auto no-repeat url("../../Images/skate-launch.png"), #fbfbfd;
    background-attachment:fixed;
}
.login-wrapper .login-box .overheader{
    font-family:Manrope;
    font-size:16px;
    line-height:24px;
    color:#757575;
    display:none;
    margin-bottom:8px;
}
    .login-wrapper .headbar {
        min-height: 72px;
        display: flex;
        align-items: center;
        padding:1.5rem 1rem;
    }
        .login-wrapper .headbar img{
            width:40px;
            height:40px;
            margin-right:0.5rem;
            border-radius:16px;
        }
        .login-wrapper .headbar span {
            font-size: 1.5rem;
            line-height: 1.5rem;
            letter-spacing: 0.15px;
            color: rgba(27,27,27, 0.7);
            /*font-family:'avertacy-semibold'*/
        }
    .login-wrapper .login-box {
        margin:auto;
        box-shadow: 0px 7px 26px rgba(0, 0, 0, 0.2);
        border-radius: 24px;
        background: #FBFBFA;
        width: 432px;
        min-height: 484px;
        padding: 40px;
        position:relative;
    }
        .login-wrapper .login-box img{
            width:88px;
            height:88px;
            margin-right:16px;
        }
        .login-wrapper .login-box .login-header{
            display:flex;
            align-items:start;
            margin-bottom:32px;
        }
        .login-wrapper .login-box .text-wrapper{}
            .login-wrapper .login-box .text-wrapper h2 {
                font-size: 34px;
                line-height: 40px;
                color: #191919;
                margin: unset;
                font-family:'PPWoodland';
                font-weight:500;
            }
        .login-wrapper .login-box p {
            font-size: 16px;
            line-height: 24px;
            color: #757575;
            margin: unset;
            font-family: 'Manrope';
            margin-bottom:32px;
        }
    .login-wrapper .login-alerts {
        display: flex;
        align-items: center;
        min-height: 56px;
        margin-bottom: 24px;
        background: rgba(176, 0, 32, 0.13);
        margin-left: -40px;
        margin-right: -40px;
        padding:16px 16px 16px 20px;
        border-left: solid 4px #b00020;
        color: #B00020;
    }
        .login-wrapper .login-alerts.success {
            background: rgba(212, 250, 221, 0.3);
            border-left: solid 4px #00C9AF;
        }
.login-wrapper .login-alerts svg {
    flex-shrink: 0;
    margin-right: 1.125rem;
    color: rgba(176, 0, 32, 0.5);
}
        .login-wrapper .login-alerts.success svg {
            color: rgba(0, 201, 175, 0.5);
        }
    .login-wrapper .login-alerts span {
        font-size: 14px;
        line-height: 16px;
        font-family: Manrope;
    }
        .login-wrapper .login-alerts.success span {
            color: #474747;
        }
        .login-wrapper .login-alerts p,
        .login-wrapper .login-alerts span {
            margin: unset;
        }
    .login-wrapper .form-group{
        margin-bottom:4px;
        position:relative;
    }
    .login-wrapper input.form-control {
        background: #fff;
        padding:16px;
        border-radius: 6px;
        border:solid 1px #bababa;
        font-size: 16px;
        line-height: 24px;
        height: 56px;
        color: rgba(0,0,0,0.9);
        font-family:Manrope;
    }
.login-wrapper .form-error-message {
    min-height: 24px;
}
.login-wrapper input.form-control::placeholder {
    color: #757575;
}
    .login-wrapper input.form-control:focus-visible {
        box-shadow: var(--focusOutline);
        outline: var(--focusOutline);
    }
    .login-wrapper #togglePassword {
        padding: unset;
        margin: unset;
        position: absolute;
        right: 15px;
        top: 15px;
        height:24px;
        width:24px;
    }
    .login-wrapper .login-links {
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        padding-bottom: 24px;
        position: absolute;
        bottom: 0;
        width: 100%;
    }
#login-form-link{
    display:flex;
    align-items:center;
    justify-content:center;
}
.login-wrapper .pagination-dots {
    position: initial;
    width: auto;
    margin-top: 8px;
}
    .login-wrapper .pagination-dots ul{
        margin:unset;
        padding:unset;
    }
    .login-wrapper .pagination-dots .dot.active {
        opacity: 1;
        background: #333333;
    }
    /* == END == */
    .login-main-container {
        width: 100% !important;
        height: auto !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        -webkit-transform: translate(-50%, -50%) !important; /* WebKit */
        -moz-transform: translate(-50%, -50%) !important; /* Mozilla */
        -o-transform: translate(-50%, -50%) !important; /* Opera */
        -ms-transform: translate(-50%, -50%) !important; /* Internet Explorer */
    }

    .login-main-container img.logo {
        width: 170px;
    }

.form-error-message {
    display:block;
    font-size: 12px;
    margin:4px 0px;
    font-family:Manrope;
}

@media(max-width:1440px){
    .login-wrapper {
        background: right bottom / 25% no-repeat url("../../Images/skate-launch.png"), #fbfbfd;
    }
}
@media(max-width:1024px){
    .login-wrapper {
        background: #fbfbfd
    }
}
@media(max-width:768px){
    .link-wrapper {
        gap: 32px;
    }
    .link:not(:last-child)::after {
        right: calc(0px - 16px)
    }
    @supports not(gap:64px) {
        .link-wrapper .link + .link {
            margin-left: 16px;
        }
    }
}
@media(max-width:480px){
    .login-wrapper .login-box .overheader {
        display:block;
    }
    .login-wrapper .login-box .login-header{
        margin-bottom:16px;
    }
    .login-wrapper .login-box img {
        display: none;
    }
    #loginLink {
        font-size: 12px;
        padding: 16px 8px;
    }
    #login-form-link {
        flex: 1 1 50%;
        width: auto;
        min-width: unset;
    }
    .login-wrapper {
        padding: 32px 16px;
    }
    .login-wrapper .login-box {
        width: 288px;
        padding: 24px 16px;
        min-height: unset;
    }
        .login-wrapper .login-box p{
            font-size:12px;
            line-height:16px;
            color:#474747;
        }
        .login-wrapper .login-alerts {
            margin-left: -16px;
            margin-right: -16px;
        }
            .login-wrapper .login-alerts a {
                color: #23527c
            }
                .login-wrapper .login-alerts a:hover,
                .login-wrapper .login-alerts a:focus {
                    text-decoration: underline;
                }
    .login-wrapper .login-box .text-wrapper h2 {
        font-size: 34px;
        line-height:40px;
    }
        .login-wrapper .login-box .button-wrapper {
            display: flex;
            gap: 16px;
            flex-flow: row-reverse;
        }
            .login-wrapper .login-box .button-wrapper > div {
                flex: 1 1 50%;
            }
            .login-wrapper .login-box .button-wrapper #loginLink {
                font-size: 12px;
                padding: 16px 8px;
                width: auto;
                min-width: unset;
                flex: 1 1 50%;
            }
            .login-wrapper .login-box .button-wrapper > div .btn-rounded {
                background: #877594;
                color:#ffffff;
                min-width:unset;
            }
                .login-wrapper .login-box .button-wrapper > div .btn-rounded:hover,
                .login-wrapper .login-box .button-wrapper > div .btn-rounded:focus {
                    background: #3B2C47;
                }
                @supports not(gap:16px) {
                    .login-wrapper .login-box .button-wrapper #loginLink {
                        margin-right: 16px;
                    }
                }
    .link {
        font-size: 16px;
        text-align: center;
        flex: 1 0 100%;
        border: solid 1px #877594;
        border-radius: 50px;
        color: #877594;
        padding: 10px 16px;
        max-width: 240px;
    }
        .link:hover,
        .link:focus {
            text-decoration:unset;
            border: solid 1px #877594;
            background: #877594;
            color: #ffffff;
        }
    .link::after{
        display:none;
    }
            .link-wrapper {
                margin-top:64px;
                gap: 32px;
                padding: 0px 16px 24px;
            }

    @supports not(gap:64px) {
        .link-wrapper .link + .link {
            margin-left: 16px;
        }
    }
}


input[type="checkbox"].checkbox + span,
input[type="checkbox"].checkbox + span:after,
input[type="checkbox"].checkbox + span:before {
    box-sizing: content-box !important;
    -webkit-box-sizing: content-box !important;
    -moz-box-sizing: content-box !important;
}

input[type="checkbox"].checkbox {
    visibility: hidden;
    position: absolute;
    z-index: 20;
    width: 18px;
    height: 18px;
}

label input[type="checkbox"].checkbox + span {
    position: relative;
    z-index: 19;
    display: inline-block;
    margin: 0;
    line-height: 17px;
    min-height: 14px;
    min-width: 14px;
    margin-right: 5px;
}

    label input[type="checkbox"].checkbox + span:hover {
        cursor: pointer;
    }

    label input[type="checkbox"].checkbox + span:before {
        font-family: 'FontAwesome';
        font-size: 12px;
        border-radius: 0;
        content: "\a0";
        display: inline-block;
        text-align: center;
        vertical-align: middle;
        padding: 1px;
        height: 10px;
        line-height: 12px;
        min-width: 10px;
        margin-right: 5px;
        border: 1px solid #e6e6e6;
        background-color: #fff;
        font-weight: normal;
        margin-top: -1px;
    }
    /*
 * CHECKBOX
 */
    label input[type="checkbox"].checkbox + span:before {
        content: "\a0";
    }

label input[type="checkbox"].checkbox:checked + span:before {
    background: url(/images/timeline-sprite.png) no-repeat;
    background-position: -7.1px -193.9px;
    background-size: 430px 242px;
}

.no-readonly {
    background: transparent !important;
}

.text-registration-success {
    color: #4CAF50;
    letter-spacing: 0.2px;
    line-height: 1.3;
    padding: 6px 20px;
    margin: 0 0 10px 0;
    border-radius: 7px;
}



.progress-mesg {
    width: 75%;
    border: solid 2px #ffffff;
    background-color: #5464f7;
    margin: 0 auto;
    margin-bottom: 35px;
    padding: 8px;
}

.progress-mesg p {
    font-size: 18px;
    font-family: 'Muli-Regular', sans-serif;
    font-weight: 400;
    line-height: 1.38;
    letter-spacing: 0.48px;
    text-align: center;
    color: #ffffff;
}

@media only screen and (min-device-width: 480px) and (max-device-width: 850px) and (orientation: landscape) {


    .login-main-container {
        height: 360px !important;
    }
}