/*!
Theme Name: jofa_theme
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: jofa_theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

jofa_theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
 html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

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;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */

a:hover,
a:focus,
a:active {
	color: var(--gold);
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

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;
	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;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.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%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.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 {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.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;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.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;
	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;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
## Custom CSS
--------------------------------------------------------------*/

:root {
	--black: #222222;
	--gold: #A49365;
	--green: #076459;
	--lightgrey: #F9F9F9;
	--white: #FFFFFF;
	--dmsans: "DM Sans", sans-serif;
}

*{
	margin: 0;
	padding:0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

body {
	margin: 0;
	padding: 0;
	margin: auto;
	font-family: var(--dmsans);
	background-color:var(--white);
	color: var(--black);
	overflow: auto;
	overflow-x: hidden;
}

.post, .page {
	margin: 0;
}

#page{
	max-width:1300px;
	margin:auto;
	background-color:var(--white);
}

p {
	font-family: var(--dmsans);
	font-size: 1em;
	font-weight: 300;
	line-height: 1.4em;
	color: #373737;
	margin-bottom:15px;
	text-rendering: geometricPrecision;
	text-decoration: none;
}

h1, h2, h3, h4, h5 {
	font-family: var(--dmsans);
}

h1 {
	font-size: 2.4em;
	font-weight: 550;
	line-height: 1.1em;
	margin: 0 0 5px 0;
}


h2 {
	font-size: 2em;
	font-weight: 550;
	line-height: 1.2em;
	margin: 0 0 10px 0;
}


h3 {
	font-size: 1.75em;
	font-weight: 500;
	line-height: 1.2em;
	margin: 0 0 5px 0;
}


h4 {
	font-size: 0.9em;
	letter-spacing: 0.5px;
	font-weight: 300;
	line-height: 1.2em;
	margin: 0 0 5px 0;
	color: var(--gold);
	text-transform: uppercase;
}

h5 {
	font-size: 1em;
	line-height: 1.2em;
	margin: 0 0 5px 0;
}

p strong, p b, strong, b{
	font-family: var(--dmsans);
	text-rendering: geometricPrecision;
}

a {
	text-decoration: none;
	color: var(--black);
	cursor: pointer;
	transition:all 0.3s ease;
}

a:hover{
	color: var(--gold);
	transition:all 0.3s ease;
}

header#masthead a{
	text-decoration:none;
}

li {
	list-style-type: none;
}

section div ul,
section div ol{
	margin:0 0 15px 15px;
}

section div ul li {
	color: var(--black);
	font-size: 0.9em;
	list-style-type: disc;
	text-rendering: geometricPrecision;
}

section div ol li {
	color: var(--black);
	font-size: 0.9em;
	list-style-type: numbers;
	text-rendering: geometricPrecision;
}

header#masthead .main-navigation {
	width:auto;
}

/* ******************************************************
	Buttons
*********************************************************/
/* Base button styles */
button {
	border: 0;
	background: var(--black);
	padding: 12px 20px 12px 25px;
	cursor: pointer;
	transition: all 0.2s ease;
	display: flex;
	flex-direction: row;
	gap: 2px;
	align-items: center;
	position: relative;
	overflow: hidden;
}

a button span {
	text-rendering: geometricPrecision;
	font-family: var(--dmsans);
	white-space: nowrap;
	font-weight: 550;
	color: var(--white);
	font-size: 0.9em;
	text-transform: capitalize;
	transition: transform 0.3s ease;
	position: relative;
	display: inline-block;
	will-change: transform;
	transform: translateX(3px);
}

a button svg {
	width: 16px;
	height: auto;
	opacity: 0;
	transform: translateX(0px);
	transition: transform 0.3s ease, opacity 0.3s ease;
	will-change: transform, opacity;
}

a:hover button span,
a:focus button span {
	transform: translateX(-3px);
}

a:hover button svg,
a:focus button svg {
	opacity: 1;
	transform: translateX(3px);
}

a.gold-cta button {
	background: var(--gold);
}

a.gold-cta:hover button,
a.gold-cta:focus button{
	background: #BDB08E;
}

a.green-cta button {
	background: var(--green);
}

a.green-cta:hover button,
a.green-cta:focus button{
	background: #007B6D;
}

a.white-cta button{
	background: var(--white);
}

a.white-cta button span{
	color: var(--gold);
}

a.gold-outline-cta button {
	background: transparent;
	border: 1.5px solid var(--gold);
	padding: 8px 12px;
	transition: 0.3s ease all;
}

a.gold-outline-cta:hover button{
	 border: 1.5px solid var(--black);
		transition: 0.3s ease all;
}

a.gold-outline-cta button span{
	color: var(--gold);
		transition: 0.3s ease all;
}

a.gold-outline-cta:hover button span{
	color: var(--black);
		transition: 0.3s ease all;
}

button.span-cta {
	background: transparent;
	padding: 0 5px 0 0;
}

button.span-cta svg{
	fill: var(--gold);
	width: 18px;
}

button.span-cta span{
	font-size: 0.9em;
	font-weight: 400;
	color: var(--gold);
	text-decoration: underline;
	transform: translateX(0);
}

section.sectors .sector:hover button.span-cta span,
section.systems .individual-system:hover button.span-cta span,
section.portfolio .project:hover button.span-cta span,
section.main-content .wrapper .system-product:hover button.span-cta span,
.woocommerce ul.products li.product a.woocommerce-loop-product__link:hover button span,
section.tds-loop a.tds-file:hover button span {
		color: var(--black);
	transform: translateX(0);
}

/* ******************************************************
	Header, Nav, Menus...
*********************************************************/

header#masthead div.menu-primary-menu-container {
	display: block;
}
header#masthead div.menu-mobile-menu-container {
	display: none;
}

header#masthead{
	position: fixed;
	top: 0px;
	width: 100%;
	background: #fff;
	border-bottom: 1px solid #f2f2f2 ;
	display: flex;
	flex-direction: column;
	z-index: 1000;
	margin:auto;
}

header#masthead .main-navigation ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: baseline;
}

header#masthead .lower-nav .contact-wrapper a {
	white-space: nowrap;
}

header#masthead .main-navigation ul li {
	padding: 8px 20px;
	transition: all 0.3s ease;
	position: relative;
}

header#masthead .main-navigation ul li:first-child{
	padding-left: 0;
}

header#masthead .main-navigation ul li::before{
	content: "";
	background-color: #e6e6e6;
	width: 1px;
	height: 100%;
	top: 0;
	right: 0;
	position: absolute;
}

header#masthead .main-navigation ul li a{
	color: var(--black);
	font-size: 0.9em;
	font-family: var(--dmsans);
	transition: all 0.3s ease;
}

header#masthead .main-navigation ul li.current-menu-item > a,
header#masthead .main-navigation ul li.current_page_item > a,
header#masthead .main-navigation ul li.current-menu-ancestor > a,
header#masthead .main-navigation ul li.menu-item-has-children.current-menu-ancestor > a {
	color: var(--gold);
}

header#masthead .main-navigation ul li:hover a,
header#masthead .main-navigation ul li:focus a{
	color: var(--gold);
	transition: all 0.3s ease;
}

header#masthead .main-navigation ul li.menu-item-has-children{
	padding-right: 36px;
}

header#masthead .main-navigation ul li.menu-item-has-children::after {
	content: " ";
	width: 6px;
	height: 6px;
	position: absolute;
	border: 1px solid var(--black);
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg);
	right: 18px;
	top: calc(50% - 5px);
	transition: transform 0.2s ease;
}

header#masthead .main-navigation ul li.menu-item-has-children:hover::after {
	transform: rotate(135deg);
	top: calc(50% - 2px);
}

header#masthead .main-navigation ul li ul li {
	padding: 8px 0;
	transition: all 0.3s ease;
}

header#masthead .main-navigation ul li ul li a,
header#masthead .main-navigation ul li:hover ul li a,
header#masthead .main-navigation ul li:focus ul li a{
	color: var(--black);
	font-size: 0.9em;
	transition: all 0.3s ease;
}

header#masthead .main-navigation ul li ul li:hover a,
header#masthead .main-navigation ul li ul li:focus a{
	color: var(--gold);
	transition: all 0.3s ease;
}

header#masthead .main-navigation ul ul {
	background: var(--lightgrey);
	padding: 12px;
	display:block;
	margin-left: -15px;
}

header#masthead .main-navigation ul ul li::before{
	display: none;
}

header#masthead a.custom-logo-link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

header#masthead a.custom-logo-link img.custom-logo {
	width: auto;
	height: 58px;
	display: block;
}

header#masthead .upper-nav{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 10px 3em 5px;
}

header#masthead .upper-nav .buttons-wrapper{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 15px;
}

header#masthead .lower-nav{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	max-width: 1300px;
	padding: 0 3em;
	width: 100%;
	margin: 0 auto;
}


header#masthead .lower-nav-container{
	background-color: #fbfbfb;
}

header#masthead .lower-nav .contact-wrapper{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: end;
	gap: 20px;
}

