/*
 Theme Name:   CFP Child Theme
 Author:       MSonder
 Template:     twentynineteen
*/

* {
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
}

html, body {  
	margin: 0px;
	
	border: 0px;
	padding: 0px;
	margin-top: 0px !important;
	
	text-align: left;

	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
    -webkit-text-size-adjust: none;
	text-rendering: optimizelegibility;

	color: #000;
	font-family: "Lora", serif;
	font-size: 18px;
	line-height: 26px;

	background: #fff;
}

body:not(.custom-background-image).admin-bar::before {top: 0px;}
body:not(.custom-background-image)::before, body:not(.custom-background-image)::after {height: 0px;}

a {outline:none;}

ul {padding-top: 0px; margin-top: 0px;}

:root {overflow-y: scroll !important;}
::-moz-selection {
    background: #393939;
	color: #6a6a6a;
    text-shadow: none;
}

::selection {
    background: #393939;
	color: #6a6a6a;
    text-shadow: none;
}

.right {float:right !important;}
.left {float:left !important;}
.clear {clear:both;}
img.right {float:right !important; margin:0 0 20px 20px !important;}
img.left {float:left !important; margin:0 20px 20px 0 !important;}
img {border: none;}

img.alignright {float:right; margin:0 0 1em 1em;}
img.alignleft {float:left; margin:0 1em 1em 0;}
img.aligncenter {display: block; margin-left: auto; margin-right: auto;}
.alignright {float:right; }
.alignleft {float:left; }
.aligncenter {display: block; margin-left: auto; margin-right: auto;}

.responsive {width: 90%;}

/*	--------------------------------------------------
	:: Structure
	-------------------------------------------------- */

		#header-wrapper {
			width: 100%;
			height: auto;
			background: #ffffff;
		}
		#header {
			width: 90%; 
			height: auto;
			margin: 0 auto;
			display: flex; 
			align-items: center;
		}		

		#header .right-col {
			display: flex;
			padding: 5px 0 15px 0;
			flex-direction: column;
			flex: 1 1 auto; 
			min-width: 0;
			text-align: right;
		}

		#logo {flex: 0 0 40%;}	
		#logo img {width: auto;}	

		.content-wrapper {
			width: 100%;
			height: auto;
			margin: 0px auto;
            overflow-x: hidden !important;
		}
		.content-wrapper a {color: #094275; text-decoration: underline; line-height: 20px;}
		.content-wrapper a:hover {color: #052b4d; text-decoration: none;}
		.content-wrapper .has-link-color a {color: inherit;}
		.content-wrapper .has-link-color a:hover {color: inherit;}

		.wp-block-cover.alignfull {
			max-width: 100vw;
			width: auto;
			padding: 80px 0 60px 0;
            overflow-x: hidden !important;
		}
		.alignfull .wp-block-cover__inner-container {max-width: 1200px;}


		.wp-block-cover.alignfull.emergency-panel {padding: 10px 0 10px 0;}
		.wp-block-cover.alignfull.emergency-panel .wp-block-columns {margin-bottom: 0px;}
		.wp-block-cover.alignfull.emergency-panel h2 {margin-bottom: 0px;}
		.wp-block-cover.alignfull.emergency-panel a.wp-block-button__link {background: #620509;}
		.wp-block-cover.alignfull.emergency-panel a.wp-block-button__link:hover {background: #77070b; color: #f4e9ea !important;}


        .wp-block-columns.is-layout-flex {gap: 2em !important;}

		.wp-block-cover.has-parallax,
        .wp-block-cover__image-background.has-parallax {background-attachment: fixed !important;}

        .cta {
            background: #ffffff;
            -webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,.2);
            box-shadow: 0 0 20px 0 rgba(0,0,0,.2);
            padding: 20px;
        }


	a.homepage-services {
		text-decoration: none !important;
			-webkit-transition: all 0.25s ease-in-out;
			-moz-transition: all 0.25s ease-in-out;
			-o-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
	}
	a.homepage-services figure.wp-block-image {position: relative;}
	a.homepage-services .wp-block-image figcaption span {display: block; font-family: "Oswald", sans-serif; font-size: 26px; margin-bottom: 5px;}
	a.homepage-services .wp-block-image figcaption {
		font-size: 16px;
		color: #fff;
		text-align: left;
		font-weight: 400;
		background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.75) 50%,rgba(0,0,0,0.75) 100%);
		width: 100%;
		padding: 30px 15px;
		position: absolute;
		bottom: 0;
		margin: 0;
			-webkit-transition: all 0.25s ease-in-out;
			-moz-transition: all 0.25s ease-in-out;
			-o-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
	}
	a.homepage-services p {padding: 0 10px 20px 10px;}
	a.homepage-services:hover {
		-webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,.2);
		box-shadow: 0 0 20px 0 rgba(0,0,0,.2);
	}
	a.homepage-services:hover .wp-block-image figcaption {padding: 30px 15px 60px 15px;}




