/*
Theme Name: ACN
Theme URI: http://acngroepbv.nl
Description: Wordpress thema voor ACN
Author: Comceptum
Author URI: http://comceptum.nl
Version: 1.0
License: GNU General Public License
License URI: licence/GPL.txt
Text Domain: acngroepbv
*/

:root  {
    --base: 15px;
    --massive: calc(var(--base) * 30);
    --huge: calc(var(--base) * 8);
    --extralarge: calc(var(--base) * 6);
    --largehuge: calc(var(--base) * 5);
    --large: calc(var(--base) * 4);
    --mediumlarge: calc(var(--base) * 3);
    --medium: max(30px, calc(var(--base) * 2.5));
    --smallmedium: max(22.5px, calc(var(--base) * 2));
    --small: max(15px, calc(var(--base) * 1.5));
    --extrasmall: max(10px, calc(var(--base) * 1));
    --tiny: max(7.5px, calc(var(--base) * 0.675));


    --massive-negative: calc(var(--base) * -30);
    --huge-negative: calc(var(--base) * -8);
    --extralarge-negative: calc(var(--base) * -6);
    --largehuge-negative: calc(var(--base) * -5);
    --large-negative: calc(var(--base) * -4);
    --mediumlarge-negative: calc(var(--base) * -3);
    --medium-negative: min(-30px, calc(var(--base) * -2.5));
    --smallmedium-negative: min(-22.5px, calc(var(--base) * -2));
    --small-negative: min(-15px, calc(var(--base) * -1.5));
    --extrasmall-negative: min(-10px, calc(var(--base) * -1));
    --tiny-negative: min(-7.5px, calc(var(--base) * -0.75));

    --container: 1240px;
    --container-overflow:
        calc(
            ((100vw - var(--container)) / 2)
            + var(--smallmedium)
            - var(--small) 
            - var(--extrasmall)
        );

    --color-primary: #62B22F;
    --color-secondary: #3C3C3C;
    --color-tertiary: #F1F6EE;
    --color-text: #4A4A49;

}


@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("./fonts/PlusJakartaSans-VariableFont_wght.woff2") format("woff2"),
       url("./fonts/PlusJakartaSans-VariableFont_wght.ttf") format("truetype");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("./fonts/PlusJakartaSans-Italic-VariableFont_wght.woff2") format("woff2"),
       url("./fonts/PlusJakartaSans-Italic-VariableFont_wght.ttf") format("truetype");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 7 Brands';
    src: url('fonts/FontAwesome7Brands-Regular.eot');
    src: url('fonts/FontAwesome7Brands-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Brands-Regular.woff2') format('woff2'),
        url('fonts/FontAwesome7Brands-Regular.woff') format('woff'),
        url('fonts/FontAwesome7Brands-Regular.ttf') format('truetype'),
        url('fonts/FontAwesome7Brands-Regular.svg#FontAwesome7Brands-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 7 Pro';
    src: url('fonts/FontAwesome7Pro-Regular.eot');
    src: url('fonts/FontAwesome7Pro-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Pro-Regular.woff2') format('woff2'),
        url('fonts/FontAwesome7Pro-Regular.woff') format('woff'),
        url('fonts/FontAwesome7Pro-Regular.ttf') format('truetype'),
        url('fonts/FontAwesome7Pro-Regular.svg#FontAwesome7Pro-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 7 Pro';
    src: url('fonts/FontAwesome7Pro-Light.eot');
    src: url('fonts/FontAwesome7Pro-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Pro-Light.woff2') format('woff2'),
        url('fonts/FontAwesome7Pro-Light.woff') format('woff'),
        url('fonts/FontAwesome7Pro-Light.ttf') format('truetype'),
        url('fonts/FontAwesome7Pro-Light.svg#FontAwesome7Pro-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 7 Pro Solid';
    src: url('fonts/FontAwesome7Pro-Solid.eot');
    src: url('fonts/FontAwesome7Pro-Solid.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Pro-Solid.woff2') format('woff2'),
        url('fonts/FontAwesome7Pro-Solid.woff') format('woff'),
        url('fonts/FontAwesome7Pro-Solid.ttf') format('truetype'),
        url('fonts/FontAwesome7Pro-Solid.svg#FontAwesome7Pro-Solid') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 7 Pro Sharp';
    src: url('fonts/FontAwesome7Sharp-Solid.eot');
    src: url('fonts/FontAwesome7Sharp-Solid.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Sharp-Solid.woff2') format('woff2'),
        url('fonts/FontAwesome7Sharp-Solid.woff') format('woff'),
        url('fonts/FontAwesome7Sharp-Solid.ttf') format('truetype'),
        url('fonts/FontAwesome7Sharp-Solid.svg#FontAwesome7Sharp-Solid') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Font Awesome 7 Pro';
    src: url('fonts/FontAwesome7Pro-Thin.eot');
    src: url('fonts/FontAwesome7Pro-Thin.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Pro-Thin.woff2') format('woff2'),
        url('fonts/FontAwesome7Pro-Thin.woff') format('woff'),
        url('fonts/FontAwesome7Pro-Thin.ttf') format('truetype'),
        url('fonts/FontAwesome7Pro-Thin.svg#FontAwesome7Pro-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Font Awesome 7 Pro Sharp';
    src: url('fonts/FontAwesome7Sharp-Light.eot');
    src: url('fonts/FontAwesome7Sharp-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Sharp-Light.woff2') format('woff2'),
        url('fonts/FontAwesome7Sharp-Light.woff') format('woff'),
        url('fonts/FontAwesome7Sharp-Light.ttf') format('truetype'),
        url('fonts/FontAwesome7Sharp-Light.svg#FontAwesome7Sharp-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}



@font-face {
    font-family: 'Font Awesome 7 Pro Sharp';
    src: url('fonts/FontAwesome7Sharp-Regular.eot');
    src: url('fonts/FontAwesome7Sharp-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Sharp-Regular.woff2') format('woff2'),
        url('fonts/FontAwesome7Sharp-Regular.woff') format('woff'),
        url('fonts/FontAwesome7Sharp-Regular.ttf') format('truetype'),
        url('fonts/FontAwesome7Sharp-Regular.svg#FontAwesome7Sharp-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 7 Pro Sharp';
    src: url('fonts/FontAwesome7Sharp-Thin.eot');
    src: url('fonts/FontAwesome7Sharp-Thin.eot?#iefix') format('embedded-opentype'),
        url('fonts/FontAwesome7Sharp-Thin.woff2') format('woff2'),
        url('fonts/FontAwesome7Sharp-Thin.woff') format('woff'),
        url('fonts/FontAwesome7Sharp-Thin.ttf') format('truetype'),
        url('fonts/FontAwesome7Sharp-Thin.svg#FontAwesome7Sharp-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
} 




h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    margin-bottom: var(--extrasmall);
    margin-top: 0;
    line-height: 1.25;
    position: relative;
    display: block;
    font-weight: bold;
    text-wrap: balance;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: var(--color-primary)
}

h1,
.h1 {
    font-size: 54px;
    margin-bottom: var(--smallmedium);
}

.h2,
h2 {
    font-size: 40px;
}

.h3,
h3 {
    font-size:28px;
}

.h4,
h4 {
    font-size: 22px;
}

.h5,
h5 {
    font-size: 18px;
    color: var(--color-primary);
    letter-spacing: 1.08px;
    text-transform: uppercase;
}

.h6,
h6 {
    font-size: 16px; 
}

:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6).large {
    font-size: 48px;
}

html {
    margin-top: 0 !important;
}

body {
    font-size: 16px;
    font-weight: 300;
    font-family: "Plus Jakarta Sans", sans-serif;
    overflow-x: hidden;
    line-height: 1.75;
    color: var(--color-text);
    background: #ffffff;
    margin: 0 var(--smallmedium)
}

body.overflow-hidden {
    overflow-y: hidden;
    overflow-x: hidden;
}



p {
    margin-top: 0;
    margin-bottom: var(--extrasmall);

}

a {
    color: currentColor;
    text-decoration: none;
}

/* a:hover {
    text-decoration: none;
} */

ul,
ol {
    line-height: 1.625;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: var(--extrasmall);
}

ul li {
    list-style: none;
}

img {
    width: 100%;
    height: auto;
}

label {
    font-weight: bold;
    margin-bottom: 0;
    display: block;
}

sup {
    top: -5px;
}

abbr {
    text-decoration: none !important;
}

hr {
    margin-top: var(--extrasmall);
    margin-bottom: var(--extrasmall);
    border: 0;
    border-top: 1px solid rgba(0, 57, 77, 0.30);

}

.label {
    text-transform: uppercase;
    font-size: 20px;
    margin-bottom: 7.5px;
    color: inherit;
    font-weight: 600;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    outline: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    line-height: 1.5;
    width: 100%;
    position: relative;
    padding: 12.5px 15px;
    border:0;
    background-color: #F3F4F6;
    font-weight: 300;

}

:is(input, textarea, select):focus {
    box-shadow: 0 0 0 1.5px #231F20;
}

select {
    background-image: linear-gradient(45deg,transparent 50%,rgb(25 25 25 / 50%) 50%),linear-gradient(135deg,rgb(25 25 25 / 50%) 50%,transparent 50%);
    background-position: calc(100% - 20px) 50%,calc(100% - 15px) 50%,100% 0;
    background-size: 5px 5px,5px 5px,5px 5px;
    background-repeat: no-repeat;
}

input[type="search"]::-webkit-search-cancel-button {
    display: none;
}



::-webkit-input-placeholder {
    color: var(--color-text);
}

::-moz-placeholder {
    color: var(--color-text);
}

:-ms-input-placeholder {
    color: var(--color-text);
}

::-moz-selection {
    background-color: var(--color-primary);
    color: #ffffff;
}

::selection {
    background-color: var(--color-primary);
    color: #ffffff;
}

::-moz-selection {
    background-color: var(--color-primary);
    color: #ffffff;
}



:focus-visible {
    outline-color: var(--color-primary);
    outline-offset: 5px;
}

:focus {
    outline: 0 !important;
}


table {
    margin-bottom: var(--extrasmall);
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

table tr td {
    color: var(--color-text);
}


table tr :is(td, th) {
    padding: 0 15px;
}

table tr :is(td, th):first-child {
    padding-left: 0;
}

table tr :is(td, th):last-child {
    padding-right: 0;
}


b,
strong {
    font-weight: 600;
}

small,
.small {
    font-size: 14px;
    font-weight: inherit;
    display: inline-block;
}

button {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    padding: 0
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.btn {
    appearance: none;
    -webkit-appearance: none;
    padding: 15px 22.5px 15px 25px;
    transition: all 0.3s;
    position: relative;
    border: 0;
    z-index: 1;
    background: var(--color-primary);
    color: #ffffff;
    text-decoration: none;
    line-height: 1.125;
    text-align: left;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 22.5px;
    white-space: nowrap;
    justify-content: space-between;

}
.btn:after {
    content: attr(data-icon, '');
    font-family: 'Font Awesome 7 Pro';
    font-weight: 100;
    line-height: 1;
    transition: all 0.3s;
    font-size: 30px;
}

.btn:hover:after {
    transform: translateX(2.5px)
}

.btn.btn--secondary {
    background: var(--color-secondary)
}



/* Header */

header {
    position: sticky;
    z-index: 10;
    background: #ffffff;
    top: calc(var(--topmenuheight) * -1);
    top: 0;
    right: 0;
    left: 0;
    transition: all 0.3s;
    /* overflow: hidden; */
}


header nav.navigation {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 var(--small);
}

header nav.navigation .navigation-submenu {
    flex: 0 0 100%;
    width: 100%;
    position: relative;

    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--large);
   
    justify-content: space-between;
    background: var(--color-secondary);
    color: #ffffff;
    padding: 10px 0
}

header nav.navigation .navigation-submenu:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100vw;
    width: calc(100vw - calc(var(--smallmedium) * 2));
    background: var(--color-secondary);
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none;
}

header nav.navigation .navigation-submenu ul {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--small);
    margin-bottom: 0;
}

header nav.navigation .navigation-submenu ul li a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 7.5px;
    transition: all 0.3s;
    white-space: nowrap;
    font-weight: 500;
}

header nav.navigation .navigation-submenu ul li a:hover,
header nav.navigation .navigation-submenu ul li.current-menu-item a {
    color: var(--color-primary);
}

header nav.navigation .navigation-submenu ul:has(.navigation-sector) {
    margin-bottom: -10px;
}

header nav.navigation .navigation-submenu ul li.navigation-sector a {
    background: var(--color-text);
    padding: 6.25px 15px;
    margin-left: var(--tiny-negative);
       
}

header nav.navigation .navigation-submenu ul li.navigation-sector:first-child a {
    margin-left: 0
}


header nav.navigation .navigation-submenu ul li.navigation-sector a:hover,
header nav.navigation .navigation-submenu ul li.navigation-sector.current-menu-item a,
header nav.navigation .navigation-submenu ul li.navigation-sector.current-page-ancestor a,
header nav.navigation .navigation-submenu ul li.navigation-sector.current-menu-ancestor a {
    color: var(--color-text);
    background: #ffffff;
}

header nav.navigation .navigation-submenu ul li.navigation-login a:before {
    content: "";
    font-family: 'Font Awesome 7 Pro Sharp';
    font-size: 16px;
    color: var(--color-primary);
}

header nav.navigation .navigation-logo {
    width: 100%;
    max-width: 165px;
    position: relative;
    margin: 0;
    z-index: 1;
    line-height: 0;
    transition: all .3s;
    display: block;
}

header nav.navigation .navigation-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 0 10px;
    padding: 30px 0 30px var(--medium);
    background: var(--color-primary);
    color: #ffffff;
    position: relative;
    line-height: 1.5;
}

header nav.navigation .navigation-actions:before {
    content: attr(data-icon, '');
    font-family: 'Font Awesome 7 Pro';
    font-weight: 100;
    grid-column: 1;
    grid-row: 1 / 3;
    font-size: 37.5px;
    line-height: 1;
	transition: all 0.3s;
}

header nav.navigation .navigation-actions:hover:before {
	transform: translateX(2.5px);
}


header nav.navigation .navigation-actions:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100vw;
    background: var(--color-primary);
    z-index: -1;
    width: calc(100% + ((100vw - var(--container)) / 2) + var(--small) - var(--smallmedium));

}


header nav.navigation .navigation-actions b {
    grid-column: 2;
    display: block;
}

header nav.navigation .navigation-actions small {
    grid-column: 2;
    display: block;
}


header nav.navigation .navigation-menu {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: end;
    gap: var(--medium);
    
}

header nav.navigation .navigation-menu > ul {
    /* position: relative; */
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--smallmedium);
    margin-bottom: 0;   
}

