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



:root  {
    --base: 15px;
    --massive: calc(var(--base) * 12);
    --huge: calc(var(--base) * 8);
    --extralarge: calc(var(--base) * 6);
    --largehuge: calc(var(--base) * 5);
    --large: calc(var(--base) * 4);
    --mediumlarge: max(30px, calc(var(--base) * 3));
    --medium: max(26.25px, 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.75));

    --massive-negative: calc(var(--base) * -12);
    --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: min(-30px, calc(var(--base) * -3));
    --medium-negative: min(-26.25px, 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: 1340px;
    --borderradius: 60px;
    --largefont: 19px;

}




@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 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';
    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';
    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-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;
} 

@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-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: 900;
    font-style: normal;
    font-display: swap;
}
*/


h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    margin-bottom: var(--small);
    margin-top: 0;
    line-height: 1.125;
    position: relative;
    display: block;
    font-weight: 600;
    text-wrap: balance;
    font-family: "allotrope", sans-serif;
    hyphens: auto;
}

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

.h2,
h2 {
    font-size: 36px;
    margin-bottom: var(--mediumlarge);
}

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

.h4,
h4 {
    font-size: 24px;
    font-weight: 700;
     margin-bottom: var(--tiny);
}

.h5,
h5 {
    font-size: 20px;
    font-weight: 700;
     margin-bottom: var(--tiny);
}

.h6,
h6 {
    font-size: 18px;
    font-weight: 700;
     margin-bottom: var(--tiny);
}

:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6).large {
    font-size: 88px;
   font-size: clamp(56px, 6.2857vw, 86px);
    margin-bottom: var(--medium);
    line-height: 0.875;
    hyphens: auto;
}



html {
    margin-top: 0 !important;
}

body {
    font-size: 17px;
    font-weight: 400;
    font-family: "allotrope", sans-serif;
    overflow-x: hidden;
    line-height: 1.75;
    color: #004151;
    background: #F6F2EE;
    margin: 0 var(--large);
}

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

body.zakelijk {
    --btnbackground: #8EABBE;
    --btncolor: #ffffff; 
 
}


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

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

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

ul li {
    list-style: none;
}

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

label {
    font-weight: normal;
    margin-bottom: 0;
    display: inline-block;
    padding: 0;
}

legend {
    font-weight: 600;
     margin-bottom: 0;
    display: inline-block;
    padding: 0;
}

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);

}


input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="url"],
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    -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: 15px 17.5px;
    border: 0;
    background-color: #ffffff;
    color: #004151;
    font-weight: 400;
    border: 1px solid #BDBDBE;
    resize: none;
}

input[type="radio"],
input[type="checkbox"] {
    accent-color: #7ddddb;
    margin: 0;
    margin-right: 7.5px;
}

section.article .article-content.article-content--backgroundimage :is(input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="search"],input[type="number"],input[type="url"],textarea,select) {
    border: 1px solid rgba(255, 255, 255, 0.20);
    background-color: #094B5C;
    color: #ffffff;
}

section.article .article-content.article-content--backgroundimage :is(input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="search"],input[type="number"],input[type="url"],textarea,select)::placeholder {
    color: #ffffff;
}

select {
    background-image: url(images/select.svg);
    background-position: calc(100% - 20px);
    background-size: 15px;
    background-repeat: no-repeat;
    padding-right: 45px;
}


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

::placeholder {
    color: rgb(18 47 75 / 50%);
    font-weight: 500
}

