/***
*Table of contents*

Global
Header
Footer

***/

/* ==============================
Global
============================== */
/* Reset WPBakery default 35px bottom margin on all elements */
#page .wpb_content_element {
	margin-bottom: 0;
}

#page section {
	padding-top: 0;
}

#page .scroll-top {
	display: none;
}

@media screen and (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

:root {
	/* =====================
    Colors
    ===================== */
	--color-main-red: #ff0000; /* primary brand red — buttons, accents */
	--color-dark-red: #e11313; /* hover states, hero accent text */
	--color-black: #000000;
	--color-dark-grey: #3b3b3b; /* body text, dark bg sections */
	--color-mid-grey: #595959; /* lead paragraph text */
	--color-light-grey: #888888; /* dividers, meta text */
	--color-faint-grey: #cfcfcf; /* footer text on dark bg, placeholder bg */
	--color-off-white: #ededed; /* light section backgrounds */
	--color-white: #ffffff;
	--color-link: var(--color-dark-red); /* anchor link text color */

	/* =====================
    Font Families
    ===================== */
	--font-heading: "Montserrat", sans-serif;
	--font-body: "Darker Grotesque", sans-serif;

	/* =====================
    Typography Scale
    Mapped to HTML tags based on actual usage across all pages
    ===================== */

	/* h1 — Hero page title (Montserrat Medium, ExtraBold for emphasis spans) */
	--h1-font-size: clamp(42px, 2.25vw + 27.6px, 60px);
	--h1-line-height: 1.08; /* 65 / 60 */
	--h1-font-weight: 500;

	/* h2 — Main section headings (Montserrat Medium, ExtraBold for emphasis spans) */
	--h2-font-size: clamp(36px, 2.35vw + 21.2px, 55px);
	--h2-line-height: 1.09; /* 60 / 55 */
	--h2-font-weight: 500;

	/* h3 — Card and sub-section headings (Montserrat Bold) */
	/* Figma label: "Heading size 4" — used for branch names, case study titles, etc. */
	--h3-font-size: clamp(24px, 0.56vw + 19.9px, 28px);
	--h3-line-height: 1.14; /* 32 / 28 */
	--h3-font-weight: 700;

	/* h3 — Thin red headings (Montserrat Bold) */
	--h3-thin-font-size: clamp(24px, 0.75vw + 19.2px, 30px);
	--h3-thin-line-height: 1.13; /* 34 / 30 */
	--h3-thin-font-weight: 400;

	/* h4 — Small card titles e.g. team profile names (Montserrat Bold) */
	/* Figma label: "Heading size 5" — used in About page team profiles */
	--h4-font-size: 20px;
	--h4-line-height: 1.15; /* 23 / 20 */
	--h4-font-weight: 700;

	/* .lead — Intro / lead paragraph (Darker Grotesque Medium) */
	/* Figma label: "Heading size 3" — NOT a heading tag; always used as first <p> under h2 */
	--lead-font-size: 40px;
	--lead-line-height: 1; /* 40 / 40 */
	--lead-font-weight: 500;

	/* p — Standard body copy (Darker Grotesque Medium) */
	--body-font-size: 20px;
	--body-line-height: 1.1; /* 22 / 20 */
	--body-font-weight: 500;

	/* Footer nav headings — Montserrat Medium uppercase with letter-spacing */
	--nav-label-font-size: 18px;
	--nav-label-line-height: 1.11; /* 20 / 18 */
	--nav-label-letter-spacing: 0.1em;

	/* Small / button / nav text — Montserrat, uppercase, tracked */
	--small-font-size: 15px;
	--small-line-height: 1.33; /* 20 / 15 */
	--small-font-weight: 600;

	/* Anchor links (Darker Grotesque Bold, same size as body copy) */
	--link-font-size: 20px;
	--link-line-height: 1.1; /* 22 / 20 */
	--link-font-weight: 700;

	/* Testimonial font */
	--testimonial-quote-font-size: clamp(28px, calc(25.5px + 0.66vw), 35px);
	--testimonial-quote-line-height: 1;
	--testimonial-quote-font-weight: 400;
}

/* =====================
Base Typography
#page ID used to override The7 / WPBakery default styles
===================== */
#page h1 {
	font-family: var(--font-heading);
	font-size: var(--h1-font-size);
	line-height: var(--h1-line-height);
	font-weight: var(--h1-font-weight);
}

#page h2 {
	color: var(--color-black);
	font-family: var(--font-heading);
	font-size: var(--h2-font-size);
	line-height: var(--h2-line-height);
	font-weight: var(--h2-font-weight);
}

#page .white h2 {
	color: var(--color-white);
}

#page h3 {
	color: var(--color-dark-grey);
	font-family: var(--font-heading);
	font-size: var(--h3-font-size);
	line-height: var(--h3-line-height);
	font-weight: var(--h3-font-weight);
}

#page .red h3 {
	color: var(--color-dark-red);
	font-size: var(--h3-thin-font-size);
	line-height: var(--h3-thin-line-height);
	font-weight: var(--h3-thin-font-weight);
}
#page h4 {
	font-family: var(--font-heading);
	font-size: var(--h4-font-size);
	line-height: var(--h4-line-height);
	font-weight: var(--h4-font-weight);
}

#page .lead p {
	color: var(--color-mid-grey);
	font-family: var(--font-body);
	font-size: var(--lead-font-size);
	line-height: var(--lead-line-height);
	font-weight: var(--lead-font-weight);
}

#page .headline p {
	font-family: var(--font-heading);
	font-size: var(--small-font-size);
	line-height: var(--small-line-height);
	font-weight: var(--small-font-weight);
}

#page p,
#page ul li,
#page ol li,
#page table {
	color: var(--color-dark-grey);
	font-family: var(--font-body);
	font-size: var(--body-font-size);
	line-height: var(--body-line-height);
	font-weight: var(--body-font-weight);
}

#page h2[style*="text-align: center"] {
	max-width: 1024px;
}

#page p,
#page h4 {
	margin-bottom: 0;
}

#page p[style*="text-align: center"] {
	max-width: 810px;
}

#page h2[style*="text-align: center"],
#page p[style*="text-align: center"] {
	margin: 0 auto;
}

/* list styles— red bold marker, 7px item spacing */
#page ul li,
#page ol li {
	margin-bottom: 7px;
}

#page #primary-menu li,
#page #footer li {
	margin-bottom: 0;
	margin-top: 0;
	border: none;
}

#page #footer li {
	padding: 0;
}

#page ul li::marker,
#page ol li::marker {
	color: var(--color-main-red);
	font-weight: 700;
}

#page ul {
	list-style: disc;
}

/* Inline text links */
#page a {
	color: var(--color-link);
	font-family: var(--font-body);
	font-size: var(--link-font-size);
	line-height: var(--link-line-height);
	font-weight: var(--link-font-weight);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 1px;
	transition: border-color 0.2s ease;
}

#page a:hover {
	border-bottom-color: var(--color-dark-grey);
}

#page a.dt-btn {
	border: 1px solid var(--color-main-red);
	padding: 12px 20px;
}

#page a.dt-btn span {
	font-family: var(--font-heading);
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 17px; /* 113.333% */
	letter-spacing: 2.25px;
	text-transform: uppercase;
}

#page .bg-dark a.dt-btn {
	background-color: var(--color-main-red);
}

