*  {
    margin: 0;
    padding: 0;
    outline: none;
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

html {
    font-size: 16px;
}

/* mobile first */

body {
    background-color: #f7f7f9;
    min-height: 100vh;
    font-family: "Atkinson", "Calibri", "Arial", "Verdana", "Tahoma", "Times New Roman";
    font-size: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.card {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size: 1rem;
    padding: 1rem;
}

main {
    flex-grow: 1;
}


/* large phones */
@media (min-width: 480px) {

}

/* small tablets / large phones */
@media (min-width: 600px) {

}

/* tablets */
@media (min-width: 768px) {

}

/* small laptops */
@media (min-width: 1024px) {
    body {
        display: grid;
        grid-template-columns: 20% 1fr;
        grid-template-rows: auto 1fr auto; /* header, content, footer */
        grid-template-areas:
            "page-header page-header"
            "aside       main"
            "footer      footer";
        gap: 1rem;
    }

    header  { grid-area: page-header; }
    aside   { grid-area: aside;       }
    main    { grid-area: main;        }
    footer  { grid-area: footer;      }

}

/* desktops */
@media (min-width: 1280px) {

}

/* large desktops / wide monitors */
@media (min-width: 1536px) {
    
}
