.row {
    display: flex;
    flex-direction: row;
}

.column {
    display: flex;
    flex-direction: column;
}

.gap-4 {
    gap: 4rem;
}

section {
    display: grid;
    grid-template-columns: 1fr 5fr 1fr;
    gap: 4px;
    grid-template-areas:
    ". content .";

    > * {
        grid-area: content;
    }
}

@media (max-width: 1000px) {
    section {
        grid-template-columns: 2fr 5fr 2fr;

    }
}

@media (max-width: 640px) {
    section {
        grid-template-columns: 1fr 5fr 1fr;

    }
}

@media (max-width: 320px) {
    section {
        grid-template-columns: 0.5fr 5fr 0.5fr;

    }
}

.full-section {
    height: calc(100vh - var(--app-header-size));
    overflow: clip;
    padding: 10rem;
}

.third-section {
    height: calc(33vh - var(--app-header-size));
    overflow: clip;
    padding: 10rem;
}

.half-section {
    height: calc(50vh - var(--app-header-size));
    overflow: clip;
    padding: 10rem;
}

.pad-default {
    padding: 8px;
}

.pad-section {
    padding: 32px 0;
}

.grow {
    flex-grow: 1;
}

.grow-2 {
    flex-grow: 2;
}

.shrink {
    flex-shrink: 1;
}

.center-block {
    height: 100%;
    width: 100%;

    display: flex;
    justify-content: center;
    align-items: center;

    box-sizing: border-box;
}

.justify-evenly {
    justify-content: space-evenly;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.justify-around {
    justify-content: space-around;
}

.align-center {
    align-items: center;
}

.align-end {
    align-items: end;
}

.gap {
    gap: 5px;
}