#page .bg-dark a.dt-btn span,
#page .bg-dark ul li,
#page .bg-dark ol li,
#page .bg-dark table {
	color: var(--color-white);
}

#page .bg-dark a.dt-btn:hover {
	background-color: transparent;
}

#page .bg-dark a.dt-btn:hover span {
	color: var(--color-main-red);
}

/* =====================
Empty Space utility classes - Add class name to the "Extra class name" field of WPBakery Empty Space element
===================== */
/* Page hero section top / rows — 250px */
.vc_empty_space.hero-section-top {
	height: 250px !important;
}

/* Page hero section bottom / rows — 150px */
.vc_empty_space.hero-section-bottom {
	height: 150px !important;
}

/* Between page sections / rows — 200px */
.vc_empty_space.space-section {
	height: 200px !important;
}

/* Between major content blocks within a section — 50px */
.vc_empty_space.space-block {
	height: 50px !important;
}

/* Between sub-element groups — 25px */
.vc_empty_space.space-group {
	height: 25px !important;
}

/* Between individual items (links, fields, list items) — 15px */
.vc_empty_space.space-item {
	height: 15px !important;
}

@media only screen and (max-width: 1200px) {
	.vc_empty_space.space-section {
		height: 128px !important;
	}
}

@media only screen and (max-width: 767px) {
	.vc_empty_space.hero-section-top {
		height: 170px !important;
	}

	.vc_empty_space.hero-section-bottom {
		height: 80px !important;
	}

	.vc_empty_space.space-section {
		height: 64px !important;
	}
	.vc_empty_space.space-block {
		height: 32px !important;
	}
	.vc_empty_space.space-group {
		height: 16px !important;
	}
	.vc_empty_space.space-item {
		height: 8px !important;
	}
}

/* media query sample */
@media only screen and (max-width: 1200px) {
	/* Small laptop */
}

@media only screen and (max-width: 992px) {
	/* Tablet */
}

@media only screen and (max-width: 767px) {
	/* Large phone */
}

@media screen and (max-width: 480px) {
	/* Phone */
}

/* ==============================
Header
============================== */
/* Top line */
#page .header-bar {
	width: 100% !important;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	padding: 0 !important;
}

#page .header-bar::before,
#page .header-bar::after {
	display: none;
}

#page .header-bar .branding {
	margin-left: calc((100vw - 1260px) / 2);
}

@media screen and (min-width: 1921px) {
	#page .header-bar .branding {
		margin-left: 330px;
	}
}

#page .branding a img,
#page .branding img {
	width: 100%;
	max-width: 270px;
}

#page .header-bar .top-line-right {
	margin-left: auto;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
}

#page .header-bar .right-widgets {
	display: flex !important;
	align-items: center;
	gap: 0;
	margin-bottom: 20px;
	margin-right: 20px;
}

#page .header-bar .right-widgets p {
	color: var(--color-faint-grey) !important;
}

#page .header-bar .right-widgets a {
	color: var(--color-main-red) !important;
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
}

#page .header-bar .right-widgets a:hover {
	color: var(--color-white) !important;
}

#page .header-bar .right-widgets .text-area:nth-child(4),
#page .header-bar .right-widgets .text-area:nth-child(5) {
	display: none;
}

#page .header-bar .menu-toggle {
	display: flex !important;
	align-items: flex-start;
	justify-content: flex-end;
	background: var(--color-main-red);
	border: 1px solid var(--color-main-red);
	font-family: var(--font-heading);
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px; /* 133.333% */
	letter-spacing: 3.75px;
	text-transform: uppercase;
}

#page .header-bar .menu-toggle:hover {
	background: var(--color-white);
}

#page .header-bar .menu-toggle a {
	margin: 0;
	border-bottom: none;
}

#page .header-bar .menu-toggle .lines-button {
	display: none;
}

@media screen and (max-width: 480px) {
	#page .header-bar .branding :not(.sticky-logo) img {
		width: 200px;
	}
}

/* Floating top line */
#page .sticky-top-line-on .header-bar .right-widgets {
	visibility: hidden;
}

#page .sticky-logo {
	border-bottom: none;
}

#page .branding .sticky-logo a img,
#page .branding .sticky-logo img {
	width: 100%;
	max-width: 100px;
}

/* Navigation */
#page .side-header .menu-close-toggle {
	width: 50px;
	height: 50px;
}

#page .side-header .menu-close-toggle .close-line {
	width: 50px;
}
/* Menu */
#page #primary-menu {
	width: 100%;
	padding-top: 150px;
}

#primary-menu .menu-item a {
	flex-grow: initial;
	border-bottom: none;
}

#page a .menu-text {
	font-family: var(--font-heading);
}

#page #primary-menu a:hover .menu-text {
	color: var(--color-dark-red);
}

#page .menu-item.depth-0 {
	padding-left: 100px;
}

#page .menu-item.depth-0 a,
#page .menu-item.depth-1 a {
	padding-bottom: 25px;
}

#page .menu-item.depth-2 a {
	padding-bottom: 15px;
}

#page .menu-item.depth-1 ul {
	margin-bottom: 10px;
}

#page .menu-item.depth-0 > a .menu-text {
	color: var(--color-white);
	font-weight: 500;
	font-size: clamp(28px, 1.13vw + 19.8px, 34px);
	line-height: 1.05;
	text-transform: uppercase;
}

#page .menu-item.depth-1,
#page .menu-item.depth-2,
#page .menu-item.depth-3 {
	padding-left: 20px;
}

#page .menu-item.depth-1 > a .menu-text {
	color: var(--color-faint-grey);
	font-size: clamp(22px, 0.38vw + 18.6px, 24px);
	font-style: normal;
	font-weight: 400;
	line-height: 1.16;
}

#page .menu-item.depth-2 > a .menu-text {
	color: var(--color-light-grey);
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.3;
}

#page .menu-item.depth-3 > a .menu-text {
	color: var(--color-light-grey);
	font-size: 17px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.3;
}

#page .sub-downwards li.has-children.open-sub > .next-level-button {
	transform: none;
}

#primary-menu .menu-item .next-level-button {
	width: 40px;
	height: 40px;
	position: relative;
	margin-bottom: 0px;
	margin-left: 25px;
}

#primary-menu .menu-item .next-level-button::before,
#primary-menu .menu-item .next-level-button::after {
	content: "";
	width: 5px;
	height: 15px;
	background: var(--color-dark-red);
	position: absolute;
	top: 0;
}

#primary-menu .menu-item .next-level-button::before {
	transform: rotate(-45deg);
	left: 6px;
}

#primary-menu .menu-item .next-level-button::after {
	transform: rotate(45deg);
	left: 14px;
}

#primary-menu .menu-item .next-level-button:hover::before,
#primary-menu .menu-item .next-level-button:hover::after {
	background: var(--color-white);
}

#primary-menu .menu-item .next-level-button svg {
	display: none;
}

@media screen and (max-width: 1360px) {
	#page .header-bar .branding {
		margin-left: 50px;
	}
	#page .menu-item.depth-0 {
		padding-left: 80px;
	}
}

@media screen and (max-width: 992px) {
	.sticky-header #page .side-header {
		width: 60%;
	}
}

