@charset "utf-8";
/* CSS Document */

.arch-1 {
    width:100%;
    aspect-ratio:30/1;
    background:url('img/Blygold_arch_1.svg') top center / cover no-repeat;
}

.content ul {
    list-style:none;
    margin:1em 0;
    padding:0;
    font-weight:600;
    b, strong {
        font-weight:900;
    }
    li {
        position:relative;
        padding-left:2em;
        margin:.5em 0;
        &::before {
            content: url('data:image/svg+xml,<svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"><path d="M6.63281 5.55469L6.09375 6.09375L1.59375 10.5938L1.05469 11.1094L0 10.0547L0.539063 9.51562L4.5 5.55469L0.539062 1.59375L0 1.05469L1.05469 0L1.59375 0.515625L6.09375 5.01562L6.63281 5.55469Z" fill="white"/></svg>');
            font-family:var(--font-headings);
            position:absolute;
            top:.15em;
            left:0;
            display:flex;
            flex-wrap:wrap;
            align-content:center;
            justify-content: center;
            box-sizing:content-box;
            width:1.3em;
            height:1.4em;
            padding-left:.1em;
            background:var(--sec-color);
            border-radius:100px;
        }
    }
    &.checklist li::before {
        content: url('data:image/svg+xml,<svg width="12" height="11" viewBox="0 0 12 11" xmlns="http://www.w3.org/2000/svg"><path d="M11.1094 0.890625L10.6641 1.5L4.66406 9.75L4.14844 10.4531C4.14844 10.4297 2.92969 9.23438 0.539063 6.84375L0 6.30469L1.05469 5.25C1.10156 5.29688 2.08594 6.25781 3.96094 8.15625L9.44531 0.609375L9.89062 0L11.1094 0.890625Z" fill="white"/></svg>');
    }
}

.video_wrap, .video-wrap {
    position:relative;
    width:100%;
    video, iframe {
        width:100%;
        height:auto;
        aspect-ratio:16/9;
        object-fit:contain;
        object-position:center;
    }
}

.fw-img {
    display:block;
    width:100%;
    position:relative;
    &.hasswirl::after {
        content:'';
        display:block;
        position:absolute;
        top:0;
        left:0;
        z-index:2;
        pointer-events: none;
        width:100%;
        aspect-ratio:5.6/1;
        opacity:.64;
        background:url('img/Blygold_NL_fwimg_swirl1.svg') top center / cover no-repeat;
        /*mix-blend-mode: multiply;*/
    }
    &.swirl-white::before, &.swirl-yellow::before, &.swirl-black::before {
        content:'';
        display:block;
        position:absolute;
        top:-1px;
        left:0;
        z-index:3;
        pointer-events: none;
        width:100%;
        aspect-ratio:7.7/1;
        background:url('img/Blygold_NL_fwimg_swirl_white.svg') top center / cover no-repeat;
    }
    &.swirl-yellow::before {
        background:url('img/Blygold_NL_fwimg_swirl_yellow.svg') top center / cover no-repeat;
    }
    &.swirl-black::before {
        background:url('img/Blygold_NL_fwimg_swirl_black.svg') top center / cover no-repeat;
    }
    img {
        display:block;
        width:100%;
        height:auto;
        aspect-ratio:19/8;
        object-fit:cover;
        object-position:center;
    }
}

.img-square {
    display:block;
    width:100%;
    img, video {
        display:block;
        width:100%;
        height:auto;
        aspect-ratio:1/1;
        object-fit:cover;
        object-position:Center;
    }
}
div:has(> .imgwrap-content) {
    position:relative;
    &::before {
        content:'';
        display:block;
        width: 100%;
        height:100%;
        background: linear-gradient(rgba(253, 195, 0, 0.6)), linear-gradient(rgba(24, 27, 28, 0.3));
        mix-blend-mode: multiply;
        position: absolute;
        top:0;left:0;
        z-index:3;
    }
}
.imgwrap-content {
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:100%;
    z-index:5;
    padding:2rem;
    color:white;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    justify-content: flex-start;
}
  
