/*!
 * b4st v3.1 | Unicence
 * http://simonpadbury.github.io/Codebase/
 */

/* COLOURS */
:root { 

	--yellow:#ffb400;
	--yellow-hover:#ffde00;
	--dark-yellow:#ff8a00;
	--navy:#324553;
	--navy-hover:#42627a;
	--dark-navy:#17242d;
	--font-color:#000;
} 
.yellow{
	color:var(--yellow);
}
.dark-yellow{
	color:var(--dark-yellow);
}
.white{
	color:#fff;
}
.black{
	color:#000;
}
.black:hover{
	color:#000;
}
body {
	display: -webkit-box;
	display: flex;
	color:var(--font-color);
	line-height:1.3;
	min-height: 100vh;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	font-family: 'kanit', proxima-nova, sans-serif;
}

html {
  font-size: 16px;
}

h1, h2, h3, h4, h5, h6{
	color:var(--navy);
}

main {
	-webkit-box-flex: 1;
	flex: 1 0 auto
}

div {
  transition: background 0.3s ease,
			  color 0.3s ease,
			  border 0.3s ease;
}
a {
  transition: background 0.3s ease,
			  color 0.3s ease,
			  border 0.3s ease;
}
li {
  transition: background 0.3s ease,

			  color 0.3s ease,
			  border 0.3s ease;
}
img{
	max-width:100%;
	height:auto;
}
p img{
	margin-bottom:10px;
}
@media (min-width:767px){
	p img{
		margin-bottom:10px;
	}	
}

.container-fluid{
	
}	
.mid-container{

	max-width:1500px;

}
.entry-content img{
	margin-bottom:30px;
}

a {
    color: var(--yellow);
    text-decoration: none;
    background-color: transparent;
}
a:hover,
a:active,
a:focus{
    color: var(--yellow-hover);
}




ul >li{
	padding:0 0 20px 0;
}

p{
	margin-bottom:1.5rem;
}
hr {
    margin-top: 2rem;
    margin-bottom: 2rem;
    border: 0;
    border-top: 1px dotted #ccc;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {

    font-weight: 600;
    line-height: 1.3;
}

.alignleft {
	float: left
}

.alignright {
	float: right
}

.aligncenter {
	clear: both;
	display: block
}
.center{
	text-align:center;
}

.large-text{
	font-size:1.5rem;
}

.page-content-spacer{
	margin-top:80px;
}
.bottom-spacer{
	margin-bottom:30px;
}
@media (min-width:767px){
	.bottom-spacer{
		margin-bottom:0px;
	}
	.page-content-spacer{
		margin-top:150px;
	}
}

.rounded-button{
	display:inline-block;
	background: var(--pink);
	color:#fff;
	font-size:1.2rem;
	font-weight:bold;
	text-align:center;
	padding:10px 25px;
	border-radius:30px;
}
.rounded-button:hover,
.rounded-button:focus,
.rounded-button:active
{
	
	background: var(--yellow);
	color:#fff;
	text-decoration:none;
}

.rounded-button-white{
	display:inline-block;
	background: #fff;
	color:var(--black);
	font-size:1.2rem;
	font-weight:bold;
	text-align:center;
	padding:10px 25px;
	border-radius:30px;
}
.rounded-button-white:hover,
.rounded-button-white:focus,
.rounded-button-white:active
{
	
	background: var(--black);
	color:#fff;
	text-decoration:none;
}


.rounded-outline-button{
	display:inline-block;
	border:2px solid var(--black);
	color:var(--black);
	font-size:1.2rem;
	font-weight:bold;
	text-align:center;
	padding:10px 25px;
	border-radius:30px;
	
}
.rounded-outline-button:hover,
.rounded-outline-button:focus,
.rounded-outline-button:active
{
	
	border:2px solid var(--yellow);
	color:var(--yellow);
	text-decoration:none;
}


/* HEADER */
.navigation{
	height:90px;
	background:var(--navy);
	position:relative;
	z-index:999;
	
}
.home-navigation{
	height:90px;
	background:transparent;
	
}

