/* HOMEPAGE LAYOUT */
.grid-homepage-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    min-width: 100%;
    max-width: 100%;
    min-height: 100%;
}

/* HEADER + BANNER + FOOTER LAYOUT */
.grid-header-banner-footer-container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    min-width: 100%;
    min-height: 100%;
}

/* HEADER + SIDEBAR + FOOTER LAYOUT */
/* MOBILE */
.grid-header-sidebar-footer-container {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto 1fr auto auto;
    gap: 0px 0px;
    grid-template-areas:
        'header'
        'content'
        'footer'
        'sidebar';
    min-width: 100%;
    min-height: 100%;
    background-color: var(--background-04, #f5f9fc);
}

.grid-header-sidebar-footer-container .header {
    grid-area: header;
}

.grid-header-sidebar-footer-container .content {
    grid-area: content;
}

.grid-header-sidebar-footer-container .footer {
    grid-area: footer;
}

.grid-header-sidebar-footer-container .sidebar {
    grid-area: sidebar;
    position: sticky;
    top: 0;
    bottom: 0;
    z-index: 1;
    margin: 0;
}

/* MOBILE */
@media only screen and (max-width: 959px) {
	.grid-homepage-container, .grid-header-banner-footer-container, .grid-header-sidebar-footer-container {
		display: block;
	}
}

/* DESKTOP */
@media only screen and (min-width: 960px) {
    .grid-header-sidebar-footer-container {
        display: grid;
        grid-template-columns: auto 1fr 1fr;
        grid-template-rows: auto 1fr auto;
        gap: 0px 0px;
        min-width: 100%;
        min-height: 100%;
    }

    .grid-header-sidebar-footer-container .header {
        grid-area: 1 / 1 / 2 / 4;
    }

    .grid-header-sidebar-footer-container .sidebar {
        grid-area: 1 / 1 / 3 / 2;
        position: initial;
        margin: 32px 0 48px 16px;
    }

    .grid-header-sidebar-footer-container .content {
        grid-area: 2 / 2 / 3 / 4;
    }

    .grid-header-sidebar-footer-container .footer {
        grid-area: 3 / 1 / 4 / 4;
    }
}
