/* =====================================================================
 * SRS Modern Content Styles  v2.1.1
 * Site-wide styling for the Zidex theme. Everything is scoped to
 * body.srs-modern. Edit the variables below to re-theme.
 *
 * Sections
 *   1. Tokens & base          6. Page title bar
 *   2. Content typography     7. Home / content sections
 *   3. Buttons                8. Contact form
 *   4. Hero slider            9. Footer
 *   5. Header & navigation   10. Accessibility
 *
 * Sizes are px (not rem) because Zidex sets a small root font size.
 * !important is only used where the theme, WPBakery, Slider Revolution
 * or Ninja Forms write inline styles or higher-specificity rules.
 * ===================================================================== */

/* ---------- 1. Tokens & base ---------- */
body.srs-modern {
	--srs-dark: #151515;
	--srs-navy: #10232f;
	--srs-steel: #1d3b4f;
	--srs-amber: #ffba41;
	--srs-amber-hover: #e09f2e;
	--srs-bar: #ffb716; /* footer rule + page title bar */
	--srs-paper: #f3f5f7;
	--srs-line: #dbe2e7;
	--srs-ink: #1c2a33;
	--srs-muted: #54646e;
	--srs-heading: "Barlow Condensed", "Roboto Condensed", "Arial Narrow", sans-serif;
	--srs-body: "Barlow", "Roboto", -apple-system, "Segoe UI", Arial, sans-serif;
	--srs-radius: 4px;

	font-family: var(--srs-body);
	font-size: 18px;
	line-height: 1.7;
	color: var(--srs-ink);
	-webkit-font-smoothing: antialiased;
}

/* unscoped on purpose: same specificity as the theme's own row rules */
.wpb_row {
	margin-bottom: 40px;
}

.high-padding {
	padding: 0;
}

/* ---------- 2. Content typography ---------- */
body.srs-modern .wpb_text_column p,
body.srs-modern .wpb_text_column li,
body.srs-modern .entry-content p,
body.srs-modern .entry-content li {
	font-family: var(--srs-body);
	font-size: 19px !important;
	line-height: 1.75;
	color: var(--srs-ink);
}

body.srs-modern .wpb_text_column p {
	margin: 0 0 1.25em;
}

body.srs-modern h3.section-title {
	font-family: var(--srs-heading);
	font-weight: 700;
	font-size: clamp(32px, 4vw, 48px) !important;
	line-height: 1.1;
	letter-spacing: 0.005em;
	text-transform: none;
	margin: 0 0 0.35em;
}

body.srs-modern h3.section-title.dark_title { color: var(--srs-navy); }
body.srs-modern h3.section-title.light_title { color: #fff; }

body.srs-modern .section-subtitle {
	font-family: var(--srs-body);
	font-size: 19px !important;
	line-height: 1.6;
	font-weight: 500;
}

/* A centred section heading that is a full sentence */
body.srs-modern .text_center h3.section-title {
	max-width: 37ch;
	margin-left: auto;
	margin-right: auto;
	font-weight: 600;
}

body.srs-modern .text_center .section-subtitle.dark_subtitle {
	color: var(--srs-muted);
	margin-bottom: 0.75em;
}

body.srs-modern .entry-content :where(h1, h2, h4, h5, h6):not(.light_title),
body.srs-modern .entry-content h3:not(.section-title):not(.light_title) {
	font-family: var(--srs-heading);
	font-weight: 700;
	line-height: 1.12;
	color: var(--srs-navy);
	margin: 1.4em 0 0.5em;
}

body.srs-modern .entry-content h1 { font-size: clamp(36px, 4.5vw, 56px); }
body.srs-modern .entry-content h2 { font-size: clamp(32px, 3.8vw, 46px); }
body.srs-modern .entry-content h3:not(.section-title) { font-size: clamp(26px, 3vw, 34px); }
body.srs-modern .entry-content h4 { font-size: 26px; }
body.srs-modern .entry-content h5 { font-size: 22px; }
body.srs-modern .entry-content h6 { font-size: 19px; }

body.srs-modern .entry-content .drk :where(h1, h2, h3, h4, h5, h6) {
	color: #fff;
}

body.srs-modern .entry-content a:not(.btn):not(.button-winona) {
	color: var(--srs-steel);
	text-decoration: underline;
	text-decoration-color: var(--srs-amber);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

body.srs-modern .entry-content a:not(.btn):not(.button-winona):hover {
	color: var(--srs-navy);
}

body.srs-modern .entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--srs-radius);
}

