423 lines
6.7 KiB
CSS
423 lines
6.7 KiB
CSS
/*
|
|
// Sshwifty - A Web SSH client
|
|
//
|
|
// Copyright (C) 2019-2021 Ni Rui <nirui@gmx.com>
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as
|
|
// published by the Free Software Foundation, either version 3 of the
|
|
// License, or (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
@charset "utf-8";
|
|
|
|
@import "~roboto-fontface/css/roboto/roboto-fontface.css";
|
|
|
|
@keyframes home-window-display-flash {
|
|
0% {
|
|
top: -2px;
|
|
opacity: 0;
|
|
box-shadow: 0 0 0 transparent;
|
|
}
|
|
|
|
20% {
|
|
height: 20px;
|
|
box-shadow: 0 0 50px #fff;
|
|
}
|
|
|
|
50% {
|
|
opacity: 0.5;
|
|
box-shadow: 0 0 10px #fff;
|
|
}
|
|
|
|
100% {
|
|
top: 100%;
|
|
height: 0;
|
|
opacity: 0;
|
|
box-shadow: 0 0 0 transparent;
|
|
}
|
|
}
|
|
|
|
.home-window-display {
|
|
}
|
|
|
|
.home-window-display::after {
|
|
opacity: 0;
|
|
z-index: 2;
|
|
content: " ";
|
|
display: block;
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 0;
|
|
top: -2px;
|
|
left: 0;
|
|
right: 0;
|
|
background: #fff;
|
|
animation-name: home-window-display-flash;
|
|
animation-duration: 0.3s;
|
|
animation-iteration-count: 1;
|
|
box-shadow: 0 0 10px #fff;
|
|
}
|
|
|
|
#home {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
font: 1em "Roboto", sans-serif;
|
|
}
|
|
|
|
#home-header {
|
|
flex: 0 0 40px;
|
|
font-size: 0.9em;
|
|
color: #fff;
|
|
width: 100%;
|
|
overflow: auto;
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
#home-hd-title {
|
|
font-size: 1.1em;
|
|
padding: 0 0 0 20px;
|
|
font-weight: bold;
|
|
flex: 0 0 65px;
|
|
text-align: center;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#home-hd-delay {
|
|
font-size: 0.95em;
|
|
display: flex;
|
|
flex: 0 0 70px;
|
|
flex-direction: row;
|
|
overflow: hidden;
|
|
margin: 0 10px;
|
|
color: #aaa;
|
|
text-decoration: none;
|
|
justify-items: center;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
#home-hd-title {
|
|
padding: 0 0 0 10px;
|
|
}
|
|
|
|
#home-hd-delay {
|
|
flex: 0 0 60px;
|
|
}
|
|
}
|
|
|
|
#home-hd-delay-icon {
|
|
color: #bbb;
|
|
text-shadow: 0 0 3px #999;
|
|
transition: linear 0.2s color, text-shadow;
|
|
margin: 5px;
|
|
font-size: 0.54em;
|
|
}
|
|
|
|
#home-hd-delay-value {
|
|
display: inline-block;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
word-wrap: none;
|
|
}
|
|
|
|
@keyframes home-hd-delay-icon-flash {
|
|
0% {
|
|
opacity: 1;
|
|
}
|
|
|
|
10% {
|
|
opacity: 0;
|
|
}
|
|
|
|
20% {
|
|
opacity: 1;
|
|
}
|
|
|
|
30% {
|
|
opacity: 0;
|
|
}
|
|
|
|
90% {
|
|
opacity: 0;
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes home-hd-delay-icon-working {
|
|
0% {
|
|
opacity: 1;
|
|
}
|
|
|
|
50% {
|
|
opacity: 0;
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
#home-hd-delay-icon.green {
|
|
color: #1e8;
|
|
text-shadow: 0 0 3px #1e8;
|
|
}
|
|
|
|
#home-hd-delay-icon.yellow {
|
|
color: #ff4;
|
|
text-shadow: 0 0 3px #ff4;
|
|
}
|
|
|
|
#home-hd-delay-icon.orange {
|
|
color: #f80;
|
|
text-shadow: 0 0 3px #f80;
|
|
}
|
|
|
|
#home-hd-delay-icon.red {
|
|
color: #e11;
|
|
text-shadow: 0 0 3px #e11;
|
|
}
|
|
|
|
#home-hd-delay-icon.flash {
|
|
animation-name: home-hd-delay-icon-flash;
|
|
animation-duration: 1s;
|
|
animation-iteration-count: infinite;
|
|
}
|
|
|
|
#home-hd-delay-icon.working {
|
|
animation-name: home-hd-delay-icon-working;
|
|
animation-duration: 1.5s;
|
|
animation-iteration-count: infinite;
|
|
}
|
|
|
|
#home-hd-plus {
|
|
flex: 0 0;
|
|
padding: 0 13px;
|
|
text-decoration: none;
|
|
font-size: 22px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
height: 100%;
|
|
}
|
|
|
|
@keyframes home-hd-plus-icon-flash {
|
|
0% {
|
|
background: #a56;
|
|
}
|
|
|
|
20% {
|
|
background: #5a7;
|
|
}
|
|
|
|
40% {
|
|
background: #96a;
|
|
}
|
|
|
|
60% {
|
|
background: #379;
|
|
}
|
|
|
|
80% {
|
|
background: #da0;
|
|
}
|
|
|
|
100% {
|
|
background: #a56;
|
|
}
|
|
}
|
|
|
|
#home-hd-plus.working {
|
|
color: #fff;
|
|
background: #a56;
|
|
animation-name: home-hd-plus-icon-flash;
|
|
animation-duration: 10s;
|
|
animation-iteration-count: infinite;
|
|
animation-direction: normal;
|
|
transition: linear 2s background;
|
|
}
|
|
|
|
#home-hd-plus.working.intensify {
|
|
animation-duration: 3s;
|
|
}
|
|
|
|
#home-hd-tabs {
|
|
background: #333;
|
|
flex: auto;
|
|
overflow: hidden;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: left;
|
|
align-items: center;
|
|
}
|
|
|
|
#home-hd-tabs-tabs {
|
|
flex: auto;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li {
|
|
flex: 0 0 180px;
|
|
display: flex;
|
|
position: relative;
|
|
padding: 0 15px;
|
|
opacity: 0.5;
|
|
color: #999;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li::after {
|
|
content: " ";
|
|
display: block;
|
|
position: absolute;
|
|
bottom: 0;
|
|
right: 10px;
|
|
left: 10px;
|
|
height: 0;
|
|
transition: all 0.1s linear;
|
|
transition-property: height, right, left;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li.active::after {
|
|
right: 0;
|
|
left: 0;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li.updated::after {
|
|
background: #fff3;
|
|
height: 2px;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li.error::after {
|
|
background: #d55;
|
|
height: 2px;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li > span.title {
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
display: inline-block;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li > span.title > span.type {
|
|
display: inline-block;
|
|
font-size: 0.85em;
|
|
font-weight: bold;
|
|
margin-right: 3px;
|
|
text-transform: uppercase;
|
|
color: #fff;
|
|
background: #222;
|
|
padding: 1px 4px;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li > .icon-close {
|
|
display: none;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li.active {
|
|
color: #fff;
|
|
opacity: 1;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li.active > span.title {
|
|
padding-right: 15px;
|
|
}
|
|
|
|
#home-hd-tabs-tabs > li.active > .icon-close {
|
|
display: block;
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 10px;
|
|
margin-top: -5px;
|
|
color: #fff6;
|
|
}
|
|
|
|
#home-hd-tabs-list {
|
|
display: flex;
|
|
font-size: 22px;
|
|
flex: 0 0;
|
|
padding: 0 13px;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
height: 100%;
|
|
text-decoration: none;
|
|
box-shadow: 0 0 3px #333;
|
|
}
|
|
|
|
#home-content {
|
|
flex: auto;
|
|
display: flex;
|
|
justify-content: center;
|
|
flex-direction: column;
|
|
color: #fff;
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
#home-content {
|
|
font-size: 1em;
|
|
}
|
|
}
|
|
|
|
#home-content-wrap {
|
|
max-width: 520px;
|
|
margin: 50px auto;
|
|
padding: 0 30px;
|
|
text-align: center;
|
|
}
|
|
|
|
#home-content h1 {
|
|
margin: 20px 0;
|
|
}
|
|
|
|
#home-content p {
|
|
margin: 10px 0;
|
|
font-size: 0.9em;
|
|
color: #eee;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
#home-content p.secondary {
|
|
margin: 5px 0;
|
|
line-height: 1.5;
|
|
font-size: 0.7em;
|
|
color: #aaa;
|
|
}
|
|
|
|
#home-content p a {
|
|
color: #e9a;
|
|
}
|
|
|
|
#home-content hr {
|
|
height: 2px;
|
|
background: #3c3c3c;
|
|
border: none;
|
|
margin: 30px 0;
|
|
}
|
|
|
|
#home-content-connect {
|
|
padding: 5px;
|
|
display: inline-block;
|
|
width: 20px;
|
|
height: 20px;
|
|
cursor: pointer;
|
|
}
|