.gallery-container { margin-bottom: 1rem; }

.gallery-header { display: flex; width: 100%; margin-bottom: 2rem; align-items: center; }

.gallery-header-column-1 { display: flex; flex-shrink: 1; flex-basis: 25%; padding: 0 1rem; align-self: start; }
.gallery-header-column-2 { flex-grow: 1; font-size: 1rem; }

.gallery-header-column-1.gallery-list { flex-basis: 15%; padding: 0; }
.gallery-header-column-2.gallery-list { text-align: right; font-size: 1rem; }

.gallery-icon { border: 1px solid #eee; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }

.bg-cover-center { background-position: center center !important; background-size: cover !important; background-repeat: no-repeat !important; }

h1.gallery-name,
h2.gallery-name { display: block; }

@media only screen and (max-width: 767px) {
  .gallery-header { flex-direction: column; }
  img.gallery-icon,
  h1.gallery-name,
  h2.gallery-name { text-align: center; margin-bottom: 1rem !important; }
  h2.gallery-name { margin-top: 1rem !important; }
  .gallery-header-column-1 { align-self: center; }
  .gallery-header-column-2.gallery-descr { margin-top: 2rem; }
  .go-to-product { float: initial !important; width: 150px; margin: 0 auto !important; text-align: center !important; }
}

.image-gallery-image { max-width: 100%; height: auto; }
.image-gallery-image:hover { cursor: zoom-in; }

.gallery-item { overflow: hidden; position: relative; }
.gallery-item:hover .gallery-image-caption { bottom: 0; opacity: 1; }

.gallery-image-caption { position: absolute; bottom: -100%; left: 0; padding: 0.75rem; width: 100%; opacity: 0; background: rgba(0,0,0,0.5); transition: all 0.3s; }
.gallery-image-caption h2 { margin: 0.5rem; font-size: 1.25rem; color: #fff; }
.gallery-image-caption h2.has-descr { margin-bottom: 0.5rem; }
.gallery-image-caption span,
.gallery-image-caption p { display: block; margin: 0.5rem; font-size: 1rem; color: #fff; }

.lg-outer .lg-thumb-item { border-radius: 0; }
.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover { border-color: green; }

.lg-sub-html h2 { font-size: 1.25rem !important; margin: 0 !important; color: #fff !important; }
.lg-sub-html span { font-size: 1rem !important; margin: 0 !important; color: #fff !important; }

.float-right { float: right !important; }

.bottom-back { float: initial !important; width: 70px; margin: 0 auto !important; text-align: center !important; }

.m-0 { margin: 0; }
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; 
.mx-auto { margin: 0 auto !important; }