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



:root  {
    --base: 15px;
    --massive: calc(var(--base) * 10);
    --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) * -10);
    --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: 1240px;
    --borderradius: 60px;
    --largefont: 18px;

    --background: #F8F7F6;
    --primary: #7139F2;
    --secondary: #8AFF6F;
    
    --headerheight: 84px;

}

@font-face {
    font-family: 'Asgard';
    src: url('fonts/Asgard-Fat.eot');
    src: url('fonts/Asgard-Fat.eot?#iefix') format('embedded-opentype'),
        url('fonts/Asgard-Fat.woff2') format('woff2'),
        url('fonts/Asgard-Fat.woff') format('woff'),
        url('fonts/Asgard-Fat.ttf') format('truetype'),
        url('fonts/Asgard-Fat.svg#Asgard-Fat') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

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

@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-Medium.eot');
    src: url('fonts/Manrope-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/Manrope-Medium.woff2') format('woff2'),
        url('fonts/Manrope-Medium.woff') format('woff'),
        url('fonts/Manrope-Medium.ttf') format('truetype'),
        url('fonts/Manrope-Medium.svg#Manrope-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
} 

@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-Bold.eot');
    src: url('fonts/Manrope-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/Manrope-Bold.woff2') format('woff2'),
        url('fonts/Manrope-Bold.woff') format('woff'),
        url('fonts/Manrope-Bold.ttf') format('truetype'),
        url('fonts/Manrope-Bold.svg#Manrope-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Mono';
    src: url('fonts/IBMPlexMono-Regular.eot');
    src: url('fonts/IBMPlexMono-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/IBMPlexMono-Regular.woff2') format('woff2'),
        url('fonts/IBMPlexMono-Regular.woff') format('woff'),
        url('fonts/IBMPlexMono-Regular.ttf') format('truetype'),
        url('fonts/IBMPlexMono-Regular.svg#IBMPlexMono-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 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;
}

@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 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: 'Manrope';
    src: url('fonts/Manrope-Light.eot');
    src: url('fonts/Manrope-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/Manrope-Light.woff2') format('woff2'),
        url('fonts/Manrope-Light.woff') format('woff'),
        url('fonts/Manrope-Light.ttf') format('truetype'),
        url('fonts/Manrope-Light.svg#Manrope-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-SemiBold.eot');
    src: url('fonts/Manrope-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('fonts/Manrope-SemiBold.woff2') format('woff2'),
        url('fonts/Manrope-SemiBold.woff') format('woff'),
        url('fonts/Manrope-SemiBold.ttf') format('truetype'),
        url('fonts/Manrope-SemiBold.svg#Manrope-SemiBold') format('svg');
    font-weight: 600;
    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 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';
    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';
    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-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(--small);
    margin-top: 0;
    line-height: 1;
    position: relative;
    display: block;
    font-weight: 900;
    text-wrap: balance;
    font-family: 'Asgard';
}

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

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

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

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

.h5,
h5 {
        font-family: 'Manrope';
    font-size: 20px;
    font-weight: 500;
     margin-bottom: var(--tiny);
}

.h6,
h6 {
        font-family: 'Manrope';
    font-size: 18px;
    font-weight: 500;
     margin-bottom: var(--tiny);
}

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


:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6).medium {
   font-size: clamp(36px, 5.1429vw, 72px);
    margin-bottom: var(--medium);
    line-height: 0.875;
    hyphens: auto;
}


html {
    margin-top: 0 !important;
}

body {
    font-size: 16px;
    font-weight: 400;
    font-family: 'Manrope';
    overflow-x: hidden;
    line-height: 1.75;
    color: #000000;
    background: #ffffff;
    margin: 0;
}

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

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: 500;
    margin-bottom: 7.5px;
    display: block;
}

blockquote {
        border-radius: 10px;
    background: #E2E0DA;
    margin: var(--medium) 0;
    padding: var(--smallmedium) var(--medium);
    padding-left: calc(var(--medium) + 45px);
}

blockquote:before {
        content: url(images/quote.svg);
    width: 30px;
    color: #7139F2;
    line-height: 0;
    position: absolute;
    left: var(--medium);
}

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"],
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: 17.5px 22.5px;
    border: 0;
    background-color: #ffffff;
    color: #000000;
    font-weight: 400;
    border-radius: 7.5px;

}

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

select {
    background-image: url(images/select.svg);
    background-position: calc(100% - 17.5px);
    background-size: 10px;
    background-repeat: no-repeat;
    font-weight: 500
}

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

::-webkit-input-placeholder {
    color: rgb(0 0 0 / 75%);
}

::-moz-placeholder {
    color: rgb(0 0 0 / 75%);
}

:-ms-input-placeholder {
    color: rgb(0 0 0 / 75%);
}

::-moz-selection {
    background-color: #7139F2;
    color: #ffffff;
}

::selection {
    background-color: #7139F2;
    color: #ffffff;
}

::-moz-selection {
    background-color: #7139F2;
    color: #ffffff;
}

/* :focus-visible {
    outline-color: #7139F2;
    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;
}

.btn {
    -webkit-appearance: none;
    padding: 15px 37.5px;
    transition: all 0.3s;
    position: relative;
    z-index: 1;
    background: transparent;
    border: 1px solid #000000;
    background: #ffffff;
    color: #ffffff;
    text-decoration: none;
    line-height: 1.375;
    text-align: left;
    cursor: pointer;
    font-weight: 500;
    
    border-radius: 7.5px;
    overflow: hidden;
    display: inline-flex;
    justify-content: center;
    white-space: nowrap;
}

.btn span {
	display: block;
	position: relative;
}

.btn > span {
	overflow: hidden;
}

.btn > span > span {
	overflow: hidden;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 15px;
    white-space: nowrap;
    justify-content: space-between;
}

.btn:hover > span > span {
	animation: MoveUpInitial 0.2s forwards, MoveUpEnd 0.2s forwards 0.2s;
}


.btn > span > span:after {
    content: attr(data-icon, '');
    font-family: 'Font Awesome 7 Pro Sharp';
    line-height: 1;
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.btn::before, 
.btn::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.btn::before {
	content: '';
	background: #7139F2;
	transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
	transform-origin: 100% 50%;
}

.btn:hover::before {
	transform: scale3d(0,1,1);
	transform-origin: 0% 50%;
}

.btn.btn--white {
    color: #000000;
    background: rgb(10 10 10 / 10%);
}

.btn.btn--white:before {
    background: #ffffff
}

.btn.btn--secondary {
    color: #000000;
}

.btn.btn--secondary:before {
    background: #8AFF6F;
}


:is(section, article)[class$='--background'] + :is(section, article)[class$='--background'] {
    padding-top: 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: #7139F2;
    display: block;
    transition: all 0.3s;
}

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

/* Label */

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

