/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here... */

/* Beaver Themer header rows — driven by Customizer Brand Colors */
.fl-row.site-header-row,
.fl-row.site-header-row > .fl-row-content-wrap,
.fl-builder-content .fl-row.site-header-row > .fl-row-content-wrap {
	background-color: var(--brand-header-bg, transparent) !important;
}

/* Header logo max width */
img.header-logo-img,
.fl-builder-content img.header-logo-img,
.fl-builder-content .fl-module-html img.header-logo-img {
	max-width: var(--brand-logo-max-width, 300px) !important;
	width: auto !important;
	height: auto !important;
}

@media (max-width: 768px) {
	img.header-logo-img,
	.fl-builder-content img.header-logo-img,
	.fl-builder-content .fl-module-html img.header-logo-img {
		max-width: var(--brand-logo-max-width-mobile, 140px) !important;
	}
}

/* Sub-header visibility toggle */
.fl-row.site-header-secondary-row {
	display: var(--brand-subheader-display, block) !important;
}

.fl-row.site-header-secondary-row,
.fl-row.site-header-secondary-row > .fl-row-content-wrap,
.fl-builder-content .fl-row.site-header-secondary-row > .fl-row-content-wrap {
	background-color: var(--brand-header-secondary-bg, transparent) !important;
}

/* Partial slanted sub-header */
.fl-row.site-header-secondary-row {
	position: relative !important;
}

.site-header-secondary-row::before {
	background: var(--brand-header-bg, transparent);
	display: var(--brand-subheader-slant-display, none);
	content: "";
	inset: 0 auto 0 0;
	pointer-events: none;
	position: absolute;
	width: var(--brand-subheader-slant-width, 50%);
	height: 100%;
	z-index: 5;
	clip-path: polygon(0 0, var(--brand-subheader-slant-top-x, calc(100% - 20px)) 0, var(--brand-subheader-slant-btm-x, 100%) 100%, 0 100%);
	will-change: clip-path;
}

/* Sub-header contact shortcode: email | socials (left) + phone (right) */
.brand-subheader-contact,
.fl-builder-content .brand-subheader-contact {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	gap: 0.85em;
	font-size: 16px !important;
	line-height: 1.4;
	color: var(--brand-subheader-text-color, #ffffff);
}

.brand-subheader-contact a,
.fl-builder-content .brand-subheader-contact a {
	color: inherit !important;
	text-decoration: none;
}

.brand-subheader-contact a:hover,
.brand-subheader-contact a:focus,
.fl-builder-content .brand-subheader-contact a:hover,
.fl-builder-content .brand-subheader-contact a:focus {
	color: inherit !important;
	opacity: 0.85;
}

.brand-subheader-contact__email {
	display: var(--brand-subheader-email-display, inline-flex);
	align-items: center;
	order: 1;
	gap: 0.5em;
}

.brand-subheader-contact__sep {
	align-items: center;
	opacity: 0.9;
	user-select: none;
	line-height: 1;
}

.brand-subheader-contact__sep--desktop {
	display: var(--brand-subheader-sep-display, inline-flex);
	order: 2;
}

.brand-subheader-contact__sep--mobile {
	display: none;
	order: 3;
}

.brand-subheader-contact__social {
	display: var(--brand-subheader-social-display, inline-flex);
	align-items: center;
	order: 3;
}

.brand-subheader-contact__phone {
	display: var(--brand-subheader-phone-display, inline-flex);
	align-items: center;
	order: 4;
	margin-left: auto;
	gap: 0.5em;
}

.brand-subheader-contact__email a,
.brand-subheader-contact__phone a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

.brand-subheader-contact i,
.fl-builder-content .brand-subheader-contact i {
	font-size: 1em !important;
	line-height: 1 !important;
	vertical-align: middle;
}

.brand-subheader-contact .brand-social-icons--compact,
.fl-builder-content .brand-subheader-contact .brand-social-icons--compact {
	display: inline-flex !important;
	align-items: center;
	vertical-align: middle;
}

.brand-subheader-contact .brand-social-icons--compact .fl-social-icons,
.fl-builder-content .brand-subheader-contact .brand-social-icons--compact .fl-social-icons {
	display: inline-flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.85em;
	margin: 0;
	line-height: 1;
}

.brand-subheader-contact .brand-social-icons--compact .fl-social-icons a,
.fl-builder-content .brand-subheader-contact .brand-social-icons--compact .fl-social-icons a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	color: inherit !important;
	font-size: 1.15em !important;
	line-height: 1 !important;
	vertical-align: middle;
}

