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

/* green */
.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: #48b748;
}

/* dark blue */
.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: #063c5a;
}

/* yellow */
.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: #fdc82a;
}

/* 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: #48b748;}
.bg-secondary, a.bg-secondary {background-color: #063c5a;}
.bg-tertiary, a.bg-tertiary {background-color: #fdc82a;}

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

/* remove negative pixel from content wrapper */
#page-container {
	margin-top: 0 !important	
}

/* undo the bold weight of the dropdown arrow icons */
#top-menu .menu-item-has-children > a:first-child:after, 
#et-secondary-nav .menu-item-has-children > a:first-child:after {
	font-weight: 400;	
}

/* show the logo even in mobile menu */
@media (max-width: 980px) {
	#top-menu {
		display: block;
	}
	.et_header_style_split nav#top-menu-nav {
		display: block;
		width: 139px;
		position: relative;
		z-index: 1;
	}
	.et_header_style_split #main-header .logo_container {
		text-align: left;	
		width: 139px;
	}
	nav#top-menu-nav ul li {
		display: none;
	}
	li.centered-inline-logo-wrap {
		display: block !important;
		float: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
		width: auto !important;
		height: auto !important;
	}
	.et_header_style_split #main-header .logo_container a,
	li.centered-inline-logo-wrap a {
		display: inline-block !important;	
		background-color: white;
	}
	.et_header_style_split #logo, 
	li.centered-inline-logo-wrap #logo {
		margin: 10px !important;
		width: auto !important;
		max-width: 100% !important;
		height: 50px !important;
	}
	.et_header_style_split #et_mobile_nav_menu {
		position: absolute;
		margin-top: 0;
		margin-bottom: 0;
		width: 100%;
		top: 19px;
	}
	.et_header_style_split #main-header .logo_container ~ #et-top-navigation #et_mobile_nav_menu {
		top: -51px;
	}
	.et_mobile_device.et_header_style_split #et_mobile_nav_menu {
		top: -51px;
	}
	.et_header_style_split #main-header .mobile_nav {
		background-color: transparent;
	}
	.et_header_style_split .mobile_nav .select_page {
		white-space: nowrap;
		text-indent: -100%;
	}
	.et_header_style_split .et_mobile_menu {
		top: 71px !important;	
	}
}

@media (min-width: 981px) {
	/* header */
	#main-header {
		margin-top: 40px;
	}
	/* sticky header 
	.et-fixed-header#main-header {
		margin-top: 20px;	
	}
	*/
	/* let header be wider to it doesn't need to wrap too soon */
	#main-header > .container {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	/* push the centered menu a little, so the actual logo is in the center */
	#main-header ul#top-menu {
		margin-left: 40px;	
	}
	/* logo wrapper */
	#main-header li.centered-inline-logo-wrap {
		width: auto !important;
		height: auto !important;
	}
	#main-header li.centered-inline-logo-wrap a {
		background: white;
		box-shadow: 0 2px 8px 0 rgba(0,0,0,0.25);
	}
	/* logo */
	#main-header #logo {
		margin: 20px !important;
		width: auto !important;
		height: 100px !important;
	}
	#main-header li.centered-inline-logo-wrap a:hover {
		background: rgb(236,236,236);
		box-shadow: 0 3px 10px 0 rgba(0,0,0,0.5);
	}
	/* sticky logo wrapper */
	.et-fixed-header#main-header li.centered-inline-logo-wrap {
		height: auto !important;
	}
	/* sticky logo */
	.et-fixed-header#main-header #logo {
		margin: 20px !important;
		height: 100px !important;
	}
}

