:root { --fontsize-l: 24px;}
:root { --fontsize-xl: 34px;}
:root { --fontsize-xxl: 64px;}
-:root { --lineheight-00: 1.4;} /* Line Height Default */
-:root { --lineheight-01: 1.2;}
:root { --space-below-00: 5px;}
:root { --space-below-01: 15px;}
* {margin: 0;padding: 0;box-sizing: border-box;}
header, footer, section, article, nav {display: block;}
-body {background: var(--website-background);color: var(--colordark);font-family: 'opensans', Arial, Helvetica, Sans-Serif;font-weight: 400;font-style: normal;font-size: var(--fontsize-m); line-height: var(--lineheight-00);}
+body {background: var(--website-background);color: var(--colordark);font-family: 'opensans', Arial, Helvetica, Sans-Serif;font-weight: 400;font-style: normal;font-size: var(--fontsize-m); line-height: 1.4;}
#wrapper {max-width: var(--content-width);margin: 0 auto;padding: var(--space-below-02) var(--side-space-01);}
header, main {background: var(--colorlight);}
hr {height: 1px;border: none;width: 100%;background: var(--color-01);margin-bottom: var(--space-below-00);}
table {border-collapse: collapse;border-spacing: 0;}
-header ul {display: none;} /* prevent output of menu-lists before the are rendered in /theme/js/presets.js */
+header ul {display: none;} /* prevent output of menu-lists before they are rendered in /theme/js/presets.js */
header {min-height: 143px; /* set min-height to prevent jump on first pageload */ display: flex;flex-wrap: wrap; position: relative;padding: var(--space-below-02) var(--side-space-02) var(--space-below-01) var(--side-space-02) ;}
header p {margin-bottom: 0;color: var(--colorblack);width: calc(100% - 74px);}
header p:has(img) {width: auto;}
header p:has(img) img {width: 64px;display: block;margin-right: 10px;}
-header > p > a {color: var(--colorblack);display: block;text-decoration: none;font-size: var(--fontsize-xl);line-height: var(--lineheight-01);font-weight: 500;}
+header > p > a {color: var(--colorblack);display: block;text-decoration: none;font-size: var(--fontsize-xl);line-height: 1.2;font-weight: 500;}
header .extras {position: absolute;top: var(--space-below-02);right: var(--side-space-02);}
header .extras ul {display: block;text-align: right;}
main .columns.cols-66-33 {grid-template-columns: 2fr 1fr;}
main .columns.cols-33-33-33 {grid-template-columns: 1fr 1fr 1fr;}
-main .bg-color {padding: var(--space-below-01) var(--side-space-01);background:var(--color-02);margin-bottom: var(--space-below-01);}
-main .bg-color * {color:var(--colorlight);}
-
main .background {padding: var(--space-below-01) var(--side-space-01);background:var(--color-gray-01);margin-bottom: var(--space-below-01);}
main .background.bg-color-01 {background:var(--color-01);}
main .background.bg-color-02 {background:var(--color-02);}
footer a {text-decoration: none;}
footer a:is(:hover, :focus) {text-decoration: underline;}
-
@media screen and (max-width: 781px) {
#wrapper {padding: 0;}
document.addEventListener("DOMContentLoaded", function() {
-// generate toggle-button and nav-wrapper for main-menu
- document.querySelector('header').insertAdjacentHTML('beforeend', '<button id="toggle-nav"><span></span><span></span><span></span></button>');
- document.querySelector('header').insertAdjacentHTML('beforeend', '<nav id="main-nav"></nav>');
-
-// menu & toggle-button variables
+// HEADER: generate toggle-button, nav-wrapper and set variables
const modHeader = document.querySelector("header");
+
+ modHeader.insertAdjacentHTML('beforeend', '<button id="toggle-nav"><span></span><span></span><span></span></button>');
const toggleNav = document.querySelector("#toggle-nav");
- const mainNav = document.querySelector("#main-nav");
-// move main-menu into nav-wrapper
- mainNav.appendChild(document.querySelector('header > ul:not(.extras)'));
+ modHeader.insertAdjacentHTML('beforeend', '<nav id="main-nav"></nav>');
+ const mainNav = document.querySelector("#main-nav");
-// detect screensize
- function updateARIA() {
- if (window.matchMedia("(max-width: 781px)").matches) {
- // small screens, close menu
- toggleNav.removeAttribute("aria-hidden");
- toggleNav.setAttribute("aria-controls", "main-nav");
- toggleNav.setAttribute("aria-expanded", "false");
- mainNav.setAttribute("aria-hidden", "true");
- mainNav.setAttribute("inert", ""); // Disable interaction
- } else {
- // large screens, open menu
- toggleNav.setAttribute("aria-hidden", "true");
- toggleNav.removeAttribute("aria-controls");
- toggleNav.removeAttribute("aria-expanded");
- mainNav.removeAttribute("aria-hidden");
- mainNav.removeAttribute("inert"); // Enable interaction
- }
- }
- // Run once on page load
- updateARIA();
- // Run again on window resize (for responsiveness)
- window.addEventListener("resize", updateARIA);
+// HEADER: move main-menu into nav-wrapper
+ mainNav.appendChild(document.querySelector('header > ul'));
-// toggle menu
+// HEADER: toggle button
toggleNav.addEventListener("click", function() {
if (modHeader.classList.contains("menu-active")) {
- // close menu
modHeader.classList.remove("menu-active");
- toggleNav.setAttribute("aria-expanded", "false");
- mainNav.setAttribute("aria-hidden", "true");
- mainNav.setAttribute("inert", ""); // Disable interaction
} else {
- // open menu
modHeader.classList.add("menu-active");
- toggleNav.setAttribute("aria-expanded", "true");
- mainNav.removeAttribute("aria-hidden", "true");
- mainNav.removeAttribute("inert"); // Enable interaction
}
});
-// highlight active language in language-switch menu
- const langSwitch = document.querySelectorAll('header .extras a');
+// HEADER (only multilanguage setup): highlight active language in header extras menu
+ const langSwitch = document.querySelectorAll('header .extras ul li a');
const currentLang = document.documentElement.lang; // Get the lang attribute from the <html> element
-
langSwitch.forEach(link => {
// Check if the href matches the current lang
if (link.getAttribute('href').includes(currentLang)) {
}
});
-// highlight active page in menu
+// HEADER: highlight active page in main menu
const currentUrl = window.location.href;
const currentPath = window.location.pathname;
- const menuLinks = document.querySelectorAll('header :not(#lang) ul a');
+ const menuLinks = document.querySelectorAll('header > ul a');
menuLinks.forEach((link) => {
// Check if the href matches the current URL or pathname
if (link.href === currentUrl || link.pathname === currentPath) {
}
});
-// open all links inside main in a new window
- document.querySelectorAll('#main a').forEach((link) => {
- link.setAttribute('target', '_blank');
- });
+// OPTIONAL: open all links inside main in a new window
+ // document.querySelectorAll('main a').forEach((link) => {
+ // link.setAttribute('target', '_blank');
+ // });
});
\ No newline at end of file