/***************************
 * GLOBALS
 ***************************/

:root {
  --clr-primary: #8DC63F;
  --clr-secondary: #1C2A67;
  --clr-accent: #1C2967;
  --clr-body-text: #000000;	
  --dflt-transition: all 300ms ease 0ms;
  --fnt-oswald: 'Oswald',Helvetica,Arial,Lucida,sans-serif;
  --fnt-lato: 'Lato',Helvetica,Arial,Lucida,sans-serif;
  --fnt-roboto: 'Roboto',Helvetica,Arial,Lucida,sans-serif;
  --regular: 400;
  --fnt-spacing: -0.025em;
  --ltr-spacing: 1.05px;
  --clip-path: polygon(0 0, 88% 0, 100% 100%, 0% 100%);

} 


/*MD GLOBAL FORM STLYES*/
.md .nf-response-msg {
    background: var(--clr-primary);
    text-align: center;
    padding: 20px;
    font-size: 20px;
    color: var(--clr-body-text);
}

.md header#main-header #logo{
	max-height: 100%;
}


.md .block__full-img .et_pb_image_wrap,
.md .block__full-img .et_pb_image_wrap img{
	width: 100%;
	object-fit: cover;
}

/* oswald */

/*
.md header#main-header{
	border-top: 34px solid #1C2A67;
}
*/

/* Globals */
.md p{
	padding-bottom: 2em;
	letter-spacing: var(--ltr-spacing);
}

.md .ltr-spacing .et_pb_text_inner{
	letter-spacing: 1.05px;
}

.md .regular h4{
	font-weight: 400;
}

.md .global-list ul{
	list-style-type: none;
	padding-bottom: 0;
	padding-left: 0;
}

.md .global-list ul li{
	display: flex;
	line-height: 1.94em;
}

.md .global-list ul li:before{
	content: '\2022';
	margin-right: 15px;
	font-size: 25px;
}

.md .global-list ul li:not(:last-child){
	margin-bottom: 30px;
}



.md .et_pb_button{
	letter-spacing: 1.05px;
}

.md .vertical-align{
	display: flex;
	align-items: center;
	justify-content: center;
}

.md #mobile_menu .menu-item-has-children a{
	font-weight: 400 !important;
}


/* End Globals */

.md header{
	border-top: clamp(20px, 1.771vw, 34px) solid #1C2A67;
}
.md  header.et-fixed-header{
	border-top-width: 0px!important;
}


.md .btn-contact-nav img{
	margin-right: 10px
}

.md header#main-header .header-cta a.tel_link{
    display: flex;
    align-items: center;
}



.md header ul li a{
	font-size: clamp(18px, 1.875vw,36px);
	font-weight: var(--regular);
	line-height: 1.4819444444444445em;	
}

.md header ul li .sub-menu li a{
	font-size: clamp(18px, 1.0416666666667vw, 20px);
	line-height: 1.7670000000000001em;
}

.md header .nav li ul.sub-menu{
	border-top: 7px solid var(--clr-secondary);
	padding: 0;
	box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
	position: absolute;
	top: 50%;
}

.md header #top-menu li li{
	padding: 0;
	width: 100%;
}

.md header #top-menu li li a{
	padding: 6px 25px;
	width: 100%;
}

.md header.et-fixed-header #top-menu ul li a:hover,
.md header .et_mobile_menu li a:hover, 
.md header .nav ul li a:hover{
	opacity: 1;
	background: var(--clr-primary);
	color: #FFF !important;
}

.md header #top-menu > li:not(:last-child) > a:before {
 content: "";
 position: absolute;
 z-index: -2;
 left: 0;
 right: 100%;
 top: 50%;
 background: var(--clr-secondary); 
 height: 7px;
 -webkit-transition-property: right;
 transition-property: right;
 -webkit-transition-duration: 0.3s;
 transition-duration: 0.3s;
 -webkit-transition-timing-function: ease-out;
 transition-timing-function: ease-out;
}

