* { box-sizing: border-box; } body { font: 18px/1.5 "Helvetica", "Arial", sans-serif; margin: 0 0 4rem 0; padding: 0 10px; } h1,h2,h3,h4,h5,h6 { line-height: 1.2; } header,main,footer { margin: 0 auto; max-width: 800px; width: 100%; } a,a:visited { color: currentColor; } a:hover,a:focus { color: blue; } ul { list-style: none; margin: 3rem 0 0 0; padding: 0; } ul li { background: rgba(0,0,0,0.05); line-height: 1; margin: 0 0 0.5rem 0; padding: 15px 10px 12px; position: relative; } ul li span.before, ul li span.after { left: 0; position: absolute; top: 0; } ul li span.before { background: rgba(0,0,0,0.1); height: 100%; width: calc(var(--data-size)/1000 * 100%); z-index: 0; } ul li span.after { left: auto; opacity: 0.6; right: 10px; top: auto; } ul li a { font-weight: bold; position: relative; z-index: 2; } blockquote { background: blanchedalmond; border-left: 10px solid burlywood; margin: 3rem 0 2rem; padding: 20px; } blockquote p { margin: 0; } main h3 { margin-top: 3rem; padding-top: 1rem; } footer { border-top: 1px solid lightgrey; margin: 3rem auto 0; padding: 0.5rem 0 0; } footer p { font-size: 85%; } @media(max-width:500px) { body { font: 16px/1.5 "Helvetica", "Arial", sans-serif; margin: 0 0 4rem 0; padding: 0 10px; } }