@import url("../lib/fontawesome-free-6.5.2-web/css/all.min.css");

@font-face {
    font-family: "Charm";
    src: url("../lib/charm/Charm-Regular.ttf");
}

@font-face {
    font-family: "Fira Sans";
    src: url("../lib/fira-sans/FiraSans-Regular.ttf");
}

@font-face {
    font-family: "Fira Sans Light";
    src: url("../lib/fira-sans/FiraSans-Light.ttf");
}

:root {
    --fg: #000000;
    --bg: white;
    --border-color: var(--fg);
    --standard-spacing: 0.4em;
}

body {
    margin: 0;
    padding: 0;

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;

    grid-template-areas: ". main .";
}

body,
input,
select,
button {
    background-color: var(--bg);
    font-family: "Fira Sans Light", sans-serif;
    color: var(--fg);
    font-size: 13pt;
}

a {
    color: var(--fg);
}

strong {
    font-family: "Fira Sans";
    font-weight: normal;
}

input {
    border: none;
    border-bottom: 1px solid black;
    font-family: "Fira Sans";
}

input[type="text"],
input[type="password"],
input[type="search"],
input[type="email"] {
    padding: var(--standard-spacing);
    border-radius: var(--standard-border-radius);
}

main {
    grid-area: main;
    margin: 2em 0;

    text-align: justify;
    hyphens: auto;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Charm";
    margin: 0;
}

.hero {
    font-size: 250%;
    text-align: center;
    color: gray;
}

.signature {
    font-size: 150%;
    font-family: "Charm";
    color: #008;
}

.subsignature {
    border-top: 1px solid gray;
    color: gray;
    margin-top: 1em;
    padding-top: 1em;
}

button {
    --shadow-offset: 3px;

    background-color: #fff5e2;

    border: 1px solid black;
    border-radius: 1em;
    padding: 1em;

    transition: box-shadow 0.15s;
}

button:hover {
    box-shadow: var(--shadow-offset) var(--shadow-offset) 6px rgba(0, 0, 0, 0.5);
}

button:active {
    transition: none;

    box-shadow: none;
    margin-top: var(--shadow-offset);
    margin-left: var(--shadow-offset);
}

@media (max-width: 1600px) {
    body {
        grid-template-columns: 1fr 2fr 1fr;
    }
}

@media (max-width: 700px) {
    body {
        grid-template-columns: 1fr 3fr 1fr;
    }
}

@media (max-width: 400px) {
    body {
        grid-template-columns: 1fr 4fr 1fr;
    }
}