.md header #top-menu > li > a:hover {
 opacity: 1 !important;
}

.md header #top-menu > li > a:hover:before {
 right: 0;
}

.md header #top-menu .current-menu-item a::before,
.md header #top-menu .current_page_item a::before,
.md header #top-menu .current_page_ancestor a::before{
 content: "";
 position: absolute;
 z-index: 2;
 left: 0;
 right: 0;
}




body.md{ font-weight: 400 !important; }

.md footer#main-footer{ display: none; }

.md .break-text{
 	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-word;
	word-break: break-word;
}

/* Column Aligner */
.md .lg-valign-center-row .et_pb_column,
.md .lg-valign-center-section,
.md .lg-valign-center-module {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}





/***************************
 * BASE FONTS
 ***************************/

.md .et_pb_text h1,
.md .et_pb_text h2,
.md .et_pb_text h3, h3.et_pb_module_header,
.md .et_pb_text h4,
.md .et_pb_text h5,
.md .et_pb_text h6{
	margin: 0;
	padding: 0;
}

.md .et_pb_text h1{
/* 	font-size: clamp(40px, 3.3333333333333vw, 64px); */
	font-size: 64px
}

.md .row-welcome .et_pb_text h1,
.md .et_pb_text h2{
	font-size: clamp(38px, 2.5vw, 48px);
	font-weight: var(--regular);
}



/* Homepage Hero */

.md .sec-home-hero .et_pb_slide_description{
	padding: 0;
}

.md .sec-home-hero .et_pb_slide_description .et_pb_slide_title{
	max-width: 694px;
	text-transform: capitalize;
	padding-top: 27px;
	padding-left: clamp(20px, 2.135vw, 41px);
	padding-bottom: 65px;
	padding-right: 75px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: auto;
	margin-left: 0;
	background: #FFF;
	clip-path: polygon(0 0, 87% 0, 100% 100%, 0% 100%);
	line-height: 110.2%;
	font-size: clamp(40px, 3.3333333333333vw, 64px) !important;
}


.md .sec-home-hero .et_pb_slide_description .et_pb_button_wrapper{
	transform: translateY(-50%);
    padding-left: clamp(20px, 2.135vw, 41px);
}

.md .sec-home-hero .et_pb_slide_description .et_pb_button_wrapper a.et_pb_button{
	margin-top: 0;
    display: table-cell !important;
    align-items: center !important;
    height: clamp(40px, 3.490vw, 67px);
    align-items: center;
    vertical-align: middle;
    min-width: 228px;
    text-align: center;
    font-size: 20px;
}


body.md #page-container .et_pb_section .et_pb_slider .et_pb_slide_0.et_pb_slide .et_pb_more_button.et_pb_button:after{
	font-size: 40px !important;
	margin-left: 0 !important;
}

.md .sec-home-hero .et_pb_slide{
	height: clamp(450px, 31.927vw, 613px);
}


/* Homepage Services Blurbs */

.md .row-icon-blrbs .et_pb_blurb .et_pb_main_blurb_image{
	margin-bottom: 18px;
}

.md .row-icon-blrbs .et_pb_blurb img{
	width: clamp(156px, 13.333vw, 256px);
}


.md .row-icon-blrbs .et_pb_blurb h3{
	font-size: clamp(20px, 1.875vw,36px);
	line-height: 53.35px;
	font-weight: 400;
}


.md .sec-cta .cta-row .col1 h2{
	font-size: clamp(36px, 3.3333333333333vw, 64px);
	letter-spacing: var(--fnt-spacing);
}


.md .sec-cta .contact_blrb .et_pb_blurb_content{
	display: flex;
	align-items: center;
}

.md .sec-cta .contact_blrb .et_pb_module_header{
	padding: 0;
}

.md .sec-cta .contact_blrb .et_pb_main_blurb_image{
	width: clamp(36px, 3.333vw, 64px);
	margin-bottom: 0;
}

