/*!
Theme Name: SOSJ Today - 2026
Theme URI: https://www.indianapolisfencecompany.com
Author: Servoweb Technologies
Author URI: https://www.servoweb.com/
Description: Custom theme for sosjtoday.org
Version: 2.0.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: sosjtoday2026
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Fonts
# Custom Properties (CSS Variables)
# Reset / Normalize
# Base Typography
# Links
# Lists
# Forms
# Layout
# Header & Navigation
# Footer
# Buttons
# Posts & Pages
# Widgets & Media
# Blocks & Gutenberg
# Color Palette
# Utilities & Accessibility
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/
/* roboto-condensed-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('type/roboto-condensed/roboto-condensed-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-condensed-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 500;
  src: url('type/roboto-condensed/roboto-condensed-v31-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-condensed-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 600;
  src: url('type/roboto-condensed/roboto-condensed-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('type/open-sans/open-sans-v44-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('type/open-sans/open-sans-v44-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('type/open-sans/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('type/open-sans/open-sans-v44-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  src: url('type/open-sans/open-sans-v44-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 500;
  src: url('type/open-sans/open-sans-v44-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('type/open-sans/open-sans-v44-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: url('type/open-sans/open-sans-v44-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('type/open-sans/open-sans-v44-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url('type/open-sans/open-sans-v44-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('type/open-sans/open-sans-v44-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* open-sans-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  src: url('type/open-sans/open-sans-v44-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/*--------------------------------------------------------------
# Custom Properties
--------------------------------------------------------------*/

:root {
	/* Fonts */
	--font-serif: 'Cormorant Garamond', Georgia, serif;
	--font-serif-alt: 'EB Garamond', Georgia, serif;
	--font-sans: 'EB Garamond', Georgia, serif;
	--font-condensed: 'Roboto Condensed', sans-serif;

	/* Brand reds */
	--sos-primary-red: #C1282D;
	--sos-deep-red: #8b0000;
	--sos-red-muted: #c1605e;
	--sos-red-pale: #c9a0a0;

	/* Dark tones */
	--sos-dark-bg: #1a0f0f;
	--sos-dark-mid: #2e1f1f;
	--sos-text-dark: #3a2a2a;
	--sos-text-base: #1a0f0f;

	/* Warm neutrals */
	--sos-warm-bg: #faf8f5;
	--sos-warm-mid: #e5e0d8;
	--sos-cream: #ece8e3;

	/* Muted text */
	--sos-text-muted: #9a8880;
	--sos-text-subtle: #7a6a66;
	--sos-text-footer: #c5b8b0;
	--sos-text-dim: #5a4a46;
	--sos-text-grey: #666;

	/* Utilities */
	--sos-white: #fff;
	--sos-black: #000;
	--sos-light-grey: #EFEFEF;
	--sos-dark-grey: #787878;
}


/*--------------------------------------------------------------
# Reset / Normalize
--------------------------------------------------------------*/

html {
	line-height: 140%;
	-webkit-text-size-adjust: 100%;
	box-sizing: border-box;
}

*,
*::before,
*::after { box-sizing: inherit; }

body {
	margin: 0;
	background: var(--sos-warm-bg);
	max-width: 100vw;
	overflow-x: hidden;
}

main { display: block; }

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	background-color: #ccc;
	border: 0;
	margin-bottom: 1.5em;
}

pre {
	font-family: "Courier 10 Pitch", courier, monospace;
	font-size: 1em;
	background: #eee;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline dotted;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

b,
strong { font-weight: bolder; }

code,
kbd,
samp,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 1em;
}

small { font-size: 80%; }

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub { bottom: -0.25em; }
sup { top: -0.5em; }

img {
	border-style: none;
	height: auto;
	max-width: 100%;
}

figure { margin: 0; }

embed,
iframe,
object { max-width: 100%; }

details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }

mark,
ins {
	background-color: var(--sos-primary-red);
	color: var(--sos-white);
	text-decoration: none;
	padding-inline: 0.35em;
	box-decoration-break: clone;
}

big { font-size: 125%; }

blockquote {
	border-left: 20px solid var(--sos-primary-red);
	padding-left: 30px;
	font-size: 20px;
}

address { margin: 0 0 1.5em; }

dfn,
cite,
em,
i { font-style: italic; }

p { margin-bottom: 1.5em; }

table {
	margin: 0 0 1.5em;
	width: 100%;
}


/*--------------------------------------------------------------
# Base Typography
--------------------------------------------------------------*/

body,
p,
h4.wp-block-heading,
.very-bottom-strip,
::placeholder,
.site-footer .col,
select,
.wpcf7 label,
form label,
.jumpmenu-wrap select,
.wp-block-table th,
.wp-block-table td,

button,
input,
select,
optgroup,
textarea,
h4,
h5,
h6,
a.text-cta,
.wp-block-button__link,
a.mega-menu-link,
.mega-menu-link,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item a.mega-menu-link {
	font-family: var(--font-sans);
}

h1,
h2,
h3 { font-family: var(--font-serif); }

h4,
h5,
h6,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link,
.site-header .col.n2 a,
.main-navigation li a
{ font-family: var(--font-serif); }


body { color: var(--sos-text-grey); font-family: var(--font-sans); font-size: 17px; }
h2 a { text-decoration: none !important; }

h4,
h5,
h6 { color: var(--sos-deep-red); }

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	letter-spacing: 0;
}

h1,
h2,
h3 { letter-spacing: 0.01em; }

h1 {
	font-size: 60px;
	line-height: 120%;
	font-weight: 500;
	margin: 0 0 20px 0;
}

h2 {
	font-weight: 400;
	font-size: 40px;
	line-height: 120%;
	margin-block: 0;
}

h2.wp-block-heading.has-text-align-center.has-normal-font-size {
  font-size: 28px !important;
}



.is-style-boxed-width h5.wp-block-heading {
	font-size: 22px;
	color: var(--sos-primary-red);
}

.entry-content { font-size: 18.5px; }

.entry-content,
.entry-content .has-large-font-size { line-height: 150%; }

.entry-content .has-large-font-size { font-size: 20px !important; }

.entry-content h2 mark { background: var(--sos-deep-red); color: var(--sos-white); }



::placeholder {
	opacity: 0.54;
	font-size: 14px;
}

p.note { font-weight: 600; }

/* Heading block margin styles */
.entry-content .wp-block-heading.is-style-no-margin        { margin: 0; }
.entry-content .wp-block-heading.is-style-margin-s         { margin: 0.625rem 0; }
.entry-content .wp-block-heading.is-style-margin-m         { margin: 1.25rem 0; }
.entry-content .wp-block-heading.is-style-margin-l         { margin: 2.5rem 0; }
.entry-content .wp-block-heading.is-style-top-margin-s     { margin: 0.625rem 0 0; }
.entry-content .wp-block-heading.is-style-top-margin-m     { margin: 1.25rem 0 0; }
.entry-content .wp-block-heading.is-style-top-margin-l     { margin: 2.5rem 0 0; }
.entry-content .wp-block-heading.is-style-bott-margin-s    { margin: 0 0 0.625rem; }
.entry-content .wp-block-heading.is-style-bott-margin-m    { margin: 0 0 1.25rem; }
.entry-content .wp-block-heading.is-style-bott-margin-l    { margin: 0 0 2.5rem; }

/* Paragraph block styles */
.entry-content p { padding: 0; }
.entry-content p.is-style-no-margin   { margin: 0; }
.entry-content p.is-style-top-margin  { margin: 30px 0 0; }
.entry-content p.is-style-bott-margin { margin: 0 0 30px; }

/* Entry content max-width */
.entry-content { max-width: 1920px; }

@media (max-width: 1920px) {
	.entry-content { max-width: 1280px; }
}

@media (max-width: 1520px) {
	.entry-content,
	.entry-content .wp-block-columns.is-style-boxed-width { max-width: 1300px; }
}

@media (max-width: 1320px) {
	.entry-content,
	.entry-content .wp-block-columns.is-style-boxed-width {
		width: 100%;
		max-width: 1250px;
		padding: 0 40px;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}
}


/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/

a {
	color: var(--sos-primary-red);
	text-decoration: none;
}

a:hover,
a:focus,
a:active {
	color: var(--sos-primary-red);
	text-decoration: none;
	outline: 0;
}

a:hover { text-decoration: underline; }
a:focus { outline: none; }

a.wp-block-button__link:hover { text-decoration: none; }


/*--------------------------------------------------------------
# Lists
--------------------------------------------------------------*/

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul { list-style: disc; }
ol { list-style: decimal; }

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt { font-weight: 700; }
dd { margin: 0 1.5em 1.5em; }


/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input { overflow: visible; }

