@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 */
html {
  line-height: 1.15; /* 1 */
}

/* Sections
 * ========================================================================== */
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Correct the inheritance of border color in Firefox.
 * 3. Show the overflow in Edge 18- and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  color: inherit; /* 2 */
  height: 0; /* 1 */
  overflow: visible; /* 3 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * 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; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  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; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * 1. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
table {
  border-color: inherit; /* 1 */
  text-indent: 0; /* 2 */
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

* {
  box-sizing: border-box;
}
*::before {
  box-sizing: border-box;
}
*::after {
  box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@font-face {
  font-family: Gilroy;
  src: url(../assets/fonts/Gilroy-Regular.ttf);
}
@font-face {
  font-family: Gilroy;
  src: url(../assets/Gilroy-RegularItalic.ttf);
  font-style: italic;
}
@font-face {
  font-family: Gilroy;
  src: url(../assets/fonts/Gilroy-Medium.ttf);
  font-weight: 500;
}
@font-face {
  font-family: Gilroy;
  src: url(../assets/fonts/Gilroy-MediumItalic.ttf);
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: Gilroy;
  src: url(../assets/fonts/Gilroy-SemiBold.ttf);
  font-weight: 600;
}
@font-face {
  font-family: Gilroy;
  src: url(../assets/fonts/Gilroy-Bold.ttf);
  font-weight: bold;
}
@font-face {
  font-family: Gilroy;
  src: url(../assets/fonts/Gilroy-BoldItalic.ttf);
  font-weight: bold;
  font-style: italic;
}
.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Pro");
  font-weight: var(--fa-style, 900);
}

