.videowrapper {
  cursor: pointer;
}

.stills-page .gallery .image {
  margin: 2%;
}

.custom-play-cursor {
  position: absolute;
  width: 32px;
  height: 32px;
  pointer-events: none;
  z-index: 9999;
  display: none;
  image-rendering: pixelated;
  background-image: url("data:image/svg+xml;utf8,\
    <svg xmlns='http://www.w3.org/2000/svg' width='32' height='32'>\
      <rect width='100%' height='100%' fill='white'/>\
      <polygon points='10,6 26,16 10,26' fill='black' stroke='black' stroke-width='2'/>\
    </svg>");
  background-size: cover;
  transition: none;
}

.blob {
    position: absolute;
    width: 40vw;
    height: 80vh;
    background: linear-gradient(135deg, #00f0ffcc, #ff00e6cc);
    border-radius: 33% 67% 70% 30% / 30% 40% 60% 70%;
    filter: blur(6vw); /* Adjusts with screen size */
    mix-blend-mode: multiply;
    animation: moveBlob 12s ease-in-out infinite alternate,
               pulse 2.5s ease-in-out infinite;
    z-index: -1;
}

.blob:nth-child(2) {
    width: 40vw;
    height: 150vh;
    background: linear-gradient(45deg, #ffe600cc, #ff0099cc);
    animation-delay: 3s, 1.25s;
    z-index: -1;
}

.blob:nth-child(3) {
    width: 40vw;
    height: 140vh;
    background: linear-gradient(60deg, #00ff88cc, #0055ffcc);
    animation-delay: 6s, 0.75s;
    z-index: -1;
}

@keyframes moveBlob {
    0% {
        transform: translate(0, 0) rotate(0deg) scale(1);
        border-radius: 33% 67% 70% 30% / 30% 40% 60% 70%;
    }

    50% {
        transform: translate(4vw, -3vh) rotate(20deg) scale(1.1);
        border-radius: 50% 50% 33% 67% / 40% 60% 30% 70%;
    }

    100% {
        transform: translate(-3vw, 2vh) rotate(-15deg) scale(0.95);
        border-radius: 60% 40% 35% 65% / 50% 30% 70% 40%;
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 0.7;
    }
    50% {
        opacity: 1;
    }
}


@font-face {
    font-family: 'aquavit';
    @import url("https://use.typekit.net/utl7hfm.css");
}

nav {
    margin: 1%;
    text-align: center;

}

ul {
    display: inline;
    padding-left: 0px;
    margin-left: 1%;
    margin-right: 1%;

}

ul > a:hover {
    text-decoration: underline;
    cursor: pointer;
    color: #1542ff;
}

a {
    color: #212529;
    text-decoration: none;
}

/* Style for the video thumbnail or the open button */
.video-thumbnail {
    text-align: center;
    margin-top: 50px;
}

.video-thumbnail a {
    background-color: #61dafb;
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    font-size: 18px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.video-thumbnail a:hover {
    background-color: #21a1f1;
}

/* Positioning the overlay video to cover the main video */
.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ensure background video covers the overlay area */
.bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bg-video-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 999;
}



/* Set Cover aka Background-Image */
.videowrapper .bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 101%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 2;
}


.videowrapper.open .bg-video-wrapper {
    opacity: 0;

    -webkit-transition: all .1s .2s;
    transition: all .1s .2s;
    pointer-events: none;
    /* Prevents interaction with the video controls */
}

/* and iframe shows up */
.videowrapper.open .video {
    opacity: 1;
    -webkit-transition: all .6s .8s;
    transition: all .6s .8s;
}

#portfolio {
    overflow: hidden;
    margin: 1%;
}

.item {
    float: left;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding: 1%;
}

.videowrapper {
    max-width: 100%;
    position: relative;
    width: 100%;
    margin: 0 auto 20px auto;
    overflow: hidden;
}

.video {
    width: 100%;
    padding-bottom: 56.25%;
    z-index: 1;
}

.swiper-wrapper {
    width: 100%;
    background: #212529;
    margin-bottom: 0.3%;
    background: #212529;

}

.swiper {
    max-width: 100%;
    position: relative;
    width: 100%;
    margin: 0 auto 20px auto;
    overflow: hidden;

}

.gear-wrapper {
    width: 100%;
    background: #212529;
    margin-bottom: 0.2%;
    background: #212529;

}

.gear {
    max-width: 100%;
    position: relative;
    width: 100%;
    margin: 0 auto 20px auto;
    overflow: hidden;

}


:root {
    --swiper-navigation-size: 22px;
    --swiper-theme-color: none;
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 5%;
    height: 5%;
    margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.swiper-pagination-bullet {
    background-color: beige;
}

.swiper-pagination-bullet-active {
    background-color: none;
}

.still {
    position: absolute;
    z-index: 1;
    object-fit: cover;
    height: 100%;
}

h1 {
    font-family: "aquavit", sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: -2%;
    font-size: 2vw;
}

sub {
    text-transform: uppercase;
    font-size: 0.7vw;
}

.titles {
    margin-bottom: 2%;
}

body {
    background-color: white;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}






/*foto gallery */

.wide-item {
    grid-column: span 2;
    display: grid;
    width: 100%;
}

.image {
    max-width: 100%;
    display: block;
    grid-row: 1 / -1;
    grid-column: 1;

}

video {
    display: inline;
}


.image img,
video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery {
    column-count: 3;
    column-gap: 10px;
    margin: 2%;
    z-index: 1;
}

@media screen and (max-width: 640px) {
    .gallery {
        column-count: 2;
        column-gap: 0px;
        margin: 0%;
    }
}

@media only screen and (max-width: 40em) {
    .image {
        float: none;
        width: 100%;
        margin-bottom: 5px
    }
}

.video-discription {
    position: absolute;
    color: whitesmoke;
    font-size: 4vw;
    font-size: 4vh;
    max-width: 100%;
    text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.8);
    /* Horizontal shadow, vertical shadow, blur radius, color */
    opacity: 0;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    margin-bottom: 0%;
    margin-top: 0%;



}

.item:hover .video-discription {
    opacity: 1;
    animation: scale-fade-in 0.1s ease-in-out;

}

.wiggle {
    display: inline-block;
    /* Allows for transformation */
    animation: wiggle 0.5s infinite;
    /* Animation name, duration, and repetition */
    animation-delay: calc(var(--i) * 0.1s);
    /* Delay each letter's animation */
}

/* Define the wiggle animation with variable angle */
@keyframes wiggle {

    0%,
    100% {
        transform: rotate(0deg);
        /* Start and end with no rotation */
    }

    25% {
        transform: rotate(calc(var(--jiggle) * -0.3deg));
        /* Slight rotation to the left */
    }

    50% {
        transform: rotate(calc(var(--jiggle) * 0.6deg));
        /* Slight rotation to the right */
    }

    75% {
        transform: rotate(calc(var(--jiggle) * -1deg));
        /* Slight rotation back to the left */
    }
}

@keyframes scale-fade-in {
    0% {
        transform: translateY(-50%) scale(0.5);
        /* Start smaller */
        opacity: 0;
        /* Start invisible */
    }

    100% {
        transform: translateY(-50%) scale(1);
        /* Scale to normal size */
        opacity: 1;
        /* Fully visible */
    }
}

/* Define the scale and fade out animation */
@keyframes scale-fade-out {
    0% {
        transform: scale(1);
        /* Start at normal size */
        opacity: 1;
        /* Fully visible */
    }

    100% {
        transform: scale(0.5);
        /* Scale down */
        opacity: 0;
        /* Fade out */
    }
}

/*foto gallery */

/*landingspagina*/
.title {
    height: 500px;
    border: 2px dashed #f69c55;
    text-align: center;
}

#ewoutwelsink {
    color: #1542ff;
    border-radius: 2px;
    font-size: 700%;
    display: inline-block;
    vertical-align: middle;
    line-height: normal;

}


