* {
    box-sizing: border-box;
}

body,
html {
    padding: 0;
    margin: 0;
}

body {
    background-color: #fff;
    font-size: 28px;
}

main,
footer {
    max-width: 980px;
    margin: 0 auto;
}

main {
    background-color: #fff;
    min-height: 100vh;
    text-align: center;
}

h1 {
    font-size: 5em;
    margin-bottom: 0;
    padding-bottom: .2em;
}

h2 {
    margin-top: 2em;
}

h3 {
    font-size: 3em;
    font-weight: bold;
    margin: .6em 0;
}

.grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1em;
}

.grid div {
    background-color: #f0eef8;
    outline: 1px solid #b7aac1;
    padding: .2em 1em;
    border-radius: 2px;
    padding-bottom: 1em;
}

.grid button {
    background-color: #f0eef8;
    padding: .4em 1em;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    background-color: rgb(255 255 255 / 60%);
    border: 1px solid rgb(0 0 0 / 33%);
}

.flex {
    display: flex;
    justify-content: center;
    align-items: center;
}

#mailinput span {
    background-color: #f0eef8;
    color: #000;
    border: 1px solid #b7aac1;
}

body,
.sintony-regular {
    font-family: "Sintony", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.sintony-bold {
    font-family: "Sintony", sans-serif;
    font-weight: 700;
    font-style: normal;
}

h1,
.nova-mono-regular {
    font-family: "Nova Mono", monospace;
    font-weight: 400;
    font-style: normal;
}

p span {
    display: inline-block;
    color: #7c55a0;
    background-color: #f5f5f5;
    padding: .2em .6em;
}

p#lblTop {
    font-size: 1.4em;
    margin: 0 0 3em 0;
    padding: 0;
    color: #c2398e;
}

form {
    background-color: #f5f5f5;
    padding: 1em;
}

form,
input,
button,
select {
    font-size: 1.4em;
}

select {
    padding: .4em 1em;
}

form label {
    display: block;
}

form button {
    min-width: 50%;
    padding: .4em 1em;
}

footer {
    border-top: 2px solid #c2398e;
    text-align: center;
    margin-top: 2em;
}

/**
 * Responsive
 */

@media (max-width: 1920px) {
    body {
        font-size: 24px;
    }
}

@media (max-width: 1024px) {

    body {
        font-size: 18px;
        padding: 1em;
    }
}

@media (max-width: 768px) {
    .grid {
        grid-template-columns: 1fr;
    }
}