Files
liederwahl/static/site.css
2024-07-11 19:42:07 +02:00

379 lines
6.9 KiB
CSS

:root {
--color-white-100: white;
--color-white-90: #e6e6e6;
--color-white-80: #cccccc;
--color-white-70: #b3b3b3;
--color-white-10: #191919;
--color-choriosity-red: #be0519;
--color-choriosity-red--medium: #990514;
--color-choriosity-red--darker: #66030d;
--color-choriosity-red--rgba: 190, 5, 25;
--color-choriosity-red--light: #faeaea;
--color-background: #fffffa;
--color-tap: var(--color-choriosity-red--darker);
--color-callout-bg: var(--color-background);
}
@font-face {
font-family: 'Fira Sans';
src: url(FiraSans-Regular.woff2) format("woff2");
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Fira Sans';
src: url(FiraSans-Italic.woff2) format("woff2");
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: 'Fira Sans';
src: url(FiraSans-Medium.woff2) format("woff2");
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'Fira Sans';
src: url(FiraSans-SemiBold.woff2) format("woff2");
font-weight: 600;
font-style: normal;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: Fira Sans, Helvetica, Arial, sans-serif;
}
html {
background: var(--color-background);
}
header {
background-color: var(--color-choriosity-red);
height: 80px;
width: 100%;
display: flex;
align-items: center;
margin-bottom: 40px;
}
::selection {
background: var(--color-choriosity-red);
color: var(--color-white-100);
}
.vote-buttons,
.cover-container,
.categories {
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
@media only screen and (min-resolution: 2dppx) {
body {
font-size: 3.2vmin;
}
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
body {
font-size: 3.2vmin;
}
}
.text {
padding: 0.3em;
margin-bottom: 0.7em;
display: inline-block;
font-size: 1.25rem;
}
.clear {
clear: both;
}
.song {
background-color: var(--color-choriosity-red--light);
background-color: var(--color-white-100);
border: 1px solid var(--color-choriosity-red);
box-shadow: 4px 4px 8px var(--color-white-90);
padding: 0.4em;
border-radius: 0.5em;
width: 30em;
margin-bottom: 1rem;
margin-left: 0.5em;
float: left;
}
.cover-container {
position: relative;
width: 10.67em;
height: 6em;
float: left;
margin-right: 1em;
text-align: center;
background-color: white;
}
.cover {
display: block;
max-width: 100%;
max-height: 100%;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
transition: .3s ease;
}
.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: .3s ease;
}
.cover-container:hover {
cursor: pointer;
}
.cover-container:hover .overlay {
opacity: 1;
filter: drop-shadow(0px 0px 1em black);
}
.cover-container:hover .cover {
filter: brightness(0.6);
}
.overlay img {
height: 50%;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
filter: invert();
transition: .1s ease;
}
.cover-container:active .overlay img {
height: 60%;
}
.vote-buttons {
display: inline-block;
}
.button {
height: 1.5em;
width: 3em;
text-align: center;
vertical-align: middle;
font-size: 1.5em;
position: relative;
float: left;
clear: none;
}
.button img {
height: 30%;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
transition: .1s ease;
}
.button:active img {
height: 40%;
}
.button-no {
background-color: #e1412f;
border-top-left-radius: 1em;
border-bottom-left-radius: 1em;
}
.button-neutral {
background-color: #f5bb00;
margin-left: 2px;
margin-right: 2px;
}
.button-yes {
background-color: #48a84f;
border-top-right-radius: 1em;
border-bottom-right-radius: 1em;
}
.button:not(.selected):not(:hover) {
background-color: var(--color-white-90);
}
.button:hover {
filter: drop-shadow(2px 2px 2px var(--color-white-70)) brightness(95%);
cursor: pointer;
}
.button span {
position: relative;
}
.button-no span {
top: 10%;
}
.button-yes span {
top: 10%;
}
.button-neutral span {
top: 20%;
}
.categories {
overflow: hidden;
/*cursor: grab;*/
white-space: nowrap;
font-size: 0.7em;
line-height: 1.2em;
margin-top: 0.3em;
}
.categories span {
border-radius: 1.2em;
padding: 0 0.5em 0 0.5em;
margin-right: 0.4em;
margin-top: 0.5em;
display: inline-block;
color: white;
max-width: 10em;
overflow: clip;
background-color: hsl(calc(var(--hue) * 360), 100%, 40%);
/*color-mix(in srgb, var(--main-color) 60%, transparent);*/
}
.vote-buttons {
margin-top: 1em;
width: 100%;
display: inline-flex;
justify-content: center;
}
.song-title,
.song-artist {
width: 100%;
overflow: clip;
white-space: nowrap;
}
.song-artist {
font-size: 0.7em;
}
h1 {
font-size: 2rem;
color: white;
clear: both;
}
h1#title {
margin-top: 30px;
}
h2 {
padding: 0.1em;
padding-left: 0.2em;
margin-bottom: 1rem;
padding-top: 1.5rem;
font-size: 1.25rem;
clear: both;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
h2:after {
content: '';
border-top: 2px solid hsl(calc(var(--hue) * 360), 100%, 40%);
flex: 1 0 20px;
margin: 0 0 0 10px;
}
h2:before {
content: '';
display: inline-block;
width: 15px;
height: 15px;
border-radius: 7.5px;
background-color: hsl(calc(var(--hue) * 360), 100%, 40%);
margin-right: 0.3em;
margin-left: 0.3em;
}
#yt-player,
#spotify-player,
#mscs-player {
position: fixed;
bottom: 0.5em;
right: 0.5em;
padding: 0;
display: none;
justify-content: center;
border-radius: 20px;
}
#spotify-player {
bottom: 0.4em;
}
#close-player {
position: fixed;
bottom: calc(360px + 0.2em - 3em);
right: 0.7em;
background-color: rgba(255, 255, 255, 1);
width: 3em;
height: 3em;
border-radius: 1.5em;
display: none;
cursor: pointer;
}
#close-player img {
position: relative;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 1.5em;
}
#title-logo {
vertical-align: middle;
height: 6rem;
filter: drop-shadow(0 0 1px var(--color-choriosity-red--medium));
margin: 30px 1em 0 1em;
}