:root {
	--white: #FFF;
	--green: #2A7146;
	--orange: #ED7D31;
	--grey: #F4F4F4;

}

html {
  scroll-behavior: smooth;
}

/* ----------------------------------------------------- Background Styles ------------------------------------------------- */
.bg-grey {
	background-color: var(--grey);
}
.bg-orange {
	background-color: var(--orange);
}
.bg-green {
	background-color: var(--green);
}
.bg-orange img {
	max-width: 70px;
	margin-bottom: 20px;
}
.border-bottom-green {
	border-bottom: solid 6px var(--green);
}
.border-bottom-orange {
	border-bottom: solid 6px var(--orange);
}




/* ----------------------------------------------------- Menu Styles ------------------------------------------------- */

.menu ul {
	padding: 0px;
	margin: 0;
}
.menu li {
	list-style: none;
	display: inline-block;
	background-color: var(--green);
	padding: 3px 15px;
	margin-left: 10px;
	background-image: none;
	margin-bottom: 10px;
}
.menu a {
	color: var(--white);
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
}

/* ----------------------------------------------------- Header And Banner Image Styles ---------------------------------------------------------------- */

header {
	/*position: absolute;*/
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	/*padding: 50px 5%;*/
}
.logo-container {
	position: absolute;
	top: 0;
}
.logo {
	width: 30%;
	padding: 5%;
	padding-top: 15%;
	/*max-width: 350px;
	min-width: 200px;*/
}

.banner-image {
	width: 100%;
	height: auto;
	min-height: 65vh;
	background-position: bottom center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
}
.banner-overlay {
	position: absolute;
    top: 30%;
    left: 3%;
}


/* ----------------------------------------------------- Generic Content Styles ---------------------------------------------------------------- */

.content-padding {
	padding: 5%;
}
.content-padding-sm {
	padding: 2.5%;
}
.content-margin {
	margin: 5% 0;
}

.testimonial {
	margin-bottom: 40px;
	padding: 30px;
}


.photo-credit {
	position: absolute;
	bottom: 15px;
	font-size: 13px;
	color: #fff;
}

.case-study-padding {
	padding-top: 8%;
}

.blog {
	position: relative;
	margin-bottom: 50px;
}
a.blog:hover {
	text-decoration: none;
}

.cat-post-image {
	width: 100%;
	height: 20vw;
	object-fit: cover;
	object-position: center;
	margin-bottom: 20px;
}

/* ----------------------------------------------------- Metaslider Styles ---------------------------------------------------------------- */

.slides {
	padding: 0px !important;
}
.ms-image {
	display: block !important;
	height: 82vh !important;
	position: relative !important;
}
.ms-image img {
	height: 100%;
	object-fit: cover;
	object-position: bottom center;
	width: 100%;
	background-color: rgba(0,55,98,0.65);
}

.metaslider .caption-wrap {
    background: none !important;
	opacity: 1 !important;
	bottom: 30% !important;
	left: 2% !important;
	width: 50% !important;
}
.caption-wrap .caption {
	width: auto;
	font-family: 'Nunito', sans-serif;
	font-weight: 400;
	font-size: 35px;
	line-height: initial;
}

.metaslider .flexslider .slides > li img
{
	height: inherit;
}

.metaslider a {
	text-align: center;
	border: none;
	border-radius: 50px;
	background-color: var(--orange);
	color: white;
	font-weight: bold;
	font-size: 20px;
	display: block;
	padding: 10px 20px 10px 20px;
	text-decoration: none !important;
	margin-top: 20px;
	width: fit-content;
}
.metaslider a:hover {
	background-color: var(--green);
}


/* ----------------------------------------------------- Button and A Styles ---------------------------------------------------------------- */

button {
	text-align: center;
	border: none;
	border-radius: 50px;
	background-color: var(--orange);
	color: white;
	font-weight: bold;
	font-size: 20px;
	display: block;
	padding: 10px 20px 10px 20px;
	text-decoration: none !important;
	margin-top: 20px;
	cursor: pointer;
}

button:hover {
	background-color: var(--green);
	color: white;
}


.nf-form-content input[type="submit"] {
	text-align: center !important;
	border: none !important;
	border-radius: 50px !important;
	background-color: var(--orange) !important;
	color: white;
	font-weight: bold;
	font-size: 20px;
	display: block;
	padding: 10px 20px 10px 20px;
	text-decoration: none !important;
	cursor: pointer;
}

.nf-form-content input[type="submit"]:hover {
	text-align: center !important;
	border: none !important;
	border-radius: 50px !important;
	background-color: var(--green) !important;
	color: white !important;
	font-weight: bold;
	font-size: 20px;
	display: block;
	padding: 10px 20px 10px 20px;
	text-decoration: none !important;
}


