/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here... */ 

/* FORMS */
/* .ae-gf-styler-module .uabb-gf-style {
    background-color: var(--secondary-color);
    padding: 20px !important;
    border-top: var(--accent-color) solid 20px;
} */
/* .ae-gf-styler-module .uabb-gf-style .uabb-gf-form-title {
    margin-bottom: 15px !important;
} */
.ae-form .gfield .ginput_container input,
.ae-form .gfield .ginput_container textarea {
    background-color: var(--white-color) !important;
    border: var(--w-row-text) solid 1px !important;
    border-radius: 0 !important;
}
.ae-form .gfield_label,
.ae-form .gform-field-label {
    color: var(--w-row-text) !important;
}
.ae-form .gfield_required {
    color: var(--accent-color) !important;
}

/* Only write global css here, any css that is for a specific page, do in beaver builder on that page
 * Select fonts in general settings - BOTH HEADER AND BODY - probs smart to set up the header & body text font sizes in the global setting as a fallback */

:root {
	/* COLORS */
	--white-color: #ffffff;
    --primary-color: #2b4320;
	--secondary-color: #638c3d;
	--accent-color: #4a6a31;
	--gray-color: #ccd5cc;
	/* headings separator */
	--h-separator: var(--accent-color);
	/* Row colors */
	/* text */
	--w-row-text: #252525;
	--p-row-text: #ffffff;
	--s-row-text: var(--white-color);
	/* WHITE row buttons */
	--w-row-btn-bg: var(--primary-color);
	--w-row-btn-brdr: var(--primary-color);
	--w-row-btn-text: var(--white-color);
	/* hover */
	--w-row-btn-bg-hvr: transparent;
	--w-row-btn-brdr-hvr: var(--primary-color);
	--w-row-btn-text-hvr: var(--primary-color);
	/* PRIMARY row buttons */
	--p-row-btn-bg: transparent;
	--p-row-btn-brdr: var(--white-color);
	--p-row-btn-text: var(--white-color);
	/* hover */
	--p-row-btn-bg-hvr: var(--accent-color);
	--p-row-btn-brdr-hvr: var(--accent-color);
	--p-row-btn-text-hvr: var(--white-color);
	/* SECONDARY row buttons */
	--s-row-btn-bg: var(--primary-color);
	--s-row-btn-brdr: var(--primary-color);
	--s-row-btn-text: var(--white-color);
	/* hover */
	--s-row-btn-bg-hvr: transparent;
	--s-row-btn-brdr-hvr: var(--primary-color);
	--s-row-btn-text-hvr: var(--primary-color);

	/* FONT SIZES 
		- enter in your min and max font px sizes for mobile & desktop 
	 	- DON'T PUT "PX" BEHIND THE VALUE */
	--h1-min-fs: 36;
	--h1-max-fs: 80;
	
	--h2-min-fs: 36;
	--h2-max-fs: 48;
	
	--h3-min-fs: 22;
	--h3-max-fs: 36;	
	
	--h4-min-fs: 18;
	--h4-max-fs: 24;
	
	--paragraphs-min-fs: 18;
	--paragraphs-max-fs: 18;
	
	--btn-min-fs: 15;
	--btn-max-fs: 18;
	
	/* LINE HEIGHTS */
	--h1-lh: 1.1;
	--h2-lh: 1.2;
	--h3-lh: 1.2;
	--p-lh: 1.75;
	
	/* FONT WEIGHTS */
	--h1-fw: bold;
	--h2-fw: bold;	
	--h3-fw: bold;
	--btn-fw: normal;
	
	/* LETTER SPACING */
	--btn-ls: 0px;
	
	/* BUTTON SHAPE/STYLE */
	--btn-border: 0.125rem;
	--btn-radius: 0.125rem;
	--btn-case: uppercase;
	--btn-padding-sm-screens: .5rem 1rem;
	--btn-padding-lg-screens: 1rem 2rem;

	/* ROW MARGINS & PADDING */
	--row-margin: 0;
	--mbl-padding: 30px 2%;
	--tblt-padding: 40px 3%;
	--lptp-padding: 60px 5%;
	--dktp-padding: 80px 7%;
	
/* Hero Section Overlay */
	--hero-overlay: rgba(0,0,0,0.35);
	
	
	/* Calculations, PLZ DON'T TOUCH */
	font-size: 16px;
	
	--h1: calc(((var(--h1-min-fs) / 16) * 1rem) + (var(--h1-max-fs) - var(--h1-min-fs)) * ((100vw - 21.875rem) / (1500 - 400)));
	
	--h2: calc(((var(--h2-min-fs) / 16) * 1rem) + (var(--h2-max-fs) - var(--h2-min-fs)) * ((100vw - 21.875rem) / (1500 - 400)));
	
	--h3: calc(((var(--h3-min-fs) / 16) * 1rem) + (var(--h3-max-fs) - var(--h3-min-fs)) * ((100vw - 21.875rem) / (1500 - 400)));
	
	--h4: calc(((var(--h4-min-fs) / 16) * 1rem) + (var(--h4-max-fs) - var(--h4-min-fs)) * ((100vw - 21.875rem) / (1500 - 400)));
	
	--p: calc(((var(--paragraphs-min-fs) / 16) * 1rem) + (var(--paragraphs-max-fs) - var(--paragraphs-min-fs)) * ((100vw - 21.875rem) / (1500 - 400)));

}
/* end of root */

