/*fonts*/
@font-face {
    font-family: Montserrat;
    src: local(Montserrat-Bold),
    url("/reset-password/jakarta.faces.resource/fonts/montserrat/Montserrat-Bold.ttf.xhtml") format("truetype");
    font-weight: bold;
    font-style: normal;
    font-stretch: normal;
}

@font-face {
    font-family: Montserrat;
    src: local(Montserrat-Light),
    url("/reset-password/jakarta.faces.resource/fonts/montserrat/Montserrat-Light.ttf.xhtml") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
}

@font-face {
    font-family: Montserrat;
    src: local(Montserrat-Medium),
    url("/reset-password/jakarta.faces.resource/fonts/montserrat/Montserrat-Medium.ttf.xhtml") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-stretch: normal;
}

@font-face {
    font-family: Montserrat;
    src: local(Montserrat-SemiBold),
    url("/reset-password/jakarta.faces.resource/fonts/montserrat/Montserrat-SemiBold.ttf.xhtml") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-stretch: normal;
}

h1 {
    font-family: Montserrat;
    color: var(--primary-text);
    text-transform: uppercase;
}

h2 {
    font-family: Montserrat;
    font-weight: normal;
    color: var(--primary-text);
}

.grey-box-text {
    font-family: Montserrat;
}

.button-text-inside {
    font-family: Montserrat;
    text-align: center;
    font-weight: bolder;
}

.form-input-label {
    font-family: Montserrat;
    font-weight: bolder;
    color: var(--primary-text);
}

.submit-input-button {
    font-family: Montserrat;
    font-weight: normal;
    letter-spacing: 1px;
    border: 2px solid var(--primary-text);
}

.email-input {
    font-family: Montserrat;
    font-weight: lighter;
    letter-spacing: 1px;
    color: var(--primary-text);
}

.error-text-invalid-mail {
    color: var(--invalid-input);
    font-family: Montserrat;
    font-weight: 600;
}

input::placeholder {
    font-family: Montserrat;
    font-weight: lighter;
    letter-spacing: 1px;
    color: var(--placeholder-text);
}

.change-password-button {
    font-family: Montserrat;
    font-weight: bold;
    letter-spacing: 1px;
    border: 2px solid var(--primary-text);
}

/*error*/

input:invalid {
    outline: 2px solid var(--invalid-input);
}

/* this class is only for example purpose and should not be used.
Red label text and the border should change color on condition, not vial pure css*/

.no-error {
    input:invalid {
        outline: none;
    }
    input:focus {
        outline: 2px solid var(--primary-text);
    }
}

/*focus border*/
input:focus {
    outline: 2px solid var(--primary-text);
}

/*form elements*/

.password-reset-form {
    display: flex;
    flex-direction: column;
}

.submit-button {
    background-color: transparent;
    height: 52px;
    margin-top: 50px;
}

.submit-button:active {
    background-color: var(--primary-text);
    border-color: var(--primary-text);
    color: var(--white);
}

.submit-button:hover {
    background-color: var(--primary-text);
    border-color: var(--primary-text);
    color: var(--white);
}

.form-input {
    box-sizing: border-box;
    width: 100%;
    border: 2px solid var(--white);
    background-color: var(--white);
    height: 50px;
    padding: 12px 16px 12px 16px;
}

.form-input:hover {
    border: solid 2px var(--primary-text);
}

.info-flex {
    display: flex;
    justify-content: space-between;
}

.info-icon {
    width: 16px;
    height: 16px;
}

/*tooltip*/

.info-flex button {
    border: none;
    background: none;
}
.info-flex .tooltip {
    visibility: hidden;
    background-color: var(--white);
    color: var(--primary-text);
    text-align: start;
    border: 3px solid var(--primary-text);

    /* Position the tooltip */
    position: absolute;
    z-index: 1;
}

.tooltip {
    position: relative;
    font-weight: normal;

    &::before {
        content: "";

        position: absolute;
        top: 102%;
        left: 95%;
        z-index: -1;

        display: block;
        height: 16px;
        width: 32px;

        transform: rotate(45deg) translateY(25%) translateX(-50%) skew(45deg);

        background-color: var(--white);
        border-right: 4px solid var(--primary-text);
        border-bottom: 3px solid var(--primary-text);
    }
}

.info-flex:hover .tooltip {
    visibility: visible;
}

.info-flex button:focus .tooltip {
    visibility: visible;
}

/*shared sizes desktop and tablet*/
@media only screen and (min-width: 768px) {

    /*fonts*/
    h1 {
        font-size: 25px;
        line-height: 30px;
        letter-spacing: 2px;
        margin-top: 15px;
    }

    h2 {
        font-size: 25px;
        letter-spacing: 0.5px;
        line-height: 32px;
        margin: 0 0 8px 0;
    }

    .grey-box-text {
        font-size: 17px;
        letter-spacing: 0.5px;
        font-weight: lighter;
        line-height: 30px;
        margin: 0;
        padding: 0;
    }

    .button-text-inside {
        font-size: 17px;
        letter-spacing: 1px;
        line-height: 20px;
    }

    .form-input-label {
        font-size: 16px;
        line-height: 14px;
        letter-spacing: 2px;
        margin: 30px 0 5px 0;
        font-weight: bold;

    }

    /*form elements*/
    .error-text-invalid-mail {
        font-size: 17px;
        line-height: 21px;
        letter-spacing: 0.5px;
        margin: 8px 0 0 0;
    }

    input::placeholder {
        font-size: 16px;
        line-height: 26px;
    }

    .email-input {
        font-size: 16px;
        line-height: 1.63;
    }

    .submit-button-password-reset {
        width: 308px;
    }

    .submit-button-save {
        width: 174px;
        height: 52px;
        margin-top: 50px;
    }

    .submit-input-button {
        font-size: 17px;
        line-height: 1.18;
    }

    /*button*/
    .change-password-button {
        width: 308px;
        font-size: 17px;
        line-height: 1.18;
    }
}
