/* Basis reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Body stijl */
body {
    font-family: 'Roboto', sans-serif;
    background-color: white;
    color: #333;
    line-height: 1.6;
    padding: 10px; /* Minder padding voor mobiel */
    margin: 0;
    padding: 0;
    height: 100%; 
}

/* Altijd scrollbalk zichtbaar */
html {
    overflow-y: scroll; /* Houdt de scrollbalk altijd zichtbaar */
    height: 100%; 
}

/* Scrollen uitschakelen, maar de scrollbalk blijft zichtbaar */
body.no-scroll {
    overflow: hidden; /* Voorkomt scrollen */
    position: fixed; /* Zorgt ervoor dat het lichaam niet kan scrollen */
    width: 100%;
}

/* Basisstijlen voor het menu */
header {
    display: flex;
    justify-content: space-between; /* Zorgt dat logo links en menu rechts staat */
    align-items: center;
    position: fixed; /* Houdt de header altijd bovenaan */
    top: 0px;
    left: 0;
    width: 100vw;
    background-color: rgba(255, 255, 255, 0.95);
    z-index: 10000;
    padding: 10px 20px; /* Voeg padding voor ruimte tussen elementen */
    border-bottom: 2px solid black;
    box-sizing: border-box;
}

/* header.menu-open {
    width: 100vw; 
    max-width: 100vw;
} */

.logo img {
    display: block;
    max-width: 100%; /* Zorgt ervoor dat het logo niet groter wordt dan zijn container */
    height: auto; /* Houdt de verhoudingen correct */
    margin-top: 0px;
}

/* Menu items voor desktop */
nav ul.menu {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    padding-right: 20px;
}

nav ul.menu li a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: 1.2rem;
    transition: color 0.3s;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

nav ul.menu li a:hover {
    color: #2e6db1; /* Kleur bij hover 2e6db1 */
}

/* Basisstijl voor hamburger */
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    position: fixed;
    top: 40px;
    right: 20px;
    width: 30px;
    height: 21px;
    z-index: 1100;
}

.hamburger div {
    background-color: black; /* Zwarte hamburger streepjes */
    height: 3px;
    width: 100%;
    /* margin: 2px 0; */
    transition: all 0.3s ease;
}

/* Verander hamburger in een wit kruis bij menu-open */
.hamburger.active div {
    background-color: white; /* Wit kruis als het menu open is */
}

.hamburger.active div:nth-child(1) {
    transform: rotate(45deg) translate(5px, 8px);
}

.hamburger.active div:nth-child(2) {
    opacity: 0; /* Verberg het middelste streepje */
}

.hamburger.active div:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -8px);
}

/* Mobiel menu */
#mobileMenu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: black;
    z-index: 1000;
    padding: 100px 20px;
    opacity: 0;
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;

    background-image: url('../images/Obryza-iconMenu.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50vw;

}

/* Actief mobiel menu */
#mobileMenu.active {
    display: flex;
    flex-direction: column;
    transform: translateY(0);
    opacity: 1;
}

/* Mobile menu items */
#mobileMenu ul {
    list-style: none;
    padding: 0;
}

#mobileMenu ul li {
    margin: 20px 0;
}

#mobileMenu ul li a {
    font-weight: bold;
    text-decoration: none;
    color: rgb(255, 255, 255);
    font-size: 1.5rem;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

/* Secties */
section {
    margin: 30px 0;
}

section h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.3rem;
    color: #000;
    text-align: center;
}

section p {
    font-size: 1rem;
    color: #666;
    text-align: center;
    padding: 0 10px;
}

/* footer {
    margin: 0;
    padding: 0;
    width: 100vw; 
} */

.footer-content {
    display: flex;
    justify-content: space-between;
    padding: 20px;
    background-color: #eee;
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(-50vw + 50%); /* Zorgt dat de header de hele breedte beslaat */
    max-width: 100vw; /* Voorkom extra ruimte aan de rechterkant */
}

.footer-text, .footer-social, .footer-div3 {
    width: 30%;
    padding: 20px;
    /*border: 1px solid;  Gekleurde borders voor visualisatie */
}

/* .footer-text {
    border-color: red; 
} */

.footer-text h3 {
    font-family: 'Roboto', sans-serif;
    font-size: 1.5rem;
    margin-bottom: 10px;
    color: #2e6db1;
}

.footer-text p {
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    color: #000;
    
}

/* Social media-iconen */
.footer-social {
    display: flex;
    justify-content: right; /* Social media-iconen in het midden */
    gap: 20px; /* Ruimte tussen de iconen */
    margin-bottom: 20px; /* Ruimte tussen iconen en contactinfo */
    /* border-color: green;  */
}

.footer-social a {
    display: inline-block;
}

.footer-social img {
    width: 32px;
    height: 32px;
}

