﻿.ErrorDisplay {
    display: none;
    font-weight: 800;
    font-size: 0.9em;
    margin: 0.5em;
}

[data-validation="error" i] .ErrorDisplay {
    display: block;
    color: rgba(255 70 70);
}

[data-validation="success" i] .ErrorDisplay {
    display: block;
    color: rgb(34 139 34);
}

[data-validation="error" i] .CustomInput {
    border: 2px solid rgba(255 70 70) !important;
}

    [data-validation="error" i] .CustomInput::before {
        color: rgba(255 70 70);
    }

.CustomInput {
    display: flex;
    align-items: center;
    gap: 1.5em;
    background: rgba(0 0 0/5%);
    border-radius: .7em;
    padding-inline: 1.5em;
    height: 3.5em;
}

    .CustomInput input {
        all: unset;
        flex: auto;
        height: 3em;
        width: 100%;
        color: currentColor;
        border: 0;
        font-weight: 600;
        appearance: textfield;
        -webkit-appearance: none;
        -moz-appearance: textfield;
    }

        .CustomInput input::-webkit-outer-spin-button,
        .CustomInput input::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

    .CustomInput:has(> input:focus) {
        box-shadow: rgba(255 129 16/10) 0 0 0 1.5px inset;
        background-color: rgba(255 129 16/10%);
    }

        .CustomInput:has(> input:focus)::before {
            color: var( --theme-color);
            font-weight: 700;
        }

    .CustomInput[data-included-button="true"] {
        padding-inline-end: .5em;
    }

    .CustomInput[is-disabled="true"] {
        opacity: .7;
        cursor: not-allowed;
    }

        .CustomInput[is-disabled="true"] input {
            pointer-events: none;
        }

.FormInputWrapper .CustomInput::before {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    font-size: 1.6em;
    line-height: 1;
    color: rgba(0, 0, 0, 0.6);
    min-width: 1.1em;
    text-align: center;
}

.FormInputWrapper #MobileInput.CustomInput::before {
    content: "\f10b";
}

.FormInputWrapper #EmailAddressInput.CustomInput::before {
    content: "\f0e0";
}

.FormInputWrapper #PasswordInput.CustomInput::before {
    content: "\f023";
}

.FormInputWrapper #VerificationPinInput.CustomInput::before {
    content: "\f084";
}

.FormInputWrapper #UserNameInput.CustomInput::before {
    content: "\f2bd";
}

.PasswordValidationTipsWrapper {
    display: flex;
    flex-direction: column;
    gap: .5em;
    margin: 1em 1.5em;
}

    .PasswordValidationTipsWrapper > div {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: start;
        gap: 1em;
    }

    .PasswordValidationTipsWrapper .Tips {
        color: rgba(0 0 0/50%);
    }

        .PasswordValidationTipsWrapper .Tips::before {
            content: "\f05a";
            font-family: "Font Awesome 6 Free";
            font-weight: 600;
            font-size: 1em;
        }

        .PasswordValidationTipsWrapper .Tips[tips-status="error" i] {
            color: rgba(255 70 70);
        }

            .PasswordValidationTipsWrapper .Tips[tips-status="error" i]::before {
                content: "\f057";
            }

        .PasswordValidationTipsWrapper .Tips[tips-status="success" i ] {
            color: rgba(0 128 0);
        }

            .PasswordValidationTipsWrapper .Tips[tips-status="success" i ]::before {
                content: "\f058";
            }

