* {
    box-sizing: border-box;
}

:root {
    --color-primary: #5333ED;
    --color-secondary: #0C022F;
}

html,
body {
    margin: 0;
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;

    padding: 1rem;

    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(1.5rem, 5vw, 2.25rem);
    text-align: center;

    color: var(--color-primary);
}

main {
    width: 100%;
    margin: auto 0;
}

footer {
    width: 100%;
    font-size: .8rem;
    color: var(--color-secondary);
    padding-bottom: 1rem;
}

p, input {
    margin: 0 0 1rem 0;
}

input,
textarea,
.msg {
    font-family: inherit;
    font-size: inherit;
    color: currentColor;
    background: transparent;
    border-color: currentColor;
    border-radius: 5px;
    padding: .25rem .75rem;

    min-height: .8em;
    min-width: .8em;
}

input[type="text"],
textarea {
    width: 100%;
    max-width: 960px;
}

small {
    font-size: clamp(1rem, 5vw, 1.5rem);
    color: var(--color-secondary);
}

.msg {
    width: max-content;
    max-width: 960px;
    margin: 1rem auto;
    border: 2px solid;
    text-align: left;
    background-color: cornsilk;
    box-shadow: -3px 3px currentColor;
}