| | |
| | | Colours |
| | | *****************************/ |
| | | --filter: grayscale(.3) sepia(.4); |
| | | --filterNone: grayscale(0) sepia(0); |
| | | |
| | | --mix-blend-mode: darken; |
| | | --coverBlend: overlay; |
| | | --coverIndex: 2; |
| | | --light-0: #fafafa; |
| | | --light-50: #fcfbfb; |
| | | --light-100: #f1eded; |
| | | --light-200: #e6dfdf; |
| | | --light-rgb: 250,250,250; |
| | | --dark-0: #201313; |
| | | --dark-50: #261717; |
| | | --dark-100: #2d1b1b; |
| | | --dark-200: #331e1e; |
| | | --dark-rgb: 16,4,4; |
| | | --action-0: #B7332E; |
| | | --action-50: #a32d29; |
| | | --action-100: #8e2824; |
| | | --action-200: #7a221f; |
| | | --action-contrast: var(--light-0); |
| | | --action-rgb: 183,51,46; |
| | | --secondary-0: #E8A737; |
| | | --secondary-50: #e59d20; |
| | | --secondary-100: #d48f18; |
| | | --secondary-200: #bd7f16; |
| | | --secondary-contrast: var(--light-0); |
| | | --secondary-rgb: 232,167,55; |
| | | --light-0: 239,239,239; /* #efefef; */ |
| | | --light-50: 226,226,226; /* #e2e2e2; */ |
| | | --light-100: 213,213,213; /* #d5d5d5; */ |
| | | --light-200: 201,201,201; /* #c9c9c9; */ |
| | | |
| | | --success: #22C55E; |
| | | --successBack: #d4edda; |
| | | --successText:#155724; |
| | | --warning: #E8A737; |
| | | --error: #EF4444; |
| | | --errorBack: #f8d7da; |
| | | --errorText: #721c24; |
| | | --dark-0: 21,21,21; /* #151515; */ |
| | | --dark-50: 34,34,34; /* #222222; */ |
| | | --dark-100: 46,46,46; /* #2e2e2e; */ |
| | | --dark-200: 59,59,59; /* #3b3b3b; */ |
| | | |
| | | --action-0: 255,0,128; /* #ff0080; */ |
| | | --action-50: 255,38,146; /* #ff2492; */ |
| | | --action-100: 255,71,164; /* #ff47a4; */ |
| | | --action-200: 255,107,181; /* #ff6bb5; */ |
| | | --action-contrast: var(--light-0); |
| | | |
| | | --action-comp: oklch(from rgb(var(--action-0)) .8 .26 h); |
| | | --action-tri: oklch(from rgb(var(--action-0)) .82 .2 calc(h - 120)); |
| | | --action-mono: oklch(from rgb(var(--action-0)) .3 .04 h); |
| | | --secondary-0: 214,145,33; /* #D69121; */ |
| | | --secondary-50: 255,196,33; /* #ffc421; */ |
| | | --secondary-100: 255,205,68;/* #ffcd44; */ |
| | | --secondary-200: 255,215,104;/* #ffd768; */ |
| | | --secondary-contrast: var(--light-0); |
| | | --secondary-comp: oklch(from rgb(var(--secondary-0)) .8 .26 h); |
| | | --secondary-tri: oklch(from rgb(var(--secondary-0)) .82 .2 calc(h - 120)); |
| | | --secondary-mono: oklch(from rgb(var(--secondary-0)) .3 .04 h); |
| | | |
| | | --success: 76,175,80; /* #4CAF50; */ |
| | | --successLight: 234,246,235; /* #eaf6eb; */ |
| | | --successDark: 14,33,15; /* #0e210f; */ |
| | | --successBack: var(--successLight); |
| | | --successText: var(--successDark); |
| | | --warning: 232,167,55; /* #E8A737; */ |
| | | --warningLight: 253,247,238;/* #fdf7ee; */ |
| | | --warningDark: 52,35,6; /* #342306; */ |
| | | --warningBack: var(--warningLight); |
| | | --warningText: var(--warningDark); |
| | | --error: 183,51,46; /* #B7332E; */ |
| | | --errorLight: 250,235,234; /* #faebea; */ |
| | | --errorDark: 40,11,10; /* #280b0a; */ |
| | | --errorBack: var(--errorLight); |
| | | --errorText: var(--errorDark); |
| | | |
| | | --base: var(--light-0); |
| | | --base-50: var(--light-50); |
| | | --base-100: var(--light-100); |
| | | --base-200: var(--light-200); |
| | | --base-rgb: var(--light-rgb); |
| | | |
| | | --contrast: var(--dark-0); |
| | | --contrast-50: var(--dark-50); |
| | | --contrast-100: var(--dark-100); |
| | | --contrast-200: var(--dark-200); |
| | | --contrast-rgb: var(--dark-rgb); |
| | | |
| | | --shimmer: rgba(var(--dark-rgb),0) 0%, |
| | | rgba(var(--dark-rgb),.05) 50%, |
| | | rgba(var(--dark-rgb),0) 100%; |
| | | |
| | | |
| | | --contrast-comp: oklch(from rgb(var(--contrast)) .8 .26 h); |
| | | --contrast-tri: oklch(from rgb(var(--contrast)) .82 .2 calc(h - 120)); |
| | | --contrast-mono: oklch(from rgb(var(--contrast)) .3 .04 h); |
| | | --base-comp: oklch(from rgb(var(--base)) .8 .26 h); |
| | | --base-tri: oklch(from rgb(var(--base)) .82 .2 calc(h - 120)); |
| | | --base-mono: oklch(from rgb(var(--base)) .3 .04 h); |
| | | |
| | | |
| | | --tone-a: rgb(var(--contrast)); |
| | | --tone-b: rgb(var(--base)); |
| | | |
| | | --duo-dark: oklch(from var(--tone-a) .22 c h); |
| | | --duo-light: oklch(from var(--tone-b) .78 c h); |
| | | |
| | | --shimmer: rgba(var(--contrast),0) 0%, |
| | | rgba(var(--contrast),.05) 50%, |
| | | rgba(var(--contrast),0) 100%; |
| | | |
| | | --op-1: .05; |
| | | --op-2: .15; |
| | |
| | | Scrollbar |
| | | *****************************/ |
| | | --sb-width: 8px; |
| | | --sb-track: var(--base-100); |
| | | --sb-thumb: var(--action-0); |
| | | --sb-thumb-hover: var(--action-50); |
| | | --sb-thumb-border: 2px solid var(--base-50); |
| | | --sb-track: rgb(var(--base-100)); |
| | | --sb-thumb: rgb(var(--action-0)); |
| | | --sb-thumb-hover: rgb(var(--action-50)); |
| | | --sb-thumb-border: 2px solid rgb(var(--base-50)); |
| | | --sb-radius: 4px; |
| | | |
| | | --details: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" fill="%232b1a0d" viewBox="0 0 256 256"><path d="M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z"></path></svg>'); |
| | |
| | | --coverBlend: multiply; |
| | | --coverIndex: 0; |
| | | |
| | | --action-50: #cb3933; |
| | | --action-100: #d14c47; |
| | | --action-200: #d6605c; |
| | | --action-50: 219,0,110; /* #db006e; */ |
| | | --action-100: 184,0.92; /* #b8005c; */ |
| | | --action-200: 148,0,74; /* #94004a; */ |
| | | |
| | | --secondary-50: #ebb14e; |
| | | --secondary-100: #edbb65; |
| | | --secondary-200: #f0c57c; |
| | | --secondary-50: 216,159,0; /* #d89f00; */ |
| | | --secondary-100: 181,133,0; /* #b58500; */ |
| | | --secondary-200: 145,106,0; /* #916a00; */ |
| | | |
| | | --contrast: var(--light-0); |
| | | --contrast-50: var(--light-50); |
| | | --contrast-100: var(--light-100); |
| | | --contrast-200: var(--light-200); |
| | | --contrast-rgb: var(--light-rgb); |
| | | --contrast: var(--light-rgb); |
| | | |
| | | --base: var(--dark-0); |
| | | --base-50: var(--dark-50); |
| | | --base-100: var(--dark-100); |
| | | --base-200: var(--dark-200); |
| | | --base-rgb: var(--dark-rgb); |
| | | --base: var(--dark-rgb); |
| | | |
| | | --successBack: #155724; |
| | | --successText:#d4edda; |
| | | --errorBack: #721c24; |
| | | --errorText: #f8d7da; |
| | | |
| | | --shimmer: rgba(var(--c),0) 0%, |
| | | rgba(var(--c),.05) 50%, |
| | | rgba(var(--c),0) 100%; |
| | | --successBack: var(--successDark); |
| | | --successText: var(--successLight); |
| | | --warningBack: var(--warningDark); |
| | | --warningText: var(--warningLight); |
| | | --errorBack: var(--errorDark); |
| | | --errorText: var(--errorLight); |
| | | |
| | | --shimmer: rgba(var(--light-0),0) 0%, |
| | | rgba(var(--light-0),.05) 50%, |
| | | rgba(var(--light-0),0) 100%; |
| | | } |
| | | /* https://frontendmasters.com/blog/the-coyier-css-starter/ */ |
| | | @layer reset { |
| | |
| | | inline-size: fit-content; |
| | | margin-inline: auto; |
| | | } |
| | | a > img, |
| | | figure img { |
| | | width: 100%; |
| | | height: 100%; |
| | |
| | | figcaption { |
| | | contain: inline-size; |
| | | font-size: 90%; |
| | | background-color: rgba(var(--base),var(--op-3)); |
| | | text-align: center; |
| | | font-style: italic; |
| | | } |
| | | |
| | | input, |
| | |
| | | padding: 1.5rem; |
| | | } |
| | | |
| | | hr.logo::after, |
| | | hr { |
| | | --margin: 12.5%; /* Half of the remaining 25% */ |
| | | --baseWidth: 75%; |
| | | border-style: solid; |
| | | border-width: 1px 0 0; |
| | | border-color: rgb(var(--contrast)); |
| | | color: inherit; |
| | | height: 0; |
| | | height: 1px; |
| | | overflow: visible; |
| | | margin-block: 2.5rem; |
| | | width: var(--baseWidth); |
| | | } |
| | | |
| | | hr.logo { |
| | | --width: calc((rgb(var(--baseWidth)) / 2) - var(--half)); |
| | | --half: calc(var(--btn) / 2); |
| | | width: var(--width); |
| | | position: relative; |
| | | margin-left: var(--margin); |
| | | } |
| | | hr.logo::before { |
| | | content: ''; |
| | | --circ: calc(var(--btn) + (var(--btn) / 2)); |
| | | --rad: calc(var(--circ) / 2); |
| | | background-color: rgb(var(--contrast-100)); |
| | | mask-image: var(--icon); |
| | | -webkit-mask-image: var(--icon); |
| | | mask-size: var(--btn); |
| | | -webkit-mask-size: contain; |
| | | mask-repeat: no-repeat; |
| | | -webkit-mask-repeat: no-repeat; |
| | | mask-position: center; |
| | | -webkit-mask-position: center; |
| | | display: block; |
| | | width: var(--circ); |
| | | height: var(--circ); |
| | | position: absolute; |
| | | border-radius: 50%; |
| | | right: calc(-1 * (var(--circ))); |
| | | top: 0; |
| | | transform: translateY(-50%); |
| | | |
| | | } |
| | | hr.logo::after { |
| | | content: ''; |
| | | display: block; |
| | | width: 100%; |
| | | position: absolute; |
| | | z-index: 0; |
| | | top: 0; |
| | | transform: translateY(050%); |
| | | background-color: rgb(var(--contrast)); |
| | | height: 1px; |
| | | right: calc((100% + var(--btn_) + 1rem) * -1); |
| | | margin: 0; |
| | | } |
| | | hr.dots { |
| | | border-color: transparent; |
| | | display:flex; |
| | | } |
| | | hr.dots::before { |
| | | content: '.\2003.\2003.'; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | :target { |
| | |
| | | BASE |
| | | *************************************************************/ |
| | | body { |
| | | background-color: var(--base-50); |
| | | color: var(--contrast); |
| | | background-color: rgb(var(--base-50)); |
| | | color: rgb(var(--contrast)); |
| | | margin: 0; |
| | | font-family: var(--body); |
| | | font-weight: var(--fw-b); |
| | |
| | | *************************************************************/ |
| | | html { |
| | | scroll-behavior: smooth; |
| | | overflow-x: hidden; |
| | | overflow-x: clip; |
| | | } |
| | | |
| | | @media(prefers-reduced-motion){ |
| | |
| | | /*}*/ |
| | | |
| | | main { |
| | | --gapNarrow: calc((var(--content) - var(--narrow)) / 2); |
| | | --gapContent: calc((var(--wider) - var(--content)) / 2); |
| | | --gapWide: calc((var(--wide) - var(--wider)) / 2); |
| | | |
| | | display: grid; |
| | | grid-template-columns: |
| | | [full-start] minmax(1rem, 1fr) |
| | | [wide-start] minmax(0, calc((100% - var(--content)) / 2)) |
| | | [wider-start] minmax(0, calc((var(--wide) - var(--wider)) / 2)) |
| | | [content-start] minmax(0, calc((var(--wider) - var(--content)) / 2)) |
| | | [narrow-start] min(100% - 2rem, var(--narrow)) [narrow-end] |
| | | minmax(0, calc((var(--content) - var(--narrow)) / 2)) [content-end] |
| | | minmax(0, calc((var(--wider) - var(--content)) / 2)) [wider-end] |
| | | minmax(0, calc((var(--wide) - var(--wider)) / 2)) [wide-end] |
| | | minmax(0, calc((100% - var(--content)) / 2)) |
| | | minmax(1rem, 1fr) [full-end]; |
| | | [wide-start] minmax(0, var(--gapWide)) |
| | | [wider-start] minmax(0, var(--gapContent)) |
| | | [content-start] minmax(0, var(--gapNarrow)) |
| | | [narrow-start] min(calc(100% - 2rem), var(--narrow)) [narrow-end] |
| | | minmax(0, var(--gapNarrow)) [content-end] |
| | | minmax(0, var(--gapContent)) [wider-end] |
| | | minmax(0, var(--gapWide)) [wide-end] |
| | | minmax(1rem, 1fr) [full-end]; |
| | | min-height: var(--maxHeight); |
| | | grid-auto-rows: max-content; |
| | | } |
| | | main > * { |
| | | grid-column: content; |
| | |
| | | max-width: var(--content); |
| | | margin: var(--sp1) auto; |
| | | } |
| | | main > section > ul { |
| | | ul { |
| | | max-width: var(--narrow); |
| | | margin: 1rem auto 1rem 3rem; |
| | | } |
| | | ul ul { |
| | | padding: .25rem 0 .25rem 1rem; |
| | | margin: 0; |
| | | } |
| | | |
| | | /* Nested items can use any width */ |
| | |
| | | |
| | | main .align-wider { |
| | | grid-column: wider; |
| | | width: 100%; |
| | | } |
| | | |
| | | main .align-wide { |
| | | grid-column: wide; |
| | | width: 100%; |
| | | } |
| | | |
| | | main .align-full { |
| | |
| | | position: sticky; |
| | | top: 0; |
| | | z-index: var(--z-8); |
| | | background-color: var(--base); |
| | | box-shadow: rgba(var(--base-rgb), var(--op-45)) var(--shdw-down); |
| | | background-color: rgb(var(--base)); |
| | | box-shadow: rgba(var(--base), var(--op-45)) var(--shdw-down); |
| | | transition: top var(--trans-base); |
| | | } |
| | | header a[rel="home"] { |
| | |
| | | align-items: center; |
| | | max-height:var(--btn); |
| | | overflow:hidden; |
| | | margin: 0 auto; |
| | | } |
| | | .scroll-progress { |
| | | position: absolute; |
| | |
| | | align-items: center; |
| | | pointer-events: none; |
| | | z-index: var(--z-3); |
| | | background-color: var(--base-200); |
| | | background-color: rgb(var(--base-200)); |
| | | overflow: hidden; |
| | | } |
| | | |
| | |
| | | height: 1px; |
| | | transform-origin: left center; |
| | | transform: scaleX(0); |
| | | background: var(--action-0); |
| | | background: rgb(var(--action-0)); |
| | | } |
| | | |
| | | footer { |
| | | padding: 1rem; |
| | | background-color: var(--base); |
| | | color: var(--contrast-200); |
| | | background-color: rgb(var(--base)); |
| | | color: rgb(var(--contrast-200)); |
| | | text-align: center; |
| | | margin: 4rem 0 0; |
| | | position: relative; |
| | |
| | | *:target { |
| | | scroll-snap-margin-top: var(--btnbtn); |
| | | scroll-margin-top: var(--btnbtn); |
| | | outline: double var(--action-200); |
| | | background-color: var(--base); |
| | | outline: double rgb(var(--action-200)); |
| | | background-color: rgb(var(--base)); |
| | | } |
| | | |
| | | /*********************** |
| | |
| | | padding: 0 1rem; |
| | | font-size: var(--txt-x-small); |
| | | z-index: var(--z-7); |
| | | background-color: var(--base-50); |
| | | background-color: rgb(var(--base-50)); |
| | | } |
| | | aside.header { |
| | | height: var(--chip_); |
| | |
| | | } |
| | | aside.footer { |
| | | --dir: column; |
| | | background-color:var(--base-50); |
| | | background-color:rgb(var(--base-50)); |
| | | padding: 1rem; |
| | | border-top: 1px solid var(--base-200); |
| | | border-top: 1px solid rgb(var(--base-200)); |
| | | } |
| | | aside.footer + footer { |
| | | margin-top: 0; |
| | |
| | | :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%; |
| | | } |
| | | |
| | | :is(h1, h2, h3, h4, h5, h6) :is(b, strong) { |
| | | font-weight: var(--fw-h-bold); |
| | |
| | | p { |
| | | line-height: 1.6; |
| | | } |
| | | .drop-cap::first-letter { |
| | | font-family: var(--heading); |
| | | font-size: var(--btn); |
| | | line-height: 1; |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | float: left; |
| | | font-weight: var(--fw-h-bold); |
| | | margin: 0.1em 0.1em 0.2em 0; |
| | | padding: 0.1em; |
| | | } |
| | | :not(.row >) p:has(+p) { |
| | | margin-bottom: 0; |
| | | } |
| | | :not(.row >) p + p { |
| | | margin-top: 0; |
| | | } |
| | | |
| | | .hint { |
| | | line-height: 1.2; |
| | |
| | | font-size: var(--txt-small); |
| | | } |
| | | |
| | | mark { |
| | | background-color: rgba(var(--action-0), var(--op-45))!important; |
| | | color: rgb(var(--action-contrast))!important; |
| | | border-top-left-radius: .5em; |
| | | border-bottom-right-radius: .5em; |
| | | padding: 0 .5em; |
| | | corner-shape: bevel; |
| | | } |
| | | |
| | | /****************************************************** |
| | | LINKS |
| | | ******************************************************/ |
| | | a { |
| | | color: var(--action-0); |
| | | color: rgb(var(--action-0)); |
| | | border-radius: 4px; |
| | | padding: .125rem; |
| | | } |
| | | a:visited { |
| | | color: var(--action-100); |
| | | color: rgb(var(--action-100)); |
| | | } |
| | | a:hover, |
| | | a:visited:hover { |
| | | color: var(--contrast-50); |
| | | color: rgb(var(--contrast-50)); |
| | | text-decoration: none; |
| | | } |
| | | |
| | | :is(p, li, h1,h2,h3,h4,h5,h6, small) a:hover { |
| | | color: var(--action-contrast); |
| | | background-color: var(--action-0); |
| | | color: rgb(var(--action-contrast)); |
| | | background-color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | a.logo { |
| | | display: inline-flex; |
| | | } |
| | | .logo img { |
| | | max-width: 150px; |
| | | } |
| | | /***************************************************** |
| | | ICONS |
| | | *****************************************************/ |
| | |
| | | ul.terms li { |
| | | list-style: none; |
| | | } |
| | | |
| | | .term-list.cloud { |
| | | display: flex; |
| | | gap: .25rem; |
| | | margin: var(--sp2) auto; |
| | | } |
| | | .term-list.cloud a { |
| | | border-radius: var(--radius); |
| | | background-color: transparent; |
| | | color: rgb(var(--action-0)); |
| | | border: 2px solid rgb(var(--action-0)); |
| | | padding: 4px 8px; |
| | | position: relative; |
| | | } |
| | | .term-list.cloud a:hover, |
| | | .term-list.cloud a:focus { |
| | | color: rgb(var(--action-contrast)); |
| | | background-color: rgb(var(--action-0)); |
| | | } |
| | | .term-list a:has(.count) { |
| | | padding-right: 1rem; |
| | | } |
| | | .term-list .count { |
| | | position: absolute; |
| | | top: .25rem; |
| | | right: .25rem; |
| | | /*border-radius: 50%;*/ |
| | | /*aspect-ratio: 1;*/ |
| | | font-size: var(--txt-small); |
| | | /*background-color: rgb(var(--action-0));*/ |
| | | /*color: rgb(var(--action-contrast));*/ |
| | | } |
| | | |
| | | .term-list li { |
| | | list-style: none; |
| | | } |
| | |
| | | /****************************************************** |
| | | UTILITY |
| | | ******************************************************/ |
| | | .rounded { border-radius: var(--radius-outer); } |
| | | .font-small { font-size: var(--txt-x-small); } |
| | | .font-medium { font-size: var(--txt-medium); } |
| | | .font-large { font-size: var(--txt-large); } |
| | | .font-x-large { font-size: var(--txt-x-large); } |
| | | |
| | | .align-center { text-align: center; } |
| | | .align-left { text-align: left; } |
| | | .align-right { text-align: right; } |
| | | .text-center {text-align: center;} |
| | | .text-right {text-align: right;} |
| | | .text-left {text-align: left;} |
| | | .align-center { text-align: center; margin: 0 auto;} |
| | | .align-left { text-align: left; margin: 0 auto 0 0;} |
| | | .align-right { text-align: right; margin: 0 0 0 auto;} |
| | | |
| | | |
| | | *[hidden] { display: none!important; } |
| | | |
| | |
| | | .hide-small { display: none; } |
| | | } |
| | | |
| | | .width-33, |
| | | .width-66, |
| | | .width-50, |
| | | .width-25, |
| | | .width-75 { |
| | |
| | | } |
| | | @media (min-width: 768px){ |
| | | .width-50 { |
| | | width: calc(50% - .3em); |
| | | max-width: 50%; |
| | | } |
| | | .width-25 { |
| | | width: calc(25% - .3em); |
| | | max-width: 25%; |
| | | } |
| | | .width-75 { |
| | | width: calc(75% - .3em); |
| | | max-width: 75%; |
| | | } |
| | | .width-33 { |
| | | max-width: 33.333%; |
| | | } |
| | | .width-66 { |
| | | max-width: 66.666% |
| | | } |
| | | } |
| | | /** SPACING TODO: maybe scan our files for which we actually use? **/ |
| | |
| | | .ml-7 { margin-left: var(--sp7); } |
| | | .mb-7 { margin-bottom: var(--sp7); } |
| | | |
| | | /****************************************************** |
| | | COLORS |
| | | ******************************************************/ |
| | | .base { |
| | | --color: rgb(var(--base)); |
| | | } |
| | | .base-50 { |
| | | --color: rgb(var(--base-50)); |
| | | } |
| | | .base-100 { |
| | | --color: rgb(var(--base-100)); |
| | | } |
| | | .base-200 { |
| | | --color: rgb(var(--base-200)); |
| | | } |
| | | .contrast { |
| | | --color: rgb(var(--contrast)); |
| | | } |
| | | .contrast-50 { |
| | | --color: rgb(var(--contrast-50)); |
| | | } |
| | | .contrast-100 { |
| | | --color: rgb(var(--contrast-100)); |
| | | } |
| | | .contrast-200 { |
| | | --color: rgb(var(--contrast-200)); |
| | | } |
| | | .action { |
| | | --color: rgb(var(--action-0)); |
| | | } |
| | | .action-50 { |
| | | --color: rgb(var(--action-50)); |
| | | } |
| | | .action-100 { |
| | | --color: rgb(var(--action-100)); |
| | | } |
| | | .action-200 { |
| | | --color: rgb(var(--action-200)); |
| | | } |
| | | .action-comp { |
| | | --color: oklch(from rgb(var(--action-0)) l c calc(h + 180)); |
| | | } |
| | | .action-tri { |
| | | --color: oklch(from rgb(var(--action-0)) .82 .2 calc(h - 120)); |
| | | } |
| | | .action-tri-alt { |
| | | --color: oklch(from rgb(var(--action-0)) .82 .2 calc(h + 120)); |
| | | } |
| | | .secondary { |
| | | --color: rgb(var(--secondary-0)); |
| | | } |
| | | .secondary-50 { |
| | | --color: rgb(var(--secondary-50)); |
| | | } |
| | | .secondary-100 { |
| | | --color: rgb(var(--secondary-100)); |
| | | } |
| | | .secondary-200 { |
| | | --color: rgb(var(--secondary-200)); |
| | | } |
| | | .secondary-comp { |
| | | --color: oklch(from rgb(var(--secondary-0)) l c calc(h + 180)); |
| | | } |
| | | .secondary-tri { |
| | | --color: oklch(from rgb(var(--secondary-0)) .82 .2 calc(h - 120)); |
| | | } |
| | | .secondary-tri-alt { |
| | | --color: oklch(from rgb(var(--secondary-0)) .82 .2 calc(h + 120)); |
| | | } |
| | | .hvr-bck:hover, |
| | | .hvr-bck:focus, |
| | | .bck { |
| | | background-color: var(--color); |
| | | } |
| | | .bck:not(.overlay).op-1 { |
| | | background-color: rgba(var(--color), var(--op-1)); |
| | | } |
| | | .bck:not(.overlay).op-2 { |
| | | background-color: rgba(var(--color), var(--op-2)); |
| | | } |
| | | .bck:not(.overlay).op-3 { |
| | | background-color: rgba(var(--color), var(--op-3)); |
| | | } |
| | | .bck:not(.overlay).op-4 { |
| | | background-color: rgba(var(--color), var(--op-4)); |
| | | } |
| | | .bck:not(.overlay).op-45 { |
| | | background-color: rgba(var(--color), var(--op-45)); |
| | | } |
| | | .bck:not(.overlay).op-5 { |
| | | background-color: rgba(var(--color), var(--op-5)); |
| | | } |
| | | .bck:not(.overlay).op-6 { |
| | | background-color: rgba(var(--color), var(--op-6)); |
| | | } |
| | | .hvr-clr:hover, |
| | | .hvr-clr:focus, |
| | | .clr { |
| | | color: var(--color); |
| | | } |
| | | .hvr-brdr:hover, |
| | | .hvr-brdr:focus, |
| | | .brdr { |
| | | border-color: var(--color); |
| | | } |
| | | |
| | | /****************************************************************** |
| | | DUOTONE |
| | | *****************************************************************//******************************************************************/ |
| | | .duotone { |
| | | isolation: isolate; |
| | | position: relative; |
| | | overflow: hidden; |
| | | background: rgb(var(--contrast)); |
| | | } |
| | | |
| | | .cover img, |
| | | .cover video, |
| | | .duotone img, |
| | | .duotone video { |
| | | filter: grayscale(1) sepia(1) contrast(1.1) brightness(1.05); |
| | | mix-blend-mode: multiply; |
| | | z-index: 1; |
| | | position: relative; |
| | | } |
| | | /*.duotone::after,*/ |
| | | .duotone::before { |
| | | content: ''; |
| | | position: absolute; |
| | | inset: 0; |
| | | pointer-events: none; |
| | | z-index: 2; |
| | | } |
| | | .duotone::before { |
| | | mix-blend-mode: color; |
| | | background-color: var(--duo-dark); |
| | | opacity: var(--op-5); |
| | | /*z-index: 1;*/ |
| | | } |
| | | .duotone:not(.cover)::after { |
| | | mix-blend-mode: screen; |
| | | background-color: var(--duo-light); |
| | | /*z-index: 2;*/ |
| | | } |
| | | |
| | | |
| | | .duotone.action { |
| | | --tone-a: rgb(var(--action-0)); |
| | | --duo-dark: oklch(from rgb(var(--base)) .18 .02 h); |
| | | --duo-light: oklch(from rgb(var(--action-0)) .72 .28 h); |
| | | } |
| | | |
| | | .duotone.secondary { |
| | | --tone-a: rgb(var(--secondary-0)); |
| | | --duo-dark: oklch(from rgb(var(--base)) .2 .03 h); |
| | | --duo-light: oklch(from rgb(var(--secondary-0)) .82 .18 h); |
| | | } |
| | | |
| | | .duotone.complement { |
| | | --duo-dark: oklch(from var(--tone-a) .22 .08 calc(h + 180)); |
| | | --duo-light: oklch(from var(--tone-a) .8 .26 h); |
| | | } |
| | | .duotone.triadic { |
| | | --duo-dark: oklch(from var(--tone-a) .24 .1 calc(h + 120)); |
| | | --duo-light: oklch(from var(--tone-a) .82 .2 calc(h - 120)); |
| | | } |
| | | .duotone.monochrome { |
| | | --duo-dark: oklch(from var(--tone-a) .3 .04 h); |
| | | --duo-light: oklch(from var(--tone-a) .88 .08 h); |
| | | } |
| | | .duotone.film { |
| | | --duo-dark: oklch(from var(--tone-a) .35 .1 h); |
| | | --duo-light: oklch(from var(--dark-0) .96 .02 h); |
| | | } |
| | | |
| | | |
| | | /******************************************************************//****************************************************************** |
| | | LAYOUT UTILITIES |
| | | ******************************************************************/ |
| | | /** Buttons **/ |
| | |
| | | aside.header, |
| | | aside.footer, |
| | | /** Defaults, of course **/ |
| | | .row, |
| | | .col { |
| | | |
| | | .row.row, |
| | | .col.col { |
| | | display: flex; |
| | | justify-content: var(--justify); |
| | | align-items: var(--align); |
| | |
| | | --justify: center; |
| | | --gap: .5rem; |
| | | --wrap: wrap; |
| | | width: 100%; |
| | | } |
| | | .stretch.stretch > * { |
| | | flex: 1; |
| | | } |
| | | |
| | | .col { --dir: column; } |
| | | .row { --dir: row; } |
| | | .col.rev { --dir: column-reverse; } |
| | | .row.rev { --dir: row-reverse; } |
| | | .col.col { --dir: column; } |
| | | .row.row { --dir: row; } |
| | | .col.col.rev.rev { --dir: column-reverse; } |
| | | .row.row.rev.rev { --dir: row-reverse; } |
| | | |
| | | .nowrap.nowrap { --wrap: nowrap; } |
| | | .nowrap.nowrap.stack-small { --wrap: wrap;} |
| | |
| | | .nowrap.nowrap.stack-small { --wrap: nowrap;} |
| | | } |
| | | |
| | | .col.start, |
| | | .row.a-start { --align: flex-start; } |
| | | .col.end, |
| | | .row.a-end { --align: flex-end; } |
| | | .row.row.top, |
| | | .col.col.left { --align: flex-start; } |
| | | .col.col.top, |
| | | .row.row.left { --justify: flex-start; } |
| | | |
| | | .col.a-start, |
| | | .row.start { --justify: flex-start; } |
| | | .col.a-end, |
| | | .row.end { --justify: flex-end; } |
| | | .row.row.btm, |
| | | .col.col.right { --align: flex-end; } |
| | | .col.col.btm, |
| | | .row.row.right { --justify: flex-end; } |
| | | |
| | | .col.btw, |
| | | .row.btw { |
| | | --justify: space-between; |
| | | width: 100%; |
| | | } |
| | | .row.row.x-mid, |
| | | .col.col.y-mid { --justify: center; } |
| | | .row.row.y-mid, |
| | | .col.col.x-mid { --align: center; } |
| | | |
| | | .col.even, |
| | | .row.even { --justify: space-evenly; } |
| | | .row.row.x-btw, |
| | | .col.col.y-btw { --justify: space-between; } |
| | | .row.row.y-btw, |
| | | .col.col.x-btw { --align: space-between; } |
| | | |
| | | .row.row.x-even, |
| | | .col.col.y-even { --justify: space-evenly; } |
| | | .row.row.y-even, |
| | | .col.col.x-even { --align: space-evenly; } |
| | | |
| | | .row.row.x-around, |
| | | .col.col.y-around { --justify: space-around; } |
| | | .row.row.y-around, |
| | | .col.col.x-around { --align: space-around; } |
| | | |
| | | /************************************************* |
| | | POSITION UTILITIES |
| | |
| | | .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; } |
| | |
| | | position: relative; |
| | | width: var(--chipchip); |
| | | height: var(--chip); |
| | | background-color: var(--base-200); |
| | | background-color: rgb(var(--base-200)); |
| | | border-radius: .75rem; |
| | | overflow: hidden; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | border: 4px solid transparent; |
| | | box-shadow: 0 0 .25rem 0 rgba(var(--contrast-rgb), .125) inset; |
| | | box-shadow: 0 0 .25rem 0 rgba(var(--contrast), .125) inset; |
| | | cursor: pointer; |
| | | margin: 5px; |
| | | transition: var(--trans-color); |
| | |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | background-color: var(--base); |
| | | background-color: rgb(var(--base)); |
| | | transform: translateX(-1.5rem); /* NOTE: Tied to half of the width defined above */ |
| | | border-radius: .75rem; |
| | | transition: var(--trans-transform); |
| | | box-shadow: 0 0 .25rem 3px rgba(var(--contrast-rgb), .125); |
| | | box-shadow: 0 0 .25rem 3px rgba(var(--contrast), .125); |
| | | } |
| | | .switch :checked ~ .slider::before { |
| | | transform: translateX(1.5rem); |
| | | box-shadow: 0 0 .25rem 3px rgba(var(--base-rgb), .25); |
| | | box-shadow: 0 0 .25rem 3px rgba(var(--base), .25); |
| | | } |
| | | .switch :checked ~ .slider { |
| | | background-color: var(--action-0); |
| | | background-color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | .switch :active ~ .slider::before { |
| | |
| | | margin-top: 0; |
| | | } |
| | | :not(:checked) ~ .slider .icon-sun-dim { |
| | | color: var(--action-0); |
| | | color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | /************************************************ |
| | |
| | | grid-template-columns: var(--columns); |
| | | gap: 10px; |
| | | } |
| | | .item-grid:empty { |
| | | display: none; |
| | | } |
| | | .no-results, |
| | | .item-grid .empty { |
| | | height: 15vh; |
| | | background-color: var(--base-50); |
| | | background-color: rgb(var(--base-50)); |
| | | border-radius: var(--radius); |
| | | border: 2px dashed var(--base-200); |
| | | border: 2px dashed rgb(var(--base-200)); |
| | | font-style: italic; |
| | | } |
| | | .item-grid.stats { |
| | |
| | | --width: 250px; |
| | | --columns: repeat(auto-fill, minmax(var(--width), 1fr)); |
| | | } |
| | | .item-grid.split-2 { |
| | | --columns: repeat(2, 1fr); |
| | | } |
| | | .item-grid.split-3 { |
| | | --columns: repeat(3, 1fr); |
| | | } |
| | | .item-grid.split-4 { |
| | | --columns: repeat(4, 1fr); |
| | | } |
| | | .item-grid.split-5 { |
| | | --columns: repeat(5, 1fr); |
| | | } |
| | | .item-grid.split-6 { |
| | | --columns: repeat(6, 1fr); |
| | | } |
| | | .item-grid.split-7 { |
| | | --columns: repeat(7, 1fr); |
| | | } |
| | | .item-grid.split-8 { |
| | | --columns: repeat(8, 1fr); |
| | | } |
| | | .item-grid.split-9 { |
| | | --columns: repeat(9, 1fr); |
| | | } |
| | | } |
| | | |
| | | .item-grid .item { |
| | |
| | | padding: 1rem 0; |
| | | } |
| | | .list-view .item:nth-of-type(even) { |
| | | background-color: var(--base); |
| | | background-color: rgb(var(--base)); |
| | | } |
| | | .list-view img { |
| | | width: 20%; |
| | |
| | | text-align: center; |
| | | margin: 1rem auto; |
| | | max-width: 66%; |
| | | background-color: var(--base-100); |
| | | border: 2px dashed var(--base-50); |
| | | background-color: rgb(var(--base-100)); |
| | | border: 2px dashed rgb(var(--base-50)); |
| | | padding: 1rem; |
| | | } |
| | | |
| | |
| | | table { |
| | | white-space: nowrap; |
| | | width: 100%; |
| | | display: block; |
| | | display: table; |
| | | margin: 0 0 2rem; |
| | | border-radius: 4px; |
| | | height: var(--maxHeight); |
| | | height: min(100%, var(--maxHeight)); |
| | | color: rgb(var(--contrast)); |
| | | overflow: auto; |
| | | position: relative; |
| | | } |
| | |
| | | thead,tfoot { |
| | | position: sticky; |
| | | z-index: 10; |
| | | background-color: var(--base); |
| | | background-color: rgb(var(--base)); |
| | | text-transform: uppercase; |
| | | padding: .5rem 0; |
| | | line-height: 2; |
| | |
| | | } |
| | | |
| | | tr:nth-of-type(even){ |
| | | background-color: var(--base-200); |
| | | background-color: rgb(var(--base-200)); |
| | | } |
| | | |
| | | tfoot th { |
| | |
| | | } |
| | | |
| | | thead tr, tfoot tr { |
| | | background-color: rgba(var(--base-rgb),var(--op-6)); |
| | | box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw); |
| | | background-color: rgba(var(--base),var(--op-6)); |
| | | box-shadow: rgba(var(--base),var(--op-45)) var(--shdw); |
| | | } |
| | | |
| | | thead tr { |
| | | border-bottom: 1px solid var(--contrast-200); |
| | | border-bottom: 1px solid rgb(var(--contrast-200)); |
| | | } |
| | | |
| | | tfoot tr { |
| | | border-top: 1px solid var(--contrast-200); |
| | | border-top: 1px solid rgb(var(--contrast-200)); |
| | | } |
| | | |
| | | thead { |
| | |
| | | } |
| | | |
| | | tbody tr:focus-within { |
| | | background-color: var(--base-100); |
| | | border-color: var(--action-50) |
| | | background-color: rgb(var(--base-100)); |
| | | border-color: rgb(var(--action-50)) |
| | | } |
| | | |
| | | [data-stuck] { |
| | | background-color: rgba(var(--base-rgb),var(--op-4)); |
| | | background-color: rgba(var(--base),var(--op-4)); |
| | | position: sticky; |
| | | left: -1rem; |
| | | z-index: 15; |
| | | box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw-subtle-right); |
| | | box-shadow: rgba(var(--base),var(--op-45)) var(--shdw-subtle-right); |
| | | } |
| | | |
| | | tbody [data-stuck] { |
| | |
| | | |
| | | thead [data-stuck], |
| | | tfoot [data-stuck] { |
| | | background: var(--base); |
| | | background: rgb(var(--base)); |
| | | } |
| | | |
| | | figure:has(table) { |
| | | width: 100%; |
| | | height: max-content; |
| | | } |
| | | /*********************************************** |
| | | BUTTONS |
| | | ***********************************************/ |
| | |
| | | width: fit-content; |
| | | text-transform: uppercase; |
| | | text-decoration: none; |
| | | background-color: var(--base-100); |
| | | color: var(--contrast-50); |
| | | border: 1px solid var(--base-200); |
| | | background-color: rgb(var(--base-100)); |
| | | color: rgb(var(--contrast-50)); |
| | | border: 1px solid rgb(var(--base-200)); |
| | | border-radius: var(--radius); |
| | | padding: .25rem 1rem; |
| | | font-family: var(--heading); |
| | |
| | | min-height: var(--btn); |
| | | display: inline-flex; |
| | | position: relative; |
| | | box-shadow: rgba(var(--base-rgb),var(--op-6)) var(--shdw-inset); |
| | | box-shadow: rgba(var(--base),var(--op-6)) var(--shdw-inset); |
| | | } |
| | | .btn.chip { |
| | | min-height: var(--chip); |
| | | } |
| | | .buttons.left a { |
| | | --justify: flex-start; |
| | | } |
| | | .buttons.right a { |
| | | --justify: flex-end; |
| | | } |
| | | .buttons.x-btw a { |
| | | --justify: space-between; |
| | | } |
| | | button.outline, |
| | | [type=submit].outline, |
| | | a.btn.outline, |
| | | .filters .btn + label, |
| | | .buttons .outline a { |
| | | --color: var(--contrast); |
| | | --color: rgb(var(--contrast)); |
| | | background-color: transparent; |
| | | color: var(--color); |
| | | border: 1px solid var(--color); |
| | |
| | | .buttons a:hover, |
| | | .buttons a:visited:hover, |
| | | .buttons a:focus { |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | box-shadow: var(--shdw-none); |
| | | } |
| | | |
| | |
| | | .buttons .outline a:hover, |
| | | .buttons .outline a:visited:hover, |
| | | .buttons .outline a:focus { |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | border-color: var(--action-0); |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | border-color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | button:disabled, |
| | |
| | | .btn:disabled:focus + label { |
| | | opacity: .5; |
| | | cursor: not-allowed; |
| | | background-color: var(--base-200); |
| | | color: var(--contrast-200); |
| | | background-color: rgb(var(--base-200)); |
| | | color: rgb(var(--contrast-200)); |
| | | } |
| | | |
| | | [type=submit] { |
| | |
| | | min-height:var(--chip); |
| | | } |
| | | .filters .btn + label { |
| | | background-color: var(--base-100); |
| | | border: 1px solid var(--base-200); |
| | | color: var(--contrast-200); |
| | | background-color: rgb(var(--base-100)); |
| | | border: 1px solid rgb(var(--base-200)); |
| | | color: rgb(var(--contrast-200)); |
| | | } |
| | | .filters .btn:checked + label { |
| | | border-color: var(--contrast); |
| | | color: var(--contrast); |
| | | border-color: rgb(var(--contrast)); |
| | | color: rgb(var(--contrast)); |
| | | } |
| | | |
| | | /**** WP BLOCK BUTTONS ****/ |
| | |
| | | button.sticky { |
| | | width: var(--btn); |
| | | height: var(--btn); |
| | | background-color: rgba(var(--base-rgb),var(--op-4)); |
| | | color: var(--contrast); |
| | | box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw); |
| | | background-color: rgba(var(--base),var(--op-4)); |
| | | color: rgb(var(--contrast)); |
| | | box-shadow: rgba(var(--base),var(--op-45)) var(--shdw); |
| | | transition: var(--trans-size), var(--trans-color); |
| | | } |
| | | .main-actions .buttons button:hover, |
| | |
| | | a.sticky:focus, |
| | | button.sticky:hover, |
| | | button.sticky:focus { |
| | | background-color: rgba(var(--action-rgb),var(--op-6)); |
| | | color: var(--action-contrast); |
| | | background-color: rgba(var(--action-0),var(--op-6)); |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | .main-actions .buttons button:disabled, |
| | | .main-actions .buttons button:disabled:hover, |
| | |
| | | button.sticky:disabled:hover, |
| | | button.sticky:disabled:focus { |
| | | opacity: .5; |
| | | background-color: rgba(var(--base-rgb),var(--op-3)); |
| | | color: var(--contrast); |
| | | background-color: rgba(var(--base),var(--op-3)); |
| | | color: rgb(var(--contrast)); |
| | | } |
| | | |
| | | .qtoggle { |
| | |
| | | .main .m-actions .refresh { |
| | | width: var(--btn); |
| | | border-radius: 0; |
| | | background-color: var(--base-50); |
| | | color: var(--contrast); |
| | | background-color: rgb(var(--base-50)); |
| | | color: rgb(var(--contrast)); |
| | | } |
| | | .main .m-actions .refresh:hover, |
| | | .main .m-actions .refresh:focus { |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | .main .refresh .indicator { |
| | | background-color: rgba(var(--base-rgb), var(--op-3)); |
| | | background-color: rgba(var(--base), var(--op-3)); |
| | | top: 0; |
| | | right: 0; |
| | | height: 1.1em; |
| | |
| | | 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)); |
| | | } |
| | | |
| | | button[data-action=refresh], |
| | | button.clear-filters { |
| | | width: max-content; |
| | | min-height: var(--chip_); |
| | | --w: var(--txt-small); |
| | | padding: .25rem .5rem; |
| | | } |
| | | /****************************************************************** |
| | | ACCESSIBILITY |
| | | ******************************************************************/ |
| | |
| | | input[type=radio]:focus-visible + label, |
| | | input:focus, |
| | | input:focus-within { |
| | | outline: 2px solid var(--action-0) !important; |
| | | outline: 2px solid rgb(var(--action-0)) !important; |
| | | outline-offset: 2px !important; |
| | | box-shadow: 0 0 0 4px rgba(var(--action-rgb), var(--op-3))!important; |
| | | box-shadow: 0 0 0 4px rgba(var(--action-0), var(--op-3))!important; |
| | | } |
| | | |
| | | [aria-busy="true"] { |
| | |
| | | [type=radio] + label, |
| | | [type=checkbox] + label { |
| | | cursor: pointer; |
| | | position: relative; |
| | | padding-left: 1.5rem; |
| | | } |
| | | .field:is(.radio,.checkbox) fieldset { |
| | | display: grid; |
| | |
| | | [type=radio]:focus + label, |
| | | [type=checkbox] + label:hover, |
| | | [type=checkbox]:focus + label { |
| | | color: var(--action-0); |
| | | 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, |
| | |
| | | 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; |
| | | } |
| | |
| | | left: .3em; |
| | | width: .75rem; |
| | | height: .75rem; |
| | | border: 2px solid var(--contrast-200); |
| | | border: 2px solid rgb(var(--contrast-200)); |
| | | background-color: transparent; |
| | | border-radius: var(--radius); |
| | | } |
| | |
| | | } |
| | | |
| | | [type=checkbox]:checked + label::before { |
| | | background-color: var(--action-0); |
| | | border-color: var(--base-50); |
| | | background-color: rgb(var(--action-0)); |
| | | border-color: rgb(var(--base-50)); |
| | | } |
| | | [type=checkbox]:checked + label::after { |
| | | display: block; |
| | | } |
| | | |
| | | [type=radio]:checked + label::before { |
| | | background-color: var(--action-0); |
| | | box-shadow: rgba(var(--base-rgb), var(--op-45)) var(--shdw-inset); |
| | | background-color: rgb(var(--action-0)); |
| | | box-shadow: rgba(var(--base), var(--op-45)) var(--shdw-inset); |
| | | } |
| | | /** Button checkboxes and radios **/ |
| | | input.btn + label::before, |
| | |
| | | [type=datetime-local], [type=time]) { |
| | | font-family: var(--body); |
| | | font-size: var(--txt-medium); |
| | | color: var(--contrast); |
| | | color: rgb(var(--contrast)); |
| | | padding: var(--p-y) var(--p-x); |
| | | border-radius: var(--radius); |
| | | background-color: var(--base); |
| | | background-color: rgb(var(--base)); |
| | | outline: 0; |
| | | border: 1px solid var(--base-100); |
| | | border-bottom: 2px solid var(--contrast-200); |
| | | border: 1px solid rgb(var(--base-100)); |
| | | border-bottom: 2px solid rgb(var(--contrast-200)); |
| | | width: 100%; |
| | | max-width: 100%; |
| | | margin: 0 4px; |
| | |
| | | input:is([type=date], [type=number], [type=text], [type=url], |
| | | [type=email], [type=tel], [type=password], [type=search], |
| | | [type=datetime-local], [type=time]):focus { |
| | | outline: var(--action-50); |
| | | background-color: var(--base-100); |
| | | color: var(--contrast); |
| | | outline: rgb(var(--action-50)); |
| | | background-color: rgb(var(--base-100)); |
| | | color: rgb(var(--contrast)); |
| | | } |
| | | textarea::placeholder, |
| | | input::placeholder { |
| | | font-family: var(--body); |
| | | color: var(--base-200); |
| | | color: rgb(var(--base-200)); |
| | | } |
| | | |
| | | .field > label { |
| | |
| | | top: .75em; |
| | | left: 1em; |
| | | padding: 0 .5em; |
| | | background-color:var(--base); |
| | | background-color:rgb(var(--base)); |
| | | font-size:var(--txt-small); |
| | | font-weight: var(--fw-b-light); |
| | | text-transform:uppercase; |
| | |
| | | padding: 0; |
| | | } |
| | | .field:not(.radio):not(.checkbox):not(.true-false):not(.taglist):focus-within > label { |
| | | background-color:var(--action-0); |
| | | color: var(--action-contrast); |
| | | background-color:rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | border-radius: 4px; |
| | | } |
| | | |
| | |
| | | SELECT |
| | | ******************************************************************/ |
| | | select { |
| | | background: var(--base); |
| | | border: 2px solid var(--base-100); |
| | | background: rgb(var(--base)); |
| | | border: 2px solid rgb(var(--base-100)); |
| | | border-radius: var(--radius); |
| | | color: var(--contrast); |
| | | color: rgb(var(--contrast)); |
| | | cursor: pointer; |
| | | font-family: var(--body); |
| | | font-size: var(--txt-small); |
| | |
| | | } |
| | | |
| | | select:disabled { |
| | | background-color: var(--base-50); |
| | | border-color: var(--base-100); |
| | | color: var(--base-200); |
| | | background-color: rgb(var(--base-50)); |
| | | border-color: rgb(var(--base-100)); |
| | | color: rgb(var(--base-200)); |
| | | cursor: not-allowed; |
| | | } |
| | | |
| | | select option { |
| | | background: var(--base); |
| | | color: var(--contrast); |
| | | background: rgb(var(--base)); |
| | | color: rgb(var(--contrast)); |
| | | padding: var(--sp1); |
| | | } |
| | | |
| | |
| | | select option:focus, |
| | | select option:active, |
| | | select option:checked { |
| | | background: var(--action-0); |
| | | color: var(--base); |
| | | box-shadow: 0 0 0 100px var(--action-0) inset; |
| | | background: rgb(var(--action-0)); |
| | | color: rgb(var(--base)); |
| | | box-shadow: 0 0 0 100px rgb(var(--action-0)) inset; |
| | | } |
| | | |
| | | select option:checked { |
| | | background: var(--action-0) linear-gradient(0deg, var(--action-0) 0%, var(--action-0) 100%); |
| | | color: var(--base); |
| | | background: rgb(var(--action-0)) linear-gradient(0deg, rgb(var(--action-0)) 0%, rgb(var(--action-0)) 100%); |
| | | color: rgb(var(--base)); |
| | | } |
| | | |
| | | select:hover { |
| | | border-color: var(--action-0); |
| | | border-color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | select:focus { |
| | | border-color: var(--action-0); |
| | | border-color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | /****************************************************************** |
| | |
| | | .search-container .clear-search { |
| | | opacity: 0; |
| | | cursor: default; |
| | | max-width: 0; |
| | | padding: 0; |
| | | flex-shrink: 0; |
| | | transition: width var(--trans-base), flex-shrink var(--trans-base); |
| | | } |
| | | .search-container [type="search"]:focus + .clear-search { |
| | | max-width: unset; |
| | | padding: .25rem 1rem; |
| | | flex-shrink: unset; |
| | | } |
| | | |
| | | .search-container.open.open [hidden] { |
| | | display: block!important; |
| | | } |
| | | |
| | | .search-container .icon.search { |
| | | padding: 4px 8px; |
| | | color: var(--contrast-200); |
| | | color: rgb(var(--contrast-200)); |
| | | --w: 3rem; |
| | | } |
| | | |
| | |
| | | margin: 1rem 0; |
| | | } |
| | | .card { |
| | | background-color: var(--base-100); |
| | | background-color: rgb(var(--base-100)); |
| | | border-radius: var(--radius); |
| | | box-shadow: rgba(var(--base-rgb), var(--op-45)) var(--shdw); |
| | | box-shadow: rgba(var(--base), var(--op-45)) var(--shdw); |
| | | aspect-ratio: 3/2; |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | .stat-number { |
| | | font-family: var(--heading); |
| | | font-weight: var(--fw-h-bold); |
| | | color: var(--action-0); |
| | | color: rgb(var(--action-0)); |
| | | font-size: var(--txt-xx-large); |
| | | } |
| | | /************************************************** |
| | |
| | | display: block; |
| | | border-radius: 6px; |
| | | overflow: hidden; |
| | | background: var(--base-200); |
| | | background: rgb(var(--base-200)); |
| | | position: relative; |
| | | } |
| | | |
| | | .progress .fill { |
| | | height: 100%; |
| | | background: var(--action-0); |
| | | background: rgb(var(--action-0)); |
| | | border-radius: 6px; |
| | | width: 0; |
| | | transition: width .3s ease; |
| | | } |
| | | .completed .fill { |
| | | background: var(--action-200); |
| | | background: rgb(var(--action-200)); |
| | | } |
| | | |
| | | .progress .details { |
| | | margin-top: 5px; |
| | | font-size: var(--txt-x-small); |
| | | color: var(--contrast); |
| | | color: rgb(var(--contrast)); |
| | | text-align: center; |
| | | padding: .25rem 0; |
| | | } |
| | |
| | | **************************************************************/ |
| | | details { |
| | | padding: .25rem 0; |
| | | border-top: 1px solid var(--base-200); |
| | | border-bottom: 1px solid var(--base-200); |
| | | border-top: 1px solid rgb(var(--base-200)); |
| | | border-bottom: 1px solid rgb(var(--base-200)); |
| | | } |
| | | details[open] { |
| | | background-color: var(--base-50); |
| | | background-color: rgb(var(--base-50)); |
| | | } |
| | | |
| | | details summary { |
| | |
| | | gap: .5rem; |
| | | } |
| | | details summary:hover { |
| | | background-color: var(--base-100); |
| | | border-color: var(--base-100); |
| | | color: var(--contrast); |
| | | background-color: rgb(var(--base-100)); |
| | | border-color: rgb(var(--base-100)); |
| | | color: rgb(var(--contrast)); |
| | | } |
| | | details[open] > summary { |
| | | background-color: var(--base-50); |
| | | background-color: rgb(var(--base-50)); |
| | | } |
| | | details summary::after { |
| | | content: ''; |
| | | position: absolute; |
| | | right: .5rem; |
| | | top: .5rem; |
| | | background-color: var(--contrast-100); |
| | | background-color: rgb(var(--contrast-100)); |
| | | -webkit-mask-repeat: no-repeat; |
| | | -webkit-mask-size: contain; |
| | | -webkit-mask-image: var(--icon); |
| | |
| | | transition: var(--trans-color), var(--trans-transform); |
| | | } |
| | | details summary:hover::after { |
| | | background-color: var(--action-0); |
| | | background-color: rgb(var(--action-0)); |
| | | } |
| | | details[open]:not(.all-filters) > summary::after { |
| | | background-color: var(--contrast); |
| | | background-color: rgb(var(--contrast)); |
| | | transform: rotate(-540deg); |
| | | transition: background-color var(--trans-base); |
| | | transition-property: background-color, transform; |
| | |
| | | user-select: all; |
| | | text-align: center; |
| | | border-radius: 4px; |
| | | background-color: var(--base-200); |
| | | background-color: rgb(var(--base-200)); |
| | | } |
| | | /******************************************************** |
| | | OVERLAYS |
| | | ********************************************************/ |
| | | dialog[open], |
| | | aside.expanded { |
| | | background-color: var(--base); |
| | | box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw); |
| | | background-color: rgb(var(--base)); |
| | | 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-rgb),var(--op-4)); |
| | | background-color: rgba(var(--base),var(--op-4)); |
| | | } |
| | | dialog[open], |
| | | aside.main { |
| | |
| | | dialog[open] { |
| | | z-index: var(--z-10); |
| | | --padding: 0; |
| | | top: 5vh; |
| | | margin: auto!important; |
| | | width: min(500px, 95vw); |
| | | height: fit-content; |
| | | max-height: 90vh; |
| | | padding: var(--padding); |
| | | background-color: var(--base-50); |
| | | color: var(--contrast); |
| | | border: 1px solid var(--base-200); |
| | | background-color: rgb(var(--base-50)); |
| | | color: rgb(var(--contrast)); |
| | | border: 1px solid rgb(var(--base-200)); |
| | | } |
| | | dialog:is(.create,.edit,.bulkEdit)[open] { |
| | | width: 98vw; |
| | | 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); |
| | |
| | | height: var(--btn); |
| | | width: 100%; |
| | | z-index: var(--z-6); |
| | | background-color: var(--action-100); |
| | | box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw-up); |
| | | background-color: rgb(var(--action-100)); |
| | | box-shadow: rgba(var(--base),var(--op-45)) var(--shdw-up); |
| | | } |
| | | .m-actions button { |
| | | --wrap: nowrap; |
| | | box-shadow: none; |
| | | width: 100%; |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | --gap: .75rem; |
| | | font-size: var(--txt-x-small); |
| | | border-radius: 0; |
| | |
| | | } |
| | | .m-actions button:hover, |
| | | .m-actions button:focus { |
| | | background-color: var(--base); |
| | | color: var(--contrast); |
| | | background-color: rgb(var(--base)); |
| | | color: rgb(var(--contrast)); |
| | | } |
| | | .m-actions button:first-of-type { |
| | | border-bottom-left-radius: 1rem; |
| | |
| | | .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] { |
| | |
| | | max-height: var(--max); |
| | | max-width: var(--max); |
| | | border-radius: 0; |
| | | background-color: rgba(var(--base-rgb), var(--op-6)); |
| | | /*background-color: rgba(var(--base), var(--op-6));*/ |
| | | background-color: transparent; |
| | | } |
| | | .gallery > .wrap { |
| | | dialog.gallery > .wrap { |
| | | --wrap: nowrap; |
| | | } |
| | | .gallery .controls { |
| | | position: absolute; |
| | | bottom: 0; |
| | | left: var(--btn_); |
| | | right: 0; |
| | | position: relative; |
| | | overflow: hidden; |
| | | max-height: none; |
| | | margin: 0; |
| | | padding: 0; |
| | | height: 100%; |
| | | width: 100%; |
| | | --wrap: nowrap; |
| | | --gap: 0; |
| | | inset: 0; |
| | | } |
| | | .gallery button.nav { |
| | | width: 100%; |
| | | .gallery .hint { |
| | | position: absolute; |
| | | top: 1rem; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | letter-spacing: .12em; |
| | | pointer-events: none; |
| | | z-index: 2; |
| | | animation: hint-fade 3s ease forwards; |
| | | } |
| | | @keyframes hint-fade { |
| | | 0% { opacity: 1; } |
| | | 60% { opacity: 1; } |
| | | 100% { opacity: 0; } |
| | | } |
| | | .gallery .controls { |
| | | --wrap: nowrap; |
| | | --align: flex-end; |
| | | --justify: space-between; |
| | | --gap: 0; |
| | | position: absolute; |
| | | inset: 0; |
| | | padding: 1rem; |
| | | z-index: 3; |
| | | pointer-events: none; |
| | | } |
| | | .gallery .controls button { |
| | | min-height: var(--chipchip); |
| | | pointer-events: all; |
| | | background: rgba(var(--base), var(--op-45)); |
| | | border: 1px solid rgba(var(--contrast), var(--op-1)); |
| | | color: rgba(var(--contrast), var(--op-5)); |
| | | } |
| | | .gallery .controls button:hover, |
| | | .gallery .controls button:focus { |
| | | background: rgba(var(--base), var(--op-5)); |
| | | color: rgb(var(--contrast)); |
| | | } |
| | | .gallery .controls .cancel { |
| | | position: absolute; |
| | | top: 1rem; |
| | | right: 1rem; |
| | | } |
| | | |
| | | |
| | | |
| | | dialog.gallery .cancel:focus, |
| | | dialog.gallery .cancel:hover { |
| | | background: rgba(var(--base-rgb),var(--op-4)); |
| | | background: rgba(var(--base),var(--op-4)); |
| | | } |
| | | |
| | | |
| | | dialog.gallery .content { |
| | | position: relative; |
| | | flex: 1 1 auto; |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | flex: 1; |
| | | display: flex; |
| | | } |
| | | |
| | | dialog.gallery .content .image { |
| | | max-width: 90vw; |
| | | max-height: 85vh; |
| | | object-fit: contain; |
| | | transition: transform 0.15s ease-out; |
| | | touch-action: none; |
| | | } |
| | | |
| | | dialog.gallery .image-left, |
| | | dialog.gallery .image-right { |
| | | position: absolute; |
| | | width: 0; |
| | | height: 0; |
| | | opacity: 0; |
| | | pointer-events: none; |
| | | left: var(--offScreen); |
| | | } |
| | | |
| | | dialog.gallery .content .image { |
| | | max-width: 100%; |
| | | max-height: 100%; |
| | | object-fit: contain; |
| | | display: block; |
| | | transform-origin: center center; |
| | | will-change: transform; |
| | | transition: transform 0.15s ease-out; |
| | | touch-action: none; |
| | | user-select: none; |
| | | -webkit-user-drag: none; |
| | | cursor: default; |
| | | } |
| | | .gallery .image[style*="scale(1)"], |
| | | .gallery .image:not([style]) { |
| | | cursor: default; |
| | | } |
| | | |
| | | dialog.gallery details { |
| | | position: absolute; |
| | | width: 100%; |
| | |
| | | bottom: 0; |
| | | left: 0; |
| | | right: 0; |
| | | background: rgba(var(--base-rgb),var(--op-45)); |
| | | color: var(--contrast); |
| | | background: rgba(var(--base),var(--op-45)); |
| | | color: rgb(var(--contrast)); |
| | | border-radius: 4px; |
| | | overflow: hidden; |
| | | z-index: 10; |
| | | z-index: 3; |
| | | } |
| | | dialog.gallery details:has(.item-info:empty) { |
| | | display: none; |
| | |
| | | } |
| | | |
| | | dialog.gallery details[open] .item-info { |
| | | padding: 1rem; |
| | | padding: 0.75rem 1rem 1rem; |
| | | font-size: var(--txt-x-small); |
| | | } |
| | | |
| | | dialog.gallery .counter { |
| | | position: absolute; |
| | | bottom: 1rem; |
| | | left: 1rem; |
| | | background: rgba(var(--base-rgb),var(--op-4)); |
| | | color: var(--contrast); |
| | | padding: 0.4rem 0.8rem; |
| | | bottom: 0; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | background: rgba(var(--base),var(--op-4)); |
| | | color: rgba(var(--contrast), var(--op-3)); |
| | | padding: .4rem .8rem; |
| | | border-radius: 3px; |
| | | font-size: 0.85rem; |
| | | z-index: 10; |
| | | font-size: var(--txt-small); |
| | | letter-spacing: .1em; |
| | | z-index: 3; |
| | | } |
| | | |
| | | dialog.gallery .favourite { |
| | | position: absolute; |
| | | top: 1rem; |
| | | left: 1rem; |
| | | z-index: 10; |
| | | top: 0; |
| | | left: 0; |
| | | z-index: 3; |
| | | } |
| | | |
| | | dialog.gallery .image { |
| | |
| | | opacity: 1; |
| | | } |
| | | |
| | | ul.gallery { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | margin: .2em!important; |
| | | padding: 0!important; |
| | | max-width: 100vw; |
| | | } |
| | | ul.gallery::after { |
| | | content: ''; |
| | | display: block; |
| | | flex-grow: 10; |
| | | } |
| | | |
| | | ul.gallery li { |
| | | flex-grow: 1; |
| | | list-style: none; |
| | | height: 40vh; |
| | | margin: .2em; |
| | | overflow: hidden; |
| | | padding: 0; |
| | | max-width:49%; |
| | | } |
| | | |
| | | ul.gallery figure { |
| | | min-width: 100%; |
| | | height: 100%; |
| | | } |
| | | ul.gallery figure.duotone img { |
| | | mix-blend-mode: multiply; |
| | | } |
| | | |
| | | |
| | | |
| | | @media (max-aspect-ratio: 1/1) and (max-width: 480px) { |
| | | ul.gallery { |
| | | flex-direction: row; |
| | | } |
| | | ul.gallery li { |
| | | height: auto; |
| | | width: 100%; |
| | | } |
| | | ul.gallery figure { |
| | | width: 100%; |
| | | max-height: 75vh; |
| | | min-width: 0; |
| | | } |
| | | } |
| | | @media (max-aspect-ratio: 1/1) { |
| | | ul.gallery li { |
| | | height: 30vh; |
| | | } |
| | | } |
| | | @media (max-height: 480px) { |
| | | ul.gallery li { |
| | | 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; |
| | |
| | | } |
| | | aside.main header { |
| | | --w: 2em; |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | padding: 1rem; |
| | | } |
| | | .tab-content header { |
| | |
| | | --dir: row; |
| | | --align: center; |
| | | margin: 0; |
| | | border-bottom: 1px solid var(--base-200); |
| | | border-bottom: 1px solid rgb(var(--base-200)); |
| | | } |
| | | nav.share ul, |
| | | nav.share li, |
| | |
| | | height: var(--chipchip); |
| | | } |
| | | nav.share a:hover { |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | aside.main h4, |
| | | aside.main .hint { |
| | |
| | | padding: 1rem; |
| | | } |
| | | .main section + section { |
| | | border-top: 1px solid var(--base-200); |
| | | border-top: 1px solid rgb(var(--base-200)); |
| | | } |
| | | |
| | | .qtoggle .count, |
| | |
| | | font-size: var(--txt-small); |
| | | } |
| | | #queue.synced + .qtoggle .indicator { |
| | | background-color: var(--success); |
| | | background-color: rgb(var(--success)); |
| | | } |
| | | |
| | | #queue.pending + .qtoggle .indicator { |
| | | background-color: var(--warning); |
| | | background-color: rgb(var(--warning)); |
| | | animation: pulse 2s infinite; |
| | | } |
| | | |
| | | .refresh.fetching .icon, |
| | | #queue.pending:not(.expanded) + .qtoggle .icon { |
| | | background-color: var(--action-0); |
| | | background-color: rgb(var(--action-0)); |
| | | animation: spin 1s var(--trans-fn) infinite; |
| | | } |
| | | .main.expanded + .qtoggle { |
| | |
| | | } |
| | | .btn + label .indicator:not(:empty) { |
| | | font-size: var(--txt-small); |
| | | background-color: var(--base); |
| | | border: 1px solid var(--contrast); |
| | | background-color: rgb(var(--base)); |
| | | border: 1px solid rgb(var(--contrast)); |
| | | width: 1.75em; |
| | | height: 1.75em; |
| | | padding: .3em; |
| | | } |
| | | |
| | | .main > .header { |
| | | border-bottom: 1px solid var(--base-200); |
| | | border-bottom: 1px solid rgb(var(--base-200)); |
| | | padding: 1rem 0; |
| | | flex-shrink: 0; |
| | | } |
| | |
| | | } |
| | | .queue-actions { |
| | | flex-shrink: 0; |
| | | border-top: 1px solid var(--base-200); |
| | | border-top: 1px solid rgb(var(--base-200)); |
| | | } |
| | | .queue-actions button { |
| | | width: 100%; |
| | | } |
| | | |
| | | .main .item { |
| | | background-color: var(--base-50); |
| | | background-color: rgb(var(--base-50)); |
| | | padding: 15px; |
| | | border-radius: var(--radius); |
| | | box-shadow: var(--shdw-none); |
| | |
| | | .main .item .time { |
| | | padding: .5rem 0; |
| | | font-size: var(--txt-small); |
| | | border: 1px solid var(--base-200); |
| | | border: 1px solid rgb(var(--base-200)); |
| | | border-width: 1px 0; |
| | | margin: .25rem 0; |
| | | } |
| | |
| | | } |
| | | |
| | | .callout.callout { |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | background-color: rgb(var(--action-0)); |
| | | color: rgb(var(--action-contrast)); |
| | | } |
| | | |
| | | .callalt.callalt { |
| | | background-color: var(--secondary-0); |
| | | background-color: rgb(var(--secondary-0)); |
| | | color: var(--secondary-contrast); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .callout a { |
| | | background-color: var(--action-contrast); |
| | | background-color: rgb(var(--action-contrast)); |
| | | padding: 0 .125rem; |
| | | border-radius: 4px; |
| | | } |
| | | /******************************************************** |
| | | WP BLOCKS |
| | | ********************************************************/ |
| | | /** MEDIA TEXT **/ |
| | | .media-text > * { |
| | | flex: 1; |
| | | } |
| | | /** COVER **/ |
| | | .cover { |
| | | --color: rgba(var(--action-0), var(--op-5)); |
| | | position: relative; |
| | | overflow: hidden; |
| | | min-height: 60vh; |
| | | padding: var(--btn); |
| | | } |
| | | .cover::before { |
| | | content: ''; |
| | | z-index: var(--coverIndex); |
| | | background-color: var(--action-0); |
| | | mix-blend-mode: var(--coverBlend); |
| | | background-position: center; |
| | | background-repeat: no-repeat; |
| | | background-size: cover; |
| | | } |
| | | |
| | | .cover::before, |
| | | .cover:not(.duotone)::before { |
| | | content: ''; |
| | | /*z-index: var(--coverIndex);*/ |
| | | background-color: var(--dark-0); |
| | | /*mix-blend-mode: var(--coverBlend);*/ |
| | | /*background-position: center;*/ |
| | | /*background-repeat: no-repeat;*/ |
| | | /*background-size: cover;*/ |
| | | } |
| | | .cover .overlay { |
| | | background-color: var(--dark-0); |
| | | } |
| | | .overlay.op-1 { |
| | | opacity: var(--op-1); |
| | | } |
| | | .overlay.op-2 { |
| | | opacity: var(--op-2); |
| | | } |
| | | .overlay.op-3 { |
| | | opacity: var(--op-3); |
| | | } |
| | | .overlay.op-4 { |
| | | opacity: var(--op-4); |
| | | } |
| | | .overlay.op-45 { |
| | | opacity: var(--op-45); |
| | | } |
| | | .overlay.op-5 { |
| | | opacity: var(--op-5); |
| | | } |
| | | .overlay.op-6 { |
| | | opacity: var(--op-6); |
| | | } |
| | | .cover:has(.overlay)::before { |
| | | display: none; |
| | | } |
| | | .cover .overlay, |
| | | .cover:not(.duotone)::before, |
| | | .cover > video, |
| | | .cover > img { |
| | | position: absolute; |
| | | inset: 0; |
| | | width: 100%; |
| | | max-width: 100%; |
| | | max-width: none!important; |
| | | height: 100%; |
| | | margin: 0; |
| | | } |
| | | .cover > img, |
| | | .cover > video { |
| | | mix-blend-mode: luminosity; |
| | | max-width: none!important; |
| | | width: 100%!important; |
| | | } |
| | | .cover .overlay, |
| | | .cover:not(.duotone)::before { |
| | | z-index: 2; |
| | | background-color: var(--color); |
| | | mix-blend-mode: color; |
| | | } |
| | | |
| | | |
| | | .cover .content { |
| | |
| | | } |
| | | |
| | | .cover > img { |
| | | z-index: 1; |
| | | opacity: .5; |
| | | mix-blend-mode: luminosity; |
| | | /*z-index: 1;*/ |
| | | /*opacity: .5;*/ |
| | | /*mix-blend-mode: luminosity;*/ |
| | | object-fit: cover; |
| | | } |
| | | |
| | | @media (min-width: 768px) { |
| | | .cover > img { |
| | | opacity: .33; |
| | | /*opacity: .33;*/ |
| | | } |
| | | } |
| | | /** IMAGE **/ |
| | | figure { |
| | | overflow: hidden; |
| | | position: relative; |
| | | } |
| | | figure:is(.op-1,.op-2,.op-3,.op-4,.op-5,.op-6,.op-45)::before { |
| | | position: absolute; |
| | | inset: 0; |
| | | pointer-events: none; |
| | | content: ''; |
| | | } |
| | | figure.op-1::before { |
| | | opacity: var(--op-1); |
| | | } |
| | | figure.op-2::before { |
| | | opacity: var(--op-2); |
| | | } |
| | | figure.op-3::before { |
| | | opacity: var(--op-3); |
| | | } |
| | | figure.op-45::before { |
| | | opacity: var(--op-45); |
| | | } |
| | | figure.op-4::before { |
| | | opacity: var(--op-4); |
| | | } |
| | | figure.op-5::before { |
| | | opacity: var(--op-5); |
| | | } |
| | | figure.op-6::before { |
| | | opacity: var(--op-6); |
| | | } |
| | | |
| | | figure.action-0::before { |
| | | background-color: rgb(var(--action-0)); |
| | | } |
| | | figure.action-50::before { |
| | | background-color: rgb(var(--action-50)); |
| | | } |
| | | figure.action-100::before { |
| | | background-color: rgb(var(--action-100)); |
| | | } |
| | | figure.action-200::before { |
| | | background-color: rgb(var(--action-200)); |
| | | } |
| | | figure.secondary-0::before { |
| | | background-color: rgb(var(--secondary-0)); |
| | | } |
| | | figure.secondary-50::before { |
| | | background-color: rgb(var(--secondary-50)); |
| | | } |
| | | figure.secondary-100::before { |
| | | background-color: rgb(var(--secondary-100)); |
| | | } |
| | | figure.secondary-200::before { |
| | | background-color: rgb(var(--secondary-200)); |
| | | } |
| | | figure.base::before { |
| | | background-color: rgb(var(--base)); |
| | | } |
| | | figure.base-50::before { |
| | | background-color: rgb(var(--base-50)); |
| | | } |
| | | figure.base-100::before { |
| | | background-color: rgb(var(--base-100)); |
| | | } |
| | | figure.base-200::before { |
| | | background-color: rgb(var(--base-200)); |
| | | } |
| | | figure.contrast::before { |
| | | background-color: rgb(var(--contrast)); |
| | | } |
| | | figure.contrast-50::before { |
| | | background-color: rgb(var(--contrast-50)); |
| | | } |
| | | figure.contrast-100::before { |
| | | background-color: rgb(var(--contrast-100)); |
| | | } |
| | | figure.contrast-200::before { |
| | | background-color: rgb(var(--contrast-200)); |
| | | } |
| | | |
| | | .bg-fixed { |
| | | background-attachment: fixed; |
| | | } |
| | | .bg-repeat.bg-repeat { |
| | | background-repeat: repeat; |
| | | background-size: 33vw; |
| | | } |
| | | [data-bg-img] { |
| | | background-size: cover; |
| | | background-repeat: no-repeat; |
| | | } |
| | | /** BLOCKQUOTE **/ |
| | | blockquote { |
| | | --background: var(--base-100); |
| | | --border: var(--action-0); |
| | | line-height: 1.2; |
| | | padding: var(--btn); |
| | | border-radius: 4rem; |
| | | background-color: var(--background); |
| | | } |
| | | |
| | | blockquote .content { |
| | | margin: 12px auto; |
| | | max-width: min(680px, 80vw); |
| | | margin-left: 10vw; |
| | | position: relative; |
| | | font-family: var(--heading); |
| | | font-weight: var(--fw-h-bold); |
| | | padding: 3rem 2.5rem; |
| | | border-radius: var(--radius-outer); |
| | | border: 2px solid var(--border); |
| | | padding: var(--btn); |
| | | } |
| | | |
| | | blockquote .content::before, |
| | | blockquote .content::after { |
| | | position: absolute; |
| | | content: ''; |
| | | left: 50px; |
| | | } |
| | | |
| | | blockquote .content::before { |
| | | width: 80px; |
| | | border: 6px solid var(--background); |
| | | bottom: -3px; |
| | | z-index: 2; |
| | | } |
| | | |
| | | blockquote .content::after { |
| | | border: 2px solid var(--border); |
| | | border-radius: 0 100% 0 0; |
| | | width: 60px; |
| | | height: 60px; |
| | | bottom: -60px; |
| | | border-bottom: 0; |
| | | border-left: 0; |
| | | z-index: 3; |
| | | } |
| | | blockquote .icon-quotes-fi { |
| | | position: absolute; |
| | | top: var(--btn); |
| | | left: calc((10vw + var(--btn)) * -1); |
| | | --w: 10vw; |
| | | opacity: var(--op-1); |
| | | } |
| | | |
| | | blockquote cite { |
| | | padding: 15px 0 0 12px; |
| | |
| | | border-radius: 0; |
| | | margin: 4rem auto; |
| | | padding: 3rem; |
| | | box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw-down), rgba(var(--base-rgb),var(--op-45)) var(--shdw-up);; |
| | | box-shadow: rgba(var(--base),var(--op-45)) var(--shdw-down), rgba(var(--base),var(--op-45)) var(--shdw-up);; |
| | | } |
| | | |
| | | blockquote.pull cite { |
| | | margin: 0; |
| | | } |
| | | /** QUERY **/ |
| | | .loop .item-grid { |
| | | grid-template-columns: repeat(1, 1fr); |
| | | ul.loop { |
| | | max-width: none; |
| | | padding: var(--sp4) var(--sp1); |
| | | } |
| | | @media (min-width: 768px) { |
| | | .loop .item-grid { |
| | | grid-template-columns: repeat(2, 1fr); |
| | | .loop :is(h1,h2,h3,h4,h5,h6) { |
| | | margin: .5em 0; |
| | | } |
| | | .loop :is(h1,h2,h3,h4,h5,h6):has(+ time) { |
| | | margin-bottom: 0; |
| | | } |
| | | .loop :is(h1,h2,h3,h4,h5,h6) + time { |
| | | font-size: var(--txt-x-small); |
| | | margin-top: 0; |
| | | } |
| | | .loop li { |
| | | list-style: none; |
| | | } |
| | | .loop p:has(.read-more) { |
| | | text-align: right; |
| | | } |
| | | |
| | | .loop li > figure { |
| | | /*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; |
| | | } |
| | | a:has(img) { |
| | | display:block; |
| | | padding: .25rem; |
| | | } |
| | | |
| | | |
| | | .no-results p, |
| | | .no-results { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | |
| | | /** TODO: LIST OVERRIDES **/ |
| | | /********************************************************* |
| | | DIRECTORY |
| | | *********************************************************/ |
| | | .directory-list > ul { |
| | | max-width: none; |
| | | margin-left: 0!important; |
| | | } |
| | | .directory-list .image { |
| | | display: flex; |
| | |
| | | width: 100%; |
| | | top: var(--btn); |
| | | left: 0; |
| | | color: var(--base); |
| | | text-shadow: var(--base-200) 1px 1px 0; |
| | | color: rgb(var(--base)); |
| | | text-shadow: rgb(var(--base-200)) 1px 1px 0; |
| | | user-select: none; |
| | | } |
| | | .directory-list >ul > li { |
| | |
| | | align-items: flex-start; |
| | | } |
| | | .directory-list >ul > li:nth-of-type(even) { |
| | | background-color: var(--base-100); |
| | | background-color: rgb(var(--base-100)); |
| | | } |
| | | |
| | | /** The letter's list **/ |
| | |
| | | padding: .35rem .5rem; |
| | | } |
| | | .directory-list ul ul li:nth-of-type(even) { |
| | | background-color: var(--base-100); |
| | | background-color: rgb(var(--base-100)); |
| | | } |
| | | .directory-list ul li:nth-of-type(even) ul li:nth-of-type(even) { |
| | | background-color: var(--base-50); |
| | | background-color: rgb(var(--base-50)); |
| | | } |
| | | @media (min-width: 768px) { |
| | | .directory-list h3 { |
| | |
| | | height: fit-content; |
| | | width: min(400px, 60vw); |
| | | border-radius: var(--radius-outer); |
| | | background-color: rgba(var(--base-rgb),var(--op-4)); |
| | | background-color: rgba(var(--base),var(--op-4)); |
| | | padding: 2rem; |
| | | box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw); |
| | | box-shadow: rgba(var(--base),var(--op-45)) var(--shdw); |
| | | position: relative; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .loading[open] i.icon { |
| | | background-color: var(--action-0); |
| | | background-color: rgb(var(--action-0)); |
| | | } |
| | | |
| | | dialog.loading[open] i.icon { |
| | |
| | | } |
| | | |
| | | dialog.loading[open] h3 { |
| | | color: var(--contrast); |
| | | color: rgb(var(--contrast)); |
| | | margin: 2rem 1rem auto !important; |
| | | font-size: var(--txt-large); |
| | | width: -moz-fit-content; |
| | |
| | | width: 12px; |
| | | height: 12px; |
| | | border: 2px solid transparent; |
| | | border-top: 2px solid var(--action-50); |
| | | border-top: 2px solid rgb(var(--action-50)); |
| | | border-radius: 50%; |
| | | animation: spin 1s var(--trans-fn) infinite; |
| | | } |
| | |
| | | |
| | | @keyframes pulse-color { |
| | | 0% { |
| | | box-shadow: 0 0 0 0 rgba(var(--action-rgb), .4); |
| | | box-shadow: 0 0 0 0 rgba(var(--action-0), .4); |
| | | } |
| | | 30% { |
| | | box-shadow: 0 0 0 .75rem rgba(var(--action-rgb), 0); |
| | | box-shadow: 0 0 0 .75rem rgba(var(--action-0), 0); |
| | | } |
| | | 100% { |
| | | box-shadow: 0 0 0 0 rgba(var(--action-rgb), 0); |
| | | box-shadow: 0 0 0 0 rgba(var(--action-0), 0); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | /*.group {*/ |
| | | /* background-color: rgb(var(--base));*/ |
| | | /* margin: 1rem 0;*/ |
| | | /*}*/ |