body {
	overflow: auto !important;
}
.overlay-box {
   	position: absolute;
   	top: 50%;
   	left: calc(50% - 400px);
   	transform: translate(-50%, -50%);
   	z-index: 2;
}
.carousel-centered {
	width: 960px;
	left: -184px;
}
.carousel-title {
	display: flex;
	text-transform: uppercase;
	font-size: 36px;
	font-weight: 400 !important;
}
.carousel-title div {
	color: #d20a11;
	font-weight: 600 !important;
	font-size: 48px;
	margin-top: -11.5px;
	margin-right: -4px;
}
.centered-image {
	width: 360px;
   	margin-top: -30px;
   	margin-left: -60px;
}
.carousel-item img {
	display: flex !important;
	margin: auto !important;
}
	
.carousel-indicators li {
   	width: 42px;
   	height: 8px;
   	border: 1px solid rgba(255, 255, 255, 0.4);
   	border-radius: 0px;
}
.carousel-indicators .active {
   	width: 42px;
   	height: 8px;
	margin: 1px;
   	border: 1px solid rgba(210, 10, 17, 1);
   	background-color: rgba(255, 250, 250, 0.2);
}
.carousel-control-next {
    right: -6%;
    top: calc(50% - 26px);
}
.carousel-control-prev {
    left: -6%;
    top: calc(50% - 26px);
}
.overlay {
   	background-color: rgba(0, 0, 0, 0.8);
   	position: absolute;
   	right: calc(50% + 270px);
   	width: 100%;
   	height: 100vh;
   	z-index: 1;
}
	
.modal-backdrop.in {
   	filter: alpha(opacity = 80);
   	opacity: .80;
}
.modal {
   	padding-right: 0px !important;
	background-color: rgba(0, 0, 0, 0.72) !important;
}
.modal-content {
   	background-color: transparent !important;
   	box-shadow: none;
   	border: 0;
}
.modal-dialog {
   	margin: auto !important;
	max-width: 100vh !important;
	max-height: 100vh !important;
	left: 50vh !important;
    top: 50vh !important;
    transform: translate(-50vh, -50%) !important;
}
.modal-open {
	padding-right: 0px !important;
}
.modal-close {
   	float: right;
   	margin-top: 18px;
   	margin-right: 24px;
	border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    padding: 12px 16px;
}
.modal-close:hover {
	border: 2px solid #0a3aa4;
	background-color: #0a3aa4;
	color: #fff;
}
.modal-close img {
   	width: 16px;
   	height: 16px;
	margin-top: -2px;
}

#gallery .carousel-inner .item {
	background-size: contain !important;
}
#gallery .carousel-control {
   	top: 50%;
   	bottom: 50%;
	background-image: none !important;
   	filter: alpha(opacity = 90);
   	opacity: .9;
}
#gallery .carousel-control img {
   	width: 38px;
   	height: 42px;
}
#gallery .carousel-control.left {
   	left: -120px;
}
#gallery .carousel-control.right {
   	right: -120px;
}
.carousel-indicators {
   	margin-left: 50px; /* 3 indicators */
}

@media (min-width: 1200px) {
	.modal-lg {
   		width: 1180px;
	}
}

@media (max-width: 1200px) {
	.overlay-box {
  		left: calc(50% - 300px);
	}
	.overlay {
   		right: calc(50% + 164px);
	}
	.carousel-indicators {
   		padding-left: 15px;
	}
	.centered-image {
   		width: 330px;
   		margin-top: -20px;
   		margin-left: -30px;
	}
	.promo-section .promo-section-col {
   		width: 50%;
   		margin-left: 0px;
	}
	.modal-lg {
   		width: 800px;
	}
}

@media (max-width: 991px) {
	.overlay-box {
   		left: 0;
	}
	.overlay-box .carousel-centered {
   		width: 100vw;
   		left: 0px;
	}
	.overlay-box .centered-image {
	    width: 280px;
   		margin-top: -15px;
   		margin-left: -20px;
	}
	.overlay-box .sm-margin-b-50 {
   		padding: 30px;
	}
	.modal-lg {
   		width: 700px;
	}
	#gallery .carousel-control.left {
   		left: -100px;
	}
	#gallery .carousel-control.right {
   		right: -100px;
	}
	
	.overlay-box .sm-margin-b-50 {
   		margin-bottom: 0px !important;
	}
	.overlay-box .sm-margin-b-50 {
   		padding: 10px 30px;
	}
	.overlay {
   		right: calc(50% + 40px);
	}
	.modal-lg {
   		width: 500px;
	}
	#gallery .carousel-control.left {
   		left: -80px;
	}
	#gallery .carousel-control.right {
   		right: -80px;
	}
}

@media (max-width: 768px) {
	.modal-lg {
   		width: 400px;
	}
	#gallery .carousel-control.left {
   		left: -60px;
	}
	#gallery .carousel-control.right {
   		right: -60px;
	}
	.modal-close {
   		position: absolute;
   		right: 0;
   		z-index: 1;
	}
	.carousel-indicators {
   		margin-left: 0px;
	}
	.modal-close {
   		margin-top: 12px;
   		margin-right: 12px;
	}
}

@media (max-width: 479px) {
	.overlay {
		display: none;
	}
	.overlay-box .centered-image {
   		width: 260px;
   		margin-top: 20px;
	}
	.carousel-title {
   		font-size: 32px;
		padding-top: 15px;
	}
	.carousel-title div {
   		font-size: 44px;
	}
	#gallery .carousel-control {
   		top: calc(100% - 50px);
   		bottom: 0px;			
	}
	#gallery .carousel-control.left {
   		left: 30% !important;
	}
	#gallery .carousel-control.right {
   		right: 30% !important;
	}
}