@media (min-width: 981px) and (max-width: 1230px) {
	#main-header ul#top-menu {
		margin-left: 30px;	
	}
	#top-menu li {
		padding-right: 12px;
		font-size: 12px;
	}
	#top-menu li a, 
	.et-fixed-header #top-menu li a,
	.et_search_form_container input {
		letter-spacing: 2px !important;
		font-size: 13px !important;
	}
	#top-menu .menu-item-has-children > a:first-child, 
	#et-secondary-nav .menu-item-has-children > a:first-child {
		padding-right: 14px;	
	}
	#top-menu .menu-item-has-children > a:first-child:after {
		font-size: 12px;	
	}
}

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

/* don't want header nav to be bold */
#et-top-navigation {
	font-weight: 400;	
}

#top-menu li li a {
	text-transform: none;
	letter-spacing: 0 !important;
	line-height: 1.2em;
	padding-top: 8px;
	padding-bottom: 8px;
}

#top-menu li .menu-item-has-children > a:first-child:after {
	top: 8px;
}

.nav ul li a:hover, 
.et_mobile_menu li a:hover {
	background-color: rgba(0, 0, 0, 0.25);
}

/* adjust top of archive pages to make room for header */
@media (min-width: 981px) {
	body.search-results #content-area,
	body.archive.post-type-archive #content-area,
	body.error404 #content-area,
	body.woocommerce-page #content-area,
	body.page-template-default #content-area {
		margin-top: 60px;
	}
}

/* if deadlink don't show pointer cursor */
#top-menu li.menu-item-has-children li.menu-item-has-children > a[href="#0"] {
	cursor: default;	
}

/* 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.05);
	z-index: 1;
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: 50%;
	top: 4px;
	right: 4px;
	cursor: pointer;
	text-align: center;
	color: rgba(255,255,255,0.5);
}
/* the new toggle element when popped */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped {
	background-color: rgba(0,0,0,0.2);
	color: white;
}
/* 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: 15px 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;
}

/* style the social icons we stuffed in the header (via jQuery clone of footer icons) */
#main-header .et-social-icons {
	float: right;
	position: absolute;
	right: 20px;
	top: 50%;
	-ms-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin-top: 4px;
	z-index: 3;
}
#main-header .et-social-icons li:first-child {
	margin-left: 0;
}

#main-header .et-social-icon a {
	font-size: 20px;
	color: white;
}
#main-header .et-social-icon a:hover {
	color: rgba(255,255,255,0.5);
	opacity: 1;
}

@media (max-width: 1310px) {
	#main-header .et-social-icons {
		margin-top: 12px;
		right: 10px;
	}
	#main-header .et-social-icons li {
		margin-left: 0;
		display: block;
	}
	#main-header .et-social-icon a {
		font-size: 15px;
	}
}

@media (max-width: 980px) {
	#main-header .et-social-icons {
		margin-top: 0;
		bottom: 0;
	}
	#main-header .et-social-icons li {
		margin: 5px 0;
	}
}

/* -- END HEADER -- */


/* -- FOOTER -- */

#main-footer {
	border-top: 3px solid white;	
}

#freshy_copyright span,
#freshy_copyright a.copyright_terms {
	display: inline-block;
	color: #fff;
	line-height: 1.5em;
}

#freshy_copyright a.copyright_terms {
	color: inherit;
	letter-spacing: 0.5px;
}

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

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

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

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

@media (max-width: 799px) {
	#freshy_copyright span.copyright_text {
		display: block;
		text-align: center;
		margin-bottom: 8px;
	}
	#freshy_copyright span.copyright_text + span.copyright_via {
		display: none;
	}
}

@media (max-width: 479px) {
	#freshy_copyright span.copyright_text,
	#freshy_copyright a.copyright_terms {
		font-size: 9px;
		letter-spacing: 0.25px;
	}
	#footer-bottom .container {
		width: 90%;	
	}
}

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

/* -- DIVI STYLING FIXES & OVERRIDES -- */

/* list items should inherit the line-height in case a module changes line height of content */
.entry-content ul,
.entry-content ol {
	line-height: inherit;	
}
/* add gap between list items */
.entry-content ul li:not(:last-child),
.entry-content ol li:not(:last-child) {
	margin-bottom: 0.5em;
}

