/*
Theme Name: Child Safe Theme (Beaver Builder Child)
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.2
Description: A child theme using the Beaver Builder theme framework for Child Safe.
Author: Kyle Meek
Author URI: https://ecallis.com
template: bb-theme
*/

/*** Color Reference ****

Blue: #4C73C1
Pink: #D02458
Orange: #EA6F0B
Green: #3C8321
Purple: #A03AAA
Grey/Black: #575757;
Light Grey: #E5E5E5

font-family: 'Raleway', sans-serif;
font-family: 'Kalam', cursive;

**** End - Color Reference ***/

/*** Typography  ***/
html, body, .fl-page a.fl-button, .fl-page input[type=button] {
	font-family: 'Raleway', sans-serif;
	font-size: 18px;
	color: #575757;
}

.fl-page-content strong, .fl-rich-text strong {
	font-size: 1.3rem;
}

h1 {
	font-family: 'Kalam', cursive;
}

h2, h3, h4, h5, h6 {
	font-family: 'Raleway', sans-serif;
}

.fl-page-content a { text-decoration: underline; color: #4C73C1;}

.fl-page-content a:hover { text-decoration: none; color: #D02458; }

.fl-page-content a:visited { color: #D02458; } 

.fl-page .alt-button a.fl-button, .fl-page .alt-button input[type=button] {
	font-weight: bold;
	color: white;
    background-color: #D02458;
	font-family: 'Raleway', sans-serif;
    line-height: 1.2;
    text-transform: uppercase;
    border-style: solid;
    border-width: 3px;
    border-color: #D02458;
    border-radius: 0px;
    display: inline-block;
    padding: 12px 24px;
    text-decoration: none;
    text-shadow: none;
}

.fl-button-text {
	font-weight: bold;
}

.fl-page a.fl-button:focus, .fl-page input[type=button]:focus, .fl-page input[type="submit"]:focus, .nf-form-content input[type="submit"]:focus {
	color: white;
    background-color: #4c73c1;
}

.fl-page a.fl-button:focus * { 
	color: white;  
}

.fl-page .alt-button a.fl-button * { color: white;  }

.fl-page .alt-button a.fl-button:hover, .fl-page .alt-button input[type=button]:hover,
.fl-page .alt-button a.fl-button:focus, .fl-page .alt-button input[type=button]:focus {
	color: #D02458;
    background-color: white;
}

.fl-page .alt-button a.fl-button:hover *,
.fl-page .alt-button a.fl-button:focus * { 
	color: #D02458;  
}

/*** End - Typography ***/

/*** Header CSS ***/

.fl-page-header-wrap, .fl-page-nav-right .fl-page-header-wrap {
	border-bottom: none;
	box-shadow: 0 1px 1px 1px #e5e5e5;
}

.fl-page-nav-right .fl-page-nav-wrap .navbar-nav li.current-menu-item>a { text-decoration: underline; }

.hotline-number { font-size: 0.8rem; }

/*** Override BB Default ***/
.fl-page-nav .navbar-nav a { font-family: 'Raleway', sans-serif; font-weight: bold; }

#hero-button {
	max-width: 200px;
	float: right;
	margin-top: 1rem;
}

/* Fix UX and Accessibility Concerns for Keyboard Navigation of the Header Nav on Large Touchscreen Devices */
li.menu-item-has-children .sub-menu:focus-within {
	left: auto;
}

/* Added for Mega Menu Compatibility - Fix UX and Accessibility Concerns for Keyboard Navigation of the Header Nav on Large Touchscreen Devices - https://docs.wpbeaverbuilder.com/bb-theme/defaults-for-layouts-content/headers-nav-menus/set-up-a-mega-menu/ */
li.menu-item-has-children.mega-menu .sub-menu:focus-within {
	left: 0;
}

ul.sub-menu:focus-within {
  left: 0 !important;
}

/*** End - Header CSS ***/

/*** General Page Styles ***/

.fl-row-content-wrap:first-of-type { padding-top: 0; }

.fl-content:first-of-type { margin-top: 0; }

.fl-post-title { margin-top: 20px; }

.site-map-content{ margin: 0 auto; padding: 0 1.2rem; color: red !important;}

body.has-blocks .fl-post-content ul, body.has-blocks .fl-post-content ol { max-width: 100%; }
/*** End - General Page Styles ***/

/*** Homepage Styles ***/

.fl-slide-bg-photo {
	/** Set Fallback Color for Accesibility **/
	background-color: black;	
}

#home-slider .fl-slide-content {
	margin-top: 20%;
}

#home-slider .fl-slide-content strong {	
	font-family: 'Kalam', cursive;
	font-size: 5rem;
	line-height: 1em;
    text-transform: uppercase;
    font-weight: bold;
    text-shadow: 2px 9px 9px rgba(0,0,0,0.5);
}

#home-slider .fl-slide-content em {
	background-color: #EA6F0B;
    font-size: 1.8rem;
    padding: .75rem 1rem;
    margin-top: 1rem;
    display: inline-block;
	font-style: normal;
	line-height: 1.2em;
}

.home-sub-head h3 { 
	font-family: 'Kalam', cursive;
	font-weight: bold;
	text-transform: uppercase;
}

.fl-number .fl-number-text, .fl-number .fl-number-circle-container {
	font-weight: bold;
}