.footer-div3 {
    /*border-color: blue;  Blauw voor Div 3 */
    display: flex;
    flex-direction: column;
    align-items: left; /* Contactinformatie ook centreren */
}

.footer-div3 p a{
    text-decoration: none;
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    margin: 10px 0;
    display: flex;
    align-items: center;
    color: #000;
}

.footer-div3 img {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    vertical-align: middle;
}

.footer-div3 p a:hover {
    color: #2e6db1; /* Optional: change color on hover */
}

.copyright {
    background-color: #2e6db1; 
    text-align: center; 
    font-size: 0.7rem;
    padding: 10px 0; 
    margin: 0; 
    color: white; 
    box-sizing: border-box; 
    width: 100vw;
    margin-left: calc(-50vw + 50%); 
    max-width: 100vw; 
    text-decoration: none;
}



/* Intro Animatie voor "You are AWESOME" */
.intro-animation {
    display: flex;
    justify-content: center;
    align-items: flex-start; /* Zorgt dat de animatie bovenaan start */
    height: 100vh; /* Verlaag de hoogte naar 80% van het scherm */
    background-color: white;
    overflow: hidden;
    padding-top: 20px; /* Voeg een beetje padding bovenaan toe voor ruimte */
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

#overlay-text {
    text-align: center;
    display: flex;
    flex-direction: column; /* Zorgt dat de tekstregels onder elkaar staan */
    gap: 20px; /* Vermindert de ruimte tussen de tekstregels */
}

.text-line {
    color: white; /* Woorden zijn wit */
    font-weight: bold;
    opacity: 0; /* Start volledig onzichtbaar */
    font-size: 8vw; /* Responsief voor mobiel */
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; /* Zwarte outline */
    animation: fade-slide 1s ease-out forwards;
    margin: 0; /* Verwijdert eventuele marges */
    line-height: 1; /* Zorgt dat er geen extra ruimte is tussen de regels */
}

.welcome {
    animation-delay: 0.3s; 
}

.you {
    animation-delay: 0.8s; 
    font-size: 9vw;
}

.are {
    animation-delay: 1.0s; 
    font-size: 6vw;
}

.awesome {
    font-size: 12vw; 
    color: #2e6db1; 
    letter-spacing: 10px;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;  
    animation-delay: 2.2s; 
    /* -webkit-text-stroke: 1px black;*/
 
} 

/* Fade en slide animatie */
@keyframes fade-slide {
    0% {
        opacity: 0; /* Begin onzichtbaar */
        transform: translateY(50px); /* Begint onder het scherm */
    }
    100% {
        opacity: 1; /* Volledig zichtbaar aan het einde van de animatie */
        transform: translateY(0); /* Schuift naar boven in beeld */
    }
}


/* Scroll-down circle */
.scroll-down {
    opacity: 1;
    position: absolute;
    bottom: 30px;
    left: 50%;
    margin-left: -16px;
    display: block;
    width: 32px;
    height: 32px;
    border: 2px solid #666; 
    border-radius: 50%;
    z-index: 2;
    animation: bounce 2s infinite 2s;
    transition: all .2s ease-in;
    transform: scale(1);
  }
  
  .scroll-down:before {
    position: absolute;
    top: calc(50% - 8px);
    left: calc(50% - 6px);
    transform: rotate(-45deg);
    content: "";
    width: 12px;
    height: 12px;
    border: 2px solid #666;
    border-width: 0px 0 2px 2px;
  }
  
  /* Bounce Animation */
  @keyframes bounce {
    0%, 100%, 20%, 50%, 80% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
  }


.intro {
    padding: 20px; /* Algemene padding voor mobiel */
    text-align: center; /* Centraal uitlijnen van de tekst */
}

.intro h1 {
    font-family: 'Poppins', sans-serif;
    font-size: 2.0rem; /* Responsieve grootte voor mobiel */
    color: #000;
    margin-bottom: 15px;
    letter-spacing: 4px;
}

.intro h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem; /* Responsieve grootte voor mobiel */
    color: #000;
    margin-bottom: 15px;
    letter-spacing: 4px;
}

.intro p {
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    color: #000000;
    margin-bottom: 50px;
    line-height: 1.6;
    padding: 0 10px; /* Extra padding voor wat ademruimte op mobiel */
}

.latest-artwork {
  position: relative;
  width: 100%;
  max-width: 1000px;     /* maximale breedte op desktop */
  margin: 0 auto;        /* centreert het blok */
  overflow: hidden;
}

.latest-artwork img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;       /* zorgt dat het nooit breder wordt dan de container */
  height: auto;          /* behoudt verhoudingen */
}

/* Algemene video styling */
.video-holder-index {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: black;
}

.video-holder-index video {
    width: 100%;
    height: auto;
    max-height: 50vh;
    object-fit: contain;
    background-color: black;
}