button,
select { text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] { -webkit-appearance: button; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus { color: #111; }

fieldset { padding: 0.35em 0.75em 0.625em; }
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress { vertical-align: baseline; }
textarea { overflow: auto; width: 100%; }

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

/* CF7 & WPForms inputs */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="file"],
.wpcf7 textarea,
.wpcf7 input[type="date"],
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container textarea,
.jumpmenu input[type="text"],
.jumpmenu input[type="email"],
.jumpmenu input[type="tel"],
.jumpmenu input[type="number"],
.jumpmenu textarea,
.wpforms-field-date-time-date-day,
.wpforms-field-date-time-date-month,
.wpforms-field-date-time-date-year,
.wpforms-container select {
	margin-top: 10px;
	margin-bottom: 20px;
	background: #fff;
	color: #53514E;
	border-radius: 50px;
	padding: 15px 30px;
	font-size: 15px;
	font-weight: bold;
	width: 100%;
	border: none;
	box-shadow: 0px 10px 10px -8px rgba(124, 124, 124, 0.5);
}

.wpcf7 input[type="submit"],
.wpcf7 input[type="button"],
.wpcf7 button[type="submit"],
.wpcf7 button.wpforms-page-button,
.wpforms-container input[type="submit"],
.wpforms-container input[type="button"],
.wpforms-container button[type="submit"],
.wpforms-container button.wpforms-page-button,
.jumpmenu input[type="submit"],
.jumpmenu input[type="button"],
.jumpmenu button[type="submit"],
.jumpmenu button.wpforms-page-button {
	font-family: 'EB Garamond', Georgia, serif !important;
	background-color: var(--sos-primary-red) !important;
	font-weight: bold !important;
	border-color: transparent;
	border-radius: 0 !important;
	text-transform: uppercase;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	padding: 10px 50px !important;
	margin-right: 20px;
	color: #fff !important;
	background-color: #6CCAC4;
	box-shadow: none !important;
	font-size: 15px;
}

div.wpforms-container-full input[type="submit"],
div.wpforms-container-full button[type="submit"],
div.wpforms-container-full .wpforms-page-button,
.wp-core-ui div.wpforms-container-full input[type="submit"],
.wp-core-ui div.wpforms-container-full button[type="submit"],
.wp-core-ui div.wpforms-container-full .wpforms-page-button { font-weight: bold; }

div.wpforms-container-full input[type="submit"]:not(:hover):not(:active),
div.wpforms-container-full button[type="submit"]:not(:hover):not(:active),
div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full input[type="submit"]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full button[type="submit"]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active) {
	display: block;
	background-color: var(--sos-primary-red);
	border-radius: 0;
	font-weight: bold;
	color: var(--sos-deep-red) !important;
	padding: 10px 30px;
}

div.wpforms-container-full input[type="submit"]:hover,
div.wpforms-container-full input[type="submit"]:active,
div.wpforms-container-full button[type="submit"]:hover,
div.wpforms-container-full button[type="submit"]:active,
div.wpforms-container-full .wpforms-page-button:hover,
div.wpforms-container-full .wpforms-page-button:active,
.wp-core-ui div.wpforms-container-full input[type="submit"]:hover,
.wp-core-ui div.wpforms-container-full input[type="submit"]:active,
.wp-core-ui div.wpforms-container-full button[type="submit"]:hover,
.wp-core-ui div.wpforms-container-full button[type="submit"]:active,
.wp-core-ui div.wpforms-container-full .wpforms-page-button:hover,
.wp-core-ui div.wpforms-container-full .wpforms-page-button:active { background: var(--sos-primary-red); }

/* WPForms all inputs */
div.wpforms-container-full input[type="date"],
div.wpforms-container-full input[type="datetime"],
div.wpforms-container-full input[type="datetime-local"],
div.wpforms-container-full input[type="email"],
div.wpforms-container-full input[type="month"],
div.wpforms-container-full input[type="number"],
div.wpforms-container-full input[type="password"],
div.wpforms-container-full input[type="range"],
div.wpforms-container-full input[type="search"],
div.wpforms-container-full input[type="tel"],
div.wpforms-container-full input[type="text"],
div.wpforms-container-full input[type="time"],
div.wpforms-container-full input[type="url"],
div.wpforms-container-full input[type="week"],
div.wpforms-container-full select,
div.wpforms-container-full textarea,
.wp-core-ui div.wpforms-container-full input[type="date"],
.wp-core-ui div.wpforms-container-full input[type="datetime"],
.wp-core-ui div.wpforms-container-full input[type="datetime-local"],
.wp-core-ui div.wpforms-container-full input[type="email"],
.wp-core-ui div.wpforms-container-full input[type="month"],
.wp-core-ui div.wpforms-container-full input[type="number"],
.wp-core-ui div.wpforms-container-full input[type="password"],
.wp-core-ui div.wpforms-container-full input[type="range"],
.wp-core-ui div.wpforms-container-full input[type="search"],
.wp-core-ui div.wpforms-container-full input[type="tel"],
.wp-core-ui div.wpforms-container-full input[type="text"],
.wp-core-ui div.wpforms-container-full input[type="time"],
.wp-core-ui div.wpforms-container-full input[type="url"],
.wp-core-ui div.wpforms-container-full input[type="week"],
.wp-core-ui div.wpforms-container-full select,
.wp-core-ui div.wpforms-container-full textarea {
	border: none;
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.1);
	font-weight: normal;
	background: var(--sos-white);
}

/* WPForms image choices */
div.wpforms-container-full .wpforms-form .wpforms-image-choices-modern .wpforms-image-choices-item label:focus,
div.wpforms-container-full .wpforms-form .wpforms-image-choices-modern .wpforms-image-choices-item label:focus-within,
div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-modern .wpforms-image-choices-item label,
div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-classic .wpforms-image-choices-item label,
div.wpforms-container-full .wpforms-form ul.wpforms-image-choices-none .wpforms-image-choices-item label,
div.wpforms-container-full .wpforms-form .wpforms-image-choices-modern .wpforms-image-choices-item.wpforms-selected label:hover,
div.wpforms-container-full .wpforms-form .wpforms-image-choices-modern .wpforms-image-choices-item:has(input:checked) label:hover {
	border: none !important;
	box-shadow: none !important;
}

div.wpforms-container-full .wpforms-form .wpforms-image-choices-modern .wpforms-image-choices-item.wpforms-selected .wpforms-image-choices-image::after,
div.wpforms-container-full .wpforms-form .wpforms-image-choices-modern .wpforms-image-choices-item:has(input:checked) .wpforms-image-choices-image::after { background-color: var(--sos-primary-red); }

.wpforms-page-indicator-page-progress[style] { background-color: var(--sos-primary-red) !important; }

div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap,
div.wpforms-container-full .wpforms-form .wpforms-field-number-slider input[type="range"] {
	background-color: var(--sos-cool-blue);
	border: 1px solid var(--sos-primary-red);
}

/* WPForms select custom arrow */
.wpforms-field-select-style-classic,
.wpforms-field-address .wpforms-field-row-block:has(select) { position: relative; }

.wpforms-field-select-style-classic select,
.wpforms-field-address select.wpforms-field-address-state {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 44px;
}

.wpforms-field-select-style-classic::after,
.wpforms-field-address .wpforms-field-row-block:has(select)::after {
	content: '';
	position: absolute;
	right: 1px;
	top: 49px;
	bottom: 1px;
	height: 42px;
	width: 42px;
	border: 1px solid var(--sos-primary-red);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2355aadd' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--sos-white);
	border-radius: 0 4px 4px 0;
	pointer-events: none;
}

.wpforms-field-address .wpforms-field-row-block:has(select)::after { top: 10px; }

.wpforms-container input.wpforms-field-medium,
.wpforms-container select.wpforms-field-medium,
.wpforms-container .wpforms-field-row.wpforms-field-medium,
.wp-core-ui div.wpforms-container input.wpforms-field-medium,
.wp-core-ui div.wpforms-container select.wpforms-field-medium,
.wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium { max-width: 100%; }

div.wpforms-container-full .wpforms-field.wpforms-field-checkbox ul li,
div.wpforms-container-full .wpforms-field.wpforms-field-radio ul li,
div.wpforms-container-full .wpforms-field.wpforms-field-payment-checkbox ul li,
div.wpforms-container-full .wpforms-field.wpforms-field-payment-multiple ul li,
div.wpforms-container-full .wpforms-field.wpforms-field-gdpr-checkbox ul li { padding-left: 0 !important; }

.wpforms-container .wpforms-image-choices-modern img { display: block; }

.wpforms-container .wpforms-image-choices-modern .wpforms-image-choices-image {
	border: 4px solid var(--sos-white);
	width: fit-content;
	margin: 0;
}

.wpforms-container .wpforms-image-choices-modern .wpforms-selected .wpforms-image-choices-image,
.wpforms-container .wpforms-image-choices-modern li:has(input:checked) .wpforms-image-choices-image img { border-color: var(--sos-primary-red); }

.wpforms-container .wpforms-image-choices-modern .wpforms-selected label,
.wpforms-container .wpforms-image-choices-modern li:has(input:checked) label { box-shadow: none; }

div.wpforms-container-full .wpforms-form .wpforms-pagebreak-center,
div.wpforms-container-full .wpforms-form .pagebreak-center {
	text-align: left !important;
	display: flex;
	width: 100%;
}

