:root { --top-height: 70px; --footer-height: 50px; --theme-aside-background-color: #233242; --theme-footer-background-color: #233242; } @font-face { font-family: 'rubik-regular'; src: url('../fonts/rubik-regular.woff2') format('woff2'); } @font-face { font-family: 'rubik'; src: url('../fonts/rubik-variablefont_wght.woff2') format('woff2'); } .theme-light { --theme-aside-background-color: beige; --theme-footer-background-color: beige; } html { font-size: 14px; font-family: rubik; font-weight: 100; } html { display: grid; min-height: 100%; } body { display: grid; margin: 0; } body { overflow-x: hidden; margin: 0; color: #6a7a8c; background: #f2f4f5; position: relative } .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: .5rem; font-weight: 400; line-height: 1.2; color: var(--bs-heading-color, inherit); } .h1, h1 { font-size: calc(1.35rem + 1.2vw) } @media (min-width: 1200px) { .h1, h1 { font-size: 2.25rem } } .h2, h2 { font-size: calc(1.3125rem + .75vw) } @media (min-width: 1200px) { .h2, h2 { font-size: 1.875rem } } .h3, h3 { font-size: calc(1.275rem + .3vw) } @media (min-width: 1200px) { .h3, h3 { font-size: 1.5rem } } .h4, h4 { font-size: 1.125rem } .h5, h5 { font-size: 1rem } .h6, h6 { font-size: .875rem } swp-container { display: grid; grid-template-columns: 250px 1.3fr; grid-template-rows: var(--top-height) 1000px var(--footer-height); gap: 0px 0px; grid-auto-flow: row; grid-template-areas: "aside top" "aside main" "aside footer"; } aside { grid-area: aside; background-color: var(--theme-aside-background-color); position: sticky; top: 0; height: 100vh; display: grid; grid-template-rows: var(--top-height) auto; } aside aside-top { background-color: var(--theme-background-color); overflow: hidden; justify-self: center; } aside aside-top img { transform: scale(0.7); } aside nav { margin-top: 50px; } aside nav ul { display: grid; margin-block-start: 0px; padding-inline-start: 0px; grid-auto-rows: 50px; justify-items: stretch; align-items: stretch; } aside nav li { align-content: center; color: #fff; padding-inline: 12px 15px; border-left: 2px solid transparent; } aside nav li:hover { background: rgba(0, 0, 0, .1); border-left: 2px solid #137eff; } main { grid-area: main; background-color: lightgray; } top { grid-area: top; background-color: #f2f4f5; position: sticky; top: 0; z-index: 1; box-shadow: 0 2px 4px rgb(200, 200, 200, 0,15); } footer { grid-area: footer; background-color: var(--theme-footer-background-color); }