:root{
    --pk-header-height: 0;
}

body.admin-bar header.header-sticky,
body.admin-bar header.header-static.header-overlay {
	top: var(--wp-admin--admin-bar--height);
}

header {
    z-index: 9000;
}


header > .pk-header-wrapper {
	display: flex; flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-inline: var(--pk-site-gutter);
    padding-block: 40px;
    transition: padding-block .7s cubic-bezier(.2,1,.22,1);
}
header .header-logo {
    z-index: 3; position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%) scale(2);
    transform-origin: top center;
    transition: all .7s cubic-bezier(.2,1,.22,1);
}
header .header-logo:hover {
    filter: saturate(1.5);
}
header .header-logo:active {
    scale: .95;
}
header .header-logo img{
    height: max(4rem, calc(3 * var(--su))); max-width: max(15rem, calc(10 * var(--su)));
    width: auto; object-fit: contain;
}

body.home header .header-logo,
body.home header:has(.menu.open) .header-logo {
    display: none !important;
}

header.header-sticky {
    position: sticky;
}
header .header-logo,
header .pk-button-group{
    z-index: 9;
}
header:has(.menu.open) .header-logo{
 display: block !important;
 scale: 1;
}

.pk-menu .menu::after{
    content: '';
    position: absolute; left: 0; right: 0; bottom: 0;
    height: 30vh; z-index: 0; pointer-events: none;
    display: inline-block;
    background: linear-gradient(360deg, #000000 0%, rgba(35, 36, 37, 0) 100%);

}



header .pk-button-group .pk-button{
    display: flex; flex-direction: row; gap: 10px; align-items: center;
}
header .pk-button-group .pk-button svg{
    aspect-ratio: 1/1;
    height: max(1rem, calc(1 * var(--su)));
    flex-shrink: 0;
}

.header-scrolled .header-logo{
    transform: translate(-50%, -50%) scale(1);
}

header.header-scrolled > .pk-header-wrapper {
    padding-block: 15px;
}

.socials-sidebar{
    position: fixed; top: 50%; right: clamp(0.6rem, var(--su), 1.8rem);
    transform: translateY(-50%) translateX(0);
    z-index: 9001;
    background-color: rgba(48, 48, 48, 0.8); border-radius: 200px;
    backdrop-filter: blur(10px); 
    -webkit-backdrop-filter: blur(10px); 
    padding: max(1.2rem, var(--su)) max(.8rem, calc(0.4 * var(--su))); 
    transition: all .7s cubic-bezier(.2,1,.22,1);
}
.socials-sidebar.hide {
    transform: translateY(-50%) translateX(120%); opacity: .8;
    /* scale: 0.8; */
}
.socials-sidebar .pk-socials{
    display: flex; flex-direction: column; gap: 1rem;
}
.socials-sidebar .pk-socials svg{
    fill: var(--pk-text-color);
    height: 100%; width: 100%; object-fit: contain;
}
.socials-sidebar .pk-socials a{
    transition: all .5s cubic-bezier(.2,1,.22,1);
    transform: scale(1.0000001);
    height: max(.8rem, calc(.8 * var(--su))); width: max(.8rem, calc(0.8 * var(--su)));
}
.socials-sidebar .pk-socials:hover a:not(:hover){
    opacity: .5; transform: scale(.95);
}
.socials-sidebar .pk-socials a:hover{
    transform: scale(1.24);
}

header .footer-menu .pk-menu .menu:has(>li a:hover) li:not(:has(a:hover)){
    opacity: .2;
}

.pk-menu {
    z-index: 2;
}

.pk-menu .menu{
    /* display: flex; align-items: center; */
    /* display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); */
    /* flex-direction: row; */
    display: flex !important;
    gap: 1rem; list-style: none;
    padding-inline: var(--pk-grid-gutter);
    max-width: var(--pk-container-width);
    margin-inline: auto;
}
#pk-menu-list {
    /* display: grid; */
    /* grid-template-columns: repeat(2, minmax(0,1fr)); */
    align-items: flex-start; justify-content: center;
}

.menu .pk-menu-item,
.menu .menu-cta {
    transition: opacity .5s cubic-bezier(.2,1,.22,1), translate .5s cubic-bezier(.2,1,.22,1);
    transition-delay: 0s;
}

.menu:not(.open) .pk-menu-item,
.menu:not(.open) .menu-cta {
    opacity: 0;
    translate: -10% 0;
}

.menu.open .pk-menu-item,
.menu.open .menu-cta {
    opacity: 1;
    translate: 0 0;
    transition-delay: calc(var(--i, 0) * .07s);
}

body:has(.menu.open) .top-button{
    right: -50px;
}

