/* Minimal grid/utilities used by the current site */
*,
*::before,
*::after {
	box-sizing: border-box;
}

.clearfix::after {
	content: "";
	display: table;
	clear: both;
}

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

[class*="col-"] {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}

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

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

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

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

.flex-wrap {
	flex-wrap: wrap !important;
}

.mb-2 {
	margin-bottom: 0.5rem !important;
}

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

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

@media (min-width: 576px) {
	.col-sm-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}

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

@media (min-width: 768px) {
	.col-md-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}

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

@media (min-width: 992px) {
	.col-lg-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}

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

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

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

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

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

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

@media (min-width: 1200px) {
	.col-xl-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}
}
