/*
 * Lightweight Bootstrap-compatible subset for the frontend.
 * Preserves the legacy class API used by the theme while dropping
 * the unused parts of the full framework.
 */

html {
	box-sizing: border-box;
}

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

.container {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
}

.row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}

.row > [class*="col-"],
.row > .col,
.row > .col-md,
.row > .col-lg {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}

.col,
.col-md,
.col-lg,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-12 {
	flex: 0 0 100%;
	max-width: 100%;
}

.d-flex {
	display: flex !important;
}

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

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

.text-left {
	text-align: left !important;
}

.text-center {
	text-align: center !important;
}

.text-right {
	text-align: right !important;
}

.mt-3 {
	margin-top: 1rem !important;
}

.mb-3 {
	margin-bottom: 1rem !important;
}

@media (min-width: 768px) {
	.col-md,
	.col-lg {
		flex: 1 0 0%;
		max-width: 100%;
	}

	.col-md-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}

	.col-md-4 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}

	.col-md-5 {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}

	.col-md-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}

	.col-md-7 {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}

	.col-md-8 {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}

	.col-md-9 {
		flex: 0 0 75%;
		max-width: 75%;
	}

	.col-md-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.order-md-1 {
		order: 1;
	}

	.order-md-2 {
		order: 2;
	}
}

@media (min-width: 992px) {
	.px-lg-3 {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}