.label:before {
    content: '';
    background: #8AFF6F;
    width: 15px;
    height: 15px;
    animation: Pulse 2s infinite;
    border-radius: 3px;
}

/* CTA */

.cta {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    background: #7139F2;
    color: #ffffff;
    background-image: url(images/pattern.svg);
    border-radius: 10px;
    gap: var(--small);
    padding: var(--medium) var(--smallmedium);
    margin-top: var(--small);
}

.cta .cta-icon {

}

.cta .cta-icon .icon {
    margin-bottom: 0;
    margin-top: var(--extrasmall-negative);
}

.cta .cta-content {
     max-width: 60ch;
}

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

.cta .cta-buttons {
        line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
    align-self: end;
}




/* Loader */

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


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


.loading:after {
    content: '';
    width: 60px;
    height: 60px;
    border-width: 7.5px;
    border-style: solid;
    border-color: #8AFF6F;
    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;
}


/* Icon */


.icon {
    position: relative;
    width: 90px;
    margin-bottom: var(--small)
}

.icon.icon--medium {
    width: 105px;
}

.icon.icon--large {
    width: 120px;
}

.icon:before {
    content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 127.8585161 123.9380326"><path d="M39.3932146,11.7285294C47.917415,60.1294274,16.682815,71.386229,0,70.9644303c49.1314157,7.3747025,45.6723131,38.3885956,37.8013147,52.9736023,25.134201-38.3507004,58.2515984-19.5170059,71.6682014-5.3059998-25.2228012-42.3402023,1.75-51.4999008,18.3889999-50.7872009C92.8280138,52.59133,97.3245119,16.2593293,103.9515108,0c-25.4802933,45.4386277-53.6556969,26.7518296-64.5582962,11.7285294Z" fill="none"/></svg>');
    mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 127.8585161 123.9380326"><path d="M39.3932146,11.7285294C47.917415,60.1294274,16.682815,71.386229,0,70.9644303c49.1314157,7.3747025,45.6723131,38.3885956,37.8013147,52.9736023,25.134201-38.3507004,58.2515984-19.5170059,71.6682014-5.3059998-25.2228012-42.3402023,1.75-51.4999008,18.3889999-50.7872009C92.8280138,52.59133,97.3245119,16.2593293,103.9515108,0c-25.4802933,45.4386277-53.6556969,26.7518296-64.5582962,11.7285294Z"/></svg>');
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    width: 100%;
    display: inline-block;
    background: #8AFF6F;
    line-height: 1;
    transform-origin: center;
    transform-box: fill-box;
    will-change: transform, filter, background-color;
    transition: background-color .33s ease, filter .3s ease;
}

.icon:hover:before {
    animation: CrazyBlob 3.8s cubic-bezier(.37,0,.2,1) infinite;
}

.icon:after {
    content: attr(data-icon);
    font-family: 'Font Awesome 7 Pro Sharp';
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 32px;
    color: #000000;
    line-height: 1;
}

.icon[data-icon=""]:after {
        content: url('data:image/svg+xml;utf-8,<svg width="58" height="41" viewBox="0 0 58 41" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M34.6302 31.8408C32.4715 28.9626 30.9424 24.915 30.9424 20.1479C30.9424 15.4707 32.4715 11.4231 34.6302 8.54488C36.7889 5.75656 39.4873 4.31743 42.0957 4.31743C44.7941 4.31743 47.4925 5.75656 49.6512 8.54488C51.7199 11.2433 53.0691 14.931 53.249 19.2484C52.2596 18.0791 50.6406 17.2696 48.9316 17.2696C45.7835 17.2696 43.1751 19.878 43.1751 23.0262C43.1751 26.2642 45.7835 28.7827 48.9316 28.7827C50.011 28.7827 50.9104 28.6028 51.8099 28.0631C51.1803 29.5023 50.4607 30.7615 49.6512 31.8408C47.4925 34.6292 44.7941 35.9783 42.0957 35.9783C39.4873 35.9783 36.7889 34.6292 34.6302 31.8408ZM28.7838 9.89407C26.0854 4.04759 21.1384 2.74181e-05 15.4718 2.74181e-05C6.92692 2.74181e-05 0.00109386 9.08455 0.00109386 20.1479C0.00109386 31.3012 6.92692 40.2957 15.4718 40.2957C21.1384 40.2957 26.0854 36.3381 28.7838 30.4917C31.4821 36.3381 36.4291 40.2957 42.0957 40.2957C50.6406 40.2957 57.5664 31.3012 57.5664 20.1479C57.5664 9.08455 50.6406 2.74181e-05 42.0957 2.74181e-05C36.4291 2.74181e-05 31.4821 4.04759 28.7838 9.89407ZM25.006 28.5128C24.4664 29.7721 23.7468 30.8514 23.0272 31.8408C20.8685 34.6292 18.1701 35.9783 15.4718 35.9783C12.8633 35.9783 10.165 34.6292 8.00627 31.8408C5.84757 28.9626 4.31849 24.915 4.31849 20.1479C4.31849 15.4707 5.84757 11.4231 8.00627 8.54488C10.165 5.75656 12.8633 4.31743 15.4718 4.31743C18.1701 4.31743 20.8685 5.75656 23.0272 8.54488C24.9161 11.0634 26.2653 14.5712 26.6251 18.5289C25.6356 17.7194 24.3764 17.2696 23.0272 17.2696C19.8791 17.2696 17.2707 19.878 17.2707 23.0262C17.2707 26.2642 19.8791 28.7827 23.0272 28.7827C23.7468 28.7827 24.3764 28.6927 25.006 28.5128Z" fill="black"/></svg>');

}