header nav.navigation .navigation-menu > ul > li {
     height: 100%
}

header nav.navigation .navigation-menu > ul > li > a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 7.5px;
    transition: all 0.3s;
    white-space: nowrap;
    font-weight: 600;
    height: 100%
}

header nav.navigation .navigation-menu > ul > li > a:hover,
header nav.navigation .navigation-menu > ul > li.open > a,
header nav.navigation .navigation-menu > ul > li.current-menu-item > a,
header nav.navigation .navigation-menu > ul > li.current-page-ancestor > a {
    color: var(--color-primary)
}



header nav.navigation .navigation-menu ul > li.menu-item-has-children > a:after {
    content: '';
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
    display: inline-block;
    line-height: 1;
    transition: all 0.3s;
    font-size: 12px;
    color: var(--color-primary);
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children.open > a:after {
    transform: rotate(180deg);
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: 0;
    right: 0;
    margin-bottom: 0;
    width: calc(100% - var(--navactionswidth));
    background: var(--color-tertiary);
    top: 100%;
    padding: var(--mediumlarge) 0;
    transition: all 0.3s ease 0s;
    transform: rotateX(90deg);
    transform-origin: top center;
    display: flex;
    flex-direction: column;
    gap: 5px;
    line-height: 1;
    /* min-height: calc(var(--submenu-min-height, 0px) + (var(--mediumlarge) * 2)); */

    
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul:before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(var(--container-overflow) * -1);
    /* right: 0; */
    bottom: 0;
    background: var(--color-tertiary);
    pointer-events: none;
    /* width: 100vw; */
    width: var(--container-overflow);
    z-index: -1;
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children.open > ul {
    opacity: 1;
    visibility: visible;
    transform: rotateX(0deg);
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li {
    display: grid;
    grid-template-columns: 210px 1fr;
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li > a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 7.5px;
    transition: all 0.3s;
    white-space: nowrap;
    font-weight: 600;
    height: 100%;
    padding: 15px 25px;
    
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li.open > a,
/* header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li.current-menu-item > a { */
header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul:not(:has(> li:hover)) > li:first-child> a {
    background: var(--color-primary);
    color: #ffffff;
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li > a:after {
    content: '';
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
    display: inline-block;
    line-height: 1;
    transition: all 0.3s;
    font-size: 12px;
    color: var(--color-primary);
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li.open > a:after,
header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul:not(:has(> li:hover)) > li:first-child > a:after {
    color: #ffffff;
    transform: translateX(2.5px)
}


header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li > div {
    position: absolute;
    left: calc(210px + var(--mediumlarge));
    padding: var(--mediumlarge);
    top: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
    min-height: 100%;
    overflow: scroll;
    display: flex;
    align-items: start;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: start;
    line-height: 1.75;
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li > div::-webkit-scrollbar {
  display: none;
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li.open > div,
header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul:not(:has(> li:hover)) > li:first-child > div {
    opacity: 1;
    visibility: visible;
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li > div * {
    max-width: 600px
}

header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li > div p:last-of-type {
    margin-bottom: var(--small);
}



header nav.navigation .navigation-toggler {
    position: relative;
    margin: 0;
    z-index: 1;
    display: none;
    color: var(--color-primary);
    margin-right: auto;
}

header nav.navigation .navigation-toggler span {
    display: block;
    width: 22px;
    height: 2px;
}

header nav.navigation .navigation-toggler span + span {
    margin-top: 4px;
}

header nav.navigation .navigation-toggler span:nth-of-type(1) {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    top: 0;
}

header nav.navigation .navigation-toggler span:nth-of-type(2) {
    opacity: 1;
    width: 22px;
    margin-left: 0;
}

header nav.navigation .navigation-toggler span:nth-of-type(3) {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    bottom: 0;
}

header nav.navigation .navigation-toggler span {
    position: relative;
    transition: all 500ms ease-in-out;
    background-color: currentColor;
}

header nav.navigation .navigation-toggler.active span:nth-of-type(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 6px;
}

header nav.navigation .navigation-toggler.active span:nth-of-type(2) {
    opacity: 0;
    width: 0;
    margin-left: 50%;
}

header nav.navigation .navigation-toggler.active span:nth-of-type(3) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    bottom: 6px;
} 


/* Hero */

section.hero {
    position: relative;
    /* overflow: hidden; */
    padding: var(--massive) 0 var(--extralarge) 0;
}

section.hero:has(.hero-info) {
    margin-bottom: var(--large);
}

section.hero .hero-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

section.hero .hero-image :is(img, video) {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}


section.hero .hero-image .hero-image__play {
    position: absolute;
    right: var(--large);
    bottom: 0;
    border-radius: 50%;
    background: var(--color-primary);
    backdrop-filter: blur(10px);
    width: 75px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: var(--large);
    animation: pulse 2s infinite;
	cursor: pointer;
}

section.hero .hero-image .hero-image__play:before {
    content: '';
    background: #000000;
    opacity: 0.25;
    width: 70px;
    height: 70px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
}

section.hero .hero-image .hero-image__play:after {
    content: '';
    font-size: 22px;
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro Solid';
    color: #FFFFFF;
}

section.hero .hero-content {
    position: relative;
    z-index: 1;
    color: #ffffff;
    text-shadow: 0 0 28.835px rgba(0, 0, 0, 0.55);
}

section.hero .hero-label {
	text-transform: uppercase;
}


section.hero .hero-content .hero-content__buttons {
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
    margin-top: var(--extrasmall);
}

section.hero .hero-content *:last-child {
    margin-bottom: 0
}

section.hero .hero-info {
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    background: var(--color-tertiary);
    width: var(--container);
    max-width: 100%;
    padding: var(--smallmedium) var(--huge) var(--small) var(--large);
    z-index: 1;
    transform: translateY(50%);
}

section.hero .hero-info ul li:first-child {
    color: #909090;
    line-height: 2;
    text-transform: uppercase;
    margin-bottom: 7.5px;
}

section.hero .hero-info ul li b {
    color: var(--color-primary);
}




/* Subheader */

section.intro {
    position: relative;
    padding: var(--small) 0;
    background: var(--color-primary);
    color: #ffffff;
    border-radius: 30px;
    margin: 0 var(--small);
}

section.intro .intro-image {
    position: relative;
    display: block;
    height: 100%;
    padding-bottom: 100%;
    border-radius: 15px;
    overflow: hidden;
    width: calc(100% + ((100vw - var(--container)) / 2) - var(--small));
}


section.intro .intro-image:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(195deg, rgba(0, 57, 77, 0.00) 44.92%, rgba(0, 57, 77, 0.90) 82.89%);
    pointer-events: none;
    z-index: 1;
}

section.intro .intro-image :is(img, video) {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.intro .intro-image + .cta {
    position: absolute;
    bottom: var(--medium);
    right: calc(var(--gutters-x) * 0.5);
} 

section.intro .intro-content {
    padding-bottom: var(--extralarge);
    padding-top: var(--extralarge);
}

section.intro .intro-content:has(.breadcrumbs) {
    padding-top: 0;
}

section.intro .intro-content .breadcrumbs {
    margin-bottom: var(--extralarge);
    margin-top: var(--small);
}

section.intro .intro-content .label {
    color: #00B7BE;
}

section.intro .intro-content .intro-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
}


/* Breadcrumbs */
section.breadcrumbs {
    position: relative;
    overflow: hidden;
    padding: var(--extrasmall) 0;
    margin: 0 0 -58px 0;
	z-index: 9;
}

section.breadcrumbs p {
	margin: 0;
}

section.breadcrumbs:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: calc(var(--container-overflow) + var(--navactionswidth));
    /* width: 100%; */
    height: 100%;
    background: var(--color-tertiary);
    z-index: -1;
}

section.breadcrumbs .breadcrumbs > span {
    display: flex;
}

section.breadcrumbs .breadcrumbs a:hover {
    color: var(--color-primary);
}

section.breadcrumbs .breadcrumb_seperator {
    display: flex;
    align-items: center;
}

section.breadcrumbs .breadcrumb_seperator:before {
    content: "";
    font-family: 'Font Awesome 7 Pro Sharp';
    font-size: 8px;
	font-weight: 600;
    color: var(--color-primary);
    display: inline-block;
    margin: 0 var(--extrasmall);
}

section.breadcrumbs .breadcrumb_last {
    color: var(--color-primary);
    font-weight: 700;
}


/* Block */

section.services {
    position: relative;
    margin: var(--extralarge) 0;
    overflow: hidden
}

section.services.services--background {
    background: var(--color-tertiary);
    padding: var(--extralarge) 0;
    margin: 0;
}

section.services .services-header {
    margin-bottom: var(--medium);
}

section.services .services-header *:last-child {
    margin-bottom: 0
}

/* section.services .service {
  
} */


section.services .service .service-image {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}


section.services .service .service-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.services .service:hover .service-image img {
    transform: scale(1.1)
}

section.services .service .service-image .service-image__title {
    position: absolute;
    left: var(--smallmedium);
    right: var(--smallmedium);
    bottom: var(--smallmedium);
    margin-bottom: 0;
    color: #ffffff;
    z-index: 2;
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}



/* section.services .service .service-content {
  
} */


section.services .service .service-content *:last-child {
    margin-bottom: 0;
}



/* References */
section.references {
    position: relative;
    margin: var(--extralarge) 0;
}

section.references .references-header {
    margin-bottom: var(--medium);
}

section.references .references-header__buttons a {
    display: inline-flex;
    align-items: baseline;
    gap: var(--extrasmall);
    text-decoration: none;
}

section.references .references-header__buttons a:before {
    content: '';
    font-family: 'Font Awesome 7 Pro Sharp';
    font-size: 10px;
    color: var(--color-primary);
    line-height: 1;
    transition: all 0.3s;
}

section.references .references-header__buttons a:hover:before {
    transform: translateX(5px);
}

section.references .references-header__buttons a .link-text {
    color: #4E8D26;
    font-size: 17px;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}



/* Filters */

.header-filters {
    margin-top: var(--smallmedium);
}

.header-filters ul {
    margin-top: var(--extrasmall);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: var(--tiny);
}

/*.header__filters ul li {

} */

.header-filters ul li label {
    padding: 21px 22.5px 21px 22.5px;
    transition: all 0.3s;
    position: relative;
    border: 1px solid var(--color-primary);
    z-index: 1;
    background: #FFFFFF;
    color: var(--color-primary);
    text-decoration: none;
    line-height: 1.125;
    text-align: left;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 22.5px;
    white-space: nowrap;
    justify-content: space-between;
}


.header-filters ul li label:hover,
.header-filters ul li label:has(input:checked) {
    background: var(--color-primary);
    color: #ffffff;
}




/* Card */

.card .card-image {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.card .card-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

.card:hover .card-image img {
    transform: scale(1.1)
}

.card .card-image:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 55%;
    background: linear-gradient(182deg, rgba(19, 32, 10, 0.00) 26.89%, rgba(19, 32, 10, 0.75) 63.57%);
}

.card .card-image__content {
    position: absolute;
    left: var(--smallmedium);
    right: var(--smallmedium);
    bottom: var(--smallmedium);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--small);
    text-shadow: 0 0 25.811px rgba(0, 0, 0, 0.55);
    z-index: 2;
}

.card .card-image .card-image__label {
    font-weight: 400;
    color: #ffffff;
    line-height: 1;
    border: 1px solid #FFFFFF;
    z-index: 2;
    padding: 7.5px 15px;
    margin-bottom: 0px;
}

.card .card-image .card-image__title {
    margin-bottom: 0;
    color: #ffffff;
    z-index: 2;
    display: -webkit-box;
    /* line-clamp: 1;
    -webkit-line-clamp: 1; */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}



/* Logoslider */
section.logos {
    position: relative;
    margin: var(--extralarge) 0;
}

section.logos .logos-slider img {
    max-height: 115px;
    padding: 20px 40px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    margin: 0 var(--medium);
	-o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

/* section.logos .logos-slider img:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}  */





/* Block */

section.blocks {
    position: relative;
    margin: var(--extralarge) 0;
}

section.blocks.blocks--background {
    background: var(--color-tertiary);
    padding: var(--extralarge) 0;
    margin: 0;
}

section.blocks .blocks-header {
    margin-bottom: var(--mediumlarge);
}

section.blocks .blocks-header__buttons a {
    display: inline-flex;
    align-items: baseline;
    gap: var(--extrasmall);
    text-decoration: none;
}

section.blocks .blocks-header__buttons a:before {
    content: '';
    font-family: 'Font Awesome 7 Pro Sharp';
    font-size: 10px;
    color: var(--color-primary);
    line-height: 1;
    transition: all 0.3s;
}

section.blocks .blocks-header__buttons a:hover:before {
    transform: translateX(5px);
}

section.blocks .blocks-header__buttons a .link-text {
    color: #4E8D26;
    /* font-size: 17px; */
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

section.blocks .blocks-header *:last-child {
    margin-bottom: 0
}

section.blocks .block {
    height: 100%;
    display: grid;
    grid-template-columns: 3fr 2fr;
    align-items: center;
    overflow: hidden;
    background: #FFFFFF;
}

section.blocks .block .block-image {
    position: relative;
    display: block;
    height: 100%;
    padding-bottom: 100%;
    overflow: hidden;
}

section.blocks .block .block-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.blocks .block .block-image:hover img {
    transform: scale(1.1)
}

section.blocks .block .block-content {
    padding: var(--mediumlarge);
    height: 100%;
    display: flex;
    flex-direction: column;
}

section.blocks .block .block-content h3 {
    color: var(--color-primary);
}

/* section.blocks .block .block-content *:last-child {
    margin-bottom: 0;
} */

section.blocks .block .block-content .block-content__buttons {
    line-height: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: var(--tiny);
    padding-top: var(--mediumlarge);
    margin-top: auto;
}



/* Article */

article.article {
    position: relative;
    margin: var(--extralarge) 0;
    /* overflow: hidden; */
    contain: paint;
}

article.article.article--background {
    padding: var(--extralarge) 0 0 0;
    background-color: var(--color-tertiary);
    margin: 0;
}

article.article.article--background:has(.accordion) {
    padding: var(--extralarge) 0;
}

article.article .article-title {
    margin-top: var(--huge);
    margin-bottom: var(--large);
}

article.article .article-header {
    margin-bottom: var(--large);
}

article.article .article-header h5 {
    display: flex;
    align-items: center;
}

article.article .article-header .article-header__labels {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7.5px;
    font-size: 14px;
    margin-left: var(--small);
    margin-bottom: 0;
    z-index: 1;
}

article.article .article-header .article-header__labels li {
    background: var(--color-primary);
    color: #ffffff;
    padding: 7.5px 15px;
    line-height: 1;
}

article.article .article-header__image {
    position: relative;
    display: block;
    aspect-ratio: 21 / 9;
    overflow: hidden;
    margin-bottom: var(--large);
}

article.article .article-header__image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

article.article .article-content {
    padding: var(--extralarge) 0;
}

article.article:has(.accordion) .article-content .h3 {
    color: var(--color-text);
}

article.article.article--vacature .article-content :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4),
article.article.article--referentie .article-content :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4) {
	color: var(--color-primary);
	margin-top: var(--medium);
}

article.article.article--vacature .article-content :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4):first-child {
	margin-top: 0;
}

article.article .article-content img {
    width: auto;
    max-width: 100%;
}

article.article .article-content ul li {
    position: relative;
    padding-left: 15px;
}

article.article .article-content ul li:before {
    content: '•';
    position: absolute;
    left: 0;
}

article.article .article-content p.large {
    font-size: 20px;
    color: #909090
}


article.article .article-content *:last-child {
    margin-bottom: 0;
}

article.article .article-content .article-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
}

article.article .article-content .article-content__links {
    margin-top: var(--smallmedium);
    line-height: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: var(--extrasmall);
}

article.article .article-content .article-content__links span {
    color: #FFFFFF;
    margin-right: auto;
}

article.article .article-image {
    display: block;
    position: relative;
    padding-bottom: 75%;
    height: 100%;
    width: 50vw;
    float: right;
}

article.article.article--reverse .article-image {
    float: left;
}

article.article .article-image--wide {
    width: 66.7vw;
    height: unset;
    padding-bottom: 90%;
}

article.article .article-image :is(img, video) {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

article.article .article-image .article-image__play {
    position: absolute;
    top: var(--small);
    right: var(--small);
    border-radius: 50%;
    background: var(--color-primary);
    backdrop-filter: blur(10px);
    width: 75px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: var(--large);
    animation: pulse 2s infinite;
}

article.article.article--reverse .article-image .article-image__play {
    right: unset;
    left: var(--small);
}

article.article .article-image .article-image__play:before {
    content: '';
    background: #000000;
    opacity: 0.25;
    width: 70px;
    height: 70px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
}

article.article .article-image .article-image__play:after {
    content: '';
    font-size: 22px;
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro Solid';
    color: #FFFFFF;
}


article.article .article-image--wide + .article-form {
    clear: both;
	padding-top: var(--large);
}



/* Contact card */
.contact-card {
    position: sticky;
    top: calc(var(--headerheight) + var(--medium) + var(--extralarge));
}

article.article:has(.article-content) .contact-card {
    padding-bottom: var(--extralarge);
}

.contact-card .card {
    position: relative;
    background: var(--color-tertiary);
    width: 100%;
    max-width: 400px;
    overflow: visible;
}

.contact-card.contact-card--background .card {
    background: #FFFFFF;
}

.contact-card .card:has(.card-image) {
    padding-top: var(--extralarge);
    margin-top: var(--extralarge);
}

.contact-card .card .card-image {
    position: absolute;
    top: 0;
    left: var(--medium);
    width: 100%;
    max-width: 150px;
    transform: translateY(-50%);
}

.contact-card .card .card-image:after {
    content: none;
}

.contact-card .card:hover .card-image img {
    transform: scale(1);
}

.contact-card .card .card-content {
    padding: var(--medium);
}

.contact-card .card .card-content h4 {
    color: var(--color-primary);
    margin-bottom: var(--smallmedium);
}

.contact-card .card .card-content :is(h5, h6, .h5, .h6) {
    color: var(--color-primary);
    margin-bottom: 0;
}

.contact-card .card .card-content a[href^="mailto:"],
.contact-card .card .card-content a[href^="tel:"] {
    font-weight: 700;
}


.contact-card .card .card-content a[href^="mailto:"]:hover,
.contact-card .card .card-content a[href^="tel:"]:hover {
	color: var(--color-primary);
}

.contact-card .card .card-content a[href^="mailto:"]:before {
    content: '';
    font-family: 'Font Awesome 7 Pro Solid';
    font-size: 16px;
    color: var(--color-primary);
    margin-right: var(--tiny);
}



/* Checklist */
section.checklist {
    position: relative;
    margin: var(--extralarge) 0;
}

section.checklist .checklist-content {
    color: #FFFFFF;
    background: var(--color-primary);
    padding: var(--large) var(--large) var(--large) var(--largehuge);
}

section.checklist .checklist-image {
    position: relative;
    display: block;
    height: 100%;
}

section.checklist .checklist-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.checklist .checklist-content ul li {
    position: relative;
    padding-left: var(--smallmedium);
    margin-bottom: var(--extrasmall);
}

section.checklist .checklist-content ul li:last-child {
    margin-bottom: 0;
}

section.checklist .checklist-content ul li:before {
    content: '';
    font-family: 'Font Awesome 7 Pro Sharp';
    font-size: 16px;
    font-weight: 300;
    position: absolute;
    left: 0;
}





/* About */

section.about {
    position: relative;
  
}

section.about:before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    height: 50%;
    pointer-events: none;
    background: #3C3C3B;
    z-index: -1;
}

section.about .about-wrapper {
    border-radius: 15px;
    background: #F1F2F4;
    padding: var(--small);
}

section.about .about-wrapper .about-content {
    padding: var(--medium) var(--large);
 
}

section.about .about-wrapper .about-content .about-content__label {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
}

section.about .about-wrapper .about-content .about-content__label:before {
    content: '';
    background: #00B7BE;
    width: 7.5px;
    height: 7.5px;
    border-radius: 50%;
    animation: pulse 2s infinite;
}


section.about .about-wrapper .about-content .about-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
}


section.about .about-wrapper .about-content *:last-child {
    margin-bottom: 0
}


section.about .about-wrapper .about-image {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    border-radius: 15px;
    overflow: hidden;
}

section.about .about-wrapper .about-image :is(img, video) {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}


section.about .about-wrapper .about-person {
    display: grid;
    gap: var(--medium);
    grid-template-columns: 1fr 1.5fr;
    align-items: center
}

section.about .about-wrapper .about-person .about-person__image {
    display: block;
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 15px;
}

section.about .about-wrapper .about-person .about-person__image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

/* section.about .about-wrapper .about-person .about-person__content {

} */


section.about .about-wrapper .about-person .about-person__content :is(h4, h5, h6, .h4, .h5, .h6) {
    color: #00B7BE;
}

section.about .about-wrapper .about-person .about-buttons {
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
}

/* Categories */

section.categories {
    margin: var(--extralarge) 0;
    position: relative;
    overflow: hidden;
}

section.categories .categories-header {
    margin-bottom: var(--small)
}

section.categories .categories-header * {
    margin-bottom: 0
}

section.categories .category {
    position: relative;
    border: 0;
    z-index: 1;
    transition: all 0.3s;
    overflow: hidden;
    background: #F1F2F4;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: var(--smallmedium);
    height: 100%;
    border-radius: 15px;
    aspect-ratio: 1 / 1;
}

section.categories .category .category-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

section.categories .category:has(.category-brand) .category-image:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 57, 77, 0.08);
    pointer-events: none;
    z-index: 1;
}

