/* ==========================================================================
   CSS VARIABLES & ROOT STYLES
   ========================================================================== */

/*:root {
  --default-containerWidth: 100%;
  --default-elementsGap: 20;
  --default-outerGap: 40;
  --default-height: auto;

  --default-backgroundColour: transparent;
  --default-backgroundOpacity: 100;
  --default-backgroundGradientAngle: 0;
}*/

/* ==========================================================================
   BASE STYLES
   ========================================================================== */

html {
  background: none !important;
  min-width: 0 !important;
  scroll-padding-top: 170px;
  --cookie-colour: var(--primary-colour);
}

body {
  background-color: var(--body-background);
}

* {
  font-variant-ligatures: none;
}

main {
  background: #fff;
}

.is-static {
  position: static;
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

/* Headings */
.content h1, h1.title,
.content h2, h2.title,
.content h3, h3.title {
  color: var(--heading-colour);
  font-family: var(--heading-font), serif;
  font-weight: var(--heading-weight);
  letter-spacing: var(--heading-spacing);
  text-wrap: balance;
  text-transform: uppercase;
}

.content h1, .title.is-1 {
  margin-bottom: 0.4em;
}
.content h1, .title.is-1, html body *.is-size-1 {
  line-height: var(--heading-line-height-1);
  font-size: clamp(
    calc(var(--heading-size-1) * var(--scale-min-1)),
    3.7vw,
    calc(var(--heading-size-1) * var(--scale-max))
  );
}

.content h2, .title.is-2 {
  margin-bottom: .5714em;
}
.content h2, .title.is-2, html body *.is-size-2 {
  line-height: var(--heading-line-height-2);
  font-size: clamp(
    calc(var(--heading-size-2) * var(--scale-min-2)),
    3vw,
    calc(var(--heading-size-2) * var(--scale-max))
  );
}

.content h3, .title.is-3 {
  margin-bottom: .6666em;
}
.content h3, .title.is-3, html body *.is-size-3 {
  /*--heading-font: 'AspireSC';*/
  /*--heading-weight: 500;*/
  line-height: var(--heading-line-height-3);
  font-size: clamp(
    calc(var(--heading-size-3) * var(--scale-min-3)),
    2.5vw,
    calc(var(--heading-size-3) * var(--scale-max))
  );

}

.content h4, .title.is-4 {
  margin-bottom: .8em;
}
.content h4, .title.is-4, html body *.is-size-4 {
  /*--heading-font: 'AspireSC';*/
  /*--heading-weight: 500;*/
  line-height: var(--heading-line-height-4);
  font-size: clamp(
    calc(var(--heading-size-4) * var(--scale-min-4)),
    1vw,
    calc(var(--heading-size-4) * var(--scale-max))
  );
}

.content h5, .title.is-5 {
  margin-bottom: .8888em;
}
.content h5, .title.is-5, html body *.is-size-5 {
  line-height: var(--heading-line-height-5);
  font-size: clamp(
    calc(var(--heading-size-5) * var(--scale-min-5)),
    1.5vw,
    calc(var(--heading-size-5) * var(--scale-max))
  );
  letter-spacing: -0.3px;
}

.content h6, .title.is-6 {
  margin-bottom: .999em;
}
.content h6, .title.is-6, html body *.is-size-6 {
  line-height: var(--heading-line-height-6);
  font-size: clamp(
    calc(var(--heading-size-6) * var(--scale-min-6)),
    1.2vw,
    calc(var(--heading-size-6) * var(--scale-max))
  );
}

/* Content styles */
.content p,
.content li {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.content p.is-size-1 { line-height: 1.05; }
.content p.is-size-2 { line-height: 1.2; }
.content p.is-size-3 { line-height: 1.15; }
.content p.is-size-4,
.content p.is-size-5 { line-height: 1.3; }

/* Remove bottom margin from last elements */
h1:last-child, h2:last-child, h3:last-child,
h4:last-child, h5:last-child, h6:last-child,
p:last-child, li:last-child,
.content > *:last-child {
  margin-bottom: 0;
}

.content p .button:first-child:last-child {
  margin-top: 0.6rem;
}

.gradient-text {
    background: linear-gradient(135deg, #00bcef, #95e426);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* ==========================================================================
   LINKS & BUTTONS
   ========================================================================== */

a {
  transition: background 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.button {
  font-weight: 600;
  font-size: 15px;
  border-radius: var(--button-radius);
  height: var(--button-height);
  padding: 1rem 1.7rem;

  /*clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);*/
}
.button:hover {
  /*clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%);*/
}

.button.is-light,
.button.is-primary.is-light,
.button.is-link.is-light {
  background-color: var(--light-colour);
  border-color: transparent;
  color: var(--light-colour-contrast);
}

.button.is-light.is-hovered,
.button.is-light:hover,
.button.is-primary.is-light.is-hovered,
.button.is-primary.is-light:hover,
.button.is-link.is-light.is-hovered,
.button.is-link.is-light:hover {
  background-color: var(--light-colour-hover);
  border-color: transparent;
  color: var(--light-colour-contrast);
}

.button.is-light.is-focused,
.button.is-light:focus,
.button.is-primary.is-light.is-focused,
.button.is-primary.is-light:focus,
.button.is-link.is-light.is-focused,
.button.is-link.is-light:focus {
  border-color: transparent;
  color: var(--light-colour-contrast);
}

.button.is-light.is-focused:not(:active),
.button.is-light:focus:not(:active),
.button.is-primary.is-light.is-focused:not(:active),
.button.is-primary.is-light:focus:not(:active),
.button.is-link.is-light.is-focused:not(:active),
.button.is-link.is-light:focus:not(:active) {
  box-shadow: 0 0 0 0.125em var(--light-colour-focus-ring);
}

.button.is-light.is-active,
.button.is-light:active,
.button.is-primary.is-light.is-active,
.button.is-primary.is-light:active,
.button.is-link.is-light.is-active,
.button.is-link.is-light:active {
  background-color: var(--light-colour-active);
  border-color: transparent;
  color: var(--light-colour-contrast);
}

.button.is-light[disabled],
fieldset[disabled] .button.is-light,
.button.is-primary.is-light[disabled],
fieldset[disabled] .button.is-primary.is-light,
.button.is-link.is-light[disabled],
fieldset[disabled] .button.is-link.is-light {
  background-color: var(--light-colour);
  border-color: transparent;
  box-shadow: none;
  color: var(--light-colour-contrast);
}

.button.is-light.is-loading::after,
.button.is-primary.is-light.is-loading::after,
.button.is-link.is-light.is-loading::after {
  border-color: transparent transparent var(--light-colour-contrast) var(--light-colour-contrast) !important;
}

.button.is-light.is-outlined,
.button.is-primary.is-light.is-outlined,
.button.is-link.is-light.is-outlined {
  background-color: transparent;
  border-color: var(--light-colour-outline);
  color: var(--light-colour-outline);
}

.button.is-light.is-outlined.is-hovered,
.button.is-light.is-outlined:hover,
.button.is-light.is-outlined.is-focused,
.button.is-light.is-outlined:focus,
.button.is-primary.is-light.is-outlined.is-hovered,
.button.is-primary.is-light.is-outlined:hover,
.button.is-primary.is-light.is-outlined.is-focused,
.button.is-primary.is-light.is-outlined:focus,
.button.is-link.is-light.is-outlined.is-hovered,
.button.is-link.is-light.is-outlined:hover,
.button.is-link.is-light.is-outlined.is-focused,
.button.is-link.is-light.is-outlined:focus {
  background-color: var(--light-colour);
  border-color: var(--light-colour-outline);
  color: var(--light-colour-contrast);
}

.button.is-light.is-outlined.is-loading::after,
.button.is-primary.is-light.is-outlined.is-loading::after,
.button.is-link.is-light.is-outlined.is-loading::after {
  border-color: transparent transparent var(--light-colour-outline) var(--light-colour-outline) !important;
}

.button.is-light.is-outlined.is-loading.is-hovered::after,
.button.is-light.is-outlined.is-loading:hover::after,
.button.is-light.is-outlined.is-loading.is-focused::after,
.button.is-light.is-outlined.is-loading:focus::after,
.button.is-primary.is-light.is-outlined.is-loading.is-hovered::after,
.button.is-primary.is-light.is-outlined.is-loading:hover::after,
.button.is-primary.is-light.is-outlined.is-loading.is-focused::after,
.button.is-primary.is-light.is-outlined.is-loading:focus::after,
.button.is-link.is-light.is-outlined.is-loading.is-hovered::after,
.button.is-link.is-light.is-outlined.is-loading:hover::after,
.button.is-link.is-light.is-outlined.is-loading.is-focused::after,
.button.is-link.is-light.is-outlined.is-loading:focus::after {
  border-color: transparent transparent var(--light-colour-contrast) var(--light-colour-contrast) !important;
}

.button.is-light.is-inverted,
.button.is-primary.is-light.is-inverted,
.button.is-link.is-light.is-inverted {
  background-color: var(--light-colour-contrast);
  color: var(--light-colour);
}

.button.is-light.is-inverted.is-hovered,
.button.is-light.is-inverted:hover,
.button.is-primary.is-light.is-inverted.is-hovered,
.button.is-primary.is-light.is-inverted:hover,
.button.is-link.is-light.is-inverted.is-hovered,
.button.is-link.is-light.is-inverted:hover {
  background-color: var(--light-colour-contrast);
  color: var(--light-colour);
}

.button.is-light.is-inverted[disabled],
fieldset[disabled] .button.is-light.is-inverted,
.button.is-primary.is-light.is-inverted[disabled],
fieldset[disabled] .button.is-primary.is-light.is-inverted,
.button.is-link.is-light.is-inverted[disabled],
fieldset[disabled] .button.is-link.is-light.is-inverted {
  background-color: var(--light-colour-contrast);
  border-color: transparent;
  box-shadow: none;
  color: var(--light-colour);
}

.button.is-light.is-inverted.is-outlined,
.button.is-primary.is-light.is-inverted.is-outlined,
.button.is-link.is-light.is-inverted.is-outlined {
  background-color: transparent;
  border-color: var(--light-colour-contrast);
  color: var(--light-colour-contrast);
}

.button.is-light.is-inverted.is-outlined.is-hovered,
.button.is-light.is-inverted.is-outlined:hover,
.button.is-light.is-inverted.is-outlined.is-focused,
.button.is-light.is-inverted.is-outlined:focus,
.button.is-primary.is-light.is-inverted.is-outlined.is-hovered,
.button.is-primary.is-light.is-inverted.is-outlined:hover,
.button.is-primary.is-light.is-inverted.is-outlined.is-focused,
.button.is-primary.is-light.is-inverted.is-outlined:focus,
.button.is-link.is-light.is-inverted.is-outlined.is-hovered,
.button.is-link.is-light.is-inverted.is-outlined:hover,
.button.is-link.is-light.is-inverted.is-outlined.is-focused,
.button.is-link.is-light.is-inverted.is-outlined:focus {
  background-color: var(--light-colour-contrast);
  border-color: var(--light-colour-contrast);
  color: var(--light-colour);
}

.button.is-light.is-inverted.is-outlined.is-loading::after,
.button.is-primary.is-light.is-inverted.is-outlined.is-loading::after,
.button.is-link.is-light.is-inverted.is-outlined.is-loading::after {
  border-color: transparent transparent var(--light-colour-contrast) var(--light-colour-contrast) !important;
}

.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,
.button.is-light.is-inverted.is-outlined.is-loading:hover::after,
.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after,
.button.is-light.is-inverted.is-outlined.is-loading:focus::after,
.button.is-primary.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,
.button.is-primary.is-light.is-inverted.is-outlined.is-loading:hover::after,
.button.is-primary.is-light.is-inverted.is-outlined.is-loading.is-focused::after,
.button.is-primary.is-light.is-inverted.is-outlined.is-loading:focus::after,
.button.is-link.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,
.button.is-link.is-light.is-inverted.is-outlined.is-loading:hover::after,
.button.is-link.is-light.is-inverted.is-outlined.is-loading.is-focused::after,
.button.is-link.is-light.is-inverted.is-outlined.is-loading:focus::after {
  border-color: transparent transparent var(--light-colour) var(--light-colour) !important;
}

.notification.is-light,
.notification.is-primary.is-light,
.notification.is-link.is-light {
  background-color: var(--light-colour);
  color: var(--light-colour-contrast);
}

.tag:not(body).is-light,
.tag:not(body).is-primary.is-light,
.tag:not(body).is-link.is-light {
  background-color: var(--light-colour);
  color: var(--light-colour-contrast);
}

/*.button {
  font-weight: 600;
  font-size: 15px;
  border-radius: var(--button-radius);
  height: var(--button-height);
  padding: 1rem 1.7rem;
  border-radius:
    0px
    20px
    20px
    20px;
  transition: border-radius 0.2s ease, transform 0.2s ease;
}


.navbar-item .button {
  font-size: 15px;
}*/

/* Arrow styling */
.arrow:before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Pro";
  content: "\f178";
  font-weight: 300;
  font-size: 1.7rem;
  vertical-align: middle;
  margin: 0 15px 0 0;
  position: relative;
  top: -1px;
  right: 0;
  transition: all 0.5s ease;
  cursor: pointer;
  color: var(--nav-arrow-colour);
}

.arrow:hover:before {
  right: -2px;
}

/* ==========================================================================
   ELEMENTS: ARROW
   ========================================================================== */

.arrow-element {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  width: 4rem;
  height: 4rem;
  background-color: var(--primary-colour);
  color: var(--primary-colour-contrast);
  border-radius: 50%;
  margin: 0 auto;
}

.arrow-element::before {
  content: '→';
  font-size: 2.4rem;
  line-height: 1;
}

.arrow-element[style*="--element-direction: left"]::before {
  content: '←';
}

.arrow-element[style*="--element-direction: up"]::before {
  content: '↑';
}

.arrow-element[style*="--element-direction: down"]::before {
  content: '↓';
}

/* ==========================================================================
   FORM ELEMENTS
   ========================================================================== */

.input, .textarea, .select select, .is-select {
  background-color: #ffffff;
  border: 2px solid #17171717;
  border-radius: var(--border-radius);
  box-shadow: none;
}

.mce-content-body {
  background: transparent !important;
  padding: 1rem !important;
}

.fields {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.fields .field {
  width: 100%;
}

.fields .field.field_type_button,
.fields .field.field_type_text_box {
  width: 100%;
}

.fields .field label {
  color: var(--body-colour);
  font-weight: 600;
  font-size: 0.9rem;
}

.fields .field.required > label:after {
  content: '*';
  display: inline-block;
  margin-left: 2px;
  color: var(--dark-colour);
}

/* Horizontal fields */
.fields.fields-horizontal {
  flex-wrap: nowrap;
  gap: 2%;
  align-items: flex-end;
}

.fields.fields-horizontal .field {
  margin-bottom: 0;
}

.fields.fields-horizontal .field.field_type_button .button {
  width: 100%;
}

.field_type_heading + .field_type_label {
  margin-top: -10px;
}

.field_type_checkbox .control {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.field_type_checkbox .control > label {
  width: 48%;
}

/* File uploader */
.file.uploader {
  position: relative;
  border: 2px dashed #d4d4d4;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 132px;
  background: #fff;
  border-radius: var(--border-radius);
}

.file.uploader progress {
  -moz-appearance: none;
  -webkit-appearance: none;
  border: none;
  display: block;
  height: 0.75rem;
  overflow: hidden;
  padding: 0;
  width: 100%;
  margin-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-radius: 4px 4px 0 0;
}

.file.uploader progress:indeterminate {
  background-image: linear-gradient(to right, #9d221e 30%, #ededed 30%);
}

.file.uploader progress[value="0"] {
  opacity: 0;
}

.file.uploader .file-input {
  height: 100%;
  left: 0;
  opacity: 0;
  outline: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.file.uploader .preview {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 5;
  margin: 0;
  background-size: cover;
}

.file.uploader .file-label {
  margin: 0;
  position: relative;
  z-index: 10;
}

.file.uploader .file-cta .file-name {
  border-color: #dbdbdb;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  display: block;
  max-width: 16em;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
}

.file.uploader .file-cta .file-icon {
  align-items: center;
  display: flex;
  height: 1em;
  justify-content: center;
  margin-right: 0.5em;
  width: 1em;
}

/* Country picker */
.country-picker {
  padding: 2px 0 !important;
}

.country-picker .navbar-dropdown {
  border: none !important;
  z-index: 99;
  width: 150px;
  left: inherit;
  padding: 0.2rem 0;
  min-width: 0;
  border-radius: var(--border-radius);
  right: 0;
}

.country-picker .navbar-dropdown .navbar-item {
  padding: 0.35rem 0.6rem !important;
  background: transparent !important;
  text-align: left;
  color: #212528 !important;
  font-size: 0.8rem;
  width: 100%;
  justify-content: flex-start;
}

.country-picker .navbar-dropdown .navbar-item:hover {
  background-color: #f3f4f5 !important;
}

.country-picker > .navbar-link {
  background: #fff !important;
  padding: 0.3rem 1.6rem 0.3rem 0.4rem;
  border-radius: var(--border-radius);
  color: #212528 !important;
  font-size: 0.8rem;
}

.country-picker > .navbar-link:after {
  right: 0.725em;
  border-color: #525e68;
}

.country-picker img.flag {
  height: 18px;
  border-radius: 2px;
  margin-right: 0.4rem;
  display: inline-block;
}

/* Form validation */
#form_2 .notification {
  color: var(--primary-colour-contrast) !important;
  font-weight: 600;
  text-align: center;
}

#form_2 .notification.is-success {
  background-color: var(--dark-colour) !important;
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */

/* Header */
section.header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 40;
  background-color: transparent;
  backdrop-filter: blur(0);
  transition:
    border 0.25s ease,
    background-color 0.25s ease,
    backdrop-filter 0.25s ease;
  background: var(--header-background);
  border-bottom: 1px solid #ffffff33;
}

body.scrolling section.header {
  background-color: #00000017;
  backdrop-filter: blur(4px);
  border-bottom-width: 0;
}

/*body#home section.header {
  position: absolute;
  background: transparent;
}*/



section.header .navbar-item.nav-link-logo {
  padding-top: 0;
  padding-bottom: 0;
}
section.header .navbar-item.nav-link-logo img,
section.header .navbar-brand .navbar-item img {
  width: auto;
  height: auto;
  max-width: var(--logo-max-width);
  max-height: var(--logo-max-height);
}
/*
section.header .navbar-item:first-child {
    padding-left: 0;
}

section.header .navbar-item:last-child {
    padding-right: 0;
}*/

section.header .navbar-start > .navbar-item {
    margin-left: var(--nav-mobile-margin);
}

section.header .navbar-start > .navbar-item:first-child {
    padding-left: 0;
    margin-left: 0;
}

nav > ul > a.navbar-item:first-child,
nav > ul > .navbar-item:first-child > .navbar-link {
  padding-left: 0;
}
nav > ul > a.navbar-item:last-child,
nav > ul > .navbar-item:last-child > .navbar-link {
  padding-right: 0;
}

/* Mobile navigation visibility */
.navbar-item.mobile_only,
section.header .navbar-link.mobile_only,
section.header a.navbar-item.mobile_only {
    display: none;
}

.navlink {
  display: none;
}

/* Mobile menu */
#mmenu > .navbar-item {
  margin-left: 12px;
}

.navbar-burger {
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 21px;
  background: none !important;
  flex-shrink: 0;
}

.navbar-burger span {
  width: 100%;
  position: static;
}

/* Mobile menu styling */
.mm-menu {
  background-color: var(--dark-colour);
}

.mm-menu .mm-listview > li > a {
  font-size: 1.2rem;
  color: var(--dark-colour-contrast);
  padding: 12px 10px 12px 17px;
}

.mm-menu .mm-btn:after,
.mm-menu .mm-btn:before,
.mm-menu .mm-listview > li .mm-next:after,
.mm-menu .mm-listview,
.mm-navbar {
  border-color: rgb(255 255 255 / 30%);
}

.mm-menu .mm-navbar a,
.mm-menu .mm-navbar > * {
  color: rgb(255 255 255 / 30%);
}

.mm-menu .mm-listview > li > a.mm-next {
  left: 0;
  width: 100%;
}

/* ==========================================================================
   IMAGES & MEDIA
   ========================================================================== */

img.sizer {
  visibility: hidden;
}

/* Image sizing utilities */
.image[class*="fixed-"] {
  width: 100%;
  overflow: hidden;
}

.image[class*="fixed-"] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image.is-fixed-tiny {
  height: 60px;
}

.image.is-fixed-xsmall {
  height: 100px;
}

.image.is-fixed-small {
  height: 150px;
}

.image.is-fixed-medium {
  height: 300px;
}
.image.is-fixed-large {
  height: 500px;
}
.image.is-fixed-xlarge {
  height: 900px;
}

.element[style*="--element-fit: is-contain"] .image img {
  object-fit: contain !important;
}
.element[style*="--element-fit: is-cover"] .image img {
  object-fit: cover !important;
}

/* Image effects */
section .zoom {
  transition: transform cubic-bezier(0.22, 0.61, 0.36, 1) 0.9s;
}

section .zoom:hover {
  transform: scale(1.1);
}

/* Video container */
.video-container {
  margin: 0;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  background-color: #ccc;
  position: relative;
}

.video-container iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* ==========================================================================
   SECTION LAYOUTS
   ========================================================================== */

section.section {
  /* Base section styles */
}

section.maintenance {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--dark-colour);
}

/* Background sections */
section.has_background {
  position: relative;
}

section.has_background > .container {
  position: relative;
  z-index: 30;
}

section.has_background .background {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

/* Shadow effects */
section.shadow_top {
  box-shadow: inset 0 10px 50px 0 rgb(0 0 0 / 4%);
}

section.shadow_bottom {
  box-shadow: inset 0 -10px 50px 0 rgb(0 0 0 / 4%);
}

/* Border effects */
section.border_top {
  border-top: 1px solid hsla(0, 0%, 100%, 0.1);
}

section.border_bottom {
  border-bottom: 1px solid hsla(0, 0%, 100%, 0.1);
}

/* Block sections */
section.block_type_block {
  padding: 0 !important;
  background: none !important;
}

/* Sticky text */
section.sticky_text .columns {
  align-items: flex-start !important;
  justify-content: space-between !important;
}

section.sticky_text .column-content {
  position: sticky;
  top: 0;
  padding-top: 3rem;
}

/* ==========================================================================
   HERO SECTIONS
   ========================================================================== */

section.hero {
  background-size: cover;
  background-position: center;
  position: relative;
}

section.hero .container {
  position: relative;
  z-index: 10;
}

section.hero .hero-body {
  background: linear-gradient(180deg, #2f272f1c 0%, #2f272f00 32%, #2f272f00 100%);
}

#home section.hero {
  background-position: center bottom;
}

#home section.hero .hero-body {
  background: linear-gradient(180deg, #091615c7 0%, #0916159e 32%, #0916153b 100%);
  padding-top: 11rem;
}

section.hero .title.is-1,
section.hero h1 {
  font-size: 60pt;
}

section.hero h2:not(:last-child),
section.hero h1:not(:last-child) {
  /* margin-bottom: 0.1em; */
}

section.hero .button {
  margin-top: 2px;
}

section.hero .button + .button {
  margin-left: 12px;
}

#home section.hero .button {
  margin-top: 8px;
}

#home section.hero p {
  margin-bottom: 1rem !important;
}

#home section.hero p:last-child {
  margin-bottom: 0 !important;
}

/* Hero video */
section.hero .video {
  width: 0;
  height: 0;
}

section.hero .video .vjs-loading-spinner .vjs-control-text {
  display: none;
}

section.hero video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Scroll indicator */
section.hero .scroll-me {
  position: absolute;
  bottom: 1rem;
  z-index: 10;
  color: var(--body-colour);
  left: 0;
  right: 0;
  text-align: center;
  font-size: 2rem;
  display: none;
}

#home section.hero .scroll-me {
  display: block;
}

/* ==========================================================================
   CONTENT BLOCKS
   ========================================================================== */

/* Images in content */
section:not(.plain_image) .content img,
section .block_image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: var(--border-radius);
  overflow: hidden;
}

