/**
Theme Name: SangFroid Web Design Astra Child
Author: SangFroid Web Design
Author URI: https://www.sangfroidwebdesign.com/
Description: A custom child them for Astra by SangFroid Web Design
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sangfroid-web-design-astra-child
Template: astra
*/
/***setting beaver builder global variables here as well so they have scope on non-beaver builder pages**/
:root {
	--fl-global-rn-dark-blue: #242c61;
	--fl-global-rn-light-blue: #87aecf;
	--fl-global-rn-orange: #E97120;
	--fl-global-rn-yellow: #FAA31D;
	--fl-global-rn-dark-green: #447236;
	--fl-global-rn-light-green: #AFD06E;
	--fl-global-rn-light-gray: #F7F7F7;
	--fl-global-rn-dark-gray: #414042;
	--fl-global-button-color: #ffffff;
	--fl-global-button-hover-color: var(--fl-global-rn-dark-blue);
	--fl-global-button-background: var(--fl-global-rn-dark-blue);
	--fl-global-button-hover-background: var(--fl-global-rn-light-blue);
	--fl-global-button-font-weight: 700;
	--fl-global-button-font-size: 19px;
	--fl-global-button-line-height: 1.2em;
	--fl-global-button-border-style: solid;
	--fl-global-button-background-clip: border-box;
	--fl-global-button-border-color: var(--fl-global-rn-dark-blue);
	--fl-global-button-border-top-width: 0px;
	--fl-global-button-border-right-width: 0px;
	--fl-global-button-border-bottom-width: 0px;
	--fl-global-button-border-left-width: 0px;
	--fl-global-button-border-top-left-radius: 80px;
	--fl-global-button-border-top-right-radius: 80px;
	--fl-global-button-border-bottom-left-radius: 80px;
	--fl-global-button-border-bottom-right-radius: 80px;
	--fl-global-button-box-shadow: 3px 3px 0px 0px var(--fl-global-rn-dark-blue);
}
/********* SFW Image Fixes for Dimensions so PSI is happy *********/
picture img {
   display:block;
}
/* Images using Picture element also Aligned images
--------------------------------------------- */
picture.alignright,
img.alignright,
figure.wp-caption.alignright {
	float:right;
	margin:10px 0 25px 25px;
}
picture.alignleft,
img.alignleft,
figure.wp-caption.alignleft {
	margin:10px 25px 25px 0 ;	
}
picture {
	display:block;
}
picture.aligncenter {
	text-align:center;
}
picture.aligncenter img {
	margin-left: auto;
	margin-right: auto;
}
picture.rounded-rectangle img,
img.rounded-rectangle  {
	border-radius:12px;
}
/********* SFW Modifications to Astra Menus *********/
/*.ast-desktop .ast-menu-hover-style-underline > .menu-item:hover > .menu-link:before, .ast-desktop .ast-menu-hover-style-overline > .menu-item:hover > .menu-link:before {
	width: 100%;
	background-color: currentColor;
	transform: scale(1, 1) translate(0, 0);
}*/
.site-above-header-wrap .menu-item {
	padding: 0 32px;
	font-weight:600px;
}
@media only screen and (max-width: 1080px) {
	.main-header-menu .menu-link, .main-header-menu>a {
		padding: 0 .6em;
	}
}
/********* SFW Modifications to Astra Sticky Shrink Logo  to Fix the Transition on Sticky/Shrink*********/
header .custom-logo-link img {
	/*specify a max HEIGHT for the logo when NOT SHRUNK to match your settings in Astra - This is so silly we have to do this to make a smooth logo transition on sticky shrink*/
	/*max-height:36px;*/
}
.ast-sticky-main-shrink .ast-sticky-shrunk .site-logo-img img {
	/*specify a max width for the logo when SHRUNK to match your settings in Astra - This is so silly we have to do this to make a smooth logo transition on sticky shrink*/
	/*max-width:300px;*/
}
/********* SFW some accessibility things :focus styles underlined links and sr-only *********/
/********* SFW Focus Styles *********/
.search-toggle:focus,
input:focus,
a:focus,
.pp-advanced-menu a:focus,
:focus {
   outline:2px solid #E97120 !important;
   outline-offset:2px !important;
}
.sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/********* SFW Accessible Links *********/

p a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button),
h2 a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button),
li a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button),
blockquote a:not(.button):not(.entry-overlay):not(.menulink):not(.rn-button),
h3 a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button),
.entry-terms.entry-terms-category a,
.entry-author a {
	-webkit-text-decoration: underline;
	 text-decoration: underline;
	 text-decoration-style:dotted;
	 text-underline-offset: 2px;
}
p a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button):hover,
h2 a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button):hover,
li a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button):hover,
blockquote a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button):hover,
h3 a:not(.button):not(.entry-overlay):not(.menu-link):not(.rn-button):hover,
.entry-terms.entry-terms-category a:hover,
.entry-author a:hover {
	-webkit-text-decoration: none;
	 text-decoration: none;
}