.fa,
.fa-classic,
.fa-sharp,
.fas,
.fa-solid,
.far,
.fa-regular,
.fal,
.fa-light,
.fat,
.fa-thin,
.fad,
.fa-duotone,
.fass,
.fa-sharp-solid,
.fab,
.fa-brands {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fas,
.fa-classic,
.fa-solid,
.far,
.fa-regular,
.fal,
.fa-light,
.fat,
.fa-thin {
  font-family: "Font Awesome 6 Pro";
}

.fab,
.fa-brands {
  font-family: "Font Awesome 6 Brands";
}

.fad,
.fa-classic.fa-duotone,
.fa-duotone {
  font-family: "Font Awesome 6 Duotone";
}

.fass,
.fa-sharp {
  font-family: "Font Awesome 6 Sharp";
  font-weight: 900;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-right-from-bracket::before {
  content: "\f2f5";
}

.fa-sign-out-alt::before {
  content: "\f2f5";
}

.fa-laptop::before {
  content: "\f109";
}

.fa-bars::before {
  content: "\f0c9";
}

.fa-navicon::before {
  content: "\f0c9";
}

.fa-circle-exclamation::before {
  content: "\f06a";
}

.fa-exclamation-circle::before {
  content: "\f06a";
}

.fa-pen-to-square::before {
  content: "\f044";
}

.fa-edit::before {
  content: "\f044";
}

.fa-users::before {
  content: "\f0c0";
}

.fa-user-helmet-safety::before {
  content: "\f82c";
}

.fa-user-construction::before {
  content: "\f82c";
}

.fa-user-hard-hat::before {
  content: "\f82c";
}

.fa-angle-right::before {
  content: "\f105";
}

.fa-user::before {
  content: "\f007";
}

.fa-star::before {
  content: "\f005";
}

.fa-money-check-pen::before {
  content: "\f872";
}

.fa-money-check-edit::before {
  content: "\f872";
}

.fa-head-side-headphones::before {
  content: "\f8c2";
}

.fa-phone-rotary::before {
  content: "\f8d3";
}

.fa-arrow-right::before {
  content: "\f061";
}

.fa-mobile-screen-button::before {
  content: "\f3cd";
}

.fa-mobile-alt::before {
  content: "\f3cd";
}

.fa-basket-shopping::before {
  content: "\f291";
}

.fa-shopping-basket::before {
  content: "\f291";
}

.fa-envelope::before {
  content: "\f0e0";
}

.fa-minus::before {
  content: "\f068";
}

.fa-subtract::before {
  content: "\f068";
}

.fa-calculator::before {
  content: "\f1ec";
}

.fa-download::before {
  content: "\f019";
}

.fa-id-card::before {
  content: "\f2c2";
}

.fa-drivers-license::before {
  content: "\f2c2";
}

.fa-house::before {
  content: "\f015";
}

.fa-home::before {
  content: "\f015";
}

.fa-home-alt::before {
  content: "\f015";
}

.fa-home-lg-alt::before {
  content: "\f015";
}

.fa-angle-down::before {
  content: "\f107";
}

.fa-envelope-open-text::before {
  content: "\f658";
}

.fa-magnifying-glass::before {
  content: "\f002";
}

.fa-search::before {
  content: "\f002";
}

.fa-plus::before {
  content: "\+";
}

.fa-add::before {
  content: "\+";
}

.fa-check::before {
  content: "\f00c";
}

.fa-angle-left::before {
  content: "\f104";
}

.fa-circle-xmark::before {
  content: "\f057";
}

.fa-times-circle::before {
  content: "\f057";
}

.fa-xmark-circle::before {
  content: "\f057";
}

.fa-notdef::before {
  content: "\e1fe";
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */
.fad.fa-right-from-bracket::after, .fa-duotone.fa-right-from-bracket::after {
  content: "\f2f5\f2f5";
}

.fad.fa-sign-out-alt::after, .fa-duotone.fa-sign-out-alt::after {
  content: "\f2f5\f2f5";
}

.fad.fa-laptop::after, .fa-duotone.fa-laptop::after {
  content: "\f109\f109";
}

.fad.fa-bars::after, .fa-duotone.fa-bars::after {
  content: "\f0c9\f0c9";
}

.fad.fa-navicon::after, .fa-duotone.fa-navicon::after {
  content: "\f0c9\f0c9";
}

.fad.fa-circle-exclamation::after, .fa-duotone.fa-circle-exclamation::after {
  content: "\f06a\f06a";
}

.fad.fa-exclamation-circle::after, .fa-duotone.fa-exclamation-circle::after {
  content: "\f06a\f06a";
}

.fad.fa-pen-to-square::after, .fa-duotone.fa-pen-to-square::after {
  content: "\f044\f044";
}

.fad.fa-edit::after, .fa-duotone.fa-edit::after {
  content: "\f044\f044";
}

.fad.fa-users::after, .fa-duotone.fa-users::after {
  content: "\f0c0\f0c0";
}

.fad.fa-user-helmet-safety::after, .fa-duotone.fa-user-helmet-safety::after {
  content: "\f82c\f82c";
}

.fad.fa-user-construction::after, .fa-duotone.fa-user-construction::after {
  content: "\f82c\f82c";
}

.fad.fa-user-hard-hat::after, .fa-duotone.fa-user-hard-hat::after {
  content: "\f82c\f82c";
}

.fad.fa-angle-right::after, .fa-duotone.fa-angle-right::after {
  content: "\f105\f105";
}

.fad.fa-user::after, .fa-duotone.fa-user::after {
  content: "\f007\f007";
}

.fad.fa-star::after, .fa-duotone.fa-star::after {
  content: "\f005\f005";
}

.fad.fa-money-check-pen::after, .fa-duotone.fa-money-check-pen::after {
  content: "\f872\f872";
}

.fad.fa-money-check-edit::after, .fa-duotone.fa-money-check-edit::after {
  content: "\f872\f872";
}

.fad.fa-head-side-headphones::after, .fa-duotone.fa-head-side-headphones::after {
  content: "\f8c2\f8c2";
}

.fad.fa-phone-rotary::after, .fa-duotone.fa-phone-rotary::after {
  content: "\f8d3\f8d3";
}

.fad.fa-arrow-right::after, .fa-duotone.fa-arrow-right::after {
  content: "\f061\f061";
}

.fad.fa-mobile-screen-button::after, .fa-duotone.fa-mobile-screen-button::after {
  content: "\f3cd\f3cd";
}

.fad.fa-mobile-alt::after, .fa-duotone.fa-mobile-alt::after {
  content: "\f3cd\f3cd";
}

.fad.fa-basket-shopping::after, .fa-duotone.fa-basket-shopping::after {
  content: "\f291\f291";
}

.fad.fa-shopping-basket::after, .fa-duotone.fa-shopping-basket::after {
  content: "\f291\f291";
}

.fad.fa-envelope::after, .fa-duotone.fa-envelope::after {
  content: "\f0e0\f0e0";
}

.fad.fa-minus::after, .fa-duotone.fa-minus::after {
  content: "\f068\f068";
}

.fad.fa-subtract::after, .fa-duotone.fa-subtract::after {
  content: "\f068\f068";
}

.fad.fa-calculator::after, .fa-duotone.fa-calculator::after {
  content: "\f1ec\f1ec";
}

.fad.fa-download::after, .fa-duotone.fa-download::after {
  content: "\f019\f019";
}

.fad.fa-id-card::after, .fa-duotone.fa-id-card::after {
  content: "\f2c2\f2c2";
}

.fad.fa-drivers-license::after, .fa-duotone.fa-drivers-license::after {
  content: "\f2c2\f2c2";
}

.fad.fa-house::after, .fa-duotone.fa-house::after {
  content: "\f015\f015";
}

.fad.fa-home::after, .fa-duotone.fa-home::after {
  content: "\f015\f015";
}

.fad.fa-home-alt::after, .fa-duotone.fa-home-alt::after {
  content: "\f015\f015";
}

.fad.fa-home-lg-alt::after, .fa-duotone.fa-home-lg-alt::after {
  content: "\f015\f015";
}

.fad.fa-angle-down::after, .fa-duotone.fa-angle-down::after {
  content: "\f107\f107";
}

.fad.fa-envelope-open-text::after, .fa-duotone.fa-envelope-open-text::after {
  content: "\f658\f658";
}

.fad.fa-magnifying-glass::after, .fa-duotone.fa-magnifying-glass::after {
  content: "\f002\f002";
}

.fad.fa-search::after, .fa-duotone.fa-search::after {
  content: "\f002\f002";
}

.fad.fa-plus::after, .fa-duotone.fa-plus::after {
  content: "\+\+";
}

.fad.fa-add::after, .fa-duotone.fa-add::after {
  content: "\+\+";
}

.fad.fa-check::after, .fa-duotone.fa-check::after {
  content: "\f00c\f00c";
}

.fad.fa-angle-left::after, .fa-duotone.fa-angle-left::after {
  content: "\f104\f104";
}

.fad.fa-circle-xmark::after, .fa-duotone.fa-circle-xmark::after {
  content: "\f057\f057";
}

.fad.fa-times-circle::after, .fa-duotone.fa-times-circle::after {
  content: "\f057\f057";
}

.fad.fa-xmark-circle::after, .fa-duotone.fa-xmark-circle::after {
  content: "\f057\f057";
}

.fad.fa-notdef::after, .fa-duotone.fa-notdef::after {
  content: "\e1fe\e1fe";
}

.sr-only,
.fa-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.sr-only-focusable:not(:focus),
.fa-sr-only-focusable:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/*!
 * Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2022 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-duotone: "Font Awesome 6 Duotone";
  --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
}

@font-face {
  font-family: "Font Awesome 6 Duotone";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../assets/fonts/fa-duotone-900.woff2") format("woff2"), url("../assets/fonts/fa-duotone-900.ttf") format("truetype");
}
.fad,
.fa-duotone {
  position: relative;
  font-weight: 900;
  letter-spacing: normal;
}

.fad::before,
.fa-duotone::before {
  position: absolute;
  color: var(--fa-primary-color, inherit);
  opacity: var(--fa-primary-opacity, 1);
}

.fad::after,
.fa-duotone::after {
  color: var(--fa-secondary-color, inherit);
  opacity: var(--fa-secondary-opacity, 0.4);
}

.fa-swap-opacity .fad::before,
.fa-swap-opacity .fa-duotone::before,
.fad.fa-swap-opacity::before,
.fa-duotone.fa-swap-opacity::before {
  opacity: var(--fa-secondary-opacity, 0.4);
}

.fa-swap-opacity .fad::after,
.fa-swap-opacity .fa-duotone::after,
.fad.fa-swap-opacity::after,
.fa-duotone.fa-swap-opacity::after {
  opacity: var(--fa-primary-opacity, 1);
}

.fad.fa-inverse,
.fa-duotone.fa-inverse {
  color: var(--fa-inverse, #fff);
}

.fad.fa-stack-1x, .fad.fa-stack-2x,
.fa-duotone.fa-stack-1x, .fa-duotone.fa-stack-2x {
  position: absolute;
}

/*!
 * Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2022 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: "Font Awesome 6 Pro";
  --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
}

@font-face {
  font-family: "Font Awesome 6 Pro";
  font-style: normal;
  font-weight: 300;
  font-display: block;
  src: url("../assets/fonts/fa-light-300.woff2") format("woff2"), url("../assets/fonts/fa-light-300.ttf") format("truetype");
}
.fal,
.fa-light {
  font-weight: 300;
}

/*!
 * Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2022 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: "Font Awesome 6 Pro";
  --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Pro";
}

@font-face {
  font-family: "Font Awesome 6 Pro";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../assets/fonts/fa-regular-400.woff2") format("woff2"), url("../assets/fonts/fa-regular-400.ttf") format("truetype");
}
.far,
.fa-regular {
  font-weight: 400;
}

/*!
 * Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2022 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: "Font Awesome 6 Pro";
  --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Pro";
}

@font-face {
  font-family: "Font Awesome 6 Pro";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../assets/fonts/fa-solid-900.woff2") format("woff2"), url("../assets/fonts/fa-solid-900.ttf") format("truetype");
}
.fas,
.fa-solid {
  font-weight: 900;
}

/*!
 * Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2022 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-brands: "Font Awesome 6 Brands";
  --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../assets/fonts/fa-brands-400.woff2") format("woff2"), url("../assets/fonts/fa-brands-400.ttf") format("truetype");
}
.fab,
.fa-brands {
  font-weight: 400;
}

.fa-linkedin-in:before {
  content: "\f0e1";
}

.fa-facebook-f:before {
  content: "\f39e";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-pinterest:before {
  content: "\f0d2";
}

* {
  outline: none;
}

html {
  overflow-x: hidden;
}

html.wf-loading * {
  opacity: 0;
}

body {
  font-family: "Gilroy", sans-serif;
  font-style: normal;
  font-size: 16px;
  color: var(--text-colour);
  line-height: 1em;
  font-weight: 400;
  padding: 121px 0px 0px;
  margin: 0px;
  opacity: 0;
  transition: all 0.5s ease;
  overflow-x: hidden;
}
@media only screen and (max-width: 1199px) {
  body {
    padding: 71px 0px 0px;
  }
}
@media only screen and (max-width: 767px) {
  body {
    text-align: center;
    padding: 61px 0px 0px;
  }
}
body * {
  scroll-margin-top: 87px;
}
@media only screen and (max-width: 767px) {
  body * {
    scroll-margin-top: 61px;
  }
}
body.loaded {
  opacity: 1;
}

h1 {
  font-family: "Gilroy", sans-serif;
  font-size: 3.6em;
  color: var(--text-colour);
  line-height: 1.2em;
  font-weight: 700;
  margin: 0px 0px 5px;
}
@media only screen and (max-width: 767px) {
  h1 {
    font-size: 1.8em;
  }
}

h2 {
  font-family: "Gilroy", sans-serif;
  font-size: 2.6em;
  color: var(--secondary-colour);
  font-weight: 700;
  line-height: 1.2em;
  margin: 0px 0px 15px;
}
@media only screen and (max-width: 767px) {
  h2 {
    font-size: 1.6em;
  }
}

h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.8em;
  color: var(--secondary-colour);
  line-height: 1.2em;
  font-weight: 700;
  margin: 0px 0px 15px;
}
@media only screen and (max-width: 767px) {
  h3 {
    font-size: 1.6em;
  }
}

h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.4em;
  color: var(--secondary-colour);
  line-height: 1.2em;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0px 0px 15px;
}
@media only screen and (max-width: 767px) {
  h4 {
    font-size: 1.4em;
  }
}

.secondaryfont {
  font-family: "Gilroy", serif;
  font-size: 1.4em;
  font-style: italic;
  font-weight: 400;
}

p {
  font-family: "Gilroy", sans-serif;
  font-style: normal;
  font-size: 1em;
  color: var(--text-colour);
  line-height: 1.8em;
  margin: 0px 0px 15px;
}
@media only screen and (max-width: 959px) {
  p {
    font-size: 0.9em;
  }
}

ul, ol {
  padding-left: 20px;
  margin: 0px 0px 15px;
}

ul li, ol li {
  font-family: "Gilroy", sans-serif;
  font-style: normal;
  font-size: 1em;
  color: var(--text-colour);
  line-height: 1.8em;
}
@media only screen and (max-width: 959px) {
  ul li, ol li {
    font-size: 0.9em;
  }
}

strong {
  font-weight: 600;
}

a {
  color: var(--tertiary-colour);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.25s ease;
}
a:hover {
  color: var(--primary-colour);
}

.primarycolour {
  color: var(--primary-colour);
}

.secondarycolour {
  color: var(--secondary-colour);
}

.tertiarycolour {
  color: var(--tertiary-colour);
}

.whitetxt {
  color: #ffffff;
}

.darktxt {
  color: #000000;
}

.centertxt {
  text-align: center;
}

.righttxt {
  text-align: right;
}

.lgreybg {
  background: #f2f2f2;
}

.primarybg {
  background-color: var(--primary-colour);
}

.secondarybg {
  background-color: var(--secondary-colour);
}

.tertiarybg {
  background-color: var(--tertiary-colour);
}

.primaryborder {
  border-color: var(--primary-colour);
}

.secondaryborder {
  border-color: var(--secondary-colour);
}

.tertiaryborder {
  border-color: var(--tertiary-colour);
}

.flex {
  display: flex;
}

.centerbg {
  background-position: center;
}

.containbg {
  background-size: cover;
}

.consultancy-social {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .consultancy-social {
    justify-content: center;
  }
}
.consultancy-social.right {
  justify-content: flex-end;
}
@media only screen and (max-width: 767px) {
  .consultancy-social.right {
    justify-content: center;
  }
}
.consultancy-social h3 {
  width: 100%;
  margin: 0px 0px 10px;
}
.consultancy-social a {
  width: 60px;
  display: inline-block;
  font-size: 30px;
  color: #ffffff;
  text-align: center;
  background-color: #ffffff;
  border: 1px solid #d7d7d7;
  margin: 5px;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .consultancy-social a {
    width: 35px;
    font-size: 18px;
  }
}
.consultancy-social a i {
  width: 100%;
  line-height: 60px;
}
@media only screen and (max-width: 767px) {
  .consultancy-social a i {
    line-height: 35px;
  }
}
.consultancy-social a i.fa-facebook-f {
  color: #1877f2;
}
.consultancy-social a i.fa-twitter {
  color: #1da1f2;
}
.consultancy-social a i.fa-pinterest {
  color: #1877f2;
}
.consultancy-social a i.fa-linkedin-in {
  color: #007bb5;
}
.consultancy-social a i.fa-instagram {
  color: #c32aa3;
}
.consultancy-social a i.fa-youtube {
  color: #ff0000;
}
.consultancy-social a:hover i {
  color: var(--button-text-colour);
  background-color: var(--secondary-colour);
}

.slick-slide {
  outline: none;
}

@media only screen and (min-width: 1200px) {
  .nodesktop {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .notablet {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .nomobile {
    display: none;
  }
}
.container {
  width: 100%;
}

.wrapper {
  width: 100%;
  max-width: 1400px;
  padding: 0px 15px;
  margin: 0px auto;
}
.wrapper.restrict {
  max-width: 1300px;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.contentmargin {
  margin-top: 90px;
  margin-bottom: 90px;
}
@media only screen and (max-width: 767px) {
  .contentmargin {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

.contentmargintop {
  margin-top: 90px;
}
@media only screen and (max-width: 767px) {
  .contentmargintop {
    margin-top: 50px;
  }
}

.contentmarginbot {
  margin-bottom: 90px;
}
@media only screen and (max-width: 767px) {
  .contentmarginbot {
    margin-bottom: 50px;
  }
}

.contentpadding {
  padding-top: 90px;
  padding-bottom: 90px;
}
@media only screen and (max-width: 767px) {
  .contentpadding {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.contentpaddingtop {
  padding-top: 90px;
}
@media only screen and (max-width: 767px) {
  .contentpaddingtop {
    padding-top: 50px;
  }
}

.contentpaddingbot {
  padding-bottom: 90px;
}
@media only screen and (max-width: 767px) {
  .contentpaddingbot {
    padding-bottom: 50px;
  }
}

.smalltopmargin {
  margin-top: 30px;
}

.standardpage .wrapper {
  width: 900px;
}
.standardpage .wrapper h1 {
  margin: 0px 0px 15px;
}

ul.menu {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.menu li {
  width: auto;
  font-size: 1em;
}

div.menu > ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
div.menu > ul li {
  width: auto;
  font-size: 1em;
}

@media only screen and (max-width: 1199px) {
  .site-navigation {
    width: 300px;
    align-items: center;
    position: fixed;
    right: -300px;
    top: 110px;
    bottom: 0px;
    z-index: 10;
    background: var(--primary-colour);
    border-top: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    overflow: auto;
    transition: all 1.5s ease;
  }
}
@media only screen and (max-width: 767px) {
  .site-navigation {
    top: 60px;
  }
}
@media only screen and (max-width: 1199px) {
  .site-navigation.open {
    right: 0px;
  }
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .wrapper {
    padding: 0px;
  }
}
.site-navigation > div .menu > li {
  width: auto;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  font-size: 1em;
}
@media only screen and (max-width: 1499px) {
  .site-navigation > div .menu > li {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li {
    width: 100%;
    border-bottom: 1px solid #ffffff;
  }
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li:hover {
    width: 100%;
    border-bottom: 1px solid #ffffff;
  }
}
.site-navigation > div .menu > li:hover > a {
  color: var(--button-text-colour-hover);
  background: var(--primary-colour);
  border-bottom-color: var(--primary-colour);
}
.site-navigation > div .menu > li:hover > a:after {
  color: var(--button-text-colour-hover);
}
.site-navigation > div .menu > li:hover ul {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.open {
    display: flex;
  }
}
.site-navigation > div .menu > li.mobilelink {
  display: none;
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.mobilelink {
    display: flex;
  }
}
.site-navigation > div .menu > li > a {
  width: 100%;
  color: var(--secondary-colour);
  line-height: 80px;
  font-weight: 500;
  padding: 0px 20px;
  transition: border 0.5s ease;
}
@media only screen and (max-width: 1499px) {
  .site-navigation > div .menu > li > a {
    padding: 0px 10px;
  }
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li > a {
    font-size: 0.8em;
    color: var(--button-text-colour);
    line-height: 40px;
    padding: 0px 15px;
    border: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .site-navigation > div .menu > li > a {
    text-align: left;
  }
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li > a:hover {
    border: 0px;
  }
}
.site-navigation > div .menu > li.menu-item-has-children {
  position: relative;
}
.site-navigation > div .menu > li.menu-item-has-children > a:after {
  font-family: "Font Awesome 6 Pro";
  content: "\f107";
  font-size: 13px;
  font-weight: 500;
  margin-left: 10px;
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.menu-item-has-children > a:after {
    position: absolute;
    top: 0px;
    right: 15px;
    color: var(--button-text-colour);
    line-height: 40px;
    z-index: 1;
  }
}
.site-navigation > div .menu > li.menu-item-has-children > ul {
  width: 300px;
  display: none;
  flex-wrap: wrap;
  position: absolute;
  top: 80px;
  left: -1px;
  background: #ffffff;
  border: 1px solid #dbdbdb;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.menu-item-has-children > ul {
    width: 100%;
    position: static;
    flex-wrap: wrap;
    background: var(--secondary-colour);
    border-width: 1px 0px 0px;
  }
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li {
  width: 100%;
  font-size: 0.8em;
  border-bottom: 1px solid #dbdbdb;
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li:last-child {
  border-bottom: 0px;
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li:hover > a {
  color: var(--button-text-colour-hover);
  background: var(--primary-colour);
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.menu-item-has-children > ul > li:hover > a {
    color: var(--button-text-colour-hover);
    text-align: left;
  }
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li > a {
  width: 100%;
  display: inline-block;
  position: relative;
  color: var(--text-colour);
  font-weight: 700;
  padding: 0px 15px;
  line-height: 40px;
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.menu-item-has-children > ul > li > a {
    color: var(--button-text-colour);
    text-align: left;
  }
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li.menu-item-has-children {
  position: relative;
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li.menu-item-has-children:after {
  position: absolute;
  top: 0px;
  right: 15px;
  font-family: "Font Awesome 6 Pro";
  content: "\f107";
  color: var(--primary-colour);
  font-size: 13px;
  font-weight: 900;
  line-height: 40px;
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.menu-item-has-children > ul > li.menu-item-has-children:after {
    content: "\f107";
    color: var(--button-text-colour-hover);
  }
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li.menu-item-has-children:hover:after {
  color: var(--button-text-colour-hover);
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.menu-item-has-children > ul > li.menu-item-has-children:hover:after {
    color: var(--button-text-colour-hover);
  }
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li ul {
  width: 300px;
  display: none;
  flex-wrap: wrap;
  position: absolute;
  top: -1px;
  left: 298px;
  background: #ffffff;
  border: 1px solid #dbdbdb;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.menu-item-has-children > ul > li ul {
    width: 100%;
    position: static;
    flex-wrap: wrap;
    border-width: 1px 0px 0px;
  }
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li ul li {
  width: 100%;
  display: inline-block;
  font-size: 1em;
  border-bottom: 1px solid #dbdbdb;
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li ul li:last-child {
  border-bottom: 0px;
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li ul li a {
  width: 100%;
  display: inline-block;
  position: relative;
  color: var(--primary-colour);
  font-weight: 700;
  padding: 0px 15px;
  line-height: 40px;
}
@media only screen and (max-width: 1199px) {
  .site-navigation > div .menu > li.menu-item-has-children > ul > li ul li a {
    text-align: left;
  }
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li ul li a:hover {
  color: var(--button-text-colour-hover);
  background: var(--primary-colour);
}
.site-navigation > div .menu > li.menu-item-has-children > ul > li:hover ul {
  display: flex;
}
.site-navigation > div .menu > li.menu-item-has-children:hover {
  position: relative;
}
.site-navigation > div .menu > li.menu-item-has-children:hover > ul {
  display: flex;
}

.grid1 {
  display: grid;
  gap: 25px;
  grid-template-columns: 1fr;
}

.grid2 {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(2, minmax(auto, 1fr));
}
@media only screen and (max-width: 767px) {
  .grid2 {
    grid-template-columns: 1fr;
  }
}

.grid3 {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(3, minmax(auto, 1fr));
}
@media only screen and (max-width: 767px) {
  .grid3 {
    grid-template-columns: 1fr;
  }
}

.grid4 {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(4, minmax(auto, 1fr));
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .grid4 {
    grid-template-columns: repeat(2, minmax(auto, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .grid4 {
    grid-template-columns: 1fr;
  }
}

.grid5 {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(5, minmax(auto, 1fr));
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .grid5 {
    grid-template-columns: repeat(3, minmax(auto, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .grid5 {
    grid-template-columns: 1fr;
  }
}

.grid6 {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(6, minmax(auto, 1fr));
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .grid6 {
    grid-template-columns: repeat(3, minmax(auto, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .grid6 {
    grid-template-columns: 1fr;
  }
}

.statictop {
  width: 100%;
  position: fixed;
  top: 0px;
  left: 0px;
  background: #ffffff;
  z-index: 10;
  border-bottom: 1px solid #e8e8e8;
}

body.admin-bar .statictop {
  margin-top: 32px;
}

.topheader {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 0px 15px;
}
@media only screen and (max-width: 1199px) {
  .topheader {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .topheader {
    display: none;
  }
}
@media only screen and (max-width: 1199px) {
  .topheader > div.topnav {
    display: none;
  }
}
.topheader > div ul {
  display: flex;
  list-style: none;
  padding: 0px;
  margin: 0px;
}
@media only screen and (max-width: 1199px) {
  .topheader > div ul {
    justify-content: flex-end;
  }
}
.topheader > div ul li {
  font-size: 0.9em;
  font-weight: 500;
  line-height: 40px;
  padding: 0px 15px;
}
.topheader > div ul li a {
  color: var(--button-text-colour);
  transition: all 0.5s ease;
}
.topheader > div ul li a:hover {
  opacity: 0.7;
}
.topheader > div ul li a span {
  color: var(--tertiary-colour);
}
.topheader > div.links ul li:nth-child(odd) a {
  color: var(--tertiary-colour);
}

.header {
  display: grid;
  gap: 10px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  transition: background 0.5s ease;
  padding: 0px 25px;
}
@media only screen and (max-width: 1499px) {
  .header {
    grid-template-columns: auto 1fr auto;
    padding: 0px 15px;
  }
}
@media only screen and (max-width: 1199px) {
  .header {
    padding: 0px;
  }
}
@media only screen and (max-width: 559px) {
  .header {
    grid-template-columns: auto 1fr;
  }
}
.header .logo > a img {
  padding: 5px;
}
@media only screen and (max-width: 1199px) {
  .header .logo > a img {
    max-height: 80px;
    width: unset;
    margin: 0px;
    object-fit: contain;
  }
}
@media only screen and (max-width: 767px) {
  .header .logo > a img {
    max-height: 60px;
    margin: 0px;
  }
}
.header .cta {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr auto;
  align-items: center;
}
@media only screen and (max-width: 1499px) {
  .header .cta {
    gap: 15px;
  }
}
@media only screen and (max-width: 1199px) {
  .header .cta {
    padding-right: 0px;
  }
}
@media only screen and (max-width: 559px) {
  .header .cta {
    display: none;
  }
}
.header .cta .call {
  font-size: 1.8em;
  font-weight: 500;
  text-align: right;
}
@media only screen and (max-width: 1499px) {
  .header .cta .call {
    font-size: 1.4em;
  }
}
.header .cta .call a {
  color: var(--tertiary-colour);
}
.header .cta .btn {
  text-align: right;
}
@media only screen and (max-width: 1439px) {
  .header .cta .btn .linkbtn {
    max-width: 200px;
  }
}
@media only screen and (max-width: 1199px) {
  .header .cta .btn .linkbtn {
    display: none;
  }
}
.header .mobilebuttons {
  display: none;
  justify-content: flex-end;
}
@media only screen and (max-width: 1199px) {
  .header .mobilebuttons {
    display: flex;
  }
}
.header .mobilebuttons a {
  width: 70px;
  color: var(--text-colour);
  text-align: center;
  border-left: 1px solid #e8e8e8;
}
@media only screen and (max-width: 767px) {
  .header .mobilebuttons a {
    width: 60px;
  }
}
.header .mobilebuttons a i {
  font-size: 25px;
  line-height: 70px;
}
@media only screen and (max-width: 767px) {
  .header .mobilebuttons a i {
    line-height: 60px;
  }
}

.mobilecta {
  display: none;
  gap: 5px;
  margin: 5px 0px;
}
@media only screen and (max-width: 767px) {
  .mobilecta {
    display: grid;
    grid-template-columns: repeat(2, minmax(auto, 1fr));
  }
}
.mobilecta a.linkbtn {
  width: 100%;
  line-height: 40px;
  padding: 0px 20px;
  border-radius: 0px;
}
@media only screen and (max-width: 559px) {
  .mobilecta a.linkbtn {
    padding: 0px 10px;
  }
}
.mobilecta a.linkbtn:after {
  right: 10px;
  line-height: 40px;
}
@media only screen and (max-width: 559px) {
  .mobilecta a.linkbtn:after {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .footercta .wrapper {
    gap: 15px;
  }
}
@media only screen and (max-width: 1199px) {
  .footercta .wrapper img {
    width: 100%;
  }
}
.footercta .wrapper > div {
  border: 1px solid #cccccc;
}
.footercta .wrapper > div .txt {
  text-align: center;
  padding: 35px 15px;
}
@media only screen and (max-width: 1199px) {
  .footercta .wrapper > div .txt {
    padding: 15px;
  }
}
.footercta .wrapper > div .txt h3 {
  margin: 0px;
}
@media only screen and (max-width: 1199px) {
  .footercta .wrapper > div .txt h3 {
    font-size: 1.4em;
  }
}
.footercta .wrapper > div .txt p {
  font-size: 0.9em;
  color: var(--secondary-colour);
  margin: 20px 0px 0px;
}
@media only screen and (max-width: 1199px) {
  .footercta .wrapper > div .txt p {
    margin: 15px 0px 0px;
  }
}
.footercta .wrapper > div .txt .linkbtn {
  margin: 25px 0px 0px;
}
@media only screen and (max-width: 1199px) {
  .footercta .wrapper > div .txt .linkbtn {
    width: 100%;
    max-width: 245px;
    margin: 15px 0px 0px;
  }
}

.footer .wrapper .footertop {
  display: grid;
  gap: 25px;
  grid-template-columns: 300px 1fr 1fr 300px;
  padding: 60px 0px;
  border-bottom: 1px solid var(--button-text-colour);
}
@media only screen and (max-width: 1199px) {
  .footer .wrapper .footertop {
    grid-template-columns: 1fr 1fr 200px;
  }
}
@media only screen and (max-width: 767px) {
  .footer .wrapper .footertop {
    display: flex;
    flex-wrap: wrap;
    gap: 0px;
    padding: 30px 0px;
  }
}
.footer .wrapper .footertop h3 {
  font-size: 1.2em;
  color: var(--button-text-colour);
  font-weight: 400;
  margin: 0px;
}
.footer .wrapper .footertop p {
  font-size: 0.9em;
  color: var(--button-text-colour);
  margin: 15px 0px 0px;
}
.footer .wrapper .footertop p a {
  color: var(--button-text-colour);
  transition: all 0.5s ease;
}
.footer .wrapper .footertop p a:hover {
  opacity: 0.7;
}
.footer .wrapper .footertop ul {
  margin: 15px 0px 0px;
}
.footer .wrapper .footertop ul li {
  width: 100%;
}
.footer .wrapper .footertop ul li a {
  color: var(--button-text-colour);
  transition: all 0.5s ease;
}
.footer .wrapper .footertop ul li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 1199px) {
  .footer .wrapper .footertop .contact1 {
    display: none;
  }
}
.footer .wrapper .footertop .contact1 p {
  margin: 5px 0px 0px;
}
.footer .wrapper .footertop .contact1 p.call {
  font-size: 2.8em;
  font-weight: 500;
  line-height: 1.4em;
}
.footer .wrapper .footertop .contact1 p span {
  width: 100%;
  display: inline-block;
}
.footer .wrapper .footertop .footermenu {
  text-align: right;
}
@media only screen and (max-width: 1199px) {
  .footer .wrapper .footertop .footermenu {
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .footer .wrapper .footertop .footermenu {
    width: 50%;
    text-align: center;
    padding: 0px 10px;
  }
}
@media only screen and (max-width: 399px) {
  .footer .wrapper .footertop .footermenu {
    width: 100%;
    margin-bottom: 30px;
  }
}
.footer .wrapper .footertop .contact2 {
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .footer .wrapper .footertop .contact2 {
    width: 100%;
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid #ffffff;
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 399px) {
  .footer .wrapper .footertop .contact2 {
    margin-top: 0px;
  }
}
.footer .wrapper .footertop .contact2 p.address span:after {
  content: ",";
}
.footer .wrapper .footertop .contact2 p.address span:last-child:after {
  content: "";
}
.footer .wrapper .footertop .contact2 p span {
  width: 100%;
  display: inline-block;
}
.footer .footerbot {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 50px 0px;
}
@media only screen and (max-width: 1199px) {
  .footer .footerbot {
    padding: 40px 0px;
  }
}
@media only screen and (max-width: 767px) {
  .footer .footerbot {
    padding: 15px 0px;
  }
}
.footer .footerbot > div {
  width: 16.66%;
  font-size: 0.9em;
  text-align: center;
  padding: 10px;
}
@media only screen and (max-width: 1199px) {
  .footer .footerbot > div {
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .footer .footerbot > div {
    padding: 5px;
  }
}
.footer .footerbot > div a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  color: var(--button-text-colour);
  transition: all 0.5s ease;
}
.footer .footerbot > div a:hover {
  opacity: 0.7;
}
.footer .footerbot > div a i {
  width: 40px;
  font-size: 20px;
  color: var(--button-text-colour);
  line-height: 40px;
  text-align: center;
  background: var(--tertiary-colour);
  border-radius: 50%;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .footer .footerbot > div a i {
    margin-bottom: 0px;
  }
}
.footer .footerbot > div a span {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .footer .footerbot > div a span {
    display: none;
  }
}

.footercopy {
  position: relative;
}
.footercopy:before {
  width: 50%;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  content: "";
  background: var(--secondary-colour);
  z-index: 1;
}
.footercopy .wrapper {
  display: grid;
  gap: 10px;
  grid-template-columns: auto 1fr;
  align-items: center;
  position: relative;
  background: #ffffff;
  padding: 20px;
  z-index: 2;
}
@media only screen and (max-width: 1199px) {
  .footercopy .wrapper {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .footercopy .wrapper {
    padding: 15px;
  }
}
@media only screen and (max-width: 1199px) {
  .footercopy .wrapper .logo {
    display: none;
  }
}
.footercopy .wrapper .tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  margin-left: auto;
}
@media only screen and (max-width: 1199px) {
  .footercopy .wrapper .tag {
    width: 100%;
    justify-content: center;
  }
}
.footercopy .wrapper .tag > p {
  color: var(--secondary-colour);
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .footercopy .wrapper .tag > div.menu-privacy-container {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .footercopy .wrapper .tag > div.menu-privacy-container ul {
    justify-content: center;
  }
}
.footercopy .wrapper .tag > div.menu-privacy-container ul li {
  color: var(--secondary-colour);
}
@media only screen and (max-width: 767px) {
  .footercopy .wrapper .tag > div.menu-privacy-container ul li {
    font-size: 0.9em;
  }
}
.footercopy .wrapper .tag > div.menu-privacy-container ul li:after {
  content: " | ";
}
.footercopy .wrapper .tag > div.menu-privacy-container ul li:last-child:after {
  content: "";
}
.footercopy .wrapper .tag > div.menu-privacy-container ul li a {
  color: var(--secondary-colour);
}
.footercopy .wrapper .tag > div.menu-privacy-container ul li a:hover {
  color: var(--tertiary-colour);
}

.contag {
  margin-left: 20px;
}
@media only screen and (max-width: 1199px) {
  .contag {
    width: 100%;
    margin: 0px;
  }
}
.contag a {
  width: 170px;
  display: grid;
  gap: 5px;
  grid-template-columns: 70px auto;
  align-items: center;
  font-size: 12px;
  color: var(--text-colour);
  line-height: 14px;
  text-align: center;
  margin: 0px;
}
@media only screen and (max-width: 1199px) {
  .contag a {
    margin: 15px auto 0px;
  }
}

.quotepopup {
  display: none;
  position: fixed;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background: rgba(0, 0, 0, 0.7);
  z-index: 100;
}
.quotepopup > div {
  width: 100%;
  height: 100%;
  display: grid;
  align-items: center;
}
.quotepopup > div .content {
  width: calc(100% - 30px);
  max-width: 740px;
  background: #ffffff;
  padding: 40px 50px;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .quotepopup > div .content {
    padding: 25px 15px;
  }
}
.quotepopup > div .content h3 {
  font-weight: 700;
  text-align: center;
  margin: 0px 0px 40px;
}
@media only screen and (max-width: 767px) {
  .quotepopup > div .content h3 {
    font-size: 1.4em;
    margin: 0px 0px 25px;
  }
}
.quotepopup > div .content h3 i {
  width: 50px;
  font-size: 25px;
  line-height: 46px;
  border: 2px solid var(--primary-colour);
  border-radius: 50%;
  margin-right: 20px;
}
@media only screen and (max-width: 767px) {
  .quotepopup > div .content h3 i {
    width: 40px;
    font-size: 20px;
    line-height: 36px;
    margin-right: 5px;
  }
}
.quotepopup > div .content .btns .linkbtn {
  width: 100%;
  font-size: 19px;
  border-radius: 10px;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .quotepopup > div .content .btns .linkbtn {
    font-size: 17px;
    margin-bottom: 15px;
  }
}
.quotepopup > div .content .btns .linkbtn:nth-child(even) {
  color: #ffffff;
  background: var(--tertiary-colour);
  border-color: var(--tertiary-colour);
}
.quotepopup > div .content .btns .linkbtn:nth-child(even):hover {
  color: var(--button-text-colour);
  background: var(--secondary-colour);
}
.quotepopup > div .content .btns .linkbtn:last-child {
  margin: 0px;
}
.quotepopup > div .content .trade {
  margin-top: 20px;
}
.quotepopup > div .content .trade > div {
  text-align: center;
}
.quotepopup > div .content .trade > div.new {
  margin-bottom: 20px;
}
.quotepopup > div .content .trade > div p {
  width: 100%;
  font-size: 1.1em;
  font-weight: 600;
}
.quotepopup > div .content .trade > div > div a.btn {
  width: 100%;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr auto;
  align-items: center;
  color: var(--primary-colour);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  padding: 15px;
  border: 1px solid #d3d3d3;
  border-radius: 10px;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .quotepopup > div .content .trade > div > div a.btn {
    padding: 10px;
  }
}
.quotepopup > div .content .trade > div > div a.btn:after {
  width: 35px;
  font-size: 15px;
  font-family: "Font Awesome 6 Pro";
  font-weight: 100;
  line-height: 35px;
  content: "\f061";
  text-align: center;
  border-radius: 50%;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .quotepopup > div .content .trade > div > div a.btn:after {
    width: 20px;
    font-size: 10px;
    line-height: 20px;
  }
}
.quotepopup > div .content .trade > div > div a.btn.primary:after {
  color: var(--button-text-colour);
  background: var(--primary-colour);
}
.quotepopup > div .content .trade > div > div a.btn.tertiary:after {
  color: var(--button-text-colour);
  background: var(--tertiary-colour);
}
.quotepopup > div .content .trade > div > div a.btn:hover.primary:after, .quotepopup > div .content .trade > div > div a.btn:hover.tertiary:after {
  background: var(--secondary-colour);
}

.cookiebar {
  position: fixed;
  bottom: 0px;
  left: 0px;
  font-size: 0.85em;
  background: #ffffff;
  border-top-width: 7px;
  border-top-style: solid;
  z-index: 10;
}
.cookiebar .wrapper {
  grid-template-columns: auto 240px;
  padding: 15px;
}
@media only screen and (max-width: 767px) {
  .cookiebar .wrapper {
    grid-template-columns: 1fr;
    gap: 10px;
    text-align: center;
    padding: 10px 15px;
  }
}
.cookiebar .wrapper > p {
  flex: 2;
  padding: 0px 15px;
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .cookiebar .wrapper > p {
    width: 100%;
  }
}
.cookiebar .wrapper > div {
  width: 240px;
}
@media only screen and (max-width: 767px) {
  .cookiebar .wrapper > div {
    width: 100%;
  }
}

.blogcontent .wrapper {
  display: grid;
  gap: 30px;
  grid-template-columns: auto 400px;
}
@media only screen and (max-width: 959px) {
  .blogcontent .wrapper {
    grid-template-columns: auto 300px;
  }
}
@media only screen and (max-width: 767px) {
  .blogcontent .wrapper {
    grid-template-columns: 1fr;
  }
}
.blogcontent .wrapper #site-content article {
  padding: 45px;
  border: 1px solid #d0d0d0;
}
@media only screen and (max-width: 1199px) {
  .blogcontent .wrapper #site-content article {
    padding: 25px;
  }
}
@media only screen and (max-width: 959px) {
  .blogcontent .wrapper #site-content article {
    padding: 15px;
  }
}
.blogcontent .wrapper #site-content article header {
  margin-bottom: 45px;
}
@media only screen and (max-width: 1199px) {
  .blogcontent .wrapper #site-content article header {
    margin-bottom: 15px;
  }
}
.blogcontent .wrapper #site-content article header h2 {
  margin: 0px 0px 5px;
}
.blogcontent .wrapper #site-content article header h2 a {
  color: var(--text-colour);
}
.blogcontent .wrapper #site-content article header p {
  font-size: 0.9em;
  margin: 0px;
}
.blogcontent .wrapper #site-content article .entry-content p {
  color: #797979;
}
.blogcontent .wrapper #site-content article .postimg {
  width: 100%;
  height: 360px;
  display: inline-block;
  margin-top: 30px;
}
@media only screen and (max-width: 1199px) {
  .blogcontent .wrapper #site-content article .postimg {
    height: 200px;
    margin-top: 15px;
  }
}

.singlepost {
  display: grid;
  gap: 30px;
  grid-template-columns: auto 400px;
  align-items: start;
}
@media only screen and (max-width: 959px) {
  .singlepost {
    grid-template-columns: auto 300px;
  }
}
@media only screen and (max-width: 767px) {
  .singlepost {
    grid-template-columns: 1fr;
  }
}
.singlepost #site-content {
  padding: 20px;
  border: 1px solid #d0d0d0;
}
.singlepost .page-header h1 {
  margin-bottom: 25px;
}
.singlepost .page-header p {
  color: #797979;
}
.singlepost .page-header ul li {
  color: #797979;
}
.singlepost figure.wp-block-image {
  margin: 0px 0px 15px;
}
.singlepost .alignright {
  max-width: 50%;
  float: right;
  margin: 0px 0px 15px 15px;
}
@media only screen and (max-width: 767px) {
  .singlepost .alignright {
    max-width: 100%;
  }
}
.singlepost .alignleft {
  max-width: 50%;
  float: left;
  margin: 0px 15px 15px 0px;
}
@media only screen and (max-width: 767px) {
  .singlepost .alignleft {
    max-width: 100%;
  }
}
.singlepost .aligncenter {
  margin: 0px auto 15px;
}

.pagination {
  grid-column: span 2;
  margin-top: 25px;
}
.pagination h2 {
  display: none;
}
.pagination .nav-links a, .pagination .nav-links span {
  display: none;
}
.pagination .nav-links a.prev,
.pagination .nav-links a.next {
  width: auto;
  display: inline-block;
}
.pagination .nav-links a.prev {
  float: left;
}
.pagination .nav-links a.next {
  float: right;
}

.sidebar > div {
  padding: 20px;
  border: 1px solid #d0d0d0;
  margin-bottom: 20px;
}
@media only screen and (max-width: 959px) {
  .sidebar > div {
    padding: 15px;
    margin-bottom: 15px;
  }
}
.sidebar > div h4 {
  width: 100%;
}
.sidebar > div ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sidebar > div ul li {
  width: 100%;
  padding: 3px 0px;
}
.sidebar > div ul li a {
  width: 100%;
  display: inline-block;
  font-size: 0.9em;
  color: var(--button-text-colour);
  background: var(--primary-colour);
  padding: 5px 15px;
}
.sidebar > div ul li a:hover {
  color: var(--button-text-colour-hover);
  background: var(--secondary-colour);
}
.sidebar > div .consultancy-social a {
  width: 35px;
  height: 35px;
  font-size: 18px;
}
.sidebar > div .consultancy-social a i {
  line-height: 35px;
}
.sidebar .sidebarcta > div.new {
  margin-bottom: 20px;
}
.sidebar .sidebarcta > div p {
  font-weight: 600;
}
.sidebar .sidebarcta > div a.btn {
  width: 100%;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr auto;
  align-items: center;
  color: var(--secondary-colour);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  padding: 15px;
  border: 1px solid #d3d3d3;
  border-radius: 10px;
  transition: all 0.5s ease;
  margin: 20px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .sidebar .sidebarcta > div a.btn {
    padding: 10px;
  }
}
.sidebar .sidebarcta > div a.btn:after {
  width: 35px;
  font-size: 15px;
  font-family: "Font Awesome 6 Pro";
  font-weight: 100;
  line-height: 35px;
  content: "\f061";
  text-align: center;
  border-radius: 50%;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .sidebar .sidebarcta > div a.btn:after {
    width: 20px;
    font-size: 10px;
    line-height: 20px;
  }
}
.sidebar .sidebarcta > div a.btn.primary:after {
  color: var(--button-text-colour);
  background: var(--primary-colour);
}
.sidebar .sidebarcta > div a.btn.tertiary:after {
  color: var(--button-text-colour);
  background: var(--tertiary-colour);
}
.sidebar .sidebarcta > div a.btn:hover.primary:after, .sidebar .sidebarcta > div a.btn:hover.tertiary:after {
  background: var(--secondary-colour);
}

.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=number],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  font-family: "Gilroy", sans-serif;
  font-size: 1em;
  color: #252525;
  line-height: 20px;
  background: #ffffff;
  padding: 20px;
  border: 1px solid #cccccc;
  margin-top: 2px;
}
@media only screen and (max-width: 767px) {
  .wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=number],
.wpcf7 textarea,
.wpcf7 select {
    padding: 10px;
  }
}
.wpcf7 textarea {
  height: 150px;
}
.wpcf7 .privacy {
  position: relative;
  font-size: 0.8em;
  padding-bottom: 20px;
}
.wpcf7 .privacy span {
  position: static;
}
.wpcf7 .privacy .wpcf7-list-item {
  margin: 0px;
}
.wpcf7 .privacy .wpcf7-list-item .wpcf7-list-item-label {
  display: none;
}
.wpcf7 .privacy .wpcf7-not-valid-tip {
  position: absolute;
  bottom: 0px;
  left: 0px;
  z-index: 1;
}
.wpcf7 .submitbox {
  position: relative;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .wpcf7 .submitbox {
    text-align: center;
  }
}
.wpcf7 .submitbox .ajax-loader,
.wpcf7 .submitbox .wpcf7-spinner {
  position: absolute;
  left: 0px;
  bottom: 15px;
  margin: 0px;
}
.wpcf7 input[type=submit] {
  width: 200px;
  max-width: 100%;
  display: inline-block;
  font-size: 17px;
  color: var(--button-text-colour);
  font-weight: 500;
  line-height: 55px;
  text-align: center;
  background: var(--primary-colour);
  padding: 0px 15px;
  border: 0px;
  border-radius: 0px;
  cursor: pointer;
  outline: none;
  transition: background 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .wpcf7 input[type=submit] {
    line-height: 40px;
  }
}
.wpcf7 input[type=submit]:hover {
  color: var(--button-text-colour-hover);
  background: var(--secondary-colour);
}
.wpcf7 .wpcf7-not-valid-tip {
  font-size: 12px;
}
.wpcf7 .wpcf7-response-output {
  font-size: 0.8em;
  text-align: center;
}
.wpcf7 .sent .formbox,
.wpcf7 .sent .submitbox {
  display: none;
}

.quotecontent {
  padding: 75px 0px;
}
@media only screen and (max-width: 767px) {
  .quotecontent {
    padding: 50px 0px;
  }
}
.quotecontent .wpcf7 form {
  width: 100%;
  display: grid;
  grid-template-columns: 40% 60%;
}
@media only screen and (max-width: 959px) {
  .quotecontent .wpcf7 form {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 767px) {
  .quotecontent .wpcf7 form {
    grid-template-columns: 1fr;
  }
}
.quotecontent .wpcf7 form > div {
  padding: 0px 15px;
}
@media only screen and (max-width: 1199px) {
  .quotecontent .wpcf7 form > div {
    padding: 0px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .quotecontent .wpcf7 form > div {
    padding: 0px;
  }
}
.quotecontent .wpcf7 form input[type=text],
.quotecontent .wpcf7 form input[type=email],
.quotecontent .wpcf7 form input[type=number],
.quotecontent .wpcf7 form textarea {
  border: 0px;
}
@media only screen and (max-width: 767px) {
  .quotecontent .wpcf7 form input[type=text],
.quotecontent .wpcf7 form input[type=email],
.quotecontent .wpcf7 form input[type=number],
.quotecontent .wpcf7 form textarea {
    text-align: center;
  }
}
.quotecontent .wpcf7 form h4 {
  width: 100%;
  display: inline-block;
  font-size: 1.3em;
  padding-bottom: 15px;
  border-bottom: 1px solid #1b2d46;
  margin: 0px 0px 20px;
}
.quotecontent .wpcf7 form .lists .wpcf7-checkbox {
  width: 100%;
  display: inline-block;
  margin-bottom: 35px;
}
@media only screen and (max-width: 767px) {
  .quotecontent .wpcf7 form .lists .wpcf7-checkbox {
    margin-bottom: 0px;
  }
}
.quotecontent .wpcf7 form .lists .wpcf7-checkbox .wpcf7-list-item {
  width: 50%;
  float: left;
  padding: 2px;
  margin: 0px;
  vertical-align: top;
}
.quotecontent .wpcf7 form .lists .wpcf7-checkbox label {
  width: 100%;
  height: 35px;
  float: left;
  position: relative;
}
.quotecontent .wpcf7 form .lists .wpcf7-checkbox .wpcf7-list-item-label {
  width: 100%;
  float: left;
  position: absolute;
  top: 0px;
  left: 0px;
  font-size: 0.8em;
  line-height: 35px;
  background: #ffffff;
  padding: 0px 15px;
  z-index: 1;
}
.quotecontent .wpcf7 form .lists .wpcf7-checkbox .wpcf7-list-item-label {
  width: 100%;
  float: left;
  position: absolute;
  top: 0px;
  left: 0px;
  font-size: 0.8em;
  line-height: 35px;
  background: #ffffff;
  padding: 0px 15px;
  z-index: 1;
  transition: background 0.5s ease;
}
.quotecontent .wpcf7 form .lists .wpcf7-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label {
  color: var(--button-text-colour);
  background: var(--primary-colour);
}
.quotecontent .wpcf7 form .project .textarea textarea {
  height: 300px;
}

.quickquoteform .wpcf7 p.privacy {
  font-size: 0.9em;
  color: #797979;
}
.quickquoteform .wpcf7 p.privacy a {
  color: #000000;
}
.quickquoteform .wpcf7 p.privacy input {
  vertical-align: middle;
  margin-left: 5px;
}
.quickquoteform .wpcf7 p.input {
  position: relative;
  display: grid;
  gap: 0px;
  grid-template-columns: 50px 1fr;
  align-items: center;
  background: #fff8d4;
  margin: 0px 0px 10px;
}
.quickquoteform .wpcf7 p.input > i {
  font-size: 20px;
  text-align: center;
}
.quickquoteform .wpcf7 p.input input[type=text],
.quickquoteform .wpcf7 p.input input[type=email],
.quickquoteform .wpcf7 p.input input[type=number],
.quickquoteform .wpcf7 p.input textarea {
  height: 60px;
  display: block;
  line-height: 60px;
  background: none;
  border: 0px;
  padding: 0px 15px 0px 0px;
  margin: 0px;
}
.quickquoteform .wpcf7 p.input .wpcf7-not-valid-tip {
  position: absolute;
  bottom: 5px;
  right: 5px;
  z-index: 1;
}
.quickquoteform .wpcf7 .submitbox input[type=submit] {
  width: 100%;
}

ol.terms-list > li {
  counter-increment: root;
  margin-bottom: 20px;
}
ol.terms-list > li::marker {
  font-weight: bold;
}
ol.terms-list > li::before {
  font-weight: bold;
}
ol.terms-list > li > ol {
  counter-reset: subsection;
  list-style-type: none;
  padding-left: 0;
}
ol.terms-list > li > ol > li {
  counter-increment: subsection;
}
ol.terms-list > li > ol > li::before {
  content: counter(root) "." counter(subsection) " ";
  font-weight: bold;
}
ol.terms-list > li > ol > li > ol {
  counter-reset: subsubsection;
  list-style-type: none;
  padding-left: 25px;
}
ol.terms-list > li > ol > li > ol > li {
  counter-increment: subsubsection;
}
ol.terms-list > li > ol > li > ol > li::before {
  content: counter(root) "." counter(subsection) "." counter(subsubsection) " ";
  font-weight: bold;
}

.homebanner {
  position: relative;
}
.homebanner .before, .homebanner .after {
  width: 0px;
  height: 0px;
  position: absolute;
  bottom: 0px;
  content: "";
  z-index: 2;
}
.homebanner .before {
  left: 0px;
  border-left: 0px solid transparent;
  border-right: 500px solid transparent;
  border-bottom: 350px solid #ffffff;
}
@media only screen and (max-width: 1199px) {
  .homebanner .before {
    border-bottom: 175px solid #ffffff;
  }
}
@media only screen and (max-width: 767px) {
  .homebanner .before {
    border-bottom: 50px solid #ffffff;
  }
}
.homebanner .after {
  right: 0px;
  border-left: 500px solid transparent;
  border-right: 0px solid transparent;
  border-bottom: 350px solid #ffffff;
}
@media only screen and (max-width: 1199px) {
  .homebanner .after {
    border-bottom: 175px solid #ffffff;
  }
}
@media only screen and (max-width: 767px) {
  .homebanner .after {
    border-bottom: 50px solid #ffffff;
  }
}
.homebanner .background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: -1;
}
.homebanner .background:before {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  content: "";
  background: var(--secondary-colour);
  opacity: 0.3;
  z-index: 1;
}
.homebanner .background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homebanner .wrapper {
  max-width: 1200px;
  position: relative;
  z-index: 3;
}
.homebanner .wrapper .txt {
  text-align: center;
  padding: 125px 0px 90px;
}
@media only screen and (max-width: 767px) {
  .homebanner .wrapper .txt {
    padding: 50px 0px;
  }
}
.homebanner .wrapper .txt .title h1 {
  width: 100%;
  max-width: 850px;
  color: #ffffff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
  margin: 0px auto;
}
.homebanner .wrapper .txt .title p {
  font-size: 1.4em;
  color: #ffffff;
  font-weight: 500;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
  margin: 25px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .homebanner .wrapper .txt .title p {
    font-size: 1em;
    margin: 15px 0px 0px;
  }
}
.homebanner .wrapper .txt .subtitle {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .homebanner .wrapper .txt .subtitle {
    margin-top: 20px;
  }
}
.homebanner .wrapper .txt .subtitle p {
  width: auto;
  display: inline-block;
  font-size: 1.3em;
  color: var(--button-text-colour);
  font-weight: 500;
  line-height: 1.2em;
  background: var(--primary-colour);
  padding: 8px 15px;
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .homebanner .wrapper .txt .subtitle p {
    font-size: 1em;
    line-height: 1.4em;
  }
}
.homebanner .wrapper .cta {
  background: #ffffff;
  border-radius: 25px;
  box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.homebanner .wrapper .cta .trade {
  display: grid;
  gap: 25px;
  grid-template-columns: 1fr 1px 1fr 1px 1fr;
  padding: 30px;
}
@media only screen and (max-width: 1023px) {
  .homebanner .wrapper .cta .trade {
    gap: 15px;
    padding: 30px 20px;
  }
}
@media only screen and (max-width: 959px) {
  .homebanner .wrapper .cta .trade {
    gap: 15px;
    grid-template-columns: 1fr;
    padding: 15px;
  }
}
.homebanner .wrapper .cta .trade p {
  font-size: 1.1em;
  font-weight: 600;
  margin: 0px 0px 20px;
}
@media only screen and (max-width: 959px) {
  .homebanner .wrapper .cta .trade p {
    margin: 0px 0px 10px;
  }
}
.homebanner .wrapper .cta .trade a.btn {
  width: 100%;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr auto;
  align-items: center;
  color: var(--primary-colour);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  padding: 15px;
  border: 1px solid #d3d3d3;
  border-radius: 10px;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 959px) {
  .homebanner .wrapper .cta .trade a.btn {
    padding: 10px;
  }
}
.homebanner .wrapper .cta .trade a.btn:after {
  width: 35px;
  font-size: 15px;
  font-family: "Font Awesome 6 Pro";
  font-weight: 100;
  line-height: 35px;
  content: "\f061";
  text-align: center;
  border-radius: 50%;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 959px) {
  .homebanner .wrapper .cta .trade a.btn:after {
    width: 20px;
    font-size: 10px;
    line-height: 20px;
  }
}
.homebanner .wrapper .cta .trade a.btn.primary:after {
  color: var(--button-text-colour);
  background: var(--primary-colour);
}
.homebanner .wrapper .cta .trade a.btn.secondary:after {
  color: var(--button-text-colour);
  background: var(--secondary-colour);
}
.homebanner .wrapper .cta .trade a.btn.tertiary:after {
  color: var(--button-text-colour);
  background: var(--tertiary-colour);
}
.homebanner .wrapper .cta .trade a.btn:hover.primary:after, .homebanner .wrapper .cta .trade a.btn:hover.secondary:after, .homebanner .wrapper .cta .trade a.btn:hover.tertiary:after {
  background: var(--secondary-colour);
}
.homebanner .wrapper .cta .trade > div {
  padding: 5px 0px 15px;
}
.homebanner .wrapper .cta .trade > div.break {
  height: 100%;
  background: #d3d3d3;
  padding: 0px;
}
@media only screen and (max-width: 959px) {
  .homebanner .wrapper .cta .trade > div.break {
    height: 1px;
  }
}
.homebanner .wrapper .cta .trade > div.current > div {
  gap: 25px;
}
@media only screen and (max-width: 767px) {
  .homebanner .wrapper .cta .trade > div.current > div {
    gap: 15px;
    grid-template-columns: repeat(2, minmax(auto, 1fr));
  }
}
@media only screen and (max-width: 559px) {
  .homebanner .wrapper .cta .trade > div.current > div {
    grid-template-columns: 1fr;
  }
}
.homebanner .wrapper .cta .quote {
  display: grid;
  gap: 15px;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 30px;
}
@media only screen and (max-width: 767px) {
  .homebanner .wrapper .cta .quote {
    grid-template-columns: 1fr;
    padding: 15px;
  }
}
.homebanner .wrapper .cta .quote h3 {
  color: var(--button-text-colour-hover);
  margin: 0px;
}
.homebanner .wrapper .cta .quote p {
  color: var(--button-text-colour-hover);
  margin: 5px 0px 0px;
}

.productbanner {
  height: 575px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .productbanner {
    height: auto;
    padding: 50px 0px 150px;
  }
}
.productbanner .background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
}
.productbanner .background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.productbanner .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
  opacity: 0.96;
}
@media only screen and (max-width: 767px) {
  .productbanner .overlay {
    background: var(--secondary-colour);
    opacity: 0.9;
  }
}
.productbanner .overlay img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top;
}
@media only screen and (max-width: 1199px) {
  .productbanner .overlay img {
    object-fit: cover;
  }
}
@media only screen and (max-width: 767px) {
  .productbanner .overlay img {
    display: none;
  }
}
.productbanner .wrapper {
  max-width: 800px;
  position: relative;
  text-align: center;
  padding-top: 65px;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  .productbanner .wrapper {
    padding-top: 0px;
  }
}
.productbanner .wrapper h1, .productbanner .wrapper h2, .productbanner .wrapper h3 {
  font-size: 3em;
  color: #ffffff;
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .productbanner .wrapper h1, .productbanner .wrapper h2, .productbanner .wrapper h3 {
    font-size: 1.8em;
  }
}
.productbanner .wrapper p {
  color: #ffffff;
  margin: 25px 0px 0px;
}

.innerbanner {
  min-height: 300px;
  display: grid;
  align-items: center;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .innerbanner {
    min-height: 200px;
  }
}
.innerbanner .background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
}
.innerbanner .background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.innerbanner .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
  opacity: 0.96;
}
@media only screen and (max-width: 767px) {
  .innerbanner .overlay {
    background: var(--secondary-colour);
    opacity: 0.9;
  }
}
.innerbanner .overlay img {
  width: 100%;
  max-width: 900px;
  height: 100%;
  object-fit: cover;
  object-position: top;
  margin: 0px auto;
}
@media only screen and (max-width: 1199px) {
  .innerbanner .overlay img {
    object-fit: cover;
  }
}
@media only screen and (max-width: 767px) {
  .innerbanner .overlay img {
    display: none;
  }
}
.innerbanner .wrapper {
  max-width: 800px;
  align-items: center;
  position: relative;
  text-align: center;
  padding: 50px 15px;
  z-index: 3;
}
.innerbanner .wrapper h1, .innerbanner .wrapper h2, .innerbanner .wrapper h3 {
  font-size: 3em;
  color: #ffffff;
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .innerbanner .wrapper h1, .innerbanner .wrapper h2, .innerbanner .wrapper h3 {
    font-size: 1.8em;
  }
}
.innerbanner .wrapper p {
  color: #ffffff;
  margin: 25px 0px 0px;
}

.showcasewrapper {
  display: grid;
  gap: 0px;
  grid-template-columns: 1fr;
}

.showcase {
  gap: 0px;
}
.showcase:nth-of-type(odd) {
  background: #f2f2f2;
  padding-top: 50px;
  padding-bottom: 50px;
}
.showcase:nth-of-type(even) .txt {
  order: -1;
}
@media only screen and (max-width: 767px) {
  .showcase:nth-of-type(even) .txt {
    order: 0;
  }
}
.showcase .txt {
  display: grid;
  gap: 0px;
  grid-template-columns: 1fr;
  align-items: center;
  padding: 25px 15px;
}
.showcase .txt > div > div {
  width: 100%;
  max-width: 500px;
  margin: 0px auto;
}
.showcase .txt > div > div p {
  color: #797979;
}
@media only screen and (max-width: 767px) {
  .showcase .txt > div > div ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
  }
  .showcase .txt > div > div ul li:before {
    content: "•";
    margin-right: 4px;
  }
}
.showcase .txt > div > div .btns {
  margin-top: 50px;
}
@media only screen and (max-width: 1199px) {
  .showcase .txt > div > div .btns {
    margin-top: 25px;
  }
}
.showcase .txt > div > div .btns > div {
  width: 100%;
  margin-bottom: 12px;
}
.showcase .txt > div > div .btns > div:last-child {
  margin: 0px;
}
.showcase .img {
  height: 100%;
}
.showcase .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.showcase.productshowcase .txt {
  text-align: center;
}
.showcase.productshowcase .txt > div > div {
  max-width: 425px;
}
.showcase.productshowcase .txt > div > div h3 {
  font-size: 1.2em;
}
.showcase.productshowcase .txt > div > div .linkbtn {
  margin-top: 20px;
}

.tabs .tablist {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0px;
  border-bottom: 1px solid #e7e7e7;
}
.tabs .tablist li {
  width: 250px;
  max-width: 100%;
  display: flex;
}
@media only screen and (max-width: 1199px) {
  .tabs .tablist li {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 767px) {
  .tabs .tablist li {
    width: 100%;
  }
}
.tabs .tablist li a {
  width: 100%;
  display: flex;
  text-align: center;
  color: var(--text-colour);
  line-height: 60px;
  justify-content: center;
  background: #f1f4f5;
  padding: 0px 30px;
  transition: all 0.5s ease;
  margin-right: 10px;
}
@media only screen and (max-width: 1439px) {
  .tabs .tablist li a {
    padding: 0px 25px;
  }
}
@media only screen and (max-width: 1199px) {
  .tabs .tablist li a {
    line-height: 50px;
    padding: 0px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .tabs .tablist li a {
    width: 100%;
    display: inline-block;
    text-align: center;
    line-height: 40px;
    margin: 0px;
  }
}
.tabs .tablist li a.active {
  color: var(--button-text-colour);
  background: var(--primary-colour);
}
.tabs .tablist li:hover a {
  color: var(--button-text-colour-hover);
  background: var(--secondary-colour);
}
.tabs .tabcontainer {
  width: 100%;
}
.tabs .tabcontainer > div {
  width: 100%;
  display: none;
  flex-wrap: wrap;
}
.tabs .tabcontainer > div.active {
  display: flex;
}

.linkbtn {
  width: 245px;
  max-width: 100%;
  display: inline-block;
  position: relative;
  font-family: "Gilroy", sans-serif;
  font-size: 15px;
  color: var(--button-text-colour);
  font-weight: 600;
  line-height: 50px;
  text-align: center;
  background: var(--primary-colour);
  padding: 0px 30px;
  border: 1px solid;
  border-color: var(--primary-colour);
  border-radius: 10px;
  cursor: pointer;
  vertical-align: middle;
  transition: background 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .linkbtn {
    font-size: 13px;
    line-height: 40px;
  }
}
.linkbtn:after {
  position: absolute;
  top: 0px;
  right: 15px;
  font-family: "Font Awesome 6 Pro";
  content: "\f061";
  line-height: 50px;
  font-weight: 100;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .linkbtn:after {
    line-height: 40px;
  }
}
.linkbtn:hover {
  color: var(--button-text-colour-hover);
  background: var(--secondary-colour);
}

.homenewscta .wrapper {
  display: grid;
  gap: 25px;
  grid-template-columns: 275px 1fr;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .homenewscta .wrapper {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .homenewscta .wrapper .news {
    text-align: center;
  }
}
.homenewscta .wrapper .news h2 {
  margin: 0px;
}
.homenewscta .wrapper .news p {
  color: var(--secondary-colour);
  font-weight: 600;
  margin: 0px 0px 20px;
}

.homeproducts h2 {
  margin: 0px 0px 40px;
}
.homeproducts .products {
  position: relative;
  padding-bottom: 30px;
}
.homeproducts .products .slick-list {
  overflow: visible;
}
.homeproducts .products .slick-slide {
  padding-right: 30px;
}
@media only screen and (max-width: 767px) {
  .homeproducts .products .slick-slide {
    padding-right: 15px;
  }
}
.homeproducts .products .slick-slide a {
  width: 350px;
  height: 500px;
  display: inline-block;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .homeproducts .products .slick-slide a {
    width: 290px;
    height: 400px;
  }
}
.homeproducts .products .slick-slide a .img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  background: #cccccc;
  z-index: 1;
}
.homeproducts .products .slick-slide a .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homeproducts .products .slick-slide a .txt {
  width: 100%;
  position: absolute;
  bottom: 0px;
  left: 0px;
  padding: 0px 25px 25px;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .homeproducts .products .slick-slide a .txt {
    padding: 0px 15px 15px;
  }
}
.homeproducts .products .slick-slide a .txt:before {
  width: 0px;
  height: 0px;
  position: absolute;
  top: -125px;
  left: 0px;
  content: "";
  border-left: 0px solid transparent;
  border-right: 350px solid transparent;
  border-bottom: 125px solid var(--secondary-colour);
  opacity: 0.89;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .homeproducts .products .slick-slide a .txt:before {
    border-right: 290px solid transparent;
  }
}
.homeproducts .products .slick-slide a .txt:after {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  content: "";
  background: var(--secondary-colour);
  opacity: 0.89;
  z-index: -1;
}
.homeproducts .products .slick-slide a .txt h1, .homeproducts .products .slick-slide a .txt h2, .homeproducts .products .slick-slide a .txt h3 {
  font-size: 1.6em;
  color: var(--button-text-colour);
  margin: 0px;
}
.homeproducts .products .slick-slide a .txt p {
  font-size: 0.9em;
  color: var(--button-text-colour);
  margin: 5px 0px 0px;
}
.homeproducts .products .slick-arrow {
  width: 40px;
  position: absolute;
  bottom: -40px;
  color: var(--button-text-colour);
  text-align: center;
  background: var(--tertiary-colour);
  border-radius: 50%;
  transition: all 0.5s ease;
  cursor: pointer;
  z-index: 1;
}
.homeproducts .products .slick-arrow.slick-prev {
  left: 0px;
  transform: rotate(180deg);
}
.homeproducts .products .slick-arrow.slick-next {
  left: 200px;
}
@media only screen and (max-width: 559px) {
  .homeproducts .products .slick-arrow.slick-next {
    left: auto;
    right: 0px;
  }
}
.homeproducts .products .slick-arrow:hover {
  background: var(--secondary-colour);
}
.homeproducts .products .slick-arrow.slick-disabled {
  color: var(--secondary-colour);
  background: #e3e5e7;
}
.homeproducts .products .slick-arrow i {
  line-height: 40px;
}
.homeproducts .count {
  width: calc(100% - 80px);
  max-width: 240px;
  color: var(--secondary-colour);
  line-height: 40px;
  text-align: center;
  padding: 0px 40px;
}
@media only screen and (max-width: 559px) {
  .homeproducts .count {
    width: 100%;
    max-width: 100%;
  }
}

.homeswitch .title {
  width: 100%;
  max-width: 800px;
  margin: 0px auto 10px;
}
.homeswitch .title h2 {
  font-size: 3.6em;
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .homeswitch .title h2 {
    font-size: 1.6em;
  }
}
.homeswitch .title p {
  width: 100%;
  max-width: 700px;
  font-size: 1.1em;
  line-height: 1.6em;
  font-weight: 500;
  margin: 25px auto 0px;
}
.homeswitch .title .btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 15px;
}
.homeswitch .title .btns .linkbtn {
  margin: 15px;
}
.homeswitch .switch {
  width: 100%;
  max-width: 585px;
  position: relative;
  margin: 0px auto;
}
@media only screen and (max-width: 1023px) {
  .homeswitch .switch {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
}
.homeswitch .switch .benefits {
  width: 310px;
  display: grid;
  gap: 25px;
  grid-template-columns: 1fr;
  position: absolute;
  left: -135px;
  bottom: 65px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #dcdcdc;
  z-index: 1;
}
@media only screen and (max-width: 1199px) {
  .homeswitch .switch .benefits {
    left: -75px;
  }
}
@media only screen and (max-width: 1023px) {
  .homeswitch .switch .benefits {
    width: calc(50% - 10px);
    gap: 15px;
    position: static;
    padding: 20px;
    margin: -100px 10px 0px 0px;
  }
}
@media only screen and (max-width: 559px) {
  .homeswitch .switch .benefits {
    width: 100%;
    margin: -50px 0px 0px 0px;
  }
}
.homeswitch .switch .benefits > div {
  display: grid;
  gap: 15px;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.homeswitch .switch .benefits > div i {
  width: 25px;
  color: var(--button-text-colour-hover);
  line-height: 25px;
  text-align: center;
  background: var(--tertiary-colour);
  border-radius: 50%;
}
.homeswitch .switch .benefits > div p {
  font-size: 0.9em;
  color: var(--secondary-colour);
  margin: 0px;
}
.homeswitch .switch .designer {
  width: 255px;
  position: absolute;
  right: -225px;
  bottom: 35px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #dcdcdc;
  z-index: 1;
}
@media only screen and (max-width: 1199px) {
  .homeswitch .switch .designer {
    right: -75px;
  }
}
@media only screen and (max-width: 1023px) {
  .homeswitch .switch .designer {
    width: calc(50% - 10px);
    position: static;
    margin: -100px 0px 0px 10px;
  }
}
@media only screen and (max-width: 559px) {
  .homeswitch .switch .designer {
    width: 100%;
    margin: 15px 0px 0px 0px;
  }
}
.homeswitch .switch .designer p {
  font-size: 0.9em;
  color: var(--secondary-colour);
  font-weight: 600;
  line-height: 1.6em;
  text-align: center;
  margin: 0px;
  transition: all 0.5s ease;
}
.homeswitch .switch .designer img {
  margin: 15px auto 0px;
}

.homectaboxes .wrapper {
  gap: 30px;
}
@media only screen and (max-width: 1199px) {
  .homectaboxes .wrapper {
    gap: 15px;
  }
}
.homectaboxes .wrapper a {
  position: relative;
  border: 1px solid #d3d3d3;
}
.homectaboxes .wrapper a .background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
}
.homectaboxes .wrapper a .background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.homectaboxes .wrapper a .overlay {
  width: 100%;
  max-width: 425px;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
  opacity: 0.97;
}
@media only screen and (max-width: 767px) {
  .homectaboxes .wrapper a .overlay {
    background: var(--secondary-colour);
    opacity: 0.8;
  }
}
@media only screen and (max-width: 767px) {
  .homectaboxes .wrapper a .overlay {
    opacity: 0.8;
    max-width: 100%;
  }
}
.homectaboxes .wrapper a .overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .homectaboxes .wrapper a .overlay img {
    display: none;
  }
}
.homectaboxes .wrapper a .content {
  width: 100%;
  max-width: 425px;
  position: relative;
  padding: 50px 30px;
  z-index: 3;
}
@media only screen and (max-width: 559px) {
  .homectaboxes .wrapper a .content {
    max-width: 100%;
    padding: 25px 15px;
  }
}
.homectaboxes .wrapper a .content h3 {
  font-size: 1.6em;
  color: var(--button-text-colour);
  margin: 0px;
}
.homectaboxes .wrapper a .content p {
  font-size: 0.9em;
  color: var(--button-text-colour);
  margin: 15px 0px 0px;
}
.homectaboxes .wrapper a .content .linkbtn {
  margin-top: 50px;
}
@media only screen and (max-width: 559px) {
  .homectaboxes .wrapper a .content .linkbtn {
    margin-top: 20px;
  }
}
.homectaboxes .wrapper a:hover .content .linkbtn {
  color: var(--button-text-colour-hover);
  background: var(--secondary-colour);
}

.homectabox .wrapper a {
  display: grid;
  gap: 0px;
  grid-template-columns: auto 1fr;
  align-items: center;
  position: relative;
  background: #e3e3e1;
  border: 1px solid #d3d3d3;
}
@media only screen and (max-width: 1199px) {
  .homectabox .wrapper a {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .homectabox .wrapper a {
    grid-template-columns: 1fr;
  }
}
.homectabox .wrapper a .img {
  height: 100%;
}
.homectabox .wrapper a .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}
.homectabox .wrapper a .content {
  width: 475px;
  padding: 30px;
  order: -1;
}
@media only screen and (max-width: 1199px) {
  .homectabox .wrapper a .content {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .homectabox .wrapper a .content {
    order: 1;
  }
}
@media only screen and (max-width: 559px) {
  .homectabox .wrapper a .content {
    max-width: 100%;
    padding: 25px 15px;
  }
}
.homectabox .wrapper a .content h3 {
  font-size: 1.6em;
  color: var(--secondary-colour);
  margin: 0px;
}
.homectabox .wrapper a .content p {
  font-size: 0.9em;
  color: var(--secondary-colour);
  margin: 15px 0px 0px;
}
@media only screen and (max-width: 1023px) {
  .homectabox .wrapper a .content p {
    margin: 10px 0px 0px;
  }
}
.homectabox .wrapper a .content .linkbtn {
  margin-top: 40px;
}
@media only screen and (max-width: 1023px) {
  .homectabox .wrapper a .content .linkbtn {
    margin-top: 15px;
  }
}
@media only screen and (max-width: 559px) {
  .homectabox .wrapper a .content .linkbtn {
    margin-top: 15px;
  }
}
.homectabox .wrapper a:hover .content .linkbtn {
  color: var(--button-text-colour-hover);
  background: var(--secondary-colour);
}

.homestatement .wrapper {
  gap: 30px;
}
@media only screen and (max-width: 767px) {
  .homestatement .wrapper {
    gap: 50px;
  }
}
.homestatement .wrapper .text .statement h3 {
  position: relative;
  font-size: 1em;
  padding-left: 35px;
}
@media only screen and (max-width: 767px) {
  .homestatement .wrapper .text .statement h3 {
    padding-left: 0px;
  }
}
.homestatement .wrapper .text .statement h3:before {
  position: absolute;
  top: 10px;
  left: 0px;
  font-family: Arial, sans-serif;
  font-size: 60px;
  color: #a7a49d;
  content: "“";
  margin-right: 10px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .homestatement .wrapper .text .statement h3:before {
    display: none;
  }
}
.homestatement .wrapper .text .statement p {
  font-size: 2.1em;
  color: var(--secondary-colour);
  line-height: 1.4em;
}
@media only screen and (max-width: 959px) {
  .homestatement .wrapper .text .statement p {
    font-size: 1.6em;
  }
}
@media only screen and (max-width: 767px) {
  .homestatement .wrapper .text .statement p {
    font-size: 1.2em;
  }
}
.homestatement .wrapper .text .statement p:last-child {
  margin: 0px;
}
.homestatement .wrapper .text .name {
  width: 100%;
  max-width: 475px;
  padding-top: 25px;
  border-top: 1px solid var(--secondary-colour);
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .homestatement .wrapper .text .name {
    padding-top: 15px;
    margin: 15px auto 0px;
  }
}
.homestatement .wrapper .text .name p {
  font-size: 1.1em;
  color: var(--secondary-colour);
  line-height: 1.6em;
}
@media only screen and (max-width: 767px) {
  .homestatement .wrapper .text .name p {
    font-size: 1em;
  }
}
.homestatement .wrapper .text .name .linkbtn {
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .homestatement .wrapper .text .name .linkbtn {
    margin-top: 0px;
  }
}
.homestatement .wrapper .video p {
  color: var(--secondary-colour);
  font-weight: 500;
  margin: 50px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .homestatement .wrapper .video p {
    margin: 15px 0px 0px;
  }
}

.pageintro {
  text-align: center;
}
.pageintro .wrapper {
  max-width: 1000px;
}
.pageintro .wrapper .title {
  position: relative;
  padding-bottom: 60px;
  margin-bottom: 90px;
}
@media only screen and (max-width: 767px) {
  .pageintro .wrapper .title {
    padding-bottom: 30px;
    margin-bottom: 50px;
  }
}
.pageintro .wrapper .title:after {
  width: 486px;
  height: 4px;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 243px);
  content: "";
  background: var(--primary-colour);
}
.pageintro .wrapper .title h1 {
  margin: 0px;
}
.pageintro .wrapper h2, .pageintro .wrapper h3, .pageintro .wrapper h4 {
  margin: 10px 0px;
}
.pageintro .wrapper p {
  font-size: 1.2em;
  line-height: 1.6em;
}
@media only screen and (max-width: 767px) {
  .pageintro .wrapper p {
    font-size: 1em;
  }
}
.pageintro .wrapper p:last-child {
  margin-bottom: 0px;
}
.pageintro .wrapper .btn {
  margin-top: 30px;
}

.sectiontitle {
  width: 1000px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.pagepromos {
  padding: 35px 0px;
}
@media only screen and (max-width: 1199px) {
  .pagepromos .wrapper {
    padding: 50px 15px;
  }
}
.pagepromos .wrapper .title {
  margin-bottom: 50px;
}
.pagepromos .wrapper .title h2 {
  margin: 0px;
}
.pagepromos .wrapper .title p {
  margin: 15px 0px 0px;
}
.pagepromos .wrapper .promos {
  gap: 35px;
}
@media only screen and (max-width: 1199px) {
  .pagepromos .wrapper .promos {
    gap: 20px;
  }
}
@media only screen and (max-width: 1439px) {
  .pagepromos .wrapper .promos.grid6 {
    gap: 20px;
  }
}
.pagepromos .wrapper .promos .img {
  margin-bottom: 15px;
}
.pagepromos .wrapper .promos .img img {
  margin: 0px auto;
}
.pagepromos .wrapper .promos .icon {
  text-align: center;
  margin-bottom: 20px;
}
.pagepromos .wrapper .promos .icon i {
  font-size: 3em;
  color: var(--primary-colour);
}
@media only screen and (max-width: 767px) {
  .pagepromos .wrapper .promos .txt {
    margin-top: 15px;
  }
}
.pagepromos .wrapper .promos .txt h3 {
  font-size: 1.2em;
  margin: 0px 0px 10px;
}
.pagepromos .wrapper .promos .txt p {
  line-height: 1.6em;
}
.pagepromos .wrapper .promos .txt a.linkbtn {
  margin-top: 10px;
}
@media only screen and (max-width: 1199px) {
  .pagepromos .wrapper .promos .txt {
    width: 200px;
  }
}
@media only screen and (max-width: 767px) {
  .pagepromos .wrapper .promos .txt {
    margin-top: 0px;
  }
}
.pagepromos .wrapper .iconpromo .txt {
  text-align: center;
}

.videowrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.videowrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.prodvideo .wrapper {
  width: 900px;
}
.prodvideo .wrapper .title {
  font-size: 1.2em;
  margin: 0px 0px 30px;
}
.prodvideo .wrapper video {
  width: 100%;
}

.prodposts .img {
  width: 100%;
  height: 250px;
  background-size: 150px auto;
  background-repeat: no-repeat;
  border: 1px solid #f2f2f2;
}
.prodposts .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.prodposts .txt {
  padding: 15px;
}
.prodposts .txt h3 {
  margin: 0px;
}
.prodposts .txt p {
  margin: 15px 0px 0px;
}
.prodposts .txt p.date {
  margin: 5px 0px 0px;
}
.prodposts .txt .linkbtn {
  margin-top: 20px;
}

.pagegallery .images {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.pagegallery .images > div {
  width: 16.66%;
  padding: 10px;
}
@media only screen and (max-width: 1199px) {
  .pagegallery .images > div {
    width: 25%;
  }
}
@media only screen and (max-width: 767px) {
  .pagegallery .images > div {
    width: 50%;
    padding: 5px;
  }
}
.pagegallery .images > div img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  object-position: center center;
}

.gallerypopup {
  display: none;
  position: fixed;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background: rgba(0, 0, 0, 0.7);
  z-index: 100;
}
.gallerypopup .close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 100;
}
@media only screen and (max-width: 767px) {
  .gallerypopup .close {
    top: 5px;
    right: 5px;
  }
}
.gallerypopup .close i {
  font-size: 30px;
  color: #ffffff;
}
@media only screen and (max-width: 767px) {
  .gallerypopup .close i {
    font-size: 25px;
  }
}
.gallerypopup img {
  max-width: calc(100% - 100px);
  max-height: calc(100% - 100px);
  display: grid;
  position: absolute;
  top: 50px;
  right: 50px;
  bottom: 50px;
  left: 50px;
  align-items: center;
  object-fit: contain;
  object-position: center center;
  margin: auto;
  z-index: 100;
  opacity: 0;
  transition: opacity 1s ease;
}
@media only screen and (max-width: 767px) {
  .gallerypopup img {
    max-width: calc(100% - 50px);
    max-height: calc(100% - 50px);
    top: 25px;
    right: 25px;
    bottom: 25px;
    left: 25px;
  }
}
.gallerypopup img.show {
  opacity: 1;
}

.pageaccordion .title {
  margin-bottom: 50px;
}
.pageaccordion .title > *:last-child {
  margin: 0px;
}
.pageaccordion .accordion {
  border-top: 1px solid #e7e7e7;
  overflow: hidden;
}
.pageaccordion .accordion > div {
  border-bottom: 1px solid #e7e7e7;
}
.pageaccordion .accordion > div h3.title {
  width: 100%;
  position: relative;
  display: inline-block;
  font-size: 1.2em;
  padding: 20px 50px 20px 0px;
  margin: 0px;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .pageaccordion .accordion > div h3.title {
    line-height: 1.4em;
    padding: 15px 30px;
  }
}
.pageaccordion .accordion > div h3.title:after {
  width: 40px;
  position: absolute;
  top: calc(50% - 20px);
  right: 0px;
  font-family: "Font Awesome 6 Pro";
  font-size: 17px;
  color: #ffffff;
  line-height: 40px;
  text-align: center;
  content: "+";
  font-weight: 100;
  background: var(--tertiary-colour);
  border-radius: 50%;
  z-index: 1;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .pageaccordion .accordion > div h3.title:before,
.pageaccordion .accordion > div h3.title:after {
    width: 26px;
    position: absolute;
    top: calc(50% - 13px);
    font-family: "Font Awesome 6 Pro";
    font-size: 12px;
    color: #ffffff;
    content: "+";
    line-height: 26px;
    text-align: center;
    font-weight: 100;
    background: var(--tertiary-colour);
    border-radius: 50%;
    z-index: 1;
    transition: all 0.5s ease;
  }
  .pageaccordion .accordion > div h3.title:before {
    left: 0px;
  }
  .pageaccordion .accordion > div h3.title:after {
    right: 0px;
  }
}
.pageaccordion .accordion > div > div {
  width: 100%;
  display: none;
  padding: 30px 0px;
  border-top: 1px solid #e7e7e7;
}
.pageaccordion .accordion > div.active h3.title:after {
  content: "\f068";
}
.quotetitle {
  text-align: center;
}
.quotetitle .wrapper {
  max-width: 900px;
}
.quotetitle .wrapper h2 {
  margin: 0px;
}
.quotetitle .wrapper p {
  font-size: 1.1em;
  margin: 15px 0px 0px;
}
.quotetitle .wrapper p:first-child {
  margin: 0px;
}

.pagebenefits .benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  padding: 30px;
}
@media only screen and (max-width: 767px) {
  .pagebenefits .benefits {
    padding: 10px;
  }
}
.pagebenefits .benefits > div {
  width: calc(25% - 60px);
  margin: 30px;
}
@media only screen and (max-width: 1199px) {
  .pagebenefits .benefits > div {
    width: calc(25% - 20px);
    margin: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .pagebenefits .benefits > div {
    width: calc(50% - 20px);
  }
}
@media only screen and (max-width: 479px) {
  .pagebenefits .benefits > div {
    width: 100%;
    margin: 10px 0px;
  }
}
.pagebenefits .benefits > div h3 {
  font-size: 1.2em;
  color: #ffffff;
}
.pagebenefits .benefits > div p {
  color: #ffffff;
}
.pagebenefits .benefits > div img {
  margin: 0px auto;
}

.pagelocations {
  margin-top: 50px;
}
.pagelocations .title {
  margin-bottom: 50px;
}
.pagelocations .title h2 {
  margin: 0px;
}
.pagelocations .title p {
  margin: 15px 0px 0px;
}
.pagelocations .locations {
  background: #9f9f9f;
  padding: 20px;
}
.pagelocations .locations ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  padding: 0px;
  margin: 0px;
}
.pagelocations .locations ul li {
  font-size: 2em;
  line-height: 1em;
  padding: 2px;
}
.pagelocations .locations ul li:nth-of-type(even) {
  color: var(--primary-colour);
}

.contentbannerslides {
  position: relative;
  margin-top: -235px;
  z-index: 4;
}
@media only screen and (max-width: 767px) {
  .contentbannerslides {
    margin-top: -100px;
  }
}
.contentbannerslides .wrapper {
  max-width: 960px;
  padding: 0px 65px;
}
@media only screen and (max-width: 767px) {
  .contentbannerslides .wrapper {
    padding: 0px 15px;
  }
}
.contentbannerslides .wrapper .carousel .slick-track {
  height: 470px;
  display: flex;
  align-items: center;
}
.contentbannerslides .wrapper .carousel .slick-track .slick-slide {
  height: auto;
  float: none;
  padding: 0px 15px;
}
@media only screen and (max-width: 1199px) {
  .contentbannerslides .wrapper .carousel .slick-track .slick-slide {
    width: 215px;
  }
}
.contentbannerslides .wrapper .carousel .slick-track .slick-slide img {
  width: auto;
  height: 425px;
  margin: 0px auto;
  object-fit: contain;
}
.contentbannerslides .wrapper .carousel .slick-track .slick-slide p {
  font-size: 0.9em;
  color: var(--secondary-colour);
  font-weight: 600;
  text-align: center;
  margin: 15px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .contentbannerslides .wrapper .carousel .slick-track .slick-slide p {
    font-size: 0.8em;
  }
}
.contentbannerslides .wrapper .slick-arrow {
  width: 40px;
  top: 130px;
  position: absolute;
  text-align: center;
  color: var(--secondary-colour);
  background: #ffffff;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .contentbannerslides .wrapper .slick-arrow {
    top: 80px;
  }
}
.contentbannerslides .wrapper .slick-arrow.slick-prev {
  left: -50px;
  transform: rotate(180deg);
}
@media only screen and (max-width: 767px) {
  .contentbannerslides .wrapper .slick-arrow.slick-prev {
    left: 0px;
  }
}
.contentbannerslides .wrapper .slick-arrow.slick-next {
  right: -50px;
}
@media only screen and (max-width: 767px) {
  .contentbannerslides .wrapper .slick-arrow.slick-next {
    right: 0px;
  }
}
.contentbannerslides .wrapper .slick-arrow:hover {
  color: #ffffff;
  background: var(--secondary-colour);
}
.contentbannerslides .wrapper .slick-arrow i {
  line-height: 40px;
}

.innerimagefeature .wrapper {
  max-width: 800px;
}
.innerimagefeature .wrapper .txt {
  width: 100%;
  max-width: 650px;
  margin: 0px auto 35px;
}
.innerimagefeature .wrapper .img img {
  margin: 0px auto;
}

.colouredcontent .wrapper {
  align-items: center;
}
.colouredcontent .wrapper .txt > div {
  width: 100%;
  max-width: 500px;
  margin: 0px auto;
}
.colouredcontent .wrapper .txt ul {
  list-style: none;
  padding: 0px;
  margin: 15px 0px 0px;
}
.colouredcontent .wrapper .txt ul li {
  position: relative;
  font-size: 1.1em;
  padding-left: 30px;
}
@media only screen and (max-width: 1199px) {
  .colouredcontent .wrapper .txt ul li {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .colouredcontent .wrapper .txt ul li {
    padding-left: 0px;
  }
}
.colouredcontent .wrapper .txt ul li:before {
  position: absolute;
  top: 0px;
  left: 0px;
  font-family: "Font Awesome 6 Pro";
  content: "\f00c";
  color: var(--tertiary-colour);
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  .colouredcontent .wrapper .txt ul li:before {
    position: static;
    margin-right: 5px;
  }
}
.colouredcontent .wrapper .txt.primarytext h1, .colouredcontent .wrapper .txt.primarytext h2, .colouredcontent .wrapper .txt.primarytext h3, .colouredcontent .wrapper .txt.primarytext p, .colouredcontent .wrapper .txt.primarytext li, .colouredcontent .wrapper .txt.primarytext li:before {
  color: var(--primary-colour);
}
.colouredcontent .wrapper .txt.secondarytext h1, .colouredcontent .wrapper .txt.secondarytext h2, .colouredcontent .wrapper .txt.secondarytext h3, .colouredcontent .wrapper .txt.secondarytext p, .colouredcontent .wrapper .txt.secondarytext li, .colouredcontent .wrapper .txt.secondarytext li:before {
  color: var(--secondary-colour);
}
.colouredcontent .wrapper .txt.tertiarytext h1, .colouredcontent .wrapper .txt.tertiarytext h2, .colouredcontent .wrapper .txt.tertiarytext h3, .colouredcontent .wrapper .txt.tertiarytext p, .colouredcontent .wrapper .txt.tertiarytext li, .colouredcontent .wrapper .txt.tertiarytext li:before {
  color: var(--tertiary-colour);
}

.productslanding .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.productslanding .wrapper a {
  width: 350px;
  height: 500px;
  display: inline-block;
  position: relative;
  margin: 15px;
}
@media only screen and (max-width: 767px) {
  .productslanding .wrapper a {
    width: 290px;
    height: 400px;
  }
}
.productslanding .wrapper a .img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  background: #cccccc;
  z-index: 1;
}
.productslanding .wrapper a .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.productslanding .wrapper a .txt {
  width: 100%;
  position: absolute;
  bottom: 0px;
  left: 0px;
  padding: 0px 25px 25px;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .productslanding .wrapper a .txt {
    padding: 0px 15px 15px;
  }
}
.productslanding .wrapper a .txt:before {
  width: 0px;
  height: 0px;
  position: absolute;
  top: -125px;
  left: 0px;
  content: "";
  border-left: 0px solid transparent;
  border-right: 350px solid transparent;
  border-bottom: 125px solid var(--secondary-colour);
  opacity: 0.89;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .productslanding .wrapper a .txt:before {
    border-right: 290px solid transparent;
  }
}
.productslanding .wrapper a .txt:after {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  content: "";
  background: var(--secondary-colour);
  opacity: 0.89;
  z-index: -1;
}
.productslanding .wrapper a .txt h1, .productslanding .wrapper a .txt h2, .productslanding .wrapper a .txt h3 {
  font-size: 1.6em;
  color: var(--button-text-colour);
  margin: 0px;
}
.productslanding .wrapper a .txt p {
  font-size: 0.9em;
  color: var(--button-text-colour);
  margin: 5px 0px 0px;
}

.prodlistintro {
  text-align: center;
}
.prodlistintro .wrapper {
  max-width: 900px;
}
.prodlistintro .wrapper h2 {
  margin: 0px;
}
.prodlistintro .wrapper p {
  font-size: 1.1em;
  margin: 15px 0px 0px;
}
.prodlistintro .wrapper p:last-child {
  margin: 0px;
}

.productslist .products {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.productslist .products > a {
  width: calc(33.33% - 30px);
  margin: 15px;
}
@media only screen and (max-width: 1199px) {
  .productslist .products > a {
    width: calc(33.33% - 10px);
    margin: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .productslist .products > a {
    width: 100%;
    margin: 5px 0px;
  }
}
.productslist .products > a .content {
  padding: 25px;
}
@media only screen and (max-width: 767px) {
  .productslist .products > a .content {
    padding: 15px;
  }
}
.productslist .products > a .content h2, .productslist .products > a .content h3, .productslist .products > a .content h4 {
  margin: 0px;
}
.productslist .products > a .content p {
  margin: 15px 0px 0px;
}

.productgallery .title {
  margin-bottom: 50px;
}
.productgallery .title h2 {
  font-size: 2em;
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .productgallery .title h2 {
    font-size: 1.6em;
  }
}
.productgallery .title p {
  margin: 15px 0px 0px;
}
.productgallery .gallery .slick-slide img {
  width: 100%;
  height: 630px;
  object-fit: contain;
}
.productgallery .gallery .slick-arrow {
  width: 60px;
  position: absolute;
  bottom: 0px;
  text-align: center;
  z-index: 1;
  cursor: pointer;
  transition: all 0.25s ease;
}
.productgallery .gallery .slick-arrow i {
  font-size: 30px;
  line-height: 60px;
}
.productgallery .gallery .slick-arrow.slick-prev {
  right: 60px;
  background: #ffffff;
  transform: rotate(180deg);
}
.productgallery .gallery .slick-arrow.slick-next {
  right: 0px;
  background: var(--primary-colour);
}
.productgallery .gallery .slick-arrow:hover {
  background: var(--secondary-colour);
}

.productpanels {
  position: relative;
  margin-top: -235px;
  z-index: 4;
}
@media only screen and (max-width: 767px) {
  .productpanels {
    margin-top: -100px;
  }
}
.productpanels .wrapper {
  max-width: 960px;
  padding: 0px 65px;
}
@media only screen and (max-width: 767px) {
  .productpanels .wrapper {
    padding: 0px 15px;
  }
}
.productpanels .wrapper .panelscarousel3 .slick-track {
  height: 470px;
  display: flex;
  align-items: center;
}
.productpanels .wrapper .panelscarousel3 .slick-track .slick-slide {
  width: 285px;
  height: auto;
  float: none;
  padding: 0px 15px;
}
@media only screen and (max-width: 1199px) {
  .productpanels .wrapper .panelscarousel3 .slick-track .slick-slide {
    width: 215px;
  }
}
.productpanels .wrapper .panelscarousel3 .slick-track .slick-slide img {
  width: auto;
  height: 365px;
  margin: 0px auto;
  transition: all 0.5s ease;
}
.productpanels .wrapper .panelscarousel3 .slick-track .slick-slide p {
  font-size: 0.9em;
  color: var(--secondary-colour);
  font-weight: 600;
  text-align: center;
  margin: 15px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .productpanels .wrapper .panelscarousel3 .slick-track .slick-slide p {
    font-size: 0.8em;
  }
}
.productpanels .wrapper .panelscarousel3 .slick-track .slick-slide.slick-current img {
  height: 425px;
}
.productpanels .wrapper .panelscarousel1 .slick-track {
  height: 470px;
  display: flex;
  align-items: center;
}
.productpanels .wrapper .panelscarousel1 .slick-track .slick-slide {
  height: auto;
  float: none;
  padding: 0px 15px;
}
@media only screen and (max-width: 1199px) {
  .productpanels .wrapper .panelscarousel1 .slick-track .slick-slide {
    width: 215px;
  }
}
.productpanels .wrapper .panelscarousel1 .slick-track .slick-slide img {
  width: auto;
  height: 425px;
  border: 10px solid #ffffff;
  margin: 0px auto;
  object-fit: contain;
}
.productpanels .wrapper .panelscarousel1 .slick-track .slick-slide p {
  font-size: 0.9em;
  color: var(--secondary-colour);
  font-weight: 600;
  text-align: center;
  margin: 15px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .productpanels .wrapper .panelscarousel1 .slick-track .slick-slide p {
    font-size: 0.8em;
  }
}
.productpanels .wrapper .slick-arrow {
  width: 40px;
  top: 130px;
  position: absolute;
  text-align: center;
  color: var(--secondary-colour);
  background: #ffffff;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .productpanels .wrapper .slick-arrow {
    top: 80px;
  }
}
.productpanels .wrapper .slick-arrow.slick-prev {
  left: -50px;
  transform: rotate(180deg);
}
@media only screen and (max-width: 767px) {
  .productpanels .wrapper .slick-arrow.slick-prev {
    left: 0px;
  }
}
.productpanels .wrapper .slick-arrow.slick-next {
  right: -50px;
}
@media only screen and (max-width: 767px) {
  .productpanels .wrapper .slick-arrow.slick-next {
    right: 0px;
  }
}
.productpanels .wrapper .slick-arrow:hover {
  color: #ffffff;
  background: var(--secondary-colour);
}
.productpanels .wrapper .slick-arrow i {
  line-height: 40px;
}

.productcolours h2 {
  text-align: center;
  margin: 0px 0px 50px;
}
.productcolours .coloursscarousel {
  background: #fafafa;
  padding: 35px 100px;
}
@media only screen and (max-width: 1199px) {
  .productcolours .coloursscarousel {
    padding: 35px 50px;
  }
}
.productcolours .coloursscarousel .slick-slide {
  padding: 0px 15px;
}
@media only screen and (max-width: 1199px) {
  .productcolours .coloursscarousel .slick-slide {
    padding: 0px 5px;
  }
}
.productcolours .coloursscarousel .slick-slide > div {
  width: 100%;
  max-width: 115px;
  background: #ffffff;
  border-radius: 10px;
  margin: 0px auto;
  overflow: hidden;
}
.productcolours .coloursscarousel .slick-slide > div p {
  width: 100%;
  font-size: 0.8em;
  color: var(--secondary-colour);
  font-weight: 600;
  line-height: 1.6em;
  padding: 10px 5px;
  margin: 0px;
}
.productcolours .coloursscarousel .slick-arrow {
  width: 40px;
  top: calc(50% - 20px);
  position: absolute;
  text-align: center;
  color: var(--secondary-colour);
  background: #e3e5e7;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.5s ease;
}
.productcolours .coloursscarousel .slick-arrow.slick-prev {
  left: 35px;
  transform: rotate(180deg);
}
@media only screen and (max-width: 1199px) {
  .productcolours .coloursscarousel .slick-arrow.slick-prev {
    left: 15px;
  }
}
.productcolours .coloursscarousel .slick-arrow.slick-next {
  right: 35px;
}
@media only screen and (max-width: 1199px) {
  .productcolours .coloursscarousel .slick-arrow.slick-next {
    right: 15px;
  }
}
.productcolours .coloursscarousel .slick-arrow:hover {
  color: #ffffff;
  background: var(--tertiary-colour);
}
.productcolours .coloursscarousel .slick-arrow i {
  line-height: 40px;
}

.productstyles .wrapper > div {
  padding: 60px;
}
@media only screen and (max-width: 1199px) {
  .productstyles .wrapper > div {
    padding: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .productstyles .wrapper > div {
    padding: 20px;
  }
}
.productstyles .wrapper > div .tablist {
  margin-bottom: 0px;
}
.productstyles .wrapper > div .tabcontainer .txt {
  margin: 0px auto 50px;
}
.productstyles .wrapper > div .tabcontainer .styles {
  width: 100%;
}
.productstyles .wrapper > div .tabcontainer .styles.carousel {
  padding: 0px 60px;
}
@media only screen and (max-width: 767px) {
  .productstyles .wrapper > div .tabcontainer .styles.carousel {
    padding: 0px 40px;
  }
}
.productstyles .wrapper > div .tabcontainer .styles.carousel .slick-slide {
  text-align: center;
  background: #f2f2f2;
  padding: 25px;
  margin: 10px;
}
@media only screen and (max-width: 767px) {
  .productstyles .wrapper > div .tabcontainer .styles.carousel .slick-slide {
    padding: 15px;
    margin: 5px;
  }
}
.productstyles .wrapper > div .tabcontainer .styles.carousel .slick-slide img {
  margin: 0px auto;
}
.productstyles .wrapper > div .tabcontainer .styles.carousel .slick-slide p {
  margin: 25px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .productstyles .wrapper > div .tabcontainer .styles.carousel .slick-slide p {
    margin: 15px 0px 0px;
  }
}
.productstyles .wrapper > div .tabcontainer .styles.carousel .slick-arrow {
  width: 50px;
  position: absolute;
  top: 50%;
  font-size: 30px;
  color: var(--button-text-colour);
  line-height: 50px;
  text-align: center;
  background: var(--primary-colour);
  border-radius: 50%;
  margin-top: -25px;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .productstyles .wrapper > div .tabcontainer .styles.carousel .slick-arrow {
    width: 30px;
    font-size: 20px;
    line-height: 30px;
    margin-top: -15px;
  }
}
.productstyles .wrapper > div .tabcontainer .styles.carousel .slick-arrow:hover {
  color: var(--button-text-colour-hover);
  background: var(--secondary-colour);
}
.productstyles .wrapper > div .tabcontainer .styles.carousel .slick-prev {
  left: 0px;
}
.productstyles .wrapper > div .tabcontainer .styles.carousel .slick-next {
  right: 0px;
}
.productstyles .wrapper > div .tabcontainer .styles.blocked {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.productstyles .wrapper > div .tabcontainer .styles.blocked > div {
  width: calc(25% - 30px);
  background: #f2f2f2;
  margin: 15px;
}
@media only screen and (max-width: 1199px) {
  .productstyles .wrapper > div .tabcontainer .styles.blocked > div {
    width: calc(25% - 20px);
    margin: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .productstyles .wrapper > div .tabcontainer .styles.blocked > div {
    width: calc(50% - 10px);
    margin: 5px;
  }
}
@media only screen and (max-width: 559px) {
  .productstyles .wrapper > div .tabcontainer .styles.blocked > div {
    width: 100%;
    margin: 5px 0px;
  }
}
.productstyles .wrapper > div .tabcontainer .styles.blocked > div img {
  margin: 0px auto;
}
.productstyles .wrapper > div .tabcontainer .styles.blocked > div p {
  color: #797979;
  line-height: 1.4em;
  margin: 10px 0px 0px;
}
@media only screen and (max-width: 1199px) {
  .productstyles .wrapper > div .tabcontainer .styles.blocked > div p {
    text-align: center;
  }
}
.productstyles .wrapper > div .tabcontainer .styles.blocked > div p.name {
  display: grid;
  gap: 5px;
  grid-template-columns: 1fr auto;
  align-items: center;
}
@media only screen and (max-width: 1199px) {
  .productstyles .wrapper > div .tabcontainer .styles.blocked > div p.name {
    gap: 0px;
    grid-template-columns: 1fr;
  }
}

.productcta {
  background: var(--primary-colour);
  padding: 50px 0px;
}
.productcta .wrapper {
  align-items: center;
}
@media only screen and (max-width: 1199px) {
  .productcta .wrapper {
    grid-template-columns: 1fr 1fr auto;
  }
}
@media only screen and (max-width: 1023px) {
  .productcta .wrapper {
    gap: 15px;
    grid-template-columns: 1fr;
    text-align: center;
  }
}
.productcta .wrapper h1, .productcta .wrapper h2, .productcta .wrapper h3, .productcta .wrapper h4 {
  font-family: "Gilroy";
  font-size: 2.6em;
  color: var(--button-text-colour);
  font-weight: 400;
}
.productcta .wrapper h1:last-child, .productcta .wrapper h2:last-child, .productcta .wrapper h3:last-child, .productcta .wrapper h4:last-child {
  margin: 0px;
}
.productcta .wrapper p {
  color: var(--button-text-colour);
}
.productcta .wrapper p:last-child {
  margin: 0px;
}
.productcta .wrapper ul {
  list-style: none;
  padding: 0px;
}
.productcta .wrapper ul li {
  position: relative;
  color: var(--button-text-colour);
  padding-left: 25px;
}
@media only screen and (max-width: 1023px) {
  .productcta .wrapper ul li {
    padding-left: 0px;
  }
}
.productcta .wrapper ul li:before {
  position: absolute;
  top: 0px;
  left: 0px;
  font-family: "Font Awesome 6 Pro";
  content: "\f00c";
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .productcta .wrapper ul li:before {
    position: static;
    margin-right: 5px;
    vertical-align: middle;
  }
}
.productcta .wrapper ul:last-child {
  margin: 0px;
}
.productcta .wrapper a {
  color: var(--button-text-colour);
  transition: all 0.5s ease;
}
.productcta .wrapper a:hover {
  opacity: 0.7;
}
.productcta .wrapper .button {
  text-align: center;
}
.productcta .wrapper .button .linkbtn {
  border-color: var(--button-text-colour);
}

.productsupport {
  position: relative;
}
.productsupport .background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
}
.productsupport .background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.productsupport .overlay {
  width: 100%;
  max-width: 50%;
  height: 100%;
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .productsupport .overlay {
    display: none;
  }
}
.productsupport .overlay img {
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}
.productsupport .wrapper {
  position: relative;
  display: grid;
  gap: 25px;
  grid-template-columns: 1fr 600px;
  align-items: center;
  z-index: 3;
}
@media only screen and (max-width: 1199px) {
  .productsupport .wrapper {
    grid-template-columns: 1fr 370px;
  }
}
@media only screen and (max-width: 1023px) {
  .productsupport .wrapper {
    grid-template-columns: 1fr 335px;
  }
}
@media only screen and (max-width: 767px) {
  .productsupport .wrapper {
    gap: 0px;
    grid-template-columns: 1fr;
  }
}
.productsupport .wrapper .text {
  padding: 25px 0px;
}
@media only screen and (max-width: 767px) {
  .productsupport .wrapper .text {
    padding: 50px 0px;
  }
}
.productsupport .wrapper .text h2 {
  width: 100%;
  max-width: 600px;
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .productsupport .wrapper .text h2 {
    margin-left: auto;
    margin-right: auto;
  }
}
.productsupport .wrapper .text h3 {
  margin: 0px;
}
.productsupport .wrapper .text p {
  font-size: 1.1em;
  color: var(--secondary-colour);
  margin: 15px 0px 0px;
}
@media only screen and (max-width: 1199px) {
  .productsupport .wrapper .text p {
    font-size: 1em;
  }
}
.productsupport .wrapper .text ul {
  list-style: none;
  padding: 0px;
  margin: 15px 0px 0px;
}
.productsupport .wrapper .text ul li {
  position: relative;
  font-size: 1.1em;
  color: var(--secondary-colour);
  padding-left: 30px;
}
@media only screen and (max-width: 1199px) {
  .productsupport .wrapper .text ul li {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .productsupport .wrapper .text ul li {
    padding-left: 0px;
  }
}
.productsupport .wrapper .text ul li:before {
  position: absolute;
  top: 0px;
  left: 0px;
  font-family: "Font Awesome 6 Pro";
  content: "\f00c";
  color: var(--tertiary-colour);
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  .productsupport .wrapper .text ul li:before {
    position: static;
    margin-right: 5px;
  }
}
.productsupport .wrapper .links > div {
  width: 100%;
  max-width: 450px;
  background: #ffffff;
  padding: 60px 15px;
  margin: 35px auto 0px;
}
@media only screen and (max-width: 1199px) {
  .productsupport .wrapper .links > div {
    padding: 30px 15px;
    margin-top: 0px;
  }
}
.productsupport .wrapper .links > div > div {
  width: 100%;
  max-width: 320px;
  margin: 0px auto;
}
.productsupport .wrapper .links > div > div.new {
  margin-bottom: 20px;
}
.productsupport .wrapper .links > div > div p {
  font-weight: 600;
}
.productsupport .wrapper .links > div > div a.btn {
  width: 100%;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr auto;
  align-items: center;
  color: var(--secondary-colour);
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  padding: 15px;
  border: 1px solid #d3d3d3;
  border-radius: 10px;
  transition: all 0.5s ease;
  margin: 20px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .productsupport .wrapper .links > div > div a.btn {
    padding: 10px;
  }
}
.productsupport .wrapper .links > div > div a.btn:after {
  width: 35px;
  font-size: 15px;
  font-family: "Font Awesome 6 Pro";
  font-weight: 100;
  line-height: 35px;
  content: "\f061";
  text-align: center;
  border-radius: 50%;
  transition: all 0.5s ease;
}
@media only screen and (max-width: 767px) {
  .productsupport .wrapper .links > div > div a.btn:after {
    width: 20px;
    font-size: 10px;
    line-height: 20px;
  }
}
.productsupport .wrapper .links > div > div a.btn.primary:after {
  color: var(--button-text-colour);
  background: var(--primary-colour);
}
.productsupport .wrapper .links > div > div a.btn.tertiary:after {
  color: var(--button-text-colour);
  background: var(--tertiary-colour);
}
.productsupport .wrapper .links > div > div a.btn:hover.primary:after, .productsupport .wrapper .links > div > div a.btn:hover.tertiary:after {
  background: var(--secondary-colour);
}

.productfeatures .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
.productfeatures .wrapper > div {
  width: 160px;
  max-width: 50%;
  padding: 15px;
}
.productfeatures .wrapper > div img {
  margin: 0px auto 10px;
}
.productfeatures .wrapper > div p {
  color: var(--secondary-colour);
  line-height: 1.4em;
}
.productfeatures .wrapper > div > *:last-child {
  margin-bottom: 0px;
}

.producttechnical .wrapper {
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .producttechnical .wrapper {
    gap: 0px;
  }
}
.producttechnical .wrapper .img img {
  margin: 0px auto;
}
.producttechnical .wrapper .txt {
  padding: 25px 15px;
}
.producttechnical .wrapper .txt > div {
  width: 100%;
  max-width: 500px;
  margin: 0px auto;
}
.producttechnical .wrapper .txt > div p {
  color: var(--primary-colour);
}
@media only screen and (max-width: 767px) {
  .producttechnical .wrapper .txt > div p {
    font-size: 1em;
  }
}
.producttechnical .wrapper .txt > div ul {
  list-style: none;
  padding: 0px;
  margin: 15px 0px 0px;
}
.producttechnical .wrapper .txt > div ul li {
  position: relative;
  color: var(--primary-colour);
  padding-left: 30px;
}
@media only screen and (max-width: 1199px) {
  .producttechnical .wrapper .txt > div ul li {
    font-size: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .producttechnical .wrapper .txt > div ul li {
    padding-left: 0px;
  }
}
.producttechnical .wrapper .txt > div ul li:before {
  position: absolute;
  top: 0px;
  left: 0px;
  font-family: "Font Awesome 6 Pro";
  content: "\f00c";
  color: var(--primary-colour);
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  .producttechnical .wrapper .txt > div ul li:before {
    position: static;
    margin-right: 5px;
  }
}

.productmessage {
  position: relative;
}
.productmessage .background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
}
.productmessage .background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.productmessage .overlay {
  width: 100%;
  max-width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  right: 0px;
  display: flex;
  justify-content: flex-end;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  .productmessage .overlay {
    background: var(--secondary-colour);
    opacity: 0.95;
  }
}
.productmessage .overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right;
  opacity: 0.85;
}
@media only screen and (max-width: 1199px) {
  .productmessage .overlay img {
    object-position: center;
  }
}
@media only screen and (max-width: 767px) {
  .productmessage .overlay img {
    display: none;
  }
}
.productmessage .angles {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 4;
}
.productmessage .angles .before,
.productmessage .angles .after {
  width: 0px;
  height: 0px;
  position: absolute;
  left: 0px;
  content: "";
  z-index: 2;
}
.productmessage .angles .before {
  top: 0px;
  border-left: 0px solid rgba(0, 0, 0, 0);
  border-right: 130px solid rgba(0, 0, 0, 0);
  border-top: 130px solid #fff;
}
@media only screen and (max-width: 1199px) {
  .productmessage .angles .before {
    border-top: 75px solid #fff;
  }
}
@media only screen and (max-width: 767px) {
  .productmessage .angles .before {
    border-top: 50px solid #fff;
  }
}
.productmessage .angles .after {
  bottom: 0px;
  border-left: 0px solid rgba(0, 0, 0, 0);
  border-right: 130px solid rgba(0, 0, 0, 0);
  border-bottom: 130px solid #fff;
}
@media only screen and (max-width: 1199px) {
  .productmessage .angles .after {
    border-bottom: 75px solid #fff;
  }
}
@media only screen and (max-width: 767px) {
  .productmessage .angles .after {
    border-bottom: 50px solid #fff;
  }
}
.productmessage .wrapper {
  display: flex;
  justify-content: flex-end;
  position: relative;
  padding-top: 150px;
  padding-bottom: 150px;
  z-index: 5;
}
@media only screen and (max-width: 767px) {
  .productmessage .wrapper {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
.productmessage .wrapper .txt {
  width: 100%;
  max-width: 600px;
}
@media only screen and (max-width: 1199px) {
  .productmessage .wrapper .txt {
    text-align: center;
    margin: 0px auto;
  }
}
.productmessage .wrapper .txt h2, .productmessage .wrapper .txt h3, .productmessage .wrapper .txt h4 {
  font-size: 2.8em;
  color: #ffffff;
  font-weight: 600;
  line-height: 1.2em;
}
@media only screen and (max-width: 767px) {
  .productmessage .wrapper .txt h2, .productmessage .wrapper .txt h3, .productmessage .wrapper .txt h4 {
    font-size: 1.6em;
  }
}
.productmessage .wrapper .txt h2 strong, .productmessage .wrapper .txt h3 strong, .productmessage .wrapper .txt h4 strong {
  color: var(--tertiary-colour);
}
.productmessage .wrapper .txt p {
  font-size: 1.2em;
  color: #ffffff;
  font-weight: 600;
  line-height: 1.2em;
}
@media only screen and (max-width: 767px) {
  .productmessage .wrapper .txt p {
    font-size: 1em;
  }
}
.productmessage .wrapper .txt p strong {
  color: var(--tertiary-colour);
}
.productmessage .wrapper .txt > *:last-child {
  margin-bottom: 0px;
}

.productordersteps .wrapper .title > *:last-child {
  margin: 0px;
}
.productordersteps .wrapper .steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.productordersteps .wrapper .steps > div {
  width: 33.33%;
  text-align: center;
  padding: 0px 15px;
}
@media only screen and (max-width: 767px) {
  .productordersteps .wrapper .steps > div {
    width: 50%;
  }
}
@media only screen and (max-width: 559px) {
  .productordersteps .wrapper .steps > div {
    width: 100%;
  }
}
.productordersteps .wrapper .steps > div .img {
  position: relative;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .productordersteps .wrapper .steps > div .img {
    margin-bottom: 15px;
  }
}
.productordersteps .wrapper .steps > div .img:before, .productordersteps .wrapper .steps > div .img:after {
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  content: "";
  background: #e4e6e7;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .productordersteps .wrapper .steps > div .img:before, .productordersteps .wrapper .steps > div .img:after {
    display: none;
  }
}
.productordersteps .wrapper .steps > div .img:before {
  left: -50%;
}
.productordersteps .wrapper .steps > div .img:after {
  right: -50%;
}
.productordersteps .wrapper .steps > div .img span {
  position: relative;
  display: inline-block;
  background: #ffffff;
  padding: 0px 20px;
  z-index: 2;
}
.productordersteps .wrapper .steps > div .img img {
  padding: 25px;
  border: 1px solid #e4e6e7;
  border-radius: 50%;
  margin: 0px auto;
  box-sizing: unset;
}
@media only screen and (max-width: 767px) {
  .productordersteps .wrapper .steps > div .img img {
    padding: 15px;
  }
}
.productordersteps .wrapper .steps > div .txt > div {
  width: 100%;
  max-width: 275px;
  margin: 0px auto;
}
.productordersteps .wrapper .steps > div .txt h3 {
  font-size: 1.2em;
}
.productordersteps .wrapper .steps > div:first-child .img:before {
  display: none;
}
.productordersteps .wrapper .steps > div:last-child .img:after {
  display: none;
}

.contactcontent {
  position: relative;
  background-position: right;
  background-repeat: no-repeat;
  background-size: 50% 100%;
}
@media only screen and (max-width: 767px) {
  .contactcontent {
    background: none;
  }
}
.contactcontent .wrapper {
  gap: 0px;
}
.contactcontent .wrapper > div {
  padding: 75px 50px;
}
@media only screen and (max-width: 1199px) {
  .contactcontent .wrapper > div {
    padding: 50px 25px;
  }
}
@media only screen and (max-width: 767px) {
  .contactcontent .wrapper > div {
    padding: 50px 15px;
  }
}
.contactcontent .wrapper .contactdetails p > span {
  width: 100%;
  display: inline-block;
}
.contactcontent .wrapper .contactdetails .consultancy-social {
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  .contactcontent .wrapper .contactform {
    background: url(/wp-content/themes/consultancy/assets/images/contactcontainer-bg.jpg);
    background-size: cover;
    padding: 25px 15px;
  }
}

.contactmap h2 {
  margin-bottom: 35px;
}
.contactmap iframe {
  width: 100%;
  height: 550px;
}
@media only screen and (max-width: 767px) {
  .contactmap iframe {
    height: 250px;
  }
}

.downloadsbox .wrapper {
  max-width: 900px;
}
.downloadsbox .wrapper .downloadslist {
  border: 1px solid #f1f4f5;
}
.downloadsbox .wrapper .downloadslist > div {
  display: grid;
  grid-template-columns: 180px auto 175px;
  align-items: center;
  border-bottom: 1px solid #f1f4f5;
}
@media only screen and (max-width: 767px) {
  .downloadsbox .wrapper .downloadslist > div {
    grid-template-columns: 1fr;
    text-align: center;
  }
}
.downloadsbox .wrapper .downloadslist > div:last-child {
  border: 0px;
}
.downloadsbox .wrapper .downloadslist > div > div {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  padding: 10px;
  border-right: 1px solid #f1f4f5;
}
@media only screen and (max-width: 767px) {
  .downloadsbox .wrapper .downloadslist > div > div {
    display: inline-block;
    font-size: 0.9em;
    border: 0px;
  }
}
.downloadsbox .wrapper .downloadslist > div > div:last-child {
  border: 0px;
}
.downloadsbox .wrapper .downloadslist > div > div img {
  height: 90px;
  object-fit: contain;
  margin: 0px auto;
}
@media only screen and (max-width: 767px) {
  .downloadsbox .wrapper .downloadslist > div > div img {
    width: 175px;
    margin: 0px auto;
  }
}
.downloadsbox .wrapper .downloadslist > div > div a.linkbtn {
  width: 155px;
}

.testimonials .icon {
  margin-bottom: 25px;
}
.testimonials .icon i {
  width: 100px;
  font-size: 50px;
  line-height: 100px;
  background: #f2f2f2;
  border-radius: 50%;
}
.testimonials h3 {
  font-size: 1.2em;
  margin: 0px 0px 10px;
}
.testimonials .stars i {
  width: 25px;
  font-size: 16px;
  color: #fff;
  line-height: 25px;
  background: #10b67d;
}
.testimonials .review {
  position: relative;
}
.testimonials .review p {
  color: #797979;
}
.testimonials p.name {
  font-weight: 600;
  font-style: italic;
  margin: 0px;
}

.testimonialsloop .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.testimonialsloop .wrapper > div {
  width: calc(100% - 50px);
  text-align: center;
  padding: 25px;
  border: 1px solid #e7e7e7;
  margin: 25px;
}
@media only screen and (max-width: 1199px) {
  .testimonialsloop .wrapper > div {
    width: calc(100% - 20px);
    padding: 15px;
    margin: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .testimonialsloop .wrapper > div {
    width: 100%;
    padding: 15px;
    margin: 10px 0px;
  }
}
.testimonialsloop .wrapper > div.half {
  width: calc(50% - 50px);
}
@media only screen and (max-width: 1199px) {
  .testimonialsloop .wrapper > div.half {
    width: calc(50% - 20px);
  }
}
@media only screen and (max-width: 767px) {
  .testimonialsloop .wrapper > div.half {
    width: 100%;
    padding: 15px;
    margin: 10px 0px;
  }
}
.testimonialsloop .wrapper > div.third {
  width: calc(33.33% - 50px);
}
@media only screen and (max-width: 1199px) {
  .testimonialsloop .wrapper > div.third {
    width: calc(50% - 20px);
  }
}
@media only screen and (max-width: 767px) {
  .testimonialsloop .wrapper > div.third {
    width: 100%;
    padding: 15px;
    margin: 10px 0px;
  }
}

body .ngg-galleryoverview {
  margin: 0px;
}
body .ngg-galleryoverview .ngg-gallery-thumbnail-box {
  width: 20%;
  padding: 5px;
}
@media only screen and (max-width: 1199px) {
  body .ngg-galleryoverview .ngg-gallery-thumbnail-box {
    width: 25%;
  }
}
@media only screen and (max-width: 767px) {
  body .ngg-galleryoverview .ngg-gallery-thumbnail-box {
    width: 50%;
    padding: 2px;
  }
}
body .ngg-galleryoverview .ngg-gallery-thumbnail-box .ngg-gallery-thumbnail a {
  margin: 0px;
}
body .ngg-galleryoverview .ngg-gallery-thumbnail-box .ngg-gallery-thumbnail a img {
  width: 100%;
}
body .ngg-galleryoverview .ngg-navigation {
  padding: 0px;
  margin-top: 30px;
}
body .ngg-galleryoverview .ngg-navigation span {
  width: 30px;
  display: inline-block;
  color: var(--button-text-colour);
  font-weight: 400;
  line-height: 30px;
  background: var(--primary-colour);
  padding: 0px;
  margin: 0px 5px;
  border-radius: 0px;
}
body .ngg-galleryoverview .ngg-navigation span:hover {
  background: var(--primary-colour);
}
body .ngg-galleryoverview .ngg-navigation a.page-numbers {
  width: 30px;
  display: inline-block;
  color: var(--button-text-colour-hover);
  font-weight: 400;
  line-height: 30px;
  background: var(--secondary-colour);
  padding: 0px;
  margin: 0px 5px;
  border-radius: 0px;
}
body .ngg-galleryoverview .ngg-navigation a.page-numbers:hover {
  opacity: 0.7;
}
body .ngg-galleryoverview .ngg-navigation a.prev, body .ngg-galleryoverview .ngg-navigation a.next {
  color: var(--secondary-colour);
  margin: 0px 5px;
}
body .ngg-galleryoverview .ngg-navigation a.prev:hover, body .ngg-galleryoverview .ngg-navigation a.next:hover {
  color: var(--secondary-colour) !important;
  opacity: 0.7;
}

.gallerypage .tabcontainer h2 {
  width: 100%;
}

.customersupport .wrapper {
  gap: 50px;
}
@media only screen and (max-width: 1199px) {
  .customersupport .wrapper {
    column-gap: 15px;
  }
}
.customersupport .wrapper > div {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}
.customersupport .wrapper > div > * {
  width: 100%;
}
.customersupport .wrapper > div img {
  margin: 0px auto 25px;
}
.customersupport .wrapper > div .btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto 0px 0px;
}
.customersupport .wrapper > div .btns .linkbtn {
  max-width: calc(100% - 10px);
  margin: 5px;
}
.customersupport .wrapper > div:first-child {
  grid-column: 1/4;
}
@media only screen and (max-width: 767px) {
  .customersupport .wrapper > div:first-child {
    grid-column: 1;
  }
}
.customersupport .wrapper > div:first-child .btns .linkbtn {
  max-width: calc(100% - 20px);
  margin: 10px;
}
@media only screen and (max-width: 767px) {
  .customersupport .wrapper > div:first-child .btns .linkbtn {
    max-width: calc(100% - 10px);
    margin: 5px;
  }
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  font-family: "Font Awesome 6 Pro", sans-serif;
  content: "\f06a";
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1.5em;
  font-weight: 100;
}

p.woocommerce-noreviews::before {
  font-family: "Font Awesome 6 Pro", sans-serif;
  content: "\f040";
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1.5em;
  font-weight: 600;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  margin-bottom: 2.5rem;
  background-color: #48c78e;
  margin-left: 0;
  border-radius: 2px;
  color: #ffffff;
  clear: both;
  border-left: 9px solid rgba(0, 0, 0, 0.15);
  padding: 16px 32px 16px 56px;
  position: relative;
  list-style: none outside;
  border-top: none;
  font-family: Arial, Helvetica, sans-serif;
  text-rendering: optimizeLegibility;
  font-weight: 400;
  line-height: 1.618;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
    text-align: left;
  }
}
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.woocommerce-noreviews a,
p.no-comments a {
  color: #ffffff;
}
.woocommerce-message a.restore-item,
.woocommerce-info a.restore-item,
.woocommerce-error a.restore-item,
.woocommerce-noreviews a.restore-item,
p.no-comments a.restore-item {
  color: #ffffff;
  line-height: 1.618;
  padding-left: 3px;
}
.woocommerce-message a.showcoupon,
.woocommerce-info a.showcoupon,
.woocommerce-error a.showcoupon,
.woocommerce-noreviews a.showcoupon,
p.no-comments a.showcoupon {
  color: #ffffff;
  line-height: 1.618;
  border-left: 1px solid rgba(255, 255, 255, 0.25);
  margin-left: 1em;
  font-family: Arial, Helvetica, sans-serif;
  text-rendering: optimizeLegibility;
  padding: 0 0 0 1em;
  transition: all 0.3s ease-in-out;
}
.woocommerce-message a.showcoupon:hover,
.woocommerce-info a.showcoupon:hover,
.woocommerce-error a.showcoupon:hover,
.woocommerce-noreviews a.showcoupon:hover,
p.no-comments a.showcoupon:hover {
  opacity: 0.8;
}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-noreviews .button,
p.no-comments .button {
  color: #ffffff;
  background-color: unset !important;
  padding: 0 0 0 1em !important;
  border-radius: unset;
  line-height: 1.618;
  margin-left: 1em;
  border-width: 0;
  border-left-width: 1px !important;
  border-left-style: solid !important;
  border-left-color: rgba(255, 255, 255, 0.25) !important;
  font-family: Arial, Helvetica, sans-serif;
  text-rendering: optimizeLegibility;
  order: 2;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce-noreviews .button:hover,
p.no-comments .button:hover {
  background-color: unset;
  opacity: 0.8;
  transition: all 0.3s ease-in-out;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: #3e8ed0;
}
.woocommerce-info:before,
.woocommerce-noreviews:before,
p.no-comments:before {
  top: 1.05em;
  color: #ffffff;
}

.woocommerce-error {
  background-color: #f14668;
}
.woocommerce-error:before {
  top: 1.05em;
  color: #ffffff;
}

.woocommerce-message:before {
  top: 1.05em;
  color: #ffffff;
}

.woocommerce-pagination {
  text-align: center;
}
.woocommerce-pagination .page-numbers {
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline-flex;
}
.woocommerce-pagination .page-numbers li .current {
  height: 42px;
  width: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin: 0 4px;
  background-color: #d3d3d3;
  color: #ffffff;
}
.woocommerce-pagination .page-numbers li a {
  text-decoration: none;
  height: 42px;
  width: 42px;
  color: #000000;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease-in-out;
  border-radius: 50%;
  margin: 0 4px;
}
.woocommerce-pagination .page-numbers li a:hover {
  background-color: #d3d3d3;
  color: #ffffff;
}
.woocommerce-pagination .page-numbers li a i {
  font-size: 0.8em;
}

.shop-content {
  padding: 0 20px;
}
.shop-content > .wrapper {
  padding-left: 0px;
  padding-right: 0px;
}
.shop-content a:not(.view) {
  text-decoration: none;
}
.shop-content a:not(.view).button {
  text-align: center;
  cursor: pointer;
  font-size: 0.9em;
  padding: 15px 25px;
  border: 0;
  display: inline-block;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  background-color: var(--primary-colour);
  color: var(--text-colour);
  color: #ffffff;
}
.shop-content a:not(.view).button:hover {
  background-color: var(--secondary-colour);
  color: var(--text-colour);
}
.shop-content a:not(.view).button.alt {
  text-align: center;
  cursor: pointer;
  font-size: 0.9em;
  padding: 15px 25px;
  border: 0;
  display: inline-block;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  background-color: var(--tertiary-colour);
  color: #ffffff;
}
.shop-content a:not(.view).button.alt:hover {
  background-color: var(--secondary-colour);
  color: var(--text-colour);
}
.shop-content .col2-set {
  display: flex;
  justify-content: space-between;
}
.shop-content .col2-set .col-1,
.shop-content .col2-set .col-2 {
  width: calc(50% - 20px);
}
.shop-content .form-row-wrapper {
  display: flex;
  flex-wrap: wrap;
}
.shop-content .form-row-wrapper .form-row-first {
  width: calc(50% - 20px);
  margin-right: 20px;
}
.shop-content .form-row-wrapper .form-row-last {
  width: calc(50% - 20px);
  margin-left: 20px;
}
.shop-content .form-row {
  margin-bottom: 1.25rem;
}
.shop-content .form-row label {
  display: block;
  font-size: 0.9375rem;
  margin-bottom: 5px;
}
.shop-content .form-row input,
.shop-content .form-row textarea,
.shop-content .form-row select {
  display: block;
  width: 100%;
  max-width: 100%;
  outline: none;
  background-image: none;
  border-radius: 0;
}
.shop-content .form-row em {
  font-size: 0.9375rem;
  padding-top: 8px;
  display: block;
  opacity: 0.7;
}
.shop-content table:not(.has-background) th {
  background-color: #efefef;
}
.shop-content table:not(.has-background) tbody td {
  background-color: #fdfdfd;
}
.shop-content table:not(.has-background) tbody tr:nth-child(2n) td {
  background-color: #fbfbfb;
}
.shop-content table:not(.has-background) fieldset {
  background-color: #fbfbfb;
}
.shop-content table:not(.has-background) fieldset legend {
  background-color: #fbfbfb;
}
.shop-content .shop_table.shop_table_responsive, .shop-content .shop_table.order_details {
  font-size: 0.9375rem;
}
.shop-content .shop_table.shop_table_responsive th,
.shop-content .shop_table.shop_table_responsive td, .shop-content .shop_table.order_details th,
.shop-content .shop_table.order_details td {
  padding: 15px 20px;
  text-align: left;
  vertical-align: middle;
}
.shop-content .shop_table.shop_table_responsive thead th, .shop-content .shop_table.order_details thead th {
  border-bottom: 1px solid #dcdcdc;
  border-top: 1px solid #dcdcdc;
}
.shop-content .shop_table.shop_table_responsive thead th:first-of-type, .shop-content .shop_table.order_details thead th:first-of-type {
  border-left: 1px solid #dcdcdc;
}
.shop-content .shop_table.shop_table_responsive thead th:last-of-type, .shop-content .shop_table.order_details thead th:last-of-type {
  border-right: 1px solid #dcdcdc;
}
.shop-content .shop_table.shop_table_responsive tbody tr td, .shop-content .shop_table.order_details tbody tr td {
  border-bottom: 1px solid #dcdcdc;
}
.shop-content .shop_table.shop_table_responsive tbody tr td:first-of-type, .shop-content .shop_table.order_details tbody tr td:first-of-type {
  border-left: 1px solid #dcdcdc;
}
.shop-content .shop_table.shop_table_responsive tbody tr td:last-of-type, .shop-content .shop_table.order_details tbody tr td:last-of-type {
  border-right: 1px solid #dcdcdc;
}
.shop-content .shop_table.shop_table_responsive tfoot tr:first-of-type th,
.shop-content .shop_table.shop_table_responsive tfoot tr:first-of-type td, .shop-content .shop_table.order_details tfoot tr:first-of-type th,
.shop-content .shop_table.order_details tfoot tr:first-of-type td {
  border-top: 1px solid #dcdcdc;
}
.shop-content .shop_table.shop_table_responsive tfoot tr th, .shop-content .shop_table.order_details tfoot tr th {
  border-left: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}
.shop-content .shop_table.shop_table_responsive tfoot tr td, .shop-content .shop_table.order_details tfoot tr td {
  border-right: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}
.shop-content mark,
.shop-content ins {
  background-color: transparent;
  text-decoration: none;
}
.shop-content form.checkout_coupon {
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 30px;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .shop-content form.checkout_coupon {
    column-gap: 10px;
  }
}
.shop-content form.checkout_coupon p:first-of-type {
  grid-column: 1/-1;
}

.shoptitle {
  margin: 50px 0px;
}
.shoptitle h1 {
  margin: 0px;
}

.shop-content .form-input,
.shop-content .search-field {
  display: block;
  width: 100%;
  max-width: 100%;
  outline: none;
  background-image: none;
}
.shop-content input[type=text], .shop-content input[type=number], .shop-content input[type=email], .shop-content input[type=tel], .shop-content input[type=url], .shop-content input[type=password], .shop-content input[type=search] {
  font-family: "Gilroy", sans-serif;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  line-height: 1.8;
  padding: 10px 20px;
  position: relative;
  transition: border-color 0.3s ease-in-out;
  font-size: 1rem;
  min-height: 50px;
}
@media only screen and (max-width: 767px) {
  .shop-content input[type=text], .shop-content input[type=number], .shop-content input[type=email], .shop-content input[type=tel], .shop-content input[type=url], .shop-content input[type=password], .shop-content input[type=search] {
    padding: 10px;
  }
}
.shop-content input[type=button], .shop-content input[type=reset], .shop-content input[type=submit] {
  text-align: center;
  cursor: pointer;
  font-size: 0.9em;
  padding: 15px 25px;
  border: 0;
  display: inline-block;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  background-color: var(--primary-colour);
  color: var(--text-colour);
}
.shop-content input[type=button]:hover, .shop-content input[type=reset]:hover, .shop-content input[type=submit]:hover {
  background-color: var(--secondary-colour);
  color: var(--text-colour);
}
.shop-content select, .shop-content .select2-selection {
  -webkit-appearance: none;
  background-color: #fff;
  border: 1px solid #ddd;
  line-height: 1.8;
  padding: 10px 30px 10px 20px;
  position: relative;
  transition: border-color 0.3s ease-in-out;
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  min-height: 50px;
  display: block;
  width: 100%;
  max-width: 100%;
  outline: none;
  border-radius: 0;
  appearance: none;
  background: url("../assets/images/down-arrow.png");
  background-repeat: no-repeat;
  background-size: 11px 7px;
  background-position: right 15px bottom 50%;
}
.shop-content select .select2-selection__rendered, .shop-content .select2-selection .select2-selection__rendered {
  padding: 0px;
}
.shop-content select .select2-selection__arrow, .shop-content .select2-selection .select2-selection__arrow {
  top: calc(50% - 13px);
}
.shop-content .button[type=button], .shop-content .button[type=reset], .shop-content .button[type=submit] {
  text-align: center;
  cursor: pointer;
  font-size: 0.9em;
  padding: 15px 25px;
  border: 0;
  display: inline-block;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  background-color: var(--primary-colour);
  color: var(--text-colour);
}
.shop-content .button[type=button]:hover, .shop-content .button[type=reset]:hover, .shop-content .button[type=submit]:hover {
  background-color: var(--secondary-colour);
  color: var(--text-colour);
}

.woocommerce-account .shop-content .woocommerce {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .woocommerce-account .shop-content .woocommerce {
    flex-wrap: wrap;
  }
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content {
  width: 70%;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content fieldset {
  background-color: #f6f6f6;
  padding: 25px;
  margin: 25px 0;
  border: 0;
}
@media only screen and (max-width: 767px) {
  .woocommerce-account .shop-content .woocommerce-MyAccount-content fieldset {
    text-align: left;
  }
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content fieldset legend {
  background-color: #f6f6f6;
  font-weight: 600;
  padding: 15px 25px;
  margin-left: -25px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-account .shop-content .woocommerce-MyAccount-content fieldset legend {
    text-align: left;
  }
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Addresses {
  margin-top: 30px;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Addresses header.title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Addresses header.title h3 {
  margin-bottom: 0;
  line-height: 1;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Addresses header.title a {
  overflow: hidden;
  display: block;
  height: 1em;
  width: 1em;
  text-indent: -9999px;
  position: relative;
  padding: 1rem;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Addresses header.title a:hover:before {
  opacity: 1;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Addresses header.title a:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-variant: normal;
  font-family: "Font Awesome 6 Pro";
  font-weight: 100;
  vertical-align: baseline;
  content: "\f044";
  line-height: 1.618;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  text-align: center;
  text-indent: 0;
  color: var(--text-colour);
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Address {
  text-align: left;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Address address {
  line-height: 1.6;
  font-style: normal;
}
@media only screen and (max-width: 767px) {
  .woocommerce-account .shop-content .woocommerce-MyAccount-content .woocommerce-Address {
    margin-bottom: 2.5rem;
  }
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation {
  width: calc(30% - 30px);
  margin-right: 30px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-account .shop-content .woocommerce-MyAccount-navigation {
    width: 100%;
    text-align: left;
  }
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul {
  margin-left: 0;
  padding-left: 0;
  margin-top: 0;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li {
  list-style: none;
  padding: 0px 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  position: relative;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.is-active {
  background-color: #fbfbfb;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--text-colour);
  opacity: 0.8;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.is-active a:before {
  color: var(--text-colour);
  opacity: 0.8;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li a:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  font-weight: 100;
  font-family: "Font Awesome 6 Pro";
  vertical-align: baseline;
  opacity: 0.8;
  margin-right: 10px;
  line-height: 1.8em;
  width: 22px;
  color: var(--text-colour);
  transition: all 0.3s ease-in-out;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li a:hover:before {
  opacity: 1;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link a {
  text-decoration: none;
  padding: 14px 0;
  display: block;
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a:before {
  content: "\f109";
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a:before {
  content: "\f291";
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a:before {
  content: "\f015";
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a:before {
  content: "\f007";
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:before {
  content: "\f2f5";
}
.woocommerce-account .shop-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a:before {
  content: "\f019";
}
.woocommerce-account .shop-content .woocommerce-EditAccountForm .form-row-first {
  width: calc(50% - 20px);
  margin-right: 20px;
  float: left;
}
.woocommerce-account .shop-content .woocommerce-EditAccountForm .form-row-last {
  width: calc(50% - 20px);
  margin-left: 20px;
  float: right;
}
.woocommerce-account .shop-content .woocommerce-table.order_details {
  background-color: #f8f8f8;
  margin-bottom: 30px;
}
.woocommerce-account .shop-content .woocommerce-table.order_details thead th {
  border-bottom: 1px solid #dcdcdc;
  border-top: 1px solid #dcdcdc;
}
.woocommerce-account .shop-content .woocommerce-table.order_details thead th:first-of-type {
  border-left: 1px solid #dcdcdc;
}
.woocommerce-account .shop-content .woocommerce-table.order_details thead th:last-of-type {
  border-right: 1px solid #dcdcdc;
}
.woocommerce-account .shop-content .woocommerce-table.order_details tbody tr td:first-of-type {
  border-left: 1px solid #dcdcdc;
}
.woocommerce-account .shop-content .woocommerce-table.order_details tbody tr td:last-of-type {
  border-right: 1px solid #dcdcdc;
}
.woocommerce-account .shop-content .woocommerce-table.order_details tfoot tr:first-of-type th,
.woocommerce-account .shop-content .woocommerce-table.order_details tfoot tr:first-of-type td {
  border-top: 1px solid #dcdcdc;
}
.woocommerce-account .shop-content .woocommerce-table.order_details tfoot tr th {
  border-left: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}
.woocommerce-account .shop-content .woocommerce-table.order_details tfoot tr td {
  border-right: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}
.woocommerce-account .shop-content .account-orders-table a.button {
  text-align: center;
  cursor: pointer;
  font-size: 0.9em;
  padding: 15px 25px;
  border: 0;
  display: inline-block;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  color: var(--button-text-colour-colour);
  background: var(--primary-colour);
  transition: all 0.5s ease;
}
.woocommerce-account .shop-content .account-orders-table a.button:hover {
  opacity: 0.7;
}
.woocommerce-account .shop-content .woocommerce-order-details .woocommerce-table {
  width: 100%;
  max-width: 650px;
}
.woocommerce-account .shop-content .woocommerce-order-details .woocommerce-table tbody tr td .wc-item-meta {
  list-style: none;
  padding-left: 5px;
  margin: 5px 0px 0px;
}
.woocommerce-account .shop-content .woocommerce-order-details .woocommerce-table tbody tr td .wc-item-meta li {
  display: grid;
  gap: 5px;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.woocommerce-account .shop-content .woocommerce-order-details .woocommerce-table tbody tr td .wc-item-meta li p {
  margin: 0px;
}
.woocommerce-account .shop-content .woocommerce-order-details .woocommerce-table tfoot tr th, .woocommerce-account .shop-content .woocommerce-order-details .woocommerce-table tfoot tr td {
  background-color: #fbfbfb;
}
.woocommerce-account .shop-content .woocommerce-order-details .woocommerce-table tfoot tr:last-child th, .woocommerce-account .shop-content .woocommerce-order-details .woocommerce-table tfoot tr:last-child td {
  background-color: #efefef;
}
.woocommerce-account .shop-content .woocommerce-customer-details address {
  line-height: 1.4em;
}
.woocommerce-account .shop-content .woocommerce-customer-details address p {
  margin: 5px 0px 0px;
}
.woocommerce-account .shop-content .woocommerce-Addresses > div {
  padding: 15px;
  border: 1px solid #dcdcdc;
}

.woocommerce-breadcrumb {
  color: var(--primary-colour);
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  margin-bottom: 2.5rem;
  padding: 15px;
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-breadcrumb {
    display: none;
  }
}
.woocommerce-breadcrumb .breadcrumb-delimiter {
  margin: 0 0.1875rem;
}
.woocommerce-breadcrumb .breadcrumb-delimiter i {
  color: var(--text-colour);
  font-size: 0.75rem;
}
.woocommerce-breadcrumb a {
  color: var(--text-colour);
}

.product-summary-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px;
}
@media only screen and (max-width: 1199px) {
  .product-summary-wrapper {
    gap: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .product-summary-wrapper {
    grid-template-columns: 1fr;
  }
}

.single-product .shop-content div.product {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 60px;
}
.single-product .shop-content div.product .woocommerce-product-gallery {
  position: relative;
}
.single-product .shop-content div.product .woocommerce-product-gallery img {
  margin: 0;
  display: block;
}
.single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs, .single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs, .single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs {
  display: grid;
  row-gap: 15px;
  column-gap: 15px;
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs, .single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs, .single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0px;
    column-gap: 0px;
  }
}
.single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.single-product .shop-content div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.single-product .shop-content div.product .woocommerce-product-gallery .flex-viewport {
  margin-bottom: 25px;
}
.single-product .shop-content div.product .woocommerce-product-gallery .flex-viewport figure {
  margin: 0px;
}
.single-product .shop-content div.product .woocommerce-product-gallery .flex-viewport figure img {
  margin: 0px auto;
}
.single-product .shop-content div.product .woocommerce-product-gallery .flex-control-thumbs {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0px;
    column-gap: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .woocommerce-product-gallery .flex-control-thumbs li {
    width: calc(20% - 10px);
    margin: 5px;
  }
}
@media only screen and (max-width: 559px) {
  .single-product .shop-content div.product .woocommerce-product-gallery .flex-control-thumbs li {
    width: calc(33.33% - 10px);
    margin: 5px;
  }
}
.single-product .shop-content div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  opacity: 0.5;
  filter: grayscale(100);
  transition: all 0.3s ease-in-out;
  width: 100%;
}
.single-product .shop-content div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  opacity: 1;
  filter: none;
}
.single-product .shop-content div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
  opacity: 1;
  filter: none;
  cursor: pointer;
}
.single-product .shop-content div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  width: 2rem;
  border-radius: 50%;
  background-color: var(--secondary-colour);
  color: var(--secondary-colour-text);
  z-index: 1;
  top: 10px;
  right: 10px;
  text-indent: -999px;
  overflow: hidden;
}
.single-product .shop-content div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
  content: "\f002";
  display: block;
  line-height: 1;
  text-indent: 0;
  font-variant: normal;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: start;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
  border-bottom: 1px solid #dddddd;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .woocommerce-tabs .tabs {
    justify-content: center;
  }
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li {
  margin: 0 20px 10px;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li:first-of-type {
  margin-left: 0;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li:last-of-type {
  margin-right: 0;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li a {
  padding-bottom: 15px;
  position: relative;
  transition: all 0.3s ease-in-out;
  color: #000000;
  opacity: 0.35;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li a::after {
  content: "";
  height: 2px;
  background-color: #000000;
  display: block;
  position: absolute;
  left: 0;
  width: 0;
  bottom: -2px;
  transition: all 0.3s ease-in-out;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li a:hover {
  opacity: 1;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li.active a {
  opacity: 1;
}
.single-product .shop-content div.product .woocommerce-tabs .tabs li.active a:after {
  width: 100%;
  opacity: 1;
}
.single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  display: none;
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes {
    width: 100%;
    display: inline-block;
  }
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes tr {
    width: 100%;
    display: inline-block;
  }
}
.single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes tr th, .single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes tr td {
  text-align: left;
  background-color: unset;
  padding: 5px;
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes tr th, .single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes tr td {
    width: 100%;
    display: inline-block;
    text-align: center;
  }
}
.single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes tr th p, .single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes tr td p {
  margin: 0px;
}
.single-product .shop-content div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-attributes tr th {
  font-weight: bold;
}
.single-product .shop-content div.product .related > h2 {
  margin: 0px 0px 35px;
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .related > h2 {
    margin: 0px 0px 15px;
  }
}
.single-product .shop-content div.product .onsale {
  color: #ffffff;
  background-color: #f14668;
  font-size: 0.75rem;
  line-height: 1;
  text-transform: uppercase;
  padding: 7px 10px;
  border-radius: 5px;
  z-index: 2;
  margin-bottom: 1rem;
  display: inline-block;
}
.single-product .shop-content div.product .product_meta {
  border-top: 1px solid #dddddd;
  margin-top: 30px;
  padding-top: 30px;
  font-size: 0.875rem;
}
.single-product .shop-content div.product .product_meta .sku_wrapper,
.single-product .shop-content div.product .product_meta .posted_in,
.single-product .shop-content div.product .product_meta .tagged_as {
  display: block;
  margin-bottom: 10px;
}
.single-product .shop-content div.product p.price {
  font-size: 1.375rem;
  margin: 15px 0;
  color: var(--cons-wc-price);
  font-weight: 600;
  display: flex;
  align-items: baseline;
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product p.price {
    justify-content: center;
    margin: 5px 0;
  }
}
.single-product .shop-content div.product p.price del {
  font-weight: 400;
  color: #000000;
  opacity: 0.3;
  font-size: 1rem;
}
.single-product .shop-content div.product p.price del + ins {
  order: -1;
  margin-right: 8px;
}
.single-product .shop-content div.product form.cart {
  padding: 1rem 0;
  display: flex;
  justify-content: start;
}
.single-product .shop-content div.product form.cart .quantity .qty {
  margin-right: 30px;
}
.single-product .shop-content div.product form.cart.grouped_form {
  padding: 1rem 0;
  display: grid;
  grid-template-columns: 1fr;
  justify-content: start;
  row-gap: 30px;
}
.single-product .shop-content div.product form.cart.grouped_form tr td {
  background-color: unset;
  font-size: 0.9375rem;
  padding: 15px 20px;
}
.single-product .shop-content div.product form.cart.grouped_form tr td.woocommerce-grouped-product-list-item__price del {
  font-size: 0.8em;
  color: #4d4d4d;
  font-weight: 400;
}
.single-product .shop-content div.product form.cart.grouped_form tr td.woocommerce-grouped-product-list-item__price ins {
  text-decoration: none;
}
.single-product .shop-content div.product form.cart.grouped_form tr td.woocommerce-grouped-product-list-item__price p.stock {
  margin: 3px 0 0;
  font-size: 0.75rem;
  font-style: italic;
}
.single-product .shop-content div.product form.cart.grouped_form button[type=submit] {
  justify-self: start;
}
.single-product .shop-content div.product form.variations_form {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 20px;
}
.single-product .shop-content div.product .single_variation_wrap .woocommerce-variation-add-to-cart {
  padding: 1rem 0;
  display: flex;
  justify-content: start;
}
@media only screen and (max-width: 767px) {
  .single-product .shop-content div.product .single_variation_wrap .woocommerce-variation-add-to-cart {
    justify-content: center;
  }
}
.single-product .shop-content div.product table.variations tbody {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 10px;
}
.single-product .shop-content div.product table.variations tr {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 5px;
}
.single-product .shop-content div.product table.variations td, .single-product .shop-content div.product table.variations th {
  text-align: left;
  background-color: unset;
}
.single-product .shop-content div.product table.variations td label, .single-product .shop-content div.product table.variations th label {
  padding: 0;
  font-size: 0.9375rem;
  display: block;
}
.single-product .shop-content div.product table.variations td a.reset_variations, .single-product .shop-content div.product table.variations th a.reset_variations {
  font-size: 0.875rem;
  font-style: italic;
  display: inline-block;
  margin-top: 0.625rem;
}

.store-filter {
  display: grid;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.5rem;
  column-gap: 30px;
  grid-template-columns: repeat(2, auto);
}
@media only screen and (max-width: 479px) {
  .store-filter {
    grid-template-columns: 1fr;
    row-gap: 20px;
    justify-items: center;
  }
}
.store-filter .woocommerce-result-count {
  margin: 0;
}

.shop-content .quantity .qty {
  width: 70px;
  padding: 10px;
}
.shop-content .products ul {
  margin: 0 0 1.875rem;
  padding: 0;
  list-style: none outside;
}
.shop-content ul.products {
  margin: 0 0 1.875rem;
  padding: 0;
  list-style: none outside;
  display: grid;
  column-gap: 40px;
  row-gap: 80px;
  margin-bottom: 80px;
}
@media only screen and (max-width: 1199px) {
  .shop-content ul.products {
    column-gap: 20px;
    row-gap: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .shop-content ul.products {
    column-gap: 15px;
    row-gap: 20px;
  }
}
.shop-content ul.products .product-loop-categories {
  grid-column: 1/-1;
  display: grid;
  column-gap: 40px;
  row-gap: 80px;
}
@media only screen and (max-width: 1199px) {
  .shop-content ul.products .product-loop-categories {
    column-gap: 20px;
    row-gap: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .shop-content ul.products .product-loop-categories {
    column-gap: 15px;
    row-gap: 20px;
  }
}
.shop-content ul.products.columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media only screen and (max-width: 767px) {
  .shop-content ul.products.columns-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 559px) {
  .shop-content ul.products.columns-3 {
    grid-template-columns: 1fr;
  }
}
.shop-content ul.products.columns-3 .product-loop-categories {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media only screen and (max-width: 767px) {
  .shop-content ul.products.columns-3 .product-loop-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 559px) {
  .shop-content ul.products.columns-3 .product-loop-categories {
    grid-template-columns: 1fr;
  }
}
.shop-content ul.products.columns-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media only screen and (max-width: 959px) {
  .shop-content ul.products.columns-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .shop-content ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 559px) {
  .shop-content ul.products.columns-4 {
    grid-template-columns: 1fr;
  }
}
.shop-content ul.products.columns-4 .product-loop-categories {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media only screen and (max-width: 959px) {
  .shop-content ul.products.columns-4 .product-loop-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .shop-content ul.products.columns-4 .product-loop-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 559px) {
  .shop-content ul.products.columns-4 .product-loop-categories {
    grid-template-columns: 1fr;
  }
}
.shop-content ul.products.columns-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media only screen and (max-width: 1199px) {
  .shop-content ul.products.columns-5 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 959px) {
  .shop-content ul.products.columns-5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .shop-content ul.products.columns-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 559px) {
  .shop-content ul.products.columns-5 {
    grid-template-columns: 1fr;
  }
}
.shop-content ul.products.columns-5 .product-loop-categories {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media only screen and (max-width: 1199px) {
  .shop-content ul.products.columns-5 .product-loop-categories {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 959px) {
  .shop-content ul.products.columns-5 .product-loop-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 767px) {
  .shop-content ul.products.columns-5 .product-loop-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (max-width: 559px) {
  .shop-content ul.products.columns-5 .product-loop-categories {
    grid-template-columns: 1fr;
  }
}
.shop-content ul.products li.product .price {
  display: block;
  font-size: 0.9em;
  color: var(--cons-wc-price);
  font-weight: 600;
}
.shop-content ul.products li.product .price del {
  font-size: 0.8em;
  color: #4d4d4d;
  font-weight: 400;
}
.shop-content ul.products li.product .price ins {
  text-decoration: none;
}
.shop-content ul.products li.product a.woocommerce-loop-product__link:hover .product-thumb-wrap img {
  transform: scale(1.1);
}
.shop-content ul.products li.product-category a:hover .category-thumb-wrap img {
  transform: scale(1.1);
}
.shop-content ul .woocommerce-loop-product__title,
.shop-content ul .woocommerce-loop-category__title {
  font-size: 1rem;
  color: #000000;
  margin: 0;
  font-weight: 500;
}
.shop-content ul .product-thumb-wrap,
.shop-content ul .category-thumb-wrap {
  width: 100%;
  position: relative;
  margin-bottom: 20px;
  overflow: hidden;
  padding-top: 100%;
  background: #f2f2f2;
}
.shop-content ul .product-thumb-wrap img,
.shop-content ul .category-thumb-wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  transition: all 0.3s ease-in-out;
  object-fit: contain;
}
.shop-content ul .product-thumb-wrap .onsale {
  position: absolute;
  bottom: 7px;
  right: 7px;
  color: #ffffff;
  background-color: #f14668;
  font-size: 0.75rem;
  line-height: 1;
  text-transform: uppercase;
  padding: 7px 10px;
  border-radius: 5px;
  z-index: 2;
}
.shop-content ul .product-thumb-wrap .out-of-stock {
  position: absolute;
  top: 7px;
  left: 7px;
  color: #ffffff;
  background-color: #555555;
  font-size: 0.75rem;
  line-height: 1;
  text-transform: uppercase;
  padding: 7px 10px;
  border-radius: 5px;
  z-index: 2;
}
.shop-content ul .product_category span {
  text-transform: uppercase;
  font-size: 0.625rem;
  color: #ABABAF;
}
.shop-content ul .product_text {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 10px;
  margin-bottom: 20px;
}
.shop-content .woocommerce-ordering {
  position: relative;
}
.shop-content .woocommerce-ordering select {
  background: none;
}
.shop-content .woocommerce-ordering:after {
  content: "\f107";
  font-family: "Font Awesome 6 Pro";
  position: absolute;
  right: 10px;
  font-size: 0.875rem;
  top: calc(50% - 6px);
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}
.shop-content .woocommerce-ordering select {
  appearance: none;
  height: 35px;
  font-size: 0.875rem;
  line-height: 35px;
  border: 1px solid #dddddd;
  padding: 0 25px 0 15px;
}

.shop-content .shop_table.woocommerce-cart-form__contents {
  width: 100%;
  font-size: 0.9375rem;
  margin-bottom: 30px;
}
.shop-content .shop_table.woocommerce-cart-form__contents td,
.shop-content .shop_table.woocommerce-cart-form__contents th {
  padding: 15px 20px;
  text-align: left;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .shop-content .shop_table.woocommerce-cart-form__contents td,
.shop-content .shop_table.woocommerce-cart-form__contents th {
    padding: 15px 5px;
  }
}
@media only screen and (max-width: 767px) {
  .shop-content .shop_table.woocommerce-cart-form__contents td.product-thumbnail,
.shop-content .shop_table.woocommerce-cart-form__contents th.product-thumbnail {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .shop-content .shop_table.woocommerce-cart-form__contents td.product-quantity,
.shop-content .shop_table.woocommerce-cart-form__contents th.product-quantity {
    border-right: 1px solid #dcdcdc;
  }
}
.shop-content .shop_table.woocommerce-cart-form__contents td.product-quantity input,
.shop-content .shop_table.woocommerce-cart-form__contents th.product-quantity input {
  width: 40px;
  min-height: 40px;
  line-height: 1.4em;
  text-align: center;
  padding: 5px;
}
@media only screen and (max-width: 767px) {
  .shop-content .shop_table.woocommerce-cart-form__contents td.product-subtotal,
.shop-content .shop_table.woocommerce-cart-form__contents th.product-subtotal {
    display: none;
  }
}
.shop-content .shop_table.woocommerce-cart-form__contents td.product-remove {
  width: 35px;
  padding-right: 0;
}
.shop-content .shop_table.woocommerce-cart-form__contents td.product-remove a.remove {
  display: block;
  width: 2em;
  height: 2em;
  line-height: 2;
  font-weight: 400;
  text-indent: -9999px;
  overflow: hidden;
  position: relative;
}
.shop-content .shop_table.woocommerce-cart-form__contents td.product-remove a.remove:hover::before {
  color: #f14668;
}
.shop-content .shop_table.woocommerce-cart-form__contents td.product-remove a.remove::before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-variant: normal;
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  vertical-align: baseline;
  content: "\f057";
  position: absolute;
  font-size: 1.125rem;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: #737781;
  line-height: 2;
  text-indent: 0;
  text-align: center;
  transition: all 0.3s ease-in-out;
}
.shop-content .shop_table.woocommerce-cart-form__contents td.product-thumbnail {
  width: 120px;
}
.shop-content .shop_table.woocommerce-cart-form__contents td.product-thumbnail img {
  max-width: 80px;
}
.shop-content .shop_table.woocommerce-cart-form__contents td.actions {
  background-color: #efefef;
}
@media only screen and (max-width: 767px) {
  .shop-content .shop_table.woocommerce-cart-form__contents td.actions {
    text-align: center;
    padding-left: 0px;
    padding-right: 0px;
  }
}
.shop-content .shop_table.woocommerce-cart-form__contents td.actions .coupon {
  float: left;
}
@media only screen and (max-width: 767px) {
  .shop-content .shop_table.woocommerce-cart-form__contents td.actions .coupon {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    float: none;
    padding: 0px 15px 15px;
    border-bottom: 1px solid #dcdcdc;
  }
}
.shop-content .shop_table.woocommerce-cart-form__contents td.actions .coupon label {
  display: none;
}
.shop-content .shop_table.woocommerce-cart-form__contents td.actions .coupon input[type=text] {
  margin-left: 5px;
  margin-right: 5px;
}
.shop-content .shop_table.woocommerce-cart-form__contents td.actions > .button {
  float: right;
}
@media only screen and (max-width: 767px) {
  .shop-content .shop_table.woocommerce-cart-form__contents td.actions > .button {
    float: none;
    margin-top: 15px;
  }
}
.shop-content .cart-collaterals {
  display: flex;
  justify-content: end;
}
@media only screen and (max-width: 767px) {
  .shop-content .cart-collaterals {
    justify-content: center;
  }
}
.shop-content .cart-collaterals .cart_totals {
  width: 100%;
  max-width: 500px;
}
.shop-content .cart-collaterals .cart_totals table {
  width: 100%;
  border: 1px solid #dcdcdc;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .shop-content .cart-collaterals .cart_totals table {
    margin-bottom: 15px;
  }
}
.shop-content .cart-collaterals .cart_totals table tr th, .shop-content .cart-collaterals .cart_totals table tr td {
  background: #ffffff;
  border-bottom: 1px solid #dcdcdc;
}
.shop-content .cart-collaterals .cart_totals table tr:nth-child(2n) th, .shop-content .cart-collaterals .cart_totals table tr:nth-child(2n) td {
  background-color: #fbfbfb;
}
.shop-content .cart-collaterals .cart_totals table tr:last-child th, .shop-content .cart-collaterals .cart_totals table tr:last-child td {
  background-color: #efefef;
  border-bottom: 0px;
}
.shop-content .cart-collaterals .cart_totals .wc-proceed-to-checkout {
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .shop-content .cart-collaterals .cart_totals .wc-proceed-to-checkout {
    text-align: center;
  }
}

.woocommerce-checkout .shop-content .woocommerce-form-coupon-toggle .woocommerce-info {
  color: var(--button-text-colour);
  background: var(--primary-colour);
}
@media only screen and (max-width: 559px) {
  .woocommerce-checkout .shop-content .woocommerce-form-coupon-toggle .woocommerce-info {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    padding: 15px;
  }
}
.woocommerce-checkout .shop-content .woocommerce-form-coupon-toggle .woocommerce-info:before {
  color: var(--button-text-colour);
}
.woocommerce-checkout .shop-content .woocommerce-form-coupon-toggle .woocommerce-info .showcoupon {
  color: var(--button-text-colour);
  border-color: var(--button-text-colour);
}
@media only screen and (max-width: 559px) {
  .woocommerce-checkout .shop-content .woocommerce-form-coupon-toggle .woocommerce-info .showcoupon {
    width: 100%;
    border-top: 1px solid var(--button-text-colour);
    border-left: 0px;
    padding: 5px 0px 0px;
    margin: 5px 0px 0px;
  }
}
.woocommerce-checkout .shop-content .checkout {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(2, minmax(auto, 1fr));
}
@media only screen and (max-width: 767px) {
  .woocommerce-checkout .shop-content .checkout {
    grid-template-columns: 1fr;
  }
}
.woocommerce-checkout .shop-content .checkout .woocommerce-NoticeGroup {
  grid-column: 1/3;
}
.woocommerce-checkout .shop-content .checkout .woocommerce-NoticeGroup .woocommerce-error {
  flex-wrap: wrap;
}
.woocommerce-checkout .shop-content .checkout .woocommerce-NoticeGroup .woocommerce-error li {
  width: calc(33.33% - 10px);
  color: #ffffff;
  padding: 5px 10px;
  background: rgba(255, 255, 255, 0.3);
  margin: 5px;
}
@media only screen and (max-width: 1199px) {
  .woocommerce-checkout .shop-content .checkout .woocommerce-NoticeGroup .woocommerce-error li {
    width: calc(50% - 10px);
  }
}
@media only screen and (max-width: 767px) {
  .woocommerce-checkout .shop-content .checkout .woocommerce-NoticeGroup .woocommerce-error li {
    width: 100%;
    margin: 5px 0px;
  }
}
.woocommerce-checkout .shop-content .checkout #customer_details {
  width: 100%;
  flex-wrap: wrap;
}
.woocommerce-checkout .shop-content .checkout #customer_details .col-1, .woocommerce-checkout .shop-content .checkout #customer_details .col-2 {
  width: 100%;
}
.woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
}
.woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper p {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper p {
    text-align: left;
  }
}
.woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper p#billing_first_name_field {
  width: calc(50% - 10px);
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper p#billing_first_name_field {
    width: calc(50% - 5px);
    margin-right: 5px;
  }
}
.woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper p#billing_last_name_field {
  width: calc(50% - 10px);
  margin-left: 10px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper p#billing_last_name_field {
    width: calc(50% - 5px);
    margin-left: 5px;
  }
}
.woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper .select2-selection {
  background: none;
}
.woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-shipping-fields {
  display: none;
}
.woocommerce-checkout .shop-content .checkout #customer_details .woocommerce-additional-fields {
  display: none;
}
.woocommerce-checkout .shop-content .checkout #order_review_heading {
  display: none;
}
.woocommerce-checkout .shop-content .checkout #order_review table {
  width: 100%;
  border: 1px solid #dcdcdc;
  margin-bottom: 35px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-checkout .shop-content .checkout #order_review table {
    margin-bottom: 15px;
  }
}
.woocommerce-checkout .shop-content .checkout #order_review table.shop_table {
  width: 100%;
}
.woocommerce-checkout .shop-content .checkout #order_review table.shop_table tr th, .woocommerce-checkout .shop-content .checkout #order_review table.shop_table tr td {
  background: #fff;
  padding: 15px 20px;
  border-bottom: 1px solid #dcdcdc;
  text-align: left;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .woocommerce-checkout .shop-content .checkout #order_review table.shop_table tr th, .woocommerce-checkout .shop-content .checkout #order_review table.shop_table tr td {
    padding: 10px;
  }
}
.woocommerce-checkout .shop-content .checkout #order_review table.shop_table thead th, .woocommerce-checkout .shop-content .checkout #order_review table.shop_table thead td {
  font-weight: bold;
}
.woocommerce-checkout .shop-content .checkout #order_review table.shop_table tbody th, .woocommerce-checkout .shop-content .checkout #order_review table.shop_table tbody td {
  background-color: #fbfbfb;
}
.woocommerce-checkout .shop-content .checkout #order_review table.shop_table tfoot tr:last-child th, .woocommerce-checkout .shop-content .checkout #order_review table.shop_table tfoot tr:last-child td {
  background-color: #efefef;
  border-bottom: 0px;
}
.woocommerce-checkout .shop-content .checkout #order_review .woocommerce-checkout-payment .payment_methods {
  list-style: none;
  padding: 0px;
  border: 1px solid #dcdcdc;
}
.woocommerce-checkout .shop-content .checkout #order_review .woocommerce-checkout-payment .payment_methods li {
  padding: 15px;
  border-bottom: 1px solid #dcdcdc;
}
.woocommerce-checkout .shop-content .checkout #order_review .woocommerce-checkout-payment .payment_methods li:last-child {
  border: 0px;
}
.woocommerce-checkout .shop-content .checkout #order_review .woocommerce-checkout-payment .payment_methods li .payment_box {
  background-color: #efefef;
  padding: 10px;
  margin-top: 10px;
}
.woocommerce-checkout .shop-content .checkout #order_review .woocommerce-checkout-payment .payment_methods li .payment_box p {
  font-size: 0.9em;
  margin: 0px;
}
.woocommerce-checkout .shop-content .checkout #order_review .woocommerce-checkout-payment .place-order {
  text-align: right;
}
.woocommerce-checkout .shop-content .checkout #order_review .woocommerce-checkout-payment .place-order .woocommerce-terms-and-conditions-wrapper {
  text-align: left;
}

.woocommerce-order-received .shoptitle {
  display: none;
}
.woocommerce-order-received .woocommerce-order {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 50px;
}
.woocommerce-order-received .woocommerce-order > p {
  width: 100%;
  text-align: center;
}
.woocommerce-order-received .woocommerce-order > p.woocommerce-notice {
  font-size: 1.4em;
  line-height: 1.4em;
}
.woocommerce-order-received .woocommerce-order > ul {
  text-align: center;
}
.woocommerce-order-received .woocommerce-order > ul.woocommerce-order-overview {
  width: 100%;
  max-width: 500px;
  list-style: none;
  padding: 0px;
  border: 1px solid #dcdcdc;
  margin: 0px auto 25px;
}
.woocommerce-order-received .woocommerce-order > ul.woocommerce-order-overview li {
  padding: 15px 20px;
  border-bottom: 1px solid #dcdcdc;
}
@media only screen and (max-width: 767px) {
  .woocommerce-order-received .woocommerce-order > ul.woocommerce-order-overview li {
    padding: 10px;
  }
}
.woocommerce-order-received .woocommerce-order > ul.woocommerce-order-overview li:last-child {
  border: 0px;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details {
  width: calc(50% - 40px);
  margin: 50px 20px 0px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-order-received .woocommerce-order .woocommerce-order-details {
    width: 100%;
    margin: 50px 0px 0px;
  }
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details h2.woocommerce-order-details__title {
  text-align: center;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table {
  width: 100%;
  border: 1px solid #dcdcdc;
  margin-bottom: 35px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-order-received .woocommerce-order .woocommerce-order-details table {
    margin-bottom: 15px;
  }
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table {
  width: 100%;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr th, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr td {
  background: #fff;
  padding: 15px 20px;
  border-bottom: 1px solid #dcdcdc;
  text-align: left;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr th, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr td {
    padding: 10px;
  }
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr th ul, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr td ul {
  margin-top: 3px !important;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr th ul.wc-item-meta, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr td ul.wc-item-meta {
  list-style: none;
  padding: 0px 5px;
  margin: 0px;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr th ul.wc-item-meta li, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr td ul.wc-item-meta li {
  display: grid;
  gap: 10px;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr th ul.wc-item-meta li p, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tr td ul.wc-item-meta li p {
  margin: 0px;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table thead th, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table thead td {
  font-weight: bold;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tbody th, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tbody td {
  background-color: #fbfbfb;
}
.woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tfoot tr:last-child th, .woocommerce-order-received .woocommerce-order .woocommerce-order-details table.woocommerce-table tfoot tr:last-child td {
  background-color: #efefef;
  border-bottom: 0px;
}
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details {
  width: calc(50% - 40px);
  margin: 50px 20px 0px;
}
@media only screen and (max-width: 767px) {
  .woocommerce-order-received .woocommerce-order .woocommerce-customer-details {
    width: 100%;
    margin: 50px 0px 0px;
  }
}
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details h2.woocommerce-column__title {
  text-align: center;
}
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address {
  line-height: 1.6em;
  padding: 25px;
  border: 1px solid #dcdcdc;
}
@media only screen and (max-width: 767px) {
  .woocommerce-order-received .woocommerce-order .woocommerce-customer-details address {
    padding: 15px;
  }
}
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p {
  margin: 10px 0px 0px;
}

/*# sourceMappingURL=style.css.map */
