@import url("https://use.typekit.net/fwo7xcg.css");

@font-face {font-family: "Sofia Pro Semi Bold";
    src: url("/assets/fonts/SofiaPro/SofiaPro-SemiBold.eot");
    src: url("/assets/fonts/SofiaPro/SofiaPro-SemiBold.eot?#iefix") format("embedded-opentype"),
    url("/assets/fonts/SofiaPro/SofiaPro-SemiBold.woff2") format("woff2"),
    url("/assets/fonts/SofiaPro/SofiaPro-SemiBold.woff") format("woff"),
    url("/assets/fonts/SofiaPro/SofiaPro-SemiBold.ttf") format("truetype"),
    url("/assets/fonts/SofiaPro/SofiaPro-SemiBold.svg#Sofia Pro Semi Bold") format("svg");
}

body {
    height: 100vh;
    font-family: "Sofia Pro Semi Bold";
}
.bg {
    position: fixed;
    top:0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 0;
    overflow: hidden;
    background-color: #F7F7F7;
}

.white-radius-bg {
    background-color: #FFF;
    border-radius: 50%;
    width: 125vw;
    height: 250vh;
    z-index: 1;
    margin-top: -75vh;
    overflow: hidden;
}
.login-content {
    position: relative;
    z-index: 500;
    height: 100%;
}
@media only screen and (max-width: 992px) {
    .row-content {
        flex-direction: column-reverse;
        margin: 50px 0px;
    }
}
@media only screen and (min-width: 993px) {
    .row-content {
        height: 100%;
    }
}

h1,
h2,
h3,
h4,
h5 {
    font-family: "Sofia Pro Semi Bold";
}

main {
    position: relative;
    background-color: #F7F7F7;
    font-weight: bolder !important;
    height: 100vh;
}

.login__background {
    position: absolute;
    border-radius: 50%;
    width: 100rem;
    height: 150rem;
    background-color: #FFF;
    z-index: 1;
    top: -70%;
    right: -30%;
}

header {
    padding: 50px 0px 0px 40px;
    z-index: 2;
}

.main__container {
    z-index: 2;
}

h2 {
    font-size: 40px;
    font-weight: bold;
    margin: 0;
    padding: 0;
}

.main__container__form {
    text-align: center;
}

.card {
    border-width: 0px;
}

.card h2 {
    margin-bottom: 30px;
}

.btn {
    border-radius: 25px;
    font-weight: bold;
    padding: 0
}

.btn-fb {
    background-color: #3D6AD6;
    color: #FFF;
}

.btn-fb:hover {
    background-color: #4874d9;
    color: #FFF;
}

.btn-google {
    background-color: #F7F7F7;
}