/* fix padding of last paragraph */
p:last-of-type,
.et_pb_toggle_content p:last-of-type {
	padding-bottom: 1em;
}
p:last-child,
.et_pb_toggle_content p:last-child {
	padding-bottom: 0;
}

/* allow different type of ol element */
.entry-content ol[type="a"] {
	list-style-type: lower-alpha;
	list-style-position: outside;
	padding-left: 40px;
}
.entry-content ol[type="a"] li:not(:last-child) {
	margin-bottom: 1em;
}

/* override the 72px height of counter number */
.et_pb_number_counter .percent {
	height: auto;
}

/* reduce top gap on counter title */
.et_pb_circle_counter h3,
.et_pb_number_counter h3 {
	padding-top: 10px;	
}

/* - Blurbs - */

/* reduce gap between blurb image and title */
.et_pb_main_blurb_image {
	margin-bottom: 10px;
}

.et_pb_main_blurb_image > a > span.et-pb-icon {
	transition: all 0.4s ease;	
}

.et_pb_main_blurb_image > a:hover > span.et-pb-icon {
	box-shadow: 0 0 0 8px rgba(253,200,42,0.5);
}

.et_pb_blurb_container h4 a::after {
	content: '\00a0\00bb';
	opacity: 0.25;
	transition: all 0.4s ease;
}
.et_pb_blurb_container h4 a:hover::after {
	opacity: 1;
}

/* - Person Module - */

/* don't need the default margin top of person social links */
.entry-content .et_pb_member_social_links {
	margin-top: 0;	
}
.et_pb_column_1_2 .et_pb_team_member_image, 
.et_pb_column_3_8 .et_pb_team_member_image, 
.et_pb_column_1_3 .et_pb_team_member_image, 
.et_pb_column_1_4 .et_pb_team_member_image,
.et_pb_team_member_image {
	display: table-cell;
	float: left;
	width: 116px;
	height: 116px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 20px 0 0;
}
.et_pb_column_1_2 .et_pb_team_member_description, 
.et_pb_column_3_8 .et_pb_team_member_description, 
.et_pb_column_1_3 .et_pb_team_member_description, 
.et_pb_column_3_4 .et_pb_team_member_description,
.et_pb_team_member_description {
	display: table-cell;	
}

.et_pb_column_1_3 .et_pb_team_member_image, 
.et_pb_column_1_4 .et_pb_team_member_image {
	width: 58px;
	height: 58px
	margin: 0 10px 0 0;
}

@media (max-width: 980px) and (min-width: 768px) {
	.et_pb_column .et_pb_team_member_image {
		width: 116px !important;
		height: 116px !important;
		margin: 0 20px 0 0 !important;
	}
	.et_pb_column_1_3 .et_pb_team_member_image, 
	.et_pb_column_1_4 .et_pb_team_member_image {
		width: 58px !important;
		height: 58px !important;
		margin: 0 10px 0 0 !important;
	}
}
@media (max-width: 767px) {
	.et_pb_column_1_2 .et_pb_team_member_image, 
	.et_pb_column_3_8 .et_pb_team_member_image, 
	.et_pb_column_1_3 .et_pb_team_member_image, 
	.et_pb_column_1_4 .et_pb_team_member_image,
	.et_pb_team_member_image {
		display: table-cell;
		float: left;
		width: 58px;
		height: 58px;
		margin: 0 10px 0 0;
		text-align: left;
	}
	.et_pb_column_1_2 .et_pb_team_member_description, 
	.et_pb_column_3_8 .et_pb_team_member_description, 
	.et_pb_column_1_3 .et_pb_team_member_description, 
	.et_pb_column_3_4 .et_pb_team_member_description,
	.et_pb_team_member_description {
		display: table-cell;	
	}
	.et_pb_team_member_description h4,
	.et_pb_team_member_description p {
		line-height: 1.5em;	
	}
	.et_pb_team_member_description h4 {
		font-size: 14px;
		padding-bottom: 4px;
	}
	.et_pb_team_member_description p {
		font-size: 12px;	
	}
}

