1070 lines
26 KiB
CSS
1070 lines
26 KiB
CSS
/* Eurostyle Example */
|
|
/* @font-face {
|
|
font-family: 'Eurostile Becker Heavy';
|
|
src: url('fonts/EurostileBeckerHeavy.ttf') format('truetype');
|
|
font-weight: normal;
|
|
font-style: normal;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Eurostile Becker Heavy', sans-serif;
|
|
font-size: 13px;
|
|
overflow: hidden;
|
|
} */
|
|
|
|
/* AVENIR Example */
|
|
/* @font-face {
|
|
font-family: 'Avenir Regular';
|
|
src: url('fonts/AvenirRegular.ttf') format('truetype');
|
|
font-weight: normal;
|
|
font-style: normal;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Avenir Regular', sans-serif;
|
|
font-size: 13px;
|
|
overflow: hidden;
|
|
} */
|
|
|
|
/* A default font */
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
|
font-size: 13px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Here you can configure UI in the root */
|
|
:root {
|
|
/* Overwrite Bootstrap */
|
|
--bs-body-bg: transparent;
|
|
|
|
/* Interaction & Callout UI Background settings */
|
|
--interaction-bg-color: rgba(0, 0, 0, 0.5);
|
|
--interaction-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
|
|
|
|
/* Dispatch alert message when toggled dispatch messages */
|
|
--dispatch-icon-right: 20px;
|
|
--dispatch-icon-bottom: 20px;
|
|
|
|
/* Radial Menu Calculation */
|
|
--total-items: 9; /* Total number of items in the circle */
|
|
--angle: calc(360deg / var(--total-items)); /* Angle between items */
|
|
--radius: 15em; /* Distance from the center */
|
|
|
|
/* Pursuit Radial Menu */
|
|
--pursuit-total-items: 5; /* Total number of items in the circle */
|
|
--pursuit-angle: calc(360deg / var(--pursuit-total-items)); /* Angle between items */
|
|
--pursuit-radius: 10em; /* Distance from the center */
|
|
}
|
|
|
|
/* Microtext */
|
|
|
|
.microtext {
|
|
font-size: 12px;
|
|
}
|
|
|
|
.microtext-11 {
|
|
font-size: 11px;
|
|
}
|
|
|
|
/* Card adjustments */
|
|
.card:hover {
|
|
filter: brightness(1.2); /* Adjust brightness as desired */
|
|
transition: filter 0.3s ease;
|
|
}
|
|
|
|
.card-flash {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.card-flash::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: -50%;
|
|
left: -150%;
|
|
width: 10px;
|
|
height: 200%;
|
|
background: linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2)); /* Adjusted gradient for softer edges */
|
|
transform: rotate(45deg);
|
|
transition: left 1.5s ease-in-out, opacity 1.5s ease-in-out, box-shadow 0.5s ease-in-out; /* Fine-tuned transition durations */
|
|
opacity: 0;
|
|
box-shadow: 0 0 1px 1px rgba(255, 255, 255, 0); /* Adjusted initial box-shadow for a subtle glow effect */
|
|
}
|
|
|
|
.card-flash:hover::before {
|
|
left: 150%;
|
|
opacity: 1;
|
|
box-shadow: 0 0 10px 5px rgba(255, 255, 255, 0.8); /* Adjusted box-shadow properties for a stronger glow effect */
|
|
}
|
|
|
|
/* Prompts */
|
|
|
|
#ers-selection-menu {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
transform: translateY(-50%);
|
|
z-index: 1;
|
|
opacity: 0;
|
|
animation: fadeIn 1s ease forwards;
|
|
}
|
|
|
|
.logo {
|
|
width: 36px;
|
|
height: 36px;
|
|
margin: 0 5px; /* Adjust spacing between logos if needed */
|
|
}
|
|
|
|
#prompt-container {
|
|
position: absolute;
|
|
top: 20px;
|
|
right: 20px;
|
|
z-index: 1;
|
|
animation: slideIn 0.25s ease-out;
|
|
}
|
|
|
|
#callout-prompt-container {
|
|
position: absolute;
|
|
top: 20px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
z-index: 1;
|
|
opacity: 0;
|
|
animation: fadeIn 0.25s ease forwards;
|
|
}
|
|
|
|
#callout-interface-container,
|
|
#callout-pre-interface-container {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 20px;
|
|
transform: translateY(-50%);
|
|
z-index: 1;
|
|
border-radius: 10px;
|
|
background-color: var(--interaction-bg-color);
|
|
box-shadow: var(--interaction-box-shadow);
|
|
padding: 15px;
|
|
transition: opacity 0.25s ease-out;
|
|
}
|
|
|
|
.hint {
|
|
position: absolute;
|
|
margin: 5px;
|
|
bottom: 5px; /* Position hint at the bottom of the container */
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
font-size: 0.70rem;
|
|
color: #afafafa2;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.slideInFromLeft {
|
|
animation: slideInFromLeft 0.25s ease-out;
|
|
}
|
|
|
|
.slideOutToLeft {
|
|
animation: slideOutToLeft 0.25s ease-out;
|
|
}
|
|
|
|
#dispatch-message-prompt-container {
|
|
position: absolute;
|
|
bottom: 20px;
|
|
right: 20px;
|
|
z-index: 1;
|
|
animation: slideIn 0.25s ease-out;
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes slideIn {
|
|
from {
|
|
transform: translateX(100%);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes slideInFromTop {
|
|
from {
|
|
transform: translateY(-100%);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateY(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes slideInFromLeft {
|
|
from {
|
|
transform: translateX(-100%) translateY(-50%);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: translateX(0) translateY(-50%);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes slideOutToLeft {
|
|
from {
|
|
transform: translateX(0) translateY(-50%);
|
|
opacity: 1;
|
|
}
|
|
to {
|
|
transform: translateX(-100%) translateY(-50%);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
#ped-interaction-prompt,
|
|
#obj-cleanup-prompt,
|
|
#injured-ped-prompt,
|
|
#impound-prompt,
|
|
#gear-prompt,
|
|
#stretcher-prompt,
|
|
#spikes-vehicle-prompt {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 55%;
|
|
transform: translateX(-50%);
|
|
transform: translateY(-50%);
|
|
z-index: 1;
|
|
opacity: 0;
|
|
animation: fadeIn 0.25s ease forwards;
|
|
background-color: var(--interaction-bg-color);
|
|
box-shadow: var(--interaction-box-shadow);
|
|
border-radius: 10px;
|
|
padding: 10px;
|
|
}
|
|
|
|
#ped-interaction-module {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 55%;
|
|
transform: translateX(-50%);
|
|
transform: translateY(-50%);
|
|
z-index: 1;
|
|
opacity: 0;
|
|
animation: fadeIn 0.25s ease forwards;
|
|
background-color: var(--interaction-bg-color);
|
|
box-shadow: var(--interaction-box-shadow);
|
|
border-radius: 10px;
|
|
padding: 15px;
|
|
}
|
|
|
|
#ped-interaction-id-card, #ped-interaction-inventory, #vehicle-info {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 25%;
|
|
transform: translateY(-50%);
|
|
z-index: 1;
|
|
opacity: 0;
|
|
animation: fadeIn 0.25s ease forwards;
|
|
}
|
|
|
|
.spinner-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100%;
|
|
text-align: center;
|
|
padding: 20px;
|
|
}
|
|
|
|
.spinner {
|
|
border: 4px solid rgba(255, 255, 255, 0.3);
|
|
border-radius: 50%;
|
|
border-top: 4px solid #ffc107;
|
|
width: 40px;
|
|
height: 40px;
|
|
animation: spin 1s linear infinite;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
@keyframes spin {
|
|
0% { transform: rotate(0deg); }
|
|
100% { transform: rotate(360deg); }
|
|
}
|
|
|
|
/* Waypoint */
|
|
|
|
.waypoint {
|
|
top: -1000;
|
|
left: 0;
|
|
position: absolute;
|
|
display: flex;
|
|
row-gap: 5px;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 25px;
|
|
transition: 0.1s;
|
|
}
|
|
|
|
/* Zone change */
|
|
|
|
#zone-change-ui {
|
|
position: absolute;
|
|
top: 25%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
z-index: 1;
|
|
text-align: center;
|
|
font-family: inherit;
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
|
|
}
|
|
|
|
#zone-change-ui.show {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
}
|
|
|
|
#zone-change-ui h3 {
|
|
font-size: 1.5em;
|
|
margin-bottom: 0.5em;
|
|
}
|
|
|
|
#zone-change-ui p {
|
|
font-size: 1.2em;
|
|
margin: 0;
|
|
}
|
|
|
|
.new-zone {
|
|
font-size: 2.5em;
|
|
font-weight: bold;
|
|
text-decoration: underline;
|
|
position: relative;
|
|
display: inline-block;
|
|
background: linear-gradient(to right, rgba(255,255,255,0.7), rgba(255,255,255,0.9));
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
color: transparent;
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
|
|
}
|
|
|
|
.new-zone.show {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.new-zone::after {
|
|
content: '';
|
|
position: absolute;
|
|
top: -5px;
|
|
left: -5px;
|
|
right: -5px;
|
|
bottom: -5px;
|
|
background: radial-gradient(ellipse at center, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 70%);
|
|
filter: blur(8px);
|
|
z-index: -1;
|
|
}
|
|
|
|
.old-zone {
|
|
opacity: 0.7;
|
|
color: rgba(255,255,255,0.7);
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
.zone-arrow {
|
|
margin: 0 0.5em;
|
|
font-size: 1.5em;
|
|
color:#ffbf00;
|
|
}
|
|
|
|
/* Unit waypoint */
|
|
|
|
.unit-waypoint-container {
|
|
position: absolute; /* Ensure the container is positioned absolutely */
|
|
transform: translate(-50%, -50%); /* Center the waypoint if needed */
|
|
}
|
|
|
|
.unit-waypoint-container.smooth-transition {
|
|
transition: left 0.5s ease, top 0.5s ease; /* Adjust the duration and easing as needed */
|
|
}
|
|
|
|
.unit-waypoint {
|
|
top: -1000;
|
|
left: 0;
|
|
position: absolute;
|
|
display: flex;
|
|
row-gap: 5px;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 25px;
|
|
}
|
|
|
|
.unit-waypoint-distance {
|
|
font-size: 13px;
|
|
color: rgb(72, 255, 0);
|
|
font-weight: 700;
|
|
}
|
|
|
|
.unit-waypoint-distance-text {
|
|
font-size: 11px;
|
|
color: rgb(255, 255, 255);
|
|
font-weight: 700;
|
|
font-family: -apple-system,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
|
|
}
|
|
|
|
/* Radial menu */
|
|
|
|
.circle-menu li {
|
|
list-style: none;
|
|
display: inline;
|
|
}
|
|
|
|
.circle-menu {
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
width: 24em;
|
|
height: 24em;
|
|
border-radius: 50%;
|
|
z-index: 999;
|
|
opacity: 0;
|
|
animation: fadeIn 0.25s ease forwards;
|
|
font-size: 16px !important;
|
|
}
|
|
|
|
.circle-menu a {
|
|
display: block;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 8em; height: 8em;
|
|
line-height:8em;
|
|
margin: -3.5em;
|
|
-moz-border-radius: 4em;
|
|
-webkit-border-radius: 4em;
|
|
border-radius: 4em;
|
|
text-align: center;
|
|
text-decoration: none;
|
|
color: white;
|
|
box-sizing: border-box;
|
|
border: inset rgba(0, 0, 0, 0.5) 1px;
|
|
background-color: rgba(0, 0, 0, 0.5);
|
|
opacity: 0.8;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
|
|
.circle-menu a i {
|
|
font-size: 20px;
|
|
}
|
|
|
|
.circle-menu a:hover i {
|
|
font-size: 30px; /* Adjust the size as needed */
|
|
transition: font-size 0.3s ease;
|
|
}
|
|
|
|
.circle-menu a:hover {
|
|
background-color: rgba(0, 0, 0, 0.9);
|
|
opacity: 0.9;
|
|
pointer-events: auto;
|
|
cursor: pointer;
|
|
transition: opacity 0.5s ease;
|
|
transition: background-color 0.5s ease;
|
|
animation: fillCircle 0.5s forwards;
|
|
}
|
|
|
|
@keyframes fillCircle {
|
|
0% {
|
|
box-shadow: 0 0 0px 0px rgba(255, 255, 255, 0.8);
|
|
}
|
|
100% {
|
|
box-shadow: 0 0 10px 5px rgba(255, 255, 255, 0.8);
|
|
}
|
|
}
|
|
|
|
.circle-menu a.animal-rescue-request:hover i {
|
|
color: #9bde00;
|
|
}
|
|
|
|
.circle-menu a.coroner-request:hover i {
|
|
color: #3D3D3D;
|
|
}
|
|
|
|
.circle-menu a.road-service-request:hover i {
|
|
color: #ffbf00;
|
|
}
|
|
|
|
.circle-menu a.taxi-request:hover i {
|
|
color: #FF9A18;
|
|
}
|
|
|
|
.circle-menu a.ambulance-request:hover i {
|
|
color: #ff0000;
|
|
}
|
|
|
|
.circle-menu a.tow-request:hover i {
|
|
color: #782323;
|
|
}
|
|
|
|
.circle-menu a.police-transport:hover i {
|
|
color: #0057b9;
|
|
}
|
|
|
|
.circle-menu a.mechanic-request:hover i {
|
|
color: #CFCFCF;
|
|
}
|
|
|
|
.circle-menu a.fire-request:hover i {
|
|
color: #3b0000;
|
|
}
|
|
|
|
.circle-menu .animal-rescue-request {
|
|
transform: rotate(calc(1 * var(--angle))) translate(var(--radius)) rotate(calc(-1 * var(--angle)));
|
|
-webkit-transform: rotate(calc(1 * var(--angle))) translate(var(--radius)) rotate(calc(-1 * var(--angle)));
|
|
-ms-transform: rotate(calc(1 * var(--angle))) translate(var(--radius)) rotate(calc(-1 * var(--angle)));
|
|
}
|
|
.circle-menu .coroner-request {
|
|
transform: rotate(calc(2 * var(--angle))) translate(var(--radius)) rotate(calc(-2 * var(--angle)));
|
|
-webkit-transform: rotate(calc(2 * var(--angle))) translate(var(--radius)) rotate(calc(-2 * var(--angle)));
|
|
-ms-transform: rotate(calc(2 * var(--angle))) translate(var(--radius)) rotate(calc(-2 * var(--angle)));
|
|
}
|
|
.circle-menu .road-service-request {
|
|
transform: rotate(calc(3 * var(--angle))) translate(var(--radius)) rotate(calc(-3 * var(--angle)));
|
|
-webkit-transform: rotate(calc(3 * var(--angle))) translate(var(--radius)) rotate(calc(-3 * var(--angle)));
|
|
-ms-transform: rotate(calc(3 * var(--angle))) translate(var(--radius)) rotate(calc(-3 * var(--angle)));
|
|
}
|
|
.circle-menu .taxi-request {
|
|
transform: rotate(calc(4 * var(--angle))) translate(var(--radius)) rotate(calc(-4 * var(--angle)));
|
|
-webkit-transform: rotate(calc(4 * var(--angle))) translate(var(--radius)) rotate(calc(-4 * var(--angle)));
|
|
-ms-transform: rotate(calc(4 * var(--angle))) translate(var(--radius)) rotate(calc(-4 * var(--angle)));
|
|
}
|
|
.circle-menu .ambulance-request {
|
|
transform: rotate(calc(5 * var(--angle))) translate(var(--radius)) rotate(calc(-5 * var(--angle)));
|
|
-webkit-transform: rotate(calc(5 * var(--angle))) translate(var(--radius)) rotate(calc(-5 * var(--angle)));
|
|
-ms-transform: rotate(calc(5 * var(--angle))) translate(var(--radius)) rotate(calc(-5 * var(--angle)));
|
|
}
|
|
.circle-menu .tow-request {
|
|
transform: rotate(calc(6 * var(--angle))) translate(var(--radius)) rotate(calc(-6 * var(--angle)));
|
|
-webkit-transform: rotate(calc(6 * var(--angle))) translate(var(--radius)) rotate(calc(-6 * var(--angle)));
|
|
-ms-transform: rotate(calc(6 * var(--angle))) translate(var(--radius)) rotate(calc(-6 * var(--angle)));
|
|
}
|
|
.circle-menu .police-transport {
|
|
transform: rotate(calc(7 * var(--angle))) translate(var(--radius)) rotate(calc(-7 * var(--angle)));
|
|
-webkit-transform: rotate(calc(7 * var(--angle))) translate(var(--radius)) rotate(calc(-7 * var(--angle)));
|
|
-ms-transform: rotate(calc(7 * var(--angle))) translate(var(--radius)) rotate(calc(-7 * var(--angle)));
|
|
}
|
|
|
|
.circle-menu .mechanic-request {
|
|
transform: rotate(calc(8 * var(--angle))) translate(var(--radius)) rotate(calc(-8 * var(--angle)));
|
|
-webkit-transform: rotate(calc(8 * var(--angle))) translate(var(--radius)) rotate(calc(-8 * var(--angle)));
|
|
-ms-transform: rotate(calc(8 * var(--angle))) translate(var(--radius)) rotate(calc(-8 * var(--angle)));
|
|
}
|
|
|
|
.circle-menu .fire-request {
|
|
transform: rotate(calc(9 * var(--angle))) translate(var(--radius)) rotate(calc(-9 * var(--angle)));
|
|
-webkit-transform: rotate(calc(9 * var(--angle))) translate(var(--radius)) rotate(calc(-9 * var(--angle)));
|
|
-ms-transform: rotate(calc(9 * var(--angle))) translate(var(--radius)) rotate(calc(-9 * var(--angle)));
|
|
}
|
|
|
|
/*
|
|
TO ADD NEW BACKUP, SIMPLY COPY THE LAST 5 LINES OF ABOVES CODE AND INCREASE THE NUMBER!
|
|
MAKE SURE TO ALSO ADD THE ON HOVER COLOR AND ALSO INCREASE THE NUMBER OF ITEMS IN :ROOT
|
|
*/
|
|
|
|
.middle-x, .pursuit-middle-x {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 52%;
|
|
width: 4em;
|
|
height: 4em;
|
|
transform: translate(-50%, -50%);
|
|
border: inset rgba(255, 255, 255, 0.3) 1px;
|
|
background-color: rgba(255, 255, 255, 0.3);
|
|
border-radius: 50%;
|
|
z-index: 1;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
transition: background-color 0.3s ease;
|
|
box-sizing: border-box; /* Add this to include border in the width and height */
|
|
}
|
|
|
|
.middle-x:hover, .pursuit-middle-x:hover {
|
|
background-color: rgba(255, 255, 255, 0.5);
|
|
box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.8);
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
|
|
.middle-x::before,
|
|
.pursuit-middle-x::before,
|
|
.middle-x::after,
|
|
.pursuit-middle-x::after {
|
|
content: '';
|
|
position: absolute;
|
|
width: 50%;
|
|
height: 2px;
|
|
background-color: #000;
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
|
|
.middle-x::before,
|
|
.pursuit-middle-x::before {
|
|
transform: rotate(45deg);
|
|
}
|
|
|
|
.middle-x::after,
|
|
.pursuit-middle-x::after {
|
|
transform: rotate(-45deg);
|
|
}
|
|
|
|
.instruction-title {
|
|
position: fixed;
|
|
top: 170px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
padding: 10px;
|
|
z-index: 998;
|
|
}
|
|
|
|
.instruction-text {
|
|
position: fixed;
|
|
bottom: 170px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
font-size: 16px;
|
|
padding: 10px;
|
|
z-index: 998;
|
|
}
|
|
|
|
/* Pursuit Backup Radial Menu */
|
|
|
|
.circle-menu a.pursuit-backup-light:hover i {
|
|
color: #0080f8;
|
|
}
|
|
|
|
.circle-menu a.pursuit-backup-medium:hover i {
|
|
color: #014b8f;
|
|
}
|
|
|
|
.circle-menu a.pursuit-backup-heavy:hover i {
|
|
color: #001e39;
|
|
}
|
|
|
|
.circle-menu a.pursuit-backup-air:hover i {
|
|
color: #00a2dd;
|
|
}
|
|
|
|
.circle-menu a.pursuit-backup-army:hover i {
|
|
color: #647b32;
|
|
}
|
|
|
|
.circle-menu .pursuit-backup-light {
|
|
transform: rotate(calc(1 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-1 * var(--pursuit-angle)));
|
|
-webkit-transform: rotate(calc(1 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-1 * var(--pursuit-angle)));
|
|
-ms-transform: rotate(calc(1 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-1 * var(--pursuit-angle)));
|
|
}
|
|
|
|
.circle-menu .pursuit-backup-medium {
|
|
transform: rotate(calc(2 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-2 * var(--pursuit-angle)));
|
|
-webkit-transform: rotate(calc(2 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-2 * var(--pursuit-angle)));
|
|
-ms-transform: rotate(calc(2 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-2 * var(--pursuit-angle)));
|
|
}
|
|
|
|
.circle-menu .pursuit-backup-heavy {
|
|
transform: rotate(calc(3 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-3 * var(--pursuit-angle)));
|
|
-webkit-transform: rotate(calc(3 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-3 * var(--pursuit-angle)));
|
|
-ms-transform: rotate(calc(3 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-3 * var(--pursuit-angle)));
|
|
}
|
|
|
|
.circle-menu .pursuit-backup-air {
|
|
transform: rotate(calc(4 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-4 * var(--pursuit-angle)));
|
|
-webkit-transform: rotate(calc(4 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-4 * var(--pursuit-angle)));
|
|
-ms-transform: rotate(calc(4 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-4 * var(--pursuit-angle)));
|
|
}
|
|
|
|
.circle-menu .pursuit-backup-army {
|
|
transform: rotate(calc(5 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-5 * var(--pursuit-angle)));
|
|
-webkit-transform: rotate(calc(5 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-5 * var(--pursuit-angle)));
|
|
-ms-transform: rotate(calc(5 * var(--pursuit-angle))) translate(var(--pursuit-radius)) rotate(calc(-5 * var(--pursuit-angle)));
|
|
}
|
|
|
|
/* Pursuit Mode UI */
|
|
|
|
.pursuit-container {
|
|
position: fixed;
|
|
top: 115px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
z-index: 1000;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
width: 300px; /* Match lightbar width */
|
|
}
|
|
|
|
.lightbar-container {
|
|
position: relative;
|
|
}
|
|
|
|
.lightbar {
|
|
width: 300px;
|
|
height: 40px;
|
|
background: linear-gradient(90deg, rgba(0,0,0,0.2), rgba(0,0,0,0.3), rgba(0,0,0,0.2));
|
|
border-radius: 10px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
|
|
}
|
|
|
|
/* Animated gradient background */
|
|
.lightbar::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: linear-gradient(90deg,
|
|
rgba(24, 116, 255, 0.3),
|
|
rgba(255, 43, 43, 0.3));
|
|
animation: gradientMove 2s infinite;
|
|
z-index: 0;
|
|
}
|
|
|
|
@keyframes gradientMove {
|
|
0% {
|
|
opacity: 0;
|
|
background: linear-gradient(90deg,
|
|
rgba(24, 116, 255, 0.3),
|
|
rgba(255, 43, 43, 0.3));
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
background: linear-gradient(90deg,
|
|
rgba(255, 43, 43, 0.3),
|
|
rgba(24, 116, 255, 0.3));
|
|
}
|
|
100% {
|
|
opacity: 0;
|
|
background: linear-gradient(90deg,
|
|
rgba(24, 116, 255, 0.3),
|
|
rgba(255, 43, 43, 0.3));
|
|
}
|
|
}
|
|
|
|
.pursuit-text {
|
|
position: absolute;
|
|
width: 100%;
|
|
text-align: center;
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
color: #fff;
|
|
font-weight: 800;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
text-transform: uppercase;
|
|
letter-spacing: 2px;
|
|
font-size: 16px;
|
|
text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
|
|
animation: pulseText 2s infinite;
|
|
z-index: 1;
|
|
}
|
|
|
|
.pursuit-text::before {
|
|
content: '»»»';
|
|
margin-right: 10px;
|
|
animation: arrowPulse 1s infinite;
|
|
}
|
|
|
|
.pursuit-text::after {
|
|
content: '«««';
|
|
margin-left: 10px;
|
|
animation: arrowPulse 1s infinite;
|
|
}
|
|
|
|
@keyframes pulseText {
|
|
0%, 100% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0.7;
|
|
}
|
|
}
|
|
|
|
@keyframes arrowPulse {
|
|
0%, 100% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 0.5;
|
|
transform: scale(0.95);
|
|
}
|
|
}
|
|
|
|
.pursuit-hotkey-hint-container {
|
|
width: 100%;
|
|
text-align: center;
|
|
}
|
|
|
|
.pursuit-hotkey-hint {
|
|
font-size: 11px;
|
|
font-style: italic;
|
|
color: rgba(255, 255, 255, 0.7);
|
|
text-align: center;
|
|
text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
|
|
font-family: inherit;
|
|
margin-top: 2px;
|
|
width: 100%;
|
|
display: inline-block;
|
|
}
|
|
|
|
/* Screen Flash */
|
|
|
|
.screen-flash-left {
|
|
position: fixed;
|
|
left: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 500px;
|
|
background: linear-gradient(90deg, rgba(255,0,0,0.2) 0%, rgba(255,0,0,0) 100%);
|
|
animation: screenFlashLeft 2s infinite;
|
|
pointer-events: none;
|
|
z-index: 9999;
|
|
}
|
|
|
|
.screen-flash-right {
|
|
position: fixed;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 500px;
|
|
background: linear-gradient(-90deg, rgba(0,0,255,0.2) 0%, rgba(0,0,255,0) 100%);
|
|
animation: screenFlashRight 2s infinite;
|
|
pointer-events: none;
|
|
z-index: 9999;
|
|
}
|
|
|
|
@keyframes screenFlashLeft {
|
|
0%, 100% { opacity: 0; }
|
|
12.5% { opacity: 1; }
|
|
25% { opacity: 0; }
|
|
37.5% { opacity: 1; }
|
|
50% { opacity: 0; }
|
|
}
|
|
|
|
@keyframes screenFlashRight {
|
|
50%, 100% { opacity: 0; }
|
|
62.5% { opacity: 1; }
|
|
75% { opacity: 0; }
|
|
87.5% { opacity: 1; }
|
|
100% { opacity: 0; }
|
|
}
|
|
|
|
/* BLUR / GRADIENT */
|
|
|
|
.blur-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: radial-gradient(ellipse at center, rgba(255,255,255,0) 0%,rgba(0,0,0,0.8) 100%);
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
}
|
|
|
|
/* Dispatch message icon */
|
|
|
|
@keyframes slideInAndGrowShrink {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(100%) scale(1); /* Start off-screen to the right */
|
|
}
|
|
25% {
|
|
opacity: 1;
|
|
transform: translateX(0) scale(1.2); /* Slide in and grow */
|
|
}
|
|
75% {
|
|
opacity: 1;
|
|
transform: translateX(0) scale(1); /* Stay visible and shrink back */
|
|
}
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateX(100%) scale(1); /* Slide out to the right */
|
|
}
|
|
}
|
|
|
|
.dispatchmessageicon {
|
|
position: fixed;
|
|
right: var(--dispatch-icon-right);
|
|
bottom: var(--dispatch-icon-bottom);
|
|
z-index: 1;
|
|
border-radius: 10px;
|
|
background-color: var(--interaction-bg-color);
|
|
box-shadow: var(--interaction-box-shadow);
|
|
padding: 15px;
|
|
animation: slideInAndGrowShrink 3s ease-in-out 1; /* Run for 3 seconds, one time */
|
|
animation-fill-mode: forwards; /* Keep the final state of the animation */
|
|
}
|
|
|
|
/* ID card display */
|
|
|
|
.profile-picture {
|
|
background: #2c2c2c; /* Fallback color */
|
|
}
|
|
|
|
.profile-picture[src=""] {
|
|
display: none;
|
|
}
|
|
|
|
.license-item {
|
|
padding: 5px;
|
|
margin: 5px 0;
|
|
border-radius: 4px;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.license-item i {
|
|
margin-right: 5px;
|
|
}
|
|
|
|
.license-status {
|
|
padding: 5px;
|
|
margin: 5px 0;
|
|
border-radius: 4px;
|
|
background: rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.license-status i {
|
|
margin-right: 5px;
|
|
}
|
|
|
|
.license-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.25rem 0.75rem;
|
|
border-radius: 4px;
|
|
background: rgba(0, 0, 0, 0.3);
|
|
font-size: 0.875rem;
|
|
}
|
|
|
|
.license-badge i {
|
|
font-size: 1rem;
|
|
}
|
|
|
|
/* Questioning */
|
|
|
|
#ped-interaction-questioning {
|
|
position: fixed;
|
|
right: 10px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
z-index: 1000;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5vh;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
|
}
|
|
|
|
/* QUESTION BUTTONS */
|
|
|
|
.gold-dot {
|
|
display: inline-block;
|
|
width: 7px;
|
|
height: 7px;
|
|
border-radius: 50%;
|
|
background: gold;
|
|
box-shadow: 0 0 6px 2px rgba(255, 215, 0, 0.5);
|
|
margin-right: 1rem;
|
|
}
|
|
|
|
.btn-glass {
|
|
position: relative;
|
|
background: transparent;
|
|
border: none;
|
|
background: linear-gradient(90deg, rgba(0, 0, 0, 0.0) 0%, rgba(0, 0, 0, 0.85) 100%);
|
|
/* box-shadow: 0 4px 24px rgba(0,0,0,0.10); */
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
|
transition: transform 0.3s ease;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.question-btn {
|
|
text-align: left;
|
|
white-space: normal;
|
|
height: auto;
|
|
min-height: 48px;
|
|
}
|
|
|
|
.question-text {
|
|
line-height: 1.4;
|
|
text-align: left;
|
|
white-space: pre-line;
|
|
}
|
|
|
|
/* The sliding background element */
|
|
.btn-glass::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(90deg, rgba(0, 0, 0, 0.0) 0%, rgba(0, 0, 0, 0.85) 100%);
|
|
transform: translateX(100%);
|
|
transition: transform 0.3s ease;
|
|
z-index: -1;
|
|
}
|
|
|
|
.btn-glass:hover {
|
|
transform: scale(1.03);
|
|
}
|
|
|
|
.btn-glass:hover::before {
|
|
transform: translateX(0);
|
|
}
|
|
|
|
/* Questioning Answers */
|
|
|
|
#question-answers-list {
|
|
position: fixed;
|
|
left: 15%;
|
|
top: 15%;
|
|
z-index: 1000;
|
|
display: block;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
|
max-width: 400px;
|
|
}
|
|
|
|
.chat-history::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
.chat-history::-webkit-scrollbar-track {
|
|
background: rgba(0, 0, 0, 0.1);
|
|
border-radius: 3px;
|
|
}
|
|
.chat-history::-webkit-scrollbar-thumb {
|
|
background: rgba(255, 255, 255, 0.2);
|
|
border-radius: 3px;
|
|
}
|
|
.chat-history::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(255, 255, 255, 0.3);
|
|
} |