section.categories .category .category-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.categories .category:hover .category-image img {
    transform: scale(1.1);
}

section.categories .category .category-brand {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}

section.categories .category .category-brand img {
    width: auto;
    height: auto;
    max-width: 180px;
    object-fit: contain;
    display: block;
} 

section.categories .category .category-buttons {
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
    justify-content: center
}



section.categories .category .category-image .category-label {
    background: #ffffff;
    font-weight: 500;
    padding: 5px 12.5px;
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 1;
    font-weight: 800;
}

section.categories .category .category-image .category-arrow {
    line-height: 1;
    background: #00B7BE;
    color: #ffffff;
    transition: all 0.3s;
    width: 45px;
    height: 45px;
    display: block;
    position: absolute;
    bottom: 15px;
    right: 15px;
}

section.categories .category .category-image .category-arrow:hover {
    background: #F24540;
}

section.categories .category .category-image .category-arrow:after {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><path fill="%23ffffff" d="M25.9352732,16.4186794c.0416047-.0503227.0824757-.1015517.1079822-.1627071.0333614-.0804904.0505816-.1659008.0510564-.2516565,0-.0013811.0007769-.0024169.0007769-.0037979v-.0000863c-.0000432-.0868778-.0177812-.1734103-.0515743-.2549365-.0339656-.0820441-.0829504-.1559744-.1447532-.2175182l-8.4847203-8.4847203c-.2603313-.2603313-.6822476-.2603313-.9425789,0s-.2603313.6822476,0,.9425789l7.3475835,7.3475835-17.2470784-.0003021c-.3687451,0-.6670558.2983107-.6670558.6670558,0,.183682.0745777.3507913.1950758.4712894s.2876074.1950758.4712894.1950758l17.2471648.0003021-7.346634,7.346634c-.2603313.2603313-.2603313.6829381,0,.9432694s.6829381.2603313.9432694,0l8.4849361-8.4849361c.0156665-.0156665.0214929-.0363393.0352604-.053128Z" /></svg>');
    line-height: 0;
    transition: all 0.3s;
    transform: rotate(-45deg) translate(-50%, -50%);
    transform-origin: top left;
    position: absolute;
    top: 50%;
    left: 50%;
    color: #ffffff;
    width: 30px;
}