.navigation a:hover,
.navigation a:active,
.navigation a:focus{
    color: var(--font-color);
	text-decoration:none;
}

.header-logo{
		
	display:inline;
	padding-right:0px;
	
}
.header-logo-image{
		width:150px;
		padding-top:10px;	
		margin-left:20px;
	}
.header-menu{
	text-align:center;
	display:none!important;
	justify-content: center;

}
.header-contact{
	display:none!important;
	color:#fff;
	font-size:1.1rem;
	font-weight:400;
	text-align:right;
	padding:15px 20px 0px 0px;
	height:100%;
	
	
}
.header-contact a{
	display:inline-block;
	color:var(--yellow);
	padding-left:30px;
}
.header-contact a:hover

{
	color:#fff;
}
.header-contact-separator{
	display:inline-block;
	color:var(--yellow);
	margin-left:30px;
	height:30px;
	margin-bottom:-7px;
	border-left:1px solid #fff;
}
.black-phone{
	color:#000;
	font-weight:normal;	
}
.white-phone{
	color:#fff;
	font-weight:normal;	
}

.header-contact a:hover,
.header-contact a:active,
.header-contact a:focus{
	color:var(--yellow-hover);
}


@media (min-width: 767px){
	.header-logo-image{
			width:200px;
			padding-top:10px;	
			margin-left:30px;
		}

	.header-contact{

		padding:25px 30px 0px 0px;

	}	
}

@media (min-width: 1080px){
	.header-logo{
		display:inline;
		padding-right:50px;
		
	}	
	.header-menu{
		display:inline!important;
	}
	.header-contact{
		display:block!important;
	}
	.header-contact a{
		
		padding-left:15px;
	}
	
	.header-contact-separator{
		margin-left:15px;
	}	
}


@media (min-width: 1200px){
	.header-logo-image{
			width:200px;
			padding-top:10px;	
			margin-left:50px;
		}

	.header-contact{

		padding:27px 50px 0px 20px;

	}	
}
@media (min-width: 1520px){
	.header-contact a{
		
		padding-left:30px;
	}
	
	.header-contact-separator{
		margin-left:30px;
	}	
}	

/* MENU */

.menu {
    
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
	margin:0 auto;
	justify-content: center
}
.menu li{
	padding-bottom:0;
}
.menu a{
	color:#fff;
	font-weight: 600;
	font-size: 1rem;
	text-transform:uppercase;
	letter-spacing:4px;
	line-height: 87px;
	padding:0 20px;
}
.menu a:hover,
.menu a:active,
.menu a:focus{
    color:var(--yellow);
}
.menu-item-1280:hover{
	background: var(--navy);
}
@media (min-width: 1080px){
	.menu a{
		font-size: .9rem;
		letter-spacing:2px;
		padding:0 13px;
	}
}
@media (min-width: 1320px){
	.menu a{
		font-size: 1rem;
		letter-spacing:2px;
		padding:0 20px;
	}
}
@media (min-width: 1520px){
	.menu a{
		font-size: 1rem;
		letter-spacing:3px;
		padding:0 30px;
	}
}
/* Dropdown base */
.menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--navy); /* match your nav background */
  min-width: 250px;
  text-align:left;
  display: none;
  list-style: none;
  padding: 0 0 10px 0;
  margin: 0;
  z-index: 999;
}

.menu .sub-menu li a {
  display: block;
  font-size:.9rem;
  padding: 10px 20px;
  color: #fff;
  line-height: normal;
  text-transform: none;
  letter-spacing: 1px;
}

.menu .sub-menu li a:hover {
  background: var(--yellow);
  color: #000;
}

/* Show dropdown on hover */
.menu li.menu-item-has-children:hover > .sub-menu {
  display: block;
}

/* Make sure parent is positioned properly */
.menu li.menu-item-has-children {
  position: relative;
}

.menu li.menu-item-has-children > a::after {
  content: " ▼";
  font-size: 0.6em;
}


