
a:link {

    text-decoration: none;
}

a:hover {

    opacity: 0.7;
}

input {

    outline: none;
}

.pt-5 {

    padding-top: 5px;
}

/*------------------------ LANGUAGE DROPDOWN ------------------------------------*/

div.lang-flag {

    display: flex;
}

img.lang-flag {

    width: 30px;
    height: 30px;
    border-radius: 0.28rem;
}

.language-item-wrapper a .lang-label {

    padding-left: 5px;
}

.language-item-wrapper {

    padding: 5px;
}

.language-item-wrapper:hover {

    background: #F3F5F9;
}

.language-selected-wrapper {

    max-height: 30px;
}

.language-selector-container {

    padding: 10px;
    border-radius: 0.28rem;
}

.language-selector-container:hover {

    background: rgba(113, 201, 226, 0.7);
}

.language-selector-wrapper {

    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.language-dropdown-container {

    display: none;
    position: absolute;
    right: 0;
    top: 55px;
    padding: 5px;
    text-align: left;
    background: #fff;
    min-width: 160px;
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
    border-radius: 0.42rem;
    z-index: 1;
}

.language-item-wrapper a {
    display: flex;
    align-items: center;
    justify-content: normal;
}

.dropdown.btn-language {

    background: #71C9E2;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;
    min-width: 160px;
    font-weight: bold;
    border-radius: 0.42rem;
}

.language-selector-container:hover .language-dropdown-container {

    display: block;
}

.language-selector-container:hover .dropdown.btn-language {

    background: rgba(113, 201, 226, 0.7);
}

/*------------------------ LANGUAGE DROPDOWN OVER ------------------------------------*/

@keyframes fade-in {

    0% {opacity: 0;}
    100% {opacity: 1;}
}

@keyframes fade-out {

    0% {opacity: 1;}
    100% {opacity: 0;}

}

.fade-in {

    animation-name: fade-in;
}

.fade-out {

    animation-name: fade-out;
}

.animated {

    animation-duration: 1s;
    animation-fill-mode: both;
}

.pmp-login-col.left {

    display: grid;
    grid-template-rows: auto auto;
}

.product-image-wrapper {

    display: grid;
    align-content: center;
}

.product-about {
    text-align: center;
}

.product-image-container {
    text-align: center;
}

.product-image-container img {
    max-width: 500px;
}

.pmp-login-wrapper-main {

    height: 100vh;
    width: 100%;
}

.pmp-login-container {

    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: minmax(500px, 25%) minmax(720px, 75%);
}

.pmp-login-col.left {

    padding: 20px;
    background: #fff;
}

.pmp-login-col.right {

    display: grid;
    grid-template-rows: minmax(60px, 5%) 1fr;
    padding: 20px;
    background: #F3F5F9;
    box-shadow: inset 9px 0 8px -9px rgba(0,0,0,.2);
    border-left: 1px solid #ccc;
}

.product-title-wrapper {

    display: grid;
    justify-items: center;
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    grid-row-gap: 0
}

.login-form-wrapper,
.signup-form-wrapper {

    display: grid;
    justify-items: center;
    grid-template-columns: auto;
    grid-template-rows: auto;
    grid-row-gap: 1.5em;
    align-content: center;
}

.signup-form-wrapper {

    grid-row-gap: 0;
}

.new-user-container {

    font-size: 20px;
}

.succ-container {

    max-width: 430px;
}

.hidden {

    visibility: hidden;
}

.bold {

    font-weight: bold;
}

.bolder {

    font-weight: 600;
}

.dark-color {

    color: #181C32;
}

.gray-color {

    color: #B5B5C3;
}

.primary-color {

    color: #71C9E2;
}

.red-color {

    color: #F64E60;
}

.primary-background {

    background: #71C9E2;
}

.cta-title {

    font-size: 32px;
}

.product-title-wrapper .cta-title {

    text-align: center;
}

.cta-sub-title {
    font-size: 20px;
    margin-top: 20px;
    text-align: center;
}

.cta-sub-title > div {
    padding: 10px 0;
    text-align: center;
    width: 300px;
    margin: 0 auto;
}

.p-color {

    color: rgba(126, 130, 153, 0.5);
}

.logo-container {
    display: flex;
}

.logo-container > img {

    width: 100%;
}

.h-color {

    color: #7E8299;
}

.input-label-size {

    font-size: 16px;
}

.new-user-container {

    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.create-account-href-container {

    padding-left: 5px;
}

.signup-title-container {

    padding-bottom: 25px;
}

.login-title-container {

    padding-bottom: 3%;
}

.email-label {

    padding-bottom: 5px;
}

.login-form-wrapper .login-title-container,
.signup-title-container, .login-form-wrapper div.input,
.signup-form-wrapper div.input {

    width: 430px;
}

input.form-input {

    width: 400px;
    min-width: 250px;
    padding: 19px 13px 19px 13px;
    border-radius: 0.85rem;
    border: 0;
    font-size: 16px;
}

.login-button-container {

    padding-left: 0;
    width: 100%;
    max-width: 415px;
    min-width: 320px;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.password-label-forgot-password-wrapper {

    display: flex;
    justify-content: space-between;
    padding-bottom: 5px;
}

.login-btn,
.reset-btn,
.back-btn {

    outline: none;
    border-radius: 0.42rem;
    border: none;
    padding: 13px 26px 13px 26px;
    font-size: 16px;
    color: #fff;
    cursor: pointer;
}

.back-btn {

    color: #71C9E2;
    background-color: #E1F0FF;
}

.back-btn:hover {

    background: rgba(225, 240, 255, 0.7);
}

.login-btn:hover,
.reset-btn:hover {

    background: rgba(113, 201, 226, 0.7);
}

/*------------------------- REGISTER ----------------------- */

.signup-next-button-wrapper {

    width: 430px;
}

.signup-inputs-wrapper,
.reset-input-wrapper {

    display: grid;
    justify-items: center;
    grid-template-columns: auto;
    grid-template-rows: auto;
    grid-row-gap: 1em;
}

.sign-up-steps-wrapper {

    margin-top: 50px;
    display: grid;
    justify-content: center;
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    grid-row-gap: 2.0rem;
}

.step-title {

    font-size: 22px;
}

.step-nr {

    width: 60px;
    height: 60px;
    background: #F3F6F9;
    border-radius: 50%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.nr-label {

    font-size: 1.4rem;
}

.sign-up-step-container {

    display: flex;
    width: 100%;
    align-items: center;
}

.step-detail {

    font-size: 16px;
    font-weight: 500;
    color: #B5B5C3;
}

.step-description {

    padding-left: 20px;
}

.selected-step {

    background: #E1F0FF;
    color: #3699FF;
}

.next-step-button-container {

    width: 100%;
    display: flex;
    justify-content: flex-end;
    padding-top: 10px;
}

.forgot-password-container {

    text-align: right;
    font-size: 16px;
}

.legal-person-checkbox-wrapper {

    display: flex;
    justify-content: flex-end;

}

.legal-person-label {

    width: auto;
    font-size: 16px;
    background: #E1F0FF;
    height: 100%;
    padding: 17px 14px 17px 14px;
    border-radius: 0.85rem 0 0 0.85rem;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
    transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;
}

.is-legal-person-tax-input-container {

    display: flex;
    align-items: center;
    width: 430px;
}

input.form-input.is-legal-person-tax-nr-input {

    width: 100%;
    border-radius: 0 0.85rem 0.85rem 0;
}

/*----------------------PASSWORD RESET-------------------------------*/

.reset-password-buttons-container.input {

    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: auto;
}

/*----------------------MOBILE---------------------------------------*/


@media screen and (max-width: 1220px) {

    .pmp-login-container {
        grid-template-columns: repeat(auto-fit, minmax(768px, 1fr));
    }

}

@media screen and (max-width: 768px) {

    .product-image-wrapper {

        display: none;
    }

    .language-selector-wrapper {

        padding-right: 5px;
    }

    .pmp-login-container {

        grid-template-columns: auto;
    }

    .login-form-wrapper div div button,
    .login-form-wrapper div,
    .signup-form-wrapper div div button,
    .signup-form-wrapper div {

        width: 100%;
    }

    .login-form-wrapper .login-title-container, .signup-title-container,
    .signup-form-wrapper .login-title-container {

        width: 90%;
    }

    .login-form-wrapper div.input,
    .signup-form-wrapper div.input {

        width: 90%;
    }

    .login-form-wrapper div div input,
    .signup-form-wrapper div div input {

        width: calc(100% - 26px);
    }

    .pmp-login-col.left,
    .pmp-login-col.right {

        width: 100%;
        padding-left: 0;
        padding-right: 0;

        box-shadow: unset;
        border-left: 0;
    }

    .pmp-login-col.right {

        padding-top: 0;
    }

    .login-button-container {

        padding-right: 0;
        padding-top: 25px;
        display: block;
    }

    div.login-button-wrapper {

        width: 100%;
        margin: auto;
    }

    .product-title-wrapper,
    .login-form-wrapper,
    .signup-form-wrapper {

        margin-top: 0;
    }

    .cta-title,
    .cta-sub-title {

        text-align: center;
        width: 100%;
    }

    .new-user-container {
        font-size: 16px;
        padding-top: 20px;
    }

    .login-title-container,
    .signup-title-container {

        padding-bottom: 25px;
        text-align: center;
    }

    .login-form-wrapper div.signup-next-button-wrapper,
    .signup-form-wrapper div.signup-next-button-wrapper {

        width: 90%;
    }

    .signup-form-wrapper div div input.legal-person-checkbox {

        width: auto;
    }

    .legal-person-checkbox-label {

        display: flex;
    }

    div.legal-person-label {

        width: auto;
    }
}