section .block_image:not(.show_img) img {
  visibility: hidden;
  background-size: cover;
  background-position: center;
  display: block;
}

section .block_image.object-fit:not(.show_img) img {
  visibility: visible;
  object-fit: cover;
  height: 100%;
}

section .gallery_image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Big image layouts */
section.big_image {
  position: relative;
}

section.big_image .container {
  position: static;
}

section.big_image .column-image {
  min-height: 350px;
}

section.big_image .column-image .block_image {
  position: absolute;
  padding: 0;
  top: 0;
  bottom: 0;
}

section.big_image .column-image.is-3 .block_image { width: 25%; }
section.big_image .column-image.is-4 .block_image { width: 33.33333%; }
section.big_image .column-image.is-5 .block_image { width: 41.66667%; }
section.big_image .column-image.is-6 .block_image { width: 50%; }
section.big_image .column-image.is-7 .block_image { width: 58.33333%; }

section.block_type_image_text.big_image .column-image .block_image {
  left: 0;
}

section.block_type_text_image.big_image .column-image .block_image {
  right: 0;
}

/* About blocks */
section.about_block .column-image {
  padding-top: 0;
}

/* Gallery blocks */
section.block_type_gallery .gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 3%;
  align-items: center;
  justify-content: center;
}

section.block_type_gallery .gallery .gallery_image {
  width: 22.7%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 0 2rem 0;
  opacity: 1;
}