/*landingspagina*/

@media only screen and (max-width: 640px) {

    /* For mobile phones: */
    h1 {
        font-size: 150%;
    }

    sub {
        font-size: 80%;
    }

    .item {
        float: none;
        width: 100%;
        /* as @passatgt mentioned in the comment, for the older browsers fallback */
        padding: 4%;
    }


}

#error {
    text-align: center;
    height: 100%;
    margin: 20%;
}

footer {

    left: 0;
    right: 0;
    background: #212529;
    height: auto;
    width: 100%;
    position: absolute;
    padding-top: 20px;
    color: #fff;
}

.footer-content {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;

}

.footer-content h3 {
    font-family: lust, serif;
}

.footer-content > p > a {
    max-width: 500px;
    margin: 0px auto;
    font-size: 14px;
    color: white;
}

.footer-content > p > a:hover {
    text-decoration: underline;
    cursor: pointer;
    color: #1542ff;
}

.footer-bottom {
    background: #212529;
    width: 100%;
    padding-right: 30px;
    padding-bottom: 40px;
    text-align: center;
}

.footer-bottom p {
    float: left;
}

.footer-bottom p a {
    color: #1542ff;
    font-size: 16px;
    text-decoration: none;
}

.footer-bottom span {
    text-transform: uppercase;
    opacity: .4;
    font-weight: 200;
}

.footer-menu {
    float: right;

}

.footer-menu nav {
    display: flex;
}

.footer-menu nav li {
    padding-right: 10px;
    display: block;
}

.footer-menu nav li a {
    color: white;
    text-decoration: none;
}

.footer-menu nav li a:hover {
    color: #1542ff;
}

@media (max-width:500px) {
    .footer-menu ul {
        display: flex;
        margin-top: 10px;
        margin-bottom: 20px;
    }

}

#myVideo {
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.container {
    position: relative;
}

.container video {
    position: relative;
    z-index: 0;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-content: center;
    mix-blend-mode: difference;
    color: white;
}

.button {
    position: absolute;
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    background-color: white;
    padding: 1vh;
    transition: box-shadow 0.1s ease-in-out;
    opacity: 80%;
    z-index: 999;

}

.button:hover {
    -webkit-box-shadow: -5px 5px 0px 0px rgba(0, 0, 0, 1);
    -moz-box-shadow: -5px 5px 0px 0px rgba(0, 0, 0, 1);
    box-shadow: -5px 5px 0px 0px rgba(0, 0, 0, 1);
    opacity: 100%;
    transition: box-shadow 0.1s ease-in-out;

}

h2 {
    font-family: lust, serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: -1%;
}

html,
body {
    margin: 0;
}
