*, *::before, *::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

body {
    font-family: Arial, Verdana, "Trebuchet MS", "Lucida Sans Unicode", sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

input, button, textarea, select {
    font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}

html, body, main {
    height: 100%;
}

.body-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    gap: 0 0;
    grid-template-areas:
    "main"
    "footer";
    justify-items: center;
}

.main-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr 1fr;
    gap: 0 0;
    grid-template-areas:
    "logo"
    "text"
    "empty";
    grid-area: main;
    justify-items: center;
    align-items: center;
}

.logo {
    grid-area: logo;
    padding: 2rem 0;
}

.text {
    grid-area: text;
    color: #0066cc;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    padding: 0 1rem;
}

.empty { grid-area: empty; }

.footer {
    grid-area: footer;
    padding-bottom: 2rem;
}
