Browse Source
Theme is finished and live on cove.klnpa.org; remove dev tooling and assets that are no longer used. Build tooling (no build step is used — CSS/JS edited as vanilla files, only bs.js live-reload is used): - Remove scripts/ (postcss + babel build scripts) - Remove all css/**/pcss/ source dirs (PostCSS sources, unused) - Slim package.json to just browser-sync deps + `serve`; regenerate yarn.lock - Remove .nvmrc (Node 12 pin) and composer.json Assets / config: - Remove config/mirador_config/ (not Drupal config; Mirador bundle lives in the site's libraries/ dir, built from roblib/mirador-integration-islandora) - Remove logo.svg (site uses a custom-uploaded logo; use_default is false) - Remove leftover fonts/, images/, favicon.ico.old Theme metadata: - Update oliveskln.info.yml description to reflect the fork - oliveskln.theme reformatted by php-cs-fixer; add .php-cs-fixer.dist.php - Ignore CLAUDE.md Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>master
127 changed files with 632 additions and 15794 deletions
@ -0,0 +1,28 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
declare(strict_types=1); |
||||||
|
|
||||||
|
use PhpCsFixer\Config; |
||||||
|
use PhpCsFixer\Finder; |
||||||
|
|
||||||
|
return (new Config()) |
||||||
|
->setRiskyAllowed(false) |
||||||
|
->setRules([ |
||||||
|
'@auto' => true |
||||||
|
]) |
||||||
|
// 💡 by default, Fixer looks for `*.php` files excluding `./vendor/` - here, you can groom this config |
||||||
|
->setFinder( |
||||||
|
(new Finder()) |
||||||
|
// 💡 root folder to check |
||||||
|
->in(__DIR__) |
||||||
|
// 💡 additional files, eg bin entry file |
||||||
|
// ->append([__DIR__.'/bin-entry-file']) |
||||||
|
// 💡 folders to exclude, if any |
||||||
|
// ->exclude([/* ... */]) |
||||||
|
// 💡 path patterns to exclude, if any |
||||||
|
// ->notPath([/* ... */]) |
||||||
|
// 💡 extra configs |
||||||
|
// ->ignoreDotFiles(false) // true by default in v3, false in v4 or future mode |
||||||
|
// ->ignoreVCS(true) // true by default |
||||||
|
) |
||||||
|
; |
||||||
@ -1,12 +0,0 @@ |
|||||||
{ |
|
||||||
"name": "rdrew/oliveskln", |
|
||||||
"description": "drupal theme for SDU", |
|
||||||
"type": "drupal-custom-theme", |
|
||||||
"authors": [ |
|
||||||
{ |
|
||||||
"name": "rdrew", |
|
||||||
"email": "rdrew@upei.ca" |
|
||||||
} |
|
||||||
], |
|
||||||
"require": {} |
|
||||||
} |
|
||||||
File diff suppressed because one or more lines are too long
@ -1,10 +0,0 @@ |
|||||||
main.js is the recompiled mirador library. It goes in web/libraries/mirador/dist/main.js |
|
||||||
|
|
||||||
To replicate this or modify the viewr library: |
|
||||||
- clone https://github.com/roblib/mirador-integration-islandora/tree/main |
|
||||||
- run 'npm install' |
|
||||||
- 'settings.js' goes in 'mirador-integration-islandora/node_modules/mirador/dist/es/src/config' |
|
||||||
- run 'npm run webpack' |
|
||||||
- The output folder webpack/dist should now contain a file main.js which you can place in your drupal installation under [webroot]/libraries/mirador/dist. |
|
||||||
- You can then go to /admin/config/media/mirador and set it to use the local version after clearing your site's cache. |
|
||||||
- |
|
||||||
@ -1,475 +0,0 @@ |
|||||||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } |
|
||||||
|
|
||||||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } |
|
||||||
|
|
||||||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } |
|
||||||
|
|
||||||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } |
|
||||||
|
|
||||||
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } |
|
||||||
|
|
||||||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } |
|
||||||
|
|
||||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } |
|
||||||
|
|
||||||
import { v4 as uuid } from 'uuid'; |
|
||||||
export default { |
|
||||||
state: {// slice: 'mirador' // Configure the top-level slice of state for mirador selectors
|
|
||||||
}, |
|
||||||
canvasNavigation: { |
|
||||||
// Set the height and width of canvas thumbnails in the CanvasNavigation companion window
|
|
||||||
height: 50, |
|
||||||
width: 50 |
|
||||||
}, |
|
||||||
selectedTheme: 'light', |
|
||||||
// dark also available
|
|
||||||
themes: { |
|
||||||
dark: { |
|
||||||
palette: { |
|
||||||
type: 'dark', |
|
||||||
primary: { |
|
||||||
main: '#4db6ac' |
|
||||||
}, |
|
||||||
secondary: { |
|
||||||
main: '#4db6ac' |
|
||||||
}, |
|
||||||
shades: { |
|
||||||
dark: '#000000', |
|
||||||
main: '#424242', |
|
||||||
light: '#616161' |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
light: { |
|
||||||
palette: { |
|
||||||
type: 'light' |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
theme: { |
|
||||||
// Sets up a MaterialUI theme. See https://material-ui.com/customization/default-theme/
|
|
||||||
palette: { |
|
||||||
type: 'light', |
|
||||||
primary: { |
|
||||||
main: '#1967d2' // Controls the color of the Add button and current window indicator
|
|
||||||
|
|
||||||
}, |
|
||||||
secondary: { |
|
||||||
main: '#1967d2' // Controls the color of Selects and FormControls
|
|
||||||
|
|
||||||
}, |
|
||||||
shades: { |
|
||||||
// Shades that can be used to offset color areas of the Workspace / Window
|
|
||||||
dark: '#eeeeee', |
|
||||||
main: '#ffffff', |
|
||||||
light: '#f5f5f5' |
|
||||||
}, |
|
||||||
error: { |
|
||||||
main: '#b00020' |
|
||||||
}, |
|
||||||
notification: { |
|
||||||
// Color used in MUI Badge dots
|
|
||||||
main: '#ffa224' |
|
||||||
}, |
|
||||||
hitCounter: { |
|
||||||
"default": '#bdbdbd' |
|
||||||
}, |
|
||||||
highlights: { |
|
||||||
primary: '#ffff00', |
|
||||||
secondary: '#00BFFF' |
|
||||||
}, |
|
||||||
section_divider: 'rgba(0, 0, 0, 0.25)', |
|
||||||
annotations: { |
|
||||||
hidden: { |
|
||||||
globalAlpha: 0 |
|
||||||
}, |
|
||||||
"default": { |
|
||||||
strokeStyle: '#00BFFF', |
|
||||||
globalAlpha: 1 |
|
||||||
}, |
|
||||||
hovered: { |
|
||||||
strokeStyle: '#BF00FF', |
|
||||||
globalAlpha: 1 |
|
||||||
}, |
|
||||||
selected: { |
|
||||||
strokeStyle: '#ffff00', |
|
||||||
globalAlpha: 1 |
|
||||||
} |
|
||||||
}, |
|
||||||
search: { |
|
||||||
"default": { |
|
||||||
fillStyle: '#00BFFF', |
|
||||||
globalAlpha: 0.3 |
|
||||||
}, |
|
||||||
hovered: { |
|
||||||
fillStyle: '#00FFFF', |
|
||||||
globalAlpha: 0.3 |
|
||||||
}, |
|
||||||
selected: { |
|
||||||
fillStyle: '#ffff00', |
|
||||||
globalAlpha: 0.3 |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
typography: { |
|
||||||
body1: { |
|
||||||
fontSize: "1rem", |
|
||||||
letterSpacing: "0em", |
|
||||||
lineHeight: "1.6em" |
|
||||||
}, |
|
||||||
body2: { |
|
||||||
fontSize: "0.878rem", |
|
||||||
letterSpacing: "0.015em", |
|
||||||
lineHeight: "1.6em" |
|
||||||
}, |
|
||||||
button: { |
|
||||||
fontSize: "0.878rem", |
|
||||||
letterSpacing: "0.09em", |
|
||||||
lineHeight: "2.25rem", |
|
||||||
textTransform: "uppercase" |
|
||||||
}, |
|
||||||
caption: { |
|
||||||
fontSize: "0.772rem", |
|
||||||
letterSpacing: "0.033em", |
|
||||||
lineHeight: "1.6rem" |
|
||||||
}, |
|
||||||
body1Next: { |
|
||||||
fontSize: "1rem", |
|
||||||
letterSpacing: "0em", |
|
||||||
lineHeight: "1.6em" |
|
||||||
}, |
|
||||||
body2Next: { |
|
||||||
fontSize: "0.878rem", |
|
||||||
letterSpacing: "0.015em", |
|
||||||
lineHeight: "1.6em" |
|
||||||
}, |
|
||||||
buttonNext: { |
|
||||||
fontSize: "0.878rem", |
|
||||||
letterSpacing: "0.09em", |
|
||||||
lineHeight: "2.25rem" |
|
||||||
}, |
|
||||||
captionNext: { |
|
||||||
fontSize: "0.772rem", |
|
||||||
letterSpacing: "0.33em", |
|
||||||
lineHeight: "1.6rem" |
|
||||||
}, |
|
||||||
overline: { |
|
||||||
fontSize: "0.678rem", |
|
||||||
fontWeight: 500, |
|
||||||
letterSpacing: "0.166em", |
|
||||||
lineHeight: "2em", |
|
||||||
textTransform: "uppercase" |
|
||||||
}, |
|
||||||
h1: { |
|
||||||
fontSize: "2.822rem", |
|
||||||
letterSpacing: "-0.015em", |
|
||||||
lineHeight: "1.2em" |
|
||||||
}, |
|
||||||
h2: { |
|
||||||
fontSize: "1.575rem", |
|
||||||
letterSpacing: "0em", |
|
||||||
lineHeight: "1.33em" |
|
||||||
}, |
|
||||||
h3: { |
|
||||||
fontSize: "1.383rem", |
|
||||||
fontWeight: 300, |
|
||||||
letterSpacing: "0em", |
|
||||||
lineHeight: "1.33em" |
|
||||||
}, |
|
||||||
h4: { |
|
||||||
fontSize: "1.215rem", |
|
||||||
letterSpacing: "0.007em", |
|
||||||
lineHeight: "1.45em" |
|
||||||
}, |
|
||||||
h5: { |
|
||||||
fontSize: "1.138rem", |
|
||||||
letterSpacing: "0.005em", |
|
||||||
lineHeight: "1.55em" |
|
||||||
}, |
|
||||||
h6: { |
|
||||||
fontSize: "1.067rem", |
|
||||||
fontWeight: 400, |
|
||||||
letterSpacing: "0.01em", |
|
||||||
lineHeight: "1.6em" |
|
||||||
}, |
|
||||||
subtitle1: { |
|
||||||
fontSize: "0.937rem", |
|
||||||
letterSpacing: "0.015em", |
|
||||||
lineHeight: "1.6em", |
|
||||||
fontWeight: 300 |
|
||||||
}, |
|
||||||
subtitle2: { |
|
||||||
fontSize: "0.878rem", |
|
||||||
fontWeight: 500, |
|
||||||
letterSpacing: "0.02em", |
|
||||||
lineHeight: "1.75em" |
|
||||||
}, |
|
||||||
useNextVariants: true // set so that console deprecation warning is removed
|
|
||||||
|
|
||||||
}, |
|
||||||
overrides: { |
|
||||||
MuiListSubheader: { |
|
||||||
root: { |
|
||||||
'&[role="presentation"]:focus': { |
|
||||||
outline: 0 |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
MuiTooltip: { |
|
||||||
// Overridden from https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Tooltip/Tooltip.js#L40-L70
|
|
||||||
tooltipPlacementLeft: _defineProperty({}, '@media (min-width:600px)', { |
|
||||||
margin: 0 |
|
||||||
}), |
|
||||||
tooltipPlacementRight: _defineProperty({}, '@media (min-width:600px)', { |
|
||||||
margin: 0 |
|
||||||
}), |
|
||||||
tooltipPlacementTop: _defineProperty({}, '@media (min-width:600px)', { |
|
||||||
margin: 0 |
|
||||||
}), |
|
||||||
tooltipPlacementBottom: _defineProperty({}, '@media (min-width:600px)', { |
|
||||||
margin: 0 |
|
||||||
}) |
|
||||||
}, |
|
||||||
MuiTouchRipple: { |
|
||||||
childPulsate: { |
|
||||||
animation: 'none' |
|
||||||
}, |
|
||||||
rippleVisible: { |
|
||||||
animation: 'none' |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
props: { |
|
||||||
MuiButtonBase: { |
|
||||||
disableTouchRipple: true |
|
||||||
}, |
|
||||||
MuiLink: { |
|
||||||
underline: 'always' |
|
||||||
} |
|
||||||
} |
|
||||||
}, |
|
||||||
language: 'en', |
|
||||||
// The default language set in the application
|
|
||||||
availableLanguages: { |
|
||||||
// All the languages available in the language switcher
|
|
||||||
ar: 'العربية', |
|
||||||
de: 'Deutsch', |
|
||||||
en: 'English', |
|
||||||
fr: 'Français', |
|
||||||
ja: '日本語', |
|
||||||
kr: '한국어', |
|
||||||
lt: 'Lietuvių', |
|
||||||
nl: 'Nederlands', |
|
||||||
'nb-NO': 'Norwegian Bokmål', |
|
||||||
pl: 'Polski', |
|
||||||
'pt-BR': 'Português do Brasil', |
|
||||||
vi: 'Tiếng Việt', |
|
||||||
'zh-CN': '中文(简体)', |
|
||||||
'zh-TW': '中文(繁體)', |
|
||||||
it: "Italiano", |
|
||||||
sr: 'Српски', |
|
||||||
sv: 'Svenska' |
|
||||||
}, |
|
||||||
annotations: { |
|
||||||
htmlSanitizationRuleSet: 'iiif', |
|
||||||
// See src/lib/htmlRules.js for acceptable values
|
|
||||||
filteredMotivations: ['oa:commenting', 'oa:tagging', 'sc:painting', 'commenting', 'tagging'] |
|
||||||
}, |
|
||||||
createGenerateClassNameOptions: { |
|
||||||
// Options passed directly to createGenerateClassName in Material-UI https://material-ui.com/styles/api/#creategenerateclassname-options-class-name-generator
|
|
||||||
productionPrefix: 'mirador' |
|
||||||
}, |
|
||||||
requests: { |
|
||||||
preprocessors: [// Functions that receive HTTP requests and manipulate them (e.g. to add headers)
|
|
||||||
// (url, options) => (url.match('info.json') && { ...options, myCustomThing: 'blah' })
|
|
||||||
], |
|
||||||
postprocessors: [// Functions that receive HTTP responses and manipulates them before adding to store
|
|
||||||
// An example of manipulating the response for an annotation request
|
|
||||||
// (url, action) => {
|
|
||||||
// if (action.annotationId) {
|
|
||||||
// action.annotationJson = {};
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
] |
|
||||||
}, |
|
||||||
translations: {// Translations can be added to inject new languages or override existing labels
|
|
||||||
}, |
|
||||||
window: { |
|
||||||
//global window defaults
|
|
||||||
allowClose: false, |
|
||||||
// Configure if windows can be closed or not
|
|
||||||
allowFullscreen: false, |
|
||||||
// Configure to show a "fullscreen" button in the WindowTopBar
|
|
||||||
allowMaximize: false, |
|
||||||
// Configure if windows can be maximized or not
|
|
||||||
allowTopMenuButton: false, |
|
||||||
// Configure if window view and thumbnail display menu are visible or not
|
|
||||||
allowWindowSideBar: true, |
|
||||||
// Configure if side bar menu is visible or not
|
|
||||||
authNewWindowCenter: 'parent', |
|
||||||
// Configure how to center a new window created by the authentication flow. Options: parent, screen
|
|
||||||
sideBarPanel: 'search', |
|
||||||
// Configure which sidebar is selected by default. Options: info, attribution, canvas, annotations, search
|
|
||||||
defaultSidebarPanelHeight: 201, |
|
||||||
// Configure default sidebar height in pixels
|
|
||||||
defaultSidebarPanelWidth: 235, |
|
||||||
// Configure default sidebar width in pixels
|
|
||||||
defaultView: 'single', |
|
||||||
// Configure which viewing mode (e.g. single, book, gallery) for windows to be opened in
|
|
||||||
forceDrawAnnotations: false, |
|
||||||
hideWindowTitle: true, |
|
||||||
// Configure if the window title is shown in the window title bar or not
|
|
||||||
highlightAllAnnotations: false, |
|
||||||
// Configure whether to display annotations on the canvas by default
|
|
||||||
showLocalePicker: false, |
|
||||||
// Configure locale picker for multi-lingual metadata
|
|
||||||
sideBarOpen: true, |
|
||||||
// Configure if the sidebar (and its content panel) is open by default
|
|
||||||
switchCanvasOnSearch: true, |
|
||||||
// Configure if Mirador should automatically switch to the canvas of the first search result
|
|
||||||
panels: { |
|
||||||
// Configure which panels are visible in WindowSideBarButtons
|
|
||||||
info: false, |
|
||||||
attribution: false, |
|
||||||
canvas: false, |
|
||||||
annotations: false, |
|
||||||
search: true, |
|
||||||
layers: false |
|
||||||
}, |
|
||||||
views: [{ |
|
||||||
key: 'single', |
|
||||||
behaviors: ['individuals'] |
|
||||||
}, { |
|
||||||
key: 'book', |
|
||||||
behaviors: ['paged'] |
|
||||||
}, { |
|
||||||
key: 'scroll', |
|
||||||
behaviors: ['continuous'] |
|
||||||
}, { |
|
||||||
key: 'gallery' |
|
||||||
}], |
|
||||||
elastic: { |
|
||||||
height: 400, |
|
||||||
width: 480 |
|
||||||
} |
|
||||||
}, |
|
||||||
windows: [// Array of windows to be open when mirador initializes (each object should at least provide a manifestId key with the value of the IIIF presentation manifest to load)
|
|
||||||
|
|
||||||
/** |
|
||||||
Example Window: |
|
||||||
{ |
|
||||||
manifestId: 'https://iiif.harvardartmuseums.org/manifests/object/299843', |
|
||||||
canvasId: 'https://iiif.harvardartmuseums.org/manifests/object/299843/page_2', |
|
||||||
thumbnailNavigationPosition: 'far-bottom', |
|
||||||
} |
|
||||||
// ../state/actions/window.js `defaultOptions`
|
|
||||||
// ../lib/MiradorViewer.js `windowAction`
|
|
||||||
*/ |
|
||||||
], |
|
||||||
thumbnails: { |
|
||||||
preferredFormats: ['jpg', 'png', 'webp', 'tif'] |
|
||||||
}, |
|
||||||
thumbnailNavigation: { |
|
||||||
defaultPosition: 'off', |
|
||||||
// Which position for the thumbnail navigation to be be displayed. Other possible values are "far-bottom" or "far-right"
|
|
||||||
displaySettings: true, |
|
||||||
// Display the settings for this in WindowTopMenu
|
|
||||||
height: 130, |
|
||||||
// height of entire ThumbnailNavigation area when position is "far-bottom"
|
|
||||||
width: 100 // width of one canvas (doubled for book view) in ThumbnailNavigation area when position is "far-right"
|
|
||||||
|
|
||||||
}, |
|
||||||
workspace: { |
|
||||||
draggingEnabled: true, |
|
||||||
allowNewWindows: true, |
|
||||||
id: uuid(), |
|
||||||
isWorkspaceAddVisible: false, |
|
||||||
// Catalog/Workspace add window feature visible by default
|
|
||||||
exposeModeOn: false, |
|
||||||
// unused?
|
|
||||||
height: 5000, |
|
||||||
// height of the elastic mode's virtual canvas
|
|
||||||
showZoomControls: false, |
|
||||||
// Configure if zoom controls should be displayed by default
|
|
||||||
type: 'mosaic', |
|
||||||
// Which workspace type to load by default. Other possible values are "elastic". If "mosaic" or "elastic" are not selected no worksapce type will be used.
|
|
||||||
viewportPosition: { |
|
||||||
// center coordinates for the elastic mode workspace
|
|
||||||
x: 0, |
|
||||||
y: 0 |
|
||||||
}, |
|
||||||
width: 5000 // width of the elastic mode's virtual canvas
|
|
||||||
|
|
||||||
}, |
|
||||||
workspaceControlPanel: { |
|
||||||
enabled: false // Configure if the control panel should be rendered. Useful if you want to lock the viewer down to only the configured manifests
|
|
||||||
|
|
||||||
}, |
|
||||||
galleryView: { |
|
||||||
height: 120, |
|
||||||
// height of gallery view thumbnails
|
|
||||||
width: null // width of gallery view thumbnails (or null, to auto-calculate an aspect-ratio appropriate size)
|
|
||||||
|
|
||||||
}, |
|
||||||
osdConfig: { |
|
||||||
// Default config used for OpenSeadragon
|
|
||||||
alwaysBlend: false, |
|
||||||
blendTime: 0.1, |
|
||||||
preserveImageSizeOnResize: true, |
|
||||||
preserveViewport: true, |
|
||||||
showNavigationControl: false |
|
||||||
}, |
|
||||||
"export": { |
|
||||||
catalog: true, |
|
||||||
companionWindows: true, |
|
||||||
config: true, |
|
||||||
elasticLayout: true, |
|
||||||
layers: true, |
|
||||||
// filter out anything re-retrievable:
|
|
||||||
manifests: { |
|
||||||
filter: function filter(_ref) { |
|
||||||
var _ref2 = _slicedToArray(_ref, 2), |
|
||||||
id = _ref2[0], |
|
||||||
value = _ref2[1]; |
|
||||||
|
|
||||||
return !id.startsWith('http'); |
|
||||||
} |
|
||||||
}, |
|
||||||
viewers: true, |
|
||||||
windows: true, |
|
||||||
workspace: true |
|
||||||
}, |
|
||||||
audioOptions: { |
|
||||||
// Additional props passed to <audio> element
|
|
||||||
controls: true, |
|
||||||
crossOrigin: 'anonymous' |
|
||||||
}, |
|
||||||
videoOptions: { |
|
||||||
// Additional props passed to <audio> element
|
|
||||||
controls: true, |
|
||||||
crossOrigin: 'anonymous' |
|
||||||
}, |
|
||||||
auth: { |
|
||||||
serviceProfiles: [{ |
|
||||||
profile: 'http://iiif.io/api/auth/1/external', |
|
||||||
external: true |
|
||||||
}, { |
|
||||||
profile: 'http://iiif.io/api/auth/1/kiosk', |
|
||||||
kiosk: true |
|
||||||
}, { |
|
||||||
profile: 'http://iiif.io/api/auth/1/clickthrough' |
|
||||||
}, { |
|
||||||
profile: 'http://iiif.io/api/auth/1/login' |
|
||||||
}, { |
|
||||||
profile: 'http://iiif.io/api/auth/0/external', |
|
||||||
external: true |
|
||||||
}, { |
|
||||||
profile: 'http://iiif.io/api/auth/0/kiosk', |
|
||||||
kiosk: true |
|
||||||
}, { |
|
||||||
profile: 'http://iiif.io/api/auth/0/clickthrough' |
|
||||||
}, { |
|
||||||
profile: 'http://iiif.io/api/auth/0/login' |
|
||||||
}] |
|
||||||
} |
|
||||||
}; |
|
||||||
@ -1,140 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Generic base elements. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "media-queries.pcss.css"; |
|
||||||
|
|
||||||
*, |
|
||||||
*::before, |
|
||||||
*::after { |
|
||||||
box-sizing: border-box; |
|
||||||
} |
|
||||||
|
|
||||||
html { |
|
||||||
font-family: var(--font-sans); |
|
||||||
font-size: 100%; |
|
||||||
font-weight: normal; |
|
||||||
font-style: normal; |
|
||||||
line-height: var(--line-height-base); |
|
||||||
} |
|
||||||
|
|
||||||
body { |
|
||||||
margin: 0; |
|
||||||
color: var(--color-text-neutral-medium); |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
background-image: url("../../images/background.svg"); |
|
||||||
background-position: top left; /* LTR */ |
|
||||||
|
|
||||||
&.is-fixed { |
|
||||||
position: fixed; |
|
||||||
overflow: hidden; |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] body { |
|
||||||
background-position: top right; |
|
||||||
} |
|
||||||
|
|
||||||
a { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
color: var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 2px currentColor; |
|
||||||
outline-offset: 2px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
button { |
|
||||||
font-family: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
img, |
|
||||||
video { |
|
||||||
display: block; |
|
||||||
max-width: 100%; |
|
||||||
height: auto; |
|
||||||
} |
|
||||||
|
|
||||||
audio { |
|
||||||
display: block; |
|
||||||
max-width: 100%; |
|
||||||
} |
|
||||||
|
|
||||||
h1 { |
|
||||||
letter-spacing: -0.01em; |
|
||||||
font-size: 28px; |
|
||||||
line-height: var(--sp2); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
font-size: 60px; |
|
||||||
line-height: var(--sp4); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
h2 { |
|
||||||
letter-spacing: -0.01em; |
|
||||||
font-size: 24px; |
|
||||||
line-height: var(--sp2); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
font-size: 36px; |
|
||||||
line-height: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
h3 { |
|
||||||
font-size: 20px; |
|
||||||
line-height: var(--sp1-5); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
font-size: 24px; |
|
||||||
line-height: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
h4 { |
|
||||||
font-size: 18px; |
|
||||||
line-height: var(--sp1-5); |
|
||||||
} |
|
||||||
|
|
||||||
h5 { |
|
||||||
font-size: 16px; |
|
||||||
line-height: var(--sp1-5); |
|
||||||
} |
|
||||||
|
|
||||||
h6 { |
|
||||||
font-size: 14px; |
|
||||||
line-height: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
h1, |
|
||||||
h2, |
|
||||||
h3, |
|
||||||
h4, |
|
||||||
h5, |
|
||||||
h6 { |
|
||||||
margin-block: var(--sp); |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
font-family: var(--font-sans); |
|
||||||
font-weight: bold; |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-block: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
ul { |
|
||||||
margin-block-start: 0.25em; |
|
||||||
margin-block-end: 0.25em; |
|
||||||
margin-inline-start: 1.5em; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
list-style-type: disc; |
|
||||||
list-style-image: none; |
|
||||||
} |
|
||||||
@ -1,64 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Base Fonts. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "media-queries.pcss.css"; |
|
||||||
|
|
||||||
@font-face { |
|
||||||
font-family: metropolis; |
|
||||||
src: url("../../fonts/metropolis/Metropolis-Regular.woff2") format("woff2"); |
|
||||||
font-weight: normal; |
|
||||||
font-style: normal; |
|
||||||
font-display: swap; |
|
||||||
} |
|
||||||
|
|
||||||
@font-face { |
|
||||||
font-family: metropolis; |
|
||||||
src: url("../../fonts/metropolis/Metropolis-Bold.woff2") format("woff2"); |
|
||||||
font-weight: 700; |
|
||||||
font-style: normal; |
|
||||||
font-display: swap; |
|
||||||
} |
|
||||||
|
|
||||||
@font-face { |
|
||||||
font-family: metropolis; |
|
||||||
src: url("../../fonts/metropolis/Metropolis-SemiBold.woff2") format("woff2"); |
|
||||||
font-weight: 600; |
|
||||||
font-style: normal; |
|
||||||
font-display: swap; |
|
||||||
} |
|
||||||
|
|
||||||
/* lora-regular - latin */ |
|
||||||
@font-face { |
|
||||||
font-family: Lora; |
|
||||||
src: |
|
||||||
local("Lora Regular"), |
|
||||||
local("Lora-Regular"), |
|
||||||
url("../../fonts/lora/lora-v14-latin-regular.woff2") format("woff2"); |
|
||||||
font-weight: 400; |
|
||||||
font-style: normal; |
|
||||||
font-display: swap; |
|
||||||
} |
|
||||||
/* lora-italic - latin */ |
|
||||||
@font-face { |
|
||||||
font-family: Lora; |
|
||||||
src: |
|
||||||
local("Lora Italic"), |
|
||||||
local("Lora-Italic"), |
|
||||||
url("../../fonts/lora/lora-v14-latin-italic.woff2") format("woff2"); |
|
||||||
font-weight: 400; |
|
||||||
font-style: italic; |
|
||||||
font-display: swap; |
|
||||||
} |
|
||||||
/* lora-700 - latin */ |
|
||||||
@font-face { |
|
||||||
font-family: Lora; |
|
||||||
src: |
|
||||||
local("Lora Bold"), |
|
||||||
local("Lora-Bold"), |
|
||||||
url("../../fonts/lora/lora-v14-latin-700.woff2") format("woff2"); |
|
||||||
font-weight: 700; |
|
||||||
font-style: normal; |
|
||||||
font-display: swap; |
|
||||||
} |
|
||||||
@ -1,18 +0,0 @@ |
|||||||
/* |
|
||||||
* Media query breakpoints. |
|
||||||
* Processed by postcss/postcss-custom-media. |
|
||||||
*/ |
|
||||||
|
|
||||||
@custom-media --sm (min-width: 500px); |
|
||||||
@custom-media --md (min-width: 700px); |
|
||||||
@custom-media --lg (min-width: 1000px); |
|
||||||
@custom-media --xl (min-width: 1300px); |
|
||||||
|
|
||||||
/* Navigation related breakpoints */ |
|
||||||
@custom-media --nav-md (min-width: 500px); |
|
||||||
@custom-media --nav (min-width: 1200px); |
|
||||||
@custom-media --max-nav (max-width: 1200px); |
|
||||||
|
|
||||||
/* Grid related breakpoints */ |
|
||||||
@custom-media --grid-md (min-width: 700px); /* Grid shifts from 6 to 14 columns. */ |
|
||||||
@custom-media --grid-max (min-width: 1440px); /* Width of the entire grid maxes out. */ |
|
||||||
@ -1,142 +0,0 @@ |
|||||||
/* |
|
||||||
Global CSS custom properties. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "./media-queries.pcss.css"; |
|
||||||
|
|
||||||
/* stylelint-disable */ |
|
||||||
|
|
||||||
:root { |
|
||||||
--font-sans: "metropolis", sans-serif; |
|
||||||
--font-serif: "Lora", "georgia", serif; |
|
||||||
|
|
||||||
/* Typography helpers. */ |
|
||||||
--font-size-base: 16px; |
|
||||||
--font-size-l: 18px; |
|
||||||
--font-size-s: 14px; |
|
||||||
--font-size-xs: 13px; |
|
||||||
--font-size-xxs: 12px; |
|
||||||
--line-height-base: 27px; |
|
||||||
--line-height-s: 18px; |
|
||||||
|
|
||||||
/* Layout helpers. */ |
|
||||||
--max-width: 1350px; |
|
||||||
--max-bg-color: 1570px; /* Width to which the background color extends to. */ |
|
||||||
--sp: 18px; |
|
||||||
--content-left: 90px; |
|
||||||
--site-header-height-wide: var(--sp10); |
|
||||||
--container-padding: var(--sp); /* Inline padding on .container elements. */ |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
--container-padding: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Grid helpers. |
|
||||||
* |
|
||||||
* These variables help authors apply widths and negative margins to break items out of |
|
||||||
* the grid, while still conforming to the larger grid system. |
|
||||||
*/ |
|
||||||
--scrollbar-width: 0px; /* Unit must be specified here for calc() to work properly.*/ |
|
||||||
--grid-col-count: 6; |
|
||||||
--grid-gap: var(--sp); |
|
||||||
--grid-gap-count: calc(var(--grid-col-count) - 1); /* Count of grid-gaps. */ |
|
||||||
--grid-full-width: calc(100vw - var(--sp2) - var(--scrollbar-width)); /* Width of the entire grid. */ |
|
||||||
--grid-col-width: calc((var(--grid-full-width) - (var(--grid-gap-count) * var(--grid-gap))) / var(--grid-col-count)); /* Width of a grid column. */ |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
--grid-col-count: 14; |
|
||||||
--grid-gap: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
--scrollbar-width: 15px; /* Approximate width of a scrollbar. Doesn't have to be perfect. */ |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
--grid-full-width: calc(100vw - var(--scrollbar-width) - var(--content-left) - var(--sp4)); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-max) { |
|
||||||
--grid-full-width: calc(var(--max-width) - var(--sp4)); |
|
||||||
} |
|
||||||
|
|
||||||
/* Layout helpers */ |
|
||||||
--sp0-25: calc(0.25 * var(--sp)); |
|
||||||
--sp0-5: calc(0.5 * var(--sp)); |
|
||||||
--sp0-75: calc(0.75 * var(--sp)); |
|
||||||
--sp1: calc(1 * var(--sp)); |
|
||||||
--sp1-5: calc(1.5 * var(--sp)); |
|
||||||
--sp2: calc(2 * var(--sp)); |
|
||||||
--sp2-5: calc(2.5 * var(--sp)); |
|
||||||
--sp3: calc(3 * var(--sp)); |
|
||||||
--sp4: calc(4 * var(--sp)); |
|
||||||
--sp5: calc(5 * var(--sp)); |
|
||||||
--sp6: calc(6 * var(--sp)); |
|
||||||
--sp7: calc(7 * var(--sp)); |
|
||||||
--sp8: calc(8 * var(--sp)); |
|
||||||
--sp9: calc(9 * var(--sp)); |
|
||||||
--sp10: calc(10 * var(--sp)); |
|
||||||
--sp11: calc(11 * var(--sp)); |
|
||||||
--sp12: calc(12 * var(--sp)); |
|
||||||
|
|
||||||
/** |
|
||||||
* Gray colors. |
|
||||||
* |
|
||||||
* Color number roughly corresponds to its luminosity. |
|
||||||
*/ |
|
||||||
--color--gray-hue: 201; |
|
||||||
--color--gray-saturation: 15%; |
|
||||||
--color--gray-5: hsl(var(--color--gray-hue), var(--color--gray-saturation), 5%); /* Black */ |
|
||||||
--color--gray-10: hsl(var(--color--gray-hue), var(--color--gray-saturation), 11%); |
|
||||||
--color--gray-20: hsl(var(--color--gray-hue), var(--color--gray-saturation), 20%); /* Black 2 */ |
|
||||||
--color--gray-45: hsl(var(--color--gray-hue), var(--color--gray-saturation), 44%); /* Gray Dark */ |
|
||||||
--color--gray-60: hsl(var(--color--gray-hue), var(--color--gray-saturation), 57%); /* Gray medium */ |
|
||||||
--color--gray-65: hsl(var(--color--gray-hue), var(--color--gray-saturation), 63%); /* Black 4 */ |
|
||||||
--color--gray-70: hsl(var(--color--gray-hue), var(--color--gray-saturation), 72%); /* Gray medium 2 */ |
|
||||||
--color--gray-90: hsl(var(--color--gray-hue), var(--color--gray-saturation), 88%); /* Gray light */ |
|
||||||
--color--gray-95: hsl(var(--color--gray-hue), var(--color--gray-saturation), 93%); /* Gray light 1 */ |
|
||||||
--color--gray-100: hsl(var(--color--gray-hue), var(--color--gray-saturation), 97%); /* Gray light 2 */ |
|
||||||
|
|
||||||
/** |
|
||||||
* Primary colors. |
|
||||||
* |
|
||||||
* Color number roughly corresponds to its luminosity. |
|
||||||
*/ |
|
||||||
--color--primary-hue: 202; |
|
||||||
--color--primary-saturation: 79%; |
|
||||||
--color--primary-lightness: 50; |
|
||||||
--color--primary-30: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * (var(--color--primary-lightness) - (0.36 * var(--color--primary-lightness))))); |
|
||||||
--color--primary-40: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * (var(--color--primary-lightness) - (0.24 * var(--color--primary-lightness))))); /* Blue dark */ |
|
||||||
--color--primary-50: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * var(--color--primary-lightness))); /* Blue medium */ |
|
||||||
--color--primary-60: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * (var(--color--primary-lightness) + (0.24 * (100 - var(--color--primary-lightness)))))); /* Blue bright */ |
|
||||||
--color--primary-80: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * (var(--color--primary-lightness) + (0.85 * (100 - var(--color--primary-lightness)))))); /* Blue very bright */ |
|
||||||
|
|
||||||
/** |
|
||||||
* Variables specific to text. |
|
||||||
*/ |
|
||||||
--color-text-neutral-soft: var(--color--gray-45); |
|
||||||
--color-text-neutral-medium: var(--color--gray-20); |
|
||||||
--color-text-neutral-loud: var(--color--gray-5); |
|
||||||
|
|
||||||
--color-text-primary-medium: var(--color--primary-40); |
|
||||||
--color-text-primary-loud: var(--color--primary-30); |
|
||||||
|
|
||||||
/** |
|
||||||
* Named Colors. |
|
||||||
*/ |
|
||||||
--color--black: #000; /* Black */ |
|
||||||
--color--white: #fff; /* White */ |
|
||||||
--color--red: #e33f1e; /* Red */ |
|
||||||
--color--gold: #fdca40; /* Gold */ |
|
||||||
--color--green: #3fa21c; /* Green */ |
|
||||||
|
|
||||||
/* Header */ |
|
||||||
--header-height-wide-when-fixed: calc(6 * var(--sp)); |
|
||||||
|
|
||||||
/* Width of slide out navigation */ |
|
||||||
--mobile-nav-width: 500px; |
|
||||||
|
|
||||||
/* Border radius */ |
|
||||||
--border-radius: 3px; |
|
||||||
} |
|
||||||
@ -1,57 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styles for menu placed in sidebar region. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.menu--sidebar { |
|
||||||
list-style: none; |
|
||||||
|
|
||||||
& .menu { |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
& .menu--level-1 { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& .menu__link { |
|
||||||
position: relative; |
|
||||||
display: block; |
|
||||||
padding-block: var(--sp0-75); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
font-family: var(--font-serif); |
|
||||||
font-size: 18px; |
|
||||||
|
|
||||||
/* Bottom divider line. */ |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-end: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: var(--sp4); |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
border-block-start: solid 2px var(--color--gray-95); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .menu__link--link { |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
font-weight: 600; |
|
||||||
|
|
||||||
&:hover { |
|
||||||
color: var(--color--primary-50); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* No bottom divider line for last menu item. */ |
|
||||||
& .menu__item--level-1:last-child > .menu__link:last-child, |
|
||||||
& .menu__item--level-1:last-child > .menu__item--level-2:last-child > .menu__link:last-child { |
|
||||||
&::after { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,102 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Nav Button Mobile. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.mobile-nav-button { |
|
||||||
position: relative; |
|
||||||
z-index: 505; /* Appear above mobile nav. */ |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
align-self: center; |
|
||||||
width: var(--sp2); |
|
||||||
height: var(--sp2); |
|
||||||
margin-inline-start: auto; |
|
||||||
margin-inline-end: -6px; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 6px; |
|
||||||
padding-inline-end: 6px; |
|
||||||
cursor: pointer; |
|
||||||
border: none; |
|
||||||
background: transparent; |
|
||||||
appearance: none; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 2px var(--color--primary-40); |
|
||||||
} |
|
||||||
|
|
||||||
&:active { |
|
||||||
color: inherit; /* Override Safari's default UA styles. */ |
|
||||||
} |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
display: inline-flex; |
|
||||||
width: auto; |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Text that says "menu". */ |
|
||||||
.mobile-nav-button__label { |
|
||||||
position: absolute; |
|
||||||
display: block; |
|
||||||
overflow: hidden; |
|
||||||
clip: rect(1px, 1px, 1px, 1px); |
|
||||||
width: 1px; |
|
||||||
height: 1px; |
|
||||||
word-wrap: normal; |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
position: static; |
|
||||||
overflow: visible; |
|
||||||
clip: auto; |
|
||||||
width: auto; |
|
||||||
height: auto; |
|
||||||
margin-inline-end: 12px; |
|
||||||
letter-spacing: 0.05em; |
|
||||||
font-size: 14px; |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.mobile-nav-button__icon { |
|
||||||
position: relative; |
|
||||||
display: block; |
|
||||||
width: var(--sp2); |
|
||||||
height: 0; |
|
||||||
border-top: solid 3px var(--color--primary-50); |
|
||||||
|
|
||||||
&::before, |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: 100%; |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
transition: transform 0.2s; |
|
||||||
border-top: solid 3px var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
&::before { |
|
||||||
transform: translateY(-11px); |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
transform: translateY(5px); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.mobile-nav-button[aria-expanded="true"] .mobile-nav-button__icon { |
|
||||||
border-top-color: transparent; |
|
||||||
|
|
||||||
&::before { |
|
||||||
transform: translateY(-3px) rotate(-45deg); |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
transform: translateY(-3px) rotate(45deg); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,131 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Button that expands second level nav when clicked. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.primary-nav__button-toggle { |
|
||||||
position: relative; |
|
||||||
overflow: hidden; |
|
||||||
width: var(--sp2); |
|
||||||
height: var(--sp2); |
|
||||||
margin-block-start: var(--sp0-5); /* Visually align button with menu link text. */ |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
cursor: pointer; |
|
||||||
text-indent: -999px; |
|
||||||
border: 0; |
|
||||||
background: transparent; |
|
||||||
-webkit-appearance: none; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: auto 2px var(--color--primary-50); |
|
||||||
outline-offset: 2px; |
|
||||||
} |
|
||||||
|
|
||||||
& .icon--menu-toggle { |
|
||||||
position: absolute; |
|
||||||
/* stylelint-disable csstools/use-logical */ |
|
||||||
top: 50%; |
|
||||||
left: 50%; |
|
||||||
/* stylelint-enable csstools/use-logical */ |
|
||||||
width: 16px; |
|
||||||
height: 16px; |
|
||||||
transition: background-color 0.2s; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
border-radius: 2px; |
|
||||||
|
|
||||||
&::before, |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
/* stylelint-disable csstools/use-logical */ |
|
||||||
top: 50%; |
|
||||||
left: 50%; |
|
||||||
/* stylelint-enable csstools/use-logical */ |
|
||||||
width: var(--sp); |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: solid 3px var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
transition: opacity 0.2s; |
|
||||||
transform: translate(-50%, -50%) rotate(90deg); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&[aria-expanded="true"] .icon--menu-toggle::after { |
|
||||||
opacity: 0; |
|
||||||
} |
|
||||||
|
|
||||||
/* aria-hidden attribute is removed by JS. Button is non-functional |
|
||||||
until JS is enabled. |
|
||||||
*/ |
|
||||||
&[aria-hidden="true"] { |
|
||||||
pointer-events: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) { |
|
||||||
@media (--nav) { |
|
||||||
& .primary-nav__button-toggle { |
|
||||||
flex-shrink: 0; |
|
||||||
align-self: stretch; |
|
||||||
width: calc(var(--sp2) + 8px); |
|
||||||
height: auto; |
|
||||||
margin-block-start: 0; |
|
||||||
margin-inline-end: calc(-1 * var(--sp2)); |
|
||||||
|
|
||||||
&:focus { |
|
||||||
border: 0; |
|
||||||
outline: 0; |
|
||||||
|
|
||||||
& .icon--menu-toggle { |
|
||||||
border: solid 2px var(--color--primary-40); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:active { |
|
||||||
/* Necessary for Safari. */ |
|
||||||
color: currentColor; |
|
||||||
} |
|
||||||
|
|
||||||
&[aria-expanded="true"] .icon--menu-toggle::after { |
|
||||||
opacity: 0.8; |
|
||||||
} |
|
||||||
|
|
||||||
& .icon--menu-toggle { |
|
||||||
inset-inline-start: 3px; |
|
||||||
width: 18px; |
|
||||||
transform: translateY(-50%); |
|
||||||
border-radius: 4px; |
|
||||||
background-color: var(--color--white); |
|
||||||
|
|
||||||
&::before { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
/* stylelint-disable csstools/use-logical */ |
|
||||||
top: calc(50% - 2px); |
|
||||||
left: 3px; |
|
||||||
/* stylelint-enable csstools/use-logical */ |
|
||||||
width: 8px; |
|
||||||
height: 8px; |
|
||||||
content: ""; |
|
||||||
transform: translateY(-50%) rotate(45deg); |
|
||||||
opacity: 0.8; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: none; |
|
||||||
border-right: solid 2px currentColor; |
|
||||||
border-bottom: solid 2px currentColor; |
|
||||||
background: transparent; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,150 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styles for primary navigation when JavaScript is disabled. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
:root { |
|
||||||
--no-js-nav-column-width: 300px; |
|
||||||
--no-js-nav-column-gap: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
html:not(.js) { |
|
||||||
/** |
|
||||||
* Mobile styles for primary navigation when JS is disabled. |
|
||||||
*/ |
|
||||||
@media (--max-nav) { |
|
||||||
& .primary-nav__menu--level-1 { |
|
||||||
column-width: var(--no-js-nav-column-width); |
|
||||||
column-gap: var(--no-js-nav-column-gap); |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-item { |
|
||||||
break-inside: avoid; |
|
||||||
} |
|
||||||
|
|
||||||
& .site-header__inner__container { |
|
||||||
flex-wrap: wrap; |
|
||||||
} |
|
||||||
|
|
||||||
& .mobile-buttons { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
& .header-nav { |
|
||||||
position: static; |
|
||||||
visibility: visible; |
|
||||||
flex-basis: 100%; |
|
||||||
width: 100%; |
|
||||||
max-width: none; |
|
||||||
margin-block: var(--sp2) 0; |
|
||||||
margin-inline-start: var(--sp2); |
|
||||||
margin-inline-end: var(--sp2); |
|
||||||
padding-block: var(--sp2) 0; |
|
||||||
padding-inline-start: var(--sp2); |
|
||||||
padding-inline-end: var(--sp2); |
|
||||||
transform: none; |
|
||||||
border: solid 1px var(--color--gray-95) !important; |
|
||||||
box-shadow: 0 0 36px var(--color--gray-90); |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu--level-2 { |
|
||||||
border-inline-start: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__button-toggle { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-link--button.primary-nav__menu-link--has-children { |
|
||||||
&::before, |
|
||||||
&::after { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
/** |
|
||||||
* Styles for 'always on mobile navigation' when JS is disabled. |
|
||||||
*/ |
|
||||||
& body.is-always-mobile-nav { |
|
||||||
& .primary-nav__menu--level-1 { |
|
||||||
column-width: var(--no-js-nav-column-width); |
|
||||||
column-gap: var(--no-js-nav-column-gap); |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-item { |
|
||||||
break-inside: avoid; |
|
||||||
} |
|
||||||
|
|
||||||
& .site-header__inner__container { |
|
||||||
flex-wrap: wrap; |
|
||||||
} |
|
||||||
|
|
||||||
& .mobile-buttons { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
& .header-nav { |
|
||||||
position: static; |
|
||||||
visibility: visible; |
|
||||||
flex-basis: 100%; |
|
||||||
width: 100%; |
|
||||||
max-width: none; |
|
||||||
margin-block: var(--sp2) 0; |
|
||||||
margin-inline-start: var(--sp2); |
|
||||||
margin-inline-end: var(--sp2); |
|
||||||
padding-block: var(--sp2) 0; |
|
||||||
padding-inline-start: var(--sp2); |
|
||||||
padding-inline-end: var(--sp2); |
|
||||||
transform: none; |
|
||||||
border: solid 1px var(--color--gray-95) !important; |
|
||||||
box-shadow: 0 0 36px var(--color--gray-90); |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu--level-2 { |
|
||||||
border-inline-start: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__button-toggle { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-link--button.primary-nav__menu-link--has-children { |
|
||||||
&::before, |
|
||||||
&::after { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Styles for traditional dropdown primary navigation when JS is disabled. |
|
||||||
*/ |
|
||||||
& body:not(.is-always-mobile-nav) { |
|
||||||
& .primary-nav__menu-item--level-1:hover { |
|
||||||
& .primary-nav__menu--level-2, |
|
||||||
& .primary-nav__menu-🥕 { |
|
||||||
visibility: visible; |
|
||||||
transform: translate(-50%, 0); |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
* Cannot combine the focus-within pseudo selector with other selectors, |
|
||||||
* because it will break IE11 and earlier versions of MS Edge. |
|
||||||
*/ |
|
||||||
& .primary-nav__menu-item--level-1:focus-within { |
|
||||||
& .primary-nav__menu--level-2, |
|
||||||
& .primary-nav__menu-🥕 { |
|
||||||
visibility: visible; |
|
||||||
transform: translate(-50%, 0); |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,225 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Nav Primary (wide widths). |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) { |
|
||||||
@media (--nav) { |
|
||||||
& .primary-nav__menu-item { |
|
||||||
flex-wrap: nowrap; /* Ensure that sub navigation toggle button doesn't wrap underneath link. */ |
|
||||||
|
|
||||||
&.primary-nav__menu-item--has-children { |
|
||||||
& .primary-nav__menu-link--link, |
|
||||||
& .primary-nav__menu-link--nolink { |
|
||||||
flex-basis: auto; |
|
||||||
} |
|
||||||
|
|
||||||
/* Remove hover state if submenu exists. */ |
|
||||||
& .primary-nav__menu-link--level-1 .primary-nav__menu-link-inner::after { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-link { |
|
||||||
letter-spacing: 0.02em; |
|
||||||
font-size: 16px; |
|
||||||
line-height: var(--sp1-5); |
|
||||||
|
|
||||||
&:focus { |
|
||||||
position: relative; |
|
||||||
outline: 0; |
|
||||||
|
|
||||||
&::before { |
|
||||||
position: absolute; |
|
||||||
top: 50%; |
|
||||||
left: 50%; |
|
||||||
width: calc(100% + var(--sp)); |
|
||||||
height: var(--sp3); |
|
||||||
content: ""; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
border: solid 2px var(--color--primary-50); |
|
||||||
border-radius: 4px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-link--button { |
|
||||||
&.primary-nav__menu-link--has-children { |
|
||||||
overflow: visible; /* Necessary to view icon in IE11 */ |
|
||||||
padding-inline-end: 9px; |
|
||||||
|
|
||||||
&:focus::before { |
|
||||||
width: calc(100% + var(--sp1-5)); |
|
||||||
content: ""; |
|
||||||
} |
|
||||||
|
|
||||||
&::before { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
|
|
||||||
/* Chevron icon for desktop navigation. */ |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 50%; |
|
||||||
inset-inline-start: calc(100% - 3px); |
|
||||||
width: 8px; |
|
||||||
height: 8px; |
|
||||||
margin-block-start: -2px; |
|
||||||
transform: translateY(-50%) rotate(45deg); |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: 0; |
|
||||||
border-right: solid 2px currentColor; |
|
||||||
border-bottom: solid 2px currentColor; |
|
||||||
} |
|
||||||
|
|
||||||
&[aria-expanded="true"]::after { |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-link-inner { |
|
||||||
padding-block: var(--sp2); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
|
|
||||||
&::after { |
|
||||||
transform-origin: center; |
|
||||||
border-top-width: var(--sp0-5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu--level-1 { |
|
||||||
display: flex; |
|
||||||
align-items: stretch; |
|
||||||
margin-inline-end: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-item--level-1 { |
|
||||||
position: relative; /* Anchor secondary menu */ |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
width: max-content; |
|
||||||
max-width: 200px; |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
|
|
||||||
&:not(:last-child) { |
|
||||||
margin-inline-end: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu--level-2 { |
|
||||||
position: absolute; |
|
||||||
z-index: 105; /* Appear above search container. */ |
|
||||||
top: calc(100% - (0.5 * var(--sp))); |
|
||||||
left: 50%; |
|
||||||
visibility: hidden; |
|
||||||
overflow: auto; |
|
||||||
width: 250px; |
|
||||||
/* Ensure that long level-2 menus will never overflow viewport (focused |
|
||||||
* elements should always be in viewport per accessibility guidelines). */ |
|
||||||
max-height: calc(100vh - var(--site-header-height-wide) - var(--drupal-displace-offset-top, 0px) - var(--drupal-displace-offset-bottom, 0px) - var(--sp)); |
|
||||||
margin-block-start: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
padding-block: calc(3 * var(--sp)); |
|
||||||
padding-inline-start: var(--sp2); |
|
||||||
padding-inline-end: var(--sp2); |
|
||||||
transition: none; |
|
||||||
transform: translate(-50%, -20px); |
|
||||||
opacity: 0; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: solid var(--color--primary-50) var(--sp0-5); |
|
||||||
border-right: solid 1px transparent; /* Transparent borders useful for Windows High Contrast mode. */ |
|
||||||
border-bottom: solid 1px transparent; |
|
||||||
border-left: solid 1px transparent; |
|
||||||
border-radius: 0 0 2px 2px; |
|
||||||
background: var(--color--white); |
|
||||||
box-shadow: 0 1px 36px rgba(0, 0, 0, 0.08); |
|
||||||
|
|
||||||
&.is-active-menu-parent { |
|
||||||
visibility: visible; |
|
||||||
margin-block-start: 0; |
|
||||||
transform: translate(-50%, 0); |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-link--level-2 { |
|
||||||
display: block; |
|
||||||
|
|
||||||
&:focus::before { |
|
||||||
top: 0; |
|
||||||
left: calc(var(--sp0-5) * -1); |
|
||||||
height: 100%; |
|
||||||
transform: none; |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-nav__menu-link-inner { |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
|
|
||||||
&::after { |
|
||||||
transform-origin: left; /* LTR */ |
|
||||||
border-top-width: 3px; |
|
||||||
|
|
||||||
&:dir(rtl) { |
|
||||||
transform-origin: right; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Arrow is placed outside of submenu because the submenu has the |
|
||||||
* `overflow: hidden` CSS rule applied. |
|
||||||
*/ |
|
||||||
& .primary-nav__menu-🥕 { |
|
||||||
position: absolute; |
|
||||||
z-index: 105; /* Match level 2 menus. */ |
|
||||||
top: calc(100% - var(--sp)); |
|
||||||
left: 50%; |
|
||||||
visibility: hidden; |
|
||||||
width: 0; |
|
||||||
height: 0; |
|
||||||
transform: translate(-50%, -20px); |
|
||||||
opacity: 0; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-right: solid 10px transparent; |
|
||||||
border-bottom: solid 10px var(--color--primary-50); |
|
||||||
border-left: solid 10px transparent; |
|
||||||
|
|
||||||
&.is-active-menu-parent { |
|
||||||
visibility: visible; |
|
||||||
transform: translate(-50%, 0); |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* When ensuring that long menus don't overflow viewport, we can give a |
|
||||||
* little extra room when the toolbar is fixed (and is shorter). |
|
||||||
*/ |
|
||||||
& .is-fixed .primary-nav__menu--level-2 { |
|
||||||
max-height: calc(100vh - var(--site-header-height-wide) - var(--drupal-displace-offset-top, 0px) - var(--drupal-displace-offset-bottom, 0px) - var(--sp) + var(--sp4)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
* Only apply transition styles to menu when JS is loaded. This |
|
||||||
* works around https://bugs.chromium.org/p/chromium/issues/detail?id=332189 |
|
||||||
*/ |
|
||||||
html.js body:not(.is-always-mobile-nav) { |
|
||||||
@media (--nav) { |
|
||||||
& .primary-nav__menu--level-2, |
|
||||||
& .primary-nav__menu-🥕 { |
|
||||||
transition: visibility 0.2s, transform 0.2s, opacity 0.2s; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,201 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Nav Primary. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.primary-nav__menu { |
|
||||||
flex-wrap: wrap; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
.primary-nav__menu-item { |
|
||||||
margin-block-end: var(--sp0-5); |
|
||||||
|
|
||||||
&:last-child { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
&.primary-nav__menu-item--has-children { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
justify-content: space-between; |
|
||||||
|
|
||||||
& .primary-nav__menu-link--link, |
|
||||||
& .primary-nav__menu-link--nolink { |
|
||||||
/* Ensure that long text doesn't make the mobile expand button wrap. */ |
|
||||||
flex-basis: calc(100% - var(--sp3)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.primary-nav__menu-link { |
|
||||||
flex-grow: 1; |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
font-size: 28px; |
|
||||||
font-weight: bold; |
|
||||||
line-height: var(--sp2); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
color: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: auto 2px var(--color--primary-50); |
|
||||||
outline-offset: 2px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.primary-nav__menu-link--nolink { |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
font-weight: normal; |
|
||||||
} |
|
||||||
|
|
||||||
.primary-nav__menu-link--button { |
|
||||||
position: relative; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
cursor: pointer; |
|
||||||
text-align: start; |
|
||||||
border: 0; |
|
||||||
background: transparent; |
|
||||||
|
|
||||||
/* Plus icon for mobile navigation. */ |
|
||||||
&.primary-nav__menu-link--has-children { |
|
||||||
padding-inline-end: var(--sp3); /* Ensure text does not overlap icon. */ |
|
||||||
|
|
||||||
&::before, |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-inline-end: 9px; |
|
||||||
inset-block-start: calc(var(--sp0-5) + 17px); /* Visually align button with menu link text. */ |
|
||||||
width: 18px; |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: solid 3px var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
transition: opacity 0.2s; |
|
||||||
transform: rotate(90deg); |
|
||||||
} |
|
||||||
|
|
||||||
&[aria-expanded="true"]::after { |
|
||||||
opacity: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.primary-nav__menu-link-inner { |
|
||||||
position: relative; |
|
||||||
display: inline-flex; |
|
||||||
align-items: center; |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-end: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: 100%; |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
transition: transform 0.2s; |
|
||||||
transform: scaleX(0); |
|
||||||
transform-origin: left; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: solid 5px var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
@nest .primary-nav__menu-link:hover & { |
|
||||||
transform: scaleX(1); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
Top level specific styles. |
|
||||||
*/ |
|
||||||
.primary-nav__menu--level-1 { |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.primary-nav__menu-link--level-1 { |
|
||||||
position: relative; |
|
||||||
display: flex; |
|
||||||
letter-spacing: -1px; |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
Secondary menu specific styles. |
|
||||||
*/ |
|
||||||
.primary-nav__menu--level-2 { |
|
||||||
visibility: hidden; |
|
||||||
overflow: hidden; |
|
||||||
flex-basis: 100%; |
|
||||||
max-height: 0; |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: calc(-1 * var(--sp)); |
|
||||||
padding-inline-start: var(--sp2-5); |
|
||||||
transition: opacity 0.2s, visibility 0.2s, max-height 0.2s; |
|
||||||
opacity: 0; |
|
||||||
border-inline-start: solid var(--sp) var(--color--primary-50); |
|
||||||
|
|
||||||
&.is-active-menu-parent { |
|
||||||
visibility: visible; |
|
||||||
max-height: none; |
|
||||||
margin-block-start: var(--sp1-5); |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-inline-start: calc(-1 * var(--sp3)); |
|
||||||
padding-inline-start: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
* Oliveskln doesn't officially support nested tertiary submenus, but this |
|
||||||
* ensures that it doesn't break all the way. |
|
||||||
* |
|
||||||
* @see https://www.drupal.org/project/drupal/issues/3221399 |
|
||||||
*/ |
|
||||||
.primary-nav__menu--level-2 .primary-nav__menu-item--has-children { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
|
|
||||||
.primary-nav__menu-link--level-2 { |
|
||||||
font-size: 16px; |
|
||||||
font-weight: normal; |
|
||||||
line-height: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
html:not(.js) { |
|
||||||
& .primary-nav__menu--level-2 { |
|
||||||
visibility: visible; |
|
||||||
max-height: none; |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] { |
|
||||||
& .primary-nav__menu-link-inner { |
|
||||||
&::after { |
|
||||||
transform-origin: right; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,114 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Secondary navigation styling. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.secondary-nav { |
|
||||||
letter-spacing: 0.02em; |
|
||||||
font-size: var(--font-size-s); |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.secondary-nav__menu { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
.secondary-nav__menu-item { |
|
||||||
/* Parent element is set to flex-basis: 0. We |
|
||||||
* don't want text to wrap unless it goes over a |
|
||||||
* certain arbitrary width. |
|
||||||
*/ |
|
||||||
|
|
||||||
/* @todo should this be scoped to desktop nav? */ |
|
||||||
width: max-content; |
|
||||||
max-width: 200px; |
|
||||||
|
|
||||||
&:not(:last-child) { |
|
||||||
margin-inline-end: var(--sp1-5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.secondary-nav__menu-link { |
|
||||||
position: relative; |
|
||||||
display: inline-flex; |
|
||||||
align-items: center; |
|
||||||
height: var(--sp2); |
|
||||||
text-decoration: none; |
|
||||||
color: inherit; |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
bottom: 0; |
|
||||||
left: 0; |
|
||||||
width: 100%; |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
transition: opacity 0.2s, transform 0.2s; |
|
||||||
transform: translateY(5px); |
|
||||||
opacity: 0; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: solid 2px currentColor; |
|
||||||
} |
|
||||||
|
|
||||||
&:hover { |
|
||||||
&::after { |
|
||||||
transform: translateY(0); |
|
||||||
opacity: 0.8; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) { |
|
||||||
@media (--nav) { |
|
||||||
& .secondary-nav { |
|
||||||
position: relative; |
|
||||||
display: flex; |
|
||||||
margin-inline-start: var(--sp); |
|
||||||
padding-inline-start: var(--sp2); |
|
||||||
|
|
||||||
&::before { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 50%; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: 2px; |
|
||||||
height: var(--sp2); |
|
||||||
content: ""; |
|
||||||
transform: translateY(-50%); |
|
||||||
background-color: var(--color--gray-90); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .secondary-nav__menu-item:not(:last-child) { |
|
||||||
margin-inline-end: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
& .secondary-nav__menu-link { |
|
||||||
&:focus { |
|
||||||
position: relative; |
|
||||||
outline: 0; |
|
||||||
|
|
||||||
&::before { |
|
||||||
position: absolute; |
|
||||||
top: 50%; |
|
||||||
left: 50%; |
|
||||||
width: calc(100% + var(--sp)); |
|
||||||
height: var(--sp3); |
|
||||||
content: ""; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
border: solid 2px var(--color--primary-50); |
|
||||||
border-radius: 4px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,109 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Button which expands the navigation at wide viewport widths. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.wide-nav-expand { |
|
||||||
display: none; |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
display: flex; |
|
||||||
visibility: hidden; |
|
||||||
flex-shrink: 0; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
width: var(--content-left); |
|
||||||
height: var(--sp6); |
|
||||||
cursor: pointer; |
|
||||||
pointer-events: auto; |
|
||||||
color: var(--color--white); |
|
||||||
border: 0; |
|
||||||
background-color: var(--color--primary-50); |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 2px currentColor; |
|
||||||
outline-offset: -4px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) .is-fixed .wide-nav-expand { |
|
||||||
@media (--nav) { |
|
||||||
visibility: visible; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body.is-always-mobile-nav .wide-nav-expand { |
|
||||||
@media (--nav) { |
|
||||||
visibility: hidden; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.wide-nav-expand__icon { |
|
||||||
position: relative; |
|
||||||
width: var(--sp2); |
|
||||||
height: 21px; |
|
||||||
transition: opacity 0.2s; |
|
||||||
pointer-events: none; |
|
||||||
opacity: 0; |
|
||||||
transform-style: preserve-3d; |
|
||||||
|
|
||||||
& > span { |
|
||||||
display: block; |
|
||||||
height: 0; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: solid 3px currentColor; |
|
||||||
|
|
||||||
&:nth-child(1) { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: 100%; |
|
||||||
height: 0; |
|
||||||
transition: transform 0.2s; |
|
||||||
background-color: currentColor; |
|
||||||
} |
|
||||||
|
|
||||||
&:nth-child(2) { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 9px; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: 100%; |
|
||||||
height: 0; |
|
||||||
transition: opacity 0.2s; |
|
||||||
background-color: currentColor; |
|
||||||
} |
|
||||||
|
|
||||||
&:nth-child(3) { |
|
||||||
position: absolute; |
|
||||||
inset-block: auto 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: 100%; |
|
||||||
height: 0; |
|
||||||
transition: transform 0.2s; |
|
||||||
background-color: currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.is-fixed .wide-nav-expand__icon { |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
|
|
||||||
[aria-expanded="true"] .wide-nav-expand__icon { |
|
||||||
& > span:nth-child(1) { |
|
||||||
inset-block-start: 9px; |
|
||||||
transform: rotate(-45deg); |
|
||||||
} |
|
||||||
|
|
||||||
& > span:nth-child(2) { |
|
||||||
opacity: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& > span:nth-child(3) { |
|
||||||
inset-block-start: 9px; |
|
||||||
transform: rotate(45deg); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,27 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styles for action links. |
|
||||||
*/ |
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.action-links { |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
|
|
||||||
& li { |
|
||||||
display: inline-block; |
|
||||||
|
|
||||||
& a { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.action-links-item { |
|
||||||
display: inline-block; |
|
||||||
} |
|
||||||
@ -1,102 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Visual styles for ajax-progress throbber. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.ajax-progress { |
|
||||||
display: inline-block; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Throbber. |
|
||||||
*/ |
|
||||||
.ajax-progress-throbber { |
|
||||||
position: relative; |
|
||||||
display: inline-flex; |
|
||||||
align-content: center; |
|
||||||
height: 1.125rem; |
|
||||||
margin-block-start: -3px; |
|
||||||
margin-block-end: 0; |
|
||||||
margin-inline-start: var(--sp0-5); |
|
||||||
margin-inline-end: var(--sp0-5); |
|
||||||
vertical-align: middle; |
|
||||||
white-space: nowrap; |
|
||||||
line-height: 1.125rem; |
|
||||||
} |
|
||||||
|
|
||||||
.ajax-progress-throbber .throbber { |
|
||||||
width: 1.125rem; |
|
||||||
height: 1.125rem; |
|
||||||
border-width: 2px; |
|
||||||
border-color: var(--color--primary-50) transparent var(--color--primary-50) var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
.ajax-progress-throbber .message { |
|
||||||
display: inline-block; |
|
||||||
padding-inline-start: var(--sp0-5); |
|
||||||
font-size: var(--font-size-s); |
|
||||||
font-weight: 400; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Full screen throbber. |
|
||||||
*/ |
|
||||||
.ajax-progress-fullscreen { |
|
||||||
position: fixed; |
|
||||||
z-index: 1000; |
|
||||||
inset-block-start: 50%; |
|
||||||
inset-inline-start: 50%; |
|
||||||
width: 3.5rem; |
|
||||||
height: 3.5rem; |
|
||||||
margin: -1.75rem; |
|
||||||
border: 1px solid var(--color--gray-70); |
|
||||||
border-radius: 3.5rem; |
|
||||||
background-color: var(--color--white); |
|
||||||
box-shadow: 0 0.25rem 0.625rem rgba(34, 35, 48, 0.1); /* LTR */ |
|
||||||
|
|
||||||
&::before { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 50%; |
|
||||||
inset-inline-start: 50%; |
|
||||||
width: 1.75rem; |
|
||||||
height: 1.75rem; |
|
||||||
margin: -0.875rem; |
|
||||||
content: ""; |
|
||||||
border-width: 3px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .ajax-progress-fullscreen { |
|
||||||
box-shadow: 0 -0.25rem 0.625rem rgba(34, 35, 48, 0.1); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Common styles for all kinds of throbbers. |
|
||||||
*/ |
|
||||||
.ajax-progress-throbber .throbber, |
|
||||||
.ajax-progress-fullscreen::before { |
|
||||||
animation: oliveskln-throbber 0.75s linear infinite; |
|
||||||
border-style: solid dotted solid solid; |
|
||||||
border-color: var(--color--primary-50) transparent var(--color--primary-50) var(--color--primary-50); |
|
||||||
border-radius: 50%; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Remove margin from ajax throbbers following buttons because buttons already |
|
||||||
* have a large margin set. |
|
||||||
*/ |
|
||||||
html.js .button:not(.js-hide) + .ajax-progress-throbber { |
|
||||||
margin-inline-start: 0; |
|
||||||
} |
|
||||||
|
|
||||||
@keyframes oliveskln-throbber { |
|
||||||
0% { |
|
||||||
transform: rotateZ(0); |
|
||||||
} |
|
||||||
|
|
||||||
100% { |
|
||||||
transform: rotateZ(360deg); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,26 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Visual styles for autocomplete input field. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
[type].form-autocomplete { |
|
||||||
padding-inline-end: var(--sp3); |
|
||||||
background-color: var(--color--white); |
|
||||||
background-image: url("../../images/magnifying-glass.svg"); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: right var(--sp1) center; /* LTR */ |
|
||||||
|
|
||||||
&:disabled { |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
&.ui-autocomplete-loading { |
|
||||||
background-image: url("../../images/throbber.svg"); |
|
||||||
} |
|
||||||
|
|
||||||
&:dir(rtl) { |
|
||||||
background-position: left var(--sp1) center; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,18 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Block styling. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.block__title { |
|
||||||
margin-block: 0 var(--sp); |
|
||||||
letter-spacing: 0.02em; |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
font-size: var(--font-size-s); |
|
||||||
line-height: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
.site-footer .block__title { |
|
||||||
color: var(--color--gray-65); |
|
||||||
} |
|
||||||
@ -1,104 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Book module styling. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.book-pager { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
margin-block-start: 0 var(--sp); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0 var(--sp); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
border-block-end: solid 1px var(--color--primary-40); |
|
||||||
} |
|
||||||
|
|
||||||
.book-pager__item { |
|
||||||
display: inline-block; |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
flex: 0 0 33.33%; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.book-pager__item--center { |
|
||||||
@media (--sm) { |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.book-pager__item--next { |
|
||||||
@media (--sm) { |
|
||||||
margin-inline-start: auto; |
|
||||||
text-align: end; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.book-pager__link { |
|
||||||
display: inline-flex; |
|
||||||
align-items: center; |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
font-family: var(--font-serif); |
|
||||||
font-size: 18px; |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.book-pager__link--previous { |
|
||||||
&::before { |
|
||||||
display: block; |
|
||||||
width: var(--sp0-5); |
|
||||||
height: var(--sp0-5); |
|
||||||
margin-inline-end: 0.25em; |
|
||||||
content: ""; |
|
||||||
transform: rotate(-45deg); |
|
||||||
border-block-start: solid 3px currentColor; |
|
||||||
border-inline-start: solid 3px currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.book-pager__link--next { |
|
||||||
&::after { |
|
||||||
display: block; |
|
||||||
width: var(--sp0-5); |
|
||||||
height: var(--sp0-5); |
|
||||||
margin-inline-start: 0.25em; |
|
||||||
content: ""; |
|
||||||
transform: rotate(135deg); |
|
||||||
border-block-start: solid 3px currentColor; |
|
||||||
border-inline-start: solid 3px currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.book-navigation__menu { |
|
||||||
margin-block: var(--sp2); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
.book-navigation__item { |
|
||||||
margin-block: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] { |
|
||||||
& .book-pager__link--previous::before { |
|
||||||
transform: rotate(45deg); |
|
||||||
} |
|
||||||
|
|
||||||
& .book-pager__link--next::after { |
|
||||||
transform: rotate(-135deg); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,111 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Breadcrumb region. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.breadcrumb { |
|
||||||
position: relative; |
|
||||||
font-size: 14px; |
|
||||||
font-weight: bold; |
|
||||||
line-height: var(--sp1); |
|
||||||
|
|
||||||
/* Shadow on the right side of breadcrumbs for narrow screens. */ |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-end: calc(var(--sp1) * -1); |
|
||||||
width: var(--sp3); |
|
||||||
height: var(--sp2); |
|
||||||
content: ""; |
|
||||||
background: linear-gradient(to left, var(--color--white) 0%, rgba(255, 255, 255, 0) 100%); /* LTR */ |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
position: static; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .breadcrumb::after { |
|
||||||
background: linear-gradient(to right, var(--color--white) 0%, rgba(255, 255, 255, 0) 100%); |
|
||||||
} |
|
||||||
|
|
||||||
.breadcrumb__content { |
|
||||||
overflow: auto; |
|
||||||
margin-block-start: calc(var(--sp0-5) * -1); |
|
||||||
margin-block-end: calc(var(--sp0-5) * -1); |
|
||||||
margin-inline-start: calc(var(--sp0-5) * -1); |
|
||||||
margin-inline-end: calc(var(--sp1) * -1); |
|
||||||
padding-block-start: var(--sp0-5); |
|
||||||
padding-block-end: var(--sp0-5); |
|
||||||
padding-inline-start: var(--sp0-5); |
|
||||||
-webkit-overflow-scrolling: touch; |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.breadcrumb__list { |
|
||||||
overflow-x: auto; |
|
||||||
width: max-content; |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: calc(var(--sp1) * -1); |
|
||||||
margin-inline-end: calc(var(--sp1) * -1); |
|
||||||
padding-block: 0 var(--sp1); |
|
||||||
padding-inline-start: var(--sp1); |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
white-space: nowrap; |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
overflow: visible; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block-end: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
white-space: normal; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.breadcrumb__item { |
|
||||||
display: inline-block; |
|
||||||
|
|
||||||
&:nth-child(n+2)::before { |
|
||||||
display: inline-block; |
|
||||||
width: 8px; |
|
||||||
height: 8px; |
|
||||||
margin-inline: 16px 20px; |
|
||||||
content: ""; |
|
||||||
transform: rotate(45deg); /* LTR */ |
|
||||||
border-block-start: 2px solid var(--color--gray-45); |
|
||||||
border-inline-end: 2px solid var(--color--gray-45); |
|
||||||
} |
|
||||||
|
|
||||||
&:last-child { |
|
||||||
margin-inline-end: var(--sp3); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .breadcrumb__item:nth-child(n+2)::before { |
|
||||||
transform: rotate(-45deg); |
|
||||||
} |
|
||||||
|
|
||||||
.breadcrumb__link { |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
|
|
||||||
&:hover, |
|
||||||
&:focus { |
|
||||||
text-decoration: underline; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,131 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Buttons. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.button { |
|
||||||
display: inline-block; |
|
||||||
height: var(--sp3); |
|
||||||
margin-block: var(--sp1); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: var(--sp1); |
|
||||||
padding-block: calc((var(--sp3) - var(--line-height-s)) / 2); |
|
||||||
padding-inline: var(--sp1-5); |
|
||||||
cursor: pointer; |
|
||||||
text-align: center; |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
border: solid 2px currentColor; |
|
||||||
border-radius: var(--border-radius); |
|
||||||
background-color: var(--color--white); |
|
||||||
font-family: var(--font-sans); |
|
||||||
font-size: var(--font-size-l); |
|
||||||
font-weight: 700; |
|
||||||
appearance: none; |
|
||||||
-webkit-font-smoothing: antialiased; |
|
||||||
|
|
||||||
&:hover, |
|
||||||
&:focus { |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-primary-loud); |
|
||||||
border: solid 2px currentColor; |
|
||||||
background: none; |
|
||||||
font-weight: 700; |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: 2px solid var(--color--primary-60); |
|
||||||
outline-offset: 2px; |
|
||||||
} |
|
||||||
|
|
||||||
&:active { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
border-color: currentColor; |
|
||||||
} |
|
||||||
|
|
||||||
&:disabled, |
|
||||||
&.is-disabled { |
|
||||||
cursor: default; |
|
||||||
color: var(--color--gray-90); |
|
||||||
border-color: var(--color--gray-90); |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
IE11 doesn't work properly on button elements so we only do |
|
||||||
inline-flex on modern browsers. |
|
||||||
*/ |
|
||||||
@supports (display: inline-flex) { |
|
||||||
display: inline-flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
/* Top padding accounts for font not being vertically centered within line-height. */ |
|
||||||
padding-block: 1px 0; |
|
||||||
padding-inline: var(--sp1-5); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* No margin if is part of a menu. */ |
|
||||||
.menu .button { |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.button--small { |
|
||||||
height: var(--sp2-5); |
|
||||||
padding-block: calc((var(--sp2-5) - var(--line-height-s)) / 2); |
|
||||||
padding-inline: var(--sp); |
|
||||||
font-size: var(--font-size-base); |
|
||||||
line-height: normal; |
|
||||||
} |
|
||||||
|
|
||||||
.button--primary { |
|
||||||
color: var(--color--white); |
|
||||||
border-color: var(--color--primary-40); |
|
||||||
background-color: var(--color--primary-40); |
|
||||||
|
|
||||||
&:hover, |
|
||||||
&:focus { |
|
||||||
color: var(--color--white); |
|
||||||
border-color: var(--color--primary-30); |
|
||||||
background-color: var(--color--primary-30); |
|
||||||
} |
|
||||||
|
|
||||||
&:active { |
|
||||||
color: var(--color--white); |
|
||||||
background-color: var(--color--primary-40); |
|
||||||
} |
|
||||||
|
|
||||||
&:disabled, |
|
||||||
&.is-disabled { |
|
||||||
color: var(--color--white); |
|
||||||
background-color: var(--color--gray-90); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.button--icon-back { |
|
||||||
display: inline-flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
&::before { |
|
||||||
display: block; |
|
||||||
width: 0.5em; |
|
||||||
height: 0.5em; |
|
||||||
margin-inline-end: 0.5em; |
|
||||||
content: ""; |
|
||||||
transform: rotate(45deg); /* LTR */ |
|
||||||
border-block-end: solid 2px currentColor; |
|
||||||
border-inline-start: solid 2px currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .button--icon-back::before { |
|
||||||
transform: rotate(-45deg); |
|
||||||
} |
|
||||||
|
|
||||||
.shepherd-cancel-icon { |
|
||||||
font-size: 1.5em; |
|
||||||
} |
|
||||||
@ -1,8 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* CKE Dialogs. |
|
||||||
*/ |
|
||||||
|
|
||||||
select.cke_dialog_ui_input_select { |
|
||||||
appearance: menulist; |
|
||||||
} |
|
||||||
@ -1,11 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Color picker styles. These appear within theme settings when selecting a custom color. |
|
||||||
*/ |
|
||||||
|
|
||||||
[data-drupal-selector="oliveskln-color-picker"] { |
|
||||||
& input[type="color"] { |
|
||||||
margin-left: 13px; |
|
||||||
vertical-align: bottom; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,233 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Comment section and individual comments. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
:root { |
|
||||||
--comment-indentation: var(--sp2); |
|
||||||
--comment-indentation--md: var(--sp4); |
|
||||||
} |
|
||||||
|
|
||||||
.comment--level-1 { |
|
||||||
border-block-start: 2px solid var(--color--gray-95); |
|
||||||
|
|
||||||
& ~ .comment--level-1 { |
|
||||||
margin-block-start: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.comments__title { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
margin-block-start: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.comments__count { |
|
||||||
position: relative; |
|
||||||
display: inline-block; |
|
||||||
min-width: 34px; |
|
||||||
margin-block-start: 0; |
|
||||||
margin-block-end: var(--sp0-5); |
|
||||||
margin-inline-start: var(--sp); |
|
||||||
margin-inline-end: var(--sp); |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 5px; |
|
||||||
padding-inline-end: 5px; |
|
||||||
text-align: center; |
|
||||||
color: var(--color--white); |
|
||||||
border-radius: 2px; |
|
||||||
background-color: var(--color--primary-40); |
|
||||||
font-size: 11px; |
|
||||||
line-height: 21px; |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-end: -7px; |
|
||||||
inset-inline-start: 8px; |
|
||||||
width: 0; |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
border-block-start: 7px solid var(--color--primary-40); |
|
||||||
border-inline-end: 8px solid transparent; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.comment-form { |
|
||||||
padding-block-end: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
.add-comment__form { |
|
||||||
padding-inline-start: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.comment { |
|
||||||
position: relative; |
|
||||||
padding-block-start: var(--sp2); |
|
||||||
padding-inline-start: var(--sp3); |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
padding-inline-start: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.comment__text-content { |
|
||||||
font-size: 16px; |
|
||||||
|
|
||||||
& blockquote { |
|
||||||
font-size: 21px; |
|
||||||
line-height: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
/* Override for .field:not(:last-child) */ |
|
||||||
&:not(:last-child) { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.comment__links { |
|
||||||
margin-block: var(--sp) 0; |
|
||||||
} |
|
||||||
|
|
||||||
.comment__links-link { |
|
||||||
text-decoration: none; |
|
||||||
font-size: 14px; |
|
||||||
font-weight: bold; |
|
||||||
line-height: var(--sp); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
text-decoration: underline; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.add-comment__picture-wrapper { |
|
||||||
inset-block-start: calc(var(--line-height-base) + var(--sp0-5)); |
|
||||||
} |
|
||||||
|
|
||||||
.add-comment__picture, |
|
||||||
.comment__picture { |
|
||||||
position: absolute; |
|
||||||
inset-inline-start: 0; |
|
||||||
overflow: hidden; |
|
||||||
width: var(--sp2); |
|
||||||
height: var(--sp2); |
|
||||||
border-radius: 50%; |
|
||||||
background-color: var(--color--gray-95); |
|
||||||
|
|
||||||
& *:not(img) { |
|
||||||
display: inherit; |
|
||||||
width: inherit; |
|
||||||
height: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
& img { |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
object-fit: cover; |
|
||||||
|
|
||||||
/* @TODO: create image-style for profile's avatar to have image squared by default. */ |
|
||||||
@media all and (-ms-high-contrast: active), (-ms-high-contrast: none) { |
|
||||||
position: absolute; |
|
||||||
/* stylelint-disable csstools/use-logical */ |
|
||||||
top: 50%; |
|
||||||
left: 50%; |
|
||||||
/* stylelint-enable csstools/use-logical */ |
|
||||||
width: 100%; |
|
||||||
height: auto; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
inset-inline-start: calc(-1 * var(--sp5)); |
|
||||||
width: var(--sp3); |
|
||||||
height: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.indented .comment__picture { |
|
||||||
@media (--grid-md) { |
|
||||||
inset-inline-start: calc(-1 * var(--sp4)); |
|
||||||
width: var(--sp2); |
|
||||||
height: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.comment__meta { |
|
||||||
& * { |
|
||||||
display: inline; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.comment__author { |
|
||||||
margin-inline-end: var(--sp); |
|
||||||
font-family: var(--font-sans); |
|
||||||
font-size: 16px; |
|
||||||
font-weight: 700; |
|
||||||
line-height: var(--sp); |
|
||||||
|
|
||||||
& a { |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.comment__time { |
|
||||||
margin: 0; |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
font-family: var(--font-sans); |
|
||||||
font-size: 14px; |
|
||||||
line-height: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
.indented { |
|
||||||
margin-inline-start: var(--comment-indentation); |
|
||||||
|
|
||||||
& > .comment:not(:last-of-type, .has-children)::before { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: var(--sp2); |
|
||||||
inset-inline-start: calc(-1 * var(--comment-indentation) - var(--sp)); /* Comment's padding-top */ |
|
||||||
width: 0; |
|
||||||
height: 100%; |
|
||||||
content: ""; |
|
||||||
border-inline-start: solid 1px var(--color--gray-95); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
inset-inline-start: calc(-1 * var(--comment-indentation--md) + var(--sp)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-inline-start: var(--comment-indentation--md); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.show-hide-btn { |
|
||||||
margin-block-start: var(--sp2); |
|
||||||
margin-block-end: 0; |
|
||||||
margin-inline-start: var(--sp3); |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
cursor: pointer; |
|
||||||
color: var(--color-text-neutral-medium); |
|
||||||
border: 0; |
|
||||||
background: none; |
|
||||||
font-size: 14px; |
|
||||||
font-weight: 600; |
|
||||||
line-height: 18px; |
|
||||||
appearance: none; |
|
||||||
|
|
||||||
&[aria-expanded="true"]::after { |
|
||||||
content: "\0020 -"; |
|
||||||
} |
|
||||||
|
|
||||||
&[aria-expanded="false"]::after { |
|
||||||
content: "\0020 +"; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
margin-inline-start: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,18 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Inline items. |
|
||||||
*/ |
|
||||||
|
|
||||||
.container-inline div, |
|
||||||
.container-inline label { |
|
||||||
display: inline-block; |
|
||||||
} |
|
||||||
|
|
||||||
.form-items-inline { |
|
||||||
margin-block: -0.125em; /* 2px */ |
|
||||||
} |
|
||||||
|
|
||||||
.form-items-inline > .form-item { |
|
||||||
display: inline-block; |
|
||||||
margin-block: 0.125em; |
|
||||||
} |
|
||||||
@ -1,67 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styles for content moderation toolbar. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.entity-moderation-form { |
|
||||||
flex-direction: column; |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
border: 1px solid var(--color--gray-95); |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
|
|
||||||
& select, |
|
||||||
& input:not([type="submit"]) { |
|
||||||
background-color: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
flex-direction: row; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.entity-moderation-form__item { |
|
||||||
flex-basis: 0; |
|
||||||
margin-inline-end: var(--sp); |
|
||||||
|
|
||||||
&:last-child { |
|
||||||
align-self: flex-start; |
|
||||||
margin-inline-end: 0; |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
align-self: flex-end; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--content-narrow, |
|
||||||
.layout--pass--content-narrow > *, |
|
||||||
.layout--content-medium, |
|
||||||
.layout--pass--content-medium > * { |
|
||||||
& .entity-moderation-form { |
|
||||||
width: 100%; |
|
||||||
margin-inline-start: 0; |
|
||||||
|
|
||||||
@supports (width: max-content) { |
|
||||||
width: max-content; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
width: calc(var(--grid-col-count) * var(--grid-col-width) + var(--grid-gap-count) * var(--grid-gap)); |
|
||||||
margin-block: var(--sp2) var(--sp4); |
|
||||||
margin-inline-start: calc(-2 * (var(--grid-col-width) + var(--grid-gap))); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
width: calc(12 * var(--grid-col-width) + 11 * var(--grid-gap)); |
|
||||||
margin-inline-start: calc(-1 * (var(--grid-col-width) + var(--grid-gap))); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-max) { |
|
||||||
width: calc(10 * var(--grid-col-width) + 11 * var(--grid-gap)); |
|
||||||
margin-inline-start: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,115 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Collapsible details. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
:root { |
|
||||||
--details-border-width: 1px; |
|
||||||
--details-summary-transition: background-color 0.12s ease-in-out; |
|
||||||
} |
|
||||||
|
|
||||||
.oliveskln-details { |
|
||||||
display: block; |
|
||||||
margin-block: var(--sp1); |
|
||||||
color: inherit; |
|
||||||
border: var(--details-border-width) solid var(--color--gray-95); |
|
||||||
border-radius: var(--border-radius); |
|
||||||
box-shadow: 0 1px 4px var(--color--gray-90); |
|
||||||
} |
|
||||||
|
|
||||||
/* Details summary styles */ |
|
||||||
.oliveskln-details__summary { |
|
||||||
position: relative; |
|
||||||
padding-block: var(--sp1); |
|
||||||
padding-inline-start: var(--sp2); |
|
||||||
padding-inline-end: var(--sp1); |
|
||||||
list-style: none; |
|
||||||
cursor: pointer; |
|
||||||
transition: var(--details-summary-transition); |
|
||||||
word-wrap: break-word; |
|
||||||
hyphens: auto; |
|
||||||
color: inherit; |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
font-size: var(--line-height-s); |
|
||||||
font-weight: 700; |
|
||||||
line-height: var(--sp1); |
|
||||||
} |
|
||||||
|
|
||||||
/* Arrow icon */ |
|
||||||
.oliveskln-details__summary::before { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 50%; |
|
||||||
inset-inline-start: var(--sp0-75); |
|
||||||
display: block; |
|
||||||
width: 10px; |
|
||||||
height: 10px; |
|
||||||
content: ""; |
|
||||||
transform: translateY(-50%) rotate(45deg); /* LTR */ |
|
||||||
border-top: solid 2px currentColor; |
|
||||||
border-right: solid 2px currentColor; |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .oliveskln-details__summary::before { |
|
||||||
transform: translateY(-50%) rotate(-135deg); |
|
||||||
} |
|
||||||
|
|
||||||
/* Pseudo-selector to manage focus styles */ |
|
||||||
.oliveskln-details__summary::after { |
|
||||||
position: absolute; |
|
||||||
inset: calc(var(--details-border-width) * -1); |
|
||||||
content: ""; |
|
||||||
pointer-events: none; |
|
||||||
opacity: 0; |
|
||||||
border-radius: var(--border-radius); |
|
||||||
box-shadow: inset 0 0 0 2px var(--color--primary-60); |
|
||||||
} |
|
||||||
|
|
||||||
/* Hide the marker */ |
|
||||||
.oliveskln-details__summary::-webkit-details-marker { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
/* Disable default outline for summary, since we have own implementation */ |
|
||||||
.oliveskln-details__summary:focus { |
|
||||||
outline: solid 2px transparent; |
|
||||||
outline-offset: -4px; |
|
||||||
} |
|
||||||
|
|
||||||
/* Details summary, hover state */ |
|
||||||
.oliveskln-details__summary:hover { |
|
||||||
background-color: var(--color--gray-95); |
|
||||||
} |
|
||||||
|
|
||||||
/* Details summary, focus and active states */ |
|
||||||
.oliveskln-details__summary:focus::after, |
|
||||||
.oliveskln-details__summary:active::after { |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
|
|
||||||
/* Rotate arrow icon of the details summary, when details expanded */ |
|
||||||
.oliveskln-details[open] > .oliveskln-details__summary::before { |
|
||||||
margin-block-start: -2px; |
|
||||||
transform: translateY(-50%) rotate(135deg); |
|
||||||
} |
|
||||||
|
|
||||||
/* Details content wrapper */ |
|
||||||
.oliveskln-details__wrapper { |
|
||||||
margin: var(--sp1); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-start: var(--sp1-5); |
|
||||||
margin-block-end: var(--sp1-5); |
|
||||||
margin-inline-start: var(--sp2); |
|
||||||
margin-inline-end: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Description */ |
|
||||||
.oliveskln-details__description { |
|
||||||
margin-block-end: var(--sp1); |
|
||||||
color: var(--color-text-neutral-medium); |
|
||||||
font-size: var(--font-size-xs); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
} |
|
||||||
@ -1,157 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Dropbutton styles. |
|
||||||
*/ |
|
||||||
|
|
||||||
.dropbutton-wrapper { |
|
||||||
--dropbutton--height: var(--sp1-5); |
|
||||||
--dropbutton--secondary-bg-color: var(--color--white); |
|
||||||
--dropbutton--active-bg-color: var(--color--gray-90); |
|
||||||
--dropbutton--outline-color: var(--color--primary-40); /* Minimum 3:1 contrast ratio against --dropbutton--active-bg-color and --dropbutton--secondary-bg-color. */ |
|
||||||
--dropbutton--border-radius: var(--border-radius); |
|
||||||
--dropbutton--font-size: var(--font-size-s); |
|
||||||
--dropbutton--text-color: var(--color-text-neutral-medium); /* Minimum 4.5:1 contrast ratio against --dropbutton--active-bg-color and --dropbutton--secondary-bg-color. */ |
|
||||||
--dropbutton--text-hover-color: var(--color-text-primary-medium); /* Minimum 4.5:1 contrast ratio against --dropbutton--active-bg-color and --dropbutton--secondary-bg-color. */ |
|
||||||
|
|
||||||
&.open { |
|
||||||
position: relative; |
|
||||||
z-index: 100; /* Ensure this appears above all other dropbuttons. */ |
|
||||||
filter: drop-shadow(0 2px 2px var(--dropbutton--active-bg-color)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.dropbutton-widget { |
|
||||||
position: relative; |
|
||||||
width: max-content; |
|
||||||
height: var(--dropbutton--height); |
|
||||||
padding-inline-end: var(--dropbutton--height); |
|
||||||
border-radius: var(--dropbutton--border-radius); |
|
||||||
|
|
||||||
@nest .dropbutton-single & { |
|
||||||
padding-inline-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
@nest .dropbutton-wrapper.open & { |
|
||||||
border-radius: var(--dropbutton--border-radius) var(--dropbutton--border-radius) 0 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.dropbutton { |
|
||||||
height: var(--dropbutton--height); |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
list-style: none; |
|
||||||
font-size: var(--dropbutton--font-size); |
|
||||||
} |
|
||||||
|
|
||||||
/* This is the button that expands/collapses the secondary options. */ |
|
||||||
.dropbutton-toggle button { |
|
||||||
position: absolute; |
|
||||||
top: 0; |
|
||||||
inset-inline-end: 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
width: var(--dropbutton--height); |
|
||||||
height: var(--dropbutton--height); |
|
||||||
padding: 0; |
|
||||||
cursor: pointer; |
|
||||||
border-color: transparent; |
|
||||||
border-radius: 0 var(--border-radius) var(--border-radius) 0; /* LTR */ |
|
||||||
background: var(--dropbutton--active-bg-color); |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 2px var(--dropbutton--outline-color); |
|
||||||
outline-offset: -2px; |
|
||||||
} |
|
||||||
|
|
||||||
&::before { |
|
||||||
display: block; |
|
||||||
width: var(--sp0-5); |
|
||||||
height: var(--sp0-5); |
|
||||||
content: ""; |
|
||||||
transform: translateY(-25%) rotate(45deg); |
|
||||||
border-right: solid 2px var(--dropbutton--outline-color); |
|
||||||
border-bottom: solid 2px var(--dropbutton--outline-color); |
|
||||||
|
|
||||||
@nest .dropbutton-wrapper.open & { |
|
||||||
transform: translateY(25%) rotate(225deg); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:dir(rtl) { |
|
||||||
border-radius: var(--dropbutton--border-radius) 0 0 var(--dropbutton--border-radius); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* This is the first <li> element in the list of actions. */ |
|
||||||
.dropbutton-action { |
|
||||||
&:first-child { |
|
||||||
margin-inline-end: 2px; |
|
||||||
border: solid 1px transparent; |
|
||||||
border-radius: var(--dropbutton--border-radius) 0 0 var(--dropbutton--border-radius); /* LTR */ |
|
||||||
background: var(--dropbutton--active-bg-color); |
|
||||||
|
|
||||||
&:dir(rtl) { |
|
||||||
border: solid 1px transparent; |
|
||||||
border-radius: 0 var(--dropbutton--border-radius) var(--dropbutton--border-radius) 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& a { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
margin-bottom: -2px; /* Account for borders. */ |
|
||||||
padding: 0 9px; |
|
||||||
text-decoration: none; |
|
||||||
color: var(--dropbutton--text-color); |
|
||||||
font-weight: 600; |
|
||||||
|
|
||||||
&:hover { |
|
||||||
color: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 2px var(--dropbutton--outline-color); |
|
||||||
outline-offset: -1px; /* Overlap parent container by 1px. */ |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Special rules if there is only one action. */ |
|
||||||
@nest .dropbutton-single & { |
|
||||||
&:first-child { |
|
||||||
border-right: solid 1px transparent; /* LTR */ |
|
||||||
border-radius: var(--dropbutton--border-radius); |
|
||||||
|
|
||||||
&:dir(rtl) { |
|
||||||
border: solid 1px transparent; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& a { |
|
||||||
justify-content: center; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* These are the <li> elements other than the first. */ |
|
||||||
.secondary-action { |
|
||||||
visibility: hidden; |
|
||||||
width: calc(100% + var(--dropbutton--height)); |
|
||||||
border-right: 1px solid var(--dropbutton--active-bg-color); |
|
||||||
border-left: 1px solid var(--dropbutton--active-bg-color); |
|
||||||
background: var(--dropbutton--secondary-bg-color); |
|
||||||
|
|
||||||
&:last-child { |
|
||||||
border-bottom: 1px solid var(--dropbutton--active-bg-color); |
|
||||||
} |
|
||||||
|
|
||||||
& a:hover { |
|
||||||
color: var(--dropbutton--text-hover-color); |
|
||||||
} |
|
||||||
|
|
||||||
@nest .dropbutton-wrapper.open & { |
|
||||||
visibility: visible; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,127 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Embedded Media. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
figure { |
|
||||||
background: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
figcaption { |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: var(--sp0-5); |
|
||||||
padding-inline-end: var(--sp0-5); |
|
||||||
color: var(--color-text-neutral-medium); |
|
||||||
background: var(--color--gray-100); |
|
||||||
font-family: var(--font-serif); |
|
||||||
font-size: 14px; |
|
||||||
font-style: italic; |
|
||||||
line-height: var(--sp); |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
padding-block: var(--sp); |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.align-right { |
|
||||||
float: none; /* Override core's align.module.css. */ |
|
||||||
max-width: 100%; |
|
||||||
margin-block: var(--sp3); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
float: right; /* LTR */ |
|
||||||
max-width: 50%; |
|
||||||
margin-block-start: var(--sp); |
|
||||||
margin-block-end: var(--sp); |
|
||||||
margin-inline-start: var(--sp); |
|
||||||
margin-inline-end: 0; |
|
||||||
|
|
||||||
/** |
|
||||||
* Chromium and Webkit do not yet support flow relative logical properties, |
|
||||||
* such as float: inline-end. However, PostCSS Logical does not compile this |
|
||||||
* value, so we accommodate by not using these. |
|
||||||
* |
|
||||||
* @see https://caniuse.com/mdn-css_properties_clear_flow_relative_values |
|
||||||
* @see https://github.com/csstools/postcss-plugins/issues/632 |
|
||||||
*/ |
|
||||||
&:dir(rtl) { |
|
||||||
float: left; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Pull out of grid if nested in content narrow layout. */ |
|
||||||
.layout--content-narrow .align-right, |
|
||||||
.layout--pass--content-narrow > * .align-right { |
|
||||||
/* @todo this can be simplified. */ |
|
||||||
@media (--grid-md) { |
|
||||||
margin-inline-end: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-inline-end: calc(-2 * ((var(--grid-col-width) + var(--grid-gap)))); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
margin-inline-end: calc(-3 * ((var(--grid-col-width) + var(--grid-gap)))); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-max) { |
|
||||||
margin-inline-end: calc(-3 * ((var(--grid-col-width) + var(--grid-gap)))); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.align-left { |
|
||||||
float: none; /* Override core's align.module.css. */ |
|
||||||
max-width: 100%; |
|
||||||
margin-block-start: var(--sp3); |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
float: left; /* LTR */ |
|
||||||
max-width: 50%; |
|
||||||
margin-block-start: var(--sp); |
|
||||||
margin-block-end: var(--sp); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: var(--sp2); /* Extra right margins in case of aligning next to lists. */ |
|
||||||
|
|
||||||
/** |
|
||||||
* Chromium and Webkit do not yet support flow relative logical properties, |
|
||||||
* such as float: inline-end. However, PostCSS Logical does not compile this |
|
||||||
* value, so we accommodate by not using these. |
|
||||||
* |
|
||||||
* @see https://caniuse.com/mdn-css_properties_clear_flow_relative_values |
|
||||||
* @see https://github.com/csstools/postcss-plugins/issues/632 |
|
||||||
*/ |
|
||||||
&:dir(rtl) { |
|
||||||
float: right; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Pull out of grid if nested in content narrow layout. */ |
|
||||||
.layout--content-narrow .align-left, |
|
||||||
.layout--pass--content-narrow > * .align-left { |
|
||||||
@media (--grid-md) { |
|
||||||
margin-inline-start: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.align-center img, |
|
||||||
.align-center video, |
|
||||||
.align-center audio { |
|
||||||
margin-inline: auto; |
|
||||||
} |
|
||||||
|
|
||||||
.media-oembed-content { |
|
||||||
display: block; |
|
||||||
max-width: 100%; |
|
||||||
} |
|
||||||
@ -1,41 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* RSS feed. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.feed-icon { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
color: var(--color--primary-50); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.feed-icon__label { |
|
||||||
flex-shrink: 0; |
|
||||||
letter-spacing: 0.08em; |
|
||||||
font-size: var(--font-size-xxs); |
|
||||||
font-weight: 600; |
|
||||||
} |
|
||||||
|
|
||||||
.feed-icon__icon { |
|
||||||
display: flex; |
|
||||||
flex-shrink: 0; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
width: var(--sp1-5); |
|
||||||
height: var(--sp1-5); |
|
||||||
margin-inline-start: var(--sp0-5); |
|
||||||
color: var(--color--white); |
|
||||||
background-color: var(--color--primary-50); |
|
||||||
|
|
||||||
& svg { |
|
||||||
vertical-align: top; |
|
||||||
fill: currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,53 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Visual styles for fields. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.field:not(:last-child) { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
.node--view-mode-teaser .field { |
|
||||||
margin-block-end: var(--sp); |
|
||||||
|
|
||||||
&:last-child { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.field__label { |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
|
|
||||||
.field--label-inline .field__label, |
|
||||||
.field--label-inline .field__items { |
|
||||||
float: left; /* LTR */ |
|
||||||
|
|
||||||
/** |
|
||||||
* Chromium and Webkit do not yet support flow relative logical properties, |
|
||||||
* such as float: inline-end. However, PostCSS Logical does not compile this |
|
||||||
* value, so we accommodate by not using these. |
|
||||||
* |
|
||||||
* @see https://caniuse.com/mdn-css_properties_clear_flow_relative_values |
|
||||||
* @see https://github.com/csstools/postcss-plugins/issues/632 |
|
||||||
*/ |
|
||||||
&:dir(rtl) { |
|
||||||
float: right; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.field--label-inline .field__label, |
|
||||||
.field--label-inline > .field__item, |
|
||||||
.field--label-inline .field__items { |
|
||||||
padding-inline-end: 0.5em; |
|
||||||
} |
|
||||||
|
|
||||||
.field--label-inline .field__label::after { |
|
||||||
content: ":"; |
|
||||||
} |
|
||||||
@ -1,133 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Fieldset. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.fieldset { |
|
||||||
min-width: 0; |
|
||||||
margin-block: var(--sp1); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
color: inherit; |
|
||||||
border: solid 2px var(--color--gray-45); |
|
||||||
border-radius: var(--border-radius); |
|
||||||
background-color: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset--group { |
|
||||||
width: 100%; |
|
||||||
color: inherit; |
|
||||||
border: 0; |
|
||||||
border-radius: 0; |
|
||||||
background: none; |
|
||||||
box-shadow: none; |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__legend { |
|
||||||
float: left; /* Prevent sticking out of top of fieldset. */ |
|
||||||
width: 100%; |
|
||||||
color: inherit; |
|
||||||
border-top-left-radius: var(--border-radius); |
|
||||||
border-top-right-radius: var(--border-radius); |
|
||||||
background-color: var(--color--gray-45); |
|
||||||
font-size: var(--font-size-l); |
|
||||||
font-weight: 700; |
|
||||||
line-height: var(--line-height-base); |
|
||||||
|
|
||||||
& + * { |
|
||||||
clear: left; |
|
||||||
} |
|
||||||
|
|
||||||
& .fieldset__label { |
|
||||||
&.form-required { |
|
||||||
&::after { |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg height='16' width='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 7.562 1.114-3.438c2.565.906 4.43 1.688 5.59 2.35-.306-2.921-.467-4.93-.484-6.027h3.511c-.05 1.597-.234 3.6-.558 6.003 1.664-.838 3.566-1.613 5.714-2.325l1.113 3.437c-2.05.678-4.06 1.131-6.028 1.356.984.856 2.372 2.381 4.166 4.575l-2.906 2.059c-.935-1.274-2.041-3.009-3.316-5.206-1.194 2.275-2.244 4.013-3.147 5.206l-2.856-2.059c1.872-2.307 3.211-3.832 4.017-4.575-2.081-.402-4.058-.856-5.93-1.356' fill='%23ffffff'/%3E%3C/svg%3E%0A"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__legend--composite { |
|
||||||
margin-block-start: 2px; |
|
||||||
color: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__legend--invisible { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__legend--group { |
|
||||||
color: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__label { |
|
||||||
display: block; |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: var(--sp1); |
|
||||||
padding-inline-end: var(--sp1); |
|
||||||
color: var(--color--white); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__label.is-disabled { |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__description { |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
font-size: var(--font-size-xs); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__description.is-disabled { |
|
||||||
color: var(--input--disabled-fg-color); |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__error-message { |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
padding-inline-start: var(--sp1-5); |
|
||||||
color: var(--color--red); |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23E33F1E' d='M9 0C4.03125 0 0 4.03125 0 9C0 13.9688 4.03125 18 9 18C13.9687 18 18 13.9688 18 9C18 4.03125 13.9687 0 9 0ZM10.5 14.6133C10.5 14.8242 10.3359 15 10.1367 15H7.88672C7.67578 15 7.5 14.8242 7.5 14.6133V12.3867C7.5 12.1758 7.67578 12 7.88672 12H10.1367C10.3359 12 10.5 12.1758 10.5 12.3867V14.6133ZM10.4766 10.582C10.4648 10.7461 10.2891 10.875 10.0781 10.875H7.91016C7.6875 10.875 7.51172 10.7461 7.51172 10.582L7.3125 3.30469C7.3125 3.22266 7.34766 3.14063 7.42969 3.09375C7.5 3.03516 7.60547 3 7.71094 3H10.2891C10.3945 3 10.5 3.03516 10.5703 3.09375C10.6523 3.14063 10.6875 3.22266 10.6875 3.30469L10.4766 10.582Z'/%3E%3C/svg%3E"); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: left top; /* LTR */ |
|
||||||
background-size: var(--sp1) var(--sp1); |
|
||||||
font-size: var(--font-size-s); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
|
|
||||||
@media screen and (-ms-high-contrast: active) { |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M9 0C4.03125 0 0 4.03125 0 9C0 13.9688 4.03125 18 9 18C13.9687 18 18 13.9688 18 9C18 4.03125 13.9687 0 9 0ZM10.5 14.6133C10.5 14.8242 10.3359 15 10.1367 15H7.88672C7.67578 15 7.5 14.8242 7.5 14.6133V12.3867C7.5 12.1758 7.67578 12 7.88672 12H10.1367C10.3359 12 10.5 12.1758 10.5 12.3867V14.6133ZM10.4766 10.582C10.4648 10.7461 10.2891 10.875 10.0781 10.875H7.91016C7.6875 10.875 7.51172 10.7461 7.51172 10.582L7.3125 3.30469C7.3125 3.22266 7.34766 3.14063 7.42969 3.09375C7.5 3.03516 7.60547 3 7.71094 3H10.2891C10.3945 3 10.5 3.03516 10.5703 3.09375C10.6523 3.14063 10.6875 3.22266 10.6875 3.30469L10.4766 10.582Z'/%3E%3C/svg%3E"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .fieldset__error-message { |
|
||||||
background-position: left top; |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__wrapper { |
|
||||||
margin-block-start: 0; |
|
||||||
padding-block: var(--sp); |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset--group .fieldset__legend--visible ~ .fieldset__wrapper { |
|
||||||
border: solid 2px var(--color--gray-45); |
|
||||||
border-bottom-right-radius: var(--border-radius); |
|
||||||
border-bottom-left-radius: var(--border-radius); |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__wrapper--group { |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.fieldset__wrapper > .container-inline { |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
} |
|
||||||
@ -1,39 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Footer regions. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.site-footer { |
|
||||||
position: relative; /* stack above left social bar */ |
|
||||||
color: var(--color--gray-65); |
|
||||||
background: linear-gradient(180deg, var(--color--gray-5) 0%, var(--color--gray-10) 100%); |
|
||||||
|
|
||||||
& .menu { |
|
||||||
margin-inline-start: 0; |
|
||||||
list-style: none; |
|
||||||
|
|
||||||
& ul { |
|
||||||
margin-inline-start: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
& li { |
|
||||||
margin-block-end: var(--sp0-5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& a { |
|
||||||
color: inherit; |
|
||||||
|
|
||||||
&:hover { |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
body:not(.is-always-mobile-nav) .site-footer { |
|
||||||
border-inline-start: solid var(--content-left) var(--color--black); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,99 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Checkbox and radio input elements. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
input[type="checkbox"], |
|
||||||
input[type="radio"] { |
|
||||||
display: inline-block; |
|
||||||
width: var(--sp1-5); |
|
||||||
height: var(--sp1-5); |
|
||||||
margin: 0; |
|
||||||
vertical-align: middle; |
|
||||||
border: 1px solid var(--color--gray-60); |
|
||||||
border-radius: 3px; |
|
||||||
background-color: var(--color--white); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: 50% 50%; |
|
||||||
background-size: var(--sp1) var(--sp1); |
|
||||||
appearance: none; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
border: solid 2px var(--color--primary-50); |
|
||||||
outline: solid 2px var(--color--primary-50); |
|
||||||
|
|
||||||
@supports (outline-style: double) { |
|
||||||
border-width: 1px; |
|
||||||
outline-width: 6px; |
|
||||||
outline-style: double; |
|
||||||
outline-offset: -1px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:hover { |
|
||||||
border-color: var(--color--primary-60); |
|
||||||
} |
|
||||||
|
|
||||||
&[disabled] { |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
border-color: var(--color--gray-60); |
|
||||||
} |
|
||||||
|
|
||||||
&:checked { |
|
||||||
border-width: 1px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:checked { |
|
||||||
border-width: 2px; |
|
||||||
} |
|
||||||
|
|
||||||
&.error { |
|
||||||
border: solid 2px var(--color--red); |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline-color: var(--color--red); |
|
||||||
outline-offset: -2px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& + label { |
|
||||||
display: inline-block; |
|
||||||
padding-inline-start: var(--sp0-5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
input[type="checkbox"] { |
|
||||||
&:checked { |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg width='17px' height='13px' viewBox='0 0 17 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpath d='M14.8232,0.176777 C14.9209,0.0791457 15.0791,0.0791455 15.1768,0.176777 L16.9445,1.94454 C17.0422,2.04217 17.0422,2.20047 16.9445,2.2981 L6.23744,13.0052 C6.13981,13.1028 5.98151,13.1028 5.88388,13.0052 L0.176777,7.2981 C0.0791456,7.20047 0.0791456,7.04218 0.176777,6.94454 L1.94454,5.17678 C2.04217,5.07915 2.20047,5.07915 2.2981,5.17678 L5.88388,8.76256 C5.98151,8.86019 6.13981,8.86019 6.23744,8.76256 L14.8232,0.176777 Z' id='Path' fill='%232494DB' fill-rule='nonzero'%3E%3C/path%3E%3C/svg%3E"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
input[type="radio"] { |
|
||||||
border-radius: 50%; |
|
||||||
|
|
||||||
&:checked { |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8.5' cy='8.5' r='8.5' fill='%232494DB'/%3E%3C/svg%3E%0A"); |
|
||||||
background-size: 17px; |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
border-width: 2px; |
|
||||||
border-color: var(--color--primary-50); |
|
||||||
outline-color: transparent; |
|
||||||
box-shadow: 0 0 0 2px white, 0 0 0 4px var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
&.error:focus { |
|
||||||
outline-color: transparent; |
|
||||||
box-shadow: 0 0 0 2px white, 0 0 0 4px var(--color--red); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.form-type-boolean { |
|
||||||
margin-block: var(--sp1); |
|
||||||
} |
|
||||||
@ -1,84 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Select input elements. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
:root { |
|
||||||
--form-element-select-icon: url("../../images/chevron-down.svg"); |
|
||||||
} |
|
||||||
|
|
||||||
select { |
|
||||||
max-width: 100%; |
|
||||||
height: var(--sp3); |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
padding-inline-end: var(--sp3); |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
border: 1px solid var(--color--gray-60); |
|
||||||
border-radius: var(--border-radius); |
|
||||||
background-color: var(--color--white); |
|
||||||
background-image: var(--form-element-select-icon); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: right var(--sp) center; /* LTR */ |
|
||||||
font-family: inherit; |
|
||||||
font-size: inherit; |
|
||||||
appearance: none; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
border: solid 2px var(--color--primary-50); |
|
||||||
outline: solid 2px var(--color--primary-50); |
|
||||||
|
|
||||||
@supports (outline-style: double) { |
|
||||||
border-width: 1px; |
|
||||||
outline-width: 6px; |
|
||||||
outline-style: double; |
|
||||||
outline-offset: -1px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&[disabled] { |
|
||||||
color: var(--color--gray-60); |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
&.error { |
|
||||||
border: solid 2px var(--color--red); |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline-color: var(--color--red); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&[multiple] { |
|
||||||
height: auto; |
|
||||||
padding: var(--sp0-5); |
|
||||||
background-image: none; |
|
||||||
line-height: 1; /* Needed by non-Chromium based MS Edge browsers. */ |
|
||||||
|
|
||||||
& option { |
|
||||||
padding: var(--sp0-5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&.form-element--small { |
|
||||||
height: var(--sp2-5); |
|
||||||
} |
|
||||||
|
|
||||||
/* Necessary to show chevron in forced colors mode in modern browsers. */ |
|
||||||
@media (forced-colors: active) { |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
background-image: none; |
|
||||||
appearance: listbox; /* Default <select> appearance value for modern browsers. */ |
|
||||||
|
|
||||||
/* Lets browser set <select> appearance to whatever the browser's default is. */ |
|
||||||
@supports (appearance: revert) { |
|
||||||
appearance: revert; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] select { |
|
||||||
background-position: left var(--sp) center; |
|
||||||
} |
|
||||||
@ -1,90 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Text input elements. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
[type="color"], |
|
||||||
[type="date"], |
|
||||||
[type="datetime-local"], |
|
||||||
[type="email"], |
|
||||||
[type="file"], |
|
||||||
[type="month"], |
|
||||||
[type="number"], |
|
||||||
[type="password"], |
|
||||||
[type="search"], |
|
||||||
[type="tel"], |
|
||||||
[type="text"], |
|
||||||
[type="time"], |
|
||||||
[type="url"], |
|
||||||
[type="week"], |
|
||||||
textarea { |
|
||||||
width: 100%; |
|
||||||
max-width: 100%; |
|
||||||
min-height: var(--sp3); |
|
||||||
padding: 0 var(--sp); |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
border: 1px solid var(--color--gray-60); |
|
||||||
border-radius: var(--border-radius); |
|
||||||
background-color: var(--color--white); |
|
||||||
font-family: inherit; |
|
||||||
font-size: inherit; |
|
||||||
appearance: none; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
border: solid 2px var(--color--primary-50); |
|
||||||
outline: solid 2px var(--color--primary-50); |
|
||||||
|
|
||||||
@supports (outline-style: double) { |
|
||||||
border-width: 1px; |
|
||||||
outline-width: 6px; |
|
||||||
outline-style: double; |
|
||||||
outline-offset: -1px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&[disabled] { |
|
||||||
color: var(--color--gray-60); |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
&.error { |
|
||||||
border: solid 2px var(--color--red); |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline-color: var(--color--red); |
|
||||||
outline-offset: -2px; |
|
||||||
} |
|
||||||
& + .ck-editor > .ck-editor__main { |
|
||||||
border: solid 2px var(--color--red); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&.form-element--small { |
|
||||||
min-height: var(--sp2-5); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
width: auto; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[type="date"] { |
|
||||||
/* Ensure that date field isn't larger than other fields. */ |
|
||||||
&::-webkit-datetime-edit-fields-wrapper { |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[type="file"] { |
|
||||||
height: auto; |
|
||||||
padding-block: var(--sp0-75); |
|
||||||
} |
|
||||||
|
|
||||||
[type="color"] { |
|
||||||
width: var(--sp3); |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
@ -1,13 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Textarea. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
textarea { |
|
||||||
display: block; |
|
||||||
width: 100%; |
|
||||||
min-height: var(--sp8); |
|
||||||
padding: var(--sp); |
|
||||||
} |
|
||||||
@ -1,193 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Main form and form item styles. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
::placeholder { |
|
||||||
color: var(--color--gray-60); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* General form item. |
|
||||||
*/ |
|
||||||
.form-item { |
|
||||||
margin-block: var(--sp1); |
|
||||||
} |
|
||||||
|
|
||||||
.form-item__label--multiple-value-form { |
|
||||||
margin-block: 0; |
|
||||||
font-size: inherit; |
|
||||||
font-weight: inherit; |
|
||||||
line-height: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* When a table row or a container-inline has a single form item, prevent it |
|
||||||
* from adding unnecessary extra spacing. |
|
||||||
* If it has multiple form items, allow spacing between them, overriding core. |
|
||||||
*/ |
|
||||||
tr .form-item, |
|
||||||
.container-inline .form-item { |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Form element label. |
|
||||||
*/ |
|
||||||
.form-item__label { |
|
||||||
display: block; |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
} |
|
||||||
|
|
||||||
.container-inline .form-item__label { |
|
||||||
margin-inline-end: 1em; |
|
||||||
} |
|
||||||
|
|
||||||
.form-item__label--multiple-value-form { |
|
||||||
margin-block: 0; |
|
||||||
font-size: inherit; |
|
||||||
font-weight: inherit; |
|
||||||
line-height: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
.form-item__label[for] { |
|
||||||
cursor: pointer; |
|
||||||
} |
|
||||||
|
|
||||||
.form-item__label.option { |
|
||||||
display: inline; |
|
||||||
font-weight: normal; |
|
||||||
} |
|
||||||
|
|
||||||
/* Label states. */ |
|
||||||
.form-item__label.is-disabled { |
|
||||||
cursor: default; |
|
||||||
color: var(--color--gray-70); |
|
||||||
} |
|
||||||
|
|
||||||
/* Form required star icon */ |
|
||||||
.form-item__label.form-required::after, |
|
||||||
.fieldset__label.form-required::after, |
|
||||||
.required-mark::after { |
|
||||||
display: inline-block; |
|
||||||
width: 0.5rem; |
|
||||||
height: 0.5rem; |
|
||||||
margin-inline: 0.3em; |
|
||||||
content: ""; |
|
||||||
vertical-align: text-top; |
|
||||||
/* Use a background image to prevent screen readers from announcing the text. */ |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg height='16' width='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 7.562 1.114-3.438c2.565.906 4.43 1.688 5.59 2.35-.306-2.921-.467-4.93-.484-6.027h3.511c-.05 1.597-.234 3.6-.558 6.003 1.664-.838 3.566-1.613 5.714-2.325l1.113 3.437c-2.05.678-4.06 1.131-6.028 1.356.984.856 2.372 2.381 4.166 4.575l-2.906 2.059c-.935-1.274-2.041-3.009-3.316-5.206-1.194 2.275-2.244 4.013-3.147 5.206l-2.856-2.059c1.872-2.307 3.211-3.832 4.017-4.575-2.081-.402-4.058-.856-5.93-1.356' fill='%232494DB'/%3E%3C/svg%3E%0A"); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-size: 0.5rem 0.5rem; |
|
||||||
|
|
||||||
@media screen and (-ms-high-contrast: active) { |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg height='16' width='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 7.562 1.114-3.438c2.565.906 4.43 1.688 5.59 2.35-.306-2.921-.467-4.93-.484-6.027h3.511c-.05 1.597-.234 3.6-.558 6.003 1.664-.838 3.566-1.613 5.714-2.325l1.113 3.437c-2.05.678-4.06 1.131-6.028 1.356.984.856 2.372 2.381 4.166 4.575l-2.906 2.059c-.935-1.274-2.041-3.009-3.316-5.206-1.194 2.275-2.244 4.013-3.147 5.206l-2.856-2.059c1.872-2.307 3.211-3.832 4.017-4.575-2.081-.402-4.058-.856-5.93-1.356' fill='%23ffffff'/%3E%3C/svg%3E%0A"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Form item description. |
|
||||||
*/ |
|
||||||
.form-item__description { |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
max-width: 60ch; |
|
||||||
font-size: var(--font-size-s); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
} |
|
||||||
|
|
||||||
.field-multiple-table + .form-item__description { |
|
||||||
margin-block-start: 0; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Error message (Inline form errors). |
|
||||||
*/ |
|
||||||
.form-item--error-message { |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
padding-inline-start: var(--sp1-5); |
|
||||||
color: var(--color--red); |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23E33F1E' d='M9 0C4.03125 0 0 4.03125 0 9C0 13.9688 4.03125 18 9 18C13.9687 18 18 13.9688 18 9C18 4.03125 13.9687 0 9 0ZM10.5 14.6133C10.5 14.8242 10.3359 15 10.1367 15H7.88672C7.67578 15 7.5 14.8242 7.5 14.6133V12.3867C7.5 12.1758 7.67578 12 7.88672 12H10.1367C10.3359 12 10.5 12.1758 10.5 12.3867V14.6133ZM10.4766 10.582C10.4648 10.7461 10.2891 10.875 10.0781 10.875H7.91016C7.6875 10.875 7.51172 10.7461 7.51172 10.582L7.3125 3.30469C7.3125 3.22266 7.34766 3.14063 7.42969 3.09375C7.5 3.03516 7.60547 3 7.71094 3H10.2891C10.3945 3 10.5 3.03516 10.5703 3.09375C10.6523 3.14063 10.6875 3.22266 10.6875 3.30469L10.4766 10.582Z'/%3E%3C/svg%3E"); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: left top; /* LTR */ |
|
||||||
background-size: var(--sp1) var(--sp1); |
|
||||||
font-size: var(--font-size-s); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
|
|
||||||
@media screen and (-ms-high-contrast: active) { |
|
||||||
background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M9 0C4.03125 0 0 4.03125 0 9C0 13.9688 4.03125 18 9 18C13.9687 18 18 13.9688 18 9C18 4.03125 13.9687 0 9 0ZM10.5 14.6133C10.5 14.8242 10.3359 15 10.1367 15H7.88672C7.67578 15 7.5 14.8242 7.5 14.6133V12.3867C7.5 12.1758 7.67578 12 7.88672 12H10.1367C10.3359 12 10.5 12.1758 10.5 12.3867V14.6133ZM10.4766 10.582C10.4648 10.7461 10.2891 10.875 10.0781 10.875H7.91016C7.6875 10.875 7.51172 10.7461 7.51172 10.582L7.3125 3.30469C7.3125 3.22266 7.34766 3.14063 7.42969 3.09375C7.5 3.03516 7.60547 3 7.71094 3H10.2891C10.3945 3 10.5 3.03516 10.5703 3.09375C10.6523 3.14063 10.6875 3.22266 10.6875 3.30469L10.4766 10.582Z'/%3E%3C/svg%3E"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .form-item--error-message { |
|
||||||
background-position: right top; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Form actions. |
|
||||||
*/ |
|
||||||
.form-actions { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
align-items: flex-start; |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
} |
|
||||||
|
|
||||||
.form-actions .button, |
|
||||||
.form-actions .action-link { |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
} |
|
||||||
|
|
||||||
.form-actions .ajax-progress--throbber { |
|
||||||
align-self: center; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Custom label placement for editor filter format select. |
|
||||||
*/ |
|
||||||
.form-item--editor-format { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
align-items: center; |
|
||||||
max-width: 100%; |
|
||||||
} |
|
||||||
|
|
||||||
.form-item--editor-format .form-item__label, |
|
||||||
.form-item--editor-format .form-item__prefix, |
|
||||||
.form-item--editor-format .form-item__suffix, |
|
||||||
.form-item--editor-format .form-element--editor-format { |
|
||||||
min-width: 1px; |
|
||||||
} |
|
||||||
|
|
||||||
.form-item--editor-format .form-item__label, |
|
||||||
.form-item--editor-format .form-item__prefix, |
|
||||||
.form-item--editor-format .form-item__suffix { |
|
||||||
margin-inline-end: var(--sp0-5); |
|
||||||
} |
|
||||||
|
|
||||||
.form-item--editor-format .form-item__description, |
|
||||||
.form-item--editor-format .form-item--error-message { |
|
||||||
flex: 0 1 100%; |
|
||||||
min-width: 1px; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Inline forms. |
|
||||||
*/ |
|
||||||
.form--inline { |
|
||||||
& > * { |
|
||||||
display: inline-block; |
|
||||||
margin-top: var(--sp0-5); |
|
||||||
margin-bottom: 0; |
|
||||||
vertical-align: top; /* Ensure proper alignment if description is present. */ |
|
||||||
} |
|
||||||
|
|
||||||
& .form-item__label { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& .form-actions { |
|
||||||
margin-top: var(--sp1-5); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,19 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Forum specific styles. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.forum { |
|
||||||
& table { |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.forum__name--link, |
|
||||||
.forum__last-reply a, |
|
||||||
.forum__title a { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
@ -1,29 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Header Mobile Buttons. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.mobile-buttons { |
|
||||||
margin-block-start: var(--sp0-5); |
|
||||||
margin-inline-start: auto; |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
margin-block-start: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-block-start: var(--sp4); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
margin-block-start: var(--sp6); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
body:not(.is-always-mobile-nav) .mobile-buttons { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,128 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Navigation in header. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.header-nav { |
|
||||||
position: fixed; |
|
||||||
z-index: 501; /* Appear above overlay and contextual links in header. */ |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-start: 100%; |
|
||||||
visibility: hidden; |
|
||||||
overflow: auto; |
|
||||||
/* Ensure that header nav not use additional space and force system branding |
|
||||||
* block text to unnecessarily wrap. */ |
|
||||||
flex-basis: max-content; |
|
||||||
width: 100%; |
|
||||||
max-width: var(--mobile-nav-width); |
|
||||||
height: 100%; |
|
||||||
padding-block: 0 var(--sp); |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
/* Create room for the "close" button. We cannot use margin because the |
|
||||||
* mobile navigation needs to slide beneath the button, but we also cannot |
|
||||||
* use padding because that would enable the button to scroll out of the |
|
||||||
* viewport on short screens. */ |
|
||||||
border-block-start: solid var(--color--white) calc(var(--sp3) + var(--drupal-displace-offset-top, 0px)); |
|
||||||
background-color: var(--color--white); |
|
||||||
box-shadow: 0 0 72px rgba(0, 0, 0, 0.1); |
|
||||||
|
|
||||||
&.is-active { |
|
||||||
visibility: visible; |
|
||||||
transform: translateX(calc(-100% - var(--drupal-displace-offset-right, 0px))); /* LTR */ |
|
||||||
|
|
||||||
&:dir(rtl) { |
|
||||||
transform: translateX(calc(100% + var(--drupal-displace-offset-left, 0px))); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
border-top-width: calc(var(--sp5) + var(--drupal-displace-offset-top, 0px)); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
padding-block-end: var(--sp3); |
|
||||||
padding-inline-start: var(--sp3); |
|
||||||
border-top-width: calc(var(--sp7) + var(--drupal-displace-offset-top, 0px)); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-column: 5 / 14; |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
* Ensure top border has the same color as the background when in forced colors. |
|
||||||
*/ |
|
||||||
@media (forced-colors: active) { |
|
||||||
border-top-color: canvas; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
* Only apply transition styles when JS is loaded. This |
|
||||||
* works around https://bugs.chromium.org/p/chromium/issues/detail?id=332189 |
|
||||||
*/ |
|
||||||
html.js .header-nav { |
|
||||||
transition: visibility 0.2s, transform 0.2s; |
|
||||||
} |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) .header-nav { |
|
||||||
@media (--nav) { |
|
||||||
position: static; |
|
||||||
display: flex; |
|
||||||
visibility: visible; |
|
||||||
overflow: visible; |
|
||||||
grid-column: 5 / 15; |
|
||||||
align-items: center; |
|
||||||
justify-content: flex-end; |
|
||||||
max-width: none; |
|
||||||
height: var(--header-height-wide-when-fixed); |
|
||||||
margin-block-start: auto; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
transition: transform 0.2s; |
|
||||||
transform: none; |
|
||||||
border-block-start: 0; |
|
||||||
box-shadow: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body.is-always-mobile-nav { |
|
||||||
& .header-nav { |
|
||||||
@media (--nav) { |
|
||||||
overflow: auto; |
|
||||||
max-width: calc((7 * (var(--grid-col-width) + var(--grid-gap)))); |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
transition: transform 0.2s, visibility 0.2s; |
|
||||||
border-top-width: calc(var(--drupal-displace-offset-top, 0px) + var(--sp11)); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-max) { |
|
||||||
max-width: calc(100vw - (var(--max-width) + var(--content-left)) + ((7 * (var(--grid-col-width) + var(--grid-gap))))); |
|
||||||
padding-inline-end: calc(100vw - (var(--max-width) + var(--content-left) - var(--sp))); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.header-nav-overlay { |
|
||||||
position: fixed; |
|
||||||
z-index: 101; |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
display: none; |
|
||||||
width: 100%; |
|
||||||
height: 100vh; |
|
||||||
opacity: 0.2; |
|
||||||
background: var(--color--gray-5); |
|
||||||
|
|
||||||
@media (forced-colors: active) { |
|
||||||
background: canvastext; |
|
||||||
} |
|
||||||
|
|
||||||
@nest .is-overlay-active & { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,173 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Header Search Narrow Block. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.block-search-narrow { |
|
||||||
margin-inline: calc(-1 * var(--sp)); |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
background: var(--color--black); |
|
||||||
|
|
||||||
& .search-block-form { |
|
||||||
display: flex; |
|
||||||
} |
|
||||||
|
|
||||||
& .form-item { |
|
||||||
flex-grow: 1; |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& .form-actions { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& input[type="search"] { |
|
||||||
width: calc(100% + var(--sp2)); |
|
||||||
height: calc(3 * var(--sp)); |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
transition: background-size 0.4s; |
|
||||||
color: var(--color--white); |
|
||||||
border: solid 1px transparent; |
|
||||||
background-color: transparent; |
|
||||||
background-image: linear-gradient(var(--color--primary-50), var(--color--primary-50)); /* Two values are needed for IE11 support. */ |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: bottom left; /* LTR */ |
|
||||||
background-size: 0% 5px; |
|
||||||
box-shadow: none; |
|
||||||
font-family: var(--font-serif); |
|
||||||
font-size: 16px; |
|
||||||
-webkit-appearance: none; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 4px transparent; |
|
||||||
outline-offset: -4px; |
|
||||||
background-size: 100% 5px; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
height: calc(4 * var(--sp)); |
|
||||||
padding-inline-start: var(--sp2); |
|
||||||
padding-inline-end: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .search-form__submit { |
|
||||||
position: relative; |
|
||||||
overflow: hidden; |
|
||||||
align-self: stretch; |
|
||||||
width: var(--sp3); |
|
||||||
height: auto; |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
cursor: pointer; |
|
||||||
border-color: transparent; |
|
||||||
background-color: transparent; |
|
||||||
|
|
||||||
/* |
|
||||||
When in Windows high contrast mode, FF will not output either background |
|
||||||
images or SVGs that are nested directly within a <button> element, so we add a <span>. |
|
||||||
*/ |
|
||||||
& .icon--search { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
display: block; |
|
||||||
width: 100%; /* Width of the SVG background image. */ |
|
||||||
height: 100%; |
|
||||||
pointer-events: none; |
|
||||||
background-image: url("../../images/search--white.svg"); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: center; |
|
||||||
background-size: auto; |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-end: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: 100%; |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
transition: transform 0.2s; |
|
||||||
transform: scaleX(0); |
|
||||||
transform-origin: left; /* LTR */ |
|
||||||
border-block-start: solid 5px var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
@media (forced-colors: active) { |
|
||||||
background: buttontext; |
|
||||||
mask-image: url("../../images/search--white.svg"); |
|
||||||
mask-repeat: no-repeat; |
|
||||||
mask-position: center; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 4px transparent; |
|
||||||
outline-offset: -4px; |
|
||||||
box-shadow: none; |
|
||||||
|
|
||||||
& span::after { |
|
||||||
transform: scaleX(1); |
|
||||||
} |
|
||||||
|
|
||||||
@media screen and (-ms-high-contrast: active) { |
|
||||||
border-bottom-width: var(--sp0-5); |
|
||||||
|
|
||||||
& span::after { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
width: 80px; |
|
||||||
} |
|
||||||
|
|
||||||
@media screen and (-ms-high-contrast: active) { |
|
||||||
/* IE11's high contrast show will not show the background image, so we show the text. */ |
|
||||||
& .visually-hidden { |
|
||||||
position: static; |
|
||||||
overflow: visible; |
|
||||||
clip: auto; |
|
||||||
width: auto; |
|
||||||
height: auto; |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
|
|
||||||
/* Edge's high contrast does show the background image, so we hide it. */ |
|
||||||
& .icon--search { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* 500px is the width of the primary nav at mobile. */ |
|
||||||
@media (min-width: 500px) { |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) .block-search-narrow { |
|
||||||
@media (--nav) { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .block-search-narrow { |
|
||||||
& input[type="search"] { |
|
||||||
background-position: bottom right; |
|
||||||
} |
|
||||||
|
|
||||||
& .search-form__submit .icon--search::after { |
|
||||||
transform-origin: right; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,282 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Header Search Wide Block. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
/* Override contextual links so we can position against .site-header. */ |
|
||||||
.block-search-wide.contextual-region { |
|
||||||
position: static; |
|
||||||
} |
|
||||||
|
|
||||||
.block-search-wide__wrapper { |
|
||||||
position: absolute; |
|
||||||
z-index: 1; /* Ensure left border shows above social region in IE11. */ |
|
||||||
inset-block-start: 100%; |
|
||||||
inset-inline-start: calc(-1 * var(--content-left)); |
|
||||||
display: none; |
|
||||||
visibility: hidden; |
|
||||||
overflow: hidden; |
|
||||||
width: calc(100% + var(--content-left)); |
|
||||||
max-width: var(--max-bg-color); |
|
||||||
height: var(--sp8); |
|
||||||
max-height: 0; |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
transition: all 0.2s; |
|
||||||
border-inline-start: solid var(--content-left) var(--color--gray-20); |
|
||||||
background: var(--color--black); |
|
||||||
|
|
||||||
&.is-active { |
|
||||||
visibility: visible; |
|
||||||
max-height: var(--sp8); |
|
||||||
} |
|
||||||
|
|
||||||
& form { |
|
||||||
display: flex; |
|
||||||
grid-column: 1 / 14; |
|
||||||
} |
|
||||||
|
|
||||||
& input[type="search"] { |
|
||||||
width: calc(100% + var(--sp2)); |
|
||||||
height: var(--sp8); |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: var(--sp12); |
|
||||||
padding-inline-end: 0; |
|
||||||
transition: background-size 0.4s; |
|
||||||
color: var(--color--white); |
|
||||||
border: solid 1px transparent; |
|
||||||
box-shadow: none; |
|
||||||
font-family: var(--font-serif); |
|
||||||
font-size: 32px; |
|
||||||
-webkit-appearance: none; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 4px transparent; |
|
||||||
outline-offset: -4px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .form-item-keys { |
|
||||||
flex-grow: 1; |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& .form-actions { |
|
||||||
display: flex; |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& .search-form__submit { |
|
||||||
position: relative; |
|
||||||
overflow: hidden; |
|
||||||
align-self: stretch; |
|
||||||
width: 100px; |
|
||||||
height: auto; |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
cursor: pointer; |
|
||||||
border-color: transparent; |
|
||||||
background-color: transparent; |
|
||||||
|
|
||||||
/* |
|
||||||
When in Windows high contrast mode, FF will not output either background |
|
||||||
images or SVGs that are nested directly within a <button> element, so we add a <span>. |
|
||||||
*/ |
|
||||||
& .icon--search { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-end: 0; |
|
||||||
display: block; |
|
||||||
width: 24px; /* Width of the SVG background image. */ |
|
||||||
height: 100%; |
|
||||||
pointer-events: none; |
|
||||||
background-image: url("../../images/search--white.svg"); |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: center; |
|
||||||
background-size: contain; |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-end: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: 100%; |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
transition: transform 0.2s; |
|
||||||
transform: scaleX(0); |
|
||||||
transform-origin: left; |
|
||||||
border-block-start: solid var(--sp0-5) var(--color--primary-50); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: solid 4px transparent; |
|
||||||
outline-offset: -4px; |
|
||||||
box-shadow: none; |
|
||||||
|
|
||||||
& span::after { |
|
||||||
transform: scaleX(1); |
|
||||||
} |
|
||||||
|
|
||||||
@media screen and (-ms-high-contrast: active) { |
|
||||||
border-bottom-width: var(--sp0-5); |
|
||||||
|
|
||||||
& span::after { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media screen and (-ms-high-contrast: active) { |
|
||||||
/* Edge's high contrast does show the background image, so we hide it. */ |
|
||||||
& .icon--search { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.block-search-wide__container { |
|
||||||
max-width: var(--max-width); |
|
||||||
padding-inline-end: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
.block-search-wide__grid { |
|
||||||
display: grid; |
|
||||||
grid-template-columns: repeat(var(--grid-col-count), 1fr); |
|
||||||
grid-column-gap: var(--grid-gap); |
|
||||||
} |
|
||||||
|
|
||||||
/* Override specificity from container-inline.module.css */ |
|
||||||
.container-inline { |
|
||||||
& .block-search-wide__container { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
|
|
||||||
& .block-search-wide__grid { |
|
||||||
display: grid; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.block-search-wide__button { |
|
||||||
position: relative; |
|
||||||
display: none; |
|
||||||
width: var(--sp3); |
|
||||||
height: var(--sp6); |
|
||||||
cursor: pointer; |
|
||||||
color: var(--color-text-neutral-loud); /* Affects SVG search icon. */ |
|
||||||
border: 0; |
|
||||||
background: transparent; |
|
||||||
-webkit-appearance: none; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
position: relative; |
|
||||||
outline: 0; |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
top: 50%; |
|
||||||
left: 50%; |
|
||||||
width: 80%; |
|
||||||
height: var(--sp3); |
|
||||||
content: ""; |
|
||||||
transform: translate(-50%, -50%); |
|
||||||
border: solid 2px var(--color--primary-50); |
|
||||||
border-radius: 4px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&[aria-expanded="true"] { |
|
||||||
background: var(--color--black); |
|
||||||
|
|
||||||
&:focus::after { |
|
||||||
border-color: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
& .block-search-wide__button-close { |
|
||||||
&::before, |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
top: 50%; |
|
||||||
left: 50%; |
|
||||||
width: var(--sp1-5); |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
border-block-start: solid 2px var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
&::before { |
|
||||||
transform: translate(-50%, -50%) rotate(-45deg); |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
transform: translate(-50%, -50%) rotate(45deg); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& svg { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& svg { |
|
||||||
margin-inline-start: auto; |
|
||||||
margin-inline-end: auto; |
|
||||||
} |
|
||||||
|
|
||||||
@media (forced-colors: active) { |
|
||||||
background: ButtonFace; |
|
||||||
|
|
||||||
& path { |
|
||||||
fill: ButtonText; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Provide rudimentary access to site search if JS is disabled. */ |
|
||||||
html:not(.js) .search-block-form:focus-within .block-search-wide__wrapper { |
|
||||||
visibility: visible; |
|
||||||
max-height: var(--sp8); |
|
||||||
} |
|
||||||
|
|
||||||
/* Necessary to override specificity of transpiled PostCSS properties from default input focus styling. */ |
|
||||||
[dir] .block-search-wide__wrapper input[type="search"] { |
|
||||||
background-color: transparent; |
|
||||||
background-image: linear-gradient(var(--color--primary-50), var(--color--primary-50)); /* Two values are needed for IE11 support. */ |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: bottom left; /* LTR */ |
|
||||||
background-size: 0% 10px; |
|
||||||
|
|
||||||
&:focus { |
|
||||||
background-size: 100% var(--sp0-5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .block-search-wide__wrapper { |
|
||||||
& input[type="search"] { |
|
||||||
background-position: bottom right; |
|
||||||
} |
|
||||||
|
|
||||||
& .search-form__submit .icon--search::after { |
|
||||||
transform-origin: right; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) { |
|
||||||
& .block-search-wide__wrapper, |
|
||||||
& .block-search-wide__button { |
|
||||||
@media (--nav) { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,120 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Site branding in header. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.site-branding { |
|
||||||
display: flex; |
|
||||||
flex-shrink: 1; |
|
||||||
align-items: flex-end; |
|
||||||
min-width: calc((2 * var(--grid-col-width)) + (2 * var(--grid-gap)) + var(--container-padding)); /* Span minimum of 2 column widths. */ |
|
||||||
min-height: var(--sp3); |
|
||||||
margin-inline: calc(-1 * var(--container-padding)) var(--sp); /* Negative margin to break out of .container element. */ |
|
||||||
padding-block: 0 var(--sp0-5); |
|
||||||
padding-inline-start: var(--container-padding); |
|
||||||
padding-inline-end: var(--container-padding); |
|
||||||
background-image: linear-gradient(160deg, var(--color--primary-50) 0%, var(--color--primary-40) 78.66%); |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
min-height: var(--sp4); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
min-width: calc((4 * var(--grid-col-width)) + (4 * var(--grid-gap)) + var(--container-padding)); /* Span minimum of 4 column widths. */ |
|
||||||
min-height: var(--sp6); |
|
||||||
padding-block-end: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
min-width: calc((2 * var(--grid-col-width)) + (2 * var(--grid-gap)) + var(--container-padding)); /* Span minimum of 2 column widths. */ |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
min-height: var(--site-header-height-wide); |
|
||||||
margin-inline-start: calc(-1 * var(--container-padding)); |
|
||||||
padding-block: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .site-branding { |
|
||||||
background-image: linear-gradient(-160deg, var(--color--primary-50) 0%, var(--color--primary-40) 78.66%); |
|
||||||
} |
|
||||||
|
|
||||||
.site-branding--bg-gray { |
|
||||||
background: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
.site-branding--bg-white { |
|
||||||
background: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
.site-branding__inner { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
|
|
||||||
& a { |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
height: var(--header-height-wide-when-fixed); |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.site-branding__logo { |
|
||||||
flex-shrink: 0; |
|
||||||
max-width: 100%; |
|
||||||
|
|
||||||
& img { |
|
||||||
width: auto; |
|
||||||
max-width: 100%; |
|
||||||
max-height: var(--sp2); |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
max-height: var(--sp3); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
max-height: var(--sp4); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
max-height: calc(var(--header-height-wide-when-fixed) - var(--sp)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.site-branding__text { |
|
||||||
color: var(--color--white); |
|
||||||
font-size: 18px; |
|
||||||
font-weight: bold; |
|
||||||
|
|
||||||
& a { |
|
||||||
color: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
font-size: 28px; |
|
||||||
line-height: 28px; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
letter-spacing: 0.02em; |
|
||||||
font-size: 32px; |
|
||||||
line-height: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.site-branding--bg-gray .site-branding__text, |
|
||||||
.site-branding--bg-white .site-branding__text { |
|
||||||
color: var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
.site-branding__logo + .site-branding__text { |
|
||||||
margin-inline-start: 12px; |
|
||||||
} |
|
||||||
@ -1,91 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Sticky Header Toggle Button. |
|
||||||
* |
|
||||||
* This button shows on the left hand side of the header (in LTR layouts), and |
|
||||||
* toggles fixing the header to the top of the viewport. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.sticky-header-toggle { |
|
||||||
display: none; |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
display: flex; |
|
||||||
flex-shrink: 0; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
width: var(--content-left); |
|
||||||
height: var(--sp6); |
|
||||||
pointer-events: none; |
|
||||||
opacity: 0; |
|
||||||
border: 0; |
|
||||||
outline: 0; |
|
||||||
background-color: var(--color--primary-50); |
|
||||||
|
|
||||||
&:focus { |
|
||||||
cursor: pointer; |
|
||||||
pointer-events: auto; |
|
||||||
opacity: 1; |
|
||||||
outline: solid 2px var(--color--white); |
|
||||||
outline-offset: -4px; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) .is-fixed .sticky-header-toggle { |
|
||||||
@media (--nav) { |
|
||||||
visibility: visible; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body.is-always-mobile-nav .sticky-header-toggle { |
|
||||||
@media (--nav) { |
|
||||||
visibility: hidden; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.sticky-header-toggle__icon { |
|
||||||
--icon-bar-height: 3px; |
|
||||||
--icon-bar-space: 7px; |
|
||||||
|
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
justify-content: space-between; |
|
||||||
width: var(--sp2); |
|
||||||
height: calc((var(--icon-bar-height) * 3) + (var(--icon-bar-space) * 2)); |
|
||||||
/* Height = 3 bars + 2 spaces */ |
|
||||||
transition: opacity 0.2s; |
|
||||||
pointer-events: none; |
|
||||||
transform-style: preserve-3d; |
|
||||||
|
|
||||||
& > span { |
|
||||||
display: block; |
|
||||||
width: 100%; |
|
||||||
height: var(--icon-bar-height); |
|
||||||
transition: transform 0.2s; |
|
||||||
transform-origin: center; |
|
||||||
background-color: var(--color--white); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.is-fixed .sticky-header-toggle { |
|
||||||
cursor: pointer; |
|
||||||
pointer-events: auto; |
|
||||||
opacity: 1; |
|
||||||
} |
|
||||||
|
|
||||||
[aria-checked="true"] .sticky-header-toggle__icon { |
|
||||||
& > span:nth-child(1) { |
|
||||||
transform: translateY(calc(var(--icon-bar-height) + var(--icon-bar-space))) rotate(-45deg); |
|
||||||
} |
|
||||||
|
|
||||||
& > span:nth-child(2) { |
|
||||||
opacity: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& > span:nth-child(3) { |
|
||||||
transform: translateY(calc(0px - var(--icon-bar-height) - var(--icon-bar-space))) rotate(45deg); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,43 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Main Hero. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.hero__content { |
|
||||||
grid-column: 1 / 7; |
|
||||||
|
|
||||||
@media (--grid-md) { /* 700px */ |
|
||||||
grid-column: 3 / 13; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-column: 3 / 11; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.hero__img { |
|
||||||
grid-column: 1 / 7; |
|
||||||
margin-block-start: var(--sp2); |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
|
|
||||||
& img { |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
margin-block-start: var(--sp3); |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
grid-column: 1 / 15; |
|
||||||
margin-block-start: var(--sp4); |
|
||||||
margin-block-end: var(--sp4); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-column: 2 / 14; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,28 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Links component. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.links.inline { |
|
||||||
margin-inline-start: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
|
|
||||||
& > * { |
|
||||||
display: inline; |
|
||||||
|
|
||||||
&:not(:last-child) { |
|
||||||
padding-inline-end: 1em; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.node--type-book .links.inline { |
|
||||||
@media (--md) { |
|
||||||
text-align: end; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,27 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Maintenance page. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.maintenance-page { |
|
||||||
& .site-header__initial { |
|
||||||
@media (--nav) { |
|
||||||
flex-shrink: 0; |
|
||||||
width: var(--content-left); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .main-content { |
|
||||||
min-height: 80vh; |
|
||||||
} |
|
||||||
} |
|
||||||
.maintenance-page-icon { |
|
||||||
display: block; |
|
||||||
margin-block: var(--sp3); |
|
||||||
|
|
||||||
& path { |
|
||||||
fill: var(--color--primary-50); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,159 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Messages. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
:root { |
|
||||||
--messages-icon-size: 32px; |
|
||||||
} |
|
||||||
|
|
||||||
.messages-list { |
|
||||||
margin-block: var(--sp1); |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
.messages { |
|
||||||
min-height: calc(var(--messages-icon-size) + 2 * var(--sp1)); |
|
||||||
padding-block: var(--sp1); |
|
||||||
padding-inline-start: var(--sp1-5); |
|
||||||
padding-inline-end: var(--sp1-5); |
|
||||||
color: var(--color--white); |
|
||||||
outline: solid 1px transparent; |
|
||||||
background-color: var(--color--gray-5); |
|
||||||
|
|
||||||
& * { |
|
||||||
color: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
/* Additional specificity to override contrib modules. */ |
|
||||||
&.messages-list__item { |
|
||||||
background-image: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.messages__list { |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
.messages:not(.hidden) ~ .messages { |
|
||||||
margin-block-start: var(--sp1); |
|
||||||
} |
|
||||||
|
|
||||||
.messages__item + .messages__item { |
|
||||||
margin-block-start: var(--sp0-5); |
|
||||||
} |
|
||||||
|
|
||||||
.messages__container { |
|
||||||
display: flex; |
|
||||||
} |
|
||||||
|
|
||||||
.messages__header { |
|
||||||
flex-shrink: 0; |
|
||||||
margin-inline-end: var(--sp1); |
|
||||||
|
|
||||||
&.no-icon { |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.messages__content { |
|
||||||
overflow: auto; /* Ensure large code blocks can be scrolled to. */ |
|
||||||
flex: 1; |
|
||||||
padding-block-start: 3px; |
|
||||||
} |
|
||||||
|
|
||||||
.messages__button { |
|
||||||
flex-shrink: 0; |
|
||||||
margin-inline-start: var(--sp1); |
|
||||||
padding-block-start: 3px; |
|
||||||
} |
|
||||||
|
|
||||||
.messages__close { |
|
||||||
position: relative; |
|
||||||
width: 25px; |
|
||||||
height: 25px; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
cursor: pointer; |
|
||||||
vertical-align: top; |
|
||||||
border: 0; |
|
||||||
background: none; |
|
||||||
appearance: none; |
|
||||||
|
|
||||||
&::before, |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
top: 50%; |
|
||||||
left: 50%; |
|
||||||
display: block; |
|
||||||
width: 33px; |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
border-top: solid 2px var(--color--gray-60); |
|
||||||
} |
|
||||||
|
|
||||||
&::before { |
|
||||||
transform: translate(-50%, -50%) rotate(45deg); |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
transform: translate(-50%, -50%) rotate(-45deg); |
|
||||||
} |
|
||||||
|
|
||||||
&:hover { |
|
||||||
&::before, |
|
||||||
&::after { |
|
||||||
border-color: var(--color--white); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
outline: 2px solid var(--color--primary-60); |
|
||||||
outline-offset: 2px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.messages__icon svg { |
|
||||||
vertical-align: top; |
|
||||||
} |
|
||||||
|
|
||||||
.messages--error .messages__icon svg { |
|
||||||
fill: var(--color--red); |
|
||||||
} |
|
||||||
|
|
||||||
.messages--warning .messages__icon svg { |
|
||||||
fill: var(--color--gold); |
|
||||||
} |
|
||||||
|
|
||||||
.messages--status .messages__icon svg { |
|
||||||
fill: var(--color--green); |
|
||||||
} |
|
||||||
|
|
||||||
.messages--info .messages__icon svg { |
|
||||||
fill: var(--color--primary-60); |
|
||||||
} |
|
||||||
|
|
||||||
.messages a { |
|
||||||
color: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
.messages pre { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.js-form-managed-file .messages { |
|
||||||
margin-block-end: var(--sp1); |
|
||||||
border-inline-start: solid 6px var(--color--red); |
|
||||||
} |
|
||||||
@ -1,34 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Node preview container styling. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.node-preview-container { |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: var(--sp0-5); |
|
||||||
padding-inline-end: var(--sp0-5); |
|
||||||
background: var(--color--white); |
|
||||||
box-shadow: -36px 1px 36px rgba(0, 0, 0, 0.08); /* LTR */ |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .node-preview-container { |
|
||||||
box-shadow: 36px 1px 36px rgba(0, 0, 0, 0.08); |
|
||||||
} |
|
||||||
|
|
||||||
.toolbar-vertical.toolbar-tray-open .node-preview-container { |
|
||||||
max-width: calc(100vw - var(--toolbar-tray-vertical-width) - var(--scrollbar-width)); |
|
||||||
} |
|
||||||
|
|
||||||
.node-preview-form-select { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
align-items: center; |
|
||||||
} |
|
||||||
|
|
||||||
.node-preview-backlink { |
|
||||||
margin-block: var(--sp0-5); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: auto; |
|
||||||
} |
|
||||||
@ -1,116 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Node Teaser specific styles. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.node--view-mode-teaser { |
|
||||||
position: relative; /* Anchor after pseudo-element. */ |
|
||||||
margin-block-end: var(--sp1-5); |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-end: 0; |
|
||||||
width: var(--sp3); |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: solid 2px var(--color--gray-95); |
|
||||||
} |
|
||||||
|
|
||||||
& .node__meta { |
|
||||||
margin-block-end: var(--sp); |
|
||||||
|
|
||||||
& a { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .node__top-wrapper { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
align-items: center; |
|
||||||
margin: 0; |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
position: relative; /* Anchor the image */ |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .primary-image { |
|
||||||
flex-shrink: 0; |
|
||||||
margin: 0; |
|
||||||
margin-block-end: var(--sp1); |
|
||||||
margin-inline-end: var(--sp1); |
|
||||||
|
|
||||||
/* Ensure title does not wrap under image until necessary. */ |
|
||||||
& + .node__title { |
|
||||||
flex-basis: calc(100% - calc(4.5 * var(--sp))); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
flex-basis: auto; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& a { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
|
|
||||||
& img { |
|
||||||
width: calc(3.5 * var(--sp)); |
|
||||||
height: calc(3.5 * var(--sp)); |
|
||||||
object-fit: cover; |
|
||||||
border-radius: 50%; |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
width: var(--grid-col-width); |
|
||||||
height: var(--grid-col-width); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-start: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))); |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .node__title { |
|
||||||
margin: 0; |
|
||||||
margin-block-end: var(--sp1); |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
font-size: 24px; |
|
||||||
line-height: var(--line-height-base); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
font-size: var(--sp2); |
|
||||||
line-height: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .field--tag-ref { |
|
||||||
margin-block-start: var(--sp1); |
|
||||||
margin-block-end: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
background-color: transparent; |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-start: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.views-row:last-child .node--view-mode-teaser { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
@ -1,67 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Node specific styles. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.node__meta { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
margin-block-end: var(--sp1); |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
font-size: 14px; |
|
||||||
line-height: var(--sp); |
|
||||||
|
|
||||||
& a { |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.node__author-image img { |
|
||||||
width: var(--sp2-5); |
|
||||||
height: var(--sp2-5); |
|
||||||
margin-inline-end: var(--sp0-5); |
|
||||||
object-fit: cover; |
|
||||||
border-radius: 50%; |
|
||||||
} |
|
||||||
|
|
||||||
.node__title { |
|
||||||
& a { |
|
||||||
padding-block-end: 3px; |
|
||||||
transition: background-size 0.2s, color 0.2s; |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
background-color: transparent; |
|
||||||
background-image: linear-gradient(var(--color--primary-50), var(--color--primary-50)); /* Two values are needed for IE11 support. */ |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: bottom left; /* LTR */ |
|
||||||
background-size: 0 3px; |
|
||||||
|
|
||||||
&:hover, |
|
||||||
&:focus { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .node__title { |
|
||||||
background-position: bottom right; |
|
||||||
} |
|
||||||
|
|
||||||
.node__content { |
|
||||||
padding-block-end: var(--sp1-5); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
padding-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.node--unpublished { |
|
||||||
/* There is no variable for the color - #fff4f4. */ |
|
||||||
background-color: #fff4f4; |
|
||||||
} |
|
||||||
@ -1,14 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Page title. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.page-title { |
|
||||||
/* |
|
||||||
Necessary to properly display the star icon from core's shortcut |
|
||||||
module. |
|
||||||
*/ |
|
||||||
display: inline; |
|
||||||
} |
|
||||||
@ -1,82 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styles for pagination. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.pager__items { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
align-items: flex-end; |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
|
|
||||||
.pager__item { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
width: var(--sp2-5); |
|
||||||
height: var(--sp2-5); |
|
||||||
cursor: default; |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
background-color: var(--color--white); |
|
||||||
|
|
||||||
@media (--sm) { |
|
||||||
width: var(--sp3); |
|
||||||
height: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .pager__item--control { |
|
||||||
transform: scaleX(-1); |
|
||||||
} |
|
||||||
|
|
||||||
.pager__item--active { |
|
||||||
color: var(--color--white); |
|
||||||
background-color: var(--color--primary-40); |
|
||||||
} |
|
||||||
|
|
||||||
.pager__item--control { |
|
||||||
@media (forced-colors: active) { |
|
||||||
& path { |
|
||||||
fill: linktext; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.pager__link { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
width: 100%; |
|
||||||
height: 100%; |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
} |
|
||||||
|
|
||||||
.pager__link:hover { |
|
||||||
background-color: var(--color--gray-95); |
|
||||||
} |
|
||||||
|
|
||||||
.pager__link:focus { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
outline: solid 2px currentColor; |
|
||||||
outline-offset: -2px; |
|
||||||
} |
|
||||||
|
|
||||||
.pager__item svg { |
|
||||||
display: block; |
|
||||||
fill: currentColor; |
|
||||||
} |
|
||||||
|
|
||||||
.pager__item--next svg, |
|
||||||
.pager__item--last svg { |
|
||||||
transform: rotate(180deg); |
|
||||||
} |
|
||||||
@ -1,44 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Powered by block specific styles. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.block-system-powered-by-block { |
|
||||||
letter-spacing: 0.02em; |
|
||||||
font-size: 14px; |
|
||||||
line-height: var(--sp); |
|
||||||
|
|
||||||
& a { |
|
||||||
text-decoration: underline; |
|
||||||
|
|
||||||
&:hover, |
|
||||||
&:focus { |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .drupal-logo { |
|
||||||
display: inline-block; |
|
||||||
margin-block-start: calc(-1 * var(--sp) / 4); |
|
||||||
margin-inline-start: calc(var(--sp) / 4); |
|
||||||
} |
|
||||||
|
|
||||||
& svg { |
|
||||||
width: 0.875rem; /* 14 */ |
|
||||||
height: 1.1875rem; /* 19 */ |
|
||||||
vertical-align: top; |
|
||||||
fill: currentColor; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.site-footer .block-system-powered-by-block { |
|
||||||
& a { |
|
||||||
color: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
& svg path { |
|
||||||
fill: var(--color--white); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,22 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Progress bar specific styles. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.progress__track { |
|
||||||
overflow: hidden; |
|
||||||
height: var(--sp); |
|
||||||
border: 1px solid var(--color--primary-40); |
|
||||||
border-radius: var(--border-radius); |
|
||||||
} |
|
||||||
|
|
||||||
.progress__bar { |
|
||||||
height: var(--sp); |
|
||||||
background-color: var(--color--primary-40); |
|
||||||
} |
|
||||||
|
|
||||||
.progress__percentage { |
|
||||||
margin-inline-start: 1rem; |
|
||||||
} |
|
||||||
@ -1,97 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Search results specific styles. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.search-results { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.search-result__title { |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
font-size: 20px; |
|
||||||
line-height: var(--line-height-base); |
|
||||||
|
|
||||||
& a { |
|
||||||
padding-block-end: 3px; |
|
||||||
transition: background-size 0.2s, color 0.2s; |
|
||||||
text-decoration: none; |
|
||||||
background-color: transparent; |
|
||||||
background-image: linear-gradient(var(--color--primary-50), var(--color--primary-50)); /* Two values are needed for IE11 support. */ |
|
||||||
background-repeat: no-repeat; |
|
||||||
background-position: bottom left; /* LTR */ |
|
||||||
background-size: 0 3px; |
|
||||||
|
|
||||||
&:hover { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-end: var(--sp1); |
|
||||||
font-size: 30px; |
|
||||||
line-height: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .search-result__title a { |
|
||||||
background-position: bottom right; |
|
||||||
} |
|
||||||
|
|
||||||
.search-result__snippet { |
|
||||||
padding-block-end: calc(var(--sp1-5) - 2px); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
padding-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.search-result__meta { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
margin-block-end: var(--sp1); |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
font-size: 14px; |
|
||||||
line-height: var(--sp); |
|
||||||
|
|
||||||
& a { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.search-results__item { |
|
||||||
position: relative; /* Anchor after pseudo-element. */ |
|
||||||
margin-block-end: var(--sp1-5); |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-end: 0; |
|
||||||
width: var(--sp3); |
|
||||||
height: 0; |
|
||||||
content: ""; |
|
||||||
/* Intentionally not using CSS logical properties. */ |
|
||||||
border-top: solid 2px var(--color--gray-95); |
|
||||||
} |
|
||||||
|
|
||||||
&:last-child { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,104 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Site header. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.site-header { |
|
||||||
position: relative; |
|
||||||
/** |
|
||||||
* Ensure mobile site header is always above other elements including |
|
||||||
* contextual links, and Tour. |
|
||||||
*/ |
|
||||||
z-index: 101; |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
/* Necessary to keep the content from jumping up when header transitions to fixed. */ |
|
||||||
min-height: var(--site-header-height-wide); |
|
||||||
border-block-end: solid 1px transparent; /* Will show in Windows high contrast mode. */ |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.site-header__initial { |
|
||||||
position: relative; |
|
||||||
z-index: 102; |
|
||||||
display: flex; |
|
||||||
align-items: flex-end; |
|
||||||
align-self: stretch; |
|
||||||
background-color: var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
.site-header__fixable { |
|
||||||
display: flex; |
|
||||||
align-items: flex-end; |
|
||||||
transition: all 0.5s; |
|
||||||
|
|
||||||
&.is-fixed { |
|
||||||
@media (--nav) { |
|
||||||
&:not(.is-expanded) { |
|
||||||
pointer-events: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
body:not(.is-always-mobile-nav) { |
|
||||||
& .site-header__fixable.is-fixed { |
|
||||||
position: fixed; |
|
||||||
z-index: 102; /* Appear above body content that is position: relative */ |
|
||||||
inset-block-start: calc(var(--drupal-displace-offset-top, 0px) - var(--sp4)); |
|
||||||
max-width: var(--max-bg-color); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.site-header__inner { |
|
||||||
position: relative; |
|
||||||
z-index: 1; /* Appear in front of Drupal's tabs. */ |
|
||||||
flex-grow: 1; |
|
||||||
width: calc(100vw - var(--content-left) - var(--drupal-displace-offset-left, 0px) - var(--drupal-displace-offset-right, 0px)); |
|
||||||
background: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
* Only apply transition styles when JS is loaded. This |
|
||||||
* works around https://bugs.chromium.org/p/chromium/issues/detail?id=332189 |
|
||||||
*/ |
|
||||||
html.js body:not(.is-always-mobile-nav) .site-header__inner { |
|
||||||
@media (--nav) { |
|
||||||
transition: opacity 0.3s, transform 0.3s, box-shadow 0.3s; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.site-header__fixable.is-expanded .site-header__inner { |
|
||||||
@media (--nav) { |
|
||||||
box-shadow: -36px 1px 36px rgba(0, 0, 0, 0.08); /* LTR */ |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] .site-header__fixable.is-expanded .site-header__inner { |
|
||||||
@media (--nav) { |
|
||||||
box-shadow: 36px 1px 36px rgba(0, 0, 0, 0.08); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Hide the desktop nav when it's fixed and not active. */ |
|
||||||
body:not(.is-always-mobile-nav) .site-header__fixable.is-fixed:not(.is-expanded) .site-header__inner { |
|
||||||
@media (--nav) { |
|
||||||
transform: translateX(-101%); /* LTR */ |
|
||||||
opacity: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] body:not(.is-always-mobile-nav) .site-header__fixable.is-fixed:not(.is-expanded) .site-header__inner { |
|
||||||
@media (--nav) { |
|
||||||
transform: translateX(101%); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.site-header__inner__container { |
|
||||||
display: flex; |
|
||||||
justify-content: space-between; |
|
||||||
} |
|
||||||
@ -1,38 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Skip link |
|
||||||
* |
|
||||||
* Allows keyboard users to quickly skip to the main content of the page. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.skip-link { |
|
||||||
display: block; |
|
||||||
width: 100%; |
|
||||||
max-width: var(--max-bg-color); |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color--white); |
|
||||||
outline: 0; |
|
||||||
background-color: var(--color--gray-5); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
text-decoration: underline; |
|
||||||
color: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
content: "\0020 ➔"; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.skip-link.focusable:focus { |
|
||||||
position: absolute !important; /* Override position from module file. */ |
|
||||||
z-index: 503; |
|
||||||
width: 100%; |
|
||||||
height: 40px; |
|
||||||
outline: none; |
|
||||||
} |
|
||||||
@ -1,93 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* User generated tables. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.forum table, |
|
||||||
.text-content table, |
|
||||||
.views-table, |
|
||||||
.draggable-table { |
|
||||||
margin-block-start: var(--sp2); |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
border-spacing: 0; |
|
||||||
color: var(--color-text-neutral-medium); |
|
||||||
border: 0; |
|
||||||
border-collapse: collapse; |
|
||||||
font-family: var(--font-sans); |
|
||||||
font-size: 16px; |
|
||||||
line-height: var(--sp1-5); |
|
||||||
|
|
||||||
& caption { |
|
||||||
margin-block-end: var(--sp1); |
|
||||||
text-align: start; |
|
||||||
color: var(--color-text-neutral-medium); |
|
||||||
font-family: var(--font-serif); |
|
||||||
font-size: 14px; |
|
||||||
font-style: italic; |
|
||||||
line-height: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
& tr { |
|
||||||
&:last-child { |
|
||||||
& td { |
|
||||||
border-block-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& td, |
|
||||||
& th { |
|
||||||
padding-block: var(--sp1); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: var(--sp1); |
|
||||||
vertical-align: top; |
|
||||||
} |
|
||||||
|
|
||||||
& th { |
|
||||||
margin-block: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
text-align: start; |
|
||||||
letter-spacing: 0.02em; |
|
||||||
color: var(--color-text-neutral-loud); |
|
||||||
border-block-end: 2px solid var(--color--primary-50); |
|
||||||
font-family: var(--font-sans); |
|
||||||
font-size: 14px; |
|
||||||
line-height: var(--sp); |
|
||||||
} |
|
||||||
|
|
||||||
& td { |
|
||||||
white-space: normal; |
|
||||||
border-block-end: 2px solid var(--color--gray-65); |
|
||||||
} |
|
||||||
|
|
||||||
& th.checkbox, |
|
||||||
& td.checkbox { |
|
||||||
text-align: center; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.draggable-table { |
|
||||||
width: 100%; |
|
||||||
} |
|
||||||
|
|
||||||
.draggable-table .form-item { |
|
||||||
margin-top: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.tablesort { |
|
||||||
vertical-align: middle; |
|
||||||
} |
|
||||||
|
|
||||||
.sticky-header { |
|
||||||
z-index: 0; |
|
||||||
margin: 0; |
|
||||||
border-block-end: 4px solid var(--color--primary-50); |
|
||||||
} |
|
||||||
|
|
||||||
/* Properly align VBO checkboxes. */ |
|
||||||
.views-field-node-bulk-form .form-item { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
@ -1,54 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styles for tabledrag. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.draggable:hover { |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
.draggable.drag { |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
.draggable.drag-previous { |
|
||||||
background-color: var(--color--gray-95); |
|
||||||
} |
|
||||||
|
|
||||||
.drag-previous a { |
|
||||||
color: var(--color-text-neutral-medium); /* Ensure proper contrast. */ |
|
||||||
} |
|
||||||
|
|
||||||
a.tabledrag-handle, |
|
||||||
.touchevents a.tabledrag-handle { |
|
||||||
width: 36px; |
|
||||||
height: 36px; |
|
||||||
} |
|
||||||
|
|
||||||
.draggable a.tabledrag-handle { |
|
||||||
margin-inline-start: 0; |
|
||||||
} |
|
||||||
|
|
||||||
a.tabledrag-handle .handle { |
|
||||||
width: var(--sp2); |
|
||||||
height: var(--sp2); |
|
||||||
margin: 0; |
|
||||||
background-position: 50% 5px; |
|
||||||
} |
|
||||||
|
|
||||||
.touchevents a.tabledrag-handle .handle { |
|
||||||
height: var(--sp2); |
|
||||||
background-position: 50% 5px; |
|
||||||
} |
|
||||||
|
|
||||||
.touchevents .draggable td { |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: var(--sp0-5); |
|
||||||
} |
|
||||||
|
|
||||||
.touchevents .draggable .menu-item__link { |
|
||||||
padding: 0; |
|
||||||
} |
|
||||||
@ -1,205 +0,0 @@ |
|||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
/* Breakpoint where tabs switch between vertical and horizontal layouts. */ |
|
||||||
@custom-media --tabs-layout-switch (--md); |
|
||||||
|
|
||||||
.tabs { |
|
||||||
--tabs-height: var(--sp3); |
|
||||||
--tabs-padding-inline: var(--sp1-5); |
|
||||||
--tabs-active-border-size: 6px; |
|
||||||
--tabs-highlight-color: var(--color--primary-50); /* Minimum 3:1 contrast ratio against --tabs-background-color and --tabs-background-color-hover. */ |
|
||||||
--tabs-text-color: var(--color-text-neutral-soft); /* Minimum 4.5:1 contrast ratio against --tabs-background-color and --tabs-background-color-hover. */ |
|
||||||
--tabs-text-color-active: var(--color--gray-5); /* Minimum 4.5:1 contrast ratio against --tabs-background-color and --tabs-background-color-hover. */ |
|
||||||
--tabs-letter-spacing: 1px; |
|
||||||
--tabs-font-size: var(--font-size-s); |
|
||||||
--tabs-background-color: var(--color--gray-100); |
|
||||||
--tabs-background-color-hover: var(--color--gray-95); |
|
||||||
--tabs-border-width: 1px; |
|
||||||
--tabs-border-color: var(--color--gray-95); |
|
||||||
--tabs-transition-duration: 0.2s; |
|
||||||
|
|
||||||
display: flex; |
|
||||||
flex-direction: column; |
|
||||||
width: 100%; |
|
||||||
margin: 0; |
|
||||||
margin-inline-start: 0; /* Override [dir] attribute in base <ul> in compiled CSS. */ |
|
||||||
padding: 0; |
|
||||||
list-style: none; |
|
||||||
|
|
||||||
@media (--tabs-layout-switch) { |
|
||||||
flex-direction: row; |
|
||||||
flex-wrap: wrap; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.tabs__tab { |
|
||||||
display: none; |
|
||||||
margin: 0; |
|
||||||
margin-block-end: calc(-1 * var(--tabs-border-width)); |
|
||||||
|
|
||||||
&.is-active { |
|
||||||
display: flex; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--tabs-layout-switch) { |
|
||||||
display: flex; |
|
||||||
margin-block-end: 0; |
|
||||||
margin-inline-start: calc(-1 * var(--tabs-border-width)); |
|
||||||
} |
|
||||||
|
|
||||||
/* Show tabs when JavaScript disabled. */ |
|
||||||
@nest html:not(.js) & { |
|
||||||
display: flex; |
|
||||||
} |
|
||||||
|
|
||||||
/* Show tabs when tabs-expanded class is present. */ |
|
||||||
@nest .tabs.is-expanded & { |
|
||||||
display: flex; |
|
||||||
} |
|
||||||
|
|
||||||
/* Secondary tabs will always be expanded. */ |
|
||||||
@nest .tabs--secondary & { |
|
||||||
display: block; |
|
||||||
|
|
||||||
@media (--tabs-layout-switch) { |
|
||||||
display: flex; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.tabs__link { |
|
||||||
display: flex; |
|
||||||
flex-grow: 1; |
|
||||||
align-items: center; |
|
||||||
height: var(--tabs-height); |
|
||||||
padding-block: 0; |
|
||||||
padding-inline: var(--tabs-padding-inline); |
|
||||||
transition: background-color var(--tabs-transition-duration); |
|
||||||
text-decoration: none; |
|
||||||
letter-spacing: var(--tabs-letter-spacing); |
|
||||||
color: var(--tabs-text-color); |
|
||||||
border: var(--tabs-border-width) solid var(--tabs-border-color); |
|
||||||
background-color: var(--tabs-background-color); |
|
||||||
font-size: var(--tabs-font-size); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
color: var(--tabs-text-color-active); |
|
||||||
background-color: var(--tabs-background-color-hover); |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
position: relative; |
|
||||||
outline: solid 3px var(--tabs-highlight-color); |
|
||||||
outline-offset: -3px; |
|
||||||
} |
|
||||||
|
|
||||||
&.is-active { |
|
||||||
position: relative; /* Anchor ::after pseudo-element. */ |
|
||||||
color: var(--tabs-text-color-active); |
|
||||||
font-weight: 600; |
|
||||||
|
|
||||||
/* |
|
||||||
* We use ::after pseudo-element in place of border so edges do not appear |
|
||||||
* diagonally cut off due to other edges with transparent borders. |
|
||||||
*/ |
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: calc(-1 * var(--tabs-border-width)); |
|
||||||
inset-inline-start: calc(-1 * var(--tabs-border-width)); |
|
||||||
height: calc(100% + var(--tabs-border-width) * 2); |
|
||||||
content: ""; |
|
||||||
border-inline-start: var(--tabs-active-border-size) solid var(--tabs-highlight-color); |
|
||||||
|
|
||||||
@media (--tabs-layout-switch) { |
|
||||||
inset-block: auto calc(-1 * var(--tabs-border-width)); |
|
||||||
width: calc(100% + 2 * var(--tabs-border-width)); |
|
||||||
height: 0; |
|
||||||
border-block-start: var(--tabs-active-border-size) solid var(--tabs-highlight-color); |
|
||||||
border-inline-start: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* No regular borders or background color for secondary tab links. */ |
|
||||||
@nest .tabs--secondary & { |
|
||||||
@media (--tabs-layout-switch) { |
|
||||||
border-color: transparent; |
|
||||||
background-color: transparent; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Button that opens and closes primary tabs at narrow viewports. */ |
|
||||||
.tabs__trigger { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
justify-content: center; |
|
||||||
width: var(--tabs-height); |
|
||||||
margin-block: 0; |
|
||||||
margin-inline: calc(-1 * var(--tabs-border-width)) 0; |
|
||||||
cursor: pointer; |
|
||||||
border: solid var(--tabs-border-width) var(--tabs-border-color); |
|
||||||
background-color: var(--tabs-background-color); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
background-color: var(--tabs-background-color-hover); |
|
||||||
} |
|
||||||
|
|
||||||
&:focus { |
|
||||||
position: relative; |
|
||||||
border-color: var(--tabs-highlight-color); |
|
||||||
outline: none; |
|
||||||
} |
|
||||||
|
|
||||||
/* Button will not work when JavaScript is disabled, so we hide it. */ |
|
||||||
@nest html:not(.js) & { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--tabs-layout-switch) { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.tabs__trigger-icon { |
|
||||||
position: relative; |
|
||||||
display: block; |
|
||||||
width: var(--sp); |
|
||||||
height: 10px; |
|
||||||
margin-block-start: calc(-2 * var(--tabs-border-width)); |
|
||||||
|
|
||||||
& > span { |
|
||||||
position: absolute; |
|
||||||
inset-inline-start: 0; |
|
||||||
display: block; |
|
||||||
width: 100%; |
|
||||||
transition: transform var(--tabs-transition-duration), opacity var(--tabs-transition-duration), top var(--tabs-transition-duration); |
|
||||||
border-block-start: solid 2px var(--tabs-highlight-color); |
|
||||||
|
|
||||||
&:nth-child(1) { |
|
||||||
inset-block-start: 0; |
|
||||||
|
|
||||||
@nest .tabs__trigger[aria-expanded="true"] & { |
|
||||||
inset-block-start: calc(50% + 1px); |
|
||||||
transform: rotate(45deg); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:nth-child(2) { |
|
||||||
inset-block-start: calc(50% + 1px); |
|
||||||
|
|
||||||
@nest .tabs__trigger[aria-expanded="true"] & { |
|
||||||
opacity: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&:nth-child(3) { |
|
||||||
inset-block-start: calc(100% + 2px); |
|
||||||
|
|
||||||
@nest .tabs__trigger[aria-expanded="true"] & { |
|
||||||
inset-block-start: calc(50% + 1px); |
|
||||||
transform: rotate(-45deg); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,83 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Tags field styling. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.field--tags { |
|
||||||
display: flex; |
|
||||||
font-family: var(--font-sans); |
|
||||||
} |
|
||||||
|
|
||||||
.field--tags__label { |
|
||||||
margin: 0; |
|
||||||
margin-inline-end: calc(var(--sp1-5) - (var(--sp0-5) / 2)); |
|
||||||
letter-spacing: 0.02em; |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
font-size: var(--font-size-s); |
|
||||||
font-weight: 600; |
|
||||||
line-height: 1.6; |
|
||||||
|
|
||||||
&::after { |
|
||||||
content: ":"; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
line-height: 2; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.field--label-inline .field--tags__label { |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.field--tags__items { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
margin-block: calc((var(--sp0-5) / 2) * -1); |
|
||||||
margin-inline-start: calc((var(--sp0-5) / 2) * -1); |
|
||||||
margin-inline-end: calc((var(--sp0-5) / 2) * -1); |
|
||||||
padding-block: 0; |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
.field--tags__item { |
|
||||||
display: flex; |
|
||||||
margin-block: calc(var(--sp0-5) / 2); |
|
||||||
margin-inline-start: calc(var(--sp0-5) / 2); |
|
||||||
margin-inline-end: calc(var(--sp0-5) / 2); |
|
||||||
} |
|
||||||
|
|
||||||
.field--tags__item:nth-last-child(n+2)::after { |
|
||||||
content: ","; |
|
||||||
font-size: var(--font-size-base); |
|
||||||
line-height: 1.5; |
|
||||||
} |
|
||||||
|
|
||||||
.field--tags__item a { |
|
||||||
position: relative; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
text-decoration: none; |
|
||||||
letter-spacing: 0.02em; |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
font-size: var(--font-size-base); |
|
||||||
font-weight: 700; |
|
||||||
line-height: 1.5; |
|
||||||
} |
|
||||||
|
|
||||||
.node--view-mode-full { |
|
||||||
& .field--tags { |
|
||||||
margin-block-start: var(--sp4); |
|
||||||
margin-block-end: var(--sp4); |
|
||||||
padding-block: var(--sp1-5); |
|
||||||
padding-inline-start: var(--sp2); |
|
||||||
padding-inline-end: var(--sp2); |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,153 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Text Content. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.text-content, |
|
||||||
.cke_editable { |
|
||||||
color: var(--color-text-neutral-medium); |
|
||||||
font-family: var(--font-serif); |
|
||||||
line-height: var(--sp1-5); |
|
||||||
|
|
||||||
/* |
|
||||||
@todo |
|
||||||
|
|
||||||
text-decoration-thickness is supported by FF & Safari |
|
||||||
text-underline-offset is supported by Safari |
|
||||||
|
|
||||||
text-decoration-color supported by Chrome, FF, & Safari |
|
||||||
*/ |
|
||||||
|
|
||||||
& a:where(:not(.button)) { |
|
||||||
color: var(--color-text-primary-medium); |
|
||||||
text-decoration-color: currentColor; |
|
||||||
text-decoration-thickness: 2px; |
|
||||||
overflow-wrap: break-word; |
|
||||||
|
|
||||||
@supports (box-shadow: none) { |
|
||||||
transition: box-shadow 0.3s cubic-bezier(0.55, 0.085, 0, 0.99); |
|
||||||
text-decoration: none; |
|
||||||
box-shadow: inset 0 -2px 0 0 var(--color--primary-50); |
|
||||||
|
|
||||||
&:hover { |
|
||||||
text-decoration: underline; |
|
||||||
color: var(--color--black); |
|
||||||
box-shadow: inset 0 -2em 0 0 var(--color--primary-80); |
|
||||||
text-decoration-color: var(--color--primary-80); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& p { |
|
||||||
margin-block-start: var(--sp); |
|
||||||
margin-block-end: var(--sp); |
|
||||||
|
|
||||||
&:first-child { |
|
||||||
margin-block-start: 0; |
|
||||||
} |
|
||||||
|
|
||||||
&:last-child { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-block-start: var(--sp2); |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& code { |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
& pre code { |
|
||||||
display: block; |
|
||||||
overflow: auto; |
|
||||||
padding-block: var(--sp); |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
color: var(--color-text-neutral-soft); |
|
||||||
} |
|
||||||
|
|
||||||
& blockquote { |
|
||||||
position: relative; |
|
||||||
margin-block: var(--sp2); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
padding-inline-start: var(--sp2); |
|
||||||
letter-spacing: -0.01em; |
|
||||||
font-family: var(--font-serif); |
|
||||||
font-size: 21px; |
|
||||||
line-height: var(--sp2); |
|
||||||
|
|
||||||
&::before { |
|
||||||
position: absolute; |
|
||||||
inset-block-start: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
content: "\201C"; |
|
||||||
color: var(--color--primary-60); |
|
||||||
font-size: 54px; |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
position: absolute; |
|
||||||
inset-block-end: 0; |
|
||||||
inset-inline-start: 0; |
|
||||||
width: var(--sp0-5); |
|
||||||
height: calc(100% - 30px); |
|
||||||
margin-inline-start: 4px; |
|
||||||
content: ""; |
|
||||||
background: var(--color--gray-100); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
font-size: 32px; |
|
||||||
line-height: var(--sp3); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
font-size: 40px; |
|
||||||
line-height: calc(3.5 * var(--sp)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
font-size: 18px; |
|
||||||
line-height: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Special colors for footer that has a dark background. |
|
||||||
*/ |
|
||||||
.site-footer .text-content { |
|
||||||
color: inherit; |
|
||||||
|
|
||||||
& * { |
|
||||||
color: inherit; |
|
||||||
} |
|
||||||
|
|
||||||
& a { |
|
||||||
text-decoration: underline; |
|
||||||
color: var(--color--white); |
|
||||||
box-shadow: none; |
|
||||||
|
|
||||||
&:hover { |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color--white); |
|
||||||
box-shadow: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Decrease font-size for blockquote placed in sidebar region. |
|
||||||
*/ |
|
||||||
.region--sidebar .text-content blockquote { |
|
||||||
@media (--lg) { |
|
||||||
font-size: 24px; |
|
||||||
line-height: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,30 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styles for jQuery UI dialog. |
|
||||||
*/ |
|
||||||
|
|
||||||
.ui-dialog { |
|
||||||
& .ui-dialog-buttonpane { |
|
||||||
padding-inline-start: 0.2em; |
|
||||||
padding-inline-end: 0.2em; |
|
||||||
|
|
||||||
& .ui-dialog-buttonset { |
|
||||||
display: flex; |
|
||||||
float: none; |
|
||||||
flex-wrap: wrap; |
|
||||||
gap: 5px; |
|
||||||
} |
|
||||||
|
|
||||||
& button { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.ui-widget-overlay { |
|
||||||
z-index: 1259; |
|
||||||
} |
|
||||||
|
|
||||||
.ui-dialog { |
|
||||||
z-index: 1260; |
|
||||||
} |
|
||||||
@ -1,98 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Vertical Tabs. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
:root { |
|
||||||
--vertical-tabs-menu-width: 15rem; |
|
||||||
--vertical-tabs-menu-border-width: 1px; |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs { |
|
||||||
@media (--lg) { |
|
||||||
display: flex; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__menu { |
|
||||||
position: relative; |
|
||||||
align-self: flex-start; |
|
||||||
margin: 0; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
list-style: none; |
|
||||||
border-width: var(--vertical-tabs-menu-border-width); |
|
||||||
border-style: solid; |
|
||||||
border-color: var(--color--gray-95); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
width: var(--vertical-tabs-menu-width); |
|
||||||
border-width: var(--vertical-tabs-menu-border-width) 0 var(--vertical-tabs-menu-border-width) var(--vertical-tabs-menu-border-width); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__panes { |
|
||||||
margin-block-start: calc(var(--vertical-tabs-menu-border-width) * -1); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
width: calc(100% - var(--vertical-tabs-menu-width)); |
|
||||||
margin-block-start: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__pane { |
|
||||||
@media (--lg) { |
|
||||||
min-height: 100%; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__pane.oliveskln-details { |
|
||||||
margin: 0; |
|
||||||
border-radius: 0; |
|
||||||
box-shadow: none; |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__pane > summary { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__menu-item:nth-child(n+2) { |
|
||||||
border-block-start: var(--vertical-tabs-menu-border-width) solid var(--color--gray-95); |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__menu-item a { |
|
||||||
display: block; |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: var(--sp0-75); |
|
||||||
padding-inline-end: var(--sp0-75); |
|
||||||
text-decoration: none; |
|
||||||
color: var(--color-text-primary-loud); |
|
||||||
background-color: var(--color--gray-95); |
|
||||||
|
|
||||||
&:focus, |
|
||||||
&:hover, |
|
||||||
&:active { |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__menu-item.is-selected { |
|
||||||
background-color: var(--color--white); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-inline-end: calc(var(--vertical-tabs-menu-border-width) * -1); |
|
||||||
padding-inline-end: var(--vertical-tabs-menu-border-width); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__menu-item.is-selected a { |
|
||||||
background-color: transparent; |
|
||||||
} |
|
||||||
|
|
||||||
.vertical-tabs__menu-item-summary { |
|
||||||
display: block; |
|
||||||
font-size: var(--font-size-s); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
} |
|
||||||
@ -1,42 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Wide image component. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.wide-image { |
|
||||||
margin-block-start: var(--sp0-5); |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
width: calc(var(--grid-col-count) * var(--grid-col-width) + var(--grid-gap-count) * var(--grid-gap)); |
|
||||||
margin-block: var(--sp2) var(--sp4); |
|
||||||
margin-inline-start: calc(-1 * ((var(--grid-col-width) + var(--grid-gap)))); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
width: calc(12 * var(--grid-col-width) + 11 * var(--grid-gap)); |
|
||||||
margin-inline-start: calc(-1 * (var(--grid-col-width) + var(--grid-gap))); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Ensure that image doesn't overlap sidebar. */ |
|
||||||
.sidebar-grid .wide-image { |
|
||||||
@media (--lg) { |
|
||||||
width: calc(9 * var(--grid-col-width) + 8 * var(--grid-gap)); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--xl) { |
|
||||||
width: calc(10 * var(--grid-col-width) + 9 * var(--grid-gap)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Ensure that image doesn't overlap layout builder sections when editing layouts. */ |
|
||||||
.layout-builder .wide-image { |
|
||||||
max-width: 100%; |
|
||||||
margin-inline-start: 0; |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
@ -1,50 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Grid system. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.grid-full { |
|
||||||
display: grid; |
|
||||||
grid-template-rows: 1fr; |
|
||||||
grid-template-columns: repeat(var(--grid-col-count), minmax(0, 1fr)); |
|
||||||
grid-column-gap: var(--grid-gap); |
|
||||||
|
|
||||||
/* .grid-full classes nested 3 or more deep go full width. */ |
|
||||||
& .grid-full .grid-full { |
|
||||||
display: block; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
If the .grid-full is nested within the following, apply the appropriate number of columns. |
|
||||||
- .layout--content-narrow class. |
|
||||||
- Element that's inheriting the layout--content-narrow styles from its parent region. |
|
||||||
*/ |
|
||||||
.layout--content-narrow .grid-full, |
|
||||||
.layout--pass--content-narrow > * .grid-full { |
|
||||||
@media (--grid-md) { |
|
||||||
grid-template-columns: repeat(calc(var(--grid-col-count) - 2), minmax(0, 1fr)); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-template-columns: repeat(calc(var(--grid-col-count) - 6), minmax(0, 1fr)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
If the .grid-full is nested within the following, apply the appropriate number of columns. |
|
||||||
- .layout--content-medium class. |
|
||||||
- Element that's inheriting the layout--content-medium styles from its parent region. |
|
||||||
*/ |
|
||||||
.layout--content-medium .grid-full, |
|
||||||
.layout--pass--content-medium > * .grid-full { |
|
||||||
@media (--grid-md) { |
|
||||||
grid-template-columns: repeat(calc(var(--grid-col-count) - 2), minmax(0, 1fr)); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-template-columns: repeat(calc(var(--grid-col-count) - 4), minmax(0, 1fr)); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,66 +0,0 @@ |
|||||||
/* |
|
||||||
* @file |
|
||||||
* Provides the layout styles for four-column layout section. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.layout--fourcol-section { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
|
|
||||||
& > .layout__region { |
|
||||||
flex: 1 0 100%; |
|
||||||
margin-block-end: var(--grid-gap); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
flex-basis: calc(50% - (var(--grid-gap) * 0.5)); |
|
||||||
flex-grow: 0; |
|
||||||
flex-shrink: 0; |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Two column layout. */ |
|
||||||
@media (--md) { |
|
||||||
& > .layout__region--first, |
|
||||||
& > .layout__region--second { |
|
||||||
margin-block-end: var(--grid-gap); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--first, |
|
||||||
& > .layout__region--third { |
|
||||||
margin-inline-end: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second, |
|
||||||
& > .layout__region--fourth { |
|
||||||
margin-inline-start: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* Four column layout. */ |
|
||||||
@media (--lg) { |
|
||||||
& > .layout__region { |
|
||||||
flex-basis: calc(25% - (var(--grid-gap) * 0.75)); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--first, |
|
||||||
& > .layout__region--second { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--first { |
|
||||||
margin-inline-end: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second, |
|
||||||
& > .layout__region--third { |
|
||||||
margin-inline: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--fourth { |
|
||||||
margin-inline-start: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,79 +0,0 @@ |
|||||||
/* |
|
||||||
* @file |
|
||||||
* Provides the layout styles for three-column layout section. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.layout--threecol-section { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
|
|
||||||
& > .layout__region { |
|
||||||
flex: 1 0 100%; |
|
||||||
margin-block-end: var(--grid-gap); |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
flex-grow: 0; |
|
||||||
flex-shrink: 0; |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
.layout--threecol-section { |
|
||||||
& > .layout__region--first { |
|
||||||
margin-inline-end: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second { |
|
||||||
margin-inline: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--third { |
|
||||||
margin-inline-start: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--threecol-section--25-50-25 { |
|
||||||
& > .layout__region--first, |
|
||||||
& > .layout__region--third { |
|
||||||
flex-basis: calc(25% - (var(--grid-gap) * 0.5)); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second { |
|
||||||
flex-basis: calc(50% - var(--grid-gap)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--threecol-section--25-25-50 { |
|
||||||
& > .layout__region--first, |
|
||||||
& > .layout__region--second { |
|
||||||
flex-basis: calc(25% - (var(--grid-gap) * 0.5)); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--third { |
|
||||||
flex-basis: calc(50% - var(--grid-gap)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--threecol-section--50-25-25 { |
|
||||||
& > .layout__region--first { |
|
||||||
flex-basis: calc(50% - var(--grid-gap)); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second, |
|
||||||
& > .layout__region--third { |
|
||||||
flex-basis: calc(25% - (var(--grid-gap) * 0.5)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--threecol-section--33-34-33 { |
|
||||||
& > .layout__region--first, |
|
||||||
& > .layout__region--second, |
|
||||||
& > .layout__region--third { |
|
||||||
flex-basis: calc(33.33% - (var(--grid-gap) * 0.667)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,84 +0,0 @@ |
|||||||
/* |
|
||||||
* @file |
|
||||||
* Provides the layout styles for two-column layout section. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.layout--twocol-section { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
|
|
||||||
& > .layout__region { |
|
||||||
flex: 1 0 100%; |
|
||||||
margin-block-end: var(--grid-gap); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
flex-grow: 0; |
|
||||||
flex-shrink: 0; |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
.layout--twocol-section--50-50 { |
|
||||||
& > .layout__region--first { |
|
||||||
flex-basis: calc(50% - (var(--grid-gap) * 0.5)); |
|
||||||
margin-inline-end: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second { |
|
||||||
flex-basis: calc(50% - (var(--grid-gap) * 0.5)); |
|
||||||
margin-inline-start: calc(var(--grid-gap) * 0.5); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--twocol-section--33-67 { |
|
||||||
& > .layout__region--first { |
|
||||||
flex-basis: calc(33.33% - (var(--grid-gap) * 0.3333)); |
|
||||||
margin-inline-end: calc(var(--grid-gap) * 0.3333); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second { |
|
||||||
flex-basis: calc(66.66% - (var(--grid-gap) * 0.6666)); |
|
||||||
margin-inline-start: calc(var(--grid-gap) * 0.6666); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--twocol-section--67-33 { |
|
||||||
& > .layout__region--first { |
|
||||||
flex-basis: calc(66.66% - (var(--grid-gap) * 0.6666)); |
|
||||||
margin-inline-end: calc(var(--grid-gap) * 0.6666); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second { |
|
||||||
flex-basis: calc(33.33% - (var(--grid-gap) * 0.3333)); |
|
||||||
margin-inline-start: calc(var(--grid-gap) * 0.3333); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--twocol-section--25-75 { |
|
||||||
& > .layout__region--first { |
|
||||||
flex-basis: calc(25% - (var(--grid-gap) * 0.25)); |
|
||||||
margin-inline-end: calc(var(--grid-gap) * 0.25); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second { |
|
||||||
flex-basis: calc(75% - (var(--grid-gap) * 0.75)); |
|
||||||
margin-inline-start: calc(var(--grid-gap) * 0.75); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.layout--twocol-section--75-25 { |
|
||||||
& > .layout__region--first { |
|
||||||
flex-basis: calc(75% - (var(--grid-gap) * 0.75)); |
|
||||||
margin-inline-end: calc(var(--grid-gap) * 0.75); |
|
||||||
} |
|
||||||
|
|
||||||
& > .layout__region--second { |
|
||||||
flex-basis: calc(25% - (var(--grid-gap) * 0.25)); |
|
||||||
margin-inline-start: calc(var(--grid-gap) * 0.25); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,39 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Grid system definition for the content wide layout. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.layout--content-medium, |
|
||||||
.layout--pass--content-medium > * { |
|
||||||
grid-column: 1 / 7; |
|
||||||
width: 100%; |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
grid-column: 2 / 14; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-column: 3 / 13; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
If .layout--content-medium is nested within itself, or an element that's inheriting the |
|
||||||
layout--content-medium styles from its parent region, go full width within its |
|
||||||
parent .grid-full. |
|
||||||
*/ |
|
||||||
.layout--pass--content-medium > *, |
|
||||||
.layout--content-medium { |
|
||||||
& .layout--content-medium, |
|
||||||
& .layout--pass--content-medium > * { |
|
||||||
@media (--grid-md) { |
|
||||||
grid-column: 1 / 13; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-column: 1 / 11; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,105 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Grid system definition for the content narrow layout. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.layout--content-narrow, |
|
||||||
.layout--pass--content-narrow > * { |
|
||||||
grid-column: 1 / 7; |
|
||||||
width: 100%; |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
grid-column: 2 / 14; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-column: 3 / 11; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
If .layout--content-narrow is nested within any of the following, allocate the appropriate |
|
||||||
amount of columns within its parent .grid-full. |
|
||||||
- .layout--content-narrow class. |
|
||||||
- Element that's inheriting the layout--content-narrow styles from its parent region. |
|
||||||
- .layout--content-medium class. |
|
||||||
- Element that's inheriting the layout--content-medium styles from its parent region. |
|
||||||
*/ |
|
||||||
.layout--content-narrow, |
|
||||||
.layout--pass--content-narrow > *, |
|
||||||
.layout--content-medium, |
|
||||||
.layout--pass--content-medium > * { |
|
||||||
& .layout--content-narrow, |
|
||||||
& .layout--pass--content-narrow > * { |
|
||||||
@media (--grid-md) { |
|
||||||
grid-column: 1 / 13; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-column: 1 / 9; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
Special grid-breaking treatment for text-content elements that |
|
||||||
reside in a content-narrow layout. |
|
||||||
*/ |
|
||||||
.layout--content-narrow, |
|
||||||
.layout--pass--content-narrow > * { |
|
||||||
&.text-content, |
|
||||||
& .text-content { |
|
||||||
& blockquote { |
|
||||||
&::before { |
|
||||||
@media (--grid-md) { |
|
||||||
inset-inline-start: calc(-1 * (var(--grid-col-width) + var(--grid-gap))); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
&::after { |
|
||||||
@media (--grid-md) { |
|
||||||
inset-inline-start: calc(-1 * (var(--grid-col-width) + var(--grid-gap))); |
|
||||||
width: var(--sp); |
|
||||||
height: calc(100% - 45px); |
|
||||||
margin-inline-start: 2px; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
width: calc(10 * var(--grid-col-width) + 9 * var(--grid-gap)); |
|
||||||
margin-block: var(--sp3); |
|
||||||
padding-inline-start: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& pre { |
|
||||||
@media (--grid-md) { |
|
||||||
margin-block: var(--sp3); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
width: calc(12 * var(--grid-col-width) + 11 * var(--grid-gap)); |
|
||||||
margin-inline-start: calc(-1 * (var(--grid-col-width) + var(--grid-gap))); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* <pre> and <blockquote> elements should not break containers and overflow |
|
||||||
* into sidebar region when present. |
|
||||||
*/ |
|
||||||
.sidebar-grid { |
|
||||||
& .layout--content-narrow, |
|
||||||
& .layout--pass--content-narrow > * { |
|
||||||
&.text-content, |
|
||||||
& .text-content { |
|
||||||
& blockquote, |
|
||||||
& pre { |
|
||||||
width: auto; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,18 +0,0 @@ |
|||||||
/* |
|
||||||
* @file |
|
||||||
* Provides default layout styles for all layout sections. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.layout { |
|
||||||
margin-block-end: var(--sp); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,44 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Grid system definition for the footer top and footer bottom layouts. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
/** |
|
||||||
* Creates stacking context ensuring that child elements can never appear in |
|
||||||
* front of mobile navigation. |
|
||||||
*/ |
|
||||||
.site-footer { |
|
||||||
position: relative; |
|
||||||
z-index: 1; |
|
||||||
} |
|
||||||
|
|
||||||
.site-footer__inner { |
|
||||||
padding-block: var(--sp2); |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
padding-block: var(--sp4) calc(13 * var(--sp)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.region--footer_top__inner, |
|
||||||
.region--footer_bottom__inner { |
|
||||||
& > * { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
flex: 1; |
|
||||||
margin-block-end: 0; |
|
||||||
|
|
||||||
&:not(:last-child) { |
|
||||||
margin-inline-end: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,48 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Special grid system for sidebar. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.sidebar-grid { |
|
||||||
& > .site-main { |
|
||||||
grid-column: 1 / 7; |
|
||||||
align-self: flex-start; |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
grid-column: 1 / 15; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
display: grid; |
|
||||||
grid-template-columns: repeat(8, minmax(0, 1fr)); |
|
||||||
grid-column: 3 / 11; |
|
||||||
|
|
||||||
& > .region--content-above, |
|
||||||
& > .region--content { |
|
||||||
grid-template-columns: repeat(8, minmax(0, 1fr)); |
|
||||||
grid-column: 1 / 9; |
|
||||||
} |
|
||||||
|
|
||||||
& .layout--content-narrow, |
|
||||||
& .layout--pass--content-narrow > *, |
|
||||||
& .layout--content-medium, |
|
||||||
& .layout--pass--content-medium > * { |
|
||||||
grid-column: 1 / 9; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .region--sidebar { |
|
||||||
grid-column: 1 / 7; |
|
||||||
|
|
||||||
@media (--grid-md) { |
|
||||||
grid-column: 3 / 13; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
grid-column: 12 / 15; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,43 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Responsive styles for views grid horizontal layout. |
|
||||||
* |
|
||||||
* This creates the correct count of columns and automatically resizes the |
|
||||||
* grid-items to fit into it. The grid-items will flow onto the next row when |
|
||||||
* they reach the --views-grid-item--min-width value. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.views-view-grid { |
|
||||||
--views-grid--layout-gap: var(--sp); |
|
||||||
--views-grid--column-count: 4; /* Will be overridden by an inline style. */ |
|
||||||
--views-grid-item--min-width: 100px; |
|
||||||
} |
|
||||||
|
|
||||||
.views-view-grid--horizontal { |
|
||||||
/** |
|
||||||
* Calculated values. |
|
||||||
*/ |
|
||||||
--views-grid--gap-count: calc(var(--views-grid--column-count) - 1); |
|
||||||
--views-grid--total-gap-width: calc(var(--views-grid--gap-count) * var(--views-grid--layout-gap)); |
|
||||||
--views-grid-item--max-width: calc((100% - var(--views-grid--total-gap-width)) / var(--views-grid--column-count)); |
|
||||||
|
|
||||||
display: grid; |
|
||||||
grid-template-columns: repeat(auto-fill, minmax(max(var(--views-grid-item--min-width), var(--views-grid-item--max-width)), 1fr)); |
|
||||||
grid-gap: var(--views-grid--layout-gap); |
|
||||||
} |
|
||||||
|
|
||||||
.views-view-grid--vertical { |
|
||||||
margin-block-end: calc(-1 * var(--views-grid--layout-gap)); /* Offset the bottom row's padding. */ |
|
||||||
column-width: var(--views-grid-item--min-width); |
|
||||||
column-count: var(--views-grid--column-count); |
|
||||||
column-gap: var(--views-grid--layout-gap); |
|
||||||
|
|
||||||
& .views-view-grid__item { |
|
||||||
& > * { |
|
||||||
padding-block-end: var(--views-grid--layout-gap); |
|
||||||
break-inside: avoid; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,57 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Base Layout. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.container { |
|
||||||
width: 100%; |
|
||||||
max-width: var(--max-width); |
|
||||||
padding-inline: var(--container-padding); |
|
||||||
|
|
||||||
/* This fixes an issue where if the toolbar is open in vertical mode, and |
|
||||||
* the mobile navigation is open, the "close" button gets pushed outside of |
|
||||||
* the viewport. */ |
|
||||||
@nest body.is-fixed & { |
|
||||||
width: calc(100% - var(--drupal-displace-offset-left, 0px) - var(--drupal-displace-offset-right, 0px)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.page-wrapper { |
|
||||||
max-width: var(--max-bg-color); |
|
||||||
background: var(--color--white); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Creates stacking context ensuring that child elements can never appear in |
|
||||||
* front of mobile navigation. |
|
||||||
*/ |
|
||||||
.layout-main-wrapper { |
|
||||||
position: relative; |
|
||||||
z-index: 2; /* Ensure dropdown is not cut off by footer. */ |
|
||||||
} |
|
||||||
|
|
||||||
/* Contains the social sidebar, and the primary content area. */ |
|
||||||
.layout-main { |
|
||||||
@media (--nav) { |
|
||||||
display: flex; |
|
||||||
flex-direction: row-reverse; |
|
||||||
flex-wrap: wrap; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.main-content { |
|
||||||
@media (--nav) { |
|
||||||
width: calc(100% - var(--content-left)); |
|
||||||
margin-inline-end: auto; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.main-content__container { |
|
||||||
padding-block-start: var(--sp3); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
padding-block-start: var(--sp5); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,41 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Content below region layout. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.region--content-below { |
|
||||||
@media (--md) { |
|
||||||
display: flex; |
|
||||||
flex-wrap: wrap; |
|
||||||
|
|
||||||
& > * { |
|
||||||
flex-basis: calc(50% - (var(--grid-gap) / 2)); |
|
||||||
flex-grow: 1; |
|
||||||
flex-shrink: 0; |
|
||||||
margin-inline-end: var(--grid-gap); |
|
||||||
|
|
||||||
&:nth-child(2n), |
|
||||||
&:last-child { |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
& > * { |
|
||||||
flex-basis: calc(33.33% - (var(--grid-gap) * 0.667)); |
|
||||||
|
|
||||||
&:nth-child(2n), |
|
||||||
&:last-child { |
|
||||||
margin-inline-end: var(--grid-gap); |
|
||||||
} |
|
||||||
|
|
||||||
&:nth-child(3n), |
|
||||||
&:last-child { |
|
||||||
margin-inline-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,18 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Content region layout. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.region--content { |
|
||||||
margin-block-end: var(--sp); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Region default layout. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.region--hero { |
|
||||||
& > *:last-child { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,30 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Secondary menu region layout styling. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.region--secondary-menu { |
|
||||||
display: flex; |
|
||||||
margin-block-start: var(--sp2); |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
|
|
||||||
& > * { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
body:not(.is-always-mobile-nav) { |
|
||||||
@media (--nav) { |
|
||||||
& .region--secondary-menu { |
|
||||||
justify-content: flex-end; |
|
||||||
margin: 0; |
|
||||||
|
|
||||||
/* If the secondary nav is the first item within the header, it does not need left separator. */ |
|
||||||
&:first-child .secondary-nav::before { |
|
||||||
content: none; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,18 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Region default layout. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.region > * { |
|
||||||
margin-block-end: var(--sp); |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
} |
|
||||||
|
|
||||||
@media (--lg) { |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,105 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Social Bar Region |
|
||||||
. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.social-bar { |
|
||||||
@media (--nav) { |
|
||||||
flex-shrink: 0; |
|
||||||
width: var(--content-left); |
|
||||||
background-color: var(--color--gray-100); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.social-bar__inner { |
|
||||||
position: relative; |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
padding-inline-start: var(--sp); |
|
||||||
padding-inline-end: var(--sp); |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
position: relative; |
|
||||||
width: var(--content-left); |
|
||||||
padding-block: calc(5 * var(--sp)); |
|
||||||
padding-inline-start: 0; |
|
||||||
padding-inline-end: 0; |
|
||||||
|
|
||||||
&.is-fixed { |
|
||||||
position: fixed; |
|
||||||
inset-block-start: var(--sp6); |
|
||||||
inset-inline-start: 0; |
|
||||||
height: calc(100vh - 6 * var(--sp)); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.rotate { |
|
||||||
& > * { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
margin-block-end: 0; |
|
||||||
|
|
||||||
&:not(:first-child) { |
|
||||||
margin-inline-end: var(--sp2); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
& .contextual { |
|
||||||
@media (--nav) { |
|
||||||
inset-inline: 100% auto; |
|
||||||
transform: rotate(90deg); /* LTR */ |
|
||||||
transform-origin: top left; /* LTR */ |
|
||||||
|
|
||||||
& .trigger { |
|
||||||
float: left; /* LTR */ |
|
||||||
|
|
||||||
/** |
|
||||||
* Chromium and Webkit do not yet support flow relative logical properties, |
|
||||||
* such as float: inline-end. However, PostCSS Logical does not compile this |
|
||||||
* value, so we accommodate by not using these. |
|
||||||
* |
|
||||||
* @see https://caniuse.com/mdn-css_properties_clear_flow_relative_values |
|
||||||
* @see https://github.com/csstools/postcss-plugins/issues/632 |
|
||||||
*/ |
|
||||||
&:dir(rtl) { |
|
||||||
float: right; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@media (--nav) { |
|
||||||
position: absolute; |
|
||||||
inset-inline-start: 50%; |
|
||||||
display: flex; |
|
||||||
flex-direction: row-reverse; |
|
||||||
width: 100vh; |
|
||||||
transform: rotate(-90deg) translateX(-100%); /* LTR */ |
|
||||||
transform-origin: left; /* LTR */ |
|
||||||
|
|
||||||
@supports (width: max-content) { |
|
||||||
width: max-content; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
[dir="rtl"] { |
|
||||||
@media (--nav) { |
|
||||||
& .rotate { |
|
||||||
transform: rotate(90deg) translateX(100%); |
|
||||||
transform-origin: right; |
|
||||||
|
|
||||||
& .contextual { |
|
||||||
transform: rotate(-90deg); |
|
||||||
transform-origin: top right; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,20 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styles for views. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
.view { |
|
||||||
& > * { |
|
||||||
margin-block-end: var(--sp2); |
|
||||||
|
|
||||||
&:last-child { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
|
|
||||||
@media (--md) { |
|
||||||
margin-block-end: var(--sp3); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,80 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* Styling for the Filter module. |
|
||||||
*/ |
|
||||||
|
|
||||||
@import "../base/media-queries.pcss.css"; |
|
||||||
|
|
||||||
/** |
|
||||||
* Filter information under field. |
|
||||||
*/ |
|
||||||
.text-full > .form-item { |
|
||||||
margin-block-end: 0; |
|
||||||
} |
|
||||||
.form-element--editor-format { |
|
||||||
vertical-align: top; |
|
||||||
} |
|
||||||
|
|
||||||
.filter-wrapper { |
|
||||||
margin-block: var(--sp1) var(--sp0-5); |
|
||||||
} |
|
||||||
|
|
||||||
.filter-wrapper .form-item { |
|
||||||
margin: 0; |
|
||||||
} |
|
||||||
|
|
||||||
.filter-help { |
|
||||||
float: right; /* LTR */ |
|
||||||
padding-block: var(--sp0-5); |
|
||||||
font-size: var(--font-size-xxs); |
|
||||||
|
|
||||||
/** |
|
||||||
* Chromium and Webkit do not yet support flow relative logical properties, |
|
||||||
* such as float: inline-end. However, PostCSS Logical does not compile this |
|
||||||
* value, so we accommodate by not using these. |
|
||||||
* |
|
||||||
* @see https://caniuse.com/mdn-css_properties_clear_flow_relative_values |
|
||||||
* @see https://github.com/csstools/postcss-plugins/issues/632 |
|
||||||
*/ |
|
||||||
&:dir(rtl) { |
|
||||||
float: left; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Compose tips. |
|
||||||
* |
|
||||||
* Wraps filter tips on page '/filter/tips[/name]'. |
|
||||||
*/ |
|
||||||
.compose-tips__item { |
|
||||||
margin-block: var(--sp1-5); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Filter guidelines. |
|
||||||
*/ |
|
||||||
.filter-guidelines__item { |
|
||||||
margin-block-start: var(--sp1); |
|
||||||
font-size: var(--font-size-s); |
|
||||||
line-height: var(--line-height-s); |
|
||||||
} |
|
||||||
.filter-guidelines p { |
|
||||||
margin-block: var(--sp0-25) 0; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Filter tips. |
|
||||||
* |
|
||||||
* Long is used on '/filter/tips[/name]', short is used for the filter tips |
|
||||||
* below a text format input. |
|
||||||
*/ |
|
||||||
.filter-tips--long { |
|
||||||
margin-block-end: var(--sp1-5); |
|
||||||
} |
|
||||||
.filter-tips__item, |
|
||||||
.filter-tips--long p { |
|
||||||
margin-block: var(--sp0-75); |
|
||||||
} |
|
||||||
.filter-tips__item--short { |
|
||||||
margin-block: var(--sp0-25) 0; |
|
||||||
} |
|
||||||
|
Before Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue