hgroup#product-header {
	display: flex;
	justify-content: space-between;
	> * { flex-grow: 1; min-width: 48%; }
	.product-header-image {
		background-size: cover;
		background-position: 50%;
	}
	.product-header-content {
		padding: 5% 3rem;
		font-size: 105%;
		h1 { font-weight: 800; }
		.post-content { max-width: 600px}
	}
}
@media(max-width:991px) {
	hgroup#product-header {
		flex-direction: column;
		> * { min-width: unset; }
		.product-header-image {
			padding-bottom: 50%;
		}
		.product-header-content {
			margin-top: -33%;
			background: rgba(255,255,255,0.75);
			z-index: 1;
			margin-left:auto;
			margin-right:auto;
		}
	}
}
@media(max-width:767px) {
	hgroup#product-header {
		.product-header-content {
			margin-top: 0;
		}
	}
}

section {
	h2 { font-weight: 800; font-size: clamp(1.25rem, 1.5vw + 1.25rem, 2.5rem); margin-bottom: 0.5em; }
	h2 + h4 { font-weight: 800; }
}

.ht-100 { min-height: 100%; }
.well.bg-dark-gray {
	color: #fff;
	background-color: #4a4a4a;
	padding:2rem;
	h5 { font-weight: 600;}
	.icon-wrapper { margin-bottom: 1.5rem; }
	img { max-height: 90px; width:auto !important; }
	p { font-weight: 300; line-height: 1.6}
	h5.big { 
		font-size: 3.5em; 
		font-weight: 800;
		white-space: nowrap;
		letter-spacing: -2px;
		small { font-size: 50%; letter-spacing: normal; }
	}
}
.well .d-flex {
	> .icon-wrapper { min-width: 25%; padding-right: 5%; }
}
@media(max-width:991px) {
	.well.bg-dark-gray {
		padding-left: 1rem;
		padding-right: 1rem;
		h5.big { font-size: 3em; }
	}
}
aside.image-gallery { display: flex; flex-wrap: wrap; background: #CCCCCC; padding: 3px; }
aside.image-gallery .img-col { padding: 3px; }
aside.image-gallery button.btn-thumb { display: block; width: 100%; border: none; }

aside.image-gallery {
	button.btn-thumb {
		span.img-caption { opacity: 0; position: absolute; background: rgba(0,0,0,0.75); left: 0; right: 0; top: 0; bottom: 0; color: white; font-weight: 300; text-align: center; font-size: 0.75em; }
		span.img-caption > span { position: absolute; left: 0; width: 100%; padding: 10px; top: 50%; transform: translateY(0); }
	}
	button.btn-thumb:hover {
		span.img-caption { opacity: 1; transition: opacity 0.25s; }
		span.img-caption > span { transform: translateY(-50%); transition: transform 0.35s; }
	}
}
@media(min-width: 1200px) {
	aside.image-gallery .img-col { width: 12.5%; }
}
@media(max-width: 1199px) {
	aside.image-gallery .img-col { width: 16.666% }
}
@media(max-width: 991px) {
	aside.image-gallery .img-col { width: 25%; }
}
@media(max-width: 575px) {
	aside.image-gallery .img-col { width: 33.333%; } 
}
@media(max-width: 420px) {
	aside.image-gallery .img-col { width: 50%; } 
}