/**
 * Theme Name: Block n Roll
 * Version: 1.1.4
 * Author: DIGIWEDO
 * Author URI: https://digiwedo.nl/
 * Text Domain: blocknroll
 */

:root {
    --swiper-navigation-size: 2rem;
    --swiper-pagination-bullet-size: 0.5rem;
    --swiper-pagination-bullet-color: #000000;
    --swiper-pagination-bullet-opacity: 1;
    --swiper-pagination-bullet-inactive-color: #000000;
    --swiper-pagination-bullet-inactive-opacity: 0.25;
    --swiper-pagination-bullet-horizontal-gap: 0.5rem;
    --swiper-pagination-bullet-vertical-gap: 0.5rem;
}

/*Parallax*/

.has-parallax-small {
    position: relative;
}

.parallax-container0,
.parallax-container {
    position: relative;
    overflow: hidden;
}

.parallax-container0 figure,
.parallax-container figure {
    min-height: 100%;
}

.parallax-container0 img,
.parallax-container img {
    position: absolute;
    top: 10%;
    width: 100%;
    min-height: 100%;
    height: 120% !important;
    object-fit: cover;
}

.is-animated-wrapper {
    overflow: hidden;
}

.has-incoming-text-anim .masking-text {
    overflow: hidden;
}

.has-border-top {
    position: relative;
}

.has-border-top-anim {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--wp--preset--color--white);
    transform-origin: left;
}

.has-border-top-anim-blue {
    background-color: var(--wp--preset--color--blue);
}

.wp-block-separator {
    border: none;
    border-top: 0 !important;
    margin: 0 !important;
}

.has-background .wp-block-paragraph, .has-background .wp-block-heading {
    color: var(--wp--preset--color--white);
}

.has-white-background-color .wp-block-paragraph, .has-white-background-color .wp-block-heading {
    color: var(--wp--preset--color--blue);
}

.is-style-fill a,
.is-style-outline a {
    --btn-gradient: linear-gradient(
            90deg,
            rgba(253, 218, 81, 1) 0%,
            rgba(253, 218, 81, 1) 50%,
            rgba(0, 25, 65, 1) 50%,
            rgba(0, 25, 65, 1) 100%
    );
}

/* Buttons in een .has-background container: geel → wit */
.has-background .wp-block-button.is-style-fill a,
.has-background .wp-block-button.is-style-outline a {
    --btn-gradient: linear-gradient(
            90deg,
            rgba(253, 218, 81, 1) 0%,
            rgba(253, 218, 81, 1) 50%,
            rgba(255, 255, 255, 1) 50%,
            rgba(255, 255, 255, 1) 100%
    );
}

.is-style-fill a,
.is-style-outline a,
.has-background .wp-block-button.is-style-fill a,
.has-background .wp-block-button.is-style-outline a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    overflow: visible;
    position: relative;
    text-decoration: none;
    border-radius: 0 !important;
    background: var(--btn-gradient);
    background-size: 200% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    transition: background-position 0.4s;
}

.is-style-fill a::after,
.is-style-outline a::after,
.has-background .wp-block-button.is-style-fill a::after,
.has-background .wp-block-button.is-style-outline a::after {
    content: '↗';
    display: inline-flex;
    align-items: center;
    font-size: 1.25rem;
    border-radius: 0 !important;
    background: var(--btn-gradient);
    background-size: 200% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    transition: background-position 0.4s, transform 0.3s;
}

.is-style-outline a:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    top: auto;
    background-color: var(--wp--preset--color--yellow);
    transition: width 0.4s ease;
    height: 1px;
}

.is-style-outline a:hover:before {
    width: 100%;
}

.is-style-button-underline a:after {
    content: ' ↗';
    display: inline-flex;
    align-items: center;
    font-size: 1.25rem;
    border-radius: 0 !important;
    transition: 0.4s;
    margin-left: 0.5rem;
}

.is-style-button-underline a:hover:after  {
    background-position: 0 0;
    transform: rotate(45deg);
}

.is-style-fill a:hover,
.is-style-outline a:hover,
.has-background .wp-block-button.is-style-fill a:hover,
.has-background .wp-block-button.is-style-outline a:hover {
    background-position: 0 0;
}

.is-style-fill a:hover::after,
.is-style-outline a:hover::after,
.has-background .wp-block-button.is-style-fill a:hover::after,
.has-background .wp-block-button.is-style-outline a:hover::after {
    background-position: 0 0;
    transform: rotate(45deg);
}