.icon.icon--large:after {
    font-size: 48px;
}
    




/* Header */

header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    transition: 0.3s all;
    color: #ffffff;
}

header.header--secondary {
    color: #000000;
}


header.header--scrolled {
    background: #000000;
    margin-top: 0;
    text-shadow: unset;
}

header.header--secondary.header--scrolled { 
    background: #8AFF6F;
}

header.header--secondary:has(+ main section.intro.intro--primary) {
    color: #ffffff;
        background: #7139F2;
}


header.header--secondary:has(+ main section.intro.intro--default) {
       background: #F8F7F6;
}



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

header nav.navigation {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    margin: var(--extrasmall) 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);
}

header nav.navigation .navigation-logo svg {
    overflow: visible
}

header nav.navigation .navigation-logo svg * {
    fill: #8AFF6F
}

header.header--secondary:has(+ main section.intro.intro--primary) nav.navigation .navigation-logo svg * {
    fill: #ffffff
}

header.header--secondary nav.navigation .navigation-logo svg * {
    fill: #000000
}

header nav.navigation:has(.open) .navigation-logo svg * {
    fill: #8AFF6F
}
    
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;
    gap: var(--extrasmall);
    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;
    padding: 10px;
    border-radius: 10px;
    line-height: 1;
    white-space: nowrap;

    font-size: 17px;
}


header nav.navigation .navigation-collapse .navigation-menu > li > a:hover,
header nav.navigation .navigation-collapse .navigation-menu > li.current-menu-item > a {
    background: #ffffff;
    color: #000000;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children.active > a {
    background: #ffffff;
    color: #000000;
}

header nav.navigation .navigation-collapse .navigation-menu > li.menu-item-has-children > a > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

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

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

header nav.navigation .navigation-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    margin-top:7.5px;
    padding: 5px;
    border-radius: 10px;
    background: #ffffff;
        color: #000000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

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

header nav.navigation .navigation-submenu:before {
    content: '';
    position: absolute;
    top: -7.5px;
    left: 0;
    right: 0;
    height: 7.5px;
}

header nav.navigation .navigation-submenu ul {
    margin-bottom: 0;
    line-height: 1;
    display: flex;
    flex-direction: column;
    gap: 2.5px;
}


header nav.navigation .navigation-submenu ul li a {
    display: flex;
    flex-wrap: nowrap;
    gap: 7.5px;
    justify-content: space-between;
    padding: 10px 12.5px;
    border-radius: 10px;
    transition: all 0.3s;
}



header nav.navigation .navigation-submenu ul li a:hover,
header nav.navigation .navigation-submenu ul li a.active {
    background: #F8F7F6;
    color: #000000;
}

header nav.navigation .navigation-submenu 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: #7139F2;
     transition: all 0.3s;
     font-weight: normal;
}

header nav.navigation .navigation-submenu ul li a:hover:after,
header nav.navigation .navigation-submenu ul li a.active:after {
    transform: rotate(45deg);
}

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

/* Mega Menu */

header nav.navigation .navigation-submenu--mega {
    padding: var(--medium) var(--smallmedium);
    width: 100%;
}


header nav.navigation .navigation-submenu--mega .navigation-submenu__nav {
    padding-right: var(--smallmedium);
    border-right: 1px solid #E2E0DA;
}

header nav.navigation .navigation-submenu--mega .navigation-submenu__nav ul {
    gap: 10px;
}

header nav.navigation .navigation-submenu--mega .navigation-submenu__nav ul li a { 
    font-weight: bold;
    font-size: var(--largefont);
    padding: 15px 20px;
}

header nav.navigation .navigation-submenu--mega .navigation-submenu__panel {
    display: none;
     grid-template-columns: 1.25fr 1fr;
    gap: var(--smallmedium);
    align-items: start;
}

header nav.navigation .navigation-submenu--mega .navigation-submenu__panel.active {
    display: grid;
    animation: navigationMegaPanelIn 0.3s ease;
}

header nav.navigation .navigation-submenu--mega .navigation-submenu__image {
    position: relative;
    aspect-ratio: 1 / 0.9;
    overflow: hidden;
}

