/* ================= FONTFACE ================= */ @font-face { font-family: "Switzer-Variable"; src: url("/assets/fonts/Switzer-Variable.woff2") format("woff2"), url("/assets/fonts/Switzer-Variable.woff") format("woff"), url("/assets/fonts/Switzer-Variable.ttf") format("truetype"); font-weight: 100 900; font-display: swap; font-style: normal; } /* ================= RESET ================= */ html, body, h1, h2, h3, h4, h5, p, ul { margin: 0; padding: 0; font-family: "Switzer-Variable", sans-serif; } button { background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit; } a { text-decoration: none; color: inherit; } li { list-style-type: none; } /* ================= SCROLLBAR ================= */ /* BROWSERS */ /* Works on Firefox */ * { scrollbar-width: thin; scrollbar-color: rgba(0, 0, 0, 0.1) transparent; } /* Works on Chrome, Edge, and Safari */ *::-webkit-scrollbar { width: 6px; height: 6px; } *::-webkit-scrollbar-track { background: transparent; } *::-webkit-scrollbar-thumb { background-color: rgba(0, 0, 0, 0.1); border-radius: 0px; border: none; } /* ================= VARIABLES ================= */ :root { --color-background: #000; --color-primary: #ffffff; --color-primary--transparent: rgba(255, 255, 255, 0.86); --color-secondary: rgb(120, 171, 150, 0.86); --color-secondary--light: rgb(119, 177, 157, 0.25); --color-secondary--x-light: rgb(119, 177, 157, 0.15); --unit--horizontal: 5vw; --unit--vertical: 1.3rem; --font-size-m: 1.2rem; } * { scroll-behavior: smooth; } body { padding: var(--unit--vertical) var(--unit--horizontal); background-color: var(--color-background); color: var(--color-primary); font-family: sans-serif; } /* ================= GENERIC CLASSES ================= */ .hidden { display: none; } .grid { background-size: var(--unit--horizontal) var(--unit--vertical); background-image: linear-gradient( to right, var(--color-secondary--x-light) 1px, transparent 1px ), linear-gradient( to bottom, var(--color-secondary--light) 1px, transparent 1px ), linear-gradient( to bottom, var(--color-secondary--x-light) 1px, transparent 1px ); background-position: 0 0, 0 0, 0 calc(var(--unit--vertical) / 2); background-attachment: fixed; } /* ================= HTML ================= */ hr { height: calc(var(--unit--vertical) / 2); border: none; background-color: var(--color-primary); width: calc(var(--unit--horizontal) * 4); margin: calc(var(--unit--vertical) * 2) calc(var(--unit--horizontal)); } hr.center { width: calc(100% - (var(--unit--horizontal) * 2)); } nav hr { background-color: var(--color-background); margin-left: 0; } /* ================= TEXTS ================= */ h1 { font-size: 25vw; line-height: 4rem; transform: translate(-2px, -13px); font-weight: 550; } p, li, button, #baseline { transform: translateY(calc(var(--unit--vertical) * 0.12)); font-weight: lighter; font-size: var(--font-size-m); line-height: calc(var(--unit--vertical)); } p { transform: translateY(3px); } button { display: flex; align-items: center; } /* ================= HEADER ================= */ #header { position: fixed; z-index: 1; top: 0; left: 0; box-sizing: border-box; width: 100%; height: calc(var(--unit--vertical) * 5); padding: var(--unit--vertical) var(--unit--horizontal); transition: height 0.2s ease-in-out; } #header.minimized { height: calc(var(--unit--vertical) * 3); } #logo, #logo-nav { position: relative; } #logo-nav { margin-top: var(--unit--vertical); margin-left: var(--unit--horizontal); } #header.open #actuel { color: var(--color-background); } #logo #actuel, #logo-nav #actuel-nav { color: var(--color-primary--transparent); position: relative; z-index: 1; margin-left: calc(var(--unit--horizontal) * 2); } #logo #inactuel, #logo-nav #inactuel-nav { position: absolute; z-index: 0; color: var(--color-secondary); bottom: -48%; transition: bottom 0.2s ease-in-out; } #header.minimized #logo #inactuel, #header.minimized #logo-nav #inactuel-nav { bottom: 0%; } /* NAV */ #nav-btn { z-index: 3; position: absolute; top: var(--unit--vertical); right: var(--unit--horizontal); width: calc(var(--unit--horizontal) * 2); height: var(--unit--vertical); display: flex; justify-content: center; /* transform: rotate(-45deg); */ } #nav-btn .line-up, #nav-btn .line-center, #nav-btn .line-down { position: absolute; height: 2px; background-color: var(--color-primary); transition: all 0.3s ease-in-out; } #header.open .line-up, #header.open .line-center, #header.open .line-down { background-color: var(--color-background); } #nav-btn .line-up { width: var(--unit--horizontal); transform: translateY(calc(0rem - (var(--unit--vertical) / 3))) rotate(0deg); } #nav-btn .line-center { height: 4px; width: calc(var(--unit--horizontal) * 2); } #nav-btn .line-down { width: var(--unit--horizontal); transform: translateY(calc(var(--unit--vertical) / 3)) rotate(0deg); } /* NAV OPEN */ #nav-btn.open .line-up { transform: translateY(0) rotate(90deg); width: calc(var(--unit--horizontal) * 2); } #nav-btn.open .line-center { height: 2px; } #nav-btn.open .line-down { transform: translateY(0) rotate(-45deg); width: calc(var(--unit--vertical) * 2); } /* NAV PANEL */ nav { position: fixed; z-index: 2; top: 0; left: 0; width: 100vw; height: 0vh; background-color: var(--color-primary); color: var(--color-background); overflow: hidden; transition: all 0.5s ease-in-out; } #header.open nav { height: 100vh; } #spaces { margin-left: var(--unit--horizontal); } #spaces li { margin-bottom: var(--unit--vertical); } /* ================= MAIN ================= */ main, #spaces { margin-top: calc(var(--unit--vertical) * 6); } #baseline { font-weight: 300; margin-left: calc(var(--unit--horizontal) * 5); margin-bottom: calc(var(--unit--vertical) * 10); width: calc(var(--unit--horizontal) * 12); } section.closed { height: var(--unit--vertical); } h2.right { display: flex; justify-content: flex-end; color: var(--color-secondary); } h2.right::after, h2.left::before { display: inline-block; content: ""; height: calc(var(--unit--vertical) / 2); background-color: var(--color-primary); width: calc(var(--unit--horizontal) * 1); } h2.right::after { margin-right: calc(0vw - var(--unit--horizontal)); margin-left: var(--unit--horizontal); background-color: var(--color-secondary); } h2.left::before { margin-left: calc(0vw - var(--unit--horizontal)); margin-right: var(--unit--horizontal); } h2.left.open::before { width: calc(var(--unit--horizontal) * 4); } /* ================= TABS ================= */ .toggle-btns { display: flex; justify-content: space-between; } #content { margin-top: calc(var(--unit--vertical) * 2); } .toggle-btn--left .more-less-icon { margin-left: var(--unit--horizontal); } .toggle-btn--right .more-less-icon { margin-right: var(--unit--horizontal); } /* ================= ARTICLES LIST ================= */ #articles { margin: 0 var(--unit--horizontal); } #organize { margin-bottom: calc(var(--unit--vertical)); } .article { position: relative; margin-bottom: calc(var(--unit--vertical) * 2); box-sizing: border-box; } .article__infos, .article__labels { transform: translateY(calc(0rem - (var(--unit--vertical) * 0.1))); } .article__infos { display: flex; } .article__labels { display: flex; } .article .label { margin-right: var(--unit--horizontal); text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 6px; }