/* Explore More Button */
.btn-holder {
    margin-top: 20px;
}

.btn-explore {
    display: inline-block;
    padding: 10px 20px;
    color: black;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 0.2rem;
    border: 2px solid black;
    border-radius: 20px; /* Ronde hoeken */
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-explore:hover {
    background-color: black;
    color: white;
}  

.latest {
    text-align: center;
    margin-bottom: 20px;
    margin-top: 80px;
}

.latest p {
    font-size: 1.5rem;
    color: #2e6db1;
    margin-bottom: 5px;
}

.latest h3 {
    font-family: 'Roboto', sans-serif;
    font-size: 3rem;
    color: #2e6db1;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; /* Zwarte outline */
    margin-bottom: 20px;
    letter-spacing: 4px;
}

/* //// Page title animations //// */

.page-animation {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50vh; /* Maak de hoogte wat lager */
    background-color: white; /* Witte achtergrond */
    width: 100%; /* Volle breedte */
    overflow: hidden;
}

.page-text {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px; /* Afstand tussen de letters */
}

.text-line-page {
    color: white; /* Witte tekstkleur voor "Apps" */
    font-weight: bold;
    opacity: 0; /* Start volledig onzichtbaar */
    font-size: 10vw; /* Responsief voor mobiel */
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; /* Zwarte outline */
    animation: fade-slide-pages 1s ease-out forwards;
    margin: 0; /* Verwijder eventuele marges */
    line-height: 1; /* Zorgt dat er geen extra ruimte is tussen de regels */
}

.text-line-page {
    animation: fade-slide-pages 0.5s ease-out forwards;
    animation-delay: 0.2s; /* Start animatie met vertraging */
}

@keyframes fade-slide-pages {
    0% {
        opacity: 0; /* Begin onzichtbaar */
        transform: translateY(50px); /* Begint onder het scherm */
    }
    100% {
        opacity: 1; /* Volledig zichtbaar aan het einde van de animatie */
        transform: translateY(0); /* Schuift naar boven in beeld */
    }
}

/* //// APPS //// */

.apps-content {
    padding: 20px;
}

.media-holder {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.app-title {
    color: #2e6db1; /* Blauwe kleur voor de titel */
    text-align: center;
    font-family: 'Roboto', sans-serif;
    margin-bottom: 20px;
}

.photo-holder img {
    width: 100%;
    min-width: 400px;
    height: 400px; /* Zorg ervoor dat de hoogte gelijk is */
    object-fit: cover; /* Houdt de verhoudingen goed */
    display: block;
}

.video-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.video-holder {
    display: flex;
    flex-direction: column; /* Zorgt dat de video en titel onder elkaar komen */
    align-items: center; /* Centreer video en titel */
}

.video-holder video {
    width: 100%;
    height: 400px; /* Zorg ervoor dat de hoogte gelijk is */
    object-fit: cover; /* Houdt de verhoudingen goed */
    /* display: block; */
    display: flex;
    flex-direction: column; /* Zorgt ervoor dat de video's en hun titels onder elkaar staan */
    align-items: center; /* Centreert de inhoud */
}

.text-holder {
    padding: 20px 0;
    font-family: 'Roboto', sans-serif;
    width: 50%;
    text-align: center;
    margin: 0 auto; /* Zorgt voor horizontaal centreren */
}


.text-holder h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.text-holder p a {
    font-size: 1rem;
    color: #333;
    text-decoration: none;
}

.media-title {
    text-align: center;
    font-size: 1rem;
    color: #333;
    /* margin-top: 40px; */
}

/* //// Interactive //// */

.interactive-video-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 40px 0;
}

.interactive-video-title {
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 20px;
    color: #2e6db1;
}

.interactive-video-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    max-width: 1200px;
}

.interactive-video {
    width: 48%;
    height: auto;
}

.interactive-video-description {
    text-align: center;
    margin-top: 20px;
    width: 50%;
}

/* //// Film //// */

.storybook-section {
    padding: 40px;
    background-color: #fff;
}

.storybook-title {
    text-align: center;
    font-size: 2rem;
    color: #2e6db1;
    margin-bottom: 30px;
}

.logo-story {
    text-align: center;
    margin-top: 20px;
}

.logo-story img {
    max-width: 200px;
    height: auto;
}

.photo-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.photo-item img {
    width: 100%;
    max-width: 400px; /* Limiteer de breedte van de foto's */
    height: auto;
}

.photo-text {
    text-align: center;
    font-size: 0.9rem;
    /* margin-top: 5px; */
}

.main-text {
    padding: 20px 0;
    font-family: 'Roboto', sans-serif;
    width: 50%;
    text-align: center;
    margin: 0 auto; /* Zorgt voor horizontaal centreren */
}

.main-text p {
    margin-bottom: 10px;
}

