/* ==========================================================================
   Styles for content built with the old Fusion shortcodes and Bootstrap 3 grid classes.
   Rendered by inc/legacy-shortcodes.php.
   ========================================================================== */

/* Columns (same widths and 4% gutter as Avada)
   ------------------------------------------------------------------------ */

.fusion-column {
	float: left;
	margin-right: 4%;
	margin-bottom: 20px;
}

.fusion-column.last {
	margin-right: 0;
}

.fusion-one-full { width: 100%; margin-right: 0; }
.fusion-one-half { width: 48%; }
.fusion-one-third { width: 30.6666%; }
.fusion-two-third { width: 65.3333%; }
.fusion-one-fourth { width: 22%; }
.fusion-three-fourth { width: 74%; }
.fusion-one-fifth { width: 16.8%; }
.fusion-two-fifth { width: 37.6%; }
.fusion-three-fifth { width: 58.4%; }
.fusion-four-fifth { width: 79.2%; }
.fusion-one-sixth { width: 13.3333%; }
.fusion-five-sixth { width: 82.6666%; }

.fusion-clearfix {
	clear: both;
}

.fusion-column > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 800px) {
	.fusion-column {
		float: none;
		width: 100%;
		margin-right: 0;
	}
}

/* Full width section */

.fusion-fullwidth {
	margin-bottom: 20px;
}

.fusion-fullwidth::after {
	content: "";
	display: table;
	clear: both;
}

.is-full-width .fusion-fullwidth__inner {
	max-width: var(--gsbdc-width);
	margin-inline: auto;
	padding-inline: var(--gsbdc-gutter);
}

/* Separator */

.fusion-separator {
	position: relative;
	clear: both;
	width: 100%;
	margin-inline: auto;
	border-color: var(--gsbdc-border);
}

.fusion-separator.sep-single,
.fusion-separator.sep-single-solid { border-top-width: 1px; border-top-style: solid; }
.fusion-separator.sep-double,
.fusion-separator.sep-double-solid { height: 6px; border-top-width: 1px; border-top-style: solid; border-bottom-width: 1px; border-bottom-style: solid; }
.fusion-separator.sep-dashed,
.fusion-separator.sep-single-dashed { border-top-width: 1px; border-top-style: dashed; }
.fusion-separator.sep-double-dashed { height: 6px; border-top-width: 1px; border-top-style: dashed; border-bottom-width: 1px; border-bottom-style: dashed; }
.fusion-separator.sep-dotted,
.fusion-separator.sep-single-dotted { border-top-width: 1px; border-top-style: dotted; }
.fusion-separator.sep-double-dotted { height: 6px; border-top-width: 1px; border-top-style: dotted; border-bottom-width: 1px; border-bottom-style: dotted; }
.fusion-separator.sep-shadow {
	height: 1px;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.2) 0%, transparent 70%);
}

.fusion-separator__icon {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0 10px;
	background: #fff;
	color: var(--gsbdc-primary);
	transform: translate(-50%, -50%);
}

/* Title */

.fusion-title {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

.fusion-title__text {
	flex: 0 1 auto;
	margin: 0;
}

.fusion-title__sep {
	flex: 1 1 auto;
	height: 6px;
	border-top: 1px solid var(--gsbdc-border);
	border-bottom: 1px solid var(--gsbdc-border);
}

.fusion-title.align-center::before {
	content: "";
	flex: 1 1 auto;
	height: 6px;
	border-top: 1px solid var(--gsbdc-border);
	border-bottom: 1px solid var(--gsbdc-border);
}

.fusion-title.align-right {
	flex-direction: row-reverse;
}

.fusion-title.title-single .fusion-title__sep,
.fusion-title.title-single-solid .fusion-title__sep,
.fusion-title.title-single.align-center::before { height: 1px; border-bottom: 0; }
.fusion-title[class*="dashed"] .fusion-title__sep { border-style: dashed; }
.fusion-title[class*="dotted"] .fusion-title__sep { border-style: dotted; }
.fusion-title.title-none .fusion-title__sep,
.fusion-title.title-none.align-center::before { display: none; }

/* Buttons */

.fusion-button,
.wp-block-button__link {
	display: inline-block;
	padding: 11px 24px;
	border: 1px solid var(--gsbdc-primary);
	border-radius: 2px;
	background: var(--gsbdc-primary);
	color: #fff;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.fusion-button:hover,
.fusion-button:focus {
	background: var(--gsbdc-accent);
	border-color: var(--gsbdc-accent);
	color: #fff;
	text-decoration: none;
}

.fusion-button.button-small { padding: 7px 16px; font-size: 0.8rem; }
.fusion-button.button-medium { padding: 9px 20px; font-size: 0.9rem; }
.fusion-button.button-large { padding: 11px 26px; font-size: 1rem; }
.fusion-button.button-xlarge { padding: 15px 36px; font-size: 1.15rem; }
.fusion-button.button-round { border-radius: 4px; }
.fusion-button.button-pill { border-radius: 30px; }
.fusion-button.button-square { border-radius: 0; }

.fusion-button.button-green { background: #a0ce4e; border-color: #a0ce4e; }
.fusion-button.button-darkgreen { background: #4a8a28; border-color: #4a8a28; }
.fusion-button.button-orange { background: #e9a825; border-color: #e9a825; }
.fusion-button.button-blue { background: #1a80b6; border-color: #1a80b6; }
.fusion-button.button-red { background: #c4302b; border-color: #c4302b; }
.fusion-button.button-pink { background: #e1306c; border-color: #e1306c; }
.fusion-button.button-darkgray { background: #3f3f3f; border-color: #3f3f3f; }
.fusion-button.button-lightgray { background: #e5e5e5; border-color: #e5e5e5; color: #333; }

.fusion-button-wrapper {
	margin-bottom: 1em;
}

.fusion-button-wrapper.align-center { text-align: center; }
.fusion-button-wrapper.align-right { text-align: right; }

/* Image frame */

.fusion-imageframe {
	display: inline-block;
	max-width: 100%;
	line-height: 0;
}

.fusion-imageframe.imageframe-dropshadow,
.fusion-imageframe.imageframe-bottomshadow {
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}

.fusion-imageframe.imageframe-glow {
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.25);
}

.fusion-imageframe.aligncenter {
	display: block;
	text-align: center;
}

/* Alerts */

.fusion-alert {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 20px;
	padding: 14px 18px;
	border: 1px solid;
	border-radius: 2px;
}

.fusion-alert > .fa {
	margin-top: 4px;
}

.fusion-alert__text > *:last-child {
	margin-bottom: 0;
}

.fusion-alert.alert-general { background: #e9f3fb; border-color: #9cc7ea; color: #1d4f7a; }
.fusion-alert.alert-error { background: #fbeaea; border-color: #e4a1a1; color: #8a1f1f; }
.fusion-alert.alert-success { background: #ebf6e6; border-color: #a6d495; color: #2e6a1b; }
.fusion-alert.alert-notice { background: #fdf6e3; border-color: #ecd593; color: #7a5d0b; }

/* Checklist */

.fusion-checklist {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.fusion-checklist li {
	display: flex;
	gap: 10px;
	margin-bottom: 8px;
}

.fusion-checklist li > .fa {
	flex: 0 0 auto;
	margin-top: 5px;
	color: var(--gsbdc-primary);
}

.fusion-checklist.has-circle li > .fa {
	width: 22px;
	height: 22px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--gsbdc-primary);
	color: #fff;
	font-size: 11px;
	line-height: 22px;
	text-align: center;
}

.fusion-checklist.size-large li { font-size: 1.15rem; }

.fusion-checklist__text > *:last-child {
	margin-bottom: 0;
}

/* Content boxes */

.fusion-content-boxes {
	display: grid;
	grid-template-columns: repeat(var(--columns, 3), minmax(0, 1fr));
	gap: 30px;
	margin-bottom: 30px;
}

.fusion-content-box__media {
	margin-bottom: 12px;
}

.fusion-content-box__media .fa {
	display: inline-block;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--gsbdc-primary);
	color: #fff;
	font-size: 26px;
	line-height: 64px;
	text-align: center;
}

.layout-icon-on-side .fusion-content-box,
.layout-icon-with-title .fusion-content-box {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 14px;
	align-items: start;
}

.layout-icon-on-side .fusion-content-box > *:not(.fusion-content-box__media),
.layout-icon-with-title .fusion-content-box > *:not(.fusion-content-box__media) {
	grid-column: 2;
}

.layout-icon-on-side .fusion-content-box__media,
.layout-icon-with-title .fusion-content-box__media {
	grid-row: span 3;
}

.layout-icon-with-title .fusion-content-box__media .fa {
	width: 42px;
	height: 42px;
	font-size: 18px;
	line-height: 42px;
}

.layout-icon-on-top .fusion-content-box,
.layout-icon-boxed .fusion-content-box,
.layout-clean-vertical .fusion-content-box,
.layout-timeline-vertical .fusion-content-box {
	text-align: center;
}

.layout-icon-boxed .fusion-content-box,
.layout-clean-horizontal .fusion-content-box,
.layout-clean-vertical .fusion-content-box {
	padding: 24px;
	border: 1px solid var(--gsbdc-border);
	background: var(--gsbdc-light);
}

.fusion-content-box__title {
	margin-bottom: 0.4em;
	font-size: 1.15rem;
}

.fusion-content-box__body > *:last-child {
	margin-bottom: 0;
}

.fusion-content-box__more {
	margin: 0.75em 0 0;
}

/* Tabs */

.fusion-tabs {
	margin-bottom: 30px;
}

.fusion-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--gsbdc-border);
}

.fusion-tabs__nav button {
	flex: 1 1 auto;
	margin-bottom: -1px;
	padding: 11px 18px;
	border: 1px solid var(--gsbdc-border);
	border-left-width: 0;
	background: #ebeaea;
	color: var(--gsbdc-text);
	cursor: pointer;
}

.fusion-tabs__nav button:first-child {
	border-left-width: 1px;
}

.fusion-tabs__nav button[aria-selected="true"] {
	border-top: 3px solid var(--gsbdc-primary);
	border-bottom-color: #fff;
	background: #fff;
	color: var(--gsbdc-heading);
}

.fusion-tabs__panel {
	padding: 20px;
	border: 1px solid var(--gsbdc-border);
	border-top: 0;
}

.fusion-tabs__panel > *:last-child {
	margin-bottom: 0;
}

.fusion-tabs.layout-vertical {
	display: grid;
	grid-template-columns: 220px 1fr;
}

.fusion-tabs.layout-vertical .fusion-tabs__nav {
	flex-direction: column;
	border-bottom: 0;
}

.fusion-tabs.layout-vertical .fusion-tabs__nav button {
	flex: 0 0 auto;
	border-left-width: 1px;
	border-top-width: 0;
	text-align: left;
}

.fusion-tabs.layout-vertical .fusion-tabs__panel {
	border-top: 1px solid var(--gsbdc-border);
	border-left: 0;
}

@media (max-width: 600px) {
	.fusion-tabs.layout-vertical {
		grid-template-columns: 1fr;
	}
}

/* Toggles / accordion */

.fusion-toggle {
	border-bottom: 1px solid var(--gsbdc-border);
}

.fusion-toggle summary {
	position: relative;
	padding: 12px 12px 12px 32px;
	color: var(--gsbdc-heading);
	font-family: var(--gsbdc-font-heading);
	font-size: 1.05rem;
	list-style: none;
	cursor: pointer;
}

.fusion-toggle summary::-webkit-details-marker {
	display: none;
}

.fusion-toggle summary::before {
	content: "\f067";
	position: absolute;
	top: 15px;
	left: 4px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--gsbdc-primary);
	color: #fff;
	font-family: FontAwesome;
	font-size: 9px;
	line-height: 18px;
	text-align: center;
}

.fusion-toggle[open] summary::before {
	content: "\f068";
}

.fusion-toggle__body {
	padding: 0 12px 16px 32px;
}

.fusion-accordion {
	margin-bottom: 30px;
	border-top: 1px solid var(--gsbdc-border);
}

/* Video, map, embeds */

.fusion-video {
	margin-bottom: 20px;
}

.fusion-video.is-centered {
	margin-inline: auto;
}

.fusion-video__ratio iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.fusion-map {
	margin-bottom: 20px;
}

.fusion-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.fusion-soundcloud {
	border: 0;
}

/* Icons */

.fusion-icon {
	margin: 0 10px 10px 0;
	color: var(--gsbdc-primary);
}

.fusion-icon.size-small { font-size: 18px; }
.fusion-icon.size-medium { font-size: 28px; }
.fusion-icon.size-large { font-size: 40px; }

.fusion-icon.has-circle {
	width: 2em;
	height: 2em;
	border-radius: 50%;
	background-color: var(--gsbdc-primary);
	color: #fff;
	font-size: 22px;
	line-height: 2em;
	text-align: center;
}

/* Inline elements */

.fusion-highlight {
	padding: 0 3px;
	background-color: #ffef9e;
	color: inherit;
}

.fusion-highlight.is-rounded {
	border-radius: 4px;
}

.fusion-dropcap {
	float: left;
	margin: 6px 8px 0 0;
	color: var(--gsbdc-primary);
	font-size: 3.2em;
	line-height: 0.85;
}

.fusion-dropcap.is-boxed {
	padding: 8px 12px;
	background: var(--gsbdc-primary);
	color: #fff;
}

/* Tagline box */

.fusion-tagline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 30px;
	margin-bottom: 30px;
	padding: 24px 28px;
	border: 1px solid var(--gsbdc-border);
	border-left: 4px solid var(--gsbdc-primary);
	background: var(--gsbdc-light);
}

.fusion-tagline.highlight-right {
	border-left-width: 1px;
	border-right: 4px solid var(--gsbdc-primary);
}

.fusion-tagline.highlight-top {
	border-left-width: 1px;
	border-top: 4px solid var(--gsbdc-primary);
}

.fusion-tagline.align-center {
	flex-direction: column;
	text-align: center;
}

.fusion-tagline h2 {
	margin-bottom: 0.25em;
	font-size: 1.4rem;
}

.fusion-tagline__text > *:last-child {
	margin-bottom: 0;
}

.fusion-tagline__desc {
	font-size: 1.05rem;
}

/* Person, testimonial, counters, progress, flip box */

.fusion-person {
	margin-bottom: 24px;
}

.fusion-person__photo img {
	display: block;
	width: 100%;
	margin-bottom: 14px;
}

.fusion-person__name {
	margin-bottom: 0.15em;
	font-size: 1.15rem;
}

.fusion-person__title {
	margin-bottom: 0.6em;
	color: #888;
	font-style: italic;
}

.fusion-person__links a,
.fusion-social-links a {
	display: inline-block;
	margin-right: 10px;
	color: var(--gsbdc-primary);
	font-size: 1.2rem;
}

.fusion-social-links.aligncenter {
	text-align: center;
}

.fusion-social-links.alignright {
	float: none;
	margin: 0;
	text-align: right;
}

.fusion-testimonial {
	margin: 0 0 24px;
}

.fusion-testimonial blockquote {
	position: relative;
	margin-bottom: 10px;
	padding: 18px 22px;
	border: 0;
	background: var(--gsbdc-light);
	font-style: italic;
}

.fusion-testimonial figcaption {
	padding-left: 22px;
	color: var(--gsbdc-text);
	font-size: 0.9rem;
}

.fusion-counter {
	margin-bottom: 24px;
	text-align: center;
}

.fusion-counter__value {
	display: block;
	color: var(--gsbdc-primary);
	font-size: 2.6rem;
	line-height: 1.1;
}

.fusion-progress {
	margin-bottom: 16px;
}

.fusion-progress__label {
	display: block;
	margin-bottom: 4px;
	font-size: 0.9rem;
}

.fusion-progress__track {
	height: 26px;
	background: #f1f1f1;
}

.fusion-progress__track > span {
	display: block;
	height: 100%;
	background: var(--gsbdc-primary);
}

.fusion-flip-box {
	height: 100%;
	margin-bottom: 24px;
	padding: 24px;
	border: 1px solid var(--gsbdc-border);
	text-align: center;
}

.fusion-flip-box > .fa {
	margin-bottom: 10px;
	color: var(--gsbdc-primary);
	font-size: 2rem;
}

.fusion-flip-box__back {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--gsbdc-border);
}

/* Images, slides, recent posts */

.fusion-image-item {
	display: inline-block;
	margin: 0 12px 12px 0;
}

.fusion-slide img {
	display: block;
	width: 100%;
	margin-bottom: 16px;
}

.fusion-recent {
	display: grid;
	grid-template-columns: repeat(var(--columns, 3), minmax(0, 1fr));
	gap: 26px;
	margin-bottom: 30px;
}

.fusion-recent__thumb img {
	display: block;
	width: 100%;
	margin-bottom: 12px;
}

.fusion-recent__item h3 {
	margin-bottom: 0.2em;
	font-size: 1.1rem;
}

@media (max-width: 800px) {
	.fusion-content-boxes,
	.fusion-recent {
		grid-template-columns: repeat(min(var(--columns, 2), 2), minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.fusion-content-boxes,
	.fusion-recent {
		grid-template-columns: 1fr;
	}
}

/* Modal */

.fusion-modal {
	width: min(640px, calc(100% - 32px));
	padding: 28px;
	border: 0;
	border-radius: 4px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.fusion-modal::backdrop {
	background: rgba(0, 0, 0, 0.55);
}

.fusion-modal__close {
	float: right;
	margin: -14px -10px 0 0;
	border: 0;
	background: none;
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
}

/* Bootstrap 3 grid compatibility
   The old header loaded Bootstrap 3.3.7 from a CDN. Content that used its grid classes
   still lays out without loading the library.
   ------------------------------------------------------------------------ */

.entry-content .row,
.widget .row {
	display: flex;
	flex-wrap: wrap;
	margin-inline: -15px;
}

.entry-content .row > [class*="col-"],
.widget .row > [class*="col-"] {
	flex: 0 0 100%;
	max-width: 100%;
}

/* Bootstrap pads every column class, wherever it sits. */
.entry-content :is([class^="col-"], [class*=" col-"]),
.widget :is([class^="col-"], [class*=" col-"]) {
	padding-inline: 15px;
}

/* Plain wrappers inside a row (no col-* class) span the full row, as they did in Bootstrap. */
.entry-content .row > :not([class*="col-"]),
.widget .row > :not([class*="col-"]) {
	flex: 1 1 100%;
	min-width: 0;
}

.entry-content .container-fluid {
	padding-inline: 15px;
}

/* A Bootstrap .container inside page content already sits in the theme's content width. */
.entry-content .container {
	max-width: none;
	padding-inline: 0;
}

.col-xs-1 { flex: 0 0 8.3333% !important; max-width: 8.3333% !important; }
.col-xs-2 { flex: 0 0 16.6667% !important; max-width: 16.6667% !important; }
.col-xs-3 { flex: 0 0 25% !important; max-width: 25% !important; }
.col-xs-4 { flex: 0 0 33.3333% !important; max-width: 33.3333% !important; }
.col-xs-5 { flex: 0 0 41.6667% !important; max-width: 41.6667% !important; }
.col-xs-6 { flex: 0 0 50% !important; max-width: 50% !important; }
.col-xs-7 { flex: 0 0 58.3333% !important; max-width: 58.3333% !important; }
.col-xs-8 { flex: 0 0 66.6667% !important; max-width: 66.6667% !important; }
.col-xs-9 { flex: 0 0 75% !important; max-width: 75% !important; }
.col-xs-10 { flex: 0 0 83.3333% !important; max-width: 83.3333% !important; }
.col-xs-11 { flex: 0 0 91.6667% !important; max-width: 91.6667% !important; }
.col-xs-12 { flex: 0 0 100% !important; max-width: 100% !important; }

@media (min-width: 768px) {
	.col-sm-1 { flex: 0 0 8.3333% !important; max-width: 8.3333% !important; }
	.col-sm-2 { flex: 0 0 16.6667% !important; max-width: 16.6667% !important; }
	.col-sm-3 { flex: 0 0 25% !important; max-width: 25% !important; }
	.col-sm-4 { flex: 0 0 33.3333% !important; max-width: 33.3333% !important; }
	.col-sm-5 { flex: 0 0 41.6667% !important; max-width: 41.6667% !important; }
	.col-sm-6 { flex: 0 0 50% !important; max-width: 50% !important; }
	.col-sm-7 { flex: 0 0 58.3333% !important; max-width: 58.3333% !important; }
	.col-sm-8 { flex: 0 0 66.6667% !important; max-width: 66.6667% !important; }
	.col-sm-9 { flex: 0 0 75% !important; max-width: 75% !important; }
	.col-sm-10 { flex: 0 0 83.3333% !important; max-width: 83.3333% !important; }
	.col-sm-11 { flex: 0 0 91.6667% !important; max-width: 91.6667% !important; }
	.col-sm-12 { flex: 0 0 100% !important; max-width: 100% !important; }
}

@media (min-width: 992px) {
	.col-md-1 { flex: 0 0 8.3333% !important; max-width: 8.3333% !important; }
	.col-md-2 { flex: 0 0 16.6667% !important; max-width: 16.6667% !important; }
	.col-md-3 { flex: 0 0 25% !important; max-width: 25% !important; }
	.col-md-4 { flex: 0 0 33.3333% !important; max-width: 33.3333% !important; }
	.col-md-5 { flex: 0 0 41.6667% !important; max-width: 41.6667% !important; }
	.col-md-6 { flex: 0 0 50% !important; max-width: 50% !important; }
	.col-md-7 { flex: 0 0 58.3333% !important; max-width: 58.3333% !important; }
	.col-md-8 { flex: 0 0 66.6667% !important; max-width: 66.6667% !important; }
	.col-md-9 { flex: 0 0 75% !important; max-width: 75% !important; }
	.col-md-10 { flex: 0 0 83.3333% !important; max-width: 83.3333% !important; }
	.col-md-11 { flex: 0 0 91.6667% !important; max-width: 91.6667% !important; }
	.col-md-12 { flex: 0 0 100% !important; max-width: 100% !important; }
}

@media (min-width: 1200px) {
	.col-lg-1 { flex: 0 0 8.3333% !important; max-width: 8.3333% !important; }
	.col-lg-2 { flex: 0 0 16.6667% !important; max-width: 16.6667% !important; }
	.col-lg-3 { flex: 0 0 25% !important; max-width: 25% !important; }
	.col-lg-4 { flex: 0 0 33.3333% !important; max-width: 33.3333% !important; }
	.col-lg-5 { flex: 0 0 41.6667% !important; max-width: 41.6667% !important; }
	.col-lg-6 { flex: 0 0 50% !important; max-width: 50% !important; }
	.col-lg-7 { flex: 0 0 58.3333% !important; max-width: 58.3333% !important; }
	.col-lg-8 { flex: 0 0 66.6667% !important; max-width: 66.6667% !important; }
	.col-lg-9 { flex: 0 0 75% !important; max-width: 75% !important; }
	.col-lg-10 { flex: 0 0 83.3333% !important; max-width: 83.3333% !important; }
	.col-lg-11 { flex: 0 0 91.6667% !important; max-width: 91.6667% !important; }
	.col-lg-12 { flex: 0 0 100% !important; max-width: 100% !important; }
}

.text-center { text-align: center; }
.text-right { text-align: right; }
.img-responsive { display: block; max-width: 100%; height: auto; }
.hidden-xs { display: revert; }

@media (max-width: 767px) {
	.hidden-xs { display: none !important; }
}

/* Logo row used in older widget markup */

.logo-col {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 190px;
	padding: 0.5rem;
}

.logo-img {
	width: auto;
	max-width: 100%;
	max-height: 180px;
	object-fit: contain;
}

/* ==========================================================================
   Home page content from the Avada build
   The existing home page uses a hand-built image carousel and three custom column
   classes (boxes, d1, d3). Their styles lived in Avada's custom CSS, which does not
   carry over to a new theme, so they are rebuilt here from the old site's measurements.
   ========================================================================== */

/* Hero carousel: <section class="hero-carousel"> with .hero-track / .hero-slide.
   Slides sit side by side and the track slides left; see assets/js/site.js. */

.hero-carousel {
	position: relative;
	margin: 0 0 40px;
	overflow: hidden;
	aspect-ratio: 1100 / 519;
	background: #f2f2f2;
}

.hero-track {
	display: flex;
	height: 100%;
	transition: transform 0.6s ease;
}

.hero-slide {
	flex: 0 0 100%;
	min-width: 100%;
	height: 100%;
}

.hero-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-dots {
	position: absolute;
	bottom: 14px;
	left: 0;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 12px;
	width: 100%;
}

.hero-dot {
	display: block;
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.35);
	cursor: pointer;
}

.hero-dot[aria-current="true"] {
	background: #fff;
}

@media (prefers-reduced-motion: reduce) {
	.hero-track {
		transition: none;
	}
}

@media (max-width: 900px) {
	.hero-carousel {
		margin-bottom: 24px;
	}
}

/* [one_third class="boxes"]: the three red-outlined buttons under the carousel. */

.fusion-column.boxes p {
	margin: 0;
}

.fusion-column.boxes a {
	display: block;
	padding: 3px 8px;
	border: 3px solid var(--gsbdc-primary);
	background: #fff;
	color: #222;
	font-size: 12px;
	font-weight: 700;
	line-height: 15px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.fusion-column.boxes a:hover,
.fusion-column.boxes a:focus {
	background: var(--gsbdc-primary);
	color: #fff;
}

@media (max-width: 800px) {
	.fusion-column.boxes {
		margin-bottom: 10px;
	}
}

/* [two_third class="d1"]: main column with navy heading bars. */

.fusion-column.d1 h2,
.fusion-column.d3 h2 {
	margin: 0 0 20px;
	padding: 8px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 23px;
}

.fusion-column.d1 h2 {
	background: var(--gsbdc-bottom-bg);
}

.fusion-column.d1 h3 {
	margin-bottom: 12px;
	font-size: 17px;
}

/* The photo sits in a paragraph, which already supplies the 20px gap below it. */
.fusion-column.d1 img {
	display: block;
}

.fusion-column.d1 h3 a {
	color: #222;
	font-size: 16px;
}

.fusion-column.d1 h3 a:hover,
.fusion-column.d1 h3 a:focus {
	color: var(--gsbdc-primary);
}

/* [one_third class="d3"]: Announcements sidebar with the thin red rule. */

.fusion-column.d3 {
	border-left: 1px solid #e9c3cc;
}

.fusion-column.d3 h2 {
	padding-inline: 27px;
	background: var(--gsbdc-primary);
	font-size: 21px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.fusion-column.d3 h3 {
	margin-bottom: 12px;
	color: #333;
	font-size: 14px;
}

.fusion-column.d3 hr {
	margin: 20px 0;
	border: 0;
	border-top: 1px solid #e7e7e7;
}

.fusion-column.d3 hr:last-child {
	margin-bottom: 0;
}

.fusion-column.d3 a {
	overflow-wrap: anywhere;
}

@media (max-width: 800px) {
	.fusion-column.d3 {
		border-left: 0;
	}
}

/* Commented-out announcement placeholder on the home page; Avada's custom CSS hid it. */
.entry-content > .d {
	display: none;
}

/* Partner logo row at the bottom of the home page: a wrapping flex row with inline
   styles. Below the width where all four fit on one line, show a 2 x 2 grid instead
   of an uneven 1-1-2 stack. !important is needed to override the inline styles. */
@media (max-width: 860px) {
	.entry-content > .container > div[style*="flex-wrap"] {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px !important;
		align-items: center;
		justify-items: center;
	}

	/* WordPress adds a <br> after each logo (one per line in the content). In a grid each
	   <br> would take a cell and push every logo into the left column. */
	.entry-content > .container > div[style*="flex-wrap"] > br {
		display: none;
	}

	.entry-content > .container > div[style*="flex-wrap"] > img {
		width: auto;
		max-width: min(100%, 200px) !important;
		max-height: 100px;
	}
}