/* Button hover speed */
.ae-menu .uabb-creative-menu-mobile-toggle,
.fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button,
.ae-btn-pp .pp-button-wrap a,
.ae-social-link {
    transition: all 300ms ease-in-out;
}
/* hero overlay */
.ae-hero .fl-row-content-wrap:after {
	background-color: var(--hero-overlay);
}
/* "MOBILE" CSS */
/* FORMS */
.ae-form_wrapper .gform_required_legend {
	display: none;
}
.ae-form .gfield_label {
	border: none;
}
/* labels - CHANGE IF NEEDED */
.ae-form .gfield_label {
  font-size: var(--p) !important;
  margin: 0 !important;
  line-height: 1.7 !important;
	color: var(--w-row-text);
}
/* inputs - CHANGE IF NEEDED */
.ae-form .ginput_container input,
.ae-form .ginput_container textarea {
	color: var(--white-row-text) !important;
   padding: 12px !important;
  font-size: var(--p) !important;
	border: solid 1px #d1d1d1 !important;
	border-radius: 5px;
	background-color: #f6f6f6;
}
/* submit button */
.fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button {
	color: var(--w-row-btn-text);
	background-color: var(--w-row-btn-bg);
	border: var(--btn-border) var(--w-row-btn-brdr) solid;
	white-space: normal !important;
}
/* submit button hover */
.fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button:hover {
		color: var(--w-row-btn-text-hvr) !important;
	background-color: var(--w-row-btn-bg-hvr) !important;
	border: var(--btn-border) var(--w-row-btn-brdr-hvr) solid !important;
}
/* form modal - check media queries below for other settings */
.uabb-content {
	width: 95% !important;
	max-width: 700px !important;
}
/* ICONS */
.ae-social-link {
	display: inline-block;
	height: 3.125rem;
	width: 3.125rem;
}
.services-icon-container {
	width: 4.688rem;
	height: 4.688rem;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	margin-top: 20px
}
.services-icon {
	width: auto;
	height: 100%;
}
.generic-icon-container {
	width: 1rem;
	height: 1rem;
}
/* ROWS */
/* margin/padding */
.ae-padding .fl-row-content-wrap {
	padding: var(--mbl-padding) !important;
}
.ae-margin {
	
}
/* white */
.ae-white {
	background-color: var(--white-color);
}
:is(.ae-white, .ae-gray) .ae-text,
:is(.ae-white, .ae-gray) .ae-text h1,
:is(.ae-white, .ae-gray) .ae-text h2, 
:is(.ae-white, .ae-gray) .ae-text h3, 
:is(.ae-white, .ae-gray) .ae-text h4, 
:is(.ae-white, .ae-gray) .ae-text li,

