<!-- Header -->
<!DOCTYPE html>
<html lang="en">

<head>
	<!-- CMS and Theme by IO200 (https://www.io200.com) -->
	<!-- Meta -->
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
	<meta name="mobile-web-app-capable" content="yes">
	<!-- Meta (SEO) -->
	<title> | richard lahuis</title><meta name="description" content="the official site of richard lahuis. photography and art projects."><meta name="keywords" content="richard lahuis, photographer, photography, valid values, buiten binnen drenthe">	<meta name="robots" content="all">
	<!-- CSS -->
	<link rel="preload" href="/res/style/_base.css?v=2.23.1a" as="style"><link rel="stylesheet" href="/res/style/_base.css?v=2.23.1a" type="text/css" media="screen"><link rel="preload" href="/res/style/layout-sidebar.css?v=2.23.1a" as="style"><link rel="stylesheet" href="/res/style/layout-sidebar.css?v=2.23.1a" type="text/css" media="screen"><link rel="stylesheet" href="/res/style/font-karlabold.css?v=2.23.1a" type="text/css" media="screen"><link rel="stylesheet" href="/res/style/_flavors.css?v=2.23.1a" type="text/css" media="screen">	<style>
                    ul.gallery.gallery-album{--gallery-spacingfactor: 2;}                    
                    ul.gallery.gallery-set{--gallery-spacingfactor: 2;}
                </style>		<style>:root {
  --peach: #ffb7b2;
  --blue: #b7e5ff;
  --green: #b7ffc9;
  --accent: #6d4aff;
  --bg: #faf8f5;
  --dark: #1a1a1a;
  --text: #2a2a2a;
}

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

body {
  background: var(--bg);
  font-family: Arial, sans-serif;
  color: var(--text);
  overflow-x: hidden;
  font-weight: 300;
  line-height: 1.6;
}

a { text-decoration: none !important; color: inherit; }
h1, h2, h3 { font-family: Arial, sans-serif; font-weight: 300; }

/* Hide sidebar */
.layout-sidebar { margin: 0 !important; padding: 0 !important; }
header nav { display: none !important; }
h1.none { display: none !important; }

/* ===== FLOATING HEADER ===== */
.floating-nav {
  position: fixed;
  top: 2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 94%;
  max-width: 1200px;
  padding: 1rem 2rem;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 100px;
  z-index: 9999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 10px 40px rgba(109, 70, 255, 0.05);
}

.floating-nav .logo { font-size: 0.9rem; font-weight: 400; letter-spacing: 0.5px; text-transform: lowercase; }
.floating-nav .nav-links { display: flex; align-items: center; flex-wrap: wrap; }
.floating-nav a { margin-left: 1.5rem; font-size: 0.75rem; letter-spacing: 1px; text-transform: uppercase; position: relative; }
.floating-nav a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--accent); transition: width 0.4s ease; }
.floating-nav a:hover::after { width: 100%; }

/* ===== PASTEL TINT ===== */
.tint-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(120deg, rgba(255, 183, 178, 0.05) 0%, rgba(183, 229, 255, 0.05) 50%, rgba(183, 255, 229, 0.05) 100%);
  mix-blend-mode: soft-light;
}

/* ===== MAIN ===== */
main.template-page, main.template-page.frontpage {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 6rem 2rem 4rem !important;
}

/* ===== GALLERY - LIST MODE (default) ===== */
ul.gallery.gallery-album {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 2rem 0 !important;
  column-count: normal !important;
  column-gap: normal !important;
}

ul.gallery.gallery-album li {
  display: flex !important;
  align-items: center !important;
  gap: 2rem;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.5);
  transition: background 0.3s ease, box-shadow 0.3s ease;
  break-inside: avoid !important;
  width: auto !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  height: auto !important;
}

ul.gallery.gallery-album li:hover {
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 10px 40px rgba(109, 70, 255, 0.08);
}

ul.gallery.gallery-album li > a {
  display: flex !important;
  align-items: center !important;
  gap: 2rem !important;
  width: 100% !important;
}

ul.gallery.gallery-album li .photo-wrapper {
  flex-shrink: 0 !important;
  width: 140px !important;
  height: 140px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 5px 20px rgba(109, 70, 255, 0.1) !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
}