/* -- END DIVI STYLING FIXES & OVERRIDES -- */


/* -- 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: #48b748;
    /* set font size helps make icon sharper */
    font-size: 22px;
}

.pluslist ul li::before {
    content: '\f055';
}

.trophylist ul li::before {
    content: '\f091';
}

.pdflist ul li::before {
    content: '\f1c1';
	color: red;
}

.eventlist ul li::before {
    content: '\f274';
}

.locationlist ul li::before {
    content: '\f041';
}

.externallist ul li::before {
	content: '\f14c';	
}
.externallist:not(.et_pb_accordion) ul li a::after {
	content: '\00a0\00bb';
	opacity: 0.25;
	transition: all 0.4s ease;
}
.externallist ul li a:hover::after {
	opacity: 1;
}

.userlist ul li::before {
	content: '\f2c0';
}

.checklist.memberlist ul li {
    padding-left: 24px;
	margin-bottom: 12px !important;
	line-height: 1.5em;
	font-size: 13px;
}
.checklist.memberlist ul li::before {
    width: 16px;
    font-size: 16px;
}

.et_pb_module.et_pb_toggle.checklist ul li {
	margin-bottom: 15px !important;
	line-height: 1.5em;
}
.et_pb_module.et_pb_toggle.checklist ul li:last-child {
	margin-bottom: 0 !important;	
}

/* -- 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: 50px 10%;
}
@media (min-width: 767px) {
	.et_pb_section.fullwidth-row .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 */
.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%;
	}	
}

/* -- GRAVITY FORM -- */

.gform_wrapper .top_label .gfield_label,
body .gform_wrapper .top_label .gfield_error .gfield_label {
	color: #48b748;	
}

body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), body .gform_wrapper textarea.textarea, body div.form_saved_message div.form_saved_message_emailform form input[type=text] {
	color: #04293d;
}

/* -- END GRAVITY FORM -- */


/* -- FAUX SUB FOOTER BLOCKS -- */

#bottom-blocks.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column {
	padding: 30px 20px;
}
/* if the blocks have a blurb with a link, we used jQuery to move the blurb's link to wrap just inside the column,
so if that link exists now, then we want to style it a little so it doesn't turn the text to normal link color */
#bottom-blocks.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column > a {
	color: inherit;
}

@media (min-width: 767px) {
	#bottom-blocks.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column {
		padding: 70px 30px;
	}
}
#bottom-blocks.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column .et_pb_blurb {
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	padding-top: 10px;
	padding-bottom: 10px;
	transition: all 0.4s ease;
}
#bottom-blocks.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column > a:hover .et_pb_blurb {
	border-color: rgba(255,255,255,0.5);
}
/* add raquo with non-breaking space to title of module */
#bottom-blocks.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column > a .et_pb_blurb_container h4::after {
		content: '\00a0\00bb';
}

/* -- END FAUX SUB FOOTER BLOCKS -- */


/* -- TITLEBAR -- */

#titlebar .et_pb_fullwidth_header {
	background-color: rgba(72,183,72,0.666);
}

@-webkit-keyframes titlebar {
	0% { background-color: rgba(253,200,42,0.666); }
	33.333% { background-color: rgba(72,183,72,0.666); }
	66.666% { background-color: rgba(6,60,90,0.666); }
	100% { background-color: rgba(253,200,42,0.666); }
}

@-moz-keyframes titlebar {
	0% { background-color: rgba(253,200,42,0.666); }
	33.333% { background-color: rgba(72,183,72,0.666); }
	66.666% { background-color: rgba(6,60,90,0.666); }
	100% { background-color: rgba(253,200,42,0.666); }
}