@media screen and (max-width: 767px) {
	#page .header-bar .right-widgets .text-area:nth-child(4),
	#page .header-bar .right-widgets .text-area:nth-child(5) {
		display: block;
	}
	#page .header-bar .right-widgets .text-area i {
		color: var(--color-dark-red) !important;
	}

	#page .header-bar .branding {
		margin-left: 15px;
	}
	.sticky-header #page .side-header {
		width: 100%;
		height: 100vh;
	}
}

@media screen and (max-width: 480px) {
	#page .menu-item.depth-0 {
		padding-left: 24px;
	}
	#page #primary-menu {
		padding-top: 96px;
	}
	#page .menu-close-toggle {
		margin: 36px 24px 24px 0;
	}
}

/* Menu scroll animation */
#page .branding,
#page .header-bar .top-line-right {
	transition: all 0.5s;
}

#page .branding.scroll-on {
	transform: translateY(-150%);
}

#page .header-bar .top-line-right.scroll-on {
	transform: translateX(100%);
}

/* ==============================
Footer
============================== */
#footer.footer {
	border-bottom: 5px solid var(--color-main-red);
}

#footer.footer > .wf-wrap {
	padding: 100px 50px;
}

#footer.footer .widget {
	margin-bottom: 0;
}

#footer.footer li a,
#footer.footer p,
#footer p.phone-number a {
	color: var(--color-faint-grey);
	font-weight: 500;
}

#footer.footer li a {
	display: inline-block;
	margin-bottom: 15px;
	padding-bottom: 5px;
}

#footer.footer li a:hover,
#footer p.phone-number a:hover {
	color: var(--color-white);
	border-color: var(--color-white);
}

#footer #menu-footer_menu-services li:first-child a,
#footer #menu-footer_menu-brands li:first-child a,
#footer #menu-footer_menu-about li:first-child a,
#footer .location-address .heading {
	font-family: var(--font-heading);
	font-size: 18px;
	line-height: 20px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	border-bottom: 2px solid var(--color-main-red);
	padding-bottom: 15px;
}

#footer #menu-footer_menu-services li:first-child a,
#footer #menu-footer_menu-brands li:first-child a,
#footer #menu-footer_menu-about li:first-child a {
	margin-bottom: 30px;
}

#footer .location-address .heading {
	display: inline-block;
	margin-bottom: 25px;
}

#footer #menu-footer_menu-services li:first-child a:hover,
#footer #menu-footer_menu-brands li:first-child a:hover,
#footer #menu-footer_menu-about li:first-child a:hover {
	color: var(--color-dark-red);
}

#footer .sns-wrapper {
	display: flex;
	gap: 15px;
	margin-top: 10px;
	margin-bottom: 15px;
}

#footer .phone-number {
	margin-top: 15px;
	margin-bottom: 50px;
}

#footer .footer-logo img {
	width: 100%;
	max-width: 300px;
}

#footer.footer .footer-copy p {
	text-align: right;
	font-size: 16px;
	line-height: 18px; /* 112.5% */
}

@media screen and (max-width: 992px) {
	#footer.footer .widget {
		width: 50%;
	}
}

@media screen and (max-width: 767px) {
	#footer.footer > .wf-wrap {
		padding: 64px 32px;
	}
}

@media screen and (max-width: 480px) {
	#footer.footer .widget {
		width: 100%;
	}
}
/* ==============================
Form styles
============================== */
#page form fieldset,
.popmake form .frm_form_fields > fieldset {
	padding-bottom: 0;
}

#page form #frm_field_6_container,
.popmake .frm_form_field input {
	margin-bottom: 0 !important;
}

#page form label,
.popmake form label {
	font-family: var(--font-body);
}

.frm_form_field input,
.frm_form_field textarea {
	font-size: var(--h4-font-size) !important;
}

#page form button,
.popmake form button {
	font-family: var(--font-heading) !important;
	letter-spacing: 2.25px;
	text-transform: uppercase;
	background-color: transparent !important;
}

#page form button:hover,
.popmake form button:hover {
	background-color: var(--color-main-red) !important;
}

@media screen and (max-width: 480px) {
	#page form .form-field {
		margin-bottom: 16px;
	}
}

/* Product inquiry popup form */
#popmake-435 {
	border-top: transparent;
	border-right: transparent;
	top: 150px !important;
}

#pum_popup_title_435 {
	margin-bottom: 0;
	font-family: var(--font-heading);
	color: var(--color-mid-grey);
	font-size: var(--h3-font-size);
	line-height: var(--h3-line-height);
	font-weight: var(--h3-font-weight);
}

#field_z88d7 {
	font-family: var(--font-heading);
	border: none;
	background: transparent;
	padding: 0;
	color: #000;
	font-size: var(--h4-font-size);
	line-height: var(--h4-line-height);
	font-weight: 600;
}

#frm_field_21_container {
	margin-bottom: 0;
}

/* ==============================
Popup Maker — Close Button SVG
============================== */
.pum-close.popmake-close {
	position: relative;
	width: 53px;
	height: 53px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pum-close.popmake-close * {
	display: none;
}

.pum-close.popmake-close::before {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='53' height='53' viewBox='0 0 53 53' fill='none'%3E%3Cpath d='M51.4141 1.41418L1.41406 51.4142M1.41406 1.41418L51.4141 51.4142' stroke='%23FF0000' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E");
	display: block;
	line-height: 0;
	transition: opacity 0.2s;
}

.pum-close.popmake-close::after {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='53' height='53' viewBox='0 0 53 53' fill='none'%3E%3Cpath d='M51.4141 1.41418L1.41406 51.4142M1.41406 1.41418L51.4141 51.4142' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E");
	display: block;
	position: absolute;
	opacity: 0;
	transition: opacity 0.2s;
	line-height: 0;
}

.pum-close.popmake-close:hover::before {
	opacity: 0;
}

.pum-close.popmake-close:hover::after {
	opacity: 1;
}
@media screen and (max-width: 992px) {
	#popmake-435 .popmake-close {
		right: -50px;
		top: -60px;
	}
	.pum-close.popmake-close::before {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 53 53' fill='none'%3E%3Cpath d='M51.4141 1.41418L1.41406 51.4142M1.41406 1.41418L51.4141 51.4142' stroke='%23FF0000' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E");
	}

	.pum-close.popmake-close::after {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 53 53' fill='none'%3E%3Cpath d='M51.4141 1.41418L1.41406 51.4142M1.41406 1.41418L51.4141 51.4142' stroke='%23fff' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E");
	}
}

@media screen and (max-width: 767px) {
	#popmake-435 {
		width: 80% !important;
		min-width: 350px;
		padding: 24px;
		top: 50px !important;
	}
	#popmake-435 .popmake-close {
		right: 10px;
		top: 10px;
		box-shadow: none;
	}
	.pum-close.popmake-close::before {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 53 53' fill='none'%3E%3Cpath d='M51.4141 1.41418L1.41406 51.4142M1.41406 1.41418L51.4141 51.4142' stroke='%23FF0000' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E");
	}

	.pum-close.popmake-close::after {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 53 53' fill='none'%3E%3Cpath d='M51.4141 1.41418L1.41406 51.4142M1.41406 1.41418L51.4141 51.4142' stroke='%23000' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E");
	}
}
/* ==============================
Reusable sections/containers
============================== */

/* ===== Page hero section ===== */
#page .page-hero-section h1 {
	color: var(--color-white);
	max-width: 700px;
}
#page .page-hero-section h1 strong {
	color: var(--color-dark-red);
}

