/*
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.1.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);
	margin: 10px auto 15px;
	display: block;
}

#freshy_copyright a.copyright_fs {
	display: block;
	width: 45px;
	height: 20px;
	background-image: url("/wp-content/uploads/freshysites-logo-white.svg");
	background-repeat: no-repeat;
	background-size: 45px 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;
		vertical-align: middle;
	}
	#freshy_copyright a.copyright_fs {
		display: inline-block;
		vertical-align: middle;
	}
}

@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: 10px !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;	
	}
	.checklist-columns-2-alt > ul,
	.checklist-columns-3-alt > ul,
	.checklist-columns-4-alt > ul {
		-moz-column-count: 2;
		-moz-column-gap: 8px;
		-webkit-column-count: 2;
		-webkit-column-gap: 8px;
		column-count: 2;
		column-gap: 20px;
	}
	.checklist-columns-2-alt ul li,
	.checklist-columns-3-alt ul li,
	.checklist-columns-4-alt ul li {
		break-inside: avoid-column;
	}
}
@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;	
	}
	.checklist-columns-3-alt ul,
	.checklist-columns-4-alt ul {
		-moz-column-count: 3;
		-webkit-column-count: 3;
		column-count: 3;
	}
}
@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-columns-4-alt ul {
		-moz-column-count: 4;
		-webkit-column-count: 4;
		column-count: 4;
	}
}

.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: #d35585;
    /* 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 -- */


/* -- DIVI HACKS -- */

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

/* Divi was turning off bottom padding on last paragraphs, when it should be only if it's the last child */
p:last-of-type {
	padding-bottom: 1em;
}
p:last-child {
	padding-bottom: 0;
}

/* if there are more than one paragraph in the Fullwidth Header module, they should have padding */
.et_pb_fullwidth_header p:not(:last-child) {
	padding-bottom: 1em;
}

/* if blurb has the custom Blurb Click class, then the blurb link likely wraps the entire blurb,
so let's set the text of the link back to the desired color */
.et_pb_blurb.blurb-click > a {
	color: inherit;
}

/* -- END DIVI HACKS -- */


/* -- TESTIMONIALS PLUGIN -- */

/* flip quote so it's an opening quote icon for grid and slider versions */
.b3_archive_testimonials_grid article .b3_quote.grid_quote::before,
.et_pb_module.et_pb_testimonial_slider .et_pb_slides_testi::before {
	-moz-transform: scale(-1,-1);
	-o-transform: scale(-1,-1);
	-webkit-transform: scale(-1,-1);
	transform: scale(-1,-1);
}

/* -- END TESTIMONIALS PLUGIN -- */


/* -- GRAVITY FORMS -- */

/* 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;
	}
}

/* fix for when Date Picker is used */
#ui-datepicker-div:empty {
	margin-top: 0;	
}

/* -- END GRAVITY FORMS -- */


/* -- HELPERS -- */

/* use the "fullwidth-section" class on a SECTION to make a "standard" SECTION truly be fullwidth 
(NOTE: the ROW module settings needs to be set to fullwidth, and the SECTION needs THIS class) */
.fullwidth-section.et_pb_section {
	padding: 0;
}
.fullwidth-section.et_pb_section > .et_pb_row.et_pb_row_fullwidth {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0;
}

/* use the "fullwidth-row" class on a SECTION to make a "full width" ROW truly be fullwidth 
(NOTE: the ROW module settings needs to be set to fullwidth, with no gutters, and the SECTION needs THIS class,
and unlike the class above, THIS class will auto-add padding to the columns) */
.fullwidth-row.et_pb_section {
	padding: 0;	
}
.fullwidth-row.et_pb_section .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 */
.fullwidth-row.et_pb_section .et_pb_row.et_pb_row_fullwidth > .et_pb_column {
	padding: 50px 10%;
}
@media (min-width: 767px) {
	.fullwidth-row.et_pb_section .et_pb_row.et_pb_row_fullwidth > .et_pb_column {
		padding: 80px 6%;
	}
}
/* for some reason Divi removes bottom margin from modules if in column with no gutters, 
so we need to add margins back */
.fullwidth-row.et_pb_section .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) {
	.fullwidth-row.et_pb_section .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%;
	}
	.fullwidth-row.et_pb_section .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%;
	}	
}
/* reduce gap between toggles if in fullwidth row */
.fullwidth-row.et_pb_section .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;
}