header#masthead .lower-nav .contact-wrapper a{
	font-weight: 500;
	font-size: 0.9em;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

header#masthead .lower-nav .contact-wrapper a:last-child{
	gap: 0;
}

header#masthead .lower-nav .contact-wrapper a svg{
	height: 20px;
	transition: 0.3s ease all;
}

header#masthead .lower-nav .contact-wrapper a:hover svg{
	fill: var(--gold);
	transition: 0.3s ease all;
}

/* ******************************************************
	Content
*********************************************************/
section.home-hero {
	padding: 113px 0 0;
	margin: 1em 3em;
}

section.home-hero .text-wrapper{
	max-width: 700px;
	margin: 130px 8%;
	position: relative;
	z-index: 2;
}

section.home-hero .text-wrapper h1,
section.home-hero .text-wrapper .hero-title{
	color: var(--white);
	font-size: 3em;
	font-weight: 600;
}

/* Technical guides (Resources): readable tables, lists and in-text links (Bytez3, Oct 2026). */
section.main-resource-content a{
	color: var(--green);
	text-decoration: underline;
	text-underline-offset: 2px;
}
section.main-resource-content ul,
section.main-resource-content ol{
	padding-left: 1.4em;
	margin: 0 0 1.2em;
}
section.main-resource-content li{
	margin-bottom: 0.45em;
	line-height: 1.45em;
	font-weight: 300;
	color: #373737;
}
section.main-resource-content table{
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0 28px;
	font-size: 0.95em;
}
section.main-resource-content th,
section.main-resource-content td{
	border: 1px solid #DCDCDC;
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
	line-height: 1.4em;
}
section.main-resource-content thead th{
	background: var(--lightgrey);
	font-weight: 600;
}
@media screen and (max-width: 700px){
	section.main-resource-content table{
		display: block;
		overflow-x: auto;
	}
}

/* Slides 2 and 3 use h2 so the homepage has a single h1 (Bytez3, Oct 2026). */
section.home-hero .text-wrapper h2.hero-title{
	line-height: 1.1em;
	margin: 0 0 5px;
}

section.home-hero .text-wrapper p{
	color: var(--white);
	font-size: 1.2em;
	line-height: 1.5em;
	font-weight: 400;
}

section.home-hero .text-wrapper .buttons{
	display: flex;
	gap: 15px;
	padding-top: 15px;
}

section.home-hero .glide__arrow svg {
	padding: 2px 0px 0 0;
}

.slide-bg {
	overflow: hidden;
	position: relative;
}

.slide-bg .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1;
}

.glide {
	position: relative;
}

ul.glide__slides,
ul.glide__slides li{
	margin:0;
	padding:0;
	list-style-type:none;
}

.glide__slide{
	height: auto;
}

.navigation{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: end;
	gap: 30px;
	right: 5%;
	bottom: 30px;
	position: absolute;
}

.glide__bullets {
	display: flex;
	justify-content: end;
	gap: 3px;
	position: unset;
	transform: unset;
}

.glide__bullet {
	width: 10px;
	height: 10px;
	background-color: #B9B9B9;
	border: none;
	border-radius: 0;
	cursor: pointer;
	transition: background-color 0.3s;
}

.glide__bullet:focus,
.glide__bullet:hover {
	background-color: var(--white);
	border: none;
}

.glide__bullet.glide__bullet--active {
	background-color: var(--white);
}

.glide__arrows {
	display: flex;
	justify-content: end;
	gap: 10px;
	z-index: 10;
	pointer-events: none;
}

.glide__arrow  svg{
	width: 25px;
	stroke: var(--white);
	transition: 0.3s ease;
}

.glide__arrow {
	position: unset;
	padding: unset;
	width: 35px;
	height: 35px;
	box-shadow: none;
	border-radius: 0;
	text-shadow: none;
	cursor: pointer;
	transition: 0.3s ease;
	transform: unset;
	pointer-events: all;
	cursor: pointer;
}

.glide__arrow:hover,
 .glide__arrow:focus{
	background: var(--white);
	border: 1px solid var(--white);
	transition: 0.3s ease;
}

.glide__arrow:hover svg,
 .glide__arrow:focus svg{
	stroke: var(--black);
	transition: 0.3s ease;
}

section.sectors{
	margin-right: 3em;
	margin-left: 3em;
	padding: 70px 0;
}

section.sectors .wrapper{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	column-gap: 30px;
	row-gap: 30px;
	padding: 15px 0 0;
}

section.sectors .sector{
	width: calc((100% / 3) - 20px);
	color: var(--black);
	position: relative;
}

section.sectors .sector img{
	width: 100%;
	height: 250px;
	object-fit: cover;
	transition: transform 0.3s ease;
}

section.sectors:hover .sector:hover img {
	transform: scale(1.02);
}

section.sectors .sector .text{
	padding: 10px 0 0;
}

section.sectors .sector .text h3{
	font-size: 1.2em;
	font-weight: 500;
	display: flex;
	gap: 10px;
}

section.sectors .sector .text p{
	font-size: 1em;
	font-weight: 300;
}

section.faqs{
	margin: 0 3em;
	padding: 70px 0;
}

section.faqs .wrapper{
	display: flex;
	flex-direction: row;
	column-gap: 40px;
	align-items: start;
}

section.faqs .rhs{
	width: 50%;
}

section.faqs .rhs img{
	max-height: 400px;
	width: 100%;
	object-fit: cover;
}

