:root { --font-min: 16px; --font-desired: calc((2.6vh + 8vw) / 2); --font-max: 32px; --icon-min: 50px; --icon-desired: 4vw; --icon-max: 96px; } * { box-sizing: border-box; margin: 0; padding: 0; } body { background-color: #1e1e2e; color: #ccc; font-family: 'Space Mono', monospace; width: 100%; font-size: clamp(var(--font-min), var(--font-desired), var(--font-max)); position: fixed; height: 100dvh; } /* General */ a { color: #ccc; text-decoration: none; transition: color .25s ease-in-out; &:hover { color: #a6fbb2; transition: color .25s ease-in-out; } } a.icon:not(:last-child) { margin-right: 1.5vw; } .wave { position: absolute; top: 0; max-width: 140vw; max-height: 140vh; } .wave1 { left: 0; transform: rotate(-45deg) translate(-30%, -80%); } .wave2 { right: 0; transform: rotate(45deg) translate(50%, -90%); } /* Homepage */ .socials { margin-top: 10px; } .social-icon { width: clamp(var(--icon-min), var(--icon-desired), var(--icon-max)); } .pgp { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; display: block; } .container { display: flex; height: 100dvh; align-items: center; justify-content: center; overflow: hidden; flex-direction: column; width: 100%; } .main { text-align: left; line-height: 1.2; margin: 20px; max-width: min(28ch, calc(100vw - 40px)); } /* Projects page */ .project-container { padding: 0 10vw; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; justify-items: center; overflow: auto; align-content: center; -ms-overflow-style: none; scrollbar-width: none; } .project-container::-webkit-scrollbar { display: none; } .project { width: 100%; margin: 15px 15px; font-size: clamp(var(--font-min), 1vw, var(--font-max)); padding: 25px 10px; background: #1e1e2e; transition: transform .3s ease-in-out; border-radius: 2vh; box-shadow: -12px -12px 28px #27273b73, 12px 12px 20px #12121c73; } .project a { display: flex; align-items: center; flex-direction: row; transition: transform .3s ease-in-out; &:hover { transform: scale(103%); } } .spacer { height: 20dvh; display: flex; flex-direction: column; justify-content: end; z-index: 30; } .home { font-size: clamp(var(--font-min), 2.5vw, 48px); margin-bottom: 15px; } .project-icon { width: 4rem; height: 4rem; margin-right: 10px; } @media (max-width: 700px) { .project-container { grid-template-columns: 85vw; padding: 0 5vw; align-content: normal; } }