section.categories .category .category-image .category-arrow:hover:after {
    transform: rotate(0deg) translate(-50%, -50%);
}

section.categories .category .category-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 22.5px 30px;
}

section.categories .category .category-content .category-title {
    font-weight: 800;
    text-decoration: none;
    line-height: 1.375;
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all 0.3s;
}

section.categories .category .category-content .category-title:hover {
    text-decoration: underline;
}


/* Products */

section.products {
    margin: var(--extralarge) 0;
    position: relative;
    overflow: hidden
}

section.products .products-header {
    margin-bottom: var(--mediumlarge);
}

section.products .products-header .products-header__buttons {
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
    margin-top: var(--smallmedium)
}

section.products .products-header *:last-child {
    margin-bottom: 0
}

section.products .products-toggler {
    display: none;
    position: fixed;
    right: var(--small);
    bottom: var(--small);
    left: var(--small);
    z-index: 9;
}

/* section.products .products-toggler:after {
   
} */

section.products .products-sidebar {
    display: flex;
    flex-direction: column;
    border-radius: 15px;
    background: #F1F2F4;
    padding: var(--smallmedium) var(--small);
    margin-bottom: var(--medium);
}

section.products .products-sidebar :is(h3, .h3) {
    margin-bottom: 0
}

section.products .products-sidebar .products-active {
    border-bottom: 1px solid #231F20;
    padding: var(--small) 0;
}

