diff --git a/VERSION.txt b/VERSION.txt index e10a987..463492b 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,3 +1,3 @@ --- --- -{{ site.data.releases.stable.version }} \ No newline at end of file +{{ site.data.downloads.stable.packages[0].version }} \ No newline at end of file diff --git a/_bin/generate-downloads-json-data.php b/_bin/generate-downloads-json-data.php index dad65a5..98bd3c2 100755 --- a/_bin/generate-downloads-json-data.php +++ b/_bin/generate-downloads-json-data.php @@ -31,6 +31,7 @@ function generate_data($version, $package_name, $basedir, $filename) return [ 'package' => $package_name, 'url' => "https://github.com/roundcube/roundcubemail/releases/download/{$version}/{$filename}", + 'version' => $version, 'size' => $size, 'checksum' => $sum, ]; diff --git a/_config.yml b/_config.yml index a6f245c..a2d39ff 100644 --- a/_config.yml +++ b/_config.yml @@ -18,7 +18,7 @@ libs: { url: 'https://cdn.jsdelivr.net/npm/less@4.2.0/dist/less.min.js', sri: 'sha384-SlYTcCEsC10TwMfcpGjqd+bWfA2QdB0CInBtPX6erDT3NnEkhX2X3gJ83UyHtXs3' }, - css: '/styles/styles.min.css?v=2024021800', + css: '/styles/styles.min.css?v=2026032900', bootstrap: { css: { url: 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css', diff --git a/_data/releases.json b/_data/downloads.json similarity index 65% rename from _data/releases.json rename to _data/downloads.json index 89d5849..7ff12c5 100644 --- a/_data/releases.json +++ b/_data/downloads.json @@ -1,64 +1,81 @@ { "stable": { - "name": "Stable version", - "version": "1.6.15", - "sources": [ + "title": "Stable version", + "titleVersion": true, + "packages": [ { "package": "Dependent", "url": "https://github.com/roundcube/roundcubemail/releases/download/1.6.15/roundcubemail-1.6.15.tar.gz", + "version": "1.6.15", "size": "3.7 MB", "checksum": "9e415d4f6c29a60c9495a614ffeb9e2786601f74093b4a0a2b9cba0c32535efa" }, { "package": "Complete", "url": "https://github.com/roundcube/roundcubemail/releases/download/1.6.15/roundcubemail-1.6.15-complete.tar.gz", + "version": "1.6.15", "size": "5.6 MB", "checksum": "48c9f212c77460132491f670abaf440b765c8276268349a690913764d26afbef" }, { "package": "Framework", "url": "https://github.com/roundcube/roundcubemail/releases/download/1.6.15/roundcube-framework-1.6.15.tar.gz", + "version": "1.6.15", "size": "1.1 MB", "checksum": "a90770a8b0a17dfe4fe78d98abce1c4219c4c05bb2b6f08178d9cdff587434bf" } ] }, "old-stable": { - "name": "Old stable", - "version": "1.5.3", - "sources": [ + "title": "Old stable", + "titleVersion": true, + "packages": [ ] }, "lts": { - "name": "LTS versions", - "sources": [ + "title": "LTS versions", + "titleVersion": false, + "description": "Long Term Support with low maintenance mode. This means only security updates and rare fixes of serious issues will go into these release branches.", + "packages": [ { - "package": "1.5.15 - Complete", + "package": "Complete", "url": "https://github.com/roundcube/roundcubemail/releases/download/1.5.15/roundcubemail-1.5.15-complete.tar.gz", + "version": "1.5.15", "size": "7.2 MB", "checksum": "ed96857435066e8cedc0dfa7c3965fd89263e69ba4951385f09939a38b938c28" } ] }, "beta": { - "name": "Release candidate", - "version": "1.7-rc6", - "sources": [ + "title": "Beta version", + "titleVersion": true, + "description": "We recommend to test pre-release versions on a separate environment, and don't forget to backup your data before installing.", + "packages": [ + ] + }, + "rc": { + "title": "Release candidate", + "titleVersion": true, + "description": "We recommend to test pre-release versions on a separate environment, and don't forget to backup your data before installing.", + "packages": [ { "package": "Dependent", "url": "https://github.com/roundcube/roundcubemail/releases/download/1.7-rc6/roundcubemail-1.7-rc6.tar.gz", + "version": "1.7-rc6", "size": "4.0 MB", "checksum": "97a2c6fa98d997a5a0689680d73586d3b120e44755704be5c612bcc7f46df75f" }, { "package": "Complete", "url": "https://github.com/roundcube/roundcubemail/releases/download/1.7-rc6/roundcubemail-1.7-rc6-complete.tar.gz", + "version": "1.7-rc6", "size": "6.1 MB", "checksum": "c68a7cf44c2f23adc76b3283aadb09c3d2921bd24efec1e9e14e57927c924265" }, { "package": "Framework", "url": "https://github.com/roundcube/roundcubemail/releases/download/1.7-rc6/roundcube-framework-1.7-rc6.tar.gz", + "version": "1.7-rc6", "size": "1.1 MB", "checksum": "4ad67b65f28c4c15a8e16e93f2c6aa4c9ab05191fec796491980a88a1b4d0eff" } diff --git a/download/index.html b/download/index.html index 1bd7f00..89b3b66 100644 --- a/download/index.html +++ b/download/index.html @@ -6,21 +6,16 @@ ---
Long Term Support with low maintenance mode. This means only security updates and rare fixes of serious issues - will go into these release branches.
- {% elsif id == "beta" %} -We recommend to test beta versions on a separate environment, and don't forget to backup your data before installing.
+ {% if params.description %} +{{ params.description }}
{% endif %}| {{ source.package }}{% if source.package == "Dependent" %}1{% endif %} | -Download | -{{ source.size }} | +{% unless params.titleVersion %}{{ package.version }} - {% endunless %}{{ package.package }}{% if package.package == "Dependent" %}1{% endif %} | +Download | +{{ package.size }} | - {{ source.checksum }} + {{ package.checksum }} | @@ -50,7 +45,7 @@
|---|
1. Dependent packages only contain sources which are licensed under the GPL but they require some third-party +
1. Dependent packages only contain sources which are licensed under the GPL but they require some third-party packages to be installed along with Roundcube. All requirements are listed in the INSTALL instructions within the package file.
diff --git a/styles/styles.less b/styles/styles.less
index fba5d1d..f2143ca 100644
--- a/styles/styles.less
+++ b/styles/styles.less
@@ -2,10 +2,13 @@
@nav-height: 66px;
@nav-offset: 6rem;
@thumbnail-width: 140px;
+@btn-icon-margin: .25rem;
-@max-width-md: 991px;
-@max-width-sm: 767px;
-@max-width-xs: 575px;
+@min-width-sm: 576px;
+@min-width-md: 768px;
+@min-width-lg: 992px;
+@min-width-xl: 1200px;
+@min-width-xxl: 1400px;
@color-primary: #37beff;
@color-background-alt: rgba(0, 0, 0, 0.05);
@@ -13,6 +16,8 @@
@color-banner-background: fadeout(mix(@color-primary, #fff, 33%), 50%);
@color-thumbnail-background: @color-background-alt;
@color-footer: #495057;
+@color-success: #3fb950;
+@color-error: #f85149;
@color-dark-primary: darken(@color-primary, 30%);
@color-dark-background-alt: rgba(255, 255, 255, 0.05);
@@ -32,6 +37,8 @@
--rc-color-thumbnail-background: @color-thumbnail-background;
--rc-color-footer: @color-footer;
--rc-color-footer-hover: darken(@color-footer, 15%);
+ --rc-color-success: @color-success;
+ --rc-color-error: @color-error;
}
html[data-bs-theme="dark"] {
@@ -98,8 +105,8 @@ a:not(.btn):not(.nav-link):not(.dropdown-item),
> .container > .grid {
display: grid;
- grid-template-columns: 1fr 1fr;
- grid-template-rows: auto 1fr;
+ grid-template-columns: auto;
+ grid-template-rows: auto;
> .logo {
grid-column: 1;
@@ -107,16 +114,16 @@ a:not(.btn):not(.nav-link):not(.dropdown-item),
}
> .image {
- grid-column: 2;
- grid-row: 1 / 3;
+ grid-column: 1;
+ grid-row: 2;
}
> .download {
grid-column: 1;
- grid-row: 2;
+ grid-row: 3;
}
- @media (max-width: @max-width-md) {
+ @media (min-width: @min-width-md) {
grid-template-columns: 1fr 1.5fr;
> .logo {
@@ -135,9 +142,9 @@ a:not(.btn):not(.nav-link):not(.dropdown-item),
}
}
- @media (max-width: @max-width-sm) {
- grid-template-columns: auto;
- grid-template-rows: auto;
+ @media (min-width: @min-width-lg) {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: auto 1fr;
> .logo {
grid-column: 1;
@@ -145,13 +152,13 @@ a:not(.btn):not(.nav-link):not(.dropdown-item),
}
> .image {
- grid-column: 1;
- grid-row: 2;
+ grid-column: 2;
+ grid-row: 1 / 3;
}
> .download {
grid-column: 1;
- grid-row: 3;
+ grid-row: 2;
}
}
}
@@ -230,11 +237,13 @@ a.copy-link {
&.complete:after {
font: var(--fa-font-solid);
content: @fa-var-check;
+ color: var(--rc-color-success);
}
&.error:after {
font: var(--fa-font-solid);
content: @fa-var-triangle-exclamation;
+ color: var(--rc-color-error);
}
}
@@ -293,11 +302,11 @@ footer {
}
.rc-icon::before {
- margin-right: .25rem;
+ margin-right: @btn-icon-margin;
}
.rc-icon::after {
- margin-left: .25rem;
+ margin-left: @btn-icon-margin;
}
a.back-link::before {
@@ -357,18 +366,22 @@ a.current-theme::after {
}
&::before {
- margin-right: .5rem;
content: @fa-var-download;
+ margin-right: 0;
+ }
+
+ > span {
+ margin-left: @btn-icon-margin * 2;
}
&.btn-sm {
- @media (max-width: @max-width-xs) {
- & > span {
- display: none;
- }
+ > span {
+ display: none;
+ }
- &::before {
- margin-right: 0;
+ @media (min-width: @min-width-sm) {
+ > span {
+ display: inline;
}
}
}
@@ -451,12 +464,12 @@ div.color-modes > ul.dropdown-menu {
table.download-table {
th.package {
- width: 20%;
+ width: 55%;
}
td.link,
td.size {
- width: 15%;
+ width: 20%;
}
td.checksum {
@@ -468,7 +481,7 @@ table.download-table {
vertical-align: middle;
}
- @media (max-width: @max-width-md) {
+ @media (min-width: @min-width-sm) {
th.package {
width: 40%;
}
@@ -480,27 +493,41 @@ table.download-table {
td.size {
width: 20%;
}
-
- td.checksum {
- width: 5%;
- }
}
- @media (max-width: @max-width-xs) {
+ @media (min-width: @min-width-lg) {
th.package {
- width: 55%;
+ width: 30%;
}
- td.link {
+ td.link,
+ td.size {
+ width: 15%;
+ }
+
+ td.checksum > span > span.copy-target {
+ width: 300px;
+ }
+ }
+
+ @media (min-width: @min-width-xl) {
+ th.package {
width: 20%;
}
+ td.link,
td.size {
- width: 20%;
+ width: 15%;
}
- td.checksum {
- width: 5%;
+ td.checksum > span > span.copy-target {
+ width: 480px;
+ }
+ }
+
+ @media (min-width: @min-width-xxl) {
+ td.checksum > span > span.copy-target {
+ width: auto;
}
}
}
diff --git a/styles/styles.min.css b/styles/styles.min.css
index 82aed2e..a5bc81e 100644
--- a/styles/styles.min.css
+++ b/styles/styles.min.css
@@ -1 +1 @@
-:root{--bs-font-sans-serif:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--rc-color-primary:#37beff;--rc-color-header-background:#212529;--rc-color-banner-background:rgba(189, 234, 255, 0.5);--rc-color-background-alt:rgba(0, 0, 0, 0.05);--rc-color-download-bg:#1eb6ff;--rc-color-download-border:#13b2ff;--rc-color-thumbnail-background:rgba(0, 0, 0, 0.05);--rc-color-footer:#495057;--rc-color-footer-hover:#262a2d}html[data-bs-theme=dark]{--rc-color-primary:#006a9d;--rc-color-header-background:#000;--rc-color-banner-background:rgba(0, 35, 52, 0.5);--rc-color-background-alt:rgba(255, 255, 255, 0.05);--rc-color-download-bg:#005984;--rc-color-download-border:#005279;--rc-color-thumbnail-background:rgba(255, 255, 255, 0.05);--rc-color-footer:#949da5;--rc-color-footer-hover:#bdc3c8}.navbar{--bs-navbar-toggler-focus-width:0;--bs-navbar-toggler-border-color:transparent;--bs-navbar-toggler-padding-x:0}.table{--bs-table-striped-bg:var(--rc-color-background-alt)}.bg-badge,.bg-quote{background-color:var(--rc-color-background-alt)!important}.bg-header,.bg-navbar,.modal-footer.bg-footer{background-color:var(--rc-color-header-background)!important}.btn-link,a:not(.btn):not(.nav-link):not(.dropdown-item){text-decoration:none}.btn-link.anchor,a:not(.btn):not(.nav-link):not(.dropdown-item).anchor{top:-6rem}.btn-link:hover,a:not(.btn):not(.nav-link):not(.dropdown-item):hover{text-decoration:underline}.card-header{padding:.75rem 1.25rem}.card-body{padding:1.25rem}.list-group-item{padding:.75rem 1.25rem}#banner{margin-top:66px;background-color:var(--rc-color-banner-background)}#banner>.container>.grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr}#banner>.container>.grid>.logo{grid-column:1;grid-row:1}#banner>.container>.grid>.image{grid-column:2;grid-row:1/3}#banner>.container>.grid>.download{grid-column:1;grid-row:2}@media (max-width:991px){#banner>.container>.grid{grid-template-columns:1fr 1.5fr}#banner>.container>.grid>.logo{grid-column:1/3;grid-row:1}#banner>.container>.grid>.image{grid-column:2;grid-row:2}#banner>.container>.grid>.download{grid-column:1;grid-row:2}}@media (max-width:767px){#banner>.container>.grid{grid-template-columns:auto;grid-template-rows:auto}#banner>.container>.grid>.logo{grid-column:1;grid-row:1}#banner>.container>.grid>.image{grid-column:1;grid-row:2}#banner>.container>.grid>.download{grid-column:1;grid-row:3}}main{padding-top:6rem}main .h1,main h1{font-size:2.2rem;margin-bottom:1rem}main .h2,main h2{font-size:1.8rem;margin-top:1.5rem;font-weight:700}main .h3,main h3{font-size:1.4rem;margin-top:1rem}blockquote{padding:.6rem 1rem;background-color:var(--rc-color-background-alt)}blockquote>p{margin:0}code.block{white-space:pre}a.anchor{color:var(--bs-secondary-color);font-size:.75rem;vertical-align:middle;opacity:0}a.anchor:hover{text-decoration:none!important}a.anchor:after{font:var(--fa-font-solid);content:"\f0c1"}:hover>a.anchor{opacity:1}a.copy-link{color:var(--bs-secondary-color);font-size:.75rem;display:inline-block;width:1.25em;text-align:center;margin-left:.5rem}a.copy-link:hover{text-decoration:none!important}a.copy-link:after{font:var(--fa-font-regular);content:"\f328"}a.copy-link.complete:after{font:var(--fa-font-solid);content:"\f00c"}a.copy-link.error:after{font:var(--fa-font-solid);content:"\f071"}a.copy-popover-link{color:var(--bs-body-color);text-decoration:none!important}a.copy-popover-link.checksum:after{font:var(--fa-font-solid);content:"\e4f0"}div.popover.copy-popover>div.popover-body{padding:0 var(--bs-popover-body-padding-x);display:flex}h1,h2,h3,p{scroll-margin-top:80px}.artical-list>.artical:nth-of-type(odd),ul.ul-striped li:nth-of-type(odd){background-color:var(--rc-color-background-alt)}.artical-list+nav{margin-top:2rem}footer ul,ul.screens{list-style:none}.artical>div.snippet>p{display:inline}footer a{font-weight:500;color:var(--rc-color-footer)}footer a:focus,footer a:hover{color:var(--rc-color-footer-hover)}.rc-icon::after,.rc-icon::before{font:var(--fa-font-solid)}.rc-icon::before{margin-right:.25rem}.rc-icon::after{margin-left:.25rem}a.back-link::before{content:"\f100"}a.read-link::after{content:"\f101"}a.external-link::after{content:"\f35d"}a.rss-link::after{content:"\f09e"}a.mail-list-link::before{font:var(--fa-font-regular);content:"\f0e0"}a.irc-link::after{content:"\f086"}a.dark-mode::before{content:"\f186"}a.light-mode::before{content:"\f185"}a.auto-mode::before{content:"\f72b"}a.current-theme::after{content:"\f00c"}.btn-rc-download{color:var(--bs-white)!important;background-color:var(--rc-color-primary);border-color:var(--rc-color-primary)}.btn-rc-download:hover{color:var(--bs-white);background-color:var(--rc-color-download-bg);border-color:var(--rc-color-download-border)}.btn-rc-download::before{margin-right:.5rem;content:"\f019"}@media (max-width:575px){.btn-rc-download.btn-sm>span{display:none}.btn-rc-download.btn-sm::before{margin-right:0}}div.color-modes>ul.dropdown-menu{min-width:auto}div.color-modes>ul.dropdown-menu>li>a{font-size:.8rem}div.color-modes>ul.dropdown-menu>li>a::before{text-align:center;width:1.25em;margin-right:.5em;display:inline-block}div.color-modes>ul.dropdown-menu>li>a::after{margin-left:.75em}.img-thumbnail>a{width:140px;background-color:var(--rc-color-thumbnail-background)}#viewer .modal-body{user-select:none}#viewer .modal-body>img{position:relative}#viewer .modal-body .modal-loading span{font-size:10em;opacity:.5}#viewer .modal-body .modal-arrow{position:absolute;top:0;bottom:0;height:100%;width:30%}#viewer .modal-body .modal-arrow.right-arrow{right:0}#viewer .modal-body.loading>img{display:none}#viewer .modal-body:not(.loading)>.modal-loading{display:none}#viewer .modal-footer{color:var(--bs-white)}#viewer .modal-footer .nav{user-select:none}#viewer .modal-footer .nav>.nav-link:not(.disabled){color:var(--bs-white)}table.download-table th.package{width:20%}table.download-table td.link,table.download-table td.size{width:15%}table.download-table td.checksum{font-size:.9em}table.download-table tbody td,table.download-table tbody th{vertical-align:middle}@media (max-width:991px){table.download-table th.package{width:40%}table.download-table td.link{width:35%}table.download-table td.size{width:20%}table.download-table td.checksum{width:5%}}@media (max-width:575px){table.download-table th.package{width:55%}table.download-table td.link{width:20%}table.download-table td.size{width:20%}table.download-table td.checksum{width:5%}}
+:root{--bs-font-sans-serif:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--rc-color-primary:#37beff;--rc-color-header-background:#212529;--rc-color-banner-background:rgba(189, 234, 255, 0.5);--rc-color-background-alt:rgba(0, 0, 0, 0.05);--rc-color-download-bg:#1eb6ff;--rc-color-download-border:#13b2ff;--rc-color-thumbnail-background:rgba(0, 0, 0, 0.05);--rc-color-footer:#495057;--rc-color-footer-hover:#262a2d;--rc-color-success:#3fb950;--rc-color-error:#f85149}html[data-bs-theme=dark]{--rc-color-primary:#006a9d;--rc-color-header-background:#000;--rc-color-banner-background:rgba(0, 35, 52, 0.5);--rc-color-background-alt:rgba(255, 255, 255, 0.05);--rc-color-download-bg:#005984;--rc-color-download-border:#005279;--rc-color-thumbnail-background:rgba(255, 255, 255, 0.05);--rc-color-footer:#949da5;--rc-color-footer-hover:#bdc3c8}.navbar{--bs-navbar-toggler-focus-width:0;--bs-navbar-toggler-border-color:transparent;--bs-navbar-toggler-padding-x:0}.table{--bs-table-striped-bg:var(--rc-color-background-alt)}.bg-badge,.bg-quote{background-color:var(--rc-color-background-alt)!important}.bg-header,.bg-navbar,.modal-footer.bg-footer{background-color:var(--rc-color-header-background)!important}.btn-link,a:not(.btn):not(.nav-link):not(.dropdown-item){text-decoration:none}.btn-link.anchor,a:not(.btn):not(.nav-link):not(.dropdown-item).anchor{top:-6rem}.btn-link:hover,a:not(.btn):not(.nav-link):not(.dropdown-item):hover{text-decoration:underline}.card-header{padding:.75rem 1.25rem}.card-body{padding:1.25rem}.list-group-item{padding:.75rem 1.25rem}#banner{margin-top:66px;background-color:var(--rc-color-banner-background)}#banner>.container>.grid{display:grid;grid-template-columns:auto;grid-template-rows:auto}#banner>.container>.grid>.logo{grid-column:1;grid-row:1}#banner>.container>.grid>.image{grid-column:1;grid-row:2}#banner>.container>.grid>.download{grid-column:1;grid-row:3}@media (min-width:768px){#banner>.container>.grid{grid-template-columns:1fr 1.5fr}#banner>.container>.grid>.logo{grid-column:1/3;grid-row:1}#banner>.container>.grid>.image{grid-column:2;grid-row:2}#banner>.container>.grid>.download{grid-column:1;grid-row:2}}@media (min-width:992px){#banner>.container>.grid{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr}#banner>.container>.grid>.logo{grid-column:1;grid-row:1}#banner>.container>.grid>.image{grid-column:2;grid-row:1/3}#banner>.container>.grid>.download{grid-column:1;grid-row:2}}main{padding-top:6rem}main .h1,main h1{font-size:2.2rem;margin-bottom:1rem}main .h2,main h2{font-size:1.8rem;margin-top:1.5rem;font-weight:700}main .h3,main h3{font-size:1.4rem;margin-top:1rem}blockquote{padding:.6rem 1rem;background-color:var(--rc-color-background-alt)}blockquote>p{margin:0}code.block{white-space:pre}a.anchor{color:var(--bs-secondary-color);font-size:.75rem;vertical-align:middle;opacity:0}a.anchor:hover{text-decoration:none!important}a.anchor:after{font:var(--fa-font-solid);content:"\f0c1"}:hover>a.anchor{opacity:1}a.copy-link{color:var(--bs-secondary-color);font-size:.75rem;display:inline-block;width:1.25em;text-align:center;margin-left:.5rem}a.copy-link:hover{text-decoration:none!important}a.copy-link:after{font:var(--fa-font-regular);content:"\f328"}a.copy-link.complete:after{font:var(--fa-font-solid);content:"\f00c";color:var(--rc-color-success)}a.copy-link.error:after{font:var(--fa-font-solid);content:"\f071";color:var(--rc-color-error)}a.copy-popover-link{color:var(--bs-body-color);text-decoration:none!important}a.copy-popover-link.checksum:after{font:var(--fa-font-solid);content:"\e4f0"}div.popover.copy-popover>div.popover-body{padding:0 var(--bs-popover-body-padding-x);display:flex}h1,h2,h3,p{scroll-margin-top:80px}.artical-list>.artical:nth-of-type(odd),ul.ul-striped li:nth-of-type(odd){background-color:var(--rc-color-background-alt)}.artical-list+nav{margin-top:2rem}footer ul,ul.screens{list-style:none}.artical>div.snippet>p{display:inline}footer a{font-weight:500;color:var(--rc-color-footer)}footer a:focus,footer a:hover{color:var(--rc-color-footer-hover)}.rc-icon::after,.rc-icon::before{font:var(--fa-font-solid)}.rc-icon::before{margin-right:.25rem}.rc-icon::after{margin-left:.25rem}a.back-link::before{content:"\f100"}a.read-link::after{content:"\f101"}a.external-link::after{content:"\f35d"}a.rss-link::after{content:"\f09e"}a.mail-list-link::before{font:var(--fa-font-regular);content:"\f0e0"}a.irc-link::after{content:"\f086"}a.dark-mode::before{content:"\f186"}a.light-mode::before{content:"\f185"}a.auto-mode::before{content:"\f72b"}a.current-theme::after{content:"\f00c"}.btn-rc-download{color:var(--bs-white)!important;background-color:var(--rc-color-primary);border-color:var(--rc-color-primary)}.btn-rc-download:hover{color:var(--bs-white);background-color:var(--rc-color-download-bg);border-color:var(--rc-color-download-border)}.btn-rc-download::before{content:"\f019";margin-right:0}.btn-rc-download>span{margin-left:.5rem}.btn-rc-download.btn-sm>span{display:none}@media (min-width:576px){.btn-rc-download.btn-sm>span{display:inline}}div.color-modes>ul.dropdown-menu{min-width:auto}div.color-modes>ul.dropdown-menu>li>a{font-size:.8rem}div.color-modes>ul.dropdown-menu>li>a::before{text-align:center;width:1.25em;margin-right:.5em;display:inline-block}div.color-modes>ul.dropdown-menu>li>a::after{margin-left:.75em}.img-thumbnail>a{width:140px;background-color:var(--rc-color-thumbnail-background)}#viewer .modal-body{user-select:none}#viewer .modal-body>img{position:relative}#viewer .modal-body .modal-loading span{font-size:10em;opacity:.5}#viewer .modal-body .modal-arrow{position:absolute;top:0;bottom:0;height:100%;width:30%}#viewer .modal-body .modal-arrow.right-arrow{right:0}#viewer .modal-body.loading>img{display:none}#viewer .modal-body:not(.loading)>.modal-loading{display:none}#viewer .modal-footer{color:var(--bs-white)}#viewer .modal-footer .nav{user-select:none}#viewer .modal-footer .nav>.nav-link:not(.disabled){color:var(--bs-white)}table.download-table th.package{width:55%}table.download-table td.link,table.download-table td.size{width:20%}table.download-table td.checksum{font-size:.9em}table.download-table tbody td,table.download-table tbody th{vertical-align:middle}@media (min-width:576px){table.download-table th.package{width:40%}table.download-table td.link{width:35%}table.download-table td.size{width:20%}}@media (min-width:992px){table.download-table th.package{width:30%}table.download-table td.link,table.download-table td.size{width:15%}table.download-table td.checksum>span>span.copy-target{width:300px}}@media (min-width:1200px){table.download-table th.package{width:20%}table.download-table td.link,table.download-table td.size{width:15%}table.download-table td.checksum>span>span.copy-target{width:480px}}@media (min-width:1400px){table.download-table td.checksum>span>span.copy-target{width:auto}}
\ No newline at end of file