/*** End - Homepage Styles ***/

/*** 404 Page ***/

.fl-page-content form input[type=search] {
	border: 1px solid #575757;
}

/*** End 404 Page ***/

/*** Global Buttons Update - KM - 2025-08-21 ***/
#hero-button-cont {
	position: fixed;
	top: 33%;
	right: 0;
	z-index: 100;
	width: auto;
	writing-mode: vertical-rl;
}

#hero-button-cont a.fl-button, .fl-post-content .fl-button {
	padding: 12px 24px;
}

#hero-button-cont a.fl-button:hover, #hero-button-cont a.fl-button:focus {
	text-decoration: none;
}

#hero-button-cont .fl-button-group .fl-button-wrap {
	display: inline-block;
	margin-bottom: 1rem;
	box-shadow: -2px 2px 5px rgba(0,0,0,0.2);
}

.fl-post-content a.fl-button {
	display: inline-block;
	width: 275px;
	max-width: 90%;
	margin-top: 1rem;
	text-decoration: none;
	text-align: center;
}

/*** Footer CSS ***/

#email-bar {
	color: white;
	background-color: #EA6F0B;
	padding-top: 2rem;
	padding-bottom: 2rem;
}

#email-bar-text, #email-bar .mc-field-group label {
	font-family: 'Kalam', cursive;
	font-size: 1.4rem;
	font-weight: normal;
}

#counties-bar {
	padding-top: 2rem;
	padding-bottom: 1rem;
	text-align: center;
}

#counties-bar-header {
	font-family: 'Kalam', cursive;
	font-size: 28px;
    line-height: 1.4;
	color: #D02458;
	margin-bottom: 1rem;
}

#counties-bar-list ul { padding-left: 0; }

#counties-bar-list ul li {
	font-size: 1.3rem;
	display: inline-block;
	margin-bottom: 1rem;
    line-height: 1.1em;
}

#counties-bar-list ul li:not(:last-child) { 
	border-right: 2px solid #575757;
	padding-right: 1rem;
	margin-right: 1rem;
}

footer { font-size: 14px;}

footer .fl-page-footer-widgets-row .col-md-3 {
	/*** border-right: 1px solid #575757; ***/
}

/*** End - Footer CSS ***/

/*** Ninja Forms Style Overrides - Most of these styles are no longer relevant after switching to MailChimp ***/

.nf-field-container.newsletter-f-email-box-cont {
	float: left;
    clear: none;
    width: 200px;
	margin-bottom: 5px;
}

.nf-field-container.newsletter-f-submit-cont {
	float: left;
    clear: none;
}

.nf-form-content button, .nf-form-content input[type=button], .nf-form-content input[type=submit] {
	background-color: white !important;
	color: #4C73C1 !important;
	border: 3px solid #4C73C1 !important;
	font-weight: bold;
}

.nf-form-content button:hover, .nf-form-content input[type=button]:hover, .nf-form-content input[type=submit]:hover {
	background-color: #4C73C1 !important;
	color: white !important;
}

.nf-form-content input:not([type=button]), .nf-form-content input:not([type=button]).newsletter-f-email-box {
	background-color: white;
	color: #575757;
}

.nf-form-content input[type="submit"]:focus, .nf-form-content input[type="button"]:focus {
	color: white !important;
    background-color: #4c73c1 !important;
}

.nf-form-errors {
	display: block;
	clear: both;
}

.nf-error-msg, .nf-error-field-errors {
	font-size: 14px;
}

#email-bar .nf-error-msg, #email-bar .nf-error-field-errors {
	color: white;
}

/*** End - Ninja Forms Style Overrides ***/

/*** Mailchimp form styling for newsletter signup bar ***/

#email-bar-form input[type=email] {
	width: 175px;
    margin-left: 1rem;
	font-family: 'Raleway', sans-serif !important;
}

#email-bar-form input[type=submit] { font-weight: bold; }

#email-bar-form .mc-field-group, #email-bar-form input, #email-bar-form input[type=email], #email-bar-form div.clear {
	display: inline-block;
	font-family: 'Raleway', sans-serif;
}
		
/*** End - Mailchimp form styling for newsletter signup bar ***/

/*** Mobile Media Queries ***/

@media (max-width: 1019px) {
	#email-bar { text-align: center; }
	#email-bar-text { font-size: 1.2rem; }
	#counties-bar-list ul li { font-size: 1rem; }
}

@media (max-width: 768px) {
	/*** Fix mobile display issues ***/
	.fl-col-small:not(.fl-col-small-full-width) {
    	max-width: 100%;
	}
	/*** Remove bg image on Homepage Stats section to prevent image distortion. ***/
	#home-stats-row .fl-row-content-wrap {
		background-image: none;
	}
	#home-slider .fl-slide-content strong {	
		font-size: 2rem;
	}
	
	#home-slider .fl-slide-content em {
		font-size: 1.2rem;
	}
	
	/*** Mobile - Mailchimp form styling for newsletter signup bar ***/
	#email-bar-form {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	#email-bar-form div.clear {
		height: 1rem;
		display: block;
		clear: both;
	}
	/*** End - Mobile - Mailchimp form styling for newsletter signup bar ***/
}

/*** End - Mobile Media Queries ***/