From 2a105901e1aa4874c1aceed59db087330c8b5d4b Mon Sep 17 00:00:00 2001 From: Luc Didry Date: Jun 30 2020 06:11:58 +0000 Subject: WIP --- diff --git a/cpanfile b/cpanfile index ca248b3..9eaae33 100644 --- a/cpanfile +++ b/cpanfile @@ -19,6 +19,7 @@ requires 'Filesys::DfPortable'; requires 'Data::Entropy'; requires 'Crypt::SaltedHash'; requires 'Data::Validate::URI'; +requires 'Data::Entropy'; requires 'Term::ProgressBar'; requires 'URI::Find'; diff --git a/lib/Lufi.pm b/lib/Lufi.pm index efeb40e..e6bbc90 100644 --- a/lib/Lufi.pm +++ b/lib/Lufi.pm @@ -175,6 +175,11 @@ sub startup { ->to('Misc#about') ->name('about'); + # About page + $r->get('/background') + ->to('Misc#background') + ->name('background'); + # About config API endpoint $r->get('/about/config') ->to('Misc#config_infos') diff --git a/lib/Lufi/Controller/Misc.pm b/lib/Lufi/Controller/Misc.pm index be2b9a1..055d80c 100644 --- a/lib/Lufi/Controller/Misc.pm +++ b/lib/Lufi/Controller/Misc.pm @@ -40,6 +40,13 @@ sub about { ); } +sub background { + my $c = shift; + + $c->res->headers->cache_control('no-store'); + $c->reply->file($c->random_background_image); +} + sub config_infos { my $c = shift; diff --git a/lib/Lufi/Plugin/Helpers.pm b/lib/Lufi/Plugin/Helpers.pm index 293fb05..25ae1e8 100644 --- a/lib/Lufi/Plugin/Helpers.pm +++ b/lib/Lufi/Plugin/Helpers.pm @@ -1,9 +1,12 @@ # vim:set sw=4 ts=4 sts=4 ft=perl expandtab: package Lufi::Plugin::Helpers; use Mojo::Base 'Mojolicious::Plugin'; +use Mojo::Collection 'c'; +use File::Spec; use Lufi::DB::File; use Lufi::DB::Invitation; use Date::Language; +use Data::Entropy qw(entropy_source); sub register { my ($self, $app) = @_; @@ -70,6 +73,8 @@ sub register { $app->helper(is_guest => \&_is_guest); $app->helper(get_date_lang => \&_get_date_lang); $app->helper(git_version => \&_git_version); + $app->helper(backgrounds => \&_backgrounds); + $app->helper(random_background_image => \&_random_background_image); } sub _pg { @@ -246,4 +251,25 @@ sub _git_version { } } +sub _backgrounds { + my $c = shift; + + state @backgrounds; + if (!scalar @backgrounds) { + for my $i (@{$c->app->static->paths}) { + push @backgrounds, glob(File::Spec->catdir($i, 'img', 'backgrounds', '*')); + } + } + + return @backgrounds; +} + +sub _random_background_image { + my $c = shift; + + my @backgrounds = $c->backgrounds; + + return File::Spec->abs2rel($backgrounds[entropy_source->get_int(scalar(@backgrounds))]); +} + 1; diff --git a/themes/default/public/css/lufi.css b/themes/default/public/css/lufi.css index 477ffd9..ef78632 100644 --- a/themes/default/public/css/lufi.css +++ b/themes/default/public/css/lufi.css @@ -1,1264 +1,1252 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + body { - background-color: #ffffff; -} -#files { - border: 2px dashed #BBB; - border-radius: 5px; - padding: 25px 25px 41px 25px; - text-align: center; - color: #888; -} -#files label { - padding: 6px 0; - color: #FFF; - font-weight: bold; - margin: 20px auto; - width: 100%; -} -#files label span { - cursor: pointer; -} -#files input { - width: 100%; - background: rgba(150,225,150,0.0); - vertical-align: middle; - text-align: center; - padding: 0 50%; - margin-top: -206px; - color: #FFF; - font-weight: bold; - font-size: 200px; - opacity: 0; -} -.progress-info { - text-shadow: initial; - font-weight: bold; -} -#results { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} + +/** + * Manually forked from SUIT CSS Base: https://github.com/suitcss/base + * A thin layer on top of normalize.css that provides a starting point more + * suitable for web applications. + */ + +/** + * Removes the default spacing and border for appropriate elements. + */ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +button { + background-color: transparent; + background-image: none; + padding: 0; +} + +/** + * Work around a Firefox/IE bug where the transparent `button` background + * results in a loss of the default `button` focus styles. + */ + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +fieldset { + margin: 0; + padding: 0; +} + +ol, +ul { + list-style: none; + margin: 0; + padding: 0; +} + +/** + * Tailwind custom reset styles + */ + +/** + * 1. Use the user's configured `sans` font-family (with Tailwind's default + * sans-serif font stack as a fallback) as a sane default. + * 2. Use Tailwind's default "normal" line-height so the user isn't forced + * to override it to ensure consistency even when using the default theme. + */ + +html { + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */ + line-height: 1.5; /* 2 */ +} + +/** + * 1. Prevent padding and border from affecting element width. + * + * We used to set this in the html element and inherit from + * the parent element for everything else. This caused issues + * in shadow-dom-enhanced elements like
where the content + * is wrapped by a div with box-sizing set to `content-box`. + * + * https://github.com/mozdevs/cssremedy/issues/4 + * + * + * 2. Allow adding a border to an element by just adding a border-width. + * + * By default, the way the browser specifies that an element should have no + * border is by setting it's border-style to `none` in the user-agent + * stylesheet. + * + * In order to easily add borders to elements by just setting the `border-width` + * property, we change the default border-style for all elements to `solid`, and + * use border-width to hide them instead. This way our `border` utilities only + * need to set the `border-width` property instead of the entire `border` + * shorthand, making our border utilities much more straightforward to compose. + * + * https://github.com/tailwindcss/tailwindcss/pull/116 + */ + +*, +::before, +::after { + box-sizing: border-box; /* 1 */ + border-width: 0; /* 2 */ + border-style: solid; /* 2 */ + border-color: #e2e8f0; /* 2 */ +} + +/* + * Ensure horizontal rules are visible by default + */ + +hr { + border-top-width: 1px; +} + +/** + * Undo the `border-style: none` reset that Normalize applies to images so that + * our `border-{width}` utilities have the expected effect. + * + * The Normalize reset is unnecessary for us since we default the border-width + * to 0 on all elements. + * + * https://github.com/tailwindcss/tailwindcss/issues/362 + */ + +img { + border-style: solid; +} + +textarea { + resize: vertical; +} + +input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { + color: #a0aec0; +} + +input::-moz-placeholder, textarea::-moz-placeholder { + color: #a0aec0; +} + +input:-ms-input-placeholder, textarea:-ms-input-placeholder { + color: #a0aec0; +} + +input::-ms-input-placeholder, textarea::-ms-input-placeholder { + color: #a0aec0; +} + +input::placeholder, +textarea::placeholder { + color: #a0aec0; +} + +button, +[role="button"] { + cursor: pointer; +} + +table { + border-collapse: collapse; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/** + * Reset links to optimize for opt-in styling instead of + * opt-out. + */ + +a { + color: inherit; + text-decoration: inherit; +} + +/** + * Reset form element properties that are easy to forget to + * style explicitly so you don't inadvertently introduce + * styles that deviate from your design system. These styles + * supplement a partial reset that is already applied by + * normalize.css. + */ + +button, +input, +optgroup, +select, +textarea { + padding: 0; + line-height: inherit; + color: inherit; +} + +/** + * Use the configured 'mono' font family for elements that + * are expected to be rendered with a monospace font, falling + * back to the system monospace stack if there is no configured + * 'mono' font family. + */ + +pre, +code, +kbd, +samp { + font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +/** + * Make replaced elements `display: block` by default as that's + * the behavior you want almost all of the time. Inspired by + * CSS Remedy, with `svg` added as well. + * + * https://github.com/mozdevs/cssremedy/issues/14 + */ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + vertical-align: middle; +} + +/** + * Constrain images and videos to the parent width and preserve + * their instrinsic aspect ratio. + * + * https://github.com/mozdevs/cssremedy/issues/14 + */ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Recreate some normal behavior */ + +h1 { + font-size: 1.5rem; +} + +h2 { + font-size: 1.25rem; +} + +h3 { + font-size: 1.125rem; +} + +/*tailwind start components */ + +.container { + width: 100%; +} + +@media (min-width: 640px) { + .container { + max-width: 640px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 1024px) { + .container { + max-width: 1024px; + } +} + +@media (min-width: 1280px) { + .container { + max-width: 1280px; + } +} + +/*tailwind end components */ + +a { + text-decoration: underline; + -webkit-text-decoration-style: dotted; + text-decoration-style: dotted; +} + +/* Default */ + +body { + background-size: cover; + background-image: repeating-linear-gradient(135deg, #00000033, #00000033 63%, transparent 63%, transparent), + url('../background'); + --text-opacity: 1; + color: #fff; + color: rgba(255, 255, 255, var(--text-opacity)); + min-height: 100vh; +} + +body > * { + padding-left: 1rem; + padding-right: 1rem; +} + +body.rtl { + direction: rtl; +} + +/* Navbar */ + +.navbar { + --bg-opacity: 1; + background-color: #2d3748; + background-color: rgba(45, 55, 72, var(--bg-opacity)); + --bg-opacity: 0.75; + width: 100%; + font-size: 1rem; + text-transform: uppercase; +} + +.navbar .navbrand { + font-weight: 700; +} + +.navbar ul li { + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + display: none; +} + +.navbar ul li.navbrand { + display: list-item; +} + +.navbar ul li > *, +.dropdown.user ul li * { + vertical-align: middle; + text-decoration: none; + border-style: solid; + --border-opacity: 1; + border-color: #cbd5e0; + border-color: rgba(203, 213, 224, var(--border-opacity)); + border-bottom-width: 4px; +} + +.navbar ul.show-menu li { + display: list-item; +} + +.navbar ul li.navbrand * { + border-style: none; + display: inline-block; +} + +.navbar .hamburger { + float: right; +} + +@media (min-width: 1280px) { + .navbar .navbrand .hamburger { display: none; + } + + .navbar ul { + display: flex; + } + + .navbar ul li { + display: list-item; + } +} + +.navbar ul li.active, +.dropdown.user ul li.active { + font-weight: 700; +} + +.navbar ul li.active *, +.dropdown.active ul li.active * { + border-style: solid; + --border-opacity: 1; + border-color: #4fd1c5; + border-color: rgba(79, 209, 197, var(--border-opacity)); + border-bottom-width: 4px; + text-decoration: none; +} + +.navbar ul li.dropdown { + position: relative; +} + +.navbar ul li.dropdown.lang *, +.navbar ul li.dropdown.user > a { + --border-opacity: 0; +} + +.dropdown span, +.dropdown li { + cursor: pointer; +} + +.dropdown a { + display: ruby; +} + +.navbar ul li.dropdown ul { + --bg-opacity: 1; + background-color: #2d3748; + background-color: rgba(45, 55, 72, var(--bg-opacity)); + --bg-opacity: 1; + position: absolute; + margin-top: 0.25rem; + display: block; + white-space: nowrap; +} + +.dropdown.lang ul li { + text-decoration: underline; + -webkit-text-decoration-style: dotted; + text-decoration-style: dotted; +} + +.dropdown.user ul, +.dropdown.user ul li form { + border-style: none; +} + +.dropdown.user button { + font-size: 1rem; + text-transform: uppercase; +} + +main { + margin-top: 1rem; + width: auto; + margin-left: auto; + margin-right: auto; + display: grid; + grid-template-columns: repeat(1, minmax(0, 1fr)); + max-width: 72rem; +} + +main > * { + --bg-opacity: 1; + background-color: #1a202c; + background-color: rgba(26, 32, 44, var(--bg-opacity)); + --bg-opacity: 0.75; + padding: 1rem; +} + +main a { + --text-opacity: 1; + color: #b2f5ea; + color: rgba(178, 245, 234, var(--text-opacity)); +} + +main a:visited { + --text-opacity: 1; + color: #b794f4; + color: rgba(183, 148, 244, var(--text-opacity)); +} + +/* Icons */ + +svg { + height: 1rem; + width: 1rem; + --text-opacity: 1; + color: #fff; + color: rgba(255, 255, 255, var(--text-opacity)); +} + +svg.icon-hamburger { + height: 2rem; + width: 2rem; +} + +svg.icon-infos { + height: 1.25rem; + width: 1.25rem; + --text-opacity: 1; + color: #4299e1; + color: rgba(66, 153, 225, var(--text-opacity)); + display: inline-block; + --bg-opacity: 1; + background-color: #fff; + background-color: rgba(255, 255, 255, var(--bg-opacity)); + border-radius: 9999px; +} + +svg.icon-upload { + margin-left: auto; + margin-right: auto; + border-radius: 9999px; + border-width: 1px; + --border-opacity: 1; + border-color: #edf2f7; + border-color: rgba(237, 242, 247, var(--border-opacity)); + border-width: 8px; + height: 8rem; + width: 8rem; + --text-opacity: 1; + color: #edf2f7; + color: rgba(237, 242, 247, var(--text-opacity)); +} + +/* Cards */ + +.card { + padding: 1rem; + margin-top: 1rem; +} + +.card.mini { + padding-left: 0.25rem; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} + +.card.error { + --bg-opacity: 1; + background-color: #fffaf0; + background-color: rgba(255, 250, 240, var(--bg-opacity)); + --text-opacity: 1; + color: #c05621; + color: rgba(192, 86, 33, var(--text-opacity)); + border-left-width: 4px; + --border-opacity: 1; + border-color: #ed8936; + border-color: rgba(237, 137, 54, var(--border-opacity)); +} + +.card.info { + --bg-opacity: 1; + background-color: #ebf8ff; + background-color: rgba(235, 248, 255, var(--bg-opacity)); + --text-opacity: 1; + color: #2b6cb0; + color: rgba(43, 108, 176, var(--text-opacity)); + border-left-width: 4px; + --border-opacity: 1; + border-color: #4299e1; + border-color: rgba(66, 153, 225, var(--border-opacity)); +} + +/* Buttons */ + +.btn, +.btn a { + --text-opacity: 1 !important; + color: #fff !important; + color: rgba(255, 255, 255, var(--text-opacity)) !important; + text-align: center !important; + text-decoration: none !important; +} + +.btn { + --bg-opacity: 1; + background-color: #2c7a7b; + background-color: rgba(44, 122, 123, var(--bg-opacity)); + font-weight: 700; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + border-width: 2px; + --border-opacity: 1; + border-color: #2c7a7b; + border-color: rgba(44, 122, 123, var(--border-opacity)); + border-radius: 0.25rem; + --text-opacity: 1 !important; + color: #fff !important; + color: rgba(255, 255, 255, var(--text-opacity)) !important; + text-align: center !important; + text-decoration: none !important; +} + +.btn:hover { + --bg-opacity: 1; + background-color: #234e52; + background-color: rgba(35, 78, 82, var(--bg-opacity)); + --border-opacity: 1; + border-color: #234e52; + border-color: rgba(35, 78, 82, var(--border-opacity)); +} + +.btn.disabled { + opacity: 0.5; + cursor: not-allowed; +} + +.form { + margin-left: auto; + margin-right: auto; } -a.classic, -a.classic:hover, -a.classic:focus { - color: #337AB7; -} -.left-mg { - margin-left: 10px; - margin-right: 10px; -} -@-moz-document url-prefix() { - fieldset { display: table-cell; } -} -#render-image { - max-width: 100%; - max-height: 200px; - margin-left: auto; - margin-right: auto; -} -.input-field .big-prefix { - width: 6rem; -} -.input-field .big-prefix ~ input, -.input-field .big-prefix ~ textarea, -.input-field .big-prefix ~ label, -.input-field .big-prefix ~ div.select-wrapper { - margin-left: 6rem; - width: 92%; - width: calc(100% - 6rem); -} -@media only screen and (max-width : 992px) { - .input-field .big-prefix ~ input { - width: 82%; - width: calc(100% - 6rem); - } -} -@media only screen and (max-width : 600px) { - .input-field .big-prefix ~ input { - width: 60%; - width: calc(100% - 6rem); - } -} -.file-field .btn.left-mg { - height: 36px; - line-height: 36px; -} -.textarea-hidden { - position: fixed; - top: 0; - left: 0; - width: 2em; - height: 2em; - padding: 0; - border: none; - outline: none; - box-shadow: none; - background: transparent; -} -.hiddendiv.common { - min-height: 170px; -} -.title-filename { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.files-buttons a { - margin-bottom: 10px; -} -.no_border { - border: 0; -} -.like-label { - color: #9e9e9e; - font-size: 1.5rem; -} -.select-lang .select-wrapper span.caret { - top: -10px; - color: #FFF; -} -.select-lang .select-wrapper input.select-dropdown { - margin-top: 10px; - margin-bottom: 0; - border-bottom: 0; -} -.select-lang-mobile .select-wrapper input.select-dropdown { - color: #444; - border-bottom: 0; -} -.select-lang-mobile .select-wrapper span.caret { - top: -10px; -} -.select-lang, -.select-lang-mobile { - padding-left: 15px !important; - padding-right: 15px !important; -} -nav .btn-flat { - color: #fff !important; - text-transform: initial !important; -} -nav .btn-flat:focus { - background-color: rgba(0,0,0,0.1) !important; -} - -/* pulse animation from Materialize CSS 1.0.0 */ -button.pulse { - margin-left: 1em; -} -.pulse { - overflow: initial; - position: relative; -} -.pulse::before { - content: ''; - display: block; - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: inherit; - border-radius: inherit; - -webkit-transition: opacity .3s, -webkit-transform .3s; - transition: opacity .3s, -webkit-transform .3s; - transition: opacity .3s, transform .3s; - transition: opacity .3s, transform .3s, -webkit-transform .3s; - -webkit-animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; - animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; - z-index: -1; -} - -@-webkit-keyframes pulse-animation { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } - 50% { - opacity: 0; - -webkit-transform: scale(1.5); - transform: scale(1.5); - } - 100% { - opacity: 0; - -webkit-transform: scale(1.5); - transform: scale(1.5); - } -} - -@keyframes pulse-animation { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } - 50% { - opacity: 0; - -webkit-transform: scale(1.5); - transform: scale(1.5); - } - 100% { - opacity: 0; - -webkit-transform: scale(1.5); - transform: scale(1.5); - } -} -.margin-bottom-35 { - margin-bottom: 35px; -} -.toast.teal.accent-3, -.toast.red.accent-2 { - color: black; -} -.offscreen { - clip-path: inset(100%); - clip: rect(1px 1px 1px 1px); /* IE 6/7 */ - clip: rect(1px, 1px, 1px, 1px); - height: 1px; - overflow: hidden; - position: absolute; - white-space: nowrap; /* added line */ - width: 1px; -} -.small-h1 { - font-size: 2.2rem; -} - -@media only screen and (max-width: 1800px) { - ul.hide-on-med-and-down { - display: none !important; + +.form .input-field { + margin-bottom: 1rem; +} + +.form label { + font-size: 0.875rem; + font-weight: 700; + margin-bottom: 0.5rem; + display: block; +} + +.form input { + padding-left: 0.5rem; + width: 100%; +} + +.form .btn { + width: 100%; +} + +select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + display: block; + appearance: none; + width: 100%; + border-width: 1px; + --border-opacity: 1; + border-color: #edf2f7; + border-color: rgba(237, 242, 247, var(--border-opacity)); + border-radius: 0.25rem; +} + +.modale { + --bg-opacity: 1; + background-color: #1a202c; + background-color: rgba(26, 32, 44, var(--bg-opacity)); + --bg-opacity: 1; + padding: 1rem; + padding-top: 2rem; + width: 100%; + height: 100%; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow-y: scroll; + z-index: 50; +} + +.modale div { + margin-left: auto; + margin-right: auto; + max-width: 56rem; +} + +.modale ul { + list-style-type: disc; + list-style-position: inside; +} + +/* My files page */ + +.block-div.myfiles hr { + margin-bottom: 0.5rem; +} + +.block-div.myfiles { + line-height: 1.25; +} + +.files-buttons { + margin-top: 1rem; + margin-bottom: 1rem; + display: grid; + grid-template-columns: repeat(1, minmax(0, 1fr)); + grid-gap: 0.5rem; + gap: 0.5rem; + text-align: center; +} + +@media (min-width: 1024px) { + .files-buttons { + margin-top: 1rem; + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); } - nav a.button-collapse { - display: block !important; +} + +.files-buttons .btn { + width: 100%; +} + +/* Index page */ + +.upload { + margin-top: 1rem; + margin-bottom: 1rem; + display: grid; + grid-template-columns: repeat(1, minmax(0, 1fr)); + grid-gap: 0.5rem; + gap: 0.5rem; +} + +@media (min-width: 1024px) { + .upload { + margin-top: 1rem; + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); } - nav .brand-logo { - left: 50%; - transform: translateX(-50%); +} + +@media (min-width: 1280px) { + .upload { + margin-top: 1rem; + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); } - nav .brand-logo.left, nav .brand-logo.right { - padding: 0; - transform: none; + + .upload #results { + grid-column: span 2 / span 2; } - nav .brand-logo.left { - left: 0.5rem; +} + +.upload .upload-form { + --bg-opacity: 1; + background-color: #1a202c; + background-color: rgba(26, 32, 44, var(--bg-opacity)); + --bg-opacity: 0.75; + border-radius: 0.375rem; + padding: 1rem; +} + +@media (min-width: 768px) { + .upload .upload-form { + line-height: 1.625; } - nav .brand-logo.right { - right: 0.5rem; - left: auto; +} + +@media (min-width: 1024px) { + .upload .upload-form { + line-height: 2; } } -.side-nav .btn-flat { - color: #444 !important; - padding: 0 1rem; - text-transform: initial !important; -} - -table.highlight > tbody > tr:hover { - background-color: #c6d4ee; -} - -.white-background { - background-color: #FFF; -} -.width-0 { width: 0%; } -.width-0-1 { width: 0.1%; } -.width-0-2 { width: 0.2%; } -.width-0-3 { width: 0.3%; } -.width-0-4 { width: 0.4%; } -.width-0-5 { width: 0.5%; } -.width-0-6 { width: 0.6%; } -.width-0-7 { width: 0.7%; } -.width-0-8 { width: 0.8%; } -.width-0-9 { width: 0.9%; } -.width-1 { width: 1%; } -.width-1-1 { width: 1.1%; } -.width-1-2 { width: 1.2%; } -.width-1-3 { width: 1.3%; } -.width-1-4 { width: 1.4%; } -.width-1-5 { width: 1.5%; } -.width-1-6 { width: 1.6%; } -.width-1-7 { width: 1.7%; } -.width-1-8 { width: 1.8%; } -.width-1-9 { width: 1.9%; } -.width-2 { width: 2%; } -.width-2-1 { width: 2.1%; } -.width-2-2 { width: 2.2%; } -.width-2-3 { width: 2.3%; } -.width-2-4 { width: 2.4%; } -.width-2-5 { width: 2.5%; } -.width-2-6 { width: 2.6%; } -.width-2-7 { width: 2.7%; } -.width-2-8 { width: 2.8%; } -.width-2-9 { width: 2.9%; } -.width-3 { width: 3%; } -.width-3-1 { width: 3.1%; } -.width-3-2 { width: 3.2%; } -.width-3-3 { width: 3.3%; } -.width-3-4 { width: 3.4%; } -.width-3-5 { width: 3.5%; } -.width-3-6 { width: 3.6%; } -.width-3-7 { width: 3.7%; } -.width-3-8 { width: 3.8%; } -.width-3-9 { width: 3.9%; } -.width-4 { width: 4%; } -.width-4-1 { width: 4.1%; } -.width-4-2 { width: 4.2%; } -.width-4-3 { width: 4.3%; } -.width-4-4 { width: 4.4%; } -.width-4-5 { width: 4.5%; } -.width-4-6 { width: 4.6%; } -.width-4-7 { width: 4.7%; } -.width-4-8 { width: 4.8%; } -.width-4-9 { width: 4.9%; } -.width-5 { width: 5%; } -.width-5-1 { width: 5.1%; } -.width-5-2 { width: 5.2%; } -.width-5-3 { width: 5.3%; } -.width-5-4 { width: 5.4%; } -.width-5-5 { width: 5.5%; } -.width-5-6 { width: 5.6%; } -.width-5-7 { width: 5.7%; } -.width-5-8 { width: 5.8%; } -.width-5-9 { width: 5.9%; } -.width-6 { width: 6%; } -.width-6-1 { width: 6.1%; } -.width-6-2 { width: 6.2%; } -.width-6-3 { width: 6.3%; } -.width-6-4 { width: 6.4%; } -.width-6-5 { width: 6.5%; } -.width-6-6 { width: 6.6%; } -.width-6-7 { width: 6.7%; } -.width-6-8 { width: 6.8%; } -.width-6-9 { width: 6.9%; } -.width-7 { width: 7%; } -.width-7-1 { width: 7.1%; } -.width-7-2 { width: 7.2%; } -.width-7-3 { width: 7.3%; } -.width-7-4 { width: 7.4%; } -.width-7-5 { width: 7.5%; } -.width-7-6 { width: 7.6%; } -.width-7-7 { width: 7.7%; } -.width-7-8 { width: 7.8%; } -.width-7-9 { width: 7.9%; } -.width-8 { width: 8%; } -.width-8-1 { width: 8.1%; } -.width-8-2 { width: 8.2%; } -.width-8-3 { width: 8.3%; } -.width-8-4 { width: 8.4%; } -.width-8-5 { width: 8.5%; } -.width-8-6 { width: 8.6%; } -.width-8-7 { width: 8.7%; } -.width-8-8 { width: 8.8%; } -.width-8-9 { width: 8.9%; } -.width-9 { width: 9%; } -.width-9-1 { width: 9.1%; } -.width-9-2 { width: 9.2%; } -.width-9-3 { width: 9.3%; } -.width-9-4 { width: 9.4%; } -.width-9-5 { width: 9.5%; } -.width-9-6 { width: 9.6%; } -.width-9-7 { width: 9.7%; } -.width-9-8 { width: 9.8%; } -.width-9-9 { width: 9.9%; } -.width-10 { width: 10%; } -.width-10-1 { width: 10.1%; } -.width-10-2 { width: 10.2%; } -.width-10-3 { width: 10.3%; } -.width-10-4 { width: 10.4%; } -.width-10-5 { width: 10.5%; } -.width-10-6 { width: 10.6%; } -.width-10-7 { width: 10.7%; } -.width-10-8 { width: 10.8%; } -.width-10-9 { width: 10.9%; } -.width-11 { width: 11%; } -.width-11-1 { width: 11.1%; } -.width-11-2 { width: 11.2%; } -.width-11-3 { width: 11.3%; } -.width-11-4 { width: 11.4%; } -.width-11-5 { width: 11.5%; } -.width-11-6 { width: 11.6%; } -.width-11-7 { width: 11.7%; } -.width-11-8 { width: 11.8%; } -.width-11-9 { width: 11.9%; } -.width-12 { width: 12%; } -.width-12-1 { width: 12.1%; } -.width-12-2 { width: 12.2%; } -.width-12-3 { width: 12.3%; } -.width-12-4 { width: 12.4%; } -.width-12-5 { width: 12.5%; } -.width-12-6 { width: 12.6%; } -.width-12-7 { width: 12.7%; } -.width-12-8 { width: 12.8%; } -.width-12-9 { width: 12.9%; } -.width-13 { width: 13%; } -.width-13-1 { width: 13.1%; } -.width-13-2 { width: 13.2%; } -.width-13-3 { width: 13.3%; } -.width-13-4 { width: 13.4%; } -.width-13-5 { width: 13.5%; } -.width-13-6 { width: 13.6%; } -.width-13-7 { width: 13.7%; } -.width-13-8 { width: 13.8%; } -.width-13-9 { width: 13.9%; } -.width-14 { width: 14%; } -.width-14-1 { width: 14.1%; } -.width-14-2 { width: 14.2%; } -.width-14-3 { width: 14.3%; } -.width-14-4 { width: 14.4%; } -.width-14-5 { width: 14.5%; } -.width-14-6 { width: 14.6%; } -.width-14-7 { width: 14.7%; } -.width-14-8 { width: 14.8%; } -.width-14-9 { width: 14.9%; } -.width-15 { width: 15%; } -.width-15-1 { width: 15.1%; } -.width-15-2 { width: 15.2%; } -.width-15-3 { width: 15.3%; } -.width-15-4 { width: 15.4%; } -.width-15-5 { width: 15.5%; } -.width-15-6 { width: 15.6%; } -.width-15-7 { width: 15.7%; } -.width-15-8 { width: 15.8%; } -.width-15-9 { width: 15.9%; } -.width-16 { width: 16%; } -.width-16-1 { width: 16.1%; } -.width-16-2 { width: 16.2%; } -.width-16-3 { width: 16.3%; } -.width-16-4 { width: 16.4%; } -.width-16-5 { width: 16.5%; } -.width-16-6 { width: 16.6%; } -.width-16-7 { width: 16.7%; } -.width-16-8 { width: 16.8%; } -.width-16-9 { width: 16.9%; } -.width-17 { width: 17%; } -.width-17-1 { width: 17.1%; } -.width-17-2 { width: 17.2%; } -.width-17-3 { width: 17.3%; } -.width-17-4 { width: 17.4%; } -.width-17-5 { width: 17.5%; } -.width-17-6 { width: 17.6%; } -.width-17-7 { width: 17.7%; } -.width-17-8 { width: 17.8%; } -.width-17-9 { width: 17.9%; } -.width-18 { width: 18%; } -.width-18-1 { width: 18.1%; } -.width-18-2 { width: 18.2%; } -.width-18-3 { width: 18.3%; } -.width-18-4 { width: 18.4%; } -.width-18-5 { width: 18.5%; } -.width-18-6 { width: 18.6%; } -.width-18-7 { width: 18.7%; } -.width-18-8 { width: 18.8%; } -.width-18-9 { width: 18.9%; } -.width-19 { width: 19%; } -.width-19-1 { width: 19.1%; } -.width-19-2 { width: 19.2%; } -.width-19-3 { width: 19.3%; } -.width-19-4 { width: 19.4%; } -.width-19-5 { width: 19.5%; } -.width-19-6 { width: 19.6%; } -.width-19-7 { width: 19.7%; } -.width-19-8 { width: 19.8%; } -.width-19-9 { width: 19.9%; } -.width-20 { width: 20%; } -.width-20-1 { width: 20.1%; } -.width-20-2 { width: 20.2%; } -.width-20-3 { width: 20.3%; } -.width-20-4 { width: 20.4%; } -.width-20-5 { width: 20.5%; } -.width-20-6 { width: 20.6%; } -.width-20-7 { width: 20.7%; } -.width-20-8 { width: 20.8%; } -.width-20-9 { width: 20.9%; } -.width-21 { width: 21%; } -.width-21-1 { width: 21.1%; } -.width-21-2 { width: 21.2%; } -.width-21-3 { width: 21.3%; } -.width-21-4 { width: 21.4%; } -.width-21-5 { width: 21.5%; } -.width-21-6 { width: 21.6%; } -.width-21-7 { width: 21.7%; } -.width-21-8 { width: 21.8%; } -.width-21-9 { width: 21.9%; } -.width-22 { width: 22%; } -.width-22-1 { width: 22.1%; } -.width-22-2 { width: 22.2%; } -.width-22-3 { width: 22.3%; } -.width-22-4 { width: 22.4%; } -.width-22-5 { width: 22.5%; } -.width-22-6 { width: 22.6%; } -.width-22-7 { width: 22.7%; } -.width-22-8 { width: 22.8%; } -.width-22-9 { width: 22.9%; } -.width-23 { width: 23%; } -.width-23-1 { width: 23.1%; } -.width-23-2 { width: 23.2%; } -.width-23-3 { width: 23.3%; } -.width-23-4 { width: 23.4%; } -.width-23-5 { width: 23.5%; } -.width-23-6 { width: 23.6%; } -.width-23-7 { width: 23.7%; } -.width-23-8 { width: 23.8%; } -.width-23-9 { width: 23.9%; } -.width-24 { width: 24%; } -.width-24-1 { width: 24.1%; } -.width-24-2 { width: 24.2%; } -.width-24-3 { width: 24.3%; } -.width-24-4 { width: 24.4%; } -.width-24-5 { width: 24.5%; } -.width-24-6 { width: 24.6%; } -.width-24-7 { width: 24.7%; } -.width-24-8 { width: 24.8%; } -.width-24-9 { width: 24.9%; } -.width-25 { width: 25%; } -.width-25-1 { width: 25.1%; } -.width-25-2 { width: 25.2%; } -.width-25-3 { width: 25.3%; } -.width-25-4 { width: 25.4%; } -.width-25-5 { width: 25.5%; } -.width-25-6 { width: 25.6%; } -.width-25-7 { width: 25.7%; } -.width-25-8 { width: 25.8%; } -.width-25-9 { width: 25.9%; } -.width-26 { width: 26%; } -.width-26-1 { width: 26.1%; } -.width-26-2 { width: 26.2%; } -.width-26-3 { width: 26.3%; } -.width-26-4 { width: 26.4%; } -.width-26-5 { width: 26.5%; } -.width-26-6 { width: 26.6%; } -.width-26-7 { width: 26.7%; } -.width-26-8 { width: 26.8%; } -.width-26-9 { width: 26.9%; } -.width-27 { width: 27%; } -.width-27-1 { width: 27.1%; } -.width-27-2 { width: 27.2%; } -.width-27-3 { width: 27.3%; } -.width-27-4 { width: 27.4%; } -.width-27-5 { width: 27.5%; } -.width-27-6 { width: 27.6%; } -.width-27-7 { width: 27.7%; } -.width-27-8 { width: 27.8%; } -.width-27-9 { width: 27.9%; } -.width-28 { width: 28%; } -.width-28-1 { width: 28.1%; } -.width-28-2 { width: 28.2%; } -.width-28-3 { width: 28.3%; } -.width-28-4 { width: 28.4%; } -.width-28-5 { width: 28.5%; } -.width-28-6 { width: 28.6%; } -.width-28-7 { width: 28.7%; } -.width-28-8 { width: 28.8%; } -.width-28-9 { width: 28.9%; } -.width-29 { width: 29%; } -.width-29-1 { width: 29.1%; } -.width-29-2 { width: 29.2%; } -.width-29-3 { width: 29.3%; } -.width-29-4 { width: 29.4%; } -.width-29-5 { width: 29.5%; } -.width-29-6 { width: 29.6%; } -.width-29-7 { width: 29.7%; } -.width-29-8 { width: 29.8%; } -.width-29-9 { width: 29.9%; } -.width-30 { width: 30%; } -.width-30-1 { width: 30.1%; } -.width-30-2 { width: 30.2%; } -.width-30-3 { width: 30.3%; } -.width-30-4 { width: 30.4%; } -.width-30-5 { width: 30.5%; } -.width-30-6 { width: 30.6%; } -.width-30-7 { width: 30.7%; } -.width-30-8 { width: 30.8%; } -.width-30-9 { width: 30.9%; } -.width-31 { width: 31%; } -.width-31-1 { width: 31.1%; } -.width-31-2 { width: 31.2%; } -.width-31-3 { width: 31.3%; } -.width-31-4 { width: 31.4%; } -.width-31-5 { width: 31.5%; } -.width-31-6 { width: 31.6%; } -.width-31-7 { width: 31.7%; } -.width-31-8 { width: 31.8%; } -.width-31-9 { width: 31.9%; } -.width-32 { width: 32%; } -.width-32-1 { width: 32.1%; } -.width-32-2 { width: 32.2%; } -.width-32-3 { width: 32.3%; } -.width-32-4 { width: 32.4%; } -.width-32-5 { width: 32.5%; } -.width-32-6 { width: 32.6%; } -.width-32-7 { width: 32.7%; } -.width-32-8 { width: 32.8%; } -.width-32-9 { width: 32.9%; } -.width-33 { width: 33%; } -.width-33-1 { width: 33.1%; } -.width-33-2 { width: 33.2%; } -.width-33-3 { width: 33.3%; } -.width-33-4 { width: 33.4%; } -.width-33-5 { width: 33.5%; } -.width-33-6 { width: 33.6%; } -.width-33-7 { width: 33.7%; } -.width-33-8 { width: 33.8%; } -.width-33-9 { width: 33.9%; } -.width-34 { width: 34%; } -.width-34-1 { width: 34.1%; } -.width-34-2 { width: 34.2%; } -.width-34-3 { width: 34.3%; } -.width-34-4 { width: 34.4%; } -.width-34-5 { width: 34.5%; } -.width-34-6 { width: 34.6%; } -.width-34-7 { width: 34.7%; } -.width-34-8 { width: 34.8%; } -.width-34-9 { width: 34.9%; } -.width-35 { width: 35%; } -.width-35-1 { width: 35.1%; } -.width-35-2 { width: 35.2%; } -.width-35-3 { width: 35.3%; } -.width-35-4 { width: 35.4%; } -.width-35-5 { width: 35.5%; } -.width-35-6 { width: 35.6%; } -.width-35-7 { width: 35.7%; } -.width-35-8 { width: 35.8%; } -.width-35-9 { width: 35.9%; } -.width-36 { width: 36%; } -.width-36-1 { width: 36.1%; } -.width-36-2 { width: 36.2%; } -.width-36-3 { width: 36.3%; } -.width-36-4 { width: 36.4%; } -.width-36-5 { width: 36.5%; } -.width-36-6 { width: 36.6%; } -.width-36-7 { width: 36.7%; } -.width-36-8 { width: 36.8%; } -.width-36-9 { width: 36.9%; } -.width-37 { width: 37%; } -.width-37-1 { width: 37.1%; } -.width-37-2 { width: 37.2%; } -.width-37-3 { width: 37.3%; } -.width-37-4 { width: 37.4%; } -.width-37-5 { width: 37.5%; } -.width-37-6 { width: 37.6%; } -.width-37-7 { width: 37.7%; } -.width-37-8 { width: 37.8%; } -.width-37-9 { width: 37.9%; } -.width-38 { width: 38%; } -.width-38-1 { width: 38.1%; } -.width-38-2 { width: 38.2%; } -.width-38-3 { width: 38.3%; } -.width-38-4 { width: 38.4%; } -.width-38-5 { width: 38.5%; } -.width-38-6 { width: 38.6%; } -.width-38-7 { width: 38.7%; } -.width-38-8 { width: 38.8%; } -.width-38-9 { width: 38.9%; } -.width-39 { width: 39%; } -.width-39-1 { width: 39.1%; } -.width-39-2 { width: 39.2%; } -.width-39-3 { width: 39.3%; } -.width-39-4 { width: 39.4%; } -.width-39-5 { width: 39.5%; } -.width-39-6 { width: 39.6%; } -.width-39-7 { width: 39.7%; } -.width-39-8 { width: 39.8%; } -.width-39-9 { width: 39.9%; } -.width-40 { width: 40%; } -.width-40-1 { width: 40.1%; } -.width-40-2 { width: 40.2%; } -.width-40-3 { width: 40.3%; } -.width-40-4 { width: 40.4%; } -.width-40-5 { width: 40.5%; } -.width-40-6 { width: 40.6%; } -.width-40-7 { width: 40.7%; } -.width-40-8 { width: 40.8%; } -.width-40-9 { width: 40.9%; } -.width-41 { width: 41%; } -.width-41-1 { width: 41.1%; } -.width-41-2 { width: 41.2%; } -.width-41-3 { width: 41.3%; } -.width-41-4 { width: 41.4%; } -.width-41-5 { width: 41.5%; } -.width-41-6 { width: 41.6%; } -.width-41-7 { width: 41.7%; } -.width-41-8 { width: 41.8%; } -.width-41-9 { width: 41.9%; } -.width-42 { width: 42%; } -.width-42-1 { width: 42.1%; } -.width-42-2 { width: 42.2%; } -.width-42-3 { width: 42.3%; } -.width-42-4 { width: 42.4%; } -.width-42-5 { width: 42.5%; } -.width-42-6 { width: 42.6%; } -.width-42-7 { width: 42.7%; } -.width-42-8 { width: 42.8%; } -.width-42-9 { width: 42.9%; } -.width-43 { width: 43%; } -.width-43-1 { width: 43.1%; } -.width-43-2 { width: 43.2%; } -.width-43-3 { width: 43.3%; } -.width-43-4 { width: 43.4%; } -.width-43-5 { width: 43.5%; } -.width-43-6 { width: 43.6%; } -.width-43-7 { width: 43.7%; } -.width-43-8 { width: 43.8%; } -.width-43-9 { width: 43.9%; } -.width-44 { width: 44%; } -.width-44-1 { width: 44.1%; } -.width-44-2 { width: 44.2%; } -.width-44-3 { width: 44.3%; } -.width-44-4 { width: 44.4%; } -.width-44-5 { width: 44.5%; } -.width-44-6 { width: 44.6%; } -.width-44-7 { width: 44.7%; } -.width-44-8 { width: 44.8%; } -.width-44-9 { width: 44.9%; } -.width-45 { width: 45%; } -.width-45-1 { width: 45.1%; } -.width-45-2 { width: 45.2%; } -.width-45-3 { width: 45.3%; } -.width-45-4 { width: 45.4%; } -.width-45-5 { width: 45.5%; } -.width-45-6 { width: 45.6%; } -.width-45-7 { width: 45.7%; } -.width-45-8 { width: 45.8%; } -.width-45-9 { width: 45.9%; } -.width-46 { width: 46%; } -.width-46-1 { width: 46.1%; } -.width-46-2 { width: 46.2%; } -.width-46-3 { width: 46.3%; } -.width-46-4 { width: 46.4%; } -.width-46-5 { width: 46.5%; } -.width-46-6 { width: 46.6%; } -.width-46-7 { width: 46.7%; } -.width-46-8 { width: 46.8%; } -.width-46-9 { width: 46.9%; } -.width-47 { width: 47%; } -.width-47-1 { width: 47.1%; } -.width-47-2 { width: 47.2%; } -.width-47-3 { width: 47.3%; } -.width-47-4 { width: 47.4%; } -.width-47-5 { width: 47.5%; } -.width-47-6 { width: 47.6%; } -.width-47-7 { width: 47.7%; } -.width-47-8 { width: 47.8%; } -.width-47-9 { width: 47.9%; } -.width-48 { width: 48%; } -.width-48-1 { width: 48.1%; } -.width-48-2 { width: 48.2%; } -.width-48-3 { width: 48.3%; } -.width-48-4 { width: 48.4%; } -.width-48-5 { width: 48.5%; } -.width-48-6 { width: 48.6%; } -.width-48-7 { width: 48.7%; } -.width-48-8 { width: 48.8%; } -.width-48-9 { width: 48.9%; } -.width-49 { width: 49%; } -.width-49-1 { width: 49.1%; } -.width-49-2 { width: 49.2%; } -.width-49-3 { width: 49.3%; } -.width-49-4 { width: 49.4%; } -.width-49-5 { width: 49.5%; } -.width-49-6 { width: 49.6%; } -.width-49-7 { width: 49.7%; } -.width-49-8 { width: 49.8%; } -.width-49-9 { width: 49.9%; } -.width-50 { width: 50%; } -.width-50-1 { width: 50.1%; } -.width-50-2 { width: 50.2%; } -.width-50-3 { width: 50.3%; } -.width-50-4 { width: 50.4%; } -.width-50-5 { width: 50.5%; } -.width-50-6 { width: 50.6%; } -.width-50-7 { width: 50.7%; } -.width-50-8 { width: 50.8%; } -.width-50-9 { width: 50.9%; } -.width-51 { width: 51%; } -.width-51-1 { width: 51.1%; } -.width-51-2 { width: 51.2%; } -.width-51-3 { width: 51.3%; } -.width-51-4 { width: 51.4%; } -.width-51-5 { width: 51.5%; } -.width-51-6 { width: 51.6%; } -.width-51-7 { width: 51.7%; } -.width-51-8 { width: 51.8%; } -.width-51-9 { width: 51.9%; } -.width-52 { width: 52%; } -.width-52-1 { width: 52.1%; } -.width-52-2 { width: 52.2%; } -.width-52-3 { width: 52.3%; } -.width-52-4 { width: 52.4%; } -.width-52-5 { width: 52.5%; } -.width-52-6 { width: 52.6%; } -.width-52-7 { width: 52.7%; } -.width-52-8 { width: 52.8%; } -.width-52-9 { width: 52.9%; } -.width-53 { width: 53%; } -.width-53-1 { width: 53.1%; } -.width-53-2 { width: 53.2%; } -.width-53-3 { width: 53.3%; } -.width-53-4 { width: 53.4%; } -.width-53-5 { width: 53.5%; } -.width-53-6 { width: 53.6%; } -.width-53-7 { width: 53.7%; } -.width-53-8 { width: 53.8%; } -.width-53-9 { width: 53.9%; } -.width-54 { width: 54%; } -.width-54-1 { width: 54.1%; } -.width-54-2 { width: 54.2%; } -.width-54-3 { width: 54.3%; } -.width-54-4 { width: 54.4%; } -.width-54-5 { width: 54.5%; } -.width-54-6 { width: 54.6%; } -.width-54-7 { width: 54.7%; } -.width-54-8 { width: 54.8%; } -.width-54-9 { width: 54.9%; } -.width-55 { width: 55%; } -.width-55-1 { width: 55.1%; } -.width-55-2 { width: 55.2%; } -.width-55-3 { width: 55.3%; } -.width-55-4 { width: 55.4%; } -.width-55-5 { width: 55.5%; } -.width-55-6 { width: 55.6%; } -.width-55-7 { width: 55.7%; } -.width-55-8 { width: 55.8%; } -.width-55-9 { width: 55.9%; } -.width-56 { width: 56%; } -.width-56-1 { width: 56.1%; } -.width-56-2 { width: 56.2%; } -.width-56-3 { width: 56.3%; } -.width-56-4 { width: 56.4%; } -.width-56-5 { width: 56.5%; } -.width-56-6 { width: 56.6%; } -.width-56-7 { width: 56.7%; } -.width-56-8 { width: 56.8%; } -.width-56-9 { width: 56.9%; } -.width-57 { width: 57%; } -.width-57-1 { width: 57.1%; } -.width-57-2 { width: 57.2%; } -.width-57-3 { width: 57.3%; } -.width-57-4 { width: 57.4%; } -.width-57-5 { width: 57.5%; } -.width-57-6 { width: 57.6%; } -.width-57-7 { width: 57.7%; } -.width-57-8 { width: 57.8%; } -.width-57-9 { width: 57.9%; } -.width-58 { width: 58%; } -.width-58-1 { width: 58.1%; } -.width-58-2 { width: 58.2%; } -.width-58-3 { width: 58.3%; } -.width-58-4 { width: 58.4%; } -.width-58-5 { width: 58.5%; } -.width-58-6 { width: 58.6%; } -.width-58-7 { width: 58.7%; } -.width-58-8 { width: 58.8%; } -.width-58-9 { width: 58.9%; } -.width-59 { width: 59%; } -.width-59-1 { width: 59.1%; } -.width-59-2 { width: 59.2%; } -.width-59-3 { width: 59.3%; } -.width-59-4 { width: 59.4%; } -.width-59-5 { width: 59.5%; } -.width-59-6 { width: 59.6%; } -.width-59-7 { width: 59.7%; } -.width-59-8 { width: 59.8%; } -.width-59-9 { width: 59.9%; } -.width-60 { width: 60%; } -.width-60-1 { width: 60.1%; } -.width-60-2 { width: 60.2%; } -.width-60-3 { width: 60.3%; } -.width-60-4 { width: 60.4%; } -.width-60-5 { width: 60.5%; } -.width-60-6 { width: 60.6%; } -.width-60-7 { width: 60.7%; } -.width-60-8 { width: 60.8%; } -.width-60-9 { width: 60.9%; } -.width-61 { width: 61%; } -.width-61-1 { width: 61.1%; } -.width-61-2 { width: 61.2%; } -.width-61-3 { width: 61.3%; } -.width-61-4 { width: 61.4%; } -.width-61-5 { width: 61.5%; } -.width-61-6 { width: 61.6%; } -.width-61-7 { width: 61.7%; } -.width-61-8 { width: 61.8%; } -.width-61-9 { width: 61.9%; } -.width-62 { width: 62%; } -.width-62-1 { width: 62.1%; } -.width-62-2 { width: 62.2%; } -.width-62-3 { width: 62.3%; } -.width-62-4 { width: 62.4%; } -.width-62-5 { width: 62.5%; } -.width-62-6 { width: 62.6%; } -.width-62-7 { width: 62.7%; } -.width-62-8 { width: 62.8%; } -.width-62-9 { width: 62.9%; } -.width-63 { width: 63%; } -.width-63-1 { width: 63.1%; } -.width-63-2 { width: 63.2%; } -.width-63-3 { width: 63.3%; } -.width-63-4 { width: 63.4%; } -.width-63-5 { width: 63.5%; } -.width-63-6 { width: 63.6%; } -.width-63-7 { width: 63.7%; } -.width-63-8 { width: 63.8%; } -.width-63-9 { width: 63.9%; } -.width-64 { width: 64%; } -.width-64-1 { width: 64.1%; } -.width-64-2 { width: 64.2%; } -.width-64-3 { width: 64.3%; } -.width-64-4 { width: 64.4%; } -.width-64-5 { width: 64.5%; } -.width-64-6 { width: 64.6%; } -.width-64-7 { width: 64.7%; } -.width-64-8 { width: 64.8%; } -.width-64-9 { width: 64.9%; } -.width-65 { width: 65%; } -.width-65-1 { width: 65.1%; } -.width-65-2 { width: 65.2%; } -.width-65-3 { width: 65.3%; } -.width-65-4 { width: 65.4%; } -.width-65-5 { width: 65.5%; } -.width-65-6 { width: 65.6%; } -.width-65-7 { width: 65.7%; } -.width-65-8 { width: 65.8%; } -.width-65-9 { width: 65.9%; } -.width-66 { width: 66%; } -.width-66-1 { width: 66.1%; } -.width-66-2 { width: 66.2%; } -.width-66-3 { width: 66.3%; } -.width-66-4 { width: 66.4%; } -.width-66-5 { width: 66.5%; } -.width-66-6 { width: 66.6%; } -.width-66-7 { width: 66.7%; } -.width-66-8 { width: 66.8%; } -.width-66-9 { width: 66.9%; } -.width-67 { width: 67%; } -.width-67-1 { width: 67.1%; } -.width-67-2 { width: 67.2%; } -.width-67-3 { width: 67.3%; } -.width-67-4 { width: 67.4%; } -.width-67-5 { width: 67.5%; } -.width-67-6 { width: 67.6%; } -.width-67-7 { width: 67.7%; } -.width-67-8 { width: 67.8%; } -.width-67-9 { width: 67.9%; } -.width-68 { width: 68%; } -.width-68-1 { width: 68.1%; } -.width-68-2 { width: 68.2%; } -.width-68-3 { width: 68.3%; } -.width-68-4 { width: 68.4%; } -.width-68-5 { width: 68.5%; } -.width-68-6 { width: 68.6%; } -.width-68-7 { width: 68.7%; } -.width-68-8 { width: 68.8%; } -.width-68-9 { width: 68.9%; } -.width-69 { width: 69%; } -.width-69-1 { width: 69.1%; } -.width-69-2 { width: 69.2%; } -.width-69-3 { width: 69.3%; } -.width-69-4 { width: 69.4%; } -.width-69-5 { width: 69.5%; } -.width-69-6 { width: 69.6%; } -.width-69-7 { width: 69.7%; } -.width-69-8 { width: 69.8%; } -.width-69-9 { width: 69.9%; } -.width-70 { width: 70%; } -.width-70-1 { width: 70.1%; } -.width-70-2 { width: 70.2%; } -.width-70-3 { width: 70.3%; } -.width-70-4 { width: 70.4%; } -.width-70-5 { width: 70.5%; } -.width-70-6 { width: 70.6%; } -.width-70-7 { width: 70.7%; } -.width-70-8 { width: 70.8%; } -.width-70-9 { width: 70.9%; } -.width-71 { width: 71%; } -.width-71-1 { width: 71.1%; } -.width-71-2 { width: 71.2%; } -.width-71-3 { width: 71.3%; } -.width-71-4 { width: 71.4%; } -.width-71-5 { width: 71.5%; } -.width-71-6 { width: 71.6%; } -.width-71-7 { width: 71.7%; } -.width-71-8 { width: 71.8%; } -.width-71-9 { width: 71.9%; } -.width-72 { width: 72%; } -.width-72-1 { width: 72.1%; } -.width-72-2 { width: 72.2%; } -.width-72-3 { width: 72.3%; } -.width-72-4 { width: 72.4%; } -.width-72-5 { width: 72.5%; } -.width-72-6 { width: 72.6%; } -.width-72-7 { width: 72.7%; } -.width-72-8 { width: 72.8%; } -.width-72-9 { width: 72.9%; } -.width-73 { width: 73%; } -.width-73-1 { width: 73.1%; } -.width-73-2 { width: 73.2%; } -.width-73-3 { width: 73.3%; } -.width-73-4 { width: 73.4%; } -.width-73-5 { width: 73.5%; } -.width-73-6 { width: 73.6%; } -.width-73-7 { width: 73.7%; } -.width-73-8 { width: 73.8%; } -.width-73-9 { width: 73.9%; } -.width-74 { width: 74%; } -.width-74-1 { width: 74.1%; } -.width-74-2 { width: 74.2%; } -.width-74-3 { width: 74.3%; } -.width-74-4 { width: 74.4%; } -.width-74-5 { width: 74.5%; } -.width-74-6 { width: 74.6%; } -.width-74-7 { width: 74.7%; } -.width-74-8 { width: 74.8%; } -.width-74-9 { width: 74.9%; } -.width-75 { width: 75%; } -.width-75-1 { width: 75.1%; } -.width-75-2 { width: 75.2%; } -.width-75-3 { width: 75.3%; } -.width-75-4 { width: 75.4%; } -.width-75-5 { width: 75.5%; } -.width-75-6 { width: 75.6%; } -.width-75-7 { width: 75.7%; } -.width-75-8 { width: 75.8%; } -.width-75-9 { width: 75.9%; } -.width-76 { width: 76%; } -.width-76-1 { width: 76.1%; } -.width-76-2 { width: 76.2%; } -.width-76-3 { width: 76.3%; } -.width-76-4 { width: 76.4%; } -.width-76-5 { width: 76.5%; } -.width-76-6 { width: 76.6%; } -.width-76-7 { width: 76.7%; } -.width-76-8 { width: 76.8%; } -.width-76-9 { width: 76.9%; } -.width-77 { width: 77%; } -.width-77-1 { width: 77.1%; } -.width-77-2 { width: 77.2%; } -.width-77-3 { width: 77.3%; } -.width-77-4 { width: 77.4%; } -.width-77-5 { width: 77.5%; } -.width-77-6 { width: 77.6%; } -.width-77-7 { width: 77.7%; } -.width-77-8 { width: 77.8%; } -.width-77-9 { width: 77.9%; } -.width-78 { width: 78%; } -.width-78-1 { width: 78.1%; } -.width-78-2 { width: 78.2%; } -.width-78-3 { width: 78.3%; } -.width-78-4 { width: 78.4%; } -.width-78-5 { width: 78.5%; } -.width-78-6 { width: 78.6%; } -.width-78-7 { width: 78.7%; } -.width-78-8 { width: 78.8%; } -.width-78-9 { width: 78.9%; } -.width-79 { width: 79%; } -.width-79-1 { width: 79.1%; } -.width-79-2 { width: 79.2%; } -.width-79-3 { width: 79.3%; } -.width-79-4 { width: 79.4%; } -.width-79-5 { width: 79.5%; } -.width-79-6 { width: 79.6%; } -.width-79-7 { width: 79.7%; } -.width-79-8 { width: 79.8%; } -.width-79-9 { width: 79.9%; } -.width-80 { width: 80%; } -.width-80-1 { width: 80.1%; } -.width-80-2 { width: 80.2%; } -.width-80-3 { width: 80.3%; } -.width-80-4 { width: 80.4%; } -.width-80-5 { width: 80.5%; } -.width-80-6 { width: 80.6%; } -.width-80-7 { width: 80.7%; } -.width-80-8 { width: 80.8%; } -.width-80-9 { width: 80.9%; } -.width-81 { width: 81%; } -.width-81-1 { width: 81.1%; } -.width-81-2 { width: 81.2%; } -.width-81-3 { width: 81.3%; } -.width-81-4 { width: 81.4%; } -.width-81-5 { width: 81.5%; } -.width-81-6 { width: 81.6%; } -.width-81-7 { width: 81.7%; } -.width-81-8 { width: 81.8%; } -.width-81-9 { width: 81.9%; } -.width-82 { width: 82%; } -.width-82-1 { width: 82.1%; } -.width-82-2 { width: 82.2%; } -.width-82-3 { width: 82.3%; } -.width-82-4 { width: 82.4%; } -.width-82-5 { width: 82.5%; } -.width-82-6 { width: 82.6%; } -.width-82-7 { width: 82.7%; } -.width-82-8 { width: 82.8%; } -.width-82-9 { width: 82.9%; } -.width-83 { width: 83%; } -.width-83-1 { width: 83.1%; } -.width-83-2 { width: 83.2%; } -.width-83-3 { width: 83.3%; } -.width-83-4 { width: 83.4%; } -.width-83-5 { width: 83.5%; } -.width-83-6 { width: 83.6%; } -.width-83-7 { width: 83.7%; } -.width-83-8 { width: 83.8%; } -.width-83-9 { width: 83.9%; } -.width-84 { width: 84%; } -.width-84-1 { width: 84.1%; } -.width-84-2 { width: 84.2%; } -.width-84-3 { width: 84.3%; } -.width-84-4 { width: 84.4%; } -.width-84-5 { width: 84.5%; } -.width-84-6 { width: 84.6%; } -.width-84-7 { width: 84.7%; } -.width-84-8 { width: 84.8%; } -.width-84-9 { width: 84.9%; } -.width-85 { width: 85%; } -.width-85-1 { width: 85.1%; } -.width-85-2 { width: 85.2%; } -.width-85-3 { width: 85.3%; } -.width-85-4 { width: 85.4%; } -.width-85-5 { width: 85.5%; } -.width-85-6 { width: 85.6%; } -.width-85-7 { width: 85.7%; } -.width-85-8 { width: 85.8%; } -.width-85-9 { width: 85.9%; } -.width-86 { width: 86%; } -.width-86-1 { width: 86.1%; } -.width-86-2 { width: 86.2%; } -.width-86-3 { width: 86.3%; } -.width-86-4 { width: 86.4%; } -.width-86-5 { width: 86.5%; } -.width-86-6 { width: 86.6%; } -.width-86-7 { width: 86.7%; } -.width-86-8 { width: 86.8%; } -.width-86-9 { width: 86.9%; } -.width-87 { width: 87%; } -.width-87-1 { width: 87.1%; } -.width-87-2 { width: 87.2%; } -.width-87-3 { width: 87.3%; } -.width-87-4 { width: 87.4%; } -.width-87-5 { width: 87.5%; } -.width-87-6 { width: 87.6%; } -.width-87-7 { width: 87.7%; } -.width-87-8 { width: 87.8%; } -.width-87-9 { width: 87.9%; } -.width-88 { width: 88%; } -.width-88-1 { width: 88.1%; } -.width-88-2 { width: 88.2%; } -.width-88-3 { width: 88.3%; } -.width-88-4 { width: 88.4%; } -.width-88-5 { width: 88.5%; } -.width-88-6 { width: 88.6%; } -.width-88-7 { width: 88.7%; } -.width-88-8 { width: 88.8%; } -.width-88-9 { width: 88.9%; } -.width-89 { width: 89%; } -.width-89-1 { width: 89.1%; } -.width-89-2 { width: 89.2%; } -.width-89-3 { width: 89.3%; } -.width-89-4 { width: 89.4%; } -.width-89-5 { width: 89.5%; } -.width-89-6 { width: 89.6%; } -.width-89-7 { width: 89.7%; } -.width-89-8 { width: 89.8%; } -.width-89-9 { width: 89.9%; } -.width-90 { width: 90%; } -.width-90-1 { width: 90.1%; } -.width-90-2 { width: 90.2%; } -.width-90-3 { width: 90.3%; } -.width-90-4 { width: 90.4%; } -.width-90-5 { width: 90.5%; } -.width-90-6 { width: 90.6%; } -.width-90-7 { width: 90.7%; } -.width-90-8 { width: 90.8%; } -.width-90-9 { width: 90.9%; } -.width-91 { width: 91%; } -.width-91-1 { width: 91.1%; } -.width-91-2 { width: 91.2%; } -.width-91-3 { width: 91.3%; } -.width-91-4 { width: 91.4%; } -.width-91-5 { width: 91.5%; } -.width-91-6 { width: 91.6%; } -.width-91-7 { width: 91.7%; } -.width-91-8 { width: 91.8%; } -.width-91-9 { width: 91.9%; } -.width-92 { width: 92%; } -.width-92-1 { width: 92.1%; } -.width-92-2 { width: 92.2%; } -.width-92-3 { width: 92.3%; } -.width-92-4 { width: 92.4%; } -.width-92-5 { width: 92.5%; } -.width-92-6 { width: 92.6%; } -.width-92-7 { width: 92.7%; } -.width-92-8 { width: 92.8%; } -.width-92-9 { width: 92.9%; } -.width-93 { width: 93%; } -.width-93-1 { width: 93.1%; } -.width-93-2 { width: 93.2%; } -.width-93-3 { width: 93.3%; } -.width-93-4 { width: 93.4%; } -.width-93-5 { width: 93.5%; } -.width-93-6 { width: 93.6%; } -.width-93-7 { width: 93.7%; } -.width-93-8 { width: 93.8%; } -.width-93-9 { width: 93.9%; } -.width-94 { width: 94%; } -.width-94-1 { width: 94.1%; } -.width-94-2 { width: 94.2%; } -.width-94-3 { width: 94.3%; } -.width-94-4 { width: 94.4%; } -.width-94-5 { width: 94.5%; } -.width-94-6 { width: 94.6%; } -.width-94-7 { width: 94.7%; } -.width-94-8 { width: 94.8%; } -.width-94-9 { width: 94.9%; } -.width-95 { width: 95%; } -.width-95-1 { width: 95.1%; } -.width-95-2 { width: 95.2%; } -.width-95-3 { width: 95.3%; } -.width-95-4 { width: 95.4%; } -.width-95-5 { width: 95.5%; } -.width-95-6 { width: 95.6%; } -.width-95-7 { width: 95.7%; } -.width-95-8 { width: 95.8%; } -.width-95-9 { width: 95.9%; } -.width-96 { width: 96%; } -.width-96-1 { width: 96.1%; } -.width-96-2 { width: 96.2%; } -.width-96-3 { width: 96.3%; } -.width-96-4 { width: 96.4%; } -.width-96-5 { width: 96.5%; } -.width-96-6 { width: 96.6%; } -.width-96-7 { width: 96.7%; } -.width-96-8 { width: 96.8%; } -.width-96-9 { width: 96.9%; } -.width-97 { width: 97%; } -.width-97-1 { width: 97.1%; } -.width-97-2 { width: 97.2%; } -.width-97-3 { width: 97.3%; } -.width-97-4 { width: 97.4%; } -.width-97-5 { width: 97.5%; } -.width-97-6 { width: 97.6%; } -.width-97-7 { width: 97.7%; } -.width-97-8 { width: 97.8%; } -.width-97-9 { width: 97.9%; } -.width-98 { width: 98%; } -.width-98-1 { width: 98.1%; } -.width-98-2 { width: 98.2%; } -.width-98-3 { width: 98.3%; } -.width-98-4 { width: 98.4%; } -.width-98-5 { width: 98.5%; } -.width-98-6 { width: 98.6%; } -.width-98-7 { width: 98.7%; } -.width-98-8 { width: 98.8%; } -.width-98-9 { width: 98.9%; } -.width-99 { width: 99%; } -.width-99-1 { width: 99.1%; } -.width-99-2 { width: 99.2%; } -.width-99-3 { width: 99.3%; } -.width-99-4 { width: 99.4%; } -.width-99-5 { width: 99.5%; } -.width-99-6 { width: 99.6%; } -.width-99-7 { width: 99.7%; } -.width-99-8 { width: 99.8%; } -.width-99-9 { width: 99.9%; } -.width-100 { width: 100%; } +.upload .upload-form select { + line-height: 1.5; +} + +.upload .upload-form input { + padding-left: 0.5rem; + line-height: 1.625; +} + +.upload .upload-form select, +.upload .upload-form input, +.upload .upload-form { + --bg-opacity: 1; + background-color: #4a5568; + background-color: rgba(74, 85, 104, var(--bg-opacity)); + --bg-opacity: 0.75; +} + +.upload #results h1 { + font-size: 1.25rem; + text-align: center; +} + +.upload .upload-form .input-field { + position: relative; +} + +.upload .upload-form [type="checkbox"] { + width: 1rem; + height: 1rem; +} + +.upload #files { + text-align: center; + margin-top: 1rem; + padding: 1rem; + border-width: 2px; + --border-opacity: 1; + border-color: #edf2f7; + border-color: rgba(237, 242, 247, var(--border-opacity)); + border-style: dashed; +} + +.upload #results { + --bg-opacity: 1; + background-color: #4a5568; + background-color: rgba(74, 85, 104, var(--bg-opacity)); + --bg-opacity: 0.75; + border-radius: 0.375rem; + padding: 1rem; + margin-left: 2.5rem; + margin-right: 2.5rem; +} + +.form.invite { + max-width: 42rem; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.inline-block { + display: inline-block; +} + +.flex { + display: flex; +} + +.table { + display: table; +} + +.hidden { + display: none; +} + +.items-center { + align-items: center; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.pointer-events-none { + pointer-events: none; +} + +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.inset-y-0 { + top: 0; + bottom: 0; +} + +.right-0 { + right: 0; +} + +.text-left { + text-align: left; +} + +.text-gray-700 { + --text-opacity: 1; + color: #4a5568; + color: rgba(74, 85, 104, var(--text-opacity)); +} + +.no-underline { + text-decoration: none; +} diff --git a/themes/default/public/css/lufi.min.css b/themes/default/public/css/lufi.min.css new file mode 100644 index 0000000..6caf9a5 --- /dev/null +++ b/themes/default/public/css/lufi.min.css @@ -0,0 +1,2 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html{-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}body{margin:0;background-size:cover;background-image:repeating-linear-gradient(135deg,#00000033,#00000033 63%,transparent 63%,transparent),url(../background);--text-opacity: 1;color:#fff;color:rgba(255,255,255,var(--text-opacity));min-height:100vh}details,main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}code,kbd,pre,samp{font-size:1em}a{background-color:transparent;color:inherit;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:solid}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{margin:0;padding:0}legend{color:inherit;display:table;max-width:100%;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.navbar ul li.navbrand,.navbar ul.show-menu li,summary{display:list-item}[hidden],template{display:none}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}ol,ul{list-style:none;margin:0;padding:0}*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e2e8f0}hr{border-top-width:1px}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#a0aec0}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,input::-ms-input-placeholder,textarea:-ms-input-placeholder,textarea::-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}.dropdown li,.dropdown span,[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}body>*{padding-left:1rem;padding-right:1rem}body.rtl{direction:rtl}.navbar,main>*{--bg-opacity: 1;--bg-opacity: 0.75}.navbar,.navbar ul li.dropdown ul{background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.navbar{width:100%}.dropdown.user ul li.active,.form label,.navbar .navbrand,.navbar ul li.active{font-weight:700}.navbar ul li{padding:.25rem .5rem;display:none}.dropdown.user ul li *,.navbar ul li>*{vertical-align:middle;text-decoration:none;border-style:solid;--border-opacity: 1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity));border-bottom-width:4px}.navbar ul li.navbrand *{border-style:none;display:inline-block}.navbar .hamburger{float:right}@media (min-width:1280px){.navbar .navbrand .hamburger{display:none}.navbar ul{display:flex}.navbar ul li{display:list-item}}.dropdown.active ul li.active *,.navbar ul li.active *{border-style:solid;--border-opacity: 1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity));border-bottom-width:4px;text-decoration:none}.navbar ul li.dropdown,.upload .upload-form .input-field{position:relative}.navbar ul li.dropdown.lang *,.navbar ul li.dropdown.user>a{--border-opacity: 0}.dropdown a{display:ruby}.navbar ul li.dropdown ul{--bg-opacity: 1;position:absolute;margin-top:.25rem;display:block;white-space:nowrap}.dropdown.lang ul li{text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.dropdown.user ul,.dropdown.user ul li form{border-style:none}.dropdown.user button,.navbar{font-size:1rem;text-transform:uppercase}.card,main{margin-top:1rem}main{width:auto;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));max-width:72rem}main>*{background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity));padding:1rem}main a{--text-opacity: 1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}main a:visited,svg{--text-opacity: 1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}svg{color:#fff;color:rgba(255,255,255,var(--text-opacity))}svg.icon-hamburger{height:2rem;width:2rem}svg.icon-infos,svg.icon-upload{border-radius:9999px;--text-opacity: 1}svg.icon-infos{height:1.25rem;width:1.25rem;color:#4299e1;color:rgba(66,153,225,var(--text-opacity));display:inline-block;--bg-opacity: 1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}svg.icon-upload{margin-left:auto;margin-right:auto;--border-opacity: 1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity));border-width:8px;height:8rem;width:8rem;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.card{padding:1rem}.card.mini{padding-left:.25rem;padding-right:0;padding-top:0;padding-bottom:0;margin-top:.25rem;margin-bottom:.25rem}.card.error,.card.info{--text-opacity: 1;border-left-width:4px}.card.error{--bg-opacity: 1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity));color:#c05621;color:rgba(192,86,33,var(--text-opacity));--border-opacity: 1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.card.info{background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity));color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity));border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.btn a{--text-opacity: 1 !important;color:#fff!important;color:rgba(255,255,255,var(--text-opacity))!important;text-align:center!important;text-decoration:none!important}.btn,.btn:hover,.card.info{--bg-opacity: 1;--border-opacity: 1}.btn{background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity));font-weight:700;padding:.25rem .5rem;border-width:2px;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity));border-radius:.25rem;--text-opacity: 1 !important;color:#fff!important;color:rgba(255,255,255,var(--text-opacity))!important;text-align:center!important;text-decoration:none!important}.btn:hover{background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity));border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.btn.disabled{opacity:.5;cursor:not-allowed}.form,.modale div{margin-left:auto;margin-right:auto}.form .input-field{margin-bottom:1rem}.form label{font-size:.875rem;display:block}.form input{padding-left:.5rem;width:100%}.form .btn,.modale,select{width:100%}select{-webkit-appearance:none;-moz-appearance:none;display:block;appearance:none;border-width:1px;--border-opacity: 1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity));border-radius:.25rem}.modale{background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity));--bg-opacity: 1;padding:2rem 1rem 1rem;height:100%;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:scroll;z-index:50}.modale div{max-width:56rem}.modale ul{list-style-type:disc;list-style-position:inside}.block-div.myfiles hr,.form label{margin-bottom:.5rem}.block-div.myfiles{line-height:1.25}.files-buttons{margin-top:1rem;margin-bottom:1rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;text-align:center}@media (min-width:1024px){.files-buttons{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.files-buttons .btn{width:100%}.upload{margin-top:1rem;margin-bottom:1rem;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}@media (min-width:1024px){.upload{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.upload{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.upload #results{grid-column:span 2/span 2}}.upload .upload-form{border-radius:.375rem;padding:1rem}@media (min-width:768px){.upload .upload-form{line-height:1.625}}@media (min-width:1024px){.upload .upload-form{line-height:2}}.upload .upload-form select{line-height:1.5;--bg-opacity: 1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity));--bg-opacity: 0.75}.upload .upload-form input{padding-left:.5rem;line-height:1.625}.upload #results h1{font-size:1.25rem;text-align:center}.upload .upload-form [type=checkbox],svg{width:1rem;height:1rem}.upload #files{text-align:center;margin-top:1rem;padding:1rem;border-width:2px;--border-opacity: 1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity));border-style:dashed}.upload #results,.upload .upload-form,.upload .upload-form input{--bg-opacity: 1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity));--bg-opacity: 0.75}.upload #results{border-radius:.375rem;padding:1rem;margin-left:2.5rem;margin-right:2.5rem}.form.invite{max-width:42rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.hidden{display:none}.items-center{align-items:center}.my-4{margin-top:1rem;margin-bottom:1rem}.mt-2{margin-top:.5rem}.mb-4{margin-bottom:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.text-left{text-align:left}.text-gray-700{--text-opacity: 1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.no-underline{text-decoration:none} \ No newline at end of file diff --git a/themes/default/public/img/backgrounds/episode2.jpg b/themes/default/public/img/backgrounds/episode2.jpg new file mode 100644 index 0000000..b6e336c Binary files /dev/null and b/themes/default/public/img/backgrounds/episode2.jpg differ diff --git a/themes/default/public/img/backgrounds/episode27.jpg b/themes/default/public/img/backgrounds/episode27.jpg new file mode 100644 index 0000000..1932f59 Binary files /dev/null and b/themes/default/public/img/backgrounds/episode27.jpg differ diff --git a/themes/default/public/img/backgrounds/komona-sunset.jpg b/themes/default/public/img/backgrounds/komona-sunset.jpg new file mode 100644 index 0000000..cb505a6 Binary files /dev/null and b/themes/default/public/img/backgrounds/komona-sunset.jpg differ diff --git a/themes/default/public/img/backgrounds/only-komona.jpg b/themes/default/public/img/backgrounds/only-komona.jpg new file mode 100644 index 0000000..2adc3c4 Binary files /dev/null and b/themes/default/public/img/backgrounds/only-komona.jpg differ diff --git a/themes/default/public/js/alpine.min.js b/themes/default/public/js/alpine.min.js new file mode 100644 index 0000000..d20ba03 --- /dev/null +++ b/themes/default/public/js/alpine.min.js @@ -0,0 +1,8 @@ +/** + * Minified by jsDelivr using Terser v3.14.1. + * Original file: /gh/alpinejs/alpine@2.3.5/dist/alpine.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Alpine=t()}(this,function(){"use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function n(n){for(var i=1;i{const t=u(e.name),n=t.match(o),i=t.match(/:([a-zA-Z\-:]+)/),r=t.match(/\.[^.\]]+(?=[^\]]*$)/g)||[];return{type:n?n[1]:null,value:i?i[1]:null,modifiers:r.map(e=>e.replace(".","")),expression:e.value}}).filter(e=>!t||e.type===t)}function u(e){return e.startsWith("@")?e.replace("@","x-on:"):e.startsWith(":")?e.replace(":","x-bind:"):e}function d(e,t,n=!1){if(n)return t();const i=c(e,"transition"),r=c(e,"show")[0];if(r&&r.modifiers.includes("transition")){let n=r.modifiers;if(n.includes("out")&&!n.includes("in"))return t();const i=n.includes("in")&&n.includes("out");(function(e,t,n){const i={duration:m(t,"duration",150),origin:m(t,"origin","center"),first:{opacity:0,scale:m(t,"scale",95)},second:{opacity:1,scale:100}};p(e,t,n,()=>{},i)})(e,n=i?n.filter((e,t)=>t["enter","enter-start","enter-end"].includes(e.value)).length>0?function(e,t,n){const i=(t.find(e=>"enter"===e.value)||{expression:""}).expression.split(" ").filter(e=>""!==e),r=(t.find(e=>"enter-start"===e.value)||{expression:""}).expression.split(" ").filter(e=>""!==e),s=(t.find(e=>"enter-end"===e.value)||{expression:""}).expression.split(" ").filter(e=>""!==e);h(e,i,r,s,n,()=>{})}(e,i,t):t()}function f(e,t,n=!1){if(n)return t();const i=c(e,"transition"),r=c(e,"show")[0];if(r&&r.modifiers.includes("transition")){let n=r.modifiers;if(n.includes("in")&&!n.includes("out"))return t();const i=n.includes("in")&&n.includes("out");(function(e,t,n,i){const r={duration:n?m(t,"duration",150):m(t,"duration",150)/2,origin:m(t,"origin","center"),first:{opacity:1,scale:100},second:{opacity:0,scale:m(t,"scale",95)}};p(e,t,()=>{},i,r)})(e,n=i?n.filter((e,t)=>t>n.indexOf("out")):n,i,t)}else i.filter(e=>["leave","leave-start","leave-end"].includes(e.value)).length>0?function(e,t,n){const i=(t.find(e=>"leave"===e.value)||{expression:""}).expression.split(" ").filter(e=>""!==e),r=(t.find(e=>"leave-start"===e.value)||{expression:""}).expression.split(" ").filter(e=>""!==e),s=(t.find(e=>"leave-end"===e.value)||{expression:""}).expression.split(" ").filter(e=>""!==e);h(e,i,r,s,()=>{},n)}(e,i,t):t()}function m(e,t,n){if(-1===e.indexOf(t))return n;const i=e[e.indexOf(t)+1];if(!i)return n;if("scale"===t&&!b(i))return n;if("duration"===t){let e=i.match(/([0-9]+)ms/);if(e)return e[1]}return"origin"===t&&["top","right","left","center","bottom"].includes(e[e.indexOf(t)+2])?[i,e[e.indexOf(t)+2]].join(" "):i}function p(e,t,n,i,r){const s=e.style.opacity,a=e.style.transform,o=e.style.transformOrigin,l=!t.includes("opacity")&&!t.includes("scale"),c=l||t.includes("opacity"),u=l||t.includes("scale"),d={start(){c&&(e.style.opacity=r.first.opacity),u&&(e.style.transform=`scale(${r.first.scale/100})`)},during(){u&&(e.style.transformOrigin=r.origin),e.style.transitionProperty=[c?"opacity":"",u?"transform":""].join(" ").trim(),e.style.transitionDuration=`${r.duration/1e3}s`,e.style.transitionTimingFunction="cubic-bezier(0.4, 0.0, 0.2, 1)"},show(){n()},end(){c&&(e.style.opacity=r.second.opacity),u&&(e.style.transform=`scale(${r.second.scale/100})`)},hide(){i()},cleanup(){c&&(e.style.opacity=s),u&&(e.style.transform=a),u&&(e.style.transformOrigin=o),e.style.transitionProperty=null,e.style.transitionDuration=null,e.style.transitionTimingFunction=null}};v(e,d)}function h(e,t,n,i,r,s){const a=e.__x_original_classes||[],o={start(){e.classList.add(...n)},during(){e.classList.add(...t)},show(){r()},end(){e.classList.remove(...n.filter(e=>!a.includes(e))),e.classList.add(...i)},hide(){s()},cleanup(){e.classList.remove(...t.filter(e=>!a.includes(e))),e.classList.remove(...i.filter(e=>!a.includes(e)))}};v(e,o)}function v(e,t){t.start(),t.during(),requestAnimationFrame(()=>{let n=1e3*Number(getComputedStyle(e).transitionDuration.replace(/,.*/,"").replace("s",""));t.show(),requestAnimationFrame(()=>{t.end(),setTimeout(()=>{t.hide(),e.isConnected&&t.cleanup()},n)})})}function b(e){return!isNaN(e)}function y(e,t,i,r,s){"template"!==t.tagName.toLowerCase()&&console.warn("Alpine: [x-for] directive should only be added to