| | |
| | | /*! |
| | | Theme Name: Jake Van |
| | | Theme Name: Jake Van Base Theme |
| | | Theme URI: https://jakevan.ca |
| | | Author: Jake Vanderwerf |
| | | Author URI: https://jakevan.ca |
| | |
| | | --w: 1.2em; /** Icon **/ |
| | | |
| | | --filter: grayscale(.3) sepia(.4); |
| | | |
| | | --dashed: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='%23151515' stroke-width='1' stroke-dasharray='12%2c18%2c36' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e"); |
| | | --dashed-action: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='%23B7332E' stroke-width='1' stroke-dasharray='12%2c18%2c36' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e"); |
| | | --font-base: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif; |
| | | --heading: 'Open Sans', var(--font-base); |
| | | --body: 'Montserrat', var(--font-base); |
| | | --heading: 'Aleo', var(--font-base); |
| | | --body: 'Josefin Slab', var(--font-base); |
| | | --hWeight: 900; |
| | | --hlight: 400; |
| | | --bWeight: 400; |
| | | --bBold: 900; |
| | | --bBold: 700; |
| | | --bLight: 200; |
| | | /* Font sizes */ |
| | | --enormous: calc(26vh - 4rem); |
| | |
| | | For best results, generate colours from base colours using: https://uicolors.app/generate/ |
| | | or sass darken/lighten by 5%: http://scg.ar-ch.org/ |
| | | */ |
| | | --light-0: #ededf4; |
| | | --light-50: #e3e3ee; |
| | | --light-100: #dadae8; |
| | | --light-200: #d1d1e3; |
| | | --dark-0: #2a2b2a; |
| | | --dark-50: #2f302f; |
| | | --dark-100: #393a39; |
| | | --dark-200: #3e403e; |
| | | --red-0: #ef767a; |
| | | --red-50: #ec5f64; |
| | | --red-100: #ea484e; |
| | | --red-200: #e73238; |
| | | --orange-0: #ef9e76; |
| | | --orange-50: #ec8e5f; |
| | | --orange-100: #ea7e48; |
| | | --orange-200: #e76e32; |
| | | --yellow-0: #E3BE39; |
| | | --yellow-50: #cca61d; |
| | | --yellow-100: #9f8217; |
| | | --yellow-200: #735d10; |
| | | --green-0: #32cb82; |
| | | --green-50: #28a268; |
| | | --green-100: #1e794e; |
| | | --green-200: #145033; |
| | | --blue-0: #329dcb; |
| | | --blue-50: #287da2; |
| | | --blue-100: #1e5e79; |
| | | --blue-200: #143e50; |
| | | --purple-0: #ba76ef; |
| | | --purple-50: #a348ea; |
| | | --purple-100: #8c1be4; |
| | | --purple-200: #7015b7; |
| | | --action-0: #ef767a; |
| | | --action-50: #ec5f64; |
| | | --action-100: #ea484e; |
| | | --action-200: #e73238; |
| | | --secondary-0: #329dcb; |
| | | --secondary-50: #287da2; |
| | | --secondary-100: #1e5e79; |
| | | --secondary-200: #143e50; |
| | | --light-0: #fafafa; |
| | | --light-50: #fcfbfb; |
| | | --light-100: #f1eded; |
| | | --light-200: #e6dfdf; |
| | | --dark-0: #201313; |
| | | --dark-50: #261717; |
| | | --dark-100: #2d1b1b; |
| | | --dark-200: #331e1e; |
| | | --action-0: #B7332E; |
| | | --action-50: #a32d29; |
| | | --action-100: #8e2824; |
| | | --action-200: #7a221f; |
| | | --secondary-0: #E8A737; |
| | | --secondary-50: #e59d20; |
| | | --secondary-100: #d48f18; |
| | | --secondary-200: #bd7f16; |
| | | |
| | | --success: #22C55E; |
| | | --successBack: #d4edda; |
| | |
| | | --errorText: #721c24; |
| | | --action-contrast: var(--light-0); |
| | | --secondary-contrast: var(--light-0); |
| | | --light-rgb: 237,237,244; |
| | | --dark-rgb: 42,43,42; |
| | | --red-rgb: 239,118,122; |
| | | --orange-rgb: 239,158,118; |
| | | --yellow-rgb: 227,190,57; |
| | | --green-rgb: 50,203,130; |
| | | --blue-rgb: 50,157,203; |
| | | --purple-rgb: 186,118,239; |
| | | --action-rgb: 239,118,122; |
| | | --secondary-rgb: 50,157,203; |
| | | --light-rgb: 250,250,250; |
| | | --dark-rgb: 16,4,4; |
| | | --action-rgb: 183,51,46; |
| | | --secondary-rgb: 232,167,55; |
| | | |
| | | --rgba-subtle: rgba(var(--c),.5); |
| | | --rgba-subtle-hover: rgba(var(--c),.1); |
| | |
| | | --z-top: 999; |
| | | --zz-top: 999999; |
| | | /* Overlays */ |
| | | --rgb-subtle: .05; |
| | | --rgb-subtle-hover: .15; |
| | | --rgb-light: .25; |
| | | --rgb-medium: .66; |
| | | --rgb-heavy: .85; |
| | |
| | | } |
| | | |
| | | body:has(#theme-switcher:checked){ |
| | | --red-50: #ec5f64; |
| | | --red-100: #ea484e; |
| | | --red-200: #e73238; |
| | | --orange-50: #f2ae8d; |
| | | --orange-100: #f4bea4; |
| | | --orange-200: #f7cfbb; |
| | | --yellow-50: #e9cd66; |
| | | --yellow-100: #f0db92; |
| | | --yellow-200: #f6eabf; |
| | | --green-50: #5ad69b; |
| | | --green-100: #83e0b4; |
| | | --green-200: #aceacc; |
| | | --blue-50: #5ab1d6; |
| | | --blue-100: #83c4e0; |
| | | --blue-200: #acd8ea; |
| | | --purple-50: #c58df2; |
| | | --purple-100: #d1a4f4; |
| | | --purple-200: #dcbbf7; |
| | | --action-50: #f28d90; |
| | | --action-100: #f4a4a6; |
| | | --action-200: #f7bbbd; |
| | | --secondary-50: #5ab1d6; |
| | | --secondary-100: #83c4e0; |
| | | --secondary-200: #acd8ea; |
| | | --action-50: #cb3933; |
| | | --action-100: #d14c47; |
| | | --action-200: #d6605c; |
| | | --secondary-50: #ebb14e; |
| | | --secondary-100: #edbb65; |
| | | --secondary-200: #f0c57c; |
| | | --contrast: var(--light-0); |
| | | --contrast-50: var(--light-50); |
| | | --contrast-100: var(--light-100); |
| | |
| | | --errorBack: #721c24; |
| | | --errorText: #f8d7da; |
| | | |
| | | --dashed: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='%23fafafa' stroke-width='1' stroke-dasharray='12%2c18%2c36' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e"); |
| | | |
| | | --minus: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40-80a4,4,0,0,1-4,4H88a4,4,0,0,1,0-8h80A4,4,0,0,1,172,128Z"></path></svg>'); |
| | | --plus: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40-80a4,4,0,0,1-4,4H132v36a4,4,0,0,1-8,0V132H88a4,4,0,0,1,0-8h36V88a4,4,0,0,1,8,0v36h36A4,4,0,0,1,172,128Z"></path></svg>'); |
| | | --close: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="%23F9F9F9" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4ZM162.83,98.83,133.66,128l29.17,29.17a4,4,0,0,1-5.66,5.66L128,133.66,98.83,162.83a4,4,0,0,1-5.66-5.66L122.34,128,93.17,98.83a4,4,0,0,1,5.66-5.66L128,122.34l29.17-29.17a4,4,0,1,1,5.66,5.66Z"></path></svg>'); |
| | |
| | | /****************************************************************** |
| | | FONTS |
| | | ******************************************************************/ |
| | | /* open-sans-regular - latin */ |
| | | /** Download and generate from https://gwfh.mranftl.com/fonts **/ |
| | | /* aleo-regular - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Open Sans'; |
| | | font-family: 'Aleo'; |
| | | font-style: normal; |
| | | font-weight: 400; |
| | | src: url('./fonts/open-sans-v44-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/open-sans-v44-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | src: url('./fonts/aleo-v15-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/aleo-v15-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | /* open-sans-italic - latin */ |
| | | /* aleo-italic - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Open Sans'; |
| | | font-family: 'Aleo'; |
| | | font-style: italic; |
| | | font-weight: 400; |
| | | src: url('./fonts/open-sans-v44-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/open-sans-v44-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | src: url('./fonts/aleo-v15-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/aleo-v15-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | /* open-sans-800 - latin */ |
| | | /* aleo-900 - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Open Sans'; |
| | | font-family: 'Aleo'; |
| | | font-style: normal; |
| | | font-weight: 800; |
| | | src: url('./fonts/open-sans-v44-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/open-sans-v44-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | font-weight: 900; |
| | | src: url('./fonts/aleo-v15-latin-900.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/aleo-v15-latin-900.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | /* open-sans-800italic - latin */ |
| | | /* aleo-900italic - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Open Sans'; |
| | | font-family: 'Aleo'; |
| | | font-style: italic; |
| | | font-weight: 800; |
| | | src: url('./fonts/open-sans-v44-latin-800italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/open-sans-v44-latin-800italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | font-weight: 900; |
| | | src: url('./fonts/aleo-v15-latin-900italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/aleo-v15-latin-900italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | |
| | | /* montserrat-200 - latin */ |
| | | /* josefin-slab-200 - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Montserrat'; |
| | | font-family: 'Josefin Slab'; |
| | | font-style: normal; |
| | | font-weight: 200; |
| | | src: url('./fonts/montserrat-v31-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | src: url('./fonts/josefin-slab-v28-latin-200.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/josefin-slab-v28-latin-200.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | /* montserrat-200italic - latin */ |
| | | /* josefin-slab-200italic - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Montserrat'; |
| | | font-family: 'Josefin Slab'; |
| | | font-style: italic; |
| | | font-weight: 200; |
| | | src: url('./fonts/montserrat-v31-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | src: url('./fonts/josefin-slab-v28-latin-200italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/josefin-slab-v28-latin-200italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | /* montserrat-regular - latin */ |
| | | /* josefin-slab-regular - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Montserrat'; |
| | | font-family: 'Josefin Slab'; |
| | | font-style: normal; |
| | | font-weight: 400; |
| | | src: url('./fonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | src: url('./fonts/josefin-slab-v28-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/josefin-slab-v28-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | /* montserrat-italic - latin */ |
| | | /* josefin-slab-italic - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Montserrat'; |
| | | font-family: 'Josefin Slab'; |
| | | font-style: italic; |
| | | font-weight: 400; |
| | | src: url('./fonts/montserrat-v31-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | src: url('./fonts/josefin-slab-v28-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/josefin-slab-v28-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | /* montserrat-900 - latin */ |
| | | /* josefin-slab-700 - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Montserrat'; |
| | | font-family: 'Josefin Slab'; |
| | | font-style: normal; |
| | | font-weight: 900; |
| | | src: url('./fonts/montserrat-v31-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | font-weight: 700; |
| | | src: url('./fonts/josefin-slab-v28-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/josefin-slab-v28-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | /* montserrat-900italic - latin */ |
| | | /* josefin-slab-700italic - latin */ |
| | | @font-face { |
| | | font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ |
| | | font-family: 'Montserrat'; |
| | | font-family: 'Josefin Slab'; |
| | | font-style: italic; |
| | | font-weight: 900; |
| | | src: url('./fonts/montserrat-v31-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | font-weight: 700; |
| | | src: url('./fonts/josefin-slab-v28-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ |
| | | url('./fonts/josefin-slab-v28-latin-700italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ |
| | | } |
| | | |
| | | /* https://frontendmasters.com/blog/the-coyier-css-starter/ */ |
| | | @layer reset { |
| | | html { |
| | |
| | | line-height: 1.4; |
| | | position: relative; |
| | | } |
| | | body b, |
| | | body strong { |
| | | font-weight: var(--bBold); |
| | | } |
| | | body b, |
| | | body strong { |
| | | font-weight: var(--bBold); |
| | | } |
| | | |
| | | |
| | | *:target { |
| | |
| | | /****************************************************************** |
| | | THEME SWITCHER & TOGGLE |
| | | ******************************************************************/ |
| | | .theme-switcher { |
| | | position: absolute; |
| | | .toggle-switch input { |
| | | opacity: 0; |
| | | width: 0; |
| | | height: 0; |
| | | } |
| | | #theme-switch { |
| | | z-index: 99; |
| | | position: absolute; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | #theme-switch, |
| | | .toggle-switch { |
| | | --wrap: nowrap; |
| | | cursor: pointer; |
| | | } |
| | | #theme-switch, |
| | | .toggle-switch input[type=checkbox] { |
| | | --h: 2rem; |
| | | width: calc(var(--h) * 2); |
| | | height: var(--h); |
| | | margin: 0 2rem 0 0; |
| | | left: 0; |
| | | appearance:none; |
| | | background: var(--base-200); |
| | | border: 1px solid var(--base-50); |
| | | border-radius: var(--h); |
| | | cursor: pointer; |
| | | transition: all .3s ease; |
| | | opacity: 1; |
| | | left: var(--offScreen); |
| | | } |
| | | |
| | | .toggle-switch input[type=checkbox] { |
| | | .toggle-switch .slider { |
| | | position: relative; |
| | | width: 2rem; |
| | | height: 1rem; |
| | | background-color: var(--base-200); |
| | | border-radius: .75rem; |
| | | overflow: hidden; |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | align-items: center; |
| | | border: 4px solid transparent; |
| | | transition: .3s; |
| | | box-shadow: 0 0 .25rem 0 rgba(var(--contrast-rgb), .125) inset; |
| | | cursor: pointer; |
| | | margin: 5px; |
| | | } |
| | | .toggle-switch { |
| | | position: relative; |
| | | |
| | | .toggle-switch .slider::before { |
| | | content: ''; |
| | | display: block; |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | top:0; |
| | | left: 0; |
| | | background-color: var(--base); |
| | | transform: translateX(-1rem); |
| | | border-radius: .75rem; |
| | | transition: .3s; |
| | | box-shadow: 0 0 .25rem 3px rgba(var(--contrast-rgb), .125); |
| | | } |
| | | |
| | | .toggle-switch input:checked ~ .slider::before { |
| | | transform: translateX(1rem); |
| | | box-shadow: 0 0 .25rem 3px rgb(0, 0, 0, 0.25); |
| | | } |
| | | |
| | | .toggle-switch input:checked ~ .slider { |
| | | background-color: var(--action-0); |
| | | } |
| | | |
| | | .toggle-switch input:active ~ .slider::before { |
| | | transform: translate(0); |
| | | } |
| | | |
| | | |
| | | /*.theme-switcher {*/ |
| | | /* position: absolute;*/ |
| | | /* opacity: 0;*/ |
| | | /* width: 0;*/ |
| | | /* height: 0;*/ |
| | | /*}*/ |
| | | #theme-switch { |
| | | z-index: 99; |
| | | margin: 0; |
| | | --wrap: nowrap; |
| | | --gap: 1rem; |
| | | } |
| | | #theme-switch .slider { |
| | | width: 3rem; |
| | | height: 1.5rem; |
| | | } |
| | | #theme-switch .slider::before { |
| | | transform: translateX(-1.5rem); |
| | | } |
| | | #theme-switch input:checked ~ .slider::before { |
| | | transform: translateX(1.5rem); |
| | | } |
| | | |
| | | |
| | | /*#theme-switch,*/ |
| | | /*.toggle-switch {*/ |
| | | /* --wrap: nowrap;*/ |
| | | /* cursor: pointer;*/ |
| | | /*}*/ |
| | | /*#theme-switch,*/ |
| | | /*.toggle-switch input[type=checkbox] {*/ |
| | | /* --h: 2rem;*/ |
| | | /* width: calc(var(--h) * 2);*/ |
| | | /* height: var(--h);*/ |
| | | /* margin: 0 2rem 0 0;*/ |
| | | /* left: 0;*/ |
| | | /* appearance:none;*/ |
| | | /* background: var(--base-200);*/ |
| | | /* border: 1px solid var(--base-50);*/ |
| | | /* border-radius: var(--h);*/ |
| | | /* cursor: pointer;*/ |
| | | /* transition: all .3s ease;*/ |
| | | /* opacity: 1;*/ |
| | | /*}*/ |
| | | |
| | | /*.toggle-switch input[type=checkbox] {*/ |
| | | /* position: relative;*/ |
| | | /*}*/ |
| | | /*.toggle-switch {*/ |
| | | /* position: relative;*/ |
| | | /*}*/ |
| | | |
| | | @media (max-width: 600px) { |
| | | #theme-switch { |
| | | left: 1rem; |
| | |
| | | } |
| | | |
| | | /* Icon wrapper styling */ |
| | | #theme-switch .icon { |
| | | --w: 1em; |
| | | position: relative; |
| | | top: 0; |
| | | margin: 0 .25em; |
| | | color: var(--contrast-200); |
| | | z-index: 2; |
| | | transform: translateX(0); |
| | | } |
| | | /*#theme-switch .icon {*/ |
| | | /* --w: 1em;*/ |
| | | /* position: relative;*/ |
| | | /* top: 0;*/ |
| | | /* margin: 0 .25em;*/ |
| | | /* color: var(--contrast-200);*/ |
| | | /* z-index: 2;*/ |
| | | /* transform: translateX(0);*/ |
| | | /*}*/ |
| | | |
| | | |
| | | #theme-switcher:not(:checked) ~ .sun-dim, |
| | | #theme-switcher:checked ~ .moon { |
| | | --w: 1.5em; |
| | | color: var(--contrast); |
| | | } |
| | | /*#theme-switcher:not(:checked) ~ .sun-dim,*/ |
| | | /*#theme-switcher:checked ~ .moon {*/ |
| | | /* --w: 1.5em;*/ |
| | | /* color: var(--contrast);*/ |
| | | /*}*/ |
| | | |
| | | #theme-switcher:not(:checked) ~ .moon, |
| | | #theme-switcher:checked ~ .sun-dim { |
| | | top: -.17rem; |
| | | } |
| | | #theme-switcher:not(:checked) ~ .sun-dim { |
| | | color: var(--secondary-0); |
| | | transform: translate(-2px, 2px); |
| | | } |
| | | #theme-switcher:checked ~ .moon { |
| | | transform: translate(4px, 4px); |
| | | } |
| | | /*#theme-switcher:not(:checked) ~ .moon,*/ |
| | | /*#theme-switcher:checked ~ .sun-dim {*/ |
| | | /* top: -.17rem;*/ |
| | | /*}*/ |
| | | /* #theme-switcher:not(:checked) ~ .sun-dim {*/ |
| | | /* color: var(--secondary-0);*/ |
| | | /* transform: translate(-2px, 2px);*/ |
| | | /* }*/ |
| | | /* #theme-switcher:checked ~ .moon {*/ |
| | | /* transform: translate(4px, 4px);*/ |
| | | /* }*/ |
| | | |
| | | #theme-switch span, |
| | | .toggle-switch input[type=checkbox]::before { |
| | | --m: 2px; |
| | | content: ""; |
| | | position: absolute; |
| | | top: var(--m); |
| | | left: var(--m); |
| | | width: calc(var(--h) - (var(--m) * 2)); |
| | | height: calc(var(--h) - var(--m) * 2); |
| | | border: 1px solid rgba(var(--contrast-rgb), .2); |
| | | border-bottom: 3px solid var(--contrast-200); |
| | | background: var(--base-50); |
| | | border-radius: 50%; |
| | | z-index: 1; |
| | | transform: rotate(360deg); |
| | | transition: transform var(--transition-base), |
| | | left var(--transition-base), |
| | | top var(--transition-base), |
| | | height var(--transition-base); |
| | | } |
| | | #theme-switch input:checked ~ span, |
| | | .toggle-switch input[type=checkbox]:checked::before { |
| | | left: calc(100% - (var(--h) - var(--m))); |
| | | transform: rotate(-180deg); |
| | | transition: transform var(--transition-base), left var(--transition-base); |
| | | } |
| | | .toggle-switch input[type=checkbox]:checked { |
| | | background: var(--action-0); |
| | | } |
| | | /*#theme-switch span,*/ |
| | | /*.toggle-switch input[type=checkbox]::before {*/ |
| | | /* --m: 2px;*/ |
| | | /* content: "";*/ |
| | | /* position: absolute;*/ |
| | | /* top: var(--m);*/ |
| | | /* left: var(--m);*/ |
| | | /* width: calc(var(--h) - (var(--m) * 2));*/ |
| | | /* height: calc(var(--h) - var(--m) * 2);*/ |
| | | /* border: 1px solid rgba(var(--contrast-rgb), .2);*/ |
| | | /* border-bottom: 3px solid var(--contrast-200);*/ |
| | | /* background: var(--base-50);*/ |
| | | /* border-radius: 50%;*/ |
| | | /* z-index: 1;*/ |
| | | /* transform: rotate(360deg);*/ |
| | | /* transition: transform var(--transition-base),*/ |
| | | /* left var(--transition-base),*/ |
| | | /* top var(--transition-base),*/ |
| | | /* height var(--transition-base);*/ |
| | | /*}*/ |
| | | /* #theme-switch input:checked ~ span,*/ |
| | | /* .toggle-switch input[type=checkbox]:checked::before {*/ |
| | | /* left: calc(100% - (var(--h) - var(--m)));*/ |
| | | /* transform: rotate(-180deg);*/ |
| | | /* transition: transform var(--transition-base), left var(--transition-base);*/ |
| | | /* }*/ |
| | | /* .toggle-switch input[type=checkbox]:checked {*/ |
| | | /* background: var(--action-0);*/ |
| | | /* }*/ |
| | | |
| | | /* Focus States */ |
| | | .theme-switch:focus-visible + label { |
| | | outline: 2px solid var(--action-0); |
| | | outline-offset: 2px; |
| | | } |
| | | /*!* Focus States *!*/ |
| | | /*.theme-switch:focus-visible + label {*/ |
| | | /* outline: 2px solid var(--action-0);*/ |
| | | /* outline-offset: 2px;*/ |
| | | /*}*/ |
| | | |
| | | /* Icon Animations */ |
| | | #theme-switch .icon { |
| | | transition: |
| | | transform var(--transition-base), |
| | | width var(--transition-base), |
| | | height var(--transition-base), |
| | | top var(--transition-base), |
| | | color var(--transition-base); |
| | | } |
| | | /*!* Icon Animations *!*/ |
| | | /*#theme-switch .icon {*/ |
| | | /* transition:*/ |
| | | /* transform var(--transition-base),*/ |
| | | /* width var(--transition-base),*/ |
| | | /* height var(--transition-base),*/ |
| | | /* top var(--transition-base),*/ |
| | | /* color var(--transition-base);*/ |
| | | /*}*/ |
| | | |
| | | #theme-switcher:not(:checked) ~ .icon.dark, |
| | | #theme-switcher:checked ~ .icon.light { |
| | | transform: rotate(360deg); |
| | | color: var(--contrast-200); |
| | | } |
| | | #theme-switcher:not(:checked) ~ .icon.light, |
| | | #theme-switcher:checked ~ .icon.dark { |
| | | transform: rotate(-360deg); |
| | | color: var(--contrast); |
| | | } |
| | | /*#theme-switcher:not(:checked) ~ .icon.dark,*/ |
| | | /*#theme-switcher:checked ~ .icon.light {*/ |
| | | /* transform: rotate(360deg);*/ |
| | | /* color: var(--contrast-200);*/ |
| | | /*}*/ |
| | | /*#theme-switcher:not(:checked) ~ .icon.light,*/ |
| | | /*#theme-switcher:checked ~ .icon.dark {*/ |
| | | /* transform: rotate(-360deg);*/ |
| | | /* color: var(--contrast);*/ |
| | | /*}*/ |
| | | |
| | | /* Hover Effects */ |
| | | #theme-switch:hover span { |
| | | background-color: var(--base-100); |
| | | } |
| | | /*!* Hover Effects *!*/ |
| | | /*#theme-switch:hover span {*/ |
| | | /* background-color: var(--base-100);*/ |
| | | /*}*/ |
| | | |
| | | |
| | | #theme-switch:hover .icon { |
| | | color: var(--action-50); |
| | | } |
| | | /*#theme-switch:hover .icon {*/ |
| | | /* color: var(--action-50);*/ |
| | | /*}*/ |
| | | |
| | | /* Active State */ |
| | | #theme-switch:active span { |
| | | transform: scale(.97); |
| | | } |
| | | /*!* Active State *!*/ |
| | | /*#theme-switch:active span {*/ |
| | | /* transform: scale(.97);*/ |
| | | /*}*/ |
| | | |
| | | /*********************************************************** |
| | | SMOOTH SCROLLING |
| | |
| | | margin: 3rem var(--mr) 3rem var(--ml); |
| | | } |
| | | } |
| | | .btn + label, |
| | | [type=submit], |
| | | a.button, |
| | | a.wp-block-button__link, |
| | |
| | | transition-property: color, border,background-color; |
| | | position: relative; |
| | | } |
| | | |
| | | .btn + label:hover, |
| | | .btn + label:focus, |
| | | [type=submit]:hover, |
| | | [type=submit]:focus, |
| | | .buttons a:hover, |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | .btn:disabled + label, |
| | | .btn:disabled + label:hover, |
| | | [type=submit]:disabled, |
| | | [type=submit]:disabled:hover, |
| | | [type=submit]:disabled:focus, |
| | |
| | | transition: background-color var(--transition-base); |
| | | transition-property: background-color, border; |
| | | } |
| | | textarea:focus, |
| | | input[type=number]:focus, |
| | | input[type=text]:focus, |
| | | input[type=url]:focus, |
| | | input[type=email]:focus, |
| | | input[type=textarea]:focus, |
| | | input[type=tel]:focus, |
| | | input[type=password]:focus, |
| | | input[type=search]:focus { |
| | | outline: var(--action-50); |
| | | background-color: var(--base-100); |
| | | color: var(--contrast); |
| | | } |
| | | textarea:focus, |
| | | input[type=number]:focus, |
| | | input[type=text]:focus, |
| | | input[type=url]:focus, |
| | | input[type=email]:focus, |
| | | input[type=textarea]:focus, |
| | | input[type=tel]:focus, |
| | | input[type=password]:focus, |
| | | input[type=search]:focus { |
| | | outline: var(--action-50); |
| | | background-color: var(--base-100); |
| | | color: var(--contrast); |
| | | } |
| | | textarea::placeholder, |
| | | input::placeholder { |
| | | font-family: var(--body); |
| | |
| | | width: 100%; |
| | | transition: var(--transition-color); |
| | | } |
| | | select:disabled { |
| | | background-color: var(--base-50); |
| | | border-color: var(--base-100); |
| | | color: var(--base-200); |
| | | cursor: not-allowed; |
| | | } |
| | | select:disabled { |
| | | background-color: var(--base-50); |
| | | border-color: var(--base-100); |
| | | color: var(--base-200); |
| | | cursor: not-allowed; |
| | | } |
| | | |
| | | select option { |
| | | background: var(--base); |
| | | color: var(--contrast); |
| | | padding: .5rem; |
| | | } |
| | | select option:hover, |
| | | 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; |
| | | } |
| | | select option { |
| | | background: var(--base); |
| | | color: var(--contrast); |
| | | padding: .5rem; |
| | | } |
| | | select option:hover, |
| | | 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; |
| | | } |
| | | |
| | | select option:checked { |
| | | background: var(--action-0) linear-gradient(0deg, var(--action-0) 0%, var(--action-0) 100%); |
| | | color: var(--base); |
| | | } |
| | | select option:checked { |
| | | background: var(--action-0) linear-gradient(0deg, var(--action-0) 0%, var(--action-0) 100%); |
| | | color: var(--base); |
| | | } |
| | | |
| | | select:hover { |
| | | border-color: var(--action-0); |
| | |
| | | width: 1.5em; |
| | | height: 1.5em; |
| | | } |
| | | .remove-item .close { |
| | | width: .5em; |
| | | height: .5em; |
| | | } |
| | | .remove-item .close { |
| | | width: .5em; |
| | | height: .5em; |
| | | } |
| | | |
| | | .remove-item:hover { |
| | | color: var(--action-0); |
| | |
| | | transition: background-color var(--transition-base), |
| | | border-color var(--transition-base); |
| | | } |
| | | [type=radio]:hover + label::before, |
| | | [type=checkbox]:hover + label::before, |
| | | input.ch:hover + label::before { |
| | | border-color: var(--action-200); |
| | | } |
| | | [type=radio]:hover + label::before, |
| | | [type=checkbox]:hover + label::before, |
| | | input.ch:hover + label::before { |
| | | border-color: var(--action-200); |
| | | } |
| | | |
| | | [type=radio]:checked + label::before, |
| | | [type=checkbox]:checked + label::before, |
| | | input.ch:checked + label::before { |
| | | background-color: var(--action-0); |
| | | border-color: var(--action-100); |
| | | } |
| | | [type=radio]:checked + label::before, |
| | | [type=checkbox]:checked + label::before, |
| | | input.ch:checked + label::before { |
| | | background-color: var(--action-0); |
| | | border-color: var(--action-100); |
| | | } |
| | | |
| | | [type=radio]:checked + label::before { |
| | | border-radius: 50%; |
| | | } |
| | | [type=radio]:checked + label::before { |
| | | border-radius: 50%; |
| | | } |
| | | |
| | | [type=checkbox]:checked + label::after, |
| | | input.ch:checked + label::after { |
| | | display: block; |
| | | left: 5px; |
| | | top: 50%; |
| | | transform: translateY(-70%) rotate(45deg); |
| | | width: .35rem; |
| | | height: .66rem; |
| | | border: solid var(--light-0); |
| | | border-width: 0 2px 2px 0; |
| | | } |
| | | [type=checkbox]:checked + label::after, |
| | | input.ch:checked + label::after { |
| | | display: block; |
| | | left: 5px; |
| | | top: 50%; |
| | | transform: translateY(-70%) rotate(45deg); |
| | | width: .35rem; |
| | | height: .66rem; |
| | | border: solid var(--light-0); |
| | | border-width: 0 2px 2px 0; |
| | | } |
| | | |
| | | [type=radio]:disabled + label, |
| | | [type=checkbox]:disabled + label, |
| | |
| | | color: var(--base-200); |
| | | border-color: var(--base-200); |
| | | } |
| | | [type=radio]:disabled + label::before, |
| | | [type=checkbox]:disabled + label::before, |
| | | input.ch:disabled + label::before { |
| | | border-color: var(--base-200); |
| | | } |
| | | [type=radio]:disabled + label::before, |
| | | [type=checkbox]:disabled + label::before, |
| | | input.ch:disabled + label::before { |
| | | border-color: var(--base-200); |
| | | } |
| | | |
| | | [type=radio]:not(.btn) + label, |
| | | [type=checkbox]:not(.btn) + label, |
| | |
| | | color: var(--contrast-200); |
| | | opacity: .8; |
| | | } |
| | | .radio-options.status label { |
| | | padding: 0 .5rem; |
| | | } |
| | | .radio-options.status label { |
| | | padding: 0 .5rem; |
| | | } |
| | | .btn:checked + label { |
| | | border-color: var(--contrast); |
| | | color: var(--contrast); |
| | |
| | | margin: 2rem 0; |
| | | position: relative; |
| | | } |
| | | .field:has(.has-tooltip) label { |
| | | margin-left: 2rem; |
| | | } |
| | | .field:has(.has-tooltip) label { |
| | | margin-left: 2rem; |
| | | } |
| | | /*************** |
| | | TOGGLE TEXT |
| | | ***************/ |
| | |
| | | margin-top: 1rem; |
| | | width: 100%; |
| | | } |
| | | .create-new-term .field, |
| | | .create-new-term[open] summary { |
| | | margin-bottom: 1rem; |
| | | } |
| | | .create-new-term .field { |
| | | max-width: 100%; |
| | | } |
| | | .create-new-term .field, |
| | | .create-new-term[open] summary { |
| | | margin-bottom: 1rem; |
| | | } |
| | | .create-new-term .field { |
| | | max-width: 100%; |
| | | } |
| | | #jvb-selector > .wrap { |
| | | --gap: nowrap; |
| | | } |
| | |
| | | text-transform: lowercase; |
| | | } |
| | | /*.term-list a {*/ |
| | | /* color: var(--contrast);*/ |
| | | /* text-decoration: none;*/ |
| | | /* font-size: var(--small);*/ |
| | | /* }*/ |
| | | /* .term-list a:hover {*/ |
| | | /* color: var(--action-0);*/ |
| | | /* }*/ |
| | | /*.term-list.shop a::before,*/ |
| | | /*.term-list.style a::before,*/ |
| | | /*.term-list.theme a::before,*/ |
| | | /*.term-list.city a::before,*/ |
| | | /*#by-city::before,*/ |
| | | /*#by-style::before,*/ |
| | | /*#by-theme::before,*/ |
| | | /*.term-list.all a::before{*/ |
| | | /* content:"";*/ |
| | | /* display:inline-block;*/ |
| | | /* mask-repeat: no-repeat;*/ |
| | | /* mask-size: contain;*/ |
| | | /* width: 1.2em;*/ |
| | | /* height: 1.2em;*/ |
| | | /* margin-right: .5rem;*/ |
| | | /* vertical-align: middle;*/ |
| | | /* background-color: currentColor;*/ |
| | | /*}*/ |
| | | /*.term-list a::after {*/ |
| | | /* display: none;*/ |
| | | /*}*/ |
| | | /* color: var(--contrast);*/ |
| | | /* text-decoration: none;*/ |
| | | /* font-size: var(--small);*/ |
| | | /* }*/ |
| | | /* .term-list a:hover {*/ |
| | | /* color: var(--action-0);*/ |
| | | /* }*/ |
| | | /*.term-list.shop a::before,*/ |
| | | /*.term-list.style a::before,*/ |
| | | /*.term-list.theme a::before,*/ |
| | | /*.term-list.city a::before,*/ |
| | | /*#by-city::before,*/ |
| | | /*#by-style::before,*/ |
| | | /*#by-theme::before,*/ |
| | | /*.term-list.all a::before{*/ |
| | | /* content:"";*/ |
| | | /* display:inline-block;*/ |
| | | /* mask-repeat: no-repeat;*/ |
| | | /* mask-size: contain;*/ |
| | | /* width: 1.2em;*/ |
| | | /* height: 1.2em;*/ |
| | | /* margin-right: .5rem;*/ |
| | | /* vertical-align: middle;*/ |
| | | /* background-color: currentColor;*/ |
| | | /*}*/ |
| | | /*.term-list a::after {*/ |
| | | /* display: none;*/ |
| | | /*}*/ |
| | | |
| | | /*.term-list.shop a::before {*/ |
| | | /* mask-image: var(--shop);*/ |
| | | /*}*/ |
| | | /*.term-list.shop a::before {*/ |
| | | /* mask-image: var(--shop);*/ |
| | | /*}*/ |
| | | |
| | | /*.term-list.city a::before,*/ |
| | | /*#by-city::before {*/ |
| | | /* mask-image: var(--map);*/ |
| | | /*}*/ |
| | | /*.term-list.style a::before,*/ |
| | | /*#by-style::before,*/ |
| | | /*.term-list.all.styles a::before {*/ |
| | | /* mask-image: var(--style);*/ |
| | | /*}*/ |
| | | /*.term-list.theme a::before,*/ |
| | | /*#by-theme::before {*/ |
| | | /* mask-image: var(--theme);*/ |
| | | /*}*/ |
| | | /*.term-list.city a::before,*/ |
| | | /*#by-city::before {*/ |
| | | /* mask-image: var(--map);*/ |
| | | /*}*/ |
| | | /*.term-list.style a::before,*/ |
| | | /*#by-style::before,*/ |
| | | /*.term-list.all.styles a::before {*/ |
| | | /* mask-image: var(--style);*/ |
| | | /*}*/ |
| | | /*.term-list.theme a::before,*/ |
| | | /*#by-theme::before {*/ |
| | | /* mask-image: var(--theme);*/ |
| | | /*}*/ |
| | | /************************************************** |
| | | MODALS DIALOGUE |
| | | **************************************************/ |
| | |
| | | dialog[open] { |
| | | z-index:999; |
| | | --padding: 0; |
| | | top: 0; |
| | | top: 5vh; |
| | | width: min(500px, 95vw); |
| | | border-radius: 1rem; |
| | | height: fit-content; |
| | | max-height: 90vh; |
| | | overflow: hidden; |
| | | max-height: 90vh; |
| | | padding: var(--padding); |
| | | background-color: var(--base-50); |
| | | color: var(--contrast); |
| | |
| | | |
| | | dialog > .wrap, |
| | | dialog > form { |
| | | overflow: hidden auto; |
| | | max-height: 100%; |
| | | margin: 1.5rem 0 0 1.5rem; |
| | | overflow: hidden auto; |
| | | margin: 0 0 0 1.5rem; |
| | | padding-right: 1.2rem; |
| | | width: calc(100% - 1.5rem - 1.2rem); |
| | | width: calc(100% - 1.5rem); |
| | | } |
| | | |
| | | dialog label { |
| | |
| | | padding-bottom: var(--height); |
| | | } |
| | | .m-actions { |
| | | --w: 1.5em; |
| | | --w: 1.15em; |
| | | --justify: flex-end; |
| | | --wrap: nowrap; |
| | | --gap: 0; |
| | |
| | | position: relative; |
| | | border: 2px solid var(--action-0); |
| | | } |
| | | nav.tabs > button:first-of-type { |
| | | border-top-left-radius: var(--innerRadius); |
| | | } |
| | | nav.tabs > button:last-of-type { |
| | | border-top-right-radius: var(--innerRadius); |
| | | } |
| | | nav.tabs > button:first-of-type { |
| | | border-top-left-radius: var(--innerRadius); |
| | | } |
| | | nav.tabs > button:last-of-type { |
| | | border-top-right-radius: var(--innerRadius); |
| | | } |
| | | .tabs > button:hover, |
| | | .tabs > button:focus { |
| | | background-color: var(--base-200); |
| | |
| | | background-color: var(--action-50); |
| | | transition: width .3s; |
| | | } |
| | | .tabs > button:hover::after, |
| | | .tabs > button.active::after { |
| | | width: 100%; |
| | | } |
| | | .tabs > button.active::after { |
| | | background-color: var(--action-200); |
| | | } |
| | | .tabs > button:hover::after, |
| | | .tabs > button.active::after { |
| | | width: 100%; |
| | | } |
| | | .tabs > button.active::after { |
| | | background-color: var(--action-200); |
| | | } |
| | | .tabs > button.active { |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | |
| | | - cart |
| | | - queue |
| | | **************************************************/ |
| | | aside#cart, |
| | | aside#queue { |
| | | aside { |
| | | position: fixed; |
| | | top: var(--doubleHeight); |
| | | bottom: var(--offHeight); |
| | |
| | | } |
| | | |
| | | .qtoggle, |
| | | .toggle-cart, |
| | | /*.toggle-cart,*/ |
| | | .create-item { |
| | | z-index: var(--z-6); |
| | | position: fixed; |
| | |
| | | transition: width var(--transition-base), background-color var(--transition-base), color var(--transition-base), left var(--transition-base); |
| | | box-shadow: var(--shadow); |
| | | } |
| | | .toggle-cart:hover, |
| | | /*.toggle-cart:hover,*/ |
| | | .qtoggle:hover, |
| | | .create-item:hover, |
| | | .toggle-cart:focus, |
| | | /*.toggle-cart:focus,*/ |
| | | .qtoggle:focus, |
| | | .create-item:focus { |
| | | background-color: rgba(var(--action-rgb),var(--rgb-heavy)); |
| | | color: var(--action-contrast); |
| | | } |
| | | .toggle-cart:disabled, |
| | | /*.toggle-cart:disabled,*/ |
| | | .qtoggle:disabled, |
| | | .create-item:disabled, |
| | | .toggle-cart:disabled:hover, |
| | | /*.toggle-cart:disabled:hover,*/ |
| | | .qtoggle:disabled:hover, |
| | | .create-item:disabled:hover, |
| | | .toggle-cart:disabled:focus, |
| | | /*.toggle-cart:disabled:focus,*/ |
| | | .qtoggle:disabled:focus, |
| | | .create-item:disabled:focus { |
| | | opacity: .5; |
| | |
| | | border-radius: 4px 4px 4px var(--outerRadius); |
| | | } |
| | | |
| | | body:has(#cart.expanded) .toggle-cart { |
| | | width: min(500px, calc(100vw - 2rem)); |
| | | } |
| | | body:has(#cart.expanded) .toggle-cart .icon { |
| | | display: none; |
| | | } |
| | | |
| | | aside#cart { |
| | | overflow: hidden; |
| | | right: var(--offScreen); |
| | | border-radius: var(--outerRadius) 0 0 var(--outerRadius); |
| | | transition: right var(--transition-base); |
| | | padding-bottom: 6rem; |
| | | } |
| | | aside#cart.expanded { |
| | | right: 0; |
| | | transition: right var(--transition-base); |
| | | } |
| | | #cart form { |
| | | max-height: 100%; |
| | | overflow: hidden auto; |
| | |
| | | border-radius: var(--outerRadius); |
| | | padding: 1rem; |
| | | } |
| | | .restored h3 { |
| | | font-size: var(--medium); |
| | | margin: 0; |
| | | } |
| | | .restored p { |
| | | margin: 0; |
| | | } |
| | | .restored .row { |
| | | --gap: 0; |
| | | --wrap:nowrap; |
| | | --w: 1em; |
| | | } |
| | | .restored h3 { |
| | | font-size: var(--medium); |
| | | margin: 0; |
| | | } |
| | | .restored p { |
| | | margin: 0; |
| | | } |
| | | .restored .row { |
| | | --gap: 0; |
| | | --wrap:nowrap; |
| | | --w: 1em; |
| | | } |
| | | /****************** |
| | | TOAST |
| | | ******************/ |
| | |
| | | /****************** |
| | | QUEUE |
| | | ******************/ |
| | | aside#queue { |
| | | left: var(--offScreen); |
| | | border-radius: 0 var(--outerRadius) var(--outerRadius) 0; |
| | | transition: left var(--transition-base); |
| | | --wrap: nowrap; |
| | | --align: stretch; |
| | | } |
| | | aside#queue.expanded { |
| | | left: 0; |
| | | overflow: hidden auto; |
| | | } |
| | | |
| | | .qtoggle { |
| | | left: 0; |
| | | border-radius: 4px 4px var(--outerRadius) 4px; |
| | | } |
| | | |
| | | body:has(#queue.expanded) .qtoggle { |
| | | .qtoggle.expanded { |
| | | left: var(--height); |
| | | width: min(calc(500px - var(--height)), calc(100vw - 2rem - var(--height))); |
| | | } |
| | |
| | | height: 18px; |
| | | font-size: 10px; |
| | | } |
| | | .filter .count:empty { |
| | | display: none; |
| | | } |
| | | .filter .count:empty { |
| | | display: none; |
| | | } |
| | | |
| | | /* Empty state */ |
| | | .empty-queue { |
| | |
| | | animation: shimmer 2.5s infinite linear var(--delay); |
| | | } |
| | | /************************************************** |
| | | ACTIONS |
| | | **************************************************/ |
| | | .additional-actions .buttons { |
| | | position: fixed; |
| | | bottom: var(--offHeight); |
| | | right: 1rem; |
| | | margin: 0; |
| | | --gap: 1rem; |
| | | z-index: var(--z-6); |
| | | width: fit-content; |
| | | } |
| | | .additional-actions .buttons button { |
| | | height: var(--height); |
| | | width: var(--height); |
| | | background-color: var(--overlay-medium); |
| | | color: var(--contrast); |
| | | transition: width var(--transition-base), background-color var(--transition-base), color var(--transition-base), left var(--transition-base); |
| | | box-shadow: var(--shadow); |
| | | } |
| | | .additional-actions .buttons button:hover { |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | } |
| | | .additional-actions .buttons button:disabled, |
| | | .additional-actions .buttons button:disabled:hover, |
| | | .additional-actions .buttons button:disabled:focus { |
| | | opacity: .5; |
| | | background-color: var(--overlay-light); |
| | | color: var(--contrast); |
| | | } |
| | | .additional-actions .buttons button:last-of-type { |
| | | border-radius: 4px 4px 4px var(--outerRadius); |
| | | } |
| | | aside { |
| | | position: fixed; |
| | | top: var(--doubleHeight); |
| | | bottom: var(--offHeight); |
| | | width: min(500px, calc(100vw - 2rem)); |
| | | background-color: var(--base); |
| | | z-index: var(--z-5); |
| | | box-shadow: var(--shadow); |
| | | --wrap: nowrap; |
| | | --align: stretch; |
| | | overflow: hidden auto; |
| | | padding: 1rem 1rem var(--height); |
| | | } |
| | | aside.left { |
| | | left: var(--offScreen); |
| | | transition: left var(--transition-base); |
| | | border-radius: 0 var(--outerRadius) var(--outerRadius) 0; |
| | | } |
| | | aside.left.expanded { |
| | | left: 0; |
| | | } |
| | | |
| | | aside.right { |
| | | right: var(--offScreen); |
| | | border-radius: var(--outerRadius) 0 0 var(--outerRadius); |
| | | transition: right var(--transition-base); |
| | | } |
| | | aside.right.expanded { |
| | | right: 0; |
| | | } |
| | | aside.right.expanded button.close { |
| | | position: sticky; |
| | | bottom: calc(var(--height) * -1); |
| | | left: 0; |
| | | border-bottom-left-radius: var(--outerRadius); |
| | | width: var(--height); |
| | | height: var(--height); |
| | | |
| | | } |
| | | .additional-actions .buttons:has(.expanded) button:not(.expanded) { |
| | | display: none; |
| | | } |
| | | .additional-actions .buttons:has(.expanded){ |
| | | right: 0; |
| | | } |
| | | |
| | | .additional-actions .buttons .expanded { |
| | | width: calc(min(500px, calc(100vw - 2rem))); |
| | | background-color: var(--base); |
| | | } |
| | | .additional-actions .buttons button:hover, |
| | | .additional-actions .buttons .expanded:hover { |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | } |
| | | |
| | | [type=submit] { |
| | | width: 100%; |
| | | height: var(--height); |
| | | background-color: var(--action-0); |
| | | color: var(--action-contrast); |
| | | box-shadow: var(--shadow-none); |
| | | font-weight: bold; |
| | | } |
| | | [type=submit]:hover { |
| | | box-shadow: var(--shadow); |
| | | border: 2px solid var(--action-0); |
| | | color: var(--action-0); |
| | | background-color: var(--action-contrast); |
| | | } |
| | | |
| | | aside nav.tabs { |
| | | position: sticky; |
| | | bottom: unset; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | } |
| | | .jvb-referral nav.tabs button { |
| | | width: 50%; |
| | | } |
| | | aside .tab-content.active { |
| | | padding: 1rem; |
| | | min-height: 100%; |
| | | } |
| | | |
| | | aside header h3 { |
| | | font-size: var(--medium); |
| | | margin: 1rem 0; |
| | | text-align: center; |
| | | } |
| | | aside header p { |
| | | margin: .25rem 0; |
| | | text-align: center; |
| | | } |
| | | aside h4 { |
| | | font-size: var(--small); |
| | | margin: 1rem 0 0 0; |
| | | } |
| | | |
| | | code { |
| | | width: 100%; |
| | | margin: .5rem; |
| | | padding: .5rem; |
| | | user-select: all; |
| | | text-align: center; |
| | | border-radius: 4px; |
| | | background-color: var(--base-200); |
| | | border: 1px solid var(--contrast-200); |
| | | } |
| | | .restore-form { |
| | | background-color: rgba(var(--action-rgb), var(--rgb-light)); |
| | | border: 1px solid var(--action-200); |
| | | padding: .5rem; |
| | | border-radius: var(--outerRadius); |
| | | margin: 1rem 2rem; |
| | | } |
| | | .restore-form h3 { |
| | | text-align: center; |
| | | margin: 1rem 0 0; |
| | | font-size: var(--medium); |
| | | } |
| | | .restore-form p { |
| | | margin: .5rem 0; |
| | | } |
| | | .fstatus { |
| | | z-index: var(--z-5); |
| | | background-color: rgba(var(--base-rgb),var(--rgb-heavy)); |
| | | border-radius: 4px; |
| | | padding: 0 .5rem; |
| | | position: fixed; |
| | | bottom: var(--offHeight); |
| | | right: calc(var(--offHeight) + 1rem); |
| | | --w: 1em; |
| | | box-shadow:var(--shadow); |
| | | } |
| | | .fstatus .spinner { |
| | | display: none; |
| | | } |
| | | .fstatus.loading .spinner { |
| | | display: inline-block; |
| | | } |
| | | |
| | | .fstatus p { |
| | | margin: 0; |
| | | padding: .25rem; |
| | | } |
| | | /************************************************** |
| | | RESPONSES |
| | | **************************************************/ |
| | | /*dialog.create-response {*/ |
| | |
| | | |
| | | @keyframes pulse-color { |
| | | 0% { |
| | | box-shadow: 0 0 0 0 rgba(var(--secondary-rgb), .4); |
| | | box-shadow: 0 0 0 0 rgba(var(--action-rgb), .4); |
| | | } |
| | | 70% { |
| | | box-shadow: 0 0 0 6px rgba(var(--secondary-rgb), 0); |
| | | 30% { |
| | | box-shadow: 0 0 0 .75rem rgba(var(--action-rgb), 0); |
| | | } |
| | | 100% { |
| | | box-shadow: 0 0 0 0 rgba(var(--secondary-rgb), 0); |
| | | box-shadow: 0 0 0 0 rgba(var(--action-rgb), 0); |
| | | } |
| | | } |
| | | |
| | |
| | | gap: 0 1rem; |
| | | } |
| | | .menu-items .menu-item:not(.variable) label { |
| | | display: none; |
| | | } |
| | | display: none; |
| | | } |
| | | .menu-items .menu-item .field { |
| | | margin: 0; |
| | | --wrap: nowrap; |
| | | } |
| | | margin: 0; |
| | | --wrap: nowrap; |
| | | } |
| | | .menu-items .menu-item .has-tooltip { |
| | | position: absolute; |
| | | right: -2.5rem; |
| | | } |
| | | position: absolute; |
| | | right: -2.5rem; |
| | | } |
| | | .menu-items .menu-item + .menu-item { |
| | | border-top: 1px solid var(--base-200); |
| | | margin-top: 2rem; |
| | | padding-top: 1rem; |
| | | } |
| | | border-top: 1px solid var(--base-200); |
| | | margin-top: 2rem; |
| | | padding-top: 1rem; |
| | | } |
| | | .menu-items .menu-item .header { |
| | | grid-column: 1/-1; |
| | | } |
| | |
| | | vertical-align: super; |
| | | font-size: 12px; |
| | | } |
| | | body.menu_item section h2 { |
| | | body.menu_item section > h2 { |
| | | display: inline-block; |
| | | max-width: var(--maxWidth); |
| | | width: max-content; |
| | |
| | | font-size: 14px; |
| | | min-width: 180px; |
| | | background: var(--base); |
| | | color: var(--contrast); |
| | | cursor: pointer; |
| | | transition: border-color .2s ease; |
| | | } |
| | | |
| | | .field-input-wrapper input[type=time]:focus, |
| | | .field-input-wrapper input[type=datetime-local]:focus, |
| | | .field-input-wrapper input[type=date]:focus, |
| | | .time-wrapper input[type=time]:focus, |
| | | .datetime-wrapper input[type=datetime-local]:focus, |
| | | .date-wrapper input[type=date]:focus { |
| | |
| | | } |
| | | |
| | | /* Icon styling in form fields */ |
| | | .field-input-wrapper svg, |
| | | .time-wrapper svg, |
| | | .datetime-wrapper svg, |
| | | .date-wrapper svg { |
| | | width: 18px; |
| | | height: 18px; |
| | | color: #666; |
| | | color: var(--contrast); |
| | | opacity: .7; |
| | | } |
| | | |
| | |
| | | /* }*/ |
| | | /*}*/ |
| | | |
| | | legend { |
| | | padding: 0 1rem; |
| | | } |
| | | .abs { |
| | | position: absolute; |
| | | } |
| | | .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; |
| | | } |
| | | .btm-right { |
| | | bottom: 0; |
| | | right: 0; |
| | | } |
| | | .btm-left { |
| | | bottom: 0; |
| | | left: 0; |
| | | } |
| | | .edges { |
| | | top: 0; |
| | | right: 0; |
| | | left: 0; |
| | | bottom: 0; |
| | | } |
| | | |
| | | |
| | | |
| | | /*********************** REFERRAL SYSTEM ***********************/ |
| | | .referral-widget { |
| | | background: #fff; |
| | | border: 1px solid #ddd; |
| | | border-radius: 8px; |
| | | padding: 24px; |
| | | margin: 20px 0; |
| | | box-shadow: 0 2px 4px rgba(0,0,0,0.05); |
| | | } |
| | | |
| | | .referral-header { |
| | | text-align: center; |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .referral-header h3 { |
| | | margin: 0 0 8px 0; |
| | | color: #2271b1; |
| | | } |
| | | |
| | | .referral-header p { |
| | | margin: 0; |
| | | color: #666; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | /* Share Widget Styles */ |
| | | .referral-link-section { |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .referral-link-section label { |
| | | display: block; |
| | | font-weight: 600; |
| | | margin-bottom: 8px; |
| | | color: #333; |
| | | } |
| | | |
| | | .link-copy-wrapper { |
| | | display: flex; |
| | | gap: 8px; |
| | | } |
| | | |
| | | .link-copy-wrapper input { |
| | | flex: 1; |
| | | padding: 10px 12px; |
| | | border: 1px solid #ddd; |
| | | border-radius: 4px; |
| | | font-family: monospace; |
| | | font-size: 13px; |
| | | background: #f9f9f9; |
| | | } |
| | | |
| | | .copy-link-btn { |
| | | padding: 10px 20px; |
| | | background: #2271b1; |
| | | color: #fff; |
| | | border: none; |
| | | border-radius: 4px; |
| | | cursor: pointer; |
| | | font-weight: 600; |
| | | white-space: nowrap; |
| | | transition: background 0.2s; |
| | | } |
| | | |
| | | .copy-link-btn:hover { |
| | | background: #135e96; |
| | | } |
| | | |
| | | .referral-code-display { |
| | | margin: 8px 0 0 0; |
| | | font-size: 13px; |
| | | color: #666; |
| | | } |
| | | |
| | | .referral-stats { |
| | | display: grid; |
| | | grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); |
| | | gap: 16px; |
| | | margin-bottom: 20px; |
| | | padding: 16px; |
| | | background: #f8f9fa; |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | .stat-item { |
| | | text-align: center; |
| | | } |
| | | |
| | | .stat-value { |
| | | display: block; |
| | | font-size: 24px; |
| | | font-weight: bold; |
| | | color: #2271b1; |
| | | } |
| | | |
| | | .stat-label { |
| | | display: block; |
| | | font-size: 12px; |
| | | color: #666; |
| | | margin-top: 4px; |
| | | } |
| | | |
| | | .share-buttons { |
| | | display: flex; |
| | | gap: 10px; |
| | | justify-content: center; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .share-btn { |
| | | display: inline-flex; |
| | | align-items: center; |
| | | gap: 6px; |
| | | padding: 10px 16px; |
| | | border: 1px solid #ddd; |
| | | border-radius: 4px; |
| | | text-decoration: none; |
| | | color: #333; |
| | | font-size: 14px; |
| | | font-weight: 500; |
| | | transition: all 0.2s; |
| | | } |
| | | |
| | | .share-btn:hover { |
| | | background: #f5f5f5; |
| | | border-color: #999; |
| | | } |
| | | |
| | | /* Validation Widget Styles */ |
| | | .form-group { |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | | .form-group label { |
| | | display: block; |
| | | font-weight: 600; |
| | | margin-bottom: 8px; |
| | | color: #333; |
| | | } |
| | | |
| | | .input-button-wrapper { |
| | | display: flex; |
| | | gap: 8px; |
| | | } |
| | | |
| | | .input-button-wrapper input { |
| | | flex: 1; |
| | | padding: 12px 16px; |
| | | border: 2px solid #ddd; |
| | | border-radius: 4px; |
| | | font-size: 16px; |
| | | font-family: monospace; |
| | | font-weight: 600; |
| | | text-transform: uppercase; |
| | | transition: border-color 0.2s; |
| | | } |
| | | |
| | | .input-button-wrapper input:focus { |
| | | outline: none; |
| | | border-color: #2271b1; |
| | | } |
| | | |
| | | .validate-btn { |
| | | padding: 12px 24px; |
| | | background: #2271b1; |
| | | color: #fff; |
| | | border: none; |
| | | border-radius: 4px; |
| | | cursor: pointer; |
| | | font-weight: 600; |
| | | white-space: nowrap; |
| | | transition: background 0.2s; |
| | | } |
| | | |
| | | .validate-btn:hover { |
| | | background: #135e96; |
| | | } |
| | | |
| | | .validate-btn:disabled { |
| | | background: #ccc; |
| | | cursor: not-allowed; |
| | | } |
| | | |
| | | .helper-text { |
| | | margin: 8px 0 0 0; |
| | | font-size: 13px; |
| | | color: #666; |
| | | } |
| | | |
| | | .helper-text a { |
| | | color: #2271b1; |
| | | text-decoration: none; |
| | | } |
| | | |
| | | .helper-text a:hover { |
| | | text-decoration: underline; |
| | | } |
| | | |
| | | .message { |
| | | padding: 12px 16px; |
| | | border-radius: 4px; |
| | | margin-top: 16px; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .message.success { |
| | | background: #d4edda; |
| | | color: #155724; |
| | | border: 1px solid #c3e6cb; |
| | | } |
| | | |
| | | .message.error { |
| | | background: #f8d7da; |
| | | color: #721c24; |
| | | border: 1px solid #f5c6cb; |
| | | } |
| | | |
| | | /* Success State Styles */ |
| | | .referral-success-state { |
| | | text-align: center; |
| | | } |
| | | |
| | | .success-icon { |
| | | width: 80px; |
| | | height: 80px; |
| | | margin: 0 auto 20px; |
| | | background: #28a745; |
| | | border-radius: 50%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | color: #fff; |
| | | font-size: 40px; |
| | | } |
| | | |
| | | .success-content h3 { |
| | | color: #28a745; |
| | | margin: 0 0 12px 0; |
| | | } |
| | | |
| | | .reward-highlight { |
| | | background: #e7f5ff; |
| | | padding: 20px; |
| | | border-radius: 6px; |
| | | margin: 20px 0; |
| | | border-left: 4px solid #2271b1; |
| | | } |
| | | |
| | | .reward-highlight strong { |
| | | color: #2271b1; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .cta-button { |
| | | display: inline-block; |
| | | padding: 14px 32px; |
| | | background: #2271b1; |
| | | color: #fff; |
| | | text-decoration: none; |
| | | border-radius: 4px; |
| | | font-weight: 600; |
| | | margin-top: 16px; |
| | | transition: background 0.2s; |
| | | } |
| | | |
| | | .cta-button:hover { |
| | | background: #135e96; |
| | | } |
| | | |
| | | .referred-by { |
| | | margin-top: 16px; |
| | | padding-top: 16px; |
| | | border-top: 1px solid #ddd; |
| | | font-size: 13px; |
| | | color: #666; |
| | | } |
| | | |
| | | .loading-spinner { |
| | | display: inline-block; |
| | | width: 16px; |
| | | height: 16px; |
| | | border: 2px solid #f3f3f3; |
| | | border-top: 2px solid #2271b1; |
| | | border-radius: 50%; |
| | | animation: spin 1s linear infinite; |
| | | margin-left: 8px; |
| | | vertical-align: middle; |
| | | } |
| | | |
| | | @keyframes spin { |
| | | 0% { transform: rotate(0deg); } |
| | | 100% { transform: rotate(360deg); } |
| | | } |
| | | |
| | | /* Responsive */ |
| | | @media (max-width: 600px) { |
| | | .input-button-wrapper { |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .validate-btn { |
| | | width: 100%; |
| | | } |
| | | |
| | | .link-copy-wrapper { |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .copy-link-btn { |
| | | width: 100%; |
| | | } |
| | | } |