@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --blue: #4f7df3;
    --light-blue: #c2d3ff;
    --error: #ff5263;
    --gray: #969696;
    --dark: #151f29;

    --font: "Libre Franklin", sans-serif;
}

* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

body {
    font-family: var(--font);
    padding: 45px 30px 0px 30px;
    text-align: center;
    color: var(--dark);
}

main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

header > img {
    width: 50px;
    padding: 20px 0px;
}

header > div#test-presentation h1 {
    font-size: 22px;
    font-weight: 300;
}

header > div#test-presentation h1 strong {
    font-weight: 700;
}

header > div#test-presentation p {
    font-size: 14px;
    margin: 15px 0px;
}

section#email-input {
    width: 80%;
}

section#email-input > input, button {
    display: block;
    width: 100%;
    padding: 8px 20px;
    border-radius: 50px;
}

section#email-input input {
    border: 1px solid var(--light-blue);
}

section#email-input input::placeholder {
    color: var(--light-blue);
}

section#email-input p.error-msg {
    font-size: 12px;
    color: var(--error);
    font-style: italic;
    margin: 5px 0px 20px 0px;
}

section#email-input p#invalid-email {
    display: none;
}

section#email-input p#empty-input {
    display: none;
}

section#email-input button {
    background-color: var(--blue);
    color: #ffffff;
    border: none;
    box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.201);
    margin-top: 10px;
    cursor: pointer;
}

section#img-db {
    width: 100%;
}

section#img-db img {
    width: 100%;
    margin: 60px 0px 100px 0px;
}

section#social-media {
    margin-bottom: 30px;
}

section#social-media a {
    border: 1px solid var(--gray);
    padding: 8px;
    border-radius: 50%;
    margin-right: 8px;
}

section#social-media a > i.fa-brands {
    color: var(--blue);
}

div#copyright {
    color: var(--gray);
    padding-bottom: 15px;
}

footer {
    font-size: 12px;
    padding: 5px;
}

footer a {
    color: var(--gray);
    text-decoration: none;
}

footer a:hover {
    color: var(--blue);
    text-decoration: underline;
}

@media screen and (min-width: 1024px) {
    body {
        padding: 45px 60px 0px 60px;
    }

    section#email-input {
        width: 70%;
        display: grid;
        grid-template-columns: 70% auto;
        grid-template-rows: auto auto;
        gap: 10px;
    }

    section#email-input > input, button {
        padding: 15px 20px;
    }
    
    section#email-input > button {
        grid-column: 2 / 3;
        margin: 0px;
        transition: 0.5s;
    }

    section#email-input > button:hover {
        background-color: #6c92f1;
    }

    section#email-input > p.error-msg {
        grid-area: 2 / 1 / 3 / 2;
        text-align: left;
        margin: 0px 0px 0px 15px;
    }

    section#img-db {
        width: 70%;
    }

    section#social-media a {
        transition: 0.5s;
    }

    section#social-media a:hover {
        background-color: var(--blue);
    }

    section#social-media > a:hover i {
        color: #ffffff;
    }
}
