
:root {
    --primColor: hsl(216, 47%, 40%, 1);
    --primColorHSL: 216,47%,40%;
    --secColor: hsl(11, 96%, 62%, 1);
    --secColorHSL: 11,96%,62%;
    --terColor: hsl(44, 100%, 50%, 1);
    --terColorHSL: 44,100%,50%;
    --quartColor: hsl(92, 58%, 26%, 1);
    --quartColorHSL: 92,58%,26%;
    --quintColor: hsl(0, 0%, 100%, 1);
    --quintColorHSL: 0,0%,100%;
    --blackColor: hsl(0, 0%, 0%, 1);
    --blackColorHSL: 0,0%,0%;
    --whiteColor: hsl(0, 0%, 100%, 1);
    --whiteColorHSL: 0,0%,100%;
    --none: transparent;
    --topBarHeight: 90px;
    --borderRadius: 10px;
    --rootFontSize: 18px;
    --mp: 12px;
    --mw: 28px;
    --mt: 3px;
    --cardPictureBG: transparent;
    --menuTextColor: var(--blackColor);
    --menuToggleColor: var(--blackColor);
    --menuHoverColor: var(--terColor);
    --stdPageMarginConf: 10vw;
    --fontColor: var(--blackColor);
    --fontColorHead: var(--blackColor);
    --fontWeight: 400;
    --fontWeightHead: 400;
    --fontFamilyHead: 'Arial';
    --fontFamily: 'Arial';
    --linkTextColor: var(--terColor);
    --linkTextHoverColor: var(--secColor);
    --buttonMarginRight: auto;
    --buttonMarginLeft: auto;
    --buttonMarginTop: 0;
    --buttonPaddingTop: 8px;
    --buttonPaddingRight: 16px;
    --buttonPaddingBottom: 8px;
    --buttonPaddingLeft: 16px;
}
@media (max-width: 767px) {
    :root {
        --rootFontSize: 16px;
    }
}
    * {
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

::selection {
    background: var(--blackColor);
    color: var(--whiteColor);
}

.hide {
    display: none !important;
}

body {
    overflow-x: hidden;
    height: 100vh;
    min-height: 100vh;
    font-size: var(--rootFontSize);
    font-family: var(--fontFamily);
    font-weight: var(--fontWeight);
    line-height: 1.4;
    color: var(--fontColor);
    -webkit-font-smoothing: antialiased;
}

body.noscroll {
    overflow-y: hidden;
}

footer {
    position: relative;
}

main {
    margin-top: calc(var(--topBarHeight) + var(--extraOffset));
}

img,
picture,
video,
canvas,
svg {
    display: block;
}

picture {
    max-width: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

picture,
picture > img.imgContent {
    z-index: 5;
    position: relative;
}

.pageContent {
    z-index: 10;
    position: relative;
}

.pageContent > :last-child {
    margin-bottom: 0;
}

.pageContent.background {
    border-radius: var(--borderRadius);
    position: relative;
    z-index: initial;
}

.primColorBG { background: var(--primColor) !important; }
.secColorBG { background: var(--secColor) !important; }
.terColorBG { background: var(--terColor) !important; }
.quartColorBG { background: var(--quartColor) !important; }
.quintColorBG { background: var(--quintColor) !important; }
.blackColorBG { background: var(--blackColor) !important; }
.whiteColorBG { background: var(--whiteColor) !important; }
.noBG { background: transparent !important; }


.lg_block {
    position: relative;
    padding: var(--baseSpacing);
}

.lg_std_margin {
    --ptf: 1;
    --prf: 1;
    --pbf: 1;
    --plf: 1;
    padding: calc(var(--ptf) * var(--stdElGap)) calc(var(--prf) * var(--stdPageMargin)) calc(var(--pbf) * var(--stdElGap)) calc(var(--plf) * var(--stdPageMargin));
}

.lg_std_d_margin { padding: var(--stdElGap) calc(2 * var(--stdPageMargin)); }
.lg_std_footer_margin { padding: var(--stdElGap) var(--stdPageMargin); }
.lg_std_notice_margin { padding: 10px 0; }
.lg_std_R_margin {
    margin: calc(-1 * var(--stdElGap)) var(--stdPageMargin) var(--stdElGap);
    border-top: calc(var(--topBarHeight) + var(--stdElGap)) solid transparent;
    background-clip: padding-box;
}

.lg_basicButton {
    display: block;
    max-width: fit-content;
    background: var(--secColor);
    color: var(--terColor);
    border: 2px solid var(--secColor);
    --buttonMarginRight: auto;
    --buttonMarginLeft: auto;
    --buttonMarginTop: 0;
    margin: 0 var(--buttonMarginRight) 0 var(--buttonMarginLeft);
    --buttonPaddingTop: 8px;
    --buttonPaddingRight: 16px;
    --buttonPaddingBottom: 8px;
    --buttonPaddingLeft: 16px;
    padding:
        var(--buttonPaddingTop)
        var(--buttonPaddingRight)
        var(--buttonPaddingBottom)
        var(--buttonPaddingLeft);
    border-radius: var(--borderRadius);
    cursor: pointer;
    transition: 0.25s;
    text-decoration: none;
}

.lg_basicButton:hover {
    background: var(--terColor);
    color: var(--secColor);
}

.lg_regular_content > .pageContent,
.content_width > picture {
    width: min(70ch, 100%);
    margin: auto;
}

.lg_regular_content.left > .pageContent { margin: 0 auto 0 0; }
.lg_regular_content.center > .pageContent { margin: 0 auto 0 auto; }
.lg_regular_content.right > .pageContent { margin: 0 0 0 auto; }

.lg_full_width_image > picture > img {
    width: 100%;
    height: auto;
    border-radius: var(--borderRadius);
}

.block a {
    color: var(--fontColor);
    text-decoration: none;
}


.pageContent a {
    text-decoration: none;
    border-bottom: 1px solid var(--terColor);
    color: var(--linkTextColor, inherit);
    position: relative;
    font-weight: var(--linkTextFontWeight, inherit);
    transition: all 0.3s;
}
.pageContent a:hover {
    color: var(--linkTextHoverColor, inherit);
}
.pageContent a::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    transition: all 0.3s;
}

aside.do_notice p {
    font-size: 0.9rem;
    text-align: center;
    margin: 10px var(--stdPageMargin);
}
aside.do_notice p a {
    border-bottom: 1px solid lightgray; 
    color: var(--fontColor);
    text-decoration: none;
}


.pageContent * + p,
.pageContent * + h1,
.pageContent * + h2,
.pageContent * + h3,
.pageContent * + h4,
.pageContent * + h5,
.pageContent * + h6,
.pageContent * + ol,
.pageContent * + ul {
    margin: 1rem 0 0 0;
}
.pageContent p + h1, 
.pageContent p + h2, 
.pageContent p + h3, 
.pageContent p + h4, 
.pageContent p + h5, 
.pageContent p + h6 {
    margin: 2rem 0 0 0;
}
h1, h2, h3, h4, h5, h6 {
    color: var(--fontColorHead);
    font-weight: var(--fontWeightHead);
    font-family: var(--fontFamilyHead);
}

h1 {
    font-size: 2.0rem;
}

h1.small_medium {
    font-size: 2.2rem;
}

h1.medium {
    font-size: 2.4rem;
}

h1.medium_large {
    font-size: 2.8rem;
}

h1.large {
    font-size: 3.0rem;
}

h1.extra_large {
    font-size: 4.0rem;
}

@media (min-width: 768px) {
    h1.small_medium {
        font-size: 2.5rem;
        line-height: 2.5rem;
    }

    h1.medium {
        font-size: 3.0rem;
        line-height: 3.0rem;
    }

    h1.medium_large {
        font-size: 3.5rem;
        line-height: 3.5rem;
    }

    h1.large {
        font-size: 4.0rem;
        line-height: 4.0rem;
    }

    h1.extra_large {
        font-size: 6.0rem;
        line-height: 6.0rem;
    }
}

@media (min-width: 1200px) {
    h1.small_medium {
        font-size: 3.0rem;
        line-height: 3.0rem;
    }

    h1.medium {
        font-size: 4.0rem;
        line-height: 4.0rem;
    }

    h1.medium_large {
        font-size: 5.0rem;
        line-height: 5.0rem;
    }

    h1.large {
        font-size: 6.0rem;
        line-height: 6.0rem;
    }

    h1.extra_large {
        font-size: 8.0rem;
        line-height: 8.0rem;
    }
}

h2 {
    font-size: 1.6rem;
}

h3 {
    font-size: 1.4rem;
}

h4 {
    font-size: 1.2rem;
}

h5 {
    font-size: 1.15rem;
}

h6 {
    font-size: 1.1rem;
}

li {
    color: var(--fontColor);
    margin: 0 0 calc(var(--rootFontSize) / 3.33) 0;
    margin-left: calc(var(--rootFontSize) * 1.33);
}

input, button, textarea, select {
  font: inherit;
}
button {
    font-family: var(--fontFamily);
  }

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}


p {
  text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}
th, td {
    padding: 4px 8px;
  }

  #topNotice {
    background: var(--terColor);
    color: white;
    position: fixed;
    top: 0;
    width: 100vw;
    text-align: center;
    font-size: 0.9rem;
    padding: 4px;
    box-sizing: border-box;
    z-index: 46;
    min-height: calc(var(--extraOffset) - 4px);
    display: grid;
    place-items: center;
  }body {
    --baseSpacing: 16px;

    --bp_t_f: 1; --bp_r_f: 1; --bp_b_f: 1; --bp_l_f: 1;
    --blockGap: var(--baseSpacing);
    --blockGridAlign: normal;
    --blockMinHeight: 0px;
    
    --pp_t_f: 0; --pp_r_f: 0; --pp_b_f: 0; --pp_l_f: 0;
    --partPadding: var(--baseSpacing);
    --partGap: var(--baseSpacing);
    --partGapFactor768: 1.5;
    --partGapFactor1200: 2;
    --partGapFactor1500: 2.2;
    
    --justify-content: initial;
    --shadow: none;

    --columnsPictureBorderRadius: var(--borderRadius);
    --columnsPictureObjectPosition: 50% 50%;
    --columnsPictureMarginRight: auto;
    --columnsPictureMarginLeft: auto;
    --columnsPictureObjectFit: cover;
    --columnsPictureHeight: 1000%;
    --columnsPictureFilter: none;
    --columnsPictureWidth: 100%;
    --borderRadiusParts: 0px;

    
    --stdElGap: 24px;
    --stdColGap: 12px;

    --stdPageMarginConf: 8vw;
    --stdPageMargin: 16px;

    --buttonPaddingTop: 8px;
    --buttonPaddingRight: 20px;
    --buttonPaddingBottom: 8px;
    --buttonPaddingLeft: 20px;
}

@media (min-width: 500px) {
    body {
        --stdColGap: 24px;
    }
}
@media (min-width: 768px) {
    body {
        --stdPageMargin: max(1.8vw, calc(0.5 * var(--stdPageMarginConf)));
        --stdColGap: 36px;
        --stdElGap: 36px;
    }
}
@media (min-width: 992px) {
    body {
        --stdPageMargin: calc(1 * var(--stdPageMarginConf));;
    }
}
@media (min-width: 1200px) {
    body {
        --stdPageMargin: calc(1.4 * var(--stdPageMarginConf));
        --stdColGap: 48px;
        --stdElGap: 48px;
    }
}
@media (min-width: 1400px) {
    body {
        --stdPageMargin: calc(1.6 * var(--stdPageMarginConf));
    }
}
@media (min-width: 1600px) {
    body {
        --stdPageMargin: calc(1.8 * var(--stdPageMarginConf));
    }
}
@media (min-width: 1800px) {
    body {
        --stdPageMargin: max(calc((100vw - 1400px) / 2), calc(2 * var(--stdPageMarginConf)));
    }
}




