/* general */
body {
	font-family: "Poppins-Light", Helvetica, sans-serif;
	font-weight: normal;
	color: #323232;
	font-size: 20px;
}
p {
	font-size: 20px;
	line-height: 1.75;
}
.alert {
	margin-top: 30px;
}
body:not(.path-frontpage) header {
	margin-bottom: 20px;
}

/* content / pages */
body:not(.path-frontpage) .region-content {
	margin-bottom: 100px;
	min-height: 786px;
}
.page-title {
	margin-top: 40px;
}
body.user-logged-in .page-title {
	margin-top: 0;
}

/* sticky */
.region-wrapper.stickynav-active {
	background-color: #FFF;
	border-bottom: 3px solid #003e71;
	max-width: inherit;
}
.region-wrapper.stickynav-active .region.region-header {
	margin: 0 auto;
	max-width: 1360px;
}
.region-wrapper.stickynav-active .navbar-brand img {
	width: 80%;
}
.region-wrapper.stickynav-active .main-menu .menu > li > a,
.region-wrapper.stickynav-active .main-menu .menu > li > span {
	font-size: 18px;
	padding: 10px 25px;
}
.region-wrapper.stickynav-active .main-menu .menuparent.sfHover > ul {
	top: 100%;
	white-space: nowrap;
}
.region-wrapper.stickynav-active #block-dev-branding {
	flex-shrink: inherit;
}

/* top links */
.region-header-top {
	background-color: #303030;
}
.top-links {
	display: flex;
	max-width: 1360px;
	margin: 0 auto;
	justify-content: flex-start;
	align-items: center;
}
.top-links a {
	font-family: "Poppins-Light";
	font-size: 20px;
	font-weight: 300;
	color: #FFF;
	text-decoration: none;
	display: inline-block;
}
.top-links .field {
	margin: 6px 0;
}
.top-links-phone a {
	letter-spacing: 2px;
}
.top-links-phone a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 20px;
	content: '\f2a0';
	display: inline-block;
	color: #FFF;
	text-shadow: none;
	padding-right: 5px;
}
.top-links-phone a::after {
	content: "|";
	margin: 0 10px;
}
.top-links-email a::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 20px;
	content: '\f658';
	display: inline-block;
	color: #FFF;
	text-shadow: none;
	padding-right: 5px;
}
.top-links-custom {
	flex: 1;
	text-align: right;
}
.top-links-custom a {
	font-family: "Montserrat-SemiBold";
	font-weight: 600;
	font-size: 24px;
	letter-spacing: 1px;
}
.top-links-custom a .wrap {
	font-family: "Montserrat-ExtraLight";
	font-weight: 200;
}

/* header */
header .region-wrapper {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	background-color: #FFF;
	border-bottom: 7px solid #003e71;
}
.region.region-header {
	order: 2;
	flex: auto;
	align-items: center;
	display: flex;
	justify-content: center;
	max-width: 1360px;
	width: 100%;
}
.region-nav-branding {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	width: auto;
}

/* logo */
.navbar-brand img {
	height: inherit;
	width: auto;
}
#block-dev-branding {
	flex-shrink: 0;
}

/* main menu */
.sf-menu li a {
	text-decoration: none;
	padding: 50px 20px;
	color: #303030;
	text-transform: uppercase;
	font-family: "Exo2";
	font-size: 18px;
}
.sf-menu li a.is-active,
.sf-menu li a:hover {
	background-color: #003e71;
	color: #FFF;
}
.sf-menu li.menuparent ul {
	border: 1px solid #003e71;
	margin-top: 73px;
	background-color: #003e71;
	color: #FFF;
}
.sf-menu li.menuparent ul li a {
	color: #FFF;
	padding: 20px 20px;
}
.sf-menu li.menuparent ul li a:hover {
	background-color: #FFF;
	color: #003e71;
}
.stickynav-active .sf-menu li.menuparent ul {
	top: -8px;
}

/* social links */
.social-links .nav {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	flex-direction: row;
}
.social-links .nav li {
	margin: 0 5px;
}
.social-links .nav li a {
	color: #000;
	display: flex;
	align-items: center;
}
.social-links .nav li a.phone {
	font-size: 20px;
	letter-spacing: 1px;
}
.social-links .nav li a.phone::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 30px;
	content: '\f2a0';
	display: inline-block;
	color: #003e71;
	text-shadow: none;
	padding-right: 5px;
}

/* slider */
.flexslider {
	margin: 0;
	border: none;
	box-shadow: none;
}
.slider .view-footer {
	text-align: center;
	text-transform: uppercase;
	background-color: #003d71;
	color: #FFF;
	font-size: 35px;
	padding: 0 0 3px 0;
	font-family: "Exo2SemiBold";
	letter-spacing: 1px;
}

/* about us */
.about-us .paragraph {
	font-family: "Poppins-Light";
	color: #3c3c3c;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 150px 0;
}
.about-us-title {
	font-family: "Exo2SemiBold";
	position: relative;
	display: inline-block;
	font-size: 45px;
	line-height: 1.5;
	color: #272727;
	margin-bottom: 10px;
	text-transform: uppercase;
}
.about-us-title::before {
	content: "";
	position: absolute;
	width: 80%;
	height: 3px;
	bottom: 0;
	top: auto;
	right: 0;
	left: 0;
	z-index: 1;
	border-radius: inherit;
	background: #003d71;
}
.about-us-text {
	width: 100%;
	max-width: 500px;
	margin-bottom: 10px;
}
.about-us-link a {
	font-size: 15px;
	color: #FFF;
	text-transform: capitalize;
	background: #003d71;
	padding: 5px 25px 6px 20px;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 10px;
	font-family: "Poppins-Light";
}
.about-us-image img {
	border-radius: 5px;
	margin-right: 40px;
}