.js-projects-load-more {
    padding: 0 !important;
}

.projects-load-more-wrapper {
    display: flex;
    align-content: center;
    justify-content: center;
    width: max-content !important;
    margin-top: 2rem;
}

/* button-marker kleur */
.has-background .is-style-button-marker a {
    color: var(--wp--preset--color--white);
}

.is-style-button-marker {
    display: flex;
    align-items: center;
    position: relative;
    gap: 0.5rem;
    overflow: hidden;
    border-radius: 0;
    padding-right: 4px;
}

.is-style-button-marker .wp-block-button__link::after {
    content: '↗';
    display: inline-block;
    margin-left: 0.5rem;
    transition: transform 0.3s ease;
    position: relative;
    top: 0;
    z-index: 1;
}

.is-style-button-marker:hover .wp-block-button__link::after {
    transform: rotate(45deg);
}

.is-style-button-marker:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--wp--preset--color--yellow);
    transition: .3s;
    z-index: 0;
}

.is-style-button-marker:hover:before {
    width: 100%;
}

.is-style-button-marker > * {
    position: relative;
    z-index: 1;
}

.is-style-fill a:hover, .is-style-outline a:hover {
    background-position: 0 100% !important;
    transition: .4s ease;
}

.is-style-fill a:after, .is-style-outline a:after {
    display: inline-block;
    transform-origin: center center;
}

.is-style-fill a:after {
    content: "↓";
}

.is-style-outline a:after, .is-style-button-marker a:after {
    content: "↗";
}

.is-style-button-marker a:after {
    margin-left: 0.25rem;
}

/*Header*/

header.wp-block-template-part {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 997;
    right: 0;
    transition: .3s;
}

header.wp-block-template-part > div {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    padding: 0 1.5rem;
}

header.header--white-nav {
    position: fixed;
}

header.header-hidden {
    transform: translateY(-100%);
}

header.header-scrolled {
    background-color: var(--wp--preset--color--blue);
}

header.header-scrolled a {
    color: var(--wp--preset--color--white) !important;
}

.is-header-logo-white, .is-header-logo-blue {
    position: absolute;
    left: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
}

.page-id-10 header.header-scrolled .is-header-logo-white {
    display: block;
    opacity: 1 !important;
}

.page-id-10 .is-header-logo-white, .page-id-10 .is-header-logo-blue {
    display: none;
}

header .is-header-logo-white {
    opacity: 0;
    transition: opacity 0.3s ease;
}

header .is-header-logo-blue {
    opacity: 1;
    transition: opacity 0.3s ease;
}

header.header-scrolled .is-header-logo-blue {
    opacity: 0 !important;
}

header.header-scrolled .is-header-logo-white {
    opacity: 1 !important;
}

header.header--white-nav:not(.header-scrolled) .is-header-logo-blue {
    opacity: 0;
}

header.header--white-nav:not(.header-scrolled) .is-header-logo-white {
    opacity: 1;
}

.entry-content {
    margin-top: 0 !important;
}

header.header--white-nav
.wp-block-navigation__container
.wp-block-navigation-item__content,
header.header--white-nav
.wp-block-navigation__responsive-container-open {
    color: var(--wp--preset--color--white);
}

header.header-scrolled
.wp-block-navigation__container
.wp-block-navigation-item__content,
header.header-scrolled
.wp-block-navigation__responsive-container-open {
    color: var(--wp--preset--color--blue);
}

.wp-block-navigation-item__content {
    position: relative;
    display: inline-block;
}

.wp-block-navigation-item__content::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background-color: currentColor;
    transition: width 0.3s ease;
}

.wp-block-navigation-item__content:hover::after,
.wp-block-navigation-item__content:focus::after {
    width: 100%;
}



.page-id-10 .is-header-logo-white, .page-id-10 .is-header-logo-blue {
    display: none;
}

header.wp-block-template-part .is-header-logo-white {
    opacity: 0;
}

header.wp-block-template-part .is-header-logo-blue {
    opacity: 1;
}

header.header--white-nav .is-header-logo-blue {
    opacity: 0;
}

header.header--white-nav .is-header-logo-white {
    opacity: 1;
}

/*Footer*/

footer.alignfull.wp-block-template-part, footer.wp-block-template-part {
    margin-top: 0 !important;
}