div:has(> .borderblock) {
    align-items:stretch;
}
.borderblock {
    display:flex;
    flex-wrap:wrap;
    flex-wrap:nowrap;
    flex-direction:column;
    align-items:flex-start;
    padding:2rem;
    border:1px solid var(--tint-color);
    margin-bottom:2rem;
    p {
        margin:0;
    }
    p:has(+ p), p:has(+ .button), p:has(+ .simplebutton) {
        margin-bottom:1rem;
    }
    h2, .h2, h4, .h4 {
        margin:0;
    }
    h3, .h3 {
        margin-top:0;
    }
    & > * {
        width:100%;
    }
    .button, .simplebutton {
        margin-top:auto;
        width:auto;
    }
    .bg-1 & p {
        font-size:var(--font-size-xl);
        line-height:140%;
    }
}
img.icon {
    display:block;
    width:128px;
    height:auto;
    aspect-ratio:1/1;
    object-fit:contain;
    object-position:top left;
    max-width:30%;
    overflow-clip-margin: unset;
    margin-bottom:1rem;
}
img.icon-s {
    display:block;
    width:80px;
    height:auto;
    aspect-ratio:1/1;
    object-fit:contain;
    object-position:top left;
    max-width:25%;
    overflow-clip-margin: unset;
    margin-bottom:1rem;
}
img.icon-xs {
    display:inline-block;
    width:18px;
    height:auto;
    aspect-ratio:1/1;
    object-fit:contain;
    object-position:center;
    overflow-clip-margin: unset;
}

.slider-actueel, .projects-slider, .cards-slider, .gallery-slider {
    display:flex;
    flex-wrap:wrap;
    .slick-track {
        display:flex;
        flex-wrap:wrap;
        align-items:stretch;
    }
    .slick-slide {
        display:flex;
        flex-wrap:wrap;
        align-items:stretch;
        height:auto;
        float:none;
    }
    .borderblock {
        width:506px;
        max-width:calc(100vw - 48px);
        margin-right:48px;
        margin-bottom:0;
    }
}
.bg-1 .slider-actueel p {
    font-size:1rem;
    line-height:160%;
}

.project-slide {
    width:1130px;
    max-width:calc(100vw - 48px);
    margin-right:24px;
    justify-content: flex-start;
    align-items:stretch;
    text-decoration:none;
    .project-slide-content  {
        position:relative;
        border:1px solid rgba(135, 141, 145, 0.3);
        display:flex;
        flex-wrap:wrap;
        flex-wrap:nowrap;
        flex-direction:column;
        align-items:flex-start;
        justify-content:flex-end;
        padding:2rem 6rem 2rem 2rem;
        .project-intro {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 6;
            overflow: hidden;
        }
        &::after {
            content:'';
            position:absolute;
            bottom:2rem;
            right:2rem;
            display:block;
            width:3rem;
            height:3rem;
            background:url('img/icons/arrow_right.svg') var(--main-color) center / 1rem auto no-repeat;
            transition:.3s ease;
        }
        .project-title {
            width:calc(100% - 6rem);
            margin:auto 0 0 0;
        }
    }
    &:hover .project-slide-content::after {
        background-color:var(--tert-color);
        background-position:calc(50% + .1rem) center;
    }
}
.project-tags {
    font-size:14px;
    text-transform:uppercase;
    color:var(--text-color);
    text-shadow:0 0 16px rgba(255,255,255,0.16);
    div:has(>&) {
        position:relative;
    }
    position:absolute;
    top:1.5rem;
    left:2rem;
    z-index:5;
    font-family:var(--font-headings);
    font-weight:900;
    .separator {
        display:inline-block;
        width:2px;
        background:var(--main-color);
        height:1em;
        margin:0 1em;
        transform:TranslateY(2px);
    }
}
.img-square:has(.project-tags:not(:empty))::before {
    content:'';
    display:block;
    position:absolute;
    z-index:2;
    pointer-events:none;
    top:0;
    left:0;
    width:100%;
    height:6rem;
    background:linear-gradient(to bottom, rgba(255,255,255,0.28), rgba(255,255,255,0.22), rgba(255,255,255,0));
}
.gallery-slider {
    .slick-list {
        margin:0 min(-1vw, -1rem);
        min-width:100%;
    }
    .slick-slide {
        padding:0 min(1vw, 1rem);
        picture {
            display:contents;
        }
        img {
            display:block;
            width:100%;
            height:auto;
            aspect-ratio:1/1;
            object-fit:cover;
            object-position: center;
        }
    }
}
@media screen and (max-width:767px) {
    .project-slide {
        align-content: flex-start;
        .project-slide-content {
            .project-intro {
                display:none;
            }
        }
    }
}

