html {
	position: relative;
	min-height: 100%;
}
body {
	font-family: 'Roboto', sans-serif;
}
h1 {
	font-size: 2.2rem;
	margin: 26px 0 26px 0;
}
h4 {
	font-weight: 300;
	color: #555;
}
button:focus {
	outline: none;
}
.btn-default {
	background-color: #fff;
	border-color: #adadad;
}
.btn-default:hover {
	background-color: #e6e6e6;
	border-color: #adadad;
}
.float_right {
	float: right;
	display: inline;
}
.img-responsive {
	width: 100%;
	height: auto;
}
.thumbnail {
	margin: 20px 0;
	box-shadow: 0 0 14px #aaa;
}
.container {
	overflow: hidden;
}
.content {
	padding-top: 10px; 
	min-height: 450px;
	padding-bottom: 30px;
}
.content p {
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1.5;
}
.contentBox {
	background-color: white;
	padding: 20px;
	border-left: 20px solid #ededed;
	border-right: 20px solid #ededed;
	border-bottom: 20px solid #ededed;
}

/* when narrow */
.navbar.navbar-default.bg-light {
	position: relative;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(223, 229, 237, 1) 100%);
	z-index: 10;
}
/* when wide */
/* for a transparent navbar */
@media (min-width: 1280px) {
	.navbar.navbar-default.bg-light {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
		background: linear-gradient(180deg, rgba(255, 255, 255, .8) 0%, rgba(223, 229, 237, .8) 100%) !important;
		width: 100%;
	}
}
.navbar-toggle { 
	margin-top: 24px;
}
.navbar-toggler:hover, .navbar-toggler:focus {
	background-color: #ddd;
}
.navbar-nav { 
	font-size: 18px;
	margin-top: 20px;
}
.navbar-left { 
	padding: 10px 0 8px 0;
}
.navbar-light .navbar-nav .active > .nav-link {
	color: #8e2b29;
}
.navbar .nav-item .nav-link {
	padding: 13px;
}
.navbar-default {
	margin-bottom: 0;
	border-top: 8px solid #20476A;
	background-color: #f3f2f1;
	border-bottom: 1px solid #d2d0ce;
}

@media (max-width: 991px) { 
	.navbar-default .navbar-nav>.active>a,
	.navbar-default .navbar-nav>.active>a:focus,
	.navbar-default .navbar-nav>.active>a:hover { 
		background-color: #efefef;
	}
}
@media (min-width: 768px) { 
	.navbar-left { 
		margin-left: -15px; 
	} 
	.navbar-right { 
		margin-right: -15px;
	}
}
@media (min-width: 992px) { 
	.navbar-left { 
		margin-left: 15px; 
	} 
	.navbar-right { 
		margin-right: 30px;
	}
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 15px;
		padding-left: 15px;
	} 
}
@media (min-width: 1200px) { 
	.navbar-left { 
		margin-left: 30px; 
	} 
	.navbar-right { 
		margin-right: 40px;
	} 
}

a.headerPhone,
a.headerPhone:visited,
a.headerPhone:hover {
	position: absolute;
	top: -8px;
	right: 0px;
	color: #832b29;
	text-decoration: none;
	margin-left: 30px;
	font-size: 1.2rem;
	font-weight: 700;
}

