:root {
    --red: #B22234;
    --white: #FFFFFF;
    --blue: #3C3B6E;
    --padding: 0.5rem;
    --margin-top-bottom: 0.5rem 0;
}

@font-face {
    font-family: 'usdeclaration';
    font-display: swap;
    src: url("../fonts/usdeclaration-kmBP65i.ttf");
}

@font-face {
    font-family: 'Open Sans';
    font-display: swap;
    src: url("../fonts/OpenSans-Regular-HAVdL7y.ttf");
}

html {
    height: 100vh;
    font-family: 'Open Sans', sans-serif;
}

body {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

header {
    background: var(--red);
    color: var(--white);
    padding: 1rem 0;

    > div {
        align-items: center;
        display: flex;
        justify-content: space-between;

        > nav {
            > ul {
                display: flex;
                list-style-type: none;

                > li:not(:last-child) {
                    margin: 0 1rem;
                }

                > li:last-child {
                    margin: 0 0 0 1rem;
                }
            }
        }
    }
}

footer {
    background: var(--red);
    color: var(--white);
    padding: 1rem 0;
    text-align: center;
    width: 100%;

    > div {
        display: flex;
        justify-content: space-between;
    }
}

small {
    font-size: 0.8125rem;
}

h1, h2, h3, h4, h5, h6 {
    font-family: usdeclaration, sans-serif;
}

h1 {
    font-size: 2rem;
}

h2 {
    font-size: 1.5rem;
    margin: var(--margin-top-bottom);
}

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

strong {
    font-weight: bold;
}

input[type=text], input[type=password] {
    border: 1px solid #cccccc;
    border-radius: 0.5rem;
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
    margin: var(--margin-top-bottom);
    padding: 0.75rem;
    width: 100%;
}

input[type=checkbox] {
    border: 1px solid #cccccc;
    border-radius: 0.5rem;
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
    display: block;
    margin: var(--margin-top-bottom);
    cursor: default;
    appearance: auto;
}

button {
    border: 1px solid #cccccc;
    border-radius: 0.5rem;
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
    background-color: var(--red);
    color: var(--white);
    padding: var(--padding);
    cursor: pointer;
}

.container {
    max-width: 1366px;
    margin: 0 auto;
    padding: 0 0.75rem;
}

.main_container {
    padding: 0.75rem;
}

.cards {
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 0.5rem));
    grid-gap: 1rem;

    > a {
        border-radius: 0.5rem;
        box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
        color: #000000;
        padding: 0.75rem;

        > div blockquote {
            margin: 0 0 0.5rem;
        }
    }
}

.information {
    border-radius: 0.5rem;
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
    padding: 0.75rem;

    > p:not(:last-child) {
        margin: 0 0 0.5rem;
    }

    > p:last-child {
        margin: 0;
    }

    .authors {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 0 0.5rem;
    }
}

.flashes {
    color: var(--white);
    background-color: var(--blue);
    padding: 0.75rem;
}