/* ----------------------------------------------------- Footer Styles ---------------------------------------------------------------- */

footer {
	padding: 50px 5%;
	background-color: var(--green);
}
footer p, footer a {
	color: white;
	font-size: 14px;
}


.nf-form-content { 
	margin: 0 !important;
}

/* ----------------------------------------------------- 2200px + ---------------------------------------------------------------- */

@media only screen and (min-width : 2200px) {
}


/* ----------------------------------------------------- Smaller than 2200px ----------------------------------------------------- */

@media only screen and (max-width : 2200px) {
}


/* ----------------------------------------------------- Smaller than 1800px ----------------------------------------------------- */

@media only screen and (max-width : 1800px) {
}


/* ----------------------------------------------------- Smaller than 1750px ----------------------------------------------------- */

@media only screen and (max-width : 1750px) {
}


/* ----------------------------------------------------- Smaller than 1650px ----------------------------------------------------- */

@media only screen and (max-width : 1650px) {	
}


/* ----------------------------------------------------- Smaller than 1550px ----------------------------------------------------- */

@media only screen and (max-width : 1550px) {
}


/* ----------------------------------------------------- Smaller than 1450px ----------------------------------------------------- */

@media only screen and (max-width : 1450px) {
}


/* ----------------------------------------------------- Smaller than 1350px ----------------------------------------------------- */

@media only screen and (max-width : 1350px) {
	.slider-image {
		width: calc(50% - 10px);
		min-width: calc(50% - 10px);
	}
}


/* ----------------------------------------------------- Smaller than 1250px ----------------------------------------------------- */

@media only screen and (max-width : 1250px) {
} 


/* ----------------------------------------------------- Smaller than 1125px ----------------------------------------------------- */

@media only screen and (max-width : 1125px) {
	.logo {
		width: 35%;
		max-width: 210px;
		padding-top: 25%;
	}
	
}


/* ----------------------------------------------------- Smaller than 1080px ----------------------------------------------------- */
@media only screen and (max-width : 1080px) {
	.ms-image {
		height: 65vh !important;
	}
	.caption-wrap .caption {
 	   font-size: 30px;
	}
			.case-study-padding {
		padding-top: 15%;
	}

}


/* ----------------------------------------------------- Smaller than 1024px - iPad landscape ----------------------------------------------------- */

@media only screen and (max-width : 1024px) {	
	.testimonial {
		margin-bottom: 40px;
		padding: 18px;
	}
	.bg-orange img {
    	max-width: 50px;
	}
		.case-study-padding {
		padding-top: 15%;
	}

}


/* ----------------------------------------------------- Smaller than 991px ------------------------------------------------------ */

@media only screen and (max-width : 991px) {
	.caption-wrap .caption {
 	   	font-size: 25px;
		padding: 16px 20px !important;
	}
	.menu li {
		padding: 1px 12px 2px 12px;
	}
}

/* ----------------------------------------------------- Smaller than 870px ------------------------------------------------------ */

@media only screen and (max-width : 870px) {	

}

/* ----------------------------------------------------- Smaller than 800px ------------------------------------------------------ */

@media only screen and (max-width : 800px) {	
	
}


/* ----------------------------------------------------- Smaller than 768px - iPad portrait ------------------------------------------------------ */

@media only screen and (max-width : 768px) {
	.mobile-center {
		text-align: center !important;
	}
	.mobile-left {
		text-align: left !important;
	}
	.metaslider .caption-wrap {
	    width: 75% !important;
		bottom: 12% !important;
	}
	.metaslider a {
		font-size: 16px;
	}
	.bg-orange img {
    	max-width: 40px;
	}

	.case-study-padding {
		padding-top: 30%;
	}
	.cat-post-image {
	height: 70vw;
	}
}

/* ----------------------------------------------------- Smaller than 700px ------------------------------------------------------ */

@media only screen and (max-width : 700px) {
	
	.case-study-padding {
		padding-top: 45%;
	}
    
 .logo {

    padding-top: 20%;
  }


}

/* ----------------------------------------------------- Smaller than Mobile ----------------------------------------------------- */

@media only screen and (max-width : 650px) {

}

/* ----------------------------------------------------- Smaller than 540px ------------------------------------------------------ */

@media only screen and (max-width : 540px) {	
	.ms-image {
	  height: 60vh !important;
	}
	.metaslider .caption-wrap {
		bottom: 10% !important;
	}
}

/* ----------------------------------------------------- Smaller than 500px ------------------------------------------------------ */

@media only screen and (max-width : 450px) {

}