:root, .light { --body-bg: white; --text-color: #222; --text-color-muted: #7087a0; --header-bg: rgba(118, 179, 194, 0.11); --header-border-color: #ebf0f2; --topbar-link-color-hover: black; --topbar-link-bg-hover: rgb(244, 249, 251); --main-nav-link-color: #546c75; --main-nav-link-hover-color: #01324b; --link-color: #0097f2; --link-decoration-color: #ddd; --link-hover-color: rgb(27, 170, 70); --heading-color: var(--text-color); --code-bg: #f2f8f9; --dropdown-bg: #e8ecef; --dropdown-linkbox: white; --dropdown-link-title-color: #384f61; --dropdown-link-color: #647687; --dropdown-link-hover-bg: rgb(239, 244, 248); --dropdown-link-hover-color: #142633; --dropdown-featured-bg: linear-gradient(to bottom, rgb(239 244 247), transparent); --dropdown-featured-hover-bg: rgb(223, 233, 238); /* rgb(232, 255, 254); */ --dropdown-shadow-color: rgb(0 0 0 / .25); --box-bg: var(--header-border-color); } .dark { --body-bg: #0d171a; --text-color: #cbe2e4; /* #a4c0c2 */ --header-bg: rgba(44, 130, 164, 0.11); --header-border-color: transparent; --topbar-link-color-hover: white; --topbar-link-bg-hover: rgb(255 255 255 / .1); --main-nav-link-color: #86a7b1; --main-nav-link-hover-color: #e2e9ec; --link-color: #34a1e4; --link-decoration-color: #375862; --link-hover-color: rgb(42, 228, 98); --heading-color: #dee8ee; --code-bg: #1f3237; --dropdown-bg: #152125; /* #34414b; */ --dropdown-linkbox: #1d2c32; --dropdown-link-title-color: #f0f3f5; --dropdown-link-color: #9ebeca; --dropdown-link-hover-color: white; --dropdown-link-hover-bg: rgb(30, 48, 63); --dropdown-featured-bg: linear-gradient(to bottom, rgb(46, 58, 66), transparent); --dropdown-featured-hover-bg: rgb(64, 82, 92); --dropdown-shadow-color: black; --box-bg: var(--header-bg); } .dark #logo-light, .dark-header #logo-light, #logo-dark { display: none; } .dark #logo-dark, .dark-header #logo-dark { display: initial; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Inter, Figtree, Gantari, 'Albert Sans', Inter, system-ui; font-size: 18px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; tab-size: 4; background-color: var(--body-bg); color: var(--text-color); background-image: radial-gradient(at calc(50% - min(25vw, 800px)) -10%, hsl(137.64deg, 100%, 92.42%) 0px, transparent min(15%, 500px)), radial-gradient(at calc(50% + min(25vw, 800px)) -10%, hsl(201.2deg, 68%, 90.2%) 0px, transparent min(15%, 500px)); } /* TODO: clean this up */ .dark body { background-image: radial-gradient(at calc(50% - min(35vw, 700px)) -10%, hsl(129.5deg, 100%, 12.4%) 0px, transparent min(25%, 600px)), radial-gradient(at calc(50% + min(35vw, 700px)) -10%, hsl(201deg, 100%, 19.33%) 0px, transparent min(25%, 600px)) } main a { color: var(--link-color); text-decoration-line: underline; text-decoration-thickness: 2px; text-underline-offset: 2px; text-decoration-color: var(--link-decoration-color); transition: all .15s; } main a:hover { color: var(--link-hover-color); text-decoration-color: var(--link-color); } b, strong { font-weight: 600; } code { font-family: 'JetBrains Mono', 'Chivo Mono', monospace; font-feature-settings: "liga" 0; /* prevent the merging of chars like "fi", relevant for Chivo Mono especially */ } .wrapper { max-width: 1400px; margin-left: auto; margin-right: auto; padding-left: 50px; padding-right: 50px; } header { background: var(--header-bg); position: relative; z-index: 99; } header a { text-decoration: none; } header nav>ul { background: linear-gradient(to right, rgb(100 190 121), rgb(54 206 255)); background-clip: text; -webkit-background-clip: text; } .topbar { font-size: 12px; border-bottom: 1px solid hsl(203deg 100% 79% / 20%); } .topbar .wrapper { display: flex; justify-content: flex-end; align-items: center; gap: 1em; color: #777; } .topbar a { display: inline-block; padding: 10px 10px 8px; color: #719bcc; display: flex; align-items: center; } .topbar a:hover { background: var(--topbar-link-bg-hover); color: var(--topbar-link-color-hover); } .navbar { display: flex; align-items: center; gap: 2em; } .navbar .actions, .navbar nav ul { flex-wrap: wrap; } header nav ul { list-style: none; margin: 0; padding-left: 0; display: flex; align-items: center; flex: 1; } .navbar nav>ul>li>a { -webkit-text-fill-color: rgba(0 0 0 / .1); } .navbar nav>ul>li>a:hover { -webkit-text-fill-color: rgba(255 255 255 / .4); } .navbar nav { position: relative; } .navbar nav>ul>li>a, .navbar .button { text-decoration: none; transition: all 200ms; font-weight: 500; } .navbar nav>ul>li>a { padding: 20px 1.5em; display: block; font-family: Figtree, system-ui; font-size: 16px; } .navbar .button { font-size: 80%; } .icon { height: 1.4em; vertical-align: middle; } .logo { height: 2.25em; } .navbar .actions { margin-left: auto; display: flex; gap: 1em; } button, .button { padding: .6em 1.5em; border-radius: 6px; text-decoration: none; background: none; cursor: pointer; /* necessary for hoversplash: */ position: relative; overflow: hidden; display: flex; align-items: center; } button.primary, .button.primary { background: linear-gradient(135deg, white 25%, rgba(167, 183, 193) 80%); color: #222; font-weight: bold; border: none; } button.primary:hover, .button.primary:hover { color: #1a71cb; } button:active, .button:active { transition: all 75ms; transform: scale(.95); box-shadow: 1px 1px 3px inset rgba(0, 0, 0, 0.2); } @keyframes hoverSplash { 0% { opacity: 1; transform: translate3d(-50%, -50%, 0) scale3d(0, 0, 1); } 100% { opacity: 0; transform: translate3d(-50%, -50%, 0) scale3d(1, 1, 1); } } .hover-splash { pointer-events: none; position: absolute; /* z-index: 1; */ width: 200%; height: 0; padding-bottom: 200%; border-radius: 50%; /* transform: translate3d(-50%,-50%,0) scale3d(0,0,1); */ animation: 1s cubic-bezier(.16, 1, .3, 1) hoverSplash; } button .hover-splash, .button .hover-splash { background-color: rgba(24, 156, 233, 0.6); } button.primary .hover-splash, .button.primary .hover-splash { background-color: rgba(255, 255, 255, 0.6); } .dropdown { font-size: 16px; position: absolute; display: inline-block; background: var(--dropdown-bg); border-radius: 15px; line-height: 1.5; overflow: hidden; box-shadow: 0 50px 75px var(--dropdown-shadow-color); visibility: hidden; top: calc(100% - 5px); left: 0; } .dropdown-trigger:hover .dropdown { visibility: visible; transform-origin: top left; animation: rotateMenu 300ms ease; } @keyframes rotateMenu { 0% { transform: rotateX(-90deg) scale(0.75); opacity: 0; } 100% { transform: rotateX(0deg) scale(1); opacity: 1; } } .dropdown .row { display: flex; gap: 1px; margin-bottom: 1px; } .dropdown .plainbox, .dropdown .linkbox { display: flex; gap: 4em; padding: 1.5em; } .dropdown .plainbox { padding-top: .5em; width: 100%; justify-content: space-around; } .dropdown .plainbox a { color: var(--dropdown-link-color); } .dropdown .plainbox a:hover { color: var(--dropdown-link-hover-color); } .dropdown .linkbox { background: var(--dropdown-linkbox); gap: 4em; } .dropdown .links-header { font-family: Poppins, ui-rounded; font-weight: 600; color: var(--dropdown-link-title-color); font-size: 18px; margin-bottom: 5px; } .dropdown .col { min-width: 150px; } .dropdown .col a { display: block; color: var(--dropdown-link-color); text-decoration: none; padding: 5px 0; } .dropdown .col a:hover { color: var(--dropdown-link-hover-color); } .dropdown .flatlinks a, .dropdown .featured a { transition: background-color 150ms; font-size: 12px; } .dropdown .flatlinks a { background: var(--dropdown-linkbox); padding: 1em 2em; color: var(--dropdown-link-color); } .dropdown .flatlinks a b, .dropdown .featured a b { display: block; font-size: 16px; font-weight: 600; } .dropdown .flatlinks a b { color: var(--dropdown-link-title-color); margin-bottom: .25em; } .dropdown .flatlinks a:hover { /* background: rgb(239, 244, 248); */ background: var(--dropdown-link-hover-bg); } .dropdown .featured a b { color: var(--dropdown-link-title-color); margin-bottom: .5em; } .dropdown .featured a:hover b { color: var(--dropdown-link-hover-color); } .dropdown .featured { gap: 1em; padding: 1em; /* background: white; */ } .dropdown .featured a { display: block; padding: 1em; line-height: 1.4; border-radius: 10px; color: var(--dropdown-link-color); background-color: var(--dropdown-linkbox); background-image: var(--dropdown-featured-bg); /* background-image: linear-gradient(to bottom, rgb(239 244 247), rgba(252,252,252,0)); */ /* background: linear-gradient(137deg, rgb(241 251 247) 0%, rgb(242 248 255) 100%); */ flex: 1; box-shadow: 0 1px 2px rgb(0 0 0 / .2); } .dropdown .featured a:hover { background-color: var(--dropdown-featured-hover-bg); } .dropdown .featured a b { display: block; color: var(--dropdown-link-title-color); font-size: 16px; margin-bottom: .5em; font-weight: 600; } #current-theme { text-transform: capitalize; } @media (max-width: 1150px) { .dropdown { display: none; } .wrapper { padding-left: 20px; padding-right: 20px; } } @media (max-width: 950px) { header nav ul { justify-content: space-evenly; } .topbar .wrapper { justify-content: center; flex-wrap: wrap; gap: 0; } .logo { height: 3em; } .navbar { flex-direction: column; gap: 0; padding: 1em 0; } .navbar nav { margin: .5em 0; } .navbar .actions { margin: 0 auto; } .navbar nav > ul > li > a { padding-top: 10px; padding-bottom: 10px; } }