/****** Color Pallet

Blue:  #37c6f3;
Purple:  #3d134c;

font-family: 'Oswald', sans-serif;
font-family: 'Roboto Condensed', sans-serif;

/***** Generic Items *****/

*{
	margin: 0;
	padding: 0;
}

html{
	scroll-behavior: smooth;
}

body{
	min-height: 100vh;
}

ul{
	list-style-type: square;
}

ul ul{
	list-style-type: circle;
}

li{
	margin-bottom: 7px;
}

h1, h2, h3,{
	font-family: "Poppins", sans-serif;
}

h2{
	font-size: 1.8rem !important;
}

p,a,li{
	font-family: "Roboto", sans-serif;
}

a{
	text-decoration: none;
}

button{	
	border: 0;
	background: transparent;
}

.txt-center,
.text-center{
	text-align: center;
}

.txt-left,
.text-left{
	text-align: left;
}

.txt-right,
.text-right{
	text-align: right;
}

.float-left{
	float:left;
}

.float-right{
	float: right;
}

.transition{
	transition: all 0.3s ease;
}

/***** Page General *****/

#page, .page{
	min-height: 50vh;
}

.page-section img{
	max-width: 100%;
	height: auto;
}

.btn-lg{
	font-size: .8em !important;
	text-transform: uppercase;
	padding: 17px 35px !important;
}

.btn-xl{
	font-size: 2em !important;
	text-transform: uppercase;
	padding: 10px 40px !important;
}

.btn-red{
	background: #f00000 !important;
	color: #fff !important;
	border: 3px solid #c81414 !important;
}

.btn-red:hover{
	background: #000 !important;
	border: 3px solid #000 !important;
}

.no-margin{
	margin: 0;
}

/***** Overrides *****/

.container{
	max-width: 1200px;
}

.nf-form-fields-required{
	display: none;
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.table-striped > tbody > tr:nth-child(2n+1) > td, .table-striped > tbody > tr:nth-child(2n+1) > th {
   background-color: rgba(1, 127, 1, .15);
}

.ngg-imagebrowser h3{
	display: none;
}

/***** Modal *****/

.modal-body{
	padding: 20px 50px !important;
}

.modal-exit{
	text-align: right;
}

.modal-exit i{
	padding: 5px;
	margin: 0 5px;
	cursor: pointer;
}

.modal ul{
	display: flex;
	flex-wrap: wrap;
}

.modal li{
	width: 50%;
}

/***** Header *****/

.main-nav{
	padding: 25px;
	position: fixed;
	width: 100%;
	z-index: 20;
	top: 0;
	transition: all .3s ease-in-out;
}

.main-nav .container{
	display: flex;
	justify-content: center;
	align-items: center;
}

.main-nav.header-home .desktop-nav-items li a{
	color: #fff;
	transition: all .3s ease;
}

ul.desktop-nav-items{
	display: flex;
	margin: 0;
}

ul.desktop-nav-items li{
	list-style: none;
	margin: 0;
}

.desktop-nav-items li a{
	padding: 7px 15px;
	color: #fff;
}

.desktop-nav-items li a{
	border-bottom: 2px solid #;
}

.main-nav.on{
	background: rgba(255, 255, 255, .75);
}

.main-nav .desktop-nav-items li a,
.main-nav.on .desktop-nav-items li a{
	color: #20376d;
}

header.main-nav a img{
	max-width: 195px !important;
}

.nav-icon{
	width: 25px;
	margin-left: auto;
	z-index: 20;
}

.nav-icon .nav-line{
	display: block;
	transition: all .3s ease;
	height: 2px;
	background: #fff;
}

.nav-icon.closed .nav-line{
	margin-bottom: 6px;
}

.nav-icon.open .nav-line:first-child{
	transform: rotate(45deg);
	margin: 0;
}

.nav-icon.open .nav-line:nth-child(2){
	transform: rotate(45deg);
	margin: 0;
	display: none;
}

.nav-icon.open .nav-line:nth-child(3){
	transform: rotate(-45deg);
	margin: -2px 0 0 0;

}

.nav-items{
	position: fixed;
	top: 0;
	right: -350px;
	width: 350px;
	height: 100%;
	padding: 130px 50px 0 50px;
	text-align: center;
	background: rgba(0, 0, 0, .75);
	transition: all .3s ease;
}

.nav-items.open{
	right: 0;
}

.nav-items ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav-items ul li{
	font-size: 1.5em;
	color: #fff;
	font-weight: bold;
	text-transform: uppercase;
}

.nav-items ul li a{
	color: #fff;
	display: inline-block;
	position: relative;
}

.nav-items ul li a::before{
	content: "";
  width: 0;
  margin: auto;
  position: absolute;
  background: #fff;
  height: 1px;
  left: 0;
  right: 0;
  bottom: -5px;
  transition: all 0.3s ease;
}

.nav-items ul li a:hover::before{
	width: 100px;
}

/***** Home *****/

.home-slider-wrap,
#home-slider .carousel-item .slide{
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center;
}