:is(.ae-white, .ae-gray) .ae-form .gfield_label {
	color: var(--w-row-text);
}

:is(.ae-white, .ae-gray) .ae-menu .uabb-creative-menu a .menu-item-text, :is(.ae-white, .ae-gray) .ae-text a {
	color: var(--primary-color);
} 
:is(.ae-white, .ae-gray) .ae-menu .uabb-creative-menu a:hover .menu-item-text, :is(.ae-white, .ae-gray) .ae-text a:hover {
	color: var(--accent-color);
	transform: scale(1.1);
} 

:is(.ae-white, .ae-gray) .ae-btn-pp a,
:is(.ae-white, .ae-gray) .ae-menu .uabb-creative-menu-mobile-toggle,
:is(.ae-white, .ae-gray) .ae-btn-pp a, 
:is(.ae-white, .ae-gray) .ae-menu .uabb-creative-menu-mobile-toggle,
:is(.ae-white, .ae-gray) .fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button {
	color: var(--w-row-btn-text);
	background-color: var(--w-row-btn-bg);
	border: var(--btn-border) var(--w-row-btn-brdr) solid;
}
:is(.ae-white, .ae-gray) .ae-btn-pp a:hover,
:is(.ae-white, .ae-gray) .ae-menu .uabb-creative-menu-mobile-toggle:hover,
:is(.ae-white, .ae-gray) .ae-btn-pp a:hover, 
:is(.ae-white, .ae-gray) .ae-menu .uabb-creative-menu-mobile-toggle:hover,
:is(.ae-white, .ae-gray) .fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button:hover {
	color: var(--w-row-btn-text-hvr);
	background-color: var(--w-row-btn-bg-hvr);
	border: var(--btn-border) var(--w-row-btn-brdr-hvr) solid;
}
:is(.ae-white, .ae-gray) .ae-html-separator {
	background-color: var(--w-row-text);
}
:is(.ae-white, .ae-gray) .ae-svg-icon {
	fill: var(--w-row-text);
}
:is(.ae-white, .ae-gray) .ae-svg-icon-container {
	stroke: var(--w-row-text);
	fill: none;
}
/* primary */
.ae-primary {
	background-color: var(--primary-color);
}


.ae-primary .ae-text,
.ae-primary .ae-text h1,
.ae-primary .ae-text h2, 
.ae-primary .ae-text h3, 
.ae-primary .ae-text h4, 
.ae-primary .ae-text a, 
.ae-primary .ae-text li, 
.ae-primary .ae-menu .uabb-creative-menu a .menu-item-text, 
.ae-primary .ae-form .gfield_label,
.ae-accent .ae-text p, 
.ae-accent .ae-text p a{
	color: var(--p-row-text);
}