.md .sec-cta .contact_blrb .et_pb_main_blurb_image img{
	width: clamp(36px, 3.333vw, 64px);
	height: clamp(36px, 3.333vw, 64px);
	object-fit: contain;
}

.md .sec-cta .contact_blrb .et_pb_module_header span{
	font-size: clamp(36px, 2.5vw, 48px);
	font-weight: 400;
	line-height: 1.9760416666666665em;
}

.md .row-contact-form .elem__col1{
	padding: 60px clamp(30px, 2.604vw, 50px);
}



/*Services*/

.md .all-services h4:hover{
	text-decoration-color: var(--clr-primary);
	transition: var(--dflt-transition);
}

.md .elem__hl strong{
	color: var(--clr-secondary);
}

.md .row-services-block .service-btn{
	display: none;
}

.md .row-services-block .cols .et_pb_image_wrap{
	width: 100%;
} 

.md .row-services-block .cols img{
	height: clamp(250px, 19.792vw, 380px);
	object-fit: cover;
	width: 100%;
}

.md .row-services-block .cols:hover .service-btn{
	display: block;
    position: absolute;
    bottom: 31px;
    left: 22px;
    transition: var(--dflt-transition);
}

.md .row-services-block .cols:hover .block-title{
	top: 0;
}

.md .row-services-block .cols:hover .block-title h2{
	background: var(--clr-accent);
	transition: var(--dflt-transition);
}

.md .row-services-block .cols{
	cursor: pointer;
	max-width: 592px;
}

.md .row-services-block .cols .block-title{
	width: 100%;
	position: absolute;
	bottom: 31px;
	margin-bottom: 0;
}

.md .row-services-block .cols .block-title h2{
	padding-left: 22px;
	line-height: 1.2em;
    font-size: clamp(30px, 2.5vw, 48px);
}


/* New Service */

.md .block__service-anchor{
	padding: 0;
}

.md .block__service-anchor .et_pb_promo_description{
	padding-bottom: 0;
}


.md .block__service-anchor .et_pb_promo_description .et_pb_module_header{
	font-size: clamp(30px, 2.500vw, 48px);
	padding-left: clamp(20px, 1.563vw, 30px);
	padding-top: 2px;
	padding-bottom: 2px;
	text-align: left;
	font-weight: 400;
}


.md .block__service-anchor:hover .et_pb_promo_description .et_pb_module_header{
	background-color: #1C2967;	
}





/* Pre-Footer Banner */

.md .block__banner .block__heading{
	clip-path: var(--clip-path);
	padding-top: 17px;
	padding-bottom: 17px;
	padding-left: clamp(20px, 1.563vw, 30px);
	padding-right: clamp(35px, 3.906vw, 75px);
}

.md .block__banner .block__heading h2{
	font-weight: 700 !important;
	max-width: 569px;
	font-size: clamp(25px,2.5vw,48px);
}

.md .block__banner .sub-text p{
	letter-spacing: 0.05px !important;
	text-transform: capitalize;
	text-shadow: 2px 3px 6px rgba(0, 0, 0, 0.99);
	font-size: clamp(18px, 1.3020833333333vw, 25px);
	line-height: 1.3em;

}

/* Footer */

.md .main-footer .inner-row-footer .col1{
	display: flex;
	align-items: center;
	padding: 35px;
	min-height: clamp(350px, 22.656vw, 435px);
}

