From 2bbc30d12f31c52687305f3180528ec6340562cd Mon Sep 17 00:00:00 2001 From: Paul Isaris Date: Mon, 21 Sep 2026 11:37:08 +0300 Subject: [PATCH] fix: upgrade scify/laravel-cookie-guard to 5.1.0 Version 4.x stored the consent cookie for 30 days, although the configuration sets 365. It posted to /guard-settings/save outside the web middleware group, so the CSRF token was never checked. It hid the banner before the server confirmed the save. It did not erase the cookies of a rejected category. It also spells the plural interval as [2,Inf], which Laravel 12.48 and newer print literally in the banner. - Require scify/laravel-cookie-guard ^5.1.0. - Re-publish the cookies-consent-public assets. The fix is in that JavaScript. - Publish those assets on every composer update, through post-update-cmd. - Remove the enabled config key. Version 5 removed the option. --- composer.json | 5 +- composer.lock | 27 ++-- config/cookies_consent.php | 3 - .../scify/laravel-cookie-guard/_variables.css | 122 +++++++++--------- .../scify/laravel-cookie-guard/scripts.js | 3 +- .../scify/laravel-cookie-guard/scripts.js.map | 1 + .../scify/laravel-cookie-guard/styles.css | 3 +- 7 files changed, 85 insertions(+), 79 deletions(-) create mode 100644 public/vendor/scify/laravel-cookie-guard/scripts.js.map diff --git a/composer.json b/composer.json index 0616ca3e2..b1ca6b576 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "nunomaduro/collision": "^8.9.5", "phpoffice/phpspreadsheet": "^5.9", "predis/predis": "^3.0", - "scify/laravel-cookie-guard": "^4.1", + "scify/laravel-cookie-guard": "^5.1.0", "sentry/sentry": "^4.30.0", "sentry/sentry-laravel": "^4.27.0", "socialiteproviders/twitter": "^4.1.2", @@ -77,6 +77,9 @@ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover" ], + "post-update-cmd": [ + "@php artisan vendor:publish --tag=cookies-consent-public --force" + ], "lint": [ "npm run lint", "vendor/bin/pint --parallel --test", diff --git a/composer.lock b/composer.lock index 726afb641..5c35e8bde 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "aab251fea6d548e01005f05ca5850ae0", + "content-hash": "7649ac52ecdb234a3b7b1c61b320b7e7", "packages": [ { "name": "awobaz/compoships", @@ -5822,34 +5822,35 @@ }, { "name": "scify/laravel-cookie-guard", - "version": "v4.1.13", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/scify/laravel-cookie-guard.git", - "reference": "93f3b00cfbe52c8a1b7082f35f3b88b69258792f" + "reference": "f534ce38f4c4b83865cb7b628bb0555184b45dcb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scify/laravel-cookie-guard/zipball/93f3b00cfbe52c8a1b7082f35f3b88b69258792f", - "reference": "93f3b00cfbe52c8a1b7082f35f3b88b69258792f", + "url": "https://api.github.com/repos/scify/laravel-cookie-guard/zipball/f534ce38f4c4b83865cb7b628bb0555184b45dcb", + "reference": "f534ce38f4c4b83865cb7b628bb0555184b45dcb", "shasum": "" }, "require": { - "php": "^8" + "illuminate/contracts": "^12.0|^13.0", + "php": "^8.2" }, "require-dev": { "driftingly/rector-laravel": "^2.1", "larastan/larastan": "^3.3", "laravel/pint": "^1.21", "nunomaduro/collision": "^8.8", - "orchestra/testbench": "^10.0", - "pestphp/pest": "^3.8", - "pestphp/pest-plugin-laravel": "^v3.1", + "orchestra/testbench": "^10.0|^11.0", + "pestphp/pest": "^3.8|^4.0", + "pestphp/pest-plugin-laravel": "^3.1|^4.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^2.0", "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^11.5", - "rector/rector": "^2.3", + "phpunit/phpunit": "^11.5|^12.0", + "rector/rector": "^2.5", "spatie/laravel-ray": "^1.40" }, "type": "library", @@ -5893,9 +5894,9 @@ ], "support": { "issues": "https://github.com/scify/laravel-cookie-guard/issues", - "source": "https://github.com/scify/laravel-cookie-guard/tree/v4.1.13" + "source": "https://github.com/scify/laravel-cookie-guard/tree/v5.1.0" }, - "time": "2026-04-07T10:31:33+00:00" + "time": "2026-09-12T06:31:54+00:00" }, { "name": "sentry/sentry", diff --git a/config/cookies_consent.php b/config/cookies_consent.php index 0bb448af0..2c58acb69 100644 --- a/config/cookies_consent.php +++ b/config/cookies_consent.php @@ -126,9 +126,6 @@ ], ], ], - 'enabled' => [ - 'strictly_necessary', - ], 'required' => ['strictly_necessary'], 'cookie_lifetime' => 365, ]; diff --git a/public/vendor/scify/laravel-cookie-guard/_variables.css b/public/vendor/scify/laravel-cookie-guard/_variables.css index ae6e269de..40afb2fb6 100644 --- a/public/vendor/scify/laravel-cookie-guard/_variables.css +++ b/public/vendor/scify/laravel-cookie-guard/_variables.css @@ -1,61 +1,63 @@ -#scify-cookies-consent-wrapper, #scify-cookie-consent-floating-button { - --scify-cookies-font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", sans-serif; - --scify-cookies-gutter: 1.5rem; - --scify-cookies-primary-color: #0d6efd; - --scify-cookies-primary-hover-color: #0a58ca; - --scify-cookies-link-color: #0d6efd; - --scify-cookies-link-hover-color: #0a58ca; - --scify-cookies-accordion-bg-color: #f8f9fa; - --scify-cookies-accordion-btn-collapsed-bg-color: #f8f9fa; - --scify-cookies-accordion-btn-collapsed-text-color: #212529; - --scify-cookies-accordion-btn-bg-color: #f8f9fa; - --scify-cookies-accordion-btn-text-color: #0d6efd; - --scify-cookies-accordion-btn-font-size: 14px; - --scify-cookies-accordion-header-padding: 0.75rem 1rem; - --scify-cookies-accordion-border-color: #757575; - --scify-cookies-check-input-border-color: #757575; - --scify-cookies-border-radius: 0.375rem; - --scify-cookies-font-size-base: 16px; - --scify-cookies-font-size-small: 90%; - --scify-cookies-font-size-lg: 1.75rem; - --scify-cookies-h5-font-size: 1.25rem; - --scify-cookies-checkbox-size: 1rem; - --scify-cookies-btn-text-font-size: 14px; - --scify-cookies-btn-bg-color: transparent; - --scify-cookies-btn-hover-bg-color: #e9ecef; - --scify-cookies-btn-border-width: 2px; - --scify-cookies-btn-border-radius: 2px; - --scify-cookies-btn-text-color: var(--scify-cookies-primary-color); - --scify-cookies-btn-hover-text-color: #e7f1ff; - --scify-cookies-btn-border-color: var(--scify-cookies-primary-color); - --scify-cookies-btn-hover-border-color: var(--scify-cookies-primary-hover-color); - --scify-cookies-btn-padding: 8px; - --scify-cookies-btn-padding-lg: 1rem 1rem; - --scify-cookies-text-color: #212529; - --scify-cookies-bg-color: #fff; - --scify-cookies-border-width: 1px; - --scify-cookies-border-color: #ddd; - --scify-cookies-accordion-item-border-color: #f8f9fa; - --scify-cookies-success-message-bg-color: #d4edda; - --scify-cookies-success-message-text-color: #155724; - --scify-cookies-always-active-message-color: #155724; - --scify-cookies-success-message-border-color: #c3e6cb; - --scify-cookies-success-message-padding: 0.75rem 1.25rem; - --scify-cookies-success-message-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --scify-cookies-name-text-color: #d63384; - --scify-cookies-floating-btn-bg-color: #f8f9fa; - --scify-cookies-floating-btn-text-color: #0d6efd; - --scify-cookies-floating-btn-hover-bg-color: #e9ecef; - --scify-cookies-floating-btn-hover-text-color: #0a58ca; - --scify-cookies-floating-btn-border-color: #0d6efd; - --scify-cookies-floating-btn-border-radius: 1rem; - --scify-cookies-floating-btn-border-width: 1px; - --scify-cookies-floating-btn-left: 30px; - --scify-cookies-floating-btn-bottom: 30px; - --scify-cookies-banner-left: 30px; - --scify-cookies-banner-bottom: 30px; - --scify-cookies-banner-border-radius: 6px; - --scify-cookies-floating-btn-padding: 10px; - --scify-cookies-floating-btn-height: 55px; - --scify-cookies-floating-btn-width: 55px; +#scify-cookies-consent-wrapper, +#scify-cookie-consent-floating-button { + --scify-cookies-font-family: + system-ui, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", sans-serif; + --scify-cookies-gutter: 1.5rem; + --scify-cookies-primary-color: #0d6efd; + --scify-cookies-primary-hover-color: #0a58ca; + --scify-cookies-link-color: #0d6efd; + --scify-cookies-link-hover-color: #0a58ca; + --scify-cookies-accordion-bg-color: #f8f9fa; + --scify-cookies-accordion-btn-collapsed-bg-color: #f8f9fa; + --scify-cookies-accordion-btn-collapsed-text-color: #212529; + --scify-cookies-accordion-btn-bg-color: #f8f9fa; + --scify-cookies-accordion-btn-text-color: #0d6efd; + --scify-cookies-accordion-btn-font-size: 14px; + --scify-cookies-accordion-header-padding: 0.75rem 1rem; + --scify-cookies-accordion-border-color: #757575; + --scify-cookies-check-input-border-color: #757575; + --scify-cookies-border-radius: 0.375rem; + --scify-cookies-font-size-base: 16px; + --scify-cookies-font-size-small: 90%; + --scify-cookies-font-size-lg: 1.75rem; + --scify-cookies-h5-font-size: 1.25rem; + --scify-cookies-checkbox-size: 1rem; + --scify-cookies-btn-text-font-size: 14px; + --scify-cookies-btn-bg-color: transparent; + --scify-cookies-btn-hover-bg-color: #e9ecef; + --scify-cookies-btn-border-width: 2px; + --scify-cookies-btn-border-radius: 2px; + --scify-cookies-btn-text-color: var(--scify-cookies-primary-color); + --scify-cookies-btn-hover-text-color: #e7f1ff; + --scify-cookies-btn-border-color: var(--scify-cookies-primary-color); + --scify-cookies-btn-hover-border-color: var(--scify-cookies-primary-hover-color); + --scify-cookies-btn-padding: 8px; + --scify-cookies-btn-padding-lg: 1rem 1rem; + --scify-cookies-text-color: #212529; + --scify-cookies-bg-color: #fff; + --scify-cookies-border-width: 1px; + --scify-cookies-border-color: #ddd; + --scify-cookies-accordion-item-border-color: #f8f9fa; + --scify-cookies-success-message-bg-color: #d4edda; + --scify-cookies-success-message-text-color: #155724; + --scify-cookies-always-active-message-color: #155724; + --scify-cookies-success-message-border-color: #c3e6cb; + --scify-cookies-success-message-padding: 0.75rem 1.25rem; + --scify-cookies-success-message-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --scify-cookies-name-text-color: #d63384; + --scify-cookies-floating-btn-bg-color: #f8f9fa; + --scify-cookies-floating-btn-text-color: #0d6efd; + --scify-cookies-floating-btn-hover-bg-color: #e9ecef; + --scify-cookies-floating-btn-hover-text-color: #0a58ca; + --scify-cookies-floating-btn-border-color: #0d6efd; + --scify-cookies-floating-btn-border-radius: 1rem; + --scify-cookies-floating-btn-border-width: 1px; + --scify-cookies-floating-btn-left: 30px; + --scify-cookies-floating-btn-bottom: 30px; + --scify-cookies-banner-left: 30px; + --scify-cookies-banner-bottom: 30px; + --scify-cookies-banner-border-radius: 6px; + --scify-cookies-floating-btn-padding: 10px; + --scify-cookies-floating-btn-height: 55px; + --scify-cookies-floating-btn-width: 55px; } diff --git a/public/vendor/scify/laravel-cookie-guard/scripts.js b/public/vendor/scify/laravel-cookie-guard/scripts.js index 5220a4665..86fb08118 100644 --- a/public/vendor/scify/laravel-cookie-guard/scripts.js +++ b/public/vendor/scify/laravel-cookie-guard/scripts.js @@ -1 +1,2 @@ -(function(){"use strict";document.addEventListener("DOMContentLoaded",function(){y(),m(),L(),g(),v()});function g(){window.location.hash==="#consent-settings"&&typeof window.toggleCookieBanner=="function"&&window.toggleCookieBanner()}function y(){document.querySelectorAll(".accordion-button").forEach(e=>{e.removeEventListener("click",r)}),document.querySelectorAll(".accordion-button").forEach(e=>{e.addEventListener("click",r)})}function r(e){e.stopPropagation();const o=e.currentTarget;k(o)}function k(e){const o=document.querySelector(e.dataset.target);document.querySelectorAll(".accordion-collapse").forEach(t=>{if(t!==o){t.classList.remove("show");const n=document.querySelector(`[data-target="#${t.id}"]`);n&&(n.classList.add("collapsed"),window.cookies_consent_translations&&(n.textContent=window.cookies_consent_translations.read_more))}}),o.classList.contains("show")?(o.classList.remove("show"),e.classList.add("collapsed"),window.cookies_consent_translations&&(e.textContent=window.cookies_consent_translations.read_more)):(o.classList.add("show"),e.classList.remove("collapsed"),window.cookies_consent_translations&&(e.textContent=window.cookies_consent_translations.read_less))}function m(){const e=document.getElementById("scify-cookies-consent"),o=document.getElementById("scify-cookie-consent-floating-button"),t=e.dataset.showFloatingButton==="true"||e.dataset.showFloatingButton==="1",n=e.dataset.hideFloatingButtonOnMobile==="true"||e.dataset.hideFloatingButtonOnMobile==="1",s=e.dataset.cookiePrefix,i=_(s+"cookies_consent");w(e,o,t,n,i),u(i),h({"customise-cookies":C,"accept-all-cookies":B,"accept-selected-cookies":f,"reject-optional-cookies":S,"close-cookie-policy-page":f})}function h(e){for(const[o,t]of Object.entries(e)){const n=document.getElementById(o);n&&n.addEventListener("click",t)}}function w(e,o,t,n,s){a()?e.style.display="block":p(e,o,t,n,s)}function p(e,o,t,n,s){const i=e.dataset.useShowModal==="true"||e.dataset.useShowModal==="1";if(s)e.style.display="none",t&&o&&(o.style.display=n&&window.innerWidth<768?"none":"block");else{e.style.display="block";const c=e.querySelector("dialog");c&&i&&c.showModal()}}function u(e){if(e)try{const o=JSON.parse(e);if(o&&Object.keys(o).length>0){for(const t in o)if(o.hasOwnProperty(t)){const n=document.getElementById(t);n&&(n.checked=o[t])}}}catch(o){console.warn("Error parsing cookie consent JSON:",o)}}function C(){document.getElementById("cookie-categories-container").classList.remove("display-none"),document.getElementById("customise-cookies").closest(".button-col").classList.add("display-none"),document.getElementById("accept-selected-cookies").closest(".button-col").classList.remove("display-none")}function B(){d(l(!0))}function f(){d(l())}function S(){d(l(!1,"strictly_necessary"))}function l(e=!1,o=null){const t={};return document.querySelectorAll(".cookie-category").forEach(n=>{t[n.id]=e||n.id===o||n.checked}),t}function d(e){const o=document.getElementById("scify-cookies-consent"),t=document.getElementById("scify-cookie-consent-floating-button"),n=o.dataset.showFloatingButton==="true"||o.dataset.showFloatingButton==="1",s=o.dataset.cookiePrefix;e.locale=o.dataset.locale,a()||(o.style.display="none",n&&(t.style.display="block")),fetch(o.dataset.ajaxUrl,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-TOKEN":document.querySelector('meta[name="csrf-token"]').getAttribute("content")},body:JSON.stringify(e)}).then(i=>i.json()).then(i=>{if(i.success){b(s+"cookies_consent",JSON.stringify(e),30),u(JSON.stringify(e)),E(i.message);const c=o.querySelector("dialog");c&&c.close(),a()&&history.back()}}).catch(()=>{console.error("Error storing cookie consent");const i=o.querySelector("dialog");i&&i.close()})}function E(e){const o=document.getElementById("scify-cookies-consent-wrapper");if(o){const t=document.createElement("div");t.classList.add("cookie-success-message"),t.innerText=e,o.appendChild(t),setTimeout(()=>{t.classList.add("show")},100),setTimeout(()=>{t.classList.remove("show"),setTimeout(()=>{t.remove()},1e3)},4e3)}}function L(){const e=document.getElementById("cookie-policy-link");e&&e.addEventListener("click",function(){I("cookieConsent")})}function a(){const e=document.getElementById("scify-cookies-consent");return e.dataset.onCookiesPage==="true"||e.dataset.onCookiesPage==="1"}function b(e,o,t){let n="";{const s=new Date;s.setTime(s.getTime()+t*24*60*60*1e3),n="; expires="+s.toUTCString()}document.cookie=e+"="+encodeURIComponent(o||"")+n+"; path=/"}function _(e){const o=e+"=",t=document.cookie.split(";");for(const n of t){const s=n.trim();if(s.startsWith(o))return decodeURIComponent(s.substring(o.length,s.length))}return null}function I(e){document.cookie=e+"=; Max-Age=-99999999;"}window.toggleCookieBanner=function(){if(a())return;const e=document.getElementById("scify-cookies-consent"),o=document.getElementById("scify-cookie-consent-floating-button"),t=e.dataset.showFloatingButton==="true"||e.dataset.showFloatingButton==="1",n=e.dataset.useShowModal==="true"||e.dataset.useShowModal==="1",s=e.querySelector("dialog");e.style.display==="none"||e.style.display===""?(e.style.display="block",s&&n&&s.showModal(),t&&(o.style.display="none")):(e.style.display="none",s&&n&&s.close(),t&&(o.style.display="block"))};function v(){document.querySelectorAll('a[href="#consent-settings"]').forEach(e=>{e.addEventListener("click",function(o){o.preventDefault(),window.location.hash="#consent-settings",typeof window.toggleCookieBanner=="function"&&window.toggleCookieBanner()})})}})(); +(function(){"use strict";document.addEventListener(`DOMContentLoaded`,function(){n(),a(),e(),w(),window.addEventListener(`hashchange`,e)});function e(){window.location.hash===`#consent-settings`&&t()}function t(){let e=document.getElementById(`scify-cookies-consent`);e&&e.style.display!==`block`&&typeof window.toggleCookieBanner==`function`&&window.toggleCookieBanner()}function n(){document.querySelectorAll(`.accordion-button`).forEach(e=>{e.removeEventListener(`click`,r)}),document.querySelectorAll(`.accordion-button`).forEach(e=>{e.addEventListener(`click`,r)})}function r(e){e.stopPropagation();let t=e.currentTarget;i(t)}function i(e){let t=document.querySelector(e.dataset.target);document.querySelectorAll(`.accordion-collapse`).forEach(e=>{if(e!==t){e.classList.remove(`show`);let t=document.querySelector(`[data-target="#${e.id}"]`);t&&(t.classList.add(`collapsed`),window.cookies_consent_translations&&(t.textContent=window.cookies_consent_translations.read_more))}}),t.classList.contains(`show`)?(t.classList.remove(`show`),e.classList.add(`collapsed`),window.cookies_consent_translations&&(e.textContent=window.cookies_consent_translations.read_more)):(t.classList.add(`show`),e.classList.remove(`collapsed`),window.cookies_consent_translations&&(e.textContent=window.cookies_consent_translations.read_less))}function a(){let e=document.getElementById(`scify-cookies-consent`),t=document.getElementById(`scify-cookie-consent-floating-button`),n=e.dataset.showFloatingButton===`true`||e.dataset.showFloatingButton===`1`,r=e.dataset.hideFloatingButtonOnMobile===`true`||e.dataset.hideFloatingButtonOnMobile===`1`,i=e.dataset.cookiePrefix,a=x(i+`cookies_consent`);s(e,t,n,r,a),l(a),o({"customise-cookies":u,"accept-all-cookies":d,"accept-selected-cookies":f,"reject-optional-cookies":p,"close-cookie-policy-page":f})}function o(e){for(let[t,n]of Object.entries(e)){let e=document.getElementById(t);e&&e.addEventListener(`click`,n)}}function s(e,t,n,r,i){v()?e.style.display=`block`:c(e,t,n,r,i)}function c(e,t,n,r,i){let a=e.dataset.useShowModal===`true`||e.dataset.useShowModal===`1`;if(i)e.style.display=`none`,n&&t&&(t.style.display=r&&window.innerWidth<768?`none`:`block`);else{e.style.display=`block`;let t=e.querySelector(`dialog`);t&&a&&t.showModal()}}function l(e){if(!e)return;let t;try{t=JSON.parse(e)}catch(e){console.warn(`Error parsing cookie consent JSON:`,e);return}Object.entries(t||{}).forEach(([e,t])=>{let n=document.getElementById(`lcg-`+e);n&&(n.checked=t)})}function u(){document.getElementById(`cookie-categories-container`).classList.remove(`display-none`),document.getElementById(`customise-cookies`).closest(`.button-col`).classList.add(`display-none`),document.getElementById(`accept-selected-cookies`).closest(`.button-col`).classList.remove(`display-none`)}function d(){g(m(!0))}function f(){g(m())}function p(){g(m(!1))}function m(e=null){let t={};return Object.entries(h()).forEach(([n,{required:r}])=>{let i=document.getElementById(`lcg-`+n);r?t[n]=!0:e===null?t[n]=i?i.checked:!1:t[n]=e}),t}function h(){let e=document.getElementById(`scify-cookies-consent`),t={};try{let n=JSON.parse(e.dataset.cookieCategories||`{}`),r=JSON.parse(e.dataset.requiredCategories||`[]`);Object.keys(n).forEach(e=>{t[e]={required:r.includes(e),cookies:n[e]}})}catch(e){console.warn(`Error parsing the cookie categories of the banner:`,e)}return Object.keys(t).length===0&&document.querySelectorAll(`.cookie-category`).forEach(e=>{t[e.id.replace(/^lcg-/,``)]={required:e.disabled,cookies:[]}}),t}function g(e){let t=document.getElementById(`scify-cookies-consent`),n=document.getElementById(`scify-cookie-consent-floating-button`),r=t.dataset.showFloatingButton===`true`||t.dataset.showFloatingButton===`1`,i=t.dataset.cookiePrefix,a=Number.parseInt(t.dataset.cookieLifetime,10),o=Number.isNaN(a)?365:a,[s,c]=y(t);e.locale=t.dataset.locale;let u={Accept:`application/json`,"Content-Type":`application/json`};u[s]=c,fetch(t.dataset.ajaxUrl,{method:`POST`,headers:u,body:JSON.stringify(e)}).then(e=>e.json()).then(e=>{if(!e.success||!e.data)throw Error(e.message||`The server did not confirm the consent selection`);let a=JSON.stringify(e.data);b(i+`cookies_consent`,a,o),S(e.data),l(a),_(e.message),v()||(t.style.display=`none`,r&&(n.style.display=`block`));let s=t.querySelector(`dialog`);s&&s.close(),v()&&history.back()}).catch(e=>{console.error(`Error storing cookie consent`,e)})}function _(e){let t=document.getElementById(`scify-cookies-consent-wrapper`);if(t){let n=document.createElement(`div`);n.classList.add(`cookie-success-message`),n.textContent=e,t.appendChild(n),setTimeout(()=>{n.classList.add(`show`)},100),setTimeout(()=>{n.classList.remove(`show`),setTimeout(()=>{n.remove()},1e3)},4e3)}}function v(){let e=document.getElementById(`scify-cookies-consent`);return e.dataset.onCookiesPage===`true`||e.dataset.onCookiesPage===`1`}function y(e){let t=x(`XSRF-TOKEN`);if(t)return[`X-XSRF-TOKEN`,t];if(e.dataset.csrfToken)return[`X-CSRF-TOKEN`,e.dataset.csrfToken];let n=document.querySelector(`meta[name="csrf-token"]`);return n?[`X-CSRF-TOKEN`,n.getAttribute(`content`)||``]:[`X-CSRF-TOKEN`,``]}function b(e,t,n){let r=``;if(n){let e=new Date;e.setTime(e.getTime()+n*24*60*60*1e3),r=`; expires=`+e.toUTCString()}let i=window.location.protocol===`https:`?`; Secure`:``;document.cookie=e+`=`+encodeURIComponent(t||``)+r+`; path=/; SameSite=Lax`+i}function x(e){let t=e+`=`,n=document.cookie.split(`;`);for(let e of n){let n=e.trim();if(n.startsWith(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function S(e){Object.entries(h()).forEach(([t,{cookies:n}])=>{e[t]===!1&&n.forEach(C)})}function C(e){let t=e+`=; Max-Age=0; path=/`;document.cookie=t;let n=window.location.hostname.split(`.`);for(let e=0;e{e.addEventListener(`click`,function(e){e.preventDefault(),window.location.hash=`#consent-settings`,t()})})}})(); +//# sourceMappingURL=scripts.js.map \ No newline at end of file diff --git a/public/vendor/scify/laravel-cookie-guard/scripts.js.map b/public/vendor/scify/laravel-cookie-guard/scripts.js.map new file mode 100644 index 000000000..11e6411c9 --- /dev/null +++ b/public/vendor/scify/laravel-cookie-guard/scripts.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts.js","names":[],"sources":["../resources/js/scripts.js"],"sourcesContent":["import \"../styles/styles.scss\";\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n\tinitializeAccordionButtons();\n\tinitializeCookieBanner();\n\topenCookieBannerByHash();\n\tinitializeConsentSettingsLink();\n\twindow.addEventListener(\"hashchange\", openCookieBannerByHash);\n});\n\n/**\n * Opens the cookie banner when the URL hash is #consent-settings.\n * Runs on page load and on every hash change.\n * @function openCookieBannerByHash\n * @returns {void}\n */\nfunction openCookieBannerByHash() {\n\tif (window.location.hash === \"#consent-settings\") {\n\t\topenCookieBanner();\n\t}\n}\n\n/**\n * Opens the cookie banner if it is hidden. Unlike window.toggleCookieBanner()\n * this never closes an open banner, so a first-time visitor who follows a\n * #consent-settings link keeps the banner they already see.\n * @function openCookieBanner\n * @returns {void}\n */\nfunction openCookieBanner() {\n\tconst cookieBanner = document.getElementById(\"scify-cookies-consent\");\n\tif (cookieBanner && cookieBanner.style.display !== \"block\" && typeof window.toggleCookieBanner === \"function\") {\n\t\twindow.toggleCookieBanner();\n\t}\n}\n\n/**\n * Initializes the accordion buttons by attaching event listeners to them.\n *\n * @function initializeAccordionButtons\n * @returns {void}\n *\n * @description\n * This function initializes the accordion buttons by attaching event listeners to them.\n */\nfunction initializeAccordionButtons() {\n\t// Remove existing event listeners to avoid duplication\n\tdocument.querySelectorAll(\".accordion-button\").forEach((button) => {\n\t\tbutton.removeEventListener(\"click\", handleAccordionClick);\n\t});\n\n\t// Attach new event listeners\n\tdocument.querySelectorAll(\".accordion-button\").forEach((button) => {\n\t\tbutton.addEventListener(\"click\", handleAccordionClick);\n\t});\n}\n\n/**\n * Handles the click event on an accordion button.\n *\n * @function handleAccordionClick\n * @param event {Event} The click event\n * @returns {void}\n *\n * @description\n * This function handles the click event on an accordion button.\n */\nfunction handleAccordionClick(event) {\n\tevent.stopPropagation(); // Stop event propagation\n\tconst button = event.currentTarget;\n\ttoggleAccordion(button);\n}\n\n/**\n * Toggles the accordion item associated with the clicked button.\n *\n * @param button {Element} The clicked button\n * @returns {void}\n *\n * @description\n * This function toggles the accordion item associated with the clicked button.\n * If the accordion item is already open, it closes it. If it is closed, it opens it.\n * It also closes all other accordion items except the clicked one.\n */\nfunction toggleAccordion(button) {\n\tconst target = document.querySelector(button.dataset.target);\n\n\t// Close all accordion items except the clicked one\n\tdocument.querySelectorAll(\".accordion-collapse\").forEach((collapse) => {\n\t\tif (collapse !== target) {\n\t\t\tcollapse.classList.remove(\"show\");\n\t\t\tconst relatedButton = document.querySelector(`[data-target=\"#${collapse.id}\"]`);\n\t\t\tif (relatedButton) {\n\t\t\t\trelatedButton.classList.add(\"collapsed\");\n\t\t\t\tif (window.cookies_consent_translations)\n\t\t\t\t\trelatedButton.textContent = window.cookies_consent_translations.read_more;\n\t\t\t}\n\t\t}\n\t});\n\n\t// Toggle the clicked accordion item\n\tif (target.classList.contains(\"show\")) {\n\t\t// If the accordion is already open, close it\n\t\ttarget.classList.remove(\"show\");\n\t\tbutton.classList.add(\"collapsed\");\n\t\tif (window.cookies_consent_translations) button.textContent = window.cookies_consent_translations.read_more;\n\t} else {\n\t\t// If the accordion is closed, open it\n\t\ttarget.classList.add(\"show\");\n\t\tbutton.classList.remove(\"collapsed\");\n\t\tif (window.cookies_consent_translations) button.textContent = window.cookies_consent_translations.read_less;\n\t}\n}\n\n/**\n * Initializes the cookie banner by setting up the necessary event listeners and cookie handling.\n *\n * @function initializeCookieBanner\n * @returns {void}\n *\n * @description\n * This function initializes the cookie banner by setting up the necessary event listeners and cookie handling.\n * It also sets the initial state of the banner based on the user's cookie consent.\n * If the user has already accepted the cookies, the banner is hidden.\n * If the user has not accepted the cookies, the banner is displayed\n * and the floating button is shown if the configuration allows it.\n * The cookie settings are stored as a JSON object with the category names as keys and their consent status as values.\n */\nfunction initializeCookieBanner() {\n\tconst cookieBanner = document.getElementById(\"scify-cookies-consent\");\n\tconst cookieButton = document.getElementById(\"scify-cookie-consent-floating-button\");\n\tconst showFloatingButton =\n\t\tcookieBanner.dataset.showFloatingButton === \"true\" || cookieBanner.dataset.showFloatingButton === \"1\";\n\tconst hideFloatingButtonOnMobile =\n\t\tcookieBanner.dataset.hideFloatingButtonOnMobile === \"true\" ||\n\t\tcookieBanner.dataset.hideFloatingButtonOnMobile === \"1\";\n\tconst cookiePrefix = cookieBanner.dataset.cookiePrefix;\n\tconst cookieConsent = getCookie(cookiePrefix + \"cookies_consent\");\n\n\tinitialiseBanner(cookieBanner, cookieButton, showFloatingButton, hideFloatingButtonOnMobile, cookieConsent);\n\tsetSliders(cookieConsent);\n\n\taddEventListeners({\n\t\t\"customise-cookies\": handleCustomiseCookies,\n\t\t\"accept-all-cookies\": handleAcceptAllCookies,\n\t\t\"accept-selected-cookies\": handleAcceptSelectedCookies,\n\t\t\"reject-optional-cookies\": handleRejectOptionalCookies,\n\t\t\"close-cookie-policy-page\": handleAcceptSelectedCookies,\n\t});\n}\n\nfunction addEventListeners(buttonHandlers) {\n\tfor (const [buttonId, handler] of Object.entries(buttonHandlers)) {\n\t\tconst button = document.getElementById(buttonId);\n\t\tif (button) {\n\t\t\tbutton.addEventListener(\"click\", handler);\n\t\t}\n\t}\n}\n\nfunction initialiseBanner(cookieBanner, cookieButton, showFloatingButton, hideFloatingButtonOnMobile, cookieConsent) {\n\tif (onCookiesPage()) {\n\t\tcookieBanner.style.display = \"block\";\n\t} else {\n\t\ttoggleBannerDisplay(cookieBanner, cookieButton, showFloatingButton, hideFloatingButtonOnMobile, cookieConsent);\n\t}\n}\n\nfunction toggleBannerDisplay(\n\tcookieBanner,\n\tcookieButton,\n\tshowFloatingButton,\n\thideFloatingButtonOnMobile,\n\tcookieConsent,\n) {\n\tconst useShowModal = cookieBanner.dataset.useShowModal === \"true\" || cookieBanner.dataset.useShowModal === \"1\";\n\tif (cookieConsent) {\n\t\tcookieBanner.style.display = \"none\";\n\t\tif (showFloatingButton && cookieButton) {\n\t\t\t// Hide the floating button on mobile if the configuration allows it\n\t\t\tcookieButton.style.display = hideFloatingButtonOnMobile && window.innerWidth < 768 ? \"none\" : \"block\";\n\t\t}\n\t} else {\n\t\tcookieBanner.style.display = \"block\";\n\t\tconst dialog = cookieBanner.querySelector(\"dialog\");\n\t\tif (dialog && useShowModal) {\n\t\t\tdialog.showModal();\n\t\t}\n\t}\n}\n\n/**\n * Sets the sliders based on the user's cookie consent.\n * @param cookieConsent {string} The user's cookie consent as a JSON string\n *\n * @function setSliders\n * @returns {void}\n * @description\n * This function sets the sliders based on the user's cookie consent.\n * If the user has already accepted the cookies, the sliders are set according to the consent settings.\n */\nfunction setSliders(cookieConsent) {\n\tif (!cookieConsent) return;\n\tlet consentSettings;\n\ttry {\n\t\tconsentSettings = JSON.parse(cookieConsent);\n\t} catch (error) {\n\t\tconsole.warn(\"Error parsing cookie consent JSON:\", error);\n\t\treturn;\n\t}\n\tObject.entries(consentSettings || {}).forEach(([category, accepted]) => {\n\t\tconst categoryCheckbox = document.getElementById(\"lcg-\" + category);\n\t\tif (categoryCheckbox) {\n\t\t\tcategoryCheckbox.checked = accepted;\n\t\t}\n\t});\n}\n\nfunction handleCustomiseCookies() {\n\tconst cookieCategoriesContainer = document.getElementById(\"cookie-categories-container\");\n\t// remove the \"display-none\" class to show the cookie categories\n\tcookieCategoriesContainer.classList.remove(\"display-none\");\n\n\t// hide the parent with class \"button-col\" of the \"customise-cookies\" button\n\tdocument.getElementById(\"customise-cookies\").closest(\".button-col\").classList.add(\"display-none\");\n\t// show the \"accept-selected-cookies\" button\n\tdocument.getElementById(\"accept-selected-cookies\").closest(\".button-col\").classList.remove(\"display-none\");\n}\n\nfunction handleAcceptAllCookies() {\n\thandleCookieConsent(getConsentSettings(true));\n}\n\nfunction handleAcceptSelectedCookies() {\n\thandleCookieConsent(getConsentSettings());\n}\n\nfunction handleRejectOptionalCookies() {\n\thandleCookieConsent(getConsentSettings(false));\n}\n\n/**\n * Reads one boolean per category from the checkboxes.\n * A disabled checkbox is a required category (the template renders those `checked disabled`)\n * and keeps its rendered state whichever button was clicked.\n * @param optional {boolean|null} true accepts every optional category, false rejects them,\n * null keeps the state of each checkbox\n * @returns {Object} The consent settings, one boolean per category\n */\nfunction getConsentSettings(optional = null) {\n\tconst consent = {};\n\tObject.entries(consentCategories()).forEach(([category, { required }]) => {\n\t\tconst checkbox = document.getElementById(\"lcg-\" + category);\n\t\tif (required) {\n\t\t\tconsent[category] = true;\n\t\t} else if (optional !== null) {\n\t\t\tconsent[category] = optional;\n\t\t} else {\n\t\t\tconsent[category] = checkbox ? checkbox.checked : false;\n\t\t}\n\t});\n\treturn consent;\n}\n\n/**\n * @returns {Object}\n * @description\n * Reads the configured cookie categories from the banner root: `data-cookie-categories`\n * maps each category to the cookie names declared in it, `data-required-categories`\n * lists the categories the visitor cannot reject. The banner in `use_separate_page`\n * mode renders no checkboxes, so the root attributes are the only complete source.\n * Published components that predate the attributes fall back to the checkboxes.\n */\nfunction consentCategories() {\n\tconst cookieBanner = document.getElementById(\"scify-cookies-consent\");\n\tconst categories = {};\n\ttry {\n\t\tconst declared = JSON.parse(cookieBanner.dataset.cookieCategories || \"{}\");\n\t\tconst required = JSON.parse(cookieBanner.dataset.requiredCategories || \"[]\");\n\t\tObject.keys(declared).forEach((category) => {\n\t\t\tcategories[category] = { required: required.includes(category), cookies: declared[category] };\n\t\t});\n\t} catch (error) {\n\t\tconsole.warn(\"Error parsing the cookie categories of the banner:\", error);\n\t}\n\tif (Object.keys(categories).length === 0) {\n\t\tdocument.querySelectorAll(\".cookie-category\").forEach((checkbox) => {\n\t\t\tcategories[checkbox.id.replace(/^lcg-/, \"\")] = { required: checkbox.disabled, cookies: [] };\n\t\t});\n\t}\n\treturn categories;\n}\n\n/**\n * Handles the user's cookie consent by sending an AJAX request to the server.\n * @param consent {Object} The user's cookie consent settings\n * @returns {void}\n * @description\n * This function handles the user's cookie consent by sending an AJAX request to the server.\n * The consent settings are stored as a JSON object with the category names as keys and their consent status as values.\n * The server returns the selection it accepted (unknown categories dropped, required categories\n * forced to true), and that selection is stored in a cookie with a specified prefix, for the\n * number of days configured in `cookies_consent.cookie_lifetime`.\n * If the server confirms the selection, the cookie is written, the banner is hidden and a success message\n * is displayed. Otherwise the banner stays open so the visitor can try again.\n */\nfunction handleCookieConsent(consent) {\n\tconst cookieBanner = document.getElementById(\"scify-cookies-consent\");\n\tconst cookieButton = document.getElementById(\"scify-cookie-consent-floating-button\");\n\tconst showFloatingButton =\n\t\tcookieBanner.dataset.showFloatingButton === \"true\" || cookieBanner.dataset.showFloatingButton === \"1\";\n\tconst cookiePrefix = cookieBanner.dataset.cookiePrefix;\n\tconst configuredLifetime = Number.parseInt(cookieBanner.dataset.cookieLifetime, 10);\n\t// 0 keeps the consent for the browser session; a missing attribute (components published before 5.1) means 365.\n\tconst cookieLifetime = Number.isNaN(configuredLifetime) ? 365 : configuredLifetime;\n\tconst [csrfHeaderName, csrfToken] = csrfHeader(cookieBanner);\n\tconsent[\"locale\"] = cookieBanner.dataset.locale;\n\n\tconst headers = { Accept: \"application/json\", \"Content-Type\": \"application/json\" };\n\theaders[csrfHeaderName] = csrfToken;\n\n\tfetch(cookieBanner.dataset.ajaxUrl, {\n\t\tmethod: \"POST\",\n\t\theaders: headers,\n\t\tbody: JSON.stringify(consent),\n\t})\n\t\t.then((response) => response.json())\n\t\t.then((data) => {\n\t\t\tif (!data.success || !data.data) {\n\t\t\t\tthrow new Error(data.message || \"The server did not confirm the consent selection\");\n\t\t\t}\n\t\t\t// The server drops unknown categories and forces the required ones to true,\n\t\t\t// so its copy of the selection is the one the browser stores and acts on.\n\t\t\tconst selection = JSON.stringify(data.data);\n\t\t\tsetCookie(cookiePrefix + \"cookies_consent\", selection, cookieLifetime);\n\t\t\teraseRejectedCookies(data.data);\n\t\t\tsetSliders(selection);\n\t\t\tshowSuccessMessage(data.message);\n\t\t\t// if on cookies page, do not hide the banner\n\t\t\tif (!onCookiesPage()) {\n\t\t\t\tcookieBanner.style.display = \"none\";\n\t\t\t\tif (showFloatingButton) {\n\t\t\t\t\tcookieButton.style.display = \"block\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst dialog = cookieBanner.querySelector(\"dialog\");\n\t\t\tif (dialog) {\n\t\t\t\tdialog.close();\n\t\t\t}\n\t\t\tif (onCookiesPage()) history.back();\n\t\t})\n\t\t.catch((error) => {\n\t\t\t// Leave the banner open so the visitor can try again.\n\t\t\tconsole.error(\"Error storing cookie consent\", error);\n\t\t});\n}\n\nfunction showSuccessMessage(messageText) {\n\tconst parent = document.getElementById(\"scify-cookies-consent-wrapper\");\n\tif (parent) {\n\t\tconst message = document.createElement(\"div\");\n\t\tmessage.classList.add(\"cookie-success-message\");\n\t\tmessage.textContent = messageText;\n\t\tparent.appendChild(message);\n\t\tsetTimeout(() => {\n\t\t\tmessage.classList.add(\"show\");\n\t\t}, 100);\n\t\tsetTimeout(() => {\n\t\t\tmessage.classList.remove(\"show\");\n\t\t\tsetTimeout(() => {\n\t\t\t\tmessage.remove();\n\t\t\t}, 1000);\n\t\t}, 4000);\n\t}\n}\n\nfunction onCookiesPage() {\n\tconst cookieBanner = document.getElementById(\"scify-cookies-consent\");\n\treturn cookieBanner.dataset.onCookiesPage === \"true\" || cookieBanner.dataset.onCookiesPage === \"1\";\n}\n\n/**\n * Builds the CSRF header for the save request.\n * The `XSRF-TOKEN` cookie is used first: Laravel refreshes it on every response, so it\n * stays current on pages that never reload. Without it, the banner root's `data-csrf-token`\n * attribute is used, then the `csrf-token` meta tag of components published before 5.1.\n * @param cookieBanner {Element} The banner root element\n * @returns {Array} The header name and its value\n */\nfunction csrfHeader(cookieBanner) {\n\tconst xsrfToken = getCookie(\"XSRF-TOKEN\");\n\tif (xsrfToken) {\n\t\treturn [\"X-XSRF-TOKEN\", xsrfToken];\n\t}\n\tif (cookieBanner.dataset.csrfToken) {\n\t\treturn [\"X-CSRF-TOKEN\", cookieBanner.dataset.csrfToken];\n\t}\n\tconst meta = document.querySelector('meta[name=\"csrf-token\"]');\n\tif (meta) {\n\t\treturn [\"X-CSRF-TOKEN\", meta.getAttribute(\"content\") || \"\"];\n\t}\n\treturn [\"X-CSRF-TOKEN\", \"\"];\n}\n\nfunction setCookie(name, value, days) {\n\tlet expires = \"\";\n\tif (days) {\n\t\tconst date = new Date();\n\t\tdate.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n\t\texpires = \"; expires=\" + date.toUTCString();\n\t}\n\tconst secure = window.location.protocol === \"https:\" ? \"; Secure\" : \"\";\n\tdocument.cookie = name + \"=\" + encodeURIComponent(value || \"\") + expires + \"; path=/; SameSite=Lax\" + secure;\n}\n\nfunction getCookie(name) {\n\tconst nameEQ = name + \"=\";\n\tconst ca = document.cookie.split(\";\");\n\tfor (const c of ca) {\n\t\tconst cookie = c.trim();\n\t\tif (cookie.startsWith(nameEQ)) {\n\t\t\treturn decodeURIComponent(cookie.substring(nameEQ.length, cookie.length));\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * Erases the cookies declared (by name) in every category the visitor rejected.\n * Only names the operator listed in the config are touched.\n * @param consent {Object} The consent settings, one boolean per category\n */\nfunction eraseRejectedCookies(consent) {\n\tObject.entries(consentCategories()).forEach(([category, { cookies }]) => {\n\t\tif (consent[category] === false) {\n\t\t\tcookies.forEach(eraseCookie);\n\t\t}\n\t});\n}\n\n/**\n * Expires a cookie on the current host and on each parent domain down to the\n * registrable one (browsers refuse the public suffix), since third-party cookies\n * such as Google Analytics live on the registrable domain.\n * @param name {string} The cookie name\n */\nfunction eraseCookie(name) {\n\tconst expired = name + \"=; Max-Age=0; path=/\";\n\tdocument.cookie = expired;\n\tconst labels = window.location.hostname.split(\".\");\n\tfor (let i = 0; i < labels.length - 1; i++) {\n\t\tdocument.cookie = expired + \"; domain=\" + labels.slice(i).join(\".\");\n\t}\n}\n\nwindow.toggleCookieBanner = function () {\n\t// if on cookies page, do nothing\n\tif (onCookiesPage()) return;\n\n\tconst cookieBanner = document.getElementById(\"scify-cookies-consent\");\n\tconst cookieButton = document.getElementById(\"scify-cookie-consent-floating-button\");\n\tconst showFloatingButton =\n\t\tcookieBanner.dataset.showFloatingButton === \"true\" || cookieBanner.dataset.showFloatingButton === \"1\";\n\tconst useShowModal = cookieBanner.dataset.useShowModal === \"true\" || cookieBanner.dataset.useShowModal === \"1\";\n\tconst dialog = cookieBanner.querySelector(\"dialog\");\n\n\tif (cookieBanner.style.display === \"none\" || cookieBanner.style.display === \"\") {\n\t\tcookieBanner.style.display = \"block\";\n\t\tif (dialog && useShowModal) {\n\t\t\tdialog.showModal();\n\t\t}\n\t\tif (showFloatingButton) {\n\t\t\tcookieButton.style.display = \"none\";\n\t\t}\n\t} else {\n\t\tcookieBanner.style.display = \"none\";\n\t\tif (dialog && useShowModal) {\n\t\t\tdialog.close();\n\t\t}\n\t\tif (showFloatingButton) {\n\t\t\tcookieButton.style.display = \"block\";\n\t\t}\n\t}\n};\n\n/**\n * Ensures that clicking any link with href=\"#consent-settings\" opens the cookie banner dialog.\n * The hash is updated too, so the hashchange listener and the link agree; openCookieBanner()\n * is idempotent, so the two paths do not toggle the banner twice.\n */\nfunction initializeConsentSettingsLink() {\n\tdocument.querySelectorAll('a[href=\"#consent-settings\"]').forEach((link) => {\n\t\tlink.addEventListener(\"click\", function (e) {\n\t\t\te.preventDefault();\n\t\t\twindow.location.hash = \"#consent-settings\";\n\t\t\topenCookieBanner();\n\t\t});\n\t});\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/public/vendor/scify/laravel-cookie-guard/styles.css b/public/vendor/scify/laravel-cookie-guard/styles.css index 3473b9547..4acb4b016 100644 --- a/public/vendor/scify/laravel-cookie-guard/styles.css +++ b/public/vendor/scify/laravel-cookie-guard/styles.css @@ -1 +1,2 @@ -#scify-cookies-consent-wrapper .display-none,#scify-cookie-policy-page .display-none{display:none!important}#scify-cookies-consent-wrapper .w-100,#scify-cookie-policy-page .w-100{width:100%!important}#scify-cookies-consent-wrapper a,#scify-cookie-policy-page a{font-size:inherit;font-family:var(--scify-cookies-font-family),sans-serif;text-decoration:none;color:var(--scify-cookies-link-color)}#scify-cookies-consent-wrapper a:hover,#scify-cookie-policy-page a:hover{color:var(--scify-cookies-link-hover-color)}#scify-cookies-consent-wrapper a svg,#scify-cookie-policy-page a svg{fill:currentColor}#scify-cookies-consent-wrapper a .exit-icon,#scify-cookie-policy-page a .exit-icon{width:20px;height:20px}#scify-cookies-consent-wrapper button,#scify-cookie-policy-page button{font-family:var(--scify-cookies-font-family),sans-serif}#scify-cookies-consent-wrapper button,#scify-cookies-consent-wrapper input,#scify-cookies-consent-wrapper optgroup,#scify-cookies-consent-wrapper select,#scify-cookies-consent-wrapper textarea,#scify-cookie-policy-page button,#scify-cookie-policy-page input,#scify-cookie-policy-page optgroup,#scify-cookie-policy-page select,#scify-cookie-policy-page textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}#scify-cookies-consent-wrapper .container,#scify-cookie-policy-page .container{width:auto;padding-right:var(--scify-cookies-gutter);padding-left:var(--scify-cookies-gutter);margin-right:auto;margin-left:auto}#scify-cookies-consent-wrapper .text-center,#scify-cookie-policy-page .text-center{text-align:center}#scify-cookies-consent-wrapper .mx-auto,#scify-cookie-policy-page .mx-auto{margin-right:auto;margin-left:auto}#scify-cookies-consent-wrapper .row,#scify-cookie-policy-page .row{display:flex;flex-wrap:wrap;margin-right:calc(var(--scify-cookies-gutter) / -2);margin-left:calc(var(--scify-cookies-gutter) / -2);align-items:center;justify-content:start}#scify-cookies-consent-wrapper .g-0,#scify-cookie-policy-page .g-0{margin-right:0;margin-left:0;padding-right:0;padding-left:0}#scify-cookies-consent-wrapper .col,#scify-cookie-policy-page .col{flex:1;padding:0 15px;box-sizing:border-box}#scify-cookies-consent-wrapper .col-6,#scify-cookie-policy-page .col-6{width:50%;padding:0 15px;box-sizing:border-box}#scify-cookies-consent-wrapper .col-lg-9,#scify-cookie-policy-page .col-lg-9{flex:0 0 auto;width:75%;padding:0 15px;box-sizing:border-box}#scify-cookies-consent-wrapper .p-5,#scify-cookie-policy-page .p-5{padding:1.25rem!important}#scify-cookies-consent-wrapper .mb-3,#scify-cookie-policy-page .mb-3{margin-bottom:1rem!important}#scify-cookies-consent-wrapper .mb-4,#scify-cookie-policy-page .mb-4{margin-bottom:1.5rem!important}#scify-cookies-consent-wrapper .my-3,#scify-cookie-policy-page .my-3{margin-top:1rem!important;margin-bottom:1rem!important}#scify-cookies-consent-wrapper .text-lg,#scify-cookie-policy-page .text-lg{font-size:var(--scify-cookies-font-size-lg)}@media (max-width: 991px){#scify-cookies-consent-wrapper .col-sm-12,#scify-cookie-policy-page .col-sm-12{flex:0 0 auto;width:100%;padding:0}}@media (min-width: 992px){#scify-cookies-consent-wrapper .col-lg-4,#scify-cookie-policy-page .col-lg-4{flex:0 0 auto;width:33.333333%;padding:2px 6px;box-sizing:border-box}}#scify-cookies-consent-wrapper .mt-3,#scify-cookie-policy-page .mt-3{margin-top:1rem!important}#scify-cookies-consent-wrapper .h5,#scify-cookie-policy-page .h5{font-size:var(--scify-cookies-h5-font-size)}#scify-cookies-consent-wrapper .small,#scify-cookie-policy-page .small{font-size:var(--scify-cookies-font-size-small)}#scify-cookies-consent-wrapper .m-0,#scify-cookie-policy-page .m-0{margin:0!important}#scify-cookies-consent-wrapper .pt-0,#scify-cookie-policy-page .pt-0{padding-top:0!important}#scify-cookies-consent-wrapper .pb-2,#scify-cookie-policy-page .pb-2{padding-bottom:.5rem!important}#scify-cookies-consent-wrapper .pl-0,#scify-cookie-policy-page .pl-0{padding-left:0!important}#scify-cookies-consent-wrapper .pr-0,#scify-cookie-policy-page .pr-0{padding-right:0!important}#scify-cookies-consent-wrapper .px-5,#scify-cookie-policy-page .px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}#scify-cookies-consent-wrapper dl,#scify-cookie-policy-page dl{margin-top:0;margin-bottom:0}@media (max-width: 575.98px){#scify-cookies-consent-wrapper dl,#scify-cookie-policy-page dl{margin-bottom:0}}#scify-cookies-consent-wrapper dl dt,#scify-cookie-policy-page dl dt{font-weight:700}#scify-cookies-consent-wrapper dl dd,#scify-cookie-policy-page dl dd{margin-bottom:.25rem;margin-left:0}@media (max-width: 575.98px){#scify-cookies-consent-wrapper dl dd:last-child,#scify-cookie-policy-page dl dd:last-child{margin-bottom:0}}#scify-cookies-consent-wrapper .form-check,#scify-cookie-policy-page .form-check{position:relative;display:block;padding-left:1.25rem}#scify-cookies-consent-wrapper .form-check .form-check-input,#scify-cookie-policy-page .form-check .form-check-input{float:left;margin-left:-1.25rem;width:var(--scify-cookies-checkbox-size);height:var(--scify-cookies-checkbox-size);border:1px solid var(--scify-cookies-check-input-border-color);border-radius:var(--scify-cookies-border-radius);background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}#scify-cookies-consent-wrapper .form-check .form-check-input[type=checkbox],#scify-cookie-policy-page .form-check .form-check-input[type=checkbox]{border-radius:1em}#scify-cookies-consent-wrapper .form-check .form-check-input:checked,#scify-cookie-policy-page .form-check .form-check-input:checked{background-color:var(--scify-cookies-primary-color);border-color:var(--scify-cookies-primary-color)}#scify-cookies-consent-wrapper .form-check .form-check-input:focus,#scify-cookie-policy-page .form-check .form-check-input:focus{border-color:var(--scify-cookies-primary-color);outline:0;box-shadow:0 0 0 .25rem rgba(var(--scify-cookies-primary-color),.25)}#scify-cookies-consent-wrapper .form-check .form-check-input:disabled,#scify-cookie-policy-page .form-check .form-check-input:disabled{filter:none;opacity:.5;pointer-events:none}#scify-cookies-consent-wrapper .form-check .form-check-input:disabled~.form-check-label,#scify-cookie-policy-page .form-check .form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}#scify-cookies-consent-wrapper .form-switch,#scify-cookie-policy-page .form-switch{padding-left:2.5rem;display:flex;align-items:center;padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0}#scify-cookies-consent-wrapper .form-switch .form-check-input,#scify-cookie-policy-page .form-switch .form-check-input{width:2em;height:18px;margin-right:10px;background-color:#adb5bd;border-radius:1em;position:relative;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;--bs-form-switch-bg: none !important}#scify-cookies-consent-wrapper .form-switch .form-check-input:hover,#scify-cookie-policy-page .form-switch .form-check-input:hover{cursor:pointer}#scify-cookies-consent-wrapper .form-switch .form-check-input:before,#scify-cookie-policy-page .form-switch .form-check-input:before{content:"";position:absolute;top:.125em;left:.125em;width:.75em;height:.75em;border-radius:.75em;background-image:none!important;background-color:#fff!important;transition:transform .15s ease-in-out}#scify-cookies-consent-wrapper .form-switch .form-check-input:checked:before,#scify-cookie-policy-page .form-switch .form-check-input:checked:before{transform:translate(1em)}#scify-cookies-consent-wrapper .form-switch .form-check-input:checked,#scify-cookie-policy-page .form-switch .form-check-input:checked{background-color:var(--scify-cookies-primary-color);--bs-form-switch-bg: none !important;background-image:none!important}#scify-cookies-consent-wrapper .accordion,#scify-cookie-policy-page .accordion{--bs-accordion-border-color: var(--scify-cookies-accordion-border-color);background-color:#fff;border:1px solid #ddd;border-radius:4px;margin:0 0 20px}#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{background-color:#fff;border:1px solid var(--scify-cookies-accordion-item-border-color);color:var(--scify-cookies-text-color);border-bottom:1px solid #ddd;max-height:45vh;overflow-y:auto;transition:max-height .3s ease-out}#scify-cookies-consent-wrapper .accordion .accordion-item .accordion-button,#scify-cookie-policy-page .accordion .accordion-item .accordion-button{font-size:var(--scify-cookies-accordion-btn-font-size)}@media (max-width: 767px){#scify-cookies-consent-wrapper .accordion .scify-cookies-consent-banner,#scify-cookie-policy-page .accordion .scify-cookies-consent-banner{top:0;bottom:auto}#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{max-height:30vh}}@media (min-width: 768px) and (max-width: 1023px){#scify-cookies-consent-wrapper .accordion .scify-cookies-consent-banner,#scify-cookie-policy-page .accordion .scify-cookies-consent-banner{top:0;bottom:auto}#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{max-height:30vh}}@media (min-width: 1024px) and (max-width: 1439px){#scify-cookies-consent-wrapper .accordion .scify-cookies-consent-banner,#scify-cookie-policy-page .accordion .scify-cookies-consent-banner{top:0;bottom:auto}#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{max-height:35vh}}@media (min-width: 1440px){#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{max-height:45vh}}#scify-cookies-consent-wrapper .accordion .accordion-header,#scify-cookie-policy-page .accordion .accordion-header{margin-bottom:0;margin-top:0;padding:var(--scify-cookies-accordion-header-padding);cursor:pointer;font-weight:700;background-color:#f7f7f7}@media (max-width: 575.98px){#scify-cookies-consent-wrapper .accordion .accordion-header,#scify-cookie-policy-page .accordion .accordion-header{padding:2px}}#scify-cookies-consent-wrapper .accordion .accordion-button,#scify-cookie-policy-page .accordion .accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:0;font-size:var(--scify-cookies-font-size-base);text-align:left;background-color:var(--scify-cookies-accordion-btn-collapsed-bg-color);color:var(--scify-cookies-accordion-btn-collapsed-text-color);border:1px solid transparent;border-top-left-radius:var(--scify-cookies-border-radius);border-top-right-radius:var(--scify-cookies-border-radius);cursor:pointer;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (max-width: 575.98px){#scify-cookies-consent-wrapper .accordion .accordion-button,#scify-cookie-policy-page .accordion .accordion-button{padding:.3rem .75rem}}#scify-cookies-consent-wrapper .accordion .accordion-button:not(.collapsed),#scify-cookie-policy-page .accordion .accordion-button:not(.collapsed){color:var(--scify-cookies-accordion-btn-text-color);background-color:var(--scify-cookies-accordion-btn-bg-color);box-shadow:none}#scify-cookies-consent-wrapper .accordion .accordion-button:after,#scify-cookie-policy-page .accordion .accordion-button:after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background:no-repeat center/50% url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");transform:rotate(0);transition:transform .2s ease-in-out}#scify-cookies-consent-wrapper .accordion .accordion-button.collapsed:after,#scify-cookie-policy-page .accordion .accordion-button.collapsed:after{transform:rotate(90deg)}#scify-cookies-consent-wrapper .accordion .accordion-collapse,#scify-cookie-policy-page .accordion .accordion-collapse{display:none;border-top:1px solid var(--scify-cookies-accordion-border-color)}#scify-cookies-consent-wrapper .accordion .accordion-collapse.show,#scify-cookie-policy-page .accordion .accordion-collapse.show{display:block}#scify-cookies-consent-wrapper .accordion .accordion-body,#scify-cookie-policy-page .accordion .accordion-body{padding:0}#scify-cookies-consent-wrapper .cookies-external-page .accordion-header,#scify-cookie-policy-page .cookies-external-page .accordion-header{display:none}#scify-cookie-policy-page .btn{font-family:var(--scify-cookies-font-family),sans-serif;display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}#scify-cookie-policy-page .btn:hover{cursor:pointer}#scify-cookie-policy-page .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}#scify-cookie-policy-page .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}#scify-cookie-policy-page .text-lg{font-size:1.25rem}#scify-cookie-policy-page .close-icon{margin-right:.5rem;vertical-align:middle}#scify-cookies-consent-wrapper .cookies-external-page,#scify-cookie-policy-page .cookies-external-page{min-height:100vh;width:auto;max-width:100%}#scify-cookies-consent-wrapper .cookies-external-page .cookies-policy-wrapper,#scify-cookie-policy-page .cookies-external-page .cookies-policy-wrapper{min-height:auto;max-width:100%;margin:0 auto;position:relative!important;width:100%!important}#scify-cookies-consent-wrapper .cookies-external-page .cookies-policy-wrapper .accordion .accordion-item .accordion-button,#scify-cookie-policy-page .cookies-external-page .cookies-policy-wrapper .accordion .accordion-item .accordion-button{font-size:var(--scify-cookies-font-size-base)}#scify-cookies-consent-wrapper .cookies-external-page .scify-cookies-consent-banner,#scify-cookie-policy-page .cookies-external-page .scify-cookies-consent-banner{padding:2rem 1rem;max-width:100%;width:100%;margin:0 auto;bottom:auto;left:auto;border:none;box-shadow:none}#scify-cookies-consent-wrapper .cookies-external-page .scify-cookies-consent-banner .accordion-item.cookies-consent-category-item,#scify-cookie-policy-page .cookies-external-page .scify-cookies-consent-banner .accordion-item.cookies-consent-category-item{border:none;border-bottom:1px solid var(--scify-cookies-accordion-border-color)}#scify-cookies-consent-wrapper .cookies-external-page .scify-cookies-consent-banner .btn,#scify-cookie-policy-page .cookies-external-page .scify-cookies-consent-banner .btn{padding:var(--scify-cookies-btn-padding-lg)}#scify-cookies-consent-wrapper .cookies-external-page .cookies-policy-wrapper,#scify-cookie-policy-page .cookies-external-page .cookies-policy-wrapper{padding-bottom:40px}#scify-cookies-consent-wrapper .cookie-success-message,#scify-cookie-policy-page .cookie-success-message{position:fixed;bottom:var(--scify-cookies-gutter);right:var(--scify-cookies-gutter);z-index:100000000;padding:var(--scify-cookies-success-message-padding);margin-bottom:var(--scify-cookies-gutter);border:1px solid var(--scify-cookies-success-message-border-color);border-radius:var(--scify-cookies-border-radius);background-color:var(--scify-cookies-success-message-bg-color);color:var(--scify-cookies-success-message-text-color);box-shadow:var(--scify-cookies-success-message-box-shadow);transition:opacity .15s linear;font-size:var(--scify-cookies-font-size-base)}#scify-cookies-consent-wrapper .cookie-success-message.show,#scify-cookie-policy-page .cookie-success-message.show{opacity:1;transform:translateY(0);transition:opacity .5s ease-in-out,transform .5s ease-in-out}#scify-cookies-consent-wrapper .scify-cookies-consent-banner,#scify-cookie-policy-page .scify-cookies-consent-banner{color:var(--scify-cookies-text-color);font-family:var(--scify-cookies-font-family),sans-serif;font-size:var(--scify-cookies-font-size-base);font-weight:400;line-height:1.6;padding:25px;background-color:var(--scify-cookies-bg-color);border:var(--scify-cookies-border-width) solid var(--scify-cookies-border-color);border-radius:var(--scify-cookies-banner-border-radius);box-shadow:0 2px 4px #0000001a;z-index:1000000;width:90%;max-width:700px;position:fixed;display:inline-block;overflow:hidden}#scify-cookies-consent-wrapper .scify-cookies-consent-banner::backdrop,#scify-cookie-policy-page .scify-cookies-consent-banner::backdrop{background:#000;opacity:.3}@media (min-width: 768px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner,#scify-cookie-policy-page .scify-cookies-consent-banner{width:60%}}@media (min-width: 1200px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner,#scify-cookie-policy-page .scify-cookies-consent-banner{width:45%}}#scify-cookies-consent-wrapper .scify-cookies-consent-banner.custom-dialog,#scify-cookie-policy-page .scify-cookies-consent-banner.custom-dialog{height:auto;max-height:80vh;overflow-y:auto;left:var(--scify-cookies-banner-left);bottom:var(--scify-cookies-banner-bottom);margin:0}@media (max-width: 991px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner.custom-dialog,#scify-cookie-policy-page .scify-cookies-consent-banner.custom-dialog{left:unset;margin:0 auto}}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .btn,#scify-cookie-policy-page .scify-cookies-consent-banner .btn{display:inline-block;line-height:1.5;color:var(--scify-cookies-btn-text-color);background-color:var(--scify-cookies-btn-bg-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--scify-cookies-btn-border-width) solid var(--scify-cookies-btn-border-color);padding:var(--scify-cookies-btn-padding);font-size:var(--scify-cookies-btn-text-font-size);font-weight:500;border-radius:var(--scify-cookies-btn-border-radius);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;white-space:nowrap;height:auto;text-transform:none}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .btn:hover,#scify-cookie-policy-page .scify-cookies-consent-banner .btn:hover{background-color:var(--scify-cookies-primary-hover-color);box-shadow:0 6px 8px #00000026,0 10px 25px #00000026;cursor:pointer;border-color:var(--scify-cookies-btn-hover-border-color);color:var(--scify-cookies-btn-hover-text-color)}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .btn:focus,#scify-cookie-policy-page .scify-cookies-consent-banner .btn:focus{outline:0;box-shadow:0 0 3px var(--scify-cookies-btn-border-color),0 0 3px var(--scify-cookies-btn-border-color);-webkit-box-shadow:0 0 3px var(--scify-cookies-btn-border-color),0 0 3px var(--scify-cookies-btn-border-color)}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .list-group,#scify-cookie-policy-page .scify-cookies-consent-banner .list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .list-group .list-group-item,#scify-cookie-policy-page .scify-cookies-consent-banner .list-group .list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:none;border-bottom:1px solid rgba(0,0,0,.125)}@media (max-width: 575.98px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner .list-group .list-group-item,#scify-cookie-policy-page .scify-cookies-consent-banner .list-group .list-group-item{padding:.25rem .5rem}}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .list-group .list-group-item:last-child,#scify-cookie-policy-page .scify-cookies-consent-banner .list-group .list-group-item:last-child{border-bottom:none}#scify-cookies-consent-wrapper .scify-cookies-consent-banner code,#scify-cookie-policy-page .scify-cookies-consent-banner code{font-size:87.5%;color:var(--scify-cookies-name-text-color);word-wrap:break-word}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions{margin-top:10px;width:100%;text-align:center}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions .row,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions .row{margin:0}#scify-cookies-consent-wrapper .scify-cookies-consent-banner #cookie-consent-title,#scify-cookie-policy-page .scify-cookies-consent-banner #cookie-consent-title{font-weight:700;font-size:21px;line-height:24px;margin:0 0 12px}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .scify-cookies-container,#scify-cookie-policy-page .scify-cookies-consent-banner .scify-cookies-container{min-height:fit-content}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .scify-cookies-container .always-active,#scify-cookie-policy-page .scify-cookies-consent-banner .scify-cookies-container .always-active{color:var(--scify-cookies-always-active-message-color);margin-left:5px}@media (max-width: 991px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions button#customise-cookies,#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions button#reject-all-cookies,#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions button#accept-selected-cookies,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions button#customise-cookies,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions button#reject-all-cookies,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions button#accept-selected-cookies{border-bottom:0}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions button#accept-all-cookies,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions button#accept-all-cookies{border-top:0}}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .policy-link,#scify-cookie-policy-page .scify-cookies-consent-banner .policy-link{font-size:small;text-decoration:underline}#scify-cookies-consent-wrapper.scify-cookies-consent-wrapper-page .scify-cookies-consent-banner{margin:0 auto;position:relative;width:auto;max-width:100%}#scify-cookie-consent-floating-button{position:fixed;bottom:var(--scify-cookies-floating-btn-bottom);left:var(--scify-cookies-floating-btn-left);z-index:1000000;background-color:var(--scify-cookies-floating-btn-bg-color);color:var(--scify-cookies-floating-btn-text-color);border:var(--scify-cookies-floating-btn-border-width) solid var(--scify-cookies-floating-btn-border-color);border-radius:var(--scify-cookies-floating-btn-border-radius);padding:var(--scify-cookies-floating-btn-padding);height:var(--scify-cookies-floating-btn-height);width:var(--scify-cookies-floating-btn-width)}#scify-cookie-consent-floating-button:hover{cursor:pointer;background-color:var(--scify-cookies-floating-btn-hover-bg-color);color:var(--scify-cookies-floating-btn-hover-text-color)}#scify-cookie-consent-floating-button img,#scify-cookie-consent-floating-button svg{width:100%;height:100%}#scify-cookie-consent-floating-button svg{stroke:currentColor}body:has(dialog.scify-cookies-consent-banner[open]){overflow:hidden;padding-right:0}dialog.scify-cookies-consent-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;overflow:auto!important;overflow-y:auto;max-height:90vh} +#scify-cookies-consent-wrapper .display-none,#scify-cookie-policy-page .display-none{display:none!important}#scify-cookies-consent-wrapper .w-100,#scify-cookie-policy-page .w-100{width:100%!important}#scify-cookies-consent-wrapper a,#scify-cookie-policy-page a{font-size:inherit;font-family:var(--scify-cookies-font-family), sans-serif;color:var(--scify-cookies-link-color);text-decoration:none}#scify-cookies-consent-wrapper a:hover,#scify-cookie-policy-page a:hover{color:var(--scify-cookies-link-hover-color)}#scify-cookies-consent-wrapper a svg,#scify-cookie-policy-page a svg{fill:currentColor}#scify-cookies-consent-wrapper a .exit-icon,#scify-cookie-policy-page a .exit-icon{width:20px;height:20px}#scify-cookies-consent-wrapper button,#scify-cookie-policy-page button{font-family:var(--scify-cookies-font-family), sans-serif}#scify-cookies-consent-wrapper button,#scify-cookies-consent-wrapper input,#scify-cookies-consent-wrapper optgroup,#scify-cookies-consent-wrapper select,#scify-cookies-consent-wrapper textarea,#scify-cookie-policy-page button,#scify-cookie-policy-page input,#scify-cookie-policy-page optgroup,#scify-cookie-policy-page select,#scify-cookie-policy-page textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}#scify-cookies-consent-wrapper .container,#scify-cookie-policy-page .container{width:auto;padding-right:var(--scify-cookies-gutter);padding-left:var(--scify-cookies-gutter);margin-left:auto;margin-right:auto}#scify-cookies-consent-wrapper .text-center,#scify-cookie-policy-page .text-center{text-align:center}#scify-cookies-consent-wrapper .mx-auto,#scify-cookie-policy-page .mx-auto{margin-left:auto;margin-right:auto}#scify-cookies-consent-wrapper .row,#scify-cookie-policy-page .row{margin-right:calc(var(--scify-cookies-gutter) / -2);margin-left:calc(var(--scify-cookies-gutter) / -2);flex-wrap:wrap;justify-content:start;align-items:center;display:flex}#scify-cookies-consent-wrapper .g-0,#scify-cookie-policy-page .g-0{margin-left:0;margin-right:0;padding-left:0;padding-right:0}#scify-cookies-consent-wrapper .col,#scify-cookie-policy-page .col{box-sizing:border-box;flex:1;padding:0 15px}#scify-cookies-consent-wrapper .col-6,#scify-cookie-policy-page .col-6{box-sizing:border-box;width:50%;padding:0 15px}#scify-cookies-consent-wrapper .col-lg-9,#scify-cookie-policy-page .col-lg-9{box-sizing:border-box;flex:none;width:75%;padding:0 15px}#scify-cookies-consent-wrapper .p-5,#scify-cookie-policy-page .p-5{padding:1.25rem!important}#scify-cookies-consent-wrapper .mb-3,#scify-cookie-policy-page .mb-3{margin-bottom:1rem!important}#scify-cookies-consent-wrapper .mb-4,#scify-cookie-policy-page .mb-4{margin-bottom:1.5rem!important}#scify-cookies-consent-wrapper .my-3,#scify-cookie-policy-page .my-3{margin-top:1rem!important;margin-bottom:1rem!important}#scify-cookies-consent-wrapper .text-lg,#scify-cookie-policy-page .text-lg{font-size:var(--scify-cookies-font-size-lg)}@media (width<=991px){#scify-cookies-consent-wrapper .col-sm-12,#scify-cookie-policy-page .col-sm-12{flex:none;width:100%;padding:0}}@media (width>=992px){#scify-cookies-consent-wrapper .col-lg-4,#scify-cookie-policy-page .col-lg-4{box-sizing:border-box;flex:none;width:33.3333%;padding:2px 6px}}#scify-cookies-consent-wrapper .mt-3,#scify-cookie-policy-page .mt-3{margin-top:1rem!important}#scify-cookies-consent-wrapper .h5,#scify-cookie-policy-page .h5{font-size:var(--scify-cookies-h5-font-size)}#scify-cookies-consent-wrapper .small,#scify-cookie-policy-page .small{font-size:var(--scify-cookies-font-size-small)}#scify-cookies-consent-wrapper .m-0,#scify-cookie-policy-page .m-0{margin:0!important}#scify-cookies-consent-wrapper .pt-0,#scify-cookie-policy-page .pt-0{padding-top:0!important}#scify-cookies-consent-wrapper .pb-2,#scify-cookie-policy-page .pb-2{padding-bottom:.5rem!important}#scify-cookies-consent-wrapper .pl-0,#scify-cookie-policy-page .pl-0{padding-left:0!important}#scify-cookies-consent-wrapper .pr-0,#scify-cookie-policy-page .pr-0{padding-right:0!important}#scify-cookies-consent-wrapper .px-5,#scify-cookie-policy-page .px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}#scify-cookies-consent-wrapper dl,#scify-cookie-policy-page dl{margin-top:0;margin-bottom:0}@media (width<=575.98px){#scify-cookies-consent-wrapper dl,#scify-cookie-policy-page dl{margin-bottom:0}}#scify-cookies-consent-wrapper dl dt,#scify-cookie-policy-page dl dt{font-weight:700}#scify-cookies-consent-wrapper dl dd,#scify-cookie-policy-page dl dd{margin-bottom:.25rem;margin-left:0}@media (width<=575.98px){#scify-cookies-consent-wrapper dl dd:last-child,#scify-cookie-policy-page dl dd:last-child{margin-bottom:0}}#scify-cookies-consent-wrapper .form-check,#scify-cookie-policy-page .form-check{padding-left:1.25rem;display:block;position:relative}#scify-cookies-consent-wrapper .form-check .form-check-input,#scify-cookie-policy-page .form-check .form-check-input{float:left;width:var(--scify-cookies-checkbox-size);height:var(--scify-cookies-checkbox-size);border:1px solid var(--scify-cookies-check-input-border-color);border-radius:var(--scify-cookies-border-radius);appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;margin-left:-1.25rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}#scify-cookies-consent-wrapper .form-check .form-check-input[type=checkbox],#scify-cookie-policy-page .form-check .form-check-input[type=checkbox]{border-radius:1em}#scify-cookies-consent-wrapper .form-check .form-check-input:checked,#scify-cookie-policy-page .form-check .form-check-input:checked{background-color:var(--scify-cookies-primary-color);border-color:var(--scify-cookies-primary-color)}#scify-cookies-consent-wrapper .form-check .form-check-input:focus,#scify-cookie-policy-page .form-check .form-check-input:focus{border-color:var(--scify-cookies-primary-color);box-shadow:0 0 0 .25rem rgba(var(--scify-cookies-primary-color), .25);outline:0}#scify-cookies-consent-wrapper .form-check .form-check-input:disabled,#scify-cookie-policy-page .form-check .form-check-input:disabled{filter:none;opacity:.5;pointer-events:none}#scify-cookies-consent-wrapper .form-check .form-check-input:disabled~.form-check-label,#scify-cookie-policy-page .form-check .form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}#scify-cookies-consent-wrapper .form-switch,#scify-cookie-policy-page .form-switch{align-items:center;margin-bottom:0;padding-top:.5rem;padding-bottom:.5rem;padding-left:2.5rem;display:flex}#scify-cookies-consent-wrapper .form-switch .form-check-input,#scify-cookie-policy-page .form-switch .form-check-input{background-color:#adb5bd;border-radius:1em;width:2em;height:18px;margin-right:10px;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;position:relative;--bs-form-switch-bg:none!important}#scify-cookies-consent-wrapper .form-switch .form-check-input:hover,#scify-cookie-policy-page .form-switch .form-check-input:hover{cursor:pointer}#scify-cookies-consent-wrapper .form-switch .form-check-input:before,#scify-cookie-policy-page .form-switch .form-check-input:before{content:"";border-radius:.75em;width:.75em;height:.75em;transition:transform .15s ease-in-out;position:absolute;top:.125em;left:.125em;background-color:#fff!important;background-image:none!important}#scify-cookies-consent-wrapper .form-switch .form-check-input:checked:before,#scify-cookie-policy-page .form-switch .form-check-input:checked:before{transform:translate(1em)}#scify-cookies-consent-wrapper .form-switch .form-check-input:checked,#scify-cookie-policy-page .form-switch .form-check-input:checked{background-color:var(--scify-cookies-primary-color);--bs-form-switch-bg:none!important;background-image:none!important}#scify-cookies-consent-wrapper .accordion,#scify-cookie-policy-page .accordion{--bs-accordion-border-color:var(--scify-cookies-accordion-border-color);background-color:#fff;border:1px solid #ddd;border-radius:4px;margin:0 0 20px}#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{border:1px solid var(--scify-cookies-accordion-item-border-color);color:var(--scify-cookies-text-color);background-color:#fff;border-bottom:1px solid #ddd;max-height:45vh;transition:max-height .3s ease-out;overflow-y:auto}#scify-cookies-consent-wrapper .accordion .accordion-item .accordion-button,#scify-cookie-policy-page .accordion .accordion-item .accordion-button{font-size:var(--scify-cookies-accordion-btn-font-size)}@media (width<=767px){#scify-cookies-consent-wrapper .accordion .scify-cookies-consent-banner,#scify-cookie-policy-page .accordion .scify-cookies-consent-banner{top:0;bottom:auto}#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{max-height:30vh}}@media (width>=768px) and (width<=1023px){#scify-cookies-consent-wrapper .accordion .scify-cookies-consent-banner,#scify-cookie-policy-page .accordion .scify-cookies-consent-banner{top:0;bottom:auto}#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{max-height:30vh}}@media (width>=1024px) and (width<=1439px){#scify-cookies-consent-wrapper .accordion .scify-cookies-consent-banner,#scify-cookie-policy-page .accordion .scify-cookies-consent-banner{top:0;bottom:auto}#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{max-height:35vh}}@media (width>=1440px){#scify-cookies-consent-wrapper .accordion .accordion-item,#scify-cookie-policy-page .accordion .accordion-item{max-height:45vh}}#scify-cookies-consent-wrapper .accordion .accordion-header,#scify-cookie-policy-page .accordion .accordion-header{padding:var(--scify-cookies-accordion-header-padding);cursor:pointer;background-color:#f7f7f7;margin-top:0;margin-bottom:0;font-weight:700}@media (width<=575.98px){#scify-cookies-consent-wrapper .accordion .accordion-header,#scify-cookie-policy-page .accordion .accordion-header{padding:2px}}#scify-cookies-consent-wrapper .accordion .accordion-button,#scify-cookie-policy-page .accordion .accordion-button{width:100%;font-size:var(--scify-cookies-font-size-base);text-align:left;background-color:var(--scify-cookies-accordion-btn-collapsed-bg-color);color:var(--scify-cookies-accordion-btn-collapsed-text-color);border-top-left-radius:var(--scify-cookies-border-radius);border-top-right-radius:var(--scify-cookies-border-radius);cursor:pointer;border:1px solid #0000;align-items:center;padding:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;display:flex;position:relative}@media (width<=575.98px){#scify-cookies-consent-wrapper .accordion .accordion-button,#scify-cookie-policy-page .accordion .accordion-button{padding:.3rem .75rem}}#scify-cookies-consent-wrapper .accordion .accordion-button:not(.collapsed),#scify-cookie-policy-page .accordion .accordion-button:not(.collapsed){color:var(--scify-cookies-accordion-btn-text-color);background-color:var(--scify-cookies-accordion-btn-bg-color);box-shadow:none}#scify-cookies-consent-wrapper .accordion .accordion-button:after,#scify-cookie-policy-page .accordion .accordion-button:after{content:"";background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") 50%/50% no-repeat;flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;transition:transform .2s ease-in-out;transform:rotate(0)}#scify-cookies-consent-wrapper .accordion .accordion-button.collapsed:after,#scify-cookie-policy-page .accordion .accordion-button.collapsed:after{transform:rotate(90deg)}#scify-cookies-consent-wrapper .accordion .accordion-collapse,#scify-cookie-policy-page .accordion .accordion-collapse{border-top:1px solid var(--scify-cookies-accordion-border-color);display:none}#scify-cookies-consent-wrapper .accordion .accordion-collapse.show,#scify-cookie-policy-page .accordion .accordion-collapse.show{display:block}#scify-cookies-consent-wrapper .accordion .accordion-body,#scify-cookie-policy-page .accordion .accordion-body{padding:0}#scify-cookies-consent-wrapper .cookies-external-page .accordion-header,#scify-cookie-policy-page .cookies-external-page .accordion-header{display:none}#scify-cookie-policy-page .btn{font-family:var(--scify-cookies-font-family), sans-serif;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:.25rem;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:inline-block}#scify-cookie-policy-page .btn:hover{cursor:pointer}#scify-cookie-policy-page .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}#scify-cookie-policy-page .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}#scify-cookie-policy-page .text-lg{font-size:1.25rem}#scify-cookie-policy-page .close-icon{vertical-align:middle;margin-right:.5rem}#scify-cookies-consent-wrapper .cookies-external-page,#scify-cookie-policy-page .cookies-external-page{width:auto;max-width:100%;min-height:100vh}#scify-cookies-consent-wrapper .cookies-external-page .cookies-policy-wrapper,#scify-cookie-policy-page .cookies-external-page .cookies-policy-wrapper{max-width:100%;min-height:auto;margin:0 auto;padding-bottom:40px;width:100%!important;position:relative!important}#scify-cookies-consent-wrapper .cookies-external-page .cookies-policy-wrapper .accordion .accordion-item .accordion-button,#scify-cookie-policy-page .cookies-external-page .cookies-policy-wrapper .accordion .accordion-item .accordion-button{font-size:var(--scify-cookies-font-size-base)}#scify-cookies-consent-wrapper .cookies-external-page .scify-cookies-consent-banner,#scify-cookie-policy-page .cookies-external-page .scify-cookies-consent-banner{width:100%;max-width:100%;box-shadow:none;border:none;margin:0 auto;padding:2rem 1rem;bottom:auto;left:auto}#scify-cookies-consent-wrapper .cookies-external-page .scify-cookies-consent-banner .accordion-item.cookies-consent-category-item,#scify-cookie-policy-page .cookies-external-page .scify-cookies-consent-banner .accordion-item.cookies-consent-category-item{border:none;border-bottom:1px solid var(--scify-cookies-accordion-border-color)}#scify-cookies-consent-wrapper .cookies-external-page .scify-cookies-consent-banner .btn,#scify-cookie-policy-page .cookies-external-page .scify-cookies-consent-banner .btn{padding:var(--scify-cookies-btn-padding-lg)}#scify-cookies-consent-wrapper .cookie-success-message,#scify-cookie-policy-page .cookie-success-message{bottom:var(--scify-cookies-gutter);right:var(--scify-cookies-gutter);z-index:100000000;padding:var(--scify-cookies-success-message-padding);margin-bottom:var(--scify-cookies-gutter);border:1px solid var(--scify-cookies-success-message-border-color);border-radius:var(--scify-cookies-border-radius);background-color:var(--scify-cookies-success-message-bg-color);color:var(--scify-cookies-success-message-text-color);box-shadow:var(--scify-cookies-success-message-box-shadow);font-size:var(--scify-cookies-font-size-base);transition:opacity .15s linear;position:fixed}#scify-cookies-consent-wrapper .cookie-success-message.show,#scify-cookie-policy-page .cookie-success-message.show{opacity:1;transition:opacity .5s ease-in-out,transform .5s ease-in-out;transform:translateY(0)}#scify-cookies-consent-wrapper .scify-cookies-consent-banner,#scify-cookie-policy-page .scify-cookies-consent-banner{color:var(--scify-cookies-text-color);font-family:var(--scify-cookies-font-family), sans-serif;font-size:var(--scify-cookies-font-size-base);background-color:var(--scify-cookies-bg-color);border:var(--scify-cookies-border-width) solid var(--scify-cookies-border-color);border-radius:var(--scify-cookies-banner-border-radius);z-index:1000000;width:90%;max-width:700px;padding:25px;font-weight:400;line-height:1.6;box-shadow:0 2px 4px #0000001a}#scify-cookies-consent-wrapper .scify-cookies-consent-banner::backdrop,#scify-cookie-policy-page .scify-cookies-consent-banner::backdrop{opacity:.3;background:#000}@media (width>=768px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner,#scify-cookie-policy-page .scify-cookies-consent-banner{width:60%}}@media (width>=1200px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner,#scify-cookie-policy-page .scify-cookies-consent-banner{width:45%}}#scify-cookies-consent-wrapper .scify-cookies-consent-banner.custom-dialog,#scify-cookie-policy-page .scify-cookies-consent-banner.custom-dialog{height:auto;max-height:80vh;left:var(--scify-cookies-banner-left);bottom:var(--scify-cookies-banner-bottom);margin:0;overflow-y:auto}@media (width<=991px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner.custom-dialog,#scify-cookie-policy-page .scify-cookies-consent-banner.custom-dialog{left:unset;margin:0 auto}}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .btn,#scify-cookie-policy-page .scify-cookies-consent-banner .btn{color:var(--scify-cookies-btn-text-color);background-color:var(--scify-cookies-btn-bg-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--scify-cookies-btn-border-width) solid var(--scify-cookies-btn-border-color);padding:var(--scify-cookies-btn-padding);line-height:1.5;font-size:var(--scify-cookies-btn-text-font-size);border-radius:var(--scify-cookies-btn-border-radius);white-space:nowrap;text-transform:none;height:auto;font-weight:500;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:inline-block}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .btn:hover,#scify-cookie-policy-page .scify-cookies-consent-banner .btn:hover{background-color:var(--scify-cookies-primary-hover-color);cursor:pointer;border-color:var(--scify-cookies-btn-hover-border-color);color:var(--scify-cookies-btn-hover-text-color);box-shadow:0 6px 8px #00000026,0 10px 25px #00000026}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .btn:focus,#scify-cookie-policy-page .scify-cookies-consent-banner .btn:focus{box-shadow:0 0 3px var(--scify-cookies-btn-border-color), 0 0 3px var(--scify-cookies-btn-border-color);-webkit-box-shadow:0 0 3px var(--scify-cookies-btn-border-color), 0 0 3px var(--scify-cookies-btn-border-color);outline:0}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .list-group,#scify-cookie-policy-page .scify-cookies-consent-banner .list-group{flex-direction:column;margin-bottom:0;padding-left:0;display:flex}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .list-group .list-group-item,#scify-cookie-policy-page .scify-cookies-consent-banner .list-group .list-group-item{background-color:#fff;border:none;border-bottom:1px solid #00000020;padding:.75rem 1.25rem;display:block;position:relative}@media (width<=575.98px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner .list-group .list-group-item,#scify-cookie-policy-page .scify-cookies-consent-banner .list-group .list-group-item{padding:.25rem .5rem}}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .list-group .list-group-item:last-child,#scify-cookie-policy-page .scify-cookies-consent-banner .list-group .list-group-item:last-child{border-bottom:none}#scify-cookies-consent-wrapper .scify-cookies-consent-banner code,#scify-cookie-policy-page .scify-cookies-consent-banner code{color:var(--scify-cookies-name-text-color);word-wrap:break-word;font-size:87.5%}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions{text-align:center;width:100%;margin-top:10px}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions .row,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions .row{margin:0}#scify-cookies-consent-wrapper .scify-cookies-consent-banner #cookie-consent-title,#scify-cookie-policy-page .scify-cookies-consent-banner #cookie-consent-title{margin:0 0 12px;font-size:21px;font-weight:700;line-height:24px}#scify-cookies-consent-wrapper .scify-cookies-consent-banner,#scify-cookie-policy-page .scify-cookies-consent-banner{display:inline-block;position:fixed;overflow:hidden}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .scify-cookies-container,#scify-cookie-policy-page .scify-cookies-consent-banner .scify-cookies-container{min-height:fit-content}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .scify-cookies-container .always-active,#scify-cookie-policy-page .scify-cookies-consent-banner .scify-cookies-container .always-active{color:var(--scify-cookies-always-active-message-color);margin-left:5px}@media (width<=991px){#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions button#customise-cookies,#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions button#reject-all-cookies,#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions button#accept-selected-cookies,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions button#customise-cookies,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions button#reject-all-cookies,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions button#accept-selected-cookies{border-bottom:0}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .cookie-actions button#accept-all-cookies,#scify-cookie-policy-page .scify-cookies-consent-banner .cookie-actions button#accept-all-cookies{border-top:0}}#scify-cookies-consent-wrapper .scify-cookies-consent-banner .policy-link,#scify-cookie-policy-page .scify-cookies-consent-banner .policy-link{font-size:small;text-decoration:underline}#scify-cookies-consent-wrapper.scify-cookies-consent-wrapper-page .scify-cookies-consent-banner{width:auto;max-width:100%;margin:0 auto;position:relative}#scify-cookie-consent-floating-button{bottom:var(--scify-cookies-floating-btn-bottom);left:var(--scify-cookies-floating-btn-left);z-index:1000000;background-color:var(--scify-cookies-floating-btn-bg-color);color:var(--scify-cookies-floating-btn-text-color);border:var(--scify-cookies-floating-btn-border-width) solid var(--scify-cookies-floating-btn-border-color);border-radius:var(--scify-cookies-floating-btn-border-radius);padding:var(--scify-cookies-floating-btn-padding);height:var(--scify-cookies-floating-btn-height);width:var(--scify-cookies-floating-btn-width);position:fixed}#scify-cookie-consent-floating-button:hover{cursor:pointer;background-color:var(--scify-cookies-floating-btn-hover-bg-color);color:var(--scify-cookies-floating-btn-hover-text-color)}#scify-cookie-consent-floating-button img,#scify-cookie-consent-floating-button svg{width:100%;height:100%}#scify-cookie-consent-floating-button svg{stroke:currentColor}body:has(dialog.scify-cookies-consent-banner[open]){padding-right:0;overflow:hidden}dialog.scify-cookies-consent-banner{max-height:90vh;margin:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);overflow:auto!important} +/*$vite$:1*/ \ No newline at end of file