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

.container {
    width: 99.5vw;
    height: 99.5vh;
    display: grid;
    grid-template-rows: 80px 40px 1fr 40px;
    grid-template-columns: 1fr 150px;
    gap: 5px;
}

.caixa {
    background-color: lightgray;
    border: 1px solid black;
    padding: 10px;
    text-align: center;
}

#topo {
    grid-area: 1 / 1 / 2 / -1;
}

#menu {
    grid-area: 2 / 1 / 3 / -1;
}

#principal {
    grid-area: 3 / 1 / -2 / 2;
}

#secundario {
    grid-area: 3 / -2 / -2 / -1;
}

#rodape {
    grid-area: -2 / 1 / -1 / -1;
}