/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi
Description: Divi child theme via FreshySites
Author: FreshySites
Author URI: https://freshysites.com/
Template:  Divi
Version: 1.0.0
*/
/* Add your own styles at the bottom */


/* -- COLORS -- */

.white, 
.white h1, .white h2, .white h3, .white h4, .white h5, .white h6, .white li, .white a,
h1.white, h2.white, h3.white, h4.white, h5.white, h6.white, li.white, a.white, p.white {
	color: #fff;
}

.black, 
.black h1, .black h2, .black h3, .black h4, .black h5, .black h6, .black li, .black a,
h1.black, h2.black, h3.black, h4.black, h5.black, h6.black, li.black, a.black, p.black {
	color: #000;
}

.primary, 
.primary h1, .primary h2, .primary  h3, .primary h4, .primary h5, .primary h6, .primary li, .primary a,
h1.primary, h2.primary, h3.primary, h4.primary, h5.primary, h6.primary, li.primary, a.primary, p.primary {
	color: #32a709;
}

.secondary, 
.secondary h1, .secondary h2, .secondary h3, .secondary h4, .secondary h5, .secondary h6, .secondary li, .secondary a,
h1.secondary, h2.secondary, h3.secondary, h4.secondary, h5.secondary, h6.secondary, li.secondary, a.secondary, p.secondary {
	color: #daf238;
}

.tertiary, 
.tertiary h1, .tertiary h2, .tertiary h3, .tertiary h4, .tertiary h5, .tertiary h6, .tertiary li, .tertiary a,
h1.tertiary, h2.tertiary, h3.tertiary, h4.tertiary, h5.tertiary, h6.tertiary, li.tertiary, a.tertiary, p.tertiary {
	color: #e4debe;
}

/* background colors */
.bg-white, a.bg-white {background-color: #fff;}
.bg-black, a.bg-black {background-color: #000;}
.bg-primary, a.bg-primary {background-color: #32a709;}
.bg-secondary, a.bg-secondary {background-color: #daf238;}
.bg-tertiary, a.bg-tertiary {background-color: #e4debe;}

/* -- END COLORS -- */


/* -- TYPOGRAPHY -- */

.text-lowercase, 
.text-lowercase h1, .text-lowercase h2, .text-lowercase h3, .text-lowercase h4, .text-lowercase h5, .text-lowercase h6, .text-lowercase li, .text-lowercase a {
	text-transform: lowercase !important;
}

.text-uppercase, 
.text-uppercase h1, .text-uppercase h2, .text-uppercase h3, .text-uppercase h4, .text-uppercase h5, .text-uppercase h6, .text-uppercase li, .text-uppercase a {
	text-transform: uppercase !important;
}

.text-capitalize, 
.text-capitalize h1, .text-capitalize h2, .text-capitalize h3, .text-capitalize h4, .text-capitalize h5, .text-capitalize h6, .text-capitalize li, .text-capitalize a {
	text-transform: capitalize !important;
}

.text-transform-none, 
.text-transform-none h1, .text-transform-none h2, .text-transform-none h3, .text-transform-none h4, .text-transform-none h5, .text-transform-none h6, .text-transform-none li, .text-transform-none a {
	text-transform: none !important;
}

.font-weight-bold, 
.font-weight-bold h1, .font-weight-bold h2, .font-weight-bold h3, .font-weight-bold h4, .font-weight-bold h5, .font-weight-bold h6, .font-weight-bold li, .font-weight-bold a {
	font-weight: 700;
}

.font-weight-normal, 
.font-weight-normal h1, .font-weight-normal h2, .font-weight-normal h3, .font-weight-normal h4, .font-weight-normal h5, .font-weight-normal h6, .font-weight-normal li, .font-weight-normal a {
	font-weight: 400;
}

.font-italic {font-style: italic;}

.text-underline-none, .text-underline-none a {text-decoration: none !important;}

.text-underline, .text-underline a {text-decoration: underline !important;}

.text-nowrap, .text-nowrap a {white-space: nowrap !important;}

.text-wrap-normal, .text-wrap-normal a {white-space: normal !important;}

/* -- END TYPOGRAPHY -- */


/* -- HEADER -- */

/* helps logo to not be pixelated when scaled down */
#logo {
	-webkit-transform: none !important;
	transform: none !important;
}

/* when mobile menu is open, change hamburger icon to x icon */
#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}

/* makes sub sub menu icon be right arrow instead of down arrow */
#top-menu .menu-item-has-children .menu-item-has-children > a:first-child::after, 
#et-secondary-nav .menu-item-has-children .menu-item-has-children > a:first-child::after {
	content: '5';	
}

/* - mobile menu toggling elements, injected via jQuery - */

/* make menu list item be relative, to be able to position toggle within this item */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children {
	position: relative;	
}
/* the new toggle element, which is added via jQuery */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle {
	position: absolute;
	background-color: rgba(0,0,0,0.03);
	z-index: 1;
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: 50%;
	top: 4px;
	right: 4px;
	cursor: pointer;
	text-align: center;
}
/* the new toggle element when popped */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped {
	background-color: rgba(0,0,0,0.1);
}
/* toggle icon */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle::before {
	font-family: "ETmodules" !important;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 36px;
	font-size: 24px;
	text-transform: none;
	speak: none;
	content: '\33';
}
/* toggle icon when triggered */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped::before {
	content: '\32';
}
/* hide sub menus by default */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle ~ ul.sub-menu {
	display: none !important;
	padding-left: 0;
}
/* show sub menu when triggered via jQuery toggle, and add slight bg color */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped ~ ul.sub-menu {
	display: block !important;
	background-color: rgba(0,0,0,0.03);
}
/* remove sub menu list item left padding, since padding will be on anchors */
#main-header #mobile_menu.et_mobile_menu li li {
	padding-left: 0;
}

/* adjust mobile menu anchors side paddings */
#main-header #mobile_menu.et_mobile_menu li a {
	padding-left: 20px;
	padding-right: 20px;
}
/* indent sub menu */
#main-header #mobile_menu.et_mobile_menu li li a {
	padding-left: 40px;
	padding-right: 20px;
}
/* indent sub sub menus further */
#main-header #mobile_menu.et_mobile_menu li li li a {
	padding-left: 60px;
	padding-right: 20px;
}
/* if mobile menu anchor has toggle, make room for it to fit next to the link */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children .sub-menu-toggle + a {
	padding-right: 44px;
}

/* - end mobile menu toggling elements - */

/* undo Divi's default styling of mobile menu links that have children */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children > a {
	background-color: transparent;
	font-weight: inherit;
}

/* make the current page's mobile menu link be different */
#main-header #mobile_menu.et_mobile_menu li.current-menu-item > a {
	font-weight: bolder;
}

/* -- END HEADER -- */


/* -- FOOTER -- */

#freshy_copyright span {
	display: inline-block;
	line-height: 1.5em;
}

/* vertical pipe divider */
#freshy_copyright span.copyright_via {
	width: 33.33333%;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	background: rgba(255,255,255,0.25);
	vertical-align: middle;
	margin: 10px auto 15px;
	display: block;
}

#freshy_copyright a.copyright_fs {
	display: block;
	vertical-align: middle;
	width: 68px;
	height: 20px;
	background-image: url("/wp-content/uploads/Freshy_Logo_White_RGB.svg");
	background-repeat: no-repeat;
	background-size: 68px 20px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 auto;
}

/* fix if using Impreza to remove underline */
#freshy_copyright a:hover {
	border: 0 !important;
}

@media (min-width: 600px) {
	/* vertical pipe divider */
	#freshy_copyright span.copyright_via {
		width: 1px;
		height: 20px;
		margin: 0 10px;
		display: inline-block;
	}
	#freshy_copyright a.copyright_fs {
		display: inline-block;
	}
}

@media (max-width: 980px) {
	#footer-bottom .et-social-icons li:first-child {
		margin-left: 0;
	}
}

/* -- END FOOTER -- */


/* -- RESPONSIVE -- */

/* do for mobile */
@media screen and (max-width: 767px) {
	/* hide on mobile */
	.hide-mobile {
		display: none;
	}
}

/* do for desktop */
@media screen and (min-width: 768px) {
	/* hide on desktop */
	.hide-desktop {
		display: none;
	}
}

/* -- END RESPONSIVE -- */


/* -- CHECKLIST -- */

.checklist ul {
    margin: 0;
	padding: 0 !important;
    list-style: none;
}

.checklist ul li {
    position: relative;
    padding-left: 30px;
    margin: 0 0 6px !important;
}