/* Project slider captions */
.project-slide-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.6rem;
  text-align: center;
  pointer-events: none;
}
.project-slide-caption span {
  display: inline-block;
  font-size: 0.95rem;
  color: #fff;
  padding: 0.45rem 0.75rem;
  background: rgba(0,0,0,0.35);
  border-radius: var(--border-radius, 10px);
  max-width: calc(100vw - 80px);
}

/* CTA blocks */
section.block_type_cta .columns {
  row-gap: 0.5rem;
}

section.block_type_cta .cta {
  background: #ffffff;
  display: block;
  border-radius: var(--border-radius);
  overflow: hidden;
  height: 100%;
}

section.block_type_cta .cta .block_image {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* ==========================================================================
   ARTICLE & BLOG CONTENT
   ========================================================================== */

section.editorial .container {
  max-width: 860px !important;
}

/* Article hero */
section.block_type_article_hero {
  text-align: center;
}

section.block_type_article_hero h1,
section.block_type_article_hero h2,
section.block_type_article_hero p {
  color: var(--primary-colour-contrast);
}

/* Blog hero with search */
section.block_type_blog_hero .search {
  position: relative;
  margin-top: -10px;
}

section.block_type_blog_hero .search .button {
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  height: auto;
  border: none;
  background: none;
  padding: 0;
  width: 48px;
}

section.block_type_blog_hero .search input {
  background: none;
  border: none;
  border-bottom: 2px solid #fff;
  border-radius: 0;
  color: var(--body-colour);
}

section.block_type_blog_hero .search input:active,
section.block_type_blog_hero .search input:focus {
  border-color: var(--primary-colour);
}

section.block_type_blog_hero .search input::-webkit-input-placeholder,
section.block_type_blog_hero .search input:-moz-placeholder,
section.block_type_blog_hero input::-moz-placeholder,
section.block_type_blog_hero input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}

/* Article cards */
section .card.article {
  display: flex;
  flex-direction: column;
  height: 100%;
}

section .card.article .card-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

section .card.article:hover {
  color: inherit;
}

section .card.article .image {
  overflow: hidden;
  border-radius: 0;
}

section .card.article .image img {
  object-fit: cover;
  transition: transform 0.2s ease;
}

section .card.article:hover img {
  transform: scale(1.06);
}

section .card.article .content {
  font-size: 0.9em;
  margin-top: auto;
}

section .card.article .content .arrow {
  color: var(--body-colour);
}

