$mainGreen: #2b762f; $darkerGreen: darken($mainGreen, 5); $mainGrey: #0F0F0F; @mixin top-level-padding { padding: 0 16px; @media all and (max-width: 400px) { padding: 0 8px; } } * { box-sizing: border-box; } button { &.link { all: unset; text-decoration: underline; color: $mainGreen!important; cursor: pointer; } } a { color: $mainGreen!important; } body { font-family: 'Ubuntu', sans-serif; text-align: left; font-weight: 300; font-size: 16px; line-height: 1.4; background: white; color: $mainGrey; display: flex; height: 100%; min-height: 100vh; flex-direction: column; align-items: center; justify-content: space-between; margin: 0; .main-width { width: 100%; max-width: 800px; margin: auto; } h1, h2, h3, h4, h5, h6 { font-family: "Roboto Slab", serif; font-weight: 300; line-height: 1.3; } h1 { font-size: 42px; } h2 { font-size: 32px; } h3 { font-size: 22px; } h4 { font-size: 18px; } .main-width { width: 100%; max-width: 800px; } header { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: $mainGrey; color: white; h1 { margin: 8px 16px; display: flex; flex-direction: column; align-items: flex-start; } } main { @include top-level-padding; margin-bottom: 32px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding-top: 16px; padding-bottom: 16px; gap: 32px; .datetime { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 8px; p { margin: 0; } } .weather { display: flex; flex-direction: column; align-items: center; justify-content: space-between; .forecast-per-hours { // background: white; // color: black; width: 100%; max-width: 100vw; padding: 8px; overflow-x: auto; table { text-align: center; table-layout: auto; border-collapse: collapse; th,td { border: grey dashed 1px; width: fit-content; min-width: fit-content; padding: 0px 2px; } .weather-code { td { width: 50px; height: 50px; img { position: relative; top: 2px; width: 50px; height: 50px; background: radial-gradient(closest-side, #BBB, white); @media all and (prefers-color-scheme: dark) { background: radial-gradient(closest-side, #AAA, black); } } } } } } } .links { width: fit-content; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; list-style: none; gap: 16px; margin: 0; padding: 0; li { } } } } @media all and (prefers-color-scheme: dark) { body { background: $mainGrey; color: white; header { background: $darkerGreen; color: white; } a { color: white!important; } } }