@keyframes titlebar {
	0% { background-color: rgba(253,200,42,0.666); }
	33.333% { background-color: rgba(72,183,72,0.666); }
	66.666% { background-color: rgba(6,60,90,0.666); }
	100% { background-color: rgba(253,200,42,0.666); }
}

#titlebar .header-content h1 {
	letter-spacing: 3px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.75);
	text-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
}

/* push down titlebar since we pushed down header */
@media (min-width: 981px) {
	#titlebar .et_pb_fullwidth_header .header-content {
		margin-top: 60px;
	}
}

@media (min-width: 768px) {
	#titlebar .header-content h1 {
		letter-spacing: 5px;
	}
}

@media (max-width: 767px) {
	#titlebar .et_pb_fullwidth_header .et_pb_fullwidth_header_container.center .header-content {
		margin: 0px auto;
		padding: 0;
	}	
}


@media (max-width: 980px) {
	body.et_mobile_device #titlebar .et_parallax_bg {
		background-position: center center;	
		top: 110px; /* height of header */
		height: auto;
	}
}

/* -- END TITLEBAR -- */


/* -- ACCORDIONS & TOGGLES -- */

.et_pb_toggle h5.et_pb_toggle_title {
	padding-right: 30px;	
}

@media (max-width: 768px) {
	.et_pb_toggle_open,
	.et_pb_toggle_close {
		padding: 10px;	
	}
	.et_pb_toggle h5.et_pb_toggle_title {
		padding-right: 20px;	
	}
}

/* -- END ACCORDIONS & TOGGLES -- */


/* -- HOME PAGE -- */

#home-hero::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-animation: homehero 30s infinite;
    -moz-animation: homehero 30s infinite;
    animation: homehero 30s infinite;
}

@-webkit-keyframes homehero {
	0% { background-color: rgba(253,200,42,0.25); }
	33.333% { background-color: rgba(72,183,72,0.25); }
	66.666% { background-color: rgba(6,60,90,0.25); }
	100% { background-color: rgba(253,200,42,0.25); }
}

@-moz-keyframes homehero {
	0% { background-color: rgba(253,200,42,0.25); }
	33.333% { background-color: rgba(72,183,72,0.25); }
	66.666% { background-color: rgba(6,60,90,0.25); }
	100% { background-color: rgba(253,200,42,0.25); }
}

@keyframes homehero {
	0% { background-color: rgba(253,200,42,0.25); }
	33.333% { background-color: rgba(72,183,72,0.25); }
	66.666% { background-color: rgba(6,60,90,0.25); }
	100% { background-color: rgba(253,200,42,0.25); }
}

#home-hero.et_pb_section .et_pb_row .et_pb_column .et_pb_module.et_pb_toggle {
	margin-bottom: 3px !important;
}
#home-hero.et_pb_section .et_pb_row .et_pb_column {
	margin-bottom: 0 !important;
}

@media (max-width: 980px) {
	.home-hero {
		background-position: center bottom;
		background-size: contain;
	}
	.home-hero .et_pb_module.et_pb_space {
		height: 200px;
	}
}

@media (max-width: 599px) {
	.home-hero .et_pb_module.et_pb_space {
		height: 160px;
	}
}

@media (max-width: 419px) {
	.home-hero .et_pb_module.et_pb_space {
		height: 90px;
	}
}

@media (min-width: 981px) {
	.home-hero .et_pb_module.et_pb_space {
		height: 360px;
	}
}

@media (min-width: 1399px) {
	.home-hero .et_pb_module.et_pb_space {
		height: 420px;
	}
}

#home-accordions {
	padding: 0 !important
}
#home-accordions .et_pb_row {
	padding: 0 !important
}
#home-accordions .et_pb_row .et_pb_column {
	padding: 4px 2px !important
}

#home-accordions .et_pb_row .et_pb_column:first-child {
	padding-left: 4px !important
}