/* Listings */
section .listing.listing-card,
section .listing.listing-card .card {
  height: 100%;
}
section .listing.listing-card .image {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* Blog Article Listings */
section .listing.listing-article,
section .listing.listing-article .card {
  height: 100%;
}
section .listing.listing-article .image {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
section .listing.listing-article .image:before {
  position: absolute;
  left: 0;
  height: 110px;
  right: 0;
  bottom: 0;
  content: '';
  background-image: linear-gradient(to top, var(--primary-colour), #ffffff00);
  z-index: 1;
}

section .listing.listing-overlay {
  position: relative;
  border-radius: var(--border-radius);
  overflow: hidden;
}
section .listing.listing-overlay .image-container {
  position: relative;
}
section .listing.listing-overlay .content-inner {
  position: relative;
  bottom: -68px;
  transition: bottom .2s ease;
}
section .listing.listing-overlay:hover .content-inner {
  bottom: 0;
}
section .listing.listing-overlay .image-container:before {
  background: linear-gradient(360deg, black, transparent);
  position: absolute;
  inset: 0;
  top: 0%;
  content: '';
  z-index: 1;
  opacity: 0.75;
  /* border-radius: 0 50px 50px 50px; */
}
section .listing.listing-overlay .content {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  z-index: 2;
}
section .listing.listing-overlay .content {
  color: white;
}
section .listing.listing-overlay .content p {
  font-weight: 600;
}

/* Team Listings */
section .listing.listing-team {
  display: block;
}
section .listing.listing-team .image-container {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  perspective: 1200px;
}
section .listing.listing-team .team-image-layer {
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
  transform-style: preserve-3d;
  backface-visibility: hidden;
  transform-origin: center center;
  will-change: transform;
}
section .listing.listing-team .team-image-primary {
  position: relative;
  transform: rotateY(0deg);
}
section .listing.listing-team .team-image-secondary {
  position: absolute;
  inset: 0;
  transform: rotateY(180deg);
  pointer-events: none;
}
section .listing.listing-team.has-secondary:hover .team-image-primary {
  transform: rotateY(180deg);
}
section .listing.listing-team.has-secondary:hover .team-image-secondary {
  transform: rotateY(360deg);
}
@media (prefers-reduced-motion: reduce) {
  section .listing.listing-team .team-image-layer {
    transition: none;
  }
}
section .listing.listing-team .image {
  border-radius: 0;
}
section .listing.listing-team .team-role {
  color: rgba(255, 255, 255, 0.86);
  font-weight: 600;
}
section .listing.listing-team .buttons .button {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.22);
}
section .modal.team-modal .modal-card {
  width: calc(100% - 2rem);
  max-width: 760px;
}
section .modal.team-modal .modal-card-head {
  background: var(--primary-colour);
  border-bottom: none;
}
section .modal.team-modal .modal-card-title {
  color: var(--primary-colour-contrast);
}
section .team-directory-group + .team-directory-group {
  margin-top: 3rem;
}

/* ==========================================================================
   SLIDERS & CAROUSELS
   ========================================================================== */

section[class*="slider"] {
  overflow: hidden;
}

section .content-slider {
  /* overflow: hidden; */
}

section .content-slider .container {
  width: 760px;
  max-width: 100% !important;
}

section .content-slider .quote p {
  font-size: 1.2rem;
  font-weight: 300;
  color: var(--primary-colour-contrast);
}

section .content-slider .quote p:first-child:before {
  content: "\201C";
}

section .content-slider .quote p:last-child:after {
  content: "\201D";
}

section .content-slider .name {
  margin-top: 20px;
  color: var(--primary-colour-contrast);
  font-weight: 600;
}

section .content-slider .owl-dots {
  margin-top: 30px;
  margin-bottom: -10px;
}

section .content-slider .owl-theme .owl-stage-outer {
  overflow: visible;
}

section .content-slider .owl-theme .owl-dots .owl-dot span {
  background: var(--primary-colour-contrast);
  opacity: 0.2;
}

section .content-slider .owl-theme .owl-dots .owl-dot.active span,
section .content-slider .owl-theme .owl-dots .owl-dot:hover span {
  opacity: 1;
}

section .content-slider .owl-theme .owl-item {
  opacity: 0.35;
  transition: opacity 0.2s ease;
  text-align: center;
}

section .content-slider .owl-theme .owl-item.active {
  opacity: 1;
}

section .content-slider .testimonial_slide {
  border-radius: 10px;
  overflow: hidden;
}

section .content-slider .testimonial_slide .image {
  background-size: cover;
  background-position: center;
  border-radius: 0;
}

section .content-slider .testimonial_slide .details {
  min-height: 440px;
  background-color: var(--dark-colour);
  padding: 3rem !important;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */

section.testimonials [class*="ArrowControl__ArrowControlContainer"] {
  box-shadow: none !important;
}

section.testimonials [class*="Carousel__CarouselArrowControlContainer"] > * {
  background: none !important;
  fill: #ebeae4 !important;
}

section.testimonials [class*="Carousel__CarouselArrowControlContainer"]:first-child {
  left: -95px;
}

section.testimonials [class*="Carousel__CarouselArrowControlContainer"]:last-child {
  right: -95px;
}

section.testimonials [class*="ReviewAlignContainer__Container"] {
  min-height: 200px;
  justify-content: center;
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */

.pagination {
  display: flex;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 4px;
  justify-content: center;
}

.pagination > li {
  display: inline;
  margin: 3px 3px;
  border-radius: var(--border-radius);
  overflow: hidden;
}

.pagination > li > a,
.pagination > li > a:visited,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  color: var(--body-colour);
  text-decoration: none;
  background-color: var(--light-colour);
  border: none;
  font-weight: 400;
  border-radius: 0;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: var(--light-colour-contrast);
  background-color: var(--light-colour-hover);
}

.pagination > .active > a,
.pagination > .active > a:visited,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: var(--primary-colour-contrast);
  cursor: default;
  background-color: var(--primary-colour);
  border-color: var(--primary-colour);
}

.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777;
  cursor: not-allowed;
  background-color: var(--light-colour);
  border-color: transparent;
}

/* Bulma pagination variant */
.pagination-link,
.pagination-next,
.pagination-previous {
  background-color: var(--light-colour);
  border-color: transparent;
  color: var(--light-colour-contrast);
}

.pagination-link:hover,
.pagination-next:hover,
.pagination-previous:hover,
.pagination-link:focus,
.pagination-next:focus,
.pagination-previous:focus {
  background-color: var(--light-colour-hover);
  border-color: transparent;
  color: var(--light-colour-contrast);
}

.pagination-link.is-current {
  background-color: var(--primary-colour);
  border-color: var(--primary-colour);
  color: var(--primary-colour-contrast);
}

.pagination-link[disabled],
.pagination-next[disabled],
.pagination-previous[disabled] {
  background-color: var(--light-colour);
  border-color: transparent;
}

/* Pagination sizes */
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-top-left-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-top-right-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}

/* ==========================================================================
   LISTS & UTILITIES
   ========================================================================== */

section ul.ticks {
  list-style: none;
  margin-left: 0;
  display: flex;
  flex-wrap: wrap;
}

section ul.ticks li {
  position: relative;
  padding-left: 35px;
  margin-bottom: 16px;
  width: 49%;
  margin-top: 0;
}

section ul.ticks li:before {
  background-image: url("data:image/svg+xml,%3Csvg class='is-light mr-3' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23040404' style='width: 24px;height: 24px'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z'%3E%3C/path%3E%3C/svg%3E");
  content: '';
  width: 24px;
  height: 24px;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 2px;
}

/* ==========================================================================
   SOCIAL ELEMENTS
   ========================================================================== */

.socials a {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

section.topbar .socials a {
  color: var(--primary-colour-contrast);
}

#contact-us section.block_type_text_form .socials {
  margin-top: 50px;
}

#contact-us section.block_type_text_form .socials a {
  color: var(--dark-colour-contrast) !important;
  background: var(--body-colour);
  width: 45px;
  height: 45px;
  display: inline-flex;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  padding: 1px 0 0 1px;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

section.footer {
  position: relative;
  background: var(--footer-background);
  color: var(--dark-colour-contrast);

  --grey-border: #ffffff11;
}

section.footer a {
  color: var(--footer-link-color);
}

section.footer a:hover {
  color: var(--footer-link-color-hover);
}

section.footer p {
  color: var(--dark-colour-contrast);
  font-size: 16px;
}

section.footer a.navbar-item,
section.footer .navbar-link {
  color: var(--footer-link-color);
  font-size: 14px;
  margin-bottom: 0rem;
  font-weight: 600;
  line-height: 1.5;
}

section.footer .navbar-link:after,
section.footer .navbar-item .navbar-dropdown {
  display: none !important;
}

section.footer .navbar-item:hover {
  color: var(--footer-link-color-hover) !important;
}

section.footer .navbar-link {
  padding-right: 1.5rem;
}

section.footer .footer-top .logo {
  /*height: 100px;*/
}
section.footer .footer-top .logo img {
  width: 120px;
}
section.footer .footer-top .socials {
  display: flex;
  align-items: center;
  gap: 1rem;
}
section.footer .footer-top .socials a {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--grey-border);
  border-radius: 50%;
}

section.footer .footer-cols .footer-col.branding {
  margin-right: auto;
}
section.footer .footer-cols .footer-col {
  /*flex-shrink: 0;*/
  padding-right: 9%;
  /*min-width: 210px;*/
  /* max-width: 18%; */
  width: auto;
  /* flex-grow: 1; */
}

section.footer .footer-cols .footer-col:last-child {
  padding-right: 0;
}

section.footer .footer-col.branding {
  /* text-align: center; */
}

section.footer .footer-col.branding h3 {
  font-weight: 400;
}
section.footer .footer-col.branding a.logo {
  display: block;
  height: 7rem;
}

section.footer .footer-col.branding a.logo img {
  max-height: 100%;
  width: auto;
  border-radius: 0;
}

section.footer .footer_small_print_mobile {
  display: none;
  margin-top: 2rem;
  text-align: center;
}

section.footer .footer_small_print_mobile p {
  font-size: 12px;
  margin-bottom: 0.2rem;
}

section.footer .footer_small_print_mobile p:last-child {
  margin-bottom: 0;
}

section.footer .footer-col .copyright p {
  font-size: 10pt;
}

section.footer .footer-col.icons .google-reviews {
  height: 4rem;
  margin-bottom: 1.5rem;
}

section.footer .footer-col.icons .google-reviews img {
  max-height: 100%;
}

