diff --git a/.stylelintrc.json b/.stylelintrc.json index 3cf898f..7d73826 100644 --- a/.stylelintrc.json +++ b/.stylelintrc.json @@ -1,3 +1,6 @@ { - "extends": ["stylelint-config-standard-scss"] + "extends": ["stylelint-config-standard-scss"], + "rules": { + "selector-class-pattern": "^([a-z][a-z0-9]*)((-|__|--)[a-z0-9]+)*$" + } } diff --git a/.svgo.config.js b/.svgo.config.js new file mode 100644 index 0000000..46a3a1e --- /dev/null +++ b/.svgo.config.js @@ -0,0 +1,40 @@ +module.exports = { + plugins: [ + // Remove unnecessary metadata + 'removeDoctype', + 'removeXMLProcInst', + 'removeComments', + 'removeMetadata', + 'removeEditorsNSData', + + // Remove unused elements + 'removeUselessDefs', + 'removeEmptyAttrs', + 'removeEmptyText', + 'removeEmptyContainers', + 'removeUnknownsAndDefaults', + + // Optimize paths and shapes + 'convertShapeToPath', + 'mergePaths', + 'convertPathData', + 'removeUselessStrokeAndFill', + + // Clean up structure + 'cleanupAttrs', + 'cleanupNumericValues', + 'cleanupListOfValues', + 'convertStyleToAttrs', + 'removeStyleElement', + + // Optimize for size + 'collapseGroups', + 'moveElemsAttrsToGroup', + 'moveGroupAttrsToElems', + 'sortAttrs', + + // Transform optimizations + 'removeOffCanvasPaths', + 'reusePaths' + ] +} \ No newline at end of file diff --git a/assets/critical.css b/assets/critical.css index 4578fb0..ccedbcf 100644 --- a/assets/critical.css +++ b/assets/critical.css @@ -1 +1 @@ -button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;font-family:inherit}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-autofill,::-webkit-autofill:active,::-webkit-autofill:hover,::-webkit-autofill:focus{box-shadow:0 0 0 1000px rgba(0,0,0,0) inset !important;background-clip:text !important;color:var(--color-primary, #000) !important;-webkit-text-fill-color:var(--color-primary, #000) !important}::-webkit-file-upload-button{appearance:button;font:inherit}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-heading);font-weight:var(--font-weight-headers);line-height:var(--font-height-sm);margin-bottom:1.5625rem;letter-spacing:-1px;color:currentcolor}h1,.h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-h1)}h2,.h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-h2)}h3,.h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-h3)}h4,.h4{font-size:32px;line-height:var(--font-height-md)}h5,.h5{font-size:24px;line-height:var(--font-height-lg)}h6,.h6{font-size:20px;line-height:var(--font-height-lg)}p{font-family:inherit;font-size:inherit;line-height:inherit;margin-bottom:1.25rem}em,i{font-family:inherit;font-size:inherit;line-height:inherit;font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}b,strong{font-weight:var(--font-weight-bold)}a{display:inline-block;vertical-align:top;background:none;color:inherit;text-decoration:none;transition:all var(--transition-duration) ease-in-out}a:hover{opacity:.8}ul,ol{padding:0;margin:0}ul{list-style:none}blockquote,q,cite{font-family:inherit;font-size:calc(var(--font-size-base) + 2px);font-weight:var(--font-weight-regular);line-height:inherit}q{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}cite{font-size:var(--font-size-base)}pre{font-family:monospace;font-size:1em;white-space:pre-wrap;margin:1em 0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}code,kbd,samp{font-family:monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}.fa,.far{color:currentcolor}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{overflow-x:clip;text-size-adjust:100%;height:100%}body{display:flex;flex-direction:column;color:var(--color-primary, #000);background:var(--background-primary, #fff);margin:0;padding:0;min-height:100%;width:100%;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--font-height-xl);overflow-x:clip;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body>*{flex:0 0 auto}.container{max-width:1920px;padding:0 16px;margin:0 auto}@media(min-width: 1440px){.container{padding:0 80px}}.tagline{display:inline-block;vertical-align:top;font-family:var(--font-tagline);font-weight:var(--font-weight-semibold);line-height:var(--font-height-lg);font-size:var(--font-size-tagline);color:var(--color-outline);margin:0 0 20px}@media(min-width: 992px){.tagline{margin:0 0 16px}}img{display:block;height:auto;max-width:100%}#main{flex:1 1 auto;display:flex;flex-direction:column}#main>*{width:100%}.overflow-hidden{overflow:clip}[hidden]{display:none} +button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;font-family:inherit}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-autofill,::-webkit-autofill:active,::-webkit-autofill:hover,::-webkit-autofill:focus{box-shadow:0 0 0 1000px rgba(0,0,0,0) inset !important;background-clip:text !important;color:var(--color-primary, #000) !important;-webkit-text-fill-color:var(--color-primary, #000) !important}::-webkit-file-upload-button{appearance:button;font:inherit}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-heading);font-weight:var(--font-weight-headers);line-height:1.25;margin-bottom:1.5625rem;letter-spacing:-1px;color:currentcolor}h1,.h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-h1)}h2,.h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-h2)}h3,.h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-h3)}h4,.h4{font-size:32px;line-height:1.3333}h5,.h5{font-size:24px;line-height:1.4}h6,.h6{font-size:20px;line-height:1.4}p{font-family:inherit;font-size:inherit;line-height:inherit;margin-bottom:1.25rem}em,i{font-family:inherit;font-size:inherit;line-height:inherit;font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}b,strong{font-weight:var(--font-weight-bold)}a{--link-color: inherit;display:inline-block;vertical-align:top;background:none;color:var(--link-color);text-decoration:none;transition:all var(--transition-duration) var(--transition-function)}a:hover{--link-color: var(--color-outline)}ul,ol{padding:0;margin:0}ul{list-style:none}blockquote,q,cite{font-family:inherit;font-size:calc(var(--font-size-base) + 2px);font-weight:var(--font-weight-regular);line-height:inherit}q{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}cite{font-size:var(--font-size-base)}pre{font-family:monospace;font-size:1em;white-space:pre-wrap;margin:1em 0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}code,kbd,samp{font-family:monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}.fa,.far,[class^=fa-],[class*=fa-]{color:currentcolor;transition:all var(--transition-duration) var(--transition-function)}.logo{position:relative}.logo__image{display:flex;align-items:center;max-height:64px;max-width:200px;width:auto}.logo__image-holder--floated{position:absolute;top:50%;left:0;transform:translateY(-50%)}.logo__text{font-size:24px;line-height:1.3333;font-weight:var(--font-weight-semibold);margin:0;color:currentcolor}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{overflow-x:clip;text-size-adjust:100%;height:100%}body{display:flex;flex-direction:column;position:relative;color:var(--color-primary, #000);background:var(--background-primary, #fff);margin:0;padding:0;min-height:100%;width:100%;font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.5;overflow-x:clip;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body>*{flex:0 0 auto}.container{max-width:1920px;padding:0 16px;margin:0 auto}@media(min-width: 1440px){.container{padding:0 80px}}.tagline{display:inline-block;vertical-align:top;font-family:var(--font-tagline);font-weight:var(--font-weight-semibold);line-height:1.4;font-size:var(--font-size-tagline);color:var(--color-outline);margin:0 0 20px}@media(min-width: 992px){.tagline{margin:0 0 16px}}img{display:block;height:auto;max-width:100%}#main{flex:1 1 auto;display:flex;flex-direction:column}#main>*{width:100%}.overflow-hidden{overflow:clip}[hidden]{display:none} diff --git a/assets/example.js b/assets/example.js deleted file mode 100644 index 366cf91..0000000 --- a/assets/example.js +++ /dev/null @@ -1,3 +0,0 @@ -// Example JavaScript file - replace with actual functionality -// eslint-disable-next-line no-console -console.log('Example JavaScript file loaded successfully!') diff --git a/assets/header.css b/assets/header.css new file mode 100644 index 0000000..b810814 --- /dev/null +++ b/assets/header.css @@ -0,0 +1 @@ +.menu{--menu-display: flex;--menu-dropdown-events: none;--menu-dropdown-height: calc(100vh - var(--header-height, 65px));--menu-dropdown-item-display: grid;--menu-dropdown-left: auto;--menu-dropdown-link-display: flex;--menu-dropdown-link-font-size: 18px;--menu-dropdown-link-font-weight: var(--font-weight-bold);--menu-dropdown-link-indent: 0;--menu-dropdown-link-padding: 16px var(--menu-dropdown-link-indent) 16px 0;--menu-dropdown-position: fixed;--menu-dropdown-right: 0;--menu-dropdown-top: 0;--menu-dropdown-transform: translateX(100%);--menu-dropdown-width: 100%;--menu-dropdown-opener-display: flex;--menu-dropdown-opener-height: var(--button-height);--menu-dropdown-opener-position: center;--menu-dropdown-opener-transform: rotate(90deg);--menu-dropdown-opener-weight: inherit;--menu-dropdown-opener-width: var(--button-width);--menu-dropdown-wrapper-height: 100%;--menu-dropdown-wrapper-margin: 0;--menu-dropdown-wrapper-overflow: clip auto;--menu-dropdown-wrapper-padding: 25px 16px 50px;--menu-dropdown-wrapper-position: absolute;--menu-dropdown-wrapper-transform: translateX(100%);--menu-dropdown-wrapper-width: 100vw;--menu-opener-color: currentcolor;--menu-horizontal-position: flex-end;--menu-item-cursor: default;--menu-item-margin: 0;--menu-item-icon-transform: rotate(-90deg);--menu-item-icon-margin: 0;--menu-link-indent: 0;--menu-list-margin: 0 auto;--menu-list-overflow: clip auto;--menu-list-padding: 0;--menu-list-width: 100%;--menu-margin-bottom: var(--padding-bottom-mobile, 12px);--menu-margin-top: var(--padding-top-mobile, 12px);--menu-nav-delay: 50ms;--menu-nav-duration: var(--transition-duration);--menu-nav-events: none;--menu-nav-height: calc(100vh - var(--header-height, 65px));--menu-nav-overflow: clip auto;--menu-nav-visibility: hidden;--menu-nav-width: 100%;--menu-opener-display: flex;--menu-opener-icon-left: 27%;--menu-opener-icon-right: 27%;--menu-opener-icon-top: 50%;--menu-opener-icon-transform: translate(0, -50%);--menu-wrapper-background: var(--background-primary, #fff);--menu-wrapper-flex-direction: column;--menu-wrapper-overflow: clip;--menu-wrapper-padding: 16px;--menu-wrapper-position: absolute;--menu-wrapper-transform: translateY(-100%);--menu-wrapper-width: 100vw;display:var(--menu-display);align-items:center}@media(min-width: 992px){.menu{--menu-display: block;--menu-dropdown-item-display: block;--menu-dropdown-position: absolute;--menu-dropdown-top: calc(100% + 1px);--menu-dropdown-width: 100vw;--menu-dropdown-height: auto;--menu-dropdown-left: 50%;--menu-dropdown-link-display: inline-block;--menu-dropdown-link-font-size: 20px;--menu-dropdown-link-padding: 0;--menu-dropdown-right: auto;--menu-dropdown-transform: translateX(-50%);--menu-dropdown-item-margin: 0;--menu-dropdown-opener-height: auto;--menu-dropdown-opener-width: auto;--menu-dropdown-list-display: grid;--menu-dropdown-list-gap: 20px;--menu-dropdown-list-padding: 25px 80px;--menu-dropdown-wrapper-height: auto;--menu-dropdown-wrapper-margin: 0 auto;--menu-dropdown-wrapper-overflow: auto;--menu-dropdown-wrapper-padding: 0;--menu-dropdown-wrapper-position: static;--menu-dropdown-wrapper-transform: translateY(-100%);--menu-dropdown-wrapper-width: 100%;--menu-horizontal-position: var(--menu-horizontal-position-desktop, center);--menu-item-margin: 0 22px;--menu-list-overflow: inherit;--menu-list-margin: calc(-1 * var(--menu-margin-top)) var(--menu-margin-x-desktop) calc(-1 * var(--menu-margin-bottom));--menu-list-width: calc(100% + -1 * var(--menu-margin-x-desktop, 0) * 2);--menu-margin-bottom: var(--padding-bottom-desktop, 12px);--menu-margin-top: var(--padding-top-desktop, 12px);--menu-nav-delay: 0s;--menu-nav-duration: 0s;--menu-nav-events: all;--menu-nav-height: 100%;--menu-nav-overflow: inherit;--menu-nav-visibility: visible;--menu-nav-width: auto;--menu-opener-display: none;--menu-wrapper-background: none;--menu-wrapper-flex-direction: row;--menu-wrapper-overflow: inherit;--menu-wrapper-padding: 0;--menu-wrapper-position: static;--menu-wrapper-transform: translateY(0);--menu-wrapper-width: 100%}}.menu path{stroke:var(--menu-opener-color);stroke-width:1;transition:stroke var(--transition-duration) var(--transition-function)}.menu__opener{height:var(--button-height);width:var(--button-width);border-radius:var(--button-border-radius);display:var(--menu-opener-display);align-items:center;background:color-mix(in srgb, var(--color-primary) 15%, transparent);position:relative;cursor:pointer}.menu__opener span,.menu__opener::before,.menu__opener::after{background:var(--menu-opener-color);position:absolute;top:var(--menu-opener-icon-top);left:var(--menu-opener-icon-left);right:var(--menu-opener-icon-right);height:2px;transform:var(--menu-opener-icon-transform);transition:all var(--transition-duration) var(--transition-function);pointer-events:none}#header-opener-menu:checked~.menu__opener span{opacity:0}.menu__opener::before{--menu-opener-icon-top: calc(50% - 6px);--menu-opener-icon-transform: translate(0, 0);content:""}#header-opener-menu:checked~.menu__opener::before{--menu-opener-icon-transform: rotate(45deg);--menu-opener-icon-top: 50%;--menu-opener-icon-left: 23%;--menu-opener-icon-right: 23%}.menu__opener::after{--menu-opener-icon-top: calc(50% + 4px);--menu-opener-icon-transform: translate(0, 0);content:""}#header-opener-menu:checked~.menu__opener::after{--menu-opener-icon-transform: rotate(-45deg);--menu-opener-icon-top: 50%;--menu-opener-icon-left: 23%;--menu-opener-icon-right: 23%}.menu__opener:hover::before,.menu__opener:hover::after,.menu__opener:hover span{--menu-opener-color: var(--color-outline)}.menu__wrapper{position:var(--menu-wrapper-position);width:var(--menu-wrapper-width);min-height:100%;top:0;left:0;z-index:1;transform:var(--menu-wrapper-transform);transition:transform var(--transition-duration) var(--transition-function);display:flex;flex-direction:var(--menu-wrapper-flex-direction);justify-content:space-between;overflow:var(--menu-wrapper-overflow);color:var(--color-primary, #000);padding:var(--menu-wrapper-padding);background:var(--menu-wrapper-background)}@media(min-width: 992px){.menu__wrapper{height:100%}}.menu__wrapper>span:not(:only-child),.menu__wrapper>ul:not(:only-child),.menu__wrapper>div:not(:only-child){padding:0 0 50px}@media(min-width: 992px){.menu__wrapper>span:not(:only-child),.menu__wrapper>ul:not(:only-child),.menu__wrapper>div:not(:only-child){padding:0}}.menu__nav{position:var(--menu-wrapper-position);height:var(--menu-nav-height);width:var(--menu-nav-width);top:var(--header-height, 65px);left:0;overflow:var(--menu-nav-overflow);pointer-events:var(--menu-nav-events);visibility:var(--menu-nav-visibility);transition:visibility var(--menu-nav-duration) var(--transition-function) var(--menu-nav-delay);font-weight:var(--font-weight-regular);display:block !important}#header-opener-menu:checked~.menu__nav{--menu-nav-events: all;--menu-nav-visibility: visible;--menu-nav-duration: 0s;--menu-nav-delay: 0s}#header-opener-menu:checked~.menu__nav .menu__wrapper{--menu-wrapper-transform: translateY(0)}.menu__list{list-style-type:none;position:relative;max-width:1920px;height:auto;width:var(--menu-list-width);overflow:var(--menu-list-overflow);margin:var(--menu-list-margin);padding:var(--menu-list-padding);flex:1 1 auto}@media(min-width: 992px){.menu__list{display:flex;justify-content:var(--menu-horizontal-position);align-items:center}}.menu__list:not(:only-child){--menu-list-padding: 0 0 50px}.menu__item{display:grid;grid-template-columns:1fr min-content;grid-template-areas:"item-1 item-2";align-items:center;margin:var(--menu-item-margin);cursor:var(--menu-item-cursor)}@media(min-width: 992px){.menu__item{height:100%}}.menu__item-icon{display:flex;align-items:center;justify-content:center;margin:var(--menu-item-icon-margin);transform:var(--menu-item-icon-transform);transition:transform var(--transition-duration) var(--transition-function);pointer-events:none}.menu__item:hover{--menu-item-cursor: pointer}@media(min-width: 992px){.menu__item:hover .menu__link{color:var(--color-outline)}}@media(min-width: 992px){.menu__item:hover .menu__dropdown{--menu-dropdown-events: all}}@media(min-width: 992px){.menu__item:hover .menu__dropdown-wrapper{--menu-dropdown-wrapper-transform: translateY(0)}}@media(min-width: 992px){.menu__item:hover .menu__dropdown-opener{--menu-dropdown-opener-transform: rotate(270deg)}}@media(min-width: 992px){.menu__item:hover .menu__dropdown-opener path{--menu-opener-color: var(--color-outline)}}.menu__link{font-size:18px;font-weight:var(--font-weight-bold);line-height:1.4;padding:16px var(--menu-link-indent) 16px 0;grid-area:item-1;z-index:1;position:relative}@media(min-width: 992px){.menu__link{padding:0 var(--menu-link-indent) 0 0}}.has-dropdown .menu__link{--menu-link-indent: 16px}@media(min-width: 992px){.has-dropdown .menu__link{--menu-link-indent: 10px}}.menu__dropdown{position:var(--menu-dropdown-position);top:var(--menu-dropdown-top);left:var(--menu-dropdown-left);right:var(--menu-dropdown-right);width:var(--menu-dropdown-width);height:var(--menu-dropdown-height);margin:0;transform:var(--menu-dropdown-transform);transition:transform var(--transition-duration) var(--transition-function);overflow:clip;pointer-events:var(--menu-dropdown-events);display:block !important;z-index:2}@media(min-width: 992px){.menu__dropdown-list{padding:var(--menu-dropdown-list-padding);display:var(--menu-dropdown-list-display);grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:var(--menu-dropdown-list-gap)}}@media(min-width: 992px){.menu__dropdown-list .menu__dropdown-list{--menu-dropdown-list-display: block;--menu-dropdown-list-padding: 0;--menu-dropdown-list-gap: 0}}.menu__dropdown-item{display:var(--menu-dropdown-item-display);grid-template-columns:1fr min-content;grid-template-areas:"drop-1 item-2";align-items:center;margin:var(--menu-dropdown-item-margin);padding:0}@media(min-width: 992px){.menu__dropdown-item .menu__dropdown-item{--menu-dropdown-item-margin: 8px 0}}@media(min-width: 992px){.menu__dropdown-item .menu__dropdown-item .menu__dropdown-link{--menu-dropdown-link-font-size: 16px;--menu-dropdown-link-font-weight: var(--font-weight-medium)}}.menu__dropdown-link{display:var(--menu-dropdown-link-display);align-items:center;justify-content:space-between;grid-area:drop-1;padding:var(--menu-dropdown-link-padding);font-size:var(--menu-dropdown-link-font-size);line-height:1.4;font-weight:var(--menu-dropdown-link-font-weight)}@media(min-width: 992px){.menu__dropdown-link{vertical-align:top}}.has-dropdown .menu__dropdown-link{--menu-dropdown-link-indent: 16px}.menu__dropdown-opener{height:var(--menu-dropdown-opener-height);width:var(--menu-dropdown-opener-width);max-width:1920px;display:var(--menu-dropdown-opener-display);align-items:center;justify-content:var(--menu-dropdown-opener-position);font-weight:var(--menu-dropdown-opener-weight);cursor:pointer;transition:all var(--transition-duration) var(--transition-function);font-size:18px;grid-area:item-2;position:relative;margin:0 auto;z-index:1;color:var(--menu-opener-color)}@media(min-width: 992px){.menu__dropdown-opener{transform:var(--menu-dropdown-opener-transform)}}.menu__dropdown-opener:hover{--menu-opener-color: var(--color-outline)}.menu__dropdown-opener path:hover{--menu-opener-color: var(--color-outline)}.menu__dropdown-wrapper{position:var(--menu-dropdown-wrapper-position);top:0;left:0;width:var(--menu-dropdown-wrapper-width);height:var(--menu-dropdown-wrapper-height);max-height:calc(100vh - var(--header-height, 65px));max-width:1920px;margin:var(--menu-dropdown-wrapper-margin);padding:var(--menu-dropdown-wrapper-padding);background:var(--background-primary, #fff);overflow:var(--menu-dropdown-wrapper-overflow);transform:var(--menu-dropdown-wrapper-transform);transition:transform var(--transition-duration) var(--transition-function);border-bottom:1px solid color-mix(in srgb, var(--color-primary) 15%, transparent)}.menu__dropdown .menu__dropdown{--menu-dropdown-transform: translateX(100%)}@media(min-width: 992px){.menu__dropdown .menu__dropdown{--menu-dropdown-position: static;--menu-dropdown-transform: translateX(0);--menu-dropdown-width: 100%}}@media(min-width: 992px){.menu__dropdown .menu__dropdown-wrapper .menu__dropdown-wrapper{--menu-dropdown-wrapper-transform: none;border-color:rgba(0,0,0,0)}}@media(min-width: 992px){.has-dropdown .menu__dropdown .menu__dropdown-wrapper .menu__dropdown-link{--menu-dropdown-link-indent: 0}}@media(min-width: 992px){.menu__dropdown .menu__dropdown-wrapper .menu__dropdown-opener{--menu-dropdown-opener-display: none}}.menu__dropdown>.menu__dropdown-wrapper>.menu__dropdown-opener{--menu-dropdown-opener-position: flex-start;--menu-dropdown-opener-weight: var(--font-weight-semibold);--menu-dropdown-opener-width: auto}.menu__dropdown>.menu__dropdown-wrapper>.menu__dropdown-opener .menu__item-icon{--menu-item-icon-transform: rotate(90deg);--menu-item-icon-margin: 0 10px -1px 0}[id^=header-dropdown-trigger-menu]:checked~.menu__dropdown>.menu__dropdown-wrapper,[id*=header-dropdown-trigger-menu]:checked~.menu__dropdown>.menu__dropdown-wrapper{--menu-dropdown-wrapper-transform: translateX(0)}[id^=header-dropdown-trigger-childmenu]:checked~.menu__dropdown>.menu__dropdown-wrapper,[id*=header-dropdown-trigger-childmenu]:checked~.menu__dropdown>.menu__dropdown-wrapper{--menu-dropdown-wrapper-transform: translateX(0);--menu-dropdown-wrapper-overflow: clip auto}[id^=header-dropdown-trigger-childmenu]:checked~.menu__dropdown,[id*=header-dropdown-trigger-childmenu]:checked~.menu__dropdown,[id^=header-dropdown-trigger-menu]:checked~.menu__dropdown,[id*=header-dropdown-trigger-menu]:checked~.menu__dropdown{--menu-dropdown-transform: translateX(0);--menu-dropdown-events: all}.menu:has([id^=header-dropdown-trigger-menu]:checked) .menu__nav,.menu:has([id*=header-dropdown-trigger-menu]:checked) .menu__nav{--menu-nav-overflow: clip}.menu:has([id^=header-dropdown-trigger-childmenu]:checked) .menu__item>.menu__dropdown>.menu__dropdown-wrapper,.menu:has([id*=header-dropdown-trigger-childmenu]:checked) .menu__item>.menu__dropdown>.menu__dropdown-wrapper{--menu-dropdown-wrapper-overflow: clip}.menu .header__btn-wrapper{display:var(--menu-display)}@media(min-width: 992px){.menu .header__btn-wrapper{--menu-display: none}}@media(min-width: 992px){.menu .social-networks{display:none}}.search{--search-dropdown-delay: 50ms;--search-dropdown-duration: var(--transition-duration);--search-dropdown-events: none;--search-dropdown-padding: 16px;--search-dropdown-transform: translateY(-100%);--search-dropdown-visibility: hidden;--search-input-width: 100%;--search-icon-color: currentcolor;--search-icon-display: block;--search-icon-label-color: currentcolor;--search-icon-form-width: 100%;--search-icon-rotate: 45deg;--search-input-border-color: color-mix(in srgb, var(--color-primary) 15%, transparent);--search-input-font-size: inherit;--search-input-min-width: 230px;--search-input-padding-left: 46px;--search-input-padding-right: 55px}@media(min-width: 992px){.search{--search-dropdown-padding: 80px;--search-icon-form-width: auto}}.search g{pointer-events:none;stroke:var(--search-icon-color);transition:stroke var(--transition-duration) var(--transition-function)}.search__opener{height:var(--button-height);width:var(--button-width);border-radius:var(--button-border-radius);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--color-primary) 15%, transparent);position:relative;cursor:pointer}.search__opener svg{pointer-events:none}.search__opener:hover g{--search-icon-color: var(--color-outline)}.search__closer{text-align:center;margin-top:16px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer}.search__closer-icon{position:relative;display:block;width:20px;height:20px}.search__closer-icon:not(:only-child){margin-left:8px}.search__closer-icon::before,.search__closer-icon::after{content:"";position:absolute;top:50%;left:50%;height:1px;width:12px;background:var(--search-icon-label-color);transform:translate(-50%, -50%) rotate(var(--search-icon-rotate));transition:background var(--transition-duration) var(--transition-function)}.search__closer-icon::after{--search-icon-rotate: -45deg}.search__closer-label{color:var(--search-icon-label-color);transition:color var(--transition-duration) var(--transition-function)}.search__closer:hover .search__closer-label{--search-icon-label-color: var(--color-outline)}.search__closer:hover .search__closer-icon::before,.search__closer:hover .search__closer-icon::after{--search-icon-label-color: var(--color-outline)}.search__wrapper{position:absolute;width:100vw;height:auto;top:0;left:0;max-width:1920px;margin:0 auto;transform:var(--search-dropdown-transform);transition:transform var(--transition-duration) var(--transition-function),height var(--transition-duration) var(--transition-function);display:flex;flex-direction:column;align-items:center;overflow:clip;color:currentcolor;background:var(--background-primary, #fff);padding:16px var(--search-dropdown-padding);flex:0 1 auto}.search__wrapper form{position:relative;width:var(--search-icon-form-width)}.search__holder{position:absolute;height:calc(100dvh - var(--header-height, 65px));width:100%;top:var(--header-height, 65px);left:0;overflow:clip;pointer-events:var(--search-dropdown-events);visibility:var(--search-dropdown-visibility);transition:visibility var(--search-dropdown-duration) var(--transition-function) var(--search-dropdown-delay);display:flex !important}#header-opener-search:checked~.search__holder{--search-dropdown-events: all;--search-dropdown-duration: 0s;--search-dropdown-delay: 0s;--search-dropdown-visibility: visible}#header-opener-search:checked~.search__holder .search__wrapper{--search-dropdown-transform: translateY(0)}.search__reset{position:absolute;right:7px;top:50%;height:var(--button-height);width:var(--button-width);visibility:hidden;transform:translate(0, -50%);transition:visibility var(--transition-duration) var(--transition-function);display:flex;align-items:center;background:color-mix(in srgb, var(--color-primary) 15%, transparent);border-radius:var(--button-border-radius);cursor:pointer}.filled+.search__reset{visibility:visible}.search__reset::before,.search__reset::after{content:"";position:absolute;top:50%;left:50%;height:2px;width:18px;transform:translate(-50%, -50%) rotate(var(--search-icon-rotate));background:var(--search-icon-color);transition:background var(--transition-duration) var(--transition-function)}.search__reset::after{--search-icon-rotate: -45deg}.search__reset:hover::before,.search__reset:hover::after{--search-icon-color: var(--color-outline)}.search__icon{font-size:20px;width:20px;height:20px;pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-65%);z-index:1;display:var(--search-icon-display)}.search__input{min-width:var(--search-input-min-width);width:var(--search-input-width);padding:14px var(--search-input-padding-right) 14px var(--search-input-padding-left);font-size:var(--search-input-font-size);font-weight:var(--font-weight-bold);line-height:1.25;border:1px solid var(--search-input-border-color);border-radius:var(--button-border-radius);color:currentcolor;background:var(--background-primary, #fff)}@media(min-width: 992px){.search__input{--search-input-border-color: transparent;--search-input-font-size: 20px;--search-input-min-width: auto;--search-input-padding-left: 5px;--search-input-padding-right: 60px;--search-input-width: auto}}.search__input-wrapper{position:relative;flex:1 1 auto}@media(min-width: 992px){.search__input-wrapper .search__icon{--search-icon-display: none}}.search__input::placeholder{color:color-mix(in srgb, var(--color-primary) 50%, transparent)}.search__input::-webkit-search-cancel-button{display:none !important}.search__input::-webkit-search-decoration{display:none}.search__input:focus{outline:none}.search__input:-webkit-autofill,.search__input:autofill{box-shadow:inset 0 0 0 150px var(--background-primary, #fff) !important}.search:focus-within .search__holder{--search-dropdown-delay: 0s;--search-dropdown-duration: 0s;--search-dropdown-events: all;--search-dropdown-visibility: visible}.header{--header-background: transparent;--header-border-color: color-mix(in srgb, var(--color-primary) 15%, transparent);--header-btn-display: none;--header-content-gap: 8px;--header-logo-visibility: visible;--header-position: static;--header-transition-duration: var(--transition-duration);--header-transition-delay: var(--transition-duration);z-index:1;position:var(--header-position);top:0;left:0;right:0}@media(min-width: 992px){.header{--header-btn-display: block}}.header__inner{--header-logo-grow: 1;--header-menu-grow: 0;--header-menu-bottom-padding: 0;--header-menu-indent: var(--menu-indent-mobile);--header-padding-bottom: var(--padding-bottom-mobile, 12px);--header-padding-top: var(--padding-top-mobile, 12px);--header-order-app: var(--order-app-mobile, 2);--header-order-button: var(--order-button-mobile, 6);--header-order-cart: var(--order-cart-mobile, 4);--header-order-logo: var(--order-logo-mobile, 1);--header-order-menu: var(--order-menu-mobile, 5);--header-order-search: var(--order-search-mobile, 3);color:var(--color-primary, #000);background:var(--header-background);border-bottom:1px solid var(--header-border-color);transition:background var(--header-transition-duration) var(--header-transition-delay) var(--transition-function),border var(--header-transition-duration) var(--header-transition-delay) var(--transition-function),padding var(--transition-duration) var(--transition-function)}@media(min-width: 992px){.header__inner{--header-logo-grow: var(--logo-growth-desktop, 1);--header-menu-grow: var(--menu-growth-desktop, 1);--header-menu-bottom-padding: var(--menu-bottom-padding-top-desktop);--header-menu-bottom-border-top-width: var(--menu-bottom-border-top-width-desktop, 100%);--header-menu-indent: var(--menu-indent-desktop);--header-padding-bottom: var(--padding-bottom-desktop, 12px);--header-padding-top: var(--padding-top-desktop, 12px);--header-order-app: var(--order-app-desktop, 2);--header-order-button: var(--order-button-desktop, 5);--header-order-cart: var(--order-cart-desktop, 4);--header-order-logo: var(--order-logo-desktop, 1);--header-order-menu: var(--order-menu-desktop, 6);--header-order-search: var(--order-search-desktop, 3)}}.header__inner--padding-top{padding-top:var(--header-padding-top)}.header__inner--padding-bottom{padding-bottom:var(--header-padding-bottom)}.header__inner--background{background:var(--background-primary, #fff)}.header__content{display:flex;justify-content:space-between;align-items:stretch}@media(min-width: 992px){.header__content{flex-wrap:wrap}}@media(min-width: 992px){.header__content--outlined{border:1px solid color-mix(in srgb, var(--color-primary) 15%, transparent);border-radius:var(--border-radius);padding:var(--header-padding-top) var(--header-padding-bottom) var(--header-padding-bottom);margin:calc(-1*var(--header-padding-top)) 0 calc(-1*var(--header-padding-bottom))}}.header__menu{flex:var(--header-menu-grow) 1 auto;order:var(--header-order-menu);margin:var(--header-menu-indent)}@media(min-width: 992px){.header__menu{width:var(--menu-bottom-width-desktop, 100%);position:relative;padding:var(--header-menu-bottom-padding)}}@media(min-width: 992px){.header__menu::before{content:"";display:block;width:calc(var(--header-menu-bottom-border-top-width));height:var(--menu-border-width-desktop, 1px);margin:0;position:absolute;left:50%;top:0;transform:translateX(-50%);background:color-mix(in srgb, var(--color-primary) 15%, transparent)}}.header__logo{flex:var(--header-logo-grow) 1 auto;order:var(--header-order-logo);padding-right:16px}.header__logo-image-holder{transition:all var(--header-transition-duration) var(--header-transition-delay) var(--transition-function);visibility:var(--header-logo-visibility)}.header__search{flex:0 1 auto;order:var(--header-order-search);padding-left:var(--header-content-gap)}.header__cart{order:var(--header-order-cart);flex:0 1 auto;padding-left:var(--header-content-gap)}.header__btn-wrapper{flex:0 1 auto;display:var(--header-btn-display)}@media(min-width: 992px){.header__btn-wrapper{order:var(--header-order-button);padding-left:var(--header-content-gap)}}.header:has(.header__inner--sticky){--header-position: sticky}.header:has(.header__content--outlined){--header-border-color: transparent}.header:not(.header:has(.header__inner--background)){--header-border-color: transparent;--header-position: absolute}.header:not(.header:has(.header__inner--background)) .header__logo-image-holder{--header-logo-visibility: hidden}.header:not(.header:has(.header__inner--background)) .header__logo-image-holder--floated{--header-logo-visibility: visible}.header:not(.header:has(.header__inner--background)) .header__logo-image-holder:only-child{--header-logo-visibility: visible}.header:not(.header:has(.header__inner--background)):has(.header__inner--sticky){--header-position: fixed}.header:has(.menu__item.has-dropdown:hover),.header:has(#header-opener-menu:checked),.header:has(#header-opener-search:checked){--header-border-color: color-mix(in srgb, var(--color-primary) 15%, transparent);--header-transition-duration: 0s;--header-transition-delay: 0s}.header:has(.menu__item.has-dropdown:hover) .header__inner,.header:has(#header-opener-menu:checked) .header__inner,.header:has(#header-opener-search:checked) .header__inner{--header-background: var(--background-primary, #fff);--header-transition-duration: 0s;--header-transition-delay: 0s}.header:has(.menu__item.has-dropdown:hover) .header__inner .header__logo-image-holder,.header:has(#header-opener-menu:checked) .header__inner .header__logo-image-holder,.header:has(#header-opener-search:checked) .header__inner .header__logo-image-holder{--header-logo-visibility: visible}.header:has(.menu__item.has-dropdown:hover) .header__inner .header__logo-image-holder--floated,.header:has(#header-opener-menu:checked) .header__inner .header__logo-image-holder--floated,.header:has(#header-opener-search:checked) .header__inner .header__logo-image-holder--floated{--header-logo-visibility: hidden}.header:has(.menu__item.has-dropdown:hover) .header__inner .header__logo-image-holder--floated:only-child,.header:has(#header-opener-menu:checked) .header__inner .header__logo-image-holder--floated:only-child,.header:has(#header-opener-search:checked) .header__inner .header__logo-image-holder--floated:only-child{--header-logo-visibility: visible}@media(min-width: 992px){.header:has(.menu__item.has-dropdown:hover):has(.header__content--outlined),.header:has(#header-opener-menu:checked):has(.header__content--outlined),.header:has(#header-opener-search:checked):has(.header__content--outlined){--header-border-color: transparent}} diff --git a/assets/main.js b/assets/main.js new file mode 100644 index 0000000..c48f458 --- /dev/null +++ b/assets/main.js @@ -0,0 +1 @@ +import{frameSequence as o,onReady as d}from"utils.js";const e={selector:{o:document.documentElement},i:{loaded:"loaded"}},s={t(){o(()=>({o:e.selector.o,i:e.i.loaded}),o=>{o.o.classList.add(o.i)})}},i=()=>{s.t()};d(i); \ No newline at end of file diff --git a/assets/styles.css b/assets/styles.css index 7df1595..f53b8f9 100644 --- a/assets/styles.css +++ b/assets/styles.css @@ -1 +1 @@ -#main>section:last-child{display:flex;flex-direction:column;flex-grow:1}#main>section:last-child>[class*=__wrapper],#main>section:last-child>[class^=__wrapper]{flex-grow:1}.preview-app #main:has(section:only-child){display:block}.bq-content.rx-content{font-family:var(--font-body);line-height:var(--font-height-lg);font-size:inherit}.bq-content.rx-content b,.bq-content.rx-content strong{font-weight:var(--font-weight-semibold)}.bq-content.rx-content a{color:var(--color-outline);transition:color var(--transition-duration) ease-in-out}h1 .bq-content.rx-content a,h2 .bq-content.rx-content a,h3 .bq-content.rx-content a,h4 .bq-content.rx-content a,h5 .bq-content.rx-content a,h6 .bq-content.rx-content a{text-decoration:none;color:var(--color-outline)}.bq-content.rx-content a:hover{opacity:.8}h1 .bq-content.rx-content a:hover,h2 .bq-content.rx-content a:hover,h3 .bq-content.rx-content a:hover,h4 .bq-content.rx-content a:hover,h5 .bq-content.rx-content a:hover,h6 .bq-content.rx-content a:hover{opacity:.8}.bq-content.rx-content ul{list-style:disc;margin-left:26px}.bq-content.rx-content ul+*{margin-top:16px}.bq-content.rx-content ol{list-style:decimal;margin-left:26px}.bq-content.rx-content ol+*{margin-top:16px}.bq-content.rx-content li{font-size:16px;line-height:var(--font-height-lg)}.bq-content.rx-content li li{font-size:1em}.bq-content.rx-content h1,.bq-content.rx-content h2,.bq-content.rx-content h3,.bq-content.rx-content h4,.bq-content.rx-content h5,.bq-content.rx-content h6{font-family:var(--font-heading);font-size:16px;font-weight:var(--font-weight-headers);line-height:var(--font-height-lg);text-rendering:optimizelegibility;letter-spacing:0;color:var(--color-primary, #000)}.bq-content.rx-content h1+*,.bq-content.rx-content h2+*,.bq-content.rx-content h3+*,.bq-content.rx-content h4+*,.bq-content.rx-content h5+*,.bq-content.rx-content h6+*{margin-top:12px}.bq-content.rx-content h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-h1);line-height:var(--font-height-sm)}.bq-content.rx-content h1 b,.bq-content.rx-content h1 strong{font-family:inherit;font-weight:calc(var(--font-weight-h1) + 200)}.bq-content.rx-content h1:last-child{margin-bottom:0}.bq-content.rx-content h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-h2);line-height:var(--font-height-sm)}.bq-content.rx-content h2 b,.bq-content.rx-content h2 strong{font-family:inherit;font-weight:calc(var(--font-weight-h2) + 200)}h1+.bq-content.rx-content h2,p+.bq-content.rx-content h2,dl+.bq-content.rx-content h2,pre+.bq-content.rx-content h2,address+.bq-content.rx-content h2,table+.bq-content.rx-content h2,blockquote+.bq-content.rx-content h2,ol+.bq-content.rx-content h2,ul+.bq-content.rx-content h2{margin-top:24px}.bq-content.rx-content h2:last-child{margin-bottom:0}.bq-content.rx-content h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-h3);line-height:var(--font-height-sm)}.bq-content.rx-content h3 b,.bq-content.rx-content h3 strong{font-family:inherit;font-weight:calc(var(--font-weight-h3) + 200)}h2+.bq-content.rx-content h3,p+.bq-content.rx-content h3,dl+.bq-content.rx-content h3,pre+.bq-content.rx-content h3,address+.bq-content.rx-content h3,table+.bq-content.rx-content h3,blockquote+.bq-content.rx-content h3,ol+.bq-content.rx-content h3,ul+.bq-content.rx-content h3{margin-top:24px}.bq-content.rx-content h3:last-child{margin-bottom:0}h3+.bq-content.rx-content h4,p+.bq-content.rx-content h4,dl+.bq-content.rx-content h4,pre+.bq-content.rx-content h4,address+.bq-content.rx-content h4,table+.bq-content.rx-content h4,blockquote+.bq-content.rx-content h4,ol+.bq-content.rx-content h4,ul+.bq-content.rx-content h4{margin-top:24px}h4+.bq-content.rx-content h5,p+.bq-content.rx-content h5,dl+.bq-content.rx-content h5,pre+.bq-content.rx-content h5,address+.bq-content.rx-content h5,table+.bq-content.rx-content h5,blockquote+.bq-content.rx-content h5,ol+.bq-content.rx-content h5,ul+.bq-content.rx-content h5{margin-top:24px}h5+.bq-content.rx-content h6,p+.bq-content.rx-content h6,dl+.bq-content.rx-content h6,pre+.bq-content.rx-content h6,address+.bq-content.rx-content h6,table+.bq-content.rx-content h6,blockquote+.bq-content.rx-content h6,ol+.bq-content.rx-content h6,ul+.bq-content.rx-content h6{margin-top:24px}.bq-content.rx-content h4 b,.bq-content.rx-content h4 strong,.bq-content.rx-content h5 b,.bq-content.rx-content h5 strong,.bq-content.rx-content h6 b,.bq-content.rx-content h6 strong{font-family:inherit;font-weight:calc(var(--font-weight-headers) + 200)}.bq-content.rx-content table{border-collapse:collapse;border-spacing:0;width:100%;empty-cells:show}.bq-content.rx-content table+*{margin-top:16px}.bq-content.rx-content td,.bq-content.rx-content th{text-align:left;vertical-align:top;font-size:95%;line-height:var(--font-height-lg);padding:.75em;border:1px solid var(--color-border)}.bq-content.rx-content th{font-weight:normal}thead .bq-content.rx-content th{font-weight:var(--font-weight-bold)}.bq-content.rx-content dl+*{margin-top:16px}.bq-content.rx-content dt{font-weight:var(--font-weight-bold);font-size:16px;line-height:var(--font-height-lg)}.bq-content.rx-content dd{font-size:16px;line-height:var(--font-height-lg)}.bq-content.rx-content dd+dt{margin-top:.25em}.bq-content.rx-content address{font-style:normal}.bq-content.rx-content address+*{margin-top:16px}.bq-content.rx-content dfn,.bq-content.rx-content abbr,.bq-content.rx-content time,.bq-content.rx-content small,.bq-content.rx-content var,.bq-content.rx-content samp,.bq-content.rx-content kbd,.bq-content.rx-content code{font-size:16px}.bq-content.rx-content dfn[title],.bq-content.rx-content abbr[title]{letter-spacing:.01em;text-transform:uppercase;text-decoration:none;cursor:help;border-bottom:1px dotted var(--color-border);border-top-color:var(--color-border)}.bq-content.rx-content sup,.bq-content.rx-content sub{font-size:75%;line-height:0;margin-left:2px}.bq-content.rx-content sub{vertical-align:sub}.bq-content.rx-content sup{vertical-align:super}.bq-content.rx-content var,.bq-content.rx-content code,.bq-content.rx-content kbd,.bq-content.rx-content samp{display:inline-block;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-style:normal;line-height:1;vertical-align:baseline}.bq-content.rx-content samp,.bq-content.rx-content kbd,.bq-content.rx-content code{border-radius:var(--border-radius)}.bq-content.rx-content kbd{padding:.2em .4em;border:1px solid var(--color-border)}.bq-content.rx-content code{position:relative;top:-1px;border:1px solid rgba(0,0,0,0);padding:.2em .4em}.bq-content.rx-content p{font-size:inherit;line-height:var(--font-height-lg)}.bq-content.rx-content p+*{margin-top:16px}.bq-content.rx-content cite{font-style:italic;font-size:20px;font-weight:var(--font-weight-semibold)}.bq-content.rx-content cite small,.bq-content.rx-content cite b,.bq-content.rx-content cite strong{font-style:normal}.bq-content.rx-content blockquote{font-style:normal;font-weight:normal;padding:0;background:rgba(0,0,0,0)}.bq-content.rx-content blockquote p{font-size:125%;line-height:var(--font-height-lg)}.bq-content.rx-content blockquote p+p{margin-top:4px}.bq-content.rx-content blockquote cite{text-align:left;font-style:normal}.bq-content.rx-content blockquote+*{margin-top:16px}.bq-content.rx-content caption{text-align:left;font-style:normal}.bq-content.rx-content hr{position:relative;line-height:1;background:none;border:none;text-align:left;margin-top:1em;margin-bottom:1em;height:10px}.bq-content.rx-content hr::before{content:"";position:absolute;top:50%;width:100%;max-width:100%;margin-top:-0.5px;border-top-width:1px;border-top-style:solid}.bq-content.rx-content div+*{margin-top:24px}.bq-content.rx-content pre{overflow:auto;white-space:pre;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:90%;line-height:var(--font-height-lg);padding:1em;background:var(--color-placeholder)}.bq-content.rx-content pre code{padding:0;border:0;background:none;font-size:100%;display:block;line-height:inherit}.bq-content.rx-content pre+*{margin-top:16px}.bq-content.rx-content .embed-responsive{position:relative;padding:0;margin:0;padding-bottom:56.25%;padding-top:25px;height:0}.btn{font-family:var(--font-body);font-size:var(--font-size-button);font-weight:var(--font-weight-button);padding:var(--padding-button);margin:0;color:currentcolor;background:none;text-decoration:none;border:1px solid rgba(0,0,0,0);border-radius:var(--border-radius-button);cursor:pointer;display:inline-flex;justify-content:center;align-items:center;line-height:var(--font-height-sm);transition:all var(--transition-duration) ease-in-out}.btn:hover{opacity:.8}.btn--primary{border-color:var(--background-accent);background-color:var(--background-accent);color:var(--color-accent)}.btn--outline{border-color:currentcolor;background-color:rgba(0,0,0,0);color:currentcolor} +@media(max-width: 991px){html:has(#header-opener-menu:checked),html:has(#header-opener-search:checked){overflow:clip}}body{--overlay-transition-duration: var(--transition-duration);--overlay-transition-delay: 50ms;--overlay-visibility: hidden}body::before{content:"";position:absolute;top:0;left:0;width:100vw;height:100%;z-index:-1;pointer-events:none;background:color-mix(in srgb, var(--color-primary) 55%, transparent);visibility:var(--overlay-visibility);transition:visibility var(--overlay-transition-duration) var(--overlay-transition-delay) var(--transition-function)}@media(max-width: 991px){body:has(#header-opener-menu:checked),body:has(#header-opener-search:checked){overflow:clip}}body:has(#header-opener-menu:checked)::before,body:has(#header-opener-search:checked)::before{--overlay-transition-duration: 0s;--overlay-transition-delay: 0s;--overlay-visibility: visible}body:has(.menu__item.has-dropdown:hover)::before{--overlay-transition-duration: 0s;--overlay-transition-delay: 0s;--overlay-visibility: visible}#main>section:last-child{display:flex;flex-direction:column;flex-grow:1}#main>section:last-child>[class*=__wrapper],#main>section:last-child>[class^=__wrapper]{flex-grow:1}.preview-app #main:has(section:only-child){display:block}.bq-content.rx-content{font-family:var(--font-body);line-height:1.4;font-size:inherit}.bq-content.rx-content b,.bq-content.rx-content strong{font-weight:var(--font-weight-semibold)}.bq-content.rx-content a{color:var(--color-outline);transition:color var(--transition-duration) var(--transition-function)}h1 .bq-content.rx-content a,h2 .bq-content.rx-content a,h3 .bq-content.rx-content a,h4 .bq-content.rx-content a,h5 .bq-content.rx-content a,h6 .bq-content.rx-content a{text-decoration:none;color:var(--color-outline)}.bq-content.rx-content a:hover{opacity:.8}h1 .bq-content.rx-content a:hover,h2 .bq-content.rx-content a:hover,h3 .bq-content.rx-content a:hover,h4 .bq-content.rx-content a:hover,h5 .bq-content.rx-content a:hover,h6 .bq-content.rx-content a:hover{opacity:.8}.bq-content.rx-content ul{list-style:disc;margin-left:26px}.bq-content.rx-content ul+*{margin-top:16px}.bq-content.rx-content ol{list-style:decimal;margin-left:26px}.bq-content.rx-content ol+*{margin-top:16px}.bq-content.rx-content li{font-size:16px;line-height:1.4}.bq-content.rx-content li li{font-size:1em}.bq-content.rx-content h1,.bq-content.rx-content h2,.bq-content.rx-content h3,.bq-content.rx-content h4,.bq-content.rx-content h5,.bq-content.rx-content h6{font-family:var(--font-heading);font-size:16px;font-weight:var(--font-weight-headers);line-height:1.4;text-rendering:optimizelegibility;letter-spacing:0;color:var(--color-primary, #000)}.bq-content.rx-content h1+*,.bq-content.rx-content h2+*,.bq-content.rx-content h3+*,.bq-content.rx-content h4+*,.bq-content.rx-content h5+*,.bq-content.rx-content h6+*{margin-top:12px}.bq-content.rx-content h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-h1);line-height:1.25}.bq-content.rx-content h1 b,.bq-content.rx-content h1 strong{font-family:inherit;font-weight:calc(var(--font-weight-h1) + 200)}.bq-content.rx-content h1:last-child{margin-bottom:0}.bq-content.rx-content h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-h2);line-height:1.25}.bq-content.rx-content h2 b,.bq-content.rx-content h2 strong{font-family:inherit;font-weight:calc(var(--font-weight-h2) + 200)}h1+.bq-content.rx-content h2,p+.bq-content.rx-content h2,dl+.bq-content.rx-content h2,pre+.bq-content.rx-content h2,address+.bq-content.rx-content h2,table+.bq-content.rx-content h2,blockquote+.bq-content.rx-content h2,ol+.bq-content.rx-content h2,ul+.bq-content.rx-content h2{margin-top:24px}.bq-content.rx-content h2:last-child{margin-bottom:0}.bq-content.rx-content h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-h3);line-height:1.25}.bq-content.rx-content h3 b,.bq-content.rx-content h3 strong{font-family:inherit;font-weight:calc(var(--font-weight-h3) + 200)}h2+.bq-content.rx-content h3,p+.bq-content.rx-content h3,dl+.bq-content.rx-content h3,pre+.bq-content.rx-content h3,address+.bq-content.rx-content h3,table+.bq-content.rx-content h3,blockquote+.bq-content.rx-content h3,ol+.bq-content.rx-content h3,ul+.bq-content.rx-content h3{margin-top:24px}.bq-content.rx-content h3:last-child{margin-bottom:0}h3+.bq-content.rx-content h4,p+.bq-content.rx-content h4,dl+.bq-content.rx-content h4,pre+.bq-content.rx-content h4,address+.bq-content.rx-content h4,table+.bq-content.rx-content h4,blockquote+.bq-content.rx-content h4,ol+.bq-content.rx-content h4,ul+.bq-content.rx-content h4{margin-top:24px}h4+.bq-content.rx-content h5,p+.bq-content.rx-content h5,dl+.bq-content.rx-content h5,pre+.bq-content.rx-content h5,address+.bq-content.rx-content h5,table+.bq-content.rx-content h5,blockquote+.bq-content.rx-content h5,ol+.bq-content.rx-content h5,ul+.bq-content.rx-content h5{margin-top:24px}h5+.bq-content.rx-content h6,p+.bq-content.rx-content h6,dl+.bq-content.rx-content h6,pre+.bq-content.rx-content h6,address+.bq-content.rx-content h6,table+.bq-content.rx-content h6,blockquote+.bq-content.rx-content h6,ol+.bq-content.rx-content h6,ul+.bq-content.rx-content h6{margin-top:24px}.bq-content.rx-content h4 b,.bq-content.rx-content h4 strong,.bq-content.rx-content h5 b,.bq-content.rx-content h5 strong,.bq-content.rx-content h6 b,.bq-content.rx-content h6 strong{font-family:inherit;font-weight:calc(var(--font-weight-headers) + 200)}.bq-content.rx-content table{border-collapse:collapse;border-spacing:0;width:100%;empty-cells:show}.bq-content.rx-content table+*{margin-top:16px}.bq-content.rx-content td,.bq-content.rx-content th{text-align:left;vertical-align:top;font-size:95%;line-height:1.4;padding:.75em;border:1px solid color-mix(in srgb, var(--color-primary) 15%, transparent)}.bq-content.rx-content th{font-weight:normal}thead .bq-content.rx-content th{font-weight:var(--font-weight-bold)}.bq-content.rx-content dl+*{margin-top:16px}.bq-content.rx-content dt{font-weight:var(--font-weight-bold);font-size:16px;line-height:1.4}.bq-content.rx-content dd{font-size:16px;line-height:1.4}.bq-content.rx-content dd+dt{margin-top:.25em}.bq-content.rx-content address{font-style:normal}.bq-content.rx-content address+*{margin-top:16px}.bq-content.rx-content dfn,.bq-content.rx-content abbr,.bq-content.rx-content time,.bq-content.rx-content small,.bq-content.rx-content var,.bq-content.rx-content samp,.bq-content.rx-content kbd,.bq-content.rx-content code{font-size:16px}.bq-content.rx-content dfn[title],.bq-content.rx-content abbr[title]{letter-spacing:.01em;text-transform:uppercase;text-decoration:none;cursor:help;border-bottom:1px dotted color-mix(in srgb, var(--color-primary) 15%, transparent);border-top-color:color-mix(in srgb, var(--color-primary) 15%, transparent)}.bq-content.rx-content sup,.bq-content.rx-content sub{font-size:75%;line-height:0;margin-left:2px}.bq-content.rx-content sub{vertical-align:sub}.bq-content.rx-content sup{vertical-align:super}.bq-content.rx-content var,.bq-content.rx-content code,.bq-content.rx-content kbd,.bq-content.rx-content samp{display:inline-block;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-style:normal;line-height:1;vertical-align:baseline}.bq-content.rx-content samp,.bq-content.rx-content kbd,.bq-content.rx-content code{border-radius:var(--border-radius)}.bq-content.rx-content kbd{padding:.2em .4em;border:1px solid color-mix(in srgb, var(--color-primary) 15%, transparent)}.bq-content.rx-content code{position:relative;top:-1px;border:1px solid rgba(0,0,0,0);padding:.2em .4em}.bq-content.rx-content p{font-size:inherit;line-height:1.4}.bq-content.rx-content p+*{margin-top:16px}.bq-content.rx-content cite{font-style:italic;font-size:20px;font-weight:var(--font-weight-semibold)}.bq-content.rx-content cite small,.bq-content.rx-content cite b,.bq-content.rx-content cite strong{font-style:normal}.bq-content.rx-content blockquote{font-style:normal;font-weight:normal;padding:0;background:rgba(0,0,0,0)}.bq-content.rx-content blockquote p{font-size:125%;line-height:1.4}.bq-content.rx-content blockquote p+p{margin-top:4px}.bq-content.rx-content blockquote cite{text-align:left;font-style:normal}.bq-content.rx-content blockquote+*{margin-top:16px}.bq-content.rx-content caption{text-align:left;font-style:normal}.bq-content.rx-content hr{position:relative;line-height:1;background:none;border:none;text-align:left;margin-top:1em;margin-bottom:1em;height:10px}.bq-content.rx-content hr::before{content:"";position:absolute;top:50%;width:100%;max-width:100%;margin-top:-0.5px;border-top-width:1px;border-top-style:solid}.bq-content.rx-content div+*{margin-top:24px}.bq-content.rx-content pre{overflow:auto;white-space:pre;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:90%;line-height:1.4;padding:1em;background:color-mix(in srgb, var(--color-primary) 50%, transparent)}.bq-content.rx-content pre code{padding:0;border:0;background:none;font-size:100%;display:block;line-height:inherit}.bq-content.rx-content pre+*{margin-top:16px}.bq-content.rx-content .embed-responsive{position:relative;padding:0;margin:0;padding-bottom:56.25%;padding-top:25px;height:0}.btn{--button-background: none;--button-border-color: transparent;--button-color: currentcolor;--button-indent: 0;--button-min-height: auto;font-family:var(--font-body);font-size:var(--font-size-button);font-weight:var(--font-weight-button);margin:0;padding:var(--button-indent);background:var(--button-background);color:var(--button-color);text-decoration:none;border:1px solid var(--button-border-color);border-radius:var(--button-border-radius);cursor:pointer;min-height:var(--button-min-height);display:inline-flex;justify-content:center;align-items:center;line-height:1;transition:all var(--transition-duration) var(--transition-function)}.btn:hover{opacity:.8}.btn--primary{--button-background: var(--background-accent);--button-color: var(--color-accent);--button-border-color: var(--background-accent);--button-indent: var(--button-padding);--button-min-height: var(--button-height)}.btn--primary:hover{--button-color: var(--color-accent)}.btn--outline{--button-background: transparent;--button-color: currentcolor;--button-border-color: currentcolor}.btn--outline:hover{--button-color: currentcolor}.social-networks{display:flex;flex-wrap:wrap;margin:0 calc(-1*var(--social-icon-spacing)) calc(-1*var(--social-icon-spacing));font-size:var(--social-size)}@media(min-width: 992px){.social-networks{justify-content:flex-end}}.social-networks__item{margin:0 var(--social-icon-spacing) var(--social-icon-spacing)}.social-networks__link:hover{opacity:1} diff --git a/assets/utils.js b/assets/utils.js new file mode 100644 index 0000000..663ca6f --- /dev/null +++ b/assets/utils.js @@ -0,0 +1 @@ +export const debounce=(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e.apply(this,r),t)}};export const nextFrame=e=>requestAnimationFrame(e);export const frameSequence=(e,t)=>{nextFrame(()=>{const n=e();nextFrame(()=>t(n))})};export const requestIdle=(e,t={})=>{if("requestIdleCallback"in window)return requestIdleCallback(e,t);const n=t.timeout||100,r=Date.now();return setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-r))})},n)};export const resizeObserver=(e,t={})=>{const n={t:150,element:null,width:!0,...t};let r=null,o=window.innerWidth;const s=t=>nextFrame(()=>e(t)),c=n.t>0?debounce(s,n.t):s,u=e=>{(()=>{if(!n.width)return!1;const e=window.innerWidth;return e===o||(o=e,!1)})()||c(e)},i=(e=n.element)=>r||(r=new ResizeObserver(u),e?r.observe(e):r.observe(document.documentElement),r);return{init:i,destroy:()=>{r?.disconnect(),r=null},observe:e=>{r||i(),r?.observe(e)},unobserve:e=>{r?.unobserve(e)},get o(){return r}}};export const cleanupSystem=()=>{const e=new Map;return{register:(t,n)=>{if("function"==typeof n)if(e.set(t,n),window.themeCleanup){const e=window.themeCleanup;window.themeCleanup=()=>{n(),e()}}else window[`cleanup${t}`]=n},u:t=>{const n=e.get(t);n&&(n(),e.delete(t))},i:()=>{e.forEach((e,t)=>{try{e()}catch(e){}}),e.clear()},get l(){return Array.from(e.keys())}}};export const onReady=e=>{"complete"===document.readyState?requestIdle(e):document.addEventListener("readystatechange",t=>{"complete"===t.target.readyState&&requestIdle(e)},{once:!0})};export const setCssVar=(e,t,n=document.documentElement)=>{n.style.setProperty(e,t)};export const getCssVar=(e,t=document.documentElement)=>getComputedStyle(t).getPropertyValue(e).trim();export const getDimensions=e=>{if(!e)return{width:0,height:0};const t=e.getBoundingClientRect();return{width:t.width,height:t.height}}; \ No newline at end of file diff --git a/config/settings_data.json b/config/settings_data.json index 3952127..3dcd1af 100644 --- a/config/settings_data.json +++ b/config/settings_data.json @@ -1,7 +1,7 @@ { "current": { "button_corners": "square", - "button_font_size": 18, + "button_font_size": 16, "button_font_weight": "700", "button_size": "md", "color_schemes": { @@ -63,12 +63,68 @@ "font_weight_h2": "700", "font_weight_h3": "700", "font_weight_headers": "700", + "icon_style": "outline", "sections": { "header": { "type": "header", - "blocks": {}, - "block_order": [], + "blocks": { + "logo": { + "type": "logo", + "settings": { + "logo_custom_title": "{{ shop.name }}", + "logo_image": "", + "logo_image_floated": "", + "logo_svg": "", + "logo_svg_floated": "" + }, + "disabled": null + }, + "menu": { + "type": "menu", + "settings": { + "menu": "main-menu", + "menu_back_label": "Back", + "menu_alignment_horizontal": "center", + "menu_alignment_vertical": "top", + "menu_opener_position": "left" + }, + "disabled": null + }, + "search": { + "type": "search", + "settings": { + "search_closer_label": "Close", + "search_placeholder": "Search", + "show_search": true + }, + "disabled": null + }, + "button": { + "type": "button", + "settings": { + "button_label": "Contact us", + "button_url": "booqable://pages/contact", + "show_button_desktop": true, + "show_button_mobile": true + }, + "disabled": null + } + }, + "block_order": [ + "logo", + "menu", + "search", + "button" + ], "settings": { + "color_scheme": "set-1", + "header_outline": "none", + "padding_bottom_desktop": "lg", + "padding_bottom_mobile": "md", + "padding_top_desktop": "lg", + "padding_top_mobile": "md", + "show_transparency": true, + "sticky_header": true }, "disabled": null } diff --git a/config/settings_schema.json b/config/settings_schema.json index 500a2a1..4df2598 100644 --- a/config/settings_schema.json +++ b/config/settings_schema.json @@ -235,6 +235,127 @@ } ] }, + { + "name": "Social media", + "settings": [ + { + "type": "header", + "content": "Sizes" + }, + { + "type": "select", + "id": "social_icon_size", + "label": "Size", + "options": [ + { + "value": "sm", + "label": "Small" + }, + { + "value": "md", + "label": "Medium" + }, + { + "value": "lg", + "label": "Large" + } + ], + "default": "md" + }, + { + "type": "select", + "id": "social_icon_spacing", + "label": "Spacing", + "options": [ + { + "value": "sm", + "label": "Small" + }, + { + "value": "md", + "label": "Medium" + }, + { + "value": "lg", + "label": "Large" + } + ], + "default": "md" + }, + { + "type": "header", + "content": "Links" + }, + { + "type": "paragraph", + "content": "Note: Leave the field blank if you don't want to use the social network" + }, + { + "type": "text", + "id": "social_facebook", + "label": "Facebook", + "default": "https://facebook.com/", + "info": "Example: https://facebook.com/booqable" + }, + { + "type": "text", + "id": "social_instagram", + "label": "Instagram", + "default": "https://instagram.com/", + "info": "Example: https://instagram.com/booqable" + }, + { + "type": "text", + "id": "social_x", + "label": "X (ex. Twitter)", + "default": "https://x.com/", + "info": "Example: https://x.com/booqable" + }, + { + "type": "text", + "id": "social_linkedin", + "label": "Linkedin", + "default": "https://linkedin.com/", + "info": "Example: https://www.linkedin.com/company/booqable" + }, + { + "type": "text", + "id": "social_pinterest", + "label": "Pinterest", + "info": "Example: https://pinterest.com/booqable" + }, + { + "type": "text", + "id": "social_tiktok", + "label": "TikTok", + "info": "Example: https://tiktok.com/@booqable" + }, + { + "type": "text", + "id": "social_tumblr", + "label": "Tumblr", + "info": "Example: https://booqable.tumblr.com" + }, + { + "type": "text", + "id": "social_snapchat", + "label": "Snapchat", + "info": "Example: https://snapchat.com/add/booqable" + }, + { + "type": "text", + "id": "social_youtube", + "label": "YouTube", + "info": "Example: https://youtube.com/booqable" + }, + { + "type": "text", + "id": "social_vimeo", + "label": "Vimeo", + "info": "Example: https://vimeo.com/booqable" + } + ] + }, { "name": "Typography", "settings": [ diff --git a/layout/theme.liquid b/layout/theme.liquid index 7a03b6b..8929ac5 100644 --- a/layout/theme.liquid +++ b/layout/theme.liquid @@ -19,10 +19,10 @@ {%- render 'fonts', settings: settings -%} {% comment %} Load root variables {% endcomment %} - {%- render 'root-variables', settings: settings -%} + {%- render 'css-root-variables', settings: settings -%} {% comment %} Async CSS loading with resource hints {% endcomment %} - {%- assign css_files = "critical.css, styles.css" | split: ", " -%} + {%- assign css_files = "critical.css, styles.css, header.css" | split: ", " -%} {%- for css_file in css_files -%} {%- assign css_url = css_file | asset_url -%} @@ -48,7 +48,9 @@ {%- render 'page-performance-monitoring' -%}
-