This repository has been archived on 2026-04-30. You can view files and clone it, but cannot push or open issues or pull requests.
huegasm/app/styles/app.scss

720 lines
11 KiB
SCSS

@import 'ember-paper';
@import 'bower_components/bootstrap-sass/assets/stylesheets/_bootstrap';
@import 'ember-modal-dialog/ember-modal-structure';
@import 'ember-modal-dialog/ember-modal-appearance';
$playerBackColor: #F12B24;
$playerHeight: 400px;
$playerBeatAreaHeight: 320px;
$playListBackgroundColor: #1E1E1E;
$playerDefaultIconColor: #BBBBBB;
$footerHeight: 40px;
// BRIDGE FINDER
* {
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
html {
min-height: 100%;
height: auto;
}
body {
font-family: 'Slabo 27px', serif;
margin-bottom: $footerHeight;
position: static;
}
.triangle {
position: absolute;
right: 11px;
top: -16px;
border-style: solid;
border-width: 0 15px 15px 15px;
border-color: transparent transparent #AFAFAF transparent;
}
#settings {
cursor: pointer;
position: absolute;
right: 15px;
margin-top: 30px;
}
.settingsItem {
margin-left: 10px;
position: relative;
}
.appSettingsItem {
padding: 10px;
}
.appSettingsItem.warn {
text-transform: uppercase;
background: rgba(255, 0, 0, 0.20);
}
.appSettingsItem.warn:hover {
text-transform: uppercase;
background: rgba(255, 0, 0, 0.70);
color: white;
}
.appSettingsItem:hover {
background: darken(white, 10%);
}
.settingsItem.on md-icon.md-default-theme {
color: #F12B24 !important;
}
.settingsItem:hover md-icon {
color: black !important;
}
.ember-app {
padding-bottom: 50px;
}
.footer {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: $footerHeight;
}
.footer .text-muted {
padding-left: 0;
margin-top: 10px;
text-align: center;
}
.cursorPointer {
cursor: pointer;
}
.bridgeFinder {
text-align: center;
padding-top: 20px;
}
.bridgeFinder .title {
font-size: 30px;
margin-bottom: 30px;
}
#bridgeInput {
md-input-container {
max-width: 200px;
margin: 0 auto;
}
}
md-progress-circular {
margin: 0 auto 20px auto !important;
}
md-progress-linear {
margin-bottom: 50px;
}
#pressButtonBridgeImg {
width: 200px;
margin: 0 auto 30px auto;
display: inherit;
}
.noTextDecoration {
text-decoration: none;
}
#bridgeButtonGroup {
width: 150px;
margin: 30px auto;
text-align: left;
}
// BRIDGE CONTROLS
#appSettings {
position: absolute;
background: white;
box-shadow: 5px 10px 15px 5px rgba(0,0,0,.3);
z-index: 2;
width: 200px;
right: 0;
}
md-list-item .md-no-style {
padding: 0;
}
#bridgeControls {
position: relative;
max-width: 900px;
}
.navigation {
text-align: center;
padding: 30px 0 30px 0;
}
.navigationItem {
font-size: 18px;
padding: 0 10px 0 10px;
}
.navigationItem.active {
font-weight: bold;
cursor: default;
}
.navigationItem:hover {
font-weight: bold;
}
.cp-color-picker{
z-index: 100;
}
#lightControl{
min-height: 500px;
}
.color {
width: 50px;
padding: 22px;
cursor: pointer;
font-size: 0;
margin-right: 10px;
}
// LIGHT GROUP
md-slider {
cursor: pointer;
}
md-slider.md-default-theme .md-thumb:after {
border-color: #F12B24;
background-color: #F12B24;
}
.paper-sidenav {
overflow: visible;
}
#groupControls {
display: none;
box-shadow: 5px 10px 15px 5px rgba(0,0,0,.3);
border-radius: 0 0 5px 5px;
}
#groupControls.on {
width: 300px;
top: 55px;
right: 48px;
position: absolute;
display: block;
z-index: 2;
background-color: white;
max-height: 400px;
overflow: auto;
}
.lightGroup {
margin: 0 auto 0 auto;
.tooltip.top {
margin-top: 8px;
}
}
.hueLight {
margin-right: 10px;
border-radius: 20px;
background-color: white;
}
.lightInactive {
position: relative;
}
.lightInactive::before {
font-weight: bold;
position: absolute;
content: "X";
top: 0;
left: 15px;
font-size: 40px;
color: rgba(255, 0, 0, 0.37);
font-family: cursive;
}
.horizontalLightGroup {
.lightInactive::before {
top: -21px;
left: 6px;
}
.tooltip.top {
margin-top: -10px;
}
}
.lightUnreachable {
background-color: rgba(255, 0, 0, 0.7);
}
.lightActive img {
transition-duration: 0.3s;
transition-property: transform;
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.lightActive img:hover {
transform: scale(1.2);
}
.ember-modal-overlay.translucent {
background-color: #000000;
}
md-icon {
color: rgba(0, 0, 0, 0.54) !important;
}
.addButton .group-add {
margin-right: 16px;
}
.addButton .group-add:hover {
color: darken(#333333, 5%) !important;
}
.removeButton {
margin: 10px 0 10px auto;
}
.sideNavTitle {
margin-left: 16px;
margin-top: 10px;
}
md-toolbar {
background-color: inherit !important;
}
// GROUP CONTROL
.groupRow.selectedRow {
background-color: #7F7F7F !important;
color: white;
}
.groupRow:hover {
background-color: #c3c3c3;
}
.groupRow.selectedRow .groupSelect {
cursor: default;
padding-left: 10px;
}
.groupSelect {
padding: 10px 0 10px 0;
width: 70%;
font-family: 'Open Sans', sans-serif;
}
.groupRow:hover * .close {
display: block;
}
.groupRow:hover * .close {
display: block;
}
.selectedRow * .close {
color: white !important;
}
.selectedRow.groupRow * .close:hover {
color: darken(white, 20%) !important;
}
.close:hover {
color: darken(#333333, 5%) !important;
}
.close:hover {
opacity: 1;
}
.close {
color: rgb(51, 51, 51);
display: none;
opacity: 1;
text-shadow: none;
}
// MUSIC CONTROL
.row {
margin: 0;
}
md-switch.md-default-theme.md-checked .md-bar {
background-color: rgba(241, 43, 36, 0.5);
}
md-switch.md-default-theme.md-checked .md-thumb{
background-color: #F12B24;
}
#playerControls {
opacity: 0;
transition: all 0.2s ease-in-out;
position: absolute;
bottom: 0;
left: 0;
padding: 0.714em;
width: 100%;
color: white !important;
z-index: 20;
background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
.tooltip.top {
margin-top: -15px;
}
.tooltip-arrow {
display: none;
}
}
#playerTimeControls {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
display: inline-block;
margin-left: 1em;
position: relative;
bottom: 2px;
}
.playerControllIcon {
color: $playerDefaultIconColor !important;
transition-duration: 0.1s;
margin-right: 0.208em;
cursor: pointer;
}
.playerControllIcon.active {
color: lighten($playerDefaultIconColor, 20%) !important;
}
.playerControllIcon:hover {
color: white !important;
}
#playerArea:before {
position: relative;
color: white;
top: 45%;
left: 45%;
animation-duration: 1s;
opacity: 0;
animation-name: fadeOut;
}
#playerArea.blockAnimation:before{
animation-name: none !important;
}
@keyframes fadeOut {
from {
opacity: 0.8;
font-size: 24px;
}
to {
opacity: 0;
font-size: 50px;
}
}
#playerArea {
height: $playerHeight;
background-color: black;
display: inline-block;
}
#playerArea:hover #playerControls {
opacity: 1;
}
#playlist {
height: $playerHeight;
background-color: $playListBackgroundColor;
padding-left: 0.625em;
padding-right: 0.625em;
}
#playerArea * .noUi-origin {
background-color: black;
border-radius: 5px;
}
#playerArea * .noUi-base {
background-color: $playerBackColor;
border-radius: 5px;
cursor: pointer;
}
.noUi-connect {
background-color: $playerBackColor;
}
#volumeBar {
width: 5em;
height: 0.4em;
display: inline-block;
margin-bottom: 3px;
}
.noUi-handle {
cursor: pointer;
}
.noUi-horizontal .noUi-handle {
width: 0.4em;
height: 1.3em;
left: -0.071em;
top: -0.500em;
transition-duration: 0.1s;
background: $playerDefaultIconColor !important;
}
.noUi-horizontal .noUi-handle:hover {
background: white !important;
}
#playerArea * .noUi-handle:after, #playerArea * .noUi-handle:before {
content: none;
}
#seekSlider {
height: 6px;
margin-bottom: 10px;
transition-duration: 0.2s;
}
#seekSlider:hover {
height: 8px;
}
#seekSlider:hover * .noUi-handle {
opacity: 1;
}
#seekSlider * .noUi-handle {
border: none;
height: 13px;
width: 13px;
border-radius: 50%;
top: -4px;
left: -6px;
opacity: 0;
transition-duration: 0.1s;
background-color: $playerBackColor !important;
box-shadow: none;
}
#playListControls {
margin-top: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #3a3a3a;
}
#playListArea {
background-color: lighten($playListBackgroundColor, 20%);
width: 100%;
height: 333px;
margin: 10px auto 0 auto;
border-radius: 5px;
transition: 0.1s all ease-in-out;
position: relative;
overflow: auto;
#dragHere {
position: absolute;
top: 27%;
font-size: 20px;
text-align: center;
width: 100%;
}
.library-music {
position: absolute;
top: 40%;
font-size: 100px;
opacity: 0.5;
width: 100%;
text-align: center;
}
}
#playListArea.dragHereHighlight {
background-color: white;
border: 5px dotted #5383ff;
}
#playListArea.draggingOver {
background-color: darken(white, 5%);
box-shadow: inset 0 0 20px 0 rgba(0,0,0,1);
}
#fileInput {
width: 1px;
height: 1px;
visibility: hidden;
}
.playlistItem {
height: 45px;
font-family: 'Open Sans', sans-serif;
padding: 5px;
position: relative;
color: darken(white, 20%);
.close {
position: absolute;
top: 25%;
right: 10px;
}
}
.playlistItem.active {
background-color: lighten($playListBackgroundColor, 30%);
}
.playlistItem:hover {
background-color: lighten($playListBackgroundColor, 40%);
.close {
display: block;
}
}
#beatArea {
position: relative;
height: $playerBeatAreaHeight;
}
#beatArea * .noUi-target {
margin: 0 auto;
}
#beatArea * .noUi-base, #beatArea * .noUi-background {
background-color: #3F3F3F;
cursor: pointer;
}
#beatArea * .noUi-vertical {
height: 170px;
margin-top: 20px;
margin-bottom: 15px;
}
#beatOptionGroup {
margin-top: 20px;
.beatOption {
display: inline-block;
margin-right: 2em;
}
}
#playerBottom {
color: white;
background-color: #5D5D5D;
}
#beatSpeakerContainer {
height: $playerBeatAreaHeight;
padding: 0;
}
#beatSpeakerContainer md-switch {
bottom: 0;
position: absolute;
margin-left: 0;
z-index: 3;
}
#beatSpeaker {
position: relative;
margin: 10px auto 0 auto;
border-radius: 50%;
width: 280px;
height: 280px;
background-image: url('images/speaker-outer.png');
//border: 1px solid white;
//background: black;
#beatSpeakerCenter {
width: 188px;
height: 186px;
position: absolute;
top: 17%;
left: 17%;
border-radius: 50%;
//border: 3px solid brown;
//background: orange;
background-image: url('images/speaker-inner.png');
}
//#beatSpeakerCenter::before {
// position: absolute;
// top: 28%;
// left: 28%;
// width: 80px;
// height: 80px;
// content: '';
// background-color: black;
// border: 1px solid white;
// border-radius: 50%;
//}
}
.pop {
animation-name: pop;
animation-duration: 0.1s;
animation-timing-function: linear;
animation-iteration-count: 1;
}
@keyframes pop {
50% {
transform: scale(1.1);
}
}
#beatArea .lightGroup {
margin: 10px 50px 0 40px;
float: right;
span {
display: block;
padding: 10px;
}
}
#playerButtonGroup {
margin-top: 10px;
}
#vertDivider {
position: absolute;
right: 0;
top: 25%;
width: 2px;
height: 50%;
background-color: white;
}
#beatHistory {
height: 250px;
background-color: white;
border-radius: 10px;
width: 80%;
margin: 20px auto;
overflow: auto;
padding: 10px;
box-shadow: 5px 10px 15px 5px rgba(0, 0, 0, 0.1);
}