mcopy/app/css/app.less

688 lines
11 KiB
Plaintext

//@BG: rgb(50, 43, 47);
@BG : #272b30;
@COMMON: #fff;
@FORWARD: #00C4A0;
@BACKWARD: #AB1A25;
@SELECTED: #DAE035;
@SEQ: #3C3636;
@SCRIPT: rgb(39, 40, 34);
@INPUT_BG : rgba(255, 255, 255, 0.05);
@FOOTER_H : 150px;
.monospace () {
font-family: 'Menlo', monospace;
}
.button (@color: @COMMON) {
display: block;
border-radius: 5px;
border: 2px solid @color;
text-align: center;
background: transparent;
color: @color;
padding: 8px 0;
font-size: 12px;
font-weight: 400;
span{
display: block;
font-size: 16px;
font-weight: 200;
}
&:active,.active{
background: @color;
color: @BG;
outline: none;
}
&:focus{
outline: none;
}
}
*{
cursor: default;
-webkit-touch-callout: none;
-webkit-user-select: none;
}
html, body{
-webkit-overflow-scrolling: auto;
overflow-x: hidden;
}
input {
background: @INPUT_BG;
color: @COMMON;
border-color: @COMMON;
&:focus{
outline: none !important;
}
}
footer{
position: fixed;
bottom: 0;
width: 100%;
height: @FOOTER_H;
}
#log{
position: fixed;
width: 100%;
height: @FOOTER_H;
}
#screens{
overflow-x: hidden;
}
.screen{
display: none;
}
#colors-tabs{
width: 411px;
}
#colors-content{
width: 411px;
float: left;
.colors-page{
display: none;
}
}
#kelvin-page{
h3{
text-align: center;
}
h4{
text-align: center;
width: 411px;
position: absolute;
top: 121px;
left: 110px;
}
}
#kelvin{
background: @INPUT_BG;
color: @COMMON;
border: 1px solid @COMMON;
width: 140px;
font-size: 20px;
margin: 20px auto;
display: block;
text-align: center;
}
#kelvin-slider{
position: relative;
width: 352px;
margin: 40px auto 0;
padding-bottom: 2px;
cursor: pointer;
}
#kelvin-scale{
width: 350px;
height: 60px;
border: 1px solid @COMMON;
span{
display: inline-block;
height: 58px;
width: 1px;
}
}
#kelvin-pos{
height: 64px;
border: 2px solid #000;
width: 5px;
position: absolute;
left: -1px;
top: -2px;
&:before{
font-family: 'FontAwesome';
content: '\f107';
position: absolute;
color: #000;
top: -24px;
left: -8px;
font-size: 27px;
}
}
#kelvin-preview {
margin-top: 25px;
width: 350px;
height: 60px;
border: 1px solid @COMMON;
text-align: center;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12px;
line-height: 60px;
color: @BG;
}
//@dial_size : 5.5em;
//@dial_thickness : 0.5em;
@dial_size : 80px;
@dial_thickness : 14px;
@dial_cyan : #00FFFF;
@dial_magenta : #FF00FF;
@dial_yellow : #FFFF00;
@dial_black : #000;
@dial_left : 15px;
@dial_spacing : 90px;
.dial-class (@color, @i) {
margin-left: @dial_left + (@dial_spacing * @i);
margin-top: 85px;
.dial-wedge,
.dial-marker{
background: @color;
}
input{
color: @color;
border-color: @color;
}
}
#dial-c {
.dial-class(@dial_cyan, 0);
}
#dial-m {
.dial-class(@dial_magenta, 1);
}
#dial-y {
.dial-class(@dial_yellow, 2);
}
#dial-k {
.dial-class(@dial_black, 3);
input{
color: #fff;
border-color: #fff;
}
}
.dial-wrapper {
position: absolute;
width: @dial_size;
height: @dial_size;
&:after {
content: "";
background: @BG;
border-radius: 50%;
width: @dial_size - @dial_thickness;
height: @dial_size - @dial_thickness;
position: absolute;
top: @dial_thickness / 2;
left: @dial_thickness / 2;
}
input{
margin-top: @dial_size + @dial_thickness;
width: @dial_size - (@dial_thickness * 2);
margin-left: @dial_thickness;
background: @BG;
border: 1px solid;
text-align: center;
}
}
.dial-container {
position: absolute;
top: 0;
bottom: 0;
overflow: hidden;
width: @dial_size / 2;
&.dial-container1 {
left: @dial_size / 2;
.dial-wedge {
transform: rotateZ(0deg);
border-radius: 0 @dial_size @dial_size 0;
left: 0;
transform-origin: 0 50%;
}
}
&.dial-container2 {
left: 0;
.dial-wedge {
transform: rotateZ(0deg);
border-radius: @dial_size 0 0 @dial_size;
transform-origin: @dial_size/2 @dial_size/2;
}
}
}
.dial-wedge {
height: @dial_size;
width: @dial_size / 2;
}
.dial-marker {
border-radius: 50%;
height: @dial_thickness / 2;
width: @dial_thickness / 2;
position: absolute;
top: 0;
left: calc(50% - (@dial_thickness * 2));
}
.dial-end {
transform: rotateZ(0deg);
transform-origin: 50% (@dial_size/2);
}
#cmy-preview {
position: absolute;
margin-top: 220px;
margin-left: 15px;
width: 350px;
height: 60px;
border: 1px solid @COMMON;
text-align: center;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12px;
line-height: 60px;
color: @BG;
}
.mcopy-light{
background: #000;
width: 15px;
height: 15px;
border-radius: 15px;
}
#light-status{
width: 360px;
float: right;
margin-top: -25px;
h3{
font-size: 20px;
text-align: center;
}
>div{
position: relative;
clear: both;
&:after{
content: "";
display: block;
}
}
form{
float: left;
line-height: 30px;
width: 40%;
span{
width: 20px;
margin-left: 40px;
display: inline-block;
}
input[type=text]{
width: 40px;
background: @INPUT_BG;
color: @COMMON;
border: 1px solid @COMMON;
}
}
}
#light-swatches{
width: 100%;
.swatch{
cursor: pointer;
width: 50px;
height: 50px;
display: inline-block;
margin: 3px;
box-sizing: border-box;
border: 1px solid #fff;
&.default{
border-color: #9ecaed;
box-shadow: 0 0 10px #9ecaed;
}
}
#new-swatch{
cursor: pointer;
display: inline-block;
border: 1px solid rgb(255, 255, 255);
width: 50px;
height: 50px;
margin: 3px;
box-sizing: border-box;
line-height: 88px;
text-align: center;
font-size: 22px;
position: relative;
opacity: 0.25;
&:hover{
opacity: 0.5;
}
&:active{
opacity: 1;
}
i{
display: block;
position: absolute;
top: 14px;
left: 16px;
color: #fff;
}
}
}
#w2ui-popup{
.swatch{
cursor: pointer;
width: 50px;
height: 50px;
display: inline-block;
margin: 3px;
box-sizing: border-box;
border: 1px solid #fff;
&.default{
border-color: #9ecaed;
box-shadow: 0 0 10px #9ecaed;
}
}
#new-swatch{
display: none;
}
}
#preview-wrap{
margin-top: 140px;
h4{
display: inline-block;
margin: 0;
margin-left: 123px;
margin-right: 10px;
width: 81px;
height: 30px;
span{
display: block;
margin-top: 6px;
position: absolute;
}
}
}
#preview{
//margin-top: 40px;
}
#rgb{
border: 0;
border-radius: 0;
width: 411px;
font-size: 12px;
text-align: center;
}
#color{
width: 100px;
height: 100px;
margin: 0 50px;
background-color: #000;
float: right;
}
#counters, #counters_2{
.cam,.proj{
width: 50%;
padding-bottom: 25px;
label{
text-align: center;
font-size: 24px;
display: block;
}
input{
background: @INPUT_BG;
color: @COMMON;
padding: 6px 12px;
font-size: 21px;
display: block;
margin: 0 auto;
text-align: center;
.monospace();
&.changed{
color: @SELECTED;
}
}
}
.cam{
float: left;
}
.proj{
float: right;
}
}
#seq_scroll{
width: 100%;
overflow-x: scroll;
>div>div>div{
float: left;
input{
float: none;
}
}
}
#numbers{
div{
font-size: 10px;
text-align: center;
color: rgb(220, 220, 220);
}
}
#actions{
padding: 8px 0 0 55px;
input[type=number] {
background: @INPUT_BG;
border: 2px solid @COMMON;
color: @COMMON;
padding: 6px;
border-radius: 5px;
float: right;
width: 90px;
margin-right: 60px;
}
}
#seq_stats{
width: 40%;
float: right;
padding: 20px 61px 0 0;
h3{
font-size: 20px;
margin: 16px 0 3px;
}
span{
font-weight: 600;
float: right;
}
.timing{
}
}
#seq_loop{
width: 40%;
float: left;
padding: 0 0 0 56px;
h3{
font-size: 20px;
margin: 12px 0 3px;
}
input{
.monospace();
background: @INPUT_BG;
color: @COMMON;
font-size: 21px;
width: 121px;
margin-top: 10px;
padding: 6px 12px;
}
}
button{
.button();
display: inline-block;
padding: 4px 16px;
font-size: 14px;
}
#sequencer{
}
#sequence{
width: 970px;
padding-bottom: 21px;
padding-left: 70px;
#cam_forward,
#proj_forward,
#black_forward{
clear: both;
input[type=checkbox]{
border: 2px solid @FORWARD;
&:checked{
background: @FORWARD;
//background: radial-gradient(circle at 25px 25px, #00C4A0, #343434);
}
}
>div{
color: @FORWARD;
}
}
#cam_backward,
#proj_backward,
#black_backward{
clear: both;
input[type=checkbox]{
border: 2px solid @BACKWARD;
&:checked{
background: @BACKWARD;
//background: radial-gradient(circle at 25px 25px, #AB1A25, #343434);
}
}
>div{
color: @BACKWARD;
}
}
input[type=checkbox]{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
outline: none;
width: 35px;
height: 35px;
border-radius: 5px;
margin: 0;
margin-bottom: 3px;
margin-right: 3px;
display: inline-block;
box-sizing: border-box;
cursor: pointer;
}
.L{
display: inline-block;
width: 35px;
height: 35px;
border-radius: 35px;
margin: 0;
margin-bottom: 3px;
margin-right: 3px;
border: 2px solid @COMMON;
opacity: 0.5;
cursor: pointer;
&.a{
opacity: 1;
}
}
input.h{
//background: @SELECTED !important;
border-color: @SELECTED !important;
&:checked{
background: @SELECTED !important;
}
}
#numbers{
clear: both;
> div{
width: 35px;
color: @COMMON;
font-family: monospace;
float: left;
margin-right: 3px;
text-align: center;
opacity: 0.5;
&.h{
color: @SELECTED;
opacity: 1;
}
}
}
}
#seq_labels{
.monospace();
background-color: #272b30;
position: absolute;
top: 128px;
padding-top: 2px;
padding-bottom: 15px;
width: 54px;
div{
height: 43px;
line-height: 35px;
}
span{
text-indent: 7px;
display: inline-block;
margin-right: 5px;
}
}
#loop_current{
margin-top: 54px;
width: 121px;
text-align: center;
color: @SELECTED;
}
#console{
background: #000;
border-top: 2px solid rgba(255, 255, 255, 0.3);
textarea{
.monospace();
font-size: 12px;
line-height: 17px;
outline: none !important;
border: none;
box-sizing: border-box;
margin: 0;
padding: 20px;
width: 100%;
height: @FOOTER_H;
display: block;
background: black;
color: @COMMON;
}
}
#overlay{
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
display: none;
//z-index: 1200;
}
.spacer{
margin-top: 15px;
}
.cp-app{
position: relative !important;
border-radius: 0px !important;
top: 0px !important;
.cp-memo{
bottom: 2px !important;
}
}
.cm-s-monokai.CodeMirror{
background: @BG !important;
}
.cm-s-monokai .CodeMirror-gutters {
background: @BG + rgb(15, 15, 15) !important;
}