.brand-subheader-contact .brand-social-icons--compact .fl-social-icons a i,
.brand-subheader-contact .brand-social-icons--compact .fl-social-icons a .brand-social-svg-wrap,
.fl-builder-content .brand-subheader-contact .brand-social-icons--compact .fl-social-icons a i,
.fl-builder-content .brand-subheader-contact .brand-social-icons--compact .fl-social-icons a .brand-social-svg-wrap {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	color: inherit !important;
	line-height: 1 !important;
	width: 1em;
	height: 1em;
}

@media (max-width: 768px) {
	.brand-subheader-contact,
	.fl-builder-content .brand-subheader-contact {
		justify-content: flex-end;
	}

	.brand-subheader-contact .brand-subheader-email,
	.brand-subheader-contact .brand-subheader-phone,
	.fl-builder-content .brand-subheader-contact .brand-subheader-email,
	.fl-builder-content .brand-subheader-contact .brand-subheader-phone {
		display: none !important;
	}

	.brand-subheader-contact__sep--desktop,
	.fl-builder-content .brand-subheader-contact__sep--desktop {
		display: none !important;
	}

	.brand-subheader-contact__sep--mobile,
	.fl-builder-content .brand-subheader-contact__sep--mobile {
		display: var(--brand-subheader-sep-mobile-display, inline-flex);
	}

	.brand-subheader-contact__social {
		order: 1;
		margin-right: auto;
	}

	.brand-subheader-contact__email {
		order: 2;
	}

	.brand-subheader-contact__sep--mobile {
		order: 3;
	}

	.brand-subheader-contact__phone {
		order: 4;
		margin-left: 0;
	}
}

/* Menu links — driven by Customizer Brand Settings */
.fl-builder-content .primary-header-menu .menu-item a {
	color: var(--brand-menu-link-color, inherit) !important;
}

.fl-builder-content .primary-header-menu .menu-item a:hover,
.fl-builder-content .primary-header-menu .menu-item a:focus {
	color: var(--brand-menu-link-hover-color, inherit) !important;
}

/* Footer row — driven by Customizer */
.fl-row.standard-footer-row,
.fl-row.standard-footer-row > .fl-row-content-wrap,
.fl-builder-content .fl-row.standard-footer-row > .fl-row-content-wrap {
	background-color: var(--brand-footer-bg, transparent) !important;
}

/* Footer logo max width */
img.footer-logo-img,
.fl-builder-content img.footer-logo-img,
.fl-builder-content .fl-module-html img.footer-logo-img {
	max-width: var(--brand-footer-logo-max-width, 300px) !important;
	width: auto !important;
	height: auto !important;
}

@media (max-width: 768px) {
	img.footer-logo-img,
	.fl-builder-content img.footer-logo-img,
	.fl-builder-content .fl-module-html img.footer-logo-img {
		max-width: var(--brand-footer-logo-max-width-mobile, 140px) !important;
	}
}

/* Footer links */
.fl-builder-content .fl-row.standard-footer-row a {
	color: var(--brand-footer-link-color, inherit) !important;
}

.fl-builder-content .fl-row.standard-footer-row a:hover,
.fl-builder-content .fl-row.standard-footer-row a:focus {
	color: var(--brand-footer-link-hover-color, inherit) !important;
}

/* Brand social icon shortcodes */
.brand-social-icons {
	display: inline-block;
}

.brand-social-icons--inline {
	display: inline;
}

.brand-social-icons--inline .fl-social-icons {
	display: inline;
}

.brand-social-icons--inline .fl-social-icons a {
	margin-right: 0.35em;
}

.brand-social-icons .fl-social-icons,
.brand-social-icons .fl-social-icons-stacked {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.brand-social-icons .fl-social-icons .fa-stack,
.brand-social-icons .fl-social-icons-stacked .fa-stack {
	margin: 0;
}

.brand-social-icons .brand-social-svg-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.brand-social-icons .brand-social-svg-wrap.fa-stack-1x {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 1em;
	height: 1em;
}

.brand-social-icons .brand-social-svg {
	display: block;
}

.brand-social-icons .icon-x-twitter .brand-social-svg-wrap.branded {
	color: #000;
}

.brand-social-icons .icon-bluesky .brand-social-svg-wrap.branded {
	color: #01aaff;
}