div.wpforms-container-full .wpforms-pagebreak-left {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

div.wpforms-container-full .wpforms-pagebreak-left .wpforms-page-button { flex-shrink: 0; }

div.wpforms-container-full:not(:empty) { margin: 0 auto; }

.wpforms-container .wpforms-field:last-child { padding-bottom: 0; }

select.wpforms-field-address-state { margin-top: 10px !important; }

/* Form labels */
.et-db #et-boc .et-l .et_pb_module .wpforms-container .wpforms-field-label,
.wpcf7 label,
form label {
	display: block;
	font-weight: 700;
	float: none;
	word-break: break-word;
	word-wrap: break-word;
	font-size: 17px;
}

.wpcf7-form .wpcf7-list-item {
	display: block;
	margin: 15px 0;
}

.wpcf7-form .wpcf7-list-item label { font-weight: 400; }
.wpcf7-form .col { width: 100%; }

.wpcf7-form-control.wpcf7-submit {
	clear: both;
	display: block;
	margin: 40px 0;
}

.wpcf7 input[type="file"] {
	border: 1px dashed #ccc;
	border-radius: 2px;
	background: #fcfcfc;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	cursor: pointer;
}

.form-row {
	display: flex;
	column-gap: 40px;
}

.list-2-col .wpcf7-checkbox {
	column-count: 2;
	display: inline-block;
}

.list-3-col .wpcf7-checkbox {
	column-count: 3;
	display: inline-block;
	margin: 0 0 15px 0;
}

.wpcf7-form .list-2-col .wpcf7-list-item,
.wpcf7-form .list-3-col .wpcf7-list-item { margin: 0 0 20px 0; }

.codedropz-upload-container { background-color: var(--sos-white); }

.entry-content .codedropz-upload-inner h3 {
	text-transform: none;
	color: var(--sos-primary-red) !important;
	font-weight: 500;
}

.codedropz-upload-inner h3::before {
	content: '';
	display: block;
	background-image: url('img/icon-file-upload.svg');
	width: 35px;
	height: 30px;
	background-size: 100% auto;
	opacity: 0.5;
	margin: auto;
}

.wpforms-container .wpforms-field-description {
	color: var(--sos-primary-red);
	font-size: 17px;
	line-height: 140%;
	font-weight: 700;
	top: -15px;
	padding: 0 25px;
	text-align: left;
}

/* Search form */
.search-form { display: flex; }
.search-form label { width: 100%; }

.search-form .search-field {
	padding: 15px 30px !important;
	border: 1px solid var(--sos-primary-red) !important;
	height: auto;
	min-height: 0;
	border-radius: 0;
	width: 100%;
}

.search-form .search-submit {
	font-weight: 700;
	border-radius: 0;
	text-transform: uppercase;
	font-size: 15px;
	color: #ffffff !important;
	background-color: var(--sos-primary-red) !important;
	border-color: var(--sos-primary-red) !important;
	padding: 10px 30px !important;
}

/* Jumpmenu */
.jumpmenu-wrap select {
	border: none;
	border-radius: 50px;
	padding: 15px 30px;
	appearance: none;
	background-color: var(--sos-white);
	background-image: url('img/down-arrow-grey.svg');
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 16px;
	color: var(--sos-primary-red);
	width: 50%;
	cursor: pointer;
	box-shadow: 0px 10px 10px -8px rgba(124, 124, 124, 0.5);
	font-weight: 600;
}


/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/

main.site-main,
.tabbed-carousel__panels{
	max-width: 1280px;
	margin: auto;
	width: 100%;
}

.full-content-wrap { margin-top: 120px; }

.full-width,
.wp-block-columns.is-style-full-width {
	width: 100vw;
	position: relative;
	left: calc(-50vw + 50%);
}

.wp-block-columns.is-style-full-width {
	max-width: 100vw !important;
	gap: 0;
}

.entry-content .wp-block-columns.is-style-full-width-no-padding { padding: 0 !important; }

.wp-block-columns.is-style-boxed-width {
	width: 100%;
	max-width: 1280px;
	margin: auto;
}

.wp-block-columns .wp-block-column .wp-block-group.has-background { height: 100%; }
.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained { position: relative; }

:where(.entry-content .wp-block-columns.is-layout-flex) { gap: 50px; }
:where(.wp-block-columns) { margin-bottom: 0; padding: 0; }

/* Quick quote block */
.get-a-quick-quote-block { position: relative; }

.get-a-quick-quote-block .wp-block-cover__background {
	background-color: rgba(7, 7, 78, 0.75) !important;
	opacity: 1 !important;
	inset: 8px;
	border-radius: 5px;
}

.get-a-quick-quote-block .wp-block-cover__inner-container { padding: 40px 50px; }

.get-a-quick-quote-block .wp-block-cover {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}
section.error-404.not-found {
	padding: 40px;
}
/* Block style variants */
.is-style-rounded-padded {
	border-radius: 8px;
	padding: 50px;
}

.is-style-padded { padding: 50px; }

.is-style-rounded {
	border-radius: 8px;
	overflow: hidden;
}

:root :where(.wp-block-image.is-style-rounded img, .wp-block-image .is-style-rounded img) { border-radius: 8px !important; }

.is-style-rounded-padded.has-sos-white-background-color.has-background { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06); }



.page .entry-content > .is-style-rounded-padded {
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}


/*--------------------------------------------------------------
# Header & Navigation
--------------------------------------------------------------*/

.mobile-nav-wrapper,
.mobile-content,
.wp-block-buttons.mobile-content,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mobile-content,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator,
.entry-meta .byline,
.post-navigation.navigation .nav-links { display: none; }

.grecaptcha-badge { display: none !important; }

.very-top-strip {
	background-color: var(--sos-deep-red);
	display: block;
	clear: both;
	z-index: 9999;
	position: relative;
	padding: 15px;
	text-align: center;
}

.very-top-strip,
.very-top-strip a { color: var(--sos-white); }

.very-top-strip .container p { margin: 0; }

#masthead {
	position: fixed;
	width: 100%;
	display: block;
	background-color: var(--sos-warm-bg);
	z-index: 9999;
	border-bottom: 1px solid var(--sos-cream);
	box-shadow: 0 2px 12px 0 rgba(26, 15, 15, 0.08);
	padding: 20px 30px;
	top: 0 !important;
	transition: top 0.5s ease, background 0.3s ease, box-shadow 0.3s ease;
	transition: height 0.5s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.scrolled #masthead { top: 0px !important;
	height: 80px;
	padding: 15px 30px;
 }

.admin-bar #masthead ,
.admin-bar.scrolled header#masthead { top: 32px !important; }

#masthead.site-header .container,
.site-footer .container,
.very-bottom-strip .container {
	display: flex;
	align-items: stretch;
	max-width: 100%;
	column-gap: 20px;
}
#masthead.site-header .container { padding: 0; 
	align-items: center
}

footer.site-footer { margin-top: 50px; }
.single footer.site-footer,
footer.site-footer.no-margin { margin-top: 0; }

.site-header .col.n1 { width: 10%; }
.site-header .col.n2 { width: 90%; line-height: 25px; }

/* Header login button — fixed to viewport top-right, outside layout flow */
.header-login-bar {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 99998;
	opacity: 1;
	display: flex;
	align-items: center;
	gap: 1px;
	transition: opacity 0.2s ease;
}

.admin-bar .header-login-bar {
	top: 32px;
}

.scrolled .header-login-bar {
	opacity: 0;
	pointer-events: none;
}

.header-login-btn {
	display: inline-flex;
	align-items: center;
	background: var(--sos-primary-red);
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.45);
	font-family: var(--font-condensed);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none !important;
	padding: 2px 16px;
	transition: background 0.2s;
}

.header-login-btn:hover {
	background: var(--sos-deep-red);
	color: #fff !important;
	text-decoration: none !important;
}

.header-logout-btn {
	background: var(--sos-black);
}

.header-logout-btn:hover {
	background: #333333;
}

.site-header .col.n3 a.search-icon {
	color: var(--sos-primary-red);
	display: inline-block;
	margin-left: 30px;
}

.col.n2.pet-house-fractional-marketing-wrap { text-align: right; }

.col.n2.pet-house-fractional-marketing-wrap img {
	float: right;
	margin: -5px 40px 0 40px;
	width: 50px;
	height: auto;
}

/* Site logo */
.site-title a {
	text-indent: -9000px;
	display: block;
	background-image: url('img/sosj-logo.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100%;
	height: 80px;
	position: relative;
	transition: height ease 0.2s
}
 .scrolled .site-title a{height: 50px}
footer .site-title a,
 .scrolled  footer .site-title a{height: 150px;}
/* Main navigation */
.main-navigation {
	display: flex;
	align-items: center;
}

.main-navigation ul {
	display: flex;
	list-style: none;
	text-align: center;
	margin: 0 auto;
	padding-left: 0;
	width: calc(100% - 40px);
	flex-wrap: wrap;
}

.main-navigation ul li {
	flex: 1 1 auto;
	font-size: 17px;
}

.main-navigation li {
	position: relative;
	padding: 0;
	line-height: 170%;
}

.main-navigation li a {
	color: var(--sos-text-dark);
	display: block;
	position: relative;
	letter-spacing:0;
	padding: 0;
	font-weight: 500;
	text-decoration: none;
	text-transform: uppercase
}

.main-navigation li a:hover { color: var(--sos-primary-red); }

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	position: absolute;
	top: 60%;
	left: -999em;
	z-index: 99999;
	flex-direction: column;
	width: fit-content;
}