/*	--------------------------------------------------
	:: Navigation (FULL CSS w/ DROPS)
	-------------------------------------------------- */
			
	button#menuToggle {display: none;}

	ul.menu {margin: 0; padding: 0px 0 0 0;}
	
	ul.menu li {list-style: none; position: relative; float: left;}
	ul.menu li:last-child a {}
	
	ul.menu li:hover {cursor: default;}
	ul.menu li a {
		display: block;
		font-family: "Oswald", sans-serif;
		line-height: 40px;
		font-size: 20px;
		font-weight: 600;
	  	text-align: center;
		padding: 0 10px;
		width: 100%;
		color: #002a4f;
		text-transform: uppercase;
		border-bottom: 4px solid transparent;
		text-decoration: none;
			-webkit-transition: all 0.25s ease-in-out;
			-moz-transition: all 0.25s ease-in-out;
			-o-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
		}
	ul.menu li a:hover, ul.menu li.current-menu-item a, ul.menu li a:focus {border-bottom: 4px solid #5580a4;}

    ul.menu li.menu-item-has-children a:after {
        content: '\f0d7';
        font-family: "Font Awesome 6 Pro";
        font-style: normal;
        font-weight: 600;
        padding-left: 10px;
        font-size: 14px;
        color: #c40b12;
    }
	ul.menu li ul {
		position: absolute;
		left: -9999em;
		width: auto;
		margin: 0;
		padding: 0;
		list-style-type: none;
		white-space: nowrap;
	}

    ul.menu li:hover ul {
        left: 0;
        -webkit-box-shadow: -10px 0px 13px -7px #c7c7c7, 10px 0px 13px -7px #c7c7c7, 5px 5px 7px 5px rgba(181, 181, 181, 0);
        box-shadow: -10px 0px 13px -7px #c7c7c7, 10px 0px 13px -7px #c7c7c7, 5px 5px 7px 5px rgba(181, 181, 181, 0);
    }
    ul.menu li:hover ul li {
        float: none;
        width: 100%;
        position: relative;
        z-index: 9999;
    }
    ul.menu li:hover ul li a {
        display: block;
        line-height: 45px;
        font-size: 18px;
        font-weight: 500;
        text-transform: none;
        text-shadow: none;
        text-align: left !important;
        padding: 0 30px 0 10px;
        background: #fff;
        border-bottom: 2px solid #fff;
        width: 100%;
        color: #0e1e29;
        text-decoration: none;
    }
    ul.menu li:hover ul li a:hover {
        background: #eeeeee;
        border-bottom: 2px solid #ebeef3;
    }

    /* sub menu fix */
    ul.menu li.menu-item-has-children:hover ul li a:after {
        content: '';
        display: none;
    }
    


/*	--------------------------------------------------
	:: Footer
	-------------------------------------------------- */


		#footer-wrapper {
			height: auto; 
			width: 100%;
			background: #e9e9e9;
			border-top: 8px solid #5680a5;
		}		
		#footer {
			height: auto; 
			width: 90%;
			margin: 0 auto;
			padding: 30px 0;
			background: #e9e9e9;
			font-family: "Lora", serif;
			font-size: 16px; 
			line-height: 24px; 
			color: #000000;
		}
		#footer a {color: #000000; text-decoration: none;}
		#footer a:hover {color: #000000; text-decoration: underline;}

		#footer .g30 {border-right: 2px solid #b5b5b5;}
	
		#footer a.phone {display: block; font-family: "Oswald", sans-serif;color: #c40b12; font-size: 20px; text-transform: uppercase; margin: 10px 0 25px 0;}
		#footer a.phone:hover {color: #99080e;}

		#footer .heading {display: block; font-family: "Oswald", sans-serif; color: #002a4f; font-size: 24px; font-weight: 600; margin-bottom: 20px;}

		#footer .safety-tuna {display: flex; align-items: center; gap: 10px;}
		#footer .safety-tuna div a {color: #002a4f; font-family: "Oswald", sans-serif; font-size: 20px; font-weight: 600;}



		#footer ul.menu li.menu-item-has-children a:after {content: '';}
		#footer ul.menu li ul {display:none;}


		#copyright {
			height: auto; 
			width: 90%;
			margin: 0 auto;
			padding: 30px 0;
			font-family: "Lora", serif;
			font-size: 14px; 
			line-height: 20px; 
			color: #585858;
		}
		#copyright a {color: #585858; text-decoration: none;}
		#copyright a:hover {color: #585858; text-decoration: underline;}

			/* Social */
			ul.social-media-icons {list-style: none; text-align: right !important; margin: 0 !important; padding: 0;}
			ul.social-media-icons li {display: inline; padding: 2px 0px 0px 0px; margin: 0 !important;}
			ul.social-media-icons a i {
				font-size: 20px;
				width: 45px;
				height: 45px;
				line-height: 45px;
				text-align: center;
				background: #002a4f;
				color: #fff;
			}
			ul.social-media-icons li a:hover {opacity: 0.8; text-decoration: none !important;}