section.faqs .lhs{
	width: 50%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

section.faqs h2 {
	 margin-bottom: 10px;
}

section.faqs .faq-item {
	border-bottom: none;
	width: 100%;
}

section.faqs .faq-item:hover .faq-question{
	color: var(--gold);
	transition: 0.3s ease all;
}

section.faqs .faq-question {
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	font-size: 1em;
	line-height: 1.4em;
	font-weight: 400;
	padding: 15px 0px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
}

section.faqs .faq-question svg{
	width: 20px;
}

section.faqs .faq-answer {
	display: none;
	color: var(--black);
}

section.faqs .faq-question .arrow {
	display: inline-flex;
	align-items: center;
	transition: transform 0.3s ease;
}

section.faqs .faq-question[aria-expanded="true"] .arrow {
	transform: rotate(180deg);
}

section.faqs .faq-answer {
	display: none;
	padding-bottom: 10px;
}

section.faqs .faq-question[aria-expanded="true"] + .faq-answer {
	display: block;
}
section.faqs .faq-answer p{
	line-height: 1.6em;
}

section.systems {
	margin: 10px 3em;
	padding: 70px 4%;
	background: var(--lightgrey);
}

.heading-wrapper{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.centered-heading{
	text-align: center;
	max-width: 700px;
	margin: auto;
}

.centered-heading h4{
	margin-bottom: 0;
}

section.partners {
	margin-left: 3em;
	margin-right: 3em;
	padding: 20px 0 40px;
}

.page-template-front-page section.partners {
	padding: 0px;
	position: relative;
}

section.partners ul {
	align-items: center;
	padding: 10px 0;
}

section.partners ul li {
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

section.partners ul li img {
	margin: 0 auto;
	max-width: 60px;
}

section.partners ul li img.ferfa{
	max-width: 120px;
}

section.partners ul li img.made-in-britain{
	max-width: 120px;
}

section.systems .systems-products {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 45px;
	margin-top: 20px;
}

section.systems .individual-system {
	width: calc((100% / 4) - 23px);
	transition: opacity 0.3s ease;
}

section.systems .systems-products:hover .individual-system {
	opacity: 0.7;
}

section.systems .systems-products .individual-system:hover {
	opacity: 1;
}


section.systems .individual-system img{
	padding-right: 10px;
}

.woocommerce section.systems .individual-system img{
	object-fit: cover;
}

section.systems .individual-system h3{
	color: var(--black);
	font-size: 1em;
	font-weight: 500;
	margin-top: 5px;
}

.post-type-archive aside#secondary{
	display: none;
}

section.single-product ul.acf-product-list li:hover .acf-product-title{
	color: var(--black);
	transition: 0.3s ease all;
}

section.systems .individual-system span.view-more{
	color: var(--gold);
	text-decoration: underline;
}

section.systems-wrapper .filter-actions button{
	font-family: var(--dmsans);
	white-space: nowrap;
	font-weight: 550;
	color: var(--white);
		transition: 0.3s ease all;
	font-size: 0.9em;
}

section.systems-wrapper .filter-actions button:hover{
	background: var(--gold);
	transition: 0.3s ease all;
}

section.systems-wrapper .filter-actions {
	display: flex;
	flex-direction: row;
	gap: 20px;
	align-items: end;
	flex-wrap: wrap;
}

section.systems-wrapper .filter-actions a {
	text-decoration: underline;
}

section.systems-wrapper .taxonomy-terms span{
	font-family: var(--dmsans);
}

section.systems-wrapper .term-leaf label {
	padding: 5px 0;
	font-size: 1.1em;
}

section.systems-wrapper .taxonomy-terms li{
	position: relative;
}

section.systems-wrapper .taxonomy-terms li::after{
	content: "";
	width: 100%;
	height: 1px;
	background-color: #e6e6e6;
	bottom: -2px;
	left: 0;
	position: absolute;
}

section.banner.green{
	margin: 10px 3em;
	padding: 40px 250px 40px 4%;
	background: linear-gradient(to right, #092E2A, #076459);
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 40px;
	align-items: center;
	position: relative;
}

section.banner .text-wrapper{
	position: relative;
	max-width: 900px;
	z-index: 1;
}

section.banner h3,
section.banner p {
	color: var(--white);
}

section.banner.green p {
	margin: 0;
}

section.banner a.white-cta {
	position: relative;
	z-index: 1;
}

section.banner img {
	height: 85%;
	position: absolute;
	right: 2%;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0;
}

section.image-text {
	padding: 70px 0;
	margin-left: 3em;
	margin-right: 3em;
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 40px;
}

section.image-text.reversed{
	flex-direction: row-reverse;
}

section.image-text img {
	width: 50%;
	object-fit: cover;
	aspect-ratio: 3 / 1.7;
}

section.image-text .text {
	width: 50%;
	padding: 50px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

section.image-text .text h2{
	font-size: 1.75em;
}

section.image-text h2 span{
	color: var(--gold);
}

section.image-text .text p{
	line-height: 1.5em;
}

.start-heading{
	max-width: 500px;
}

.start-heading h4{
	line-height: 0.8em;
}

section.image-text.grey-bg{
	padding-left: 4%;
	padding-right: 4%;
	background: var(--lightgrey);
}

/* ******************************************************
	Systems
*********************************************************/
.systems-filters .filter-group {
	margin: 10px 0 30px;
}

 .taxonomy-terms{
	margin: 0;
 }

 .taxonomy-terms li{
	list-style-type: none;
 }

 .taxonomy-terms .has-children > .term-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: transparent;
	padding: 15px 0;
	cursor: pointer;
	font-weight: 500;
	font-size: 1em;
	position: relative;
}

.taxonomy-terms .leaf {
	margin: .35rem 0;
}

.taxonomy-terms .term-leaf {
	display: flex;
	gap: .5rem;
	align-items: center;
}

.taxonomy-terms .term-count {
	opacity: .6;
	font-weight: 400;
}

.taxonomy-terms .chevron {
	transition: transform .2s ease;
}

.taxonomy-terms .term-toggle[aria-expanded="true"] .chevron {
	transform: rotate(90deg);
}

.tax-product_cat section.systems .systems-products {
	width: 100%;
}

.tax-product_cat aside.widget-area{
	display:none;
}

.woocommerce .woocommerce-ordering{
	display: none;
}

.woocommerce .woocommerce-ordering select {
	font-family: var(--dmsans);
	font-weight: 300;
	padding: 10px 0 10px 15px;
}

.woocommerce .woocommerce-result-count {
	display: none;
}

section.systems-wrapper {
	display: flex;
	flex-direction:row;
	margin: 0 3em;
}
section.systems-wrapper .systems-filters{
	width: 400px;
	padding: 70px 40px;
	background: var(--lightgrey);
	margin: 10px 0;
}

section.systems-wrapper .systems-filters .yith-wcan-filters{
	background: var(--lightgrey);
	margin-bottom: 0;
}

section.systems-wrapper .systems-filters .yith-wcan-filters h4{
	font-size: 1em;
	font-weight: 500;
	text-transform: capitalize;
	padding: 15px 0;
	position: relative;
}

section.systems-wrapper .systems-filters .yith-wcan-filters h4::before{
	background-color: #dfdfdf;
	height: 1px;
	width: 100%;
	position: absolute;
	bottom: 5px;
	left: 0;
	content: "";
}
.yith-wcan-filters .yith-wcan-filter h4.collapsable:after {
	top: 50%;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item{
	list-style-type: none;
}

section.systems-wrapper section.systems {
	padding: 0 0 2em;
	margin-right: 0;
	background: var(--white);
	width: calc(100% - 400px);
}

.filters-toggle {
	display: none;
	border: none;
	padding: 15px 20px;
	font-size: 0.95rem;
	font-weight: 500;
	font-family: var(--dmsans, sans-serif);
	background: #f2f2f2;
	color: var(--black);
	width: fit-content;
	margin: 30px 8% 0;
	cursor: pointer;
}

/* ******************************************************
	Projects
*********************************************************/
nav.breadcrumbs a {
	color: var(--gold);
	text-decoration: underline;
}

nav.breadcrumbs {
	font-size: 0.9rem;
	font-weight: 300;
	padding-bottom: 5px;
}

section.portfolio {
	padding: 70px 0;
	margin: 0 3em;
	display: flex;
	flex-direction: column;
}

section.portfolio .start-heading {
	max-width: 500px;
}

section.portfolio .wrapper{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 20px;
	padding: 30px 0 0;
}

section.portfolio .project{
	width: calc((100% / 4) - 15px);
	color: var(--black);
	position: relative;
}

section.portfolio .project .industry{
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: var(--white);
	padding: 5px 10px;
	font-size: 0.8em;
}

section.portfolio .project img{
	width: 100%;
	aspect-ratio: 3 / 1.8;
	object-fit: cover;
}

section.portfolio .project .text-content{
	padding: 10px;
}

section.portfolio .project h3{
	font-size: 1.1em;
	margin-bottom: 10px;
}

section.portfolio .project h3 svg{
	width: 20px;
	height: 20px;
}

section.portfolio #category-filter,
section.portfolio #tag-filter {
	margin: 0;
	padding: 10px 12px;
	font-size: 0.9em;
	font-family: var(--dmsans);
}

section.portfolio .tags-container select{
	border: none;
}

section.portfolio .tags-container {
	background-color: var(--lightgrey);
	padding: 20px 50px;
	width: fit-content;
	margin: 10px 0 20px;
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
	gap: 25px;
	align-items: center;
}

.single-projects section.portfolio .center-heading{
	margin: 0 auto 20px;
}

.single-projects section.portfolio .tags-container {
	margin: 0px auto 20px;
}

section.portfolio .tags-container h5{
	font-weight: 500;
	font-size: 1em;
	margin-bottom: 0;
}

.post-type-archive-portfolio section.portfolio .tags-container {
	margin: 10px 0 20px;
}
.post-type-archive-portfolio section.portfolio .start-heading {
	max-width: unset;
}

/* ******************************************************
	Resource
*********************************************************/
section.tds-loop {
	margin: 0 3em;
	padding: 40px 0 70px;
	display: flex;
	flex-direction: column;
	gap: 30px;
}
section.tds-loop .wrapper{
	display: flex;
	flex-direction: column;
	gap: 0;
	row-gap: 0;
}
section.tds-loop a.tds-file{
	background: var(--lightgrey);
	padding: 15px 20px;
	display: flex;
	flex-direction: row;
	gap: 10px;
}
section.tds-loop a.tds-file:nth-child(even){
	background-color: var(--white);
}
section.tds-loop .tds-filter{
	display: flex;
	flex-direction: row;
	gap: 10px;
	row-gap: 10px;
	flex-wrap: wrap;
}

.filters-wrapper {
	display: flex;
	flex-direction: row;
	gap: 20px;
}

.tds-search {
	position: relative;
	max-width: 500px;
}
.tds-search .search-icon {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	color: var(--black);
	pointer-events: none;
}
.tds-search input {
	width: 100%;
	padding: 12px 20px 12px 45px;
	background: transparent;
	border: 1px solid var(--black);
	font-size: 0.9em;
	font-weight: 400;
	outline: none;
	color: var(--black);
	transition: border-color 0.3s;
}
.tds-search input:focus {
	outline: none;
	border-color: var(--gold);
}
.tds-search input:focus + .search-icon,
.tds-search:focus-within .search-icon {
	color: var(--gold);
}
section.tds-loop .tds-filter .filter-select{
	background: transparent;
	border: 1px solid var(--black);
	font-size: 0.9em;
	font-weight: 400;
	outline: none;
	color: var(--black);
	padding: 12px 20px;
	cursor: pointer;
	min-width: 200px;
	transition: 0.3s ease all;
}
section.tds-loop .tds-filter .filter-select:hover{
	border-color: var(--gold);
}
section.tds-loop .tds-filter .filter-select:focus{
	outline: none;
	border-color: var(--gold);
}

.post-type-archive-resources section.portfolio .project {
	width: calc(33% - 10px);
}

.single-resources section.single-portfolio-hero{
	max-width: 1300px;
	margin: auto;
}
.single-resources section.single-portfolio-hero h6{
	font-weight: 200;
}

.single-resources section.single-portfolio-hero h1,
.single-projects section.single-portfolio-hero h1{
	font-size: 2em;
	font-weight: 500;
	margin: 3px 0 10px 0;
}

section.main-resource-content{
	padding: 30px 12% 30px;
	max-width: 1300px;
	margin: auto;
}

section.main-resource-content h3{
	margin-top: 30px;
}

section.main-resource-content img{
	width: 100%;
	object-fit: cover;
}

/* ******************************************************
	Products
*********************************************************/
.post-type-archive-product .woocommerce-breadcrumb{
	color: var(--black);
}

.system-ft-products {
	margin-top: 50px;
}

.system-ft-products h3{
	color: var(--green);
}

/* ******************************************************
	Single Product NEW
*********************************************************/
.woocommerce.single-product section.related.products{
	padding: 70px 0 0;
}

.woocommerce.single-product section.related.products h2{
	color: var(--green);
	text-transform: capitalize;
	font-size: 1.5em;
	font-weight: 500;
}

.woocommerce.single-product section.related.products ul.products{
	margin-top: 30px;
}

.woocommerce.single-product section.related.products a.button.product_type_simple{
	display: none;
}

.woocommerce.single-product section.related.products a h2{
	color: var(--black);
	font-size: 1em;
	font-weight: 500;
}

.woocommerce.single-product section.related.products a:hover h2{
	color: var(--black);
	transition: 0.3s ease all;
}

section.single-product{
	margin: 0 3em;
	padding: 130px 0 70px;
}

section.single-product .wrapper{
	display: flex;
	flex-direction: row;
	gap: 50px;
}
section.single-product .wrapper.system-guides-intro {
	align-items: center;
	margin-top: 2em;
}

section.single-product .wrapper .lhs{
	width: 40%;
	max-width: 550px;
}

section.single-product .wrapper .lhs .buttons-wrapper{
	display: flex;
	flex-direction: row;
	gap: 20px;
	flex-wrap: wrap;
}

section.single-product .rhs img {
	max-width: 100%;
}

section.single-product .wrapper .lhs {
	margin: 0;
	width: 55%;
}

section.single-product .wrapper .lhs--full {
	width: 100%;
	max-width: none;
}

section.single-product .lhs h1{
	font-size: 2em;
	font-weight: 500;
	margin-bottom: 20px;
}

section.single-product .wrapper .lhs p{
	line-height: 1.6em;
}

section.single-product .lhs .cat-wrapper{
	display: flex;
	gap: 10px;
	align-items: center;
	padding-bottom: 15px;
	font-weight: 250;
}

section.single-product .lhs .cat-wrapper h3{
	margin-bottom: 0;
}

section.single-product .lhs .cat-wrapper a{
	text-decoration: underline;
	color: var(--gold);
	transition: 0.3s ease all;
}

section.single-product .lhs h3{
	color: var(--green);
	font-size: 1.1em;
}

section.single-product .product-details-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 40%) minmax(0, 55%);
	gap: 5%;
	width: 100%;
	margin-top: 50px;
}

section.single-product .product-details-wrapper h3{
	color: var(--green);
	margin-bottom: 10px;
}

section.single-product .product-details-wrapper .applications ul {
	margin: 0 0 50px;
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 10px;
}

section.single-product .product-details-wrapper .applications ul li{
	list-style-type: none;
}

section.single-product .product-details-wrapper .applications ul li,
section.single-product .product-details-wrapper .applications ul li a {
	font-size: 1em;
	color: #373737;
}

section.single-product .product-details-wrapper .benefits h4{
	color: var(--black);
	text-transform: capitalize;
	font-weight: 500;
	font-size: 1em;
	margin-bottom: 0px;
	letter-spacing: 0;

}

section.single-product ul.acf-product-list {
	margin: 0;
	list-style-type: none;
	display: flex;
	flex-direction: row;
	gap: 40px;
	flex-wrap: wrap;
}

section.single-product ul.acf-product-list li{
	list-style-type: none;

}
section.single-product ul.acf-product-list li a {
	display: flex;
	max-width: 220px;
	flex-direction: column;
}

section.single-product ul.acf-product-list li .acf-product-title{
	color: var(--gold);
	text-decoration: underline;
}

section.single-product ul.acf-product-list li img{
		max-width: 220px;
}

/* ******************************************************
	Single Product
*********************************************************/
.single-product.woocommerce div.product {
	margin: 0px 3em;
}

.woocommerce div.product div.images.woocommerce-product-gallery{
	width: 40%;
}

.woocommerce .woocommerce-breadcrumb {
	margin: 0 3em 1em;
	padding: 145px 0 10px;
}

.woocommerce .woocommerce-breadcrumb a{
	color: var(--gold);
}

.single-product div.product h3{
	color: var(--green);
	font-size: 1.2em;
}

.single-product .product-description p{
	margin-bottom: 25px;
}

.single-product.woocommerce div.product .summary h3{
	display: none;
}

.single-product.woocommerce div.product div.summary {
	padding: 50px;
	margin: 0;
	background: var(--lightgrey);
	width: 55%;
}

.single-product .product_meta {
	display: none;
}

.single-product .product-quick-cats__row {
	padding-bottom: 10px;
}

.single-product .product-quick-cats__values a{
	text-decoration: underline;
	color: var(--gold);
	transition: 0.3s ease all;
}

.single-product .product-quick-cats__values a:hover{
	transition: 0.3s ease all;
	color: var(--black);
}

.single-product.woocommerce div.product .product_title{
	font-size: 1.8em;
	font-weight: 400;
}

.single-product .buttons-wrapper{
	display: flex;
	flex-direction: row;
	gap: 20px;
	flex-wrap: wrap;
}

.single-product.woocommerce div.product div.images.woocommerce-product-gallery .buttons-wrapper a,
.single-product.woocommerce div.product div.images.woocommerce-product-gallery .buttons-wrapper a button,
.single-product.woocommerce div.product div.images.woocommerce-product-gallery .buttons-wrapper a button span{
	width: 100%;
	text-align: center;
}

.woocommerce.single-product  div.product div.images img{
	max-width: 550px;
	margin-bottom: 30px;
}

.woocommerce.single-product aside#secondary {
	display: none;
}

