body {
  display: flex;
  justify-content: center;
  min-height: 100vh;
  background-color: #E0E5EC;
  color: #000;
  font-family: Arial, sans-serif;
}
.login-container {
  margin-top:15px;
  padding: 35px;
  width: 320px;
  height: max-content;
  text-align: center;
  border-radius:20px !important;
  background: #e0e5ec !important;
  box-shadow: 10px 10px 20px #b8bcc2, -10px -10px 20px #fff !important;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.login-container h1 {
	margin-bottom: -10px;
}
.login-container label {
  display: block;
  text-align: left;
  margin-bottom: 5px;
}
.login-container input[type="text"],
.login-container input[type="password"] {
  width: calc(100% - 20px);
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #555;
  border-radius: 4px;
  background-color: #40444b;
  color: #fff;
}
.login-container input[type="submit"] {
  background-color: #7289da;
  background-color: #FDB902;
  color: white;
  color: black;
  padding: 10px 15px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  width: 100%;
  margin-bottom: 10px; /* Ruimte tussen de knoppen */
}
.login-container input[type="submit"]:hover {
  background-color: #677bc4;
}
img.img_shadow {
  	height:100px;
	filter: drop-shadow(5px 5px 5px #000) drop-shadow(-5px -5px 5px #b8bcc2);  
}
.login-error {
  color: red;
  margin-top: 10px;
}

.menu ul.hoofd li a {
  color: #000;
  text-decoration: none;
}
/* Stijl voor de iframe */
#content-iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
.menu-header-info {
  color: #000;
  font-size: 10px; /* Iets kleiner dan H2 */
  display: block; /* Zorgt dat het op een nieuwe regel komt, of pas display:inline-block aan*/
  margin-top: -5px;
  font-weight: normal; /* Niet te dikgedrukt */
}
.menu-header-wrapper {
  display: flex;
  align-items: baseline; /* Lijn ze uit op de basislijn van de tekst */
  margin-bottom: 10px; /* Ruimte onder de header */
  /* padding-left: 15px; /* Consistent met h2 padding */
  padding-right: 15px;
}
.menu-header-wrapper h2 {
  margin: 0; /* Verwijder standaard margin van h2 */
  padding: 0;
}
.hamburger {
    display: none;
    font-size: 30px;
    cursor: pointer;
    padding: 10px 20px;
    background-color: #375950;
    color: white;
}
.hamburger-altijd {
    font-size: 30px;
    padding: 10px 20px;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 5;
    display: none;
}

.overlay.active {
    display: block;
}

.container {
    display: flex;
    flex: 1;
    width: 100%;
    overflow: hidden;
    flex-direction: row; /* Standaard (desktop) */
}

.container h1.clamp {
	font-size: clamp(25px, 5vw, 60px) !important;	
}

.content {
    flex: 5;
    background-color: #E0E5EC;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	border: none;
    box-sizing: border-box;
    overflow-y: auto; /* Scrollbalk voor content op desktop als nodig */
    display: flex;
    flex-direction: column; /* Om iframe 100% hoogte te kunnen geven op desktop */
}

.menu {
    flex: 1;
    padding: 10px 0 0 20px;
    background-color: #E0E5EC;
	color: #000;
    box-sizing: border-box;
    overflow-y: auto;
	display: flex;
	flex-direction: column;
    justify-content: flex-start; 
    align-items: center;
    min-width: 225px;
}

.menu ul.hoofd {
    list-style: none;
    padding: 0;
}

.menu ul.sub {
    list-style: none !important;
    padding: 0 0 0 10px !important;
}

.menu li {
    margin-bottom: 2px;
}

.menu a {
    text-decoration: none;
  	color: #000;
}

.menu .hoofd ul li {
	padding: 0 0 0 0; !important;
}

.menu ul.hoofd li.active a {
    font-weight: bold;
}

.sub-dir-naam {
  padding-top:10px;	
}
input#username, input#password {
  padding: 12px 15px;
  border:none;
  border-radius:10px;
  background:#e0e5ec;
  box-shadow: inset 5px 5px 10px #b8bcc2, inset -5px -5px 10px #fff;
  outline: none;
  font-size: 18px;
  color: #000;
}
input[type="submit"] {
  padding: 12px !important;
  border: none !important;
  border-radius:15px !important;
  background: #e0e5ec !important;
  box-shadow: 5px 5px 10px #b8bcc2, -5px -5px 10px #fff !important;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset !important;
  cursor: pointer !important;
  font-weight:bold !important;
  transition: 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  width: 200px !important;
}

