body {
        font-family: 'Roboto', sans-serif;
        background-color: #f9f9f9;
        margin: 0;
        padding: 0;
        color: #333;
        line-height: 1.6;
    }

    header, main, footer {
        max-width: 900px;
        margin: 40px auto;
        padding: 20px;
        background-color: #fff;
        border-radius: 8px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }

    header h1, main h2, p, table {
        margin: 0 0 20px 0;
    }

    header h1 {
        font-size: 2.5em;
        color: #202124;
        margin-bottom: 24px;
        text-align: center;
        border-bottom: 1px solid #e0e0e0;
        padding-bottom: 16px;
    }

    main h2 {
        font-size: 1.75em;
        color: #202124;
        margin-top: 32px;
        border-bottom: 1px solid #e0e0e0;
        padding-bottom: 8px;
    }

    p {
        font-size: 1.15em;
        color: #5f6368;
    }

    /* Buttons */
    button {
        background-color: #1a73e8;
        color: #fff;
        padding: 10px 20px;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        font-size: 1em;
        transition: background-color 0.3s ease;
    }

    button:hover {
        background-color: #155ab6;
    }

    /* Table Styling */
    table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
        display: none; /* Hide all tables by default */
    }

    th, td {
        padding: 12px;
        text-align: left;
        border-bottom: 1px solid #e0e0e0;
    }

    th {
        background-color: #f1f3f4;
        font-weight: bold;
        color: #3c4043;
    }

    td {
        color: #202124;
    }

    /* Interactive Elements */
    .table-header {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: #f1f3f4;
        padding: 12px;
        border-radius: 4px;
        margin-bottom: 10px;
        font-size: 1.25em;
        color: #202124;
        font-weight: bold;
    }

    .arrow {
        font-size: 1.5em;
        color: #5f6368;
        transition: transform 0.3s ease;
    }

    .expanded .arrow {
        transform: rotate(90deg);
    }

    .holiday-date, .upcoming-holiday {
        color: #1a73e8; /* Google blue */
    }

    .days-left {
        color: #d93025; /* Google red */
    }

    .past-holiday {
        color: #5f6368; /* Google grey */
    }

    footer {
        text-align: center;
        font-size: 0.9em;
        color: #5f6368;
    }

    footer p {
        margin: 4px 0;
    }

    footer a {
        color: #1a73e8;
        text-decoration: none;
    }

    footer a:hover {
        text-decoration: underline;
    }

    dl {
        margin: 0 0 20px 0;
        padding: 0;
    }

    dt {
        font-weight: bold;
        color: #202124;
        margin-bottom: 4px;
    }

    dd {
        margin: 0 0 12px 0;
        padding-left: 20px;
        color: #5f6368;
    }

    ol, ul {
        list-style: none;
        padding-left: 0;
    }

    li {
        font-weight: bold;
        color: #202124;
        margin-bottom: 4px;
    }

    li h3 {
        font-size: 1.2em;
        margin-bottom: 8px;
    }

    li p {
        font-size: 1em;
        margin-top: 0;
    }