section.footer .footer-col .socials {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

section.footer .badges {
  display: flex;
  gap: 1rem;
}
section.footer .badges img {
  max-height: 100px;
  border-radius: 0;
}

section.footer .footer-bottom p {
  font-size: 0.9rem;
}

/* ==========================================================================
   MODALS & NOTIFICATIONS
   ========================================================================== */

.msg {
  position: fixed;
  top: 30px;
  right: 30px;
  z-index: 100;
}

section.modal {
  background: transparent !important;
}

section.modal .container {
  width: 100%;
  max-width: none;
  flex: none;
  margin: 0;
  position: static;
}

section.modal h2 {
  font-size: 2.6rem;
}

.notification.is-sentModal {
  padding: 0 !important;
}

.notification.is-sentModal > button {
  display: none;
}

.is-sentModal .modal-content {
  width: 420px;
  max-width: calc(100% - 20px);
}

.is-sentModal .modal-content .box {
  border-radius: var(--border-radius);
}

/* ==========================================================================
   ANNOUNCEMENTS & BANNERS
   ========================================================================== */

.announcer p {
  margin-bottom: 0 !important;
  line-height: 1.3;
  font-size: 14px;
}

.announcer p a {
  color: var(--primary-colour-contrast);
}

.announcer ul li a {
  font-size: 14px;
}

.announcer .socials {
  position: relative;
  bottom: 0px;
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

.details .column:last-child {
  text-align: center;
}

.details .column:last-child img {
  margin: 0.6rem;
}

/* Contact form alignment */
#contact-us section.block_type_text_form .columns {
  align-items: flex-start !important;
}

/* Bulma-style border helpers */
.has-border {
  border: 1px solid var(--grey-border) !important;
}

.has-border-top {
  border-top: 1px solid var(--grey-border) !important;
}

.has-border-right {
  border-right: 1px solid var(--grey-border) !important;
}

.has-border-bottom {
  border-bottom: 1px solid var(--grey-border) !important;
}

.has-border-left {
  border-left: 1px solid var(--grey-border) !important;
}

.has-border-x {
  border-left: 1px solid var(--grey-border) !important;
  border-right: 1px solid var(--grey-border) !important;
}

.has-border-y {
  border-top: 1px solid var(--grey-border) !important;
  border-bottom: 1px solid var(--grey-border) !important;
}

/* ==========================================================================
   FAQ
   ========================================================================== */

.accordion-header {
    cursor: pointer;
    transition: background-color 0.3s ease;
    box-shadow: none;
}

.accordion-item {
  background-color: transparent;
  border-radius: 5px;
  overflow: hidden;
}
.card-header.accordion-header {
  background-color: #fff;
}
.accordion-header:hover .card-header-icon.accordion-toggle {
    /*background-color: rgba(0, 0, 0, 0.05);*/
    color: var(--secondary-colour);
}

.accordion-icon {
    transition: transform 0.3s ease;
}

.accordion-content {
    transition: all 0.3s ease;
    /*margin-top: 3px;*/
    background-color: rgba(255, 255, 255, 0.5);
    padding: 1rem 1.4rem;
}

.accordion-header .card-header-title {
    flex-grow: 1;
    padding: 1rem 1.4rem;
}

.accordion-toggle {
    background: none;
    border: none;
    cursor: pointer;
}

section .listing.listing-faq {
  margin-bottom: .5rem;
}
section .listing.listing-faq:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   COOKIE CONSENT
   ========================================================================== */

.cc-window.cc-floating,
.cc-window.cc-banner {
  background-color: var(--primary-colour);
  color: var(--primary-colour-contrast);
}

.cc-window.cc-floating .cc-btn,
.cc-window.cc-banner .cc-btn {
  color: var(--primary-colour-contrast);
  border-color: var(--primary-colour-contrast);
}

/* Cookie consent dark palette */
html .termsfeed-com---palette-dark .cc-nb-okagree,
html .termsfeed-com---palette-dark .cc-nb-reject {
  color: var(--dark-colour);
  background-color: var(--primary-colour);
}

html .termsfeed-com---palette-dark .cc-pc-head-lang select:focus {
  box-shadow: 0 0 0 2px var(--primary-colour);
}

html .termsfeed-com---palette-dark .cc-pc-head-close:active,
html .termsfeed-com---palette-dark .cc-pc-head-close:focus {
  border: 2px solid var(--primary-colour);
}

html .termsfeed-com---palette-dark .cc-cp-body-content-entry a:focus,
html .termsfeed-com---palette-dark .cc-cp-foot-byline a:focus {
  box-shadow: 0 0 0 2px var(--primary-colour);
}

html .termsfeed-com---palette-dark .cc-cp-foot-save {
  background: var(--primary-colour);
  color: var(--dark-colour);
}

/* ==========================================================================
   BLOCK SYSTEM (DYNAMIC SECTIONS)
   ========================================================================== */

section.section.block-item {
  --block-containerWidth: var(--default-containerWidth);
  --block-elementsGap: var(--default-elementsGap);
  --block-elementsGapPx: calc(var(--block-elementsGap) * 1px);
  --block-outerGapTop: var(--default-outerGapTop);
  --block-outerGapTopPx: calc(var(--block-outerGapTop) * 1px);
  --block-outerGapBottom: var(--default-outerGapBottom);
  --block-outerGapBottomPx: calc(var(--block-outerGapBottom) * 1px);
  --block-background: var(--default-backgroundColour);
  --block-backgroundOpacity: var(--default-backgroundOpacity);
  --block-backgroundOpacityPercent: calc(var(--block-backgroundOpacity) * 1%);
  --block-backgroundGradientAngle: var(--default-backgroundGradientAngle);
  --block-backgroundGradientStart: var(--block-background);
  --block-backgroundGradientEnd: var(--block-background);
  --block-backgroundGradientAngleDeg: calc(var(--block-backgroundGradientAngle) * 1deg);
  --block-backgroundImageStyle: full;
  --block-height: var(--default-height);
  --block-cardSurface: var(--card-surface-default);

  position: relative;
  background-color: var(--block-background);
  padding-top: var(--block-outerGapTopPx);
  padding-bottom: var(--block-outerGapBottomPx);
  height: var(--block-height);
  overflow: hidden;
}
section.section.blok-item[style*="--blok-height: 50vh"],
section.section.blok-item[style*="--blok-height: 100vh"] {
  min-height: 500px;
}

section.section.block-item[style*="--block-backgroundStyle: gradient"] {
  background-image: linear-gradient(var(--block-backgroundGradientAngleDeg), var(--block-backgroundGradientStart), var(--block-backgroundGradientEnd));
}

section.section.block-item .block-container {
  width: var(--block-containerWidth);
  position: relative;
  z-index: 10;
  height: 100%;
}
section.section.block-item[style*="--block-containerWidth: 100%"] .block-container {
  max-width: 100% !important;
}

section.section.block-item .block-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: var(--block-backgroundImage);
  opacity: var(--block-backgroundOpacityPercent);
  overflow: hidden;
  pointer-events: none;
}

section.section.block-item[style*="--block-backgroundImageStyle: half-left"] .block-background {
  left: 0;
  right: auto;
  width: 50%;
}

section.section.block-item[style*="--block-backgroundImageStyle: half-right"] .block-background {
  left: auto;
  right: 0;
  width: 50%;
}

@media (max-width: 768px) {
  section.section.block-item[style*="--block-backgroundImageStyle: half-"] .block-background {
    left: 0;
    right: 0;
    width: 100%;
  }
}

section.section.block-item .block-columns {
  align-items: var(--block-verticalAlign);
  align-content: var(--block-verticalAlign);
  justify-content: var(--block-horizontalAlign);
  margin-top: calc(-1 * var(--block-elementsGapPx));
  margin-bottom: calc(-1 * var(--block-elementsGapPx));
  margin-left: calc(-1 * var(--block-elementsGapPx));
  margin-right: calc(-1 * var(--block-elementsGapPx));
  height: 100%;
}

section.section.block-item .block-columns > .column {
  padding: var(--block-elementsGapPx);
}

section.section.block-item .card {
  background-color: var(--block-cardSurface, var(--card-surface-default));
  border-color: var(--card-border-colour);
}

section.section.block-item .element-spacer:not(.half):not(.full):not([style*="--element-size"]) {
  padding-top: 0;
  padding-bottom: 0;
}
section.section.block-item .element-spacer.half {
  height: 50vh;
}
section.section.block-item .element-spacer.full {
  height: 100vh;
}


/* Simple spacing for elements with exactly 2 buttons */
.element-text.content p:has(.button:first-child:nth-last-child(2)) {
  display: flex;
  /*justify-content: center;*/
  gap: 1rem;
}

/* Close the lineheight gap for lone headings */
.element-text.content h2:last-child,
.element-text.content h1:last-child,
.element-text.content h3:last-child {
  margin-bottom: -0.6rem;
}

.element-image .image {
  /*clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);*/
  border-radius: 0 50px 50px 50px;
}

.element[style*="--element-box_style"]:not([style*="--element-box_style: none"]) .boxed {
  padding: 1.8rem;
  border-radius: var(--border-radius);
  height: 100%;
}
.element[style*="--element-box_style: white"] .boxed {
  background-color: rgb(255, 255, 255);
}
.element[style*="--element-box_style: primary"] .boxed {
  background-color: var(--primary-colour);
}
.element[style*="--element-box_style: primary-light"] .boxed {
  background-color: var(--primary-light-colour);
}

.element-video .responsive-video {
  position: relative;
  width: 100%;
  border-radius: var(--border-radius);
  overflow: hidden;
  background-color: #000;
}
.element-video .responsive-video::before {
  content: "";
  display: block;
  padding-top: var(--aspect-ratio, 56.25%);
}
.element-video .responsive-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.element-video .video-caption {
  margin-top: 0.75rem;
  font-size: 0.95rem;
  text-align: center;
  color: currentColor;
  opacity: 0.8;
}

