html { scroll-padding: 10px; } body { display: flex; flex-wrap: wrap; overflow-Y:scroll; } .banner { background: #23332a url(img/bg/vine.png); flex: 1; height: 100vh; position: sticky; top:0; } main { flex: 1.65; padding: 0 max(2.5vw,1rem) max(1.5vw,1rem) max(2.5vw,1rem); min-width: 360px; background: #eee; } header { margin: 0; border-bottom: 2px dotted; background: #eee; padding: 2px 0 0 0; position: relative; z-index: 2; } h1 { margin: calc(1vw + 2rem) 0 1rem 0; } p, li, .flex { max-width: 70rem; } sup { line-height: 0; } u { color: teal; text-decoration: underline; text-underline-offset: 2px; } .flex { display: flex; flex-wrap: wrap; gap: 10px; margin: 1rem 0; } .flex:has(.rss) { gap: 0 2rem; } .flex.linky > div, .flex.linky > a { flex: 1 1 20%; padding: 10px; text-align: center; } .flex.linky h2, .flex.linky p { margin: 10px; line-height: 1; text-align: center; } .flex.linky p { font-size: 90%; color: black; display: inline-block; margin-top: 0; } .flex.linky a:hover p, .flex.linky a:focus p { color: inherit; } .flex.linky a:has(img) p { margin: 6px auto; } .rss { flex: 2.5; min-width: 250px; } .rss > h2, .rss > p { display: inline-block; margin-right: 10px; } #news { max-height: 50vh; overflow: auto; } .col { flex: 1; min-width: 200px; } .col dl { margin-bottom: 2rem; } .col h2 + p { margin-top: -0.5rem; } .map ul { position: relative; list-style-type: none; margin: 0 0 10px 0; padding-right: 0; } .map ul ul { margin: 0 0 7px -5px; padding-right: 0; } .map li { position: relative; padding: 0 0 0 25px; line-height: 1.4; } .map li::before{ content: " "; position: absolute; border-top: 2px solid silver; width: 30px; top: 10px; left: -10px; } .map li::after{ content: " "; position: absolute; border-left: 2px solid silver; height: calc(100% + 10px); top: 0; left: -10px; } .map > ul > li { font-size: 125%; } .map > ul > li::before { top: 12px; } .map ul li:last-child::after { height: 12px; } .grid { display: grid; grid-template-columns: min-content auto; } .grid li::marker, .grid h2 { color: teal; } .grid h2, .grid li { font-size: 1rem; line-height: 1; } .grid h2 { padding-top: 2px; } .grid li { margin: 0 0 3px 0; } .grid span { font-size: 80%; background: rgb(0,15,15,0.05); padding: 3px 3px 2px 3px; } .left { float: left; margin-bottom: 9px; margin-right: 9px; } .right { float: right; margin-bottom: 9px; margin-right: 9px; } .ribo { float:right; margin-left:1rem; max-width:25%; } @media (min-width:1170px) { header { position:sticky; top: 0; } html{ scroll-padding: 5rem; } } @media (max-width:1146px) { .flex.linky > div, .flex.linky > a { flex: 1 1 48%; } .rss > h2, .rss > p { display: block; margin-right: 0; } .rss > p { text-align: center; } } @media screen and (max-width:904px) { .flex.linky { gap: 5px; } } @media(max-width:600px) { .grid li { font-size: 0.9rem; } .grid ul { padding-left: 10px; } .grid h2 { font-size: 0.75rem; line-height: 1rem; padding-top: 1px; } } @media (max-width:540px) { .narrow { display: block; } .flex.linky > div, .flex.linky a { padding: 5px; font-size: 90%; } .flex.linky a:has(img) p:last-child { display: none; } #news.border { padding: 5px 18px; } .map li { padding: 0 0 0 10px; } .map li::before { width: 15px; } } @media (max-width:360px) { .banner { display: none; } main { min-width: 100%; } } @media (prefers-color-scheme:dark) { main, header { background: url('microscopy/bg.png'); } .grid li::marker, .grid h2 { color: teal; } .ribo { filter: invert(0.9); } .grid span { background: rgb(0,10,10,0.5); } .grid li::marker, .grid h2 { color: cadetblue; } .flex.linky p { color: #eee; } u { color: #b2d7c1; } } @media print { .banner { display: none; } }