.block {
    position: relative;
    
    --extraPaddingTop: 0px;
    --extraPaddingBottom: 0px;
    
    
    box-sizing: border-box;
    min-height: var(--blockMinHeight);
    align-items: var(--blockGridAlign);
    
    overflow-x: hidden;
    overflow-y: hidden;
}



.block #lg_pageBlocks .block {
    padding-right: 0 !important;
    padding-left: 0 !important;
}


body {
    
    --transitionHeight_top: 0px;
    --transitionHeight_bottom: 0px;
    
    --transitionBackgroundColor: transparent;
    --breakpointMultiplier: 1;
    --blockSettings_transitionPaddingMultiplier_top: 1;
    --blockSettings_transitionPaddingMultiplier_bottom: 1;
    --transitionFillColor: white;
    --partBorder: none;
}

.block.withTransitionSvg_top {
    --extraPaddingTop: calc(var(--transitionHeight_top) * 100vw);
}
.block.withTransitionSvg_bottom {
    --extraPaddingBottom: calc(var(--transitionHeight_bottom) * 100vw);
}
.block.withTransitionFixed_bottom {
    --extraPaddingBottom: var(--transitionHeight_bottom);
}
.block.withTransitionFixed_top {
    --extraPaddingTop: var(--transitionHeight_top);
}

.transition {
    position: absolute;
    width: 100%;
    background-color: var(--transitionBackgroundColor);
}
.transition.top {
    top: -1px;
}
.transition.bottom {
    bottom: -1px;
}
.transition svg {
    fill: var(--transitionFillColor);
}
body {
    --breakpointMultiplier_top: 0.33;
    --breakpointMultiplier_bottom: 0.33;
}
@media (min-width: 500px) {
    body {
        --breakpointMultiplier_top: 0.67;
        --breakpointMultiplier_bottom: 0.67;
    }
}
@media (min-width: 1000px) {
    body {
        --breakpointMultiplier_top: 1;
        --breakpointMultiplier_bottom: 1;
    }
}
@media (min-width: 1500px) {
    body {
        --breakpointMultiplier_top: 1.33;
        --breakpointMultiplier_bottom: 1.33;
    }
}
@media (min-width: 2000px) {
    body {
        --breakpointMultiplier_top: 1.67;
        --breakpointMultiplier_bottom: 1.67;
    }
}
@media (min-width: 2500px) {
    body {
        --breakpointMultiplier_top: 2;
        --breakpointMultiplier_bottom: 2;
    }
}
@media (min-width: 3000px) {
    body {
        --breakpointMultiplier_top: 2.33;
        --breakpointMultiplier_bottom: 2.33;
    }
}


.part {
    padding: 
        calc(var(--pp_t_f) * var(--partPadding)) 
        calc(var(--pp_r_f) * var(--partPadding)) 
        calc(var(--pp_b_f) * var(--partPadding)) 
        calc(var(--pp_l_f) * var(--partPadding));
    position: relative;
    display: flex;
    gap: var(--partGap);
    flex-direction: column;
    justify-content: var(--justify-content);
    border-radius: var(--borderRadiusParts);
    box-sizing: border-box;
    z-index: 5;
    box-shadow: var(--shadow);
    max-width: 100%;
    border: var(--partBorder);
}
.part .background {
    border-radius: var(--backgroundBorderRadius, var(--borderRadiusParts));
}
.part > form {
    display: flex;
    gap: var(--partGap);
    flex-direction: column;
}


@media (max-width: 768px) {
    .part {
        padding-right: calc(min(4, var(--pp_r_f)) * var(--partPadding));
        padding-left: calc(min(4, var(--pp_l_f)) * var(--partPadding));
    }
}
@media (max-width: 501px) {
    .part {
        padding-right: calc(min(1, var(--pp_r_f)) * var(--partPadding));
        padding-left: calc(min(1, var(--pp_l_f)) * var(--partPadding));
    }
}


.block {
    display: grid;
    grid-template-columns: repeat(6, 1fr) !important;
    
    column-gap: var(--blockGap);
    padding: 
        calc(var(--bp_t_f) * 1 * var(--blockGap) + var(--extraPaddingTop)) 
        calc(var(--bp_r_f) * var(--stdPageMargin)) 
        calc(var(--bp_b_f) * 1 * var(--blockGap) + var(--extraPaddingBottom)) 
        calc(var(--bp_l_f) * var(--stdPageMargin));
    
    --rowGapSmall: 48px;
    row-gap: var(--rowGapSmall);
}

@media (min-width: 768px) {
    .block {
        grid-template-columns: repeat(12, 1fr) !important;
        --rowGapFactor: 1;
        column-gap: calc(1.5 * var(--blockGap));
        row-gap: calc(1.5 * var(--rowGapFactor) * var(--blockGap));
        padding: 
            calc(var(--bp_t_f) * 1.5 * var(--blockGap) + var(--extraPaddingTop)) 
            calc(var(--bp_r_f) * var(--stdPageMargin)) 
            calc(var(--bp_b_f) * 1.5 * var(--blockGap) + var(--extraPaddingBottom)) 
            calc(var(--bp_l_f) * var(--stdPageMargin));
    }
    .part {
        gap: calc(var(--partGapFactor768) * var(--partGap));
    }
}
@media (min-width: 1200px) {
    .block {
        grid-template-columns: repeat(18, 1fr) !important;
        --rowGapFactor: 1;
        column-gap: calc(2 * var(--blockGap));
        row-gap: calc(2 * var(--rowGapFactor) * var(--blockGap));
        padding: 
            calc(var(--bp_t_f) * 2 * var(--blockGap) + var(--extraPaddingTop)) 
            calc(var(--bp_r_f) * var(--stdPageMargin)) 
            calc(var(--bp_b_f) * 2 * var(--blockGap) + var(--extraPaddingBottom)) 
            calc(var(--bp_l_f) * var(--stdPageMargin));
    }
    .part {
        gap: calc(var(--partGapFactor1200) * var(--partGap));
    }
}
@media (min-width: 1200px) and (max-width: 1499px) {
    .block.fourColumns {
        grid-template-columns: repeat(16, 1fr) !important;
    }
}
@media (min-width: 1500px) {
    .block {
        grid-template-columns: repeat(24, 1fr) !important;
        --rowGapFactor: 1;
        column-gap: calc(2.2 * var(--blockGap));
        row-gap: calc(2.2 * var(--rowGapFactor) * var(--blockGap));
    }
    .part {
        gap: calc(var(--partGapFactor1500) * var(--partGap));
    }
}



.feature.block .part {
    grid-area: span 1 / span 6;
    --justify-content: center;
}