.md .main-footer .inner-row-footer .col2{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.md .main-footer .inner-row-footer .col2 .footer-menu{
	width: 100%;
}

.md .main-footer .inner-row-footer .col2 .footer-menu ul{
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	max-width: 828px;
	margin: 0 auto;
}

.md .main-footer .inner-row-footer .col2 .contact_blrb{
	min-height: 323px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.md .main-footer .inner-row-footer .col2 .footer-menu ul li{
	flex-grow: 1;
}

.md .main-footer .inner-row-footer .col2 .footer-menu ul li:not(:last-child){
	margin-right: 3%;
}

.md .main-footer .inner-row-footer .col2 .footer-menu ul li a{
	color: #FFF;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.4642857142857142em;
	font-size: clamp(20px, 1.4583333333333vw, 28px);
	font-family: var(--fnt-oswald);
}



/* Page Title */

.md .sec-page-title .page-title h1{
	padding: 18px 40px;
	font-weight: 700;
}

.md .sec-page-title .page-title{
	box-shadow: 0px 15px 5px -10px rgba(0,0,0,0.55);
}

/* .md .sec-page-title .page-title:after{
	content: '';
    width: 77px;
    position: absolute;
    height: 100%;
    background: #FFF;
    top: 0;
    right: 0;
    transform: skew(30deg, 0deg);
    transform-origin: 100% 1%;
    box-shadow: 5px 4px 5px rgba(0, 0, 0, 0.55);
    z-index: -1;
} */


.md .inner-page-hero{
	height: clamp(400px, 28.958333333333vw, 556px);
	background-position: 100%;
}


/* About */

.md .row-abt-initial .about-lists ul{
	list-style-type: none;
	padding-left: 26px;
	padding-bottom: 0;
}

.md .row-abt-initial .about-lists ul li:before{
	content: '\2022';
	margin-right: 15px;
	font-size: 20px;
}

.md .row-abt-initial .about-lists ul li{
	display: flex;
	text-transform: capitalize;
	line-height: 1.94em;
	letter-spacing: var(--ltr-spacing);
}

.md .row-abt-initial .about-lists ul li:not(:last-child){
	margin-bottom: 25px;
}

.md .row-about-cs h3{
	font-size: 33px;
	font-weight: 500;
	line-height: 1.3em;
}





/* Services */
.md .row-service{
	display: flex;
	align-items: flex-end;
	cursor: pointer;
	transition: var(--dflt-transition);
}

.md .row-service .row-inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding: 22px clamp(40px, 4.4791666666667vw, 86px);
}

.md .row-service:hover .row-inner{
	background: var(--clr-secondary);
	transition: var(--dflt-transition);
}

.md .row-service:hover .row-inner .service-title{
	padding-left: 0;
}

.md .row-service:hover .learn-more-btn{
	background: var(--clr-primary);
	color: #FFF;
}


/* Landscaping */

.md .row-fullcols .content h2{
	margin-bottom: clamp(30px, 2.0833333333333vw, 40px);
}


/* Form */
.md .row-contact-form .contact-form h2{
	margin-bottom: clamp(20px, 2.0833333333333vw, 40px);
}

.md .nf-form-fields-required,
.md .nf-error-msg{
	display: none !important;
}

.md .nf-form-content .nf-pass .ninja-forms-field,
.md .nf-form-content .nf-pass.field-wrap .nf-field-element:after {
	color: var(--clr-primary);
	border: var(--clr-primary);
}	

.md .nf-form-content .email-container,
.md .nf-form-content .textbox-container{
	margin-bottom: clamp(20px, 2.0833333333333vw, 40px);
}

.md .nf-form-content textarea{
	background: transparent;
	border: 2px solid #FFF;
}

.md .nf-form-content input:not([type=submit]){
	background: transparent;
	border: none;
	border-bottom: 2px solid #FFF;
}

.md .nf-form-content input:focus,
.md .nf-form-content textarea:focus{
	background: transparent !important;
}

.md .nf-form-content input:not([type=submit]),
.md .nf-form-content textarea{
	font-size: 18px;
	color: #FFF !important;
}

.md .nf-form-content input::placeholder,
.md .nf-form-content textarea::placeholder{
	font-family: var(--fnt-roboto);
	font-size: 18px;
	font-weight: 400;
	line-height: 21px;
	color: #FFF;
}

.md .nf-form-content input[type=submit]{
	border: 2px solid #FFFFFF;
	min-height: 60px;
	font-size: 18px;
	font-family: var(--fnt-roboto);
	font-weight: 500;
	max-width: 210px;
	width: 100%;
	background: transparent;
	cursor: pointer;
	display: block;
	margin-left: auto;
	text-transform: uppercase;
}

.md .nf-form-content .submit-container{
	margin-bottom: 0;
}

.md .nf-form-content .textarea-wrap{
	height: 200px;
}

.md .nf-form-content input[type=submit]:hover{
	background: var(--clr-primary);
	color: #FFF;
}




/***************************
 * BASE LAYOUT
 ***************************/









/***************************
 * DEFAULT DIVI BREAKPOINTS
 ***************************/

 /*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {
  
}
 
/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {
 
}

@media all and (min-width: 981px) {

	.md .block__banner .block__heading{
		max-width: clamp(350px, 35.208vw, 676px) !important;
	}

	.md .block__banner .block__heading h2{
		font-size: clamp(35px,2.5vw,48px);
	}

	/* Start Header ===================================================================*/

	.md header#main-header #et-top-navigation{
		padding-top: clamp(40px, 2.7604166666667vw, 53px);
		padding-left: 200px !important;
	}

	.md header#main-header nav > ul > li > a{
		padding-bottom: clamp(40px, 2.7604166666667vw, 53px) !important;
	}

	.md header#main-header #logo{
		width: clamp(200px, 16.25vw, 312px);
	}

	.md header #top-menu > li:not(:last-child){
		padding-right: calc(22px + (70 - 22) * ((100vw - 981px) / (1920 - 981)));;
	}

	/* End Header ===================================================================*/

	.md .row-homepage-initial > div{
		max-width: 946px;
	}

	.md .row-homepage-initial > div:first-of-type{
		margin-right: 28px !important;
	}


	.md .sec-cta .cta-row .col1{
		width: 55.56338028169%;
		margin-right: 12.183098591549%;
	}

	.md .sec-cta .cta-row .col2{
		width: 32.323943661972%;
	}

	.md .row-services-block > div{
		width: 47.857720291027%;
	}
	
	.md .row-services-block > div:first-child{
		margin-right: 4.2037186742118%;
	}



	/* About */

	.md .row-abt-initial .col1{
		width: 42.141843971631%; 
		margin-right: 9.8744680851064%;
	}

	.md .row-abt-initial .col2{
		width: 47.982978723404%;
	}	

	/* Services */

	.md .row-services-heading .col1{
		width: 17.784963621665%;
    	margin-right: 23.2012934519%;
	}

	.md .row-services-heading .col2{
		width: 59.013742926435%;
	}
	
	.md .row-services-landing .col1{
		width: 43.449781659389%;
		margin-right: 2.2561863173217%;
	}

	.md .row-services-landing .col2{
		width: 54.29403202329%;
	}

	.md .fw-list-item ul li:nth-of-type(3),
	.md .fw-list-item ul li:nth-of-type(4){
		width: clamp(800px, 71.5625vw, 1374px);
	}

	/* Grid Image */
	.md .row-img-grid .col1{
		margin-right: 3.1205673758865%;
	}

	.md .row-img-grid .col1,
	.md .row-img-grid .col2{
		width: 48.439716312057%;
	}


	/* Golf */

	.md .row-golf-third .col1{
		width: 61.901408450704%;
		margin-right: 1.2676056338028%;
	}

	.md .row-golf-third .col2{
		width: 36.338028169014%;
	}


	/* Footer */

	.md .main-footer .inner-row-footer .col1{
		width: 40.9375%;
	}

	.md .main-footer .inner-row-footer .col2{
		width: 59.0625%;
	}

	.md .main-footer .inner-row-footer .col2 > div:nth-of-type(1){
		max-width: 200px;
		width: 21.953896816685%;
		margin-right: 12.952799121844%;
	}

	.md .main-footer .inner-row-footer .col2 > div:nth-of-type(2){
		max-width: 218px;
		width: 23.929747530187%;
		margin-right: 12.952799121844%;
	}

	.md .main-footer .inner-row-footer .col2 > div:nth-of-type(3){
		max-width: 257px;
		width: 28.21075740944%;
	}

}