header nav.navigation .navigation-submenu--mega .navigation-submenu__image img {
   position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

/* Featured Menu */

header nav.navigation .navigation-submenu.navigation-submenu--featured {
    padding: var(--medium) var(--smallmedium);
    width: 100%;
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul {
    gap: var(--small);
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul li a {
    display: inline-flex;
    flex-direction: column;
    gap: 7.5px;
    padding: 15px 20px;
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul li a:after {
    content: unset;
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul li a strong {
    font-weight: bold;
    font-size: var(--largefont);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul li a strong:after {
    content: '';
    font-family: 'Font Awesome 7 Pro Sharp';
    line-height: 1;
    color: #7139F2;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: normal;
    transition: all 0.3s;
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul li a:hover strong:after {
     transform: rotate(45deg);
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul li a span {
  color: #707070;
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__feature {
    display: grid;
    gap: var(--small);
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__feature-image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

header nav.navigation .navigation-submenu--featured .navigation-submenu__feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all 0.3s;
}

/* Expertises Menu */

header nav.navigation .navigation-submenu.navigation-submenu--expertises {
    padding: var(--medium) var(--smallmedium);
    width: 100%;
}


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

header nav.navigation .navigation-toggler {
   position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    z-index: 1;
    display: none;
    color: #ffffff;
    background: #7139F2;
    padding: 10px;
    border-radius: 7.5px;
    aspect-ratio: 1 / 1;
    border: 1px solid #000000;
    max-width: 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;
} 


/* Hero */

section.hero {
    position: relative;
    padding: var(--extralarge) 0;
    background: #000000;
    color: #ffffff;
    border-radius: 0 0 var(--borderradius) var(--borderradius);
    overflow: hidden;
    padding-top: calc(var(--headerheight) + var(--extralarge))
}

section.hero .hero-image {
    position: relative;
    aspect-ratio: 1 / 1;
    display: block;
   z-index: 1;
}

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

section.hero .hero-image .hero-image__shape {
    position: absolute;
    top: var(--huge-negative);
    bottom: var(--extralarge-negative);
    left: var(--large);
    right: 0;
    pointer-events: none;
}

section.hero .hero-image .hero-image__shape span:before {
    content: url(images/shape.svg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: -1;
}

section.hero .hero-image .hero-image__shape span:after {
    content: url(images/shape.svg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 42.5%;
    width: 100%;
    z-index: -1;
} 

section.hero .hero-image .hero-image__shape:after {
    content: url(images/shape.svg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 85%;
    width: 100%;
}

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

section.hero .hero-content :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6).large {
    color: #8AFF6F;
}

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

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



/* Intro */

section.intro {
    position: relative;
     background: #F8F7F6;
    overflow: hidden;
    padding-top: var(--extrasmall);
    padding-top: calc(var(--headerheight) + var(--extrasmall))
}

section.intro.intro--primary {
    background: #7139F2;
    color: #ffffff;
}

section.intro.intro--secondary {
    background: #8AFF6F;
}

/* section.intro + article.article.article--background {
    padding-top: 0;
    margin-top: 0;
} */

section.intro.intro--primary + section.services::before {
    right: 0;
    left: 0;
}

section.intro .intro-content {
    position: relative;
    z-index: 1;
    padding: var(--huge) 0 var(--extralarge) 0;
}

section.intro:not(.intro--secondary):has(+ section.cards.cards--background) .intro-content {
    padding-bottom: 0
}

section.intro .intro-content.intro-content--center {
    text-align: center;
    max-width: 75ch;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}

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

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

section.intro .intro-label {
        position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    border-left: 1px solid #000000;
    padding-left: var(--small);

}

section.intro .intro-label span:nth-child(1) {

}

section.intro .intro-label span:nth-child(2) {
    font-size: var(--largefont);
    font-weight: 500;
}


section.intro .intro-image {
    position: relative;
    aspect-ratio: 3 / 1.25;
    aspect-ratio: 2 / 1;
    display: block;
   z-index: 1;
}

section.intro .intro-image:before {
        content: '';
    position: absolute;
    top: var(--huge);
    left: 50%;
    width: 100vw;
    bottom: 0;
    background: #ffffff;
    transform: translateX(-50%);
    pointer-events: none;
}

section.intro:has(+ [class$='--background']) .intro-image:before {
    background: #F8F7F6;
}

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


/* cards */

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

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

section.cards.cards--background + section.banners.banners--background {
    padding-top: 0
}

section.cards .cards-filters {
    margin-bottom: var(--smallmedium);
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px var(--medium);
    font-size: var(--largefont);
    justify-content: center;
        max-width: 75ch;
    margin-left: auto;
    margin-right: auto;
}


section.cards .cards-filters label {
    position: relative;
   transition: all 0.3s;
   cursor: pointer;
   font-weight: normal;
   margin-bottom: 0
}

section.cards .cards-filters label:hover {
    color: #7139F2;
}

section.cards .cards-filters label:has(input:checked) {
    color: #7139F2;
        text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 7.5px;
}

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

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


section.cards .card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #F8F7F6;
    border-radius: 10px;
    overflow: hidden;
    z-index: 2;
    padding: var(--small);
    gap: var(--small) 0;
}

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

section.cards .card.card--vertical {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: var(--smallmedium);
}

section.cards .card.card--medium {
    padding: var(--medium);
}

section.cards .card .card-image {
    display: block;
    position: relative;
    padding-bottom: 75%;
    overflow: hidden;
    height: 100%;
    border-radius: 10px;
}

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

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-content {
   
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

section.cards .card.card--vertical .card-content {
     padding: var(--large);
    padding-left: calc(var(--large) - 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;
    font-family: "IBM Plex Mono";
    text-transform: uppercase;
    font-size: 10px;
    line-height: 1;
    padding: 5px 10px;
}

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

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

/* 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;
    border-radius: 10px;
    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(--medium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
}


/* Article */

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

article.article.article--narrow {
    margin: var(--large) 0;
}

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



article.article .article-wrapper {
    position: relative;
    background: #F8F7F6;
    border-radius: 10px;
    z-index: 1;
}

article.article.article--background .article-wrapper {
     background: #ffffff;
}

article.article .article-wrapper.article-wrapper--black {
    background: #000000;
    color: #ffffff;
}

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

article.article .article-content.article-content--marginbottom {
    margin-bottom: var(--small)
}

article.article .article-wrapper .article-content {
    padding: var(--large);
   
}

article.article:not(:has(.article-wrapper)) .article-content > p:first-of-type {
    font-size: var(--largefont);
    font-weight: 500;
    opacity: 0.7;
}

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

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

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

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

article.article .article-image {
    display: block;
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 10px;
}

article.article .article-image.article-image--doublesquare {
    aspect-ratio: 2 / 1;
}

article.article .article-wrapper .article-image {
    aspect-ratio: unset;
    padding-bottom: 75%;
    height: 100%;
}


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

article.article .article-image[data-fancybox]:hover img {
    transform: scale(1.1)
}



/* Brands */

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

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

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

section.brands .brand {
   display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    line-height: 0;
    aspect-ratio: 16 / 9;
        position: relative;
       
} 

section.brands .brand img {
       position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transition: all 0.3s;
     filter: grayscale(1)
}

section.brands .brand:hover img {
    filter: grayscale(0)
}


/* Reviews */

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

section.reviews .reviews-header {
       margin-bottom: var(--large);
    text-align: center;
    max-width: 75ch;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}

section.reviews .reviews-header .icon {
    margin-left: auto;
    margin-right: auto;
}


section.reviews .reviews-header .reviews-header__buttons {
   margin-top: var(--medium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
    justify-content: center;
}

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



section.reviews .review {
       position: relative;
    border-radius: 10px;
    background: #E2E0DA;
    padding: var(--medium);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--smallmedium);
}



section.reviews .review .review-content {

}

section.reviews .review .review-content blockquote {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    margin: 0;
    padding-left: calc(var(--medium) + 22.5px);
}


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


section.reviews .review .review-person {
    display: grid;
    grid-template-columns: 105px 1fr;
    align-items: center;
    gap: var(--smallmedium);
}

section.reviews .review .review-person .review-person__image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
}

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

section.reviews .review .review-person .review-person__content {
  
}

section.reviews .review .review-person .review-person__content :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    color: #7139F2;
}



section.reviews .reviews-footer {
    margin-top: var(--mediumlarge);
}


/* expertises */

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

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

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

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

.expertises-header .expertises-header__buttons {
   margin-top: var(--small);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
    justify-content: center;
}

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

.expertise {
    position: relative;
    z-index: 1;
    transition: all 0.3s;
    background: #000000;
    color: #ffffff;
    padding: var(--smallmedium) var(--mediumlarge);
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    /* gap: var(--extrasmall); */
    overflow: hidden;
    height: 100%
}

[class*='col-']:nth-child(3n+2) > .expertise .icon:before {
    background: #FB6001; 
}

[class*='col-']:nth-child(3n+3) > .expertise .icon:before {
    background: #25E9DF;
}

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

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

.expertise .expertise-footer {
    margin-top: var(--medium);
    line-height: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 7.5px;
    align-items: stretch;
}


/* Projects */

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

section.projects.projects--background {
    background: #F8F7F6;
    margin: 0;
    padding: var(--huge) 0 var(--extralarge) 0;
}
/* 

section.projects.projects--background:before {
   content: '';
    position: absolute;
    background-color: transparent;
    top: var(--huge-negative);
    height: calc(var(--borderradius) * 2);
    width: var(--borderradius);
    border-top-left-radius: var(--borderradius);
    box-shadow: 0 calc(var(--borderradius) * -1) 0 0 #F8F7F6;
    z-index: -1;
    pointer-events: none;
}

section.projects.projects--background:after {
   content: '';
    position: absolute;
    background-color: transparent;
    top: var(--huge-negative);
    right: 0;
    height: calc(var(--borderradius) * 2);
    width: var(--borderradius);
    border-top-left-radius: var(--borderradius);
    box-shadow: 0 calc(var(--borderradius) * -1) 0 0 #F8F7F6;
    z-index: -1;
    transform: scaleX(-1);
    pointer-events: none;
}  */


section.projects .projects-header {
       margin-bottom: var(--large);
    text-align: center;
    max-width: 75ch;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}

section.projects .projects-header .icon {
    margin-left: auto;
    margin-right: auto;
}


section.projects .projects-header .projects-header__buttons {
   margin-top: var(--medium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
    justify-content: center;
}

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

section.projects .project {
    position: relative;
    z-index: 1;
    transition: all 0.3s;
    background: #F8F7F6;
    
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    gap: var(--extrasmall);
    overflow: hidden;
    height: 100%
}

section.projects.projects--background .project {
     background: #ffffff;
}

section.projects .project .project-image {
    position: relative;
    padding-bottom: 100%;
    height: 100%;
    display: block;
}

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

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


/* section.projects .project .project-content :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    margin-bottom: auto;
} */

section.projects .project .project-content p:first-of-type {
    margin-top: auto;
}
section.projects .project .project-content p:last-of-type {
    margin-bottom: 0
}

section.projects .project .project-content .project-content__buttons {
   margin-top: var(--medium);
    line-height: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 7.5px;
    align-items: stretch;
}

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

section.projects .projects-footer {
    margin-top: var(--mediumlarge);
}


/* Images */

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

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

section.images .images-header {
    position: relative;
    margin-bottom: var(--large);
}

section.images .images-header.images-header--center {
    text-align: center;
    max-width: 66ch;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}

section.images .images-header.images-header--center .icon {
    margin-left: auto;
    margin-right: auto;
}

section.images .images-header .images-header__buttons {
    margin-top: var(--medium);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
    justify-content: center;
}

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

section.images  .slick-track {
    display: flex;
    align-items: center;
}

section.images .image {
    display: block;
    position: relative;
    aspect-ratio: 5 / 6;
    overflow: hidden;
    border-radius: 10px;
    width: clamp(280px, calc(600px * (100vw / 1200px)), 600px);
    margin: 0 var(--small);
    background-color: #F8F7F6;
}

section.images .image.image--landscape {
    aspect-ratio: 3 / 2;
    width: clamp(240px, calc(510px * (100vw / 1200px)), 510px);
}

section.images .image.image--portrait {
    width: clamp(220px, calc(390px * (100vw / 1200px)), 390px);
}

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

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



/* Images */

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

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

section.carousels .carousel {
    display: block;
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 10px;
    background-color: #F8F7F6;
}


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

section.carousels .carousel:hover img {
    transform: scale(1.1)
}

section.carousels .carousels-footer {
    margin-top: var(--mediumlarge);
}

/* contact */

section.contact {
    padding: var(--extralarge) 0;
    margin: 0;
    position: relative;
    overflow: hidden;
        background: #F8F7F6;
}

section.contact .contact-form {
    position: relative;
    height: 100%;
}

section.contact .contact-form:before {
    content: '';
    position: absolute;
    top: var(--extralarge-negative);
    right: calc(var(--gutters-x) * -0.5);
    bottom: var(--extralarge-negative);
    width: 50vw;
    background: #E2E0DA;
    z-index: 0;
    border-top-left-radius: var(--borderradius);
    pointer-events: none;
}

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

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


/* services */

section.services {
    padding: var(--extralarge) 0;
    margin: 0;
    position: relative;
    color: #ffffff;
    background: #F8F7F6
}

section.services:before {
    content: '';
    position: absolute;
    top: 0;
    right: var(--large);
    bottom: 0;
    left: var(--large);
    background: #7139F2;
    background-image: url(images/pattern.svg);
    pointer-events: none;
    /* border-radius: 10px; */
    z-index: 1;
}


section.services:has(+ article.article .article-wrapper):before {
    bottom: var(--huge-negative);
}

section.services + article.article:has(.article-wrapper) {
    padding-top: 0;
    margin-top: 0;
}

section.services + section.banners {
        padding-top: 0;
    margin-top: 0;
}




section.services .services-header {
    margin-bottom: var(--large);
        position: relative;
    z-index: 1;
}

section.services .services-header .services-header__buttons {
   margin-top: var(--small);
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 7.5px;
    justify-content: center;
}

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

section.services .service {
    position: relative;
    z-index: 1;
    transition: all 0.3s;
    background: #F8F7F6;
    color: #000000;
    padding: var(--mediumlarge);
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    height: 100%
}

section.services .service .service-content {
       flex: 1 1 auto;
}

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

section.services .service .service-footer {
    margin-top: var(--medium);
    line-height: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 7.5px;
    align-items: stretch;
}

/* Teams */

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

section.teams .teams-header {
    /* position: relative;
    margin-bottom: var(--large); */

        position: sticky;
    top: var(--medium);
}

section.teams .teams-header .teams-header__buttons {
       margin-top: var(--medium);
    line-height: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 7.5px;
    align-items: stretch;
}

section.teams [class*='col-']:nth-child(4n + 1) > .team {
    margin-right: var(--small-negative);
}

section.teams [class*='col-']:nth-child(4n + 2) {
    align-self: flex-end;
}

section.teams [class*='col-']:nth-child(4n + 2) > .team {
    margin-left: var(--small);
}

section.teams [class*='col-']:nth-child(4n + 3) > .team {
    margin-right: var(--small);
}

section.teams [class*='col-']:nth-child(4n) > .team {
    margin-left: var(--small-negative);
}

section.teams .team {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--tiny);
}



section.teams .team .team-image {
    display: block;
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 10px;
}

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:hover .team-image img {
    transform: scale(1.1)
}

section.teams .team .team-content {
   position: relative;
   padding: var(--smallmedium);
   border-radius: 10px;
   background: #E2E0DA;
   transition: all 0.3s;
}


section.teams .team:hover .team-content {
    background: #7139F2;
    color: #ffffff;
}

section.teams .team .team-content :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    color: #7139F2;
}

section.teams .team:hover .team-content :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    color: #ffffff;
}

section.teams .team:hover .team-content .read-more:after {
    color: #ffffff;
}


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



/* Popup */

.popup {
    position: fixed;
    right: var(--extrasmall);
    bottom: var(--extrasmall);
       
    display: grid;
    grid-template-columns: 1fr 1.75fr;
    align-items: center;
    overflow: hidden;
    background: #7139F2;
     background-image: url(images/pattern.svg);
    color: #ffffff;
    border-radius: 10px;
    max-width: 360px;
    padding: 7.5px;
    transition: all 0.3s;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(100%);
}

.popup.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}



.popup .popup-image {
    position: relative;
    display: block;
    height: 100%;
    padding-bottom: 75%;
    overflow: hidden;
    border-radius: 10px;
}

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

.popup .popup-content {
    padding: var(--extrasmall) var(--small);
}

.popup .popup-content p {
    margin-bottom: 7.5px
}

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

.popup .popup-close:after {
       content: "";
    font-family: 'Font Awesome 7 Pro Sharp';
    font-weight: 400;
    position: absolute;
    right: var(--extrasmall);
    top: var(--extrasmall);
    transition: all 0.3s;
    line-height: 1;
}


/* breadcrumb */

.breadcrumb {

}

.breadcrumb span {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
     opacity: 0.4;
}

.breadcrumb span span.breadcrumb_last {
   opacity: 1;
}


/* Slick slider */

.slick-list {
    overflow: visible;
}


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

.slick-arrow {
   line-height: 1;
    width: 60px;
    height: 60px;
    transition: all 0.3s;
    font-size: 0;
    cursor: pointer;
    background: #8AFF6F;
    color: #000000;
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.25px solid #000000;
        border-radius: 7.5px;
}

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

.slick-arrow:hover {
    background: #7139F2;
    color: #ffffff;
}

.slick-arrow:before {
    content: attr(data-icon, '');
    font-family: "Font Awesome 7 Pro Sharp";
     -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 900;
    line-height: 1;
    transition: all 0.3s;
    display: block;
    font-size: 16px;
}

.slick-arrow.slick-disabled {
    pointer-events: none;
    opacity: 0.5;
}



/* Gravity Forms */

.gform_wrapper {
    margin-top: var(--medium);

}

.gform_wrapper form {
    position: relative;
}


.gform_wrapper form .gform_body {


}

.gform_wrapper form .gform_body {

}

.gform_wrapper form .gform_body .gform_fields,
.gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: var(--tiny-negative);
    margin-left: var(--tiny-negative);
}

.gform_wrapper form .gform_body .gform_fields .gfield,
.gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row .gform-grid-col {
    padding: 0;
    margin: 0;
    border: 0;
    position: relative;
    width: 100%;
    padding-right: var(--tiny);
    padding-left: var(--tiny);
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: var(--tiny);
}


.gform_wrapper form .gform_body .gform_fields .gfield:last-child,
.gform_wrapper form .gform_body .gform_fields .gfield:has(.gform-grid-row) {
    margin-bottom: 0;
}

.gform_wrapper form .gform_body .gform_page_fields .gform_fields .gfield {
    border-bottom: 1px solid #E4E4E4;
    padding-bottom: 15px;
}

.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--width-half,
.gform_wrapper form .gform_body .gform_fields .gfield .gform-grid-row .gform-grid-col:is(.ginput_left, .ginput_right) {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-three-quarter {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-quarter {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-third {
    -ms-flex: 0 0 33.3333%;
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-two-thirds {
    -ms-flex: 0 0 66.6666%;
    flex: 0 0 66.6666%;
    max-width: 66.6666%;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-seven-twelfths {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--width-five-twelfths {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
}


.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-html {
    margin-top: var(--small)
}


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



.gform_wrapper form .gform_body .gform_fields .gfield.hidden_label > :is(label, legend) {
    display: none;
}

.gform_wrapper form .gform_body .gform_fields .gfield :is(label, legend) + .gfield_description {
    font-size: 14px;
    margin-bottom: 7.5px;
}

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


.gform_wrapper form .gform_body .gform_fields .gfield .gfield_validation_message:not(.validation_message--hidden-on-empty) {
    background: #ffe5e6;
    color: #E72B37;
    border-left: 3px solid #E72B37;
    padding: 7.5px 10px;
    line-height: 1.25;
    display: inline-block;
    font-size: 14px;
    margin-top: 7.5px;
}



.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container {
    position: relative;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container.ginput_container_textarea {
    line-height: 1;
}


.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container .instruction {
    font-size: 14px;
    margin-top: 7.5px;
}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-section) *:last-child {
    margin-bottom: 0;
}

.gform_wrapper form .gform_body .gform_fields .gfield label {

}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container{

}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container :is(.gfield_radio, .gfield_checkbox) {

}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container :is(.gfield_radio, .gfield_checkbox) .gchoice {
        display: inline-block;
    margin-right: 7.5px;
    margin-bottom: 7.5px;
}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container :is(.gfield_radio, .gfield_checkbox) .gchoice 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;
}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container :is(.gfield_radio, .gfield_checkbox) .gchoice label {
    margin-bottom: 0;
    padding: 12.5px 20px;
    
    border: 1.5px solid #e6e5e5;
    border-radius: 50px;
    line-height: 1;
     -webkit-transition: all 0.3s;
    transition: all 0.3s;
    cursor: pointer;
        position: relative;
}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images)#field_5_28 .ginput_container :is(.gfield_radio, .gfield_checkbox) .gchoice label {
    padding-left: 47.5px;
}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container :is(.gfield_radio, .gfield_checkbox) .gchoice label:before {
        display: inline-block;
    width: 25px;
    line-height: 0;
    position: absolute;
    left: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}


.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container :is(.gfield_radio, .gfield_checkbox) .gchoice label:hover {
    border-color: #000000;
}

.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container :is(.gfield_radio, .gfield_checkbox) .gchoice label:active {
    transform: scale(0.925);
}


.gform_wrapper form .gform_body .gform_fields .gfield:is(.gfield--type-radio, .gfield--type-checkbox):not(.gfield--type-images) .ginput_container :is(.gfield_radio, .gfield_checkbox) .gchoice input:checked + label {
    border-color: #000000;
    box-shadow: 0 0 0 0.5px #000000 inset;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent {

}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent 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;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent label {
    position: relative;
    font-weight: normal;
    cursor: pointer;
    margin-bottom: 0;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent label:before{
    content: '';
    width: 15px;
    height: 15px;
    display: inline-block;
    margin-right: 7.5px;
    background: #ffffff;
    border: 1.5px solid #000000;
    vertical-align: middle;
    vertical-align: -2px;
     border-radius: 50%;
}


.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent input:checked + label:before{
    background: #000000;
    box-shadow: 0 0 0 2px #ffffff inset;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-images :is(.gfield_radio, .gfield_checkbox) {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -7.5px;
    margin-left: -7.5px;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-images :is(.gfield_radio, .gfield_checkbox) .gchoice {
    padding: 0;
    margin: 0;
    border: 0;
    position: relative;
    width: 100%;
    padding-right: 7.5px;
    padding-left: 7.5px;
    -ms-flex: 0 0 33.333%;
    flex: 0 0 33.333%;
    max-width: 33.333%;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-images :is(.gfield_radio, .gfield_checkbox) .gchoice 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;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-images :is(.gfield_radio, .gfield_checkbox) .gchoice label {
    position: relative;
    font-weight: normal;
    cursor: pointer;
    margin-bottom: 0;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-images :is(.gfield_radio, .gfield_checkbox) .gchoice label img {
    border: 2px solid #e6e5e5;
    margin-bottom: 7.5px;
}

.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-images :is(.gfield_radio, .gfield_checkbox) .gchoice input:checked + label img{
    border-color: #b4a677;
}


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


.gform_wrapper form .gform_body .gform_page_footer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
/*     border-top: 1px solid #E4E4E4; */
    margin-top: 30px;
}

.gform_wrapper form .gform_body .gform_page_footer .button {
    border-radius: 0;
}

.gform_wrapper form .gform_body .gform_page_footer .gform_next_button {
    margin-left: auto;
    background: #b4a677;
}

.gform_wrapper form .gform_body .gform_page_footer button[type="submit"] {
    margin-left: auto;
}





.gform_confirmation_message {
       background: #8AFF6F;
    color: #000000;
    padding: var(--tiny) var(--extrasmall);
    display: inline-block;
    border-radius: 7.5px;
    line-height: 1.5;
}

@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:is(.ginput_left, .ginput_right) {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

}


/* Footer*/

footer {
    position: relative;
    padding: var(--extralarge) 0;
    margin: 0;
    overflow: hidden;
}

footer .footer-left {
    position: relative;
    color: #ffffff;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

footer .footer-left:before {
    content: '';
    position: absolute;
    top: var(--extralarge-negative);
    right: calc(var(--gutters-x) * -0.5);
    bottom: var(--extralarge-negative);
    width: 50vw;
    background: #7139F2;
    background-image: url(images/pattern.svg);
    z-index: -1;
    pointer-events: none;
}

footer .footer-left .footer-title {
    margin-bottom: 0;
}

footer .footer-left .footer-spacer {
    margin-top: var(--huge);
    margin-bottom: var(--huge);
}
    
footer .footer-left .footer-logo{
    max-width: 90px;
}

footer .footer-left .footer-icon {
    margin-bottom: var(--extrasmall);
}
 


footer .footer-right {
    height: 100%;
    display: flex;
    flex-direction: column;
        gap: var(--small);
}

footer .footer-right .footer-right__top {
  
}

footer .footer-right .footer-right__bottom {
    margin-top: auto;
}

footer .footer-right .footer-spacer {
    margin-top: var(--huge);
    margin-bottom: var(--huge);
}

footer .footer-right .footer-menu p {
    color: #727272;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

footer .footer-right .footer-menu ul {
    margin-bottom: 0;
    font-size: var(--largefont);
    font-weight: 500;
    line-height: 2;
}

footer .footer-right .footer-menu ul li a {
    transition: all 0.3s;
}

footer .footer-right .footer-menu ul li.current-menu-item a,
footer .footer-right .footer-menu ul li a:hover {
    color: #7139F2
}

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

footer .footer-right .footer-copyrights li:not(:last-child):after {
    content: '•';
    margin-left: 7.5px;
}


/* Social media */

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

.social-media li {
}


.social-media li a {
   
}


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



/* 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;
         
    }

    .btn {
        padding: 15px 30px;
    }

    header nav.navigation .navigation-logo {
        margin-right: 0
    }
   

}

@media (max-width: 992px) {

    
    :root  {
        --base: 7.5px;
        --container: 100%;
        --borderradius: 30px;
        --huge: calc(var(--base) * 6);
        --largefont: 16px;
    }

    body {
        font-size: 15px;
    }

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

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

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

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

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

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


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

    

    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: #000000;
        color: #ffffff;
        padding: var(--small);
        padding-top: calc(var(--headerheight) + var(--small));
        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 {
        flex-direction: column;
        font-size: 18px;
                align-items: stretch;
    }



    header nav.navigation .navigation-submenu:is(.navigation-submenu--mega, .navigation-submenu--featured, .navigation-submenu--expertises) {
         position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        min-width: 100%;
        margin-top: 0;
        background: #000000;
        padding: var(--small);
        padding-top: var(--headerheight);
        color: #ffffff;
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        pointer-events: none;
        transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
        box-shadow: none;
        display: block;
        overflow-y: auto;
        z-index: 3;
    }


    header nav.navigation .navigation-collapse .navigation-menu > li > a {
        justify-content: space-between;
        padding: 15px;
                background: rgb(255 255 255 / 10%);
    }
	
    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 {
        padding: 15px;
        margin: -15px;
    }

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

    header nav.navigation .navigation-submenu {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        min-width: 100%;
        margin-top: 0;
        padding: var(--small);
        padding-top: var(--headerheight);
        border-radius: 0;
        background: #000000;
        color: #ffffff;
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        pointer-events: none;
        transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
        box-shadow: none;
        display: block;
        overflow-y: auto;
        z-index: 3;
    }

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

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

    header nav.navigation .navigation-submenu ul,
    header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul {
        gap: 10px;
    }

    header nav.navigation .navigation-submenu ul li a,
    header nav.navigation .navigation-submenu--mega .navigation-submenu__nav ul li a,
    header nav.navigation .navigation-submenu--featured .navigation-submenu__list ul li a {
        padding: 15px 20px;
        font-weight: normal;
        background: rgb(255 255 255 / 10%);
        display: flex;
    }

    header nav.navigation .navigation-submenu__close {
        display: inline-flex;
        align-items: center;
        gap: 7.5px;
        margin-bottom: var(--medium);
        padding: 0;
        border: 0;
        color: #8AFF6F;
        font-weight: bold;
        line-height: 1;
        font-size: 16px;
    }

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

    header nav.navigation .navigation-submenu--mega .navigation-submenu__nav {
        padding-right: 0;
        border-right: 0;
    }

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

    header nav.navigation .navigation-submenu--expertises .expertise {
        background: #ffffff;
        color:#000000;
    }

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

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

    section.hero {
        padding-bottom: var(--medium);
        padding-top: calc(var(--headerheight) + var(--small));
    }

    section.hero .hero-image {
        transform: rotate(90deg);
    }

    section.hero .hero-image :is(img, video) {
            transform: rotate(-90deg);
    }

    section.hero .hero-image .hero-image__shape {
        left: calc(var(--large-negative) * 2);
    }
    

   
    section.hero .hero-image .hero-image__shape:after,
    section.hero .hero-image .hero-image__shape span:before,
    section.hero .hero-image .hero-image__shape span:after {
         transform: translateY(-160%);
        top: 50%;
    }

    article.article:not(:has(.article-wrapper)) .article-content > p:first-of-type {
        font-size: 16px; 
    }

    section.teams .team {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    section.cards .cards-filters {
        gap: 7.5px var(--small);
    }

    section.cards .card {
        padding: var(--smallmedium);
            gap: var(--smallmedium) 0;
    }
    
    section.cards .card.card--vertical {
        grid-template-columns: 1fr;
    }

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

    section.cards .card.card--vertical .card-content {
            padding: 0;
    padding-left: 0;
    }

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

    section.services:before {
        left: 0;
        right: 0;
    }

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

    section.contact .contact-form:before {
       right: var(--small-negative);
        bottom: 0;
        left: var(--small-negative);
        width: auto;
    }


    


    footer .footer-left {
        padding-bottom: var(--extralarge);
    }

    footer .footer-left:before {
            right: var(--small-negative);
        bottom: 0;
        left: var(--small-negative);
        width: auto;
    }

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


@keyframes MoveUpInitial {
	to {
		transform: translate3d(0,-105%,0);
        color: #000000
	}
}

@keyframes MoveUpEnd {
	from {
		transform: translate3d(0,100%,0);
	}
	to {
		transform: translate3d(0,0,0);
        
	}
}

@keyframes CrazyBlob {
    0% {
        transform: translate3d(0,0,0) rotate(0deg) scaleX(1) scaleY(1) skewX(0deg) skewY(0deg);
    }
    12% {
        transform: translate3d(6px,-4px,0) rotate(-8deg) scaleX(.82) scaleY(1.22) skewX(-10deg) skewY(2deg);
    }
    24% {
        transform: translate3d(-5px,3px,0) rotate(11deg) scaleX(1.18) scaleY(.84) skewX(8deg) skewY(-6deg);
    }
    37% {
        transform: translate3d(4px,7px,0) rotate(-14deg) scaleX(.76) scaleY(1.28) skewX(-12deg) skewY(5deg);
    }
    51% {
        transform: translate3d(-7px,-2px,0) rotate(9deg) scaleX(1.24) scaleY(.8) skewX(11deg) skewY(-4deg);
    }
    66% {
        transform: translate3d(5px,-6px,0) rotate(-10deg) scaleX(.88) scaleY(1.18) skewX(-7deg) skewY(6deg);
    }
    81% {
        transform: translate3d(-4px,5px,0) rotate(7deg) scaleX(1.14) scaleY(.9) skewX(6deg) skewY(-5deg);
    }
    100% {
        transform: translate3d(0,0,0) rotate(0deg) scaleX(1) scaleY(1) skewX(0deg) skewY(0deg);
    }
}

@keyframes Pulse {
    0% {
        box-shadow: 0 0 0 0px rgb(138 255 111 / 50%);
    }
    100% {
        box-shadow: 0 0 0 7.5px rgb(138 255 111 / 0%);
  }
}


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




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