mirror-web/static/css/style.scss
Harry Chen 507139a480 Use more elegant way to specify padding
Signed-off-by: Harry Chen <i@harrychen.xyz>
2024-04-21 13:17:18 +08:00

473 lines
9.3 KiB
SCSS

---
---
/* ################################################################
Author: Carlos Alvarez
URL: http://alvarez.is
Project Name: SOLID - Bootstrap 3 Theme
Version: 1.0
URL: http://alvarez.is
################################################################# */
$color_thu_purple_dark: #C353D3;
$font_default: 'Lato', 'Hiragino Sans GB', 'Source Han Sans SC', 'Source Han Sans CN', 'Noto Sans CJK SC', 'WenQuanYi Zen Hei', 'WenQuanYi Micro Hei', '微软雅黑', sans-serif;
$footer_color: #384452;
{% if site.issue %}
$color_thu_purple: $color_thu_purple_dark;
{% else %}
$color_thu_purple: #82318E;
{% endif %}
@mixin dark {
{% unless site.issue %}
@media (prefers-color-scheme: dark) {
@content
}
{% else %}
@content
{% endunless %}
}
@mixin noissue {
{% unless site.issue %}
@content
{% else %}
@if(false){ @content }
{% endunless %}
}
$color-mode-type: media-query;
@import
"_bootstrap/bootstrap",
"Lato",
"syntax-highlighting",
"_spinners/3-wave";
{% unless site.issue %}
:root {
color-scheme: light dark;
}
{% endunless %}
#thu-alert {
padding-left: 50px;
position: relative;
.glyphicon {
font-size: 30px;
left: 10px;
top: 20px;
position: absolute;
}
}
body {
display: flex;
min-height: 100vh;
flex-direction: column;
}
.status-fail, .status-failed, .status-paused {
--bs-table-bg: #fff4e3;
--bs-table-hover-bg: var(--bs-table-bg);
@include dark{
--bs-table-bg: #524841;
}
}
.status-syncing {
--bs-table-bg: #e3fffd;
--bs-table-hover-bg: var(--bs-table-bg);
@include dark{
--bs-table-bg: #254059;
}
}
.sk-wave .sk-rect {
@include dark{
background-color: $body-secondary-color-dark;
}
}
pre {
@extend .border;
@extend .rounded;
@extend .p-2;
@extend .bg-secondary-subtle;
}
code {
@extend .p-1;
@extend .rounded;
@extend .bg-secondary-subtle;
}
#mirrors {
tbody {
td {
padding: 4px 8px;
border-style: none;
}
font-size: 12pt;
.badge.badge-new {
padding: .1em .2em;
vertical-align: 40%;
text-shadow: 1px 1px #888;
margin-right: 4px;
background-color: #3aa0e6;
}
.badge.badge-status {
vertical-align: 20%;
margin-left: .5em;
}
}
#download-link {
margin-bottom: 1em;
}
}
#isoModal {
.nav-tabs {
margin-bottom: .5em;
}
}
#mirror-title {
margin-top: 10px;
margin-bottom: 10px;
}
#help-page {
margin-top: 40px;
margin-bottom: 40px;
}
table.flat {
& > tbody > tr {
border-bottom-width: var(--bs-border-width);
}
& > thead > tr {
border-bottom-width: calc(var(--bs-border-width) * 2);
border-bottom-style: solid;
border-bottom-color: currentColor;
}
}
h1, h2, h3, .h1, .h2, .h3 {
margin-top: 2rem;
}
h4, h5, h6, .h4, .h5, .h6 {
margin-top: 1rem;
}
/* Footer */
#footerwrap {
color: $body-color-dark;
margin-top: 100px;
padding-top: 60px;
padding-bottom: 60px;
background: $footer_color;
a {
color: $link-color-dark;
}
a:hover {
color: $link-hover-color-dark;
}
}
.index-issue {
#footerwrap {
background: transparent;
}
body {
background-color: black;
color: $body-color-dark;
--bs-emphasis-color-rgb: white;
--bs-link-color: #{$link-color-dark};
--bs-link-color-hover: #{$link-hover-color-dark};
}
// a.navbar-brand{
// color: $navbar-dark-brand-color;
// }
// .navbar-nav a{
// color: var(--bs-nav-link-color);
// }
}
.spacing {
margin-top: 40px;
margin-bottom: 40px;
}
.clickable {
cursor: pointer;
}
.vbottom {
display: inline-block;
vertical-align: bottom;
float: none;
}
#search {
line-height: 18px;
padding: 8px;
border: 1px solid #e3e3e3;
max-width: 240px;
height: 30px;
font-size: 16px;
background: transparent;
}
#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;
background-repeat: no-repeat;
background-position: center;
@include noissue {
opacity: .5;
filter: grayscale(0.2);
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: 1s;
animation-iteration-count: 1;
/* Tooltip text */
> .tooltiptext {
visibility: hidden;
width: auto;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 5px;
/* Position the tooltip text - see examples below! */
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
&:hover > .tooltiptext {
visibility: visible;
}
}
@keyframes tuna-roll-enter {
0% {
transform: translateY(100%);
}
100% {
transform: none;
}
}
@keyframes tuna-roll-leave {
0% {
transform: none;
}
100% {
transform: translateY(-100%);
}
}
}
{% for attrb in (1..2) %}
@for $i from 0 to 7 {
{% cycle "g1": "[data-tuna-roll-cur", ".row[data-tuna-roll-freeze" %}="#{$i}"] {
.tuna-roll > div {
animation-name: tuna-roll-leave;
transform: translateY(100%);
}
.tuna-roll > div[data-tuna-roll-seq~="#{$i}"] {
animation-name: tuna-roll-enter;
transform: none;
}
}
}
{% cycle "g2": "[data-tuna-roll-cur", ".row[data-tuna-roll-freeze" %}="-1"] {
.tuna-roll > div {
transform: translateY(100%);
animation-name: tuna-roll-leave;
animation-duration: 0s;
}
.tuna-roll > div[data-tuna-roll-seq~="0"] {
transform: none;
animation-name: tuna-roll-enter;
animation-duration: 0s;
}
}
{% endfor %}
svg.icon {
display: inline-block;
width: 1em;
height: 1.42857143em;
fill: currentColor;
vertical-align: bottom;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
svg.icon {
height: 1.1em;
}
}
.content-select {
/* override color of form-control from bootstrap */
color: inherit;
background-color: transparent;
}
a {
padding: 0;
margin: 0;
text-decoration: none;
-webkit-transition: background-color .4s linear, color .4s linear, border-color .4s linear;
-moz-transition: background-color .4s linear, color .4s linea, border-color .4s linear;
-o-transition: background-color .4s linear, color .4s linear, border-color .4s linear;
-ms-transition: background-color .4s linear, color .4s linear, border-color .4s linear;
transition: background-color .4s linear, color .4s linear, border-color .4s linear;
}
a:hover, a:focus {
text-decoration: none;
}
.navbar-default {
--bs-navbar-active-color: #{$color_thu_purple};
--bs-navbar-hover-color: #{$color_thu_purple};
@include dark{
--bs-navbar-active-color: #{$color_thu_purple_dark};
--bs-navbar-hover-color: #{$color_thu_purple_dark};
}
.navbar-nav > li > a.active {
border-bottom: 2px solid $color_thu_purple;
@include dark{
border-bottom-color: $color_thu_purple_dark;
}
}
.navbar-nav > li > a {
font-weight: 700;
font-size: 12px;
}
.nav-link {
transition-duration: .4s;
}
}
.navbar-brand {
font-weight: 900;
padding: 0px;
line-height: 50px;
height: 50px;
img {
margin-right: 5px;
}
}