@font-face {
    font-family: 'cv-icons';
    src: url('../fonts/icons/cv-icons.eot?766696721');
    src: url('../fonts/icons/cv-icons.eot?766696721#iefix') format('embedded-opentype'), url('../fonts/icons/cv-icons.woff2?766696721') format('woff2'), url('../fonts/icons/cv-icons.woff?766696721') format('woff'), url('../fonts/icons/cv-icons.ttf?766696721') format('truetype'), url('../fonts/icons/cv-icons.svg?766696717#cv-icons') format('svg');
    font-weight: normal;
    font-style: normal;
}

body.hideaccout .nav-puller .button {display:none;}

.registration .logo,
.registration .button,
.log-in .logo,
.log-in .button,
.reset-password .logo,
.reset-password .button {
    color: #414099 !important;
}

.registration .button,
.log-in .button,
.reset-password .button {
    position: relative;
    font-size: 12px;
    text-transform: uppercase;
    height: 40px;
    padding: 0px 20px;
    border: 1px solid rgba(91, 94, 94, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 13;
}

.registration .nav-puller a:first-child,
.log-in .nav-puller a:nth-child(2),
.reset-password .nav-puller a:nth-child(2) {
    border-color: #414099;
}

.registration .button.register-btn:first-child,
.log-in .button.register-btn:first-child,
.reset-password .button.register-btn:first-child {
    margin-right: 24px;
}

.registration .menu div,
.log-in .menu div,
.reset-password .menu div {
    background-color: #414099;
}

.registration-section .flex .registration-guide-text div p {
    max-width: 460px;
}

.registration-section .flex>div:nth-of-type(1) div {
    max-width: 580px;
    margin-right: 0px;
    margin-left: 64px;
}

.registration-guide-text {
    flex: 1 !important;
    align-items: flex-start !important;
}


.registration-section .flex {
    background: url(../images/registration-background.webp) no-repeat center center/cover;
}

.registration-guide-text h1 {
    font-size: 100px;
    letter-spacing: 0;
    line-height: 1em;
    margin-bottom: 16px;
}

.registration-guide-text h1 span {
    font-style: italic;
}

.registration-guide-text p {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 28px;
    margin-bottom: 40px;
    margin-top: 0px;
}

.registration-guide-text div h3 {
    text-transform: none;
    font-size: 30px;
    font-family: "Playfair Display";
    font-weight: 400;
    letter-spacing: 0px;
    margin-top: 0px;
}

.registration-guide-text div h3 a {
    color: #5B5E5E;
    text-decoration: underline;
    text-decoration-thickness: 1px;
}

.you-are-in-area {
    display: none;
}

.register-form-wrapper {
    max-width: 500px;
    padding: 0px 64px;
}

.register-form-wrapper form {
    margin-left: 0px;
}

.register-form-wrapper form p.validation {
    margin-top: 4px !important;
}

.register-form-wrapper form div {
    position: relative;
}

.register-form-wrapper form .textbox {
    max-width: 100%;
    padding-right: 40px;
}

.register-form-wrapper form .textbox::placeholder {
    opacity: 40%;
}

.register-form-wrapper form .reg-step-1 div input {
    position: relative;
}

.register-form-wrapper form .reg-step-1 .delivery-location:first-child::after {
    content: url(../images/search.svg);
    position: absolute;
    top: 27px;
    right: 10px;
    z-index: 5;
}

.reg-step-1 >div >div:nth-child(1){
    margin-bottom: 24px;
}


.register-form-wrapper form .reg-step-1 .area-notice {position: absolute;left: 50%;top: 50%;width: 100%;transform: translate(-50%,-50%);display:none;}
.register-form-wrapper form .reg-step-1 .area-notice.over {display:block;}

.register-form-wrapper form .reg-step-1 .area-notice div {
    background-color: #414099;
    color: #fff;
    padding: 24px;
    max-width: 373px;
    position: relative;
}

.register-form-wrapper form .reg-step-1 .area-notice div p {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 28px;
    margin-top: 0px;
    animation: none;
    transform: none;
    max-width: 301px;
}

.register-form-wrapper form .reg-step-1 .area-notice div h4 {
    margin-top: 16px;
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 28px;
    max-width: 301px;
}

.register-form-wrapper form .reg-step-1 .area-notice div .button {
    margin-top: 8px;
    color: #fff !important;
    border: 1px solid #FFFFFF;
    width: 116px;
    margin-left: 0px;
}

.register-form-wrapper form .reg-step-1 .area-notice div .button:hover {
    border-color: #414099 !important;
}

.register-form-wrapper form .reg-step-1 .area-notice div .close-notice {
    display: block;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 15px;
    padding: 0px;
}

.register-form-wrapper form .reg-step-1 .area-notice div .close-notice::after {
    content: url(../images/close.svg);
    height: 17px;
    width: 17px;
}

.register-form-wrapper form .reg-step-1 button {
    height: 40px;
    width: 158px;
    color: #FFFFFF;
    font-family: "Lexend Deca";
    font-size: 12px;
    letter-spacing: 0;
    line-height: 15px;
    padding: 0px;
    display: flex;
    justify-content: center;
    margin-top: 24px;
    margin-left: auto;
    font-weight: 400;
    text-transform: uppercase;
}

.register-form-wrapper form .reg-step-1 button::after {
    content: "";
}

.register-form-wrapper form .reg-step-1,
.register-form-wrapper form .reg-step-2 {
    display: none;
}

.register-form-wrapper form .reg-step-1.active,
.register-form-wrapper form .reg-step-2.active {
    display: block;
}

.register-form-wrapper form .reg-step-2 button {
    height: 88px;
    width: calc(100% + 64px);
}

.register-form-wrapper form .password-label {
    display: inline-flex;
    align-items: center;
}

.register-form-wrapper form .pw-info {
    background-color: #D7BDB3;
    max-width: 250px;
    padding: 8px;
    color: #fff;
    position: absolute;
    top: -76px;
    left: 65px;
    z-index: 10;
    display: none;
}

.register-form-wrapper form .pw-info::before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 25px;
    transform: rotate(180deg);
    margin-left: -5px;
    border-width: 10px 5px;
    border-style: solid;
    border-color: transparent transparent #D7BDB3 transparent;
}

