  .image-grid {height: auto;background-color: #fff;overflow: hidden; }
  .image-grid * {-webkit-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all 0.45s ease; transition: all 0.45s ease; }
  .image-grid img {width: 100%; height: auto; }
  .image-grid figcaption {position: absolute; top: 0; left: 0; right: 0; z-index: 1; align-items: center; bottom: 0; display: flex; flex-direction: column; justify-content: center;}
  .image-grid p {margin: 0; opacity: 0; letter-spacing: 1px; -webkit-transform: translateY(-100%); transform: translateY(-100%);}
  .image-grid a {position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1;}
  .image-grid:hover img, .image-grid.hover img {opacity: 0.1;}
  .image-grid:hover p {-webkit-transform: translateY(0); transform: translateY(0); opacity: 1;}
  .js-modal-image {max-width: 100%;}
  .modal-body {padding: 0;}
  .modal-open .modal {padding-top: 6vh; background-color: transparent;}
  .modal-backdrop.show {opacity: .8;}
  .grid-gallery .modal-dialog {width:90vw; height: 90vh; max-width: 1200px;}
.modal-open .grid-gallery {padding-top:0;}
.grid-gallery .modal-content {background: none;}
.grid-gallery .modal-content img {background: rgba(0,0,0,.8);}
.grid-gallery .modal-dialog .modal-content,
.grid-gallery .modal-body, .grid-gallery .carousel, .grid-gallery .carousel-inner, .grid-gallery .carousel-item,
.grid-gallery .modal-dialog .modal-content .modal-body .carousel .carousel-control-next, .grid-gallery .modal-dialog .modal-content .modal-body .carousel .carousel-control-prev {height:100%;}
.grid-gallery .carousel-item img {max-height:100vw; width: auto;}
.grid-gallery .modal-header {position:absolute; right:0; z-index:9999; border:none;}
.grid-gallery .modal-header .btn-close.btn-close-white {border:2px solid #FFF;}
/** Standard Marketing Message **/
.carousel-caption.top-left, .carousel-caption.top-center, .carousel-caption.top-right {top: 0; bottom: auto;}
.carousel-caption.middle-left, .carousel-caption.middle-center, .carousel-caption.middle-right {top: 50%; left:50%; transform: translateY(-50%); bottom:auto;}
.carousel-caption.bottom-left, .carousel-caption.bottom-center, .carousel-caption.bottom-right {top: auto; bottom:0;}
.carousel-caption.top-center, .carousel-caption.middle-center, .carousel-caption.bottom-center {left:50%; right:auto;  transform: translateX(-50%);  text-align: center;}
.carousel-caption.top-left,.carousel-caption.middle-left, .carousel-caption.bottom-left {left:0; right:auto; text-align: left;}
.carousel-caption.top-right,.carousel-caption.middle-right,.carousel-caption.bottom-right {right: 0; left: auto; text-align: right;}
.carousel-inner .carousel-item.active, .carousel-inner .carousel-item-next, .carousel-inner .carousel-item-prev {display: flex;}

/*** Heros ***/
.carousel-caption {background: rgba(0,0,0,.7); padding: 1.25rem; text-align: center; max-width: 600px;}
.carousel-caption p {margin: 0;}
/** Standard Marketing Message **/
.carousel-caption.top-left, .carousel-caption.top-center, .carousel-caption.top-right {top: 0; bottom: auto;}
.carousel-caption.middle-left, .carousel-caption.middle-center, .carousel-caption.middle-right {top: 50%; left:50%; transform: translateY(-50%); bottom:auto;}
.carousel-caption.bottom-left, .carousel-caption.bottom-center, .carousel-caption.bottom-right {top: auto; bottom:0;}
.carousel-caption.top-center, .carousel-caption.middle-center, .carousel-caption.bottom-center {left:50%; right:auto;  transform: translateX(-50%);  text-align: center;}
.carousel-caption.middle-center {transform: translate(-50%, -50%); right: 0;}
.carousel-caption.top-left,.carousel-caption.middle-left, .carousel-caption.bottom-left {left:0; right:auto; text-align: left;}
.carousel-caption.top-right,.carousel-caption.middle-right,.carousel-caption.bottom-right {right: 0; left: auto; text-align: right;}
/*** /Heros ***/

/** Image Strip Gallery **/
@media (max-width: 767px) {
	.image-strip .carousel-inner .carousel-item > div {display: none}
	.image-strip .carousel-inner .carousel-item > div:first-child {	display: block}
}
@media (min-width: 992px) {
	.image-strip .carousel-inner .carousel-item-end.active, .image-strip .carousel-inner .carousel-item-next {transform: translateX(16.66666667%)}
	.image-strip .carousel-inner .carousel-item-start.active, .image-strip .carousel-inner .carousel-item-prev {transform: translateX(-16.66666667%)}
	.carousel-caption-container {max-width: 100%; width:1320px; position: absolute; top: 50%; left:50%; transform:translateX(-50%);}
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.image-strip .carousel-inner .carousel-item-end.active, .image-strip .carousel-inner .carousel-item-next {transform: translateX(25%)}
	.image-strip .carousel-inner .carousel-item-start.active, .image-strip .carousel-inner .carousel-item-prev {transform: translateX(-25%)}
}
.image-strip .carousel-inner .carousel-item-end, .image-strip .carousel-inner .carousel-item-start {transform: translateX(0)}
.image-strip .carousel-control-next, .image-strip  .carousel-control-prev {width: 48px; z-index: 4;}
/** /Image Strip Gallery **/