li.not_active a, .logout_button a, a.menu-button {
  padding: 5px 5px 5px 10px !important;
  border: none !important;
  font-size: 14px;
  border-radius:15px !important;
  background: #e0e5ec !important;
  box-shadow: 5px 5px 10px #b8bcc2, -5px -5px 10px #fff !important;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset !important;
  cursor: pointer !important;
  //font-weight:bold !important;
  transition: 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  width: 200px !important;
}
li.active a, li.not_active a:hover {
  padding: 5px 5px 5px 10px !important;
  border: none !important;
  font-size: 14px;
  border-radius:15px !important;
  background: yellow;
  box-shadow: inset 5px 5px 10px #b8bcc2, inset -5px -5px 10px #fff !important;
  box-shadow: inset 5px 5px 10px #A3A300, inset -5px -5px 10px #FFFFB8 !important;
  cursor: pointer !important;
  //font-weight:bold !important;
  transition: 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  width: 200px !important;
}
a.menu-button {
  justify-content: center;
  padding: 10px 0 10px 0 !important;
  font-weight: bold !important;
  background: #e0e5ec;
}
li.not_active a:hover, a.menu-button:hover {
	color: #000 !important; 
  //background-color: darkgrey !important;
    box-shadow: inset 5px 5px 10px #808080, inset -5px -5px 10px lightgrey !important;
}
.logout_button a:hover {
  padding: 12px !important;
  border: none !important;
  border-radius:5px !important;
  background: #e0e5ec !important;
  box-shadow: inset 5px 5px 10px #b8bcc2, inset -5px -5px 10px #fff !important;
  cursor: pointer !important;
  font-weight:bold !important;
  transition: 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  width: 200px !important;
}
ul.sub li {
 margin:4px 0 4px 0; 
}
input[type="submit"]:active {
  box-shadow: inset 5px 5px 10px #b8bcc2, inset -5px -5px 10px #fff !important;
}
/* De iframe styling, geldig voor desktop */
.content iframe {
    width: 100%;
    height: 100%; /* Neemt 100% hoogte van .content op desktop */
    border: none;
}

.sub-dir-naam {
	padding-top: 10px !important;
}

/* @media only screen and (max-width: 1350px) { */

@media only screen and (max-width: 950px) {
	.menu a {
		font-size: 12px;
		font-size: 14px;
	}

    .menu {
        position: absolute;
        top: 10px;
        left: 8px;
        width: 270px; /* of bijvoorbeeld 80% */
        height: 100vh;
        background-color: #E0E5EC;
        display: none;
        z-index: 10;
        overflow-y: auto;
        flex: 0 0 auto; /* Laat het menu zijn natuurlijke hoogte innemen */
        order: 1; /* Plaats het menu boven de content */
        border-left: none;
        border-bottom: 1px solid #ccc;
    }

    .menu.active {
        display: block;
    }

    .hamburger {
        display: block;
        font-size: 30px;
        cursor: pointer;
        padding: 10px 20px;
        background-color: #E0E5EC;
        color: #000;
        z-index: 20;
    }
	.content {
		font-size: 18px !important;
	}

    .container {
        flex-direction: column; /* Stapel items verticaal */
    }

    .content {
        flex: 1; /* Laat content de resterende ruimte innemen, naast het menu */
        order: 2; /* Plaats content onder het menu */
        border-left: none;
        border-top: 1px solid #ccc;
        /* Verwijder display:flex en flex-direction:column hier als je geen specifieke behoefte hebt om de iframe flex te maken op mobiel,
           anders kan het de hoogteberekening verstoren in combinatie met de onderstaande height */
        display: block; /* Keer terug naar standaard blokgedrag */
    }

    /* Specifieke styling voor de iframe op kleinere schermen */
    .content iframe {
        height: calc(100vh - 100px/* Hoogte van menu + eventuele padding/margins van container */);
        /* Dit is tricky en moet precies berekend worden. Een vaste min-height is vaak eenvoudiger. */
        min-height: 450px; /* Geef de iframe een minimale hoogte op mobiel */
        /* Je kunt ook een vaste hoogte geven, bijv. height: 600px; */
    }
	
	.menu a {
    	padding: 0;
		font-size: 10px;
		font-size: 14px;
	}

	.content {
		font-size: 12px !important;
	}
}