body.srs-modern .entry-content blockquote {
	margin: 1.5em 0;
	padding: 6px 0 6px 24px;
	border-left: 4px solid var(--srs-amber);
	font-size: 21px;
	color: var(--srs-navy);
}

body.srs-modern .entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 17px;
}

body.srs-modern .entry-content th,
body.srs-modern .entry-content td {
	padding: 12px 14px;
	border: 1px solid var(--srs-line);
	text-align: left;
}

body.srs-modern .entry-content th {
	background: var(--srs-paper);
	font-weight: 600;
}

/* ---------- 3. Buttons ---------- */
body.srs-modern .modeltheme_button {
	background: transparent !important;
}

body.srs-modern .button-winona,
body.srs-modern .modeltheme_button .btn {
	font-family: var(--srs-body);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.02em;
	background: var(--srs-amber) !important;
	color: var(--srs-navy) !important;
	border: 2px solid var(--srs-amber) !important;
	border-radius: var(--srs-radius) !important;
	padding: 14px 30px !important;
	box-shadow: none !important;
	text-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.srs-modern .button-winona:hover,
body.srs-modern .button-winona:focus-visible,
body.srs-modern .modeltheme_button .btn:hover {
	background: transparent !important;
	color: #fff !important;
	border-color: #fff !important;
}

body.srs-modern .vc_row:not(.drk) .button-winona:hover {
	background: var(--srs-navy) !important;
	color: #fff !important;
	border-color: var(--srs-navy) !important;
}

/* ---------- 4. Hero slider (Slider Revolution 7) ----------
 * The slider positions each text layer at a fixed pixel offset, so on
 * narrow screens a wrapped headline ran into the tagline and button.
 * Here the active slide becomes a flex column and the three layers
 * stack in normal flow: headline, tagline, button. They can't overlap
 * and they re-centre at any width. Slider Revolution still handles
 * the slide changes and fade animations.
 */
body.srs-modern sr7-shp {
	background: linear-gradient(180deg, rgba(16, 35, 47, 0.3) 0%, rgba(16, 35, 47, 0.82) 100%) !important;
}

body.srs-modern sr7-slide:not(.sr7-staticslide):not([style*="display: none"]):not([style*="display:none"]) {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	padding: 150px 0 130px;
}

body.srs-modern sr7-txt {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	width: 100% !important;
	box-sizing: border-box;
	flex: 0 0 auto; /* never shrink: Slider Revolution sets min-height:0 on layers */
	order: 2; /* tagline */
	margin: 0 0 40px !important;
	padding: 0 8% !important;
	font-family: var(--srs-body) !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

/* headline = first text layer */
body.srs-modern sr7-txt:first-of-type {
	order: 1;
	margin: 0 0 14px !important;
	font-family: var(--srs-heading) !important;
	font-weight: 800 !important;
	font-size: clamp(34px, 5.2vw, 76px) !important;
	line-height: 1.05 !important;
	letter-spacing: 0.01em !important;
}

/* tagline = any other text layer */
body.srs-modern sr7-txt:not(:first-of-type) {
	font-size: clamp(17px, 1.6vw, 22px) !important;
	line-height: 1.5 !important;
	font-weight: 500 !important;
}

/* button layer */
body.srs-modern sr7-txt:has(.modeltheme_button) {
	order: 3;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	text-shadow: none;
	white-space: nowrap;
}

@media (max-width: 991px) {
	body.srs-modern sr7-slide:not(.sr7-staticslide):not([style*="display: none"]):not([style*="display:none"]) {
		padding-bottom: 100px;
	}
}

@media (max-width: 767px) {
	body.srs-modern sr7-slide:not(.sr7-staticslide):not([style*="display: none"]):not([style*="display:none"]) {
		padding: 130px 0 64px;
	}

	body.srs-modern sr7-txt {
		padding: 0 6% !important;
		margin-bottom: 28px !important;
	}

	body.srs-modern sr7-txt:first-of-type {
		margin-bottom: 12px !important;
	}

	body.srs-modern sr7-txt:has(.modeltheme_button) {
		padding: 0 !important;
		margin: 0 !important;
	}
}

/* 769px-1540px: Slider Revolution shrinks the hero to ~0.39 x the screen
 * width here (about 300px at 770px wide) while the header is a fixed height
 * and, on wider screens, sits on top of the hero. That left too little room
 * for the text. The hero is given the same minimum height it has at 1540px,
 * the background image is cropped (not stretched) to fit, and the text sits
 * a little closer to the bottom edge. Below 769px and above 1540px nothing
 * changes. */
@media (min-width: 769px) and (max-width: 1540px) {
	body.srs-modern sr7-module,
	body.srs-modern sr7-adjuster,
	body.srs-modern sr7-content {
		min-height: 640px !important;
	}

	body.srs-modern sr7-mask,
	body.srs-modern sr7-bg,
	body.srs-modern sr7-shp {
		height: 100% !important;
	}

	body.srs-modern sr7-bg canvas {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover;
		object-position: center;
	}

	body.srs-modern sr7-slide:not(.sr7-staticslide):not([style*="display: none"]):not([style*="display:none"]) {
		padding: 40px 0 90px;
	}
}

/* ---------- 5. Header & navigation ---------- */
body.srs-modern.is_header_semitransparent .logo-infos {
	background: rgb(21 21 21 / 52%);
}

@media (min-width: 768px) {
	body.srs-modern .navbar-header {
		float: none;
		margin: auto;
	}
}

body.srs-modern #modeltheme-main-head {
	background: var(--srs-dark) !important;
	border: 0 !important;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}

body.srs-modern .nav-menu > li > a {
	font-family: var(--srs-body) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	color: #fff !important;
	padding: 0 20px !important;
	line-height: 62px !important;
	background: transparent !important;
	transition: color 0.2s ease;
}

body.srs-modern .nav-menu > li > a::before,
body.srs-modern .nav-menu > li:not(.menu-item-has-children) > a::after {
	display: none !important;
}

body.srs-modern .nav-menu > li > a:hover,
body.srs-modern .nav-menu > li > a:focus-visible {
	color: var(--srs-amber) !important;
}

body.srs-modern .nav-menu > li.current-menu-item > a,
body.srs-modern .nav-menu > li.current_page_item > a {
	color: var(--srs-amber) !important;
	box-shadow: inset 0 -3px 0 var(--srs-amber);
}

/* Phone number as a call-to-action button */
body.srs-modern .nav-menu > li > a[href^="tel:"] {
	background: var(--srs-amber) !important;
	color: var(--srs-navy) !important;
	line-height: 42px !important;
	padding: 0 22px !important;
	margin: 10px 0 10px 14px;
	border-radius: var(--srs-radius);
	box-shadow: none !important;
}

body.srs-modern .nav-menu > li > a[href^="tel:"]:hover,
body.srs-modern .nav-menu > li > a[href^="tel:"]:focus-visible {
	background: #fff !important;
	color: var(--srs-navy) !important;
}

/* Desktop (>=768px): centred menu bar. Bootstrap already keeps the
 * collapse panel open at this width. */
@media (min-width: 768px) {
	body.srs-modern #modeltheme-main-head #navbar {
		float: none !important;
		width: 100% !important;
		display: flex !important;
		justify-content: center !important;
	}

	body.srs-modern #modeltheme-main-head ul.nav-menu {
		float: none !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center;
		flex-wrap: wrap !important;
		width: auto !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	body.srs-modern #modeltheme-main-head ul.nav-menu > li {
		float: none !important;
	}
}