.main-navigation ul ul ul { top: -20%; }
.main-navigation ul ul ul ul { min-width: 380px; }

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul { left: auto; }

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: 200px;
	right: auto;
}

.main-navigation ul ul ul li:hover > ul,
.main-navigation ul ul ul li.focus > ul {
	left: auto;
	right: 100%;
}

.main-navigation ul ul a {
	width: 200px;
	font-size: 14px;
	white-space: nowrap;
}

.main-navigation ul ul ul a {
	width: 100%;
	font-size: 14px;
}

.main-navigation li .sub-menu li { padding: 0; }

.main-navigation li .sub-menu li a {
	padding: 10px;
	background-color: var(--sos-primary-red);
}

.main-navigation li .sub-menu li a:hover {
	background-color: var(--sos-primary-red);
	color: var(--sos-primary-red);
}

.main-navigation li .sub-menu li .sub-menu a {
	padding: 5px;
	font-size: 13px;
}

.main-navigation .sub-menu li:hover a {
	background-color: var(--sos-primary-red);
	color: var(--sos-white);
}

.main-navigation li:hover li a { color: var(--sos-white); }

/* Phone link */
.site-header .main-navigation .link-phone a {
	color: var(--sos-deep-red);
	display: block;
	font-weight: bold;
	background-color: var(--sos-primary-red);
	text-align: center;
	margin: 0 0 0 20px;
	font-size: 14px;
	padding: 8.5px 20px;
	white-space: nowrap;
}

/* Submenu chevron indicator */
.main-navigation li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 6px;
	vertical-align: middle;
	background-color: var(--sos-dark-grey);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ii8+PC9zdmc+Cg==');
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.main-navigation ul.sub-menu li.menu-item-has-children > a::after {
	background-color: var(--sos-white);
	transform: rotate(270deg);
}

.main-navigation li.menu-item-has-children:hover > a::after,
.main-navigation li.menu-item-has-children.focus > a::after {
	background-color: var(--sos-primary-red);
	transform: rotate(180deg);
}

/* Two-line primary nav items */
.main-navigation ul > li {
	display: flex;
	align-items: center;
	justify-content: center;
}
.main-navigation ul > li > a {
	white-space: normal;
	line-height: 1.25;
	text-align: left;
	max-width: 110px;
}
.main-navigation ul #menu-item-151 a {
  max-width: 90px;
}
.main-navigation ul > li:first-child > a,
.main-navigation ul > li:last-child > a {
	max-width: none;
	white-space: nowrap;
}

/* Mobile toggle */
.menu-toggle,
.main-navigation.toggled ul { display: block; }

/* Icon lists (hours / contact) */
.entry-content ul.hours-list,
.entry-content ul.phone-street-address-wrap {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
	position: relative;
}

.entry-content ul.hours-list li,
.entry-content ul.phone-street-address-wrap li {
	position: relative;
	padding-left: 52px !important;
	padding-bottom: 0;
	min-height: 38px;
	display: flex;
	align-items: center;
}

.entry-content ul.phone-street-address-wrap li { margin-bottom: 16px; }

.hours-list::before,
.entry-content ul.phone-street-address-wrap li::before {
	content: "";
	position: absolute;
	left: 0;
	width: 38px;
	height: 38px;
	background-color: var(--sos-primary-red);
	border-radius: 50%;
	mask-image: none;
	z-index: 0;
}

.hours-list::before { top: 0; }

.entry-content ul.phone-street-address-wrap li::before {
	top: 50%;
	transform: translateY(-50%);
}

.hours-list::after,
.phone-street-address-wrap li::after {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	background-color: var(--sos-deep-red);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
}

.hours-list::after {
	top: 8px;
	left: 8px;
	mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 199 199' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(8.333333%2C0%2C0%2C8.333333%2C169.6%2C169.6)'%3E%3Cpath d='M0%2C-16.86C2.252%2C-14.608 3.492%2C-11.614 3.492%2C-8.43C3.492%2C-5.245 2.252%2C-2.251 0%2C0C-2.252%2C2.252 -5.246%2C3.492 -8.43%2C3.492C-11.615%2C3.492 -14.609%2C2.252 -16.86%2C0C-19.112%2C-2.251 -20.352%2C-5.245 -20.352%2C-8.43C-20.352%2C-11.614 -19.112%2C-14.608 -16.86%2C-16.86C-14.609%2C-19.112 -11.615%2C-20.352 -8.43%2C-20.352C-5.246%2C-20.352 -2.252%2C-19.112 0%2C-16.86ZM-8.428%2C-1.893C-7.7%2C-1.893 -7.108%2C-2.486 -7.108%2C-3.215L-7.108%2C-8.828C-7.108%2C-8.924 -7.146%2C-9.016 -7.216%2C-9.083L-11.19%2C-13.06C-11.688%2C-13.56 -12.562%2C-13.56 -13.06%2C-13.06C-13.576%2C-12.544 -13.576%2C-11.706 -13.06%2C-11.19L-9.753%2C-7.883L-9.753%2C-3.215C-9.753%2C-2.486 -9.156%2C-1.893 -8.428%2C-1.893Z'/%3E%3C/g%3E%3C/svg%3E");
}

.phone-street-address-wrap li::after {
	top: 50%;
	left: 7px;
	transform: translateY(-50%);
}

.phone-street-address-wrap li.phone-number::after {
	mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 178 178' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(8.333333%2C0%2C0%2C8.333333%2C148.78119%2C65.50625)'%3E%3Cpath d='M0%2C5.505C-0.855%2C4.65 -2.248%2C4.65 -3.103%2C5.505L-4.99%2C7.396L-11.87%2C0.516L-9.979%2C-1.37C-9.124%2C-2.226 -9.124%2C-3.618 -9.979%2C-4.474L-12.9%2C-7.395C-13.521%2C-8.016 -14.529%2C-8.016 -15.15%2C-7.395L-17.139%2C-5.406C-17.748%2C-4.797 -17.994%2C-3.915 -17.775%2C-3.076C-17.243%2C-1.047 -15.736%2C2.906 -11.558%2C7.084C-7.38%2C11.262 -3.427%2C12.769 -1.399%2C13.301C-0.559%2C13.521 0.323%2C13.274 0.932%2C12.665L2.921%2C10.676C3.542%2C10.054 3.542%2C9.047 2.921%2C8.426L0%2C5.505Z' style='fill-rule:nonzero;'/%3E%3C/g%3E%3C/svg%3E");
}

.phone-street-address-wrap li.street-address::after {
	mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 143 186' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(8.333333%2C0%2C0%2C8.333333%2C35.633333%2C114.625)'%3E%3Cpath d='M0%2C-5.202C0%2C-7.56 1.919%2C-9.478 4.276%2C-9.478C6.634%2C-9.478 8.553%2C-7.56 8.553%2C-5.202C8.553%2C-2.844 6.634%2C-0.926 4.276%2C-0.926C1.919%2C-0.926 0%2C-2.844 0%2C-5.202M3.708%2C8.267C4.03%2C8.553 4.523%2C8.552 4.844%2C8.267C5.171%2C7.977 12.829%2C1.097 12.829%2C-5.202C12.829%2C-9.918 8.992%2C-13.755 4.276%2C-13.755C-0.439%2C-13.755 -4.276%2C-9.918 -4.276%2C-5.202C-4.276%2C1.097 3.382%2C7.977 3.708%2C8.267' style='fill-rule:nonzero;'/%3E%3C/g%3E%3C/svg%3E");
}

ul.is-style-no-list-style.phone-street-address-wrap li::before,
ul.is-style-no-list-style.phone-street-address-wrap li::after { display: block !important; }

/* Notification bar */
.notification-bar-wrap-outer {
	top: 0;
	position: relative;
	z-index: 9;
	height: 42px;
	line-height: 42px;
}

.notification-bar-wrap-outer a .notification-bar-wrap {
	color: var(--sos-black);
	font-weight: 700;
}

.notification-content {
	width: 100%;
	position: relative;
}

.notification-content-inner {
	padding: 0 35px;
	font-weight: 500;
}

.notification-content .info-wrap {
	position: absolute;
	left: 0;
	top: 0;
}

.notification-content .info-wrap .fa-circle-info,
.notification-content .fa-solid.fa-arrow-right {
	font-size: 22px;
	line-height: 42px;
}

.notification-content .right-arrow-wrap {
	position: absolute;
	top: 0;
	right: 0;
}

.notification-content .fa-solid.fa-arrow-right { color: var(--sos-white); }

/* Category navigation */
.category-navigation {
	text-align: center;
	margin: 20px 0;
}

.category-navigation ul,
.category-navigation ul li {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	text-align: center;
	width: fit-content;
	display: inline-block;
}

