2023-05-27 10:06:34 +02:00

1138 lines
22 KiB
CSS

@import url("layout/layout.css");
@import url("atc/atc.css");
@import url("atc/unitdatatable.css");
@import url("aic/aic.css");
@import url("panels/connectionstatus.css");
@import url("panels/mouseinfo.css");
@import url("panels/unitcontrol.css");
@import url("panels/unitinfo.css");
@import url("other/contextmenus.css");
@import url("other/popup.css");
@import url("markers/airbase.css");
@import url("markers/bullseye.css");
@import url("markers/units.css");
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
html * {
font-family: 'Open Sans', sans-serif !important;
}
body {
display: grid;
margin: 0;
padding: 0;
}
html,
body {
height: 100%;
width: 100%;
}
a {
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
button {
background-color: var(--background-steel);
border: 1px solid var(--background-steel);
border-radius: var(--border-radius-sm);
color: whitesmoke;
cursor: pointer;
font-weight: var(--font-weight-bolder);
padding: 6px;
column-gap: 5px;
}
button:hover {
background-color: var(--background-hover);
}
button[disabled="disabled"] {
color: var(--highlight-color);
cursor: not-allowed;
}
button>svg:first-child,
button>img:first-child {
position: relative;
aspect-ratio: initial;
height: 100%;
}
form {
margin: 0;
padding: 0;
}
form>div {
margin: 20px 0;
}
.pill {
background-color: var(--background-dark-steel);
border-radius: var(--border-radius-sm);
padding: 4px 8px;
width: fit-content;
}
.ol-scrollable {
overflow-y: scroll;
scrollbar-color: white transparent;
scrollbar-width: thin;
}
.ol-scrollable::-webkit-scrollbar {
width: var(--border-radius-md);
}
.ol-scrollable::-webkit-scrollbar-track {
background-color: transparent;
border-bottom-right-radius: 10px;
border-top-right-radius: 10px;
margin-top: 0px;
}
.ol-select .ol-scrollable {
scrollbar-color: white var(--background-grey);
}
.ol-select .ol-scrollable::-webkit-scrollbar-track {
background-color: var(--background-grey);
}
.ol-scrollable::-webkit-scrollbar-thumb {
background-color: white;
border-radius: 100px;
margin-top: 10px;
opacity: 0.8;
}
.ol-panel {
background-color: var(--background-steel);
border-radius: 15px;
box-shadow: 0px 2px 5px #000A;
color: white;
font-size: 12px;
height: fit-content;
padding: 10px;
width: fit-content;
}
.ol-panel hr {
background-color: var(--secondary-transparent-white);
border: none;
height: 1px;
margin: 10px 0;
width: 100%;
}
.ol-panel-padding-lg {
padding: 24px 30px;
}
.ol-select-container {
width: 100%;
}
.ol-ellipsed {
display: inline-block;
overflow: hidden;
text-align: left;
text-overflow: ellipsis;
width: calc(100%);
}
.ol-select {
color: var(--nav-text);
position: relative;
}
.ol-select>.ol-select-value {
align-content: center;
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
cursor: pointer;
display: flex;
justify-content: left;
min-width: 0;
text-align: center;
white-space: nowrap;
width: 100%;
}
.ol-select:not(.ol-select-image)>.ol-select-value {
align-items: center;
background-color: var(--background-grey);
border-radius: var(--border-radius-sm);
height: 40px;
overflow: hidden;
padding-left: 20px;
padding-right: 30px;
text-overflow: ellipsis;
width: calc(100%);
}
.ol-select.narrow:not(.ol-select-image)>.ol-select-value {
opacity: .9;
padding: 4px 30px 4px 15px;
}
.ol-select:not(.ol-select-image)>.ol-select-value svg {
margin-right: 10px;
}
.ol-select:not(.ol-select-image)>.ol-select-value:after {
content: url("/resources/theme/images/icons/chevron-down.svg");
position: absolute;
right: 10px;
}
.ol-select>.ol-select-options {
border-radius: var(--border-radius-md);
max-height: 0;
overflow: hidden;
position: absolute;
z-index: 1000;
}
.ol-select-options.scrollbar-visible {
border-bottom-right-radius: 0px !important;
border-top-right-radius: 0px !important;
}
.ol-select.ol-select-image>.ol-select-options {
position: absolute;
}
.ol-select.is-open>.ol-select-options {
max-height: 382px;
min-width: 100%;
overflow: visible;
overflow-y: auto;
translate: 0px 5px;
z-index: 9999;
}
.ol-select.is-open[data-position="top"]>.ol-select-options {
top: 0;
translate: 0 -100%;
}
.ol-select>.ol-select-options>div {
background-color: var(--background-grey);
box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
display: flex;
justify-content: left;
padding: 2px 15px;
width: 100%;
}
.ol-select>.ol-select-options>div:first-of-type {
padding-top: 12px;
}
.ol-select>.ol-select-options>div:last-of-type {
padding-bottom: 12px;
}
.ol-select>.ol-select-options div hr {
background-color: white;
height: 1px;
width: 100%;
}
.ol-select>.ol-select-options>div a,
.ol-select>.ol-select-options>div button {
background-color: transparent;
border: none;
border-radius: 0;
border-radius: var(--border-radius-sm);
color: white;
display: block;
font-size: 13px;
font-weight: normal;
height: 32px;
padding: 6px 2px;
padding: 5px;
text-align: left;
white-space: nowrap;
width: 100%;
}
.ol-select>.ol-select-options>div a:hover,
.ol-select>.ol-select-options>div button:hover {
background-color: #FFF3;
text-decoration: none;
}
.ol-panel-list {
border-radius: var(--border-radius-sm);
display: flex;
flex-direction: column;
height: fit-content;
row-gap: 5px;
text-align: center;
width: fit-content;
}
.ol-panel-list .list-item {
border-radius: var(--border-radius-md);
display: flex;
justify-content: space-between;
padding: 6px 10px;
}
.ol-panel-list.sortable>.sortable-item {
align-items: center;
column-gap: 5px;
display: flex;
flex-direction: row;
}
.ol-panel-list.sortable>.sortable-item>.handle {
cursor: grab;
filter: invert(100);
}
.ol-panel-list.sortable>.sortable-item>.handle img {
max-width: 16px;
}
.ol-panel-board {
display: flex;
flex-direction: row;
justify-content: space-evenly;
}
.ol-panel-board>.panel-section {
border-right: 1px solid #555;
margin: 10px 0;
padding: 0 30px;
}
.ol-panel-board>.panel-section:first-child {
padding-left: 20px;
}
.ol-panel-board>.panel-section:last-child {
padding-right: 20px;
}
.ol-panel-board>.panel-section:last-of-type {
border-right-width: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0px;
}
h1 {
font-size: 36px;
font-weight: 800;
}
h2 {
font-size: 24px;
font-weight: bold;
}
h3 {
font-size: 18px;
font-weight: bold;
}
h4 {
font-size: 14px;
font-weight: normal;
}
button.ol-button-warning {
border: 1px solid var(--primary-red);
color: var(--primary-red);
font-weight: bold;
}
button.ol-button-warning>svg:first-child {
stroke: var(--primary-red);
fill: var(--primary-red);
}
nav.ol-panel {
column-gap: 20px;
display: flex;
flex-direction: row;
height: 58px;
}
nav.ol-panel> :last-child {
margin-right: 5px;
}
.ol-panel .ol-group {
align-items: center;
border-radius: var(--border-radius-sm);
column-gap: 10px;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
row-gap: 4px;
}
.ol-group-header {
text-align: center;
width: 100%;
}
.ol-panel .ol-group.wrap {
flex-wrap: wrap;
}
.ol-panel .ol-group-button-toggle {
align-items: center;
column-gap: 15px;
display: flex;
flex-wrap: nowrap;
white-space: nowrap;
width: fit-content;
}
.ol-panel .ol-group-button-toggle button {
background-position: 5px 50%;
background-repeat: no-repeat;
border: 0;
display: flex;
justify-items: left;
text-indent: 5px;
}
.ol-panel .ol-group-button-toggle button::before {
background-image: url("/resources/theme/images/icons/square-check-solid.svg");
background-repeat: no-repeat;
content: "";
filter: invert(100%);
-webkit-filter: invert(100%);
height: 16px;
width: 16px;
}
.ol-panel .ol-group-button-toggle button.off::before {
background-image: url("/resources/theme/images/icons/square-regular.svg");
}
.highlight-primary {
background-color: var(--secondary-light-grey);
}
.highlight-coalition,
.highlight-neutral {
background-color: var(--primary-neutral);
color: var(--secondary-gunmetal-grey)
}
.highlight-coalition[data-coalition="blue"],
.highlight-bluefor {
background-color: var(--primary-blue);
color: white;
}
.highlight-coalition[data-coalition="red"],
.highlight-redfor {
background-color: var(--primary-red);
color: white;
}
.accent-green {
color: var(--accent-green);
font-weight: var(--font-weight-bolder);
}
.accent-light-blue {
color: var(--accent-light-blue);
font-weight: var(--font-weight-bolder);
}
.accent-bluefor {
color: var(--primary-blue);
font-weight: var(--font-weight-bolder);
}
.accent-redfor {
color: var(--primary-red);
font-weight: var(--font-weight-bolder);
}
.accent-neutral {
color: var(--primary-neutral);
font-weight: var(--font-weight-bolder);
}
.hide {
display: none !important;
}
.icon-small {
filter: invert(100%);
padding: 2px;
width: 20px;
}
.ol-data-grid {
display: flex;
flex-direction: column;
}
.ol-slider-container {
width: 100%;
}
.ol-slider-container:not(:first-of-type) {
margin-top: 10px;
width: 100%;
}
.ol-slider {
-webkit-appearance: none;
appearance: none;
background: #d3d3d3;
height: 2px;
margin-bottom: 10px;
margin-top: 15px;
opacity: 0.7;
outline: none;
-webkit-transition: .2s;
transition: opacity .2s;
width: 100%;
}
.ol-slider:hover {
opacity: 1;
}
.ol-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
background: var(--background-grey);
border-radius: 999px;
cursor: pointer;
height: 25px;
width: 25px;
}
.active .ol-slider::-webkit-slider-thumb {
background: radial-gradient(circle at center, var(--accent-light-blue), var(--accent-light-blue) 40%, color-mix(in srgb, var(--accent-light-blue), transparent 66%) 50%);
}
.ol-slider::-moz-range-thumb {
-moz-appearance: none;
border: 0px solid transparent;
background: var(--background-grey);
border-radius: 999px;
cursor: pointer;
height: 25px;
width: 25px;
}
.active .ol-slider::-moz-range-thumb {
-moz-appearance: none;
background: radial-gradient(circle at center, var(--accent-light-blue), var(--accent-light-blue) 40%, color-mix(in srgb, var(--accent-light-blue), transparent 66%) 50%);
}
.ol-slider-min-max {
display: flex;
justify-content: space-between;
color: var(--secondary-light-grey);
}
.ol-slider-min-max::before {
content: attr(data-min-value);
}
.ol-slider-min-max::after {
content: attr(data-max-value);
}
.main-logo {
height: 40px;
width: 40px;
}
.ol-measure-box {
background-color: var(--background-steel);
border-radius: 999px;
color: var(--primary-neutral);
font-size: 12px;
font-weight: var(--font-weight-bolder);
height: fit-content;
padding-bottom: 0.2em;
padding-left: 0.5em;
padding-right: 0.5em;
padding-top: 0.2em;
position: absolute;
text-align: center;
width: fit-content;
z-index: 2000;
}
.ol-sortable .handle {
background-image: url("/images/icons/grip-lines-solid.svg");
cursor: ns-resize;
filter: invert();
height: 12px;
width: 12px;
}
#unit-selection {
display: flex;
flex-direction: column;
}
#unit-selection #unit-identification {
align-items: center;
display: flex;
margin-bottom: 11px;
}
#unit-selection #unit-identification [data-object|="unit"] {
height: 28px;
margin-right: 6px;
width: 28px;
}
#unit-selection #unit-identification [data-object|="unit"] .unit-icon {
background-size: 28px 28px;
height: 28px;
width: 28px;
}
#unit-visibility-control {
align-items: center;
}
#unit-visibility-control button {
border: none;
height: 32px;
padding: 0px;
width: 32px;
}
#unit-visibility-control button svg {
height: 16px;
pointer-events: none;
width: 16px;
}
#unit-visibility-control button {
background-color: white;
border: 1px solid transparent;
}
#unit-visibility-control button.off {
background-color: transparent;
border: 1px solid white;
}
#unit-visibility-control button.off svg * {
fill: white !important;
stroke: white !important;
}
#unit-visibility-control button svg * {
fill: var(--background-steel) !important;
stroke: var(--background-steel) !important;
}
#atc-navbar-control {
align-items: center;
display: flex;
flex-direction: column;
}
#atc-navbar-control button {
background: #ffffff20;
border-radius: var(--border-radius-sm);
padding: 4px;
}
#roe-buttons-container button,
#reaction-to-threat-buttons-container button,
#emissions-countermeasures-buttons-container button {
align-items: center;
background-color: transparent;
border: 1px solid var(--accent-light-blue);
display: flex;
height: 30px;
justify-content: center;
width: 30px;
}
#unit-control-panel .ol-option-button button.selected {
background-color: white;
border-color: white;
}
#unit-control-panel .ol-option-button button.selected svg * {
fill: var(--background-steel);
}
/****************************************************************************************/
#splash-screen {
background-image: url("/resources/theme/images/splash/1.png");
background-position: 100% 50%;
background-size: 60%;
border-radius: var(--border-radius-lg);
overflow: hidden;
width: 1200px;
z-index: 99999;
}
#splash-content {
background-color: var(--background-steel);
display: flex;
flex-direction: column;
padding: 30px;
position: relative;
row-gap: 10px;
width: 50%;
z-index: 10;
}
#splash-content::after {
background-color: var(--background-steel);
content: "";
display: block;
height: 800px;
position: absolute;
right: 0;
top: 0;
transform: rotate(-23deg);
transform-origin: top right;
width: 200px;
z-index: -1;
}
#splash-content #app-summary {
background-image: url("/images/olympus-500x500.png");
background-position: 0 50%;
background-repeat: no-repeat;
background-size: 75px 75px;
content: "";
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 75px;
text-indent: 85px;
}
#splash-content #app-summary>* {
height: fit-content;
line-height: 25px;
padding: 2px;
white-space: nowrap;
width: fit-content;
}
#splash-content .app-version {
font-size: 11px;
}
#splash-content #legal-stuff h5 {
text-transform: uppercase;
}
#splash-content #legal-stuff p {
color: #FFF7;
font-size: 10px;
width: 120%;
}
#splash-content.ol-dialog-content {
margin: 0px;
}
.feature-splashScreen #splash-screen {
display: flex;
}
#gray-out {
background-color: #000A;
height: 100%;
left: 0px;
position: fixed;
top: 0px;
width: 100%;
z-index: 9999;
}
#authentication-form {
align-items: end;
column-gap: 10px;
display: flex;
flex-direction: row;
margin: 10px 0px;
}
#authentication-form>div {
align-items: start;
display: flex;
flex-direction: column;
row-gap: 4px;
}
#authentication-form>div>input {
border: 0px solid transparent;
border-radius: var(--border-radius-sm);
height: 35px;
width: 200px;
}
#splash-content a {
color: #FFFB;
font-weight: bold;
}
#connection-status {
margin-bottom: 5px;
}
#connection-status[data-status="connecting"]::before {
animation: blinker 1s linear infinite;
content: "Connecting...";
}
#connection-status[data-status="failed"]::before {
color: var(--primary-red);
content: "Incorrect username/password!";
}
@keyframes blinker {
50% {
opacity: 0;
}
}
#hotgroup-panel {
bottom: 40px;
column-gap: 10px;
display: flex;
left: 50%;
position: absolute;
translate: -50%;
z-index: 9999;
}
#hotgroup-panel>div {
align-items: center;
background-color: var(--background-steel);
border: 0px solid transparent;
border-radius: var(--border-radius-sm);
color: white;
display: flex;
font-weight: bold;
height: 50px;
justify-content: center;
width: 50px;
}
#hotgroup-panel>div:hover {
border: 2px solid white;
cursor: pointer;
}
.hotgroup-selector>.unit-hotgroup {
display: flex;
translate: 0% -300%;
}
.ol-destination-preview-icon {
background-color: var(--secondary-yellow);
border-radius: 999px;
height: 52px;
pointer-events: none;
width: 52px;
}
.ol-destination-preview {
pointer-events: none;
}
dl.ol-data-grid {
align-items: center;
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 0;
row-gap: 4px;
}
dl.ol-data-grid dd {
width: fit-content;
}
dl.ol-data-grid dt.icon {
text-indent: 10px;
}
dl.ol-data-grid dt.icon::before {
content: url("/resources/theme/images/icons/speed.svg");
display: inline-block;
filter: invert(100%);
translate: -20px 2px;
width: 20px;
}
dl.ol-data-grid dt.icon-speed::before {
content: url("/images/icons/speed.svg");
}
dl.ol-data-grid dt.icon-altitude::before {
content: url("/images/icons/altitude.svg");
}
dl.ol-data-grid dd {
display: flex;
justify-content: flex-end;
margin-left: auto;
}
.br-info::after {
content: attr(data-bearing) '\00B0 / ' attr(data-distance) attr(data-distance-units);
}
.br-info[data-message]::after {
content: attr(data-message);
}
.coordinates::after {
content: attr(data-dd) "\00b0 " attr(data-mm) "'" attr(data-ss) "." attr(data-sss) '"' attr(data-label);
}
.ol-button-box {
column-gap: 6px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 5px 0;
row-gap: 5px;
}
.ol-button-box button {
background-repeat: no-repeat;
;
border: 1px solid var(--accent-light-blue);
color: var(--accent-light-blue);
}
.ol-dialog {
align-self: center;
background-color: var(--background-slate-blue);
color: white;
justify-self: center;
position: absolute;
z-index: 1000;
}
.ol-panel.ol-dialog {
padding: 24px 30px;
}
.ol-dialog-close {
cursor: pointer;
font-size: 16px;
font-weight: var(--font-weight-bolder);
position: absolute;
right: 20px;
top: 10px;
}
.ol-dialog-close::before {
content: "\d7";
}
.ol-dialog-header {
border-bottom: 1px solid var(--background-grey);
padding-bottom: 10px;
}
.ol-dialog-content {
margin: 4px 0;
}
.ol-dialog-footer {
border-top: 1px solid var(--background-grey);
display: flex;
padding-top: 15px;
row-gap: 10px;
}
.ol-dialog.scrollable .ol-dialog-content {
overflow-y: auto;
}
.ol-checkbox label {
align-items: center;
cursor: pointer;
display: flex;
flex-wrap: nowrap;
white-space: nowrap;
}
.ol-checkbox input[type="checkbox"] {
appearance: none;
background-color: transparent;
border: none;
margin: 0;
}
.ol-checkbox input[type="checkbox"]::before {
align-self: center;
background-image: url("/resources/theme/images/icons/square-regular.svg");
background-repeat: no-repeat;
content: "";
display: flex;
filter: invert(100%);
height: 16px;
margin-right: 10px;
width: 16px;
}
.ol-checkbox input[type="checkbox"]:checked::before {
background-image: url("/resources/theme/images/icons/square-check-solid.svg");
}
.ol-text-input input {
background-color: var(--background-grey);
border: 1px solid var(--background-grey);
border-radius: 5px;
border-radius: var(--border-radius-sm);
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
color: var(--background-offwhite);
height: 32px;
text-align: center;
}
input[type=number] {
-moz-appearance: textfield;
appearance: textfield;
margin: 0;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
[class|="ol-button"] {
align-items: center;
background-repeat: no-repeat;
display: flex;
font-weight: normal;
padding: 8px 10px;
white-space: nowrap;
}
[class|="ol-button"]::before {
margin-right: 8px;
}
.ol-button-close {
background: transparent;
border: 1px solid white;
}
.ol-button-close::before {
content: "\d7";
}
.ol-button-apply {
background: transparent;
border: 1px solid white;
}
.ol-button-apply::before {
content: "\2713";
}
.ol-button-settings {
background-color: var(--background-slate-blue);
}
.ol-button-settings::before {
background-image: url("/resources/theme/images/icons/gears-solid.svg");
background-position: 0 50%;
background-size: 24px 24px;
content: "";
display: flex;
filter: invert(100%);
height: 24px;
width: 24px;
}
.ol-switch {
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.ol-switch-input {
display: none;
}
.ol-switch-fill {
border-radius: 999px;
position: relative;
transition: background-color 0.2s;
height: var(--height);
width: var(--width);
}
.ol-switch-fill::after {
aspect-ratio : 1 / 1;
background-clip: content-box;
background-color: #ffffff;
border-radius: 999px;
box-sizing: border-box;
content: "";
height: 100%;
padding: 3px;
position: absolute;
transition: transform 0.2s;
top: 0px;
}
.ol-switch-fill::before {
align-items: center;
box-sizing: border-box;
color: white;
display: flex;
font-size: 11px;
height: 100%;
padding: 0px 7px;
position: absolute;
transition: transform 0.2s;
}
.ol-switch[data-value="false"]>.ol-switch-fill::before {
transform: translateX(calc(var(--width) - 100%));
}
.ol-switch[data-value="true"]>.ol-switch-fill::after {
transform: translateX(calc(var(--width) - var(--height)));
}