shredbeat
Version:
Music beat reacts to your keyboard shredding speed 🤘
688 lines (575 loc) • 12.8 kB
CSS
/*
* GLOBALS
*/
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
body {
font-size: 1em;
color: #fff;
background-color: #fff;
background-repeat: no-repeat;
background-position: center center;
background-attachment: fixed;
background-image: url(../images/grid.png);
background-size: cover;
}
body,
input,
button {
font-family: 'Titillium Web', Verdana, Geneva, sans-serif;
}
::-webkit-input-placeholder { /* Chrome */
color: #fff;
opacity: 0.7;
}
:-ms-input-placeholder { /* IE 10+ */
color: #fff;
opacity: 0.7;
}
::-moz-placeholder { /* Firefox 19+ */
color: #fff;
opacity: 0.7;
}
:-moz-placeholder { /* Firefox 4 - 17 */
color: #fff;
opacity: 0.7;
}
input,
p {
-webkit-app-region: no-drag;
}
@media (min-width: 600px) {
body {
font-size: 1.2em;
}
}
@media (min-width: 700px) {
body {
font-size: 1.4em;
}
}
@media (min-width: 800px) {
body {
font-size: 1.5em;
}
}
@media (max-width: 400px) {
body {
font-size: 0.8em;
}
}
@media (max-width: 300px) {
body {
font-size: 0.7em;
}
}
@media (max-width: 250px) {
body {
font-size: 0.5em;
}
}
@media (max-width: 200px) {
body {
font-size: 0.4em;
}
}
/*
* /END GLOBALS
*/
/*
* SCROLLBAR
*/
body::-webkit-scrollbar,
.overflow-x::-webkit-scrollbar,
.overflow-y::-webkit-scrollbar {
width: 5px;
height: 5px;
}
body::-webkit-scrollbar-track,
.overflow-x::-webkit-scrollbar-track,
.overflow-y::-webkit-scrollbar-track {
background: #000;
}
body::-webkit-scrollbar-thumb,
.overflow-x::-webkit-scrollbar-thumb,
.overflow-y::-webkit-scrollbar-thumb {
background-color: rgba(73, 65, 88, 0.7);
border: 1px solid rgba(49, 49, 49, 0.6);
}
body::-webkit-scrollbar-thumb:hover,
.overflow-x::-webkit-scrollbar-thumb:hover,
.overflow-y::-webkit-scrollbar-thumb:hover {
background-color: rgba(100, 100, 100, 0.7);
}
/*
* /END SCROLLBAR
*/
/*
* MESSAGE ALERT
*/
.message {
background: rgba(0, 0, 0, 0.15);
border: 1px solid rgba(150, 150, 150, 0.18);
padding: 5px;
margin: 0 auto 10px auto;
font-size: 0.9em;
}
.message.error {
color: #ff5176;
}
.message.success {
color: #51ff81;
}
/*
* /END MESSAGE ALERT
*/
/*
* DRAG REGION
*/
.DragRegion {
-webkit-app-region: drag;
width: 100%;
background: rgba(79, 46, 93, 0.45);
text-align: right;
color: rgba(255,255,255,0.5);
font-size: 0.6em;
text-align: center;
position: relative;
}
.DragRegion:hover {
background: rgba(79, 46, 93, 0.55);
cursor: move;
}
/*
* /END DRAG REGION
*/
/*
* RESIZE HANDLE
*/
.ResizeHandle {
-webkit-app-region: no-drag;
position: absolute;
top: 0;
right: 0;
padding: 0 0.2em;
color: rgba(255,255,255,0.5);
}
/*
* /END RESIZE HANDLE
*/
/*
* MINIMIZE HANDLE
*/
.MinimizeHandle {
-webkit-app-region: no-drag;
position: absolute;
top: 0;
left: 0;
color: rgba(255,255,255,0.5);
transition: all 0.2s ease-out;
line-height: 1;
padding: 0.2em 0.6em;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
.MinimizeHandle:hover {
color: rgba(255,255,255,0.7);
}
.MinimizeHandle i {
margin-top: -0.3em;
}
/*
* /END MINIMIZE HANDLE
*/
/*
* MAIN VIEW
*/
.MainView {
padding: 10px;
}
.MainTitle {
display: block;
font-family: 'colors_of_autumnregular', Verdana, Geneva, sans-serif;
font-size: 2.5em;
margin: 0;
color: #1bf4ff;
text-shadow: 2px 4px #c100ff;
margin: 0 0 15px 0;
text-transform: uppercase;
}
.PlaylistFormContainer {
position: relative;
}
.PlaylistForm {
margin-bottom: 10px;
}
.PlaylistForm:after {
content: "";
display: table;
clear: both;
}
.PlaylistForm .button {
float: left;
}
.PlaylistForm .actions {
float: right;
}
.PlaylistUrlInputContainer {
display: flex;
}
.PlaylistUrlInput {
display: inline-block;
padding: 0.5em;
font-size: 1em;
width: 80%;
color: rgba(255,255,255,0.8);
background: rgba(184, 114, 255, 0.6);
border: 1px solid #8d47a9;
transition: all 0.2s ease-out;
}
.PlaylistUrlInput:focus {
color: #fff;
background: rgba(184, 114, 255, 0.8);
border-color: #bb88c7;
}
.PlaylistUrlSubmit,
.PlaylistUrlSubmit:active,
.PlaylistUrlSubmit:focus,
.PlaylistUrlSubmit:hover {
position: relative;
display: inline-block;
appearance: none;
font-family: 'colors_of_autumnregular', Verdana, Geneva, sans-serif;
background: none;
border: none;
color: #1bf4ff;
padding: 5px;
font-size: 1.5em;
cursor: pointer;
width: 20%;
text-align: center;
outline: 0;
}
.PlaylistUrlSubmit:disabled {
opacity: 0.5;
pointer-events: none;
}
.PlaylistUrlSubmit i {
opacity: 0;
transition: all 0.2s ease-out;
}
.PlaylistUrlSubmit.loading i {
opacity: 1;
}
.PlaylistUrlInputHelp {
margin-bottom: 5px;
}
.PlaylistUrlInputHelp small {
font-size: 0.7em;
color: rgba(255, 255, 255, 0.5);
opacity: 0.8;
transition: opacity 0.2s ease-out;
}
.PlaylistUrlInputHelp small:hover {
opacity: 1
}
.PlaylistUrlInputHelp small a {
color: rgba(255, 255, 255, 0.5);
text-decoration: none;
transition: color 0.2s ease-out;
}
.PlaylistUrlInputHelp small a:hover {
color: rgba(255, 255, 255, 0.7);
text-decoration: underline;
}
/*
* /END MAIN VIEW
*/
/*
* SHREDOMETER
*/
.ShredometerTitle {
font-family: 'sf_alien_encountersitalic', Verdana, Geneva, sans-serif;
font-size: 2em;
margin: 0;
color: #bf65ff;
text-shadow: 2px 4px #6e00ff;
margin: 0 0 15px 0;
text-transform: uppercase;
}
.ShredometerProgress {
position: relative;
width: 100%;
font-size: 2.5em;
color: transparent;
transition: all 0.1s ease-out;
background: #000;
overflow: hidden;
}
.ShredometerProgressFill {
position: absolute;
top: 0;
left: 0;
width: 0%;
height: 100%;
background: #000;
transition: all 0.5s ease-out;
}
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#00a5ff+1,00a5ff+1,0061ff+10,6f00f7+22,a400f7+40,ea32ff+56,ea32ff+72,ff3292+85,ff0004+92 */
.ShredometerProgressFill.low {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#00a5ff+6,00a5ff+14,0061ff+34,6f00f7+57,a400f7+79 */
background: #00a5ff; /* Old browsers */
background: -moz-linear-gradient(-45deg, #00a5ff 6%, #00a5ff 14%, #0061ff 34%, #6f00f7 57%, #a400f7 79%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, #00a5ff 6%,#00a5ff 14%,#0061ff 34%,#6f00f7 57%,#a400f7 79%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, #00a5ff 6%,#00a5ff 14%,#0061ff 34%,#6f00f7 57%,#a400f7 79%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a5ff', endColorstr='#a400f7',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.ShredometerProgressFill.medium {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#0061ff+10,6f00f7+22,a400f7+40,ea32ff+56,ea32ff+72,ff3292+85 */
background: #0061ff; /* Old browsers */
background: -moz-linear-gradient(-45deg, #0061ff 10%, #6f00f7 22%, #a400f7 40%, #ea32ff 56%, #ea32ff 72%, #ff3292 85%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, #0061ff 10%,#6f00f7 22%,#a400f7 40%,#ea32ff 56%,#ea32ff 72%,#ff3292 85%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, #0061ff 10%,#6f00f7 22%,#a400f7 40%,#ea32ff 56%,#ea32ff 72%,#ff3292 85%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0061ff', endColorstr='#ff3292',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.ShredometerProgressFill.high {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#a400f7+23,ea32ff+41,ea32ff+52,ff3292+74,ff0004+92 */
background: #a400f7; /* Old browsers */
background: -moz-linear-gradient(-45deg, #a400f7 23%, #ea32ff 41%, #ea32ff 52%, #ff3292 74%, #ff0004 92%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, #a400f7 23%,#ea32ff 41%,#ea32ff 52%,#ff3292 74%,#ff0004 92%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, #a400f7 23%,#ea32ff 41%,#ea32ff 52%,#ff3292 74%,#ff0004 92%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a400f7', endColorstr='#ff0004',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
/*
* /END SHREDOMETER
*/
/*
* PLAYER
*/
.PlayerContainer {
position: relative;
width: 100%;
margin-bottom: 15px;
background: rgba(0, 0, 0, 0.5);
}
.Player {
position: relative;
}
.PlayerControlButton,
.PlayerControlButton:focus,
.PlayerControlButton:active {
appearance: none;
outline: 0;
background: none;
border: none;
color: #fff;
font-size: 1.4em;
cursor: pointer;
padding: 0.2em;
line-height: 1;
opacity: 0.9;
transition: opacity 0.2s ease-out;
}
.PlayerControlButton:hover,
.PlayerControlButton:active {
opacity: 1;
}
.PlayerControlButton:disabled,
.PlayerControlButton.disabled,
.PlayerControlButton:disabled:hover,
.PlayerControlButton.disabled:hover {
color: #a2a2a2;
opacity: 0.2;
pointer-events: none;
}
.PlayerControlRandomButton,
.PlayerControlRepeatButton,
.PlayerControlRandomButton:active,
.PlayerControlRepeatButton:active,
.PlayerControlRandomButton:focus,
.PlayerControlRepeatButton:focus {
opacity: 0.3;
}
.PlayerControlRandomButton:hover,
.PlayerControlRepeatButton:hover {
opacity: 0.5;
}
.PlayerControlRandomButton.active,
.PlayerControlRepeatButton.active,
.PlayerControlRandomButton.active:active,
.PlayerControlRepeatButton.active:active,
.PlayerControlRandomButton.active:focus,
.PlayerControlRepeatButton.active:focus {
opacity: 0.9;
}
.PlayerControlRandomButton.active:hover,
.PlayerControlRepeatButton.active:hover {
opacity: 1;
}
.PlayerVolumeContainer {
position: absolute;
bottom: 0.5em;
right: 0.5em;
}
/*
* /END PLAYER
*/
/*
* VOLUME SLIDER
*/
.VolumeSliderContainer {
height: 150px;
width: 20px;
position: relative;
}
.VolumeSliderWrapper {
height: 100px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: inline-block;
font-size: 0.6em;
text-align: center;
}
.VolumeSlider {
height: 80px;
width: 10px;
margin: 0 auto;
border: 1px solid rgba(255,255,255,0.3);
overflow: hidden;
cursor: pointer;
}
.VolumeSlider.visible {
visibility: visible;
}
.VolumeSlider.hidden {
visibility: hidden;
pointer-events: none;
}
.VolumeSlider .handle {
left: 1px;
width: 48px;
line-height: 50px;
}
.VolumeSlider .bar {
position: relative;
left: 0;
width: 10px;
height: 100%;
background: rgba(255,255,255,0.1);
cursor: pointer;
}
.VolumeSlider.handle.active {
background-color: #000;
}
.VolumeSlider .bar.bar-1 {
background: rgba(255,255,255,0.9);
}
/*
* /END VOLUME SLIDER
*/
/*
* CONFIG SETTINGS
*/
.ConfigSettings {
}
.ConfigSettings label {
display: block;
margin-bottom: 10px;
text-transform: uppercase;
color: #ffb5de;
}
.ConfigSettings .field {
margin-bottom: 20px;
}
/*
* /END CONFIG SETTINGS
*/
/*
* SETTING RANGE SLIDER
*/
.SettingRangeSlider {
width: 100%;
height: 2em;
transition: all 0.2s ease-out;
border: 1px solid transparent;
}
.SettingRangeSlider:hover {
border: 1px solid rgba(255, 255, 255, 0.15);
background: rgba(255, 255, 255, 0.07);
}
.SettingRangeSlider .handle {
top: 50%;
transform: translate(0, -50%);
width: 2.5em;
height: 2.5em;
line-height: 1;
text-align: center;
cursor: pointer;
background: rgba(0, 0, 0, 0.8);
color: rgba(255,255,255,0.9)
}
.SettingRangeSlider .handle-label {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
font-size: 0.8em;
line-height: 1;
opacity: 0;
text-align: center;
transition: all 0.2s ease-out;
}
.SettingRangeSlider:hover .handle-label {
opacity: 1
}
.SettingRangeSlider .handle.active {
background-color: #000;
}
.SettingRangeSlider .bar {
top: 50%;
height: 1em;
background-color: rgba(255, 58, 158, 0.8);
transform: translate(0, -50%);
}
.SettingRangeSlider .bar.bar-1 {
background: rgba(0,0,0,0.5);
}
/*
* /END SETTING RANGE SLIDER
*/
#bottom {
padding-top: 10px;
margin-bottom: 40px;
}
#settings {
font-size: 0.7em;
font-family: Helvetica, ariel, sans-serif;
color: rgba(255, 255, 255, 0.4);
text-shadow: none;
font-weight: normal;
cursor: pointer;
transition: all 0.2s ease-out;
float: left;
}
#quit {
font-size: 0.7em;
font-family: Helvetica, ariel, sans-serif;
color: rgba(255, 255, 255, 0.4);
text-shadow: none;
font-weight: normal;
cursor: pointer;
transition: all 0.2s ease-out;
float: right;
}
#quit:hover {
color: rgba(255, 255, 255, 0.6);
}