.category-navigation ul li {
	margin: 0 15px;
	font-size: 18px;
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.wp-block-column.hours-address-wrap { margin-left: -40px; }
.entry-content .hours-address-wrap ul li { line-height: 130%; }

/* ── Site footer shell ───────────────────────────────────────────────────── */
.site-footer {
	background-color: var(--sos-dark-bg);
	position: relative;
	overflow: hidden;
	padding: 3rem 0 0;
}
.site-footer::before { display: none; }

/* Watermark cross */
.footer-watermark {
	position: absolute;
	top: -20px;
	left: -30px;
	width: 280px;
	height: 280px;
	opacity: 0.045;
	pointer-events: none;
}

/* ── Inner 3-column grid ─────────────────────────────────────────────────── */
.footer-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 2rem;
	display: grid;
	grid-template-columns: 1.8fr 0.5fr 0.8fr;
	gap: 2.5rem;
	position: relative;
}

/* ── Brand column ────────────────────────────────────────────────────────── */
.footer-logo-wrap {
	display: inline-flex;
	align-items: center;
	background: var(--sos-primary-red);
	border-radius: 6px;
	padding: 10px 16px;
	margin-bottom: 0.85rem;
}

.footer-logo-wrap img {
	height: 52px;
	width: auto;
	display: block;
}

.footer-org-name {
	font-family: var(--font-serif);
	font-size: 20px;
	font-style: italic;
	color: var(--sos-text-footer);
	line-height: 1.55;
	margin: 0 0 1.2rem;
}

.footer-tagline {
	font-family: var(--font-serif);
	font-size: 17px;
	color: var(--sos-text-footer);
	line-height: 1.75;
	margin-bottom: 1.4rem;
}

.footer-motto {
	font-family: var(--font-serif);
	font-size: 17px;
	font-style: italic;
	color: var(--sos-text-footer);
	border-left: 2px solid var(--sos-primary-red);
	padding-left: 10px;
	line-height: 1.7;
	margin: 0;
}

/* ── Content columns (nav + contact) ─────────────────────────────────────── */
.footer-col {
	font-size: 17px;
	line-height: 1.66;
}

h4,
h3 {
	font-family: var(--font-sans);
	font-size: 12px;
	letter-spacing: 0.14em;

	color: var(--sos-red-muted);
	font-weight: 500;
	margin: 0 0 1.15rem;
}

h4{	text-transform: uppercase;}
h4::before{
	content: '✦ ';
	font-size: 8px;
}


.footer-col p { margin-top: 0; color: var(--sos-text-footer); }
.footer-col li { margin-bottom: 5px; }

.footer-col a,
.footer-col ul li a {
	font-family: var(--font-serif);
	font-size: 17px;
	color: var(--sos-text-footer);
	font-weight: normal;
	text-decoration: none;
	transition: color 0.15s;
}

.footer-col a:hover,
.footer-col ul li a:hover { color: var(--sos-text-footer); }

/* Nav list inside footer col */
.footer-col nav,
.footer-col .footer-nav,
.footer-col ul {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-col nav li,
.footer-col .footer-nav li,
.footer-col ul li { margin: 0; padding: 0; }

/* Contact column items (output via ACF) */
.footer-col-contact .footer-contact-list { display: flex; flex-direction: column; gap: 0.7rem; }
.footer-col-contact .footer-contact-item { display: flex; align-items: flex-start; gap: 8px; }
.footer-col-contact .footer-contact-item svg { flex-shrink: 0; margin-top: 8px; color: var(--sos-red-muted); }
.footer-col-contact .footer-contact-item span {
	font-family: var(--font-serif);
	font-size: 17px;
	color: var(--sos-text-footer);
	line-height: 1.6;
}
.footer-col-contact .footer-contact-item a { color: var(--sos-red-pale); }

/* ── Bottom bar ──────────────────────────────────────────────────────────── */
.footer-bottom-bar {
	margin-top: 2.5rem;
	border-top: 0.5px solid var(--sos-dark-mid);
}

.footer-bottom-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 1.1rem 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.footer-bottom-inner span,
.footer-bottom-inner p {
	font-size: 14px;
	color: var(--sos-text-subtle);
	margin: 0;
}

.footer-bottom-inner nav,
.footer-bottom-inner .menu-very-bottom-footer-menu-container {
	display: flex;
	gap: 1.5rem;
}

.footer-bottom-inner nav a,
.footer-bottom-inner .menu-very-bottom-footer-menu-container a {
	font-size: 14px;
	color: var(--sos-text-subtle);
	text-decoration: none;
	transition: color 0.15s;
}

.footer-bottom-inner nav a:hover,
.footer-bottom-inner .menu-very-bottom-footer-menu-container a:hover {
	color: var(--sos-text-footer);
	text-decoration: none;
}

/* WP nav menu list reset inside bottom bar */
.footer-bottom-inner ul {
	display: flex;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-bottom-inner li { margin: 0; padding: 0; }

/* Legacy .very-bottom-strip — kept for back-compat but hidden by new structure */
.very-bottom-strip { display: none; }

.footer-map {
	width: 250px;
	height: 100px;
	margin-top: 20px;
}


/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/

.entry-content .wp-block-button.is-style-outline--1 .wp-block-button__link,
.entry-content .wp-block-button.is-style-outline--2 .wp-block-button__link,
.wp-block-button__link {
	font-size: 18px;
	line-height: 100%;
	color: var(--sos-white);
	background-color: var(--sos-deep-red);
	font-weight: 600;
	text-transform: uppercase;
	padding: 12px 25px !important;
	transition: transform 0.2s ease;
	border-radius: 0 !important;
}
.cta, .cta-link {
	display: block;
	align-self: flex-start;
	margin-top: 15px;
	border: 2px solid var(--sos-white);
	background-color: var(--sos-primary-red);
	color: var(--sos-white);
	font-weight: 700;
	padding: 12px 25px !important;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
	border-radius: 50px
}
.cta-link{margin: auto}

.cta:hover,
.cta:focus-visible,
 .cta-link:hover {
	border-color: var(--sos-primary-red);
	color: var(--sos-white);
	background-color: var(--sos-deep-red);
	outline: none;
	text-decoration: none;
}

.entry-content .wp-block-button.is-style-outline--1 .wp-block-button__link.has-sos-primary-red { color: var(--sos-primary-red); }
.entry-content .wp-block-button.is-style-outline--1 .wp-block-button__link.has-sos-primary-red { color: var(--sos-primary-red); }

.wp-block-column .wp-block-buttons .wp-block-button__link { margin-top: 10px; }

.wp-block-button.is-style-outline .has-sos-deep-red.wp-block-button__link { border: solid 2px var(--sos-primary-red); }

.wp-block-button__link:hover {
	color: var(--sos-deep-red);
	transform: scale(1.02);
	text-decoration: none;
}

.wp-block-button__link.has-primary-blue-color:hover { color: var(--primary-blue); }




/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/

@keyframes hero-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.hero-banner--fade-in {
	animation: hero-fade-in 1.5s ease-out forwards;
}
.hero-banner {
	position: relative;
	background-color: var(--sos-deep-red);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 200px;
	overflow: hidden;
	margin-bottom: 2rem;
}

.hero-banner h1 {
	font-family: var(--font-serif);
	font-size: clamp(2.25rem, 3.5vw, 5rem);
	font-weight: 500;
	letter-spacing: 0.01em;
	text-transform: none;
	margin: 0;
	color: var(--sos-white);
}

.hero-banner p,
.hero-banner .hero-tagline {
	font-family: var(--font-serif-alt);
}

.hero-banner--no-margin {
	margin-bottom: 0;
}

/* Matches main.site-main */
.hero-banner__inner {
	min-height: 200px;
	display: flex;
	align-items: center;
}

.hero-banner__content {
	width: 75%;
	padding: 2.5rem 0;
}
h4.hero-banner__subtitle {color: var(--sos-white);
	margin: 0
}
.hero-banner__content p {
  color: var(--sos-white);
  margin: 0;
  font-size: 18px;
}

/* Hero image — abs positioned to right edge of banner */
.hero-banner__media {
	position: absolute;
	top: 0;
	right: 0;
	width: 25%;
	height: 100%;
	display: flex;
	align-items: center;
}

.hero-banner__image {
	position: absolute;
	inset: 0;
}

.hero-banner__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	mask-image: linear-gradient(to right, transparent 0%, black 35%);
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 35%);
}

.hero-banner__cross {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	z-index: 2;
	display: flex;
	align-items: center;
}

.hero-banner__cross svg {
	height: 100%;
	width: auto;
	opacity: 1;
}


/*--------------------------------------------------------------
# Posts & Pages
--------------------------------------------------------------*/

main.site-main { position: relative; }

.page-content,
.entry-content,
.entry-summary { margin: 0 auto; }

.post,
.page { margin: 0; }

.sticky { display: block; }
.updated:not(.published) { display: none; }




.single .entry-content h2.wp-block-heading {
	color: var(--sos-primary-red);
	font-size: 30px;
	margin-bottom: 10px;
}

.single .posted-on {
	display: block;
	text-align: center;
}

.single .recent-posts-wrap .posted-on { text-align: left; }