.checklist-columns-2 ul li,
.checklist-columns-3 ul li,
.checklist-columns-4 ul li {
	margin-bottom: 30px !important;
}

@media (max-width: 638px) {
	.checklist-columns-2 ul li,
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		margin-bottom: 20px !important;
	}
	.checklist-columns-2 ul li:last-child,
	.checklist-columns-3 ul li:last-child,
	.checklist-columns-4 ul li:last-child {
		margin-bottom: 0 !important;
	}
}

/* create columns of list items with this class */
@media (min-width: 639px) {
	.checklist-columns-2 ul::after,
	.checklist-columns-3 ul::after,
	.checklist-columns-4 ul::after {
		content: '';
		clear: both;
		display: table;
	}
	.checklist-columns-2 ul li,
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		float: left;
		width: 50%;
      	padding-right: 30px;
	}
	.checklist-columns-2 ul li:nth-child(odd),
	.checklist-columns-3 ul li:nth-child(odd),
	.checklist-columns-4 ul li:nth-child(odd){
		clear: both;	
	}
}
@media (min-width: 981px) {
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		float: left;
		width: 33.333333%;
	}
	.checklist-columns-3 ul li:nth-child(odd),
	.checklist-columns-4 ul li:nth-child(odd) {
		clear: none;	
	}
	.checklist-columns-3 ul li:nth-child(3n+1),
	.checklist-columns-4 ul li:nth-child(3n+1) {
		clear: both;	
	}
}
@media (min-width: 1199px) {
	.checklist-columns-4 ul li {
		float: left;
		width: 25%;
	}
	.checklist-columns-4 ul li:nth-child(odd) {
		clear: none;	
	}
	.checklist-columns-4 ul li:nth-child(3n+1) {
		clear: none;	
	}
	.checklist-columns-4 ul li:nth-child(4n+1) {
		clear: both;	
	}
}

.checklist ul li::before {
    font-family: 'FontAwesome';
    content: '\f058';
    width: 20px;
    margin: 0;
    display: inline-block;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    color: #ea702a;
    /* set font size helps make icon sharper */
    font-size: 22px;
	font-weight: normal;
}

.pluslist ul li::before {
    content: '\f055';
}
.eventlist ul li::before {
    content: '\f274';
}
.locationlist ul li::before {
    content: '\f041';
}
.externallist ul li::before {
	content: '\f14c';	
}
.pdflist ul li::before {
    content: '\f1c1';
	color: red;
}
.userlist ul li::before {
	content: '\f2c0';
}

/* -- END CHECKLIST -- */


/* make parallax image be centered at the start */
.et_parallax_bg {
	background-position: center center;	
}

/* use the "fullwidth-row" class on a section to really make a "full width" row be full width */
.et_pb_section.fullwidth-row {
	padding: 0;	
}
.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* helps add padding to each column */
.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column {
	padding: 10px 10%;
}
@media (min-width: 767px) {
	.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column {
		padding: 10px 6%;
	}
}

/* for some reason Divi removes bottom margin from modules if in column with no gutters, 
so we need to add margins back */
.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth.et_pb_gutters1 > .et_pb_column .et_pb_module:not(:last-child) {
	margin-bottom: 30px;
}
@media (min-width: 981px) {
	.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth.et_pb_gutters1 > .et_pb_column_2_3 .et_pb_module:not(:last-child) {
		margin-bottom: 4.242%;
	}
	.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth.et_pb_gutters1 > .et_pb_column_1_3 .et_pb_module:not(:last-child) {
		margin-bottom: 9.27%;
	}	
}
.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth.et_pb_gutters1 > .et_pb_column .et_pb_module.et_pb_toggle:not(:last-child) {
	margin-bottom: 3px;
}


/* -- GRAVITY FORMS -- */

/* fix the extra 16px right indent on most forms */
@media only screen and (min-width: 641px) {
	.gform_wrapper form .gform_body {
		width: calc(100% + 16px);
	}
}

/* partially due to Surbma's restyling of the form, 
there now apepars to be excess margin above fields at certain screen sizes,
when two or more inputs have errors side by side (hence the + in the CSS),
so let's remove that top gap */
@media only screen and (max-width: 761px), (max-device-width: 1023px) and (min-device-width: 768px) {
	.gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error+li.gfield.gfield_error {
		margin-top: 0;
	}
}

