662 lines
9.7 KiB
SCSS
662 lines
9.7 KiB
SCSS
/*
|
||
ATTENTION: This file is not compiled when building gluon.
|
||
The compiled version is at ../files/lib/gluon/config-mode/www/static/gluon.css
|
||
|
||
Use sass like this to update it:
|
||
|
||
sass --sourcemap=none -C -t compressed sass/gluon.scss files/lib/gluon/config-mode/www/static/gluon.css
|
||
|
||
When commiting changes to this file make sure to commit the respective
|
||
changes to the compilid version within the same commit!
|
||
*/
|
||
|
||
@charset "utf-8";
|
||
|
||
$ffyellow: #ffb400;
|
||
$ffmagenta: #dc0067;
|
||
$ffzusatz: #009ee0;
|
||
$red: #ee3300;
|
||
|
||
@mixin button {
|
||
&::-moz-focus-inner {
|
||
padding: 0;
|
||
border: 0;
|
||
}
|
||
|
||
display: inline-block;
|
||
line-height: normal;
|
||
white-space: nowrap;
|
||
vertical-align: baseline;
|
||
text-align: center;
|
||
cursor: pointer;
|
||
user-select: none;
|
||
|
||
font-size: 100%;
|
||
padding: 0.5rem 1rem;
|
||
color: rgba(0, 0, 0, 0.80);
|
||
background-color: #E6E6E6;
|
||
border: none;
|
||
text-decoration: none;
|
||
border-radius: 2px;
|
||
|
||
/* Transitions */
|
||
transition: 0.1s linear box-shadow;
|
||
|
||
&:active {
|
||
box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset;
|
||
}
|
||
|
||
&:focus {
|
||
outline: 0;
|
||
}
|
||
|
||
&:hover, &:focus {
|
||
background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.10));
|
||
}
|
||
|
||
&[disabled] {
|
||
border: none;
|
||
background-image: none;
|
||
opacity: 0.40;
|
||
cursor: not-allowed;
|
||
box-shadow: none;
|
||
}
|
||
}
|
||
|
||
html {
|
||
min-height: 100%;
|
||
height: auto;
|
||
position: relative;
|
||
}
|
||
|
||
body, input, select, option {
|
||
font: 12pt "Open Sans", Arial, sans-serif;
|
||
}
|
||
|
||
body {
|
||
color: rgb(77, 78, 83);
|
||
line-height: 1.5rem;
|
||
margin: 0;
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-height: 100vh;
|
||
background-color: #f3f3f3;
|
||
}
|
||
|
||
.tabmenu1 {
|
||
text-align: center;
|
||
}
|
||
|
||
ul.tabmenu {
|
||
list-style: none;
|
||
padding: 0;
|
||
margin: 2rem 0 0;
|
||
display: block;
|
||
|
||
li {
|
||
white-space: nowrap;
|
||
margin: 0 0.5rem;
|
||
padding: 0;
|
||
text-align: center;
|
||
|
||
a {
|
||
display: block;
|
||
text-decoration: none;
|
||
padding: 1rem;
|
||
margin: 0;
|
||
color: #333;
|
||
border-radius: 2rem;
|
||
|
||
&:hover {
|
||
background: lighten($ffyellow, 35);
|
||
}
|
||
}
|
||
|
||
&.active a {
|
||
font-weight: bold;
|
||
background: white;
|
||
color: #333;
|
||
}
|
||
}
|
||
}
|
||
|
||
.error {
|
||
color: #ff0000;
|
||
background-color: white;
|
||
padding: 1rem;
|
||
font-weight: bold;
|
||
}
|
||
|
||
#menubar {
|
||
background: $ffmagenta;
|
||
color: #ffffff;
|
||
|
||
a:link.topcat,
|
||
a:visited.topcat {
|
||
position: relative;
|
||
display: block;
|
||
padding: 0.5rem;
|
||
text-decoration: none;
|
||
font-size: 80%;
|
||
font-weight: normal;
|
||
color: white;
|
||
|
||
&:hover, &:focus {
|
||
background: $ffyellow;
|
||
color: black;
|
||
}
|
||
|
||
&.active {
|
||
font-weight: bold;
|
||
background: $ffzusatz;
|
||
color: white;
|
||
}
|
||
}
|
||
|
||
.hostinfo {
|
||
position: relative;
|
||
margin: 0;
|
||
padding: 0.5rem;
|
||
flex: 1;
|
||
font-weight: bold;
|
||
font-size: 80%;
|
||
|
||
a {
|
||
&:link, &:visited {
|
||
text-decoration: none;
|
||
font-weight: bold;
|
||
color: white;
|
||
|
||
&:hover, &:focus {
|
||
text-decoration: underline;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
#topmenu {
|
||
list-style: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
|
||
li {
|
||
display: inline-block;
|
||
}
|
||
}
|
||
|
||
#maincontent {
|
||
max-width: 60rem;
|
||
margin: 1rem auto;
|
||
padding: 0;
|
||
border-radius: 0.5rem;
|
||
|
||
p {
|
||
margin: 0 1rem 1rem;
|
||
}
|
||
|
||
ul {
|
||
margin-left: 2rem;
|
||
}
|
||
}
|
||
|
||
.gluon-section {
|
||
margin: 0 0 1.25rem;
|
||
padding: 0;
|
||
border: none;
|
||
|
||
&:last-child {
|
||
margin-bottom: 0.75rem;
|
||
}
|
||
|
||
legend {
|
||
font-size: 1.5rem;
|
||
font-weight: bold;
|
||
position: relative;
|
||
margin-bottom: 0.5rem;
|
||
padding: 1rem;
|
||
}
|
||
|
||
h2 {
|
||
margin: 0 0 0.5rem -0.5rem;
|
||
}
|
||
|
||
h3 {
|
||
text-decoration: none;
|
||
font-weight: bold;
|
||
color: #555555;
|
||
margin: 0.25rem;
|
||
font-size: 100%;
|
||
}
|
||
}
|
||
|
||
body.admin-network .gluon-section {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.gluon-section-descr {
|
||
margin-bottom: 2rem;
|
||
}
|
||
|
||
.gluon-osm-map {
|
||
width: 100%;
|
||
height: 40rem;
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
input {
|
||
&::placeholder,
|
||
&::-webkit-input-placeholder {
|
||
color: #aaaaaa;
|
||
}
|
||
|
||
&[type=checkbox] {
|
||
display: none;
|
||
|
||
& + label {
|
||
display: inline-block;
|
||
position: relative;
|
||
width: 1rem;
|
||
height: 1rem;
|
||
margin: 0;
|
||
}
|
||
|
||
&:checked + label::after {
|
||
content: '✔';
|
||
color: $ffmagenta;
|
||
vertical-align: middle;
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 0;
|
||
margin-top: -33.333%;
|
||
width: 100%;
|
||
text-align: center;
|
||
font-size: 1.7rem;
|
||
}
|
||
}
|
||
|
||
&[type=radio] {
|
||
display: none;
|
||
|
||
& + label {
|
||
display: inline-block;
|
||
position: relative;
|
||
width: 0.75rem;
|
||
height: 0.75rem;
|
||
padding: 0.75rem;
|
||
margin: 0.25rem 0.25rem 0.25rem 0.125rem;
|
||
border: none;
|
||
background: lighten($ffyellow, 30);
|
||
vertical-align: middle;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
&:checked + label::after {
|
||
content: '•';
|
||
color: $ffmagenta;
|
||
vertical-align: middle;
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 0;
|
||
margin-top: -0.5rem;
|
||
width: 100%;
|
||
text-align: center;
|
||
font-size: 2rem;
|
||
}
|
||
}
|
||
|
||
&[type=submit],
|
||
&[type=reset],
|
||
&[type=button] {
|
||
cursor: pointer;
|
||
}
|
||
}
|
||
|
||
select,
|
||
input,
|
||
textarea,
|
||
input[type=checkbox] + label {
|
||
color: darken($ffzusatz, 30);
|
||
border: none;
|
||
background: lighten($ffyellow, 30);
|
||
border-radius: 3pt;
|
||
padding: 0.5rem;
|
||
margin-top: 1px;
|
||
margin-bottom: 2px;
|
||
box-sizing: content-box;
|
||
outline: 0;
|
||
}
|
||
|
||
select, input[type="text"],
|
||
input[type="password"] {
|
||
min-width: auto;
|
||
}
|
||
|
||
.select-wrapper {
|
||
position: relative;
|
||
display: inline-block;
|
||
|
||
&::before {
|
||
position: absolute;
|
||
z-index: 1;
|
||
right: 0.125rem;
|
||
top: calc(2px + 0.125rem);
|
||
bottom: calc(2px + 0.125rem);
|
||
width: 1.5rem;
|
||
border-left: 0.125rem solid rgba(0, 0, 0, 0.25);
|
||
pointer-events: none;
|
||
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="8" height="5"><path fill="none" stroke="black" stroke-linejoin="bevel" d="M1,1L4,4L7,1"/></svg>') center / 0.75rem 0.5rem no-repeat;
|
||
content: '';
|
||
}
|
||
|
||
select {
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
appearance: none;
|
||
cursor: pointer;
|
||
}
|
||
}
|
||
|
||
option {
|
||
color: darken($ffzusatz, 30);
|
||
background: lighten($ffyellow, 30);
|
||
}
|
||
|
||
.gluon-button {
|
||
@include button;
|
||
|
||
margin-left: 0.5rem;
|
||
background-repeat: no-repeat;
|
||
}
|
||
|
||
.gluon-button-reset {
|
||
background-color: $red;
|
||
color: #fff;
|
||
}
|
||
|
||
.gluon-button-submit {
|
||
background-color: $ffzusatz;
|
||
color: #fff;
|
||
|
||
&:active {
|
||
background: grey;
|
||
}
|
||
|
||
}
|
||
|
||
.gluon-input-invalid {
|
||
background: $red !important;
|
||
color: white;
|
||
}
|
||
|
||
textarea {
|
||
margin-left: -1px;
|
||
margin-bottom: 0.5rem;
|
||
max-width: calc(100% - 3rem);
|
||
}
|
||
|
||
.gluon-value {
|
||
margin-bottom: .75rem;
|
||
}
|
||
|
||
.gluon-section-node .gluon-value:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.gluon-value-title {
|
||
padding-top: .5rem;
|
||
padding-right: 1rem;
|
||
font-weight: bold;
|
||
padding-left: 1rem;
|
||
overflow-wrap: break-word;
|
||
}
|
||
|
||
.gluon-value-field {
|
||
position: relative;
|
||
margin-right: 1rem;
|
||
|
||
select, input + label {
|
||
position: relative;
|
||
margin-left: 1rem;
|
||
}
|
||
|
||
select {
|
||
padding-right: 2rem;
|
||
}
|
||
|
||
input,
|
||
.gluon-add,
|
||
.gluon-value-description {
|
||
margin-left: 1rem;
|
||
}
|
||
}
|
||
|
||
.gluon-value-field-text {
|
||
padding-top: 0.5rem;
|
||
padding-left: 1rem;
|
||
overflow-wrap: break-word;
|
||
}
|
||
|
||
.gluon-value-field-long {
|
||
flex: 10;
|
||
position: relative;
|
||
margin-top: 0.75rem;
|
||
|
||
input, select, input + label {
|
||
position: relative;
|
||
}
|
||
}
|
||
|
||
.gluon-value-field-long-after {
|
||
flex: 2;
|
||
}
|
||
|
||
.gluon-value-description {
|
||
font-size: 0.75rem;
|
||
}
|
||
|
||
.gluon-form-descr {
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
.gluon-form-descr,
|
||
.gluon-section-descr {
|
||
&:empty {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.gluon-form-descr,
|
||
.gluon-section-descr {
|
||
padding: 1rem;
|
||
background: #ececec;
|
||
}
|
||
|
||
.gluon-page-actions {
|
||
padding: 1rem;
|
||
background: #ececec;
|
||
text-align: right;
|
||
display: flex;
|
||
flex-flow: row-reverse;
|
||
}
|
||
|
||
.gluon-section-node {
|
||
clear: both;
|
||
position: relative;
|
||
border: none;
|
||
}
|
||
|
||
.gluon-value-error {
|
||
input,
|
||
select {
|
||
background-color: #ffcccc;
|
||
}
|
||
}
|
||
|
||
.gluon-add,
|
||
.gluon-remove {
|
||
&::after {
|
||
cursor: pointer;
|
||
display: inline-block;
|
||
text-align: center;
|
||
vertical-align: middle;
|
||
font-size: 180%;
|
||
width: 1.25rem;
|
||
height: 1rem;
|
||
}
|
||
}
|
||
|
||
.gluon-add {
|
||
color: #008000;
|
||
position: relative;
|
||
left: 21.75rem;
|
||
|
||
input + & {
|
||
left: 0;
|
||
top: 0.125rem;
|
||
}
|
||
|
||
&:first-child {
|
||
top: 0.5rem;
|
||
left: -0.125rem;
|
||
}
|
||
|
||
&::after {
|
||
content: '+';
|
||
}
|
||
}
|
||
|
||
.gluon-remove {
|
||
color: #800000;
|
||
position: relative;
|
||
top: -0.375rem;
|
||
margin-left: 0.75rem;
|
||
|
||
&::after {
|
||
content: '–';
|
||
}
|
||
}
|
||
|
||
.error500 {
|
||
border: 1px dotted #ff0000;
|
||
background-color: #ffffff;
|
||
color: #000000;
|
||
padding: 0.5rem;
|
||
}
|
||
|
||
.errorbox {
|
||
border: 1px solid #FF0000;
|
||
background-color: #FFCCCC;
|
||
padding: 5px;
|
||
margin-bottom: 5px;
|
||
|
||
a {
|
||
color: #000000 !important;
|
||
}
|
||
}
|
||
|
||
.the-key {
|
||
text-align: left;
|
||
font-size: 1.5rem;
|
||
background: lighten($ffyellow, 35);
|
||
border: 3pt dashed $ffmagenta;
|
||
margin-bottom: 0.5rem;
|
||
padding: 0.5rem
|
||
}
|
||
|
||
h2 {
|
||
color: $ffzusatz;
|
||
padding: 1rem;
|
||
}
|
||
|
||
fieldset.gluon-section {
|
||
padding-top: 1rem;
|
||
}
|
||
|
||
input[type="checkbox"] + label, select {
|
||
border: 1px solid #c0c0c0;
|
||
margin-top: 0;
|
||
margin-bottom: 1px;
|
||
}
|
||
|
||
input,
|
||
option,
|
||
select,
|
||
input[type="checkbox"] + label,
|
||
textarea,
|
||
ul.tabmenu li a:hover,
|
||
#menubar a:link.topcat:hover,
|
||
#menubar a:link.topcat:focus,
|
||
#menubar a:visited.topcat:hover,
|
||
#menubar a:visited.topcat:focus {
|
||
background-color: #99d9F5;
|
||
}
|
||
|
||
.gluon-page-actions {
|
||
padding: 1rem;
|
||
border-radius: 0 0 0.5rem 0.5rem;
|
||
}
|
||
|
||
.gluon-form-descr,
|
||
.gluon-section-descr {
|
||
margin: 0 1rem 1rem;
|
||
}
|
||
|
||
.gluon-value:last-child {
|
||
padding-bottom: 1rem;
|
||
}
|
||
|
||
textarea,
|
||
.gluon-form > p,
|
||
form > p {
|
||
margin: 0 1rem;
|
||
}
|
||
|
||
// Small devices (landscape phones, 576px and up)
|
||
@media (min-width: 576px) {
|
||
#menubar {
|
||
display: flex;
|
||
}
|
||
|
||
select,
|
||
input[type=text],
|
||
input[type=password] {
|
||
min-width: 20rem;
|
||
}
|
||
}
|
||
|
||
// Medium devices (tablets, 768px and up)
|
||
@media (min-width: 768px) {
|
||
#maincontent {
|
||
min-width: 40rem;
|
||
}
|
||
|
||
.gluon-value-field {
|
||
margin-right: auto;
|
||
}
|
||
}
|
||
|
||
// Large devices (desktops, 992px and up)
|
||
@media (min-width: 992px) {
|
||
ul.tabmenu {
|
||
display: inline-flex;
|
||
}
|
||
.gluon-value {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
.gluon-value-title {
|
||
flex: 2;
|
||
text-align: right;
|
||
}
|
||
|
||
.gluon-value-field {
|
||
flex: 3;
|
||
}
|
||
|
||
.gluon-value-field-text {
|
||
flex: 3;
|
||
padding-left: 0;
|
||
}
|
||
}
|