@media (max-width: 768px) {
    .feature.block.tekstOverAfbeelding {
        row-gap: 0;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(1) {
        z-index: 7;
        margin-right: 36px;
        margin-bottom: 24px;
    }
    
    .feature.block.tekstOverAfbeelding .part:nth-of-type(2) {
        margin-top: -64px;
        margin-left: 36px;
    }

    
}


@media (min-width: 1000px) {

    .feature.block .part {
        
        grid-row-start: 1;
        grid-row-end: 2;
        grid-column: span 6;
    }
    .feature.block.reverse .part:nth-of-type(2) {
        order: -1;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(2) picture {
        height: 1px;
        min-height: 100%;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(2) picture img {
        height: 100%;
        object-fit: cover;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(1) {
        z-index: 7;
        margin-top: 6%;
        margin-bottom: 6%;
    }

    .feature.block.tekstOverAfbeelding .part:nth-of-type(2) {
        grid-column-start: 7;
        grid-column-end: 13;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(1) {
        grid-column-start: 1;
        grid-column-end: 9;
    }
    .feature.block.reverse.tekstOverAfbeelding .part:nth-of-type(2) {
        grid-column-start: 1;
        grid-column-end: 7;
    }
    .feature.block.reverse.tekstOverAfbeelding .part:nth-of-type(1) {
        grid-column-start: 5;
        grid-column-end: 13;
    }
}

@media (min-width: 1200px) {
    .feature.block .part {
        
        grid-row-start: 1;
        grid-row-end: 2;
        grid-column: span 9;
    }
    .feature.block.reverse .part:nth-of-type(2) {
        order: -1;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(1) {
        z-index: 7;
        margin-top: 6%;
        margin-bottom: 6%;
    }

    .feature.block.tekstOverAfbeelding .part:nth-of-type(2) {
        grid-column-start: 10;
        grid-column-end: 19;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(1) {
        grid-column-start: 1;
        grid-column-end: 12;
    }
    .feature.block.reverse.tekstOverAfbeelding .part:nth-of-type(2) {
        grid-column-start: 1;
        grid-column-end: 10;
    }
    .feature.block.reverse.tekstOverAfbeelding .part:nth-of-type(1) {
        grid-column-start: 8;
        grid-column-end: 19;
    }
}
@media (min-width: 1500px) {
    .feature.block .part {
        grid-column: span 12;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(1) {
        grid-column-start: 1;
        grid-column-end: 15;
    }
    .feature.block.tekstOverAfbeelding .part:nth-of-type(2) {
        grid-column-start: 13;
        grid-column-end: 25;
    }
    .feature.block.reverse.tekstOverAfbeelding .part:nth-of-type(1) {
        grid-column-start: 11;
        grid-column-end: 25;
    }
    .feature.block.reverse.tekstOverAfbeelding .part:nth-of-type(2) {
        grid-column-start: 1;
        grid-column-end: 13;
    }
}


.columns.block .part {
    grid-area: span 1 / span 6;
}

.block .part picture {
    width: var(--columnsPictureWidth);
    max-height: var(--columnsPictureHeight);
    margin: 0 var(--columnsPictureMarginRight) 0 var(--columnsPictureMarginLeft);
    position: relative;
    --columnsPictureFilterHover: var(--columnsPictureFilter);
}

.block .part picture[data-label]:not([data-label=""]):not([data-label="undefined"])::after {
    content: attr(data-label);
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 6;
    color: white;
    padding: 0px 8px;
    background: #9999998f;
    left: 0;
    text-align: right;
    font-size: 1.4rem;
    line-height: 2;
}

.block { 
    --imgAspectRatio: initial; 
    --columnsPictureFilterHover: var(--columnsPictureFilter);
}

.block .part picture, .block .part .wrapper picture { aspect-ratio: var(--imgAspectRatio); }

.block.oneToOne { --imgAspectRatio: 1; }
.block.oneToTwo { --imgAspectRatio: 0.5; }
.block.twoToOne { --imgAspectRatio: 2; }
.block.threeToFour { --imgAspectRatio: 0.75; }
.block.fourToThree { --imgAspectRatio: 1.33; }

.block.circular .part picture img {
    border-radius: 100%;
}

.block .background picture img,
.block .part picture img {
    height: 100%;
    object-fit: var(--columnsPictureObjectFit);
    object-position: var(--columnsPictureObjectPosition);
    box-sizing: border-box;
    width: 100%;
    
}

.block.original .part picture {
    height: min(var(--columnsPictureHeight), 100%);
    display: flex;
    width: var(--columnsPictureWidth);
    margin: auto;
    --imgAspectRatio: 0;
}
.block.original .part picture img {
    
    margin: auto;
    position: relative;
}



.simple.block .part {
    grid-area: span 1 / span 6;
}
@media (min-width: 768px) {
    .simple.block .part {
        grid-area: span 1 / span 12;
    }
}
@media (min-width: 1200px) {
    
    .simple.block .part {
        grid-area: span 1 / span 18;
    }
}
@media (min-width: 1500px) {
    
    .simple.block .part {
        grid-area: span 1 / span 24;
    }
}

.block.sixColumns .part {
    grid-area: span 1 / span 3;
}

@media (min-width: 500px) {
    .block.sixColumns .part {
        grid-area: span 1 / span 2;
    }
}

@media (min-width: 1200px) {
    .block.sixColumns .part {
        grid-area: span 1 / span 3;
    }
}

@media (min-width: 1500px) {
    .block.sixColumns .part {
        grid-area: span 1 / span 4;
    }
}



@media (min-width: 768px) {
    .block.sixColumns.heroGallery .part:nth-of-type(1) {
        grid-area: span 1 / span 12;
    }
}
@media (min-width: 1200px) {
    .block.sixColumns.heroGallery .part:nth-of-type(1) {
        grid-area: span 4 / span 12;
    }
}
@media (min-width: 1500px) {
    .block.sixColumns.heroGallery .part:nth-of-type(1) {
        grid-area: span 3 / span 12;
    }
}


.block.fourColumns .part {
    grid-area: span 1 / span 6;
}
@media (min-width: 500px) {
    .block.fourColumns .part {
        grid-area: span 1 / span 3;
    }
}
@media (min-width: 768px) {
    .block.fourColumns .part {
        grid-area: span 1 / span 3;
    }
}
@media (min-width: 1200px) {
    .block.fourColumns .part {
        grid-area: span 1 / span 4;
    }
}
@media (min-width: 1500px) {
    .block.fourColumns .part {
        grid-area: span 1 / span 6;
    }
}


.block.threeColumns .part {
    grid-area: span 1 / span 6;
}
@media (min-width: 768px) {
    .block.threeColumns .part {
        grid-area: span 1 / span 4;
    }
}
@media (min-width: 1200px) {
    .block.threeColumns .part {
        grid-area: span 1 / span 6;
    }
}

@media (min-width: 1500px) {
    .block.threeColumns .part {
        grid-area: span 1 / span 8;
    }
}


@media (min-width: 1200px) {
    .columns.block.asymmetrical .part:nth-of-type(1), 
    .columns.block.asymmetrical .part:nth-of-type(5) {
        grid-area: span 2 / span 12;
    }
    
    .columns.block.asymmetrical_reverse .part:nth-of-type(2), 
    .columns.block.asymmetrical_reserve .part:nth-of-type(4) {
        grid-area: span 2 / span 12;
    }
}
@media (min-width: 1500px) {
    .columns.block.asymmetrical .part:nth-of-type(1), 
    .columns.block.asymmetrical .part:nth-of-type(5) {
        grid-area: span 2 / span 16;
    }
    
    .columns.block.asymmetrical_reverse .part:nth-of-type(2), 
    .columns.block.asymmetrical_reserve .part:nth-of-type(4) {
        grid-area: span 2 / span 16;
    }
}

.block.twoColumns .part {
    
    
    --grid-column: span 6;
    grid-column: var(--grid-column);
}
@media (min-width: 768px) {
    .block.twoColumns .part.smaller {
        --grid-column: span 4;
    }
    .block.twoColumns .part.larger {
        --grid-column: span 8;
    }
}
@media (min-width: 1200px) {
    .block.twoColumns .part {
        
        
        --grid-column: span 9;
    }
    .block.twoColumns .part.smaller {
        --grid-column: span 6;
    }
    .block.twoColumns .part.larger {
        --grid-column: span 12;
    }
}
@media (min-width: 1500px) {
    .block.twoColumns .part {
        
        --grid-column: span 12;
    }
    .block.twoColumns .part.smaller {
        --grid-column: span 8;
    }
    .block.twoColumns .part.larger {
        --grid-column: span 16;
    }
}



@media (min-width: 768px) {
    .block.oneColumn .part {
        grid-area: span 1 / span 12;
    }
}
@media (min-width: 1200px) {
    .block.oneColumn .part {
        grid-area: span 1 / span 18;
    }
}
@media (min-width: 1500px) {
    .block.oneColumn .part {
        grid-area: span 1 / span 24;
    }
}

@media (min-width: 768px) {
    .block.oneColumn_small .part {
        grid-column: 2 / 12;;
    }
}
@media (min-width: 1200px) {
    .block.oneColumn_small .part {
        grid-column: 4 / 16;
    }
}
@media (min-width: 1500px) {
    .block.oneColumn_small .part {
        grid-column: 5 / 21;
    }
}


@media (min-width: 768px) {}
@media (min-width: 1200px) {}
@media (min-width: 1500px) {}

img { opacity: 1; }
.image_loading { opacity: 0; }

img {
    border-radius: var(--columnsPictureBorderRadius);
    filter: var(--columnsPictureFilter);
    transition: all 0.3s;
}

img:hover {
    filter: var(--columnsPictureFilterHover);
}

.block {
    --backgroundClippath: none;
}

.background {
    clip-path: var(--backgroundClippath);
    z-index: -2;
}
.background,
.background .backgroundPicture,
.block .part picture.backgroundPicture {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: -2;
    border-radius: var(--backgroundBorderRadius, var(--borderRadiusParts));
}
.backgroundPicture .imgBackground {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: var(--backgroundBorderRadius, var(--borderRadiusParts));
}
.block .part picture.backgroundPicture {
    height: 100%;
    width: 100%;
}
.block .part picture.backgroundPicture img {
    border-radius: var(--backgroundBorderRadius, var(--borderRadiusParts));
}


.form.block .part {
    grid-area: span 1 / span 6;
}
@media (min-width: 768px) {
    .form.block .part {
        grid-area: span 1 / span 12;
    }
}
@media (min-width: 1200px) {
    .form.block .part {
        grid-area: span 1 / span 9;
    }
}
@media (min-width: 1500px) {
    .form.block .part {
        grid-area: span 1 / span 12;
    }
}

.form.block form {
    position: relative;
}
@media (min-width: 1000px) {
.form.block form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: var(--stdColGap);
}
.form.block form .fullWidth {
    grid-column: 1/3;
}
}
form.opsturen::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    filter: blur(2px);
    position: absolute;
    z-index: 50;
    top: 0;
    left: 0;
}

a.button {
    box-sizing: border-box;
}

.block label {
    color: var(--fontColor);
    display: block;
    margin-bottom: 4px;
}

.block input, .block textarea {
    display: block;
    padding: 8px 16px;
    width: 100%;
    box-sizing: border-box; 
    border-radius: var(--borderRadius);
    background: var(--whiteColor);
    color: var(--blackColor);
    border: 1px solid hsla(var(--blackColorHSL), 0.2);
    margin-bottom: calc(var(--stdElGap) / 2);
    font-size: 1.2rem;
}

.block input[type="radio"],
.block input[type="checkbox"] {
    margin-bottom: 0;
    display: inline-block;
    width: unset;
    margin-right: 12px;
}

.block textarea {
    height: 160px;
}

hr {
    margin: 24px;
}



.pageContent {
    padding: 
        calc( var(--cp_t_f, 0) * var(--partPadding) )
        calc( var(--cp_r_f, 0) * var(--partPadding) )
        calc( var(--cp_b_f, 0) * var(--partPadding) )
        calc( var(--cp_l_f, 0) * var(--partPadding) );
}


.wrapper {
    z-index: 5;
    padding: 
        calc( var(--wp_t_f, 0) * var(--partPadding) )
        calc( var(--wp_r_f, 0) * var(--partPadding) )
        calc( var(--wp_b_f, 0) * var(--partPadding) )
        calc( var(--wp_l_f, 0) * var(--partPadding) );
    position: relative;
}
.wrapper.twoWrappedButtons a.button {
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.wrapper.twoWrappedButtons {
    display: flex;
    justify-content: center;
    gap: 16px;
}

.wrapper.twoWrappedTextContainers {
    gap: 32px;display: grid;
    grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
    .wrapper.twoWrappedTextContainers {
        grid-template-columns: 1fr;
    }
    .wrapper.twoWrappedTextContainers > div:nth-child(1)::after {
        position: absolute;
        content: '';
        height: 2px;
        width: 100%;
        bottom: -16px;
        left: 0;
        background-color: var(--blackColor);
    }
    .wrapper.twoWrappedTextContainers.noLine > div:nth-child(1)::after {
        display: none;
    }
}
@media (min-width: 769px) {
    .wrapper.twoWrappedTextContainers::after {
        position: absolute;
        content: '';
        width: 2px; height: 100%;
        top: 0%; left: calc(50% - 1px);
        background-color: var(--blackColor);
    }
    .wrapper.twoWrappedTextContainers.noLine::after {
        display: none;
    }
}

.wrapper.steps {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
}
.steps .pageContent:nth-child(odd) {
    height: 48px;
  background: var(--secColor);
  --fontColor: white;
  margin: auto 0;
    display: grid;
    place-content: center;
}

.steps.numbersTop .pageContent:nth-child(odd) {
    margin: 0;
}

.steps.numbersRound .pageContent:nth-child(odd) {
    border-radius: 100%;
}

.steps.noLine::after {
    display: none;
}

.steps::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    left: 23px;
    background: var(--secColor);
}


.checklist ul {position: relative;} .checklist li {list-style-type: none; margin-left: 30px;}

.checklist li::before {content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20enable-background=%22new%200%200%2024%2024%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20width=%2224%22%3E%3Cg%3E%3Cpath%20d=%22M0,0h24v24H0V0z%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%3E%3Cpath%20d=%22M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10c5.52,0,10-4.48,10-10S17.52,2,12,2z%20M16.95,10.23l-5.66,5.66%20c-0.39,0.39-1.02,0.39-1.41,0l-2.83-2.83c-0.39-0.39-0.39-1.02,0-1.41c0.39-0.39,1.02-0.39,1.41,0l2.12,2.12l4.95-4.95%20c0.39-0.39,1.02-0.39,1.41,0C17.34,9.21,17.34,9.84,16.95,10.23z%22/%3E%3C/g%3E%3C/svg%3E');left: 0;position: absolute; fill: var(--fontColor);}

.twoWrappedImages_spaceBetween {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.block .part .twoWrappedImages_spaceBetween picture {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.block {
    --buttonMarginRight: auto;
    --buttonMarginLeft: auto;
    --buttonMarginTop: 0;
}

.button {
    margin:
        var(--buttonMarginTop)
        var(--buttonMarginRight)
        0
        var(--buttonMarginLeft);
    border-radius: var(--borderRadius);
    color: var(--whiteColor);
    display: inline-block;
    transition: all 0.3s;
    position: relative;
    padding:
        var(--buttonPaddingTop)
        var(--buttonPaddingRight)
        var(--buttonPaddingBottom)
        var(--buttonPaddingLeft);
    background: unset;
    cursor: pointer;
    border: unset;
    text-decoration: none;
}
.button::before {
    top: 0; right: 0; bottom: 0; left: 0;
    transition: all 0.3s;
    position: absolute;
    content: ''; 
    z-index: -1;
}
.button::before {
    border-style: solid;
    border-width: 2px;
    border-color: var(--blackColor);
    background-color: var(--blackColor);
    border-radius: var(--borderRadius);
}




.background, .transition {
    pointer-events: none;
}




.overlayTextTop::after {
    content: attr(data-overlay-text);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 6;
    color: white;
    padding: 4px 16px;
    background: #0000008a;
    font-size: 1rem;
    border-radius: var(--columnsPictureBorderRadius);
    text-align: center;
}

.vector svg {
    margin: 0 auto;
}




.hide {
    display: none !important;
}
.modal {
    background-color: #4b4b4b98;
    position: fixed;
    height: 100vh;
    width: 100vw;
    z-index: 100;
    display: grid;
    place-items: center;
    top: 0;
    left: 0;
}
.modalInner {
    border-radius: var(--borderRadius);
    background-color: #FFF;
    padding: 48px;
    width: clamp(300px, 768px, calc(90vw - 96px ));
    max-width: calc(100vw - 96px);
    height: clamp(400px, 500px, 90vh);
    max-height: 100vh;
    position: relative;
    overflow-y: scroll;
    z-index: 1;
}
@media (max-width: 768px) {
    .modalInner {
        padding: 24px;
        max-width: calc(100vw - 48px);
    }
}
.modalInner .modalContent {
    display: flex;
    flex-direction: column;
    gap: var(--partGap);
}
.closeModal {
    position: absolute;
    top: 0;
    right: 0;
    padding: 16px;
    cursor: pointer;
    text-transform: none;
    appearance: none;
    -webkit-appearance: none;
    border-style: none;
    background-color: transparent;
    text-decoration: underline;
    font-weight: 700;
    color: var(--fontColor);
}

summary h1, summary h2, summary h3, summary h4, summary h5, summary h6, summary p {
    display: inline;
    cursor: pointer;
}
    body {
        --productsAspectRatio: 133%;
    }
    #cartWrapper {
        display: grid;
        grid-template-columns: 100vw 100vw 100vw;
        position: relative;
        overflow: hidden;
    }
    #cartWrapper > div {
        position: absolute;
        transition: 0.5s;
        width: calc(100vw - 2 * var(--stdPageMargin));
    }
    #cartWrapper > div.cart {
        top: 0; left: 0;
    }
    #cartWrapper > div.checkout_details {
        top: 0; left: 100vw;
    }
    #cartWrapper > div.checkout_overzicht {
        top: 0; left: 200vw;
    }
    #cartWrapper.step2 > div.cart {
        top: 0; left: -100vw;
    }
    #cartWrapper.step2 > div.checkout_details {
        top: 0; left: 0;
    }
    #cartWrapper.step2 > div.checkout_overzicht {
        top: 0; left: 100vw;
    }
    #cartWrapper.step3 > div.cart {
        top: 0; left: -200vw;
    }
    #cartWrapper.step3 > div.checkout_details {
        top: 0; left: -100vw;
    }
    #cartWrapper.step3 > div.checkout_overzicht {
        top: 0; left: 0;
    }
    
    #cartWrapper h1 {text-align: center;}
    #cartWrapper h1, #cartWrapper h2 {
        margin-bottom: 16px;
    }
    #cartWrapper button {
        text-transform: uppercase;
    }
    .cartProduct picture {
        padding-top: var(--productsAspectRatio);
        width: 100%;
        position: relative;
    }
    .cartProduct picture img {
        position: absolute;
        top: 0; left: 0;
        height: 100%;
        object-fit: cover;
        width: 100%;
    }
    .checkoutButtons {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        padding-bottom: 16px;
        margin-bottom: 16px;
        border-bottom: 2px solid lightgray;
    }
    .cartTotal {
        border-top: 2px solid lightgray;
        padding-top: 16px;
    }
    @media (min-width: 768px) {
        .checkout_details .checkoutButtons, .checkout_overzicht .checkoutButtons {
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto;
        }
        .cartGrid {
            display: grid;
            grid-template-columns: 1fr 300px;
            column-gap: 60px;
            grid-template-rows: max-content max-content auto;
            grid-template-areas: 
                "p d1"
                "p d2"
                "p .";
        }
        .cartGrid .checkoutButtons {grid-area: d2}
        .cartGrid .cartTotal {grid-area: d1}
        .cartGrid #cartProducts {grid-area: p}
    }
    .checkoutButtons .checkout,
    .checkoutButtons .continueShopping,
    button {
        padding: 6px;
        border: 1px solid var(--blackColor);
        text-align: center;
        text-transform: uppercase;
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 0.8px;
        transition: 0.25s;
        cursor: pointer;
    }
    .checkoutButtons .primary {
        background: var(--blackColor);
        color: var(--whiteColor);
    }
    .checkoutButtons .secondary {
        background: #eeeeee;
        color: var(--fontColor);
    }
    .checkoutButtons .primary:hover {
        background: var(--blackColor);
        color: var(--whiteColor);
    }
    .checkoutButtons .secondary:hover {
        background: var(--whiteColor);
    }
    .cartProduct {
        display: grid;
        grid-template-columns: 90px 1fr;
        gap: 12px;
        margin: 16px 0;
    }
    .cartProduct > div {
        display: flex;
        justify-content: space-between;
        gap: 16px;
    }
    .cartProduct > picture {
        grid-row: 1/3;
    }
    @media (min-width: 768px) {
        .cartProduct {
            grid-template-columns: 120px 1fr;
            grid-template-rows: 1fr auto;
        }
        .cartProduct > div:nth-of-type(2) {
            padding-bottom: 8px;
        }
    }
    .cart hr {
        border: 1px solid lightgray;
    }
    .cart_actions {
        margin-top: 16px;
    }
    .cartTotal > p, .lg_order_total, .lg_order_total_btw {
        text-align: right;
    }
    .cartTotal > form {
        display: grid;
        grid-template-columns: 1fr min-content;
        margin: 0 0 calc(var(--stdElGap) / 2) 0;
    }
    .cartTotal > form > label {
        grid-column: 1/3;
        color: var(--blackColor);
        font-size: 15px;
        cursor: pointer;
        z-index: 5;
    }
    .cartTotal > form input {
        text-transform: uppercase;
        padding: 4px 8px;
    }
    .cartTotal > div, 
    #lg_kortingsinformatie > div, 
    #orderWrapper > div.order_discount, 
    .checkout_overzicht .lg_order_total, 
    .checkout_overzicht .lg_order_total_btw {
        display: flex;
        justify-content: space-between;
        margin-bottom: 16px;
    }
    #lg_kortingsinformatie {
        display: block;
        margin-bottom: 0;
    }
    #lg_kortingsinformatie > div:nth-child(2) {
        transform: translateY(-16px);
    }
    .price::before,
    #lg_kortingsinformatie > div:nth-child(2) > span:nth-child(2)::before,
    #cartTotal_price::before, #cartTotal_price_exBtw::before,
    #cart_subtotal::before,
    #orderWrapper > div.order_discount > span:nth-child(2)::before,
    #orderTotal::before, #orderTotal_btw::before {
        content: '\20AC\ ';
    }
    #lg_total_price, .lg_order_total {
        font-weight: bold;
        font-size: 1.4rem;
    }
    
    
    .checkout_details form, .checkout_overzicht > div {
        padding: 16px;
        max-width: 60ch;
        margin: auto;
    }
    .checkout_details form > * {
        margin-bottom: 18px;
    }
    .checkout_details form > h1 {
        text-align: center;
    } 
    .checkout_details label {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    .checkout_details label span, .klein_grijs {
        color: var(--blackColor);
        font-size: 15px;
    }
    .checkout_details label input {
        padding: 12px 16px;
        font-size: 20px;
        border: 2px solid lightgray;
    }
    .checkout_details label input:focus {
        border: 2px solid darkgray;
    }
    @media (min-width: 500px) {
        .checkout_details .fn_ln_wrap {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
        }
        .checkout_details .adres_houseno_wrap {
            display: grid;
            grid-template-columns: calc(80% - 8px) 20%;
            gap: 8px;
        }
        .checkout_details .post_place_wrap {
            display: grid;
            grid-template-columns: 2fr 4fr;
            gap: 8px;
        }
    }
    .checkout_details .fn_ln_wrap > label,
    .checkout_details .adres_houseno_wrap > label,
    .checkout_details .post_place_wrap > label  {
        margin-bottom: 18px;
    }
    #postcode {
        min-width: 100px;
    }
    #orderWrapper {
        display: grid;
    }
    #orderWrapper > div.lg_order_product {
        display: grid;
        grid-template-columns: 40px 1fr 90px 90px;
        gap: 16px;
        margin-bottom: 8px;
        height: 53.33px;
    }
    @media (max-width: 767px) {
        #orderWrapper > div.lg_order_product {
            grid-template-columns: 1fr 90px;
            text-align: right;
        }
        #orderWrapper > div.lg_order_product > p:nth-child(1) {
            text-align: left;
            grid-row: 1/3;
        }
    }
    #orderWrapper > div > p {
        margin-bottom: 8px;
    }
    #orderWrapper > div > p.price {
        text-align: right;
    }
    .lg_removeProduct {
        cursor: pointer;
        color: var(--blackColor);
        height: max-content;
    }
    .up_tr {
        opacity: 0;
    }
    .up_tr, .up_ntr {
        transform: translateY(-100%);
        transition: all 0.5s ease;
    }
    .down .up_tr, .down .up_ntr {
        transform: translateY(0%);
        opacity: 1;
    }
    #checkoutTerms {
        margin: 24px 0;
    }
    #verzendMethoden {
        display: flex; 
        justify-content: space-between; 
        gap: 12px;
        flex-direction: column;
    }
    #verzendMethoden label {
        display: grid;
        margin-left: 8px;
        gap: 8px;
        grid-template-columns: min-content min-content 1fr;
    }
    #verzendMethoden label input {
        filter: grayscale(1);
    }
    .ta_right {
        text-align: right;
    }
    #verzendMethoden.freeShipping label span:nth-of-type(2) {
        text-decoration: line-through;
    }
    #verzendMethoden.freeShipping label span:nth-of-type(2)::after {
        content: "\20AC\ 0";
        display: inline-block;
        margin-left: 8px;
    }
    .amount span, .amount button {
        display: inline-grid;
        place-items: center center;
        width: 24px; height: 30px;
        border: 1px solid darkgray; border-right: none;
        box-sizing: unset; padding: 0;
        letter-spacing: unset;
    }
    .amount button:nth-of-type(1) { cursor: pointer; font-size: 1.1rem; font-weight: normal; }
    .amount span:nth-of-type(1) { cursor: default; min-width: 25px; padding: 0 6px; }
    .amount button:nth-of-type(2) { cursor: pointer; border-right: 1px solid darkgray; font-size: 1.1rem; font-weight: bold; }