ul.gallery.gallery-album li .photo-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  /* DO NOT touch visibility/opacity - let MyApp.js handle lazy loading */
}

ul.gallery.gallery-album li .info.info-title {
  position: static !important;
  display: block !important;
  opacity: 1 !important;
  background: none !important;
  padding: 0 !important;
  text-shadow: none !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  color: var(--dark) !important;
  font-weight: 400 !important;
}

/* ===== GALLERY - GRID MODE ===== */
ul.gallery.gallery-album.grid-view {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 1.5rem !important;
}

ul.gallery.gallery-album.grid-view li {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

ul.gallery.gallery-album.grid-view li > a {
  display: block !important;
}

ul.gallery.gallery-album.grid-view li .photo-wrapper {
  width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 40px rgba(109, 70, 255, 0.08) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
  overflow: hidden;
}

ul.gallery.gallery-album.grid-view li:hover .photo-wrapper {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 20px 60px rgba(109, 70, 255, 0.15) !important;
}

ul.gallery.gallery-album.grid-view li .photo-wrapper img {
  border-radius: 12px !important;
}

ul.gallery.gallery-album.grid-view li .info.info-title {
  position: absolute !important;
  bottom: 1rem;
  left: 1rem;
  opacity: 0 !important;
  background: rgba(0, 0, 0, 0.3) !important;
  padding: 0.4rem 0.8rem !important;
  border-radius: 50px !important;
  color: white !important;
  font-size: 0.7rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

ul.gallery.gallery-album.grid-view li:hover .info.info-title {
  opacity: 1 !important;
}

/* ===== GALLERY CONTROLS ===== */
.gallery-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0;
  padding: 0 1rem;
}

.gallery-view-btn {
  padding: 0.5rem 1.5rem;
  border: 1px solid #ddd;
  border-radius: 50px;
  background: transparent;
  font-size: 0.75rem;
  font-family: Arial, sans-serif;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.gallery-view-btn.active {
  background: var(--accent);
  color: white;
  border-color: var(--accent);
}

.gallery-view-btn:hover:not(.active) {
  background: rgba(109, 70, 255, 0.08);
}

/* ===== CONTACT ===== */
main.template-contact {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 80vh !important;
  text-align: center !important;
  padding: 6rem 2rem !important;
}

/* ===== FOOTER ===== */
footer { text-align: left !important; padding: 3rem 2rem !important; border-top: 1px solid rgba(0, 0, 0, 0.05); margin-top: 3rem; }
footer p { font-size: 0.75rem; color: #888; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .floating-nav { top: 1rem; width: 96%; padding: 0.75rem 1.5rem; }
  .floating-nav a { margin-left: 1rem; font-size: 0.65rem; }
  ul.gallery.gallery-album li { flex-direction: column !important; gap: 1rem !important; }
  ul.gallery.gallery-album li > a { flex-direction: column !important; }
  ul.gallery.gallery-album li .photo-wrapper { width: 100% !important; height: 250px !important; }
  main.template-page { padding: 5rem 1.5rem 3rem !important; }
  .gallery-controls { justify-content: center; }
}</style>		<!-- JS -->
	<script src="/res/script/MyApp.js?v=2.23.1a"></script>
                <script src="/res/lib/glightbox/glightbox.min.js?v=2.23.1a" defer></script>
                <link href="/res/lib/glightbox/glightbox.min.css?v=2.23.1a" type="text/css" rel="stylesheet">	<meta name="robots" content="noindex">	<!-- Further -->
		<link rel="icon" href="/storage/custom/favicon.png" type="image/png">
            <meta property="og:logo" content="/storage/custom/favicon.png" />	<link rel="sitemap" href="/sitemap.xml" type="application/xml">	<!-- Code Injection -->
	<script>
document.addEventListener('DOMContentLoaded', function() {

  /* ===== FLOATING NAV ===== */
  var floatingNav = document.createElement('nav');
  floatingNav.className = 'floating-nav';
  floatingNav.innerHTML =
    '<div class="logo">richard lahuis</div>' +
    '<div class="nav-links">' +
      '<a href="/">portraits</a>' +
      '<a href="/stop">stop</a>' +
      '<a href="/valid-values">valid values</a>' +
      '<a href="/buiten-binnen-drenthe">buiten binnen drenthe</a>' +
      '<a href="/contact">contact</a>' +
    '</div>';
  document.body.prepend(floatingNav);

  /* ===== PASTEL TINT ===== */
  var tintOverlay = document.createElement('div');
  tintOverlay.className = 'tint-overlay';
  document.body.appendChild(tintOverlay);

  /* ===== GALLERY CONTROLS ===== */
  function setupGallery() {
    var galleries = document.querySelectorAll('ul.gallery.gallery-album');
    if (galleries.length === 0) return;
    if (document.querySelector('.gallery-controls')) return;

    var controls = document.createElement('div');
    controls.className = 'gallery-controls';
    controls.innerHTML =
      '<button class="gallery-view-btn active" data-view="list">List</button>' +
      '<button class="gallery-view-btn" data-view="grid">Grid</button>';

    var firstGallery = galleries[0];
    firstGallery.parentNode.insertBefore(controls, firstGallery);

    var btns = controls.querySelectorAll('.gallery-view-btn');
    btns.forEach(function(btn) {
      btn.addEventListener('click', function() {
        btns.forEach(function(b) { b.classList.remove('active'); });
        btn.classList.add('active');
        var viewMode = btn.getAttribute('data-view');
        galleries.forEach(function(g) {
          if (viewMode === 'grid') {
            g.classList.add('grid-view');
          } else {
            g.classList.remove('grid-view');
          }
        });
        try { localStorage.setItem('galleryView', viewMode); } catch(e) {}
      });
    });

    /* Restore saved preference */
    try {
      var saved = localStorage.getItem('galleryView');
      if (saved === 'grid') {
        var gridBtn = controls.querySelector('[data-view="grid"]');
        if (gridBtn) gridBtn.click();
      }
    } catch(e) {}
  }

  /* Run after io200 initializes (it mounts galleries async) */
  setupGallery();
  setTimeout(setupGallery, 500);
  setTimeout(setupGallery, 1500);
  setTimeout(setupGallery, 3000);

  /* ===== DO NOT TOUCH IMAGE LOADING ===== */
  /* Let io200's MyApp.js handle data-src → src and visibility */
  /* Do NOT set visibility, opacity, or src on images */

});
</script></head>

<body class="language- template-_password templatelayout-standard layout-sidebar mode-light font-karlabold flavors-roundedborders flavors-slideeffect">

	<a href="#top" onclick="document.getElementById('top')?.focus()" class="skip-link">Skip to content</a>

	<div id="container">
			<!-- Header -->
			<header>
				<div class="title-container">
					<span class="website-title"><a href="https://richardlahuis.studio" title="richard lahuis" class="website-title-link">richard lahuis</a></span>
									</div>
				<nav>
										<ul class="primary level-0"><li class="linktemplate-page"><a href="/stop" class="nav-item-title" title="STOP">STOP</a></li><li class="linktemplate-page"><a href="/valid-values" class="nav-item-title" title="valid values">valid values</a></li><li class="linktemplate-page"><a href="/buiten-binnen-drenthe" class="nav-item-title" title="buiten binnen drenthe">buiten binnen drenthe</a></li><li class="linktemplate-"><a href="https://hamburgheadshot.com" class="nav-item-title" target="_blank" title="hamburgheadshot.com">hamburgheadshot.com</a></li><li class="linktemplate-page"><a href="/contact" class="nav-item-title" title="contact">contact</a></li><li class="linktemplate-album"><a href="/home-1" class="nav-item-title" title="home">home</a></li></ul>				</nav>
			</header>

			<!-- Content -->
			<main id="top" class="template-_password" tabindex="-1">

<h1 class="desktop mobile">Password required</h1>
<form class="form-inline" method="post">
    <input type="password" name="password" placeholder="Enter password" autocomplete="new-password">
    <button type="submit" class="button button-primary" name="path_protection">Submit</button>

    </form>

<!-- Footer -->
</main>

<!-- Footer -->
<footer>
			</footer>

</div>

<!-- CMS and Theme by IO200 (https://www.io200.com) -->
<script>
                    window.MyApp.settings.lightboxZoomable = true
                    window.MyApp.lang.general = { textClose: `Close` }
                    window.MyApp.lang.pathaccess = { textLogout: `Logout` }
                    
                    document.addEventListener('DOMContentLoaded', () => { window.MyApp.init() })
        	    </script>
</body>

</html>