.is-footer-bottom p {
    font-size: 0.875rem !important;
}

.is-footer-logo {
    margin-top: -2rem;
}

/*Hero*/

.is-pattern-hero {
    position: relative;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var(--wp--preset--color--blue);
    overflow: hidden;
    z-index: 0;
    background-image: none !important;
}

.is-pattern-hero > div {
    width: 100%;
}

.is-pattern-hero > * {
    position: relative;
}

.is-pattern-hero *:not(.is-hero-background-before) {
    z-index: 996;
}

.is-hero-background-before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 100%;
    height: 100%;
    background: var(--wp--preset--color--blue);
    margin-top: 0 !important;
    z-index: 998;
}

.is-hero-row-top,
.is-hero-row-bottom {
    position: relative;
    min-height: 50px;
    margin: 0 auto !important;
}

.is-hero-row-top {
    top: 50%;
    transform: translateY(-50%);
}

.is-hero-row-bottom {
    bottom: 50%;
    transform: translateY(50%);
}

.is-hero-icon-a {
    position: absolute;
    top: calc(50% + 10px);
    left: calc(50% - 95px);
    transform: translate(-50%, -50%);
    z-index: 999 !important;
    overflow: hidden;
}

.is-hero-icon-b {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
    overflow: hidden;
}

.is-hero-icon-c {
    position: absolute;
    top: calc(50% + 12px);
    left: calc(50% + 128px);
    transform: translate(-50%, -50%);
    z-index: 999;
    overflow: hidden;
}

.is-icon-vastgoed {
    font-size: 0.75rem;
}

.wp-block-group.is-pattern-hero::before,
.wp-block-group.is-pattern-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform-origin: center center;
    transform: scale(1);
    transition: opacity 800ms ease-in-out;
    z-index: 0;
}

.wp-block-group.is-pattern-hero::before {
    background-image: var(--hero-image-a);
}

.wp-block-group.is-pattern-hero::after {
    background-image: var(--hero-image-b);
}

.wp-block-group.is-pattern-hero.hero-fade-to-a::before {
    opacity: 1;
}

.wp-block-group.is-pattern-hero.hero-fade-to-a::after {
    opacity: 0;
}

.wp-block-group.is-pattern-hero.hero-fade-to-b::before {
    opacity: 0;
}

.wp-block-group.is-pattern-hero.hero-fade-to-b::after {
    opacity: 1;
}

@keyframes kenburns {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.04);
    }
}

.wp-block-group.is-pattern-hero.hero-ken-a::before {
    animation: kenburns 8000ms ease-out forwards;
}

.wp-block-group.is-pattern-hero.hero-ken-b::after {
    animation: kenburns 8000ms ease-out forwards;
}


















/*Projecten highlight*/
.is-swiper-projecten-highlight {
    height: 75vh;
    display: flex;
    align-items: flex-end;
    position: relative;
}

.is-swiper-projecten-highlight .wp-block-post.swiper-slide-visible {
    pointer-events: visible !important;
}

.is-swiper-projecten-highlight > div {
    height: 100%;
}

.is-swiper-projecten-highlight h2 {
    z-index: 2;
    position: relative;
}

.is-swiper-projecten-highlight h2 {
    margin: 0 !important;
}

.is-highlight-featured-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 125%;
    z-index: 1;
    margin-top: 0 !important;
}

.is-highlight-featured-image img {
    height: 100%;
    object-fit: cover;
}

.is-swiper-projecten-highlight li {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--wp--preset--spacing--section-text);
    box-sizing: border-box;
    margin-top: 0 !important;
}

.is-swiper-projecten-highlight .swiper-navigation {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 3rem);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
}

.is-swiper-projecten-highlight .swiper-button-prev,
.is-swiper-projecten-highlight .swiper-button-next {
    width: 15px;
    height: 40px;
    pointer-events: visible;
    z-index: 1;
    cursor: e-resize !important;
}

.is-swiper-projecten-highlight .swiper-button-prev {
    cursor: w-resize !important;
}





/*Actueel*/

.is-repeater-actueel {
    display: flex;
    align-items: flex-end;
    position: relative;
    width: 100%;
}

.is-repeater-actueel ul {
    width: 100%;
}

