body {
    background-color: #f8f9fa;
}

h1 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.calendar .row:first-child .col {
    background-color: #007bff;
    color: white;
    font-weight: bold;
}

.calendar .row:not(:first-child) .col {
    background-color: #e9ecef;
}

.calendar .col {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.deco-border {
  position: relative;
  padding: 40px;
}

/* Outer gold border */
.deco-border::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #d4af37;
  pointer-events: none;
}

/* Inner black border */
.deco-border::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid #000;
  pointer-events: none;
}

/* Corner scrollwork base style */
.deco-border .corner {
  position: absolute;
  width: 20px;
  height: 20px;
  pointer-events: none;
}

.deco-border .corner::before,
.deco-border .corner::after {
  content: "";
  position: absolute;
  background: #d4af37;
}

/* Horizontal gold bar */
.deco-border .corner::before {
  height: 2px;
  width: 12px;
  top: 0;
  left: 0;
}

/* Vertical gold bar */
.deco-border .corner::after {
  width: 2px;
  height: 12px;
  top: 0;
  left: 0;
}

/* Corner placements */
.deco-border .tl { top: 0; left: 0; transform: translate(6px,6px); }
.deco-border .tr { top: 0; right: 0; transform: translate(-6px,6px) rotate(90deg); }
.deco-border .br { bottom: 0; right: 0; transform: translate(-6px,-6px) rotate(180deg); }
.deco-border .bl { bottom: 0; left: 0; transform: translate(6px,-6px) rotate(270deg); }