/* -- BEGIN BUILDER CSS -- */

@media only screen and (min-width: 981px){
	.et_pb_module.et_pb_map_container_extended.et_pb_map_extended_0 {
		height: 100%;
	}

	.et_pb_column_1_3 .et_pb_map, .et_pb_column_1_4 .et_pb_map {
		height: 100%;
	}
}

@media only screen and (max-width: 980px) {
	#logo{
		max-height:78%;
	}
	
	.five-col-responsive-issue .et_pb_row .et_pb_column.et_pb_column_1_5{
		width:100%!important;
		max-width:100%!important;
	}
}

@media only screen and (max-width: 980px) and (min-width: 600px) {
	.custom-columns-map .et_pb_column_2, .custom-columns-map .et_pb_column_3 {
		width: 50%!important;
		flex: 1;
	}
	
	.custom-columns-map .et_pb_column_4 {
		display:none;
	}
	
	.custom-flex.et_pb_row.et_pb_row_1.et_pb_equal_columns.et_pb_gutters1.et_pb_row_fullwidth{
		display: flex;	
	}
}

.et_fullscreen_slider .et_pb_slides,
.et_fullscreen_slider .et_pb_slide,
.et_fullscreen_slider .et_pb_container {
    min-height: 100% !important;
    height: 100% !important;
}

.et_pb_slide_image{
    width: 100%;
}

.blurb-bg .et-pb-icon{
	padding:20px;
	background:#414141;
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_scroll a .et-pb-icon{
	font-size: 2.5em;
}

.full-width-blurb .et_pb_blurb_content{
	width:100%;
	max-width:100%;
}

.font-issue h2{
	font-size:32px;
	color:#fff;
	padding-bottom:0px;
}

.et_pb_column.divider-column{
	width:5%;
}

.et_pb_column.divider-column .et_pb_divider{
	top:50%;
}

.et_pb_column.services{
	width:65%;
}

.custom-services .et_pb_module.et_pb_space.et_pb_divider:after {
    position: absolute;
    top: -10px!important;
    right: -5px;
    color: #bebebe;
    font-size: 31px;
    content: "\24";
    font-family: "ETmodules";
}

.et_pb_fullwidth_header.project-header{
	padding: 10px 0;
}

.services-buttons a{
	color:#fff;
	display:block;
}

.services-buttons .et_pb_column:hover {
    background-color: #2966d7;
}

.services-buttons .et_pb_column{
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

.specialty-fullwidth.et_pb_specialty_fullwidth > .et_pb_row{
	width:100%!important;
	max-width:100%!important;
}

.no-heading-padding h3, .no-heading-padding h2, .no-heading-padding h1, .no-heading-padding h4, .no-heading-padding h5{
	padding-bottom:0px;
}

.et_pb_fullwidth_header h1 {
    display: inline-block;
    background: rgba(234,112,42,0.72);
    padding: 10px;
    color: #fff!important;
    border: 6px double #fff;
}

body.page-id-407 .et_pb_fullwidth_header h1 {
    background: none;
    border: 0;
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_container{
	width: 100%;
}

/* -- TEMPLATE -- */

/* make page wrapper be flex and at least the height of the viewport */
body.et_divi_theme.desktop #page-container {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* make the actual main content wrapper fill height (not including headers), 
and make it also flex so actual content area can fill needed height to push footer down */
body.et_divi_theme.desktop #page-container #et-main-area {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

/* grow main content area to fill needed height, which pushes footer down */
body.et_divi_theme.desktop #page-container #et-main-area #main-content {
	flex-grow: 1;
}

/* -- END TEMPLATE -- */


.et_pb_fullwidth_header {
  padding: 100px 0 !important;
}

body.page-id-407 .et_pb_fullwidth_header {
	padding: 0 !important;	
}

#top-menu li li a {
    width: 350px !important;
}
.nav li ul {
    width: 400px !important;
}


.menu-item-323 {
	padding-right: 40px !important;
}

.menu-item-333 {
	padding-right: 40px !important;
}
.menu-item-247 {
	padding-right: 40px !important;
}
.menu-item-129 {
	padding-right: 40px !important;
}

#top-header .et-social-icon a {
    font-size: 17px;
}

#et-secondary-menu {
    text-align: center;
	float:none;
}

.single-project .et_pb_fullwidth_header.project-header {
    padding: 10px 0!important;
}
