/**
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
*/
/***set some global variables, also beaver builder global variables here as well so they have scope on non-beaver builder pages**/
:root {
	--sf-default-button-color: #0075c1;
	--sf-focus-outline-color: #0075c1;
	--sf-default-page-header-bg-color: #1B3C7A;
	--gm-blue: #1b3c7a;
}
/********* 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,
picture.rounded-rectangle img,
img.rounded-rectangle  {
	border-radius:20px;
}
/********* SFW Modifications to Astra Menus and Site Header *********/
/*.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:600;	
}
.ast-header-break-point .ast-site-identity {
	max-width:320px;
}
/********* 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:96px;
}
.ast-sticky-main-shrink .ast-sticky-shrunk .site-logo-img img {
	/*specify a max height and 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-height:55px;
	max-width:114px;
}
/********* SFW some accessibility things :focus styles underlined links *********/
/********* SFW Focus Styles *********/
.search-toggle:focus,
input:focus,
a:focus,
.pp-advanced-menu a:focus,
:focus {
   outline:2px solid var(--sf-focus-outline-color) !important;
   outline-offset:2px !important;
}

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

p a:not(.button):not(.entry-overlay):not(.menu-link):not(.ast-button),
h2 a:not(.button):not(.entry-overlay):not(.menu-link):not(.ast-button),
li a:not(.button):not(.entry-overlay):not(.menu-link):not(.ast-button),
blockquote a:not(.button):not(.entry-overlay):not(.menulink):not(.ast-button),
h3 a:not(.button):not(.entry-overlay):not(.menu-link):not(.ast-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(.ast-button):hover,
h2 a:not(.button):not(.entry-overlay):not(.menu-link):not(.ast-button):hover,
li a:not(.button):not(.entry-overlay):not(.menu-link):not(.ast-button):hover,
blockquote a:not(.button):not(.entry-overlay):not(.menu-link):not(.ast-button):hover,
h3 a:not(.button):not(.entry-overlay):not(.menu-link):not(.ast-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;
}
.entry-content :where(h1,h2,h3,h4,h5,h6) {
	
}
/********* 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;
}

/* # SFW Checklist UL Style 
---------------------------------------------------------------------------------------------------- */
.entry-content ul.greencheck,
.entry-content ul.yellowcheck {
  list-style: none; /* Removes default bullets */
}
.entry-content ul.greencheck li:before,
.entry-content ul.yellowcheck li:before {
	content: '✓'; /* Inserts a Unicode checkmark character */
	  /* Optional: Add styling for positioning and appearance */
	  margin-right: 5px; /* Adjust spacing */
	color: #307351;
}
.entry-content ul.yellowcheck li:before {
	color: #DDA448;
}

/* # 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/AST Buttons - Reconcile the Astra, BB, & Gravity Forms button styles with each other and anything else special like dropshadows or effects that cannot be specified in the Astra or BB settings *********/
.fl-builder-content a.fl-button,
.gform_wrapper.gravity-theme .gform_footer input.gform_button.button,
.ast-button,
.wp-element-button {
	box-shadow: 0px 0px 0px 0px var(--sf-default-button-color) !important;
	display:inline-block;
	margin:5px 0px 0px 0px;
	padding:20px 24px; /*Match the Astra Settings for this site*/
	transition: all .2s linear;
}
.fl-builder-content a.fl-button:hover,
.button:hover,
.gform_wrapper.gravity-theme .gform_footer input.gform_button.button:hover,
.ast-button:hover,
.wp-element-button:hover {
	box-shadow: 5px 5px 0px 0px var(--sf-default-button-color)  !important;
	margin:0px 0px 5px 0px;
	transition: all .2s linear;
}
.fl-builder-content a.fl-button.dropshadow-dark-blue:hover,
.button.dropshadow-dark-blue:hover,
.gform_wrapper.gravity-theme .gform_footer input.gform_button.button.dropshadow-dark-blue:hover,
.ast-button.dropshadow-dark-blue:hover,
.wp-element-button.dropshadow-dark-blue:hover,
.fl-builder-content .dropshadow-dark-blue .fl-button-wrap a:hover {
	box-shadow: 5px 5px 0px 0px var(--gm-blue)  !important;
	transition: all .2s linear;
}


.gform_wrapper.gravity-theme .gform_footer input.gform_button.button,
html body .fl-builder-content .fl-button:is(a, button),
html body .fl-builder-content .fl-button:is(a, button):hover,
.gform_button.button:hover,
.ast-button:hover,
.fl-button:hover  {
	transition: all .2s linear !important;
	-webkit-transition: all .2s linear !important;
}

.double-button-wrap {
	height:100px;
}
/********* SFW Special column lists *********/
ul.five-column{
	/* Set the number of columns you want */
	column-count: 5; 
	/* Optional: Add a gap between columns */
	column-gap: 10px; 
	
	/* Ensures content fills columns sequentially (vertical first) */
	column-fill: auto; 
	
	/* Important: You must set a specific height for column-fill: auto to work as expected. */
	/* This height determines where the first column breaks. */
	height: 240px; /* Adjust this height based on the number/height of your list items */
	
	/* Ensures the list items don't break awkwardly in the middle across columns */
	/* vendor-prefix versions may be needed for older browsers */
	break-inside: avoid;
}

/********* 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 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 cannot be located in the settings
---------------------------------------------------------------------------------------------------- */
body .ast-title-bar-wrap {
	background-color:var(--sf-default-page-header-bg-color);
}
body .ast-advanced-headers-layout-1 .ast-advanced-headers-wrap {
	max-width: 100%;
	text-align: center;
}
/* # 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 Image Grow Styles
---------------------------------------------------------------------------------------------------- */
.grow.fl-module-pp-infobox .fl-module-content,
.grow .uabb-imgicon-wrap .uabb-image-content img,
.grow>img,
.grow i,
.grow .pp-content-grid-post  .pp-content-grid-image img,
.grow .pp-content-carousel-post  .pp-content-grid-image img{
   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 {
   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 i,
.grow .pp-content-grid-post:hover .pp-content-grid-image img,
.grow .pp-content-carousel-post:hover .pp-content-grid-image img {
   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;
}
/* Images using Picture element also Aligned images
--------------------------------------------- */
picture.alignright,
img.alignright,
figure.wp-caption.alignright {
	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;
}
/********* 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 Astra Footer Styles we could not find settings for *********/
.ast-builder-grid-row-container-inner {
	
}
@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;
	}
}