:root {
    --extraOffset: 0px;
}

#top_bar {
    display: grid;
    grid-template-columns: 2fr 4fr 2fr;
    height: var(--topBarHeight);
    width: calc(100vw);
    align-content: center;
}

#menu {
    grid-area: 1/1;
    display: flex;
}

#menu_content_wrapper {
    font-weight: bolder;
}

#menu_logo {
    height: calc(var(--topBarHeight) - 10px);
    object-fit: contain;
}

#menu_logo, #menu_content_wrapper nav, #sec_nav {
    padding: 20px;
}

@media (min-width: 600px) {
    #menu_logo, #menu_content_wrapper nav, #sec_nav {
        padding-left: 60px;
    }
}

@media (min-width: 1000px) {
    #menu_logo, #menu_content_wrapper nav, #sec_nav {
        padding-left: 80px;
    }
}

#language-navigation {
    text-transform: uppercase;
}

#sec_nav {
    padding-bottom: 16vw;
    font-size: 0.9em;
    text-align: center;
}

.menu_item_overlay {
    display: inline-block;
    font-size: 1rem;
    font-weight: normal;
    color: var(--menuTextColor);
    padding: 4px 8px;
    border-radius: var(--borderRadius);
    border: none;
    border-bottom: none;
    text-decoration: none;
    max-width: 100%;
}