.single .hero-category {
	color: var(--sos-primary-red);
	font-weight: bold;
	font-size: 26px;
	margin: 0;
}

.single .nav-wrap {
	background-color: var(--sos-cool-blue);
	padding: 30px 0;
}

.nav-wrap .entry-content {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.single .nav-wrap a {
	color: var(--sos-primary-red);
	font-size: 18px;
}

.single .nav-wrap a:hover { text-decoration: none; }

.entry-footer {
	display: block;
	line-height: 200%;
}

.entry-footer .tags-links a {
	display: inline-block;
	background-color: var(--sos-slate);
	border-radius: 30px;
	padding: 3px 10px;
	margin: 5px 5px 5px 0;
}

.entry-footer mark {
	display: block;
	font-weight: 500;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

.nav-links { margin: 60px 0; }

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation { margin: 0 0 1.5em; }

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links { display: flex; }

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous { flex: 1 0 50%; }

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Post grid */
.wp-block-query .wp-block-post-template-is-layout-grid li,
.entry-content ul.work-portfolio-gallery__grid li.work-portfolio-gallery__item,
.work-portfolio-lightbox__img {
	border-radius: 15px;
	overflow: hidden;
	background: var(--sos-white);
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.2);
	padding-bottom: 0;
}

.wp-block-query .wp-block-post .wp-block-group { padding: 0 30px 30px 30px; }

.post-grid.search-results { margin-top: 60px; }

.post-grid article,
.recent-posts-grid article,
.wp-block-query .wp-block-post-template-is-layout-grid li { flex: 0 0 calc(50% - 20px); }

.post-grid,
.recent-posts-grid,
.wp-block-query .wp-block-post-template-is-layout-grid,
.wp-block-query .wp-block-post-template-is-layout-grid li,
.entry-content ul.work-portfolio-gallery__grid li.work-portfolio-gallery__item { padding-left: 0 !important; }

.entry-content ul.work-portfolio-gallery__grid li.work-portfolio-gallery__item::before,
.wp-block-query .wp-block-post-template-is-layout-grid li::before { display: none; }

.post-grid h2,
.recent-posts-grid h2,
.wp-block-query .wp-block-post-template-is-layout-grid h2 {
	font-size: 20px;
	margin: 25px 0 0 0;
}

.wp-block-query .wp-block-post-template-is-layout-grid { gap: 80px; }

.page-numbers { font-size: 18px; }

.wp-block-query-pagination {
	margin: 50px 0;
	display: block;
}

.page-numbers.current {
	color: var(--sos-primary-red) !important;
	font-weight: bold !important;
}

.wp-block-query a.wp-block-post-excerpt__more-link {
	font-size: 16px;
	color: var(--sos-primary-red);
	margin-top: 10px;
	font-weight: bold;
}

.post-grid .featured-image.no-image,
.recent-posts-grid .featured-image.no-image {
	background-image: url('img/bluebird-logo-single-color-white.png');
	background-size: 50%;
	background-color: var(--sos-slate);
}

.post-grid .cta,
.recent-posts-grid .cta {
	color: var(--primary-blue);
	font-size: 18px;
	font-weight: 600;
}

.post-grid .entry-summary,
.recent-posts-grid .entry-summary { margin: 10px 0; }

.recent-posts-wrap h2.section-title {
	text-align: center;
	margin: 40px 0;
	font-size: 35px;
}

.recent-posts-wrap h2.wp-block-heading,
.related-posts-wrap h2.wp-block-heading {
	text-align: center;
	margin: 60px auto 30px auto;
}



.post-type-archive-resource .hero-banner h2 {
	font-size: 30px;
	font-weight: 700;
	margin-top: 30px;
}


/*--------------------------------------------------------------
# Widgets & Media
--------------------------------------------------------------*/

.widget { margin: 0 0 1.5em; }
.widget select { max-width: 100%; }
.custom-logo-link { display: inline-block; }

.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text,
.wp-caption-text {
	margin: 0.8075em 0;
	text-align: center;
}

.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }

.gallery-caption { display: block; }

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
.ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-next, .ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-prev{background-color: var(--sos-deep-red) !important;
	width: 56px !important;
	  height: 56px !important;
	  border-radius: 50% !important
}
.ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-next::before, .ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-prev::before{
	width: 15px !important;
	height: 15px !important
}
.ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-next, .ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-prev{outline-color: var(--sos-deep-red) !important}

.entry-content .ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-next:hover, 
.entry-content .ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-next:focus, 
.entry-content .ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-prev:hover, 
.entry-content .ti-widget[data-layout-id="36"][data-set-id="light-background"] .ti-controls .ti-prev:focus{background-color: var(--sos-primary-red) !important;
	outline-color: var(--sos-primary-red) !important
}



.social-icons,
.credit-card-icons {
	display: flex;
	justify-content: center;
	gap: 30px;
	list-style: none;
	margin: 20px auto 30px;
	padding: 0;
	text-align: center;
	flex-wrap: wrap;
	width: 50%;
}

.social-icon,
.credit-card-icon {
	display: flex;
	align-items: center;
	width: calc(50% - 30px);
	min-width: 40px;
}

.social-icon a,
.credit-card-icon a {
	display: flex;
	align-items: center;
	color: var(--sos-white);
	transition: color 0.2s ease;
	margin: auto;
}

.social-icon a:hover,
.social-icon a:focus-visible,
.credit-card-icon a:hover,
.credit-card-icon a:focus-visible { color: var(--sos-primary-red); }

.social-icon svg,
.credit-card-icon svg {
	height: 46px;
	max-height: 46px;
	width: auto;
	fill: var(--sos-white);
	margin: auto;
}

.comment-content a { word-wrap: break-word; }
.bypostauthor { display: block; }


/*--------------------------------------------------------------
# Blocks & Gutenberg
--------------------------------------------------------------*/

/* ── Ornamental Intro (core/group block style) ───────────────────────────── */

/*
  SVGs as background-image on ::before / ::after.
  Top rule:    60px line — 7px rotated-square diamond — 60px line  (#c9a0a0 / #C1282D)
  Bottom rule: 42px line — ✦ sparkle — 42px line  (#e0d5cc / #c9a0a0)
*/

.wp-block-group.is-style-orn-intro {
	text-align: center;
	padding: 3.5rem 2rem 2.5rem;
	background: var(--sos-warm-bg);
}

/* Top ornamental rule */
.wp-block-group.is-style-orn-intro::before {
	content: '';
	display: block;
	width: 134px;
	height: 8px;
	margin: 0 auto 1.25rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='134' height='8' viewBox='0 0 134 8'%3E%3Cline x1='0' y1='4' x2='60' y2='4' stroke='%23c9a0a0' stroke-width='1'/%3E%3Crect x='63.5' y='.5' width='7' height='7' fill='%23C1282D' transform='rotate(45 67 4)'/%3E%3Cline x1='74' y1='4' x2='134' y2='4' stroke='%23c9a0a0' stroke-width='1'/%3E%3C/svg%3E") no-repeat center;
}

/* Heading */
.wp-block-group.is-style-orn-intro h2.wp-block-heading {
	font-size: clamp(1.75rem, 2.5vw, 2rem);
	font-weight: 500;
	color: var(--sos-text-base);
	letter-spacing: 0.01em;
	margin-bottom: 0.5rem;
}

/* Motto / subtitle paragraph */
.wp-block-group.is-style-orn-intro p {
	font-family: var(--font-serif);
	font-size: 17px;
	font-style: italic;
	color: var(--sos-text-footer);
	margin-bottom: 0;
}

/* Bottom ornamental rule */
.wp-block-group.is-style-orn-intro::after {
	content: '';
	display: block;
	width: 100px;
	height: 14px;
	margin: 1.25rem auto 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='14' viewBox='0 0 100 14'%3E%3Cline x1='0' y1='7' x2='42' y2='7' stroke='%23e0d5cc' stroke-width='1'/%3E%3Ctext x='50' y='11' text-anchor='middle' font-size='10' fill='%23c9a0a0'%3E%E2%9C%A6%3C%2Ftext%3E%3Cline x1='58' y1='7' x2='100' y2='7' stroke='%23e0d5cc' stroke-width='1'/%3E%3C/svg%3E") no-repeat center;
}

/* Ornamental Separator */
.wp-block-separator.is-style-orn-divider {
	border: none;
	height: 8px;
	width: 134px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='134' height='8' viewBox='0 0 134 8'%3E%3Cline x1='0' y1='4' x2='60' y2='4' stroke='%23c9a0a0' stroke-width='1'/%3E%3Crect x='63.5' y='.5' width='7' height='7' fill='%23C1282D' transform='rotate(45 67 4)'/%3E%3Cline x1='74' y1='4' x2='134' y2='4' stroke='%23c9a0a0' stroke-width='1'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}

/* List / Cross Icons block style */
.wp-block-list.is-style-cross-icons {
	list-style: none !important;
	padding-left: 0 !important;
}

.wp-block-list.is-style-cross-icons > li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.65rem 0.25rem;
	border-bottom: 1px solid color-mix(in srgb, currentColor 22%, transparent);
	border-radius: 2px;
	transition: transform 0.25s ease;
}