.card {
    position:relative;
    width:760px;
    max-width:90vw;
    max-width:calc(100vw - 48px);
    aspect-ratio:10/11;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    justify-content:flex-start;
    padding:2rem;
    margin-right:48px;
    &.card-xs {
        width:560px;
    }
    .card-bg {
        display:block;
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;
    }
    &::before {
        content:'';
        display:block;
        width:100%;
        height:80%;
        position:absolute;
        z-index:1;
        bottom:0;
        left:0;
        background:linear-gradient(to top, rgba(24, 27, 28, .8), rgba(24, 27, 28, .6), rgba(24, 27, 28, 0));
    }
    .card-content {
        position:relative;
        z-index:5;
    }
}
@media screen and (max-width:768px) {
    .card {
        .card-content {
            p {
                line-height:130%;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 6;
                overflow: hidden;
            }
        }
    }
}

.slick-prev, .slick-next {
    order:2;
    -webkit-appearance:none;
    border:none;
    border-radius:0;
    cursor:pointer;
    background:transparent;
    color:var(--offwhite-color);
    font-size:0;
    display:inline-block;
    width:32px;
    height:32px;
    background:url('img/icons/arrow_right_yellow.svg') center / .9rem no-repeat;
    transform:rotate(180deg);
    filter:brightness(0) invert(1);
    margin-top:2rem;
    border:1px solid transparent;
    transition:.32s ease;
    .projects-slider &, .gallery-slider & {
        filter:brightness(0);
    }
    &:hover {
        filter:none;
        border-color: var(--main-color);
    }
}
.slick-next {
    order:4;
    transform:rotate(0);
}
.slick-dots {
    order:3;
    list-style:none;
    margin:2rem .5rem 0 .5rem;
    padding:0;
    &:has(> :only-child) {
        display:none;
    }
    .projects-slider & li::before{
        background-color:var(--sec-color);
    }
    li {
        display:inline-flex;
        flex-wrap:wrap;
        align-content:center;
        align-items:center;
        justify-content: center;
        width:24px;
        height:32px;
        cursor:pointer;
        position:relative;
        &::before {
            content:'';
            display:block;
            width:4px;
            height:4px;
            background-color:var(--offwhite-color);
            transition:.32s ease;

        }
        &:hover::Before {
            background:var(--main-color);
        }
        &.slick-active::before {
            width:16px;
            background:var(--main-color);
        }
        button {
            display:none;
        }
    }
}

.quote-wrap {
    position:relative;
    z-index:5;
    background-color:var(--sec-color);
    color:white;
    padding:2rem;
    align-self:center;
    width:100%;
}
@media screen and (min-width:768px) {
    .quote-wrap {
        width:560px;
        max-width:50%;
        padding-right:5rem;
        margin-left:auto;
        transform:translateX( min(15%, 5vw) );
        &.alignleft {
            margin-left:0;
            margin-right:auto;
            padding-right:2rem;
            padding-left:5rem;
            transform:translateX( min(-15%, -5vw) );
        }
    }
}

.steps {
    counter-reset: steps;
    .step {
        &::before {
            counter-increment: steps;
            content:counter(steps);
            display:flex;
            flex-wrap:wrap;
            align-content:center;
            text-align:center;
            justify-content:center;
            width:80px;
            height:80px;
            background:var(--main-color);
            color:var(--sec-color);
            margin-bottom:1rem;
            border-radius:100px;
            font-size:calc(2.3 * var(--font-size));
            font-family:var(--font-headings);
            font-weight:800;
        }
        &:only-child::before {
            content:none;
        }
    }
}

.faq {
    border:1px solid var(--tint-color);
    margin-bottom:1rem;
    padding:2rem 6rem 2rem 1rem;
    position:relative;
}
.faq .question::before {
    content:'';
    position:absolute;
    top:1rem;
    right:1rem;
    display:flex;
    width:calc(var(--font-size-s) * 4);
    aspect-ratio:1/1;
    background-color:var(--tint-color-2);
    transition:.3s ease;
}
.faq .question::after {
    content:'';
    position: absolute;
    top:calc(1rem + var(--font-size-s) * 2);
    right:calc(1rem + var(--font-size-s) * 2);
    display:block;
    width:var(--font-size-s);
    height:calc(2 * var(--font-size-s));
    transform:Translate(50%, -50%) rotate(-90deg);
    background:url('img/icons/arrow_down.svg') center / contain no-repeat;
    transition:.3s ease;
    filter:brightness(0) invert(1);
}
.activefaq .question::before {
    background-color:var(--main-color);
}
.activefaq .question::after {
    transform:Translate(50%, -50%);
    filter:none;
}

