diff --git a/LICENSE.txt b/OLD/LICENSE.txt similarity index 100% rename from LICENSE.txt rename to OLD/LICENSE.txt diff --git a/README.md b/OLD/README.md similarity index 100% rename from README.md rename to OLD/README.md diff --git a/assets/css/fontawesome-all.min.css b/OLD/assets/css/fontawesome-all.min.css similarity index 100% rename from assets/css/fontawesome-all.min.css rename to OLD/assets/css/fontawesome-all.min.css diff --git a/assets/css/main.css b/OLD/assets/css/main.css similarity index 100% rename from assets/css/main.css rename to OLD/assets/css/main.css diff --git a/assets/js/main.js b/OLD/assets/js/main.js similarity index 100% rename from assets/js/main.js rename to OLD/assets/js/main.js diff --git a/assets/sass/base/_bg.scss b/OLD/assets/sass/base/_bg.scss similarity index 100% rename from assets/sass/base/_bg.scss rename to OLD/assets/sass/base/_bg.scss diff --git a/assets/sass/base/_page.scss b/OLD/assets/sass/base/_page.scss similarity index 100% rename from assets/sass/base/_page.scss rename to OLD/assets/sass/base/_page.scss diff --git a/assets/sass/base/_reset.scss b/OLD/assets/sass/base/_reset.scss similarity index 100% rename from assets/sass/base/_reset.scss rename to OLD/assets/sass/base/_reset.scss diff --git a/assets/sass/base/_typography.scss b/OLD/assets/sass/base/_typography.scss similarity index 100% rename from assets/sass/base/_typography.scss rename to OLD/assets/sass/base/_typography.scss diff --git a/assets/sass/components/_button.scss b/OLD/assets/sass/components/_button.scss similarity index 100% rename from assets/sass/components/_button.scss rename to OLD/assets/sass/components/_button.scss diff --git a/assets/sass/components/_form.scss b/OLD/assets/sass/components/_form.scss similarity index 100% rename from assets/sass/components/_form.scss rename to OLD/assets/sass/components/_form.scss diff --git a/assets/sass/components/_icon.scss b/OLD/assets/sass/components/_icon.scss similarity index 100% rename from assets/sass/components/_icon.scss rename to OLD/assets/sass/components/_icon.scss diff --git a/assets/sass/components/_icons.scss b/OLD/assets/sass/components/_icons.scss similarity index 100% rename from assets/sass/components/_icons.scss rename to OLD/assets/sass/components/_icons.scss diff --git a/assets/sass/components/_list.scss b/OLD/assets/sass/components/_list.scss similarity index 100% rename from assets/sass/components/_list.scss rename to OLD/assets/sass/components/_list.scss diff --git a/assets/sass/components/_section.scss b/OLD/assets/sass/components/_section.scss similarity index 100% rename from assets/sass/components/_section.scss rename to OLD/assets/sass/components/_section.scss diff --git a/assets/sass/layout/_footer.scss b/OLD/assets/sass/layout/_footer.scss similarity index 100% rename from assets/sass/layout/_footer.scss rename to OLD/assets/sass/layout/_footer.scss diff --git a/assets/sass/layout/_header.scss b/OLD/assets/sass/layout/_header.scss similarity index 100% rename from assets/sass/layout/_header.scss rename to OLD/assets/sass/layout/_header.scss diff --git a/assets/sass/layout/_signup-form.scss b/OLD/assets/sass/layout/_signup-form.scss similarity index 100% rename from assets/sass/layout/_signup-form.scss rename to OLD/assets/sass/layout/_signup-form.scss diff --git a/assets/sass/libs/_breakpoints.scss b/OLD/assets/sass/libs/_breakpoints.scss similarity index 100% rename from assets/sass/libs/_breakpoints.scss rename to OLD/assets/sass/libs/_breakpoints.scss diff --git a/assets/sass/libs/_functions.scss b/OLD/assets/sass/libs/_functions.scss similarity index 100% rename from assets/sass/libs/_functions.scss rename to OLD/assets/sass/libs/_functions.scss diff --git a/assets/sass/libs/_mixins.scss b/OLD/assets/sass/libs/_mixins.scss similarity index 100% rename from assets/sass/libs/_mixins.scss rename to OLD/assets/sass/libs/_mixins.scss diff --git a/assets/sass/libs/_vars.scss b/OLD/assets/sass/libs/_vars.scss similarity index 100% rename from assets/sass/libs/_vars.scss rename to OLD/assets/sass/libs/_vars.scss diff --git a/assets/sass/libs/_vendor.scss b/OLD/assets/sass/libs/_vendor.scss similarity index 100% rename from assets/sass/libs/_vendor.scss rename to OLD/assets/sass/libs/_vendor.scss diff --git a/assets/sass/main.scss b/OLD/assets/sass/main.scss similarity index 100% rename from assets/sass/main.scss rename to OLD/assets/sass/main.scss diff --git a/assets/webfonts/fa-brands-400.eot b/OLD/assets/webfonts/fa-brands-400.eot similarity index 100% rename from assets/webfonts/fa-brands-400.eot rename to OLD/assets/webfonts/fa-brands-400.eot diff --git a/assets/webfonts/fa-brands-400.svg b/OLD/assets/webfonts/fa-brands-400.svg similarity index 100% rename from assets/webfonts/fa-brands-400.svg rename to OLD/assets/webfonts/fa-brands-400.svg diff --git a/assets/webfonts/fa-brands-400.ttf b/OLD/assets/webfonts/fa-brands-400.ttf similarity index 100% rename from assets/webfonts/fa-brands-400.ttf rename to OLD/assets/webfonts/fa-brands-400.ttf diff --git a/assets/webfonts/fa-brands-400.woff b/OLD/assets/webfonts/fa-brands-400.woff similarity index 100% rename from assets/webfonts/fa-brands-400.woff rename to OLD/assets/webfonts/fa-brands-400.woff diff --git a/assets/webfonts/fa-brands-400.woff2 b/OLD/assets/webfonts/fa-brands-400.woff2 similarity index 100% rename from assets/webfonts/fa-brands-400.woff2 rename to OLD/assets/webfonts/fa-brands-400.woff2 diff --git a/assets/webfonts/fa-regular-400.eot b/OLD/assets/webfonts/fa-regular-400.eot similarity index 100% rename from assets/webfonts/fa-regular-400.eot rename to OLD/assets/webfonts/fa-regular-400.eot diff --git a/assets/webfonts/fa-regular-400.svg b/OLD/assets/webfonts/fa-regular-400.svg similarity index 100% rename from assets/webfonts/fa-regular-400.svg rename to OLD/assets/webfonts/fa-regular-400.svg diff --git a/assets/webfonts/fa-regular-400.ttf b/OLD/assets/webfonts/fa-regular-400.ttf similarity index 100% rename from assets/webfonts/fa-regular-400.ttf rename to OLD/assets/webfonts/fa-regular-400.ttf diff --git a/assets/webfonts/fa-regular-400.woff b/OLD/assets/webfonts/fa-regular-400.woff similarity index 100% rename from assets/webfonts/fa-regular-400.woff rename to OLD/assets/webfonts/fa-regular-400.woff diff --git a/assets/webfonts/fa-regular-400.woff2 b/OLD/assets/webfonts/fa-regular-400.woff2 similarity index 100% rename from assets/webfonts/fa-regular-400.woff2 rename to OLD/assets/webfonts/fa-regular-400.woff2 diff --git a/assets/webfonts/fa-solid-900.eot b/OLD/assets/webfonts/fa-solid-900.eot similarity index 100% rename from assets/webfonts/fa-solid-900.eot rename to OLD/assets/webfonts/fa-solid-900.eot diff --git a/assets/webfonts/fa-solid-900.svg b/OLD/assets/webfonts/fa-solid-900.svg similarity index 100% rename from assets/webfonts/fa-solid-900.svg rename to OLD/assets/webfonts/fa-solid-900.svg diff --git a/assets/webfonts/fa-solid-900.ttf b/OLD/assets/webfonts/fa-solid-900.ttf similarity index 100% rename from assets/webfonts/fa-solid-900.ttf rename to OLD/assets/webfonts/fa-solid-900.ttf diff --git a/assets/webfonts/fa-solid-900.woff b/OLD/assets/webfonts/fa-solid-900.woff similarity index 100% rename from assets/webfonts/fa-solid-900.woff rename to OLD/assets/webfonts/fa-solid-900.woff diff --git a/assets/webfonts/fa-solid-900.woff2 b/OLD/assets/webfonts/fa-solid-900.woff2 similarity index 100% rename from assets/webfonts/fa-solid-900.woff2 rename to OLD/assets/webfonts/fa-solid-900.woff2 diff --git a/favicon.ico b/OLD/favicon.ico similarity index 100% rename from favicon.ico rename to OLD/favicon.ico diff --git a/ftx/images/bg01.jpg b/OLD/ftx/images/bg01.jpg similarity index 100% rename from ftx/images/bg01.jpg rename to OLD/ftx/images/bg01.jpg diff --git a/ftx/images/bg02.jpg b/OLD/ftx/images/bg02.jpg similarity index 100% rename from ftx/images/bg02.jpg rename to OLD/ftx/images/bg02.jpg diff --git a/ftx/images/bg03.jpg b/OLD/ftx/images/bg03.jpg similarity index 100% rename from ftx/images/bg03.jpg rename to OLD/ftx/images/bg03.jpg diff --git a/ftx/index.html b/OLD/ftx/index.html similarity index 100% rename from ftx/index.html rename to OLD/ftx/index.html diff --git a/images/BaseX-logo.png b/OLD/images/BaseX-logo.png similarity index 100% rename from images/BaseX-logo.png rename to OLD/images/BaseX-logo.png diff --git a/images/banner-gitcoin.png b/OLD/images/banner-gitcoin.png similarity index 100% rename from images/banner-gitcoin.png rename to OLD/images/banner-gitcoin.png diff --git a/images/banner-gitcoin.psd b/OLD/images/banner-gitcoin.psd similarity index 100% rename from images/banner-gitcoin.psd rename to OLD/images/banner-gitcoin.psd diff --git a/images/bg01.jpg b/OLD/images/bg01.jpg similarity index 100% rename from images/bg01.jpg rename to OLD/images/bg01.jpg diff --git a/images/bg01.png b/OLD/images/bg01.png similarity index 100% rename from images/bg01.png rename to OLD/images/bg01.png diff --git a/images/bg02.jpg b/OLD/images/bg02.jpg similarity index 100% rename from images/bg02.jpg rename to OLD/images/bg02.jpg diff --git a/images/bg03.jpg b/OLD/images/bg03.jpg similarity index 100% rename from images/bg03.jpg rename to OLD/images/bg03.jpg diff --git a/OLD/index.html b/OLD/index.html new file mode 100644 index 0000000..ecb5e72 --- /dev/null +++ b/OLD/index.html @@ -0,0 +1,154 @@ + + + + + BaseX - new definition of value + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/pitchdeck-old-1.pdf b/OLD/pitchdeck-old-1.pdf similarity index 100% rename from pitchdeck-old-1.pdf rename to OLD/pitchdeck-old-1.pdf diff --git a/pitchdeck-old-2.pdf b/OLD/pitchdeck-old-2.pdf similarity index 100% rename from pitchdeck-old-2.pdf rename to OLD/pitchdeck-old-2.pdf diff --git a/pitchdeck.pdf b/OLD/pitchdeck.pdf similarity index 100% rename from pitchdeck.pdf rename to OLD/pitchdeck.pdf diff --git a/preview.png b/OLD/preview.png similarity index 100% rename from preview.png rename to OLD/preview.png diff --git a/preview.psd b/OLD/preview.psd similarity index 100% rename from preview.psd rename to OLD/preview.psd diff --git a/video/index.html b/OLD/video/index.html similarity index 100% rename from video/index.html rename to OLD/video/index.html diff --git a/whitepaper.pdf b/OLD/whitepaper.pdf similarity index 100% rename from whitepaper.pdf rename to OLD/whitepaper.pdf diff --git a/assets/icons.svg b/assets/icons.svg new file mode 100644 index 0000000..6a0e785 --- /dev/null +++ b/assets/icons.svg @@ -0,0 +1,901 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/_image01.svg b/assets/images/_image01.svg new file mode 100644 index 0000000..09daeb9 --- /dev/null +++ b/assets/images/_image01.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/apple-touch-icon.png b/assets/images/apple-touch-icon.png new file mode 100644 index 0000000..33b0a23 Binary files /dev/null and b/assets/images/apple-touch-icon.png differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 0000000..c8f4942 Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/images/image01.png b/assets/images/image01.png new file mode 100644 index 0000000..3c6fa5e Binary files /dev/null and b/assets/images/image01.png differ diff --git a/assets/images/image02.png b/assets/images/image02.png new file mode 100644 index 0000000..4ac85f0 Binary files /dev/null and b/assets/images/image02.png differ diff --git a/assets/images/image03.jpg b/assets/images/image03.jpg new file mode 100644 index 0000000..9911eb3 Binary files /dev/null and b/assets/images/image03.jpg differ diff --git a/assets/images/share.jpg b/assets/images/share.jpg new file mode 100644 index 0000000..3d5db27 Binary files /dev/null and b/assets/images/share.jpg differ diff --git a/assets/main.css b/assets/main.css new file mode 100644 index 0000000..c5ad961 --- /dev/null +++ b/assets/main.css @@ -0,0 +1,1416 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}body{-webkit-text-size-adjust:none}mark{background-color:transparent;color:inherit}input::-moz-focus-inner{border:0;padding:0}input[type="text"],input[type="email"],select,textarea{-moz-appearance:none;-webkit-appearance:none;-ms-appearance:none;appearance:none} + +*, *:before, *:after { + box-sizing: border-box; +} + +body { + line-height: 1.0; + min-height: var(--viewport-height); + min-width: 320px; + overflow-x: hidden; + word-wrap: break-word; +} + +body:before { + background-attachment: scroll; + content: ''; + display: block; + height: var(--background-height); + left: 0; + pointer-events: none; + position: fixed; + top: 0; + transform: scale(1); + width: 100vw; + z-index: 0; + background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%20width%3D%22512%22%20height%3D%22512%22%20preserveAspectRatio%3D%22none%22%3E%20%3Cstyle%20type%3D%22text%2Fcss%22%3E%20path%20%7B%20fill%3A%20none%3B%20stroke%3A%20rgba(255,255,255,0.031)%3B%20stroke-width%3A%202.01px%3B%20%7D%20%3C%2Fstyle%3E%20%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M111.2%2C81.7L-33.7%2C226.6c-13.9%2C13.9-36.5%2C13.9-50.5%2C0L-229.1%2C81.7%20c-22.5-22.5-6.6-60.9%2C25.2-60.9H86C117.7%2C20.7%2C133.7%2C59.2%2C111.2%2C81.7z%22%2F%3E%20%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M366.8%2C338.3L221.9%2C483.2c-13.9%2C13.9-36.5%2C13.9-50.5%2C0L26.6%2C338.3%20c-22.5-22.5-6.6-60.9%2C25.2-60.9h289.8C373.4%2C277.4%2C389.3%2C315.8%2C366.8%2C338.3z%22%2F%3E%20%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M40.6%2C423l-144.9-144.9c-13.9-13.9-13.9-36.5%2C0-50.5L40.6%2C82.8%20c22.5-22.5%2C60.9-6.6%2C60.9%2C25.2v289.8C101.5%2C429.6%2C63.1%2C445.5%2C40.6%2C423z%22%2F%3E%20%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M296.3%2C679.7L151.4%2C534.8c-13.9-13.9-13.9-36.5%2C0-50.5l144.9-144.9%20c22.5-22.5%2C60.9-6.6%2C60.9%2C25.2v289.8C357.2%2C686.3%2C318.8%2C702.2%2C296.3%2C679.7z%22%2F%3E%20%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M623.5%2C81.7L478.6%2C226.6c-13.9%2C13.9-36.5%2C13.9-50.5%2C0L283.2%2C81.7%20c-22.5-22.5-6.6-60.9%2C25.2-60.9h289.8C630%2C20.7%2C646%2C59.2%2C623.5%2C81.7z%22%2F%3E%20%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M296.3%2C166.4L151.4%2C21.5c-13.9-13.9-13.9-36.5%2C0-50.5l144.9-144.9%20c22.5-22.5%2C60.9-6.6%2C60.9%2C25.2v289.8C357.2%2C173%2C318.8%2C188.9%2C296.3%2C166.4z%22%2F%3E%20%3Cpath%20vector-effect%3D%22non-scaling-stroke%22%20d%3D%22M552.9%2C423L408%2C278.2c-13.9-13.9-13.9-36.5%2C0-50.5L552.9%2C82.8%20c22.5-22.5%2C60.9-6.6%2C60.9%2C25.2v289.8C613.8%2C429.6%2C575.4%2C445.5%2C552.9%2C423z%22%2F%3E%3C%2Fsvg%3E'), linear-gradient(45deg, #343D47 0%, #EDEDED 100%); + background-size: 1024px, auto; + background-position: center, 0% 0%; + background-repeat: repeat, repeat; +} + +body:after { + background-color: #2A3038; + content: ''; + display: block; + height: 100%; + left: 0; + opacity: 0; + pointer-events: none; + position: fixed; + top: 0; + transform: scale(1); + transition: opacity 1s ease-in-out 0s, visibility 1s 0s; + visibility: hidden; + width: 100%; + z-index: 1; +} + +body.is-loading:after { + opacity: 1; + visibility: visible; +} + +:root { + --background-height: 100vh; + --site-language-alignment: left; + --site-language-direction: ltr; + --site-language-flex-alignment: flex-start; + --site-language-indent-left: 1; + --site-language-indent-right: 0; + --viewport-height: 100vh; +} + +html { + font-size: 17pt; +} + +u { + text-decoration: underline; +} + +strong { + color: inherit; + font-weight: bolder; +} + +em { + font-style: italic; +} + +code { + background-color: rgba(144,144,144,0.25); + border-radius: 0.25em; + font-family: 'Lucida Console', 'Courier New', monospace; + font-size: 0.9em; + font-weight: normal; + letter-spacing: 0; + margin: 0 0.25em; + padding: 0.25em 0.5em; + text-indent: 0; +} + +mark { + background-color: rgba(144,144,144,0.25); +} + +spoiler-text { + -webkit-text-stroke: 0; + background-color: rgba(32,32,32,0.75); + text-shadow: none; + text-stroke: 0; + color: transparent; + cursor: pointer; + transition: color 0.1s ease-in-out; +} + +spoiler-text.active { + color: #FFFFFF; + cursor: text; +} + +s { + text-decoration: line-through; +} + +sub { + font-size: smaller; + vertical-align: sub; +} + +sup { + font-size: smaller; + vertical-align: super; +} + +a { + color: inherit; + text-decoration: underline; + transition: color 0.25s ease; +} + +a[onclick]:not([href]) { + cursor: pointer; +} + +#wrapper { + -webkit-overflow-scrolling: touch; + align-items: center; + display: flex; + flex-direction: column; + justify-content: center; + min-height: var(--viewport-height); + overflow: hidden; + position: relative; + z-index: 2; +} + +#main { + --alignment: var(--site-language-alignment); + --flex-alignment: var(--site-language-flex-alignment); + --indent-left: var(--site-language-indent-left); + --indent-right: var(--site-language-indent-right); + --border-radius-tl: 0; + --border-radius-tr: 0; + --border-radius-br: 0; + --border-radius-bl: 0; + align-items: center; + display: flex; + flex-grow: 0; + flex-shrink: 0; + justify-content: center; + max-width: 100%; + position: relative; + text-align: var(--alignment); + z-index: 1; + transition: opacity 1s ease-in-out 0s; +} + +#main > .inner { + --padding-horizontal: 6rem; + --padding-vertical: 8rem; + --spacing: 2.375rem; + --width: 55rem; + border-radius: var(--border-radius-tl) var(--border-radius-tr) var(--border-radius-br) var(--border-radius-bl); + max-width: 100%; + position: relative; + width: var(--width); + z-index: 1; + padding: var(--padding-vertical) var(--padding-horizontal); +} + +#main > .inner > header { + margin-bottom: var(--spacing); +} + +#main > .inner > footer { + margin-top: var(--spacing); +} + +#main > .inner > * > * { + margin-top: var(--spacing); + margin-bottom: var(--spacing); +} + +#main > .inner > * > :first-child { + margin-top: 0 !important; +} + +#main > .inner > * > :last-child { + margin-bottom: 0 !important; +} + +#main > .inner > .full { + margin-left: calc(var(--padding-horizontal) * -1); + max-width: calc(100% + calc(var(--padding-horizontal) * 2) + 0.4725px); + width: calc(100% + calc(var(--padding-horizontal) * 2) + 0.4725px); +} + +#main > .inner > .full:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; + margin-top: calc(var(--padding-vertical) * -1) !important; +} + +#main > .inner > .full:last-child { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; + margin-bottom: calc(var(--padding-vertical) * -1) !important; +} + +#main > .inner > .full.screen { + border-radius: 0 !important; + max-width: 100vw; + position: relative; + width: 100vw; + left: 50%; + margin-left: -50vw; + right: auto; +} + +#main > .inner > * > .full { + margin-left: calc(-6rem); + max-width: calc(100% + 12rem + 0.4725px); + width: calc(100% + 12rem + 0.4725px); +} + +#main > .inner > * > .full.screen { + border-radius: 0 !important; + max-width: 100vw; + position: relative; + width: 100vw; + left: 50%; + margin-left: -50vw; + right: auto; +} + +#main > .inner > .active > .full:first-child { + margin-top: -8rem !important; + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +#main > .inner > .active { + border-top-left-radius: inherit; + border-top-right-radius: inherit; + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} + +#main > .inner > .active > .full:last-child { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; + margin-bottom: -8rem !important; +} + +body.is-loading #main { + opacity: 0; +} + +body #wrapper:after { + background-position: center; + background-repeat: no-repeat; + background-size: contain; + content: ''; + display: block; + height: 4.5rem; + left: calc(50% - 2.25rem); + opacity: 0; + pointer-events: none; + position: fixed; + top: calc(50% - 2.25rem); + transition: opacity 1s ease, visibility 1s; + visibility: hidden; + width: 4.5rem; + z-index: 100000; +} + +body.is-loading { + pointer-events: none; +} + +body.is-loading.with-loader #wrapper:after { + background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUgeyBmaWxsOiB0cmFuc3BhcmVudDsgc3Ryb2tlOiAjRkZGRkZGMDg7IHN0cm9rZS13aWR0aDogMnB4OyB9PC9zdHlsZT48ZGVmcz48Y2xpcFBhdGggaWQ9ImNvcm5lciI+PHBvbHlnb24gcG9pbnRzPSIwLDAgNDgsMCA0OCw0OCA5Niw0OCA5Niw5NiAwLDk2IiAvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjb3JuZXIpIj48Y2lyY2xlIGN4PSI0OCIgY3k9IjQ4IiByPSIzMiIgdmVjdG9yLWVmZmVjdD0ibm9uLXNjYWxpbmctc3Ryb2tlIiAvPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgYXR0cmlidXRlVHlwZT0iWE1MIiB0eXBlPSJyb3RhdGUiIGZyb209IjAgNDggNDgiIHRvPSIzNjAgNDggNDgiIGR1cj0iMXMiIHJlcGVhdER1cj0iaW5kZWZpbml0ZSIgLz48L2c+PC9zdmc+'); + opacity: 1; + transform: scale(1.0); + visibility: visible; +} + +body.is-playing.with-loader #wrapper:after { + opacity: 0; + transform: scale(0.5); + transition: opacity 0.25s ease, transform 0.75s ease, visibility 0.25s; + visibility: hidden; +} + +#main > .inner > header, #main > .inner > footer { + transition: opacity 0.25s ease-in-out 0.375s,visibility 0.25s linear 0.375s; +} + +#main > .inner > header.hidden, #main > .inner > footer.hidden { + transition: opacity 0.25s ease-in-out, visibility 0.25s; + opacity: 0; + visibility: hidden; +} + +#main > .inner > section { + transition: opacity 0.5s ease-in-out 0.25s,min-height 0.25s ease-in-out, max-height 0.25s ease-in-out; +} + +#main > .inner > section.inactive { + opacity: 0; + transition: opacity 0.25s ease-in-out; +} + +body.is-instant #main, body.is-instant #main > .inner > *,body.is-instant #main > .inner > section > * { + transition: none !important; +} + +body.is-instant:after { + display: none !important; + transition: none !important; +} + +@keyframes loading-spinner { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +.deferred:before { + content: ''; + display: block; + width: 4rem; + height: 4rem; + position: absolute; + top: 50%; + left: 50%; + margin: -2rem 0 0 -2rem; + animation: loading-spinner 1s infinite linear; + transition: opacity 0.25s ease; + transition-delay: 0.5s; + opacity: 0; + z-index: -1; + background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgOTYgOTYiIHpvb21BbmRQYW49ImRpc2FibGUiPjxzdHlsZT5jaXJjbGUge2ZpbGw6IHRyYW5zcGFyZW50OyBzdHJva2U6ICNmZmY7IHN0cm9rZS13aWR0aDogMS41cHg7IH08L3N0eWxlPjxkZWZzPjxjbGlwUGF0aCBpZD0iY29ybmVyIj48cG9seWdvbiBwb2ludHM9IjAsMCA0OCwwIDQ4LDQ4IDk2LDQ4IDk2LDk2IDAsOTYiIC8+PC9jbGlwUGF0aD48L2RlZnM+PGcgY2xpcC1wYXRoPSJ1cmwoI2Nvcm5lcikiPjxjaXJjbGUgY3g9IjQ4IiBjeT0iNDgiIHI9IjMyIi8+PC9nPjwvc3ZnPg=='); + background-position: center; + background-repeat: no-repeat; + background-size: 3rem; +} + +.deferred.loading:before { + opacity: 0.35; + z-index: 0; +} + +.image { + display: block; + line-height: 0; + max-width: 100%; + position: relative; +} + +.image .frame { + -webkit-backface-visibility: hidden; + -webkit-transform: translate3d(0, 0, 0); + display: inline-block; + max-width: 100%; + overflow: hidden; + vertical-align: top; + width: 100%; +} + +.image .frame img { + border-radius: 0 !important; + max-width: 100%; + vertical-align: top; + width: inherit; +} + +.image.full .frame { + display: block; +} + +.image.full:first-child .frame { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.image.full:last-child .frame { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} + +#image01 .frame { + width: 21.5rem; + transition: none; +} + +#image01 .frame img { + transition: none; +} + +#image02 .frame { + width: 24.25rem; + transition: none; +} + +#image02 .frame img { + transition: none; +} + +#image03 .frame { + width: 56.625rem; + transition: none; +} + +#image03 .frame img { + transition: none; +} + +h1, h2, h3, p { + direction: var(--site-language-direction); + position: relative; +} + +h1 span.p, h2 span.p, h3 span.p, p span.p { + display: block; + position: relative; +} + +h1 span[style], h2 span[style], h3 span[style], p span[style], h1 strong, h2 strong, h3 strong, p strong, h1 a, h2 a, h3 a, p a, h1 code, h2 code, h3 code, p code, h1 mark, h2 mark, h3 mark, p mark, h1 spoiler-text, h2 spoiler-text, h3 spoiler-text, p spoiler-text { + -webkit-text-fill-color: currentcolor; +} + +h1.style1, h2.style1, h3.style1, p.style1 { + color: rgba(255,255,255,0.867); + font-family: 'Inter', sans-serif; + letter-spacing: 0.025rem; + width: calc(100% + 0.025rem); + font-size: 1.25em; + line-height: 2.125; + font-weight: 400; +} + +h1.style1 a, h2.style1 a, h3.style1 a, p.style1 a { + text-decoration: underline; +} + +h1.style1 a:hover, h2.style1 a:hover, h3.style1 a:hover, p.style1 a:hover { + text-decoration: none; +} + +h1.style1 span.p:nth-child(n + 2), h2.style1 span.p:nth-child(n + 2), h3.style1 span.p:nth-child(n + 2), p.style1 span.p:nth-child(n + 2) { + margin-top: 1rem; +} + +h1.style7, h2.style7, h3.style7, p.style7 { + color: #FFFFFF; + font-family: 'Sora', sans-serif; + letter-spacing: 0.025rem; + width: calc(100% + 0.025rem); + font-size: 2.25em; + line-height: 1; + font-weight: 500; +} + +h1.style7 code, h2.style7 code, h3.style7 code, p.style7 code { + color: #141414; + background-color: #F7D723; +} + +h1.style7 mark, h2.style7 mark, h3.style7 mark, p.style7 mark { + background-color: transparent; +} + +h1.style7 a, h2.style7 a, h3.style7 a, p.style7 a { + text-decoration: underline; +} + +h1.style7 a:hover, h2.style7 a:hover, h3.style7 a:hover, p.style7 a:hover { + text-decoration: none; +} + +h1.style7 span.p:nth-child(n + 2), h2.style7 span.p:nth-child(n + 2), h3.style7 span.p:nth-child(n + 2), p.style7 span.p:nth-child(n + 2) { + margin-top: 1rem; +} + +h1.style2, h2.style2, h3.style2, p.style2 { + color: #FFFFFF; + font-family: 'Sora', sans-serif; + font-size: 4em; + line-height: 1.125; + font-weight: 500; +} + +h1.style2 mark, h2.style2 mark, h3.style2 mark, p.style2 mark { + color: rgba(255,255,255,0.278); + background-color: transparent; +} + +h1.style2 a, h2.style2 a, h3.style2 a, p.style2 a { + text-decoration: none; +} + +h1.style2 a:hover, h2.style2 a:hover, h3.style2 a:hover, p.style2 a:hover { + text-decoration: underline; +} + +h1.style2 span.p:nth-child(n + 2), h2.style2 span.p:nth-child(n + 2), h3.style2 span.p:nth-child(n + 2), p.style2 span.p:nth-child(n + 2) { + margin-top: 1rem; +} + +h1.style4, h2.style4, h3.style4, p.style4 { + text-transform: uppercase; + color: #0F41FF; + font-family: 'Sora', sans-serif; + letter-spacing: 0.3rem; + width: calc(100% + 0.3rem); + font-size: 0.75em; + line-height: 1.75; + font-weight: 500; +} + +h1.style4 mark, h2.style4 mark, h3.style4 mark, p.style4 mark { + color: #1F96ED; + background-color: transparent; +} + +h1.style4 a, h2.style4 a, h3.style4 a, p.style4 a { + text-decoration: underline; +} + +h1.style4 a:hover, h2.style4 a:hover, h3.style4 a:hover, p.style4 a:hover { + text-decoration: none; +} + +h1.style4 span.p:nth-child(n + 2), h2.style4 span.p:nth-child(n + 2), h3.style4 span.p:nth-child(n + 2), p.style4 span.p:nth-child(n + 2) { + margin-top: 1rem; +} + +h1.style3, h2.style3, h3.style3, p.style3 { + color: #FFFFFF; + font-family: 'Sora', sans-serif; + font-size: 2.625em; + line-height: 1.125; + font-weight: 500; +} + +h1.style3 mark, h2.style3 mark, h3.style3 mark, p.style3 mark { + color: rgba(255,255,255,0.278); + background-color: transparent; +} + +h1.style3 a, h2.style3 a, h3.style3 a, p.style3 a { + text-decoration: none; +} + +h1.style3 a:hover, h2.style3 a:hover, h3.style3 a:hover, p.style3 a:hover { + text-decoration: underline; +} + +h1.style3 span.p:nth-child(n + 2), h2.style3 span.p:nth-child(n + 2), h3.style3 span.p:nth-child(n + 2), p.style3 span.p:nth-child(n + 2) { + margin-top: 1rem; +} + +.buttons { + cursor: default; + display: flex; + justify-content: var(--flex-alignment); + letter-spacing: 0; + padding: 0; +} + +.buttons li { + max-width: 100%; +} + +.buttons li a { + align-items: center; + justify-content: center; + max-width: 100%; + text-align: center; + text-decoration: none; + vertical-align: middle; + white-space: nowrap; +} + +.buttons.style1 { + gap: 0.875rem; + flex-direction: row; + flex-wrap: wrap; +} + +.buttons.style1 li a { + display: inline-flex; + width: auto; + height: 3.75rem; + line-height: 3.75rem; + padding: 0 1.875rem; + vertical-align: middle; + text-transform: uppercase; + font-family: 'Sora', sans-serif; + letter-spacing: 0.3rem; + padding-left: calc(0.3rem + 1.875rem); + font-size: 0.75em; + font-weight: 500; + border-radius: 2.5rem; + flex-direction: row-reverse; + transition: transform 0.25s ease, color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease; +} + +.buttons.style1 li a svg { + display: block; + fill: #FFFFFF; + flex-grow: 0; + flex-shrink: 0; + height: 100%; + min-width: 18px; + width: 1.25em; + margin-left: 1rem; + margin-right: calc(-0.125em + 0.3rem); + transition: fill 0.25s ease; +} + +.buttons.style1 li a .label { + direction: var(--site-language-direction); + overflow: hidden; +} + +.buttons.style1 .button { + background-color: #0202F0; + color: #FFFFFF; + background-image: linear-gradient(45deg, #0F41FF 0%, rgba(2,2,240,0.008) 100%); + background-position: 0% 0%; + background-repeat: repeat; + background-size: cover; +} + +.buttons.style1 li a:hover { + transform: scale(1.06); +} + +.container { + position: relative; +} + +.container > .wrapper { + vertical-align: top; + position: relative; + max-width: 100%; + border-radius: inherit; +} + +.container > .wrapper > .inner { + vertical-align: top; + position: relative; + max-width: 100%; + border-radius: inherit; + text-align: var(--alignment); +} + +#main .container.full:first-child > .wrapper { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +#main .container.full:last-child > .wrapper { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} + +#main .container.full:first-child > .wrapper > .inner { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +#main .container.full:last-child > .wrapper > .inner { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} + +.container.style1 { + display: flex; + width: 100%; + min-height: 26rem; + align-items: center; + justify-content: center; + background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%201024%22%20width%3D%221024%22%20height%3D%221024%22%20preserveAspectRatio%3D%22none%22%3E%20%3Cstyle%3E%20rect%20%7B%20fill%3A%20rgba(255,255,255,0.122)%3B%20transform-origin%3A%2050%25%2050%25%3B%20transform%3A%20translateX%28-25%25%29%20translateY%28-25%25%29%3B%20%7D%20%3C%2Fstyle%3E%20%3Crect%20x%3D%22256%22%20y%3D%22256%22%20width%3D%223.01%25%22%20height%3D%223.01%25%22%20%2F%3E%20%3Crect%20x%3D%22768%22%20y%3D%22768%22%20width%3D%223.01%25%22%20height%3D%223.01%25%22%20%2F%3E%3C%2Fsvg%3E'), linear-gradient(45deg, #0F41FF 0%, #119DBD 100%); + background-size: 128px, cover; + background-position: center, 0% 0%; + background-repeat: repeat, repeat; +} + +.container.style1:not(:first-child) { + margin-top: 8rem !important; +} + +.container.style1:not(:last-child) { + margin-bottom: 8rem !important; +} + +.container.style1 > .wrapper > .inner { + --gutters: 2rem; + padding: var(--padding-vertical) var(--padding-horizontal); +} + +.container.style1 > .wrapper { + max-width: var(--width); + width: 100%; +} + +.container.style1.default > .wrapper > .inner > * { + margin-bottom: var(--spacing); + margin-top: var(--spacing); +} + +.container.style1.default > .wrapper > .inner > *:first-child { + margin-top: 0 !important; +} + +.container.style1.default > .wrapper > .inner > *:last-child { + margin-bottom: 0 !important; +} + +.container.style1.columns > .wrapper > .inner { + flex-wrap: wrap; + display: flex; + align-items: flex-start; +} + +.container.style1.columns > .wrapper > .inner > * { + flex-grow: 0; + flex-shrink: 0; + max-width: 100%; + text-align: var(--alignment); + padding: 0 0 0 var(--gutters); +} + +.container.style1.columns > .wrapper > .inner > * > * { + margin-bottom: var(--spacing); + margin-top: var(--spacing); +} + +.container.style1.columns > .wrapper > .inner > * > *:first-child { + margin-top: 0 !important; +} + +.container.style1.columns > .wrapper > .inner > * > *:last-child { + margin-bottom: 0 !important; +} + +.container.style1.columns > .wrapper > .inner > *:first-child { + margin-left: calc(var(--gutters) * -1); +} + +.container.style1.default > .wrapper > .inner > .full { + margin-left: calc(var(--padding-horizontal) * -1); + max-width: none !important; + width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px); +} + +.container.style1.default > .wrapper > .inner > .full:first-child { + margin-top: calc(var(--padding-vertical) * -1) !important; + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.container.style1.default > .wrapper > .inner > .full:last-child { + margin-bottom: calc(var(--padding-vertical) * -1) !important; + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; +} + +.container.style1.columns > .wrapper > .inner > div > .full { + margin-left: calc(var(--gutters) * -0.5); + max-width: none !important; + width: calc(100% + var(--gutters) + 0.4725px); +} + +.container.style1.columns > .wrapper > .inner > div:first-child > .full { + margin-left: calc(var(--padding-horizontal) * -1); + width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px); +} + +.container.style1.columns > .wrapper > .inner > div:last-child > .full { + width: calc(100% + var(--padding-horizontal) + calc(var(--gutters) * 0.5) + 0.4725px); +} + +.container.style1.columns > .wrapper > .inner > div > .full:first-child { + margin-top: calc(var(--padding-vertical) * -1) !important; +} + +.container.style1.columns > .wrapper > .inner > div > .full:last-child { + margin-bottom: calc(var(--padding-vertical) * -1) !important; +} + +.container.style1.columns > .wrapper > .inner > div:first-child, .container.style1.columns > .wrapper > .inner > div:first-child > .full:first-child { + border-top-left-radius: inherit; +} + +.container.style1.columns > .wrapper > .inner > div:last-child, .container.style1.columns > .wrapper > .inner > div:last-child > .full:first-child { + border-top-right-radius: inherit; +} + +.container.style1.columns > .wrapper > .inner > .full { + align-self: stretch; + min-height: 26rem; +} + +.container.style1.columns > .wrapper > .inner > .full:first-child { + border-bottom-left-radius: inherit; + border-top-left-radius: inherit; +} + +.container.style1.columns > .wrapper > .inner > .full:last-child { + border-bottom-right-radius: inherit; + border-top-right-radius: inherit; +} + +.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child { + border-radius: inherit; + height: calc(100% + (var(--padding-vertical) * 2)); +} + +.container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child > * { + border-radius: inherit; + height: 100%; + position: absolute; + width: 100%; +} + +hr { + align-items: center; + border: 0; + display: flex; + justify-content: var(--flex-alignment); + min-height: 1rem; + padding: 0; + position: relative; + width: 100%; +} + +hr:before { + content: ''; +} + +hr.style1:not(:first-child) { + margin-top: 4rem !important; +} + +hr.style1:not(:last-child) { + margin-bottom: 4rem !important; +} + +hr.style1:before { + width: 100%; + height: 1.25rem; + background-size: auto 33.85%; + background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20512%20512%22%20width%3D%22512%22%20height%3D%22512%22%3E%3Cstyle%3Eline%20%7Bstroke-linecap%3A%20square%3Bstroke-width%3A%201px%3Bstroke%3A%20rgba(255,255,255,0.349)%3Bvector-effect%3A%20non-scaling-stroke%3B%7D%3C%2Fstyle%3E%3Cline%20x1%3D%22256%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%22256%22%20%2F%3E%3Cline%20x1%3D%22256%22%20y1%3D%22512%22%20x2%3D%22512%22%20y2%3D%22256%22%20%2F%3E%3C%2Fsvg%3E'); + background-position: center center; + background-repeat: repeat-x; +} + +.list { + display: block; +} + +.list ul, .list ol { + display: inline-block; + max-width: 100%; + text-align: var(--site-language-alignment); + vertical-align: middle; +} + +.list ul li, .list ol li { + direction: var(--site-language-direction); + display: flex; + position: relative; +} + +.list ul li:before, .list ol li:before { + background-repeat: no-repeat; + content: ''; + display: block; + flex-grow: 0; + flex-shrink: 0; + font-variant: normal !important; + letter-spacing: 0 !important; + order: 1; + position: relative; +} + +.list ul li:after, .list ol li:after { + content: ''; + display: block; + flex-grow: 0; + flex-shrink: 0; + order: 2; + pointer-events: none; +} + +.list ul li p, .list ol li p { + flex-grow: 1; + flex-shrink: 1; + order: 3; +} + +.list ul li:first-child, .list ol li:first-child { + margin-top: 0 !important; +} + +.list.style1 { + color: rgba(255,255,255,0.867); + font-family: 'Inter', sans-serif; + letter-spacing: 0.025rem; + font-size: 1em; + line-height: 2.125; + font-weight: 400; +} + +.list.style1 code { + color: #141414; + background-color: #424242; +} + +.list.style1 mark { + color: #1F96ED; + background-color: transparent; +} + +.list.style1 a { + color: rgba(89,89,89,0.82); + text-decoration: underline; +} + +.list.style1 a:hover { + text-decoration: none; +} + +.list.style1 ul { + width: 100%; + padding-top: 0rem; +} + +.list.style1 ul li { + margin-top: 1.5rem; +} + +.list.style1 ul li:after { + width: 1.625rem; +} + +.list.style1 ul li:before { + background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20d%3D%22M2.6%2C20.8l1.5-1.5c0.2-0.2%2C0.5-0.2%2C0.7%2C0l11%2C11l21-21c0.2-0.2%2C0.5-0.2%2C0.7%2C0l1.5%2C1.5c0.2%2C0.2%2C0.2%2C0.5%2C0%2C0.7L15.8%2C34.7%20L2.6%2C21.5C2.4%2C21.3%2C2.4%2C21%2C2.6%2C20.8z%22%20fill%3D%22%23FFFFFF%22%20%2F%3E%3C%2Fsvg%3E'); + border-radius: 100%; + background-position: center; + background-repeat: no-repeat; + background-size: 55%; + height: 2rem; + margin-top: 0.125rem; + min-width: 2rem; + padding: 0 0.25rem; + text-align: center; + background-color: #0F41FF; + line-height: calc(2rem - 1px); +} + +.icons { + display: flex; + flex-wrap: wrap; + justify-content: var(--flex-alignment); + letter-spacing: 0; + padding: 0; +} + +.icons li { + position: relative; + z-index: 1; +} + +.icons li a { + align-items: center; + display: flex; + justify-content: center; +} + +.icons li a svg { + display: block; + position: relative; +} + +.icons li a + svg { + display: block; + height: 100%; + left: 0; + pointer-events: none; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} + +.icons li a .label { + display: none; +} + +.icons.style1 { + font-size: 1.5em; + gap: 1.5rem; +} + +.icons.style1 li a { + border-radius: 100%; + height: 2em; + width: 2em; + transition: transform 0.25s ease, color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease; +} + +.icons.style1 li a svg { + height: 60%; + width: 60%; + transition: fill 0.25s ease; +} + +.icons.style1 a { + background-color: #0F41FF; + background-image: linear-gradient(45deg, #0202F0 0%, rgba(15,65,255,0.008) 100%); + background-position: 0% 0%; + background-repeat: repeat; + background-size: cover; +} + +.icons.style1 a svg { + fill: #FFFFFF; +} + +.icons.style1 li a + svg { + transition: transform 0.25s ease, fill 0.25s ease, stroke 0.25s ease; +} + +.icons.style1 li a:hover { + transform: scale(1.1125); +} + +.icons.style1 li a:hover + svg { + transform: scale(1.1125); +} + +@media (max-width: 1920px) { + +} + +@media (max-width: 1680px) { + html { + font-size: 12pt; + } +} + +@media (max-width: 1280px) { + html { + font-size: 12pt; + } +} + +@media (max-width: 1024px) { + +} + +@media (max-width: 980px) { + html { + font-size: 11pt; + } +} + +@media (max-width: 736px) { + html { + font-size: 11pt; + } + + + + #main > .inner { + --padding-horizontal: 2rem; + --padding-vertical: 6rem; + --spacing: 2.375rem; + } + + #main > .inner > * > .full { + margin-left: calc(-2rem); + max-width: calc(100% + 4rem + 0.4725px); + width: calc(100% + 4rem + 0.4725px); + } + + #main > .inner > * > .full.screen { + margin-left: -50vw; + } + + #main > .inner > .active > .full:first-child { + margin-top: -6rem !important; + } + + #main > .inner > .active > .full:last-child { + margin-bottom: -6rem !important; + } + + #image01 .frame { + width: 21.5rem; + } + + #image02 .frame { + width: 24.25rem; + } + + #image03 .frame { + width: 56.625rem; + } + + h1.style1, h2.style1, h3.style1, p.style1 { + letter-spacing: 0.021875rem; + width: calc(100% + 0.021875rem); + font-size: 1.25em; + line-height: 2.125; + } + + h1.style7, h2.style7, h3.style7, p.style7 { + letter-spacing: 0.021875rem; + width: calc(100% + 0.021875rem); + font-size: 1.5em; + line-height: 1; + } + + h1.style2, h2.style2, h3.style2, p.style2 { + letter-spacing: 0rem; + width: 100%; + font-size: 3.5em; + line-height: 1.125; + } + + h1.style4, h2.style4, h3.style4, p.style4 { + letter-spacing: 0.2625rem; + width: calc(100% + 0.2625rem); + font-size: 0.75em; + line-height: 1.75; + } + + h1.style3, h2.style3, h3.style3, p.style3 { + letter-spacing: 0rem; + width: 100%; + font-size: 2.25em; + line-height: 1.125; + } + + .buttons.style1 { + gap: 0.875rem; + } + + .buttons.style1 li a { + letter-spacing: 0.3rem; + padding-left: calc(0.3rem + 1.875rem); + font-size: 0.75em; + } + + .buttons.style1 li a svg { + width: 1.25em; + } + + .container.style1 { + min-height: 19.5rem; + } + + .container.style1:not(:first-child) { + margin-top: 6rem !important; + } + + .container.style1:not(:last-child) { + margin-bottom: 6rem !important; + } + + .container.style1 > .wrapper > .inner { + --gutters: 2rem; + --padding-vertical: 6rem; + } + + .container.style1.columns > .wrapper > .inner { + flex-direction: column !important; + flex-wrap: nowrap !important; + } + + .container.style1.columns > .wrapper > .inner > span { + height: 0; + margin-top: calc(var(--gutters) * -1); + pointer-events: none; + visibility: hidden; + } + + .container.style1.columns > .wrapper > .inner > *:first-child { + margin-left: 0 !important; + padding-top: 0 !important; + } + + .container.style1.columns > .wrapper > .inner > * { + padding: calc(var(--gutters) * 0.5) 0 !important; + } + + .container.style1.columns > .wrapper > .inner > *:last-child { + padding-bottom: 0 !important; + } + + .container.style1.columns > .wrapper > .inner > div > .full { + margin-left: calc(var(--padding-horizontal) * -1); + width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px); + } + + .container.style1.columns > .wrapper > .inner > div:first-of-type > .full { + margin-left: calc(var(--padding-horizontal) * -1); + width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px); + } + + .container.style1.columns > .wrapper > .inner > div:last-of-type > .full { + margin-left: calc(var(--padding-horizontal) * -1); + width: calc(100% + (var(--padding-horizontal) * 2) + 0.4725px); + } + + .container.style1.columns > .wrapper > .inner > div > .full:first-child { + margin-top: calc(var(--gutters) * -0.5) !important; + } + + .container.style1.columns > .wrapper > .inner > div > .full:last-child { + margin-bottom: calc(var(--gutters) * -0.5) !important; + } + + .container.style1.columns > .wrapper > .inner > div:first-of-type > .full:first-child { + margin-top: calc(var(--padding-vertical) * -1) !important; + } + + .container.style1.columns > .wrapper > .inner > div:last-of-type > .full:last-child { + margin-bottom: calc(var(--padding-vertical) * -1) !important; + } + + .container.style1.columns > .wrapper > .inner > div:first-of-type, .container.style1.columns > .wrapper > .inner > div:first-of-type > .full:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; + } + + .container.style1.columns > .wrapper > .inner > div:last-of-type, .container.style1.columns > .wrapper > .inner > div:last-of-type > .full:last-child { + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; + } + + .container.style1.columns > .wrapper > .inner > div:first-of-type, .container.style1.columns > .wrapper > .inner > div:first-of-type > .full:last-child { + border-bottom-left-radius: 0 !important; + } + + .container.style1.columns > .wrapper > .inner > div:last-of-type, .container.style1.columns > .wrapper > .inner > div:last-of-type > .full:first-child { + border-top-right-radius: 0 !important; + } + + .container.style1.columns > .wrapper > .inner > .full { + min-height: 19.5rem; + } + + .container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child { + height: auto; + } + + .container.style1.columns > .wrapper > .inner > .full > .full:first-child:last-child > * { + height: auto; + position: relative; + width: auto; + } + + hr.style1:not(:first-child) { + margin-top: 2rem !important; + } + + hr.style1:not(:last-child) { + margin-bottom: 2rem !important; + } + + hr.style1:before { + width: 100rem; + height: 1.25rem; + background-size: auto 33.85%; + } + + .list.style1 { + letter-spacing: 0.021875rem; + font-size: 1em; + line-height: 2.125; + } + + .list.style1 ul { + padding-top: 0rem; + } + + .list.style1 ul li:before { + height: 2rem; + min-width: 2rem; + padding: 0 0.25rem; + margin-top: 0.125rem; + } + + .icons.style1 { + font-size: 1.5em; + gap: 1.5rem; + } +} + +@media (max-width: 480px) { + #main > .inner { + --spacing: 2.078125rem; + } + + .buttons.style1 { + flex-direction: column; + flex-wrap: nowrap; + } + + .buttons.style1 li a { + max-width: 32rem; + width: 100%; + } +} + +@media (max-width: 360px) { + #main > .inner { + --padding-horizontal: 1.5rem; + --padding-vertical: 4.5rem; + --spacing: 1.78125rem; + } + + #main > .inner > * > .full { + margin-left: calc(-1.5rem); + max-width: calc(100% + 3rem + 0.4725px); + width: calc(100% + 3rem + 0.4725px); + } + + #main > .inner > * > .full.screen { + margin-left: -50vw; + } + + #main > .inner > .active > .full:first-child { + margin-top: -4.5rem !important; + } + + #main > .inner > .active > .full:last-child { + margin-bottom: -4.5rem !important; + } + + h1.style1, h2.style1, h3.style1, p.style1 { + font-size: 1.25em; + } + + h1.style7, h2.style7, h3.style7, p.style7 { + font-size: 1.5em; + } + + h1.style2, h2.style2, h3.style2, p.style2 { + font-size: 3.5em; + } + + h1.style4, h2.style4, h3.style4, p.style4 { + font-size: 0.75em; + } + + h1.style3, h2.style3, h3.style3, p.style3 { + font-size: 2.25em; + } + + .buttons.style1 { + gap: 0.65625rem; + } + + .container.style1 > .wrapper > .inner { + --gutters: 1.5rem; + --padding-vertical: 4.5rem; + } + + .container.style1 { + min-height: 13rem; + } + + .container.style1.columns > .wrapper > .inner > .full { + min-height: 13rem; + } + + .list.style1 { + font-size: 1em; + } + + .list.style1 ul { + padding-top: 0rem; + } + + .list.style1 ul li:before { + margin-top: 0.125rem; + } + + .icons.style1 { + gap: 1.125rem; + } +} \ No newline at end of file diff --git a/assets/main.js b/assets/main.js new file mode 100644 index 0000000..d45a841 --- /dev/null +++ b/assets/main.js @@ -0,0 +1,2299 @@ +/* Carrd Site JS | carrd.co | License: MIT */ + +(function() { + + // Main. + var on = addEventListener, + off = removeEventListener, + $ = function(q) { return document.querySelector(q) }, + $$ = function(q) { return document.querySelectorAll(q) }, + $body = document.body, + $inner = $('.inner'), + client = (function() { + + var o = { + browser: 'other', + browserVersion: 0, + os: 'other', + osVersion: 0, + mobile: false, + canUse: null, + flags: { + lsdUnits: false, + }, + }, + ua = navigator.userAgent, + a, i; + + // browser, browserVersion. + a = [ + [ + 'firefox', + /Firefox\/([0-9\.]+)/ + ], + [ + 'edge', + /Edge\/([0-9\.]+)/ + ], + [ + 'safari', + /Version\/([0-9\.]+).+Safari/ + ], + [ + 'chrome', + /Chrome\/([0-9\.]+)/ + ], + [ + 'chrome', + /CriOS\/([0-9\.]+)/ + ], + [ + 'ie', + /Trident\/.+rv:([0-9]+)/ + ] + ]; + + for (i=0; i < a.length; i++) { + + if (ua.match(a[i][1])) { + + o.browser = a[i][0]; + o.browserVersion = parseFloat(RegExp.$1); + + break; + + } + + } + + // os, osVersion. + a = [ + [ + 'ios', + /([0-9_]+) like Mac OS X/, + function(v) { return v.replace('_', '.').replace('_', ''); } + ], + [ + 'ios', + /CPU like Mac OS X/, + function(v) { return 0 } + ], + [ + 'ios', + /iPad; CPU/, + function(v) { return 0 } + ], + [ + 'android', + /Android ([0-9\.]+)/, + null + ], + [ + 'mac', + /Macintosh.+Mac OS X ([0-9_]+)/, + function(v) { return v.replace('_', '.').replace('_', ''); } + ], + [ + 'windows', + /Windows NT ([0-9\.]+)/, + null + ], + [ + 'undefined', + /Undefined/, + null + ] + ]; + + for (i=0; i < a.length; i++) { + + if (ua.match(a[i][1])) { + + o.os = a[i][0]; + o.osVersion = parseFloat( a[i][2] ? (a[i][2])(RegExp.$1) : RegExp.$1 ); + + break; + + } + + } + + // Hack: Detect iPads running iPadOS. + if (o.os == 'mac' + && ('ontouchstart' in window) + && ( + + // 12.9" + (screen.width == 1024 && screen.height == 1366) + // 10.2" + || (screen.width == 834 && screen.height == 1112) + // 9.7" + || (screen.width == 810 && screen.height == 1080) + // Legacy + || (screen.width == 768 && screen.height == 1024) + + )) + o.os = 'ios'; + + // mobile. + o.mobile = (o.os == 'android' || o.os == 'ios'); + + // canUse. + var _canUse = document.createElement('div'); + + o.canUse = function(property, value) { + + var style; + + // Get style. + style = _canUse.style; + + // Property doesn't exist? Can't use it. + if (!(property in style)) + return false; + + // Value provided? + if (typeof value !== 'undefined') { + + // Assign value. + style[property] = value; + + // Value is empty? Can't use it. + if (style[property] == '') + return false; + + } + + return true; + + }; + + // flags. + o.flags.lsdUnits = o.canUse('width', '100dvw'); + + return o; + + }()), + trigger = function(t) { + dispatchEvent(new Event(t)); + }, + cssRules = function(selectorText) { + + var ss = document.styleSheets, + a = [], + f = function(s) { + + var r = s.cssRules, + i; + + for (i=0; i < r.length; i++) { + + if (r[i] instanceof CSSMediaRule && matchMedia(r[i].conditionText).matches) + (f)(r[i]); + else if (r[i] instanceof CSSStyleRule && r[i].selectorText == selectorText) + a.push(r[i]); + + } + + }, + x, i; + + for (i=0; i < ss.length; i++) + f(ss[i]); + + return a; + + }, + thisHash = function() { + + var h = location.hash ? location.hash.substring(1) : null, + a; + + // Null? Bail. + if (!h) + return null; + + // Query string? Move before hash. + if (h.match(/\?/)) { + + // Split from hash. + a = h.split('?'); + h = a[0]; + + // Update hash. + history.replaceState(undefined, undefined, '#' + h); + + // Update search. + window.location.search = a[1]; + + } + + // Prefix with "x" if not a letter. + if (h.length > 0 + && !h.match(/^[a-zA-Z]/)) + h = 'x' + h; + + // Convert to lowercase. + if (typeof h == 'string') + h = h.toLowerCase(); + + return h; + + }, + scrollToElement = function(e, style, duration) { + + var y, cy, dy, + start, easing, offset, f; + + // Element. + + // No element? Assume top of page. + if (!e) + y = 0; + + // Otherwise ... + else { + + offset = (e.dataset.scrollOffset ? parseInt(e.dataset.scrollOffset) : 0) * parseFloat(getComputedStyle(document.documentElement).fontSize); + + switch (e.dataset.scrollBehavior ? e.dataset.scrollBehavior : 'default') { + + case 'default': + default: + + y = e.offsetTop + offset; + + break; + + case 'center': + + if (e.offsetHeight < window.innerHeight) + y = e.offsetTop - ((window.innerHeight - e.offsetHeight) / 2) + offset; + else + y = e.offsetTop - offset; + + break; + + case 'previous': + + if (e.previousElementSibling) + y = e.previousElementSibling.offsetTop + e.previousElementSibling.offsetHeight + offset; + else + y = e.offsetTop + offset; + + break; + + } + + } + + // Style. + if (!style) + style = 'smooth'; + + // Duration. + if (!duration) + duration = 750; + + // Instant? Just scroll. + if (style == 'instant') { + + window.scrollTo(0, y); + return; + + } + + // Get start, current Y. + start = Date.now(); + cy = window.scrollY; + dy = y - cy; + + // Set easing. + switch (style) { + + case 'linear': + easing = function (t) { return t }; + break; + + case 'smooth': + easing = function (t) { return t<.5 ? 4*t*t*t : (t-1)*(2*t-2)*(2*t-2)+1 }; + break; + + } + + // Scroll. + f = function() { + + var t = Date.now() - start; + + // Hit duration? Scroll to y and finish. + if (t >= duration) + window.scroll(0, y); + + // Otherwise ... + else { + + // Scroll. + window.scroll(0, cy + (dy * easing(t / duration))); + + // Repeat. + requestAnimationFrame(f); + + } + + }; + + f(); + + }, + scrollToTop = function() { + + // Scroll to top. + scrollToElement(null); + + }, + loadElements = function(parent) { + + var a, e, x, i; + + // IFRAMEs. + + // Get list of unloaded IFRAMEs. + a = parent.querySelectorAll('iframe[data-src]:not([data-src=""])'); + + // Step through list. + for (i=0; i < a.length; i++) { + + // Load. + a[i].contentWindow.location.replace(a[i].dataset.src); + + // Save initial src. + a[i].dataset.initialSrc = a[i].dataset.src; + + // Mark as loaded. + a[i].dataset.src = ''; + + } + + // Video. + + // Get list of videos (autoplay). + a = parent.querySelectorAll('video[autoplay]'); + + // Step through list. + for (i=0; i < a.length; i++) { + + // Play if paused. + if (a[i].paused) + a[i].play(); + + } + + // Autofocus. + + // Get first element with data-autofocus attribute. + e = parent.querySelector('[data-autofocus="1"]'); + + // Determine type. + x = e ? e.tagName : null; + + switch (x) { + + case 'FORM': + + // Get first input. + e = e.querySelector('.field input, .field select, .field textarea'); + + // Found? Focus. + if (e) + e.focus(); + + break; + + default: + break; + + } + + }, + unloadElements = function(parent) { + + var a, e, x, i; + + // IFRAMEs. + + // Get list of loaded IFRAMEs. + a = parent.querySelectorAll('iframe[data-src=""]'); + + // Step through list. + for (i=0; i < a.length; i++) { + + // Don't unload? Skip. + if (a[i].dataset.srcUnload === '0') + continue; + + // Mark as unloaded. + + // IFRAME was previously loaded by loadElements()? Use initialSrc. + if ('initialSrc' in a[i].dataset) + a[i].dataset.src = a[i].dataset.initialSrc; + + // Otherwise, just use src. + else + a[i].dataset.src = a[i].src; + + // Unload. + a[i].contentWindow.location.replace('about:blank'); + + } + + // Video. + + // Get list of videos. + a = parent.querySelectorAll('video'); + + // Step through list. + for (i=0; i < a.length; i++) { + + // Pause if playing. + if (!a[i].paused) + a[i].pause(); + + } + + // Autofocus. + + // Get focused element. + e = $(':focus'); + + // Found? Blur. + if (e) + e.blur(); + + + }; + + // Expose scrollToElement. + window._scrollToTop = scrollToTop; + + // "On Load" animation. + // Set loader timeout. + var loaderTimeout = setTimeout(function() { + $body.classList.add('with-loader'); + }, 500); + + // Create load handler. + var loadHandler = function() { + setTimeout(function() { + + // Stop loader. + clearTimeout(loaderTimeout); + + // Unmark as loading. + $body.classList.remove('is-loading'); + + // Mark as playing. + $body.classList.add('is-playing'); + + // Wait for animation to complete. + setTimeout(function() { + + // Remove loader. + $body.classList.remove('with-loader'); + + // Unmark as playing. + $body.classList.remove('is-playing'); + + // Mark as ready. + $body.classList.add('is-ready'); + + }, 1000); + + }, 100); + }; + + // Load event. + on('load', loadHandler); + + // Sections. + (function() { + + var initialSection, initialScrollPoint, initialId, + header, footer, name, hideHeader, hideFooter, disableAutoScroll, + h, e, ee, k, + locked = false, + scrollPointParent = function(target) { + + while (target) { + + if (target.parentElement + && target.parentElement.tagName == 'SECTION') + break; + + target = target.parentElement; + + } + + return target; + + }, + scrollPointSpeed = function(scrollPoint) { + + let x = parseInt(scrollPoint.dataset.scrollSpeed); + + switch (x) { + + case 5: + return 250; + + case 4: + return 500; + + case 3: + return 750; + + case 2: + return 1000; + + case 1: + return 1250; + + default: + break; + + } + + return 750; + + }, + doNextScrollPoint = function(event) { + + var e, target, id; + + // Determine parent element. + e = scrollPointParent(event.target); + + if (!e) + return; + + // Find next scroll point. + while (e && e.nextElementSibling) { + + e = e.nextElementSibling; + + if (e.dataset.scrollId) { + + target = e; + id = e.dataset.scrollId; + break; + + } + + } + + if (!target + || !id) + return; + + // Redirect. + if (target.dataset.scrollInvisible == '1') + scrollToElement(target, 'smooth', scrollPointSpeed(target)); + else + location.href = '#' + id; + + }, + doPreviousScrollPoint = function(e) { + + var e, target, id; + + // Determine parent element. + e = scrollPointParent(event.target); + + if (!e) + return; + + // Find previous scroll point. + while (e && e.previousElementSibling) { + + e = e.previousElementSibling; + + if (e.dataset.scrollId) { + + target = e; + id = e.dataset.scrollId; + break; + + } + + } + + if (!target + || !id) + return; + + // Redirect. + if (target.dataset.scrollInvisible == '1') + scrollToElement(target, 'smooth', scrollPointSpeed(target)); + else + location.href = '#' + id; + + }, + doFirstScrollPoint = function(e) { + + var e, target, id; + + // Determine parent element. + e = scrollPointParent(event.target); + + if (!e) + return; + + // Find first scroll point. + while (e && e.previousElementSibling) { + + e = e.previousElementSibling; + + if (e.dataset.scrollId) { + + target = e; + id = e.dataset.scrollId; + + } + + } + + if (!target + || !id) + return; + + // Redirect. + if (target.dataset.scrollInvisible == '1') + scrollToElement(target, 'smooth', scrollPointSpeed(target)); + else + location.href = '#' + id; + + }, + doLastScrollPoint = function(e) { + + var e, target, id; + + // Determine parent element. + e = scrollPointParent(event.target); + + if (!e) + return; + + // Find last scroll point. + while (e && e.nextElementSibling) { + + e = e.nextElementSibling; + + if (e.dataset.scrollId) { + + target = e; + id = e.dataset.scrollId; + + } + + } + + if (!target + || !id) + return; + + // Redirect. + if (target.dataset.scrollInvisible == '1') + scrollToElement(target, 'smooth', scrollPointSpeed(target)); + else + location.href = '#' + id; + + }, + doNextSection = function() { + + var section; + + section = $('#main > .inner > section.active').nextElementSibling; + + if (!section || section.tagName != 'SECTION') + return; + + location.href = '#' + section.id.replace(/-section$/, ''); + + }, + doPreviousSection = function() { + + var section; + + section = $('#main > .inner > section.active').previousElementSibling; + + if (!section || section.tagName != 'SECTION') + return; + + location.href = '#' + (section.matches(':first-child') ? '' : section.id.replace(/-section$/, '')); + + }, + doFirstSection = function() { + + var section; + + section = $('#main > .inner > section:first-of-type'); + + if (!section || section.tagName != 'SECTION') + return; + + location.href = '#' + section.id.replace(/-section$/, ''); + + }, + doLastSection = function() { + + var section; + + section = $('#main > .inner > section:last-of-type'); + + if (!section || section.tagName != 'SECTION') + return; + + location.href = '#' + section.id.replace(/-section$/, ''); + + }, + resetSectionChangeElements = function(section) { + + var ee, e, x; + + // Get elements with data-reset-on-section-change attribute. + ee = section.querySelectorAll('[data-reset-on-section-change="1"]'); + + // Step through elements. + for (e of ee) { + + // Determine type. + x = e ? e.tagName : null; + + switch (x) { + + case 'FORM': + + // Reset. + e.reset(); + + break; + + default: + break; + + } + + } + + }, + activateSection = function(section, scrollPoint) { + + var sectionHeight, currentSection, currentSectionHeight, + name, hideHeader, hideFooter, disableAutoScroll, + ee, k; + + // Section already active? + if (!section.classList.contains('inactive')) { + + // Get options. + name = (section ? section.id.replace(/-section$/, '') : null); + disableAutoScroll = name ? ((name in sections) && ('disableAutoScroll' in sections[name]) && sections[name].disableAutoScroll) : false; + + // Scroll to scroll point (if applicable). + if (scrollPoint) + scrollToElement(scrollPoint, 'smooth', scrollPointSpeed(scrollPoint)); + + // Otherwise, just scroll to top (if not disabled for this section). + else if (!disableAutoScroll) + scrollToElement(null); + + // Bail. + return false; + + } + + // Otherwise, activate it. + else { + + // Lock. + locked = true; + + // Clear index URL hash. + if (location.hash == '#home') + history.replaceState(null, null, '#'); + + // Get options. + name = (section ? section.id.replace(/-section$/, '') : null); + disableAutoScroll = name ? ((name in sections) && ('disableAutoScroll' in sections[name]) && sections[name].disableAutoScroll) : false; + + // Deactivate current section. + currentSection = $('section:not(.inactive)'); + + if (currentSection) { + + // Deactivate. + currentSection.classList.add('inactive'); + + // Unload elements. + unloadElements(currentSection); + + // Reset section change elements. + resetSectionChangeElements(currentSection); + + // Hide. + setTimeout(function() { + currentSection.style.display = 'none'; + currentSection.classList.remove('active'); + }, 250); + + } + + // Activate target section. + setTimeout(function() { + + // Show. + section.style.display = ''; + + // Trigger 'resize' event. + trigger('resize'); + + // Scroll to top (if not disabled for this section). + if (!disableAutoScroll) + scrollToElement(null, 'instant'); + + // Delay. + setTimeout(function() { + + // Activate. + section.classList.remove('inactive'); + section.classList.add('active'); + + // Delay. + setTimeout(function() { + + // Load elements. + loadElements(section); + + // Scroll to scroll point (if applicable). + if (scrollPoint) + scrollToElement(scrollPoint, 'instant'); + + // Unlock. + locked = false; + + }, 500); + + }, 75); + + }, 250); + + } + + }, + sections = {}; + + // Expose doNextScrollPoint, doPreviousScrollPoint, doFirstScrollPoint, doLastScrollPoint. + window._nextScrollPoint = doNextScrollPoint; + window._previousScrollPoint = doPreviousScrollPoint; + window._firstScrollPoint = doFirstScrollPoint; + window._lastScrollPoint = doLastScrollPoint; + + // Expose doNextSection, doPreviousSection, doFirstSection, doLastSection. + window._nextSection = doNextSection; + window._previousSection = doPreviousSection; + window._firstSection = doFirstSection; + window._lastSection = doLastSection; + + // Override exposed scrollToTop. + window._scrollToTop = function() { + + var section, id; + + // Scroll to top. + scrollToElement(null); + + // Section active? + if (!!(section = $('section.active'))) { + + // Get name. + id = section.id.replace(/-section$/, ''); + + // Index section? Clear. + if (id == 'home') + id = ''; + + // Reset hash to section name (via new state). + history.pushState(null, null, '#' + id); + + } + + }; + + // Initialize. + + // Set scroll restoration to manual. + if ('scrollRestoration' in history) + history.scrollRestoration = 'manual'; + + // Header, footer. + header = $('#header'); + footer = $('#footer'); + + // Show initial section. + + // Determine target. + h = thisHash(); + + // Contains invalid characters? Might be a third-party hashbang, so ignore it. + if (h + && !h.match(/^[a-zA-Z0-9\-]+$/)) + h = null; + + // Scroll point. + if (e = $('[data-scroll-id="' + h + '"]')) { + + initialScrollPoint = e; + initialSection = initialScrollPoint.parentElement; + initialId = initialSection.id; + + } + + // Section. + else if (e = $('#' + (h ? h : 'home') + '-section')) { + + initialScrollPoint = null; + initialSection = e; + initialId = initialSection.id; + + } + + // Missing initial section? + if (!initialSection) { + + // Default to index. + initialScrollPoint = null; + initialSection = $('#' + 'home' + '-section'); + initialId = initialSection.id; + + // Clear index URL hash. + history.replaceState(undefined, undefined, '#'); + + } + + // Get options. + name = (h ? h : 'home'); + hideHeader = name ? ((name in sections) && ('hideHeader' in sections[name]) && sections[name].hideHeader) : false; + hideFooter = name ? ((name in sections) && ('hideFooter' in sections[name]) && sections[name].hideFooter) : false; + disableAutoScroll = name ? ((name in sections) && ('disableAutoScroll' in sections[name]) && sections[name].disableAutoScroll) : false; + + // Deactivate all sections (except initial). + + // Initially hide header and/or footer (if necessary). + + // Header. + if (header && hideHeader) { + + header.classList.add('hidden'); + header.style.display = 'none'; + + } + + // Footer. + if (footer && hideFooter) { + + footer.classList.add('hidden'); + footer.style.display = 'none'; + + } + + // Deactivate. + ee = $$('#main > .inner > section:not([id="' + initialId + '"])'); + + for (k = 0; k < ee.length; k++) { + + ee[k].className = 'inactive'; + ee[k].style.display = 'none'; + + } + + // Activate initial section. + initialSection.classList.add('active'); + + // Load elements. + loadElements(initialSection); + + if (header) + loadElements(header); + + if (footer) + loadElements(footer); + + // Scroll to top (if not disabled for this section). + if (!disableAutoScroll) + scrollToElement(null, 'instant'); + + // Load event. + on('load', function() { + + // Scroll to initial scroll point (if applicable). + if (initialScrollPoint) + scrollToElement(initialScrollPoint, 'instant'); + + }); + + // Hashchange event. + on('hashchange', function(event) { + + var section, scrollPoint, + h, e; + + // Lock. + if (locked) + return false; + + // Determine target. + h = thisHash(); + + // Contains invalid characters? Might be a third-party hashbang, so ignore it. + if (h + && !h.match(/^[a-zA-Z0-9\-]+$/)) + return false; + + // Scroll point. + if (e = $('[data-scroll-id="' + h + '"]')) { + + scrollPoint = e; + section = scrollPoint.parentElement; + + } + + // Section. + else if (e = $('#' + (h ? h : 'home') + '-section')) { + + scrollPoint = null; + section = e; + + } + + // Anything else. + else { + + // Default to index. + scrollPoint = null; + section = $('#' + 'home' + '-section'); + + // Clear index URL hash. + history.replaceState(undefined, undefined, '#'); + + } + + // No section? Bail. + if (!section) + return false; + + // Activate section. + activateSection(section, scrollPoint); + + return false; + + }); + + // Hack: Allow hashchange to trigger on click even if the target's href matches the current hash. + on('click', function(event) { + + var t = event.target, + tagName = t.tagName.toUpperCase(), + scrollPoint, section; + + // Find real target. + switch (tagName) { + + case 'IMG': + case 'SVG': + case 'USE': + case 'U': + case 'STRONG': + case 'EM': + case 'CODE': + case 'S': + case 'MARK': + case 'SPAN': + + // Find ancestor anchor tag. + while ( !!(t = t.parentElement) ) + if (t.tagName == 'A') + break; + + // Not found? Bail. + if (!t) + return; + + break; + + default: + break; + + } + + // Target is an anchor *and* its href is a hash? + if (t.tagName == 'A' + && t.getAttribute('href') !== null + && t.getAttribute('href').substr(0, 1) == '#') { + + // Hash matches an invisible scroll point? + if (!!(scrollPoint = $('[data-scroll-id="' + t.hash.substr(1) + '"][data-scroll-invisible="1"]'))) { + + // Prevent default. + event.preventDefault(); + + // Get section. + section = scrollPoint.parentElement; + + // Section is inactive? + if (section.classList.contains('inactive')) { + + // Reset hash to section name (via new state). + history.pushState(null, null, '#' + section.id.replace(/-section$/, '')); + + // Activate section. + activateSection(section, scrollPoint); + + } + + // Otherwise ... + else { + + // Scroll to scroll point. + scrollToElement(scrollPoint, 'smooth', scrollPointSpeed(scrollPoint)); + + } + + } + + // Hash matches the current hash? + else if (t.hash == window.location.hash) { + + // Prevent default. + event.preventDefault(); + + // Replace state with '#'. + history.replaceState(undefined, undefined, '#'); + + // Replace location with target hash. + location.replace(t.hash); + + } + + } + + }); + + })(); + + // Browser hacks. + // Init. + var style, sheet, rule; + + // Create - - - - - -
- - -
-
-
- - -
- - - - - - + + + + BaseX - universal evaluation engine + + + + + + + + + + + + + + + +
+
+
+
+
+ BaseX +
+

Universal evaluation engine.
Impact. Externalities. Cobenefits

+ + +
+
+
+

Accounting for triple bottom line has been an unresolved problem until now...

+
+ BaseX +
+

Loads of things in the current economic system are legal and profitable because they do not account for full cost. Illustrative example of value system and economics:
• Fresh air: no value.
• Polluted air: disease, medical bills, good for the economy 🤷

+
+
+
+

BaseX evaluation of impact takes into acount 17 SDGs

+
+ BaseX +
+
+
+
+

01.

+

Create an entity

+

We encourage organisations and individuals to participate in BaseX evaluation platform.

+
+

02.

+

Submit impact report

+

It is possible to reuse existing impact reports or create a new one specifically for this occassions. Make sure to include supporting evidence.

+
+

03.

+

Evaluation and fact-checking

+

We leverage Kleros and community of jurors to ensure that reports and evaluations reflect the reality.

+
+
+
+

Unique advantages

+

Accounting for impact, externalities, cobenefits

+

There is a number of features that sets are apart:

+
  • Scalability

  • Transparency

  • Inclusivity

  • Incentives

+

Explore the wiki.basex.com, check the pitchdeck, read the whitepaper, or try out our beta: beta.basex.com

+
+
+
+

We are in this together

+

Open-source public good

+

We are open-source, building in public and we treat our work as public good from the very beginning.Our starting point was the existing carbon credit markets that are opaque and not fit for purpose.In order address the climate situation we need to address the underlying root causes, such as economic system that is programmed for infinite growth, without taking into account the externalities - we tackling the root causes and we genuinely believe that BaseX is an important part of civilisational infrastructure serving humanity.

+ + +
+
+
+ +
+
+

Thank you

+

Et phasellus dis eget est orci ultricies. Blandit tempus amet mattis duis magnis nec laoreet magna faucibus. Interdum imperdiet tristique est.

+ +
+
+
+
+
+ + \ No newline at end of file