#page .page-hero-section .headline p {
	color: var(--color-white);
	letter-spacing: 0.75px;
	text-transform: uppercase;
}

#page .page-hero-section .headline p strong {
	color: var(--color-dark-red);
}

#page .page-hero-section .hero-scroll {
	position: absolute;
	top: -100px;
}

#page .page-hero-section .hero-scroll > .wpb_wrapper {
	position: relative;
}

#page
	.page-hero-section
	.hero-scroll
	.default-scroll
	#page
	.page-hero-section
	.hero-scroll
	.hover-scroll {
	transition: all 0.5s;
}
#page .page-hero-section .hero-scroll a {
	border-bottom: none;
}

#page .page-hero-section .hero-scroll .hover-scroll {
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
}

#page .page-hero-section .hero-scroll:hover .hover-scroll {
	visibility: visible;
}

#page .page-hero-section .hero-scroll:hover .default-scroll {
	visibility: hidden;
}

/* ===== Split section - two columns section (usually used first section of pages) ===== */
#page .split-container > .wpb_column > .vc_column-inner > .wpb_wrapper {
	display: flex;
	gap: 50px;
	justify-content: space-between;
}

#page .split-container > .wpb_column > .vc_column-inner > .wpb_wrapper::before,
#page .split-container > .wpb_column > .vc_column-inner > .wpb_wrapper::after {
	display: none;
}

#page .split-container > .wpb_column > .vc_column-inner > .wpb_wrapper > div {
	flex: 1;
}

#page .border-color > .vc_column-inner > .wpb_wrapper {
	background: rgba(255, 255, 255, 0.95);
	border-bottom: 5px solid var(--color-main-red);
	border-left: 5px solid var(--color-main-red);
	padding: 50px;
}

@media screen and (max-width: 992px) {
	#page .split-container > .wpb_column > .vc_column-inner > .wpb_wrapper {
		flex-direction: column;
		gap: 50px;
	}
}

@media screen and (max-width: 480px) {
	#page .border-color > .vc_column-inner > .wpb_wrapper {
		padding: 24px;
	}
}

/* brand-intro-container */
#page .brand-intro-section {
	overflow: visible;
}

#page
	.brand-intro-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> div:first-child
	img {
	position: absolute;
	top: -80px;
	width: 100%;
	max-width: 500px;
	left: 50%;
	transform: translate(-50%, 0);
}

#page .brand-intro-container .dt-btn {
	margin-right: 25px;
	margin-bottom: 12px;
}

@media screen and (max-width: 992px) {
	#page
		.split-container.brand-intro-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		gap: 0px;
	}
	#page
		.brand-intro-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> div:first-child
		.vc_single_image-wrapper {
		margin-bottom: -50px;
	}
	#page
		.brand-intro-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> div:first-child
		img {
		position: relative;
		top: -60px;
		left: 0;
		transform: none;
	}
}

@media screen and (max-width: 480px) {
	#page
		.brand-intro-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> div:first-child
		img {
		top: -30px;
	}
}

/* ===== Split BG image section - two columns with bg image section  ===== */
#page
	.split-bg-image-section
	.split-bg-image-container
	> .wpb_column
	> .vc_column-inner {
	position: relative;
	padding: 0 !important;
}

#page .split-bg-image-section .split-bg-image-image {
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 0;
	pointer-events: none;
	margin-bottom: 0 !important;
}

#page .split-bg-image-section .split-bg-image-image figure,
#page .split-bg-image-section .split-bg-image-image .vc_single_image-wrapper {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	display: block;
	width: 100%;
}

#page .split-bg-image-section .split-bg-image-image picture {
	display: block;
	width: 100%;
}

#page .split-bg-image-section .split-bg-image-image img {
	width: 100%;
	height: 800px;
	object-fit: cover;
	object-position: top center;
	display: block;
}

#page .split-bg-image-section .split-bg-image-card-col {
	margin-top: 100px;
	max-width: 650px;
}

#page .split-bg-image-section .split-bg-image-inner-container {
	position: relative;
	z-index: 1;
}

#page .split-bg-image-section .split-bg-image-inner-container::before,
#page .split-bg-image-section .split-bg-image-inner-container::after {
	display: none;
}

#page
	.split-bg-image-section
	.split-bg-image-inner-container
	> .wpb_column:first-child
	> .vc_column-inner {
	background: transparent !important;
	padding: 0 !important;
}

@media screen and (max-width: 992px) {
	#page .split-bg-image-section .split-bg-image-image {
		position: initial !important;
	}
	#page .split-bg-image-section .split-bg-image-card-col {
		margin-top: 0;
		max-width: 100%;
		width: 100%;
	}
}

/* ===== Split Text Section & Split Text Reverse Section - two text columns container  ===== */
#page .split-text-container .vc_column-inner,
#page .split-text-reverse-container .vc_column-inner {
	padding-right: 0;
	padding-left: 0;
}

#page .split-text-container > .wpb_column > .vc_column-inner > .wpb_wrapper,
#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper {
	display: flex;
}

#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper {
	flex-direction: row-reverse;
}

#page
	.split-text-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:first-child,
#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:first-child {
	border-top: 5px solid var(--color-main-red);
	flex: 3;
	padding-top: 50px;
}

#page
	.split-text-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:first-child {
	padding-right: 80px;
}
#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:first-child {
	padding-left: 80px;
}

#page
	.split-text-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child,
#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child {
	flex: 4;
	padding: 50px;
}

#page
	.split-text-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child {
	background: var(--color-off-white);
}

#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child {
	background: var(--color-dark-grey);
	z-index: 1;
}

#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child
	p,
#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child
	ul
	li,
#page
	.split-text-reverse-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child
	ol
	li {
	color: var(--color-white);
}

@media screen and (max-width: 992px) {
	#page .split-text-container > .wpb_column > .vc_column-inner > .wpb_wrapper,
	#page
		.split-text-reverse-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		flex-direction: column;
		margin-bottom: 16px;
	}
	#page
		.split-text-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child,
	#page
		.split-text-reverse-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child {
		padding: 50px;
	}
}

@media screen and (max-width: 480px) {
	#page
		.split-text-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child,
	#page
		.split-text-reverse-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child,
	#page
		.split-text-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:last-child,
	#page
		.split-text-reverse-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:last-child {
		padding: 32px;
	}
}

/* ===== split-text-flip: off-white bg LEFT, heading RIGHT ===== */
#page .split-text-flip .vc_column-inner {
	padding-right: 0;
	padding-left: 0;
}
#page .split-text-flip > .wpb_column > .vc_column-inner > .wpb_wrapper {
	display: flex;
	flex-direction: row-reverse;
}
#page
	.split-text-flip
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:first-child {
	border-top: 5px solid var(--color-main-red);
	flex: 3;
	padding-top: 50px;
	padding-left: 80px;
}
#page
	.split-text-flip
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child {
	flex: 4;
	padding: 50px;
	background: var(--color-off-white);
	z-index: 1;
}
#page
	.split-text-flip
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child
	p,
#page
	.split-text-flip
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child
	li {
	color: var(--color-dark-grey) !important;
}
@media screen and (max-width: 992px) {
	#page .split-text-flip > .wpb_column > .vc_column-inner > .wpb_wrapper {
		flex-direction: column;
		margin-bottom: 16px;
	}
	#page
		.split-text-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child {
		padding: 50px;
	}
}
@media screen and (max-width: 480px) {
	#page
		.split-text-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child,
	#page
		.split-text-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:last-child {
		padding: 32px;
	}
}