.ae-primary .ae-btn-pp a, 
.ae-primary .ae-menu .uabb-creative-menu-mobile-toggle, 
.ae-btn-pp.primary a,
.ae-menu.primary .uabb-creative-menu-mobile-toggle,
.ae-primary .fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button {
	color: var(--p-row-btn-text);
	background-color: var(--p-row-btn-bg);
	border: var(--btn-border) var(--p-row-btn-brdr) solid;
}
.ae-primary .ae-btn-pp a:hover, 
.ae-primary .ae-menu .uabb-creative-menu-mobile-toggle:hover,
.ae-btn-pp.primary a:hover,
.ae-menu.primary .uabb-creative-menu-mobile-toggle:hover,
.ae-primary .fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button:hover {
	color: var(--p-row-btn-text-hvr);
	background-color: var(--p-row-btn-bg-hvr);
	border: var(--btn-border) var(--p-row-btn-brdr-hvr) solid;
}
.ae-primary .ae-html-separator {
	background-color: var(--p-row-text);
}
.ae-primary .ae-svg-icon {
	fill: var(--p-row-text);
}
.ae-primary .ae-svg-icon-container {
	stroke: var(--p-row-text);
	fill: none;
}
.ae-primary .ae-svg-shadow {
	opacity: 0;
}
/* secondary */
.ae-secondary {
	background-color: var(--secondary-color);
}
.ae-secondary .ae-text,
.ae-secondary .ae-text h1,
.ae-secondary .ae-text h2,
.ae-secondary .ae-text h3,
.ae-secondary .ae-text h4,
.ae-secondary .ae-text a, 
.ae-secondary .ae-text li, 
.ae-secondary .ae-menu .uabb-creative-menu a .menu-item-text,
.ae-secondary .ae-form .gfield_label {
	color: var(--s-row-text);
}
.ae-secondary .ae-btn-pp a,
.ae-secondary .ae-menu .uabb-creative-menu-mobile-toggle,
.ae-btn-pp.secondary a,
.ae-menu.secondary .uabb-creative-menu-mobile-toggle,
.ae-secondary .fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button {
	color: var(--s-row-btn-text);
	background-color: var(--s-row-btn-bg);
	border: var(--btn-border) var(--s-row-btn-brdr) solid;
}
.ae-secondary .ae-btn-pp a:hover,
.ae-secondary .ae-menu .uabb-creative-menu-mobile-toggle:hover,
.ae-btn-pp.secondary a:hover,
.ae-menu.secondary .uabb-creative-menu-mobile-toggle:hover,
.ae-secondary .fl-module-content .uabb-gf-style .gform_wrapper .ae-form .gform_footer .gform_button:hover{
	color: var(--s-row-btn-text-hvr);
	background-color: var(--s-row-btn-bg-hvr);
	border: var(--btn-border) var(--s-row-btn-brdr-hvr) solid;
}
.ae-secondary .ae-html-separator {
	background-color: var(--s-row-text);
}
.ae-secondary .ae-svg-icon {
	fill: var(--s-row-text);
}
.ae-secondary .ae-svg-icon-container {
	stroke: var(--s-row-text);
	fill: none;
}
.ae-secondary .ae-svg-shadow {
	opacity: 0;
}
/* Individual Modules */
/* accordion */
.ae-text .pp-accordion-button, 
.ae-text .pp-accordion-content {
	background-color: var(--gray-color)!important;
	color: var(--w-row-text);
}
.ae-text .pp-accordion-open::before, 
.ae-text .pp-accordion-open::after,
.ae-text .pp-accordion-close::before {
	background-color: var(--w-row-text);
}
/* white */
.ae-text.white, 
.ae-text.white h1,
.ae-text.white h2,
.ae-text.white h3,
.ae-text.white h4,
.ae-text.white a,
.ae-text.white li, 
.ae-menu.white .uabb-creative-menu a .menu-item-text {
	color: var(--w-row-text);
}
/* primary */
.ae-text.primary, 
.ae-text.primary h1,
.ae-text.primary h2,
.ae-text.primary h3,
.ae-text.primary h4,
.ae-text.primary a,
.ae-text.primary li, 
.ae-menu.primary .uabb-creative-menu a .menu-item-text {
	color: var(--p-row-text);
}
/* secondary */
.ae-text.secondary,
.ae-text.secondary h1,
.ae-text.secondary h2,
.ae-text.secondary h3,
.ae-text.secondary h4,
.ae-text.secondary a,
.ae-text.secondary li,
.ae-menu.secondary .uabb-creative-menu a .menu-item-text {
	color: var(--s-row-text);
}
/* accent */
.ae-text.accent,
.ae-text.accent h1,
.ae-text.accent h2,
.ae-text.accent h3,
.ae-text.accent h4,
.ae-text.accent a,
.ae-text.accent li,
.ae-menu.accent .uabb-creative-menu a .menu-item-text {
	color: var(--accent-color);
}
.ae-text .pp-separator-line {
	color: var(--h-separator);
}
.accent {
	color: var(--accent-color);
}
/* backgrounds */
.ae-gray {
	background-color: var(--gray-color);
}
.ae-accent {
	background-color: var(--accent-color);
}
/* Fonts */
/* h1 */
.ae-text h1 {
	font-size: var(--h1);
	font-weight: var(--h1-fw);
	line-height: var(--h1-lh);
}
.ae-text h1 .pp-secondary-title {
	font-size: calc(var(--h1) * 0.62);
	margin-top: 1rem;
}
/* h2 */
.ae-text h2 {
	font-size: var(--h2);
	font-weight: var(--h2-fw);
	line-height: var(--h2-lh);
}
.ae-text.two-title h2 .pp-primary-title, 
.ae-text.three-title h2.pp-heading-prefix {
	font-size: calc(var(--h2) * 0.61);
}
.ae-text.two-title h2 .pp-secondary-title, 
.ae-text.three-title h2 .pp-primary-title, 
.ae-text.three-title h2 .pp-secondary-title {
	margin-top: 0.8rem;
}
.ae-text.three-title h2 .pp-secondary-title {
	font-size: var(--p);
}
/* h3 */
.ae-text h3 {
	font-weight: var(--h3-fw);
	line-height: var(--h3-lh);
}
.ae-text.scaling h3 {
	font-size: var(--h3);
}
.ae-text.two-title h3 .pp-primary-title {
	font-size: calc((var(--h3-max-fs) / 16) * 1rem);
}
.ae-text.two-title h3 .pp-secondary-title {
	font-size: calc((var(--h3-min-fs) / 16) * 1rem);
}
/* p */
.ae-text p,
.ae-text .fl-photo-caption,
.pp-accordion-button-label { 
	font-size: var(--p);
	line-height: var(--p-lh);
}
/* BUTTONS */
.uabb-creative-menu-mobile-toggle {
	border-radius: var(--btn-radius);
	text-transform: var(--btn-case);
	font-weight: var(--btn-fw);
	letter-spacing: var(--btn-ls);
}
.ae-btn-pp a, 
.ae-form input[type="submit"]  {
	font-size: calc((var(--btn-min-fs) / 16) * 1rem);
	text-transform: var(--btn-case);
	font-weight: var(--btn-fw);
	letter-spacing: var(--btn-ls);
	padding: var(--btn-padding-sm-screens) !important;
	border-radius: var(--btn-radius) !important;
	line-height: 1;
	margin-top: 20px;
}