section.products .products-sidebar .products-active .wc-aaf-chips {
    line-height: 1.25;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
}

section.products .products-sidebar .products-active .wc-aaf-chips button {
    background: #F1F2F4;
    padding: 5px 12.5px;
    font-weight: 500;
    cursor: pointer;
}

section.products .products-sidebar .products-filter {
    border-bottom: 1px solid rgba(0, 57, 77, 0.30);
    padding: 22.5px 0;
}

section.products .products-sidebar .products-filter:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

section.products .products-sidebar .products-filter:first-child {
    padding-top: 0
}

section.products .products-sidebar .products-filter [aria-expanded] {
    line-height: 1;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    width: 100%;
    font-size: 18px;
    font-weight: 600;
}

section.products .products-sidebar .products-filter [aria-expanded]:after {
    content: "";
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
    color: #00B7BE;
    transition: all 0.3s;
    font-size: 12px;
    transform: rotate(45deg);
       

}

section.products .products-sidebar .products-filter [aria-expanded="true"]:after {
    transform: rotate(-45deg);
}

section.products .products-sidebar .products-filter ul {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12.5px;
    line-height: 1;
    margin-bottom: 0;
    margin-top: var(--extrasmall);
    /* max-height: 225px;
    overflow: scroll; */
}

/* section.products .products-sidebar .products-filter ul li {
    
} */

section.products .products-sidebar .products-filter ul li label {
    font-weight: normal;
    line-height: 1.25;
    position: relative;
    transition: all 0.3s;
    cursor: pointer;
    margin-bottom: 0;
    flex-wrap: nowrap;
    display: flex;
    gap: 7.5px;
}

section.products .products-sidebar .products-filter ul li label:before {
    content: '';
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
    font-size: 10px;
    width: 15px;
    height: 15px;
    background: #ffffff;
    color: #00B7BE;
    border: 1px solid transparent;
    background-position: center center;
    background-size: 75%;
    background-repeat: no-repeat;
    transition: all 0.3s;
    aspect-ratio: 1 / 1;
    margin-top: 2.5px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
}

section.products .products-sidebar .products-filter ul li label:has(input:checked):before {
    content: '';    
    border-color: #00B7BE;
}

section.products .products-sidebar .products-filter ul li label input {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

section.products .products-sidebar .products-filter ul li label span {
    color: #849ca6;
}
section.products .products-usps {
    background: #F1F2F4;
    padding: var(--small);
    border-radius: 15px;
}

section.products .products-usps ul {
    margin-bottom: 0;
    line-height: 1.25;
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-family: "xenera", sans-serif;
    font-size: 18px;
    font-weight: normal;
}

section.products .products-usps ul li {
    position: relative;
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
}

section.products .products-usps ul li:before {
    content: "";
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
    color: #00B7BE;
    /* font-size: 12px; */
}

section.products .product {
    position: relative;
    z-index: 1;
    transition: all 0.3s;
    overflow: hidden;
    border-radius: 15px;
    border-radius: 30px;
    background: #EBEFF1;
    padding: 15px;
    padding-bottom: 22.5px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: 100%;
}

/* section.products .product:hover {
    background: var(--color-primary);
    color: #ffffff;
} */

section.products .product .product-image {
    aspect-ratio: 4 / 3;
    display: block;
    position: relative;
    border-radius: 15px;
    overflow: hidden
}

section.products .product .product-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.products .product .product-image:hover img {
   transform: scale(1.1)
}

section.products .product .product-image .product-image__labels {
    position: absolute;
    top: 15px;
    right: 15px;
    left: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
    font-size: 14px;
}

section.products .product .product-image .product-image__labels li {
    border-radius: 30px;
    background: #00B7BE;
    color: #ffffff;
    padding: 7.5px 15px;
    line-height: 1;
}


section.products .product .product-content {
    display: flex;
    flex-direction: column;
    gap: var(--extrasmall);
    flex: 1 1 auto;
    padding: 0 7.5px;
}

section.products .product .product-content p {
    text-decoration: none;
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}



section.products .product .product-content * {
    margin-bottom: 0
}


section.products .product .product-footer {
    display: flex;
    flex-direction: column;
    gap: 22.5px;
    border-top: 1px solid rgba(0, 57, 77, 0.30);
    margin-left: -15px;
    margin-right: -15px;
    padding: 0 22.5px;
    padding-top: 15px;
    transition: all 0.3s;

}

/* section.products .product:hover .product-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.30);
} */

section.products .product .product-footer .product-footer__price {
    display: block;
    margin-bottom: 0
}

section.products .product .product-footer .product-footer__price b {
    color: #00B7BE;
    font-weight: 600;
    display: block;
    font-size: 18px;
}

section.products .product .product-footer .product-footer__price span {
    color: #849ca6;
}

section.products .products-footer {
    border-top: 1px solid #D1D5D9;
    margin-top: var(--smallmedium);
}

section.products .products-footer ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    gap: 5px;
    margin-top: var(--small);
    margin-bottom: 0;
}

/* section.products .products-footer ul.page-numbers li {
    
} */
 
section.products .products-footer ul.page-numbers li :is(a, span) {
    line-height: 1;
    background: #F1F2F4;
    transition: all 0.3s;
    width: 40px;
    height: 40px;
    transition: all 0.3s;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

section.products .products-footer ul.page-numbers li :is(a, span).current {
    background-color: var(--color-primary);
    color: #ffffff;
}

section.products .products-footer ul.page-numbers li :is(a, span):is(.prev, .next) {
    background: var(--color-primary);
    color: #ffffff;
    font-size: 0;
}
 

section.products .products-footer ul.page-numbers li :is(a, span):is(.prev, .next):after {
    content: "";
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
    font-size: 12px;
    display: block;
}



/* Product */

section.product {
    margin: var(--extralarge) 0;
    position: relative;
}


section.product .product-header {
    margin-bottom: var(--mediumlarge);
}

section.product .product-header *:last-child{
    margin-bottom: 0
}

section.product .product-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--extrasmall);
    margin-bottom: 0;
}

section.product .product-gallery .product-gallery__image {
    aspect-ratio: 4 / 3;
    display: block;
    position: relative;
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
}

section.product .product-gallery .product-gallery__image:first-child {
    grid-column: span 3 / span 3;
    border-radius: 30px;
}


section.product .product-gallery .product-gallery__image .product-gallery__play {
    border-radius: 50%;
    background: var(--color-primary);
    backdrop-filter: blur(10px);
    width: 75px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    animation: pulse 2s infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
}

section.product .product-gallery .product-gallery__image .product-gallery__play:before {
    content: '';
    background: #000000;
    opacity: 0.25;
    width: 70px;
    height: 70px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
}

section.product .product-gallery .product-gallery__image .product-gallery__play:after {
    content: '';
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro Solid';
}

section.product .product-gallery .product-gallery__image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}


section.product .product-gallery .product-gallery__image:hover img {
    transform: scale(1.1)
}


/* section.product .product-header {

} */