.register-form-wrapper form .pw-info h4,
.register-form-wrapper form .pw-info ul li {
    font-size: 12px;
    letter-spacing: 0;
    line-height: 15px;
    font-weight: 400;
}

.register-form-wrapper form .pw-info ul {
    margin: 0px;
    padding-left: 20px;
}

.register-form-wrapper form .password-label span.info::after {
    content: url(../images/information.svg);
    height: 16px;
    width: 16px;
    margin-left: 8px;
}

.register-form-wrapper form .pw-info.show {
    display: block;
}

.register-form-wrapper form .reg-step-2 input {
    position: relative;
    z-index: -1;
}

.register-form-wrapper form .toggle-password,
.reg-step-2 span {
    cursor: pointer;
    position: absolute;
    right: 0;
    bottom: 7px;
    color: #414099;
    text-transform: uppercase;
    font-family: "Lexend Deca";
    font-size: 12px;
    letter-spacing: 0;
    line-height: 15px;
}

.register-form-wrapper form .toggle-password {
    bottom: initial;
    top: 50px;
}

.register-form-wrapper form .toggle-password.second-pw-toggle {
    top: 35px;
}


.register-form-wrapper form .reg-step-2 .password-label span {
    right: -23px;
    bottom: -4px;
}

.accept-terms-checkbox {
    flex-direction: column;
    align-items: start !important;
    padding-left: 26px;
}

.accept-terms-checkbox input {
    margin-top: 0px !important;
    left: -24px;
    bottom: -20px;
}

.accept-terms-checkbox p.validation {
    padding-left: 5px;
}

.accept-terms-checkbox label a {
    color: #5B5E5E;
    text-decoration: underline;
}

.accept-terms-checkbox label {
    padding-left: 10px !important;
}

.create-account-success {
    display: block;
}

.create-account-success .flex {
    justify-content: center;
    background: url(../images/registration-background.webp) no-repeat center center/cover;
}

.success-text {
    background-color: #fff;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0px 64px;
}

.success-text h2 {
    margin-bottom: 32px;
}