/* margin & padding */
.ae-text.three-title h2.pp-heading-prefix {
	margin: 0;
}
/* TABLET CSS */
@media only screen and (min-width: 601px) {
	.ae-padding .fl-row-content-wrap {
		padding: var(--tblt-padding) !important;
	}
}
@media only screen and (min-width: 769px) {
	/* pp info box */
	.ae-text h1 .pp-secondary-title {
		font-size: calc(var(--h1) * 0.55);
	}
	.ae-text.two-title h2 .pp-primary-title, 
.ae-text.three-title h2.pp-heading-prefix {
		font-size: calc(var(--h2) * 0.54);
	}
}

/* LAPTOP CSS */
@media only screen and (min-width: 993px) {
	.ae-padding .fl-row-content-wrap {
		padding: var(--lptp-padding) !important;
	}
	/* pp info box */
	.ae-text h1 .pp-secondary-title {
		font-size: calc(var(--h1) * 0.45);
	}
		.ae-text.two-title h2 .pp-primary-title, 
.ae-text.three-title h2.pp-heading-prefix {
		font-size: calc(var(--h2) * 0.50);
	}
		/* buttons */
	 .ae-btn-pp a, 
	 .ae-form input[type="submit"] {
		font-size: calc((var(--btn-max-fs) / 16) * 1rem);;
		padding: var(--btn-padding-lg-screens) !important;
	}
	/* row dual colors */
	.ae-dc-r-white .fl-row-content-wrap {
		background: linear-gradient(to right, transparent 0% 50%, var(--white-color) 50% 100%);
	}
	.ae-dc-r-primary .fl-row-content-wrap {
		background: linear-gradient(to right, transparent 0% 50%, var(--primary-color) 50% 100%);
	}
	.ae-dc-r-secondary .fl-row-content-wrap {
		background: linear-gradient(to right, transparent 0% 50%, var(--secondary-color) 50% 100%);
	}
	.ae-dc-r-accent .fl-row-content-wrap {
		background: linear-gradient(to right, transparent 0% 50%, var(--accent-color) 50% 100%);
	}
	.ae-dc-r-gray .fl-row-content-wrap {
		background: linear-gradient(to right, transparent 0% 50%, var(--gray-color) 50% 100%);
	}
	.ae-dc-l-white .fl-row-content-wrap {
		background: linear-gradient(to left, transparent 0% 50%, var(--white-color) 50% 100%);
	}
	.ae-dc-l-primary .fl-row-content-wrap {
		background: linear-gradient(to left, transparent 0% 50%, var(--primary-color) 50% 100%);
	}
	.ae-dc-l-secondary .fl-row-content-wrap {
		background: linear-gradient(to left, transparent 0% 50%, var(--secondary-color) 50% 100%);
	}
	.ae-dc-l-accent .fl-row-content-wrap {
		background: linear-gradient(to left, transparent 0% 50%, var(--accent-color) 50% 100%);
	}
	.ae-dc-l-gray .fl-row-content-wrap {
		background: linear-gradient(to left, transparent 0% 50%, var(--gray-color) 50% 100%);
	}
}
/* DESKTOP CSS */
@media only screen and (min-width: 1351px) {
	.ae-padding .fl-row-content-wrap {
		padding: var(--dktp-padding) !important;
	}
	/* pp info box */		
	.ae-text h1 .pp-secondary-title {
		font-size: calc(var(--h1) * 0.45);
	}
			.ae-text.two-title h2 .pp-primary-title, 
.ae-text.three-title h2.pp-heading-prefix {
		font-size: calc(var(--h2) * 0.50);
	}
}