.rmp-submenu{
	padding-top:10px;
}
/* HOMEPAGE */


.home-video{
	background:var(--dark-navy) url(../img/homepage/video-background.jpg);
	background-size:cover;
	background-position:center center;
	position:relative;
	height:80vh;
	width:100%;
	margin-top:-90px;
	z-index:0;
}


.home-video::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; /* keeps links/buttons clickable */
  background: linear-gradient(to bottom, rgba(23, 36, 43, 0.4) 0%, rgba(23, 36, 43, 0) 30%);
  z-index: 1;
}



/* Limit this to the banner video only */
.banner-video {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#myVideo {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 100%; 
  min-height: 100%;
}
.video-content {
  position: absolute;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  width: 100%;
  height:100%;
 
}
.video-content-banner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width:100%;
	text-align:left;
	color:#fff;
}




.home-banner{

	min-height:350px;
	width:100%;
	background-color: #000;
	
}


.home-banner-content{
	margin:40px auto 40px;
	color:#fff;
	text-align:center;
}
.home-banner-large-text{
	font-size:2.4rem;
	line-height:1.2;
	letter-spacing:1px;
	font-weight:bold;
}
.home-banner-small-text{
	margin-top:20px;
	font-size:1.2rem;
}



.home-banner-button-container{
	margin-top:30px;
}
.home-banner-button{
	display:inline-block;
	background: var(--yellow);
	color:#000;
	font-size:1.1rem;
	letter-spacing:2px;
	text-transform:uppercase;
	font-weight:bold;
	text-align:center;
	border-radius:3px;
	padding:13px 35px;
}
.home-banner-button:hover,
.home-banner-button:focus,
.home-banner-button:active
{
	
	background: #000;
	color:#fff;
	text-decoration:none;
}


@media (min-width: 767px){
	.home-banner{
		min-height:500px;
	}
	.home-banner-content{
		margin:100px auto 50px;
		color:#fff;
		text-align:center;
	}
	.home-banner-large-text{
		font-size:2rem;
		letter-spacing:1px;
		font-weight:bold;
	}
	.home-banner-small-text{
		font-size:1.2rem;
	}
	.home-banner-button-container{
		margin-top:50px;
	}
}

@media (min-width: 1200px){
	.home-banner{
		min-height:550px;
	}
	.home-banner-content{
		margin:150px auto 50px;
		color:#fff;
		text-align:center;
	}
	.home-banner-large-text{
		font-size:3rem;
		letter-spacing:1px;
		font-weight:bold;
	}
	.home-banner-small-text{
		font-size:1.5rem;
	}
}

@media (min-width: 1520px){
	.home-banner{
		min-height:700px;
	}
	.home-banner-content{
		margin:200px auto 50px;
		color:#fff;
		text-align:center;
	}
	.home-banner-large-text{
		font-size:3.5rem;
		letter-spacing:1px;
		font-weight:bold;
	}
	.home-banner-small-text{
		font-size:1.7rem;
	}	
}

.under-banner{
	background: var(--navy);
	padding:70px 0 50px;
	color:#000;
}
.under-banner-content{
	font-size:1.1rem;
	color:#fff;	
	text-align:center;
	max-width:700px;
	margin:0 auto;
}
.under-banner-content h1,
.under-banner-content h2,
.under-banner-content h3,
.under-banner-content h4,
.under-banner-content h5{
	color:var(--yellow);
}


.yellow-strip{
	background:url(../img/homepage/yellow-strip-bg.svg);
	background-size:cover;
	background-position:center center;
	padding:30px 0;
	color:#000;
}
.yellow-strip-text{
	text-align:center;
	font-size:1.6rem;
	font-weight:400;
}