/* ===== split-text-reverse-flip: dark grey bg LEFT, heading RIGHT ===== */
#page .split-text-reverse-flip .vc_column-inner {
	padding-right: 0;
	padding-left: 0;
}
#page .split-text-reverse-flip > .wpb_column > .vc_column-inner > .wpb_wrapper {
	display: flex;
	flex-direction: row; /* normal order = dark grey block on LEFT */
}
#page
	.split-text-reverse-flip
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:first-child {
	border-top: 5px solid var(--color-main-red);
	flex: 3;
	padding-top: 50px;
	padding-right: 80px; /* heading on LEFT */
}
#page
	.split-text-reverse-flip
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child {
	flex: 4;
	padding: 50px;
	background: var(--color-dark-grey);
	z-index: 1;
}
#page
	.split-text-reverse-flip
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row-fluid:last-child
	p {
	color: var(--color-white);
}

/* ===== Responsive for both new classes ===== */
@media screen and (max-width: 992px) {
	#page .split-text-flip > .wpb_column > .vc_column-inner > .wpb_wrapper,
	#page
		.split-text-reverse-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		flex-direction: column;
		margin-bottom: 16px;
	}
	#page
		.split-text-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child,
	#page
		.split-text-reverse-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child {
		padding: 50px;
	}
}
@media screen and (max-width: 480px) {
	#page
		.split-text-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child,
	#page
		.split-text-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:last-child,
	#page
		.split-text-reverse-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:first-child,
	#page
		.split-text-reverse-flip
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row-fluid:last-child {
		padding: 32px;
	}
}

/* ===== Split Image Text Section & Split Reverse Image Text Section ===== */
#page .split-image-text-container > .wpb_column > .vc_column-inner {
	padding: 0 !important;
}

#page
	.split-image-text-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper {
	display: flex;
	align-items: stretch;
}

#page
	.split-image-text-container.split-reverse
	.split-image-text-container-image {
	order: 2;
}

#page
	.split-image-text-container.split-reverse
	.split-image-text-container-text {
	order: 1;
}

#page .split-image-text-container.split-reverse {
	left: 0 !important;
}

#page
	.split-image-text-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper::before,
#page
	.split-image-text-container
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper::after {
	display: none;
}

#page .split-image-text-container .split-image-text-container-image,
#page .split-image-text-container .split-image-text-container-text {
	margin: 0 !important;
	padding: 0 !important;
}

/* Image - inner row: 60% */
#page .split-image-text-container .split-image-text-container-image {
	flex: 0 0 60%;
	max-width: 60%;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

#page
	.split-image-text-container
	.split-image-text-container-image
	> .wpb_column,
#page
	.split-image-text-container
	.split-image-text-container-image
	> .wpb_column
	> .vc_column-inner,
#page
	.split-image-text-container
	.split-image-text-container-image
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 0 !important;
}

#page
	.split-image-text-container
	.split-image-text-container-image
	.wpb_single_image,
#page
	.split-image-text-container
	.split-image-text-container-image
	.wpb_single_image
	figure,
#page
	.split-image-text-container
	.split-image-text-container-image
	.vc_single_image-wrapper {
	flex: 1;
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

#page .split-image-text-container .split-image-text-container-image picture {
	display: flex;
	flex: 1;
	width: 100%;
}

#page .split-image-text-container .split-image-text-container-image img {
	flex: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Text inner row: 40% */
#page .split-image-text-container .split-image-text-container-text {
	flex: 0 0 40%;
	max-width: 40%;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
#page
	.split-image-text-container
	.split-image-text-container-text
	> .wpb_column,
#page
	.split-image-text-container
	.split-image-text-container-text
	> .wpb_column
	> .vc_column-inner {
	flex: 1;
	display: flex;
	flex-direction: column;
}

#page
	.split-image-text-container
	.split-image-text-container-text
	> .wpb_column
	> .vc_column-inner {
	border-top: 5px solid var(--color-main-red);
	padding: 50px;
}

#page
	.split-image-text-container
	.split-image-text-container-text.bg-grey
	> .wpb_column
	> .vc_column-inner {
	background-color: var(--color-off-white);
}

#page
	.split-image-text-container
	.split-image-text-container-text.bg-dark
	> .wpb_column
	> .vc_column-inner {
	background-color: var(--color-dark-grey);
}

#page .split-image-text-container .split-image-text-container-text.bg-dark h2,
#page .split-image-text-container .split-image-text-container-text.bg-dark p {
	color: var(--color-white);
}

@media only screen and (max-width: 992px) {
	#page .split-image-text-container,
	#page .split-image-text-container.split-reverse {
		left: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	#page
		.split-image-text-container
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		flex-direction: column;
		align-items: center;
	}
	#page
		.split-image-text-container.split-reverse
		.split-image-text-container-image,
	#page
		.split-image-text-container.split-reverse
		.split-image-text-container-text {
		order: unset;
	}

	#page .split-image-text-container .split-image-text-container-image,
	#page .split-image-text-container .split-image-text-container-text {
		flex: 1;
		max-width: 100%;
	}
}

@media only screen and (max-width: 480px) {
	#page
		.split-image-text-container
		.split-image-text-container-text
		> .wpb_column
		> .vc_column-inner {
		padding: 36px;
	}
}
/* =====  3 or 4 Cards Colum Section ===== */
/* 4 Cards alignment */
#page
	.card-col-container.card-four-col
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
}
/* 3 Cards alignment */
#page
	.card-col-container.card-three-col
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper {
	display: flex;
	column-gap: 50px;
	row-gap: 75px;
	flex-wrap: wrap;
	justify-content: center;
}

/* 2 Cards alignment */
#page
	.card-col-container.card-two-col
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 25px;
}

#page
	.card-col-container.card-three-col
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> div {
	width: calc(33% - 50px);
	padding: 25px 25px 0 25px;
	border-top: 5px solid var(--color-main-red);
	margin-right: 0;
	margin-left: 0;
}

#page
	.card-col-container.card-three-col
	.vc_column_container
	> .vc_column-inner {
	padding-right: 0;
	padding-left: 0;
}

/* Cards elements */
#page .card-col-container .wpb_single_image {
	margin-bottom: 20px;
}

#page .card-col-container .wpb_single_image img {
	width: 100%;
}

#page .card-col-container .wpb_single_image a {
	border-bottom: none;
}

#page .card-col-container a.vc_single_image-wrapper {
	display: block;
	overflow: hidden;
}

#page .card-col-container.card-four-col a.vc_single_image-wrapper,
#page .card-col-container.card-two-col a.vc_single_image-wrapper {
	aspect-ratio: 1 / 1;
}

#page .card-col-container a.vc_single_image-wrapper picture {
	display: block;
}

#page .card-col-container a.vc_single_image-wrapper img {
	display: block;
	transition: transform 0.3s ease;
}

#page .card-col-container a.vc_single_image-wrapper:hover img {
	transform: scale(1.2);
}

#page .card-col-container h3 {
	margin-bottom: 15px !important;
}

#page .card-col-container.card-three-col h3 {
	margin-bottom: 25px !important;
}

#page .card-col-container h3 a {
	font-family: var(--font-heading);
	font-size: var(--h3-thin-font-size);
	font-weight: var(--h3-thin-font-weight);
	line-height: var(--h3-thin-line-height);
	text-transform: uppercase;
	border-bottom: none;
	transition: all 0.3s;
}