.single-product .product-applications ul{
	margin: 0 0 50px;
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 25px;
	row-gap: 7px;
}

.woocommerce.single-product .product-applications ul a {
	text-decoration: underline;
	color: var(--gold);
}

.woocommerce.single-product .product-applications ul a:hover{
	color: var(--black);
}

.woocommerce.single-product div.product .woocommerce-tabs{
	display: none;
}

.woocommerce.single-product .product-details-wrapper{
	clear: both;
	display: flex;
	flex-direction: row;
	gap: 70px;
	width: 100%;
}

.woocommerce.single-product .product-applications{
	width: 55%;
	margin-top: 50px;
}
.woocommerce.single-product .product-benefits {
	width: 45%;
	margin-top: 50px;
	padding-right: 20px;
}

.woocommerce.single-product .product-benefits strong{
	color: var(--black);
	font-size: 1em;
	font-weight: 600;
}

.woocommerce.single-product .product-benefits h2{
	font-size: 1.3em;
	color: var(--green);
}

.woocommerce.single-product .product-benefits span.red{
	color: red;
}

.woocommerce.single-product .product-benefits p{
	line-height: 1.5em;
}

.single-product .product-applications ul.product-colour-options{
	display:flex;
	flex-wrap:wrap;
	gap: 12px;
	list-style:none;
	padding:0;
	margin:.5rem 0 0;
}

.single-product .product-colour-options .colour-swatch{
	display:inline-block;
	width:60px;
	height:40px;
	border-radius:5px;
}

/* ******************************************************
	Single Portfolio
*********************************************************/

section.single-portfolio-hero{
	padding: 150px 0 30px;
	margin-left: 3em;
	margin-right: 3em;
	position: relative;
}

section.single-portfolio-hero::after {
	position: absolute;
	width: 100%;
	height: 0.5px;
	background-color: #989898;
	content: "";
	bottom: 15px;
	left: 0;
}

section.systems .individual-system img{
	aspect-ratio: 1 / 1;
	object-fit: contain;
	object-position: center;
}

.colours{
	margin-bottom: 60px;
}

.colours a{
	color: var(--gold);
	text-decoration: underline;
}

.colours a:hover{
	color: var(--black);
	transition: 0.3s ease;
}