#home-accordions .et_pb_row .et_pb_column:last-child {
	padding-right: 4px !important
}

#home-accordions .et_pb_toggle h5.et_pb_toggle_title {
	padding-right: 24px;
	font-size: 14px;
}

@media (max-width: 1199px) {
	#home-accordions .et_pb_toggle h5.et_pb_toggle_title {
		padding-right: 24px;
		font-size: 12px;
	}
	#home-accordions .et_pb_toggle_content {
		font-size: 12px;	
	}
	#home-accordions .checklist .et_pb_toggle_content ul li::before {
		font-size: 15px;	
	}
}

@media (max-width: 980px) {
	#home-accordions .et_pb_row .et_pb_column {
		margin: 0 !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5 {
		width: 50% !important;
	}
	/* 5 cols */
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5:first-child {
		padding: 4px 2px 2px 4px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5:nth-child(2) {
		padding: 4px 4px 2px 2px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5:nth-child(3) {
		padding: 2px 2px 2px 4px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5:nth-child(4) {
		padding: 2px 4px 2px 2px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5:last-child {
		padding: 2px 4px 4px 4px !important;
		width: 100% !important;
	}
	/* 4 cols */
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_4:first-child {
		padding: 4px 2px 2px 4px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_4:nth-child(2) {
		padding: 4px 4px 2px 2px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_4:nth-child(3) {
		padding: 2px 2px 4px 4px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_4:last-child {
		padding: 2px 4px 4px 2px !important;
	}
}

@media (max-width: 679px) {
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_4:nth-child(n) {
		width: 100% !important;	
		padding: 2px 4px 2px 4px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_4:first-child {
		padding: 4px 4px 2px 4px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_4:last-child {
		padding: 2px 4px 4px 4px !important;
	}
}

@media (max-width: 479px) {
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5:nth-child(n) {
		width: 100% !important;	
		padding: 2px 4px 2px 4px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5:first-child {
		padding: 4px 4px 2px 4px !important;
	}
	#home-accordions .et_pb_row .et_pb_column.et_pb_column_1_5:last-child {
		padding: 2px 4px 4px 4px !important;
	}
}

/* -- END HOME PAGE -- */


/* -- CONTACT PAGE -- */

/* remove the padding that was previously added, to the second (1/3) column */
#contact-section.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column.et_pb_column_1_3 {
	padding: 0 !important;
}

/* now lets add that padding back to the module itself that's inside that column */
#contact-section.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column.et_pb_column_1_3 > .et_pb_module  {
	padding: 40px 10%;
}
@media (min-width: 767px) {
	#contact-section.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column.et_pb_column_1_3 > .et_pb_module {
		padding: 80px 16%;
	}
}

/* and because each module in that column has its own padding, we no longer need the bottom margins */
#contact-section.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column.et_pb_column_1_3 > .et_pb_module {
	margin-bottom: 0 !important;
}

/* -- END CONTACT PAGE -- */


/* -- MEMBER PAGES -- */

.member-cards .et_pb_row {
	padding-top: 15px;
	padding-bottom: 15px;
}

@media (max-width: 980px) {
	.member-cards .et_pb_row {
		padding-top: 0;
		padding-bottom: 0;
	}
}

.member-cards .et_pb_module.et_pb_team_member {
	background-color: rgba(0, 0, 0, 0.02);
	box-shadow: 0 2px 7px 3px rgba(0,0,0,0.1);
	border: 1px solid white;
	padding: 20px;
}

.letter-circle h3 {
	width: 75px;
	height: 75px;
	margin: 0 auto;
	background-color: #fdc82a;
	color: #ffffff;
	border-radius: 50%;
	font-size: 24px;
	line-height: 75px;
	white-space: nowrap;
}

@media (min-width: 981px) {
	.letter-circle h3  {
		font-size: 50px;
		line-height: 150px;
		width: 150px;
		height: 150px;
		font-size: 50px;
	}
}

/* -- END MEMBER PAGES -- */


/* -- ADVOCACY PAGES -- */

.letter-section {
	z-index: 1;	
}

/* stacked paper bg */
.paper-letter {
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
	margin: 15px auto 15px;
	max-width: 650px;
	min-height: 300px;
	padding: 30px;
	position: relative;
	width: 90%;
}
@media (min-width: 768px) {
	.paper-letter {
		padding: 40px;
	}
}
.paper-letter::before, .paper-letter::after {
	content: "";
	height: 98%;
	position: absolute;
	width: 100%;
	z-index: -1;
	transition: all 0.4s ease;
}
.paper-letter::before {
	background: rgba(250,250,250,1);
	box-shadow: 0 0 8px rgba(0,0,0,0.2);
	left: -5px;
	top: 4px;
	transform: rotate(-2.5deg);
}
.paper-letter::after {
	background: rgba(240,240,240,1);
	box-shadow: 0 0 3px rgba(0,0,0,0.2);
	right: -3px;
	top: 1px;
	transform: rotate(1.4deg);
}
.paper-letter:hover::before {
	left: -10px;
	top: 10px;
	transform: rotate(-5.8deg);
}
.paper-letter:hover::after {
	right: -7px;
	top: 4px;
	transform: rotate(2.8deg);
}

@media (max-width: 529px) {
	.paper-letter {
		width: 100%;
		padding: 20px;
	}
}

/* -- END ADVOCACY PAGES -- */


/* -- CHARTS AND RESOURCES PAGES -- */

/* columns that contain the blurb/icon navigation blocks, on main Charts and Resources page */
#charts-and-resources-blocks.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column {
	padding: 30px 20px;
}
@media (min-width: 767px) {
	#charts-and-resources-blocks.et_pb_section.fullwidth-row .et_pb_row.et_pb_row_fullwidth > .et_pb_column {
		padding: 70px 30px;
	}
}

/* input for search field on Federal Budgeting 101 page */
#list-searchbox {
	background: rgba(128, 128, 128, 0.14);
	padding: 20px;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	font-size: 16px;
	text-align: left;
	display: block;
	border: 3px solid #48b748;
	transition: all 0.4s ease;
}
#list-searchbox:hover {
	background: white;	
}
#list-searchbox:focus {
	border-color: #fdc82a;
	background: white;
}