#AuthenticationContent {
    padding-inline: 2em;
}

    #AuthenticationContent .InnerContent {
        max-width: 40em;
        margin: 5em auto;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        background-color: #fff;
        border-radius: 1.5em;
    }

    #AuthenticationContent #AuthenticationDescriptionWrapper {
        display: flex;
        justify-content: space-between;
        box-sizing: border-box;
        padding-block-start: 3em;
        padding-inline: 2.6em;
        flex-wrap: wrap;
        gap: 2em .3em;
    }

        #AuthenticationContent #AuthenticationDescriptionWrapper .TitleSection {
            display: flex;
            flex-direction: column;
            gap: 1em;
        }

            #AuthenticationContent #AuthenticationDescriptionWrapper .TitleSection h1 {
                font-size: 1em;
                font-weight: 500;
            }

            #AuthenticationContent #AuthenticationDescriptionWrapper .TitleSection h2 {
                font-size: 2em;
                font-weight: 800;
                line-height: 1.3;
            }

                #AuthenticationContent #AuthenticationDescriptionWrapper .TitleSection h2 span {
                    display: block;
                }

        #AuthenticationContent #AuthenticationDescriptionWrapper .ContentSection #ActionContainer {
            display: flex;
            align-items: end;
            height: 100%;
        }

            #AuthenticationContent #AuthenticationDescriptionWrapper .ContentSection #ActionContainer a {
                display: block;
                border-radius: 1em;
                color: var(--theme-color);
                font-weight: 900;
                box-shadow: rgba(255 129 16 / 10) 0 0 0 2px inset;
                padding: 1em;
            }

    #AuthenticationContent #AuthenticationContentWrapper .ContentSection {
        display: flex;
        flex-direction: column;
        gap: 2em;
        width: 100%;
        padding-block: 3em;
        padding-inline: 2.6em;
        box-sizing: border-box;
    }

        #AuthenticationContent #AuthenticationContentWrapper .ContentSection .AuthUserInfoPreviewContainer {
            display: flex;
            flex-direction: column;
            gap: 1em;
        }

            #AuthenticationContent #AuthenticationContentWrapper .ContentSection .AuthUserInfoPreviewContainer #AuthUserInfo {
                display: grid;
                grid-template-columns: auto 1fr auto;
                align-items: center;
                gap: 1.5em;
                padding: 1em;
                border-radius: .7em;
                background-color: rgba(0 0 0 / 5%);
                box-sizing: border-box;
            }

                #AuthenticationContent #AuthenticationContentWrapper .ContentSection .AuthUserInfoPreviewContainer #AuthUserInfo .Avatar {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    border-radius: .8em;
                    overflow: hidden;
                    width: 3.5em;
                    aspect-ratio: 1 / 1;
                }

                    #AuthenticationContent #AuthenticationContentWrapper .ContentSection .AuthUserInfoPreviewContainer #AuthUserInfo .Avatar img {
                        width: 100%;
                        height: 100%;
                    }

                #AuthenticationContent #AuthenticationContentWrapper .ContentSection .AuthUserInfoPreviewContainer #AuthUserInfo .Info {
                    display: flex;
                    flex-direction: column;
                    overflow: hidden;
                    gap: .25em;
                }

                    #AuthenticationContent #AuthenticationContentWrapper .ContentSection .AuthUserInfoPreviewContainer #AuthUserInfo .Info .Name {
                        font-weight: 800;
                    }

                    #AuthenticationContent #AuthenticationContentWrapper .ContentSection .AuthUserInfoPreviewContainer #AuthUserInfo .Info .AuthInfo {
                        font-size: .9em;
                        opacity: .7;
                    }

                #AuthenticationContent #AuthenticationContentWrapper .ContentSection .AuthUserInfoPreviewContainer #AuthUserInfo::after {
                    content: '\f058';
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    font-family: "Font Awesome 6 Free";
                    font-weight: 600;
                    font-size: 1.6em;
                    line-height: 1;
                    color: rgb(34 139 34);
                    text-align: center;
                }

        #AuthenticationContent #AuthenticationContentWrapper .ContentSection .ContentFormContainer {
            display: flex;
            flex-direction: column;
            gap: 1em;
        }

            #AuthenticationContent #AuthenticationContentWrapper .ContentSection .ContentFormContainer:nth-child(n+2) {
                padding-block-start: 2em;
                box-shadow: rgba(0 0 0 / 7%)0 1px 0 inset;
            }

    #AuthenticationContent #AuthenticationContentWrapper #AuthenticationMethodTabContainer ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5em;
        background-color: rgba(0 0 0/5%);
        box-shadow: rgba(0 0 0 / 5%) 0 0 0 1px, rgba(0 0 0 / 5%) 0 0 1px;
        border-radius: .7em;
        margin-bottom: 0;
        height: 2.85em;
        padding: .5em;
    }

        #AuthenticationContent #AuthenticationContentWrapper #AuthenticationMethodTabContainer ul > li {
            display: flex;
            justify-content: center;
            align-items: center;
        }

    #AuthenticationContent #AuthenticationContentWrapper ul button {
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 600;
        line-height: 1;
        gap: 0.8em;
        border-radius: .6em;
        color: rgba(0, 0, 0, 0.7);
        height: 100%;
    }

    #AuthenticationContent #AuthenticationContentWrapper[data-login-method="" i] #AuthenticationMethodTabContainer ul #viaEmailAddressBtn,
    #AuthenticationContent #AuthenticationContentWrapper[data-login-method="viaEmail" i] #AuthenticationMethodTabContainer ul #viaEmailAddressBtn,
    #AuthenticationContent #AuthenticationContentWrapper[data-login-method="viaMobile" i] #AuthenticationMethodTabContainer ul #viaMobileNumberBtn {
        background-color: var(--theme-color);
        color: #fff;
    }

        #AuthenticationContent #AuthenticationContentWrapper[data-login-method="" i] #AuthenticationMethodTabContainer ul #viaEmailAddressBtn::before,
        #AuthenticationContent #AuthenticationContentWrapper[data-login-method="viaEmail" i] #AuthenticationMethodTabContainer ul #viaEmailAddressBtn::before,
        #AuthenticationContent #AuthenticationContentWrapper[data-login-method="viaMobile" i] #AuthenticationMethodTabContainer ul #viaMobileNumberBtn::before {
            color: #fff;
        }


    #AuthenticationContent #AuthenticationContentWrapper[data-login-method="" i] .FormInputWrapper:has(#MobileInput),
    #AuthenticationContent #AuthenticationContentWrapper[data-login-method="viaEmail" i] .FormInputWrapper:has(#MobileInput),
    #AuthenticationContent #AuthenticationContentWrapper[data-login-method="viaMobile" i] .FormInputWrapper:has(#EmailAddressInput) {
        display: none;
    }

    #AuthenticationContent #AuthenticationContentWrapper #AuthenticationMethodTabContainer ul button::before {
        display: block;
        font-family: "Font Awesome 6 Free";
        font-weight: 600;
        font-size: 1.1em;
        line-height: 1;
        overflow: hidden;
    }

    #AuthenticationContent #AuthenticationContentWrapper #AuthenticationMethodTabContainer ul #viaEmailAddressBtn::before {
        content: "\f003";
    }

    #AuthenticationContent #AuthenticationContentWrapper #AuthenticationMethodTabContainer ul #viaMobileNumberBtn::before {
        content: "\f095";
    }


    #AuthenticationContent #AuthenticationContentWrapper .ContentSection #LoginBtn {
        all: unset;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--theme-color);
        border-radius: .4em;
        color: #fff;
        font-size: 1.5em;
        width: 2em;
        height: 1.8em;
        border-width: 0;
        flex: 0 0 auto;
    }

    #AuthenticationContent #AuthenticationContentWrapper .ContentSection #LoginBtn {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--theme-color);
        border-radius: .4em;
        color: #fff;
        font-size: 1.5em;
        width: 2em;
        height: 1.8em;
        flex: 0 0 auto;
    }

        #AuthenticationContent #AuthenticationContentWrapper .ContentSection #LoginBtn:not(:has(.spinner-grow))::before {
            content: "\f061";
            font-family: "Font Awesome 6 Free";
            font-size: 1em;
            line-height: 1;
        }

    #AuthenticationContent #AuthenticationContentWrapper .ContentSection #GetEmailOtpBtn {
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: .4em;
        font-size: 1em;
        line-height: 1.8;
        color: #fff;
        height: 2.5em;
        font-weight: 700;
    }

        #AuthenticationContent #AuthenticationContentWrapper .ContentSection #GetEmailOtpBtn[button-mode="GetOtp"] {
            background-color: var(--theme-color);
            width: 10em;
        }

        #AuthenticationContent #AuthenticationContentWrapper .ContentSection #GetEmailOtpBtn[button-mode="CountDown"] {
            width: 5em;
            cursor: not-allowed !important;
            background-color: #d0d4db;
            color: #000;
        }

    #AuthenticationContent #AuthenticationContentWrapper .ContentSection .PasswordVisilityBtn {
        width: 1em;
    }

        #AuthenticationContent #AuthenticationContentWrapper .ContentSection .PasswordVisilityBtn::before {
            font-family: "Font Awesome 6 Free";
            font-weight: 600;
            font-size: 1.3em;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        #AuthenticationContent #AuthenticationContentWrapper .ContentSection .PasswordVisilityBtn[password-visibility="hidden" i]::before {
            content: "\f06e";
            color: rgba(0 0 0 / .2);
        }

        #AuthenticationContent #AuthenticationContentWrapper .ContentSection .PasswordVisilityBtn[password-visibility="visible" i]::before {
            content: "\f070";
            color: rgba(0 0 0 / .9);
        }

    #AuthenticationContent #AuthenticationContentWrapper .ActionContainer {
        display: flex;
        flex-direction: column;
        gap: 1em;
        text-align: center;
    }

        #AuthenticationContent #AuthenticationContentWrapper .ActionContainer a {
            color: var(--theme-color);
        }

        #AuthenticationContent #AuthenticationContentWrapper .ActionContainer button {
            background-color: var(--theme-color);
            color: #fff;
            font-size: 1.166667em;
            font-weight: 800;
            text-transform: uppercase;
            padding: .5em 2em;
            border-radius: .5em;
            line-height: 2;
        }


    #AuthenticationContent[registration-steps="1"] #AuthRegistrationUserPreview,
    #AuthenticationContent[registration-steps="1"] #AuthRegistrationPassword,
    #AuthenticationContent[registration-steps="1"] #AuthRegistrationAction {
        display: none !important;
    }