.colour-grid{
display: grid;
	grid-template-columns: repeat(auto-fill, 60px);
	gap: 10px;
	margin-top: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.colour-swatch{
	display: grid;
	gap: 8px;
	justify-items: center;
	text-align: center;
}

.colour-swatch .swatch{
	width: 50px;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	border: 1px solid rgba(0,0,0,.12);
}

.colour-swatch .swatch-label{
	font-size: 0.75em;
	font-weight: 300;
	line-height: 1.1em;
}

.single-portfolio-hero h4{
	color: var(--black);
	margin-bottom: 0;
}

section.gallery {
	padding: 10px 0 0px;
	margin: 0 3em;
	display: flex;
	flex-direction: row;
	gap: 40px;
}

section.gallery .container {
	position: relative;
	max-width: 100%;
	margin: auto;
	width: calc(100% - 380px);
}

section.gallery .mySlides {
	display: none;
	text-align: center;
}

section.gallery .mySlides img {
	max-height: 550px;
	object-fit: cover;
	width: 100%;
	 aspect-ratio: 3 / 1.5;
}

section.gallery .prev,
section.gallery .next {
	cursor: pointer;
	position: absolute;
	bottom: 20px;
	color: var(--black);
	user-select: none;
	-webkit-user-select: none;
	transform: translateY(-50%);
	text-decoration: none;
}

section.gallery .prev:hover svg,
section.gallery .next:hover svg{
	stroke: var(--gold);
}

section.gallery .prev {
	left: -40px;
}
section.gallery .next {
	right: -40px;
}

section.gallery .prev:hover,
section.gallery .next:hover {
	background-color: var(--red);
}

section.gallery .numbertext {
	position: absolute;
	top: 10px;
	left: 10px;
	color: white;
	font-size: 12px;
	background-color: rgba(0, 0, 0, 0.6);
	padding: 4px 8px;
}

/* === Thumbnail carousel === */
section.gallery .row.thumbs-viewport {
	overflow: hidden;
	margin-top: 8px;
	--thumb-gap: 10px;
	--thumbs-visible: 5; /* default: show 5 */
}

section.gallery .thumbs-track {
	display: flex;
	gap: var(--thumb-gap);
	scroll-behavior: smooth;
}

section.gallery .column {
	flex: 0 0 calc(
	  (100% - (var(--thumbs-visible) - 1) * var(--thumb-gap))
	  / var(--thumbs-visible)
	);
}

section.gallery .demo {
	display: block;
	width: 100%;
	height: 110px;
	object-fit: cover;
	border: 2px solid transparent;
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.3s;
}

section.gallery .demo:hover,
section.gallery .active {
	opacity: 1;
}

section.gallery .project-details {
	width: 350px;
	background-color: var(--lightgrey);
	padding: 40px;
	height: fit-content;
}

section.gallery .project-details h3 {
	font-size: 1.3em;
}

section.gallery .project-details ul {
	margin: 0;
	padding: 0;
}

section.gallery .project-details ul li {
	list-style-type: none;
	margin-bottom: 8px;
}

section.gallery .project-details ul li strong {
	color: var(--gold);
	font-weight: 500;
}

section.gallery .project-details ul li a {
	text-decoration: underline;
}

section.main-content {
	margin: 0 3em;
	padding: 70px 0 20px;
	display: flex;
	flex-direction: row;
	gap: 70px;
}

section.main-content .wrapper{
	width: calc(50% - 30px);
}

section.main-content .wrapper .intro p{
	color: var(--gold);
}

section.main-content .wrapper .para{
	margin-bottom: 40px;
}

section.main-content .wrapper .para strong{
	font-weight: 600;
}

section.main-content .wrapper .para h3{
	font-size: 1.5em;
}

section.main-content .wrapper .para ul li {
	font-size: 1em;
	font-weight: 300;
}

section.main-content .wrapper .system-product{
	margin-top: 30px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 35px;
}

section.main-content .wrapper .system-product h3{
	font-size: 1.1em;
}

.system-usb {
	margin-bottom: 8px;
}

section.main-content .wrapper .system-product img{
	max-width: 220px;
}

/* ******************************************************
	Sectors
*********************************************************/
section.green-hero{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 100px 4%;
	margin: 122px 3em 0;
	background: linear-gradient(to right, #092E2A, #076459);
	position: relative;
	background-size: cover;
	background-position: center;
}

section.green-hero .text-wrapper{
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 700px;
	position: relative;
	z-index: 1;
}

section.green-hero nav.breadcrumbs{
	color: var(--white);
}

section.green-hero h1,
section.green-hero p{
	color: var(--white);
}

section.green-hero .buttons{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 10px;
}

section.green-hero img{
 position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 80%;
  max-height: 220px;
  width: auto;
}

/* ******************************************************
	Single Sector
*********************************************************/
section.card-details{
	display: flex;
	flex-direction: column;
	margin: 0 3em;
	gap: 30px;
}

section.card-details .image-wrapper{
	display: flex;
	flex-direction: row;
	gap: 30px;
}

section.card-details img{
	width: calc(50% - 15px);
	height: 300px;
	object-fit: cover;
	margin-bottom: 30px;
}

section.card-details .card .feature-text p {
	font-weight: 500;
	font-size: 1.1em;
}

section.card-details .card h3 {
	font-size: 1.6em;
	width: calc(50% - 40px);
	font-weight: 450;
	color: var(--gold);
	margin-bottom: 10px;
}

section.card-details .card h3 span{
	color: var(--black);
}

section.green-hero .overlay{
	background: linear-gradient(
	to right,
	rgba(9, 46, 42, 0.7),
	rgba(7, 100, 89, 0.1)
	);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.center-heading{
	text-align: center;
	margin: 0 auto 50px;
}

.center-heading p{
	max-width: 700px;
	margin: auto;
}

.center-heading .guides-mini-nav{
	display: flex;
	gap:30px;
	align-items: center;
	justify-content: center;
	padding-top: 30px;
}

.center-heading .guides-mini-nav h3{
	font-size: 1.1em;
	margin-bottom: 0;
}

.center-heading .guides-mini-nav a.gold-outline-cta svg {
	opacity:1;
	transform: translateX(3px);
}

.center-heading .guides-mini-nav a.gold-outline-cta span{
		transform: translateX(-3px);
}

.center-heading .guides-mini-nav a.gold-outline-cta button{
	padding: 8px 16px;
}

/* ******************************************************
	Systems
*********************************************************/
.post-type-archive .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb{
	margin: 0 0 5px;
	padding: 0;
	color: white;
}


.post-type-archive-product .woocommerce-breadcrumb{
	color: var(--black);
}

/* ******************************************************
	Decorative
*********************************************************/
section.green-hero.white{
	background: white;
	padding: 70px 4% 30px 0;
	margin: 116px 3em 0;
}

section.green-hero.white h1,
section.green-hero.white p{
	color: var(--black);
}

section.green-hero.white img{
	opacity: 0.2;
}

section.green-hero.white nav.breadcrumbs {
	color: var(--black);
}

.decorative-wrapper section.image-text--odd {
	flex-direction: row-reverse;
}

/* ******************************************************
	About
*********************************************************/
section.icons-banner {
	margin: 0px 2em;
	padding: 40px 4%;
	background: linear-gradient(to right, #afa27e, #c5ba9c);
	display: flex;
	flex-direction: row;
	gap: 40px;
	justify-content: space-between;
	align-items: center;
}

section.icons-banner h3,
section.icons-banner p{
	color: var(--white);
	margin-bottom: 0;
}

section.icons-banner p{
	font-weight: 400;
}

section.icons-banner h3 {
	font-size: 1.2em;
}

section.icons-banner .wrapper{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

section.icons-banner .wrapper img {
	height: 100px;
	padding: 10px;
}

.page-template-tpl-about section.image-text .text p strong{
	color: var(--green);
	font-weight: 500;
}

section.basic-content {
	padding: 30px 0;
	margin-left: 3em;
	margin-right: 3em;
}

section.basic-content li {
	list-style-type: disc;
	font-weight: 200;
}

/* ******************************************************
	Form
*********************************************************/
section.green-hero.center{
	text-align: center;
	justify-content: center;
	align-items: center;
	margin: 0 3em;
	border-radius: 0;
	padding: 180px 4% 100px;
}

section.green-hero.center .overlay {
	background: linear-gradient(
		to right,
		rgba(7, 92, 82, 0.6),
		rgba(17, 157, 146, 0.6)
	);
	border-radius: 0;
}

section.form{
	background: #F8F7F2;
	margin: auto;
	max-width: 900px;
	padding: 0px 5% 50px;
	position: relative;
}

section.form::after{
	position: absolute;
	top: -60px;
	content: "";
	width: 100%;
	background-color: #F8F7F2;
	height: 60px;
	left:0;
}

section.form .gform-body input[type="text"],
 .gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=email],
section.form .gform-body select,
.gform_wrapper.gravity-theme .gfield textarea.large{
	border: none;
	padding: 12px;
}

.gform_wrapper.gravity-theme .gform_fields {
	grid-column-gap: 5%!important;
	grid-row-gap: 30px!important;
}

section.form .gform_wrapper.gravity-theme .gfield_label {
	font-size: 0.9em;
	font-weight: 400;
}

section.form p.gform_required_legend {
	display: none;
}

.gform_wrapper.gravity-theme .gfield_required {
	color: var(--green)!important;
}

.gform_wrapper.gravity-theme .gform_footer input{
	margin-left: -10px;
}

div#gform_drag_drop_area_1_7 button{
	color: white;
	font-size: 0.9em;
}

div#gform_drag_drop_area_1_7 button:hover,
.gform_wrapper.gravity-theme .gform_footer input:hover{
	background-color: var(--gold);
}

.gform_wrapper.gravity-theme .gform_footer input{
	border: 0;
	background: var(--green);
	padding: 12px 18px;
	cursor: pointer;
	transition: all 0.2s ease;
	display: flex;
	flex-direction: row;
	gap: 2px;
	align-items: center;
	position: relative;
	overflow: hidden;
	font-family: var(--dmsans);
	font-weight: 500;
	color: var(--white);
	font-size: 0.9em;
	text-transform: capitalize;
	transition: transform 0.3s ease;
	position: relative;
	display: inline-block;
	will-change: transform;
	transform: translateX(11px);
}

section.form h3 {
	position: relative;
	z-index: 3;
	padding-bottom: 40px;
}

section.form h3::after {
	background-color: #dfdfdf;
	height: 1px;
	width: 100%;
	position: absolute;
	bottom: 20px;
	left: 0;
	content: "";
}

.page-id-19  section.contact-detail-map{
	margin: 70px auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	max-width: 900px;
}

section.contact-detail-map h3{
	position: relative;
	padding-bottom: 10px;
}

section.contact-detail-map h3::after {
	background-color: #dfdfdf;
	height: 1px;
	width: 100%;
	position: absolute;
	bottom: 0px;
	left: 0;
	content: "";
}

section.contact-detail-map h4{
	color: var(--black);
	font-weight: 500;
	margin-top: 30px;
	font-size: 1em;
	text-transform: capitalize;
}

section.contact-detail-map a svg{
	width: 17px;
	height: 17px;
}

section.contact-detail-map a {
	display: flex;
	align-items: center;
	gap: 8px
}

section.form.contact {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 50px;
	margin: 0 10% 70px;
	max-width: unset;
}

section.contact-detail-map {
	margin: unset;
	flex-direction: column;
	align-items: start;
	gap: 30px;
}

section.form.contact .form-contact {
	width: calc(55% - 25px);
}

section.form.contact .contact-detail-map{
	width: calc(45% - 25px);
}

/* ******************************************************
	Footer
*********************************************************/
footer#colophon {
	background: #092E2A;
}
footer#colophon ul li{
	list-style-type:none;
	margin-bottom: 5px;
}

footer#colophon a{
	text-decoration:none;
}