/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
	.md .btn-contact-nav img{
		max-width: 17px
	}
	.md .row-contact-form .elem__col2 iframe{
		max-height: 500px;
	}

	.md header#main-header #logo{
		max-height: 90%;
	}

	.md .block__banner .block__heading{
		max-width: 420px !important;
	}

	.md .row-services-block{
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.md .custom-row {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap; 
		flex-wrap: wrap;
	}
	.md .first-on-mobile {
		-webkit-order: 1;
		order: 1;
		margin-bottom: 30px !important;
	}
	.md .second-on-mobile {
		-webkit-order: 2;
		order: 2;
		margin-bottom: 0 !important;
	} 

	.md .row-homepage-initial > div:first-of-type{
		margin-bottom: 28px !important;
	}

	.md .sec-cta .contact_blrb .et_pb_blurb_content{
		justify-content: center;
		flex-wrap: wrap;
	}	
 
}
 
/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
 
}

@media all and (min-width: 768px) {
	/* Homepage Service Blurbs  */

	.md .row-icon-blrbs > div{
		display: flex;
		margin-bottom: 0;
	}

	.md .row-icon-blrbs > div{
		width: 19.393939393939%;
	}

	.md .row-icon-blrbs > div:not(:last-of-type){
		margin-right: 20.909090909091%;
	}
	.md .sec-page-title .page-title{
		min-width: 419px
	}
}

