:root {
    --countdown-time-a: 1500s;

    /* Default to 25 minutes */
    --countdown-time-b: 300s;

    /* Default to 5 minutes */
    --start-time: "00:00";

    /* Default to midnight */
    --no-meetings-enabled: false;

    /* Default no meetings period disabled */
    --no-meetings-start-time: "00:00";

    /* Default no meetings start time */
    --no-meetings-end-time: "00:00";

    /* Default no meetings end time */
    --lunch-break-enabled: false;

    /* Default lunch break disabled */
    --lunch-start-time: "12:00";

    /* Default lunch start time to 12:00 PM */
    --lunch-end-time: "13:00";

    /* Default lunch end time to 1:00 PM */

    /* Show connection status */
    --show-connection-status: false;
}

body,
html {
    margin: 0;
    padding: 0;
    font-family: 'Arial', sans-serif;
    background-color: #f4f4f4;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    overflow: hidden;

    /* Prevent scrolling */
}

.timer-frame {
    position: relative;
    background-color: #fff;
    width: 90%;
    height: 90%;
    max-width: 1280px;
    max-height: 960px;

    /* 4:3 aspect ratio */
    padding: 10px;

    /* Add padding around the content */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.timer-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0px;

    /* Ensure padding within the timer-content */
    box-sizing: border-box;
}

.logo {
    position: absolute;
    left: 0px;
    height: auto;
    cursor: pointer;
    user-select: none;
}

.meeting-text {
    font-size: 2vw;
    font-weight: bold;
    color: #333;
    margin-bottom: 0px;
    display: none;

    /* Hide by default */
}

.timer {
    font-size: 90%;

    /* Make the main timer font size larger */
    font-weight: bold;
    color: #333;
    font-family: 'Arial', sans-serif;
    width: 100%;
    text-align: center;
    margin-top: 0px;

    /* Ensure there is space for the logo */
}

.timer-b {
    color: #8B0000;
}

.lunch-timer {
    color: #006400;
}

.no-meetings-timer {
    color: #808080;
}

.time-display {
    /* Adjust font size for the start and end time displays */
    color: #666;
    margin-bottom: 0px;
    font-weight: bold;
    position: absolute;
}

.time-display.top-right {
    top: 30px;
    right: 10px;
    font-size: 4vw;
}

.time-display.bottom-left {
    bottom: 30px;
    left: 10px;
}

.time-display.bottom-right {
    bottom: 30px;
    right: 10px;
    font-size: 4vw;
}

/* Connection status indicator */
.connection-status {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 1.5vw;
    font-weight: bold;
    opacity: 0.9;
    transition: all 0.3s ease;
}

.connection-status.online {
    background-color: #4CAF50;
    color: white;
}

.connection-status.offline {
    background-color: #FF9800;
    color: white;
}

/* Refresh button (hidden by default) */
.refresh-btn {
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, 50%);
    padding: 15px 30px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 2vw;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    z-index: 1000;
}

.refresh-btn:hover {
    background-color: #0056b3;
    transform: translate(-50%, 50%) scale(1.05);
}

.refresh-btn:active {
    transform: translate(-50%, 50%) scale(0.95);
}

/* Ensure all elements within the frame scale down appropriately */
@media (max-width:1400px),(max-height:960px) {
}

.timer-frame {
    /* padding: 10px */
}

.timer-content {
    width: calc(100% - 20px);

    /* Adjust width for padding */
    height: calc(100% - 20px);
    left: px;
    top: px;
    bottom: px;
    right: px;
    position: relative;

    /* Adjust height for padding */
}

.logo {
    top: 0px;
    max-width: 30%;
}

.meeting-text {
    font-size: 3vw;
}

.timer {
    font-size: 30vw;

    /* Adjust for smaller screens */
}

.time-display.top-right,
.time-display.bottom-left,
.time-display.bottom-right {
    font-size: 2vw;
}

.connection-status {
    font-size: 2vw;
}

.refresh-btn {
    font-size: 2.5vw;
    padding: 10px 20px;
}