#home-slider .container{
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#home-slider .slide-content{
	text-align: center;
}

#home-slider .slide-content h2,
#home-slider .slide-content h3,
#home-slider .slide-content p,
#home-slider .slide-content a{
    color: #ffffff;
}

#home-slider .slide-content h2{
    font-size: 4em !important;
    text-transform: uppercase;
    line-height: 100px;
    margin-top: 0px;
}

#home-slider .slide-content h3{
	font-family: "Raleway", Sans-serif;
	text-transform: uppercase;
	font-size: 1em;
	font-weight: 500;
	letter-spacing: 12px;
	margin-top: 0px;
}

#home-slider .slide-content p{
	max-width: 500px;
	margin: auto;
}

a.btn-white-border{
	margin: 30px 0;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    display: inline-block;
    padding: 10px 30px;
    transition: all .2s ease-in-out;
    border-color: #ffffff;
    border-style: solid;
    border-width: 2px 2px 2px 2px;
    color: #fff;
    transition: all .2s ease-in-out;
}

a.btn-white-border:hover{
    background-color: rgba(255, 255, 255, 0.2);
}

#home-slider .slide-content a:hover{
    transform: translateY(8px);
}

.about{
	margin: 60px 0;
}

.about .container{
	display: flex;
	justify-content: center;
	align-items: center;
}

.about .container div{
	width: 50%;
}

.about-img img{
	max-width: 100%;
}

.about-content{
	color: #000;
	text-align: left;
}

.about-content h3{
	font-family: "Raleway", Sans-serif;
	text-transform: uppercase;
	font-size: 1em;
	font-weight: 500;
	letter-spacing: 12px;
	margin: 0 0 30px 0;
}

.about-content hr{
	width: 200px;
	height: 10px;
	background: #20376d;
	opacity: 1;
}

.about h2{
	font-weight: bold;
}

.home-sections{
	display: flex;
}

.section-image,
.section-content{
	width: 50%;
}

.section-image img{
	max-width: 100%;
}

.section-content{
	display: flex;
	justify-content: center;
	align-items: center;
}

.section-content-container{
	margin: 30px;
	max-width: 800px;
}

.section-content h2{
	margin-bottom: 30px !important;
}

.blue-section{
	background: #20376d;
	color: #fff;
	padding: 30px 0;
}

.blue-section h2{
	display: flex;
	align-items: center;
	justify-content: center;
}

.blue-section a{
	margin-left: 30px;
}

.project-section{
	padding: 60px 0;
}

.project-wrap{
	display: flex;
	flex-wrap: wrap;
}

.project-single-wrap{
	width: 33%;
	overflow: hidden;
}

.project-single{
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .2s ease-in-out;
	color: #fff;	
	background-position: center;
	height: 300px;
	margin: 11px;
}

.home .project-single-wrap{
	margin: 11px;
	overflow: hidden;
	position: relative;
	display: inline-block;
	width: 31%;
}

.home .project-single-wrap a{
	margin: 0;
	padding: 0;
}

.home .project-single-wrap a::before{
	content: '';
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .5);
	display: inline-block;
}

.home .project-single-wrap a:hover{
	transform: scale(1.1);
	color: #fff;
}

.home .project-single-wrap .post-details{
	z-index: 10;
}

/***** Page *****/

#page{
	margin-top: 30px;
}

.page-title{
	height: 500px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page-title h1{
	color: #fff !important;
	font-weight: bold;
	font-size: 3em !important;
}

#page h2{
	border-bottom: 5px solid #20376d;
	padding-bottom: 5px;
	display: inline-block;
	margin: auto;
}

.page-header-divider{
	margin-top: -200px;
	height: 200px;
	width: 100%;
	background-image: url(/wp-content/uploads/2024/03/city-sky-border-wh.png);    
	background-size:     cover;                     
	background-repeat:   no-repeat;
	background-position: center center; 
}

/***** Portfolio *****/

.page-title{
	width: 100%;
	background-image: url(/wp-content/uploads/2024/01/wood-grain-500-dark1.jpg);
	background-size: cover;
	display: flex;
	justify-content: center;
}

.page-title h2{
	color: #000;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.portfolio a.single-post{
	position: relative;
	display: inline-block;
	margin: 12px 0;
}

.portfolio a.single-post img{
	transition: all .3s ease;
}

.portfolio a.single-post .post-thumbnail{
	overflow: hidden;
}

.portfolio a.single-post:hover img{
	transform: scale(1.1);
}

.portfolio .single-post .single-post-overlay{
	background: rgba(0, 0, 0, .5);
}

