UNPKG

@beyonk/gdpr-cookie-consent-banner

Version:

GDPR Cookie Consent Banner for Svelte/Kit

226 lines (198 loc) 4.72 kB
cookie-consent-banner::part(toggle), .cookieConsentToggle { width: 40px; height: 40px; position: fixed; will-change: transform; padding: 9px; border: 0; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); background: white; border-radius: 50%; bottom: 20px; right: 20px; transition: 200ms; opacity: 1; z-index: 99980; } cookie-consent-banner::part(toggle):hover, .cookieConsentToggle:hover { color: white; background: black; } cookie-consent-banner::part(wrapper), .cookieConsentWrapper { z-index: 99990; position: fixed; left: 0; right: 0; bottom: 0; background: black; color: white; padding: 20px; transition: 200ms; } cookie-consent-banner::part(consent), .cookieConsent { margin: 0 auto; display: flex; justify-content: space-between; } cookie-consent-banner::part(consent--content), .cookieConsent__Content { margin-right: 40px; } cookie-consent-banner::part(consent--title), .cookieConsent__Title { margin: 0; font-weight: bold; } cookie-consent-banner::part(consent--description), .cookieConsent__Description { margin: 10px 0 0; } cookie-consent-banner::part(consent--description-link), .cookieConsent__Description a { color: white; text-decoration: underline; } cookie-consent-banner::part(consent--description-link):hover, .cookieConsent__Description a:hover { text-decoration: none; } cookie-consent-banner::part(consent--right), .cookieConsent__Right { display: flex; align-items: flex-end; } cookie-consent-banner::part(operations), .cookieConsentOperations { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0, 0, 0, 0.8); display: flex; transition: 300ms; will-change: transform; z-index: 99999; } cookie-consent-banner::part(operations--list), .cookieConsentOperations .cookieConsentOperations__List { transform: scale(1); } cookie-consent-banner::part(operations--list), .cookieConsentOperations__List { background: white; color: black; max-width: 500px; padding: 40px; margin: auto; overflow-y: auto; box-sizing: border-box; max-height: 100vh; transition: 200ms transform; will-change: transform; transform: scale(0.95); } cookie-consent-banner::part(operations--list-item), .cookieConsentOperations__Item { display: block; padding-left: 60px; margin-bottom: 20px; } cookie-consent-banner::part(operations--list-item--disabled), .cookieConsentOperations__Item.disabled { color: #999; } cookie-consent-banner::part(operations--list-item--disabled) cookie-consent-banner::part(operations--list-item-label)::after, .cookieConsentOperations__Item.disabled label::after { opacity: 0.3; } cookie-consent-banner::part(operations--list-item-input), .cookieConsentOperations__Item input { display: none; } cookie-consent-banner::part(operations--list-item-label), .cookieConsentOperations__Item label { align-items: center; font-size: 22px; font-weight: bold; display: block; position: relative; } cookie-consent-banner::part(operations--list-item-label)::before, .cookieConsentOperations__Item label::before { content: ""; display: block; left: -60px; background: #DEDEDE; height: 20px; border-radius: 20px; width: 40px; position: absolute; top: 50%; transform: translateY(-50%); } cookie-consent-banner::part(operations--list-item-label)::after, .cookieConsentOperations__Item label::after { content: ""; display: block; width: 16px; height: 16px; border-radius: 50%; background: black; position: absolute; top: 50%; transform: translateY(-50%); left: -58px; transition: 200ms; } cookie-consent-banner::part(operations--list-item-label--checked)::after, .cookieConsentOperations__Item input:checked+label::after { transform: translate(20px, -50%); } cookie-consent-banner::part(button), .cookieConsent__Button { padding: 15px 40px; display: block; background: white; color: black; white-space: nowrap; border: 0; font-size: 16px; margin-left: 10px; cursor: pointer; transition: 200ms; } cookie-consent-banner::part(button--close), .cookieConsent__Button--Close { background: black; color: white; margin: 40px 0 0 60px; padding: 15px 60px; } cookie-consent-banner::part(button):hover, .cookieConsent__Button:hover { opacity: 0.6; } @media only screen and (max-width: 900px) { cookie-consent-banner::part(consent), .cookieConsent { display: block; } cookie-consent-banner::part(consent--right), .cookieConsent__Right { margin-top: 20px; } cookie-consent-banner::part(button), .cookieConsent__Button { margin: 0 10px 10px 0; } cookie-consent-banner::part(button--close), .cookieConsent__Button--Close { margin: 40px 0 0; } }