@andatoshiki/fuki
Version:
🐳 A lovely self-hosted yet serverless link shortener service via CloudFlare Workers!
263 lines (246 loc) • 4.18 kB
CSS
* {
margin: 0;
padding: 0;
cursor: default;
}
html,
body {
height: 100%;
}
body {
display: -webkit-box;
display: flex;
-webkit-box-align: center;
align-items: center;
-webkit-box-pack: center;
justify-content: center;
vertical-align: center;
flex-wrap: wrap;
align-content: center;
color: #2a2b2c;
background-color: #ebedee;
overflow: hidden;
}
.card {
/* background-color: transparent; */
width: 768px;
border-radius: 15px;
}
.card-text {
text-align: center;
}
.card-text > a {
text-decoration: none;
color: #fbfbfb;
}
.card-text > a {
cursor: pointer;
}
.card-text:hover {
cursor: pointer;
}
.form-control {
cursor: auto;
}
.card-header {
font-weight: bold;
}
@media (max-width: 769px) {
.card {
width: 80%;
}
}
@media (max-width: 420px) {
.card {
width: 95%;
}
}
@media (prefers-color-scheme: dark) {
body {
color: #134e6c;
font-weight: bold;
background: url('https://api.toshiki.dev');
background-size: cover;
}
.card {
background: hsla(0, 0%, 100%, 0.7);
-webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.card:hover {
box-shadow: 0 0 11px rgba(33, 33, 33, 0.2);
-webkit-transform: scale(1.05, 1.05);
}
.card::after {
-webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
}
::-webkit-scrollbar {
width: 0px;
height: 0px;
}
.popup {
background: hsla(0, 0%, 100%, 0.7);
filter: drop-shadow(0px 40px 10px rgba(0, 0, 0, 0.5));
color: #134e6c;
}
.wave {
animation-name: wave-animation; /* Refers to the name of your @keyframes element below */
animation-duration: 2.5s; /* Change to speed up or slow down */
animation-iteration-count: infinite; /* Never stop waving :) */
transform-origin: 70% 70%; /* Pivot around the bottom-left palm */
display: inline-block;
}
@keyframes wave-animation {
0% {
transform: rotate(0deg);
}
10% {
transform: rotate(14deg);
} /* The following five values can be played with to make the waving more or less extreme */
20% {
transform: rotate(-8deg);
}
30% {
transform: rotate(14deg);
}
40% {
transform: rotate(-4deg);
}
50% {
transform: rotate(10deg);
}
60% {
transform: rotate(0deg);
} /* Reset for the last half to pause */
100% {
transform: rotate(0deg);
}
}
.fa-beat {
animation: fa-beat 5s ease infinite;
}
@keyframes fa-beat {
0% {
transform: scale(1);
}
5% {
transform: scale(1.25);
}
20% {
transform: scale(1);
}
30% {
transform: scale(1);
}
35% {
transform: scale(1.25);
}
50% {
transform: scale(1);
}
55% {
transform: scale(1.25);
}
70% {
transform: scale(1);
}
}
.heart {
color: red;
}
@keyframes thrill {
from {
transform: rotate(2deg);
}
to {
transform: rotate(-2deg);
}
}
@keyframes fadeIn {
from {
bottom: -20px;
}
to {
bottom: 30px;
}
}
#fadeIn {
width: 300px;
padding: 16px 0 16px 0;
position: fixed;
left: 0;
right: 0;
bottom: 40px;
margin: auto;
border-radius: 16px;
background: hsla(0, 0%, 100%, 0.7);
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);
animation: fadeIn 0.5s forwards;
}
#links {
width: 300px;
padding: 16px 0 16px 0;
position: fixed;
left: 0;
right: 0;
bottom: 0px;
margin: auto;
border-radius: 16px;
animation: thrill 2s infinite alternate ease-in-out;
}
@media all and (min-width: 1280px) {
#fadeIn,
#links {
width: 300px;
}
}
@media all and (max-width: 369px) {
#fadeIn,
#links {
transform: scale(0.8);
width: 300px;
padding: 16px 0 16px 0;
position: fixed;
left: 0;
right: 0;
bottom: 10px;
margin: auto;
border-radius: 30px;
}
}
.fa-question-circle {
cursor: pointer;
}
.btn-circle.btn-sm {
width: 38px;
height: 38px;
padding: 6px 0px;
border-radius: 20px;
font-size: 16px;
text-align: center;
cursor: pointer;
}
.btn-circle.btn-md {
width: 50px;
height: 50px;
padding: 7px 10px;
border-radius: 25px;
font-size: 10px;
text-align: center;
}
.btn-circle.btn-xl {
width: 70px;
height: 70px;
padding: 10px 16px;
border-radius: 35px;
font-size: 12px;
text-align: center;
}
.modal {
color: #134e6c;
}
.light {
font-weight: lighter;
}