/* ==========================================================================
   SPLIDE OVERWRITTEN STYLES
   ========================================================================== */

     .splide__arrow:hover:not(:disabled) svg {
      fill: var(--primary-colour);
     }

     section:not([style*="--block-containerWidth: 100%"]) .splide__arrow--prev {
      left: -3rem;
     }
     section:not([style*="--block-containerWidth: 100%"]) .splide__arrow--next {
      right: -3rem;
     }

     .element-slides_slideshow .slides-slideshow {
      /*border-radius: var(--border-radius);*/
      /*overflow: hidden;*/
      background-color: #0f1117;
     }
     .element-slides_slideshow .slides-slideshow__slide {
      min-height: clamp(340px, 52vw, 680px);
      display: flex;
      align-items: center;
      background-image:
        /*linear-gradient(90deg, rgb(0 0 0 / 65%) 0%, rgb(0 0 0 / 35%) 45%, rgb(0 0 0 / 20%) 100%),*/
        linear-gradient(90deg, rgb(0 0 0 / 50%) 0%, rgb(0 0 0 / 50%) 100%),
        var(--slide-image);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      color: #fff;
     }
     .element-slides_slideshow .slides-slideshow__content-wrap {
      width: 100%;
      padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 5vw, 4rem);
     }
     .element-slides_slideshow .slides-slideshow__content {
      max-width: 52rem;
      opacity: 0;
      transform: translateY(16px);
      transition: opacity 0.55s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
     }
     .element-slides_slideshow .slides-slideshow__content > * {
      opacity: 0;
      transform: translateY(10px);
      transition: opacity 0.5s ease, transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
     }
     .element-slides_slideshow .slides-slideshow .splide__slide.is-active .slides-slideshow__content {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 0.18s;
     }
     .element-slides_slideshow .slides-slideshow .splide__slide.is-active .slides-slideshow__content > * {
      opacity: 1;
      transform: translateY(0);
     }
     .element-slides_slideshow .slides-slideshow .splide__slide.is-active .slides-slideshow__content > *:nth-child(1) {
      transition-delay: 0.24s;
     }
     .element-slides_slideshow .slides-slideshow .splide__slide.is-active .slides-slideshow__content > *:nth-child(2) {
      transition-delay: 0.32s;
     }
     .element-slides_slideshow .slides-slideshow .splide__slide.is-active .slides-slideshow__content > *:nth-child(3) {
      transition-delay: 0.4s;
     }
     .element-slides_slideshow .slides-slideshow .splide__slide.is-active .slides-slideshow__content > *:nth-child(4) {
      transition-delay: 0.48s;
     }
     .element-slides_slideshow .slides-slideshow .splide__slide.is-active .slides-slideshow__content > *:nth-child(5),
     .element-slides_slideshow .slides-slideshow .splide__slide.is-active .slides-slideshow__content > *:nth-child(6) {
      transition-delay: 0.56s;
     }
     .element-slides_slideshow .slides-slideshow__slide--align-left .slides-slideshow__content {
      margin-right: auto;
      text-align: left;
     }
     .element-slides_slideshow .slides-slideshow__slide--align-center .slides-slideshow__content {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
     }
     .element-slides_slideshow .slides-slideshow__slide--align-right .slides-slideshow__content {
      margin-left: auto;
      margin-right: 0;
      text-align: right;
     }
     .element-slides_slideshow .slides-slideshow__content,
     .element-slides_slideshow .slides-slideshow__content h1,
     .element-slides_slideshow .slides-slideshow__content h2,
     .element-slides_slideshow .slides-slideshow__content h3,
     .element-slides_slideshow .slides-slideshow__content h4,
     .element-slides_slideshow .slides-slideshow__content h5,
     .element-slides_slideshow .slides-slideshow__content h6,
     .element-slides_slideshow .slides-slideshow__content p,
     .element-slides_slideshow .slides-slideshow__content li {
      color: inherit;
     }
     .element-slides_slideshow .slides-slideshow .splide__arrow {
      opacity: 0.9;
     }
     .element-slides_slideshow .slides-slideshow .splide__pagination {
      bottom: 5.25rem;
     }

     @media (prefers-reduced-motion: reduce) {
      .element-slides_slideshow .slides-slideshow__content,
      .element-slides_slideshow .slides-slideshow__content > * {
        opacity: 1;
        transform: none;
        transition: none;
      }
     }

     @media (max-width: 768px) {
      .element-slides_slideshow .slides-slideshow__slide {
        min-height: 420px;
        background-image:
          linear-gradient(180deg, rgb(0 0 0 / 65%) 0%, rgb(0 0 0 / 45%) 48%, rgb(0 0 0 / 30%) 100%),
          var(--slide-mobile-image, var(--slide-image));
      }
      .element-slides_slideshow .slides-slideshow__content-wrap {
        padding: 2rem 1.25rem 2.75rem;
      }
     }

/* ==========================================================================
   BACKGROUND VIDEO
   ========================================================================== */

    section.section.block-item .block-background > div[id*="vjs_video"] {
      position: static;
    }
    /*
     * Video.js generates its own div with the `video-js` class.
     * The `vjs-fill` class we added already makes it width/height 100%,
     * but we ensure the object-fit property is set.
     */
    section.section.block-item .block-background .video-js {
      background: transparent;
    }
    section.section.block-item .block-background .video-js,
    section.section.block-item .block-background video {
      opacity: 0;
      transition: opacity 0.6s ease;
      will-change: opacity;
      height: 100% !important;
    }
    section.section.block-item .block-background.is-video-ready .video-js,
    section.section.block-item .block-background.is-video-ready video {
      opacity: 1;
    }
    section.section.block-item .block-background .video-js .vjs-tech {
        object-fit: cover;
    }
    section.section.block-item .block-background .vjs-poster {
        display: none !important;
    }

    /* Hide any error messages or spinners that might briefly appear */
    section.section.block-item .block-background .vjs-error-display,
    section.section.block-item .block-background .vjs-loading-spinner {
        display: none !important;
    }

/* ==========================================================================
   ELEMENT STYLES
   ========================================================================== */

    /* ==========================================================================
       LOGO SCROLLER
       ========================================================================== */

    /* Container for the logo scroller */
    .gallery-logo-scroller {
        /*padding: 2rem 0;*/
        /* Helps prevent logos from being clipped on the edges on some browsers */
        overflow: hidden;
    }
    /* Style for each logo's container (the slide) */
    .gallery-logo-scroller .splide__slide {
        display: flex;
        align-items: center;
        justify-content: center;
        /* The width is now determined by the image inside, not a grid column */
        width: auto;
    }
    .gallery-logo-scroller .splide__slide .image {
      border-radius: 0;
    }
    /* Style for the logo images themselves - THIS IS THE MOST IMPORTANT PART */
    .gallery-logo-scroller .splide__slide img {
        /* Set a consistent height for all logos */
        height: 130px;

        /* Let the width adjust automatically to maintain the aspect ratio */
        width: auto;

        /* Ensure the image doesn't grow beyond its container (safety measure) */
        max-width: none;

        /* For the "subtle" effect */
        /*opacity: 0.64;*/
        /*filter: grayscale(100%);*/
        /*transition: opacity 0.3s ease, filter 0.3s ease;*/
    }
    /* Hover effect remains the same */
    .gallery-logo-scroller .splide__slide:hover img {
        opacity: 1;
        /*filter: grayscale(0%);*/
    }

    .partner-logo-carousel .partner-logo-carousel__item {
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
    }

    .partner-logo-carousel .partner-logo-carousel__item:focus-visible {
        outline: 2px solid var(--primary-colour);
        outline-offset: 0.35rem;
    }


    /* ==========================================================================
       PRODUCT LISTING
       ========================================================================== */

      section .listing.listing-product,
      section .listing.listing-product .card {
        height: 100%;
      }
      section .listing.listing-product .card {
        background-color: var(--primary-light-colour);
        display: flex;
        flex-direction: column;
      }
      section .listing.listing-product .image-wrapper {
        position: relative;
      }
      section .listing.listing-product .image-wrapper .image {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
      }
      section .listing.listing-product .image-wrapper .tag {
        position: absolute;
        bottom: 1.5rem;
        right: 1.5rem;
      }
      section .listing.listing-product .card-content {
        /* height: 100%; */
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        flex-grow: 1;
        padding: 1.8rem 1.9rem 1.8rem 1.9rem;
      }
      section .listing.listing-product .card-content .buttons {
        margin-top: auto;
      }
      section .listing.listing-product .card-content p {
        font-size: 12pt;
      }


    /* ==========================================================================
       USP LISTING
       ========================================================================== */

      section .listing.listing-usp,
      section .listing.listing-usp .card,
      section .listing.listing-usp .card-content {
        height: 100%;
      }
      section .listing.listing-usp .card {
        background-color: var(--primary-light-colour);
      }
      section .listing.listing-usp .image {
        height: 60px;
        width: 60px;
        object-fit: contain;
        object-position: bottom left;
      }
      section .listing.listing-usp:not(.listing-usp-dark) .image {
        background: var(--gradient-main);
        mask-image: var(--listing-image);
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
        -webkit-mask-image: var(--listing-image);
        -webkit-mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
      }
      section .listing.listing-usp:not(.listing-usp-dark) .image img {
        object-position: left;
        opacity: 0;
      }

      section .listing.listing-usp.listing-usp-dark .card {
        background: rgba(255, 255, 255, 0.1);
      }
      section .listing.listing-usp.listing-usp-dark .image {
        object-position: center;
        margin-left: auto;
        margin-right: auto;
      }

/* ==========================================================================
   ARTICLE INTRO
   ========================================================================== */

   .element-article-intro .article-intro__category {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
   }
   .element-article-intro .article-intro__title {
    text-wrap: balance;
   }
   .element-article-intro .article-intro__date {
    font-weight: 500;
   }

/* ==========================================================================
   ARTICLE CATEGORIES
   ========================================================================== */

   .element-article-categories {
    /*margin-bottom: 1.25rem;*/
   }
   .element-article-categories .article-categories-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0;
   }
   .element-article-categories .article-categories-nav .article-categories-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    height: 2.25rem;
    padding: 0 0.9rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.03em;
    text-transform: uppercase;
   }
   .element-article-categories .article-categories-nav .article-categories-nav__link.is-light {
    border: 1px solid color-mix(in srgb, var(--primary-colour) 16%, white);
   }
   .element-article-categories .article-categories-nav .article-categories-nav__link.is-selected {
    box-shadow: 0 8px 20px rgb(0 0 0 / 12%);
   }
   .element-article-categories .article-categories-nav .article-categories-nav__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    background: rgb(255 255 255 / 40%);
   }
   .element-article-categories .article-categories-nav .article-categories-nav__link.is-light .article-categories-nav__count {
    background: rgb(0 0 0 / 8%);
   }

/* ==========================================================================
   ARTICLE CARDS
   ========================================================================== */

   .article-card .article-card__image-wrap {
    position: relative;
   }
   .article-card .article-card__image-wrap .tags {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 10;
   }
   .article-card .image {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
   }
   .element-article-cards .element-article-cards__pagination {
    margin-top: 1.25rem;
   }