::selection {
    background-color: var(--btnbackground, #7DDDDB);
    color: #ffffff;
}

/* :focus-visible {
    outline-color: #7DDDDB;
    outline-offset: 5px;
} */

:focus {
    outline: 0 !important;
}


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

table tr th {
    font-weight: 500
}

table tr td {
}


table tr :is(td, th) {
    padding: 2.5px 7.5px;
}

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

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


b,
strong {
    font-weight: bold;
}

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

button {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    -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;
}

/* Button */

.btn {
    -webkit-appearance: none;
    padding: 17.5px 20px;
    transition: all 0.3s;
    position: relative;
    border: 0;
    z-index: 1;
    background: var(--btnbackground, #7DDDDB);
    color: var(--btncolor, #004151);
    overflow: hidden;
    font-weight: 600;
    line-height: 1;
    text-align: left;
    cursor: pointer;
    display: inline-flex;
    gap: 15px;
    align-items: center;
    font-size: 17px;
    white-space: nowrap
}

.btn:before,
.btn:after {
    content: '';
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    transition: all 0.3s;
    line-height: 1;
}

.btn:hover:before {
    transform: translateX(100%)
}

.btn:hover:before {
    transform: translateX(100%);
    opacity: 0;
}

.btn:after {
    position: absolute;
    transform: translateX(-100%);
    opacity: 0;
}

.btn:hover:after {
    transform: translateX(0);
    opacity: 1;
}

.btn.btn--secondary {
    color: #ffffff;
    background: var(--btncolor, #004151);
}


.btn.btn--transparent {
    background-color: transparent;
    padding: 0;
}


/* Read more */

.read-more {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7.5px;
    font-family: 'Asgard';
    padding-bottom: 5px;
}

.read-more span {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

.read-more:after {
    content: attr(data-icon, '');
    font-family: 'Font Awesome 7 Pro Sharp';
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
    color: var(--btnbackground, #7DDDDB);
    display: block;
    transition: all 0.3s;
}

.read-more:hover:after {
    transform: rotate(45deg)
}

/* Subtitle */

.subtitle {
    font-weight: bold;
    letter-spacing: .1em;
    color: #BDBDBE;
    margin-bottom: var(--medium);
    display: block;
    text-transform: uppercase;
    font-size: 20px;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}

.subtitle.subtitle--2 {
    letter-spacing: .3em;
    color: inherit;
     margin-bottom: var(--small);
}

.subtitle.subtitle--3 {
    letter-spacing: .5em;
    color: inherit;
    font-size: 24px;
    font-weight: 900;
        margin-bottom: var(--mediumlarge) !important;
}

.subtitle :is(i, em, .subtitle__maat) {
    font-style: normal;
    font-weight: 500;
}


/* Label */

.label {
    display: flex;
    flex-wrap: wrap;
    gap: 12.5px;
    align-items: center;
    margin-bottom: var(--small);
    font-size: 18px;
}

.label:before {
    content: '';
    background: var(--btnbackground, #7DDDDB);
    width: 12.5px;
    height: 12.5px;
    animation: Pulse 2s infinite;
    border-radius: 50%;
}


/* breadcrumb */

.breadcrumb {

}

.breadcrumb span {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
        align-items: center;
    color: #BDBDBE;
}

.breadcrumb span span.breadcrumb_seperator:before {
        content: '';
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    transition: all 0.3s;
    line-height: 1;
    font-size: 12px;
}

.breadcrumb span span.breadcrumb_last {
       color: #004151;
}

/* Contact */

.contact {
       display: flex;
    gap: var(--medium);
    align-items: center;
    margin-top: var(--medium)
}

.contact .contact-image {
  display: block;
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    width: 135px;
}

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

.contact .contact-content {
    flex: 1 1 auto;
}

.contact .contact-content > * {
    margin-bottom: 7.5px;
}

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

.contact .contact-content ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact .contact-content ul li {
    list-style: none !important;
}

.contact .contact-content ul li a {
        display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    font-weight: 600;
    gap: 7.5px;
}

.contact .contact-content ul li a:before {
    content: attr(data-icon);
    font-family: 'Font Awesome 7 Pro';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    transition: all 0.3s;
    color: #BDBDBE;
}

.contact .contact-content ul li a span {
        text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 10px;
    text-decoration-color: #BDBDBE
}


.loader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #004151;
    z-index: 999999;
    animation: loader 0.5s forwards;
    animation-delay: 3s;
}


.loader img {
        width: 100%;
    max-width: 240px;
    
     display: inline-block;
    line-height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}


@keyframes loader {
    from {
      opacity: 1;
       visibility: visible;
      transform: scale(1);
    }
   
    to {
        opacity: 0;
        visibility: hidden;
        transform: scale(20);
    }
}


/* Accordion */

.accordion  {
    display: grid;
    gap: var(--extrasmall);
    counter-reset: accordion;
}

.accordion .accordion-item {
       padding: var(--extrasmall) var(--extrasmall) var(--extrasmall) var(--medium);
    display: block;
    transition: all 0.3s;
    background: #ffffff;
}


.accordion .accordion-item .accordion-toggler {
   position: relative;
    cursor: pointer;
    padding: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    font-weight: 600;
    align-items: center;
    gap: var(--extrasmall);
    counter-increment: accordion;
    margin-bottom: 0;
        text-align: left;
            line-height: 1.25;
}


.accordion .accordion-item .accordion-toggler:after {
    content: "+";
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    cursor: pointer;
    transition: all 0.3s;
    position: relative;
    width: 52.5px;
    height: 52.5px;
        aspect-ratio: 1 / 1;
    background: var(--btnbackground, #7DDDDB);
        color: var(--btncolor, #004151);
    display: flex;
    align-items: center;
    justify-content: center;
}

.accordion .accordion-item .accordion-toggler[aria-expanded="true"]:after {
    transform: rotate(180deg);
    content: "-";
}

.accordion .accordion-item .accordion-content {
    /* padding-top: var(--tiny); */
    max-width: 85ch;
}


/* Loader */

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


.loading:before {
    content: '';
        background: #004151;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index:11;
    position: fixed;
    opacity: 0.75;
}


.loading:after {
       content: url(images/logo-secondary.svg);
    animation: rotation 1s linear infinite;
    z-index: 12;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: 0% 0%;
    line-height: 1;
    width: 180px;
    
}


/* Fit text */


[data-fit-text] {
    display: block;
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    margin-bottom: 0;
    /* margin-left: var(--extrasmall-negative);
    margin-right: var(--extrasmall-negative); */
}

[data-fit-text] * {
    display: inline-block;
    will-change: transform, opacity, color;
}




/* Header */

header {
    position: sticky;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    transition: 0.3s all;
    background: #F6F2EE;
}

header.header--scrolled {
}

header.header--hidden {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
}

header nav.topnavigation {
     position: relative;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--small);
    align-items: start;
    justify-content: space-between;
}

header nav.topnavigation .topnavigation-menu {
        background: #FFFFFF;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--small);
    margin-bottom: 0;
    padding: var(--extrasmall) var(--small) 10px var(--small);
    line-height: 1;
}

header nav.topnavigation .topnavigation-menu li a,
header nav.topnavigation .topnavigation-menu li button {
    color: #8EABBE;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    font-weight: 500;
    font-size: 12px;
    transition: all 0.3s;
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: inherit;
    line-height: inherit;
    cursor: pointer;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}

header nav.topnavigation .topnavigation-menu li a:hover,
header nav.topnavigation .topnavigation-menu li button:hover {
    color: #004151;
}

html[data-user-type="particulier"] header nav.topnavigation .topnavigation-menu li[data-user-type-item="particulier"] a,
html[data-user-type="zakelijk"] header nav.topnavigation .topnavigation-menu li[data-user-type-item="zakelijk"] a {
    font-weight: 700;
    color: #004151;
}

header nav.topnavigation .topnavigation-languages {
        background: #FFFFFF;
        padding: var(--extrasmall) 10px 10px 10px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--small);
    margin-bottom: 0;
    line-height: 1;
}

header nav.topnavigation .topnavigation-languages li a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 7.5px;
      font-size: 12px;
        letter-spacing: -0.01em;
    font-weight: bold;
    transition: all 0.3s
}

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

header nav.navigation .navigation-logo {
    width: 100%;
    max-width: 120px;
    position: relative;
    margin: 0;
    z-index: 1;
    line-height: 1;
    transition: all .3s;
    margin-right: var(--smallmedium);
    line-height: 0;
    /* animation: logo 7.2s ease-out 3s infinite; */
}


    
header nav.navigation .navigation-collapse {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--small);
   
}

header nav.navigation .navigation-collapse .navigation-menu {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--smallmedium);
    margin-bottom: 0;  
    flex: 1 1 auto; 
}

header nav.navigation .navigation-collapse .navigation-menu > li {
    position: relative;
   
}

header nav.navigation .navigation-collapse .navigation-menu > li:has(.navigation-submenu--mega, .navigation-submenu--featured, .navigation-submenu--expertises) {
    position: static;
}

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


header nav.navigation .navigation-collapse .navigation-menu > li > a:hover {
    color: var(--btnbackground, #7DDDDB);
}

header nav.navigation .navigation-collapse .navigation-menu > li.current-menu-item > a > .navigation-menu__label {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 10px;
    text-decoration-color: var(--btnbackground, #7DDDDB);
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children.active > a {
    color: var(--btnbackground, #7DDDDB);
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > a > span.navigation-menu__submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
        width: 15px;
    height: 15px;
    background: var(--btnbackground, #7DDDDB);
        color: var(--btncolor, #004151);
    border-radius: 50%;
     font-size: 10px;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > a > span.navigation-menu__submenu-toggle:after {
    content: '';
    font-family: 'Font Awesome 7 Pro';
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 300;
   
    display: block;
     transition: all 0.3s;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children.active > a > span.navigation-menu__submenu-toggle:after {
    transform: rotate(180deg)
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    margin-top:7.5px;
    padding: 5px;
    
    background: #ffffff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    pointer-events: none;
    transition: 0.3s all ease;
    box-shadow: 0 15px 30px rgba(0, 65, 81, 0.1);

    margin-bottom: 0;
    line-height: 1;
    display: flex;
    flex-direction: column;
    gap: 2.5px;
    font-size: 16px;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children.active > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul:before {
    content: '';
    position: absolute;
    top: -7.5px;
    left: 0;
    right: 0;
    height: 7.5px;
}


header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul li a {
    display: flex;
    flex-wrap: nowrap;
    gap: 7.5px;
    justify-content: space-between;
    padding: 10px 12.5px;
    transition: all 0.3s;
    font-weight: 500;
    white-space: nowrap;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul li a:hover,
header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul li.current-menu-item a {
    color: var(--btnbackground, #7DDDDB);
    background: #F6F2EE;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul li a:after {
    content: "";
    font-family: 'Font Awesome 7 Pro Sharp';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
    /* color: var(--btnbackground, #7DDDDB); */
    transition: all 0.3s;
    font-size: 10px;
    font-weight: normal;
    width: 15px;
    height: 15px;
    background: var(--btnbackground, #7DDDDB);
    color: var(--btncolor, #004151);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul li a:hover:after,
header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul li a.active:after {
    transform: translateX(2.5px);
}

header nav.navigation .navigation-submenu__close {
    display: none;
}


header nav.navigation .navigation-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 7.5px;
    margin-bottom: 0;   
}

header nav.navigation .navigation-toggler {
        display: none;
       position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    z-index: 1;

    color: #ffffff;
    background: #004151;
    padding: 10px;
    aspect-ratio: 1 / 1;
    width: 45px;
    height: 45px;
    margin-left: 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;
} 


/* Section */

section {
    position: relative;
    margin: var(--huge) 0;
}

section.section--background {
    padding: var(--huge) 0;
    margin: 0;
    background: #ffffff;
}

section.section--background + section.section--background {
    padding-top: 0;
}



/* Hero */

section.hero {
    margin-top: var(--massive)
    /* overflow: hidden */
}

section.hero .hero-letters {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--small);
}

section.hero .hero-letters .hero-letter {
      position: relative;
    display: block;
    width: 100%;
     flex: 1 1 0;
}

section.hero .hero-letters .hero-letter:nth-child(1) {
    aspect-ratio: 397 / 421;
    mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 397 421"><path d="M325.1329956,199.2070007c34.197998-17.3529968,57.6430054-52.9089966,57.6430054-93.9570007,0-58.1278-47.0100098-105.25-105-105.25H0v421h282.2170105c63.3929749,0,114.7829895-51.5130005,114.7829895-115.0570068,0-48.3330078-29.7349854-89.6989899-71.8670044-106.7359924Z"/></svg>');
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
}

section.hero .hero-letters .hero-letter:nth-child(2) {
    aspect-ratio: 462 / 449;
    mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 462 449"><path d="M230.75,0C93.6016006,0,0,92.2053986,0,224.5c0,132.2950134,93.6008987,224.5,230.75,224.5,137.1480103,0,231.25-92.2049866,231.25-224.5C462,92.2053986,368.3980103,0,230.75,0Z"/></svg>');
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    flex-grow: 1.15;
}


section.hero .hero-letters .hero-letter:nth-child(3) {
    aspect-ratio: 397 / 421;
    mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 397 421"><path d="M0,305.9429932c0,63.5440063,51.3900146,115.0570068,114.7829895,115.0570068h282.2170105S397,0,397,0H119.223999C61.2340088,0,14.223999,47.1222,14.223999,105.25c0,41.0480042,23.4450073,76.6040039,57.6430054,93.9570007C29.7349854,216.2440033,0,257.6099853,0,305.9429932Z"/></svg>');
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
}

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

section.hero .hero-content {
    position: relative;
    z-index: 3;
}

section.hero .hero-content.hero-content--right {
    text-align: right;
}

section.hero .hero-content :is(h1, h2, .h1, .h2) {
    /* margin-bottom: var(--small); */
}

section.hero .hero-content .hero-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 10px;
    align-items: start
}

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

/* intro */

section.intro {
    overflow: hidden;
    margin-top: var(--small);
}

section.intro:has(+ section.article .article-content.article-content--backgroundimage) {
    margin-bottom: 0
}

section.intro + section.article:has(.article-content.article-content--backgroundimage)  {
    margin-top: var(--extralarge-negative)
}

section.intro:before {
    content: '';
    background: #ffffff;
    position: absolute;
    top: 0;
    bottom: 0;
    width: calc(var(--container) + calc(var(--huge) * 2));
    /* max-width: 1600px; */
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none;
}

section.intro .intro-content {
    position: relative;
    padding: var(--extralarge);
    padding-right: var(--huge);
     padding-bottom: var(--huge);
    padding-left: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

section.intro:has(+ section.article .article-content.article-content--backgroundimage) .intro-content {
    padding-bottom: calc(var(--extralarge) + var(--extralarge));
}

section.intro .intro-content :is(h1, h2):first-of-type {
    margin-bottom: auto;
    padding-bottom: var(--mediumlarge);
}

section.intro .intro-content :is(ul, ol) li {
    list-style: inherit;
    list-style-position: inside
}

section.intro .intro-content .intro-content__icons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--small);
    font-weight: 600;
    margin-top: var(--small-negative);
}

section.intro .intro-content .intro-content__icons li {
    list-style: none !important;
    display: flex;
    flex-wrap: nowrap;
    gap: 7.5px;
}

section.intro .intro-content .intro-content__icons li:before {
    content: attr(data-icon);
    font-family: 'Font Awesome 7 Pro';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

section.intro .intro-content .intro-content__buttons {
    margin-top: var(--tiny);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: start
}


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

section.intro .intro-image {
    display: block;
    position: relative;
    padding-bottom: 115%;
    height: 100%;
    overflow: hidden;
    margin-right: calc(var(--huge-negative) + var(--small-negative));
}

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


/* title */

section.title {
    overflow: hidden
}

section.title .title-image {
    display: block;
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    margin-right: var(--extralarge);
    margin-top: calc(var(--extralarge) * -2.25);
    z-index: -1;
}

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

section.title .title-header {
    padding: 5px 0;
}

section.title .title-content {

}

section.title .title-content .title-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

section.title .title-content .title-content__brochure {
    margin-top: var(--medium);
    line-height: 1;
}

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

/* Form */

section.form {
   
}

section.form .form-content {
    background: #004151;
    color:#ffffff;
    background-image: url(images/pattern.svg);
    background-size: 180px;
    padding: var(--extralarge);
}

section.form .form-content > img {
    width: auto;
    max-width: 100%;
}

section.form .form-content :is(ul, ol) li {
    list-style: inherit;
    list-style-position: inside
}

section.form .form-content .intro-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: start
}

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

/* cards */

section.cards {
   
}

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

section.cards .cards-header :is(h1, h2, .h1, .h2) {
    margin-bottom: var(--small);
}

section.cards .cards-header p {
    max-width: 85ch;
}

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

section.cards .cards-filters {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 10px;
    margin-bottom: var(--mediumlarge)
}

section.cards .cards-filters > p {
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    margin-bottom: 0;
    text-transform: uppercase;
}


section.cards .cards-filters .cards-filters__controls  {
    margin-bottom: 0;
    display: flex;
      flex-wrap: wrap;
    gap: 10px;
}

section.cards .cards-filters .cards-filters__controls > select {
    width: fit-content;
    field-sizing: content;
}

section.cards .cards-filters .cards-filters__controls .price-filter {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;
    padding: 15px 20px;
    line-height: 1.25;
    border: 1px solid #BDBDBE;
    background-color: #ffffff;
    box-sizing: border-box;
    color: #004151;
}

section.cards .cards-filters .cards-filters__controls .price-filter :is(.price-filter__label, .price-filter__value) {
    flex: 0 0 auto;
    white-space: nowrap;
}

section.cards .price-filter__value {
    width: 8ch;
    font-variant-numeric: tabular-nums;
}

section.cards .cards-filters .cards-filters__controls .price-filter .price-filter__value[data-price-min] {
    text-align: right;
}

section.cards .cards-filters .cards-filters__controls .price-filter .price-filter__value[data-price-max] {
    text-align: left;
}

section.cards .cards-filters .cards-filters__controls .price-filter .price-filter__divider {
    flex: 0 0 2px;
    width: 2px;
    height: 22.5px;
    background: #BDBDBE;
}

section.cards .cards-filters .cards-filters__controls .price-filter .price-filter__slider {
    position: relative;
    flex: 1 1 180px;
    width: auto;
    min-width: 180px;
    height: 2px;
    margin: 15px;
    background: #BDBDBE;
    touch-action: none;
    user-select: none;
        margin-top: -7.5px;
    margin-bottom: -7.5px;
}

section.cards .cards-filters .cards-filters__controls .price-filter .price-filter__slider .ui-slider-range {
    position: absolute;
    top: 0;
    bottom: 0;
    background: #004151;
    will-change: left, width;
}

section.cards .cards-filters .cards-filters__controls .price-filter .price-filter__slider .ui-slider-handle {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: 2px solid #004151;
    border-radius: 50%;
    background: #004151;
    box-sizing: border-box;
    cursor: grab;
    outline: 0;
    transform: translate3d(-50%, -50%, 0);
    will-change: left;
    box-shadow: 0 0 0 5px #ffffff inset;
}

section.cards .cards-filters .cards-filters__controls .price-filter .price-filter__slider .ui-slider-handle:active {
    cursor: grabbing;
}

section.cards .cards-filters .cards-filters__active {
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

section.cards .cards-filters .cards-filters__active * {
    background: #004151;
    padding: 7.5px 15px;
    color: #ffffff;
    display: flex;
    line-height: 1.25;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: 0.3s all;
}

section.cards .cards-filters .cards-filters__active *:hover {
    background: #094B5C
}

section.cards .cards-filters .cards-filters__active *:after {
    content: '';
        font-weight: 400;
    font-family: 'Font Awesome 7 Pro Sharp';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
}

section.cards .cards-filters .cards-filters__active *:last-child {
    background: #BDBDBE;
    color: #004151;
}

section.cards .cards-filters .cards-filters__active *:last-child:after {
    content: '';
}

section.cards .card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    overflow: hidden;
    z-index: 2;
    height: 100%;
}

section.cards.cards--background .card {
    background: #ffffff;
}

section.cards .card.card--vertical {
    display: grid;
    grid-template-columns: 5fr 7fr;
    padding: 0;
}

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

section.cards .card.card--vertical .card-image {
    padding-bottom: 66.666%;
    padding-bottom: 87.5%;
    height: 100%;
    aspect-ratio: unset;
}

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__label {
    position: absolute;
    bottom: 0;
    right: var(--small);
    z-index: 1;
    background: #004151;
    color: #ffffff;
    font-weight: 500;
    padding: 7.5px 20px;
}

section.cards .card .card-content {
    display: flex;
    flex-direction: column;
    justify-content: start;
    padding: var(--large);
    flex: 1 1 auto;
}

section.cards .card.card--vertical .card-content {
    padding: var(--largehuge);
    height: 100%;
    justify-content: center;
}

section.cards .card.card--vertical .card-content :is(h1, h2, h3, .h1, .h2, .h3):first-of-type {
    margin-bottom: var(--mediumlarge);
}

section.cards .card .card-content :is(h1, h2, .h1, .h2) {
    margin-bottom: var(--smallmedium);
}

section.cards .card .card-content .card-content__labels {
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
        margin-bottom: var(--smallmedium);
}

section.cards .card .card-content .card-content__labels li {
        background: #E2E0DA;
    text-transform: uppercase;
    font-size: 10px;
    line-height: 1;
    padding: 5px 10px;
}

/* section.cards .card .card-content *:nth-last-child(2) {
    margin-bottom: auto
} */

section.cards .card .card-content .card-content__buttons {
    padding-top: var(--smallmedium);
    margin-top: auto;
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}


/* Specs */

section.specs {
       margin: 0;
    padding: var(--massive) 0;
    overflow: hidden
}


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

section.specs .specs-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    will-change: transform;
}

section.specs .specs-content {
    position: relative;
    z-index: 1;
    background: #ffffff;
    padding: var(--medium)
}    

section.specs .specs-content ul li {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #BDBDBE;
    text-align: right;

}

section.specs .specs-content ul li b{
    text-align: left;
}

section.specs .specs-content ul li:first-child {
    padding-top: 0;
}

section.specs .specs-content ul li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

section.specs .specs-content *:nth-last-child(2) {
    /* margin-bottom: 0 */
}


section.specs .specs-content .specs-content__label {
     position: absolute;
    bottom: 0;
    z-index: 1;
    background: #004151;
    color: #ffffff;
    font-weight: 500;
    padding: 7.5px 20px;
    transform: translateY(50%);
}




/* Banners */

section.banners {
    position: relative;
    margin: var(--huge) 0;
}

section.banners.banners--background {
     position: relative;
    padding: var(--huge) 0;
    background: #F8F7F6;
    margin: 0;
}

section.banners .banner {
    position: relative;
    display: block;
    background: #000000;
    color: #ffffff;
    
    overflow: hidden;
    z-index: 2;
}

section.banners .banner.banner--secondary {
     color: #000000;
    background: #ffffff;
}

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

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

section.banners .banner .banner-content {
    padding: var(--large);
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

section.banners .banner .banner-content p:last-of-type {
    margin-bottom: 0
}

section.banners .banner .banner-content .banner-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}


/* Article */

section.article {
    overflow: hidden;
}

section.article .article-content {
    position: relative;
}

section.article .article-content.article-content--background {
    padding: var(--medium);
    background: #ffffff;
}

section.article .article-content.article-content--backgroundimage {
    background: #004151;
    color: #ffffff;
    background-image: url(images/pattern.svg);
    background-size: 180px;
    padding: var(--extralarge);
}

/* section.article .article-content p:first-of-type {
    font-size: var(--largefont);
} */

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

section.article .article-content :is(ul, ol) li {
        list-style: inherit;
    list-style-position: inside;
    padding-left: 1.5em;
    text-indent: -1.5em;
}

section.article .article-content .article-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: start
}

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

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

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

section.article .article-carousels {
    clip-path: polygon(calc(var(--gutters-x) * -0.5) 0, 100vw 0, 100vw 100%, calc(var(--gutters-x) * -0.5) 100%);
}

section.article .article-carousels .slick-list {
    overflow: visible;
}


section.article .article-carousels .article-carousel {
    display: block;
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
}

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

/* banner */

section.banner {
   
}

section.banner .banner-content {
    position: relative;
    padding: var(--extralarge);
    color: #ffffff;
    height: 100%
}

section.banner .banner-content:before {
    content: '';
    background: #004151;
    background-image: url(images/pattern.svg);
    background-size: 180px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 150%;
    z-index: -1;
    pointer-events: none;
}

section.banner .flex-row-reverse .banner-content:before {
    left: 0;
    right: unset;
}

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

section.banner .banner-content :is(ul, ol) li {
    list-style: inherit;
    list-style-position: inside
}

section.banner .banner-content .banner-content__buttons {
    margin-top: var(--smallmedium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: start
}

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

section.banner .banner-image {
        display: block;
    position: relative;
    padding-bottom: 75%;
    height: calc(100% - var(--extralarge));
    overflow: hidden;
    margin-top: var(--extralarge);
}

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

/* Boats */

section.boats {
    overflow: hidden;
    background: transparent;
}

section.boats:before {
    content: '';
    background: #ffffff;
    position: absolute;
    top: 0;
    bottom: 0;
    width: calc(var(--container) + calc(var(--huge) * 2));
    /* max-width: 1600px; */
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none;
}

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

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

section.boats .boat {
    display: flex;
    flex-direction: column;
    gap: var(--extrasmall);
        height: 100%;
}

section.boats .boat .boat-header {
    font-size: 24px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .5em;
    color: #BDBDBE;
    text-transform: uppercase
}

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

section.boats .boat .boat-image {
    display: block;
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
}

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

section.boats .boat .boat-image:hover img {
    transform: scale(1.1)
}

section.boats .boat .boat-content {
        flex: 1 1 auto;
}

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

/* Gallery */

section.gallery {
    overflow: hidden;
}

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

section.gallery .gallery-header :is(h1, h2, .h1, .h2) {
    margin-bottom: var(--small);
}

section.gallery .gallery-header p {
    max-width: 85ch;
}

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

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

section.gallery .gallery-image.gallery-image--long {
    padding-bottom: 33.333%;
}

section.gallery .gallery-image.gallery-image--unset {
    padding-bottom: unset;
}


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

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

/* Teams */

section.teams {
    overflow: hidden
}

section.teams .slick-list {
    overflow: visible;
}


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

section.teams .teams-header :is(h1, h2, .h1, .h2) {
    margin-bottom: var(--small);
}

section.teams .teams-header p {
    max-width: 85ch;
}

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

section.teams .team {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--smallmedium);
    height: 100%;
}


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

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

section.teams .team .team-content {
    
}

section.teams .team .team-content > * {
    margin-bottom: 7.5px;
}


section.teams .team .team-content ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

section.teams .team .team-content ul li {
    list-style: none !important;
}

section.teams .team .team-content ul li a {
        display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    font-weight: 600;
    gap: 7.5px;
}

section.teams .team .team-content ul li a:before {
    content: attr(data-icon);
    font-family: 'Font Awesome 7 Pro';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    transition: all 0.3s;
    color: #BDBDBE;
}

section.teams .team .team-content ul li a span {
        text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 10px;
    text-decoration-color: #BDBDBE
}

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





/* Slick slider */

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

.slick-arrow {
   line-height: 1;
    width: 52.5px;
    height: 52.5px;
    transition: all 0.3s;
    font-size: 0;
    cursor: pointer;
    background: var(--btnbackground, #7DDDDB);
        color: var(--btncolor, #004151);
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slick-arrow.slick-prev {
    transform: scaleX(-1);
}

.slick-arrow.slick-disabled {
    background: #BDBDBE;
    pointer-events: none;
}

.slick-arrow:hover {
   
}

.slick-arrow:before {
        content: "";
    font-weight: 400;
    font-family: 'Font Awesome 7 Pro';
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: normal;
    line-height: 1;
    transition: all 0.3s;
    display: block;
    font-size: 16px;
}


.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(--mediumlarge)
}

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


.slick-dots li button {
    font-size: 0;
    height: 10px;
    width: 10px;
    display: inline-block;
    padding: 0;
    cursor: pointer;
    background: #F6F2EE;
}

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



/* Gravity Forms */

.gform_wrapper {
  

}

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

.gform_wrapper form {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--small);
}


.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(--small);
    align-items: start;
}

.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;

    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    align-items: start;
}

.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-grid-row .gf_clear,
.gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row .gform-grid-col.hour_minute_colon {
    display: none;
}

.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 {
    
}

.gform_wrapper form .gform_body .gform_fields .gfield .gfield_label .gfield_label.gfield_label_before_complex {
    font-weight: 600;
}

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

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-section {
    border-bottom: 2px solid #7DDDDB;
    padding-bottom: var(--extrasmall);
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container.ginput_container_fileupload {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container.ginput_container_fileupload .gform_drop_area {
        padding: var(--small);
    border: 2px dashed currentColor;
    text-align: center;
    display: grid;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container.ginput_container_fileupload .validation_message--hidden-on-empty,
.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container.ginput_container_fileupload .ginput_preview_list:empty {
    display: none;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container.ginput_container_fileupload .ginput_preview_list .ginput_preview{
       display: flex;
    flex-wrap: nowrap;
    gap: 10px;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield_error .ginput_container :is(input, textarea, select) {
    border-color: #e50201;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield_error .ginput_container :is(input, textarea, select)::placeholder,
.gform_wrapper form .gform_body .gform_fields .gfield .validation_message {
    color: #e50201;
}


@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;
    }
}


/* Footer*/

footer {
    position: relative;
    margin: 0;
}

footer .footer-main {
    padding: var(--extralarge) 0;
    background: #004151;
    color: #ffffff;
    background-image: url(images/pattern.svg);
    background-size: 180px;
}

footer .footer-main .subtitle {
    color: var(--btnbackground, #7DDDDB);
}

footer .footer-main .footer-contact ul {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-weight: 500;
}

footer .footer-main .footer-contact ul li a {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

footer .footer-main .footer-contact ul li a:before {
    content: attr(data-icon, '');
    font-family: 'Font Awesome 7 Pro';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    transition: all 0.3s;
     color: var(--btnbackground, #7DDDDB);
}

footer .footer-main .footer-contact ul li a span {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 10px;
    text-decoration-color: var(--btnbackground, #7DDDDB);
}

footer .footer-main .footer-menu ul {
    margin-bottom: 0;
       display: flex;
    flex-direction: column;
    gap: 10px;
    font-weight: 500;
}

footer .footer-main .footer-menu ul li a {
        display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 20px;
     transition: all 0.3s;
}


footer .footer-main .footer-menu ul li a:before {
    content: '';
    font-family: 'Font Awesome 7 Pro';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    transition: all 0.3s;
    color: var(--btnbackground, #7DDDDB);
}

footer .footer-main .footer-menu ul li a:hover:before {
    transform: translateX(5px)
}

footer .footer-main .footer-menu ul li a:hover,
footer .footer-main .footer-menu ul li.current-menu-item a {
   color: var(--btnbackground, #7DDDDB);
}

footer .footer-main .footer-copyrights {
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
    margin-bottom: 0;
}

footer .footer-copyright {
    padding: var(--small) 0 
}

footer .footer-copyright .footer-logo { 
        line-height: 0;
    display: block;
    max-width: 120px;
}

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

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




/* Social media */

.social-media {
    line-height: 1;
    margin-bottom: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: center;
    font-size: 24px;
}

.social-media li {
}


.social-media li a {
       line-height: 1;
    width: 52.5px;
    height: 52.5px;
    transition: all 0.3s;
    cursor: pointer;
    background: var(--btnbackground, #7DDDDB);
    color: var(--btncolor, #004151);
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: center;
}


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


.whatsapp {
    position: fixed;
    right: 0;
    bottom: var(--medium);
    background: #5DC857;
    color: #ffffff;
    width: 60px;
    height: 60px;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9;
}

.whatsapp:before {
    content: '';
    font-weight: normal;
    font-family: 'Font Awesome 7 Brands';
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* Responsive */

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

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

}

@media (max-width: 1200px) {
    :root  {
        --base: 10px;
        --container: 992px;
         
    }

   

}

@media (max-width: 992px) {

    
    :root  {
        --base: 7.5px;
        --container: 100%;
    }

    body {
        font-size: 15px;
        margin: 0
    }

    section {
        margin: var(--extralarge) 0;
    }

    section.section--background {
        padding: var(--extralarge) 0;
    }

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

    .h2,
    h2 {
        font-size: 28px;
            margin-bottom: var(--medium);
    }

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

    .subtitle {
        font-size: 18px;
    }

  

    .subtitle.subtitle--3 {
        font-size: 20px;
    }


    
    

    header nav.navigation .navigation-collapse {
       position: fixed;
        overflow-x: hidden;
        overflow-y: scroll;
        transition: all 0.3s ease-in-out;
        transform: translateY(-150%);
        z-index: -1;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: #F6F2EE;
        padding: var(--small);
        padding-top: calc(var(--headerheight) + var(--medium));
        flex-direction: column;
        gap: var(--extrasmall);
        justify-content: space-between;
    }

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


    header nav.navigation .navigation-collapse .navigation-menu,
    header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul {
        flex-direction: column;
        justify-content: start;
        align-items: stretch;
        gap: var(--medium);
    }

     header nav.navigation .navigation-collapse .navigation-menu > li > a,
     header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul li a {
                justify-content: space-between;
        font-size: 20px;
        font-weight: 600;
        padding: 0;
    }
	
    header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children {
        width: 100%;
        position: static;
    }


    header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > a > span.navigation-menu__submenu-toggle,
    header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > ul li a:after {
       
        width: 22.5px;
        height: 22.5px;
        font-size: 12px;
    }

    header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > a > span.navigation-menu__submenu-toggle {
        transform: rotate(-90deg);
    }


     header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > .navigation-submenu {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        min-width: 100%;
        margin-top: 0;
        border-radius: 0;
        background: #F6F2EE;
        padding: var(--small);
        padding-top: calc(var(--headerheight) + var(--medium));
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        pointer-events: none;
        transition: 0.3s all ease;
        box-shadow: none;
        overflow-y: auto;
        z-index: 3;
    }

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


    header nav.navigation .navigation-submenu__close {
        display: inline-flex;
        align-items: center;
        gap: 7.5px;
        padding: 0;
        border: 0;
        line-height: 1;
        font-size: 18px;
    }

    header nav.navigation .navigation-submenu__close:before {
        content: '';
        font-family: 'Font Awesome 7 Pro Sharp';
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        line-height: 1;
        font-size: 12px
    }

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

    header nav.navigation .navigation-actions {
        flex-direction: column;
        flex-wrap: wrap;
        align-items: stretch;
    }

    section.hero .hero-letters {
            gap: 7.5px;
    }

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

    section.intro .intro-content :is(h1, h2):first-of-type {
        padding-bottom: var(--medium);
    }

    section.intro .intro-image {
        margin-right: var(--small-negative);
        margin-left: var(--small-negative);
    }

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

    section.title .title-image {
        margin-left: var(--extralarge);
        margin-right: 0;
        margin-top: calc(var(--extralarge) * -1.25);
    }

    section.cards .cards-filters .cards-filters__controls {
        flex-direction: column;
    }
       

    section.cards .cards-filters .cards-filters__controls > select {
        width: auto;
    }

    section.cards .cards-filters .cards-filters__controls .price-filter :is(.price-filter__label, .price-filter__divider) {
        display: none;
    }

    section.cards .cards-filters .cards-filters__controls .price-filter .price-filter__slider {
        flex: 1 1 90px;
        min-width: 90px;
    }

    section.banner .banner-image {
        margin-left: 0;
        margin-top: 0;
    }

    section.banner .banner-content {
        padding: var(--large);
    }

    section.banner .banner-content:before {
        width: 100%;
        top: 0;
    }

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

    section.cards .card.card--vertical .card-image {
        aspect-ratio: 4 / 3;
        padding-bottom: unset;
        height: auto;
    }

    section.article .article-content.article-content--background,
    section.article .article-content.article-content--backgroundimage {
        padding: var(--large);
    }

    section.form .form-content {
        padding: var(--large);
    }

    .slick-arrow {
        width: 45px;
        height: 45px;
    }

    .accordion .accordion-item .accordion-toggler:after {
        width: 45px;
        height: 45px;
    }
   

}   


@keyframes navigationMegaPanelIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes Pulse {
    0% {
        box-shadow: 0 0 0 0px rgb(125 221 219 / 50%);
    }
    100% {
        box-shadow: 0 0 0 7.5px rgb(125 221 219 / 0%);
  }
}


@keyframes logo {
    0% {
        transform: rotate(0deg);
    }

    8.333%,
    50% {
        transform: rotate(180deg);
    }

    58.333%,
    100% {
        transform: rotate(0deg);
    }
}


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