349 lines
		
	
	
	
		
			7.1 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			349 lines
		
	
	
	
		
			7.1 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
| @font-face {
 | |
|     font-family: 'DS-Digital';
 | |
|     src: url('fonts/DS-Digital.ttf') format('truetype');
 | |
| }
 | |
| 
 | |
| @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap');
 | |
| 
 | |
| body {
 | |
|     font-family: Arial, sans-serif;
 | |
|     display: flex;
 | |
|     justify-content: center;
 | |
|     align-items: center;
 | |
|     height: 100vh;
 | |
|     background-color: rgba(0, 0, 0, 0.0);
 | |
|     margin: 0;
 | |
|     transition: opacity 0.5s ease;
 | |
| }
 | |
| body.hidden {
 | |
|     opacity: 0;
 | |
|     pointer-events: none;
 | |
| }
 | |
| 
 | |
| #background-window {
 | |
|     position: relative;
 | |
|     width: 100%;
 | |
|     height: 100%;
 | |
|     display: flex;
 | |
|     justify-content: center;
 | |
|     align-items: center;
 | |
|     background-color: rgba(0, 0, 0, 0.3);
 | |
| }
 | |
| 
 | |
| #background-image {
 | |
|     position: absolute;
 | |
|     width: 30%;
 | |
|     height: 80%;
 | |
|     border-radius: 20px;
 | |
|     box-shadow: 0 0 50px rgba(0, 0, 0, 1.0);
 | |
|     object-fit: cover;
 | |
|     z-index: -1;
 | |
| }
 | |
| 
 | |
| .elevator-ui {
 | |
|     display: flex;
 | |
|     flex-direction: column;
 | |
|     align-items: center;
 | |
|     background: linear-gradient(135deg, #333 25%, #555 50%, #333 75%);
 | |
|     background-color: #333;
 | |
|     border-radius: 15px;
 | |
|     border-width: 50px;
 | |
|     padding: 20px;
 | |
|     box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
 | |
|     transition: box-shadow 1.0s;
 | |
|     overflow: visible;
 | |
|     animation: fadeIn 0.5s ease;
 | |
| }
 | |
| 
 | |
| .display {
 | |
|     background-color: #000;
 | |
|     color: #0f0;
 | |
|     font-size: 2em;
 | |
|     padding: 10px 20px;
 | |
|     margin-bottom: 20px;
 | |
|     border-radius: 5px;
 | |
|     width: 120px;
 | |
|     height: 80px;
 | |
|     text-align: center;
 | |
|     position: relative;
 | |
|     overflow: hidden;
 | |
| }
 | |
| 
 | |
| .floor-background {
 | |
|     position: absolute;
 | |
|     top: 50%;
 | |
|     left: 50%;
 | |
|     transform: translate(-50%, -50%);
 | |
|     width: 100%;
 | |
|     height: 100%;
 | |
| }
 | |
| .floor-background::before {
 | |
|     content: '88';
 | |
|     font-family: 'DS-Digital', sans-serif;
 | |
|     font-size: 2em;
 | |
|     color: rgba(255, 255, 255, 0.2);
 | |
|     position: absolute;
 | |
|     top: 50%;
 | |
|     left: 60%;
 | |
|     transform: translate(-50%, -50%);
 | |
|     z-index: 0;
 | |
| }
 | |
| 
 | |
| #current-floor {
 | |
|     position: relative;
 | |
|     width: 100%;
 | |
|     height: 100%;
 | |
|     display: flex;
 | |
|     justify-content: center;
 | |
|     align-items: center;
 | |
| }
 | |
| 
 | |
| #digit-1, #digit-2 {
 | |
|     position: absolute;
 | |
|     font-family: 'DS-Digital', sans-serif;
 | |
|     font-size: 2em;
 | |
|     color: #0f0;
 | |
| }
 | |
| #digit-1 {
 | |
|     left: 40%;
 | |
| }
 | |
| #digit-2 {
 | |
|     left: 60%;
 | |
| }
 | |
| 
 | |
| .arrow {
 | |
|     font-size: 1.5em;
 | |
|     color: rgba(255, 255, 255, 0.3);
 | |
|     position: absolute;
 | |
| }
 | |