.success-text h3 {
    font-size: 30px;
    letter-spacing: 0;
    line-height: 40px;
    margin-bottom: 40px;
}

.success-text h3 span {
    font-style: italic;
}

.success-text p {
    font-size: 16px;
    letter-spacing: 0;
    line-height: 28px;
}

.reg-step-1 p.validation,
.reg-step-2 p.validation {
    animation: none !important;
    transform: translateX(0px) !important;
}

@media screen and (max-width: 1440px) {
    .registration-section button {
        max-width: calc(100% + 64px) !important;
        margin-left: auto;
    }
}

@media screen and (max-width: 1200px) {
    .registration-section .flex {
        flex-direction: column;
    }

    .registration-section .flex>div:nth-of-type(1) div {
        padding: 0px 24px 0px 24px;
    }

    .registration-section form {
        width: 100%;
        max-width: none;
    }

    /* .registration-section form{
        margin-left: 0;
        width: 100%;
        max-width: 100%;
        margin-bottom: 200px;
    } */

    .register-form-wrapper {
        max-width: none;
        padding: 64px;
        margin: 0 auto;
        width: 100%;
    }

    .registration-guide-text h1 {
        font-size: 32px;
    }

    .registration-guide-text div h3 {
        display: none;
    }

    .registration-section .registration-guide-text p,
    .register-form-wrapper form .reg-step-1 .area-notice div p {
        display: block;
    }

    .registration-section .flex>div:nth-of-type(1) div {
        margin-left: 0px;
    }

    .registration .button,
    .log-in .button,
    .reset-password .button {
        position: relative;
        font-size: 12px;
        text-transform: uppercase;
        height: 40px;
        padding: 0px 8px;
        border: 1px solid rgba(91, 94, 94, 0.1);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 13;
    }

    .registration .nav-puller a:first-child,
    .log-in .nav-puller a:nth-child(2),
    .reset-password .nav-puller a:nth-child(2) {
        border-color: #414099;
    }

    .registration .button.register-btn:first-child,
    .log-in .button.register-btn:first-child,
    .reset-password .button.register-btn:first-child {
        margin-right: 16px;
    }
}

.mobile-login-btn {
    display: none;
}

@media screen and (max-width: 992px) {
    
    .reg-step-1 >div >div:nth-child(1){
    margin-bottom: 0px;
}

    .nav-puller {
        top: 16px;
    }

    .register-form-wrapper form .pw-info {
        top: -78px;
        left: 55px;
    }
}

@media screen and (max-width: 768px) {
    .create-account-success {
        height: 100vh;
        display:flex;
        justify-content: center;
        align-items: center !important;
        background: url(../images/registration-background.webp) no-repeat center center/cover;
    }

    .reset-pw-success {
        background: url(../images/log-in.webp) no-repeat center center/cover;
    }

    .create-account-success .flex {
        width: 100%;
    }

    .success-text {
        height: fit-content;
        padding: 64px 24px;
        width: 100%;
    }

    .register-form-wrapper {
        justify-content: space-between !important;
        min-height: calc(100vh - 350px);
        padding-bottom: 24px !important;
    }

    .mobile-login-btn {
        display: block !important;
        font-family: "Playfair Display";
        font-size: 16px !important;
        letter-spacing: 0;
        line-height: 21px;
    }

    .mobile-login-btn a {
        color: #5B5E5E;
        text-decoration: underline;
    }
}

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

    .login-guide-text h1,
    .reset-guide-text h1 {
        max-width: 270px;
    }

    .registration-guide-text p {
        font-size: 14px;
    }

    .create-account-success .success-text h2 {
        font-size: 32px;
    }

    .create-account-success .success-text h3 {
        font-size: 28px;
        max-width: 312px;
    }

    .create-account-success .success-text br {
        display: none;
    }

    .register-form-wrapper form .toggle-password {
        bottom: initial;
        top: 80px;
    }

    .register-form-wrapper form .pw-info {
        top: -50px;
        left: 55px;
    }

    .registration-section #create-account-btn::after {
        content: "\e810";
    }

}

@media screen and (max-width: 360px) {
    .register-form-wrapper form .pw-info {
        top: -80px;
        left: 55px;
    }
}

/* =============== LOGIN PAGE ===============  */



