/*
Theme Name: Buursema Bouw
Theme URI: https://dappr.nl
Description: Child theme ontwikkeld door Dappr
Author: Dappr
Author URI: https://dappr.nl
Template: hello-elementor
Version: 1.0.0
Text Domain: Buursema
*/

/* ==========================================================================
   MAIN
========================================================================== */
:root {
    --vdmaar: #D90010;
    --buursema: #E55007;
    --hbi: #FFB400;
    --eldering: #45A984;
}
html{
    overflow-x: hidden;
}
/* ==========================================================================
   HEADER / STICKY NAV
========================================================================== */

.header-2 {
    transform: translateY(-190px);
    transition: all 0.3s ease !important;
    width: 100% !important;
}
.header-1 {
    /* background-color: unset !important; */
}
.elementor-sticky--effects.header-2 {
    height: auto !important;
    transform: translateY(0) !important;
}

.elementor-sticky--effects.header-1 {
    display: none !important;
}


/* ==========================================================================
   HERO
========================================================================== */

/* @media (min-width: 1367px) {
    .title-big h1 {
        font-size: clamp(180px, 15.15vw, 207px) !important;
    }

    .title-sub h1 {
        font-size: clamp(120px, 10.97vw, 150px) !important;
    }
} */

@media only screen and (min-width: 1367px) and (max-width: 1600px) {
    .title-big h1 {
        font-size: 167px !important;
    }
    .title-sub h1 {
        font-size: 110px !important;
    }
}

/*
==================================================
HEADLINE EFFECTS
==================================================
*/

.headline-align-fix .elementor-headline-dynamic-wrapper svg {
    display: none !important;
}

.headline-align-fix .elementor-headline-dynamic-text {
    display: inline-block;
    position: relative;
    transform: scale(2.4) rotate(-4deg);
    transform-origin: left center;
    padding-top: 10px;
    margin-right: 1.5em;
}

.headline-align-fix .elementor-headline-dynamic-text::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 7px;
    width: 100%;
    height: 20px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100% 100%;
    clip-path: inset(0 100% 0 0);
    animation: underline-reveal 1.2s ease forwards 0.4s;
    pointer-events: none;
}

/* Donkere lijn */
.headline-dark .elementor-headline-dynamic-text::after {
    background-image: url('https://werkenbijbuursema.dapprgemaakt.nl/wp-content/uploads/2026/06/line-dark.svg');
}

/* Lichte lijn */
.headline-light .elementor-headline-dynamic-text::after {
    background-image: url('https://werkenbijbuursema.dapprgemaakt.nl/wp-content/uploads/2026/06/line-light.svg');
}

@keyframes underline-reveal {
    from {
        clip-path: inset(0 100% 0 0);
    }

    to {
        clip-path: inset(0 0 0 0);
    }
}

.company {
    position: relative;
    z-index: 1;
    cursor: pointer;
}

.company-moreinfo {
    position: absolute;
    right: 0 !important;
    transform: translateX(1000px) !important;
    transition: transform 0.4s ease !important;
    will-change: transform;
}

.company.active {
    z-index: 110;
}

.company.active .company-moreinfo {
    transform: translateX(0) !important;
}

.company-moreinfo::after {
    content: "";
    position: absolute;
    left: -35px;
    bottom: 0;
    width: 36px;
    height: 36px;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    pointer-events: none;
}

.company-moreinfo.company-vdmaar::after {
    background: var(--vdmaar);
}
.company-moreinfo.company-buursema::after {
    background: var(--buursema);
}
.company-moreinfo.company-hbi::after {
    background: var(--hbi);
}
.company-moreinfo.company-eldering::after {
    background: var(--eldering);
}


/* Generieke hoeken */
.corner {
    /* position: relative; */
}

.corner::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 15px;
    height: 15px;
    background: #fff;
    pointer-events: none;
}

