.container {
    /* Center the clock in the viewport */
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.clock {
    /* Circle shape with border */
    width: 400px;
    height: 400px;
    border: 2px solid black;
    border-radius: 50%;
    font-family: Gotham Rounded, sans-serif;
    position: relative;
    background: ghostwhite;
}

.clock .number {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 1.5rem;
}

.clock .number1 {
    transform: rotate(30deg);
}

.clock .number2 {
    transform: rotate(60deg);
}

.clock .number3 {
    transform: rotate(90deg);
}

.clock .number4 {
    transform: rotate(120deg);
}

.clock .number5 {
    transform: rotate(150deg);
}

.clock .number6 {
    transform: rotate(180deg);
}

.clock .number7 {
    transform: rotate(210deg);
}

.clock .number8 {
    transform: rotate(240deg);
}

.clock .number9 {
    transform: rotate(270deg);
}

.clock .number10 {
    transform: rotate(300deg);
}

.clock .number11 {
    transform: rotate(330deg);
}

.clock .hand {
    /* Use CSS custom property --rotation set by JS */
    --rotation: 0;
    position: absolute;
    left: 50%;
    bottom: 50%;
    background-color: black;
    border: 1px solid black;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    width: 10px;
    height: 50%;
    transform: translateX(-50%) rotate(calc(var(--rotation)*1deg));
    transform-origin: bottom;
}

.clock .hand.hour {
    width: 10px;
    height: 35%;
}

.clock .hand.minute {
    width: 7px;
    height: 40%;
}

.clock .hand.second {
    width: 3px;
    height: 45%;
    background-color: red;
}