.yellow-strip-button{
	display:block;
	background: #fff;
	color:#000!important;
	font-size:1.1rem;
	letter-spacing:2px;
	text-transform:uppercase;
	font-weight:bold;
	text-align:center;
	border-radius:3px;
	padding:13px 35px;
	margin-left:20px;
	margin-top:20px;
}
.yellow-strip-button:hover,
.yellow-strip-button:focus,
.yellow-strip-button:active
{
	
	background:#000;
	color:#fff!important;
	text-decoration:none;
}
@media (min-width: 767px){
	.yellow-strip-text{
		font-size:1.6rem;
		font-weight:400;
	}
	.yellow-strip-button{
		display:inline-block;
		margin-top:0px;
	}	
}

.home-boxes{
	margin-top:70px;
	margin-bottom:70px;
}
.home-box{
	min-height:240px;
	position:relative;
	transition: all .2s ease-in-out; 
}
.home-box:hover {
transform: scale(1.1);
}
.home-box-content{
	position:absolute;
	width:100%;
	bottom:0px;
	color:#fff;
	padding:0px 20px 20px 20px;
}
.projects-page .home-box-content,
.featured-projects .home-box-content{
	position:absolute;
	width:100%;
	bottom:0px;
	color:#fff;
	padding:0px 5px 20px 5px;
	
}	
.featured-projects  .home-box,
.projects-page .home-box{
	margin-bottom:15px;
	
}	

.home-box-title{
	font-size:1.6rem;
	font-weight:bold;
	margin-bottom:5px;
	line-height:1.1;
}
.services-page .home-box-title{
	margin-bottom:0px;
}
.home-box-text{
	font-size:0.95rem;
	line-height:1.2;
}
.home-box-circle-arrow-container{
	
}
.home-box-circle-arrow{
	width:34px;
	height:34px;
	
	
}



.home-main-section{
	background:var(--navy) url(../img/svgs/cranes.png);
	background-size:cover;
	background-position:center center;
	font-size:1.1rem;
	padding-bottom:30px;
}

.home-main-section-content{
	padding:50px 0px 30px 0px;
	color:#fff;
}
.home-main-section-content h1{
	color:#fff;
	
}
.clients-header{
	text-align:center;
	margin-bottom:30px;
}
@media (min-width: 767px){
	.home-box{
		min-height:320px;
		position:relative;
		transition: all .2s ease-in-out; 
	}
	.home-main-section{
		font-size:1.1rem;		
		padding-bottom:0px;
	}
	.home-main-section-content{
		padding:140px 30px 140px 0px;
		color:#fff;
	}

	.home-box-title{
	font-size:2rem;
}
	
	.home-box-content{
		position:absolute;
		width:100%;
		bottom:0px;
		color:#fff;
		padding:0px 30px 30px 30px;
	}
	.projects-page .home-box-content,
	.featured-projects .home-box-content{
		position:absolute;
		width:100%;
		bottom:0px;
		color:#fff;
		padding:0px 15px 30px 15px;
	}
	.projects-page .home-box{
		margin-bottom:30px;
		
	}	
		
	
}


/* Clients Logos*/
.container-client-logos{
	overflow:hidden;
}
.scrolling-gallery {
  overflow: hidden;
  width: 100%;
  display: flex;
  background: #fff;
}

.scrolling-track {
  display: flex;
  flex-wrap: nowrap;
  animation: scroll-seamless 35s linear infinite;
}

.scrolling-track img {
  height: 125px;
  margin-right: 100px;
  object-fit: cover;
  flex-shrink: 0;
  user-select: none;
  pointer-events: none;
}

@keyframes scroll-seamless {
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-19 * (100px + 125px))); }
}

@media (min-width: 767px){
	.scrolling-track {
	  animation: scroll-seamless 35s linear infinite;
	}

	.scrolling-track img {
	  height: 175px;
	  margin-right: 150px;
	}	
	@keyframes scroll-seamless {
	  0%   { transform: translateX(0); }
	  100% { transform: translateX(calc(-19 * (150px + 175px))); }
	}
}






.featured-projects{
	background:var(--navy);
	color:#fff;
	padding:70px 0 60px;
}
.featured-projects-title h1{
	color:#fff;
	text-align:center;
	padding:0px 0 30px; 
	
}
.featured-projects-button-container{
	text-align:center;
	padding:30px 0 10px; 
}
.aligned-background{
	padding-left:15px;
	padding-right:15px;
}
.aligned-background-left{
	padding:240px 15px 30px;
	background-size:100% auto;
	background-repeat:no-repeat;
	background-position:top;
}