/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {

 	.md .row-service .row-inner{
 		flex-direction: column;
 		align-items: flex-start;
 	}	

 	.md .row-service .row-inner .service-title{
		padding-left: 0.7em;
	}

	.md .row-service .row-inner .learn-more-btn{
		margin-top: 10px;
	}
	.md .sec-page-title .page-title h1{
		font-size: calc(35px + (50 - 35) * ((100vw - 320px) / (767 - 320)))!important;
	}
	
}
 

@media all and (min-width: 480px) and (max-width: 767px) {
	.md .row-icon-blrbs{
		display: flex;
		flex-wrap: wrap;
	}

	.md .row-icon-blrbs > div{
		width: calc(94% / 3);
	}

	.md .row-icon-blrbs > div:nth-of-type(1),
	.md .row-icon-blrbs > div:nth-of-type(2){
		margin-right: 3%;
	}

} 

/* @media all and (min-width: 480px){
	
} */
/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {

	.md .row-abt-initial .about-lists ul{
		padding-left: 0;
	}

	.md .page-title{
		min-width: calc(245px + (290 - 245) * ((100vw - 320px) / (767 - 320)))
	}
	.md .sec-page-title .page-title h1{
		padding: 13px 30px!important
	}

	.md .sec-home-hero .et_pb_slide_description .et_pb_slide_title{
		font-size: 30px !important;
	}

	.md .main-footer .inner-row-footer .col2 .footer-menu ul{
		flex-direction: column;
		align-items: center;
	}

	.md .main-footer .inner-row-footer .col2 .footer-menu ul li{
		margin-right: 0 !important;
	}
}

@media all and (max-width: 305px) {
	.md .sec-cta .contact_blrb .et_pb_blurb_content{
		flex-direction: column;
	}
 
 	.md .sec-cta .contact_blrb .et_pb_blurb_content .et_pb_blurb_container{
 		padding-left: 0;
 	}
}




/***************************
 * CUSTOM BREAKPOINTS
 ***************************/

@media all and (min-width: 1921px) {
	.md header #top-menu > li:not(:last-child){
		padding-right: 70px !important;
	}  
}

/* QA*/

.md .inner-row-footer:before{
    content: '';
    background: #1c2a68;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 99;
    transform: translateX(-100%);
}

.md .footer-menu:after{
    content: '';
    height: 100%;
    width: 100%;
    background: #80d049;
    right: 0;
    position: absolute;
    transform: translateX(100%);
    top: 0;
}