@media only screen and (max-width: 480px) {

    body {
        overflow: hidden;
        position: fixed;
        width: 100%;
        height: 100%;
        touch-action: none;
    }

    header,
    footer {
        display: none;
    }

    body, main {
        background-color: var(--theme-color);
    }

    #AuthenticationContent {
        position: fixed;
        inset: 0;
        z-index: 1000;
        overflow-y: auto;
        padding: 0;
        scrollbar-width: none;
        -ms-overflow-style: none;
        background-color: var(--theme-color);
    }

        #AuthenticationContent #DismissAuthenticationContent {
            display: flex;
            justify-content: center;
            align-items: center;
            aspect-ratio: 1 / 1;
            width: 3em;
            border-radius: .7em;
            background-color: rgba(255, 154, 64, .7);
            color: rgb(255 255 255 / 0.85);
            margin-inline: 1.5em;
            margin-block: 3em
        }

            #AuthenticationContent #DismissAuthenticationContent::after {
                content: "\f060";
                font-family: "Font Awesome 6 Free";
                font-size: 1em;
                line-height: 1;
            }

        #AuthenticationContent::-webkit-scrollbar {
            display: none;
        }

        #AuthenticationContent .InnerContent {
            background-color: transparent;
            height: 100%;
            margin-block: 0;
        }

        #AuthenticationContent #AuthenticationDescriptionWrapper {
            padding-inline: 1.5em;
            padding-block: 0 2em;
        }

            #AuthenticationContent #AuthenticationDescriptionWrapper .TitleSection h1,
            #AuthenticationContent #AuthenticationDescriptionWrapper .TitleSection h2 {
                color: rgb(255 255 255 / 0.85);
            }

            #AuthenticationContent #AuthenticationDescriptionWrapper .TitleSection h2 {
                font-size: 1.8em;
            }

            #AuthenticationContent #AuthenticationDescriptionWrapper .ContentSection #ActionContainer a {
                color: rgb(255 255 255 / 0.85);
                background-color: rgba(255, 154, 64);
                box-shadow: rgb(255 181 116 / 1) 0 0 0 2px inset;
            }


        #AuthenticationContent #AuthenticationContentWrapper {
            background-color: #fff;
            border-radius: 1.8em 1.8em 0 0;
            height: 100%;
        }

            #AuthenticationContent #AuthenticationContentWrapper .ContentSection {
                padding-inline: 1.5em;
                height: 100%;
            }

            #AuthenticationContent #AuthenticationContentWrapper #AuthenticationMethodTabContainer ul {
                gap: .8em;
                height: 3em;
                border-radius: 1em;
            }

            #AuthenticationContent #AuthenticationContentWrapper ul button {
                border-radius: .9em;
            }
}
