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

:root {
    --bg-color: #192746;
    --nav-color: #2b64a5;
    --font-title: #ffffff;
    --column-side-color: #e9e9e9;
    --column-middle-color: #b5b5b5;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    min-height: 100vh;
}

.cabecalho {
    background-color: var(--bg-color);
}

.banner {
    display: block;
    width: 100%;
    max-width: 1200px;
    margin: auto;
}

.titulo {
    color: var(--font-title);
    text-align: center;
    padding: 1rem 0;
}

.menu {
    background-color: var(--nav-color);
}

.menu-lista {
    display: flex;
    list-style: none;
    width: 80%;
    margin: auto;
}

.menu li {
    display: inline-block;
    padding: 1rem;
}

.menu a {
    color: var(--font-title);
    text-decoration: none;
}

.menu a:hover {
    text-decoration: underline;
}

.conteudo::after {
    content: '';
    display: table;
    clear: both;
}

.coluna {
    float: left;
    padding: 1rem;
    height: 300px;
}

.coluna.side {
    width: 25%;
    background-color: var(--column-side-color);
}

.coluna.middle {
    width: 50%;
    background-color: var(--column-middle-color);
}

.rodape {
    background-color: var(--bg-color);
    text-align: center;
}

.rodape p {
    color: var(--font-title);
    padding: 1rem 0;
}

@media screen and (max-width: 768px) {
    .menu-lista {
        width: 100%;
        justify-content: center;
    }

    .menu li {
        padding: 1rem .5rem;
    }

    .coluna.side, .coluna.middle {
        width: 100%;
    }
}