.actueel-repeater-wrapper {
    aspect-ratio: 3/2;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.actueel-repeater-wrapper h2 {
    transform: translateY(200%);
    z-index: 2;
    position: relative;
    transition: transform 0.5s ease-in-out;
}

.actueel-repeater-wrapper:hover h2 {
    transform: translateY(0);
}

.actueel-repeater-wrapper .is-actueel-featured-image {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(0);
    width: 100%;
    max-width: 100%;
    height: 120%;
    z-index: 1;
    margin-top: 0;
    object-fit: cover;
    object-position: center center;
}

.actueel-repeater-wrapper img {
    height: 100%;
    object-fit: cover;
}

.header-height-top {
    padding-top: calc(var(--header-height) + var(--wp--preset--spacing--section)) !important;
}

.is-pattern-image-slider .swiper-button-next {
    position: absolute;
    top: 50%;
    right: -2rem;
    transform: translateY(-50%);
}

.is-pattern-image-slider .swiper-button-prev {
    position: absolute;
    top: 50%;
    left: -2rem;
    transform: translateY(-50%);
}

@media(max-width: 1200px) {
    .is-pattern-image-slider .swiper-button-next {
        right: 0;
    }
    .is-pattern-image-slider .swiper-button-prev {
        left: 0;
    }
}


/*Single page hero*/

.is-pattern-single-page-hero {
    position: relative;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    object-fit: cover !important;
    background-size: cover !important;
    background-position: center !important;
}

.is-pattern-single-page-hero h1, .is-single-hero-title {
    z-index: 2;
}

.is-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 100%;
    height: 100%;
    background-color: #00000030;
    margin: 0 !important;
    z-index: 1;
}

.is-single-page-hero-content-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.is-single-page-hero-content-wrapper h1 {
    font-size: clamp(3rem, calc(3rem + (6.25 - 3) * ((100vw - 20rem) / (80 - 20))), 6.25rem);
    font-weight: 300;
}

.is-single-hero-title {
    position: absolute;
    right: 0;
    bottom: 3rem;
}

/* Project archief */

.taxonomy-project-status, .taxonomy-plaats {
    pointer-events: none;
}

.taxonomy-project-status {
    margin-right: 0.5rem !important;
}

/* ============================
   ACTUEEL ARCHIEF: marker + arrow
   ============================ */
.actueel-archief-content-wrapper {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: var(--wp--preset--color--blue) !important;

    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* Marker‑achtergrond */
.actueel-archief-content-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--wp--preset--color--yellow);
    transition: width 0.3s ease;
    z-index: 0;
}

.actueel-archief-content-wrapper:hover::before {
    width: 100%;
}

/* Titel en arrow */
.actueel-archief-content-wrapper h2 {
    display: inline-block;
    margin: 0;
    color: var(--wp--preset--color--blue);
    position: relative;
    z-index: 1;
}

.actueel-archief-content-wrapper h2::after {
    content: '↗';
    display: inline-flex;
    align-items: center;
    font-size: 1.5rem;
    margin-left: 0.5rem;
    transition: transform 0.3s ease;
    position: relative;
    z-index: 1;
}

.actueel-archief-content-wrapper:hover h2::after,
.is-pattern-actueel-archief li:hover h2::after {
    transform: rotate(45deg);
}

/* Marker‑achtergrond via li hover */
li.actueel:hover .actueel-archief-content-wrapper::before {
    width: 100%;
}

/* Arrow‑rotatie via li hover */
li.actueel:hover .actueel-archief-content-wrapper h2::after {
    transform: rotate(45deg);
}

/* ============================
   PROJECTEN ARCHIEF: marker + arrow
   ============================ */
.wp-block-group.project-archief-content-wrapper {
    /* Reset oude gradient */
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: var(--wp--preset--color--blue) !important;
    position: relative;
    overflow: hidden;
    display: flex;
    text-wrap: wrap;
    flex-wrap: wrap;
    white-space: nowrap;
    gap: 8px;
    row-gap: 0;
}

.is-style-button-underline {
    position: relative;
}

/* Underline effect */
/* Marker‑achtergrond */
.is-style-button-underline:before,
a.wp-block-button__link.wp-element-button.wp-load-more__button:before,
ul.tax-filter-list li a:before,
.wp-block-group.actueel-archief-content-wrapper::before,
.wp-block-group.project-archief-content-wrapper::before, .facetwp-facet-projecten_filter .facetwp-checkbox::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    top: auto;
    background-color: currentColor;
    transition: width 0.3s ease;
    height: 2px;
}