/*	--------------------------------------------------
	:: Elements
	-------------------------------------------------- */
	ul.checkmark {
		--icon-space: 1.3em;
		list-style: none;
		padding: 0;
	}
	ul.checkmark li {padding-left: var(--icon-space);}

	ul.checkmark li:before {
		content: "\f00c"; 
		color: #5680a5;
        font-family: "Font Awesome 6 Pro";
		font-weight: 700;
		display: inline-block;
		margin-left: calc( var(--icon-space) * -1 );
		width: var(--icon-space);
		padding-right: 15px;
	}

h1:not(.site-title)::before, h2::before{
	background: none !important;
	content: none !important;
	height: 0px !important;
	margin: 0 !important;
	width: 0 !important;
}
	
h1, .wp-block-cover h1:not(.has-text-color) {
	color: #002a4f;
	font-family: "Oswald", sans-serif;
	font-size: 40px;
	line-height: 52px;
	margin: 0px;
	padding: 0px;
	margin-bottom: 25px;
}

h2, .wp-block-cover h2:not(.has-text-color) {
	color: #002a4f;
	font-family: "Oswald", sans-serif;
	font-size: 36px;
	line-height: 42px;
	margin: 0px;
	padding: 0px;
	margin-bottom: 25px;
}

h3, .wp-block-cover h3:not(.has-text-color) {
	color: #002a4f;
	font-family: "Oswald", sans-serif;
	font-size: 24px;
	line-height: 30px;
	margin: 0px;
	padding: 0px;
	margin-bottom: 25px;
}

h4, .wp-block-cover h4:not(.has-text-color) {
	font-family: "Oswald", sans-serif;
	font-weight: 500;
}


p {
	margin: 0px;
	padding: 0px 0px 15px 0px;
}

hr,
hr.is-style-wide {
	border: 0; 
	height: 4px; 
	background: #dadada;
	text-align: center;
	line-height: 4px;
	font-size: 26px;
	border-bottom: 0px;
	margin: 30px 0 45px 0;
}