.home-section-box{
	
	padding:20px 20px 20px 20px;
	border-left:4px solid var(--yellow);
	background:#fff;
	min-height:320px;
	-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);
	margin-bottom:0px;
	height:100%;
}
@media (min-width: 767px){
	.aligned-background{
		padding-left:15px;
		padding-right:15px;
	}	
	.aligned-background-left{
		padding:50px 0px;
		background-size:auto 100%;
		background-repeat:no-repeat;
		background-position:left;
	}
	.home-section-box{
		padding:40px 40px 30px 50px;
	}
	
}




/*Homepage Video Section*/



/* Reset/override for all other videos */
.video-container video,
.lazy-video {
  position: static;       /* or relative */
  width: 100%;
  height: auto;
  object-fit: cover;      /* or contain, if you prefer */
  display: block;
}

/*HEALTH AND SAFETY PAGE*/

.page-id-1416 .home-video{
	background:var(--dark-navy) url(../img/homepage/video-background.jpg);
	background-size:cover;
	background-position:center center;
	position:relative;
	height:70vh;
	width:100%;
	margin-top:0px;
	z-index:0;
}


.page-id-1416 .home-video::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; /* keeps links/buttons clickable */
  background: linear-gradient(to bottom, rgba(23, 36, 43, 0.0) 0%, rgba(23, 36, 43, 0) 30%);
  z-index: 1;
}
.hs-banner{
	height:70dvh;
    display: flex;
    align-content: center;
    flex-wrap: wrap;	
}
.hs-banner-content{
	color:#fff;
}
.hs-banner-small-text{
	
}
.hs-banner-title{
	font-size:5rem;
	font-weight:bold;
	line-height:1.1;
}
@media (min-width: 767px){
	.hs-banner-title{
		font-size:8rem;
	}
}

.hs-text-block-1{
	padding:20px 0;
}
.max-text-width{
	max-width:700px;
	margin:0 auto;
}
.large-text{
	font-size:2rem;
	color:var(--navy);
}
.hs-text-block-2{
	background:#eeeeee;
	padding:20px 0;
}
.hs-text-block-2{
	
}
.hs-text-block-2a{
	padding:30px 30px 15px;
	background-color:var(--navy);
	border-radius:30px 0px 30px 0px;
	color:#fff;
}
.hs-text-block-2a h1, 
.hs-text-block-2a h2, 
.hs-text-block-2a h3, 
.hs-text-block-2a h4, 
.hs-text-block-2a h5{
	color:#fff;
}
.hs-full-width{
	height:50dvh;
}
@media (min-width: 767px){
	.hs-text-block-1{
	padding:80px 0;
	}
	.hs-text-block-2{
		background:#eeeeee;
		padding:80px 0;
	}
	.hs-text-block-2a{
		padding:50px 50px 30px;
	}
}

.hs-text-block-3{
	padding:20px 0;

}
.hs-text-block-3 ol{

 margin-top:20px;
}
.hs-text-block-3 ol>li::marker{

  font-weight: bold;
}
.hs-text-block-3 ol>li{
	padding-bottom:15px;
}

.hs-text-block-4{
	padding:20px 0;
	background:#eeeeee;

}
.hs-text-block-4 .max-text-width{
	max-width:800px;
}
	
.hs-text-block-4 ul {
   columns: 1;
  column-gap: 2rem;
  list-style: none; /* remove default bullets */
  padding: 0;
  margin: 20px 0 0 0;
}

.hs-text-block-4 ul li {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: 1.5em; /* space for the icon */
}

