body { font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; margin: 1em; } #header { background-color: #eee; margin-bottom: 1em; text-align: center; } h1 { margin: 0; line-height: 1.5; } #links { background-color: #e0e0e0; display: table; width: 100%; height: 1.5em; } #links > a { display: table-cell; vertical-align: middle; width: 20%; color: #000; text-decoration: none; } #links > a:hover, #links > a:focus { background-color: #ccc; font-weight: bold; } a.screenshot { display: block; width: 640px; max-width: 100%; margin: auto; } a.screenshot > img { width: 100%; } @media (min-width: 1120px) { a.screenshot { float: right; margin: 0 0 1em 1em; } } span.hover { display: none; } a:hover + span.hover { display: block; position: fixed; top: 0; bottom: 0; left: 0; right: 0; pointer-events: none; background: rgba(0, 0, 0, 0.4); } span.hover > img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: auto; height: auto; max-width: 100%; max-height: 100%; box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.4); } @media (max-width: 960px) { a.screenshot:hover + span.hover { display: none; } } @supports not (pointer-events: auto) { a[href$='.png'] { position: relative; } a[href$='.png']::after { content: ' '; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 1; } } h2 ~ p, h2 ~ p + ul, input + div, div > h3 ~ * { margin-left: 1em; } input + div { margin-top: 1em; margin-bottom: 1em; margin-left: 1em; } h3 { display: inline; } input:checked + div > h3 ~ * { display: none; }