/* Mobile (<768px): the menu stays hidden until the burger button is
 * tapped (Bootstrap's collapse does the show/hide), then stacks. The
 * old rules forced display:flex at every width, which kept the menu
 * permanently open. */
@media (max-width: 767px) {
	body.srs-modern #modeltheme-main-head-sticky-wrapper {
		height: auto !important;
	}

	body.srs-modern #modeltheme-main-head {
		min-height: 0;
		margin-bottom: 0;
	}

	body.srs-modern #modeltheme-main-head #navbar {
		float: none;
		width: 100%;
	}

	body.srs-modern #modeltheme-main-head ul.nav-menu {
		display: block;
		margin: 0;
		padding: 0;
	}

	body.srs-modern #modeltheme-main-head ul.nav-menu > li {
		display: block;
		float: none;
		width: 100%;
	}

	body.srs-modern .nav-menu > li > a {
		line-height: 50px !important;
		padding: 0 20px !important;
		box-shadow: none !important;
	}

	body.srs-modern .nav-menu > li > a[href^="tel:"] {
		display: block;
		margin: 10px 16px 16px;
		text-align: center;
	}

	body.srs-modern .navbar-toggle {
		border-color: rgba(255, 255, 255, 0.45);
	}

	body.srs-modern .navbar-toggle .icon-bar {
		background-color: #fff;
	}
}