#main_nav a {
    width: max-content;
}

#language-navigation {
    gap: 0px;
    display: flex;
    position: fixed;
    right: 8px;
    top: calc(14px + var(--extraOffset));
    background: hsla(var(--whiteColorHSL),1);
    padding: 4px;
    cursor: pointer;
}

.language_list_wrapper {
    display: inline-flex;
    flex-direction: column;
    height: calc(1rem + 8px);
    overflow: hidden;
}

#language-navigation.expanded .language_list_wrapper,
#language-navigation:hover .language_list_wrapper {
    overflow: visible;
    height: unset;
}

.language_label {
    padding: 4px 0px 4px 12px;
    color: var(--menuTextColor);
    border: none;
    border-bottom: none;
    text-decoration: none;
    width: max-content;
    line-height: 1;
}

a.language_label:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

#main_nav a:hover,
.expand_sub_menu:hover,
.minimize_sub_menu:hover {
    background: linear-gradient(var(--menuHoverColor), var(--menuHoverColor)) 50% calc(100% - 0px)/60% 3px no-repeat;
}

#menu_content_wrapper nav#main_nav a.menu_child:hover {
    background: unset;
    border-radius: unset;
}

#sec_nav div {
    margin: 3vh 0;
}

#menu_overlay {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 15;
    height: 100vh;
    width: 100vw;
    opacity: 0.5;
    background: darkgray;
}

#logo {
    display: grid;
    place-items: center center;
}

#logo a {
    height: max-content;
    display: flex;
    max-height: var(--topBarHeight);
}

#logo img {
    max-height: calc(var(--topBarHeight) - 10px);
    object-fit: contain;
    border-radius: 0;
}

#sec_nav a svg { height: 18px; width: 18px; }
#sec_nav a svg .st0 { fill: none; }
#sec_nav a svg path { fill: var(--secColor); }

.menu_parent { position: relative; }

.sub_menu {
    display: flex;
    flex-direction: column;
    display: none;
    position: absolute;
    min-width: 100%;
    background: white;
    margin-top: 0;
    border: 1px solid lightgray;
    padding: 8px;
}

.menu_parent .sub_menu .menu_item_overlay {
    display: block;
    width: max-content;
    padding: 4px 0 2px 0;
    margin-right: 1.5vw;
    margin-bottom: 2px;
    border-bottom: 2px solid transparent;
}

.menu_parent .sub_menu .menu_item_overlay:hover {
    background: none;
    border-bottom: 2px solid var(--terColor);
}

.expand_sub_menu { display: none; }
.minimize_sub_menu { display: none; }

.wzclose.icon {
    color: var(--menuToggleColor);
    position: absolute;
    width: var(--mw);
    height: var(--mw);
    border-radius: var(--borderRadius);
}
.wzclose.icon:before {
    content: '';
    position: absolute;
    top: var(--mp);
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-radius: var(--borderRadius);
}
.wzclose.icon:after {
    content: '';
    position: absolute;
    top: var(--mp);
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-radius: var(--borderRadius);
}

.socialLinks_wrapper {
    display: flex;
    gap: 4px;
    align-items: first baseline;
}

.leadingElementTextContainer {
    display: flex;
    gap: 12px;
}

.block .part .leadingElementTextContainer > picture {
    margin: 0;
    flex-shrink: 0;
    align-self: baseline;
}

.block .part .leadingElementTextContainer > .pageContent {
    flex-grow: 1;
}
@media (max-width: __BREAKPOINT__px) {
:root {
    --topBarHeight: 60px;
}
#main_nav {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.menu_item_overlay {
    width: max-content;
}
#menu_content_wrapper {
    position: fixed;
    height: 100vh;
    width: min(80vw, 500px);
    top: 0;
    left: 0;
    z-index: 20;
    display: grid;
    grid-template-rows: 1fr 5fr 3fr;
    transform: translateX(calc(-1 * min(80vw, 500px)));
    transition: transform 0.5s ease-in-out;
    overflow-y: scroll;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
}
#menu_content_wrapper.show_menu {
    transform: translateX(0);
}
#menu_toggle {
    position: relative;
}
#menu_toggle, #menu_close {
    cursor: pointer;
    width: var(--mw);
    height: calc( var(--mw) / 1.2);
    margin: auto 0 auto 16px;
    display: flex;
}
#menu_close {
    position: absolute;
    right: var(--mp);
    top: calc(var(--extraOffset) + var(--mp) );
    z-index: 99;
}
.wzmenu.icon {
    color: var(--menuToggleColor);
    position: relative;
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    border-radius: var(--borderRadius);
    margin: auto 0;
}
.wzmenu.icon:before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    border-radius: var(--borderRadius);
}
.wzmenu.icon:after {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    border-radius: var(--borderRadius);
}
.sub_menu {
    display: flex;
    flex-direction: column;
    position: relative;
    border: none;
    padding-top: 0;
    margin-left: 16px;
    background: none;
    min-width: 0;
}
.sub_menu {
    display: none;
}
.menu_parent.expanded .sub_menu {
    display: flex;
}
.expand_sub_menu, .minimize_sub_menu {
    display: inline-block;
    font-size: 1.2rem;
    padding: 4px;
    cursor: pointer;
}
.minimize_sub_menu {
    display: none;
}
.menu_parent .expand_sub_menu {
    display: inline-block;
}
.menu_parent.expanded .expand_sub_menu {
    display: none;
}
.menu_parent.expanded .minimize_sub_menu {
    display: inline-block;
}
}
@media (min-width: __BREAKPOINT_PLUS__px) {
#menu_close, #menu_toggle, #menu_content_wrapper #sec_nav, #menu_logo {
    display: none;
}
#menu_content_wrapper {
    position: relative;
    display: block;
    height: auto;
    width: auto;
    left: auto;
}
#menu_content_wrapper nav a {
    display: inline-block;
    margin: 0 0 0 0;
}
#menu_content_wrapper nav a.menu_item_overlay:last-of-type {
    margin-right: -8px;
}
#menu_content_wrapper nav .sub_menu a.menu_item_overlay {
    margin-right: 0;
    white-space: nowrap;
}
#menu_content_wrapper nav {
    padding: 0;
    display: flex;
    gap: 1.5vw;
    align-items: center;
}
.menu_parent:hover .sub_menu {
    display: flex;
}
.shoppingCartWrap {
    margin-left: 60px;
}
#top_bar {
    display: grid;
    grid-template-columns: auto 4fr min-content;
    padding: 0 var(--stdPageMargin);
    width: calc(100% - 2 * var(--stdPageMargin));
}
#logo {
    grid-area: 1 / 1;
    place-items: center baseline;
}
#logo img {
    justify-self: start;
}
#menu {
    grid-area: 1 / 2;
    display: grid;
    justify-content: end;
}
#sec_nav {
    display: none;
}
#menu_content_wrapper {
    display: flex;
}
__LAYOUT_CSS__
}


.animateVisible {
    opacity: 0;
}

.fadeUp {
    transform: translateY(30px);
}
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.run_fadeUp {
    animation: fadeUp 0.67s ease-in-out forwards;
}

.fadeDown {
    transform: translateY(-30px);
}
@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.run_fadeDown {
    animation: fadeDown 0.67s ease-in-out forwards;
}

.fadeLeft {
    transform: translateX(30px);
}
@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
.run_fadeLeft {
    animation: fadeLeft 0.67s ease-in-out forwards;
}

.fadeRight {
    transform: translateX(-30px);
}
@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
.run_fadeRight {
    animation: fadeRight 0.67s ease-in-out forwards;
}

.fadeIn {
    opacity: 0;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.run_fadeIn {
    animation: fadeIn 0.67s ease-in-out forwards;
}

.fadeInEnlarge {
    opacity: 0;
    transform: scale(0.95);
}
@keyframes fadeInEnlarge {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
.run_fadeInEnlarge {
    animation: fadeInEnlarge 0.67s ease-in-out forwards;
}

#cart {
    background: var(--whiteColor);
    position: fixed;
    top: 0;
    right: 0;
    height: calc(100vh - 16px);
    overflow-y: auto; overflow-x: hidden;
    width: calc(min(80vw, 600px) - 32px);
    padding: 16px; padding-bottom: 0;
    z-index: 48;
    transform: translateX(min(80vw, 600px));
    transition: transform 0.5s ease-in-out;
}
#cart.show {
    transform: translateX(0px);
}
#cartProducts {
    width: 100%;
    margin-bottom: 40px;
}
.cartProduct picture {
    padding-top: var(--productsAspectRatio);
    width: 100%;
    height: 0;
    position: relative;
    grid-row: 1/3;
}
.cartProduct picture img {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.cartProduct {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 12px;
    margin: 12px 0;
}
.cartProduct > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}
.cartProduct .price {
    text-align: right;
}
@media (min-width: 768px) {
    .cartProduct {
        grid-template-columns: 100px 1fr;
    }
}
#cart_overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: darkgray;
    opacity: 0.5;
    z-index: 47;
}
.removeProduct {
    cursor: pointer;
}
.euro::before {
    content: '\20AC\ ';
}
.t_right {
    text-align: right;
}
#cart_close {
    position: absolute;
    top: 10px;
    right: 50px;
    z-index: 99;
    cursor: pointer;
}








#checkoutTerms {
	margin-bottom: 16px;
}
#checkoutTerms label {
	display: grid;
	grid-template-columns: min-content auto;
	gap: 8px; 
}
#checkoutTerms label > span:first-of-type {
	display: grid;
	grid-template-areas: "box";
}
#checkoutTerms label > span > * {
    grid-area: box;
}
#checkoutTerms label > span > input {
    opacity: 0;
    width: 1em;
    height: 1em;
}
#checkoutTerms label > span > span {
    display: inline-grid;
    width: 1em;
    height: 1em;
    border: 2px solid var(--blackColor);
}

#checkoutTerms label > span > span > svg {
    transition: transform 0.1s ease-in 25ms;
    transform: scale(0);
    transform-origin: bottom left;
}

#checkoutTerms label > span > input:checked + span > svg {
    transform: scale(1);
    color: darkgreen;
}

#cartWrapper {
    transition: 0.3s;
}
#cartWrapper.working {
    opacity: 0.5;
}
#cartWrapper.working::after {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
}



.shoppingCartWrap {
    display: grid;
    place-content: center;
}

#lg_shoppingCart {
    
    
    cursor: pointer;
    position: relative;
}









select {
    padding: 16px;
    background: var(--whiteColor);
    color: var(--blackColor);
    border-radius: var(--borderRadius);
    border: 2px solid lightgray;
    font-size: 16px;
}



#lg_shoppingCart::after {
    content: attr(data-lineitems);
    color: var(--whiteColor);
    position: absolute;
    top: -10px;
    right: -6px;
    background: var(--blackColor);
    font-size: 14px;
    padding: 0 6px;
    border-radius: 100%;

}

.children {
    display: grid;
    gap: 32px;
}