/********* SFW Text Wrap Styles *********/
p,
a{
   text-wrap: pretty;
}
h1,
h2,
h3,
h4,
h5,
h6 {
   text-wrap: balance;
}
/********* SFW Pullquote *********/
blockquote.pullquote.alignright {
	float:right;
}
/********* SFW Astra Extra Content Styles *********/
.entry-content .large-h2 h2,
.content-area .large-h2 h2 {
	font-size: 46px;
	font-size: 2.875rem;
}
@media only screen and (max-width: 544px) {
	.entry-content .large-h2 h2,
	.content-area .large-h2 h2 {
		font-size: 32px;
		font-size: 2.175rem;
	}
}
.single-post h1 {
	font-size:3.6vw;
}
/* # Embed Container
---------------------------------------------------------------------------------------------------- */
.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%
}
.embed-container iframe,.embed-container object,.embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
/********* SFW BB Buttons - make the padding match what is set in Astra Button Styles and other Button styles *********/
.fl-builder-content a.fl-button,
.gform_wrapper.gravity-theme .gform_footer input.gform_button.button {
	padding: 20px 30px;
	box-shadow: 0px 0px 0px 0px var(--fl-global-rn-dark-blue) !important;
	margin:5px 0px 0px 0px;
}
.rn-button.button {
	padding: 20px 30px;
	box-shadow: 0px 0px 0px 0px var(--fl-global-rn-dark-blue) !important;
	margin:5px 10px 0px 10px;
}
.fl-builder-content a.fl-button:hover,
.gform_wrapper.gravity-theme .gform_footer input.gform_button.button:hover{
	padding: 20px 30px;
	box-shadow: 5px 5px 0px 0px var(--fl-global-rn-dark-blue)  !important;
	margin:0px 0px 5px 0px;
}

.gform_wrapper.gravity-theme .gform_footer input.gform_button.button,
.gform_button.button:hover,
.rn-button.button:hover {
	transition: all .2s linear
}
.rn-button.button {
	padding: 20px 30px;
	box-shadow: 0px 0px 0px 0px var(--fl-global-rn-dark-blue) !important;
	display:inline-block;
	margin:5px 10px 20px 10px;
}
.rn-button.button:hover {
	background-color: var(--fl-global-rn-light-blue)  !important;
	box-shadow: 5px 5px 0px 0px var(--fl-global-rn-dark-blue)  !important;
	color:var(--fl-global-rn-dark-blue) !important;
	margin:0px 10px 25px 10px;
}
.double-button-wrap {
	height:100px;
}

/********* SFW Gravity Forms *********/
.gform_wrapper.gravity-theme .gfield_required {
	color: #BA5512;
}
/********* SFW BB Buttons - Special Wrapped text with Icon *********/
.wrapped-text-with-icon .fl-button,
.fl-builder-content .wrapped-text-with-icon  a.fl-button, 
.fl-builder-content .wrapped-text-with-icon  a.fl-button:visited {
	display: inline-flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.wrapped-text-with-icon .fl-button-text{
	display: inline-flex;
	text-wrap:pretty;
	padding-right: 15px;
}
.fl-builder-content .wrapped-text-with-icon .fl-button i {
	display: inline-flex;
	font-size: 1.8em;
	margin:0;
	align-items: center;
	justify-content: flex-end;
}
.fl-builder-content .white  a.fl-button:hover {
	box-shadow: 5px 5px 0px 0px #fff  !important;
}

/********* SFW Recover Now Z-Index rows *********/
body:not(.fl-builder-edit) .fl-row.z-index-1 {
	position:relative;
	z-index:1;
}
body:not(.fl-builder-edit) .fl-row.z-index-2 {
	position:relative;
	z-index:2;
}
body:not(.fl-builder-edit) .fl-row.z-index-3 {
	position:relative;
	z-index:3;
}
/********* SFW Entry MEta *********/
header.entry-header .entry-meta, header.entry-header .entry-meta * {
	font-weight: 600;
	font-size: 15px;
	font-size: 0.9375rem;
	color: #757575;
	text-transform: uppercase;
}

/********* SFW 2 Column List *********/
ul.two-column-list{
	display: flex;
	flex-flow: row wrap;
}
ul.two-column-list li{
	width: 50%;
}
/********* SFW Astra BB Special Columns Classes for Awkward Breakpoints *********/
@media only screen and (max-width: 920px) {
	.fl-col.full-width-under-920 {
		clear:none;
		width:100% !important;
	}
	.fl-col.full-width-under-920 .fl-col-content {
		/*margin:10px 20px !important;*/
	}
	.fl-col.full-width-under-544:nth-child(odd) {
		clear:left;
	}
	.fl-col.full-width-under-544.no-clear:nth-child(odd) {
		clear:none;
	}
}
@media only screen and (max-width: 544px) {
	.fl-col.full-width-under-544 {
		clear:none;
		width:100% !important;
	}
}

/* # SFW AST Page header Background - override default astra style that connot be located in the settings
---------------------------------------------------------------------------------------------------- */
body .ast-title-bar-wrap {
	background-color:#242c61;
}
/* # SFW AST Blog customizations
---------------------------------------------------------------------------------------------------- */
.ast-article-inner {
	padding: 15px;
}
 .ast-article-post .post-thumb-img-content {
	border-radius: 8px;
}
/* # SFW AST Page builder template - remove the padding
---------------------------------------------------------------------------------------------------- */
body.ast-page-builder-template .site .site-content #primary .ast-article-single {
	padding:0 !important;
}
/* # SFW RN Single Location Styles
---------------------------------------------------------------------------------------------------- */
.single-location.single.ast-page-builder-template .entry-header + .entry-content,
.single-location.single.ast-page-builder-template .fl-builder-content {
	margin:0;
}
/* # SFW Image Grow Styles
---------------------------------------------------------------------------------------------------- */
.grow.fl-module-pp-infobox .fl-module-content,
.grow .uabb-imgicon-wrap .uabb-image-content img,
.grow>img,
.grow>picture>img,
.grow i,
.grow .pp-content-grid-post  .pp-content-grid-image img,
.grow .pp-content-carousel-post  .pp-content-grid-image img,
.grow .rn-location-image-link-outer .location-image-link .rn-location-featured-image-wrap{
   backface-visibility: hidden;
   -webkit-backface-visibility:hidden;
   -webkit-transition: all 0.2s ease-in-out;
   -moz-transition:    all 0.2s ease-in-out;
   -ms-transition:     all 0.2s ease-in-out;
   -o-transition:      all 0.2s ease-in-out;
   transition:         all 0.2s ease-in-out;
}
.grow .pp-content-grid-post .pp-content-grid-image,
.grow .pp-content-carousel-post .pp-content-grid-image,
.grow .rn-location-image-link-outer .location-image-link {
   overflow:hidden;
}

.grow .location-image-link {
   display:block;
   border-radius:7px;
}

.grow.fl-module-pp-infobox:hover .fl-module-content,
.grow:hover .uabb-imgicon-wrap .uabb-image-content img,
.grow:hover > img,
.grow:hover > picture > img,
.grow:hover i,
.grow .pp-content-grid-post:hover .pp-content-grid-image img,
.grow .pp-content-carousel-post:hover .pp-content-grid-image img,
.grow .rn-location-image-link-outer:hover .location-image-link .rn-location-featured-image-wrap {
   backface-visibility: hidden;
   -webkit-backface-visibility:hidden;
   transform: scale(1.15);
   -webkit-transition: all 0.2s ease-in-out;
   -moz-transition:    all 0.2s ease-in-out;
   -ms-transition:     all 0.2s ease-in-out;
   -o-transition:      all 0.2s ease-in-out;
   transition:         all 0.2s ease-in-out;
}
.grow a.location-image-link .rn-location-featured-image-wrapxx {
	background-size: 100%;
	-webkit-transition: all 0.3s ease-in-out;
}
.grow a.location-image-link:hover .rn-location-featured-image-wrapxx {
background-size: 115%;
-webkit-transition: all 0.3s ease-in-out;
}
/********* SFW - Override Astra Image Box Shadow Classes *********/
.ast-article-single img {
	box-shadow: none; 
	-webkit-box-shadow:none; 
	-moz-box-shadow: none;
}
/********* SFW Genesis Columns Classes *********/
.five-sixths,
.four-sixths,
.four-fifths,
.one-fifth,
.one-fourth,
.one-half,
.one-sixth,
.one-third,
.three-fourths,
.three-fifths,
.three-sixths,
.two-fourths,
.two-fifths,
.two-sixths,
.two-thirds {
	float: left;
	margin-left: 2.564102564102564%;
}

.one-half,
.three-sixths,
.two-fourths {
	width: 48.717948717948715%;
}

.one-third,
.two-sixths {
	width: 31.623931623931625%;
}

.four-sixths,
.two-thirds {
	width: 65.81196581196582%;
}

