body { background-color: #292c31; height: 100vh; } .card { margin-top: 8rem; background-color: #454e54; border: none; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .card-body { padding: 40px; } .card-header { background-color: #007bfe; color: #fff; border-bottom: none; border-radius: 1em 1em 0 0; } .btn-start { background-color: #007bff; border: none; } .btn-start:hover { background-color: #0056b3; } .card-footer { background-color: #353a3f; border-top: none; color: #6c757d; } .dot { height: 10px; /* Smaller inner circle */ width: 10px; /* Smaller inner circle */ border-radius: 50%; display: inline-block; position: relative; background-color: grey; /* Default grey color */ } .dot::before { content: ""; position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; border-radius: 50%; transform: translate(-50%, -50%) scale(2); /* Scale to match outer size */ z-index: -1; } .green { background-color: #66ff66; /* Lighter green for online status */ } .green::before { background-color: rgba(0, 255, 0, 0.5); /* Lighter outer green */ animation: pulse-green 1.5s infinite; } .red { background-color: red; } .red::before { background-color: rgba(255, 0, 0, 0.5); /* Lighter outer red */ animation: pulse-red 1.5s infinite; } @keyframes pulse-green { 0% { transform: translate(-50%, -50%) scale(1); opacity: 1; } 70% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; } 100% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; } } @keyframes pulse-red { 0% { transform: translate(-50%, -50%) scale(1); opacity: 1; } 70% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; } 100% { transform: translate(-50%, -50%) scale(2.5); opacity: 0; } }