.portfolio .single-post .single-post-overlay,
.portfolio .single-post .post-details{
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
}

.portfolio .single-post .post-details h3{
	margin: 0;
	color: #fff;
	text-align: center;
}

#page.post{
	margin-top: 100px;
}

.portfolio img{
  max-width: 100%;
  height: auto;
}

.portfolio-item{
	width: 25%;
}

.portfolio-menu{
	width: 1200px;
	height: 80%;
	display: flex;
	flex-wrap: wrap;
	padding: 22px 0;
}

.portfolio-menu button{
  padding: 15px 25px;
  text-transform: uppercase;
  transition: all .3s ease;
  border: none;
  font-family: 'Roboto Condensed', sans-serif;
  background: #20376b;
  color: #fff;
  margin: 0 7px;
}

.portfolio-menu button.collapsed{
	background: #fff;
	color: #000;
}

.portfolio-menu button:hover{
  background: #20376b;
  color: #fff;
}

.services-item{
	position: relative;
	width: 50%;
}

.services-content{
	position: relative;
	background: #fff;
	border-radius: 4px;
	padding: 20px;
	margin: 22px 11px;
	text-align: center;
	border-radius: 7px;
	transition: all .3s ease-in-out;
	background: #eee;
}

.project-content-container{
	max-width: 800px;
	margin: auto;
}

.project-content-container img{
	max-width: 100%;
}

/***** Residentital *****/

.residential{
	display: flex;
	justify-content: center;
}

.residential-menu{
	width: 1200px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 30px 0;
}

.residential-menu a{
	color: #fff;
	position: relative;
}

.residential-menu-item::before{
	content: '';
	background: rgba(0, 0, 0, .50);
	position: absolute;
	width: 100%;
	height: 100%;
}

.residential-menu-item h3{
	z-index: 10;
} 

.residential-menu-item{
	width: 30%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 11px;
}

.proj{
	background-position: center center;
}

.proj-1{
	background-image: url(/wp-content/uploads/2024/01/pool-section.jpg);
}

.proj-2{
	background-image: url(/wp-content/uploads/2024/01/pool-section.jpg);
}

.proj-3{
	background-image: url(/wp-content/uploads/2024/01/pool-section.jpg);
}

.proj-4{
	background-image: url(/wp-content/uploads/2024/01/pool-section.jpg);
}

.proj-5{
	background-image: url(/wp-content/uploads/2024/01/pool-section.jpg);
}

/***** Project Page *****/

.proj-content{
	display: flex;
	justify-content: center;
}

.proj-desc{
	margin: 60px;
	max-width: 400px;
}

/***** Contact *****/

.contact{
	display: flex;
	justify-content: center;
	align-items: center;
}

.contact-content{
	width: 1200px;
	display: flex;
	justify-content: center;
}

.loc{
	width: 50%;
	padding: 15px;
	text-align: center;
}

.loc .map{
	max-width: 100%;
}

/***** Footer *****/

.sub-footer{
	background: #222;
	color: #fff;
	padding: 60px 0;
}

.sub-footer .container{
	display: flex;
	justify-content: space-between;
}

.sub-footer-item{
	width: 33%;
	margin: 11px;
}

.sub-footer-item h4{
	border-left: 10px solid #20376d;
	padding: 0 0 0 11px;
}


.sub-footer-item strong{
	width: 55px;
	display: inline-block;
}

#footer{
	overflow: hidden;
	color: #ccc;
	background: #000;
	width: 100%;
	font-size: 15px !important;
	padding: 15px 0;
}

#footer .footer-title{
	content: "";
	color: #fff;
	margin-bottom: 60px;
	font-size: 18px !important;
	font-weight: 600;
	text-transform: uppercase;
	position: relative;
}

#footer .footer-title::after{
	content: "";
  width: 50px;
  height: 3px;
  bottom: -15px;
  left: 0;
  position: absolute;
  z-index: 1;
  background: #e1fe00;
}

#footer a{
	color: #dadada;
	text-decoration: none;
	transition: all .3s ease;
}

#footer p{
	line-height: 2em;
	margin: 0;
}

#footer a:hover{
	color: #a0913f;
}

.footer-item{
	padding-bottom: 80px;
}

.footer-social a{
	color:  #000 !important;
}

.footer-social a:hover{
	color:  #e1fe00 !important;
}

.social-footer{
	font-size: 2em;
}

.footer-logo{
	max-width: 250px;
	margin-bottom: 22px;
}

.scroll-up{
	position: fixed;
	bottom:  30px;
	right:  30px;
	z-index: 10;
	color:  #000;
	cursor: pointer;
	transition: all .3s ease;
	visibility: hidden;
	opacity: 0;
}

.scroll-up:hover{
	color: #d31d29;;
	bottom: 35px;
}

.scroll-up.show{
	visibility: visible;
	opacity: 1;
}