.faq .question {
    position: static;
    cursor: pointer;
    transition:0.3s ease;
    font-size:var(--font-size-xl);
    font-weight:600;
    line-height:125%;
}
.faq .answer {
    padding: 0;
    max-height: 0;
    transition: 0.6s ease;
    overflow: hidden;
}
.activefaq .answer {
    max-height: 1000px;
    padding-top: 1rem;
}

.share {
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    align-content:center;
    span {
        font-size:var(--font-size-s);
        font-weight:600;
        display:inline-block;
        margin-right:2rem;
    }
    .sharebutton {
        position:relative;
        display:flex;
        align-items:center;
        justify-content: center;
        width:64px;
        aspect-ratio:1/1;
        background:var(--sec-color);
        -webkit-appearance:none;
        border:none;
        border-radius:0;
        cursor:pointer;
        text-decoration:none;
        transition:.16s ease;
        &::after {
            content:'☑';
            position:absolute;
            top:50%;
            left:50%;
            transform:translate(-50%, -50%);
            width:32px;
            height:auto;
            font-size:2rem;
            font-weight:700;
            text-align: center;
            align-content:center;
            color:white;
            opacity:0;
            transition:.3s ease;
            pointer-events:none;
        }
        &.show-feedback::after {
            opacity:1;
        }
        &:hover {
            background:var(--main-color);
        }
        img {
            display:block;
            filter:brightness(0) invert(1);
            width:24px;
            height:22px;
            object-fit:contain;
            object-position:center;
            overflow-clip-margin: unset;
        }
        &.show-feedback img {
            opacity:0;
        }
    }
    &::after {
        content:'';
        display:block;
        height:1px;
        flex:1 1 0px;
        background:var(--tint-color);
        margin-left:2rem;
    }
}

@keyframes fadeOut {
  0% { opacity: 1; }
  80% { opacity: 1; }
  100% { opacity: 0; }
}

.image-compare {
    display:block;
    position: relative;
    overflow: hidden;
    width: 100%;
    user-select: none;
    height:auto;
    aspect-ratio:16/9;
    height:0;
    padding-top:56.25%;
    touch-action: none;
    div > & {
        align-items:flex-start;
    }
    picture {
        display:contents;
    }
    img {
        display:block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        pointer-events: none;
        &.img-1 {
            z-index: 1;
        }
        &.img-2 {
            z-index: 2;
            clip-path: inset(0 0 0 50%);
        }
    }
    .img-compare-slide {
        position: absolute;
        top: 0;
        left: 50%;
        width: 4px;
        height: 100%;
        background: #fff;
        transform: translateX(-50%);
        cursor: ew-resize;
        z-index: 5;
        &::before, &::after {
            content:'';
            display:block;
            position:absolute;
            top:50%;
            right:50%;
            transform:translateY(-50%) rotate(180deg);
            width:3rem;
            max-width:8vw;
            aspect-ratio:1/1;
            background: url('img/icons/arrow_right.svg') var(--offwhite-color) center / 32% no-repeat;
        }
        &::after {
            right:auto;
            left:50%;
            transform:TranslateY(-50%);
        }
    }
    .compare-label {
        display:block;
        position: absolute;
        bottom: 0;
        padding: .64em 1em;
        background: var(--sec-color);
        color: var(--offwhite-color);
        font-size: 16px;
        font-family: var(--font-headings);
        text-transform:uppercase;
        font-weight:800;
        pointer-events: none;
        transition: opacity .2s ease;
        &.is-hidden {
            opacity: 0;
        }
        &.label-1 {
            left: 0;
            z-index:1;
        }
        &.label-2 {
            right: 0;
            z-index:3;
        }
    }
}
@media screen and (max-width:768px) {
    .image-compare .compare-label {
        font-size:11px!important;
        padding:.5em .75em;
    }
}