.children > div {
    box-shadow: 1px 1px 4px 0 darkgray;
    padding: 8px 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
}
.children > div > a {
    text-decoration: none;
    color: var(--fontColor);
}

.children > div > a.right {
    text-align: right;
}

@media (min-width: 769px) {
    .children {
        grid-template-columns: repeat(3, 1fr);
    }
}

.filtersWrapper {
    position: relative;
    z-index: 2;
    box-shadow: 0px 6px 10px 3px #0000002e;
    padding: 4px;
    border-radius: var(--borderRadius);
    flex-direction: row;
    z-index: 500;
}
.cardsToFilter {
    position: relative;
    z-index: 1;
}
.filter {
    position: relative;
    padding: 6px 24px 6px 12px;
    display: inline-block;
    border-radius: var(--borderRadius);
    cursor: pointer;
    
    
}
.filter::after {
    content:"\203A";
    position: absolute;
    transform: rotate(90deg);
    bottom: 6px;
    right: 9px;
}
.filter + .filter {
    margin-left: 16px;
}
.filter:hover {
    background: #ececec;
}
.filterDropDown {
    position: absolute;
    cursor: pointer;
    min-width: 200px;
    left: 2px;
    padding: 6px 12px;
    box-shadow: 0px 6px 10px 3px #0000002e;
    border-radius: var(--borderRadius);
    visibility: hidden;
    transition: visibility 0.1s;
    background: white;
    top: 40px;
    z-index: -11;
}
.filterOption {
    cursor: pointer;
    padding-right: 30px;
    max-width: calc(100% - 30px);
    position: relative;
    z-index: 11;
}
.filterOption + .filterOption {
    margin-top: 12px;
}
.filterOption.checked {
    font-weight: bold;
}


.filter.expanded {
    z-index: 11;
}
.filter.expanded::after {
    transform: rotate(-90deg);
}
.filter.expanded .filterDropDown {
    visibility: visible;
    z-index: 9999;
}

.selectedFilters {
    margin: calc(var(--stdElGap) / 2) 0;
    min-height: 50px;
}
.selectedFilter {
    cursor: pointer;
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 8px;
    border-radius: var(--borderRadius);
    box-shadow: 0px 6px 10px 3px #0000002e;
}
.selectedFilter::after {
    content: " x";
    padding: 2px;
    
}
.selectedFilter + .selectedFilter {
    margin-left: 12px;
}
.selectedFilter:hover {
    background: #ececec;
}

.cardsToFilter {
    display: grid;
    grid-template-columns: repeat(auto-fit, 280px);
    gap: 24px;
}
.filterCard {
    border-radius: var(--borderRadius);
    box-shadow: 0px 6px 10px 3px #0000002e;
    background: white;
}
.filterCard .textContent {
    padding: 6px 12px;
}
@media (max-width: 768px) {
    .cardsToFilter {
        display: grid;
        gap: 24px;
        grid-template-rows: 1fr;
        grid-auto-flow: column;
        overflow-x: scroll;
        scrollbar-width: none;
        margin-right: calc(-1 * var(--stdPageMargin));
    }
    .cardsToFilter {
        padding-bottom: 20px;
        padding-left: 10px;
        margin-left: -10px;
    }
    .cardsToFilter::after {
        content: "";
        width: 60px;
    }
    .filterCard {
        width: min(85vw, 280px);
    }
    .filterCard .imgContent {
        max-height: 150px;
        object-fit: cover;
    }
}

div.lg_3col_gallery.lg_6cols {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
}
@media (min-width: 769px) {
    div.lg_3col_gallery.lg_6cols {
        grid-template-columns: repeat(6, 1fr);
    }
}
div.lg_3col_gallery.show_full_images div picture img {
    height: auto;
}

div.lg_3col_gallery > picture.blockBackground {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    opacity: 0.5;
}
div.lg_3col_gallery picture.blockBackground > img {
    height: inherit;
    object-fit: cover;
}

.lg_2col_cards, .lg_2col_cards_v > div {
    display: grid;
    gap: var(--stdColGap);
}

@media (min-width: 768px) {
    .lg_2col_cards, .lg_2col_cards_v > div {
        grid-template-columns: 1fr 1fr;
        width: min(70ch, calc(100% - (2 * var(--stdPageMargin))));
        margin: 0 auto;
        padding-left: 0; padding-right: 0;
    }
    .lg_2col_cards > div.lg_2col_cards_title, .lg_2col_cards_v > div > div.lg_2col_cards_title {
        grid-column: 1/3;
    }
    .lg_2col_cards img.imgContent {
        min-height: min(calc(35ch - (var(--stdColGap) / 2)), calc((100vw - 17px - (2 * var(--stdPageMargin)) - var(--stdColGap)) / 2));
        height: min(calc(35ch - (var(--stdColGap) / 2)), calc((100vw - 17px - (2 * var(--stdPageMargin)) - var(--stdColGap)) / 2));
    }
    .lg_2col_cards > div.lg_2col_card, .lg_2col_cards_v > div > div.lg_2col_card {
        margin-bottom: var(--stdElGap);
    }
}

@media (min-width: 1000px) {
    .lg_2col_cards_v > div {
        width: 100%;
        grid-template-columns: repeat(4, 1fr);
    }
    .lg_2col_cards_v > div > div.lg_2col_cards_title {
        grid-column: 1/5;
    }
}

.lg_2col_cards > div.lg_2col_card, .lg_2col_cards_v > div > div.lg_2col_card {
    display: flex;
    flex-direction: column;
}
.lg_2col_cards > div.lg_2col_card > div, .lg_2col_cards_v > div > div.lg_2col_card > div {
    padding: 16px;
    border-radius: 0 0 var(--borderRadius) var(--borderRadius);
    height: calc(100% - 32px);
    overflow: hidden;
}
.lg_2col_cards img.imgContent {
    height: auto;
    min-width: 100%;
    object-fit: cover;
    border-radius: var(--borderRadius) var(--borderRadius) 0 0;
}
.lg_2col_cards.secColorBG > div.lg_2col_card > div {
    background: var(--primColor);
}

.lg_2col_cards.shadow > div.lg_2col_card {
    box-shadow: 0px 0px 5px 2px lightgray;
    border-radius: var(--borderRadius);
}
.lg_2col_cards.shadow > div.lg_2col_card > picture {
    margin: 8px;
}
.lg_2col_cards.paddedImages > div.lg_2col_card > picture {
    padding: 8px;
    background: var(--cardPictureBG);
}

.lg_2col_cards.circularImages > div.lg_2col_card > picture, .lg_2col_cards.circularImages > div.lg_2col_card > picture > img.imgContent {
    clip-path: circle();
}

.lg_2col_cards.paddedImages > div.lg_2col_card > picture > img.imgContent {
    min-height: min(calc(35ch - (var(--stdColGap) / 2) - 32px), calc((100vw - 17px - (2 * var(--stdPageMargin)) - var(--stdColGap)) - 16px));
    height: min(calc(35ch - (var(--stdColGap) / 2) - 32px), calc((100vw - 17px - (2 * var(--stdPageMargin)) - var(--stdColGap)) - 16px));
    border-radius: var(--borderRadius);
}


.lg_3col_cards {
    gap: var(--stdColGap);
    display: grid;
}
@media (min-width: 800px) and (max-width: 1099px) {
    .lg_3col_cards {
        grid-template-columns: 1fr 1fr;
    }
    .lg_3col_cards > div.lg_3col_card:last-child:nth-child(odd) {
        grid-column: 1/3;
        margin-left: calc(25% + var(--stdColGap) / 4);
        margin-right: calc(25% + var(--stdColGap) / 4);
    }
    .lg_3col_cards > div.lg_3col_cards_title {
        grid-column: 1/3;
    }
}
@media (min-width: 1100px) {
    .lg_3col_cards {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: var(--stdColGap);
    }
    .lg_3col_cards > div.lg_3col_cards_title {
        grid-column: 1/4;
    }
}
.lg_3col_card {
    display: grid;
    
    grid-template-rows: auto 1fr;
    
}
.lg_3col_cards.gap_in_card > div.lg_3col_card {
    gap: var(--stdColGap);
}
.lg_3col_card > div {
    overflow: hidden;
    padding: 16px;
    width: calc(100% - 32px);
    border-radius: 0 0 var(--borderRadius) var(--borderRadius);
    height: calc(100% - 32px);
}
@media (max-width: 799px) {
    
    .lg_3col_cards > div.lg_3col_card {
        margin-bottom: var(--stdElGap);
    }
}
.lg_3col_cards img.imgContent {
    height: 240px;
    min-width: 100%;
    object-fit: cover;
    border-radius: var(--borderRadius) var(--borderRadius) 0 0;
}

.lg_3col_cards.full_images img.imgContent {
    min-width: unset;
    height: auto;
}

.lg_3col_cards.image_center img.imgContent {
    margin: auto;
}

.lg_3col_cards.image_right img.imgContent {
    margin: 0 0 0 auto;
}