/* block */
.block h2 {
	font-family: "Exo2SemiBold";
	position: relative;
	display: inline-block;
	font-size: 45px;
	line-height: 1.5;
	color: #272727;
}
.block h2::before {
	content: "";
	position: absolute;
	width: 80%;
	height: 3px;
	bottom: 0;
	top: auto;
	right: 0;
	left: 50%;
	z-index: 1;
	border-radius: inherit;
	background: #003d71;
	transform: translate(-50%, -50%);
}
/* services */
#projects {
	background-color: #FFF;
}
.region-projects {
	max-width: 1200px;
	margin: 0 auto;
}
.region-projects .block {
	text-align: center;
	margin-bottom: 150px;
}
.region-projects .block h2 {
	margin: 50px auto 80px;
	text-align: center;
}
.projects .item {
	border-radius: 5px;
	background-color: #FFF;
	-webkit-box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.2);
}
.projects .item img {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.services-photo {
	border-bottom: 5px solid #003d71;
}
.services-title {
	font-family: "Montserrat-Regular";
}
.services-title .wrap {
	font-family: "Montserrat-SemiBold";
}
.services-link, .services-title {
	margin: 7px 20px;
	text-align: left;
	font-size: 24px;
	font-family: "Exo2SemiBold";
}
.services-link a {
	font-size: 15px;
	color: #FFF;
	text-transform: capitalize;
	background: #003d71;
	padding: 5px 25px 6px 20px;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 10px;
	font-family: "Poppins-Light";
}

/* projects pages */
.project-text {
	margin-bottom: 50px;
}
.project-photos {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
#cboxCurrent {
	bottom: -4px;
}

/* services */
#our-services {
  background-image: url("../img/services-bg.jpg");
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
	-webkit-box-shadow: inset 0px 5px 25px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: inset 0px 5px 25px 0px rgba(0,0,0,0.1);
	box-shadow: inset 0px 5px 25px 0px rgba(0,0,0,0.1);
}
.region-our-services {
	max-width: 1200px;
	margin: 0 auto;
}
.region-our-services .block {
	text-align: center;
	margin-bottom: 200px;
}
.region-our-services .block h2 {
	margin: 100px auto;
	text-align: center;
}
.services {
	display: flex;
	justify-content: space-between;
}
.services .item {
	border-radius: 5px;
	background-color: #FFF;
	-webkit-box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.2);
}
.services .item img {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.services-photo {
	border-bottom: 5px solid #003d71;
}
.services-title {
	font-family: "Montserrat-Regular";
}
.services-title .wrap {
	font-family: "Montserrat-SemiBold";
}
.services-link, .services-title {
	margin: 7px 20px;
	text-align: left;
	font-size: 24px;
	font-family: "Exo2SemiBold";
}
.services-link a {
	font-size: 15px;
	color: #FFF;
	text-transform: capitalize;
	background: #003d71;
	padding: 5px 25px 6px 20px;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 10px;
	font-family: "Poppins-Light";
}

/* footer */
.footer {
	padding: 0;
  background-image: url("../img/footer-bg.jpg");
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.footer .container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}
.footer .region-footer {
	padding: 0;
	margin: 100px auto;
	flex-direction: row;
	gap: 50px;
}
.footer .region-footer .block {
	flex: auto;
}

/* quick links */
.quick-links h5 {
	font-size: 22px;
	font-family: "Exo2";
	position: relative;
	display: inline-block;
	line-height: 1.5;
	margin-bottom: 15px;
}
.quick-links h5::before {
	display: none;
}
.quick-links .nav li a {
	padding: 5px 0;
	color: #e6e6e6;
}
.quick-links .nav li a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 20px;
	content: '\f0da';
	display: inline-block;
	color: #e6e6e6;
	position: relative;
	padding-right: 10px;
}
.quick-links .nav li a:hover {
	text-decoration: underline;
}

/* contact info */
.contact-info h2 {
	font-size: 22px;
	font-family: "Exo2";
	position: relative;
	display: inline-block;
	line-height: 1.5;
	margin-bottom: 15px;
	color: #e6e6e6;
}
.contact-info h2::before {
	display: none;
}
.contact-info .field {
	padding: 5px 0;
}
.contact-info .field a:hover {
	text-decoration: underline;
}
.contact-info .phone a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 20px;
	content: '\f2a0';
	display: inline-block;
	color: #e6e6e6;
	text-shadow: none;
	padding-right: 10px;
}
.contact-info .fax a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 20px;
	content: '\f2a0';
	display: inline-block;
	color: #e6e6e6;
	text-shadow: none;
	padding-right: 10px;
}
.contact-info .email a::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 20px;
	content: '\f658';
	display: inline-block;
	color: #e6e6e6;
	text-shadow: none;
	padding-right: 10px;
	word-break: break-all;
}
.contact-info .address a::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 20px;
	content: '\f3c5';
	display: inline-block;
	color: #e6e6e6;
	text-shadow: none;
	padding-right: 10px;
}

/* copyright*/
.copyright p {
	margin-bottom: 20px;
	border-top: 1px solid #565656;
	padding-top: 20px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* webform */
.webform-submission-form .two-col {
	display: flex;
	justify-content: space-between;
	gap: 0 50px;
	align-items: center;
}
.webform-submission-form .two-col {
	.left,
	.right {
		flex: 1;
	}
}