/** * Default CSS styles for the banner */ :root { /* Colors */ --fides-overlay-primary-color: #2b2e35; --fides-overlay-background-color: #f7fafc; --fides-overlay-embed-background-color: transparent; --fides-overlay-font-color: #4a5568; --fides-overlay-font-color-dark: #2d3748; --fides-overlay-hover-color: #edf2f7; --fides-overlay-gpc-applied-background-color: #38a169; --fides-overlay-gpc-applied-text-color: white; --fides-overlay-gpc-overridden-background-color: #e53e3e; --fides-overlay-gpc-overridden-text-color: white; --fides-overlay-brand-link-logo-color: #2b2e35; --fides-overlay-background-dark-color: #e2e8f0; --fides-overlay-background-error-color: #f7c2c2; --fides-overlay-skeleton-gradient-from-color: rgba(0, 0, 0, 0.06); --fides-overlay-skeleton-gradient-to-color: rgba(0, 0, 0, 0.15); --fides-overlay-inactive-font-color: #a0aec0; /* Buttons */ --fides-overlay-primary-button-background-color: var( --fides-overlay-primary-color ); --fides-overlay-primary-button-background-hover-color: #4f525b; --fides-overlay-primary-button-text-color: #ffffff; --fides-overlay-primary-button-border-color: transparent; --fides-overlay-secondary-button-background-color: var( --fides-overlay-background-color ); --fides-overlay-secondary-button-background-hover-color: var( --fides-overlay-hover-color ); --fides-overlay-neutral-background-color: #edf2f7; --fides-overlay-secondary-button-text-color: #2d3748; --fides-overlay-secondary-button-border-color: var( --fides-overlay-primary-color ); --fides-overlay-secondary-button-border-color-disabled: #a0aec0; /* Text */ --fides-overlay-title-font-color: var(--fides-overlay-font-color); --fides-overlay-body-font-color: var(--fides-overlay-font-color); --fides-overlay-link-font-color: var(--fides-overlay-font-color-dark); --fides-overlay-line-height: 1.4em; /* Switches */ --fides-overlay-primary-active-color: var(--fides-overlay-primary-color); --fides-overlay-inactive-color: #e2e8f0; --fides-overlay-disabled-color: #e1e7ee; /* Dividers */ --fides-overlay-row-divider-color: #e2e8f0; --fides-overlay-row-hover-color: var(--fides-overlay-hover-color); /* Badge */ --fides-overlay-badge-background-color: #718096; --fides-overlay-badge-border-radius: 4px; /* Select */ --fides-overlay-select-border-color: #e2e8f0; /* Language Button */ --fides-overlay-language-button-border-radius: 4px; /* Everything else */ --fides-overlay-width: 680px; --fides-overlay-font-family: Inter, sans-serif; --fides-base-font-size: 16px; --8px: calc(var(--fides-base-font-size) * 0.5); --12px: calc(var(--fides-base-font-size) * 0.75); --14px: calc(var(--fides-base-font-size) * 0.875); --16px: calc(var(--fides-base-font-size) * 1); --fides-overlay-font-size-body-xs: var(--8px); --fides-overlay-font-size-body-small: var(--12px); --fides-overlay-font-size-body: var(--14px); --fides-overlay-font-size-title: var(--16px); --fides-overlay-font-size-buttons: var(--14px); --fides-overlay-padding: 24px; --fides-overlay-button-border-radius: 6px; --fides-overlay-button-padding: 8px 16px; --fides-overlay-link-v-padding: 4px; --fides-overlay-link-h-padding: 4px; --fides-overlay-link-padding: var(--fides-overlay-link-v-padding) var(--fides-overlay-link-h-padding); --fides-overlay-container-border-radius: 12px; --fides-overlay-container-border-width: 1px; --fides-overlay-component-border-radius: 4px; --fides-overlay-banner-offset: 48px; --fides-banner-font-size-title: var(--16px); --fides-overlay-language-loading-indicator-speed: 5s; --fides-overlay-modal-secondary-button-group-height: calc( var(--fides-overlay-font-size-body) + (var(--fides-overlay-link-v-padding) * 2) ); --fides-overlay-toggle-width: 50px; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* WARNING: the `#fides-overlay` id is unreliable as it can be customized! Do not use here!! However `.fides-overlay` gets applied to that same element and is consistently present. */ div.fides-overlay { z-index: 1000; position: fixed; } div#fides-overlay-wrapper * { /* some websites may have this set globally, but not all. Let's set it globaly on the overlay for consistency and predictability. */ box-sizing: border-box; } .fides-banner, .fides-modal-container { font-family: var(--fides-overlay-font-family); font-size: var(--fides-overlay-font-size-body); white-space: pre-line; line-height: var(--fides-overlay-line-height); -webkit-font-smoothing: antialiased; } #fides-modal-link { cursor: pointer; display: none; } #fides-modal-link.fides-modal-link-shown { display: inline; } div#fides-banner-container:not(.fides-embedded) { position: fixed; z-index: 1; width: 100%; transform: translateY(0%); transition: transform 1s, visibility 1s; display: flex; justify-content: center; visibility: visible; } div#fides-banner { font-size: var(--fides-overlay-font-size-body); background: var(--fides-overlay-background-color); color: var(--fides-overlay-body-font-color); padding: 24px; overflow-y: hidden; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; position: relative; border-top: var(--fides-overlay-container-border-width) solid var(--fides-overlay-primary-color); } .fides-embedded div#fides-banner { border: none; } div#fides-banner-inner { width: 100%; } div#fides-banner-container.fides-banner-bottom { bottom: 0; left: 0; } div#fides-banner-container.fides-banner-hidden { visibility: hidden; } div#fides-banner-container.fides-banner-hidden.fides-embedded { display: none; } div#fides-banner-container.fides-banner-bottom.fides-banner-hidden { transform: translateY(150%); } div#fides-banner-container.fides-banner-top { top: 0; left: 0; } div#fides-banner-container.fides-banner-top.fides-banner-hidden { transform: translateY(-150%); } div#fides-banner-inner div#fides-button-group { padding-top: 0px; padding-bottom: 0px; margin-top: 0px; margin-bottom: 0px; width: 100%; align-items: center; flex-direction: row-reverse; } .fides-modal-footer div#fides-button-group { flex-direction: column; align-items: center; margin-inline: var(--fides-overlay-padding); gap: 12px; } div#fides-banner-heading { display: flex; margin-right: 13px; align-items: center; justify-content: space-between; /* for GPC notice */ } .fides-banner-title { font-size: var(--fides-banner-font-size-title); font-weight: 600; line-height: 1.5em; color: var(--fides-overlay-title-font-color); margin: 0; } .fides-banner-description { margin-top: 16px; margin-bottom: 24px; font-size: var(--fides-overlay-font-size-body); flex: 1; } .fides-banner-description a, .fides-modal-description a, .fides-banner-description .fides-link-button, .fides-modal-description .fides-link-button, .fides-link-button.fides-vendors-disclosure-link, .fides-link-button .fides-back-link { /* Used for HTML rendering when customer adds a link as well as vendor disclosure link */ color: var(--fides-overlay-primary-color); text-decoration: underline; font-weight: 600; } div#fides-banner-notices { margin-top: 16px; } div#fides-button-group { margin-top: 8px; margin-bottom: var(--fides-overlay-padding); display: flex; justify-content: space-between; background-color: var(--fides-overlay-background-color); z-index: 5; } button.fides-banner-button { font-size: var(--fides-overlay-font-size-buttons); display: flex; cursor: pointer; align-items: center; justify-content: center; margin: 0; margin-top: 4px; padding: var(--fides-overlay-button-padding); background: var(--fides-overlay-primary-button-background-color); color: var(--fides-overlay-primary-button-text-color); border: 1px solid; border-radius: var(--fides-overlay-button-border-radius); font-family: var(--fides-overlay-font-family); text-decoration: none; font-weight: 600; } button.fides-banner-button:hover, button.fides-banner-button:focus, button.fides-banner-button[disabled] { background: var(--fides-overlay-primary-button-background-hover-color); } button.fides-banner-button.fides-banner-button-primary { background: var(--fides-overlay-primary-button-background-color); color: var(--fides-overlay-primary-button-text-color); border: none; } button.fides-banner-button.fides-banner-button-primary:hover, button.fides-banner-button.fides-banner-button-primary:focus, button.fides-banner-button.fides-banner-button-primary[disabled] { background: var(--fides-overlay-primary-button-background-hover-color); } button.fides-banner-button.fides-banner-button-secondary { background: var(--fides-overlay-secondary-button-background-color); color: var(--fides-overlay-secondary-button-text-color); border: 1px solid var(--fides-overlay-primary-button-background-color); } button.fides-banner-button.fides-banner-button-secondary:hover, button.fides-banner-button.fides-banner-button-secondary:focus, button.fides-banner-button.fides-banner-button-secondary[disabled] { background: var(--fides-overlay-secondary-button-background-hover-color); } button.fides-banner-button[disabled] { color: var(--fides-overlay-inactive-font-color); } button.fides-banner-button.fides-banner-button-secondary[disabled] { border-color: var(--fides-overlay-secondary-button-border-color-disabled); } button.fides-banner-button.fides-banner-button-tertiary { background: none; border: none; padding: 0; color: var(--fides-overlay-link-font-color); text-decoration: underline; cursor: pointer; font-weight: 500; font-size: var(--fides-overlay-font-size-body); line-height: 1.25em; } button.fides-banner-button.fides-acknowledge-button { min-width: 160px; } .fides-spinner { border: 2px solid transparent; border-top: 2px solid; border-right: 2px solid; border-top-color: var(--fides-overlay-skeleton-gradient-from-color); border-right-color: var(--fides-overlay-skeleton-gradient-from-color); border-radius: 50%; width: 1em; height: 1em; animation: spin 1s linear infinite; } .fides-banner-button-primary .fides-spinner { border-top-color: var(--fides-overlay-primary-button-text-color); border-right-color: var(--fides-overlay-primary-button-text-color); } .fides-banner-button-secondary .fides-spinner { border-top-color: var(--fides-overlay-inactive-font-color); border-right-color: var(--fides-overlay-inactive-font-color); } /** Modal */ div.fides-modal-content { font-family: var(--fides-overlay-font-family); font-size: var(--fides-overlay-font-size-body); color: var(--fides-overlay-body-font-color); padding: var(--fides-overlay-padding); border: var(--fides-overlay-container-border-width) solid var(--fides-overlay-primary-color); background-color: var(--fides-overlay-background-color); border-radius: var(--fides-overlay-container-border-radius); max-height: min(680px, 100vh); width: var(--fides-overlay-width); z-index: 2; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; padding: 0px; overflow-x: hidden; overflow-y: auto; } .fides-modal-container, .fides-modal-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.25); } /*Fides Embed*/ /* Disable "sticky" footer when embedded */ div#fides-embed-container div#fides-consent-content .fides-modal-footer { position: inherit; } div#fides-embed-container .fides-modal-body { padding-top: 16px; } div#fides-embed-container div#fides-consent-content { position: initial; transform: none; border: none; max-height: none; display: flex; font-family: var(--fides-overlay-font-family); font-size: var(--fides-overlay-font-size-body); color: var(--fides-overlay-body-font-color); background-color: var(--fides-overlay-background-color); border-radius: var(--fides-overlay-container-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; width: var(--fides-overlay-width); top: 50%; left: 50%; flex-direction: column; padding: 0px; overflow: hidden; } .fides-modal-container { z-index: 2; display: flex; } .fides-modal-container[aria-hidden="true"] { display: none; } div#fides-modal .fides-modal-header { display: flex; justify-content: end; } div#fides-consent-content { overflow: auto; scrollbar-gutter: stable; } div#fides-consent-content .fides-modal-title { text-align: center; margin: 0; font-weight: 600; font-size: var(--fides-overlay-font-size-title); color: var(--fides-overlay-title-font-color); } div#fides-consent-content .fides-modal-body { overflow-y: auto; padding-inline: var(--fides-overlay-padding); height: 100%; } .fides-modal-footer { position: relative; display: flex; flex-direction: column; z-index: 5; background-color: var(--fides-overlay-background-color); bottom: 0px; width: 100%; max-width: var(--fides-overlay-width); border-bottom-left-radius: var(--fides-overlay-component-border-radius); border-bottom-right-radius: var(--fides-overlay-component-border-radius); } div#fides-consent-content .fides-modal-description { margin: 8px 0 24px 0; } .fides-banner-button-group { display: flex; gap: 12px; align-items: center; } .fides-modal-button-group { display: flex; width: 100%; flex-direction: row; gap: 12px; margin-inline: var(--fides-overlay-padding); } .fides-modal-primary-actions .fides-banner-button { flex: 1; } .fides-banner-secondary-actions { justify-content: space-between; } .fides-modal-secondary-actions { justify-content: center; } .fides-modal-footer .fides-button-group-brand { min-height: var(--fides-overlay-modal-secondary-button-group-height); } .fides-modal-secondary-actions .fides-brand { position: absolute; right: var(--fides-overlay-padding); bottom: var(--fides-overlay-padding); display: flex; align-items: center; justify-content: center; font-size: var(--fides-overlay-font-size-body-xs); } .fides-modal-secondary-actions .fides-brand-link { display: flex; align-items: center; gap: 4px; text-decoration: none; color: var(--fides-overlay-font-color); } .fides-modal-secondary-actions .fides-brand .ethyca-logo { color: var(--fides-overlay-brand-link-logo-color); } .fides-banner-secondary-actions { gap: 36px; } .fides-no-scroll { overflow: hidden; } div#fides-banner .fides-close-button { position: absolute; top: 0; right: 0; padding-top: 8px; padding-right: 8px; cursor: pointer; background: none; border: none; display: flex; } .fides-modal-header .fides-close-button { padding-top: 8px; padding-right: 8px; cursor: pointer; background: none; border: none; } .fides-close-button:hover { background: var(--fides-overlay-hover-color); } .fides-embedded .fides-close-button { display: none !important; } .fides-modal-notices { margin-bottom: 16px; } .fides-privacy-policy { display: block; text-align: center; color: var(--fides-overlay-primary-color); font-family: var(--fides-overlay-font-family); } .fides-privacy-policy, button.fides-banner-button.fides-banner-button-tertiary, button.fides-i18n-button { margin: 0; line-height: 1; padding: var(--fides-overlay-link-padding); } /** Toggle, adapted from https://kittygiraudel.com/2021/04/05/an-accessible-toggle/ */ @media (prefers-reduced-motion: reduce) { .fides-toggle-display { transition-duration: 0ms; } } .fides-toggle { display: inline-flex; align-items: center; flex-wrap: wrap; position: relative; gap: 1ch; } .fides-toggle .fides-toggle-input { position: absolute; opacity: 0; width: 100%; height: 100%; z-index: 4; cursor: pointer; } .fides-toggle .fides-toggle-display { --offset: 4px; --diameter: 16px; /** Because we have a "hidden" attr on this toggle element, some CSS libs customers use may include a global display: none on the hidden attr. To prevent our toggles from being hidden we use !important here **/ display: inline-flex !important; align-items: center; justify-content: space-around; position: relative; border-radius: 100vw; background-color: var(--fides-overlay-inactive-color); color: var(--fides-overlay-inactive-font-color); transition: 250ms; /* total width 50 (34 + 2x8) */ padding-inline: 8px; width: calc(var(--fides-overlay-toggle-width) - var(--16px)); height: 24px; justify-content: end; box-sizing: content-box; } div#fides-overlay-wrapper .fides-toggle .fides-toggle-display { box-sizing: content-box; } .fides-toggle .fides-toggle-display::before { content: ""; width: var(--diameter); height: var(--diameter); border-radius: 50%; box-sizing: border-box; position: absolute; z-index: 3; top: 50%; left: var(--offset); transform: translate(0, -50%); background-color: #fff; transition: inherit; box-shadow: 0 1.3px 2.7px rgba(0, 0, 0, 0.25); } /* Checked/unchecked states */ .fides-toggle .fides-toggle-input:checked + .fides-toggle-display { background-color: var(--fides-overlay-primary-active-color); color: var(--fides-overlay-primary-button-text-color); justify-content: start; } .fides-toggle .fides-toggle-input:checked + .fides-toggle-display::before { transform: translate(26px, -50%); } /* Disabled state */ .fides-toggle .fides-toggle-input:disabled { cursor: not-allowed; } .fides-toggle .fides-toggle-input:disabled + .fides-toggle-display { background-color: var(--fides-overlay-disabled-color); } .fides-toggle .fides-toggle-input:disabled:checked + .fides-toggle-display { background-color: var(--fides-overlay-disabled-color); } /* Focus ring when using keyboard */ .fides-toggle .fides-toggle-input:focus + .fides-toggle-display { /* Firefox only has Highlight, not -webkit-focus-ring-color */ outline: 1px auto Highlight; outline: 1px auto -webkit-focus-ring-color; } .fides-toggle .fides-toggle-input:focus:not(:focus-visible) + .fides-toggle-display { outline: 0; } /* Divider */ .fides-divider { border-width: 0px 0px 1px; border-color: var(--fides-overlay-row-divider-color); margin: 0; } /* Disclosure */ .fides-disclosure-hidden { display: flex; visibility: hidden; overflow: hidden; height: 0px; margin-top: 0px; margin-bottom: 0px; } .fides-notice-toggle .fides-notice-toggle-title { padding-inline: 12px 12px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--fides-overlay-row-divider-color); } .fides-notice-toggle .fides-notice-toggle-trigger { flex-grow: 1; display: flex; justify-content: flex-end; min-height: 40px; align-items: center; } .fides-notice-toggle .fides-notice-toggle-trigger svg { flex-shrink: 0; } .fides-notice-toggle .fides-notice-toggle-title:hover { cursor: pointer; background-color: var(--fides-overlay-row-hover-color); } .fides-notice-toggle .fides-notice-toggle-trigger:before { display: inline-block; min-width: 8px; height: 8px; margin-right: calc(var(--8px) + 2px); /* half font size + border width */ content: ""; transition: transform 0.12s ease-in-out; transform: translateY(-2px) rotate(135deg); border-style: solid; border-width: 2px 2px 0 0; } .fides-notice-toggle.fides-notice-toggle-expanded .fides-notice-toggle-trigger:before { transform: translateY(2px) rotate(-45deg); } .fides-notice-toggle .fides-disclosure-visible { display: flex; flex-direction: column; padding: 12px; gap: 12px; overflow: auto; /* prevent margin collapse */ } .fides-notice-toggle p { margin: 0; margin-bottom: 18px; } .fides-notice-toggle p:last-child { margin: 0; } .fides-notice-toggle-title .fides-flex-center { align-items: center; display: flex; width: 100%; white-space: wrap; } .fides-notice-toggle-expanded { background-color: var(--fides-overlay-row-hover-color); } .fides-notice-toggle-header { font-weight: 600; } .fides-notice-toggle-controls { white-space: nowrap; margin-left: 8px; display: flex; align-items: center; gap: 8px; } /* GPC */ .fides-gpc-banner { border: 1px solid var(--fides-overlay-primary-color); border-radius: var(--fides-overlay-component-border-radius); display: flex; padding: 18px; margin-bottom: 16px; } .fides-gpc-banner p { margin: 0; } .fides-gpc-warning { color: var(--fides-overlay-primary-color); margin-right: 8px; } .fides-gpc-header { font-weight: 700; } .fides-gpc-label { font-weight: 600; font-size: var(--fides-overlay-font-size-body); white-space: nowrap; padding: 0 8px; display: inline-flex; align-items: center; } .fides-gpc-badge { text-transform: uppercase; padding: 0 4px; font-weight: 700; border-radius: var(--fides-overlay-badge-border-radius); display: inline-flex; margin-left: 4px; } .fides-gpc-badge-applied, .fides-gpc-badge-detected { background: var(--fides-overlay-gpc-applied-background-color); color: var(--fides-overlay-gpc-applied-text-color); } .fides-gpc-badge-overridden { background: var(--fides-overlay-gpc-overridden-background-color); color: var(--fides-overlay-gpc-overridden-text-color); } /* Tabs */ .fides-tab-list { padding: 0; display: flex; list-style-type: none; } .fides-tab-list > li { width: 100%; } .fides-tab-button { background: none; border-width: 0 0 1px 0; border-bottom: 1px solid var(--fides-overlay-row-divider-color); color: var(--fides-overlay-body-font-color); font-weight: 500; padding: 10px 20px; cursor: pointer; width: 100%; } .fides-tab-button[aria-selected="true"] { color: var(--fides-overlay-primary-active-color); border-bottom-width: 2px; border-color: var(--fides-overlay-primary-active-color); font-weight: 600; } .fides-tab-button::focus-visible { outline: 1px auto Highlight; outline: 1px auto -webkit-focus-ring-color; } .fides-tab-button:focus:not(:focus-visible) { outline: 0; } /* GVL Badge */ .fides-notice-badge { display: inline-flex; align-items: center; height: 18px; text-transform: uppercase; padding: 0 4px; font-weight: 600; border-radius: var(--fides-overlay-badge-border-radius); background: var(--fides-overlay-badge-background-color); color: white; font-size: var(--fides-overlay-font-size-body-small); } .fides-background-dark { background-color: var(--fides-overlay-background-dark-color); } /* Radio button group */ .fides-radio-button-group { background-color: var( --fides-overlay-secondary-button-background-hover-color ); display: flex; border: 1px solid var(--fides-overlay-row-divider-color); padding: 4px; margin-bottom: 22px; } .fides-radio-button { background-color: transparent; border: none; padding: 5px 16px; cursor: pointer; flex: 1; } .fides-radio-button[aria-checked="true"] { background-color: var(--fides-overlay-primary-button-background-color); color: var(--fides-overlay-primary-button-text-color); } /* General classes */ .fides-flex-center { display: flex; align-items: center; } .fides-margin-right { margin-right: 3px; } .fides-justify-space-between { justify-content: space-between; } /* Vendor purpose table */ .fides-vendor-details-table { width: 100%; } .fides-vendor-details-table th, .fides-vendor-details-table td { text-align: left; font-size: var(--fides-overlay-font-size-body-small); } .fides-vendor-details-table td { border-bottom: 1px solid var(--fides-overlay-row-divider-color); } /* Link button */ .fides-link-button { border: none; background: none; padding: 0; cursor: pointer; } /* Back link icon using the same border/rotate technique as notice drawer caret */ .fides-back-link::before { display: inline-block; width: 0.6em; height: 0.6em; margin-right: 3px; content: ""; transition: transform 0.12s ease-in-out; /* Rotate to point the caret to the left */ transform: translateY(-1px) rotate(225deg); border-style: solid; border-width: 1.5px 1.5px 0 0; border-color: var(--fides-overlay-primary-color); } .fides-primary-text-color { color: var(--fides-overlay-primary-color); } /* Link */ .fides-external-link { color: var(--fides-overlay-primary-color); font-weight: 500; font-size: var(--fides-overlay-font-size-body-small); margin-right: 16px; } /* Info box */ .fides-info-box { background-color: var(--fides-overlay-neutral-background-color); border-radius: var(--fides-overlay-component-border-radius); padding: 16px; margin: 10px 0; } .fides-info-box p { margin: 0; } .fides-tabs .tabpanel-container { overflow: hidden; } .tabpanel-container section[hidden] { display: none; } /* Paging */ .fides-paging-buttons { display: flex; justify-content: center; gap: 8px; } .fides-paging-info { color: var(--fides-overlay-font-color-dark); font-size: var(--fides-overlay-font-size-body-small); font-weight: 600; padding: 8px; } .fides-paging-previous-button { margin-right: 8px; } .fides-paging-previous-button, .fides-paging-next-button { cursor: pointer; padding: 6px; border: none; background-color: transparent; } .fides-paging-previous-button:disabled, .fides-paging-next-button:disabled { cursor: default; } /* Language Selection Menu */ .fides-i18n-menu { position: relative; } .fides-modal-footer .fides-i18n-menu { position: absolute; left: var(--fides-overlay-padding); bottom: var(--fides-overlay-padding); } .fides-modal-footer .fides-button-group-i18n { min-height: var(--fides-overlay-modal-secondary-button-group-height); } button.fides-i18n-button { cursor: pointer; height: var(--fides-overlay-font-size-body); text-transform: uppercase; display: flex; flex-direction: row; align-items: center; gap: 2px; white-space: nowrap; border: none; background-color: transparent; font-size: var(--fides-overlay-font-size-body); color: var(--fides-overlay-body-font-color); font-family: var(--fides-overlay-font-family); } #fides-i18n-icon { animation-duration: var(--fides-overlay-language-loading-indicator-speed); animation-iteration-count: infinite; animation-timing-function: linear; transform-origin: 50% 50%; } div#fides-overlay-wrapper .fides-i18n-button { box-sizing: content-box; } .fides-i18n-popover { position: absolute; left: 0; bottom: 100%; display: flex; flex-direction: column; gap: 1px; background-color: var(--fides-overlay-background-dark-color); border-radius: var(--fides-overlay-component-border-radius); overflow: hidden; max-height: 0; transition: max-height 0.2s ease-in-out; min-width: calc(var(--fides-base-font-size) * 9); } .fides-i18n-menu-open .fides-i18n-popover { max-height: calc(var(--fides-base-font-size) * 7); border: 1px solid var(--fides-overlay-primary-color); overflow: scroll; } .fides-i18n-button:hover { background-color: var(--fides-overlay-hover-color); border-radius: var(--fides-overlay-language-button-border-radius); } .fides-i18n-menu-open .fides-i18n-caret { transform: rotate(180deg); } button.fides-banner-button.fides-menu-item { background: var(--fides-overlay-secondary-button-background-color); color: var(--fides-overlay-secondary-button-text-color); border: none; border-radius: 0; width: 100%; text-align: left; margin: 0; padding-left: calc(var(--fides-base-font-size) * 1.5); } button.fides-banner-button.fides-menu-item[aria-checked="true"] { background: var(--fides-overlay-primary-button-background-color); color: var(--fides-overlay-primary-button-text-color); } button.fides-banner-button.fides-menu-item[aria-checked="true"]::before { content: "\2713"; display: inline-block; margin-right: calc(var(--fides-base-font-size) * 0.25); margin-left: calc(var(--fides-base-font-size) * -1); } button.fides-banner-button.fides-menu-item:not([aria-checked="true"]):hover { background: var(--fides-overlay-secondary-button-background-hover-color); } /* Screen reader only */ .fides-sr-only { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; } @media (min-width: 1280px) { div#fides-banner { width: 60%; } } /* Responsive banner */ @media (min-width: 768px) { div#fides-banner { width: 75%; border-radius: var(--fides-overlay-component-border-radius); border: var(--fides-overlay-container-border-width) solid var(--fides-overlay-primary-color); } div#fides-banner-container.fides-banner-bottom { bottom: var(--fides-overlay-banner-offset); } } /* Notice toggles on small screens */ .fides-notice-toggle-title .fides-badge-container { display: flex; align-items: center; justify-content: center; order: 1; min-width: fit-content; } .fides-notice-toggle-title .fides-notice-toggle-controls { order: 2; } @media (max-width: 480px) { .fides-notice-toggle-title .fides-badge-container span { margin-top: 4px; margin-bottom: 4px; } .fides-notice-toggle .fides-notice-toggle-title .fides-notice-toggle-trigger { /* leave space for the toggle and an 8px margin */ max-width: calc(100% - var(--fides-overlay-toggle-width) - var(--8px)); } .fides-notice-toggle-title .fides-badge-container { position: static; width: 100%; display: flex; justify-content: center; order: 2; } .fides-notice-toggle .fides-notice-toggle-title { flex-wrap: wrap; } div#fides-banner-heading { flex-direction: column; align-items: start; justify-content: start; gap: 8px; margin-bottom: 8px; } } /* Responsive overlay */ @media (max-width: 768px) { div.fides-modal-content, div#fides-consent-content { width: 100% !important; } .fides-modal-button-group { flex-direction: column; } button.fides-banner-button { margin: 0; margin-right: 8px; margin-bottom: 12px; } div#fides-banner { padding: 24px; width: 100%; } div#fides-banner-description { margin-bottom: 0px; } div#fides-banner-inner div#fides-button-group { flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 24px; } .fides-banner-button-group { flex-direction: column; width: 100%; } button.fides-banner-button { margin: 0px; width: 100%; } div#fides-banner-inner-container { max-height: 50vh; overflow-y: auto; scrollbar-gutter: stable; } div.fides-privacy-policy-link { width: 100%; } .fides-modal-footer { max-width: 100%; } .fides-banner-secondary-actions { gap: 12px; } /* ordering needs to be specific for mobile to work well and varies from the desktop ordering beyond simple `column-reverse` */ .fides-banner-secondary-actions .fides-manage-preferences-button { order: 0; } .fides-banner-secondary-actions .fides-privacy-policy { order: 1; } .fides-banner-secondary-actions .fides-i18n-menu { order: 2; } .fides-banner-button-group.fides-button-group-i18n { min-height: 68px; } .fides-i18n-menu { position: absolute; left: var(--fides-overlay-padding); bottom: var(--fides-overlay-padding); } } .fides-data-toggle-skeleton__container { min-height: 40px; width: 100%; display: flex; align-items: center; justify-content: space-between; padding-inline: 12px; border-bottom: 1px solid var(--fides-overlay-row-divider-color); } .fides-notice-toggle .fides-skeleton__container:hover { cursor: default; background-color: unset; } .fides-skeleton__component { background: linear-gradient( 90deg, var(--fides-overlay-skeleton-gradient-from-color) 25%, var(--fides-overlay-skeleton-gradient-to-color) 37%, var(--fides-overlay-skeleton-gradient-from-color) 63% ); background-size: 400% 100%; animation-name: fides-skeleton-loading; animation-duration: 1.4s; animation-timing-function: ease; animation-iteration-count: infinite; } .fides-skeleton__text { width: 60%; height: var(--fides-overlay-line-height); border-radius: var(--fides-overlay-component-border-radius); } .fides-skeleton__switch { width: 50px; height: 24px; border-radius: 100vw; } @keyframes fides-skeleton-loading { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }