.d-grid {
	 display: grid;
	 grid-template-columns: repeat(12, 1fr);
	 grid-template-rows: auto;
	 grid-column-gap: 1.875rem;
	 grid-row-gap: 1.875rem;
}

/* Adjust grid gaps automaticall for forms */
form.d-grid, form .d-grid, .form-gap {
	 grid-column-gap: 1.5rem;
	 grid-row-gap: 1rem;
}

/* Adjust grid gap sizes on SM screen sizes */
@media (max-width: 768px) {
	.d-grid {
		grid-column-gap: 1rem;
		grid-row-gap: 1rem;
	}
}

.col-1 {
	 grid-column: auto / span 1;
}
 .col-2 {
	 grid-column: auto / span 2;
}
 .col-3 {
	 grid-column: auto / span 3;
}
 .col-4 {
	 grid-column: auto / span 4;
}
 .col-5 {
	 grid-column: auto / span 5;
}
 .col-6 {
	 grid-column: auto / span 6;
}
 .col-7 {
	 grid-column: auto / span 7;
}
 .col-8 {
	 grid-column: auto / span 8;
}
 .col-9 {
	 grid-column: auto / span 9;
}
 .col-10 {
	 grid-column: auto / span 10;
}
 .col-11 {
	 grid-column: auto / span 11;
}
 .col-12 {
	 grid-column: auto / span 12;
}

@media (min-width: 768px) {
	 .col-md-1 {
		 grid-column: auto / span 1;
	}
	 .col-md-2 {
		 grid-column: auto / span 2;
	}
	 .col-md-3 {
		 grid-column: auto / span 3;
	}
	 .col-md-4 {
		 grid-column: auto / span 4;
	}
	 .col-md-5 {
		 grid-column: auto / span 5;
	}
	 .col-md-6 {
		 grid-column: auto / span 6;
	}
	 .col-md-7 {
		 grid-column: auto / span 7;
	}
	 .col-md-8 {
		 grid-column: auto / span 8;
	}
	 .col-md-9 {
		 grid-column: auto / span 9;
	}
	 .col-md-10 {
		 grid-column: auto / span 10;
	}
	 .col-md-11 {
		 grid-column: auto / span 11;
	}
	 .col-md-12 {
		 grid-column: auto / span 12;
	}
}

@media (min-width: 1048px) {
	 .col-lg-1 {
		 grid-column: auto / span 1;
	}
	 .col-lg-2 {
		 grid-column: auto / span 2;
	}
	 .col-lg-3 {
		 grid-column: auto / span 3;
	}
	 .col-lg-4 {
		 grid-column: auto / span 4;
	}
	 .col-lg-5 {
		 grid-column: auto / span 5;
	}
	 .col-lg-6 {
		 grid-column: auto / span 6;
	}
	 .col-lg-7 {
		 grid-column: auto / span 7;
	}
	 .col-lg-8 {
		 grid-column: auto / span 8;
	}
	 .col-lg-9 {
		 grid-column: auto / span 9;
	}
	 .col-lg-10 {
		 grid-column: auto / span 10;
	}
	 .col-lg-11 {
		 grid-column: auto / span 11;
	}
	 .col-lg-12 {
		 grid-column: auto / span 12;
	}
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	 .d-grid:after, .d-grid:before {
		 display: table;
		 content: ' ';
	}
	 .d-grid:after {
		 clear: both;
	}
	 .col-1 {
		 float: left;
		 width: 8.3333333333%;
		 padding: 0.75rem;
	}
	 .col-2 {
		 float: left;
		 width: 16.6666666667%;
		 padding: 0.75rem;
	}
	 .col-3 {
		 float: left;
		 width: 25%;
		 padding: 0.75rem;
	}
	 .col-4 {
		 float: left;
		 width: 33.3333333333%;
		 padding: 0.75rem;
	}
	 .col-5 {
		 float: left;
		 width: 41.6666666667%;
		 padding: 0.75rem;
	}
	 .col-6 {
		 float: left;
		 width: 50%;
		 padding: 0.75rem;
	}
	 .col-7 {
		 float: left;
		 width: 58.3333333333%;
		 padding: 0.75rem;
	}
	 .col-8 {
		 float: left;
		 width: 66.6666666667%;
		 padding: 0.75rem;
	}
	 .col-9 {
		 float: left;
		 width: 75%;
		 padding: 0.75rem;
	}
	 .col-10 {
		 float: left;
		 width: 83.3333333333%;
		 padding: 0.75rem;
	}
	 .col-11 {
		 float: left;
		 width: 91.6666666667%;
		 padding: 0.75rem;
	}
	 .col-12 {
		 float: left;
		 width: 100%;
		 padding: 0.75rem;
	}
}

@media all and (-ms-high-contrast: none) and (min-width: 768px), (-ms-high-contrast: active) and (min-width: 768px) {
	 .col-md-1 {
		 float: left;
		 width: 8.3333333333%;
		 padding: 0.75rem;
	}
	 .col-md-2 {
		 float: left;
		 width: 16.6666666667%;
		 padding: 0.75rem;
	}
	 .col-md-3 {
		 float: left;
		 width: 25%;
		 padding: 0.75rem;
	}
	 .col-md-4 {
		 float: left;
		 width: 33.3333333333%;
		 padding: 0.75rem;
	}
	 .col-md-5 {
		 float: left;
		 width: 41.6666666667%;
		 padding: 0.75rem;
	}
	 .col-md-6 {
		 float: left;
		 width: 50%;
		 padding: 0.75rem;
	}
	 .col-md-7 {
		 float: left;
		 width: 58.3333333333%;
		 padding: 0.75rem;
	}
	 .col-md-8 {
		 float: left;
		 width: 66.6666666667%;
		 padding: 0.75rem;
	}
	 .col-md-9 {
		 float: left;
		 width: 75%;
		 padding: 0.75rem;
	}
	 .col-md-10 {
		 float: left;
		 width: 83.3333333333%;
		 padding: 0.75rem;
	}
	 .col-md-11 {
		 float: left;
		 width: 91.6666666667%;
		 padding: 0.75rem;
	}
	 .col-md-12 {
		 float: left;
		 width: 100%;
		 padding: 0.75rem;
	}
}

@media all and (-ms-high-contrast: none) and (min-width: 1048px), (-ms-high-contrast: active) and (min-width: 1048px) {
	 .col-lg-1 {
		 float: left;
		 width: 8.3333333333%;
		 padding: 0.75rem;
	}
	 .col-lg-2 {
		 float: left;
		 width: 16.6666666667%;
		 padding: 0.75rem;
	}
	 .col-lg-3 {
		 float: left;
		 width: 25%;
		 padding: 0.75rem;
	}
	 .col-lg-4 {
		 float: left;
		 width: 33.3333333333%;
		 padding: 0.75rem;
	}
	 .col-lg-5 {
		 float: left;
		 width: 41.6666666667%;
		 padding: 0.75rem;
	}
	 .col-lg-6 {
		 float: left;
		 width: 50%;
		 padding: 0.75rem;
	}
	 .col-lg-7 {
		 float: left;
		 width: 58.3333333333%;
		 padding: 0.75rem;
	}
	 .col-lg-8 {
		 float: left;
		 width: 66.6666666667%;
		 padding: 0.75rem;
	}
	 .col-lg-9 {
		 float: left;
		 width: 75%;
		 padding: 0.75rem;
	}
	 .col-lg-10 {
		 float: left;
		 width: 83.3333333333%;
		 padding: 0.75rem;
	}
	 .col-lg-11 {
		 float: left;
		 width: 91.6666666667%;
		 padding: 0.75rem;
	}
	 .col-lg-12 {
		 float: left;
		 width: 100%;
		 padding: 0.75rem;
	}
}
 