.lg_3col_cards.secColorBG > div.lg_3col_card > div {
    background: var(--primColor);
}
.lg_3col_cards.shadow > div.lg_3col_card {
    box-shadow: 0px 6px 10px 3px #0000002e;
    border-radius: var(--borderRadius);
}
.lg_3col_cards.paddedImages > div.lg_3col_card > picture {
    padding: 8px;
    background: var(--cardPictureBG);
    max-width: calc(100% - 16px);
}
.lg_3col_cards.paddedImages > div.lg_3col_card > picture > img.imgContent {
    height: calc(240px - 16px);
    border-radius: var(--borderRadius);
}
.lg_3col_cards.circularImages > div.lg_3col_card > picture, .lg_3col_cards.circularImages > div.lg_3col_card > picture > img.imgContent {
    clip-path: circle();
}
.lg_3col_cards.lg_w3h4imgs > div.lg_3col_card picture {
    width: 100%;
    height: 0;
    padding-top: 133%;
    position: relative;
}
.lg_3col_cards.squareImages > div.lg_3col_card picture {
    width: 100%;
    height: 0;
    padding-top: 100%;
    position: relative;
}
.lg_3col_cards.lg_w3h4imgs > .lg_3col_card picture > .imgContent, .lg_3col_cards.squareImages > .lg_3col_card picture > .imgContent {
    position: absolute;
    top: 0;left: 0;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.lg_3col_cards.lg_2col_mobile {
    grid-template-columns: 1fr 1fr;
}

div.lg_3col_card > picture::after {
    content: attr(title);
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 6;
    color: white;
    padding: 0px 8px;
    background: #9999998f;
    left: 0;
    text-align: right;
    font-size: 1.4rem;
    line-height: 2;
}


.lg_4col_text {
    display: grid;
    gap: var(--stdColGap);
    row-gap: calc(2 * var(--stdElGap));
}
@media (min-width: 481px) {
    .fourColumns {
        grid-template-columns: 1fr 1fr;
    }
}
@media (min-width: 1025px) {
    .fourColumns {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

@media (min-width: 481px) {
    .threeColumns {
        grid-template-columns: 1fr 1fr;
    }
}
@media (min-width: 1025px) {
    .threeColumns {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width: 481px) {
    .twoColumns {
        grid-template-columns: 1fr;
    }
}
@media (min-width: 1025px) {
    .twoColumns {
        grid-template-columns: 1fr 1fr;
    }
}

.lg_banner .pageContent {
    margin: 0 16px;
    position: relative;
}
.lg_banner {
    display: grid;
    place-items: center center;
    height: 500px;
    position: relative;
    
    padding: 0;
}
.lg_banner > picture {
    position: absolute;
    height: inherit;
    width: 100%; top: 0;
}
.lg_banner img.imgContent {
    position: absolute;
    height: inherit;
    width: 100%;
    object-fit: cover;
}
.lg_banner.lg_overlay_1 img.imgContent {
    filter: brightness(0.75);
}
.lg_banner.lg_overlay_2 img.imgContent {
    filter: brightness(0.9);
}

.lg_banner.dostyle {
    grid-template-rows: 2fr 1fr;
    grid-template-columns: 1fr 1fr;
}
.lg_banner.dostyle > .lg_banner_text {
    text-shadow: none;
    z-index: 16;
}
.lg_banner.dostyle > picture::after {
    background: var(--quartColor);
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    display: block;
    z-index: 11;
    opacity: 0.5;
    clip-path: polygon(0 0, 60% 0, 40% 100%, 0% 100%); pointer-events: none;
}
.lg_banner.pijl > picture {
    clip-path: polygon(0 0, 100% 0%, 100% 75%, 50% 100%, 0 75%);
}
@media (max-width: 768px) {
    .lg_banner.dostyle {
        grid-template-rows: 2fr 1fr;
        grid-template-columns: 2fr 1fr;
    }
    .lg_banner.dostyle .lg_banner_text {
        padding-top: 32px;
    }
    .lg_banner.dostyle > picture::after {
        clip-path: polygon(0 0, 85% 0, 60% 100%, 0% 100%);
    }
    .lg_banner.pijl > picture {
        clip-path: polygon(0 0, 100% 0%, 100% 85%, 50% 100%, 0 85%);
    }
}
@media (min-width: 769px) {
    .lg_banner.right .pageContent {
        margin-right: 20px;
        margin-left: 40vw;
    }
}

@media (max-width: 767px) {
    .lg_banner {
        height: max-content;
        min-height: 50vh;
        padding: 16px 0 33% 0;
        place-items: end center;
    }
    .lg_banner > picture {
        top:0;
        height: 100%;
    }
    .lg_banner > picture > img.imgContent {
        height: 100%;
    }
    .lg_feature > picture, .lg_feature.halfCircle > picture {
        margin-bottom:0 !important;
    }
}
@media (max-width: 999px) {
    div.lg_3col_iic > div.pageContent {
        padding-top: 16px;
    }
}


.lg_categoryProduct > a {
    border-bottom: none;
}
.lg_categoryProduct picture {
    padding-top: var(--productsAspectRatio);
    width: 100%;
    position: relative;
    display: block;
    height: 0;
}
.lg_categoryProduct picture.no_stock::after {
    position: absolute;
    content: "sold out";
    bottom: 1px;
    left: 1px;
    right: 1px;
    text-transform: uppercase;
    background: white;
    color: black;
    text-align: center;
    font-size: 0.8rem;
}
.lg_categoryProduct picture img {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
@media (min-width: 768px) {
    .lg_ecommCategoryPage {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
    }
}
.productOverview.block {
    --blockGap: 24px;
    --partPadding: 0;
    --partGap: 0;
    row-gap: 24px;
}
.productOverview.block .part {
    padding: 0;
    box-shadow: none;
    border: none;
}
.productOverview.block .productOverviewItem {
    gap: 0;
}
.productOverview.block .productOverviewPlaceholderPart,
.productOverview.block .productOverviewNoticePart {
    align-items: center;
    justify-content: center;
}
.lg_categoryProduct > * {
    margin-bottom: 0;
}
.lg_categoryProduct {
    display: grid;
    gap: 8px;
}
.productOverviewPlaceholder,
.productOverviewNotice {
    text-align: center;
    padding: 24px;
}
.productOverviewPlaceholder p,
.productOverviewNotice p {
    margin-bottom: 8px;
}
.lg_ecommSideBar {
    position: sticky;
    top: 24px;
    left: 0;
    height: max-content;
}
.lg_ecommCategoryPage hr {
    border: 1px solid lightgray;
}



.sale {
    position: relative;
    overflow: hidden;
}
.saleText {
    position: absolute;
    background: hsla(var(--blackColorHSL), 1);
    color: white;
    padding: 6px;
    top: 0;
    right: 0;
    transform: translateX(30%) translateY(0%) rotate(45deg);
    transform-origin: top left;
    z-index: 6;
    font-size: 0.8rem;
}
.saleText:before,
.saleText:after {
  content: '';
  position: absolute;
  top:0;
  margin: 0 -1px; 
  width: 100%;
  height: 100%;
  background: hsla(var(--blackColorHSL), 1);;
}
.saleText:before {
  right:100%;
}

.saleText:after {
  left:100%;
}
.saleText {
    min-width: 75px;
    text-align: center;
    z-index: 7;
}

.lg_feature .imgContent {
    border-radius: var(--borderRadius);
    width: 100%;
    margin: 0 auto;
}
.lg_feature > .pageContent {
    overflow: hidden;
    margin: auto;
    --padding: 0px;
    width: calc(100% - 2 * var(--padding));
    height: max-content;
}
@media (min-width: 768px) {
    .lg_feature {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column-gap: var(--stdColGap);
    }
    .lg_feature.kolommen_2_1 {
        grid-template-columns: 2fr 1fr;
    }
    .lg_feature.kolommen_1_2 {
        grid-template-columns: 1fr 2fr;
    }
    .lg_feature.afbeeldingLinks > div.pageContent, .lg_feature.afbeeldingLinks > div.featureChild:nth-of-type(1) {
        grid-column: 2/3; grid-row: 1/2;
    }

    .lg_feature.afbeeldingLinks > picture, .lg_feature.afbeeldingLinks > div.featureChild:nth-of-type(2) {
        grid-column: 1/2; grid-row: 1/2;
    }
}
@media (max-width: 767px) {
    .lg_feature > div.pageContent {
        margin-bottom: var(--stdElGap);
    }
    .lg_feature picture, .lg_feature.halfCircle picture {
        margin: var(--stdElGap) 0;
    }
    .lg_feature.halfCircle picture {
        max-height: calc((100vw - 17px - var(--stdColGap) - (2 * var(--stdPageMargin))) / 1);
    }
    
    .lg_feature.mobileReverse {
        display: flex;
        flex-direction: column-reverse;
        gap: var(--stdColGap);
    }
}


.lg_insta_gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--baseSpacing);
}
.lg_insta_gallery .lg_insta_gallery_title {
    grid-column: 1/4;
}
.lg_insta_gallery .lg_insta_i {
    height: calc(( 100vw - 17px - (var(--baseSpacing) * 2) - (2 * var(--stdPageMargin ))) / 3 );
    position: relative;
}
.lg_insta_gallery .lg_insta_i img {
    border-radius: var(--borderRadius);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lg_insta_gallery .lg_insta_i .lg_insta_c {
    z-index: -10;
    color: white;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 64px);
    height: calc((( 100vw - 17px - (var(--baseSpacing) * 2) - (2 * var(--stdPageMargin ) )) / 3 ) - 64px);
    padding: 32px;
    background: rgba(128, 128, 128, 0.75);
    overflow: hidden;
    border-radius: var(--borderRadius);
    display: grid;
    place-items: center center;
    cursor: pointer;
}
.lg_insta_gallery .lg_insta_i .lg_insta_c p {
    cursor: pointer;
    max-height: calc((( 100vw - 17px - (var(--baseSpacing) * 2) - (2 * var(--stdPageMargin ) )) / 3 ) - 64px);
    overflow: hidden;
}
.lg_insta_gallery .lg_insta_i:hover .lg_insta_c {
    z-index: 11;
}
#insta_modal {
    position: fixed;
    top: 0;
    left: 0;
    height: 60vh;
    width: 60vw;
    padding: 20vh 20vw;
    background: rgba(57, 57, 57, 0.95);
    z-index: 50;
}
#insta_modal_content {
    display: grid;
    grid-template-rows: 60vh;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}
#insta_modal img {
    max-height: 60vh;
    width: auto;
    height: auto;
}
#insta_modal span {
    position: absolute;
    color: white;
    top: calc(50% - 40px);
    font-size: 60px;
    cursor: pointer;
}
#insta_modal span::selection {
    background: revert; color: revert;
}
#insta_modal span.prev {
    left: calc(20vw - 60px);
}
#insta_modal span.uit {
    color: gray;
    cursor: not-allowed;
}
#insta_modal span.next {
    right: calc(20vw - 60px);
}
#insta_modal div.close {
    position: absolute;
    top: 20px;
    right: 40px;
    cursor: pointer;
}
#insta_modal_link {
    font-style: italic;
    text-decoration: none;
    color: var(--secColor);
}
@media (max-width: 1000px) {
    #insta_modal {
        height: 80vh;
        width: 68vw;
        padding: 10vh 16vw;
    }
    #insta_modal_content {
        grid-template-rows: 48vh 1fr;
        gap: 2vh;
        grid-template-columns: 1fr;
    }
    #insta_modal img {
        max-height: 48vh;
    }
    #insta_modal_content > div {
        height: 30vh;
        overflow: hidden;
    }
    #insta_modal div.close {
        top: 10px;
        right: 10px;
    }
    #insta_modal span.prev {
        left: 10px;
    }
    #insta_modal span.next {
        right: 10px;
    }
}

body {
    --productsAspectRatio: 133%;
}
.lg_product {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--stdColGap);
}
@media (min-width: 600px) {
    .lg_product {
        grid-template-columns: 1fr 1fr;
        position: relative;
    }
    .lg_product > div:nth-of-type(2) {
        position: sticky;
        height: max-content;
        top: calc(16px + var(--topBarHeight));
    }
}
.lg_product .lg_product_images {
    display: grid;
    gap: 8px;
    height: max-content;
}
.lg_product .lg_product_images picture {
    padding-top: var(--productsAspectRatio);
    width: 100%;
    position: relative;
    height: 0;
}
.lg_product .lg_product_images picture img {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
@media (max-width: 599px) {
    .lg_product .lg_product_images {
        grid-template-rows: 1fr;
        grid-auto-columns: auto;
        grid-auto-flow: column;
        overflow-x: scroll;
        scroll-snap-type: x proximity;
        margin-right: -16px;
        scrollbar-width: none;
    }
    .lg_product .lg_product_images::after {
        content: '';
        width: 26px;
    }
    .lg_product .lg_product_images::-webkit-scrollbar {
        display: none;
    }
    .lg_product .lg_product_images picture {
        scroll-snap-align: start;
        width: min(300px, 82vw);
    }
}
@media (min-width: 1000px) {
    .lg_product .lg_product_images {
        grid-template-columns: 1fr 1fr;
    }
}

.lg_product .lg_productActions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 16px 0;
}
@media (min-width: 1600px) {
    .lg_product .lg_productActions {
        grid-template-columns: 1fr 1fr;
    }
}
.lg_product .lg_addToCart,
.lg_product .lg_directCheckout {
    padding: 6px;
    border: 1px solid #444444;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.8px;
    transition: 0.25s;
    cursor: pointer;
}
.lg_product .lg_addToCart {
    background: #444444;
    color: white;
}
.lg_product .lg_directCheckout {
    background: #eeeeee;
    color: #444444;
}
.lg_product .lg_addToCart:hover {
    background: black;
    color: white;
}
.lg_product .lg_productActions.disabled .lg_addToCart:hover {
    background: #444444;
    color: white;
    cursor: not-allowed;
}
.lg_product .lg_directCheckout:hover {
    background: white;
}
.lg_product label {
    padding: 6px 12px;
    margin-top: 8px;
    border: 1px solid var(--blackColor);
    cursor: pointer;
    display: inline-block;
}
.lg_product label.unavailable {
    color: darkgray;
    border: 1px solid darkgray;
    
    cursor: not-allowed;
    background-image: linear-gradient( to top left, transparent 48%, darkgray, transparent 52% );
    background-repeat: no-repeat;
}

