:root { --main-bg-color: #282c37; --calendar-bg-color: #eee; --lines-color: black; --day-number: black; --day-number2: red; --today-foreground: white; --today-circle: red; --event-background: orange; --event-foreground:white; --title-text: #282c37; --title-background: #ccc; } body { background-color: var(--main-bg-color); color: var(--day-number2); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-family: 'Montserrat'; font-weight: 700; min-height: 100vh; } main { background-color: var(--calendar-bg-color); -ms-flex-preferred-size: 980px; flex-basis: 980px; } .calendar { table-display: fixed; width: 100%; } .calendar__day__header, .calendar__day__cell { border: 2px solid var(--lines-color); text-align: center; width: 100% / 7; vertical-align: middle; } .calendar__day__header:first-child, .calendar__day__cell:first-child { border-left: none; } .calendar__day__header:last-child, .calendar__day__cell:last-child { border-right: none; } .calendar__day__header, .calendar__day__cell { padding: .75rem 0 1.5rem; } .calendar__banner--month { text-align: center; padding: .75rem; } .calendar__banner--month h1 { background-color: var(--title-background); color: var(--title-text); display: inline-block; font-size: 3rem; font-weight: 400; letter-spacing: 0.1em; padding: .5rem 2rem; text-transform: uppercase; } .calendar__day__header { font-size: 1rem; letter-spacing: 0.1em; text-transform: uppercase; } .calendar__day__cell { font-size: 4rem; position: relative; } tr:nth-child(odd) > .calendar__day__cell:nth-child(odd) { color: var(--day-number); } tr:nth-child(even) > .calendar__day__cell:nth-child(even) { color: var(--day-number); } .calendar__day__cell[data-event] { background-color: var(--event-background); color: var(--event-foreground); } .calendar__day__cell[data-event]:after { content: attr(data-event); color: var(--day-number); display: block; font-weight: 400; font-size: 5rem; position: absolute; bottom: 0; width: 100%; height: 5rem; text-transform: uppercase; } .calendar__day__cell[data-today] { border-radius: 50%; border: 4px solid var(--today-circle); color: var(--today-circle); text-align: center; } .calendar__day__cell[data-today-event] { border-radius: 50%; background-color: var(--event-background); border: 4px solid var(--today-circle); color: var(--event-foreground); text-align: center; } .calendar__day__cell[data-today-event]:after { content: attr(data-today-event); color: var(--day-number); display: block; font-weight: 400; font-size: 5rem; position: absolute; bottom: 0; width: 100%; height: 5rem; text-transform: uppercase; } .buttonprev { float: left; width: 10%; -ms-transform: translateY(30%); transform: translateY(30%); } .buttonnext { float: right; width: 10%; -ms-transform: translateY(30%) scaleX(-1); transform: translateY(30%) scaleX(-1); }