/* ---------- 6. Page title bar (inner pages) ---------- */
body.srs-modern .header-title-breadcrumb-overlay.text-center {
	background-color: var(--srs-bar) !important;
	background-image: repeating-linear-gradient(
		45deg,
		transparent,
		transparent 10px,
		rgba(0, 0, 0, 0.05) 10px,
		rgba(0, 0, 0, 0.05) 20px
	) !important;
	padding: 22px 0 !important;
}

body.srs-modern .header-title-breadcrumb-overlay.text-center * {
	color: var(--srs-dark) !important;
}

body.srs-modern ol.breadcrumb.text-center {
	display: none;
}

/* ---------- 7. Home / content sections ---------- */

/* Photo with offset amber frame */
body.srs-modern .vc_single_image-wrapper {
	display: inline-block !important;
	position: relative !important;
	max-width: 100% !important;
	vertical-align: middle;
}

body.srs-modern .vc_single_image-wrapper img,
body.srs-modern .vc_single_image-img {
	display: block !important;
	max-width: 100% !important;
	height: auto !important;
	position: relative;
	z-index: 1;
	border-radius: var(--srs-radius);
	box-shadow: 0 18px 40px rgba(16, 35, 47, 0.18);
}

body.srs-modern .vc_single_image-wrapper::before {
	content: "";
	position: absolute;
	inset: 18px -18px -18px 18px;
	border: 3px solid var(--srs-amber);
	border-radius: var(--srs-radius);
	z-index: 0;
	pointer-events: none;
}

/* Quality statement band: dark stripes + gradient over the parallax image.
 * Drawn with pseudo-elements so no image URL is hard-coded here. */
body.srs-modern .drk .vc_parallax-inner::before,
body.srs-modern .vc_parallax-inner::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

body.srs-modern .drk .vc_parallax-inner::before {
	background: repeating-linear-gradient(
		45deg,
		rgba(0, 0, 0, 0.75),
		rgba(0, 0, 0, 0.75) 10px,
		rgba(0, 0, 0, 0.85) 10px,
		rgba(0, 0, 0, 0.85) 20px
	);
}

body.srs-modern .vc_parallax-inner::after {
	background: linear-gradient(90deg, rgba(16, 35, 47, 0.92) 0%, rgba(16, 35, 47, 0.7) 60%, rgba(16, 35, 47, 0.55) 100%);
}

body.srs-modern .vc_row.drk {
	padding: 0;
}

body.srs-modern .vc_row.drk .title-subtile-holder {
	max-width: 100%;
	border-left: 4px solid var(--srs-amber);
	padding-left: 28px;
}

body.srs-modern .vc_row.drk .section-subtitle.light_subtitle {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(20px, 2vw, 26px) !important;
	line-height: 1.6;
	font-weight: 400;
}

body.srs-modern.home .vc_row-has-fill:not(.drk) {
	background-color: var(--srs-paper);
}

/* Services checklist */
body.srs-modern ul.checkmark {
	list-style: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
	display: grid;
	gap: 8px;
	text-align: left;
	overflow: hidden;
}

/* centred, shrink-to-fit list (class "cent") */
body.srs-modern ul.cent {
	width: fit-content;
	max-width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: left;
}

body.srs-modern ul.checkmark li {
	position: relative;
	margin: 0 !important;
	padding: 14px 18px 14px 54px !important;
	background: #fff;
	border: 0 !important;
	border-radius: var(--srs-radius);
	font-size: 19px !important;
	font-weight: 500;
	line-height: 1.45;
	color: var(--srs-ink);
	opacity: 0;
	transform: translateX(-20px);
	animation: srs-slide-in 0.5s ease-out forwards;
}