#pk-menu-list .menu-cta {
    position: absolute; left: calc(45% + var(--pk-site-gutter)); top: 50%;
    transform: translateY(-50%);
    height: fit-content;
}

#pk-menu-list .pk-menu-item{
    width: 40%;
}


@media (max-width: 992px) {
    #pk-menu-list .pk-menu-item{
        width: 100%;
    }
    #pk-menu-list .menu-cta {
        position: relative; right: unset; transform: unset;
    }
}



header .scroll-reveal{
    transition: all .7s cubic-bezier(.2,1,.22,1);
}
header .scroll-reveal.delay { transition-delay: 150ms; }

header.scrolling-down .scroll-reveal{
    transform: translateY(-250%);
}



.pk-menu-item.has-submenu{
    position: relative;
}

.pk-menu ul.menu li:not(.menu-button) a{
    color: #FFF;
}

.pk-menu .pk-submenu{
    position: absolute;
    background-color: #fff;
    /*min-width: max-content;*/
    padding: 20px;
    top: 100%;

    pointer-events: none;
    /* appearance: none; */
    opacity: 0;
}

.pk-submenu .pk-submenu{
    top: 0;
    left: 100%;
    /* height: 100%; */
}
.pk-submenu::before{
    content: '';
    width: 100%;
    height: 30px;
    position: absolute;
    top: 0; left: 0;
    transform: translateY(-100%);
}

.pk-submenu .pk-submenu::before{
    width: 20px;
    height: 100%;
    transform: translate(-100%, 0);
}

:is(.pk-menu-item, .pk-submenu-item).has-submenu:is(:hover,:active,:focus,:focus-within) > .pk-submenu{
    opacity: 1;
    pointer-events: all;
}