.wp-block-list.is-style-cross-icons > li:last-child {
	border-bottom: none;
}

.wp-block-list.is-style-cross-icons > li:hover {
	transform: scale(1.02);
}

.wp-block-list.is-style-cross-icons > li::before {
	content: '';
	display: block;
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin-top: 3px;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' clip-rule='evenodd' fill-rule='evenodd' viewBox='0 0 6055 6072'%3E%3Cg fill='black'%3E%3Cpath d='m0 717.113 152.145-157.774 152.145 157.774-152.145-358.556 152.145-358.557-152.145 157.774-152.145-157.774 152.145 358.557z' transform='matrix(8.333333 0 0 8.333333 1759.444581 47.807914)'/%3E%3Cpath d='m0 305.154-157.327-152.577 157.327-152.577-357.541 152.577-357.541-152.577 157.327 152.577-157.327 152.577 357.541-152.577z' transform='matrix(8.333333 0 0 8.333333 6006.824581 1764.303748)'/%3E%3C/g%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' clip-rule='evenodd' fill-rule='evenodd' viewBox='0 0 6055 6072'%3E%3Cg fill='black'%3E%3Cpath d='m0 717.113 152.145-157.774 152.145 157.774-152.145-358.556 152.145-358.557-152.145 157.774-152.145-157.774 152.145 358.557z' transform='matrix(8.333333 0 0 8.333333 1759.444581 47.807914)'/%3E%3Cpath d='m0 305.154-157.327-152.577 157.327-152.577-357.541 152.577-357.541-152.577 157.327 152.577-157.327 152.577 357.541-152.577z' transform='matrix(8.333333 0 0 8.333333 6006.824581 1764.303748)'/%3E%3C/g%3E%3C/svg%3E");
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;
}

/* Tables */
.wp-block-table thead { border-bottom: 1px solid var(--sos-med-grey); }
.wp-block-table th { background-color: var(--sos-primary-red); }

.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th { border-color: var(--sos-med-grey); }

.wp-block-table.is-style-stripes tbody tr:nth-child(2n+1) { background-color: var(--sos-slate); }
.wp-block-table.is-style-stripes { border-bottom: none; }
.is-style-no-borders.wp-block-table td { border: none; }

/* Entry content lists */
.entry-content ol,
.entry-content ul {
	padding-left: 0;
	margin: 0;
}

.entry-content ul {
	list-style: none;
	padding-left: 0 !important;
}

.entry-content ul.is-style-col-2 { columns: 2; }
.entry-content ul.is-style-col-3 { columns: 3; }

.entry-content ul li,
.entry-content ol li {
	position: relative;
	padding-left: 45px !important;
	padding-bottom: 10px;
	list-style: none;
	line-height: 200%;
}

.entry-content ul li::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 3px;
	width: 12px;
	height: 12px;
	display: inline-block;
	background-color: var(--sos-deep-red);
	mask-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 499 373' version='1.1' xmlns='http://www.w3.org/2000/svg' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(0.974609%2C0%2C0%2C0.974609%2C12.049826%2C-10.154698)'%3E%3Cpath d='M161.534%2C384.725L-4.866%2C218.325C-14.863%2C208.328 -14.863%2C192.119 -4.866%2C182.121L31.337%2C145.917C41.334%2C135.919 57.544%2C135.919 67.541%2C145.917L179.636%2C258.011L419.731%2C17.917C429.728%2C7.92 445.938%2C7.92 455.935%2C17.917L492.138%2C54.121C502.135%2C64.118 502.135%2C80.327 492.138%2C90.325L197.738%2C384.726C187.74%2C394.723 171.531%2C394.723 161.534%2C384.725Z' style='fill-rule:nonzero;'/%3E%3C/g%3E%3C/svg%3E");
	mask-repeat: no-repeat;
	mask-size: contain;
	z-index: 2;
}

.entry-content ul.is-style-round-checkmarks li::before { background-color: var(--sos-deep-red); }
.entry-content .has-sos-deep-red-background-color ul.is-style-round-checkmarks li::before { background-color: var(--sos-white); }

.entry-content ul.is-style-round-checkmarks li::after,
.entry-content .split-section-content ul li::after {
	content: "";
	position: absolute;
	top: 4px;
	left: -1px;
	width: 20px;
	height: 20px;
	background-color: var(--sos-primary-red);
	border-radius: 50%;
	z-index: 1;
}

ul.is-style-no-list-style li::before { display: none !important; }
ul.is-style-no-list-style li { padding-left: 0 !important; }

.entry-content ol li {
	counter-increment: custom-counter;
	list-style: none;
	padding-left: 0 !important;
}

.entry-content ol li::before {
	content: counter(custom-counter);
	color: var(--primary-blue);
	font-weight: 700;
	margin-right: 15px;
}

/* WPForms inside entry-content */
.entry-content .wpforms-field-container ul li::before,
.wpforms-field.wpforms-field-checkbox ul li::before { display: none; }
.entry-content .wpforms-field.wpforms-field-checkbox ul li { padding-left: 0 !important; }

/* Column blocks */
.wp-block-column.has-background {
	padding: 40px 0;
	margin: 0;
}

.entry-content .wp-block-columns:not(:has(~ .wp-block-columns)) { margin-bottom: 0; }

.wp-block-columns.is-style-full-width.has-background {
	position: relative;
	margin: 0;
}

.wp-block-columns.is-style-full-width.has-background::before {
	content: '';
	position: absolute;
	background-size: 100vw 50px;
	top: 0;
	height: 50px;
	z-index: 1;
	transform: scale(1, -1);
	left: 0;
	width: 100vw;
}

.wp-block-columns.is-style-full-width.has-background::after { content: ''; position: absolute; }

.gspbcsstooltip .wp-block-heading { margin: 0 !important; }


/*--------------------------------------------------------------
# Color Palette
--------------------------------------------------------------*/

/* Backgrounds */
.has-sos-deep-red-background-color,
.has-sos-deep-red-background-color.wp-block-button__link { background-color: var(--sos-deep-red); }


.has-sos-primary-red-background-color,
.has-sos-primary-red-background-color.wp-block-button__link { background-color: var(--sos-primary-red); }

.has-sos-deep-red-background-color,
.has-sos-deep-red-background-color.wp-block-button__link { background-color: var(--sos-deep-red); }


.has-sos-slate-background-color,
.has-sos-slate-background-color.wp-block-button__link { background-color: var(--sos-slate); }

.has-sos-black-background-color,
.has-sos-black-background-color.wp-block-button__link { background-color: var(--sos-black); }

.has-sos-white-background-color,
.has-sos-white-background-color.wp-block-button__link { background-color: var(--sos-white); }

.has-sos-dark-grey-background-color,
.has-sos-dark-grey-background-color.wp-block-button__link { background-color: var(--sos-dark-grey); }

/* Mark highlights */
.entry-content h2 mark,
mark.has-inline-color { color: var(--sos-white) !important; }

.entry-content h2 mark { background: var(--sos-primary-red); }

.entry-content h2.has-sos-deep-red mark.has-inline-color { color: var(--sos-deep-red) !important; }
.entry-content h2.has-sos-deep-red mark.has-sos-primary-red.has-inline-color { color: var(--sos-white) !important; }
.has-inline-color.has-sos-primary-red-color mark.has-inline-color { background-color: var(--sos-primary-red); }

mark.has-sos-primary-red      { background-color: var(--sos-primary-red) !important; }
mark.has-sos-deep-red          { background-color: var(--sos-deep-red) !important; }
mark.has-sos-slate-color         { background-color: var(--sos-slate) !important; }
mark.has-sos-black-color         { background-color: var(--sos-black) !important; }

mark.has-sos-white-color {
	background-color: var(--sos-white) !important;
	color: unset !important;
}

/* Text colours */
.has-sos-primary-red-color,
.has-sos-primary-red-color.wp-block-button__link { color: var(--sos-primary-red); }
.has-sos-primary-red-color.has-text-color        { color: var(--sos-primary-red) !important; }

.has-sos-deep-red,
.has-sos-deep-red.wp-block-button__link { color: var(--sos-deep-red); }
.has-sos-deep-red.has-text-color        { color: var(--sos-deep-red) !important; }


.has-sos-slate-color,
.has-sos-slate-color.wp-block-button__link { color: var(--sos-slate); }
.has-sos-slate-color.has-text-color        { color: var(--sos-slate) !important; }

.has-sos-black-color,
.has-sos-black-color.wp-block-button__link { color: var(--sos-black); }
.has-sos-black-color.has-text-color        { color: var(--sos-black) !important; }

.has-sos-white-color,
.has-sos-white-color.wp-block-button__link { color: var(--sos-white); }
.has-sos-white-color.has-text-color        { color: var(--sos-white) !important; }


/*--------------------------------------------------------------
# Utilities & Accessibility
--------------------------------------------------------------*/

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

#primary[tabindex="-1"]:focus { outline: 0; }

.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}


/*--------------------------------------------------------------
# Responsive — ≤ 1400px
--------------------------------------------------------------*/

