/*
Theme Name: Olivier Foundation
Author: Olivier NV
Description: Zelfstandig Olivier-thema op basis van de Olivier Pile huisstijl. Geen parent theme of themalicentie vereist.
Version: 0.3.9
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: olivier-foundation
*/
:root{--blue:#15366f;--ink:#15243b;--yellow:#fff533;--muted:#5e6a79;--line:#dde4ed;--paper:#f3f6fa;--width:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:18px/1.65 Calibri,"Segoe UI",Arial,sans-serif}a{color:var(--blue);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}figure{margin:1.5em 0}button,input,textarea,select{font:inherit}button,.button,input[type=submit]{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #46a37a;outline-offset:4px}.wrap{width:min(var(--width),calc(100% - 64px));margin:auto}.skip-link{position:absolute;left:16px;top:-100px;z-index:99999;background:var(--yellow);padding:12px}.skip-link:focus{top:16px}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0}.brand img{display:block;width:230px;height:auto}.brand{text-decoration:none;font-size:30px;font-weight:800}.header-tools{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:15px}.header-tools .widget{margin:0}.header-tools .widget br{display:none}.languages{display:flex;gap:14px;list-style:none;padding:0;margin:0}.languages a[aria-current]{font-weight:bold;border-bottom:3px solid var(--yellow)}.nav-row{border-top:1px solid var(--line)}.main-menu,.main-menu ul{list-style:none;padding:0;margin:0}.main-menu{display:flex;flex-wrap:wrap;gap:0 28px}.main-menu li{position:relative}.main-menu a{display:block;text-decoration:none;padding:14px 0;font-weight:600;font-size:16px}.main-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:260px;max-width:350px;background:#fff;padding:12px 20px;box-shadow:0 12px 32px #15243b24;z-index:30}.main-menu .sub-menu .sub-menu{left:100%;top:0}.main-menu li:hover>.sub-menu,.main-menu li:focus-within>.sub-menu,.main-menu li.is-open>.sub-menu{display:block}.main-menu .sub-menu a{padding:8px 0}.submenu-toggle{border:0;background:transparent;color:var(--blue);padding:10px}.menu-item-has-children>a{display:inline-block}.menu-toggle{display:none}.hero{background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1fr;min-height:540px}.hero-copy{padding:72px max(32px,calc((100vw - var(--width))/2));padding-right:56px;align-self:center}.eyebrow{display:inline-block;color:var(--blue);background:var(--yellow);font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:7px 14px}.hero h1{font-size:clamp(40px,4.3vw,66px);line-height:1.06;letter-spacing:-.025em;margin:28px 0}.hero p{color:#e3eaf4;max-width:510px;font-size:21px}.hero-image{width:100%;height:100%;object-fit:cover;min-height:360px}.button{display:inline-block;background:var(--yellow);color:var(--blue);padding:13px 22px;font-weight:700;text-decoration:none;border:0}.section{padding:64px 0}.section-heading{font-size:36px;line-height:1.2;margin:0 0 30px;color:var(--blue)}.intro-widgets .widget{margin:0 0 28px}.intro-widgets blockquote{border-left:5px solid var(--yellow);margin:24px 0;padding:8px 24px;font-size:25px;color:var(--blue)}.intro-widgets .widget-title{font-size:30px}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.post-card{border:1px solid var(--line);background:#fff;min-width:0}.post-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.card-copy{padding:26px}.post-card h2{font-size:24px;line-height:1.25;margin:10px 0 15px}.post-card h2 a{text-decoration:none}.post-card p{font-size:17px}.date{color:var(--muted);font-size:14px}.page-banner{background:var(--paper);border-bottom:4px solid var(--yellow);padding:56px 0}.page-banner h1{font-size:clamp(34px,4vw,54px);line-height:1.12;max-width:1000px;margin:0;color:var(--blue);overflow-wrap:anywhere}.content-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;padding-top:48px;padding-bottom:64px}.content-layout.has-sidebar{grid-template-columns:minmax(0,1fr) 260px}.entry-content{min-width:0;overflow-wrap:break-word}.entry-content>*:first-child{margin-top:0}.entry-content h2,.entry-content h3{color:var(--blue);line-height:1.25;margin-top:1.5em}.entry-content h2{font-size:32px}.entry-content h3{font-size:25px}.entry-content p{max-width:none}.entry-content iframe{max-width:100%}.entry-content video{max-width:100%;height:auto}.wp-block-embed__wrapper iframe{width:100%;aspect-ratio:16/9;height:auto}.entry-content table{border-collapse:collapse;width:100%}.entry-content td,.entry-content th{padding:12px;border:1px solid var(--line);text-align:left}.wp-block-table{overflow-x:auto}.entry-content th{background:var(--paper)}.entry-content blockquote{border-left:4px solid var(--yellow);padding-left:24px;margin-left:0}.wp-caption,.gallery-caption,figcaption{max-width:100%;font-size:15px;color:var(--muted)}.alignleft{float:left;margin:0 24px 20px 0}.alignright{float:right;margin:0 0 20px 24px}.aligncenter{display:block;margin-left:auto;margin-right:auto}.entry-content:after{content:"";display:table;clear:both}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap}.screen-reader-text:focus{clip:auto;clip-path:none;height:auto;width:auto;position:static}.pagination,.post-navigation{margin:40px 0}.nav-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}.page-numbers{padding:8px 14px;border:1px solid var(--line)}.page-numbers.current{background:var(--blue);color:white}.site-footer{background:var(--blue);color:white;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}.site-footer a{color:white}.site-footer ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:18px}.search-form{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.search-field,textarea,input:not([type=submit]):not([type=checkbox]){border:1px solid #9ba9bb;padding:10px;max-width:100%}.search-submit,input[type=submit]{background:var(--blue);color:white;border:0;padding:10px 18px}.comment-list{padding-left:20px}.comment-body{border-bottom:1px solid var(--line);padding:20px 0}.comment-form textarea{display:block;width:100%}.bypostauthor{border-left:3px solid var(--yellow)}.sticky{border-top:4px solid var(--yellow)}
@media(max-width:1050px){.main-menu{gap:0 18px}.main-menu .sub-menu .sub-menu{position:static;box-shadow:none;padding-left:16px}.hero-copy{padding:48px 32px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header-top{padding:20px 0;align-items:flex-start;flex-direction:column;gap:16px}.brand img{width:185px}.header-tools{gap:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 24px}.hero-image{height:300px;min-height:0}.hero h1{font-size:42px}.section{padding:40px 0}.post-grid{grid-template-columns:1fr}.content-layout.has-sidebar{grid-template-columns:1fr}.page-banner{padding:36px 0}.main-menu{display:block}.main-menu .sub-menu{position:static;box-shadow:none;max-width:100%;min-width:0;padding-left:18px}.main-menu li:hover>.sub-menu{display:none}.main-menu li:focus-within>.sub-menu,.main-menu li.is-open>.sub-menu{display:block}.js .menu-toggle{display:block;margin:10px 0;border:1px solid var(--line);padding:8px 16px;background:white;color:var(--blue)}.js .navigation:not(.is-open){display:none}.footer-inner{display:block}.alignleft,.alignright{float:none;margin:20px 0}.wp-block-columns{flex-wrap:wrap!important}.wp-block-column{flex-basis:100%!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-footer,.hero,.post-navigation,.sidebar{display:none}body{font-size:12pt}.wrap{width:100%}.page-banner{background:white;padding:0;border:0}.content-layout{display:block}}
.technology-section{margin:48px 0 64px}.technology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.technology-card{background:var(--paper);border-top:4px solid var(--yellow);padding:26px;display:flex;flex-direction:column;text-decoration:none;min-height:180px}.technology-card h3{font-size:25px;line-height:1.2;margin:16px 0}.technology-number{color:var(--muted);font-size:14px}.technology-card>span:last-child{margin-top:auto;align-self:flex-end;font-size:25px}.site-footer p{font-size:16px}.site-footer .social-links{max-width:380px;font-size:15px}.entry-featured-image{float:left;width:40%;margin:0 28px 20px 0}.linkpreview{padding:16px;border:1px solid var(--line);border-radius:4px}.linkpreview img{max-width:200px}.bx-wrapper{max-width:100%!important}.wp-block-gallery .blocks-gallery-item figure{max-width:176px}.widget-title{color:var(--blue)}.technology-card:hover{background:#e5ebf5}
@media(max-width:760px){.technology-grid{grid-template-columns:1fr}.technology-card{min-height:140px}.entry-featured-image{width:100%;float:none;margin:0 0 24px}}
.olivier-video{width:100%;aspect-ratio:16/9;margin:24px 0}.olivier-video iframe{display:block;width:100%;height:100%;border:0}.pagination .nav-links{justify-content:flex-start}.intro-widgets{max-width:1000px}.post-card .wp-post-image{background:var(--paper)}
.header-search{position:relative}.header-search summary{cursor:pointer;font-weight:600;color:var(--blue)}.header-search .search-form{position:absolute;right:0;top:20px;background:white;border:1px solid var(--line);padding:18px;z-index:50;min-width:300px;box-shadow:0 12px 30px #15243b20}.post-extras{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.share-links{display:flex;gap:20px}.post-extras h2{font-size:24px;color:var(--blue)}@media(max-width:760px){.header-search .search-form{position:static;min-width:0;box-shadow:none}.header-search[open]{width:100%}}
.olivier-gallery{border:0;border-radius:4px;padding:18px;background:#fff;color:var(--ink);max-width:min(1100px,94vw);max-height:94vh;text-align:center}.olivier-gallery::backdrop{background:#15243bcc}.olivier-gallery img{display:block;max-height:72vh;max-width:85vw;margin:auto;object-fit:contain}.olivier-gallery button{background:var(--blue);color:white;border:0;padding:10px 18px;margin:0 8px;min-height:44px}.olivier-gallery .gallery-close{display:block;margin:0 0 14px auto}.olivier-gallery p{font-size:15px;margin:12px auto}.olivier-gallery button[hidden]{display:none}
/* Editorial homepage: Olivier colours, compact introduction and a technical directory. */
.hero-editorial{width:min(1240px,calc(100% - 64px));margin:28px auto 0;min-height:0;background:white;color:var(--blue);grid-template-columns:minmax(0,1fr) 280px;gap:36px;border-left:6px solid var(--yellow)}
.hero-editorial .hero-copy{padding:8px 0 8px 26px}
.hero-editorial .eyebrow{padding:0;background:none;font-size:12px;letter-spacing:.12em}
.hero-editorial h1{font-size:clamp(28px,3vw,42px);line-height:1.12;margin:8px 0 12px;letter-spacing:-.02em}
.hero-editorial p{font-size:17px;line-height:1.45;color:var(--ink);max-width:680px;margin:0}
.hero-editorial .button{background:transparent;padding:10px 0 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.hero-editorial .hero-image{height:190px;min-height:0;object-position:center 48%}
.hero-editorial + .section{padding-top:22px}
.technology-directory{margin:0 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:14px 0}
.technology-directory .section-heading{font-size:16px;flex:0 0 150px;margin:0}
.technology-directory .technology-grid{display:flex;flex:1;gap:24px}
.technology-directory .technology-card{background:none;border:0;min-height:0;padding:0;flex:1;flex-direction:row;align-items:center;gap:10px}
.technology-directory .technology-number{font-size:11px;color:var(--muted)}
.technology-directory .technology-card h3{font-size:17px;line-height:1.25;margin:0}
.technology-directory .technology-card>span:last-child{margin:0 0 0 auto;align-self:center;font-size:18px}
.technology-directory .technology-card:hover h3{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:5px}
.hero-editorial + .section > .section-heading{font-size:30px;margin-bottom:22px}
.home-background{margin-top:64px;padding-top:30px;border-top:1px solid var(--line)}
.feed-status{font-size:15px;min-height:1.5em;margin:24px 0 10px}.feed-more[hidden],[data-feed-pagination][hidden]{display:none}.feed-more:disabled{opacity:.65;cursor:wait}
@media(max-width:1000px){.technology-directory{gap:16px}.technology-directory .technology-grid{gap:14px}.technology-directory .technology-card h3{font-size:15px}.hero-editorial{grid-template-columns:minmax(0,1fr) 210px;gap:24px}}
@media(max-width:760px){.hero-editorial{width:calc(100% - 40px);margin-top:20px;display:block;border-left-width:4px}.hero-editorial .hero-copy{padding:0 0 0 16px}.hero-editorial h1{font-size:30px;margin:6px 0 10px}.hero-editorial p{font-size:15px;line-height:1.4}.hero-editorial .hero-image{display:none}.hero-editorial .button{font-size:13px}.hero-editorial + .section{padding-top:18px}.technology-directory{display:block;padding:12px 0;margin-bottom:22px}.technology-directory .section-heading{font-size:13px;margin-bottom:10px}.technology-directory .technology-grid{display:block}.technology-directory .technology-card{margin:8px 0;gap:10px}.technology-directory .technology-card h3{font-size:15px}.technology-directory .technology-number{min-width:18px}.hero-editorial + .section > .section-heading{font-size:25px;margin-bottom:16px}}
@media(max-width:760px){.header-top{padding:14px 0;gap:8px}.header-tools{gap:8px;font-size:13px}.header-tools .widget p,.header-tools .widget ul{margin-top:0;margin-bottom:0}.js .menu-toggle{margin:6px 0;padding:5px 14px;min-height:44px}.technology-directory .technology-card{margin:5px 0}.technology-directory{padding:10px 0;margin-bottom:18px}.hero-editorial{margin-top:16px}.hero-editorial h1{font-size:28px}}

.home-about{margin-top:14px}.home-about>summary{display:list-item;list-style:disclosure-closed inside;width:fit-content;background:var(--yellow);color:var(--blue);padding:8px 16px;cursor:pointer;font-size:15px;font-weight:700}.home-about[open]>summary{list-style-type:disclosure-open}.home-about>summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.home-about .intro-widgets{padding:22px 0 0;max-width:100%}.home-about .intro-widgets p{margin:0 0 16px;max-width:100%;font-size:17px}.home-about .intro-widgets blockquote{font-size:21px;margin:18px 0;padding:4px 18px}.home-about .intro-widgets .widget:last-child{margin-bottom:0}.technology-directory .section-heading{flex-basis:125px}.technology-directory .technology-grid{gap:18px}.technology-directory .technology-card h3{font-size:16px}
@media(min-width:761px) and (max-width:1100px){.technology-directory .technology-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}}
@media(max-width:760px){.home-about>summary{font-size:14px;padding:7px 13px}.home-about .intro-widgets p{font-size:15px}.technology-directory .technology-card h3{font-size:15px}}

.entry-content>.entry-featured-image{float:none;display:block;width:auto;max-width:100%;max-height:520px;object-fit:contain;margin:0 auto 32px}.olivier-image-link{display:block;height:100%}.olivier-image-link img{cursor:zoom-in}

/* Give the project photograph a substantial place alongside the compact introduction. */
@media(min-width:761px){.hero-editorial{grid-template-columns:minmax(0,1fr) minmax(320px,42%);gap:32px}.hero-editorial .hero-image{height:280px;object-position:center 55%;align-self:start}.hero-editorial .hero-copy{align-self:center}.hero-editorial h1{font-size:clamp(28px,2.8vw,40px)}}
@media(min-width:761px) and (max-width:1000px){.hero-editorial{grid-template-columns:minmax(0,1fr) 40%;gap:22px}.hero-editorial .hero-image{height:270px}}

.technology-directory .technology-card>span:last-child{margin:0 0 0 3px;flex-shrink:0}.hero-editorial>.home-about{grid-column:1 / -1;margin:0 0 0 26px}.hero-editorial{row-gap:14px}.hero-editorial>.home-about .intro-widgets{max-width:100%;padding-top:8px}.hero-editorial>.home-about .intro-widgets p{max-width:100%}
@media(max-width:760px){.hero-editorial>.home-about{margin:14px 0 0 16px}}

/* Full-screen viewer with a strictly bounded image stage. */
.olivier-gallery{box-sizing:border-box;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:64px 64px 58px;border:0;border-radius:0;overflow:hidden;background:#fff}.olivier-gallery[open]{display:grid;grid-template-rows:minmax(0,1fr) 32px;gap:8px}.olivier-gallery img{box-sizing:border-box;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;margin:0;grid-row:1}.olivier-gallery p{grid-row:2;margin:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;align-self:center;font-size:13px}.olivier-gallery button{position:absolute;margin:0;padding:8px;min-width:44px;min-height:44px;background:white;color:var(--blue);border:0}.olivier-gallery .gallery-close{right:12px;top:10px;margin:0}.olivier-gallery button[aria-label="Vorige afbeelding"],.olivier-gallery button[aria-label="Previous image"],.olivier-gallery button[aria-label="Image précédente"]{left:8px;top:calc(50% - 22px)}.olivier-gallery button[aria-label="Volgende afbeelding"],.olivier-gallery button[aria-label="Next image"],.olivier-gallery button[aria-label="Image suivante"]{right:8px;top:calc(50% - 22px)}
html:has(.olivier-gallery[open]){overflow:hidden}
@media(max-width:600px){.olivier-gallery{padding:60px 8px 66px}.olivier-gallery button[aria-label]{top:auto;bottom:8px}.olivier-gallery p{font-size:12px}}