.hs-text-block-4 ul li::before {
  content: "\f00c"; /* Font Awesome checkmark */
  font:var(--fa-font-solid);
  font-weight: 900; /* required for solid icons */
  position: absolute;
  left: 0;
  top: 0;
  color: var(--yellow); /* or any color you like */
}
@media (min-width: 767px){
	.hs-text-block-3{
		padding:80px 0;

	}	
	.hs-text-block-4{
		padding:80px 0;

	}
	.hs-text-block-4 ul {
	   columns: 2;	
	}
}

/*CAREERS*/
.careers-banner-subheading{
	font-size:2rem;
}
.careers-block-1{
	padding:40px 0;
}
.careers-block-left{
	max-width:420px;
	font-size:2rem;
	color:var(--navy);
	font-weight:700;
}

.careers-cta{
	font-weight:bold;
	color: var(--navy);
	border-top:1px solid var(--navy);
	padding-top:50px;
	margin-top:50px;
}

@media (min-width: 767px){
	.careers-block-3{
		padding:80px 0;

	}
}
.modal-header{
	padding:30px;
}
.modal-header .close {
    padding: 0rem 1rem;
    margin: -1rem -1rem -1rem auto;
	font-size:3rem;
}
.modal-body{
	padding:30px
}
.forminator-label{
	font-size:16px!important;
	color:var(--navy)!important;
}
.forminator-field-consent .forminator-field{
	padding:20px 20px 30px 20px!important;
	background-color:#e6efee;
	border-radius:8px;
}
.forminator-field-consent .forminator-field a{
	color:var(--navy);
	text-decoration:underline;
}
/*VALUES PAGE*/

.values-main-section{
	margin-top:80px;
	margin-bottom:50px;
}
.our-values-large{
	font-size:5rem;
	font-weight:bold;
	color:var(--navy);
	margin-bottom:30px;
	line-height:1.1;
}

.values-section-content p{
	padding-left:50px;
}

.values-section-content .fas{
	color:var(--yellow);
	width:40px;
}

.values-large-image{
	min-height:400px;
}
.values-second-section{
	margin-top:80px;
	margin-bottom:50px;
}


@media (min-width: 992px){
	.our-values-large{
		font-size:8rem;
		font-weight:bold;
		color:var(--navy);
		margin-bottom:30px;
		line-height:1.1;
	}
}


/* PROJECTS */

.projects-page{
	margin-top:80px;
}

.projects-page-header{
	text-align:center;
	margin-bottom:60px;
	color:var(--navy);
}

.page-title{
	font-size:4rem;
	font-weight:bold;
}
.page-intro{
	font-size:1.8rem;
}

.pagination-wrapper{
	width:100%;
	margin-top:30px;
}
.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: var(--navy);
    border-color: var(--navy);
}
.page-link {
    color: var(--navy);
}
.page-link:hover {
    z-index: 2;
    color: var(--navy-hover);
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6;
}
/* SINGLE PROJECT PAGE */

.breadcrumbs{
	font-size:.75rem;
	margin-bottom:50px;
}
.single-project-info{
	
}
.project-title{
	font-size:3rem;
	font-weight:bold;
	margin-bottom:30px;
	border-bottom:1px dotted #ccc;
	padding-bottom:15px;
}

.project-short-description{
	font-size:1rem;
	font-weight:400;
	padding-bottom:15px;
	padding-top:15px;
}

.project-info-table td{
	padding-top:10px;
	padding-bottom:10px;
	font-size:.9rem;
	vertical-align:top;
}
.project-description{
	margin-top:30px;
	padding-top:30px;
	border-top:1px dotted #ccc;
	padding-bottom:10px;
	font-size:.9rem;
}
.bold{
	font-weight:bold;
	padding-right:40px;
}

.single-project-image{
	margin-bottom:15px;
	padding-left:15px;
	padding-right:15px;
}
.single-project-gallery{
	margin-top:30px;
	padding-top:30px;
	border-top:1px dotted #ccc;
	margin-bottom:30px;
	
}
.single-project-gallery h1{
	margin-bottom:20px;
}


/*ABOUT*/

.media-container {
  position: relative;
  overflow: hidden; /* keeps the zoom inside the container */
}