.nf-response-msg{
	padding: 30px;
	margin: 30px 0;
	text-align: center;
	border: dashed 5px #37c6f3;
	border-radius: 25px;
}

.credit-block{
	display: flex;
}

.credit-img{   
	max-width: 48px;
    height: auto;
    margin-top: 4px;
    display: inline-block;
	vertical-align: text-top;
	padding-right: 11px;
}

/***** Mobile Menu *****/

.mobile-menu-icon,
.mobile-header .logo{
	position: fixed;
	top: 0;
	z-index: 100;
}

.mobile-contact{
	padding: 5px 0;
	background: #d31d29;
	z-index: 300;
	position: fixed;
	top: 0;
	width: 100%;
}

.mobile-header a{
	text-decoration: none;
	font-weight: bold;
	color: #fff;
	margin-right: 5px;
}

.mobile-menu-icon{
	color: #fff;
	padding: 10px 0 0 15px;
	margin-top: 30px;
	z-index: 999;
}

.mobile-menu{
	z-index: 200;
}

.mobile-header,
.mobile-contact,
.mobile-header .logo{
	z-index: 300;
}

.mobile-header .logo{
	background-color: #fff;
	width: 100%;
	height: 62px;
	margin-top: 35px;
	text-align: center;	
	box-shadow: 0px 3px 10px #000;
	border-top: 3px solid #c5ffac;
	background: url(/wp-content/uploads/2022/08/pattern-red-lt-min.jpg)
}

.mobile-header .logo a{
	padding: 5px;
	display: inline-block;
	font-size: 1.2em;
}

.mobile-header .logo a img{
	height: auto;
	width: 120px;
	position: absolute;
	top: 10px;
	left: 50%;
	margin-left: -60px;
}

.mobile-menu{
	position: fixed;
	top: 0;
	width: 100%;
	background:	#fff;
	overflow: hidden;
}

.mobile-menu.closed{
	height: 0;
}

.mobile-menu.open{
	height: 100vh;
	overflow-y: scroll;
	background: #c5ffac;
	background-image: url(/wp-content/uploads/2022/05/pattern-ltgreen.jpg);
}

.mobile-menu ul{
	list-style: none;
	padding: 96px 0 20px 0;
}

.mobile-menu li{
	width: 100%;
	text-align: left;
	margin: 0;
}

.mobile-menu li:first-child{
	border-top: 1px dotted #000;
}

.mobile-menu li a{
	padding: 15px 30px;
	font-size: 2em;
	border-bottom: 1px dotted #000;
	display: inline-block;
	width: 100%;
	color: #000;
	text-decoration: none;
}

.mobile-menu ul ul{
	padding: 0;
}

.mobile-menu ul ul li{
	font-size: .7em;
	background: #fff;
}

.mobile-menu ul ul li:first-child{
	border-top: none;
}

.mobile-menu ul ul li a{
	padding: 10px 45px;
}

.home-about-image img,
.wp-block-image img{
	max-width: 100%;
	height: auto;
}

/***** Responsive *****/

@media (max-width: 1199px){

	.about-item{
		padding: 30px 0;
	}

	.scroll.on .menu-static .logo img{
		max-width: 130px;
	}

	.desktop-header .menu-item a{
		padding: 17px 10px 5px 10px;
	}

	.desktop-menu ul li{
		margin-right: 5px;
	}
}

@media (max-width: 991px){

	.about-item{
		padding: 10px 0;
	}

	.about-item h2{
		font-size: 1.2em !important;
	}

	.scroll.on .menu-static .logo img{
		max-width: 130px;
	}

	.container{
		width: 100%;
		max-width: none;
	}

	.carousel-control-prev,
	.carousel-control-next{
		display: none;
	}

	.desktop-menu ul li{
		margin-right: 0px;
		font-size: 0.75em;
	}

	.contact-sec{
		display: none;
	}

}

@media (max-width: 768px){

	.home-sections{
		display: block;
	}

	.section-image,
	.section-content{
		width: 100%;
	}


	.section-content{
		padding: 30px 0;
	}

	.copyright,
	.design-by{
		width: 100%;
		text-align: center;
	}

	.slide-content{
		max-width: 100%;
	}

	#home-slider .slide-content h2{
		font-size: 1.8em !important;
	}

	.desktop-nav-items{
		padding: 0;
	}

	.about .container{
		display: block;
	}

	.about .container div{
		width: 100%;
		padding: 30px;
	}

	.contact-sec{
		display: block;
	}

}

@media (max-width: 575px){

	.main-nav{
		display: block;
		text-align: center;
	}

	.main-nav img{
		max-width: 225px;
	}

	.main-nav button{
		position: fixed;
		right: 20px;
	}

	.footer-contact-info .contact_item{
		text-align: center;
	}

	.page-content{
		margin-top: 0;
	}

}