footer#colophon .site-info {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 60px 3em;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	row-gap: 40px;
}

footer#colophon .site-info .nav-widgets{
	display: flex;
	flex-direction: row;
	justify-content: start;
	flex-wrap: wrap;
	row-gap: 40px;
}

footer#colophon .site-info .widget {
	margin: 0;
	padding: 0 70px 0 0;
}

footer#colophon .site-info .widget-title { letter-spacing: 0.5px; margin: 0 0 5px 0;
	color: var(--white);
	text-transform: capitalize;
	font-size: 1.2em;
	font-weight: 600;
}

footer#colophon .site-info a,
footer#colophon .site-info p,
footer#colophon .site-info li{
	color:var(--white);
	font-size: 0.95em;
	font-weight: 200;
	transition:all 0.3s ease;
}

footer#colophon .site-info li{
	margin-bottom: 3px;
}

footer#colophon .site-info ul{
	margin:0;
	column-count:1;
	column-gap:40px;
}

footer#colophon .site-info a:hover,
footer#colophon .site-info a:focus{
	color:var(--gold);
	transition:all 0.3s ease;
}

footer#colophon .logos-widget{
	max-width: 400px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

footer#colophon .logos-widget .wrapper{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: flex-start;
	margin-top: 30px;
}


footer#colophon .logos-widget .wrapper img {
	max-width: 20%;
	height: auto;
	max-height: 40px;
	object-fit: contain;
}

aside#custom_html-2 .textwidget{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

footer#colophon .socials-wrapper{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	margin-top: 10px;
}

footer#colophon .socials-wrapper svg{
	width: 32px;
	height: 32px;
	cursor: pointer;
	transition: 0.3s ease all;
}

footer#colophon .socials-wrapper svg:hover g,
footer#colophon .socials-wrapper svg:hover path{
	fill: var(--gold);
	transition: 0.3s ease all;

}

footer#colophon .terms-banner {
	background-color: var(--green);
}
footer#colophon .terms-banner-inner{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 40px;
	padding: 10px 3em;
	max-width: 1300px;
	margin: 0 auto;
}

footer#colophon .terms-banner-inner a p,
footer#colophon .terms-banner-inner p{
	margin-bottom: 0;
	font-size: 0.85em;
	color: var(--white);
}

/* ******************************************************
	Media Queries
*********************************************************/
@media screen and (max-width:1450px){
	section.systems .individual-system {
		width: calc((100% / 3) - 20px);
	}
}

@media screen and (max-width:1350px){
	header#masthead .main-navigation ul li::before{
		display: none;
	}
	header#masthead div.menu-primary-menu-container {
		display: none;
	}
	header#masthead div.menu-mobile-menu-container {
		display: flex;
	}
	header#masthead {
		flex-direction: column-reverse;
	}
	header#masthead .lower-nav {
		justify-content: end;
		padding: 8px 2em;
	}

	header#masthead .lower-nav .contact-wrapper a{
		font-size: 0.85em;
	}

	header#masthead .upper-nav{
		padding: 5px 2em 10px;
	}
	header#masthead .upper-nav .buttons-wrapper {
		margin-right: 55px;
	}
	header#masthead .main-navigation ul li.active > a {
		color: var(--gold);
	}
	header#masthead .main-navigation .menu-toggle {
		display: block;
		margin: auto;
	}

	header#masthead .main-navigation {
		display: flex;
		position: fixed;
		right: 1em;
		flex-direction: column;
		justify-content: center;
		z-index: 9999;
		top: 55px;
	}

	header#masthead .main-navigation ul#mobile-menu {
		background: #f8f8f8;
		height: 100vh;
		top: 0;
		left: -500px;
		position: fixed;
		width: calc(100% - 85px);
		max-width:400px;
		min-width:150px;
		padding: 35px 20px 35px 5%!important;
		display: flex!important;
		flex-direction: column;
		justify-content: center;
		transition: all 1s ease;
	}

	header#masthead .main-navigation.toggled ul#mobile-menu {
		background: #f8f8f8;
		z-index:9999;
		height: 100vh;
		top: 0;
		left: 0;
		position: fixed;
		width: calc(100% - 85px);
		max-width:400px;
		min-width:150px;
		padding: 35px 20px 35px 5%!important;
		display: flex!important;
		flex-direction: column;
		justify-content: flex-start;
		transition: all 1s ease;
	}

	header#masthead .main-navigation ul li {
		padding: 8px 20px;
		margin: 0;
		font-size: 1.25em;
	}

	header#masthead .main-navigation ul li:first-child{
		padding: 8px 20px;
	}

	header#masthead .main-navigation ul ul {
		margin: 0;
		padding: 0 0 0 .5em;
		opacity: .65;
	}

	header#masthead .main-navigation ul li.menu-item-has-children::after {
		width: 10px;
		height: 10px;
		right: 5px;
		top: 10px;
		cursor: pointer;
	}

	header#masthead .main-navigation ul li.menu-item-has-children:hover::after {
		transform: rotate(135deg);
		top: 10px;
	}

	header#masthead .main-navigation ul ul li:first-child{
		padding: 8px 0;
	}

	header#masthead .main-navigation ul ul li a {
		font-size: 1rem !important;
		margin-bottom: 6px !important;
	}

	header#masthead .main-navigation ul li {
		width: 100%;
	}

	.main-navigation ul li:hover > ul,
	.main-navigation ul li.focus > ul {
		height: auto;
		opacity: 1;
		pointer-events: all;
	}

	.main-navigation ul ul {
		float: unset;
		position: relative;
		top: 0;
		padding: 0;
		height: 0;
		opacity: 0;
		pointer-events: none;
		transition: all .35s;
	}

	header#masthead .main-navigation ul.sub-menu li:nth-last-child(1),
	header#masthead .main-navigation ul.sub-menu li:nth-last-child(2) {
		background-color: transparent;
		padding: 8px 0;
		margin: 0;
	}

	header#masthead .main-navigation ul.sub-menu li:nth-last-child(1):hover,
	header#masthead .main-navigation ul.sub-menu li:nth-last-child(2):hover {
		background-color: transparent;
		margin: 0;
	}

	header#masthead .main-navigation ul.sub-menu li:nth-last-child(1) a,
	header#masthead .main-navigation ul.sub-menu li:nth-last-child(2) a {
		font-size: 1rem;
		font-weight: 400;
		color: var(--black);
	}

	header#masthead .main-navigation ul.sub-menu li:nth-last-child(1):hover a,
	header#masthead .main-navigation ul.sub-menu li:nth-last-child(2):hover a {
		margin: 0 0 15px;
		padding-bottom: 3px;
		color: var(--gold);
	}

	header#masthead .main-navigation ul li:nth-last-child(1) {
		border: 0;
		background: var(--green);
		padding: 14px 20px 12px;
		cursor: pointer;
		transition: all 0.2s ease;
		display: flex;
		flex-direction: row;
		gap: 2px;
		align-items: center;
		position: relative;
		overflow: hidden;
	}

	header#masthead .main-navigation ul li:nth-last-child(1) a,
	header#masthead .main-navigation ul li:nth-last-child(2) a{
		color: var(--white);
		margin-bottom: 0;
		font-family: var(--dmsans);
		white-space: nowrap;
		font-weight: 500;
		color: var(--white);
		font-size: 0.85em;
	}

	header#masthead .main-navigation ul li:nth-last-child(2):hover a,
	header#masthead .main-navigation ul li:nth-last-child(1):hover a{
		margin: 0;
		line-height: 1em;
		padding:0;
	}

	header#masthead .main-navigation ul li:nth-last-child(2):hover,
	header#masthead .main-navigation ul li:nth-last-child(1):hover {
		background: var(--black);
		transition: all 0.2s ease;
		margin-bottom: 15px;
	}

	header#masthead .main-navigation ul li:nth-last-child(2) {
		background: var(--gold);
		border: 0;
		margin-bottom: 15px;
		padding: 14px 20px 12px;
		cursor: pointer;
		transition: all 0.2s ease;
		display: flex;
		flex-direction: row;
		gap: 2px;
		align-items: center;
		position: relative;
		overflow: hidden;
	}

	header#masthead .main-navigation ul li a,
	header#masthead .main-navigation ul li:hover a,
	header#masthead .main-navigation ul li:focus a{
		margin: 0 0 15px;
		line-height: 1em;
		padding-bottom:3px;
	}

	header#masthead .main-navigation ul li.current_page_item a,
	header#masthead .main-navigation ul li ul li.current_page_item a,
	header#masthead .main-navigation ul li.current_page_item:hover a,
	header#masthead .main-navigation ul li.current_page_item:focus a {
		margin: 0 0 15px;
		padding-bottom:3px;
	}


	header#masthead .main-navigation ul li {
		height: auto;
	}

	header#masthead .main-navigation ul li:hover,
	header#masthead .main-navigation ul li:focus{
		margin:0;
		font-size: 1.25em;
	}

	header#masthead .main-navigation ul ul{
		box-shadow: none;
	}

	header#masthead button div:first-child {
		 margin: 0px 0 5px;
	}

	header#masthead button div {
		height: 3px;
		width: 34px;
		background: var(--black);
		 margin: 5px 0;
		transition: all 0.3s ease;
	}

	header#masthead button:hover div,
	header#masthead button:focus div {
		background: var(--gold)0;
		transition: all 0.3s ease;
	}

	header#masthead button div:last-child {
		margin: 5px 0 8px;
		transition: all 0.3s ease;
	}


	header#masthead nav#site-navigation.toggled button div:first-child {
		transform: rotate(45deg);
		width:34px;
		transform-origin: 6px 5px;
		transition: all 0.3s ease;
	}

	header#masthead nav#site-navigation.toggled button div {
		width:0;
		transition: all 0.3s ease;
	}

	header#masthead nav#site-navigation.toggled button div:last-child {
		transform: rotate(-45deg);
		width:34px;
		transform-origin: 8px -1px;
		transition: all 0.3s ease;
	}

	header#masthead .menu-toggle{
		background-color: transparent;
		color:var(--black);
		border:0;
		border-radius:0;
		font-size: 0.65em;
		cursor: pointer;
		padding: 0!important;
	}

	header#masthead .menu-toggle:hover,
	header#masthead .menu-toggle:focus {
		color: var(--gold);
		cursor: pointer;
		transition: all 0.3s ease;
	}

	header#masthead .menu-toggle:focus {
		outline: 0;
	}

	header.active .menu-toggle{
		color:var(--black)!important;
		transition: all 0.3s ease;
	}

	header.active button div{
		background-color:var(--black)!important;
		transition: all 0.3s ease;
	}

	header.active .menu-toggle:hover,
	header.active .menu-toggle:focus{
		color:var(--gold)!important;
		transition: all 0.3s ease;
	}

	header.active button:hover div,
	header.active button:focus div{
		background-color:var(--gold)!important;
		transition: all 0.3s ease;
	}

	/* Wrapper Uniform */
	section.home-hero,
	section.image-text,
	section.sectors,
	section.partners,
	section.systems,
	section.banner.green,
	section.green-hero,
	section.green-hero.white,
	section.green-hero.center,
	section.basic-content,
	section.card-details,
	section.faqs,
	section.single-portfolio-hero,
	section.gallery,
	section.main-content,
	section.portfolio,
	section.tds-loop,
	section.single-product,
	.woocommerce .woocommerce-breadcrumb,
	.single-product.woocommerce div.product,
	section.systems-wrapper,
	section.icons-banner {
		margin-left: 2em;
		margin-right: 2em;
	}

	footer#colophon .site-info {
		padding: 60px 2em;
	}

	footer#colophon .terms-banner-inner{
		padding: 10px 2em;
	}
}