section.product .product-content {
    display: flex;
    flex-direction: column;
    gap: var(--smallmedium) 
}

section.product .product-header .product-header__price {
    color: var(--color-primary);
    font-weight: 600;
    display: block;
    font-size: 18px;
}

section.product .product-header table tr th {
        color: var(--color-primary);
}

/* section.product .product-text {

} */

section.product .product-text *:last-child {
    margin-bottom: 0
}

section.product .product-specifications {
    border-radius: 15px;
    background: #F1F2F4;
    padding: 22.5px;
    text-align: left;
}

section.product .product-specifications *:last-child {
    margin-bottom: 0
}



/* Gallery */

section.gallery {
    margin: var(--extralarge) 0;
    position: relative;
}

section.gallery .gallery-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--extrasmall);
}
section.gallery .gallery-grid .gallery-image:is(:nth-child(1), :nth-child(2)) {
    grid-column: span 3 / span 3;
}   

section.gallery .gallery-grid .gallery-image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 15px;
    grid-column: span 2 / span 2;
}

section.gallery .gallery-grid .gallery-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.gallery .gallery-grid .gallery-image:hover img {
    transform: scale(1.1);
}



/* Images */
section.images {
    margin: var(--extralarge) 0;
    position: relative;
}

section.images .slide-image {
    position: relative;
    display: block;
    aspect-ratio: 3 / 4;
}

section.images .slide-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}



/* Cards */
section.cards {
    margin: var(--extralarge) 0;
    position: relative;
    overflow: hidden;
}

section.cards.cards--primary {
    padding: var(--extralarge) 0;
    background: var(--color-tertiary);
    margin: 0;
    margin: 0 var(--small);
}

section.cards.cards--secondary {
    padding: var(--extralarge) 0;
    background: var(--color-primary);
    color: #ffffff;
    margin: 0;
    margin: 0 var(--small);
}

section.cards .cards-header {
    margin-bottom: var(--mediumlarge);
}

section.cards .cards-header .cards-header__buttons {
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
    margin-top: var(--smallmedium)
}

section.cards .header-filters :is(.h1, .h2, .h3, .h4) {
    color: var(--color-text);
}

section.cards .cards-header *:last-child {
    margin-bottom: 0
}

section.cards .cards-header {
	margin-bottom: var(--large);
}

section.cards .cards-header p.large {
    font-size: 20px;
    color: #909090
}

section.cards .card {
    position: relative;
    z-index: 1;
    transition: all 0.3s;
    overflow: hidden;
    background: var(--color-tertiary);
    display: flex;
    flex-direction: column;
    /* gap: 22.5px; */
    height: 100%;
}

section.cards .card.card--vertical {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

section.cards .card.card--vertical.card--vertical-large {
    grid-template-columns: 3fr 7fr;
    align-items: center
}

section.cards:is(.cards--primary, .cards--secondary) .card {
    background: #ffffff;
    color: var(--color-primary);
}

/* section.cards .card:hover {
    background: var(--color-primary);
    color: #ffffff;
} */

section.cards.cards--secondary .card:hover {
    background: #EBEFF1;
    color: var(--color-primary);
}

section.cards .card .card-image {
    padding-bottom: 75%;
    aspect-ratio: unset;
    display: block;
    position: relative;
    overflow: hidden
}


section.cards .card.card--vertical .card-image {
    padding-bottom: 85%;
    height: 100%;
}

section.cards .card.card--vertical.card--vertical-large .card-image {
    padding-bottom: 100%;
    /* height: auto; */
    height: 100%;
	order: 1;
}

section.cards .card.card--vertical.card--vertical-large .card-image:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(195deg, rgba(0, 57, 77, 0.00) 44.92%, rgba(0, 57, 77, 0.90) 82.89%);
    pointer-events: none;
    z-index: 1;
}

section.cards .card .card-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.cards .card .card-image:hover img {
   transform: scale(1.1)
}


section.cards .card .card-image .card-image__labels {
    position: absolute;
    top: 30px;
    right: 30px;
    left: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7.5px;
    font-size: 14px;
    z-index: 1;
}

section.cards .card .card-image .card-image__labels li {
    background: var(--color-primary);
    color: #ffffff;
    padding: 7.5px 15px;
    line-height: 1;
}

section.cards .card .card-content {
    display: flex;
    flex-direction: column;
    /* gap: var(--extrasmall); */
    flex: 1 1 auto;
    padding: 7.5px 15px 0 15px;
}

section.cards .card.card--vertical .card-content {
    padding: var(--largehuge);
    padding-bottom: var(--medium);
}

section.cards .card.card--vertical.card.card--vertical-large .card-content {
    padding-bottom: var(--largehuge);
	order: 2;
}

section.cards .card .card-content .card-content__label {
    color: #8B8B8B;
    font-weight: 600;
    text-transform: uppercase;
}

/* section.cards .card .card-content h3 {
    
} */

section.cards .card .card-content h3 a {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

/* section.cards .card .card-content h3 a:after {
    content: '';
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro Sharp';
    line-height: 1;
    background-color: #00B7BE;
    color: #ffffff;
    border-radius: 50%;
    transition: all 0.3s;
    display: inline-block;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    width: 37.5px;
    height: 37.5px;
    transform: rotate(-45deg);
    aspect-ratio: 1 / 1;
} */

section.cards .card .card-content h3 a:hover:after {
    transform: rotate(0deg);
}

section.cards .card .card-content h3 a span{
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

section.cards .card:not(.card--vertical) .card-content p {
    text-decoration: none;
    display: -webkit-box;
    line-clamp: 4;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

section.cards .card .card-content .card-content__buttons {
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
    margin-top: var(--small);
    justify-content: end;
}

section.cards .card.card--vertical .card-content .card-content__buttons {
    flex-direction: column;
    justify-content: start;
    margin-top: auto;
}

section.cards .card.card--vertical-large .card-content .card-content__buttons {
    flex-direction: row;
    justify-content: start;
    margin-top: var(--large);
}

section.cards .card .card-content *:last-child {
    margin-bottom: 0
}


section.cards .card .card-footer {
    display: flex;
    flex-direction: column;
    gap: 22.5px;
    border-top: 1px solid rgba(0, 57, 77, 0.30);
    margin-left: -15px;
    margin-right: -15px;
    padding: 0 22.5px;
    padding-top: 15px;
    transition: all 0.3s;

}

/* section.cards .card:hover .card-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.30);
} */

section.cards .card .card-footer .card-footer__price {
    display: block;
    margin-bottom: 0
}

section.cards .card .card-footer .card-footer__price b {
    color: #00B7BE;
    font-weight: 600;
    display: block;
    font-size: 18px;
}

section.cards .card .card-footer .card-footer__price span {
   color: #849ca6;
}

section.cards #response {
	margin-bottom: var(--extralarge);
}


/* Contact */
section.contact {
    position: relative;
    margin: var(--extralarge) 0;
}

section.contact .contact-wrapper {
    position: relative;
    display: flex;
    align-items: flex-start;
}

section.contact .contact-content {
    background: var(--color-tertiary);
    padding: var(--large);
    padding-bottom: var(--largehuge);
}

section.contact .contact-content :is(h2, p, ul) {
    padding-right: calc(var(--huge) + var(--huge) + var(--smallmedium));
}

section.contact .contact-content h2 {
    color: var(--color-primary);
    margin-bottom: var(--smallmedium);
}

section.contact .contact-content .contact-content__buttons {
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--extrasmall);
    margin-top: var(--large);
}

section.contact .contact-content *:last-child {
    margin-bottom: 0
}

section.contact .contact-image {
    position: absolute;
    top: 0;
    right: var(--mediumlarge-negative);
    display: block;
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 300px;
    max-height: 300px;
    z-index: 2;
}

section.contact .contact-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

section.contact .contact-info ul li b {
    color: var(--color-primary);
}

section.contact .contact-info ul li a:hover {
	color: var(--color-primary);
}

section.contact .contact-info h5 {
	text-transform: none;
}






/* Advice */

.advice {
    position: relative;
    z-index: 1;
    transition: all 0.3s;
    overflow: hidden;
    border-radius: 15px;
    border-radius: 30px;
    background: var(--color-primary);
    color: #ffffff;
    padding: 22.5px 15px 15px 15px;
    display: flex;
    flex-direction: column;
    gap: 22.5px;
}

.advice .advice-content {
    padding: 0 7.5px;
}

.advice .advice-content .advice-content__label {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 7.5px;
}

.advice .advice-content .advice-content__label:before {
    content: '';
    background: #00B7BE;
    width: 7.5px;
    height: 7.5px;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

.advice .advice-content p {
    color: #ffffff;
}

.advice .advice-content *:last-child {
    margin-bottom: 0
}

.advice .advice-image {
    aspect-ratio: 4 / 3;
    display: block;
    position: relative;
    border-radius: 15px;
    overflow: hidden
}

.advice .advice-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

/* CTA */

.cta {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    align-items: center;
    overflow: hidden;
    padding: 15px;
    border-radius: 30px;
    background: rgba(0, 183, 190, 0.50);
    backdrop-filter: blur(7.5px);
    transition: all 0.3s;
    z-index: 2;
    position: relative;
    color: #ffffff;
    max-width: 450px;
    margin-left: auto;
}

.cta:hover {
    background: rgba(0, 183, 190, 0.75);
}

.cta .cta-image {
    position: relative;
    display: block;
    /* height: 100%;
    padding-bottom: 100%; */
    overflow: hidden;
    border-radius: 15px;
    aspect-ratio: 1 / 1;
}

.cta .cta-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

.cta:hover .cta-image img {
    transform: scale(1.1)
}

.cta .cta-content {
    padding: 22.5px 22.5px 22.5px 30px;
    display: flex;
    flex-direction: column;
}

.cta .cta-content *:last-child {
    margin-bottom: 0;
}



/* Gravity Forms */

.gform_wrapper {
  

}

.gform_wrapper .gform_heading {
	color: var(--color-primary);
    margin-bottom: var(--small);
}

.gform_wrapper form {
    position: relative;
}


.gform_wrapper form .gform_body {
   
}

.gform_wrapper form .gform_body .gform_fields,
.gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--extrasmall) var(--small);
}