/* ==========================================================================
   VIDEO CARDS / FEATURED VIDEO
   ========================================================================== */

   .video-card .video-card__image-wrap {
    position: relative;
   }
   .video-card .video-card__tags {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 10;
   }
   .video-card .video-card__image-link {
    position: relative;
    display: block;
    color: inherit;
   }
   .video-card .video-card__image-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(0 0 0 / 5%) 0%, rgb(0 0 0 / 25%) 100%);
    pointer-events: none;
   }
   .video-card .video-card__image {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    overflow: hidden;
   }
   .video-card .video-card__image img {
    object-fit: cover;
   }
   .video-card .video-card__play-badge {
    position: absolute;
    left: calc(50% - calc(2.75rem / 2));
    bottom: calc(50% - calc(2.75rem / 2));
    z-index: 11;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: rgb(13 22 38 / 72%);
    border: 1px solid rgb(255 255 255 / 18%);
    box-shadow: 0 12px 22px rgb(0 0 0 / 22%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(6px);
   }
   .video-card .video-card__play-icon {
    width: 0;
    height: 0;
    margin-left: 2px;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 11px solid #fff;
   }
   .video-card.video-card--large .video-card__play-badge {
    width: 3.25rem;
    height: 3.25rem;
   }
   .video-card.video-card--large .video-card__play-icon {
    border-top-width: 8px;
    border-bottom-width: 8px;
    border-left-width: 13px;
   }
   .video-card .video-card__meta-sep {
    opacity: 0.65;
   }
   .video-card .video-card__title-link {
    color: inherit;
   }

   .element-featured-video .video-feature-hero {
    overflow: hidden;
    border-radius: var(--border-radius);
   }
   .element-featured-video .video-feature-hero__link {
    display: block;
    color: inherit;
    text-decoration: none;
   }
   .element-featured-video .video-feature-hero__media {
    position: relative;
    min-height: clamp(320px, 42vw, 620px);
    background: #0f1117;
    overflow: hidden;
   }
   .element-featured-video .video-feature-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
   }
   .element-featured-video .video-feature-hero__image--placeholder {
    background:
      radial-gradient(circle at 25% 25%, rgb(255 255 255 / 14%), transparent 50%),
      radial-gradient(circle at 78% 40%, rgb(255 255 255 / 10%), transparent 42%),
      linear-gradient(135deg, #182235 0%, #0f1117 100%);
   }
   .element-featured-video .video-feature-hero__overlay {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(0deg, rgb(4 7 12 / 76%) 0%, rgb(4 7 12 / 58%) 38%, rgb(4 7 12 / 32%) 70%, rgb(4 7 12 / 20%) 100%),
      linear-gradient(90deg, rgb(4 7 12 / 28%) 0%, rgb(4 7 12 / 12%) 60%, rgb(4 7 12 / 34%) 100%);
    z-index: 1;
   }
   .element-featured-video .video-feature-hero__content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    gap: 1.25rem;
    padding: clamp(1.25rem, 3vw, 2.5rem);
   }
   .element-featured-video .video-feature-hero__play {
    width: clamp(58px, 6vw, 78px);
    height: clamp(58px, 6vw, 78px);
    border-radius: 999px;
    background: rgb(8 19 34 / 62%);
    border: 1px solid rgb(255 255 255 / 16%);
    box-shadow: 0 12px 24px rgb(0 0 0 / 24%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-bottom: clamp(0.15rem, 1vw, 0.4rem);
    backdrop-filter: blur(8px);
   }
   .element-featured-video .video-feature-hero__play-icon {
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 17px solid #fff;
   }
   .element-featured-video .video-feature-hero__text {
    max-width: min(920px, 100%);
   }
   .element-featured-video .video-feature-hero__tags .tag {
    background: rgb(255 255 255 / 12%);
    color: #fff;
    border: 1px solid rgb(255 255 255 / 12%);
   }
   .element-featured-video .video-feature-hero__title.title {
    color: #fff;
    line-height: 1.08;
    margin-bottom: 0.8rem;
    text-shadow: 0 2px 12px rgb(0 0 0 / 30%);
   }
   .element-featured-video .video-feature-hero__summary {
    color: rgb(255 255 255 / 88%);
    font-size: clamp(0.95rem, 1.55vw, 1.15rem);
    line-height: 1.4;
    max-width: 62ch;
    margin: 0;
    text-shadow: 0 2px 10px rgb(0 0 0 / 22%);
   }
   .element-featured-video .video-feature-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    color: #fff;
    font-weight: 600;
    font-size: clamp(0.9rem, 1.25vw, 1rem);
    margin: 0;
    text-shadow: 0 2px 8px rgb(0 0 0 / 20%);
   }
   .element-featured-video .video-feature-hero__meta-sep {
    opacity: 0.85;
    margin: 0 0.15rem;
   }

   @media (max-width: 768px) {
    .element-featured-video .video-feature-hero__media {
      min-height: clamp(300px, 62vw, 460px);
    }
    .element-featured-video .video-feature-hero__content {
      flex-direction: column;
      align-items: flex-start;
      gap: 0.85rem;
    }
    .element-featured-video .video-feature-hero__play {
      width: 54px;
      height: 54px;
      margin-bottom: 0;
    }
    .element-featured-video .video-feature-hero__play-icon {
      margin-left: 3px;
      border-top-width: 9px;
      border-bottom-width: 9px;
      border-left-width: 14px;
    }
    .element-featured-video .video-feature-hero__title.title {
      font-size: clamp(1.35rem, 5.8vw, 2rem);
      line-height: 1.12;
    }
    .element-featured-video .video-feature-hero__summary {
      font-size: 0.95rem;
      line-height: 1.35;
    }
   }