.has-background .is-style-button-underline:before {
    background-color: var(--wp--preset--color--yellow);
}

.is-style-button-underline:hover:before,
a.wp-block-button__link.wp-element-button.wp-load-more__button:hover:before,
ul.tax-filter-list li a:hover:before,
.wp-block-group.actueel-archief-content-wrapper:hover:before,
.wp-block-group.project-archief-content-wrapper:hover:before,
.is-pattern-project-archief li:hover .wp-block-group.project-archief-content-wrapper:before, .facetwp-facet-projecten_filter .facetwp-checkbox:hover::before,
.facetwp-facet-projecten_filter .facetwp-checkbox.checked::before,
.facetwp-facet-projecten_filter .facetwp-checkbox.facetwp-selected::before {
    width: 100%;
}

.is-style-button-underline:before,
ul.tax-filter-list li a:before {
    height: 1px;
}

ul.tax-filter-list li .active:before {
    width: 100% !important;
}

/* Inhoud (tekst) boven marker */
.wp-block-group.project-archief-content-wrapper > * {
    display: inline;
    margin: 0;
    vertical-align: middle;
    position: relative;
    z-index: 1;
}

.has-arrow-after,
.has-arrow-after > a {
    position: relative;
    display: inline !important;
}

/* Arrow */
.has-arrow-after:after,
.wp-block-group.project-archief-content-wrapper::after {
    content: '↗';
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.5rem;
    font-size: 1.5rem;
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease;
}

.has-arrow-after:hover:after,
.wp-block-group.project-archief-content-wrapper:hover::after,
.is-pattern-project-archief li:hover .wp-block-group.project-archief-content-wrapper::after {
    transform: rotate(45deg);
}

.is-pattern-project-archief .image-wrapper, .is-pattern-actueel-archief .image-wrapper {
    aspect-ratio: 3/2;
}

.is-pattern-project-archief .is-layout-grid {
    row-gap: var(--wp--preset--spacing--section-text) !important;
}

a.wp-block-button__link.wp-element-button.wp-load-more__button {
    position: relative;
    background: transparent;
    color: var(--wp--preset--color--blue);
    font-weight: 300;
    padding: 0;
}

a.wp-block-button__link.wp-element-button.wp-load-more__button > span {
    position: relative;
}

.my-cta-loop {
    display: contents;
}

.my-cta-loop .wp-block-post-template {
    display: contents;
    margin: 0;
    padding: 0;
}

.my-cta-loop li {
    margin-top: 0 !important;
}

.my-cta-loop > .wp-block-query-pagination-is-layout-flex {
    grid-column: 1 / -1;
}

.my-cta-loop > .wp-block-query-pagination-is-layout-flex .wp-block-query-pagination__arrow {
    transform: rotate(90deg);
}

.is-pattern-project-cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    min-height: 500px;
}

.is-pattern-team-cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
}



.is-pattern-team-cta:hover .is-project-icon,
.is-pattern-project-cta:hover .is-project-icon {
    fill: var(--wp--preset--color--yellow);
    rotate: -45deg;
}

.is-project-icon {
    transition: .3s;
}

.fixed-parallax {
    position: relative;
    width: 400px;
    height: 300px;
}

.fixed-parallax:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/wp-content/uploads/2025/06/Lorentz-hero-scaled-1.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* Image gallerij pattern */

.is-pattern-image-gallerij > div {
    margin-top: var(--wp--preset--spacing--section-text) !important;
}

.custom-margin-template {
	margin-top: 37px !important;
}

.custom-margin-template > div {
	margin-top: 0 !important;
}

/*Filter*/

ul.tax-filter-list, .facetwp-facet-projecten_filter {
    display: flex;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 1rem 0;
}

ul.tax-filter-list li a, .facetwp-facet-projecten_filter .facetwp-checkbox {
    position: relative;
    padding-bottom: 2px;
    text-decoration: none;
    color: inherit;
    display: inline-flex !important;
    cursor: pointer;
    align-items: baseline;
}

.facetwp-facet-projecten_filter .facetwp-counter {
    margin-left: 0.35rem;
    font-size: 0.875em;
    opacity: 0.7;
}

/*Load more*/
button.qllm-load-more {
    position: absolute;
    left: 50%;
    bottom: -3rem;
    transform: translateY(-50%);
}

/* Pattern title text */

.is-pattern-title-text h2 {
    margin-bottom: 3rem;
}

/*Quote*/

.is-pattern-quote p {
    font-style: italic;
}

/* Image gallery */

.is-swiper-gallery {
    height: 75vh;
    display: flex;
    align-items: flex-end;
    position: relative;
}

.is-swiper-gallery > div {
    height: 100%;
}

.is-gallery-featured-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 125%;
    z-index: 1;
    margin-top: 0 !important;
    min-width: 100%;
}

.is-gallery-featured-image img {
    height: 100%;
    min-width: 100%;
    object-fit: cover;
}

.is-swiper-gallery li {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--wp--preset--spacing--section-text);
    box-sizing: border-box;
    margin-top: 0 !important;
}

.is-swiper-gallery .swiper-navigation {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 3rem);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
}

.is-swiper-gallery .swiper-button-prev, .is-swiper-gallery .swiper-button-next {
    width: 15px !important;
    height: 40px !important;
}

/*Image slider*/

/*.is-pattern-image-slider .swiper-slide.wp-block-blocknroll-swiper.swiper-initialized.swiper-horizontal.swiper-backface-hidden {*/
/*    padding: 0 15%;*/
/*}*/

.is-pattern-image-slider figure {
    aspect-ratio: 4/3;
}

.is-pattern-image-slider figure img {
    height: 100%;
}

.is-image-slider-wrapper > div {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    min-width: 100%;
}

.is-image-slider-wrapper {
    padding-left: 0;
    padding-right: 0;
}

/*Hero text*/

.is-pattern-hero-text {
    position: relative;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.is-pattern-hero-text h1, .is-pattern-hero-text--content {
    z-index: 2;
    margin: 0 !important;
}

.is-pattern-hero-text--content-wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-end;
    align-content: flex-start;
    flex-wrap: wrap;
}

/*Actueel archive*/

.is-pattern-actueel-archive .project-archief-content-wrapper {
    flex-wrap: unset;
}

.is-pattern-actueel-archive .project-archief-content-wrapper h2 {
    text-wrap: wrap;
}

.is-pattern-actueel-archive .project-archief-content-wrapper:after {
    display: none;
}

.is-pattern-actueel-archive .project-archief-content-wrapper h2:after {
    content: " ↗";
}

/*Over ons read more button*/

.read-more-wrapper .read-more-expand {
    height: 0;
    overflow: hidden;
    transition: height 300ms ease;
}






/* -------------------------------------------------- Gravity -------------------------------------------------- */

.gform_fields {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

label.gfield_label.gform-field-label {
    display: none !important;
}

.gform_wrapper.gravity-theme input[type="color"], .gform_wrapper.gravity-theme input[type="date"], .gform_wrapper.gravity-theme input[type="datetime-local"], .gform_wrapper.gravity-theme input[type="datetime"], .gform_wrapper.gravity-theme input[type="email"], .gform_wrapper.gravity-theme input[type="month"], .gform_wrapper.gravity-theme input[type="number"], .gform_wrapper.gravity-theme input[type="password"], .gform_wrapper.gravity-theme input[type="search"], .gform_wrapper.gravity-theme input[type="tel"], .gform_wrapper.gravity-theme input[type="text"], .gform_wrapper.gravity-theme input[type="time"], .gform_wrapper.gravity-theme input[type="url"], .gform_wrapper.gravity-theme input[type="week"], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
    padding: 0 0 1rem 0 !important;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--wp--preset--color--white);
    border-radius: 0;
    width: 100%;
    color: var(--wp--preset--color--white);
    font-family: var(--wp--preset--font-family--fakt-pro), sans-serif;
    font-weight: 300;
    font-size: 1.25rem !important;
}

textarea#input_1_5 {
    height: 41px;
}

:focus-visible {
    outline: -webkit-focus-ring-color auto 0;
}

::placeholder {
    color: var(--wp--preset--color--white);
    font-size: 1.25rem;
}

/* Wrapper voor knop + arrow */
.button-icon-wrapper {
    /* 1x gradient definiëren als variabele */
    --btn-gradient: linear-gradient(
            90deg,
            rgba(253, 218, 81, 1) 0%,
            rgba(253, 218, 81, 1) 50%,
            rgb(255, 255, 255) 50%,
            rgb(255, 255, 255) 100%
    );

    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    overflow: visible;
    transition: 0.4s;
    cursor: pointer;
}