.corner-left::after {
    left: -15px;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.corner-right::after {
    right: -15px;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
}
@media only screen and (min-width: 768px) {
    .corner::after {
        width: 25px;
        height: 25px;
    }
    .corner-left::after {
        left: -25px;
    }
    .corner-right::after {
        right: -25px;
    }
}
@media only screen and (min-width: 1367px) {
    .corner::after {
        width: 36px;
        height: 36px;
    }
    .corner-left::after {
        left: -35px;
    }
    .corner-right::after {
        right: -35px;
    }
}
.corner.company-vdmaar::after    { background: var(--vdmaar); }
.corner.company-buursema::after  { background: var(--buursema); }
.corner.company-hbi::after       { background: var(--hbi); }
.corner.company-eldering::after  { background: var(--eldering); }
.corner.grey::after  { background: #E5DFE1; }
.corner.black::after  { background: rgba(0,0,0,.7); }


.company-popup .dialog-close-button {
    border-radius: 50% !important;
    width: 25px;
    height: 25px;
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    align-content: center !important;
}
@media only screen and (min-width: 678px) {
    .company-popup .dialog-close-button {
        width: 30px;
        height: 30px;
    }
}
/* .heading-text-balloon {
    position: relative;
}
.heading-text-balloon::before {
    min-width: 250px;
    height: 100%;
    position: absolute;
    content: '';
    top: 0;
    left: -250px;
    background-color: red;
    background-image: url(https://buursema.dapprgemaakt.nl/wp-content/uploads/2026/07/image-overlay.svg);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: cover;
} */
.process-red-ribbon {
    position: fixed;
    display: block;
    overflow: visible;
    pointer-events: none;
    z-index: 2;
}

.process-ribbon-right,
.process-ribbon-left {
    position: relative;
    z-index: 3;
}

@media only screen and (min-width: 1367px) {
    .full-bleed-onethird {
        position: absolute !important;
        top: 0;
        bottom: 0;
        left: calc(100vw - 50% + 160px);
        right: -40px;
        width: calc(50vw - 40px) !important;
    }
}
.cutoff-corner {
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    border-style: solid;
    border-width: 0 0 50px 50px;
    border-color: transparent transparent #fff transparent;
}
@media only screen and (min-width: 1025px) {
    .cutoff-corner {
        border-width: 0 0 100px 100px;
    }
}
.popup-menu li,
.mobile-menu li {
    border-bottom: 1px solid rgba(112,112,112,0.2) !important;
    padding: 10px 0 !important;
}
.popup-menu a,
.mobile-menu {
    position: relative;
    padding-left: 0 !important;
}
@media only screen and (min-width: 1367px) and (max-width: 1650px) {
    .popup-menu a,
    .popup-menu-heading p {
        font-size: 28px !important;
    }
}
.popup-menu a::before,
.mobile-menu a::before {
    position: absolute;
    content: '';
    font-size: 28px;
    color: var(--e-global-color-primary);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 7px;
    opacity: 0;
}
.mobile-menu a::before {
    position: absolute;
    content: '';
    font-size: 28px;
    background-color: var(--e-global-color-primary);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 3px;
    opacity: 0;
}
.mobile-menu a.active,
.mobile-menu li.current-menu-item > a,
.mobile-menu a.has-submenu.highlighted {
    padding-left: 24px !important;
}
.popup-menu a:hover,
.popup-menu a.active,
.popup-menu li.current-menu-item > a {
    padding-left: 40px !important;
}
.popup-menu a:hover::before,
.popup-menu a.active::before,
.popup-menu li.current-menu-item > a::before,
/* .mobile-menu a:hover::before,
.mobile-menu a.active::before, */
.mobile-menu li.current-menu-item > a::before {
    opacity: 1;
}

.menu-button .dialog-close-button {
    background-color: var(--e-global-color-primary) !important;
    background-image: url('https://buursema.dapprgemaakt.nl/wp-content/uploads/2026/07/image-overlay.svg');
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 25px;
    width: 200px;
    height: 100%;
    max-height: 76px;
    outline: 0 !important;
    justify-content: flex-start;
}
@media only screen and (min-width: 1025px) {
    .menu-button .dialog-close-button {
        max-height: 135px;
    }
}
.menu-button .dialog-close-button svg {
    position: absolute;
    right: 20px;
    top: 50%;
    background-color: #fff;
    transform: translateY(-50%);
    padding: 8px;
    border-radius: 50%;
}
.menu-button .dialog-close-button::before  {
    position: absolute;
    content: 'sluiten';
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    font-family: var(--e-global-typography-text-font-family);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media only screen and (min-width: 1025px) {
    .menu-button .dialog-close-button {
        width: 356px;
        height: 135px;
    }
    .menu-button .dialog-close-button svg {
        padding: 12px;
    }
    .menu-button .dialog-close-button::before  {
        font-size: 24px;
        content: 'menu sluiten';
    }
}
@media only screen and (min-width: 1367px) {
    #hoofdmenu li.menu-item-has-children ul {
        display: none !important;
    }
}
#hoofdmenu li.is-section-active > a,
#hoofdmenu li.is-popup-active > a,
#hoofdmenu li.is-popup-active > a .sub-arrow svg {
    color: var(--e-global-color-primary) !important;
    fill: var(--e-global-color-primary) !important;
}
.elementor-shortcode figure {
    min-height: 525px;
}
.elementor-shortcode figure img {
    width: 100%;
    height: 100%;
    min-height: 525px;
    object-fit: cover;
}
.swiper-pagination-bullet {
    background: #000 !important;
    opacity: 1 !important;
    width: 64px !important;
    border-radius: 0 !important;
}
.swiper-pagination-bullet-active {
    background: var(--vdmaar) !important;
}
.mozaiek-grid .gallery {
  display: block !important;
  margin: 0 !important;
}

.mozaiek-row {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: 2fr 1fr 1fr;
  grid-auto-rows: 400px;
  gap: 10px;
  margin-bottom: 10px;
}

.mozaiek-row > *:nth-child(1),
.mozaiek-row > *:nth-child(2) { grid-row: span 2; }
.mozaiek-row > *:nth-child(3),
.mozaiek-row > *:nth-child(4) { grid-row: span 1; }

.mozaiek-row > *:nth-child(1) { grid-column: 1; }
.mozaiek-row > *:nth-child(2) { grid-column: 2; }
.mozaiek-row > *:nth-child(3),
.mozaiek-row > *:nth-child(4) { grid-column: 3; }

.mozaiek-grid figure.gallery-item {
  margin: 0 !important;
  width: auto !important;
  height: 100% !important;
  max-width: 100% !important;
}

.mozaiek-grid .gallery-icon,
.mozaiek-grid .gallery-icon a { height: 100%; display: block; }
.mozaiek-grid .gallery-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 1024px) {
  .mozaiek-row {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-auto-rows: 250px !important;
  }
  .mozaiek-row > * {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  figure.gallery-item {
    padding: 0 !important;
  }
}

@media (max-width: 767px) {
  .mozaiek-row {
    grid-template-columns: 1fr !important;
    grid-auto-rows: 220px !important;
  }
figure.gallery-item {
    padding: 0 !important;
  }
}

/* #loadmore::after {
    position: absolute;
    content: '';
    width: 28px;
    height: auto;
    background-image: url(https://buursema.dapprgemaakt.nl/wp-content/uploads/2026/07/arrows-down.svg);
} */

.dropdown-menu a.elementor-item-active,
.drowdown-menu a.elementor-item.highlighted,
.drowdown-menu a.elementor-nav-menu--dropdown,
.drowdown-menu a.elementor-item:hover,
.downdown-menu a.elementor-item:focus {
    background-color: unset !important;
}
.dropdown-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.dropdown-menu .elementor-nav-menu--dropdown .elementor-item.highlighted,
.dropdown-menu .elementor-nav-menu--dropdown .elementor-item:focus,
.dropdown-menu .elementor-nav-menu--dropdown .elementor-item:hover,
.dropdown-menu .elementor-sub-item.elementor-item-active,
.dropdown-menu .elementor-sub-item.highlighted,
.dropdown-menu .elementor-sub-item:focus,
.dropdown-menu .elementor-sub-item:hover {
    background-color: unset !important;
}

.mobile-menu .sub-menu.elementor-nav-menu--dropdown li {
    padding: 8px 0 8px 8px !important;
}
.mobile-menu .sub-menu.elementor-nav-menu--dropdown li:last-of-type {
    border-bottom: 0 !important;
}
.mobile-menu .sub-menu.elementor-nav-menu--dropdown li a {
    font-size: 14px !important;
}
@media only screen and (min-width: 768px) {
    .mobile-menu .sub-menu.elementor-nav-menu--dropdown li a {
        font-size: 16px !important;
    }
}
.mobile-menu .current-menu-ancestor > .sub-menu,
.mobile-menu .current-menu-parent > .sub-menu,
.mobile-menu .current_page_ancestor > .sub-menu {
    display: block !important;
}