body.srs-modern ul.checkmark li::before {
	content: "" !important;
	position: absolute !important;
	left: 18px !important;
	top: 50% !important;
	width: 22px !important;
	height: 22px !important;
	transform: translateY(-50%);
	border: 0 !important;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310232f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") !important;
}

body.srs-modern ul.checkmark li::after {
	content: none !important;
}

@keyframes srs-slide-in {
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

body.srs-modern ul.checkmark li:nth-child(1)  { animation-delay: 0.1s; }
body.srs-modern ul.checkmark li:nth-child(2)  { animation-delay: 0.2s; }
body.srs-modern ul.checkmark li:nth-child(3)  { animation-delay: 0.3s; }
body.srs-modern ul.checkmark li:nth-child(4)  { animation-delay: 0.4s; }
body.srs-modern ul.checkmark li:nth-child(5)  { animation-delay: 0.5s; }
body.srs-modern ul.checkmark li:nth-child(6)  { animation-delay: 0.6s; }
body.srs-modern ul.checkmark li:nth-child(7)  { animation-delay: 0.7s; }
body.srs-modern ul.checkmark li:nth-child(8)  { animation-delay: 0.8s; }
body.srs-modern ul.checkmark li:nth-child(9)  { animation-delay: 0.9s; }
body.srs-modern ul.checkmark li:nth-child(10) { animation-delay: 1s; }
body.srs-modern ul.checkmark li:nth-child(n+11) { animation-delay: 1.1s; }

/* ---------- 8. Contact form (Ninja Forms) ---------- */
body.srs-modern .nf-form-cont {
	background-color: #1a1e24 !important;
	background-image: repeating-linear-gradient(
		45deg,
		rgba(0, 0, 0, 0.15),
		rgba(0, 0, 0, 0.15) 10px,
		rgba(0, 0, 0, 0.25) 10px,
		rgba(0, 0, 0, 0.25) 20px
	) !important;
	border-top: 4px solid var(--srs-amber);
	padding: 24px !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
	max-width: 600px !important;
	margin: 0 auto !important;
}

body.srs-modern .nf-form-title h3 {
	font-family: var(--srs-heading);
	font-weight: 700;
	color: #fff !important;
	margin: 0 0 8px !important;
	font-size: 22px !important;
	text-transform: uppercase;
	letter-spacing: 1px;
}

body.srs-modern .nf-form-fields-required {
	font-family: var(--srs-body);
	color: #a0aec0 !important;
	font-size: 12px !important;
	margin-bottom: 16px !important;
}

body.srs-modern .nf-field-container {
	margin-bottom: 18px;
}

body.srs-modern .nf-field-label label {
	font-family: var(--srs-body);
	color: #e2e8f0 !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	margin-bottom: 4px !important;
	display: inline-block !important;
}

body.srs-modern .nf-form-content input,
body.srs-modern .nf-form-content textarea {
	width: 100%;
	font-family: var(--srs-body);
	background-color: rgba(255, 255, 255, 0.07) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: var(--srs-radius) !important;
	padding: 10px 12px !important;
	font-size: 14px !important;
	box-sizing: border-box !important;
	transition: all 0.3s ease-in-out !important;
}

body.srs-modern .nf-form-content textarea {
	min-height: 140px;
	resize: vertical !important;
}

body.srs-modern .nf-form-content input:focus,
body.srs-modern .nf-form-content textarea:focus {
	background-color: rgba(255, 255, 255, 0.12) !important;
	border-color: var(--srs-amber) !important;
	box-shadow: 0 0 8px rgba(255, 186, 65, 0.3) !important;
	outline: none !important;
}

body.srs-modern .submit-container {
	margin-top: 20px !important;
}

body.srs-modern .submit-container .nf-field-element,
body.srs-modern .submit-container input[type="submit"] {
	width: 100% !important;
	display: block !important;
	box-sizing: border-box !important;
}

body.srs-modern .submit-container input[type="submit"] {
	background: var(--srs-amber) !important;
	color: #1a1e24 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	padding: 12px !important;
	border: none !important;
	border-radius: var(--srs-radius) !important;
	cursor: pointer !important;
	transition: background 0.2s ease-in-out, transform 0.1s ease !important;
}

body.srs-modern .submit-container input[type="submit"]:hover {
	background: var(--srs-amber-hover) !important;
}

body.srs-modern .submit-container input[type="submit"]:active {
	transform: scale(0.99) !important;
}

/* lighter red so errors are readable on the dark card */
body.srs-modern .nf-error-msg,
body.srs-modern .nf-error .nf-error-msg {
	font-size: 14px;
	color: #ff9b8f;
}

/* ---------- 9. Footer ---------- */
body.srs-modern footer {
	font-family: var(--srs-body);
	border-top: 20px solid var(--srs-bar);
}

@media (min-width: 1200px) {
	/* was a fixed 1670px, which overflowed screens narrower than that */
	body.srs-modern footer .container {
		width: 100%;
		max-width: 1670px;
	}
}

body.srs-modern footer .footer-top {
	background-color: transparent !important;
	color: rgba(255, 255, 255, 0.82);
	padding: 72px 0 48px !important;
	font-size: 17px;
	line-height: 1.7;
}

body.srs-modern footer .footer-top .widget {
	margin-bottom: 28px;
}

body.srs-modern footer .footer-top .widget_media_image img {
	max-width: 240px;
	height: auto;
}

body.srs-modern footer .footer-top .widget-title {
	font-family: var(--srs-heading) !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	text-transform: none !important;
	color: #fff !important;
	margin: 0 0 18px !important;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

body.srs-modern footer .footer-top p,
body.srs-modern footer .footer-top li {
	font-size: 17px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.82);
}

body.srs-modern footer .footer-top ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.srs-modern footer .footer-top li {
	padding: 6px 0;
}

/* stack links from WordPress menu widgets */
body.srs-modern footer .widget_nav_menu ul.menu {
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

body.srs-modern footer .widget_nav_menu ul.menu li {
	display: block !important;
	float: none !important;
	width: 100% !important;
	clear: both !important;
	margin-bottom: 8px !important;
}

body.srs-modern footer .widget_nav_menu ul.menu li a {
	display: inline-block !important;
	width: auto !important;
}

body.srs-modern footer .footer-top a {
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
	transition: color 0.2s ease;
}

body.srs-modern footer .footer-top a:hover,
body.srs-modern footer .footer-top a:focus-visible {
	color: var(--srs-amber);
}

body.srs-modern footer .contact-details p {
	margin: 0 0 12px;
}

body.srs-modern footer .contact-details i {
	color: var(--srs-amber);
	width: 26px;
	font-size: 17px;
}

/* two emails are listed, so the envelope icon is dropped */
body.srs-modern footer i.fa-envelope {
	display: none;
}

body.srs-modern footer .footer-div-parent {
	background: var(--srs-dark) !important;
	border-top: 2px solid var(--srs-amber);
	padding: 22px 0;
}

body.srs-modern footer .copyright,
body.srs-modern footer .copyright span {
	font-size: 15px !important;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.7) !important;
	margin: 0;
}

body.srs-modern footer .copyright a {
	color: var(--srs-amber) !important;
}

body.srs-modern footer .copyright a:hover {
	color: #fff !important;
}

body.srs-modern .back-to-top {
	background: var(--srs-amber) !important;
	color: var(--srs-navy) !important;
	border-radius: var(--srs-radius) !important;
	box-shadow: 0 6px 18px rgba(16, 35, 47, 0.3);
}

body.srs-modern .back-to-top i {
	color: var(--srs-navy) !important;
}

@media (max-width: 991px) {
	body.srs-modern .vc_single_image-wrapper::before {
		inset: 12px -10px -12px 10px;
	}
}

@media (max-width: 767px) {
	body.srs-modern footer .footer-top {
		padding: 48px 0 24px !important;
	}

	body.srs-modern .nf-form-cont {
		padding: 20px 16px !important;
	}

	body.srs-modern .vc_row.drk .title-subtile-holder {
		padding-left: 18px;
	}

	body.srs-modern ul.checkmark li {
		padding: 12px 14px 12px 48px !important;
	}

	body.srs-modern ul.checkmark li::before {
		left: 14px !important;
	}
}

/* ---------- 10. Accessibility ---------- */
body.srs-modern a:focus-visible,
body.srs-modern .button-winona:focus-visible {
	outline: 3px solid var(--srs-amber);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	body.srs-modern * {
		transition: none !important;
	}

	body.srs-modern ul.checkmark li {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}
