mirror of
https://github.com/tuna/mirror-web.git
synced 2025-12-25 20:32:46 +00:00
500 lines
9.7 KiB
SCSS
500 lines
9.7 KiB
SCSS
---
|
|
---
|
|
/* ################################################################
|
|
|
|
Author: Carlos Alvarez
|
|
URL: http://alvarez.is
|
|
|
|
Project Name: SOLID - Bootstrap 3 Theme
|
|
Version: 1.0
|
|
URL: http://alvarez.is
|
|
|
|
################################################################# */
|
|
|
|
$color_bg_dark: #222;
|
|
$color_thu_purple: #82318E;
|
|
$color_thu_purple_dark: #C353D3;
|
|
$color_light_grey: #888;
|
|
$color_grey: #555;
|
|
$color_grey_dark: #aaa;
|
|
$color_primary: $color_thu_purple;
|
|
$color_primary_dark: $color_thu_purple_dark;
|
|
$color_primary_light: #d8aff6;
|
|
$color_primary_rgb: 92,48,125;
|
|
$color_secondary: #384452;
|
|
$color_secondary_dark: #ddd;
|
|
$color_link: #088acb;
|
|
$color_link_dark: #6793cf;
|
|
$color_link_hover: #62bbe7;
|
|
$color_footer_heading: #ffffff;
|
|
$color_footer_content: #bfc9d3;
|
|
$color_navbar_bg: #d3d3d3;
|
|
$font_local: 'Hiragino Sans GB', 'Source Han Sans SC', 'Source Han Sans CN', 'Noto Sans CJK SC', 'WenQuanYi Zen Hei', 'WenQuanYi Micro Hei', '微软雅黑', sans-serif;
|
|
$font_default: 'Lato', #{$font_local};
|
|
$color_row_hover: #e0f3fc;
|
|
$color_row_hover_dark: #325475;
|
|
|
|
@mixin dark {
|
|
@media (prefers-color-scheme: dark) {
|
|
@content
|
|
}
|
|
}
|
|
|
|
@import
|
|
"Lato",
|
|
"structure",
|
|
"bootstrap-mod",
|
|
"syntax-highlighting";
|
|
|
|
:root {
|
|
color-scheme: light dark;
|
|
}
|
|
|
|
#thu-alert {
|
|
padding-left: 50px;
|
|
position: relative;
|
|
.glyphicon {
|
|
font-size: 30px;
|
|
left: 10px;
|
|
top: 20px;
|
|
position: absolute;
|
|
}
|
|
}
|
|
|
|
html {
|
|
height: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
position: relative;
|
|
min-height: 100%;
|
|
@include dark{
|
|
background: $color_bg_dark;
|
|
}
|
|
}
|
|
|
|
#headerwrap {
|
|
padding-top: 40px;
|
|
padding-bottom: 0px;
|
|
|
|
h1 {
|
|
color: $color_primary ;
|
|
margin-bottom: 15px;
|
|
}
|
|
h3, h5 {
|
|
color: $color_primary ;
|
|
font-weight: 400;
|
|
margin-top: 10px;
|
|
}
|
|
.img-responsive {
|
|
margin: 0 auto;
|
|
}
|
|
}
|
|
|
|
.status-fail, .status-failed, .status-paused {
|
|
background-color: #fff4e3;
|
|
@include dark{
|
|
background-color: #524841;
|
|
}
|
|
}
|
|
.status-syncing {
|
|
background-color: #e3fffd;
|
|
@include dark{
|
|
background-color: #254059;
|
|
}
|
|
}
|
|
.sk-wave .sk-rect {
|
|
@include dark{
|
|
background-color: $color_secondary_dark;
|
|
}
|
|
}
|
|
|
|
#mirrors {
|
|
tbody {
|
|
tr:hover {
|
|
background-color: $color_row_hover;
|
|
@include dark{
|
|
background-color: $color_row_hover_dark;
|
|
}
|
|
}
|
|
td {
|
|
padding: 4px 8px;
|
|
border-top: none;
|
|
}
|
|
font-size: 12pt;
|
|
.label.label-new {
|
|
padding: .1em .2em;
|
|
vertical-align: 40%;
|
|
text-shadow: 1px 1px #888;
|
|
background-color: #3aa0e6;
|
|
}
|
|
.label.label-status {
|
|
vertical-align: 20%;
|
|
margin-left: .5em;
|
|
}
|
|
.fa-question-circle {
|
|
color: #234961;
|
|
@include dark{
|
|
color: #6e9cdb;
|
|
}
|
|
}
|
|
}
|
|
#news {
|
|
li > a {
|
|
color: $color_secondary;
|
|
@include dark{
|
|
color: $color_secondary_dark;
|
|
}
|
|
}
|
|
}
|
|
#download-link {
|
|
margin-bottom: 1em;
|
|
}
|
|
}
|
|
#isoModal {
|
|
.nav-tabs {
|
|
margin-bottom: .5em;
|
|
}
|
|
}
|
|
|
|
#status-page {
|
|
.thead {
|
|
font-weight: bold;
|
|
}
|
|
#mirror-list {
|
|
:hover {
|
|
background-color: $color_row_hover;
|
|
@include dark{
|
|
background-color: $color_row_hover_dark;
|
|
}
|
|
}
|
|
}
|
|
.table-condensed {
|
|
& > thead, & > tbody, & > tfoot{
|
|
& > tr > th, & > tr > td[class*="rolling-"]{
|
|
overflow-y: hidden;
|
|
clip-path: padding-box;
|
|
& > div {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
transition-property: transform;
|
|
transition-duration: 1s;
|
|
transition-timing-function: ease;
|
|
div {
|
|
padding: 5px;
|
|
white-space: nowrap;
|
|
height: 100%;
|
|
}
|
|
&.notrans{
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
position: relative;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#help-page {
|
|
margin-top: 40px;
|
|
margin-bottom: 40px;
|
|
}
|
|
|
|
#news-page {
|
|
article {
|
|
.meta {
|
|
color: $color_grey;
|
|
@include dark{
|
|
color: $color_grey_dark;
|
|
}
|
|
}
|
|
}
|
|
.fa-user {
|
|
font-family: #{$font_default}, 'FontAwesome';
|
|
}
|
|
}
|
|
|
|
/* Footer */
|
|
#footerwrap {
|
|
color: $color_footer_content;
|
|
margin-top: 100px;
|
|
padding-top: 60px;
|
|
padding-bottom: 60px;
|
|
background: $color_secondary;
|
|
p {
|
|
color: $color_footer_content;
|
|
}
|
|
h4 {
|
|
color: $color_footer_heading;
|
|
}
|
|
i, i:hover, a, a:hover {
|
|
color: $color_footer_content;
|
|
}
|
|
}
|
|
|
|
#footerwrap.tuna-foot-1 {
|
|
position: absolute;
|
|
left: 0;
|
|
bottom: 0;
|
|
right: 0;
|
|
}
|
|
|
|
#footerwrap.tuna-foot-2 {
|
|
visibility: hidden;
|
|
}
|
|
|
|
.spacing {
|
|
margin-top: 40px;
|
|
margin-bottom: 40px;
|
|
}
|
|
|
|
.clickable {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.vbottom {
|
|
display: inline-block;
|
|
vertical-align: bottom;
|
|
float: none;
|
|
}
|
|
.text-right-xs {
|
|
text-align: right;
|
|
}
|
|
.text-left-xs {
|
|
text-align: left;
|
|
}
|
|
|
|
/* Small devices (tablets, 768px and up) */
|
|
@media (min-width: 768px) {
|
|
.text-right-sm {
|
|
text-align: right;
|
|
}
|
|
.text-left-sm {
|
|
text-align: left;
|
|
}
|
|
}
|
|
|
|
/* Medium devices (desktops, 992px and up) */
|
|
@media (min-width: 992px) {
|
|
.text-right-md {
|
|
text-align: right;
|
|
}
|
|
.text-left-md {
|
|
text-align: left;
|
|
}
|
|
.table.flat-md {
|
|
td,tr,th {
|
|
float: none;
|
|
}
|
|
td:before, th:before, td:after, th:after, tr:before, tr:after {
|
|
content: none;
|
|
}
|
|
td:nth-child(odd) {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Large devices (large desktops, 1200px and up) */
|
|
@media (min-width: 1200px) {
|
|
.text-right-lg {
|
|
text-align: right;
|
|
}
|
|
.text-left-lg {
|
|
text-align: left;
|
|
}
|
|
}
|
|
.table.flat-md {
|
|
word-break: break-all;
|
|
@media (max-width: 992px) {
|
|
display: block;
|
|
td,th,tr,tbody,thead {
|
|
display: block;
|
|
}
|
|
td,th {
|
|
border-style: none;
|
|
}
|
|
tr {
|
|
border-bottom: 1px solid #ddd;
|
|
}
|
|
tr:first-of-type {
|
|
border-top: 1px solid #ddd;
|
|
}
|
|
td,th[class*="col-"] {
|
|
float: left;
|
|
position: relative;
|
|
}
|
|
td:nth-child(odd) {
|
|
text-align: right;
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
}
|
|
|
|
#search {
|
|
float: right;
|
|
line-height: 18px;
|
|
padding: 8px;
|
|
border: 1px solid #e3e3e3;
|
|
margin-top: 20px;
|
|
margin-right: 10px;
|
|
max-width: 240px;
|
|
height: 30px;
|
|
font-size: 16px;
|
|
background: transparent;
|
|
}
|
|
|
|
#mirror-title {
|
|
float: left;
|
|
}
|
|
|
|
#upgrade-mask{
|
|
color: black;
|
|
p {
|
|
color: inherit;
|
|
}
|
|
}
|
|
|
|
.not-found {
|
|
height: 600px;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
position: relative;
|
|
}
|
|
|
|
.not-found-bg {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
top: 0;
|
|
|
|
z-index: -1;
|
|
opacity: .5;
|
|
filter: grayscale(0.2);
|
|
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
|
|
background-image: url(/static/img/missing.png);
|
|
background-image: -webkit-image-set(url("/static/img/missing.png") 1x,
|
|
url("/static/img/missing@2x.png") 2x,
|
|
url("/static/img/missing@3x.png") 3x,
|
|
url("/static/img/missing@4x.png") 4x);
|
|
background-image: image-set(url("/static/img/missing.png") 1x,
|
|
url("/static/img/missing@2x.png") 2x,
|
|
url("/static/img/missing@3x.png") 3x,
|
|
url("/static/img/missing@4x.png") 4x);
|
|
@include dark {
|
|
opacity: 1;
|
|
filter: none;
|
|
background-image: url(/static/img/missing-dark.png);
|
|
background-image: -webkit-image-set(url("/static/img/missing-dark.png") 1x,
|
|
url("/static/img/missing-dark@2x.png") 2x,
|
|
url("/static/img/missing-dark@3x.png") 3x,
|
|
url("/static/img/missing-dark@4x.png") 4x);
|
|
background-image: image-set(url("/static/img/missing-dark.png") 1x,
|
|
url("/static/img/missing-dark@2x.png") 2x,
|
|
url("/static/img/missing-dark@3x.png") 3x,
|
|
url("/static/img/missing-dark@4x.png") 4x);
|
|
}
|
|
}
|
|
|
|
.nonthu .not-found-bg {
|
|
background-image: none;
|
|
}
|
|
|
|
.not-found-hint {
|
|
font-weight: bold;
|
|
font-size: 48px;
|
|
margin-bottom: 40px;
|
|
padding: 0 20px;
|
|
}
|
|
|
|
.not-found-link {
|
|
display: inline-block;
|
|
font-size: 18px;
|
|
margin: 0 20px;
|
|
}
|
|
|
|
.not-found-text {
|
|
max-width: 450px;
|
|
box-sizing: border-box;
|
|
padding: 0 40px;
|
|
margin-bottom: 80px;
|
|
font-size: 16px;
|
|
opacity: .7;
|
|
line-height: 24px;
|
|
}
|
|
|
|
.not-found-code {
|
|
font-size: 12px;
|
|
opacity: .54;
|
|
font-weight: normal;
|
|
font-style: italic;
|
|
}
|
|
|
|
.nonthu .thuhidden{
|
|
display: none;
|
|
}
|
|
|
|
|
|
// Scrolling columns in status page
|
|
.tuna-roll {
|
|
position: relative;
|
|
overflow: hidden;
|
|
|
|
> div {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
top: 0;
|
|
|
|
animation-timing-function: ease;
|
|
animation-duration: .2s;
|
|
animation-iteration-count: 1;
|
|
}
|
|
|
|
@keyframes tuna-roll-enter {
|
|
0% {
|
|
transform: translateY(100%);
|
|
}
|
|
|
|
100% {
|
|
transform: none;
|
|
}
|
|
}
|
|
|
|
@keyframes tuna-roll-leave {
|
|
0% {
|
|
transform: none;
|
|
}
|
|
|
|
100% {
|
|
transform: translateY(-100%);
|
|
}
|
|
}
|
|
|
|
@for $i from 0 to 7 {
|
|
&[data-tuna-roll-cur="#{$i}"] {
|
|
> * {
|
|
animation-name: tuna-roll-leave;
|
|
transform: translateY(100%);
|
|
}
|
|
> [data-tuna-roll-seq~="#{$i}"] {
|
|
animation-name: tuna-roll-enter;
|
|
transform: none;
|
|
}
|
|
}
|
|
}
|
|
}
|