* { box-sizing: border-box; } /* Dark theme */ :root { --text-color: #fff; --text-color-alt: rgba(255 255 255 / 50%); --text-shadow-color: rgba(0 0 0 50%); --bg-color: #333; --bg-color-2: #222; } /* Light Theme */ @media (prefers-color-scheme: light) { :root { --text-color: #333; --text-color-alt: rgba(0 0 0 50%); --text-shadow-color: rgba(255 255 255 50%); --bg-color: #f7f7f7; --bg-color-2: #f7f7f7; } } :root { --underline-color: var(--text-color); } html, body { height: 100%; margin: 0; padding: 0; } body { background-color: var(--bg-color); background-image: radial-gradient(var(--bg-color), var(--bg-color-2)); color: var(--text-color); display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: center; -webkit-box-pack: center; flex-direction: column; justify-content: space-between; align-items: center; /* Always show scroll bar, cause otherwise menu shifts around */ overflow-y: scroll; /* Font list taken from Bootstrap */ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-weight: 300; text-shadow: 0 0.05rem 0.1rem var(--text-shadow-color); } h1, h2, h3, h4 { font-weight: 500; line-height: 1.2; margin-top: 0; margin-bottom: 0.5rem; padding: 0; text-align: center; } p.lead { margin-top: 0; } a { border-bottom: 1px solid currentcolor; text-decoration: none; } a, a:focus, a:hover { color: var(--text-color); } a:hover { border-bottom: 2px solid currentcolor; } .main-header { /* Otherwise the main content header gets too close to the menu */ margin-bottom: 1rem; width: 100%; } .main-header nav { display: flex; flex-direction: row; width: 100%; justify-content: space-around; padding-top: 1rem; } .main-header .nav-link { display: block; font-weight: 700; color: var(--text-color-alt); background-color: transparent; border-bottom: 0.25rem solid transparent; text-decoration: none; padding-top: 0.5rem; padding-bottom: 0.5rem; } .main-header .nav-link:hover { border-bottom-color: var(--text-color-alt); } .main-header .nav-link:focus, .main-header .active, .main-header .active:hover { color: var(--text-color); border-bottom-color: var(--underline-color); outline: 0; } #content { text-align: center; max-width: 40rem; } .main-footer { margin-top: 1rem; color: var(--text-color-alt); font-size: 0.9em; text-align: center; } .main-footer a:not(:hover) { color: var(--text-color-alt); border-bottom: none; } .skills { display: grid; grid-template-columns: 1fr; } .skillgroup { max-width: 20rem; margin: 0 auto; margin-bottom: 0.5rem; } .skillgroup ul { padding: 0 0.5rem; } .projects { text-align: center; padding: 0; } .projects h3 { margin-bottom: 0; } .projects li { list-style: none; margin-bottom: 2.5rem; text-align: center; } .project-links { font-style: italic; text-align: center; margin-top: 0.15rem; margin-bottom: 0.5rem; font-size: 0.75rem; } .marginizer { margin-top: 3rem; margin-bottom: 3rem; } @media (min-width: 40rem) { .main-header .nav-link { padding-right: 1rem; padding-left: 1rem; display: inline; } .main-header nav { display: block; } .main-header { width: auto; } .skills { grid-template-columns: 1fr 1fr; } }