/* ==========================================================================
   MATCH CARDS
   ========================================================================== */

  .match-card .match-card__badge {
    object-fit: contain;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .match-card .match-card__date {
    line-height: 1;
  }
  .match-card .match-card__badge-wrap {
    /*border-radius: 50%;*/
    /*padding: 10px;*/
    /*border: 1px solid var(--grey-border);*/
  }
  .match-card .match-card__bottom-row {
    display: flex;
    justify-content: center;
    gap: 1rem;
    align-items: center;
    line-height: 1;
  }

  .match-card.match-card--large .match-card__date {
    font-size: 1rem;
  }
  .match-card.match-card--large .match-card__middle-col {
    min-width: 100px;
  }
  .match-card.match-card--large .match-card__team {
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }
  .match-card.match-card--large .match-card__team.match-card__team--home {
    flex-direction: row-reverse;
  }

  .match-card.match-card--small .match-card__badge-wrap {
    display: flex;
    justify-content: center;
  }
  .match-card.match-card--small .match-card__date {
    font-size: 0.95rem;
  }

/* ==========================================================================
   FIXTURES LIST CARDS
   ========================================================================== */

  .fixtures-results-filters .column {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }
  .fixtures-results-filters .select,
  .fixtures-results-filters .select select {
    width: 100%;
  }
  .fixtures-results-filters .select select {
    min-height: 3rem;
    border-color: rgb(17 24 39 / 12%);
    background-color: #f3f4f6;
    color: rgb(17 24 39 / 88%);
    font-size: 1.05rem;
  }

  .element-fixtures-list .fixtures-list-groups {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .element-fixtures-list .fixtures-list-group__items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .element-fixtures-list .fixture-list-card {
    --fixture-list-accent: var(--primary-colour);
    position: relative;
    background: #fff;
    box-shadow: 0 18px 38px rgb(15 23 42 / 8%);
    overflow: hidden;
  }
  .element-fixtures-list .fixture-list-card.is-shadowless {
    box-shadow: none;
  }
  .element-fixtures-list .fixture-list-card--away {
    --fixture-list-accent: var(--secondary-colour);
  }
  .element-fixtures-list .fixture-list-card--fixture {
    --fixture-list-accent: var(--primary-light-colour);
  }
  .element-fixtures-list .fixture-list-card--result {
    --fixture-list-accent: var(--success-colour, #16a34a);
  }
  .element-fixtures-list .fixture-list-card__content {
    position: relative;
  }
  .element-fixtures-list .fixture-list-card__date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 1rem 1.5rem;
    line-height: 1;
  }
  .element-fixtures-list .fixture-list-card__date-context {
    color: var(--fixture-list-accent);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .element-fixtures-list .fixture-list-card__date-meta {
    margin-left: auto;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    text-align: right;
  }
  .element-fixtures-list .fixture-list-card__main {
    position: relative;
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.35rem 1.5rem;
  }
  .element-fixtures-list .fixture-list-card__watermark {
    position: absolute;
    top: 0.35rem;
    left: 0.85rem;
    font-size: clamp(3rem, 6vw, 4.75rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(17 24 39 / 4.5%);
    pointer-events: none;
    user-select: none;
  }
  .element-fixtures-list .fixture-list-card__crest {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
  }
  .element-fixtures-list .fixture-list-card__crest-ring {
    width: 84px;
    height: 84px;
    border-radius: 999px;
    border: 2px solid rgb(17 24 39 / 8%);
    box-shadow: inset 0 0 0 2px var(--fixture-list-accent);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.8rem;
  }
  .element-fixtures-list .fixture-list-card__crest-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .element-fixtures-list .fixture-list-card__body {
    position: relative;
    z-index: 1;
    min-width: 0;
  }
  .element-fixtures-list .fixture-list-card__actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
  }
  .element-fixtures-list .fixture-list-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
  }
  .element-fixtures-list .fixture-list-card__status-tag {
    background: rgb(17 24 39 / 5%);
    border: 1px solid rgb(17 24 39 / 10%);
    color: #111827;
  }
  .element-fixtures-list .fixture-list-card__status-tag--live {
    background: var(--fixture-list-accent);
    border-color: transparent;
    color: #fff;
  }
  .element-fixtures-list .fixture-list-card__status-tag--result {
    background: rgb(22 163 74 / 14%);
    border-color: rgb(22 163 74 / 24%);
    color: #166534;
  }
  .element-fixtures-list .fixture-list-card__actions .button {
    /* min-width: 158px; */
    /* font-weight: 700; */
    letter-spacing: 0.05em;
    /* text-transform: uppercase; */
  }
  .element-fixtures-list .fixture-list-card__footer {
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 1rem 1.5rem;
  }
  .element-fixtures-list .fixture-list-card__footer-type {
    margin: 0 0 0 auto;
    text-align: right;
    white-space: nowrap;
  }

  @media (max-width: 1024px) {
    .element-fixtures-list .fixture-list-card__main {
      grid-template-columns: 92px minmax(0, 1fr);
    }
    .element-fixtures-list .fixture-list-card__actions {
      grid-column: 1 / -1;
      justify-content: flex-start;
      padding-left: calc(92px + 1.5rem);
    }
  }

  @media (max-width: 768px) {
    .element-fixtures-list .fixture-list-card__date {
      align-items: flex-start;
      padding: 0.9rem 1rem;
    }
    .element-fixtures-list .fixture-list-card__date-meta {
      width: 100%;
    }
    .element-fixtures-list .fixture-list-card__main {
      grid-template-columns: 1fr;
      gap: 1rem;
      padding: 1.05rem 1rem 1.15rem;
    }
    .element-fixtures-list .fixture-list-card__watermark {
      top: 0.35rem;
      left: 0.6rem;
      font-size: clamp(2.2rem, 13vw, 3.6rem);
    }
    .element-fixtures-list .fixture-list-card__crest {
      justify-content: flex-start;
    }
    .element-fixtures-list .fixture-list-card__crest-ring {
      width: 72px;
      height: 72px;
      padding: 0.75rem;
    }
    .element-fixtures-list .fixture-list-card__actions {
      width: 100%;
      flex-direction: column;
      align-items: stretch;
      padding-left: 0;
    }
    .element-fixtures-list .fixture-list-card__footer {
      gap: 0.75rem;
      padding: 0.9rem 1rem;
    }
    .element-fixtures-list .fixture-list-card__footer-type {
      margin-left: 0;
      width: 100%;
      text-align: left;
    }
    .element-fixtures-list .fixture-list-card__actions .button {
      width: 100%;
      min-width: 0;
    }
  }

/* ==========================================================================
   LEAGUE TABLE
   ========================================================================== */

  .element-league-table .league-table-frame {
    --league-accent: var(--primary-colour);
    /* border-top: 4px solid var(--league-accent); */
    /* background: #e5e5e7; */
  }
  .element-league-table .league-table-emblem {
    width: 68px;
    height: 68px;
    border-radius: 999px;
    border: 3px solid var(--league-accent);
    background: #fff;
    color: #20242f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    letter-spacing: 0.08em;
  }
  .element-league-table .league-table-title {
    /* text-transform: uppercase; */
    /* letter-spacing: 0.01em; */
  }
  .element-league-table .league-table-meta {
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }
  .element-league-table .league-table-current {
    border: 1px solid rgb(0 0 0 / 12%);
    font-weight: 700;
  }
  .element-league-table .league-table-grid {
    min-width: 840px;
    margin-bottom: 0;
    background: transparent;
  }
  .element-league-table .league-table-grid th,
  .element-league-table .league-table-grid td {
    vertical-align: middle;
    border: 1px solid #e9e9e9 !important;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .element-league-table .league-table-grid .league-table-head th {
    background: var(--league-accent);
    color: #fff;
    border-color: rgb(255 255 255 / 12%);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.78rem;
  }
  .element-league-table .league-table-head-sub {
    background: rgb(255 255 255 / 18%);
    color: #fff;
    border: 0;
  }
  .element-league-table .league-table-grid .league-table-team {
    /* font-weight: 600; */
    white-space: nowrap;
  }
  .element-league-table .league-table-grid tr.is-club-row td {
    /* box-shadow: inset 3px 0 0 var(--league-accent); */
  }
  .element-league-table .league-table-grid tr.is-club-row .league-table-team {
    color: var(--league-accent);
    font-weight: 700;
  }

  @media (max-width: 768px) {
    .element-league-table .league-table-emblem {
      width: 58px;
      height: 58px;
      font-size: 0.85rem;
    }
    .element-league-table .league-table-grid {
      min-width: 760px;
    }
  }

/* ==========================================================================
   WEBSITE SPECIFIC STYLES
   ========================================================================== */


section.section.block-item.has-video-thumbnail .block-background:after {
  display: none;
}

/*  :root{--wor-background:#fff;--wor-text-color:#000;--wor-shadow:rgb(0 0 0 / 6%) 0px 2px 8px;--wor-stars-background:#eee;--wor-stars-filled:#ffc107}.wor-dark-mode{--wor-background:#222;--wor-text-color:#f1f1f1;--wor-shadow:rgb(255 255 255 / 6%) 0px 2px 8px;--wor-stars-background:#555}.wor-widget:not(:last-child){margin-bottom:2rem}.wor-widget .fademein{transition:opacity .2s}.wor-widget .wor-stars{position:relative;display:inline-flex}.wor-widget .wor-stars .wor-stars-rating{display:flex;gap:.2rem;align-items:center;justify-content:flex-start}.wor-widget .wor-stars .wor-stars-rating svg{height:20px;color:var(--wor-stars-background);width:auto;flex-shrink:0}.wor-widget .wor-stars .wor-stars-rating.wor-stars-rating-front{position:absolute;top:0;left:0;bottom:0;white-space:nowrap;overflow:hidden}.wor-widget .wor-stars .wor-stars-rating.wor-stars-rating-front svg{color:var(--wor-stars-filled)}.wor-widget.wor-widget-carousel .wor-review{padding:1.4rem;background-color:var(--wor-background);box-shadow:var(--wor-shadow);margin-top:5px;margin-bottom:5px;border-radius:6px}.wor-widget.wor-widget-carousel .wor-review .wor-review-author{display:flex;margin-bottom:.6rem;align-items:center}.wor-widget.wor-widget-carousel .wor-review .wor-review-author .wor-review-details{overflow:hidden}.wor-widget.wor-widget-carousel .wor-review .wor-review-author .wor-review-author-name{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.2rem;color:var(--wor-text-color);line-height:1.2;margin-top:0}.wor-widget.wor-widget-carousel .wor-review .wor-review-author .wor-review-author-date{font-size:.9rem;opacity:.7;color:var(--wor-text-color);line-height:1;margin-top:0}.wor-widget.wor-widget-carousel .wor-review .wor-review-author img.wor-profile-photo{width:42px;margin-right:11px;flex-shrink:0}.wor-widget.wor-widget-carousel .wor-review .wor-stars{margin-bottom:.7rem}.wor-widget.wor-widget-carousel .wor-review .wor-review-comment{margin-bottom:.7rem;color:var(--wor-text-color)}.wor-widget.wor-widget-carousel .wor-review .wor-review-comment .wor-read-less,.wor-widget.wor-widget-carousel .wor-review .wor-review-comment .wor-read-more{cursor:pointer;opacity:.75;margin-left:3px}.wor-widget.wor-widget-carousel .wor-review .wor-review-source svg{height:27px;display:block}.wor-widget.wor-widget-carousel .splide{margin-left:-5px;margin-right:-5px}.wor-widget.wor-widget-carousel .splide__arrow{opacity:.4}.wor-widget.wor-widget-badge .wor-review-badge{padding:.9rem 1.4rem .6rem;background-color:var(--wor-background);box-shadow:var(--wor-shadow);border-radius:6px;width:200px;display:inline-block}.wor-widget.wor-widget-badge .wor-rating-source{text-align:center;margin-bottom:.2rem}.wor-widget.wor-widget-badge .wor-rating-source svg{height:24px;display:inline-block}.wor-widget.wor-widget-badge .wor-rating{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-bottom:.4rem}.wor-widget.wor-widget-badge .wor-rating .wor-stars{position:relative;top:-2px}.wor-widget.wor-widget-badge .wor-rating .wor-stars .wor-stars-rating svg{height:22px}.wor-widget.wor-widget-badge .wor-rating .wor-rating-number{font-size:1.5rem;font-weight:600;line-height:1;padding-top:3px;color:var(--wor-text-color)}.wor-widget.wor-widget-badge .wor-reviews-count{text-align:center;font-size:.9rem;opacity:.7;line-height:1;white-space:nowrap;color:var(--wor-text-color)}.wor-widget.wor-widget-badge.wor-widget-inline .wor-review-badge{display:inline-flex;justify-content:center;width:auto;gap:1rem;align-items:center;padding:.9rem 1.4rem}.wor-widget.wor-widget-badge.wor-widget-inline .wor-review-badge .wor-rating-source{position:relative;bottom:-1px}.wor-widget.wor-widget-badge.wor-widget-inline .wor-review-badge .wor-rating,.wor-widget.wor-widget-badge.wor-widget-inline .wor-review-badge .wor-rating-source{margin-bottom:0;line-height:1}.wor-widget.wor-widget-badge.wor-widget-inline .wor-rating .wor-rating-number{padding-top:0}.wor-dark-mode .wor-rating-source svg,.wor-dark-mode .wor-review-source svg,.wor-dark-mode img.wor-profile-photo{filter:brightness(1.1)}@media (max-width:420px){.wor-widget.wor-widget-badge.wor-widget-inline .wor-review-badge .wor-reviews-count{display:none}}

  .wor-widget.wor-widget-carousel .wor-review {
    border-radius: 0 50px 50px 50px;
  }
  .wor-review .wor-profile-photo {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    object-fit: cover;
  }

  .wor-widget .wor-stars .wor-stars-rating img {
    height: 20px;
    width: auto;
    flex-shrink: 0;
    display: inline-block;
  }

  .wor-widget.wor-widget-carousel .wor-review-source img {
    height: 27px;
    width: auto;
    display: block;
  }

  .wor-widget.wor-widget-carousel .splide__pagination {
    position: static;
    margin: 1rem 0 0;
    justify-content: center;
    padding: 0;
  }

  .wor-widget.wor-widget-carousel .splide__pagination li {
    margin: 0 0.25rem;
  }*/

#b3 {
  overflow: visible;
}
#b3 .container {
  position: relative;
  top: -4rem;
  margin-bottom: -4rem;
}

.partner-logo-carousel.gallery-logo-scroller .splide__slide .image {
  background-color: #fff;
  border-radius: 50%;
  overflow: hidden;
  padding: 10px;
}
