body { font-family: sans-serif; margin: 0 auto; padding: 1rem 0 0 1.5rem; background: #374757; background: linear-gradient(135deg, #270000 0%, #001000 20%, #172737 100%) fixed; color: #e7e7e7; max-width: 40rem; } h2 { margin: 0 0; } .date { display: inline-flex; flex-flow: column nowrap; border: 1px solid black; background-color: #ffffff; color: #444; font-weight: 900; width: 4rem; margin-left: -1.5rem; text-align: center; width: 4rem; } /* saturday */ .date.wd5 { color: #999; } /* sunday */ .date.wd6 { color: #d33; } .date .day { align-self: center; font-size: 140%; } .date .month { align-self: center; font-size: 50%; font-variant-caps: small-caps; } .weekday { padding-left: 1rem; } article { background-color: #f7f7f7; color: #222; margin: 0; padding: 0.8rem 0 0.8rem 1rem; clear: both; line-height: 1.3rem; min-height: 3.5rem; } article p { margin: 0 0; } a { text-decoration: none; color: #000; } h3 { margin: 0; } h3 a { color: #222; } .time { position: absolute; transform: translate(-2.62rem, 3.8rem) rotate(270deg); width: 3.5rem; text-align: right; transform-origin: top left; color: #F7F7F7; font-weight: 500; font-size: 85%; line-height: 1.5rem; } .recurrence { color: #E7E7E7; font-weight: bold; font-size: 120%; padding-right: 0.5rem; } .location { margin-top: 0.5rem; line-height: 1.1em; min-height: 1.1em; } footer { text-align: center; } footer p { margin: 1rem 0 0; } footer a { color: #F7F7F7; text-decoration: none; font-size: 85%; font-weight: 500; }