.main-text-active {
    padding: 20px 0;
    font-family: 'Roboto', sans-serif;
    width: 50%;
    text-align: center;
    margin: 0 auto; /* Zorgt voor horizontaal centreren */
}

.main-text-active p {
    margin-bottom: 10px;
}

.video-section {
    padding: 40px 20px;
    text-align: center;
    background-color: #fff;
}

.video-holder-film {
    position: relative;
    padding-bottom: 56.25%; /* Aspect ratio 16:9 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
}

.video-holder-film iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.logo-container-video {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    gap: 50px; /* Adds spacing between logos */
}

.logo-container-video img {
    max-width: 120px;
    height: auto;
}

/* //// ART //// */

.photo-holder-art img {
    width: 100%;
    min-width: 100%;
    height: 500px; /* Zorg ervoor dat de hoogte gelijk is */
    object-fit: cover; /* Houdt de verhoudingen goed */
    display: block;
}

.arts-crafts-section {
    text-align: center;
    padding: 20px;
    margin: 0 auto;
}

.section-title {
    font-size: 2rem;
    margin-bottom: 20px;
    color: #2e6db1; /* Optional color */
}

.image-holder img {
    width: 100%;
    max-width: 600px; /* Ensure the image scales well */
    height: auto;
    display: block;
    margin: 0 auto;
}

.description {
    max-width: 600px;
    margin: 20px auto;
    font-size: 1rem;
    color: #333;
}

.art-description {
    margin-top: 20px;
    font-family: 'Roboto', sans-serif;
    color: #333;
}

.art-description p {
    margin: 5px 0;
}

/* //// Print //// */

/* Main grid styling */
.print-gallery {
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; /* Ensure the grid and text stack vertically */
}

.print-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    width: 100%;
}

.print-item {
    background-color: #2e6db1;;
    padding: 10px;
    text-align: center;
}

.print-item img {
    width: 100%;
    height: auto;
    cursor: pointer;
    transition: transform 0.3s ease;
    display: block;
    margin-bottom: 10px;
}

.print-item p {
    color: white;
    margin-top: 10px;
    font-size: 0.9rem;
}

/* Image hover effect */
.print-item img:hover {
    transform: scale(1.05);
}

/* Modal styling */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
}

.modal-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
    position: absolute;
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); /* Centers image vertically and horizontally */
}

.close {
    position: fixed;
    top: 150px; /* Adjust to set distance from top of the window */
    right: 150px; /* Set distance from the right side */
    color: #2e6db1; /* Set your preferred color */
    font-size: 40px; /* Adjust size as needed */
    cursor: pointer;
    z-index: 2; /* Ensure it stays above the image */
    background-color: white; /* Witte achtergrond */
    border-radius: 50%; /* Maakt het een perfecte cirkel */
    width: 40px; /* Breedte voor de cirkel */
    height: 40px; /* Hoogte voor de cirkel */
    display: flex; /* Zorgt ervoor dat het kruisje gecentreerd is */
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Zachte schaduw */
}

#caption {
    margin: auto;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: white;
    padding: 10px 0;
    position: absolute;
    top: 60%; /* Adjust placement relative to the image */
    left: 50%;
    transform: translateX(-50%);
    display: none;
}

.modal-img{
    cursor: pointer;
}

/* //// Contact //// */

.contact-container {
    width: 80%;
    height: 100%;
    margin: 0 auto;
    padding: 40px;
    background-color: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    text-align: left;
    
}

.contact-logo {
    text-align: center;
    margin-bottom: 20px;
}

.contact-logo img {
    max-width: 150px;
}

.contact-title {
    font-size: 1.8rem;
    color: #2e6db1;
    margin-bottom: 20px;
}

form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
    /* margin-bottom: 100px; 
    padding-bottom: 100px; */
}

input[type="text"], input[type="email"], textarea {
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 1rem;
}

textarea {
    height: 150px;
    resize: none;
}

button {
    width: 100%;
    padding: 12px;
    background-color: #2e6db1;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s;
}

button:hover {
    background-color: #244f89;
}

.captcha {
    margin: 20px 0;
    text-align: center;
}

#contactForm button {
    margin-bottom: 100px; 
}

#formMessage {
  text-align: left;
  margin: 20px 0; /* verwijder auto-centering */
  font-size: 1rem;
  font-weight: bold;
  padding-left: 0px; /* optioneel, geeft wat ademruimte links */
}

#formMessage p {
  padding: 12px 20px;
  border-radius: 6px;
  display: inline-block;
}

#formMessage p[style*="green"] {
  background-color: #e6ffe6;
  color: #2b662b;
  border: 1px solid #2b662b;
}

#formMessage p[style*="red"] {
  background-color: #ffe6e6;
  color: #a30000;
  border: 1px solid #a30000;
}