@media only screen and (max-width: 1400px) {

}


/*--------------------------------------------------------------
# Responsive — ≤ 1229px
--------------------------------------------------------------*/

@media only screen and (max-width: 1229px) {
.main-navigation ul li {
	font-size: 13px;
	line-height: 25px;
}
}


/*--------------------------------------------------------------
# Responsive — ≤ 980px
--------------------------------------------------------------*/

@media only screen and (max-width: 980px) {
.desktop-content {
	display: none !important;
}

.site-header#masthead,
.scrolled .site-header#masthead {
	position: relative;
	top: 0 !important;
	left: 0;
	width: 100%;
	z-index: 9999;
}
.scrolled #masthead {
height: initial;
padding: 20px 0
}

body.admin-bar.scrolled header#masthead { top: 0px !important; }

.entry-content { padding: 0 20px; }
.entry-content h2 { font-size: 30px; }

#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open .mega-toggle-block-1 a.mega-menu-logo img.mega-menu-logo {
	display: none;
}

.mobile-content,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mobile-content,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
	display: initial !important;
}

.notification-content {
	width: 90%;
	margin: auto;
}

.mega-menu-logo img.mega-menu-logo {
	width: 245px !important;
	height: 40px;
	margin: 10px 0 !important;
}

#mega-menu-wrap-menu-1 .mega-menu-toggle {
	background-color: var(--sos-white);
}

#mega-toggle-block-2 {
	position: absolute;
	top: 10px;
	right: 20px;
}

.notification-bar-wrap-outer { top: 79px; }
.get-a-quick-quote-block .wp-block-cover { max-width: 100%; }

.container {
	max-width: 84vw;
	padding-top: 0;
}

main.site-main { max-width: 100vw; }

#masthead.site-header .container,
.site-footer .container { max-width: 100%; }

.site-footer .container {
	padding: 50px;
	display: block;
	margin: auto;

}

footer .cities-serviced ul { text-align: center; }

.site-footer .col {
	border: none;
	width: 100%;
	padding: 0;
}

.mega-menu-toggle {
	position: relative;
	top: 0;
	z-index: 99999999 !important;
	background: transparent !important;
}

#mega-menu-wrap-menu-1 .mega-menu-toggle.mega-menu-open + #mega-menu-menu-1 {
	position: absolute !important;
	top: 0 !important;
	z-index: 999 !important;
	padding-top: 50px;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
	padding-left: 20px;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
	margin-right: 25px;
	font-size: 20px;
}



.site-header .col.n2 { width: calc(100vw - 40px); }

.jumpmenu-wrap select { width: 100%; }

.full-content-wrap { margin-top: 0; }

.footer-cta .container,
.site-footer .container { max-width: 90vw; }

.wp-block-columns.is-style-full-width .wp-block-columns.is-style-boxed-width { max-width: 90%; }
.wp-block-column.hours-address-wrap { margin-left: 0; }

.very-bottom-strip {
	width: 100vw;
	height: fit-content;
}

.very-bottom-strip .container {
	display: block;
	margin: auto;
}

.very-bottom-strip .col {
	width: 100%;
	text-align: center;
}

#very-bottom-footer-menu {
	width: 100%;
	display: block;
	text-align: center;
}

.menu-very-bottom-footer-menu-container li:first-child {
	border-left: none;
	padding-left: 0;
	margin-left: 0;
}

.very-bottom-strip .col.n2 {
	width: fit-content;
	margin: 20px auto;
	text-align: center;
}

.wpforms-container textarea { border-radius: 20px; }

.list-2-col .wpcf7-checkbox,
.list-3-col .wpcf7-checkbox { column-count: 1; }

/* Hero */
.hero {
	display: grid;
	min-height: 0;
}

.hero::after { display: none; }

.hero-banner,
.hero-content-wrap {
	grid-column: 1;
	grid-row: 1;
}

.hero-banner {
	position: relative;
	overflow: hidden;
	align-self: stretch;
}

.hero-banner::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--sos-primary-red);
	opacity: 0.8;
	z-index: -1;
}

.hero-banner-img--desktop { display: none; }

.hero-banner-img--mobile {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.hero-content-wrap {
	position: relative;
	z-index: 1;
	max-width: 100%;
	padding: 35px;
}

.cta { align-self: stretch; text-align: center; }

.hero-primary-cta {
	position: relative;
	width: 100%;
}

.hero-primary-cta-label,
.hero-primary-cta {
	flex: 1;
	justify-content: center;
	text-align: center;
}

.single .nav-wrap { width: 100vw; }

.wp-block-column.has-background { margin: 25px 0; }

.financing-service-areas-wrap > .wp-block-column.has-background {
	padding: 10px 30px;
	margin: 0;
}

:where(.entry-content .wp-block-columns.is-layout-flex) {
	column-gap: 20px;
	row-gap: 30px;
}

.is-style-rounded-padded {
	padding: 30px;
	margin-bottom: 0;
}

.container { max-width: 100vw; }
.entry-content .wp-block-columns.is-style-boxed-width { padding: 0; }

.financing-service-areas-wrap > .wp-block-column.serving-wrap {
	background-image: url(img/bluebird-indianapolis-fence-company-background-mobile.svg);
	background-size: cover;
	background-position: right center;
}

.page .entry-content > * {
	padding-top: 13px !important;
	padding-bottom: 13px !important;
}

.page .entry-content > .is-style-rounded-padded {
	padding-top: 25px !important;
	padding-bottom: 25px !important;
}

.is-style-padded { padding: 30px; }

.sw-hotspot-block {
	position: relative;
	width: 90%;
	margin: auto;
}

.sw-hotspot-block h3.sw-hotspot-card__title {
	font-size: 22px;
	line-height: 120%;
}

.sw-image-carousel .flickity-prev-next-button.previous { left: -60px; }
.sw-image-carousel .flickity-prev-next-button.next { right: -60px; }

.get-a-quick-quote-block .wp-block-cover__background { inset: 4px; }
}


/*--------------------------------------------------------------
# Responsive — ≤ 768px
--------------------------------------------------------------*/

@media only screen and (max-width: 768px) {
#mega-menu-item-14223 { display: none !important; }

.post-grid article { flex: 0 0 100%; }



.entry-content .wp-block-heading.is-style-margin-s  { margin: 0.3125rem 0; }
.entry-content .wp-block-heading.is-style-margin-m  { margin: 0.625rem 0; }
.entry-content .wp-block-heading.is-style-margin-l  { margin: 1.25rem 0; }
.entry-content .wp-block-heading.is-style-top-margin-s { margin: 0.3125rem 0 0; }
.entry-content .wp-block-heading.is-style-top-margin-m { margin: 0.625rem 0 0; }
.entry-content .wp-block-heading.is-style-top-margin-l { margin: 1.25rem 0 0; }
.entry-content .wp-block-heading.is-style-bott-margin-s { margin: 0 0 0.3125rem; }
.entry-content .wp-block-heading.is-style-bott-margin-m { margin: 0 0 0.625rem; }
.entry-content .wp-block-heading.is-style-bott-margin-l { margin: 0 0 1.25rem; }

.single h1.entry-title { font-size: 35px; }

.post-author .container { display: block; }
.post-author .container .col.n1 { text-align: center; }

.post-author span.author-title {
	display: block;
	margin: 5px 0 10px 0;
	padding-left: 0;
	border: none;
}



.author-avatar img {
	max-width: 500px;
	width: 100%;
}

.site-footer .col { margin-bottom: 20px; }
.site .site-footer .container { padding: 30px 0;


.site-footer .col.n4 {
	margin-bottom: 0;
	padding-bottom: 20px;
}

.credit-card-icons { margin-bottom: 0; }

.col.n2.pet-house-fractional-marketing-wrap img {
	float: none;
	display: block;
	margin: 10px auto;
}

.wp-block-buttons > .wp-block-button {
	width: 100%;
	display: flex;
}

.wp-block-column .wp-block-buttons .wp-block-button__link { margin: 10px 0; }

.wpcf7 input[type="submit"],
.wpcf7 input[type="button"],
.wpcf7 button[type="submit"],
.wpcf7 button.wpforms-page-button,
.wpforms-container input[type="submit"],
.wpforms-container input[type="button"],
.wpforms-container button[type="submit"],
.wpforms-container button.wpforms-page-button,
.jumpmenu input[type="submit"],
.jumpmenu input[type="button"],
.jumpmenu button[type="submit"],
.jumpmenu button.wpforms-page-button {
	width: 100%;
	text-align: center;
	padding: 10px 25px !important;
}

div.wpforms-container-full input[type="submit"]:not(:hover):not(:active),
div.wpforms-container-full button[type="submit"]:not(:hover):not(:active),
div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full input[type="submit"]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full button[type="submit"]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active) {
	display: table;
	text-align: center;
	margin: 0 10px;
}

.get-a-quick-quote-block .wp-block-cover__inner-container { padding: 10px; }

.entry-content .wp-block-columns.is-style-boxed-width { max-width: fit-content; }

.full-content-wrap :where(.entry-content .wp-block-columns.is-layout-flex) { row-gap: 30px; }
}
