From 5d61a5db79ea3de21f955acf43da281de6fad01a Mon Sep 17 00:00:00 2001 From: Phil Ricketts <812139+replete@users.noreply.github.com> Date: Sun, 9 Jun 2024 12:29:38 +0100 Subject: [PATCH] Fix keyboard focus outline for toggles. Add CSS comments. --- biscuitman.css | 9 ++++++++- dist/biscuitman.min.css | 2 +- dist/biscuitman.withcss.min.js | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/biscuitman.css b/biscuitman.css index 7235835..7b99fb8 100644 --- a/biscuitman.css +++ b/biscuitman.css @@ -102,7 +102,8 @@ } &[disabled] { - display: none + display: none; + /* This rule is for the 'force' option */ } &:hover { @@ -355,6 +356,12 @@ } } + &:has(:focus-within) { + /* Show focus outline correctly correctly with keyboard focus */ + outline: auto; + outline-color:highlight; /* in Chrome the wrong colour is shown, this should make more sense */ + } + &:has([disabled]:checked) { opacity:0.6 } diff --git a/dist/biscuitman.min.css b/dist/biscuitman.min.css index 44a615e..c6f2606 100644 --- a/dist/biscuitman.min.css +++ b/dist/biscuitman.min.css @@ -1 +1 @@ -/*! biscuitman 0.3.1 https://github.com/replete/biscuitman */.biscuitman{--dark:#000;--text:#444;--mid:#999;--light:#ccc;--lighter:#eee;--bg:#fff;--accent:#105d89;--sb:16px;background:var(--bg);box-sizing:border-box;width:100%;padding:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;position:fixed;bottom:0;box-shadow:0 -2px 10px #00000029}.biscuitman:has(dialog[open]){padding:0}.biscuitman:has(dialog[open]) article{display:none}.biscuitman *{box-sizing:border-box;margin:0;padding:0;font-size:16px;line-height:1.4em}.biscuitman article{position:relative}@media (width>=770px){.biscuitman article{padding-right:calc(max(300px,30vw) + 20px)}.biscuitman article nav{width:30vw;min-width:300px;position:absolute;bottom:50%;right:0;transform:translateY(50%)}}.biscuitman article p{color:var(--text);margin:10px 0;font-size:13px}@media (width>=575px){.biscuitman article p{font-size:14px}}.biscuitman button{background:var(--bg);border:2px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:3px;margin-top:10px;padding:.85em;font-size:13px;line-height:1em}.biscuitman button[data-id=accept]{background:var(--accent);color:var(--bg)!important}.biscuitman button[data-id=close]{color:var(--dark);opacity:.6;-webkit-user-select:none;user-select:none;z-index:2;background:0 0;border:none;outline:none;padding:10px;font-size:24px;line-height:1em;position:absolute;top:0;right:10px}.biscuitman button[disabled]{display:none}.biscuitman button:hover{opacity:.8}@media (width>=576px){.biscuitman nav{flex-direction:row-reverse;gap:10px;width:100%;display:flex}.biscuitman nav button{flex-grow:1;margin-bottom:0}}@media (width<=575px){.biscuitman nav{flex-direction:column;flex-grow:1;display:flex}}.biscuitman dialog[open]{border:0;width:100%;max-width:100%;height:100%;max-height:100%}@media (width>=576px){.biscuitman dialog[open]{border-radius:10px;width:90vw;max-width:860px;max-height:80vh;margin:auto;box-shadow:0 0 8px #0000004d}}@media (width>=576px) and (height>=1134px){.biscuitman dialog[open]{max-height:908px}}.biscuitman dialog[open] nav{justify-self:flex-end;position:relative}.biscuitman .bm-dialog{flex-direction:column;height:100%;padding:20px;display:flex}.biscuitman .bm-dialog b{position:relative}.biscuitman .bm-dialog>b:after{content:"";background:linear-gradient(180deg,var(--bg)20%,transparent);pointer-events:none;z-index:1;width:100%;height:25px;margin-bottom:-24px;position:absolute;bottom:0;left:0}.biscuitman .bm-dialog nav:after{content:"";background:linear-gradient(0deg,var(--bg)20%,transparent);pointer-events:none;width:100%;height:25px;position:absolute;top:-24px;left:0}.biscuitman .bm-sections{margin-right:calc(var(--sb)*-1);padding:15px 0;padding-right:var(--sb);scrollbar-color:var(--light)var(--bg);flex-shrink:1;height:100%;position:relative;overflow-y:scroll}.biscuitman .bm-sections>p{padding-right:30px;line-height:18px}.biscuitman .bm-sections>p span{padding-bottom:5px;font-size:13px;display:block}@media (width>=576px){.biscuitman .bm-sections>p span{font-size:14px}}.biscuitman .bm-sections>p span:has(.more)~span{display:none}.biscuitman a{font-size:inherit;color:var(--accent);cursor:pointer;text-decoration:none;display:inline-block}.biscuitman a:hover{text-decoration:underline}.biscuitman section{margin-bottom:10px;position:relative}.biscuitman section:first-of-type{margin-top:10px}.biscuitman details{border:1px solid var(--light);border-radius:5px;padding:10px;list-style:none;box-shadow:0 2px 4px #0000001a}.biscuitman details[open] summary b:after{transform:rotate(180deg)}.biscuitman summary{cursor:pointer;flex-direction:column;width:100%;padding:5px 80px 10px 10px;list-style:none;display:flex;position:relative}.biscuitman summary b{margin-bottom:3px}.biscuitman summary b:after{content:"⌃";opacity:.6;width:1em;height:1em;margin-top:5px;margin-left:3px;font-weight:300;transition:transform .15s ease-in;display:block;transform:rotate(90deg)}.biscuitman summary p{color:var(--text);font-size:14px}.biscuitman summary>*{display:inline-flex}.biscuitman summary::marker{display:none}.biscuitman summary::-webkit-details-marker{display:none}.biscuitman dl{background:var(--lighter);margin:10px;padding:10px;display:flex}.biscuitman dl dt,.biscuitman dl dd{color:var(--text);font-size:13px}.biscuitman dl dt{min-width:120px;padding-right:30px;font-weight:700}.biscuitman label{--height:1.2em;--width:2.3em;--gap:2px;--font-size:20px;height:var(--height);width:var(--width);background-color:var(--mid);border-radius:var(--height);margin-top:-2px;display:block;position:absolute;top:50%;right:20px;transform:translateY(-50%);font-size:var(--font-size)!important}.biscuitman label:before{content:"";background:var(--bg);height:calc(var(--height) - calc(var(--gap)*2));width:calc(var(--height) - calc(var(--gap)*2));height:var(--height);width:var(--height);left:var(--gap);transform-origin:50%;border-radius:100%;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%)scale(.8)}.biscuitman label:has(:checked){background-color:var(--accent)}.biscuitman label:has(:checked):before{left:auto;right:var(--gap);right:0}.biscuitman label:has([disabled]:checked){opacity:.6}.biscuitman label input{opacity:0}html:not(.js-bm-hidden):after{content:"";-webkit-user-select:none;user-select:none;min-height:200px;display:block}.js-bm-hidden .biscuitman{padding:0}.js-bm-hidden .biscuitman>article{display:none} \ No newline at end of file +/*! biscuitman 0.3.1 https://github.com/replete/biscuitman */.biscuitman{--dark:#000;--text:#444;--mid:#999;--light:#ccc;--lighter:#eee;--bg:#fff;--accent:#105d89;--sb:16px;background:var(--bg);box-sizing:border-box;width:100%;padding:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;position:fixed;bottom:0;box-shadow:0 -2px 10px #00000029}.biscuitman:has(dialog[open]){padding:0}.biscuitman:has(dialog[open]) article{display:none}.biscuitman *{box-sizing:border-box;margin:0;padding:0;font-size:16px;line-height:1.4em}.biscuitman article{position:relative}@media (width>=770px){.biscuitman article{padding-right:calc(max(300px,30vw) + 20px)}.biscuitman article nav{width:30vw;min-width:300px;position:absolute;bottom:50%;right:0;transform:translateY(50%)}}.biscuitman article p{color:var(--text);margin:10px 0;font-size:13px}@media (width>=575px){.biscuitman article p{font-size:14px}}.biscuitman button{background:var(--bg);border:2px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:3px;margin-top:10px;padding:.85em;font-size:13px;line-height:1em}.biscuitman button[data-id=accept]{background:var(--accent);color:var(--bg)!important}.biscuitman button[data-id=close]{color:var(--dark);opacity:.6;-webkit-user-select:none;user-select:none;z-index:2;background:0 0;border:none;outline:none;padding:10px;font-size:24px;line-height:1em;position:absolute;top:0;right:10px}.biscuitman button[disabled]{display:none}.biscuitman button:hover{opacity:.8}@media (width>=576px){.biscuitman nav{flex-direction:row-reverse;gap:10px;width:100%;display:flex}.biscuitman nav button{flex-grow:1;margin-bottom:0}}@media (width<=575px){.biscuitman nav{flex-direction:column;flex-grow:1;display:flex}}.biscuitman dialog[open]{border:0;width:100%;max-width:100%;height:100%;max-height:100%}@media (width>=576px){.biscuitman dialog[open]{border-radius:10px;width:90vw;max-width:860px;max-height:80vh;margin:auto;box-shadow:0 0 8px #0000004d}}@media (width>=576px) and (height>=1134px){.biscuitman dialog[open]{max-height:908px}}.biscuitman dialog[open] nav{justify-self:flex-end;position:relative}.biscuitman .bm-dialog{flex-direction:column;height:100%;padding:20px;display:flex}.biscuitman .bm-dialog b{position:relative}.biscuitman .bm-dialog>b:after{content:"";background:linear-gradient(180deg,var(--bg)20%,transparent);pointer-events:none;z-index:1;width:100%;height:25px;margin-bottom:-24px;position:absolute;bottom:0;left:0}.biscuitman .bm-dialog nav:after{content:"";background:linear-gradient(0deg,var(--bg)20%,transparent);pointer-events:none;width:100%;height:25px;position:absolute;top:-24px;left:0}.biscuitman .bm-sections{margin-right:calc(var(--sb)*-1);padding:15px 0;padding-right:var(--sb);scrollbar-color:var(--light)var(--bg);flex-shrink:1;height:100%;position:relative;overflow-y:scroll}.biscuitman .bm-sections>p{padding-right:30px;line-height:18px}.biscuitman .bm-sections>p span{padding-bottom:5px;font-size:13px;display:block}@media (width>=576px){.biscuitman .bm-sections>p span{font-size:14px}}.biscuitman .bm-sections>p span:has(.more)~span{display:none}.biscuitman a{font-size:inherit;color:var(--accent);cursor:pointer;text-decoration:none;display:inline-block}.biscuitman a:hover{text-decoration:underline}.biscuitman section{margin-bottom:10px;position:relative}.biscuitman section:first-of-type{margin-top:10px}.biscuitman details{border:1px solid var(--light);border-radius:5px;padding:10px;list-style:none;box-shadow:0 2px 4px #0000001a}.biscuitman details[open] summary b:after{transform:rotate(180deg)}.biscuitman summary{cursor:pointer;flex-direction:column;width:100%;padding:5px 80px 10px 10px;list-style:none;display:flex;position:relative}.biscuitman summary b{margin-bottom:3px}.biscuitman summary b:after{content:"⌃";opacity:.6;width:1em;height:1em;margin-top:5px;margin-left:3px;font-weight:300;transition:transform .15s ease-in;display:block;transform:rotate(90deg)}.biscuitman summary p{color:var(--text);font-size:14px}.biscuitman summary>*{display:inline-flex}.biscuitman summary::marker{display:none}.biscuitman summary::-webkit-details-marker{display:none}.biscuitman dl{background:var(--lighter);margin:10px;padding:10px;display:flex}.biscuitman dl dt,.biscuitman dl dd{color:var(--text);font-size:13px}.biscuitman dl dt{min-width:120px;padding-right:30px;font-weight:700}.biscuitman label{--height:1.2em;--width:2.3em;--gap:2px;--font-size:20px;height:var(--height);width:var(--width);background-color:var(--mid);border-radius:var(--height);margin-top:-2px;display:block;position:absolute;top:50%;right:20px;transform:translateY(-50%);font-size:var(--font-size)!important}.biscuitman label:before{content:"";background:var(--bg);height:calc(var(--height) - calc(var(--gap)*2));width:calc(var(--height) - calc(var(--gap)*2));height:var(--height);width:var(--height);left:var(--gap);transform-origin:50%;border-radius:100%;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%)scale(.8)}.biscuitman label:has(:checked){background-color:var(--accent)}.biscuitman label:has(:checked):before{left:auto;right:var(--gap);right:0}.biscuitman label:has(:focus-within){outline:auto highlight}.biscuitman label:has([disabled]:checked){opacity:.6}.biscuitman label input{opacity:0}html:not(.js-bm-hidden):after{content:"";-webkit-user-select:none;user-select:none;min-height:200px;display:block}.js-bm-hidden .biscuitman{padding:0}.js-bm-hidden .biscuitman>article{display:none} \ No newline at end of file diff --git a/dist/biscuitman.withcss.min.js b/dist/biscuitman.withcss.min.js index ad6dad5..3460a78 100644 --- a/dist/biscuitman.withcss.min.js +++ b/dist/biscuitman.withcss.min.js @@ -1 +1 @@ -/*! biscuitman 0.3.1 https://github.com/replete/biscuitman */((e,t)=>{let a;let n="biscuitman",o=e.createElement("aside"),s={storageKey:"myconsent",global:"Consent",force:!1,enableMore:!0,sections:["essential"],title:"Your privacy matters",message:"We use cookies",settings:"Settings",reject:"Reject All",accept:"Accept All",save:"Save My Settings",settingsTitle:"My Consent Settings",info:"",more:"(Show more)",noCookies:"No cookies to display",acceptNonEU:!1},i=t.biscuitman?{...s,...t.biscuitman}:s;function c(e){switch(id=e.target.dataset.id){case"accept":p(!0);break;case"close":a.close();break;case"settings":d();break;case"save":p();break;case"reject":p(!1)}m("buttonPress",{id})}function l(){m("closeModal")}function r(e){i.force&&e.preventDefault()}function d(){a.showModal(),m("openModal")}let b=t=>e.documentElement.classList[t?"remove":"add"]("js-bm-hidden");function u(){try{return JSON.parse(localStorage.getItem(i.storageKey))}catch(e){return console.error(`${n} readConsent error:`,e.message),localStorage.removeItem(i.storageKey),{}}}function p(e){let n=void 0===e;t[i.global].consentTime=+new Date,i.sections.forEach(a=>{if("essential"===a)return!1;t[i.global][a]=n?o.querySelector(`[data-s=${a}]`).checked:e,n||(o.querySelector(`[data-s=${a}]`).checked=e)}),localStorage.setItem(i.storageKey,JSON.stringify(t[i.global])),g(),m("saveConsent",{data:t[i.global]}),a.close(),b(!1)}function m(t,a){let o=`${n}:${t}`,s={...void 0!==a&&a,time:+new Date};e.dispatchEvent(new CustomEvent(o,s)),console.debug(o,s)}function g(){e.querySelectorAll("script[data-consent]").forEach(a=>{if(!t[i.global][a.dataset.consent])return!1;let n=e.createElement("script");for(let{name:e,value:t}of a.attributes)e.startsWith("data-")||"type"===e||n.setAttribute(e,t);n.setAttribute("type",a.dataset.type||"text/javascript"),a.src||(n.textContent=a.textContent),a.parentNode.replaceChild(n,a),m("scriptInjected",{data:a.outerHTML}),a.src&&""!==a.textContent.trim()&&n.addEventListener("load",()=>{let t=e.createElement("script");t.textContent=a.textContent,n.insertAdjacentElement("afterend",t),m("scriptLoaded",{data:t.outerHTML})})})}t[i.global]=u()||{};let $=Intl.DateTimeFormat().resolvedOptions().timeZone,v=/^(GMT|UTC)$/.test($)||/(Europe|BST|CEST|CET|EET|IST|WEST|WET|GMT-1|GMT-2|UTC+1|UTC+2|UTC+3)/.test($);i.acceptNonEU&&!v&&(p(!0),b(!1)),function(){o.classList.add(n),o.style="position:fixed;background:#fff;bottom:0",o.innerHTML=`
${i.title}

${i.message}

${i.settingsTitle}

${i.message}

${i.info.split("\n").map((e,t,a)=>{let n=a.length>1&&i.enableMore&&0==t?`${i.more}`:"";return`${e}${n}`}).join("")}

${i.sections.map(e=>{let a=t[i.global][e],o="essential"===e,s=o?"checked":"";void 0!==a&&(s=a?"checked":"");let c=i[`${e}Cookies`];return`
${i[`${e}Title`]}

${i[`${e}Message`]}

${c?Object.entries(c).map(([e,t])=>`
${e}
${t}
`).join(""):`
${i.noCookies}
`}
`}).join("")}
`.replaceAll("{link}",`${i.linkText}`),o.querySelectorAll("button").forEach(e=>e.addEventListener("click",c)),(a=o.querySelector("dialog")).addEventListener("close",l),a.addEventListener("cancel",r);let s=o.querySelector(".more");s&&s.addEventListener("click",s.remove),e.body.appendChild(o)}(),t[i.global].consentTime?(b(!1),g()):i.force&&d(),t.bmInvalidateConsent=()=>{p(!1),localStorage.removeItem(i.storageKey),b(!0),m("invalidateConsent",u())},t.bmUpdateConsent=()=>{d(),m("updateConsent",u())}})(document,window);;((d)=>{let c=d.createElement('style');c.textContent=`.biscuitman{--dark:#000;--text:#444;--mid:#999;--light:#ccc;--lighter:#eee;--bg:#fff;--accent:#105d89;--sb:16px;background:var(--bg);box-sizing:border-box;width:100%;padding:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;position:fixed;bottom:0;box-shadow:0 -2px 10px #00000029}.biscuitman:has(dialog[open]){padding:0}.biscuitman:has(dialog[open]) article{display:none}.biscuitman *{box-sizing:border-box;margin:0;padding:0;font-size:16px;line-height:1.4em}.biscuitman article{position:relative}@media (width>=770px){.biscuitman article{padding-right:calc(max(300px,30vw) + 20px)}.biscuitman article nav{width:30vw;min-width:300px;position:absolute;bottom:50%;right:0;transform:translateY(50%)}}.biscuitman article p{color:var(--text);margin:10px 0;font-size:13px}@media (width>=575px){.biscuitman article p{font-size:14px}}.biscuitman button{background:var(--bg);border:2px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:3px;margin-top:10px;padding:.85em;font-size:13px;line-height:1em}.biscuitman button[data-id=accept]{background:var(--accent);color:var(--bg)!important}.biscuitman button[data-id=close]{color:var(--dark);opacity:.6;-webkit-user-select:none;user-select:none;z-index:2;background:0 0;border:none;outline:none;padding:10px;font-size:24px;line-height:1em;position:absolute;top:0;right:10px}.biscuitman button[disabled]{display:none}.biscuitman button:hover{opacity:.8}@media (width>=576px){.biscuitman nav{flex-direction:row-reverse;gap:10px;width:100%;display:flex}.biscuitman nav button{flex-grow:1;margin-bottom:0}}@media (width<=575px){.biscuitman nav{flex-direction:column;flex-grow:1;display:flex}}.biscuitman dialog[open]{border:0;width:100%;max-width:100%;height:100%;max-height:100%}@media (width>=576px){.biscuitman dialog[open]{border-radius:10px;width:90vw;max-width:860px;max-height:80vh;margin:auto;box-shadow:0 0 8px #0000004d}}@media (width>=576px) and (height>=1134px){.biscuitman dialog[open]{max-height:908px}}.biscuitman dialog[open] nav{justify-self:flex-end;position:relative}.biscuitman .bm-dialog{flex-direction:column;height:100%;padding:20px;display:flex}.biscuitman .bm-dialog b{position:relative}.biscuitman .bm-dialog>b:after{content:"";background:linear-gradient(180deg,var(--bg)20%,transparent);pointer-events:none;z-index:1;width:100%;height:25px;margin-bottom:-24px;position:absolute;bottom:0;left:0}.biscuitman .bm-dialog nav:after{content:"";background:linear-gradient(0deg,var(--bg)20%,transparent);pointer-events:none;width:100%;height:25px;position:absolute;top:-24px;left:0}.biscuitman .bm-sections{margin-right:calc(var(--sb)*-1);padding:15px 0;padding-right:var(--sb);scrollbar-color:var(--light)var(--bg);flex-shrink:1;height:100%;position:relative;overflow-y:scroll}.biscuitman .bm-sections>p{padding-right:30px;line-height:18px}.biscuitman .bm-sections>p span{padding-bottom:5px;font-size:13px;display:block}@media (width>=576px){.biscuitman .bm-sections>p span{font-size:14px}}.biscuitman .bm-sections>p span:has(.more)~span{display:none}.biscuitman a{font-size:inherit;color:var(--accent);cursor:pointer;text-decoration:none;display:inline-block}.biscuitman a:hover{text-decoration:underline}.biscuitman section{margin-bottom:10px;position:relative}.biscuitman section:first-of-type{margin-top:10px}.biscuitman details{border:1px solid var(--light);border-radius:5px;padding:10px;list-style:none;box-shadow:0 2px 4px #0000001a}.biscuitman details[open] summary b:after{transform:rotate(180deg)}.biscuitman summary{cursor:pointer;flex-direction:column;width:100%;padding:5px 80px 10px 10px;list-style:none;display:flex;position:relative}.biscuitman summary b{margin-bottom:3px}.biscuitman summary b:after{content:"⌃";opacity:.6;width:1em;height:1em;margin-top:5px;margin-left:3px;font-weight:300;transition:transform .15s ease-in;display:block;transform:rotate(90deg)}.biscuitman summary p{color:var(--text);font-size:14px}.biscuitman summary>*{display:inline-flex}.biscuitman summary::marker{display:none}.biscuitman summary::-webkit-details-marker{display:none}.biscuitman dl{background:var(--lighter);margin:10px;padding:10px;display:flex}.biscuitman dl dt,.biscuitman dl dd{color:var(--text);font-size:13px}.biscuitman dl dt{min-width:120px;padding-right:30px;font-weight:700}.biscuitman label{--height:1.2em;--width:2.3em;--gap:2px;--font-size:20px;height:var(--height);width:var(--width);background-color:var(--mid);border-radius:var(--height);margin-top:-2px;display:block;position:absolute;top:50%;right:20px;transform:translateY(-50%);font-size:var(--font-size)!important}.biscuitman label:before{content:"";background:var(--bg);height:calc(var(--height) - calc(var(--gap)*2));width:calc(var(--height) - calc(var(--gap)*2));height:var(--height);width:var(--height);left:var(--gap);transform-origin:50%;border-radius:100%;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%)scale(.8)}.biscuitman label:has(:checked){background-color:var(--accent)}.biscuitman label:has(:checked):before{left:auto;right:var(--gap);right:0}.biscuitman label:has([disabled]:checked){opacity:.6}.biscuitman label input{opacity:0}html:not(.js-bm-hidden):after{content:"";-webkit-user-select:none;user-select:none;min-height:200px;display:block}.js-bm-hidden .biscuitman{padding:0}.js-bm-hidden .biscuitman>article{display:none}`;d.documentElement.appendChild(c)})(document); \ No newline at end of file +/*! biscuitman 0.3.1 https://github.com/replete/biscuitman */((e,t)=>{let a;let n="biscuitman",o=e.createElement("aside"),s={storageKey:"myconsent",global:"Consent",force:!1,enableMore:!0,sections:["essential"],title:"Your privacy matters",message:"We use cookies",settings:"Settings",reject:"Reject All",accept:"Accept All",save:"Save My Settings",settingsTitle:"My Consent Settings",info:"",more:"(Show more)",noCookies:"No cookies to display",acceptNonEU:!1},i=t.biscuitman?{...s,...t.biscuitman}:s;function c(e){switch(id=e.target.dataset.id){case"accept":p(!0);break;case"close":a.close();break;case"settings":d();break;case"save":p();break;case"reject":p(!1)}m("buttonPress",{id})}function l(){m("closeModal")}function r(e){i.force&&e.preventDefault()}function d(){a.showModal(),m("openModal")}let b=t=>e.documentElement.classList[t?"remove":"add"]("js-bm-hidden");function u(){try{return JSON.parse(localStorage.getItem(i.storageKey))}catch(e){return console.error(`${n} readConsent error:`,e.message),localStorage.removeItem(i.storageKey),{}}}function p(e){let n=void 0===e;t[i.global].consentTime=+new Date,i.sections.forEach(a=>{if("essential"===a)return!1;t[i.global][a]=n?o.querySelector(`[data-s=${a}]`).checked:e,n||(o.querySelector(`[data-s=${a}]`).checked=e)}),localStorage.setItem(i.storageKey,JSON.stringify(t[i.global])),g(),m("saveConsent",{data:t[i.global]}),a.close(),b(!1)}function m(t,a){let o=`${n}:${t}`,s={...void 0!==a&&a,time:+new Date};e.dispatchEvent(new CustomEvent(o,s)),console.debug(o,s)}function g(){e.querySelectorAll("script[data-consent]").forEach(a=>{if(!t[i.global][a.dataset.consent])return!1;let n=e.createElement("script");for(let{name:e,value:t}of a.attributes)e.startsWith("data-")||"type"===e||n.setAttribute(e,t);n.setAttribute("type",a.dataset.type||"text/javascript"),a.src||(n.textContent=a.textContent),a.parentNode.replaceChild(n,a),m("scriptInjected",{data:a.outerHTML}),a.src&&""!==a.textContent.trim()&&n.addEventListener("load",()=>{let t=e.createElement("script");t.textContent=a.textContent,n.insertAdjacentElement("afterend",t),m("scriptLoaded",{data:t.outerHTML})})})}t[i.global]=u()||{};let $=Intl.DateTimeFormat().resolvedOptions().timeZone,v=/^(GMT|UTC)$/.test($)||/(Europe|BST|CEST|CET|EET|IST|WEST|WET|GMT-1|GMT-2|UTC+1|UTC+2|UTC+3)/.test($);i.acceptNonEU&&!v&&(p(!0),b(!1)),function(){o.classList.add(n),o.style="position:fixed;background:#fff;bottom:0",o.innerHTML=`
${i.title}

${i.message}

${i.settingsTitle}

${i.message}

${i.info.split("\n").map((e,t,a)=>{let n=a.length>1&&i.enableMore&&0==t?`${i.more}`:"";return`${e}${n}`}).join("")}

${i.sections.map(e=>{let a=t[i.global][e],o="essential"===e,s=o?"checked":"";void 0!==a&&(s=a?"checked":"");let c=i[`${e}Cookies`];return`
${i[`${e}Title`]}

${i[`${e}Message`]}

${c?Object.entries(c).map(([e,t])=>`
${e}
${t}
`).join(""):`
${i.noCookies}
`}
`}).join("")}
`.replaceAll("{link}",`${i.linkText}`),o.querySelectorAll("button").forEach(e=>e.addEventListener("click",c)),(a=o.querySelector("dialog")).addEventListener("close",l),a.addEventListener("cancel",r);let s=o.querySelector(".more");s&&s.addEventListener("click",s.remove),e.body.appendChild(o)}(),t[i.global].consentTime?(b(!1),g()):i.force&&d(),t.bmInvalidateConsent=()=>{p(!1),localStorage.removeItem(i.storageKey),b(!0),m("invalidateConsent",u())},t.bmUpdateConsent=()=>{d(),m("updateConsent",u())}})(document,window);;((d)=>{let c=d.createElement('style');c.textContent=`.biscuitman{--dark:#000;--text:#444;--mid:#999;--light:#ccc;--lighter:#eee;--bg:#fff;--accent:#105d89;--sb:16px;background:var(--bg);box-sizing:border-box;width:100%;padding:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;position:fixed;bottom:0;box-shadow:0 -2px 10px #00000029}.biscuitman:has(dialog[open]){padding:0}.biscuitman:has(dialog[open]) article{display:none}.biscuitman *{box-sizing:border-box;margin:0;padding:0;font-size:16px;line-height:1.4em}.biscuitman article{position:relative}@media (width>=770px){.biscuitman article{padding-right:calc(max(300px,30vw) + 20px)}.biscuitman article nav{width:30vw;min-width:300px;position:absolute;bottom:50%;right:0;transform:translateY(50%)}}.biscuitman article p{color:var(--text);margin:10px 0;font-size:13px}@media (width>=575px){.biscuitman article p{font-size:14px}}.biscuitman button{background:var(--bg);border:2px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:3px;margin-top:10px;padding:.85em;font-size:13px;line-height:1em}.biscuitman button[data-id=accept]{background:var(--accent);color:var(--bg)!important}.biscuitman button[data-id=close]{color:var(--dark);opacity:.6;-webkit-user-select:none;user-select:none;z-index:2;background:0 0;border:none;outline:none;padding:10px;font-size:24px;line-height:1em;position:absolute;top:0;right:10px}.biscuitman button[disabled]{display:none}.biscuitman button:hover{opacity:.8}@media (width>=576px){.biscuitman nav{flex-direction:row-reverse;gap:10px;width:100%;display:flex}.biscuitman nav button{flex-grow:1;margin-bottom:0}}@media (width<=575px){.biscuitman nav{flex-direction:column;flex-grow:1;display:flex}}.biscuitman dialog[open]{border:0;width:100%;max-width:100%;height:100%;max-height:100%}@media (width>=576px){.biscuitman dialog[open]{border-radius:10px;width:90vw;max-width:860px;max-height:80vh;margin:auto;box-shadow:0 0 8px #0000004d}}@media (width>=576px) and (height>=1134px){.biscuitman dialog[open]{max-height:908px}}.biscuitman dialog[open] nav{justify-self:flex-end;position:relative}.biscuitman .bm-dialog{flex-direction:column;height:100%;padding:20px;display:flex}.biscuitman .bm-dialog b{position:relative}.biscuitman .bm-dialog>b:after{content:"";background:linear-gradient(180deg,var(--bg)20%,transparent);pointer-events:none;z-index:1;width:100%;height:25px;margin-bottom:-24px;position:absolute;bottom:0;left:0}.biscuitman .bm-dialog nav:after{content:"";background:linear-gradient(0deg,var(--bg)20%,transparent);pointer-events:none;width:100%;height:25px;position:absolute;top:-24px;left:0}.biscuitman .bm-sections{margin-right:calc(var(--sb)*-1);padding:15px 0;padding-right:var(--sb);scrollbar-color:var(--light)var(--bg);flex-shrink:1;height:100%;position:relative;overflow-y:scroll}.biscuitman .bm-sections>p{padding-right:30px;line-height:18px}.biscuitman .bm-sections>p span{padding-bottom:5px;font-size:13px;display:block}@media (width>=576px){.biscuitman .bm-sections>p span{font-size:14px}}.biscuitman .bm-sections>p span:has(.more)~span{display:none}.biscuitman a{font-size:inherit;color:var(--accent);cursor:pointer;text-decoration:none;display:inline-block}.biscuitman a:hover{text-decoration:underline}.biscuitman section{margin-bottom:10px;position:relative}.biscuitman section:first-of-type{margin-top:10px}.biscuitman details{border:1px solid var(--light);border-radius:5px;padding:10px;list-style:none;box-shadow:0 2px 4px #0000001a}.biscuitman details[open] summary b:after{transform:rotate(180deg)}.biscuitman summary{cursor:pointer;flex-direction:column;width:100%;padding:5px 80px 10px 10px;list-style:none;display:flex;position:relative}.biscuitman summary b{margin-bottom:3px}.biscuitman summary b:after{content:"⌃";opacity:.6;width:1em;height:1em;margin-top:5px;margin-left:3px;font-weight:300;transition:transform .15s ease-in;display:block;transform:rotate(90deg)}.biscuitman summary p{color:var(--text);font-size:14px}.biscuitman summary>*{display:inline-flex}.biscuitman summary::marker{display:none}.biscuitman summary::-webkit-details-marker{display:none}.biscuitman dl{background:var(--lighter);margin:10px;padding:10px;display:flex}.biscuitman dl dt,.biscuitman dl dd{color:var(--text);font-size:13px}.biscuitman dl dt{min-width:120px;padding-right:30px;font-weight:700}.biscuitman label{--height:1.2em;--width:2.3em;--gap:2px;--font-size:20px;height:var(--height);width:var(--width);background-color:var(--mid);border-radius:var(--height);margin-top:-2px;display:block;position:absolute;top:50%;right:20px;transform:translateY(-50%);font-size:var(--font-size)!important}.biscuitman label:before{content:"";background:var(--bg);height:calc(var(--height) - calc(var(--gap)*2));width:calc(var(--height) - calc(var(--gap)*2));height:var(--height);width:var(--height);left:var(--gap);transform-origin:50%;border-radius:100%;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%)scale(.8)}.biscuitman label:has(:checked){background-color:var(--accent)}.biscuitman label:has(:checked):before{left:auto;right:var(--gap);right:0}.biscuitman label:has(:focus-within){outline:auto highlight}.biscuitman label:has([disabled]:checked){opacity:.6}.biscuitman label input{opacity:0}html:not(.js-bm-hidden):after{content:"";-webkit-user-select:none;user-select:none;min-height:200px;display:block}.js-bm-hidden .biscuitman{padding:0}.js-bm-hidden .biscuitman>article{display:none}`;d.documentElement.appendChild(c)})(document); \ No newline at end of file