mirror of
https://github.com/kristoferssolo/kristofersxyz.git
synced 2025-10-21 18:30:34 +00:00
153 lines
3.2 KiB
CSS
153 lines
3.2 KiB
CSS
:root {
|
|
--clr-primary: hsl(216, 28%, 7%);
|
|
--clr-primary-100: hsla(215, 21%, 11%, 0.9);
|
|
--clr-primary-200: hsla(215, 21%, 11%, 0.5);
|
|
--clr-primary-300: hsl(218, 17%, 12%);
|
|
--clr-primary-400: hsl(212, 12%, 21%);
|
|
--clr-primary-500: hsl(216, 12%, 25%);
|
|
|
|
--clr-secondary: hsl(210, 67%, 96%);
|
|
--clr-secondary-hover: hsl(210, 3%, 73%);
|
|
--clr-secondary-link: hsl(212, 100%, 67%);
|
|
|
|
font-family: roboto, helvetica, arial, sans-serif;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
color: var(--clr-secondary);
|
|
background-color: var(--clr-primary);
|
|
line-height: 1.5;
|
|
min-height: 100vh;
|
|
min-width: 300px;
|
|
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
main {
|
|
min-height: 100%;
|
|
}
|
|
|
|
/* Utility classes */
|
|
.flex {
|
|
display: flex;
|
|
gap: var(--gap, 1rem);
|
|
}
|
|
|
|
.uppercase {
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.bold {
|
|
font-weight: 700;
|
|
}
|
|
|
|
.sr-only {
|
|
border: 0 !important;
|
|
clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
|
|
-webkit-clip-path: inset(50%) !important;
|
|
clip-path: inset(50%) !important; /* 2 */
|
|
height: 1px !important;
|
|
margin: -1px !important;
|
|
overflow: hidden !important;
|
|
padding: 0 !important;
|
|
position: absolute !important;
|
|
width: 1px !important;
|
|
white-space: nowrap !important; /* 3 */
|
|
}
|
|
|
|
/* Navigation bar */
|
|
|
|
.logo {
|
|
margin: 2rem;
|
|
width: 2rem;
|
|
aspect-ratio: 1;
|
|
}
|
|
|
|
.primary-header {
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.mobile-nav-toggle {
|
|
display: none;
|
|
}
|
|
|
|
.primary-navigation {
|
|
background-color: var(--clr-primary-100);
|
|
}
|
|
|
|
@supports (backdrop-filter: blur(2rem)) {
|
|
.primary-navigation {
|
|
background-color: var(--clr-primary-200);
|
|
backdrop-filter: blur(2rem);
|
|
}
|
|
}
|
|
|
|
.primary-navigation a {
|
|
color: var(--clr-secondary);
|
|
text-decoration: none;
|
|
}
|
|
.primary-navigation a:hover {
|
|
color: var(--clr-secondary-hover);
|
|
}
|
|
|
|
.primary-navigation a > [aria-hidden="true"] {
|
|
font-weight: 700;
|
|
margin-inline-end: 0.75rem;
|
|
}
|
|
|
|
@media (max-width: 35em) {
|
|
.primary-navigation {
|
|
--gap: 3rem;
|
|
|
|
position: fixed;
|
|
z-index: 1000;
|
|
inset: 0 0 0 20%;
|
|
|
|
flex-direction: column;
|
|
padding: min(30vh, 10rem) 2rem;
|
|
|
|
transform: translateX(100%);
|
|
transition: transform 350ms ease-out;
|
|
}
|
|
|
|
.primary-navigation[data-visible="true"] {
|
|
transform: translateX(0%);
|
|
}
|
|
|
|
.mobile-nav-toggle {
|
|
display: block;
|
|
position: absolute;
|
|
z-index: 9999;
|
|
background-color: transparent;
|
|
background-image: url("../img/icons/icon-hamburger-menu.svg");
|
|
background-repeat: no-repeat;
|
|
width: 3rem;
|
|
border: 0;
|
|
aspect-ratio: 1;
|
|
top: 2rem;
|
|
right: 2rem;
|
|
}
|
|
|
|
.mobile-nav-toggle[aria-expanded="true"] {
|
|
background-color: transparent;
|
|
background-image: url("../img/icons/icon-close.svg");
|
|
background-repeat: no-repeat;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 35em) and (max-width: 55em) {
|
|
.primary-navigation a > [aria-hidden="true"] {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 35em) {
|
|
.primary-navigation {
|
|
--gap: clamp(1.5rem, 5vw, 3rem);
|
|
padding-block: 16px;
|
|
padding-inline: clamp(3rem, 8vw, 10rem);
|
|
}
|
|
}
|