.button-icon-wrapper input.gform_button {
    all: unset;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0;
    font-size: 1.25rem;
    font-weight: 300;
    font-family: var(--wp--preset--font-family--fakt-pro), sans-serif;

    /* gradient-tekst effect */
    background: var(--btn-gradient);
    background-size: 200% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position 0.4s;
    margin-bottom: 0 !important;
}

.button-icon-wrapper .button-arrow-icon {
    display: inline-flex;
    align-items: center;
    font-size: 1.25rem;
    background: var(--btn-gradient);
    background-size: 200% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position 0.4s, transform 0.3s;
}

.button-icon-wrapper:hover input.gform_button,
.button-icon-wrapper:hover .button-arrow-icon {
    background-position: 0 0;
}

.button-icon-wrapper:hover .button-arrow-icon {
    transform: rotate(45deg);
}

.gform_wrapper.gravity-theme #field_submit, .gform_wrapper.gravity-theme .gform_footer {
    display: flex;
    justify-content: flex-end;
}

/* iOS (Safari) detectie via -webkit-touch-callout */
@supports (-webkit-touch-callout: none) {
    .is-pattern-single-page-hero {
        background-attachment: scroll;
    }
}


/* -------------------------------------------------- Responsive -------------------------------------------------- */

@media (min-width: 1281px) {
    .is-pattern-hero, .is-pattern-hero-text, .is-pattern-single-page-hero {
        background-attachment: fixed;
    }
}

@media (max-width: 1280px) {
    /*Header*/
    .is-header-logo-white, .is-header-logo-blue {
        left: 1.5rem !important;
    }

}


@media (min-width: 769px) and (max-width: 1440px) {
    .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
        max-width: 1024px;
    }
}

@media (max-width: 768px) {

}