#page .card-col-container h3 a:hover {
	color: var(--color-black);
}

#page .card-col-container.card-four-col p {
	padding-right: 15px;
}

#page .card-col-container .dt-btn {
	margin-top: 30px;
}

@media only screen and (max-width: 992px) {
	#page
		.card-col-container.card-four-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 48px;
	}
	#page
		.card-col-container.card-three-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		column-gap: 36px;
		row-gap: 64px;
	}

	#page
		.card-col-container.card-three-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> div {
		width: calc(50% - 36px);
	}
}
@media screen and (max-width: 480px) {
	#page
		.card-col-container.card-four-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper,
	#page
		.card-col-container.card-two-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		grid-template-columns: repeat(1, 1fr);
		row-gap: 36px;
	}
	#page
		.card-col-container.card-three-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		column-gap: 0;
		row-gap: 16px;
	}

	#page
		.card-col-container.card-three-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> div {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	#page
		.card-col-container.card-four-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		grid-template-columns: repeat(1, 1fr);
		row-gap: 36px;
	}
	#page
		.card-col-container.card-three-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		column-gap: 0;
		row-gap: 16px;
	}

	#page
		.card-col-container.card-three-col
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> div {
		width: 90%;
		margin: 0 auto;
	}
}

/* ===== Logos Section  ===== */
#page .logos-container > .wpb_column > .vc_column-inner > .wpb_wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 70px;
	justify-content: center;
	margin: 0 50px;
}

@media only screen and (max-width: 767px) {
	#page .logos-container > .wpb_column > .vc_column-inner > .wpb_wrapper {
		gap: 32px;
		margin: 0 24px;
	}
}

/* ===== FAQ Section  ===== */
#page .faq-wrapper {
	display: flex;
	justify-content: space-between;
	gap: 50px;
}

#page .faq-wrapper::before,
#page .faq-wrapper::after {
	display: none;
}

#page .faq-wrapper > .vc_col-sm-6 {
	max-width: 550px;
}

#page .faq-wrapper .vc_tta-container {
	margin-bottom: 0;
}

#page .faq-wrapper .vc_tta-panels-container,
#page .faq-wrapper .vc_tta-panels,
#page .faq-wrapper .vc_tta-panel {
	background: transparent;
	border: none;
	padding: 0;
}

#page .faq-wrapper .vc_tta-panel {
	margin-top: 50px;
	border-bottom: 1px solid #e6e6e6;
}

#page .faq-wrapper .vc_tta-panel-heading {
	border: none;
	margin: 0;
}

#page .faq-wrapper .vc_tta-panel-heading:hover {
	background: transparent;
}

#page .faq-wrapper .vc_tta-panel-title {
	margin: 0;
	padding: 0;
}

#page .faq-wrapper .vc_tta-panel-title > a {
	font-family: var(--font-heading);
	font-size: var(--h3-thin-font-size);
	font-weight: var(--h3-thin-font-weight);
	line-height: var(--h3-thin-line-height);
	text-transform: uppercase;
	color: var(--color-dark-red);
	padding: 0 0 25px 0;
	border-bottom: none;
	position: relative;
}

#page .faq-wrapper .vc_tta-panel-title > a:hover {
	color: var(--color-black);
}

#page .faq-wrapper .vc_tta-controls-icon {
	transition: transform 0.3s ease;
	position: absolute;
	top: 30%;
	width: 20px;
	height: 20px;
}

#page .faq-wrapper .vc_tta-controls-icon::before,
#page .faq-wrapper .vc_tta-controls-icon::after {
	border-color: var(--color-dark-red);
}

#page .faq-wrapper a:hover .vc_tta-controls-icon::before,
#page .faq-wrapper a:hover .vc_tta-controls-icon::after {
	border-color: initial;
}

#page .faq-wrapper .vc_tta-panel-body {
	border: none;
	padding: 0 0 25px 0;
}

#page .faq-wrapper .vc_tta-panel-body p {
	padding-right: 15px;
}

#page .faq-wrapper .dt-btn {
	margin-top: 30px;
}

@media only screen and (max-width: 992px) {
	#page .faq-wrapper {
		flex-direction: column;
		gap: 0;
	}

	#page .faq-wrapper > .vc_col-sm-6 {
		width: 100%;
		max-width: 100%;
	}
}

/* ===== CTA banner ===== */
#page .cta-banner > .wpb_column > .vc_column-inner {
	padding-top: 0;
	margin-bottom: 100px;
}

#page .cta-banner > .wpb_column > .vc_column-inner > .wpb_wrapper {
	display: flex;
	gap: 50px;
	padding: 100px 50px 50px 0;
	border-bottom: 3px solid var(--color-main-red);
	border-right: 3px solid var(--color-main-red);
}

#page .cta-banner > .wpb_column > .vc_column-inner > .wpb_wrapper::before,
#page .cta-banner > .wpb_column > .vc_column-inner > .wpb_wrapper::after {
	display: none;
}

#page
	.cta-banner
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row:first-child {
	flex: 0 0 calc(50% - 25px);
}

#page
	.cta-banner
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper
	> .vc_row:last-child {
	flex: 1;
	min-width: 0;
}

#page .cta-banner h2,
#page .cta-banner p {
	color: var(--color-white);
}

#page .cta-banner .wpb_text_column p {
	margin-bottom: 15px;
}

#page .cta-banner .wpb_text_column p:last-child {
	margin-bottom: 0;
}

#page .cta-banner a.dt-btn {
	background-color: var(--color-main-red);
}

#page .cta-banner a.dt-btn span {
	color: var(--color-white);
}

#page .cta-banner a.dt-btn:hover {
	background-color: transparent;
}

#page .cta-banner a.dt-btn:hover span {
	color: var(--color-main-red);
}

#page .cta-banner a.dt-btn.dt-btn-outline {
	background-color: transparent;
}

#page .cta-banner a.dt-btn.dt-btn-outline span {
	color: var(--color-white);
}

#page .cta-banner a.dt-btn.dt-btn-outline:hover {
	background-color: var(--color-main-red);
}

#page .cta-banner a.dt-btn.dt-btn-outline:hover span {
	color: var(--color-white);
}

@media screen and (max-width: 1450px) {
	#page .cta-banner > .wpb_column > .vc_column-inner {
		padding-top: 0;
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 992px) {
	#page .cta-banner > .wpb_column > .vc_column-inner {
		padding: 0 50px 50px;
		margin-bottom: 0;
	}

	#page .cta-banner > .wpb_column > .vc_column-inner > .wpb_wrapper {
		flex-direction: column;
		padding: 50px 30px 30px 0;
		gap: 32px;
	}

	#page
		.cta-banner
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row:first-child,
	#page
		.cta-banner
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper
		> .vc_row:last-child {
		flex: none;
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	#page .cta-banner > .wpb_column > .vc_column-inner {
		padding: 0 15px 24px 24px;
	}
	#page .cta-banner > .wpb_column > .vc_column-inner > .wpb_wrapper {
		padding: 50px 0 30px 0;
	}
}