/* -- END HELPERS -- */

/* -- BEGIN BUILDER CSS -- */
@media (min-width: 981px) {
	.border-right{
		border-right:1px solid;
		padding-right:5%;
	}
	
	h2:before{
		position: absolute;
		top: -12px!important;
		right:100%;
		content: url(/wp-content/uploads/decoration.png);
	}
}

@media (min-width: 981px) and (max-width: 1210px) {
	.full-width-buttons .et_pb_button {
		font-size:14px;
	}
}

@media (max-width: 980px) and (min-width: 768px) {
	.et_pb_section.full-width-buttons .et_pb_row .et_pb_column_1_5, .et_pb_gutters3 .et_pb_row .et_pb_column_1_5{
		width: 33.33%!important;
		margin-right:0px;
	}
}

@media (max-width: 767px) and (min-width: 480px) {
	.et_pb_section.full-width-buttons .et_pb_row .et_pb_column_1_5, .et_pb_gutters3 .et_pb_row .et_pb_column_1_5{
		width: 50%!important;
		margin-right:0px;
	}
}

@media (max-width: 980px){
	.et_header_style_left #logo, .et_header_style_split #logo {
    	max-width: 70%;
	}
	
	h2:before{
		position: absolute;
		top: -2px!important;
		right:100%;
		content: url(/wp-content/uploads/decoration.png);
	}
	
	.full-width-buttons .et_pb_button{
		font-size:16px;
	}
	
	.et_pb_section.full-width-buttons .et_pb_row .et_pb_column.et_pb_column_1_5{
		margin-bottom:0px;
	}
	
	h1{
		font-size:30px!important;
	}
	
	h2{
		font-size:26px!important;
	}
	
	h3{
		font-size:22px!important;
	}
	
	h4{
		font-size:20px!important;
	}
	
	h5{
		font-size:16px!important;
	}
	
	h6{
		font-size:14px!important;
	}
}

@media (min-width: 768px){
	.et_pb_section.hvr-float .et_pb_column_1_3{
		width: 29.666%!important;
		margin-right: 5.5%;
	}
}

h6{
	padding-bottom:0px;
	color:#666!important;
}

h2{
	display:table;
	position:relative;
}

.center-text h2{
	margin:auto;
}

.full-width-buttons .et_pb_button{
	width:100%;
	text-align: center;
}

.center-text{
	text-align:center!important;
}

.et_pb_toggle_title:before{
	content: "\e048";
	font-size:26px;
}

.et_pb_toggle_open .et_pb_toggle_title:before {
    content: "\e047";
}

.et_pb_testimonial_slider .et_pb_slide{
	padding:0px;
}

span.scroll-down.et-pb-icon.divi_undefined_icon_gtm{
	content: "\e047";
}

.hvr-float img{
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

.hvr-float img:hover, .hvr-float img:focus, .hvr-float img:active {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
}

.et_pb_section.pink-border {
	border-top: 4px solid #Ef4D80;
    border-bottom: 3px solid #Ef4D80;
	overflow: hidden;
}

@-webkit-keyframes bg-slide {
    0% { transform: translateY(0); }
    50% { transform: translateY(-2%); }
	100% { transform: translateY(0); }
}

 .animated-bubbles:after{
	width: 100%;
    height: 105%;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: url('/wp-content/uploads/moving-bubbles.png');
	-webkit-animation: bg-slide 1.2s linear infinite;
	animation: bg-slide 1.2s linear infinite;
	-ms-animation: bg-slide 1.2s linear infinite;
	overflow:hidden;
	background-size: cover;
    background-position: center;
	background-repeat:no-repeat;
}

/* -- VERTICALLY CENTER ANY CONTENT IN DIVI -- */
.fs-vertical-align { 
    display: flex !important; 
    flex-direction: column !important; 
    justify-content: center !important;
}