.contentslider, .quote-slider {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
    .slick-track {
        display:flex;
        flex-wrap:wrap;
        align-items:center;
    }
}
.gridblock-wrap {
    align-items:center;
    justify-content: space-between;
}
@media screen and (max-width:767px) {
    .gridblock-wrap {
        padding:0;
    }
    .gridblock-column > div {
        margin-bottom:0;
    }
}
.gridblock-1,.gridblock-2,.gridblock-3,.gridblock-4,.gridblock-5,.gridblock-6 {
    margin-bottom:32px;
}
.gridblock-1 {
    padding:2rem;
    background-color:var(--sec-color);
    color:var(--offwhite-color);
    text-align:center;
}
.gridblock-2 {
    .gridblock-2-content {
        width:100%;
        padding:2rem;
        background:var(--offwhite-color);
        color:var(--text-color);
    }
    .button {
        background:transparent;
        border:1px solid rgba(24, 27, 28, 0.3);
    }
}
.gridblock-3 {
    .gridblock-3-content {
        background:var(--sec-color);
        color:var(--offwhite-color);
        padding:2rem;
    }
    .quote-imgs-slider {
        width:100%;
    }
    .quote-slider {
        justify-content: flex-start;
    }
}
.gridblock-4 {
    background-color:var(--tert-color);
    text-align:center;
    padding:2rem;
    .button {
        background:transparent;
        border:1px solid rgba(24, 27, 28, 0.3);
    }
}
.gridblock-5 {
    background-color:var(--offwhite-color);
    padding:2rem;
    .button {
        background:transparent;
        border:1px solid rgba(24, 27, 28, 0.3);
    }
}
.gridblock-6 {
    background-color:var(--sec-color);
    color:var(--offwhite-color);
    .gridblock-6-content {
        padding:2rem;
    }
    .button {
        background:transparent;
        color:var(--offwhite-color);
        border:1px solid currentColor;
        &::after {
            filter:brightness(0) invert(1);
        }
    }
}



footer {
    background-color:white;
    padding-bottom:64px;
    &::before {
        content:'';
        display:block;
        width:100%;
        aspect-ratio:5/1;
        background:url('img/Blygold_NL_swirl_footer.svg') -1px center / cover no-repeat;
    }
    .footer-container {
        margin-top:64px;
        margin-bottom:64px;
    }
    .div20 {
        padding:2rem 0;
    }
    .footer-contact {
        border:1px solid var(--tint-color);
        padding:2rem;
    }
    .h3 {
        margin:0;
    }
    .dash-1 {
        margin-top:1rem;
        margin-bottom:1.25rem;
    }
    ul {
        font-size:var(--font-size-s);
        font-weight:400;
        margin:0;
        padding:0;
        list-style:none;
        li {
            a {
                text-decoration:none;
                &::before {
                    content: url('data:image/svg+xml,<svg width="7" height="12" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"><path d="M6.63281 5.55469L6.09375 6.09375L1.59375 10.5938L1.05469 11.1094L0 10.0547L0.539063 9.51562L4.5 5.55469L0.539062 1.59375L0 1.05469L1.05469 0L1.59375 0.515625L6.09375 5.01562L6.63281 5.55469Z" fill="white"/></svg>');
                    display:inline-block;
                    filter:brightness(0.05);
                    margin-right:.5em;
                    transform:translateY(2px);
                }
            }
        }
    }
    .footer-socials {
        font-family:var(--font-headings);
        font-weight:900;
        text-transform:uppercase;
        ul {
            display:inline-block;
            list-style:none;
            margin:0;
            padding:0;
            li {
                display:inline-block;
                margin-left:.5rem;
                a {
                    text-decoration:none;
                    display:flex;
                    flex-wrap:wrap;
                    align-content:center;
                    justify-content:center;
                    width:32px;
                    height:auto;
                    aspect-ratio: 1/1;
                    border:1px solid var(--tint-color);
                    &::before {
                        content:unset;
                    }
                }
            }
        }
    }
}
@media screen and (min-width:768px) {
    footer {
        .footer-contact {
            margin-right:4rem;
        }
    }
}
@media screen and (max-width:1080px) {
    footer {
        .div20 {
            width:calc(50% - 24px);
        }
        .footer-contact {
            width:100%;
            margin-right:0;
        }
        .footer-socials {
            margin-top:2rem;
        }
    }
}
@media screen and (max-width:512px) {
    footer {
        .div20 {
            width:100%;
        }
    }
}