| | |
| | | --full: 100vw; |
| | | --offScreen: -200vw; |
| | | |
| | | --aside: min(500px, calc(100vw - 2rem)); |
| | | |
| | | /***************************** |
| | | Sizing |
| | | *****************************/ |
| | |
| | | Colours |
| | | *****************************/ |
| | | --filter: grayscale(.3) sepia(.4); |
| | | --filterNone: grayscale(0) sepia(0); |
| | | |
| | | --mix-blend-mode: darken; |
| | | --coverBlend: overlay; |
| | | --coverIndex: 2; |
| | |
| | | inline-size: fit-content; |
| | | margin-inline: auto; |
| | | } |
| | | a > img, |
| | | figure img { |
| | | width: 100%; |
| | | height: 100%; |
| | |
| | | line-height: 1.4; |
| | | position: relative; |
| | | max-width: 100vw; |
| | | overflow-x: clip; |
| | | } |
| | | body, |
| | | body * { |
| | |
| | | *************************************************************/ |
| | | html { |
| | | scroll-behavior: smooth; |
| | | overflow-x: hidden; |
| | | overflow-x: clip; |
| | | } |
| | | |
| | | @media(prefers-reduced-motion){ |
| | |
| | | position: relative; |
| | | z-index: var(--z-7); |
| | | } |
| | | footer:empty { |
| | | display: none; |
| | | } |
| | | footer p { |
| | | margin: 0 auto; |
| | | } |
| | |
| | | :is(h1,h2,h3,h4,h5,h6), p { |
| | | width: 100%; |
| | | } |
| | | .group :is(h1,h2,h3,h4,h5,h6), p { |
| | | width: max-content; |
| | | max-width: 100%; |
| | | } |
| | | /*.group :is(h1,h2,h3,h4,h5,h6), p {*/ |
| | | /* width: max-content;*/ |
| | | /* max-width: 100%;*/ |
| | | /*}*/ |
| | | |
| | | :is(h1, h2, h3, h4, h5, h6) :is(b, strong) { |
| | | font-weight: var(--fw-h-bold); |
| | |
| | | } |
| | | |
| | | :is(p, li, h1,h2,h3,h4,h5,h6, small) a:hover { |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | background-color: rgb(var(--action-0)); |
| | | } |
| | | |
| | |
| | | ul.terms li { |
| | | list-style: none; |
| | | } |
| | | ul.terms ul { |
| | | display: inline-flex; |
| | | margin: 0; |
| | | gap: .5rem; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .term-list.cloud { |
| | | display: flex; |
| | |
| | | } |
| | | .term-list.cloud a:hover, |
| | | .term-list.cloud a:focus { |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | background-color: rgb(var(--action-0)); |
| | | } |
| | | .term-list a:has(.count) { |
| | |
| | | /*aspect-ratio: 1;*/ |
| | | font-size: var(--txt-small); |
| | | /*background-color: rgb(var(--action-0));*/ |
| | | /*color: var(--action-contrast);*/ |
| | | /*color: rgb(var(--action-contrast));*/ |
| | | } |
| | | |
| | | .term-list li { |
| | |
| | | } |
| | | @media (min-width: 768px){ |
| | | .width-50 { |
| | | max-width: 50%; |
| | | max-width: calc(49% - var(--gap,0)); |
| | | } |
| | | .width-25 { |
| | | max-width: 25%; |
| | | max-width: calc(24% - var(--gap,0)); |
| | | } |
| | | .width-75 { |
| | | max-width: 75%; |
| | | max-width: calc(74% - var(--gap,0)); |
| | | } |
| | | .width-33 { |
| | | max-width: 33.333%; |
| | | max-width: calc(32.333% - var(--gap,0)); |
| | | } |
| | | .width-66 { |
| | | max-width: 66.666% |
| | | max-width: calc(65.666% - var(--gap,0)); |
| | | } |
| | | } |
| | | /** SPACING TODO: maybe scan our files for which we actually use? **/ |
| | |
| | | .pb-7 { padding-bottom: var(--sp7); } |
| | | |
| | | /** MARGIN **/ |
| | | .m-0 {margin: 0;} |
| | | .m-0.m-0 {margin: 0;} |
| | | .m-1 {margin: var(--sp1);} |
| | | .m-2 {margin: var(--sp2);} |
| | | .m-3 {margin: var(--sp3);} |
| | |
| | | .abs { position: absolute; } |
| | | *:has(>.abs) { position: relative; } |
| | | |
| | | .top { top: 0; right: 0; left: 0; } |
| | | .abs.top { top: 0; right: 0; left: 0; } |
| | | .top-right { top: 0; right: 0; } |
| | | .top-left { top: 0; left: 0; } |
| | | .btm { bottom: 0; left: 0; right: 0; } |
| | | .abs.btm { bottom: 0; left: 0; right: 0; } |
| | | .btm-right { bottom: 0; right: 0; } |
| | | .btm-left { bottom: 0; left: 0; } |
| | | .edges { inset: 0; } |
| | |
| | | .buttons a:visited:hover, |
| | | .buttons a:focus { |
| | | background-color: rgb(var(--action-0)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | box-shadow: var(--shdw-none); |
| | | } |
| | | |
| | | .btn.action { |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | border: 1px solid var(--action-0); |
| | | } |
| | | .btn.action:hover, |
| | | .btn.action:focus { |
| | | background-color: transparent; |
| | | color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | button.outline:hover, |
| | | button.outline:focus, |
| | | [type=submit].outline:hover, |
| | |
| | | .buttons .outline a:visited:hover, |
| | | .buttons .outline a:focus { |
| | | background-color: rgb(var(--action-0)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | border-color: rgb(var(--action-0)); |
| | | } |
| | | |
| | |
| | | button.sticky:hover, |
| | | button.sticky:focus { |
| | | background-color: rgba(var(--action-0),var(--op-6)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | .main-actions .buttons button:disabled, |
| | | .main-actions .buttons button:disabled:hover, |
| | |
| | | .main .m-actions .refresh:hover, |
| | | .main .m-actions .refresh:focus { |
| | | background-color: rgb(var(--action-0)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | .main .refresh .indicator { |
| | | background-color: rgba(var(--base), var(--op-3)); |
| | |
| | | body:has(.on-this-page).scroll-up.scroll-up #back-to-top { |
| | | bottom: calc(var(--btn) + var(--chip_)); |
| | | } |
| | | body:has(.fixed.bottom):has(nav.index.on-this-page).scroll-up.scroll-up #back-to-top { |
| | | bottom: calc(var(--btn) + var(--chipchip)); |
| | | } |
| | | @media(max-width:787px) { |
| | | body:has(.fixed.bottom):has(nav.letters.on-this-page).scroll-up.scroll-up #back-to-top { |
| | | bottom: calc(var(--btn) + var(--chipchip) + .25rem); |
| | | } |
| | | } |
| | | |
| | | button[data-action=refresh], |
| | | button.clear-filters { |
| | | width: max-content; |
| | | min-height: var(--chip_); |
| | | --w: var(--txt-small); |
| | | padding: .25rem .5rem; |
| | | } |
| | | /****************************************************************** |
| | | ACCESSIBILITY |
| | | ******************************************************************/ |
| | |
| | | [type=radio] + label, |
| | | [type=checkbox] + label { |
| | | cursor: pointer; |
| | | position: relative; |
| | | padding-left: 1.5rem; |
| | | } |
| | | .field:is(.radio,.checkbox) fieldset { |
| | | display: grid; |
| | |
| | | color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | [type=radio].btn + label:hover, |
| | | [type=radio].btn:checked + label:hover { |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | |
| | | [type=radio] + label::before, |
| | | [type=radio] + label::after, |
| | | [type=checkbox] + label::before, |
| | |
| | | transform: rotate(45deg); |
| | | width: .25em; |
| | | height: .75em; |
| | | border: solid var(--action-contrast); |
| | | border: solid rgb(var(--action-contrast)); |
| | | border-width: 0 2px 2px 0; |
| | | display: none; |
| | | } |
| | |
| | | } |
| | | .field:not(.radio):not(.checkbox):not(.true-false):not(.taglist):focus-within > label { |
| | | background-color:rgb(var(--action-0)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | border-radius: 4px; |
| | | } |
| | | |
| | |
| | | box-shadow: rgba(var(--base),var(--op-45)) var(--shdw); |
| | | z-index: var(--z-5); |
| | | } |
| | | aside.expanded { |
| | | margin: 0!important; |
| | | } |
| | | dialog::backdrop { |
| | | backdrop-filter: blur(5px); |
| | | background-color: rgba(var(--base),var(--op-4)); |
| | |
| | | dialog[open] { |
| | | z-index: var(--z-10); |
| | | --padding: 0; |
| | | top: 5vh; |
| | | margin: auto!important; |
| | | width: min(500px, 95vw); |
| | | height: fit-content; |
| | | max-height: 90vh; |
| | |
| | | max-height: 98vh; |
| | | top: 1vh; |
| | | } |
| | | dialog > .wrap { |
| | | dialog > .wrap.wrap { |
| | | max-height: var(--maxHeight); |
| | | overflow: hidden auto; |
| | | flex-wrap: nowrap; |
| | | justify-content: flex-start; |
| | | margin: 0 0 0 1.5rem; |
| | | padding-right: 1.5rem; |
| | | padding-bottom: var(--btn); |
| | |
| | | box-shadow: none; |
| | | width: 100%; |
| | | background-color: rgb(var(--action-0)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | --gap: .75rem; |
| | | font-size: var(--txt-x-small); |
| | | border-radius: 0; |
| | |
| | | .m-actions button:last-of-type { |
| | | border-bottom-right-radius: 1rem; |
| | | } |
| | | dialog ul { |
| | | dialog li { |
| | | list-style: none; |
| | | padding: 0; |
| | | } |
| | | dialog .search-container { |
| | | padding-top: 1rem; |
| | | width: 100%; |
| | | gap: .5rem; |
| | | } |
| | | dialog header { |
| | | width: 100%; |
| | | text-align: center; |
| | | font-size: var(--txt-x-medium); |
| | | height: var(--chipchip); |
| | | } |
| | | dialog header h2 { |
| | | margin: 0; |
| | | } |
| | | /** SELECTOR **/ |
| | | .selected-items { |
| | | width: 100%; |
| | | padding: .5rem; |
| | | border-radius: var(--radius); |
| | | background-color: rgb(var(--base)); |
| | | --justify: flex-start; |
| | | --gap: .5rem; |
| | | margin-bottom: .5rem; |
| | | } |
| | | .selected-items button { |
| | | width: max-content; |
| | | padding: .125rem .5rem; |
| | | font-size: var(--txt-x-small); |
| | | min-height: var(--chip_); |
| | | } |
| | | .selected-items button .icon-x { |
| | | --w: var(--txt-small); |
| | | align-self: flex-start; |
| | | } |
| | | .selected-items.selected-items:empty { |
| | | padding: 0; |
| | | background-color: transparent; |
| | | margin: 0; |
| | | } |
| | | .selected-item.selected-item { |
| | | padding: .25rem .5rem; |
| | | margin: .125em; |
| | | background-color: rgb(var(--base-100)); |
| | | border-radius: .25rem; |
| | | font-size: var(--txt-medium); |
| | | border: 1px solid rgb(var(--base-200)); |
| | | position: relative; |
| | | width: max-content; |
| | | } |
| | | .selected-item button { |
| | | min-height: 0; |
| | | height: var(--chip); |
| | | width: var(--chip); |
| | | padding: 0; |
| | | --w: var(--txt-small); |
| | | } |
| | | .clear-filters { |
| | | margin-left: auto; |
| | | border: 1px solid var(--base-200); |
| | | } |
| | | #jvb-selector .message { |
| | | width: 100%; |
| | | text-align: center; |
| | | } |
| | | #jvb-selector .items-wrap { |
| | | width: 100%; |
| | | padding: 1rem 0; |
| | | border: 1px solid rgb(var(--base-200)); |
| | | border-width: 1px 0; |
| | | } |
| | | #jvb-selector .items-container { |
| | | display: grid; |
| | | grid-template-columns: repeat(2, 1fr); |
| | | margin: 0; |
| | | } |
| | | |
| | | .autocomplete-dropdown { |
| | | width: 100%; |
| | | background-color: var(--base-100); |
| | | padding: .5rem; |
| | | box-shadow: rgba(var(--base), var(--op-45)) var(--shdw); |
| | | } |
| | | li.autocomplete { |
| | | list-style: none; |
| | | display: inline-flex; |
| | | margin: .25rem; |
| | | min-height: var(--chip); |
| | | } |
| | | |
| | | /** GALLERY **/ |
| | | img[data-gallery] { |
| | |
| | | position: absolute; |
| | | width: 100%; |
| | | max-width: none; |
| | | bottom: 0; |
| | | bottom: var(--btn_); |
| | | left: 0; |
| | | right: 0; |
| | | background: rgba(var(--base),var(--op-45)); |
| | |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | |
| | | dialog.gallery details[open] { |
| | | background: rgba(var(--base), var(--op-6)); |
| | | } |
| | | dialog.gallery details[open] .item-info { |
| | | padding: 0.75rem 1rem 1rem; |
| | | font-size: var(--txt-x-small); |
| | |
| | | ul.gallery { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | margin: .2em; |
| | | padding: 0; |
| | | list-style-type: none; |
| | | margin: .2em!important; |
| | | padding: 0!important; |
| | | max-width: 100vw; |
| | | } |
| | | ul.gallery::after { |
| | | content: ''; |
| | |
| | | |
| | | ul.gallery li { |
| | | flex-grow: 1; |
| | | list-style: none; |
| | | height: 40vh; |
| | | margin: .2em; |
| | | overflow: hidden; |
| | | padding: 0; |
| | | max-width:49%; |
| | | } |
| | | |
| | | ul.gallery figure { |
| | |
| | | } |
| | | ul.gallery li { |
| | | height: auto; |
| | | width: 100%; |
| | | width: 46%; |
| | | } |
| | | ul.gallery figure { |
| | | width: 100%; |
| | |
| | | height: 80vh; |
| | | } |
| | | } |
| | | |
| | | ul.gallery.cut { |
| | | --gap: var(--txt-small); |
| | | display: grid; |
| | | max-width: var(--narrow); |
| | | grid: auto-flow 1fr/repeat(3, 1fr); |
| | | gap: var(--gap); |
| | | } |
| | | ul.gallery.cut img { |
| | | filter: var(--filterNone); |
| | | } |
| | | ul.gallery.cut:hover img { |
| | | filter: var(--filter); |
| | | } |
| | | ul.gallery.cut:hover img:hover { |
| | | filter: var(--filterNone); |
| | | } |
| | | ul.gallery.cut li:nth-of-type(4n +2) { |
| | | grid-area: 1/2/span 2/span 2; |
| | | clip-path: polygon(0 0,100% 0,100% 100%,calc(50% + var(--g)/4) 100%,0 calc(50% - var(--g)/4)); |
| | | } |
| | | ul.gallery.cut li:nth-of-type(4n +3) { |
| | | grid-area: 2/1/span 2/span 2; |
| | | clip-path: polygon(0 0,calc(50% - var(--g)/4) 0,100% calc(50% + var(--g)/4),100% 100%,0 100%); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /*** POPUPS: notifications, cart, queue ***/ |
| | | aside.main.main { |
| | | --wrap: nowrap; |
| | |
| | | position: fixed; |
| | | top: var(--btnbtn); |
| | | bottom: var(--btn_); |
| | | width: min(500px, calc(100vw - 2rem)); |
| | | width: var(--aside); |
| | | padding: 0 0 var(--btn); |
| | | } |
| | | aside.main.left { |
| | |
| | | aside.main header { |
| | | --w: 2em; |
| | | background-color: rgb(var(--action-0)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | padding: 1rem; |
| | | } |
| | | .tab-content header { |
| | |
| | | } |
| | | nav.share a:hover { |
| | | background-color: rgb(var(--action-0)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | aside.main h4, |
| | | aside.main .hint { |
| | |
| | | animation: spin 1s var(--trans-fn) infinite; |
| | | } |
| | | .main.expanded + .qtoggle { |
| | | width: calc(min(500px, calc(100vw - 2rem)) - var(--btn)); |
| | | width: calc(var(--aside) - var(--btn)); |
| | | } |
| | | |
| | | .main-actions .buttons:has(.expanded) { |
| | | width: calc(min(500px, calc(100vw - 2rem))); |
| | | width: var(--aside); |
| | | } |
| | | .main.expanded + .qtoggle { |
| | | left: var(--btn); |
| | |
| | | |
| | | .callout.callout { |
| | | background-color: rgb(var(--action-0)); |
| | | color: var(--action-contrast); |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | |
| | | .callalt.callalt { |
| | |
| | | width: 100%; |
| | | } |
| | | |
| | | .callout a { |
| | | background-color: var(--action-contrast); |
| | | .callout.callout button, |
| | | .callout.callout .buttons a, |
| | | .callout.callout a { |
| | | background-color: rgb(var(--action-contrast)); |
| | | color: rgb(var(--action-0)); |
| | | border: 1px solid transparent; |
| | | padding: 0 .125rem; |
| | | border-radius: 4px; |
| | | box-shadow: var(--shdw-none); |
| | | } |
| | | .callout.callout button:hover, |
| | | .callout.callout button:focus, |
| | | .callout.callout .buttons a:hover, |
| | | .callout.callout .buttons a:focus, |
| | | .callout.callout a:hover, |
| | | .callout.callout a:focus { |
| | | border-color: rgb(var(--action-contrast))!important; |
| | | color: rgb(var(--action-contrast)); |
| | | background-color: transparent; |
| | | } |
| | | /******************************************************** |
| | | WP BLOCKS |
| | | ********************************************************/ |
| | |
| | | position: relative; |
| | | padding: var(--btn); |
| | | } |
| | | blockquote .icon { |
| | | blockquote .icon-quotes-fi { |
| | | position: absolute; |
| | | top: var(--btn); |
| | | left: calc((10vw + var(--btn)) * -1); |
| | |
| | | } |
| | | |
| | | .loop li > figure { |
| | | float: left; |
| | | margin-right: var(--chip_); |
| | | margin-top: 0; |
| | | max-width: 30%; |
| | | /*float: left;*/ |
| | | /*margin-right: var(--chip_);*/ |
| | | /*margin-top: 0;*/ |
| | | /*max-width: 30%;*/ |
| | | aspect-ratio: 1; |
| | | } |
| | | |
| | | .loop.scroll { |
| | | display: flex; |
| | | flex-wrap: nowrap; |
| | | overflow-x: auto; |
| | | touch-action: pan-x; |
| | | margin:0!important; |
| | | } |
| | | .loop.scroll li { |
| | | /*min-width: 40vw;*/ |
| | | padding: 0; |
| | | } |
| | | a:has(img) { |
| | | display:block; |
| | | padding: .25rem; |
| | | } |
| | | .loop.scroll img { |
| | | max-height: 50vh; |
| | | } |
| | | |
| | | |
| | | .no-results p, |
| | | .no-results { |
| | | display: flex; |
| | |
| | | /********************************************************* |
| | | DIRECTORY |
| | | *********************************************************/ |
| | | .is-directory main { |
| | | padding-top: var(--btnbtn); |
| | | } |
| | | .is-directory main > details { |
| | | grid-column: wide; |
| | | max-width: 100%; |
| | | margin: 1rem 0; |
| | | padding-right: var(--chipchip); |
| | | } |
| | | .is-directory main> details ul { |
| | | --justify: flex-start; |
| | | } |
| | | .is-directory main > details li::before { |
| | | display: none; |
| | | } |
| | | .directory-list > ul { |
| | | max-width: none; |
| | | margin-left: 0!important; |
| | | } |
| | | .directory-list { |
| | | padding: 0!important; |
| | | } |
| | | .directory-list .image { |
| | | display: flex; |
| | |
| | | text-align: center; |
| | | font-weight: var(--fw-h-bold); |
| | | position: sticky; |
| | | font-size: var(--txt-enormous); |
| | | font-size: var(--txt-xx-large); |
| | | width: 100%; |
| | | top: var(--btn); |
| | | left: 0; |
| | |
| | | text-shadow: rgb(var(--base-200)) 1px 1px 0; |
| | | user-select: none; |
| | | } |
| | | .directory-list >ul > li { |
| | | .directory-list >ul > li.nowrap { |
| | | padding: 2rem; |
| | | align-items: flex-start; |
| | | flex-wrap: wrap!important; |
| | | } |
| | | .directory-list > ul > li h3 { |
| | | background-color: rgb(var(--base-50)); |
| | | } |
| | | .directory-list > ul > li:nth-of-type(even) h3 { |
| | | background-color: rgb(var(--base-100)); |
| | | } |
| | | @media (min-width: 768px) { |
| | | .directory-list h3 { |
| | | background-color: transparent!important; |
| | | font-size: var(--txt-enormous); |
| | | } |
| | | |
| | | .directory-list >ul > li.nowrap { |
| | | flex-wrap: nowrap!important; |
| | | } |
| | | } |
| | | .directory-list >ul > li:nth-of-type(even) { |
| | | background-color: rgb(var(--base-100)); |
| | | } |
| | | |
| | | .directory-list > ul > li { |
| | | padding: 3rem var(--btn) 3rem 1.5rem; |
| | | } |
| | | /** The letter's list **/ |
| | | .directory-list ul ul { |
| | | width: 100%; |