.fallback-image {
  width: 100%;
  height: auto;
  transition: transform 0.6s ease; /* smooth zoom */
  transform-origin: center center;
  display: block;
}

/* Hover effect: zoom in slightly */
.media-container:hover .fallback-image {
  transform: scale(1.08);
}
.community-section{
	margin-top:40px;
	padding:40px 0;
	background-color:#cae2cf;
}
@media (min-width: 767px){
	.community-section{
		margin-top:100px;
		padding:100px 0;
		
	}

}
/* CONTACT */
.contact-content a {
    color: #000;
    text-decoration: none;
	font-weight:400;
    background-color: transparent;
}
.contact-content a:hover,
.contact-content a:active,
.contact-content a:focus{
    color: var(--yellow);
}
.team-member-box{
	margin-bottom:30px;
}
.contact-separator{
	border-top:1px solid var(--navy);
	padding-top:50px;
	margin-top:50px
}
@media (min-width: 767px){
	.team-member-box{
		margin-bottom:60px;
	}

}
.contact-image-container {
  position: relative;
  overflow: hidden; /* keeps the zoom inside the container */
}

.contact-image {
  width: 100%;
  height: auto;
  transition: transform 0.6s ease; /* smooth zoom */
  transform-origin: center center;
  display: block;
}

/* Hover effect: zoom in slightly */
.contact-image-container:hover .contact-image {
  transform: scale(1.08);
}
.team-member-box a{
	color:var(--navy);
}
.contact-name{
	font-size:1.6rem;
	font-weight:bold;
	margin-top:8px;
	margin-bottom:8px;
}
.company-position{
	
	margin-bottom:16px;
}
/* SERVICES PAGE */
.services-box{
	min-height:240px;
	position:relative;
	margin-bottom:30px;
	border-bottom:4px solid var(--yellow);
}
.services-box-title{
	font-size:2rem;
	font-weight:bold;
	line-height:1.1;
}


@media (min-width: 767px){
	.services-box{
		min-height:320px;
		position:relative;
	}

}

/*SINGLE SERVICES*/

.service-banner{

	min-height:80dvh;
	width:100%;
	background-color: #000;
	padding:0 20px;
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
	
}


.service-banner-content{
	margin:30px auto 30px;
	color:#fff;
	background-color: rgb(52 69 81 / 85%);
	max-width:840px;
	border-radius:8px;
	padding:20px;
}
.service-banner-title{
	font-size:2rem;
	line-height:1.2;
	letter-spacing:1px;
	font-weight:bold;
}
.service-banner-text{
	margin-top:20px;
	font-size:1rem;
}
.service-banner-button-container{
	margin:30px 0 10px;
}
.service-banner .breadcrumbs {
	margin-bottom:8px;
}
@media (min-width: 767px){
	.service-banner{
		padding:0 30px;
	}


	.service-banner-content{
		padding:30px;
	}
	.service-banner-title{
		font-size:3rem;
	}
	.service-banner-text{
		margin-top:20px;
		font-size:1.2rem;
	}
}

.single-service-second-section{
	max-width:840px;
	margin:70px auto 50px;
}
.single-service-second-section h1,
.single-service-second-section h2,
.single-service-second-section h3,
.single-service-second-section h4,
.single-service-second-section h5{
color:var(--navy)
}


.project-hidden {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease;
}
.project-hidden.show {
  opacity: 1;
  transform: translateY(0);
}
.show-more-button-container{
	margin:0 auto;
	text-align:center;
}
.show-more-button{
	color:var(--yellow);
	border:1px solid var(--yellow);
	margin:0 auto;
	background:transparent;
	padding:10px 20px;
	border-radius:4px;
	transition: all 0.3s ease;
}
.show-more-button:hover,
.show-more-button:active,
.show-more-button:focus{
	color:#000;
	border:1px solid var(--yellow);
	background:var(--yellow);
	padding:10px 20px;
	outline:none!important;
}


.single-service-video-section{
	background:#d5dfe7;
	text-align:center;
	padding:70px 0;
}
.single-service-video-title h1{
	font-size:3rem;
	margin-bottom:30px;
}
.single-service-video{
	
}
.single-service-reviews-section{

	text-align:center;
	padding:70px 0 30px;
}
.single-service-reviews-title h1{
	font-size:3rem;
	margin-bottom:30px;
}
.single-service-review{
	max-width:600px;
	margin:0 auto 30px;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  filter: invert(100%); /* turns them white → black, or vice versa */
}

.carousel-indicators li {
  background-color: #ccc;        /* grey by default */
  width: 12px;
  height: 12px;
  border-radius: 50%;           /* make them round */
}

/* Active indicator */
.carousel-indicators .active {
  background-color: var(--navy);     /* your highlight color */
}

/* Optional: spacing between dots */
.carousel-indicators li {
  margin: 0 5px;
}
/* FOOTER */
#site-footer {
	margin-top:70px;
	padding-top:50px;
	background:var(--navy);
	color:#fff;
	font-size:.9rem;
}
.page-template-page-services-new #site-footer,
.single-service #site-footer,
.page-template-page-projects #site-footer,
.page-id-1416 #site-footer,
.single-project #site-footer {
	margin-top:0px;
}	

#site-footer h1, 
#site-footer h2, 
#site-footer h3, 
#site-footer h4, 
#site-footer h5, 
#site-footer h6{
	color:#fff;
}
#site-footer .fa-phone, 
#site-footer .fa-envelope {
    color:var(--yellow);
}
#site-footer ul{
	list-style-type:none;
	padding-left:0px;
	margin-top:0px;
}
#site-footer ul >li{
	padding:0 0 8px 0;
}
#site-footer ul >li a{
	padding:0 0 8px 0;
}

#site-footer .custom-html-widget{
	margin-bottom:20px;
}

#site-footer .menu {
      display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
#site-footer .menu li{
	padding-bottom:0;
}
#site-footer .menu a{
    color: #fff;
    font-weight: 400;
    font-size: .9rem;
    line-height: 1.6;
	text-transform: none;
	letter-spacing:0;
	padding:0;
}
#site-footer .menu a:hover,
#site-footer .menu a:active,
#site-footer .menu a:focus{
    color:var(--yellow);
}

.footer-menu-container{
	margin-bottom:20px;
}
.footer-menu-container h2{
	font-size:1.4rem;
}


.widget_nav_menu{
	margin-bottom:30px;
}


.footer-left{
	font-size:1.4rem;
	text-align:center;
		margin-bottom:30px;
}
.footer-left-block{
	display:inline-block;
	margin-right:0px;
	margin-left:0px;
	margin-bottom:10px;
}


.footer-left-block a {
    color: #fff;
    text-decoration: none;
	font-weight:400;
    background-color: transparent;
}
.footer-left-block a:hover,
.footer-left-block a:active,
.footer-left-block a:focus{
    color: var(--yellow);
}

.footer-left-address{
	margin-top:15px;
}
.footer-right{
	text-align:center;
}	

.social-icons-link{
	display:inline-block;
	margin-left:10px;
	margin-right:10px;
	border:2px solid #fff;
	color:#fff!important;
	border-radius:50%;
	height:50px;
	width:50px;
	line-height:50px;
	text-align:center;
	font-size:1.2rem;
}
.social-icons-link:hover,
.social-icons-link:focus,
.social-icons-link:active{
	color:var(--yellow)!important;
	border-color:var(--yellow)!important;

}
@media (min-width:767px){
	.footer-left{
		text-align:left;
		margin-bottom:0px;
	}
	.footer-left-block{
		display:inline-block;
		margin-right:20px;
		margin-left:0px;
		margin-bottom:0px;
	}	
	.footer-right{
		text-align:right;
	}
	.social-icons-link{
		margin-left:20px;
		margin-right:0px;
	}
}
.footer-divider{
	border-bottom:1px solid var(--yellow);
	margin-bottom:10px;
	padding-bottom:30px;
}