/* don't remove */
@media only screen and (max-width: 400px) {
	.ae-text h1 {
		font-size: calc((var(--h1-min-fs) / 16) * 1rem);
	}
	.ae-text h1.pp-infobox-title {
		font-size: calc(((var(--h1-min-fs) / 16) * 1rem) * 0.62);
	}
	.ae-text h2 {
		font-size: calc((var(--h2-min-fs) / 16) * 1rem);
	}
/* 	.ae-text.scaling h3 {
		font-size: calc((var(--h3-min-fs) / 16) * 1rem);
	} */
	.ae-text h4 {
		font-size: calc((var(--h4-min-fs) / 16) * 1rem);
	}
}
@media only screen and (min-width: 1501px) {
	.ae-text h1 {
		font-size: calc((var(--h1-max-fs) / 16) * 1rem);
	}
	.ae-text h1 .pp-secondary-title {
		font-size: calc(((var(--h1-max-fs) / 16) * 1rem) * 0.45);
	}
	.ae-text h2 {
		font-size: calc((var(--h2-max-fs) / 16) * 1rem);
	}
	.ae-text.two-title h2 .pp-primary-title, 
.ae-text.three-title h2.pp-heading-prefix {
		font-size: calc(((var(--h2-max-fs) / 16) * 1rem) * 0.46);
	}
	.ae-text.scaling h3 {
		font-size: calc((var(--h3-max-fs) / 16) * 1rem);
	}
	.ae-text h4 {
		font-size: calc((var(--h4-max-fs) / 16) * 1rem);
	}
}

/* ------------------ Greene Custom ------------------------- */
.fl-row-content {
	max-width: 1120px!important;
}

.fl-node-mth0ros2x6li .fl-module-box .fl-module-photo {
	flex: 0 0 25px;
	width: 25px!important;
}
.fl-node-mth0ros2x6li .fl-module-box .fl-module-photo img {
	width: 100%!important;
}

.fl-node-mth0ros2x6li .fl-module-box .fl-module-pp-advanced-accordion {
	flex: 1 1 80%;
	width: 100%!important;
}

.fl-node-jb5yech7ks9r > .fl-module-content {
	margin: 0;
}


/*homepage hero */
.fl-node-3uk5fd6vr1ta > .fl-row-content-wrap {
	background-position: 70% 20%!important;
}