/* -- END CHARTS AND RESOURCES PAGES -- */


/* -- DIVI SUB MENUS -- */

/* fix the pages' sub menu so it doesn't become hamburger menu on mobile */
#charts-and-resources-submenu-section .fullwidth-menu li,
#member-area-submenu-section .fullwidth-menu li {
	margin-bottom: 0;	
}
@media (max-width: 980px) {
	#charts-and-resources-submenu-section .et_mobile_nav_menu,
	#member-area-submenu-section .et_mobile_nav_menu {
		display: none;
	}
	#charts-and-resources-submenu-section .et_pb_fullwidth_menu .fullwidth-menu-nav,
	#charts-and-resources-submenu-section .et_pb_fullwidth_menu .fullwidth-menu-nav .fullwidth-menu,
	#member-area-submenu-section .et_pb_fullwidth_menu .fullwidth-menu-nav,
	#member-area-submenu-section .et_pb_fullwidth_menu .fullwidth-menu-nav .fullwidth-menu {
		display: block;
	}
	#charts-and-resources-submenu-section .et_pb_fullwidth_menu .et_pb_row,
	#member-area-submenu-section .et_pb_fullwidth_menu .et_pb_row {
		width: 90%;
		min-height: 0;
	}
	#charts-and-resources-submenu-section .et_pb_fullwidth_menu .fullwidth-menu-nav > ul,
	#member-area-submenu-section .et_pb_fullwidth_menu .fullwidth-menu-nav > ul {
		padding: 10px 0 0 !important;
		line-height: 1.5em;
	}
	#charts-and-resources-submenu-section .fullwidth-menu li,
	#member-area-submenu-section .fullwidth-menu li {
		display: inline-block;
		padding-right: 10px;
		font-size: 12px;
	}
	#charts-and-resources-submenu-section .fullwidth-menu li > a,
	#member-area-submenu-section .fullwidth-menu li > a {
		padding-bottom: 15px;
	}
}