.lg_product label.unavailable_label {
    color: darkgray;
    border: 1px solid darkgray;
    background: lightgray;
    text-decoration: line-through;
    cursor: not-allowed;
    pointer-events: none;
}

.lg_product .singleOption + label {
    padding: 0; margin: 0; border: none; cursor: unset; background: none; outline: none !important;
}

.lg_product input[type="radio"] {
    opacity: 0;
    z-index: -50;
    position: absolute;
    top: 0;
    left: 0;
}
.lg_product input[type="radio"]:checked + label {
    outline: 3px solid var(--blackColor);
    outline-offset: -3px;
    cursor: unset;
}

.lg_product input[type="radio"]:checked + label.complex {
    cursor: pointer;
}

#lg_productInfo {
    transition: 0.3s;
}
#lg_productInfo.toevoegen {
    opacity: 0.5;
}
#lg_productInfo.toevoegen::after {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
}


#simple_modal {
    position: fixed;
    top: 0;
    left: 0;
    height: 80vh;
    width: 90vw;
    padding: 10vh 5vw;
    background: rgba(255, 255, 255, 0.9);
    z-index: 50;
}

#simple_modal picture {
    display: grid;
    place-content: center;
}
#simple_modal img {
    height: min(80vh, 100%);
    width: auto;
}

#simple_modal div.close {
    position: absolute;
    top: 20px;
    right: 40px;
    cursor: pointer;
    color: black;
}
@media (max-width: 1000px) {
    #simple_modal {
        height: 80vh;
        width: 80vw;
        padding: 10vh 10vw;
    }
    #simple_modal img {
        max-height: 80vh;
        object-fit: contain;
    }
    #simple_modal div.close {
        top: 10px;
        right: 10px;
    }
}


.productImage {
    cursor: zoom-in;
}

#simple_modal, #simple_modal .productImage {
    cursor: zoom-out;
}

.price .oldPrice {
    position: relative;
}

.price .oldPrice::after {
    content:"";
    position: absolute;
    display: block;
    height: 2px;
    left: 0;
    right: 0;
    top: 50%;
    margin-top: -2px;
    background: var(--blackColor);
    transform: rotate(-10deg);
}

.saleSpan {
    text-transform: uppercase;
    margin-bottom: 6px;
    padding: 4px 16px;
    color: white;
    background: black;
    font-size: 0.95rem;
    display: inline-block;
}

.outOfStockSpan {
    text-transform: uppercase;
    margin-bottom: 6px;
    margin-right: 6px;
    padding: 4px 16px;
    color: black;
    background: lightgray;
    font-size: 0.95rem;
    display: inline-block;
}

input#productPrice {
    width: 80px;
    border: 1px solid var(--blackColor);
    padding: 4px 8px;
}
#top_bar {    position: fixed;    top: var(--extraOffset);    z-index: 20;    box-shadow: 0 2px 4px 0 lightgray;}:root {
    --extraOffset: 0px;
}

#top_bar {
    display: grid;
    grid-template-columns: 2fr 4fr 2fr;
    height: var(--topBarHeight);
    width: calc(100vw);
    align-content: center;
}

#menu {
    grid-area: 1/1;
    display: flex;
}

#menu_content_wrapper {
    font-weight: bolder;
}

#menu_logo {
    height: calc(var(--topBarHeight) - 10px);
    object-fit: contain;
}

#menu_logo, #menu_content_wrapper nav, #sec_nav {
    padding: 20px;
}

@media (min-width: 600px) {
    #menu_logo, #menu_content_wrapper nav, #sec_nav {
        padding-left: 60px;
    }
}

@media (min-width: 1000px) {
    #menu_logo, #menu_content_wrapper nav, #sec_nav {
        padding-left: 80px;
    }
}

#language-navigation {
    text-transform: uppercase;
}

#sec_nav {
    padding-bottom: 16vw;
    font-size: 0.9em;
    text-align: center;
}

.menu_item_overlay {
    display: inline-block;
    font-size: 1rem;
    font-weight: normal;
    color: var(--menuTextColor);
    padding: 4px 8px;
    border-radius: var(--borderRadius);
    border: none;
    border-bottom: none;
    text-decoration: none;
    max-width: 100%;
}

#main_nav a {
    width: max-content;
}

#language-navigation {
    gap: 0px;
    display: flex;
    position: fixed;
    right: 8px;
    top: calc(14px + var(--extraOffset));
    background: hsla(var(--whiteColorHSL),1);
    padding: 4px;
    cursor: pointer;
}

.language_list_wrapper {
    display: inline-flex;
    flex-direction: column;
    height: calc(1rem + 8px);
    overflow: hidden;
}

#language-navigation.expanded .language_list_wrapper,
#language-navigation:hover .language_list_wrapper {
    overflow: visible;
    height: unset;
}

.language_label {
    padding: 4px 0px 4px 12px;
    color: var(--menuTextColor);
    border: none;
    border-bottom: none;
    text-decoration: none;
    width: max-content;
    line-height: 1;
}

a.language_label:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

#main_nav a:hover,
.expand_sub_menu:hover,
.minimize_sub_menu:hover {
    background: linear-gradient(var(--menuHoverColor), var(--menuHoverColor)) 50% calc(100% - 0px)/60% 3px no-repeat;
}

#menu_content_wrapper nav#main_nav a.menu_child:hover {
    background: unset;
    border-radius: unset;
}

#sec_nav div {
    margin: 3vh 0;
}

#menu_overlay {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 15;
    height: 100vh;
    width: 100vw;
    opacity: 0.5;
    background: darkgray;
}

#logo {
    display: grid;
    place-items: center center;
}

#logo a {
    height: max-content;
    display: flex;
    max-height: var(--topBarHeight);
}

#logo img {
    max-height: calc(var(--topBarHeight) - 10px);
    object-fit: contain;
    border-radius: 0;
}

#sec_nav a svg { height: 18px; width: 18px; }
#sec_nav a svg .st0 { fill: none; }
#sec_nav a svg path { fill: var(--secColor); }

.menu_parent { position: relative; }

.sub_menu {
    display: flex;
    flex-direction: column;
    display: none;
    position: absolute;
    min-width: 100%;
    background: white;
    margin-top: 0;
    border: 1px solid lightgray;
    padding: 8px;
}

.menu_parent .sub_menu .menu_item_overlay {
    display: block;
    width: max-content;
    padding: 4px 0 2px 0;
    margin-right: 1.5vw;
    margin-bottom: 2px;
    border-bottom: 2px solid transparent;
}

.menu_parent .sub_menu .menu_item_overlay:hover {
    background: none;
    border-bottom: 2px solid var(--terColor);
}

.expand_sub_menu { display: none; }
.minimize_sub_menu { display: none; }

.wzclose.icon {
    color: var(--menuToggleColor);
    position: absolute;
    width: var(--mw);
    height: var(--mw);
    border-radius: var(--borderRadius);
}
.wzclose.icon:before {
    content: '';
    position: absolute;
    top: var(--mp);
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-radius: var(--borderRadius);
}
.wzclose.icon:after {
    content: '';
    position: absolute;
    top: var(--mp);
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-radius: var(--borderRadius);
}

.socialLinks_wrapper {
    display: flex;
    gap: 4px;
    align-items: first baseline;
}

.leadingElementTextContainer {
    display: flex;
    gap: 12px;
}

.block .part .leadingElementTextContainer > picture {
    margin: 0;
    flex-shrink: 0;
    align-self: baseline;
}

.block .part .leadingElementTextContainer > .pageContent {
    flex-grow: 1;
}
@media (max-width: 768px) {
:root {
    --topBarHeight: 60px;
}
#main_nav {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.menu_item_overlay {
    width: max-content;
}
#menu_content_wrapper {
    position: fixed;
    height: 100vh;
    width: min(80vw, 500px);
    top: 0;
    left: 0;
    z-index: 20;
    display: grid;
    grid-template-rows: 1fr 5fr 3fr;
    transform: translateX(calc(-1 * min(80vw, 500px)));
    transition: transform 0.5s ease-in-out;
    overflow-y: scroll;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
}
#menu_content_wrapper.show_menu {
    transform: translateX(0);
}
#menu_toggle {
    position: relative;
}
#menu_toggle, #menu_close {
    cursor: pointer;
    width: var(--mw);
    height: calc( var(--mw) / 1.2);
    margin: auto 0 auto 16px;
    display: flex;
}
#menu_close {
    position: absolute;
    right: var(--mp);
    top: calc(var(--extraOffset) + var(--mp) );
    z-index: 99;
}
.wzmenu.icon {
    color: var(--menuToggleColor);
    position: relative;
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    border-radius: var(--borderRadius);
    margin: auto 0;
}
.wzmenu.icon:before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    border-radius: var(--borderRadius);
}
.wzmenu.icon:after {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: var(--mw);
    height: var(--mt);
    background-color: currentColor;
    border-radius: var(--borderRadius);
}
.sub_menu {
    display: flex;
    flex-direction: column;
    position: relative;
    border: none;
    padding-top: 0;
    margin-left: 16px;
    background: none;
    min-width: 0;
}
.sub_menu {
    display: none;
}
.menu_parent.expanded .sub_menu {
    display: flex;
}
.expand_sub_menu, .minimize_sub_menu {
    display: inline-block;
    font-size: 1.2rem;
    padding: 4px;
    cursor: pointer;
}
.minimize_sub_menu {
    display: none;
}
.menu_parent .expand_sub_menu {
    display: inline-block;
}
.menu_parent.expanded .expand_sub_menu {
    display: none;
}
.menu_parent.expanded .minimize_sub_menu {
    display: inline-block;
}
}
@media (min-width: 769px) {
#menu_close, #menu_toggle, #menu_content_wrapper #sec_nav, #menu_logo {
    display: none;
}
#menu_content_wrapper {
    position: relative;
    display: block;
    height: auto;
    width: auto;
    left: auto;
}
#menu_content_wrapper nav a {
    display: inline-block;
    margin: 0 0 0 0;
}
#menu_content_wrapper nav a.menu_item_overlay:last-of-type {
    margin-right: -8px;
}
#menu_content_wrapper nav .sub_menu a.menu_item_overlay {
    margin-right: 0;
    white-space: nowrap;
}
#menu_content_wrapper nav {
    padding: 0;
    display: flex;
    gap: 1.5vw;
    align-items: center;
}
.menu_parent:hover .sub_menu {
    display: flex;
}
.shoppingCartWrap {
    margin-left: 60px;
}
#top_bar {
    display: grid;
    grid-template-columns: auto 4fr min-content;
    padding: 0 var(--stdPageMargin);
    width: calc(100% - 2 * var(--stdPageMargin));
}
#logo {
    grid-area: 1 / 1;
    place-items: center baseline;
}
#logo img {
    justify-self: start;
}
#menu {
    grid-area: 1 / 2;
    display: grid;
    justify-content: end;
}
#sec_nav {
    display: none;
}
#menu_content_wrapper {
    display: flex;
}

}