/* ==============================
Home page
============================== */
/* ===== Home hero service animation ===== */
@keyframes textCycle {
	0%,
	10% {
		opacity: 1;
	}
	12%,
	100% {
		opacity: 0;
	}
}
#home-hero .animated-services {
	position: relative;
	height: 50px;
	display: flex;
	align-items: center;
	gap: 12px;
}
#home-hero .animated-services::before {
	content: url(/wp-content/uploads/2026/03/left-arrow.png);
	position: absolute;
	top: 8px;
}
#home-hero .animated-services .service-word {
	position: absolute;
	left: 30px;
	font-family: var(--font-heading);
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	line-height: 35px;
	opacity: 0;
	white-space: nowrap;
}
#home-hero .animated-services .service-word:nth-child(2) {
	animation: textCycle 10.5s 0s infinite;
}
#home-hero .animated-services .service-word:nth-child(3) {
	animation: textCycle 10.5s 1.5s infinite;
}
#home-hero .animated-services .service-word:nth-child(4) {
	animation: textCycle 10.5s 3s infinite;
}
#home-hero .animated-services .service-word:nth-child(5) {
	animation: textCycle 10.5s 4.5s infinite;
}
#home-hero .animated-services .service-word:nth-child(6) {
	animation: textCycle 10.5s 6s infinite;
}
#home-hero .animated-services .service-word:nth-child(7) {
	animation: textCycle 10.5s 7.5s infinite;
}
#home-hero .animated-services .service-word:nth-child(8) {
	animation: textCycle 10.5s 9s infinite;
}

/* ===== Home hero logos section ===== */
#page #hero-logos {
	overflow: visible;
}

#page .hero-logos-wrapper {
	position: absolute;
	right: 0;
	top: -130px;
}

#page .hero-logos-wrapper a {
	border-bottom: none;
}

#page .hero-logos-wrapper .vc_column_container > .vc_column-inner {
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.52) 4.82%,
		rgba(255, 255, 255, 0.76) 9%,
		rgba(255, 255, 255, 0.95) 100%
	);
	padding-left: 50px;
	padding-right: 10px;
}
#page #hero-logos .hero-logos-wrapper .wpb_wrapper {
	display: flex;
	justify-content: flex-end;
	gap: 5px;
}

@media screen and (max-width: 992px) {
	#page .hero-logos-wrapper {
		top: -200px;
	}
}
@media screen and (max-width: 480px) {
	#page .hero-logos-wrapper {
		top: -100px;
	}
	#page .hero-logos-wrapper .vc_column_container > .vc_column-inner {
		padding-left: 15px;
	}
	#page #hero-scroll {
		display: none;
	}
}
/* ===================== 
Team profiles grid - [shawdiesels_team] shortcode 
===================== */
#page .team-container .vc_column-inner {
	padding-left: 0px;
	padding-right: 0px;
}

#page .fc-team-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 75px 50px;
	justify-content: center;
	width: 100%;
}

#page .fc-team-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: calc(20% - 50px);
	padding: 25px;
	border-top: 5px solid var(--color-main-red);
}

#page .fc-team-photo img {
	width: 100%;
	object-fit: cover;
	border-bottom: 5px solid var(--color-main-red);
}

#page .fc-team-position {
	margin-bottom: 15px;
}

@media screen and (max-width: 1360px) {
	#page .fc-team-card {
		width: calc(25% - 50px);
		padding: 20px 16px;
	}
}
@media screen and (max-width: 992px) {
	#page .fc-team-card {
		width: calc(45% - 50px);
	}
}

@media screen and (max-width: 480px) {
	#page .fc-team-grid {
		flex-direction: column;
		gap: 36px;
		align-items: center;
	}

	#page .fc-team-card {
		width: 100%;
		max-width: 360px;
	}
}

/* =====================
Testimonials Slider
===================== */
#page .testimonials-slider-wrap {
	margin-inline: 50px;
}

#page .testimonials-slider .slick-track {
	display: flex;
	align-items: flex-start;
}

#page .testimonials-slider .slick-slide {
	outline: none;
}

#page .testimonial-slide {
	display: flex !important;
	flex-direction: column;
	gap: 50px;
	max-width: 596px;
	margin: 0 auto;
}

/* Quote text */
#page .testimonial-quote__short p,
#page .testimonial-quote__full p {
	font-family: var(--font-body);
	font-size: var(--testimonial-quote-font-size);
	line-height: var(--testimonial-quote-line-height);
	font-weight: var(--testimonial-quote-font-weight);
	color: var(--color-dark-grey);
	letter-spacing: 0.7px;
}

#page .testimonial-quote__short {
	margin-bottom: 25px;
}

/* Attribution */
.testimonial-attribution {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.testimonial-attribution__line {
	width: 50px;
	height: 5px;
	background-color: var(--color-main-red);
}

.testimonial-attribution__details {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

#page .testimonial-attribution__name {
	font-family: var(--font-heading);
	font-size: 18px;
	line-height: 1.17;
	font-weight: 600;
	color: var(--color-dark-grey);
}

#page .testimonial-attribution__position {
	font-family: var(--font-body);
	font-size: 20px;
	line-height: 1.1;
	font-weight: 400;
	color: var(--color-dark-grey);
	text-transform: uppercase;
	letter-spacing: 2px;
}

#page .testimonial-attribution__company {
	font-family: var(--font-body);
	font-size: 20px;
	line-height: 1.1;
	font-weight: 800;
	color: var(--color-dark-grey);
}

/* Arrows */
#page .testimonial-arrow {
	color: var(--color-main-red);
	position: absolute;
	top: 100px;
	z-index: 10;
	padding: 10px;
	background: none;
	border: none;
	transition: color 0.2s ease;
}

#page .testimonial-arrow:hover {
	color: var(--color-black);
}

#page .testimonial-arrow--prev {
	left: 0;
}
#page .testimonial-arrow--next {
	right: 0;
}
@media only screen and (max-width: 992px) {
	#page .testimonials-slider-wrap {
		margin-inline: 0;
	}
}

@media only screen and (max-width: 767px) {
	#page .testimonial-slide {
		max-width: 400px;
		padding-inline: 50px;
		gap: 36px;
	}
	#page .testimonial-quote__short {
		margin-bottom: 16px;
	}
	#page .testimonial-arrow {
		top: 250px;
	}
}
/* =====================
Single product (sd-single-product.php)
===================== */
body.sd-product-template-default #page {
	overflow-x: clip !important;
	overflow-y: visible !important;
}

/* --- Hero --- */
#product-single #product-hero {
	background-image: url("/wp-content/uploads/2026/03/generic-bg.jpg?id=150") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	padding: 250px 0 150px 0;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	max-width: 100vw;
	box-sizing: border-box;
	margin-top: -161px;
}

#product-single #product-hero .product-hero-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding-inline: 50px;
}

#product-single #product-hero h1 {
	color: var(--color-white);
	margin-bottom: 50px;
}

#product-single .product-hero-sku {
	font-family: var(--font-heading);
	font-size: var(--small-font-size);
	line-height: var(--small-line-height);
	font-weight: 400;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-white);
	margin: 0;
}

/* --- Body layout --- */
#product-single .product-body {
	display: flex;
	align-items: stretch;
	gap: 50px;
}

#product-single .product-main {
	padding: 50px 0 150px 0;
	flex: 3;
}

#product-single .product-section-title {
	color: var(--color-dark-grey);
	margin: 0;
}

/* product-description */
#product-single .product-description {
	margin-top: 8px;
}

#product-single .product-description > p strong {
	margin: 42px 0 30px;
	display: block;
}