.headerBanner {
	position: relative;
	z-index: 0;
	top: 0px;
	left: 0;
}
.headerBanner img {
	position: relative;
	height: auto;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 1.0;
}
.headerBanner h2 {
	color: #fff;
}
.header-band {
	position: absolute;
	width: 100%;
	height: 100px;
	top: 54%;
	/* match color and opacity with home page carousel */
	/* background-color: #0810a1; */
	/* logo color */
	/* background-color: #003bd2; */
	background-color: #0828a1;
	opacity: 0.6;
	z-index: 1;
}
.titleWrapper {
	position: absolute;
	width: 100%;
	top: 54%;
	z-index: 2;
}
@media (max-width: 800px) {
	.header-band, .titleWrapper {
		top: 20%;
	}
}
@media (max-width: 600px) {
	.header-band, .titleWrapper {
		top: 5%;
	}
	.titleWrapper {
		top: -10px;
	}
}
.titleWrapper .container h1 {
	color: white;
	font-size: 2.5rem;
	text-shadow: 0 0 16px #000;
}
.subTitle {
	padding: 60px 0;
}
.dividedBottom {
	padding: 80px 0 80px 0;
	border-bottom: 1px solid #efefef;
}
.navbar .container {
	overflow: visible;
}
@media (min-width: 576px) { 
	.container {
		width: 90%;
		max-width: 1400px;
	}
}
@media (max-width: 480px) { 
	img.logo {
		width: 200px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
}


.serviceBox {
	padding: 30px;
	border: 1px solid #eee;
	margin-bottom: 30px;
	text-align: center;
	overflow: hidden;
}
.services .serviceBox {
	margin-bottom: 0px;
}
.serviceBox h3 {
	font-size: 1.5rem;
}
.serviceBox p {
	font-weight: 300;
	font-size: 1.1rem;
}
.serviceIcon {
	color: #1278cf;
	margin-bottom: 20px;
}
.divided {
	padding: 80px 0 80px 0;
	border-top: 1px solid #efefef;
}


.projects {
	overflow: hidden;
}
.projects h3 {
	color: #5a5a5a;
	font-weight: 400;
	font-size: 3.0rem;
	letter-spacing: -0.05rem;
}
.projects h3 span.muted {
	font-size: 2.0rem;
	color: #6c757d;
}
.projects .row {
	padding: 80px 0 80px 0;
	border-bottom: 1px solid #efefef;
}
.projects .row:last-child {
	border-bottom: none;
}
.project_img img {
	width: 100%;
}


.footer {
	bottom: 0; 
	width: 100%; 
	color: #efefef; 
	padding: 50px 0 0 0; 
	background: #20476A; /* For browsers that do not support gradients */
	background: -webkit-linear-gradient(#20476A, #182A39); /* For Safari 5.1 to 6.0 */
	background:      -o-linear-gradient(#20476A, #182A39); /* For Opera 11.1 to 12.0 */
	background:    -moz-linear-gradient(#20476A, #182A39); /* For Firefox 3.6 to 15 */
	background:         linear-gradient(#20476A, #182A39); /* Standard syntax (must be last) */
}
.footer address {
	margin-left: 20px;
}
.footer a { color: #ffffff; text-decoration: none; }
.footer a:hover { color: #ffffff; text-decoration: none; }
.footer-links p {
	margin-bottom: 0.5rem;
}
.footer h2 {
	font-size: 1.4rem;
}
.footer h3 {
	font-size: 1.0rem;
}
.footer li {
	font-size: 0.9rem;
}
.footer p {
	font-size: 0.9rem;
}
.footer .row {
	padding-bottom: 40px;
}
.copy { 
	height: 70px; 
	padding: 26px 0; 
	color: #aaa;
	font-size: 0.9rem;
	background-color: #162433;
}

/* return to top */
#toTop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 30px;
	z-index: 99;
	padding: 10px 14px;
	border: 1px solid #ddd;
	border-radius: 10px;
	outline: none;
	cursor: pointer;
	background-color: #fff;
	color: #555;
}
#toTop:hover {
	background-color: #eee;
}



/* ##########  CAROUSEL  ########## */
@-webkit-keyframes zoom {
	from { -webkit-transform: scale(1, 1); }
	to { -webkit-transform: scale(1.15, 1.15); }
}
@keyframes zoom {
	from { transform: scale(1, 1); }
	to { transform: scale(1.15, 1.15); }
}
.carousel-inner .carousel-item > img {
	-webkit-animation: zoom 8s;
	animation: zoom 8s;
	animation-timing-function: linear;
}
.carouselWrapper {
	width: 100%;
	overflow: hidden;
}
.carousel-item {
	z-index: 1;
}
.carousel-control-prev,
.carousel-control-next {
	z-index: 2;
}
.carousel { 
	background-color: #40476A;
}
.carousel img {
	opacity: 1.0;
	z-index: 1;
}
.carousel-band {
	background-color: #0828a1;
	opacity: 0.6;
	position: absolute;
	bottom: 18%;
	z-index: 2;
	width: 100%;
	height: 200px;
}

.carousel-caption {
	bottom: 24%;
	z-index: 3;
}
.carousel-caption h1 {
	font-size: 2.5rem;
	margin: 10px 0 10px 0;
}
.carousel-caption h3,
.carousel-caption h2,
.carousel-caption h1 {
	text-shadow: 0 0 16px #000;
}
.carousel-caption h2,
.carousel-caption h3 {
	font-size: 2.0rem;
	
}
@media (max-width: 800px) {
	.carousel-caption {
		bottom: 10%;
	}
	.carousel-caption h1 {
		font-size: 1.6rem;
	}
	.carousel-caption h2 {
		font-size: 1.4rem;
	}
	.carousel-caption h3 {
		font-size: 1.2rem;
	}
	.carousel-band {
		height: 120px;
	}
	.carousel-indicators {
		bottom: -10px;
	}
}
@media (max-width: 500px) {
	.carousel-caption {
		bottom: 0%;
	}
	.carousel-caption h1 {
		font-size: 1.2rem;
	}
	.carousel-caption h2 {
		font-size: 1.0rem;
	}
	.carousel-caption h3 {
		font-size: 1.0rem;
	}
	.carousel-band {
		height: 120px;
		bottom: 0;
	}
}

/* Carousel Animation delays */
/* 
.carousel-caption h2:first-child {
	animation-delay: 1s;
}
.carousel-caption h2:nth-child(2) {
	animation-delay: 2s;
}
*/
.animate__animated.animate__fadeInUp {
	--animate-duration: 1.0s;
	/* --animate-delay: 2.0s; */
}