hr.wp-block-separator:not(.is-style-wide) { 
	border: 0; 
	height: 4px; 
	background: #dadada;
	text-align: left;
	line-height: 4px;
	font-size: 26px;
	border-bottom: 0px;
	margin: 30px 0 45px 0;
}

	blockquote {	
		border-left: 10px solid #2c4f6d !important;
		background: #eeeeee;
		padding: 20px 20px 5px 25px !important;
		hyphens: none;
	}
	blockquote p {margin: 0;}
	blockquote .wp-block-columns {margin-bottom: 20px;}
	
	blockquote cite {
		font-size: 16px; 
		text-transform: uppercase; 
		color: #575757; 
		font-style: italic;
	}

	a.link {
		display: inline-block;
		background: linear-gradient(135deg, #89090e 0%,#c40b12 50%,#89090e 100%);
		font-family: "Oswald", sans-serif;
		color: #fff !important;
		font-size: 20px;
		text-transform: uppercase;
		font-weight: 500;
		margin: 10px 0;
		padding: 20px 30px;
		border-radius: 6px;
		text-decoration: none !important;
			-webkit-transition: all 0.25s ease-in-out;
			-moz-transition: all 0.25s ease-in-out;
			-o-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
	}
	a.link:hover {background: linear-gradient(45deg, #89090e 0%,#c40b12 50%,#89090e 100%); color: #f4e9ea !important;}


	a.wp-block-button__link {
		display: inline-block;
		background: #2c4f6d;
		font-family: "Oswald", sans-serif;
		color: #fff !important;
		font-size: 20px;
		text-transform: uppercase;
		font-weight: 500;
		margin: 10px 0;
		padding: 20px 30px;
		border-radius: 6px;
		text-decoration: none !important;
			-webkit-transition: all 0.25s ease-in-out;
			-moz-transition: all 0.25s ease-in-out;
			-o-transition: all 0.25s ease-in-out;
			transition: all 0.25s ease-in-out;
	}
	a.wp-block-button__link:hover {background: #386389; color: #e0eaf2 !important;}





/*	--------------------------------------------------
	:: Blog Styles
	-------------------------------------------------- */

.hentry {padding: 0px !important;}

.sidebar .entry-header, .sidebar .entry-content, .sidebar .entry-summary, .sidebar .entry-meta {
    max-width: 1040px;
    padding: 0 0px 0 0px !important;
}

.widget {
    background-color: #f0eded;
    margin: 0 0 24px;
    padding: 10px;
	border-bottom: 5px solid #1d527b;
}

.widget li {
    padding: 10px 15px;
	background: #c2ccd4;
	margin: 0 0 10px;
	font-family: 'Lato', Arial, Helvetica, sans-serif;
}
.widget li:hover {background: #a4b7c7;}


.widget li a {
	color: #0b304c !important;
    line-height: 20px;
    text-decoration: underline;
	font-size: 16px;
	/*text-transform: uppercase !important;*/
}

.widget .widget-title {
	font-family: 'Lato', Arial, Helvetica, sans-serif;
    margin: 0 0 10px !important;
    padding: 5px 10px !important;
	background: #2e74a9 !important;
	color: #fff !important;
	font-style: normal !important;
	text-transform: uppercase !important;
}


/*	--------------------------------------------------
	:: Grid 
	-------------------------------------------------- */

div.content > div img {width: 100%;} 
.g10, .g20, .g30, .g40, .g50, .g60, .g70, .g80, .g90, .g100, .g33, .g25, .g75 {
	height:auto;
	float:left;
}
.g10 {width:10%;}
.g20 {width:20%;}
.g30 {width:30%;}
.g40 {width:40%;}
.g50 {width:50%;}
.g60 {width:60%;}
.g70 {width:70%;}
.g80 {width:80%;}
.g90 {width:90%;}
.g100 {width:100%;}

.g33 {width:33.33333333%;}
.g25 {width:25%;}
.g75 {width:75%;}

.padding {padding: 10px 15px;}




/*	--------------------------------------------------
	:: Form Styles
	-------------------------------------------------- */

input, textarea, select {
    border: 0px !important;
	background: #f5f5f5 !important;
	border-bottom: 2px solid #f5f5f5;
    font-family: inherit;
    padding: 10px !important;
	width: 100%;
}
select {padding: 14px !important;}
input[type="checkbox"], input[type="radio"] {
	width: auto;
}
input:focus, textarea:focus, select:focus {
    border: 0px;
	background: #eaeaea !important;
	border-bottom: 2px solid #eaeaea;
    font-family: inherit;
    padding: 10px !important;
}
select:focus {padding: 14px !important;}

    .gform_wrapper.gravity-theme .ginput_container_address span {
		flex: 0 0 100%;
	}
	.ginput_complex.ginput_container_address .address_city {
		width: 32% !important;
        margin: 0px 1% 0px 1% !important;
		padding: 0 !important;
		display: block;
		float: left;
		flex: unset !important;
	}
	.ginput_complex.ginput_container_address .address_state {
		width: 32% !important;
        margin: 0px 1% 0px 0px !important;
		padding: 0 !important;
		display: block;
		float: left;
		flex: unset !important;
	}
	.ginput_complex.ginput_container_address .address_zip {
		width: 33% !important;
        margin: 0px!important;
		padding: 0 !important;
		display: block;
		float: right;
		flex: unset !important;
	}

button, input[type="submit"], input[type="button"], input[type="reset"] {
    background: linear-gradient(135deg, #5680a5 0%,#345f86 50%,#5680a5 100%) !important;
    border-bottom: 2px solid #5680a5 !important;
    color: #fff;
    display: inline-block;
    padding: 20px 30px !important;
    font-family: "Oswald", sans-serif;
    text-decoration: none;
	text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0px;
    font-size: 20px;
    width:auto;
    border-radius: 6px;
}

button:hover, button:focus, input[type="submit"]:hover, input[type="submit"]:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:focus {
    background: linear-gradient(45deg, #5680a5 0%,#345f86 50%,#5680a5 100%) !important;
    color: #f4e9ea !important;
}



/*	--------------------------------------------------
	:: Media Queries
	-------------------------------------------------- */


@media screen and (min-width: 1200px) {
	.responsive {width: 1200px !important;}
}

@media screen and (max-width: 1200px) {
    .alignfull .wp-block-cover__inner-container {max-width: 90%;}
}

@media screen and (min-width: 801px) {.opensub {display: none;}} 

@media screen and (max-width: 800px) {
    
	#header {width: 100% !important; position: static;}
	#header .g70 {position: static;}
    
		.wp-block-cover.hero .wp-block-cover__background {opacity: .6 !important;}
	
    #copyright .g50:nth-child(2) {float: none!important; text-align: center;}

	/* ********* Mobile Navigation Styles ********** */
	button#menuToggle {
		display: block;
		border: 0;
		background: #242424 !important;
		border-bottom: transparent !important;
		padding: 10px 0;
		width: 100%;
		color: #fff;
		text-align: center;
		font-size: 24px;
		font-weight: 700; 
		border-radius: 0px !important;
	}
	button#menuToggle:hover, #menuToggle:focus {background: #242424 !important;}

	.menu-content {display: none;}

	.menu-content .right {float: none !important;}
	ul.menu {background: #242424;}
	ul.menu li {float: none; width: 100%;text-align: center;border-bottom: 1px solid #4e4e4e;}
	ul.menu li a {color: #fff;}
	ul.menu li a:hover,
	ul.menu li.current-menu-item a,
	ul.menu li a:focus {color: #fff; background: #242424 ;}

	/* submenu */
	ul.sub-menu {display: none;}
	ul.menu li ul {
		position: static;
		left: 0;
		width: auto;
	}
	ul.menu li:hover ul li {
		float: none;
		width: 100%;
		position: static;
		text-align: center !important;
	}
	ul.menu li:hover ul li:hover {text-align: center;}
    ul.menu li .opensub {
        color: #fff;
        background: #4e4e4e;
        position: absolute;
        right: 0px;
        font-size: 20px;
        top: 0px;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 60px;
        width: 60px;
        cursor: pointer;
    }    
	
    #content img.alignright {
        display: block;
        margin: 0px auto;   
        float: none;
        width: auto;
        max-width: 100%;
    }
	
	.g25 {width: 50% !important;}
	.g30 {width: 100% !important;}
	.g33 {width: 100% !important;}
	.g50 {width: 100% !important;}
	.g70 {width: 100% !important;}
	
}

@media screen and (max-width: 600px) {
	.responsive {width: 90% !important;}
}

@media screen and (max-width: 480px) {
	
	.g10 {width: 100% !important;}
	.g20 {width: 100% !important;}
	.g25 {width: 100% !important;}
	.g40 {width: 100% !important;}
	.g60 {width: 100% !important;}
	.g80 {width: 100% !important;}
	.g90 {width: 100% !important;}

}