| 
 | |
| #direction-up {
 | |
|     top: 20px;
 | |
|     left: 15px;
 | |
| }
 | |
| #direction-down {
 | |
|     bottom: 15px;
 | |
|     left: 15px;
 | |
| }
 | |
| 
 | |
| .floor-columns {
 | |
|     display: flex;
 | |
|     margin-left: 10px;
 | |
| }
 | |
| .floor-column {
 | |
|     display: flex;
 | |
|     flex-direction: column;
 | |
|     margin-right: 10px;
 | |
| }
 | |
| 
 | |
| .floor-button {
 | |
|     background: linear-gradient(135deg, #2c2c2c 25%, #555 50%, #333 75%);
 | |
|     color: white;
 | |
|     font-size: 1.5em;
 | |
|     margin-bottom: 5px;
 | |
|     padding: 10px 20px;
 | |
|     border: none;
 | |
|     border-radius: 5px;
 | |
|     cursor: pointer;
 | |
|     position: relative;
 | |
|     overflow: visible;
 | |
|     box-shadow: 0 4px #222;
 | |
|     transition: box-shadow 1.0s;
 | |
|     transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
 | |
| }
 | |
| .floor-button:hover {
 | |
|     background: linear-gradient(135deg, #850000 25%, #830000 50%, #360606 75%);
 | |
|     box-shadow: 0 6px #222;
 | |
| }
 | |
| .floor-button:active {
 | |
|     transform: scale(0.8);
 | |
|     background: linear-gradient(135deg, #850000 25%, #830000 50%, #360606 75%);
 | |
| }
 | |
| .floor-button.active-floor {
 | |
|     background: linear-gradient(135deg, #000000 25%, #830000 50%, #140e0e 75%);
 | |
| }
 | |
| 
 | |
| .stop-button {
 | |
|     background: linear-gradient(135deg, #850000 25%, #660e0e 50%, #360606 75%);
 | |
|     color: white;
 | |
|     font-family: 'Orbitron', sans-serif;
 | |
|     font-size: 1.5em;
 | |
|     margin-top: 20px;
 | |
|     padding: 15px 30px;
 | |
|     border: none;
 | |
|     border-width: 50px;
 | |
|     border-radius: 50%;
 | |
|     cursor: pointer;
 | |
|     transition: transform 0.3s ease;
 | |
|     align-self: center;
 | |
|     text-transform: uppercase;
 | |
|     box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
 | |
| }
 | |
| .stop-button:hover {
 | |
|     transform: scale(1.05);
 | |
| }
 | |
| .stop-button:active {
 | |
|     transform: scale(0.8);
 | |
| }
 | |
| 
 | |
| .tooltip {
 | |
|     visibility: hidden;
 | |
|     background-color: black;
 | |
|     color: #fff;
 | |
|     text-align: center;
 | |
|     border-radius: 6px;
 | |
|     padding: 5px 10px;
 | |
|     position: absolute;
 | |
|     z-index: 1;
 | |
|     bottom: 100%;
 | |
|     left: 50%;
 | |
|     transform: translateX(-50%);
 | |
|     white-space: nowrap;
 | |
|     opacity: 0;
 | |
|     transition: opacity 0.3s;
 | |
|     transition: all 0.3s ease;
 | |
|     font-size: 0.8em;
 | |
| }
 | |
| .tooltip::after {
 | |
|     content: '';
 | |
|     position: absolute;
 | |
|     top: 100%;
 | |
|     left: 50%;
 | |
|     transform: translateX(-50%);
 | |
|     border-width: 5px;
 | |
|     border-style: solid;
 | |
|     border-color: black transparent transparent transparent;
 | |
| }
 | |
| 
 | |
| .floor-button:hover .tooltip {
 | |
|     visibility: visible;
 | |
|     opacity: 1;
 | |
| }
 | |
| 
 | |
| .modal {
 | |
|     display: none;
 | |
|     position: fixed;
 | |
|     z-index: 1000;
 | |
|     left: 0;
 | |
|     top: 0;
 | |
|     width: 100%;
 | |
|     height: 100%;
 | |
|     overflow: auto;
 | |
|     background-color: rgba(0, 0, 0, 0.4);
 | |
|     transition: opacity 0.3s ease;
 | |
| }
 | |
| .modal.show {
 | |
|     opacity: 1;
 | |
|     pointer-events: all;
 | |
| }
 | |
| .modal.hide {
 | |
|     opacity: 0;
 | |
|     pointer-events: none;
 | |
| }
 | |
| .modal-content {
 | |
|     background-color: rgba(255, 255, 255, 0.9);
 | |
|     margin: 15% auto;
 | |
|     padding: 20px;
 | |
|     border: 1px solid #888;
 | |
|     width: 80%;
 | |
|     max-width: 400px;
 | |
|     border-radius: 15px;
 | |
|     box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
 | |
|     text-align: center;
 | |
|     animation: slideIn 0.5s ease-out;
 | |
|     position: relative;
 | |
| }
 | |
| .modal-content * {
 | |
|     transition: all 0.3s ease;
 | |
| }
 | |
| .modal-content h2 {
 | |
|     text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
 | |
| }
 | |
| 
 | |
| .close-button {
 | |
|     color: #aaa;
 | |
|     font-size: 28px;
 | |
|     font-weight: bold;
 | |
|     cursor: pointer;
 | |
|     position: absolute;
 | |
|     top: 10px;
 | |
|     right: 10px;
 | |
| }
 | |
| .close-button:hover,
 | |
| .close-button:focus {
 | |
|     color: black;
 | |
|     text-decoration: none;
 | |
|     cursor: pointer;
 | |
| }
 | |
| 
 | |
| #submit-password {
 | |
|     background: linear-gradient(to right, #4CAF50, #05580a);
 | |
|     font-weight: bold;
 | |
|     color: white;
 | |
|     padding: 10px 20px;
 | |
|     border: none;
 | |
|     border-radius: 5px;
 | |
|     cursor: pointer;
 | |
|     transition: background-color 0.3s ease;
 | |
|     box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
 | |
|     transition: all 0.3s ease;
 | |
| }
 | |
| #submit-password:hover {
 | |
|     background-color: #45a049;
 | |
|     box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
 | |
| }
 | |
| 
 | |
| #password-input {
 | |
|     width: calc(100% - 40px);
 | |
|     padding: 10px;
 | |
|     margin: 10px 0;
 | |
|     border: 1px solid #ccc;
 | |
|     border-radius: 5px;
 | |
|     box-sizing: border-box;
 | |
|     border-radius: 25px;
 | |
|     box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
 | |
| }
 | |
| #password-input::placeholder {
 | |
|     color: #bbb;
 | |
|     font-style: italic;
 | |
| }
 | |
| #password-input:hover {
 | |
|     box-shadow: 0 0 5px rgba(76, 175, 80, 0.5);
 | |
| }
 | |
| #password-input:focus {
 | |
|     border-color: #4CAF50;
 | |
|     outline: none;
 | |
|     box-shadow: 0 0 5px rgba(76, 175, 80, 0.5);
 | |
| }
 | |
| 
 | |
| .error-message {
 | |
|     color: red;
 | |
|     font-weight: bold;
 | |
|     margin-top: 10px;
 | |
| }
 | |
| .error-message.shake {
 | |
|     animation: shake 0.3s;
 | |
| }
 | |
| 
 | |
| /* animations */
 | |
| @keyframes shake {
 | |
|     0% { transform: translateX(0); }
 | |
|     25% { transform: translateX(-5px); }
 | |
|     50% { transform: translateX(5px); }
 | |
|     75% { transform: translateX(-5px); }
 | |
|     100% { transform: translateX(0); }
 | |
| }
 | |
| @keyframes slideIn {
 | |
|     from {
 | |
|         transform: translateY(-20px);
 | |
|         opacity: 0;
 | |
|     }
 | |
|     to {
 | |
|         transform: translateY(0);
 | |
|         opacity: 1;
 | |
|     }
 | |
| }
 | |
| @keyframes fadeIn {
 | |
|     from { opacity: 0; }
 | |
|     to { opacity: 1; }
 | |
| }
 | 