@media screen and (max-width:1200px){
	.woocommerce .woocommerce-breadcrumb {
		padding: 130px 0 0px;
	}
	.post-type-archive-product.woocommerce .woocommerce-breadcrumb,
	.tax-product_cat .woocommerce-breadcrumb{
		padding: 0;
	}
	section.systems-wrapper .systems-filters {
		width: 300px;
	}
	section.systems-wrapper section.systems {
		width: calc(100% - 300px);
	}
	.woocommerce.single-product .product-details-wrapper {
		flex-direction: column;
		gap: 0;
	}
	.woocommerce.single-product .product-benefits {
		width: 100%;
		margin-top: 0;
		padding-right: 0;
	}
	.woocommerce.single-product .product-applications {
		width: 100%;
	}

	section.banner.green {
		padding: 40px 4%;
		flex-direction: column;
		gap: 10px;
		align-items: start;
	}

	section.form.contact {
		flex-direction: column;
		margin: 0 8% 70px;
	}
	section.form.contact .form-contact,
	section.form.contact .contact-detail-map {
		width: 100%;
	}
	section.form.contact .contact-detail-map {
		margin: 0;
	}
	section.sectors .sector img{
		height: 200px;
	}
	section.gallery{
		padding: 30px 0 0px;
	}
	section.gallery .row.thumbs-viewport { --thumbs-visible: 4; }
	section.main-content {
		padding: 70px 0 20px;
	}
	section.single-portfolio-hero{
		padding: 150px 0 30px;
	}
	.single-product.woocommerce div.product div.summary {
		width: 100%;
		padding: 50px 30px;
		margin-bottom: 50px;
	}
	.single-product div.product div.images img {
		max-width: unset;
		margin-bottom: 0;
	}
	.woocommerce div.product div.images.woocommerce-product-gallery {
		width: 100%;
	}
	.single-product .product-details-wrapper {
		display: unset;
	}
	.single-product .product-benefits {
		padding: 0;
	}
	section.gallery {
		flex-direction: column;
	}
	section.gallery .container {
		width: 100%;
	}
	section.main-content {
		padding: 45px 0 20px;
	}
	section.main-resource-content{
		padding: 30px 8% 30px;
	}
}

@media screen and (max-width:1100px){
	section.systems .individual-system {
		width: calc((100% / 2) - 20px);
	}
	section.single-product .wrapper {
		flex-direction: column;
		gap: 0;
	}
	section.single-product .wrapper .lhs {
		padding: 0;
		width: 100%;
	}
	section.single-product .wrapper .lhs {
		width: 100%;
		margin-bottom: 2em;
	}
}

@media screen and (max-width:1024px){
	section.faqs .wrapper{
		flex-direction: column;
		gap: 30px;
	}
	section.faqs .lhs,
	section.faqs .rhs{
		width: 100%;
	}
	.page-id-19 section.contact-detail-map {
		margin: 70px 8%;
		flex-direction: column;
		align-items: start;
	}
	.woocommerce.single-product .product-details-wrapper {
		grid-template-columns: 100%;
		gap: 0;
		width: 100%;
	}
	.woocommerce.single-product .product-applications {
		margin-top: 20px;
	}
	.woocommerce.single-product .product-benefits{
		margin-top: 0;
	}
	.woocommerce.single-product section.related.products {
		padding: 20px 0 0;
	}

	section.contact-detail-map {
		margin: 70px 8%;
	}
	section.sectors .sector {
		width: calc((100% / 2) - 15px);
	}

	section.portfolio .project {
		width: calc(33% - 15px);
	}
	section.banner {
		padding: 40px 220px 40px 30px;
		flex-direction: column;
		gap: 0;
		align-items: start;
	}
	section.image-text img,
	section.image-text.reversed img {
		width: 40%;
	}
	section.image-text .text,
	section.image-text.reversed .text  {
		width: 60%;
		padding: 30px 0;
	}

	section.image-text .text h2{
		font-size: 1.75em;
		font-weight: 550;
	}
	section.image-text.hero .text {
		width: 100%;
	}
	section.image-text.hero img {
		min-height: unset;
		width: 100%;
		position: absolute;
		transform: unset;
	}

	section.icons-banner {
		flex-direction: column;
	}

	section.main-content {
		padding: 45px 0 20px;
		flex-direction: column;
		gap: 30px;
	}
	section.main-content .wrapper {
		width: 100%;
	}
	section.single-product .product-details-wrapper {
		grid-template-columns: 100%;
		gap: 20px;
	}

	/* Wrapper Uniform */
	section.home-hero,
	section.image-text,
	section.sectors,
	section.partners,
	section.systems,
	section.banner.green,
	section.green-hero,
	section.green-hero.white,
	section.green-hero.center,
	section.basic-content,
	section.card-details,
	section.faqs,
	section.single-portfolio-hero,
	section.gallery,
	section.main-content,
	section.portfolio,
	section.tds-loop,
	section.single-product,
	.woocommerce .woocommerce-breadcrumb,
	.single-product.woocommerce div.product,
	section.systems-wrapper,
	section.icons-banner {
		margin-left: 1em;
		margin-right: 1em;
	}
}