.gform_wrapper form .gform_body .gform_fields .gfield,
.gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row .gform-grid-col {
    position: relative;
    border: 0;
    padding: 0;
    grid-column: span 12 / span 12;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-half,
.gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row .gform-grid-col {
   grid-column: span 6 / span 6;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-three-quarter {
    grid-column: span 9 / span 9;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-quarter {
    grid-column: span 3 / span 3;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-third {
    grid-column: span 4 / span 4;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-two-thirds {
   grid-column: span 8 / span 8;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-seven-twelfths {
    grid-column: span 7 / span 7;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-five-twelfths {
   grid-column: span 5 / span 5;
}


.gform_wrapper form .gform_body .gform_fields .gfield.gform_validation_container,
.gform_wrapper form .gform_body .gform_fields .gfield.gfield_visibility_hidden {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.gform_wrapper form .gform_body .gform_fields .gfield .gfield_label,
.gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row .gform-grid-col label {
	color: var(--color-primary);
    margin-bottom: 7.5px;
}


.gform_wrapper form .gform_body .gform_fields .gfield.hidden_label .gfield_label {
    display: none;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container {

}

.gform_wrapper form .gform_footer {
      margin-top: var(--extrasmall);
}


@media (max-width: 992px) {
    .gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-half,
    .gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row .gform-grid-col {
        grid-column: span 12 / span 12;
    }
}


/* Slick slider */

.slick-list {
    overflow: visible;
}

.slick-dots {
    position: relative;
    margin-bottom: 0;
    line-height: 0;
    z-index: 2;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 5px;
    margin-top: var(--small)
}

.slick-dots li {
    list-style: none;
}

.slick-dots li button {
    font-size: 0;
    height: 3px;
    width: 15px;
    display: inline-block;
    padding: 0;
    cursor: pointer;
    background: rgba(35, 31, 32, 0.25);
    border-radius: 15px;
}

.slick-dots li.slick-active button {
    background: #00B7BE;
}

.slick-arrows {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.slick-arrows .slick-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    width: 40px;
    height: 40px;
    transition: all 0.3s;
    font-size: 0;
    position: relative;
    cursor: pointer;
    background: #FFFFFF;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    color: var(--color-primary);
}

.slick-arrows .slick-arrow:hover {
    background: var(--color-primary);
    color: #FFFFFF
}


.slick-arrows .slick-arrow:before {
    content: '';
    font-family: "Font Awesome 7 Pro";
    font-weight: 400;
    line-height: 1;
    transition: all 0.3s;
    font-size: 12px;
    display: block
}

.slick-arrows .slick-arrow.prev:before {
    content: '';
}

.slick-arrows .slick-disabled {
    pointer-events: none;
    opacity: 0.25;
}


/* Footer*/

footer {
    position: relative;
    margin-top: var(--extralarge);
}

footer .footer-main {
    padding: /* var(--extralarge) */ 0 0 var(--large) 0;
}

footer .footer-main .footer-content {
    margin-top: var(--mediumlarge);
}


footer .footer-main .footer-content :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    margin-bottom: var(--small);
}


footer .footer-main .footer-content *:last-child {
    margin-bottom: 0;
}

footer .footer-main .footer-menu {
    line-height: 2;
}

footer .footer-main .footer-menu li {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
}

footer .footer-main .footer-menu li:hover {
    color: var(--color-primary);
}

footer .footer-main .footer-menu li a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 15px;
}

footer .footer-main .footer-menu li a:before {
    content: "";
    font-size: 10px;
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro Sharp';
    color: var(--color-primary);
    line-height: 1;
    transition: all 0.3s;
}

footer .footer-main .footer-menu li a:hover:before {
    transform: rotate(0deg);
}

footer .footer-main .footer-menu li.current-menu-item a {
    color: var(--color-primary);
}

footer .footer-main .footer-logo  {
    max-width: 210px;
    margin-right: var(--extralarge);
}

footer .footer-main .footer-logo img {
    line-height: 0;
    margin-bottom: var(--small);
}

footer .footer-main .footer-text *:last-child {
    margin-bottom: 0
}

footer .footer-main .footer-contact .contact-info {
    margin-bottom: var(--small);
}

footer .footer-main .footer-contact .contact-info b {
    color: var(--color-primary);
}

footer .footer-main .footer-contact .contact-info a:hover {
    color: var(--color-primary);
}

footer .footer-main .footer-image {
    position: relative;
    width: 115px;
    height: 160px;
    margin-top: var(--mediumlarge);
}

footer .footer-main .footer-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transition: all 0.3s;
}

footer .footer-copyright {
    position: relative;
    color: #FFFFFF;
    background: var(--color-secondary);
    padding: var(--small) 0;
    margin-bottom: var(--smallmedium);
}

footer .footer-copyright .footer-text {
    margin-bottom: 0;
    opacity: 1;
    color: var(--color-primary);
}

footer .footer-copyright .footer-menu  {
    margin-bottom: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--small);
    opacity: 1;
}

footer .footer-copyright .footer-menu li {
    list-style: none;
    display: inline-block;
}

footer .footer-copyright .footer-menu li:not(:last-child):after {
    content: '|';
    color: var(--color-primary);
    margin-left: var(--extrasmall)
}

footer .footer-copyright .footer-menu li a {
    text-decoration: none;
    font-weight: normal
}


footer .footer-copyright .footer-menu li a:hover {
	color: var(--color-primary);
}

.pswp-bg {
    background: rgb(25 25 25 / 75%);
}

body.loading {
    overflow-y: hidden;
    overflow-x: hidden;
}


body.loading:before {
    content: '';
    background: var(--color-secondary);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index:11;
    position: fixed;
    opacity: 0.75;
}


body.loading:after {
    content: '';
    width: 60px;
    height: 60px;
    border-width: 7.5px;
    border-style: solid;
    border-color: var(--color-primary);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
    z-index: 12;
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -30px;
    margin-top: -30px;
}





/* Accordion */

.accordion  {
    display: grid;
    gap: var(--extrasmall);
    margin-top: var(--medium);
}

.accordion .accordion-item {
    background: #FFFFFF;
    padding: 22.5px 45px 22.5px 30px;
    display: block;
    transition: all 0.3s;
}


.accordion .accordion-item .accordion-item-toggler {
    position: relative;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    display: block;
    width: 100%;
    text-align: left;
    align-items: center;
    display: flex;
}

.accordion .accordion-item .accordion-item-toggler:after {
    content: '+';
    
    display: block;
    cursor: pointer;
    transition: all 0.3s;
    margin-left: auto;
    color: var(--color-primary);
    line-height: 1;
    
}

.accordion .accordion-item .accordion-item-toggler h3 {
    color: var(--color-text);
    margin-bottom: 0;
}

/* .accordion .accordion-item .accordion-item-toggler[aria-expanded="true"] {
    
} */

.accordion .accordion-item .accordion-item-toggler[aria-expanded="true"]:after {
    content: '-';
}

.accordion .accordion-item .accordion-item-content {
    padding-top: var(--small);
    margin-right: var(--extrasmall);
}


/* Social media */

.social-media {
    line-height: 1;
    margin-bottom: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    justify-content: center;
}

.social-media li {
    display: inline-block;
}

.social-media li:last-child {
    margin-right: 0
}

.social-media li a {
    height: 45px;
    width: 45px;
    text-align: center;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: #00B7BE;
    color: #ffffff;
    border-radius: 50%;
    text-decoration: none;
}

.social-media li a:hover {
    background-color: #E03958;
}

.social-media li a:before {
    content: attr(data-icon);
    font-weight: normal;
    font-family: 'Font Awesome 7 Brands';
}



/* Responsive */


@media (max-width: 1600px) {
    :root  {
        --container: 1240px;
    }
}   

@media (max-width: 1400px) {
    :root  {
        --container: 1140px;
    }

    .btn {
        gap: 22.5px;
        padding: 12.5px 12.5px 12.5px 22.5px;
    }


}

@media (max-width: 1200px) {

    :root  {
        --base: 12.5px;
        --container: 992px;    
        --container-overflow: var(--small);

    }

    body {
        margin: 0 var(--extrasmall);
    }

    header nav.navigation {
        padding: var(--small) 0;
    }

    header nav.navigation .navigation-toggler {
        display: block;
    }

    header nav.navigation .navigation-menu {
        position: fixed;
        top: var(--headerheight);
        left: 0;
        right: 0;
        bottom: 0;
        background: #ffffff;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        transform: translateY(-120%);
        transition: .3s;
        z-index: -1;
    }

    header nav.navigation .navigation-menu.open {
        transform: translateY(0);
    }

    header nav.navigation .navigation-submenu {
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-start;
        flex: unset;
        gap: 0;
        padding: 0;
        background: var(--color-secondary);
    }

    header nav.navigation .navigation-submenu:before {
        display: none;
    }

    header nav.navigation .navigation-submenu ul:nth-child(2) {
        width: 100%;
        flex-direction: column;
        gap: 0;
    }

    header nav.navigation .navigation-submenu ul:has(.navigation-sector) {
        margin-bottom: 0;
    }

    header nav.navigation .navigation-submenu ul:nth-child(2) li {
        width: 100%;
    }

    header nav.navigation .navigation-submenu ul:nth-child(2) li a {
        width: 100%;
        padding: var(--extrasmall) var(--small);
    }

    header nav.navigation .navigation-menu > ul {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
        padding: 0;
    }

    header nav.navigation .navigation-menu > ul > li {
        width: 100%;
        height: auto;
    }

    header nav.navigation .navigation-menu > ul > li > a {
        width: 100%;
        height: auto;
        justify-content: space-between;
        padding: 18px var(--small);
    }

    header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        width: 100%;
        opacity: 1;
        visibility: visible;
        transform: none;
        padding: 0;
        display: block;
        max-height: 0;
        overflow: hidden;
        transition: max-height .3s ease;
    }

    header nav.navigation .navigation-menu ul > li.menu-item-has-children.open > ul {
        max-height: 2000px;
    }

    header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul:before {
        display: none;
    }

    header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li {
        display: block;
    }

    header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li > a {
        padding: 14px var(--medium);
        background: transparent !important;
        color: inherit !important;
    }

    header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li > div {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        opacity: 1;
        visibility: visible;
        display: none;
        padding: 0 var(--medium) var(--medium);
        overflow: visible;
        min-height: auto;
    }

    header nav.navigation .navigation-menu ul > li.menu-item-has-children > ul > li.open > div {
        display: block;
    }

    header nav.navigation .navigation-actions {
        grid-template-columns: auto 1fr;
        width: 100%;
        padding: 30px 30px var(--medium);
        margin-top: auto;
    }

    header nav.navigation .navigation-actions:after {
        display: none;
    }


    
    section.hero .hero-info {
        max-width: 96%;
        transform: translateY(75%);
    }

    section.hero .hero-info {
        padding: var(--smallmedium) var(--large) var(--small) var(--large);
    }


    section.breadcrumbs:before {
        width: 100%;
    }

    

    .slick-list {
        overflow: hidden;
    }

    .slick-arrows {
        padding-top: var(--small);
    }

}

@media (max-width: 992px) {

    
    :root  {
        --base: 7.5px;
    }

    body {
        font-size: 15px;
    }


    h1,
    .h1 {
        font-size: 26px;
    }

    .h2,
    h2 {
        font-size: 24px
    }

    .h3,
    h3 {
        font-size: 22px;
    }

    .h4,
    h4 {
        font-size: 18px;
    }

    .h5,
    h5 {
        font-size: 16px;
    }

    .h6,
    h6 {
        font-size: 15px;
    }

    :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6).large {
        font-size: 26px;
    }

    .label {
        font-size: 18px;
    }

    .btn {
        gap: 22.5px;
        padding: 12.5px 12.5px 12.5px 22.5px;
    }

    /* nav.topmenu .topmenu-navigation {
        margin-left: var(--small-negative);
        margin-right: var(--small-negative)
    } */

    /* nav.topmenu .topmenu-navigation > *:first-child {
        padding-left: var(--small)
    } */

    /* nav.topmenu .topmenu-navigation > *:last-child {
        padding-right: var(--small)
    } */

    /* header:has(nav.navigation .navigation-menu.open) {
       position: fixed;
    } */

    /* header nav.navigation {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
    } */

    /* header nav.navigation .navigation-toggler { 
        display: block;
    } */

    header nav.navigation .navigation-logo {
        width: 105px;
    }


    /* header nav.navigation .navigation-menu {
        position: fixed;
        overflow-x: hidden;
        overflow-y: scroll;
        transition: all 0.3s ease-in-out;
        transform: translateX(-100%);
        z-index: 1;
        top: var(--headerheight);
        right: 0;
        bottom: 0;
        left: 0;
        gap: 0;
        padding: var(--small);
        flex-direction: column;
        gap: var(--extrasmall);
        justify-content: start;
    } */

    /* header nav.navigation .navigation-menu.open {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
    } */

    /* header nav.navigation .navigation-menu > ul {
        flex-direction: column;
        margin-left: unset;
        margin-right: unset;
        align-items: start;
    } */

    /* header nav.navigation .navigation-menu > ul > li:not(:last-child):after {
        content: '';
        border-bottom: 1px solid rgba(0, 57, 77, 0.30);
        position: absolute;
        right: 0;
        bottom: calc(var(--smallmedium-negative) / 2);
        left: 0;
        pointer-events: none;
    } */

    /* header nav.navigation .navigation-actions {
        margin-top: auto;
    } */

    /* header nav.navigation .navigation-actions .btn {
        width: 100%;
    } */
	
	
	section.breadcrumbs {
		margin: 0;
	}



    section.hero:has(.hero-info) {
        margin-bottom: calc(var(--large) + var(--heroinfoheight));
    }
    
    section.hero .hero-image .hero-image__play {
        width: 50px;
        height: 50px;
    }

    section.hero .hero-image .hero-image__play:before {
        width: 45px;
        height: 45px;
    }

    section.hero .hero-image .hero-image__play:after {
        font-size: 18px;
    }

    section.hero .hero-info {
        /* position: relative; */
        flex-direction: column;
        left: 50%;
        /* width: 100%; */
        max-width: 100%;
        transform: translateY(99%) translateX(-50%);
    }

    section.hero .hero-info ul li:first-child {
        margin-bottom: 0px;
    }




    article.article .article-image {
        width: 100%;
    }

    article.article .article-image .article-image__play {
        width: 50px;
        height: 50px;
    }

    article.article .article-image .article-image__play:before {
        height: 45px;
        width: 45px;
    }

    article.article .article-image .article-image__play:after {
        font-size: 18px;
    }

    article.article .article-content {
        padding: var(--small) 0;
    }

    article.article .article-content p.large {
        font-size: 17px;
    }

    article.article .article-header__image {
        aspect-ratio: 16 / 9;
    }

    article.article .article-title {
        margin-top: 0px;
        margin-bottom: 0px;
    }



    section.logos .logos-slider img {
        padding: 20px 20px;
        margin: 0 var(--small);
    }



    section.blocks .block .block-content {
        order: 2;
    }
    
    section.blocks .block .block-image {
        order: 1;
    }


    section.contact .contact-wrapper {
        flex-direction: column-reverse;
    }

    section.contact .contact-image {
        position: relative;
        max-width: 100%;
        max-height: 100%;
        top: unset;
        right: unset;
    }

    section.contact .contact-content :is(h2, p, ul) {
        padding-right: 0;
    }



    .contact-card .card .card-image {
        max-width: 100px;
    }




    section.products .products-toggler {
        display: flex;
    }

    section.products .products-sidebar {
        position: fixed;
        overflow-x: hidden;
        overflow-y: scroll;
        transition: all 0.3s ease-in-out;
        transform: translateX(-100%);
        z-index: 8;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: #ffffff;
        gap: 0;
        padding: var(--smallmedium) var(--small);
        padding-bottom: var(--massive);
        margin-bottom: 0
    }

    section.products .products-sidebar.open {
        transform: translateX(0%);
    }

    section.hero {
        margin: 0;
        padding: var(--massive) 0 var(--medium) 0;
    }

    section.hero .hero-content .hero-content__play {
        zoom: 0.875
    }

    section.blocks .block {
        grid-template-columns: 1fr;
    }

    section.blocks .block .block-content {
        padding: 22.5px 15px 7.5px 15px;
    }

    article.article .article-image .cta {
        right: var(--extrasmall-negative);
    }

    article.article .article-wrapper .article-content {
        padding: 22.5px 7.5px 7.5px 7.5px;
    }

    section.cards.cards--primary {
        margin: 0;
        padding: var(--medium) 0;
    }

    section.cards .card.card--vertical,
    section.cards .card.card--vertical.card--vertical-large {
        grid-template-columns: 1fr;
    }

    section.cards .card.card--vertical .card-content,
    section.cards .card.card--vertical.card--vertical-large .card-content {
        /* padding: 0 7.5px 7.5px 7.5px; */
        padding: var(--small);
    }

    section.cards .card.card--vertical.card.card--vertical-large .card-content {
        padding-bottom: var(--small);
    }

    section.cards .card.card--vertical .card-content {
        order: 2;
    }

    section.cards .card.card--vertical .card-image {
        order: 1;
    }




    section.intro {
        margin: 0;
        padding-bottom: 0
    }
    

    section.intro .intro-image {
        width: 100%;
    }

    section.intro .intro-image + .cta {
        bottom: var(--smallmedium);
        right: var(--smallmedium);
        left: var(--smallmedium);
    }

    section.intro .intro-content {
        padding-bottom: var(--medium);
    }

    section.intro .intro-content .breadcrumbs {
        margin-bottom: var(--medium);
        margin-top: 0;
    }



    footer .footer-main .footer-logo img {
        max-width: 150px;
    }

    .cta {
        grid-template-columns: 1fr 1fr;
    }

    .cta .cta-content {
        padding: 0 0 0 22.5px;
    }

   

   
}   




@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0px var(--color-primary);
    }
    100% {
        box-shadow: 0 0 0 15px rgba(0, 183, 190, 0);
    }
}






@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
} 