#product-single .product-description ul,
#product-single .product-description ol {
	margin: 0 0 30px;
	padding-left: 1.5em;
}

/* --- Technical data table --- */
#product-single .product-description table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 30px;
}

#product-single .product-description table thead th,
#product-single .product-description table caption {
	border-top: 3px solid var(--color-main-red);
	padding: 15px;
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 700;
	color: var(--color-dark-red);
	text-align: left;
	caption-side: top;
}

#product-single .product-description table tbody tr td {
	border-top: 1px solid var(--color-faint-grey);
	padding: 15px;
	font-family: var(--font-body);
	font-size: var(--body-font-size);
	line-height: var(--body-line-height);
	width: 50%;
}

#product-single .product-description table tbody tr td:first-child {
	font-weight: 800;
	color: var(--color-light-grey);
}

#product-single .product-description table tbody tr td:not(:first-child) {
	font-weight: 500;
	color: var(--color-dark-grey);
}

/* --- Floating panel --- */
#product-single .product-panel-outer {
	flex: 2;
	position: relative;
}

#product-single .product-panel {
	position: sticky;
	top: 0;
	border-left: 5px solid var(--color-main-red);
	border-bottom: 5px solid var(--color-main-red);
	padding: 50px;
}

#product-single .product-panel-img img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	margin-bottom: 25px;
}

#product-single .product-panel-name {
	font-family: var(--font-heading);
	font-size: var(--h3-font-size);
	line-height: var(--h3-line-height);
	font-weight: 700;
	color: var(--color-black);
	margin-bottom: 10px;
}

#product-single .product-panel-sku,
#product-single .product-panel-tagline {
	font-family: var(--font-body);
	font-size: var(--body-font-size);
	line-height: var(--body-line-height);
	margin-bottom: 25px;
}

#product-single .product-panel-sku {
	font-weight: 700;
	color: var(--color-mid-grey);
}
#product-single .product-panel-tagline {
	font-weight: 500;
	color: var(--color-dark-grey);
}

#product-single a.dt-btn {
	font-family: var(--font-heading);
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 17px; /* 113.333% */
	letter-spacing: 2.25px;
	text-transform: uppercase;
}

#product-single a.dt-btn:hover {
	color: var(--color-white);
}

@media only screen and (max-width: 1360px) {
	#product-single .product-body {
		gap: 32px;
	}
	#product-single .product-panel {
		padding: 32px;
	}
}

@media only screen and (max-width: 767px) {
	#product-single .product-body {
		flex-direction: column-reverse;
	}
	#product-single #product-hero {
		padding: 70px 0;
	}

	#product-single #product-hero .product-hero-inner {
		display: none;
		visibility: hidden;
	}

	#product-single .product-main {
		padding: 32px 0 64px 0;
	}

	#product-single .product-description > p strong {
		margin: 24px 0 16px;
	}
}

/* =====================
Product Grid and Carousel Shortcode 
[fc_product_grid] & [fc_product_carousel]
===================== */

#page .fc-product-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 75px;
}

#page a.fc-product-card {
	flex: 0 0 calc((100% - 150px) / 3);
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-bottom: none;
}

#page a.fc-product-card:hover {
	border-bottom: none;
}

#page .fc-product-card__img {
	aspect-ratio: 1 / 1;
	border: 1px solid var(--color-off-white);
	overflow: hidden;
	background: var(--color-white);
}

#page .fc-product-card__img picture {
	display: block;
	width: 100%;
	height: 100%;
}

#page .fc-product-card__img img {
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	display: block;
	transition: transform 0.4s ease;
}

#page .fc-product-card:hover .fc-product-card__img img {
	transform: scale(1.2);
}

#page .fc-product-card__info {
	border: 1px solid var(--color-off-white);
	padding: 15px;
}

#page .fc-product-carousel .fc-product-card__info {
	margin-top: 2px;
	background: rgba(255, 255, 255, 0.9);
}

#page h3.fc-product-card__brand,
#page h3.fc-product-card__brand a {
	font-family: var(--font-body);
	font-size: var(--body-font-size);
	font-weight: 400;
	line-height: var(--body-line-height);
	color: var(--color-dark-red);
	border-bottom: none;
}

#page h3.fc-product-card__name,
#page h3.fc-product-card__name a {
	font-family: var(--font-body);
	font-size: var(--h3-font-size);
	font-weight: var(--h3-font-weight);
	line-height: var(--h3-line-height);
	color: var(--color-dark-grey);
}

#page h3.fc-product-card__brand a:hover {
	color: var(--color-dark-grey);
}

@media only screen and (max-width: 1360px) {
	#page .fc-product-grid {
		gap: 50px;
	}
}

@media only screen and (max-width: 992px) {
	#page a.fc-product-card {
		flex: 0 0 calc((100% - 50px) / 2);
	}
}

@media screen and (max-width: 480px) {
	#page .fc-product-grid {
		flex-direction: column;
	}
}

#page .fc-product-carousel .slick-list {
	margin: 0 50px;
}

#page .fc-product-carousel .slick-slide {
	padding: 0 12.5px;
	box-sizing: border-box;
}

/* Arrows */
#page .product-carousel-arrow {
	color: var(--color-main-red);
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	z-index: 10;
	padding: 10px;
	background: none;
	border: none;
	transition: color 0.2s ease;
}

#page .product-carousel-arrow:hover {
	color: var(--color-white);
}

#page .product-carousel-arrow--prev {
	left: 0;
}
#page .product-carousel-arrow--next {
	right: 0;
}

/* =====================
Technical Information 
===================== */

#page
	.technical-information-wrapper
	> .wpb_column
	> .vc_column-inner
	> .wpb_wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
}

#page .technical-information-item {
	border-top: 5px solid var(--color-main-red);
	padding: 25px;
	margin: 0;
}

#page .technical-information-image {
	margin-bottom: 20px;
}

#page .technical-information-spec .wpb_wrapper p span {
	color: var(--color-main-red);
	font-size: var(--small-font-size); /* 15px */
	line-height: 15px;
	font-weight: 500;
	text-transform: uppercase;
}

#page .technical-information-desc p strong {
	font-family: var(--font-heading);
	font-size: var(--body-font-size);
	line-height: var(--h4-line-height);
	font-weight: 700;
	color: var(--color-dark-grey);
	margin-bottom: 30px;
}

@media screen and (max-width: 992px) {
	#page
		.technical-information-wrapper
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px) {
	#page
		.technical-information-wrapper
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		gap: 36px;
	}
}
@media screen and (max-width: 600px) {
	#page
		.technical-information-wrapper
		> .wpb_column
		> .vc_column-inner
		> .wpb_wrapper {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* =====================
WP Go Maps @ contact page
===================== */
#page .wpgmza_map .gm-style-iw-d,
#page .wpgmza_map .gm-style-iw {
	margin-bottom: 24px !important;
	margin-left: 16px !important;
}

#page .wpgmza_map .wpgmza_infowindow_title {
	font-weight: 700;
}
/* =====================
Policy pages
===================== */
#page .policy-section p {
	margin-bottom: 4px;
}

/* ==============================
Technical Data page
============================== */
#page #data-sheets li a {
	color: var(--color-mid-grey);
	font-weight: 500;
}
@media only screen and (max-width: 767px) {
	#page #data-sheets .vc_col-sm-4:not(:last-child) {
		margin-bottom: 16px;
	}
}