.pk-submenu .pk-submenu-wrapper{
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.pk-menu .menu-button {
    margin-left: auto;
}

.pk-menu .menu-button a{
    display: block;
    background-color: var(--pull-grey-2);
    color: white;
    font-family: var(--pk-button-font-family);
    font-size: var(--pk-button-font-size);
    font-weight: var(--pk-button-font-weight);
    text-decoration: none;
    border-radius: 3rem;
    padding: .5em 1em;
}

/* IDEA: breakpoint implementeren in customizer */
@media only screen and (min-width: 993px){
    .back-button-wrapper{
        display: none;
    }

    .pk-menu .mega-menu{
        position: static;
    }

    /* .pk-menu .mega-menu::before{
        content: '';
        position: absolute;
        pointer-events: none;
        width: 100vw; height: calc(100dvh - var(--pk-header-height));
        max-width: 100%;
        top: var(--pk-header-height); left: 0;
        z-index: 0;
        background-color: hsla(0, 0%, 0%, 0.5);
        backdrop-filter: blur(5px);
        opacity: 0;

        transition: opacity 300ms ease-out;
    } */

    .pk-menu .mega-menu:is(:hover,:active,:focus)::before{
        opacity: 1;
    }

    .pk-menu .mega-menu > .pk-submenu{
        width: min(100vw, var(--pk-container-width));
        max-width: 100%;
        inset: max(0px, calc((100vw - var(--pk-container-width)) / 2));
        top: var(--pk-header-height);
        height: fit-content;
    }

    .pk-menu .mega-menu > .pk-submenu > .pk-submenu-wrapper{
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .pk-menu .mega-menu .pk-submenu .pk-submenu{
        position: static;
        opacity: 1;
        padding: 0;
    }
}

    .header-wrapper{
        overflow-x: clip;
    }
    .pk-menu{
        position: static;
        padding: 20px;
        padding-right: 0px;
    }
    .pk-menu .hamburger{
        margin-left: auto;
        position: relative;
        z-index: 5;
    
        display: flex;
        flex-direction: column; gap: .35em; align-items: center; justify-content: center;
        width: 5rem; height: auto; aspect-ratio: 1.35; border-radius: 5px;
        background-color: var(--full-black); border: unset; cursor: pointer;
        transition: all .7s cubic-bezier(.2,1,.22,1);
    }
    .pk-menu .hamburger:hover:not(:has(+ .menu.open)) span:nth-child(2){ 
        scale: .6 1;
     }
    .pk-menu .hamburger span{
        --delay: 0ms;
        --delay-out: 50ms;
        display: block;
        background-color: var(--pk-text-color);
        height: 2px;
        width: 1.5em;
        transform-origin: center;
        transition: rotate 250ms cubic-bezier(.2,1,.22,1) var(--delay),
                    scale 250ms cubic-bezier(.2,1,.22,1) var(--delay-out),
                    transform 250ms cubic-bezier(.2,1,.22,1) var(--delay),
                    translate 250ms cubic-bezier(.2,1,.22,1) var(--delay-out);
    }
    .pk-menu .hamburger span:nth-child(3){
        transform: rotate(-180deg);
    }
    body:has(.pk-menu .menu.open){
        overflow-y: hidden;
    }
    .pk-menu .hamburger:has(+ .menu.open){
        gap: 0; transform-origin: center;
    }
    .pk-menu .hamburger:has(+ .menu.open) span{
        --delay: 250ms;
        --delay: 125ms;
        --delay-out: 0ms;
        rotate: -135deg;
        border-radius: 10px;
    }
    .pk-menu .hamburger:has(+ .menu.open) span:nth-child(1){
        translate: 0 100%;
        transform: rotate(180deg);
    }
    .pk-menu .hamburger:has(+.menu.open) span:nth-child(2){
        scale: 0 100%;
    }
    .pk-menu .hamburger:has(+ .menu.open) span:nth-child(3){
        transform: rotate(-90deg);
        translate: 0 -100%;
    }

    .pk-menu .menu{
        padding: var(--pk-site-gutter);
        /* padding-top:  var(--pk-header-height));  */

        width: 100vw;
        height: 100svh;

        position: absolute;
        inset: 0;
        overflow: clip;

        display: flex;
        flex-direction: column;
        align-items: flex-start;
        z-index: 3;

        background-color: var(--pull-grey-2);
    }

   /*TODO: css weghalen en in js verwerken*/
    .pk-menu .menu:not(.open):not(.is_animating){
        display: none;
    }
    body:has(.menu.is_animating){
        overflow:hidden;
    }
    /*TODO: css weghalen en in js verwerken*/

    .pk-menu-item.has-submenu{
        position: static;
    }
    .pk-menu .pk-submenu{
        padding-top: calc(20px + var(--pk-header-height));
        inset: 0;
        width: 100vw;
        height: 100dvh;
        position: absolute;
        z-index: 4;
        opacity: 1;
    }
    
    .pk-menu .pk-submenu.open{
        pointer-events: all;
        overflow: auto;
    }


@media only screen and (max-width: 767px){
    header > .pk-header-wrapper {
        padding-inline: var(--pk-site-gutter, 16px);
        padding-block: 32px 24px !important;
    }
    .pk-menu .menu {
        padding-inline: var(--pk-site-gutter, 16px);
        padding-top: 120px !important;
    }
}

@media only screen and (max-width: 992px) {
    .pk-menu .menu .pk-menu-item a,
    .pk-menu .menu .pk-submenu-item a {
        font-weight: 700;
    }

    body:not(.home) header > .pk-header-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center !important;
        gap: 10px;
        padding: 22px var(--pk-site-gutter, 16px) !important;
    }

    body:not(.home) header .pk-button-group {
        grid-column: 1;
        justify-self: start;
        align-self: center;
        min-width: 0;
    }

    header .pk-button-group .pk-button {
        font-size: 12px;
        padding-block: 8px;
        padding-inline: 14px;
        gap: 7px;
        white-space: nowrap;
        line-height: 1;
    }

    header .pk-button-group .pk-button svg {
        height: 12px;
        width: auto;
    }

    header .pk-button-group .pk-button .pk-button-text {
        translate: 0;
    }

    body:not(.home) header .header-logo {
        position: static;
        grid-column: 2;
        justify-self: center;
        align-self: center;
        display: block !important;
        transform: none !important;
        scale: 1 !important;
    }

    body:not(.home) header .header-logo img {
        height: 70px;
        width: auto;
    }

    body:not(.home) header .footer-menu {
        grid-column: 3;
        justify-self: end;
        align-self: center;
        min-width: 0;
    }

    body:not(.home) header .pk-menu {
        padding: 0 !important;
    }

    header .pk-menu .hamburger {
        width: 56px;
        min-width: 56px;
        height: 52px;
        border-radius: 10px;
    }

    header .pk-menu .hamburger span {
        width: 1.3em;
    }
}

@media only screen and (max-width: 767px) {
    header > .pk-header-wrapper {
        padding-top: 20px;
    }

    body:not(.home) header > .pk-header-wrapper {
        gap: 8px;
        padding-block: 20px !important;
    }

    header .pk-button-group .pk-button {
        font-size: 11px;
        padding-block: 8px;
        padding-inline: 12px;
        gap: 6px;
    }

    header .pk-button-group .pk-button svg {
        height: 11px;
        width: auto;
    }

    body:not(.home) header .header-logo img {
        height: 64px;
    }

    header .pk-menu .hamburger {
        width: 52px;
        min-width: 52px;
        height: 48px;
    }
}
