* {
    margin: 0;
    padding: 0;
    font-family: "Libre Franklin";
}
@font-face {
    font-family: "Libre Franklin";
    src: url("../LibreFranklin-VariableFont_wght.ttf");
}
body {
    max-width: 100%;
    min-height: 100vh;
    color: #5b5f62;
    display: flex;
}
.container {
    width: 80%;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.logo {
    width: 5rem;
    margin: 1rem auto;
}
h2 {
    font-size: 2em;
    font-weight: 300;
    margin: 0.5rem auto;
    color: #969696;
}
h2 b {
    font-weight: 800;
    color: #18232f;
}
h5 {
    font-size: 1em;
    font-weight: 300;
    margin: 0.5rem auto;
}
.notif {
    width: 60%;
    margin: auto;
    padding: 1rem auto;
    display: flex;
    justify-content: center;
    align-items: baseline;
}
.notif input,
.notif .submit {
    margin: 0.25rem;
    padding: 0.7rem 1.85rem;
    border-radius: 1.5rem;
    outline: none;
}
.notif input {
    font-size: 0.9em;
    color: #87888f;
    border: 1px solid #e0e4ef;
}
.input-div {
    width: 65%;
    display: flex;
    flex-direction: column;
    position: relative;
}
/* Must me center in mobile */
#is-not-valid-text {
    display: none;
}
.input-div.not-valid {
    margin-bottom: 1rem;
}
#is-not-valid-text.show {
    display: block;
    font-size: 0.75em;
    color: #cd9aa3;
    position: absolute;
    bottom: -15px;
    left: -5px;
}
.is-not-valid {
    border-color: #cd9aa3 !important;
    color: #cd9aa3 !important;
}

.notif .submit {
    width: 20%;
    color: #fff;
    background: #4d7bf3;
    border: none;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s all;
}
.notif .submit:hover {
    background: #7194f4;
}
.illustration {
    width: 50%;
    margin: 2rem auto 0.5rem;
}
.social-media {
    margin: 1rem auto;
}
.social-media i {
    width: 1rem;
    height: 1rem;
    padding: 0.5rem;
    text-align: center;
    color: #497cef;
    font-size: 1em;
    margin: auto 0.5rem;
    transition: 0.3s all;
    border-radius: 100%;
}
.social-media i:hover {
    color: #fff;
    background: #497cef;
}
.copyright {
    color: #c4c3c3;
    font-weight: 600;
}
footer {
    padding: 1rem auto;
    text-align: center;
}

@media screen and (max-width: 600px) {
    .notif,
    .notif .submit,
    .input-div {
        width: 100%;
    }
    h2 {
        font-size: 1.6em;
        text-align: center;
    }
    .notif {
        flex-direction: column;
        align-items: stretch;
    }
    .illustration {
        width: 100%;
    }
    footer {
        padding-top: 5rem;
    }
}