/* -- END DIVI SUB MENUS -- */


/* -- WOOCOMMERCE -- */

/* notification above product, when adding to cart, and other notifications */
.woocommerce .woocommerce-message, 
.woocommerce .woocommerce-info {
	background: rgba(72, 183, 72, 0.5) !important;
}

.woocommerce .woocommerce-error {
	background: rgba(183, 72, 72, 0.5) !important
}

/* make woocommerce button use proper font */
.woocommerce div.product form.cart .button {
	font-family: inherit;	
}

/* divider in shopping cart sidebar */
.woocommerce .widget_shopping_cart .total, .woocommerce.widget_shopping_cart .total {
	border-top: 3px double #fdc82a;
}

/* woocommerce buttons are too big, let's reduce them */
.woocommerce a.button.alt, .woocommerce-page a.button.alt, .woocommerce button.button.alt, .woocommerce-page button.button.alt, .woocommerce input.button.alt, .woocommerce-page input.button.alt, .woocommerce #respond input#submit.alt, .woocommerce-page #respond input#submit.alt, .woocommerce #content input.button.alt, .woocommerce-page #content input.button.alt, .woocommerce a.button, .woocommerce-page a.button, .woocommerce button.button, .woocommerce-page button.button, .woocommerce input.button, .woocommerce-page input.button, .woocommerce #respond input#submit, .woocommerce-page #respond input#submit, .woocommerce #content input.button, .woocommerce-page #content input.button {
	letter-spacing: 1px !important;
	font-size: 19px !important;
}

.woocommerce #sidebar a.button,
#sidebar a.button {
	font-size: 16px !important;
	padding: 0.3em 1em 0.3em !important;
	color: white !important;
}

.woocommerce #sidebar a.button::after,
#sidebar a.button::after {
	display: none;
	padding: 0.3em 1em 0.3em !important;
}

/* -- END WOOCOMMERCE -- */

#main-content {
	padding-bottom: 0;
}

/* -- NO ACCESS PAGE -- */

#titlebar.no-access-titlebar {
	background-image: url("/wp-content/uploads/elevated-view-of-teacher-and-kids.jpg")	
}

@media (max-width: 980px) {
	#no-access-text > .et_pb_row {
		padding-top: 30px;
	}
}
/* -- END NO ACCESS PAGE -- */


/* -- TML -- */

.tml {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}

.tml label {
	line-height: 1.5em;	
}

.tml input, .tml textarea, .tml select {
	margin: 0.5em 0;
	width: 100%;
	padding: 10px !important;
}

.tml .tml-submit-wrap input {
	border-radius: 0px;
	font-size: 20px;
	background: rgba(72,183,72,0.75);
	border: 3px solid #48b748 !important;
	letter-spacing: 2px;
	padding: 0.3em 1em;
	border: 2px solid;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5em !important;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	transition: all 0.2s;
	-webkit-appearance:none;
	cursor: pointer;
	color: white !important;
}

.tml .tml-submit-wrap input:hover {
	color: #fdc82a !important;
	background: #48b748 !important;
	border-color: #063c5a !important;
}

.tml-login .tml-rememberme-wrap {
	text-align: left;
}
.tml p,
.tml .tml-action-links {
	padding: 0 !important;	
}

.tml-profile .tml-form-table th, .tml-profile .tml-form-table td {
	max-width: 100% !important;
}

/* -- END TML -- */