@media screen and (max-width:991px){
	.tax-product_cat section.systems-wrapper .systems-filters {
		display: none;
	}
	.tax-product_cat section.systems-wrapper section.systems {
		padding: 0 8% 70px;
		width: 100%;
		margin: 0;
	}
}

@media (max-width: 960px) {
	.post-type-archive-systems section.systems-wrapper section.systems {
		width: 100%;
		padding: 0 8% 50px;
	}
	.post-type-archive-systems section.systems-wrapper {
		flex-direction: column;
	}

	.filters-toggle {
		display: inline-flex;
		align-items: center;
		gap: 6px;
	}

	.systems-filters {
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		width: 80vw;
		max-width: 360px;
		padding: 60px 20px 20px;
		background: var(--lightgrey, #f5f5f5);
		box-shadow: 2px 0 18px rgba(0,0,0,0.18);
		transform: translateX(-110%);
		transition: transform 0.25s ease;
		z-index: 9999;
		margin: 0;
		border-radius: 0;
		overflow-y: auto;
	}

	.systems-filters.is-open {
		transform: translateX(0);
	}

	.filters-backdrop {
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.35);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.25s ease;
		z-index: 9998;
	}

	.filters-backdrop.is-visible {
		opacity: 1;
		visibility: visible;
	}
	.post-type-archive-systems section.systems .systems-products {
		margin-top: 0;
	}
}


@media screen and (max-width:860px){
	.post-type-archive-resources section.portfolio .project {
		width: calc(50% - 10px);
	}
	header#masthead .upper-nav .buttons-wrapper{
		display: none;
	}
	section.portfolio .project {
		width: calc(50% - 15px);
	}
	section.banner {
		padding: 40px 5%;
	}

	section.image-text,
	section.image-text.reversed,
	.decorative-wrapper section.image-text--odd {
		flex-direction: column;
		gap: 0px;
	}
	section.image-text .text,
	section.image-text.reversed .text {
		width: 100%;
		padding: 0 0 30px;
	}
	section.image-text img,
	section.image-text.reversed img {
		width: 100%;
		aspect-ratio: 3 / 2;
	}

	section.main-content .wrapper {
		flex-direction: column-reverse;
		align-items: start;
	}
	section.main-content .intro {
		width: 100%;
	}
	section.contact-detail-map {
		flex-direction: column;
		align-items: start;
		gap: 30px;
		max-width: unset;
	}
	section.faqs .faq-item {
	width: 100%;
	}
}

@media screen and (max-width:768px){
	section.card-details img {
		width: 100%;
		height: 350px;
		margin-bottom: 0;
	}
	section.card-details .second{
		display: none;
	}
	section.card-details .image-wrapper {
		padding: 0 5%;
	}
	section.faqs {
		padding: 30px 5% 40px;
	}
	section.green-hero img{
		opacity: 0.3;
	}
	footer#colophon .terms-banner-inner {
		flex-wrap: wrap;
		gap: 20px;
		row-gap: 8px;
	}
	section.gallery .row.thumbs-viewport { --thumbs-visible: 3; }
	section.home-hero .text-wrapper {
		margin: 80px 5% 100px;
	}
	section.portfolio {
		padding: 70px 0;
	}
	section.image-text,
	section.image-text.reversed {
		padding: 70px 0;
	}
	.page-template-tpl-single-sector section.image-text.reversed{
		padding: 40px 5% 10px;
	}
	section.single-portfolio-hero {
		padding: 130px 0 30px;
	}
	section.green-hero.white{
		padding: 40px 5% 0px;
	}
	section.portfolio .tags-container h5{
		width: 100%;
	}
	section.tds-loop {
		padding: 30px 0 70px;
	}
	section.tds-loop a.tds-file {
		padding: 15px 5%;
	}
	.filters-wrapper {
		flex-direction: column;
		padding: 0 5%;
	}
	section.tds-loop .tds-filter .filter-select {
		min-width: 100%;
	}
	section.portfolio .tags-container {
		padding: 20px 30px;
		width: 100%;
		margin: 10px 0;
		gap: 15px;
		align-items: start;
	}
	section.gallery {
		padding: 30px 0 0px;
	}
	section.main-content {
		padding: 45px 0 20px;
	}
	section.systems .systems-products:hover .individual-system {
		opacity: 1;
	}
	section.card-details {
		padding: 0px 5%;
	}

	section.systems .systems-products .individual-system:hover {
		opacity: 1;
	}
	.tax-product_cat section.systems-wrapper section.systems {
		padding: 0 5% 70px;
	}
	section.gallery .prev {
		left: -25px;
	}
	section.gallery .next {
		right: -25px;
	}
	section.sectors {
		padding: 70px 0;
	}
	section.banner.green {
		padding: 40px 4%;
	}
	section.single-product .wrapper .lhs {
		padding: 0 5%;
	}
	section.card-details {
		padding: 40px 0 0;
	}
	section.card-details .card {
		padding: 0px 5%;
	}
	section.single-product .product-details-wrapper,
	.single-systems nav.breadcrumbs,
	section.single-product .wrapper .lhs .buttons-wrapper{
		padding: 0 5%;
		gap: 0px;
	}
	.single-systems section.systems .systems-products {
		margin-top: 0px;
	}
	.page-template-tpl-about section.image-text, section.image-text.reversed{
		padding: 40px 0;
	}

	section.main-resource-content {
		padding: 30px 5% 30px;
	}
	section.contact-detail-map {
		margin: 70px 5%;
	}
	section.single-product {
		padding: 130px 0 40px;
	}
	section.green-hero.center {
		padding: 160px 4% 90px;
	}
	section.form.contact {
		margin: 0 0 70px;
	}
	section.systems {
		padding: 70px 5%;
	}
	section.systems .individual-system {
		width: calc((100% / 2) - 15px);
	}
	section.green-hero {
		padding: 70px 4%;
	}
	.system-ft-products {
		margin: 50px 5% 0;
	}
	.single-product.woocommerce div.product div.summary {
		padding: 30px 15px 15px;
		margin-bottom: 40px;
	}
	.page-id-19 section.contact-detail-map {
		margin: 70px 5%;
	}
	footer#colophon .site-info a, footer#colophon .site-info p, footer#colophon .site-info li{
		font-size: 1em;
	}
	section.systems-wrapper .systems-filters{
		padding: 70px 20px;
	}
	.filters-toggle{
		margin: 30px 5% 0;
	}
}

@media screen and (max-width:640px){
	.centered-heading {
		text-align: start;
		margin: 0;
	}
	section.sectors .sector {
		width: 100%;
	}
	section.banner img{
		opacity: 0.2;
		right: 0%;
	}
	section.single-product .product-details-wrapper ul.acf-product-list li {
		width: calc(50% - 20px);
	}

	section.single-product .product-details-wrapper ul.acf-product-list li img{
		width: unset;
	}
	.post-type-archive-resources section.portfolio .project {
		width: 100%;
	}
}

@media screen and (max-width:560px){
	footer#colophon .logos-widget {
		max-width: 100%;
	}
}

@media screen and (max-width:480px){
	section.portfolio .project {
		width: 100%;
	}
	header#masthead .main-navigation {
		top: 49px;
	}
	header#masthead a.custom-logo-link img.custom-logo {
		height: 45px;
		padding-top: 5px;
	}
	section.home-hero .text-wrapper h1,
	section.home-hero .text-wrapper .hero-title{
		font-size: 2.6em;
	}
	section.portfolio #category-filter, section.portfolio #tag-filter {
		margin: 0;
		padding: 0;
		background: var(--lightgrey);
	}
	section.gallery .row.thumbs-viewport { --thumbs-visible: 2; }

	section.portfolio .tags-container{
		background-color: white;
		padding: 0;
		gap: 10px;
		margin: 20px 0 0;
	}
	section.portfolio #category-filter, section.portfolio #tag-filter {
		padding: 10px 13px;
	}
	section.main-content .wrapper .system-product {
		flex-direction: column;
		align-items: start;
		gap: 0;
	}
	.single-projects section.portfolio .center-heading {
		margin: 0 auto 30px;
		text-align: start;
	}
	section.gallery .project-details {
		padding: 30px 15px;
		width: 100%;
	}
}

@media screen and (max-width:430px){
	section.systems .individual-system,
	section.systems .individual-system {
		width: 100%;
	}
	section.systems .systems-products{
		row-gap: 20px;
		margin-top: 20px;
	}
	.center-heading .guides-mini-nav {
		gap: 10px;
	}
}

@media screen and (max-width:380px){
	.center-heading .guides-mini-nav {
		flex-direction: column;
		align-items: start;
		padding-top: 20px;
	}
}
