#main-container {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	z-index: 1;

	.site-footer {
		margin-top: auto;
	}
}

.site-main {
	flex-grow: 1;
	background: var(--siteBackground);
}

// Fixed container
.ct-container {
	@include container-width(( width: fixed ));
}

// Fluid container
.ct-container-fluid {
	@include container-width(( width: fluid ));
}

// Boundless container
.ct-container-boundless {
	@include container-width(( width: boundless ));
}


// Sidebar
@include media-breakpoint-up (lg) {
	[data-sidebar] {
		display: grid;
		grid-column-gap: var(--sidebarGap);
	}

	[data-sidebar="right"] {
		grid-template-columns: minmax(100px, 1fr) var(--sidebarWidth);
	}

	[data-sidebar="left"] {
		grid-template-columns: var(--sidebarWidth) minmax(100px, 1fr);

		> section {
			order: 2;
		}

		> aside {
			order: 1;
		}
	}
}


// Main page container spacing
body:not(.main-content-area-boundless) {
	.content-area {
		padding-top: var(--contentAreaSpacing);
		padding-bottom: var(--contentAreaSpacing);
	}
}

body:not(.ct-has-sidebar) {
	.content-area {
		overflow-x: hidden;
	}
}