@media(max-width: 992px) {
    /*Header*/
    header.header--white-nav .wp-block-blocknroll-mobile-menu .mobile-menu-open svg {
        stroke: var(--wp--preset--color--white);
    }

    header.header-scrolled .wp-block-blocknroll-mobile-menu .mobile-menu-open svg {
        stroke: var(--wp--preset--color--white);
    }

    .wp-container-core-group-is-layout-775de51a {
        flex-wrap: nowrap;
        justify-content: flex-end;
    }

    .page-id-10 .wp-container-core-group-is-layout-775de51a {
        justify-content: center;
    }

    .page-id-10 .header-scrolled .wp-container-core-group-is-layout-775de51a {
        justify-content: flex-end;
    }

    header.wp-block-template-part .wp-block-navigation-item__content {
        font-size: 2rem;
    }

    .wp-block-blocknroll-mobile-menu .mobile-menu-container {
        position: fixed;
        inset: 0;
        z-index: 50;
        width: 100%;
        right: 0;
        left: auto;
        box-sizing: border-box;
        opacity: 0;
        visibility: hidden;
        transform: translateX(-100%);
        transition: .3s;
    }

    .mobile-menu-container > div {
        padding: 1.5rem;
    }

    .wp-block-blocknroll-mobile-menu[aria-expanded="true"] .mobile-menu-container {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    .wp-block-blocknroll-mobile-menu[aria-expanded="false"] .mobile-menu-container {
        opacity: 0;
        visibility: hidden;
        transform: translateX(-100%);
    }

    .wp-block-blocknroll-mobile-menu[aria-expanded=false] .mobile-menu-container {
        display: block !important;
    }

    header.header-scrolled
    .wp-block-navigation__container
    .wp-block-navigation-item__content,
    header.header-scrolled
    .wp-block-navigation__responsive-container-open {
        color: var(--wp--preset--color--white);
    }

    .wp-block-blocknroll-mobile-menu .mobile-menu-container > .wp-block-group {
        height: 100%;
        min-height: 100vh;
    }
}

@media (max-width: 768px) {


    /*Footer*/
    .wp-block-group.is-content-justification-right.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-17124a9a.wp-block-group-is-layout-flex {
        justify-content: flex-start;
    }

    .is-footer-logo {
        margin-top: 0;
        margin-bottom: 1rem;
    }

    /*Hero*/
    .is-hero-row-bottom {
        justify-content: flex-end !important;
    }

    .is-pattern-hero {
        max-height: 85vh;
    }

    /*Project archief*/
    .wp-container-core-group-is-layout-b757edec {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .is-pattern-project-cta {
        min-height: auto;
    }

    .contact-mobile-spacing {
        gap: 3.5rem;
    }

    .is-pattern-contact {
        padding-top: 2rem !important;
    }
    /*Projecten single*/
    .is-column-specs > div:not(:last-child) {
        margin-bottom: 1.5rem !important;
    }
    .is-column-specs > div > div:first-child p {
        font-weight: 500;
    }
    .is-pattern-project-details p, .is-pattern-project-details .is-style-outline--2 {
        line-height: 1.5;
    }
    .is-pattern-project-details .is-style-outline--2 {
        line-height: 1;
    }
}

@media (max-width: 600px) {
    ul.tax-filter-list {
        flex-direction: column;
    }
}

.is-pattern-project-details {
    line-height: 30px;
    text-transform: lowercase !important;
}

.is-pattern-project-details div div div:last-child {
    text-transform: none !important;
}

.is-pattern-project-details .wp-block-columns {
    margin-block-start: 0 !important;
}

.is-pattern-project-details.has-blue-background-color .is-style-button-underline a:hover {
    color: var(--wp--preset--color--yellow) !important;
}

.wp-block-group.parallax-sticky-wrapper {
    overflow: hidden;
}

.wp-block-image.parallax-sticky {
    height: 120%;
    transform: translateY(-25%);
}

.wp-block-image.parallax-sticky picture img {

}

.wp-block-image.parallax-sticky picture {

}

/*Homepage Animaton Tweak */

/* --- Alleen actief bij herhaalbezoek (intro al gezien) --- */
.mp-intro-skip .is-hero-background-before {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* TOP-rij (iconen links/rechts boven) */
.mp-intro-skip .is-hero-row-top {
  transform: translate(0px, 0px) scale(1) !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 996 !important;
  top: -2.5rem !important;
}
.mp-intro-skip .is-hero-row-top .is-hero-icon.is-hero-icon-a {
  transform: translate(0px, 0px) scale(1) !important;
  left: 0px !important;
  top: 1.75rem !important;
}
.mp-intro-skip .is-hero-row-top .is-hero-icon.is-hero-icon-a .icon-container {
  transform: translate(0px, 0px) !important;
  width: 4.19rem !important;
}
.mp-intro-skip .is-hero-row-top .is-hero-icon.is-hero-icon-b {
  transform: translate(0px, 0px) scale(1) !important;
  right: 0px !important;
  left: inherit !important;
  top: 1.75rem !important;
}
.mp-intro-skip .is-hero-row-top .is-hero-icon.is-hero-icon-b .icon-container {
  transform: translate(0px, 0px) !important;
  width: 3.63rem !important;
}

/* BOTTOM-rij (linksonder icoon + rechtsonder titel) */
.mp-intro-skip .is-hero-row-bottom {
  transform: translate(0px, 25px) scale(1) !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 996 !important;
  bottom: 0px !important;
}
.mp-intro-skip .is-hero-row-bottom .is-hero-icon.is-hero-icon-c {
  transform: translate(0px, 0px) scale(1) !important;
  bottom: 0px !important;
  left: 0px !important;
  top: auto !important;
}
.mp-intro-skip .is-hero-row-bottom .wp-block-outermost-icon-block {
  transform: translate(0px, 0px) !important;
}
.mp-intro-skip .is-hero-title-animation {
  transform: translate(0px, 0px) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* (optioneel) het "vastgoed"-label verborgen houden, zoals in je eindmarkup */
.mp-intro-skip .is-hero-row-bottom .is-icon-vastgoed {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(0%, 100%) !important;
}

@media(max-width: 1024px) {
    .mp-intro-skip .is-hero-row-bottom .is-hero-icon.is-hero-icon-c {
        transform: translate(0px, 0px) scale(0.5) !important;
        bottom: 0px !important;
        left: -1rem !important;
        top: inherit !important;
    }
    .mp-intro-skip .is-hero-row-top .is-hero-icon.is-hero-icon-a {
        translate: none;
        rotate: none;
        scale: none !important;
        transform: translate(-0.0156px, -0.0781px) scale(0.5, 0.5) !important;
        left: -1rem !important;
        top: 1rem !important;
    }
    .mp-intro-skip .is-hero-row-top .is-hero-icon.is-hero-icon-b {
        translate: none;
        rotate: none;
        scale: none !important;
        transform: translate(-0.0391px, 0px) scale(0.5, 0.5) !important;
        right: -1rem !important;
        left: inherit !important;
        top: 6px !important;
    }
}