.btn-fb, .btn-google {
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.btn--test-it-out {
    border: 2px solid black;
    font-weight: bold;
    font-size: 16px;
    padding: 18px 30px;
    border-radius: 40px;
}

.mb-20 {
    margin-bottom: 15px;
}

.mb-40 {
    margin-bottom: 40px;
}

.btn-login {
    margin: 30px 0;
    width: 100%;
    height: 60px;
    border-radius: 60px;
}

.login-status {
    margin: 20px 0px 5px 0px;
    padding: 15px;
    text-align: left;
    border-radius: 10px;
    display: flex;
    align-items: center;
}

.main__container__register h2 {
    font-weight: bold;
}

body {
    padding-top: 0px;
}

input.form-control {
    margin: 5px 0px;
    border-radius: 10px;
    height: 72px;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    opacity: 50%;
}
.signInGoogleImg {
    height: 16px;
    margin-right: 10px;
}

.form-group {
    position: relative;
    display: flex;
    flex-direction: column;
}

@media only screen and (max-width: 575px) {
    .form-group {
        width: 90vw;
        max-width: 452px;
    }
}

.form-group label {
    position: absolute;
    left: 20px;
    top: 17px;
    font-size: 13px;
    font-weight: 700;
}
.form-group label span {
    background-color: transparent !important;
}

/* REGISTER */
.form-check {
    text-align: left;
    display: flex;
    align-content: center;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    margin: 5px 0px;
}

form {
    max-width: 500px;
}

.input-directional {
    position: absolute;
    height: 100%;
    width: 25%;
    z-index: 3;
}

select[name="directional"] {
    border: none;
    background-color: transparent;
    height: 82px;
    width: 100%;
    padding-right: 3rem;
}

select[name="directional"]:active,
select[name="directional"]:focus {
    border: none;
    box-shadow: none;
}

input[name="phone"] {
    padding-left: 20%;
}

input[name="regulations"],
input[name="electronicOffers"],
input[name="phoneOffers"] {
    align-self: flex-start;
    min-width: 30px;
    min-height: 30px;
    flex-basis: 2%;
}

label[for="regulations"],
label[for="electronicOffers"],
label[for="phoneOffers"] {
    padding-left: 10px;
    font-size: 13px;
    align-self: center;
    flex-basis: 98%;
    font-weight: 300;
}

span[for="regulations"],
span[for="electronicOffers"],
span[for="phoneOffers"] {
    flex-basis: 100%;
    text-align: center;
}

main.register,
main.forgot {
    background-color: #FFF;
}

.clauzule {
    text-align: left;
    font-size: 11px;
    line-height: 12px;
    font-weight: 300;
    color: #000;
    margin-top: 20px;
}

.clauzule a{
    text-decoration: none;
    text-underline: none;
    color: #000
}

/* ERRORS */
.has-error input {
    border-color: #FF5B59;
}

.form-group input {
    z-index: 2;
}

.form-group label {
    z-index: 3;
}

.form-group.has-error span.help-block {
    background-color: #FFF0F0;
    color: #FF5B59;
    border-radius: 0px 0px 10px 10px;
    margin-top: -10px;
    padding: 10px 5px 5px 5px;
    z-index: 1;
    text-align: left;
}

.form-check .help-block[for="regulations"],
.form-check .help-block[name="electronicOffers"],
.form-check .help-block[name="phoneOffers"] {
    color: #FF5B59;
    text-align: left;
    padding-left: 1rem;
}

/* FORGOT */
.forgot-status {
    margin-bottom: 20px;
    padding: 15px;
    text-align: left;
    border-radius: 10px;
}

.forgot-success {
    background-color: #E6FFF2;
    color: #00B356;
}

.forgot-fail {
    background-color: #FFF0F0;
    color: #FF5B59;
}

.forgot-icon {
    width: 30px;
    height: 30px;
    margin-right: 15px;
}

/* RESET */
p.auth-error {
    margin-bottom: 0px;
}

.form-control {
    padding: 35px 20px 15px 20px;
    min-width: 440px;
}
.input-directional .form-control {
    padding-left: 10px;
}
.form-select {
    padding: 22px 1.75rem 5px 1.75rem;
    background-position: right 35px top 43px;
    font-size: 16px;
    font-weight: 700;
}

.dark-link {
    font-size: 13px;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    text-underline: none;
    border-bottom: 2px solid #000;
}

.f-16 {
    font-size: 16px;
}
.form-check {
 margin: 10px 0;
}
.form-check-input[type=checkbox] {
    border-radius: 9px;
    height: 31px;
    width: 31px;
}

.form-check-label {
    font-size: 13px;
    font-weight: 300;
    color: #000;
    line-height: 14px;
}
.reg-text-container {
    max-width: 570px;
    margin-right: 100px;
}

@media only screen and (max-width: 992px) {
    .reg-text-container {
        margin-right: 0;
    }
}
.reg-bold-text {
    font-size: 26px;
    font-weight: 700;
    color: #000;
    margin-bottom: 30px;
}
.reg-text {
    font-size: 16px;
    color: #919191;
    font-weight: 300;
}
.reg-logo {
    margin-top: 20px;
}
@media only screen and (max-width: 992px) {
    .form-control {
        min-width: auto;
    }
}

@media only screen and (max-width: 992px) {
    .btn-fb, .btn-google {
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 992px) {
    .logo-container {
        display: flex;
        justify-content: center;
    }
    .logo-container img {
        width: 300px;
        height: 75px;
    }
}