.log-in-section .flex,
.reset-password-section .flex {
    background: url(../images/log-in.webp) no-repeat center center/cover !important;
}


.log-in-section .flex>div:nth-of-type(1) div {
    max-width: 527px;
}

.log-in-wrapper form .reg-step-1 button {
    font-family: "Lexend Deca";
    height: 80px;
    width: 438px;
    background: #414099;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 20px;
    font-weight: 400;
    color: #fff;
    padding: 0px 60px;
    margin-top: 28px;
    cursor: pointer;
    transition: background .3s linear;
}

.log-in-wrapper form .reg-step-1 button:hover {
    background-color: #5B5E5E;
}

.log-in-wrapper form .reg-step-1 button:after {
    content: "\e800";
    font-size: 15px;
    font-family: 'cv-icons';
}

.registration-section form .textbox {
    border-bottom: 1px solid rgba(91, 94, 94, 0.2);
}

.registration-section form .textbox:focus {
    border-bottom: 1px solid rgba(91, 94, 94, 1);
}

.details-options {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.remember-me-checkbox {
    display: flex;
    align-items: center;
}

.remember-me-checkbox label {
    position: relative;
    padding-left: 13px;
    text-transform: capitalize !important;
    margin-top: 0px !important;


}

.accept-terms-checkbox label {
    padding-left: 10px !important;
    text-transform: none !important;
}

.remember-me-checkbox label::before {
    cursor: pointer;
    content: "";
    position: absolute;
    left: -27px;
    top: -8px;
    height: 24px;
    width: 24px;
    border: 1px solid #5B5E5E;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.accept-terms-checkbox label::before {
    border: 1px solid rgba(91, 94, 94, 0.2);
}


.remember-me-checkbox input {
    margin-top: 15px;
    width: 20px;
    height: 20px;
    visibility: hidden;
}


.remember-me-checkbox input:checked+label::before {
    content: "\e811";
    font-family: "cv-icons";
    font-size: 14px;
    color: #414099;
    border: 1px solid #5B5E5E;
}

.details-options div:nth-child(2) a {
    font-size: 12px;
    letter-spacing: 0;
    line-height: 13px;
    text-align: right;
    color: #414099;
    text-transform: uppercase;
}

@media screen and (max-width: 576px) {
    .log-in-wrapper form .reg-step-1 button:after {
        content: "\e810";
    }
}

/* =============== /LOGIN PAGE ===============  */


/* =============== RESET PW PAGE ===============  */

.reset-pw-form-wrapper form .reg-step-2 button {
    height: 40px;
    width: 158px;
    color: #FFFFFF;
    font-family: "Lexend Deca";
    font-size: 12px;
    letter-spacing: 0;
    line-height: 15px;
    padding: 0px;
    display: flex;
    justify-content: center;
    margin-top: 24px;
    margin-left: auto;
    font-weight: 300;
    text-transform: uppercase;
}

.reset-password-section button:after {
    content: "";
}

.reset-guide-text div h3 {
    padding-left: 64px;
    margin-bottom: 40px;
}

.reset-guide-text div h3 a {
    text-decoration: none;
    padding-left: 0px;
}

.reset-guide-text div h3 a::before {
    content: "";
    font-size: 15px;
    font-family: 'cv-icons';
    height: 14.74px;
    width: 48px;
    position: absolute;
    background: url(../images/icon-arrrow-right\ @1.5x.webp) no-repeat center center/cover;
    left: -65px;
    top: 14px;
}

.reset-pw-form-wrapper form .reg-step-1 div button {
    width: 116px;
}

.reset-pw-success .flex {
    background: url(../images/log-in.webp) no-repeat center center/cover;
}

.reset-pw-success .success-text h3 {
    max-width: 440px;
}

.reset-pw-success .success-text a {
    height: 40px;
    width: 93px;
    background-color: #414099;
    color: #fff !important;
    font-size: 12px;
    letter-spacing: 0;
    line-height: 13px;
    transition: background .3s linear;
    display:inline-flex;
}

.reset-pw-success .success-text a:hover {
    background-color: #5B5E5E;
}

.reset-pw-form-wrapper form .reg-step-2 #reset-pw-btn {
    height: 40px;
    font-size: 12px;
    width: auto;
    padding: 0 24px;
}

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

    .reset-guide-text div h3 {
        display: block;
        margin-bottom: 20px;
    }

    .reset-guide-text div h3 span {
        display: none;
    }

    .nav-puller {
        align-items: center;
    }

}

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

    .registration .button,
    .log-in .button,
    .reset-password .button {
        height: 32px;
    }

    .registration .button.register-btn:first-child,
    .log-in .button.register-btn:first-child,
    .reset-password .button.register-btn:first-child {
        width: 72px;
    }

    .registration .button,
    .log-in .button,
    .reset-password .button {
        width: 63px;
    }

    .registration .button.register-btn:first-child,
    .log-in .button.register-btn:first-child,
    .reset-password .button.register-btn:first-child {
        margin-right: 10px;
        font-size: 11px;
    }

    .reset-guide-text div h3 {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 20px;
        font-size: 16px;
        padding-left: 40px;
    }

    .reset-guide-text div h3 a::before {
        position: absolute;
        background: url(../images/icon-arrow-right-mobile.svg) no-repeat center center/cover;
        left: -40px;
        top: 2px;
        height: 14px;
        width: 32px;
    }

    .section-register .flex {
        padding-top: 95px;
    }

    .registration-guide-text p {
        line-height: 24px;
    }

    .section-register .flex>div:nth-of-type(2) {
        padding-top: 54px;
    }

    .registration-section form .textbox {
        font-size: 16px;
    }

    /* .register-form-wrapper form div {
        margin: 0 8px 0px 8px;
    } */

    .register-form-wrapper form .reg-step-1 button {
        margin-top: 38px;
    }

    /* register details */

    .reg-step-2 .reg-form {
        margin: 0 8px 0px 8px;
    }

    .form-register .reg-label {
        margin-top: 45px;
    }

    .form-register .password-label {
        margin-top: 45px;
    }

    .accept-terms-checkbox {
        padding-bottom: 13px;
        align-items: center;
        margin-left: 8px;
    }

    .desktop-show {
        display: initial;
    }

    .accept-terms-checkbox label {
        font-size: 11px !important;
        letter-spacing: 0.3px !important;
    }


    /* 
    .register-form-wrapper form .reg-step-2 button{
        font-size: 16px;
        width: 320px;
        height: 80px;
    } */

    .accept-terms-checkbox label {
        padding-left: 14px !important;
    }

    .accept-terms-checkbox p.validation {
        padding-left: 14px;
    }

    .remember-me-checkbox label::before {
        left: -27px;
        top: -13px;
        height: 32px;
        width: 32px;
        border: 1px solid #5B5E5E;
    }

    .accept-terms-checkbox label::before {
        border: 1px solid rgba(91, 94, 94, 0.2);
    }

    .remember-me-checkbox input:checked+label::before {
        content: "\e806";
        font-family: "cv-icons";
        font-size: 14px;
        border: 1px solid #5B5E5E;
    }

    .log-in-wrapper form .reg-step-1 button {
        font-size: 16px;
    }

}

@media screen and (max-width: 370px) {
    .accept-terms-checkbox label::before {
        top: -7px;
    }
}

.delivery-location .textbox {
    border-bottom: 1px solid rgba(91, 94, 94, 0.2) !important;
}

.delivery-location .textbox:focus {
    border-bottom: 1px solid rgb(91, 94, 94) !important;
}

.reg-step-2.active .textbox {
    border-bottom: 1px solid rgba(91, 94, 94, 0.2) !important;
}

.reg-step-2.active .textbox:focus {
    border-bottom: 1px solid rgb(91, 94, 94) !important;
}

.register-form-wrapper form .reg-step-2 button {
    text-transform: uppercase;
    font-family: "Lexend Deca";
    font-size: 16px;
    letter-spacing: 1.6px;
}

.hide {
    display: none;
}

.register-form-wrapper form .reg-step-2 button {
    height: 80px;
}

.confirm-validation {
    color: #414099;
    visibility: hidden;
    animation-delay: 0.1s !important;
    animation-duration: 0.1s !important;
}

.nav-btns {
    display: flex;
    flex-direction: row;
}

/* =============== /RESET PW PAGE ===============  */