.one-fourth {
	width: 23.076923076923077%;
}

.three-fourths {
	width: 74.35897435897436%;
}

.one-fifth {
	width: 17.9487179487179488%;
}

.two-fifths {
	width: 38.4615384615384616%;
}

.three-fifths {
	width: 58.9743589743589744%;
}

.four-fifths {
	width: 79.4871794871794872%;
}

.one-sixth {
	width: 14.52991452991453%;
}

.five-sixths {
	width: 82.90598290598291%;
}

.first {
	clear: both;
	margin-left: 0;
}
@media only screen and (max-width: 544px) {
	.five-sixths,
	.four-sixths,
	.four-fifths,
	.one-fifth,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-fifths,
	.three-sixths,
	.two-fourths,
	.two-fifths,
	.two-sixths,
	.two-thirds {
		clear:both;
		float: none;
		margin: 0;
		width:100%;
	}
}

/********* SFW Locations Grid *********/
.rn-locations-wrap {
	display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-gap: 24px;
		max-width: 100%;
		margin-top:20px;
}
.rn-locations-wrap.cols-2 {
	grid-template-columns: 1fr 1fr;
}
.rn-locations-wrap.cols-1 {
	grid-template-columns: 1fr;
}
.rn-locations-wrap.cols-4 {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.rn-location {
	background-color: #ffffff;
	background-clip: border-box;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: 2px 1px 7px 0px rgba(36,44,97,0.2);
	display:grid;
	flex-grow: 1;
	flex-basis: 0;
	min-width: 0;
	padding:15px;
}
.rn-location-featured-image-wrap {
	background-position: center center;
	background-repeat: no-repeat;
	background-size:cover;
	border-radius:7px;
	height: 200px;
}
.rn-location h1 {
	font-size:20px;
	margin-bottom:0;
	padding:10px;
}
.location-grid-address {
	line-height:1.2;
	padding:0 10px;
	margin:0 0 5px 0;
}
.location-grid-contacts {
	display:inline-block;
   /*display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 0;
		max-width: 100%;*/
		margin:0px 10px;
}
.location-grid-contacts span {
	line-height:1.2;
	padding:0;
}

.location-grid-contacts .location-phone {
	border-right:1px solid #ccc;
	display:inline-block;
	/*padding:0 15px 0 0;*/
}
.location-grid-contacts .location-website {
	/*padding:0 0 0 15px;*/
	text-align:left;
	display:inline-block;
	margin-bottom:10px;
}
.location-grid-ctas {
	padding:0px;
	display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 0px;
		max-width: 100%;
		margin: auto 5px 0;
}
.location-grid-ctas a {
	display:inline-block;
	padding:10px;
	background-color:#242C61;
	color:#fff;
	text-align:center;
	border-radius:85px;
	margin:5px;
	-webkit-text-decoration: none !important;
	text-decoration: none !important;
	text-decoration-style: unset !important;
	text-underline-offset: 0px !important;
}
.location-grid-ctas a:hover {
	background-color: var(--fl-global-rn-light-blue);
	color: var(--fl-global-rn-dark-blue);
	box-shadow: 5px 5px 0px 0px var(--fl-global-rn-dark-blue)  !important;
	margin:0px 10px 10px 0px;
}
.location-street-address,
.location-city-state-zip {
	display:block;
}

@media only screen and (max-width: 921px) {
	.rn-locations-wrap,
	.rn-locations-wrap.cols-4 {
	display: grid;
		grid-template-columns: 1fr 1fr;
	}
	
}
@media only screen and (max-width: 544px) {
	.rn-locations-wrap,
	.rn-locations-wrap.cols-2,
	.rn-locations-wrap.cols-1,
	.rn-locations-wrap.cols-4 {
	display: grid;
		grid-template-columns: 1fr;
	}
}

.no-location-website #directions-column {
		width:100% !important;
	}
	
	


/********* SFW Astra Footer Styles we could not find settings for *********/
.ast-builder-grid-row-container-inner {
	
}
.ast-builder-footer-grid-columns.site-primary-footer-inner-wrap.ast-builder-grid-row {
	border-top:1px solid #dfdfdf;
	padding-top:10px;
}
@media (max-width: 1023px) {
	.footer-social-icons.wp-container-core-social-links-is-layout-1 {
		flex-wrap:wrap !important;
	}
}
@media (max-width: 544px) {
	body .ast-builder-grid-row-container.ast-builder-grid-row-mobile-5-equal .ast-builder-grid-row {
		grid-template-columns: 1fr 1fr;
	}
	.site-footer-primary-section-1.site-footer-section.site-footer-section-1 {
		grid-column: span 2;
	}
}