html, body { height: 100%; } * { box-sizing: border-box; margin: 0; padding: 0; } body { display: flex; justify-content: flex-start; align-items: center; min-height: 500vh; position: relative; margin: 0; background: #000; padding: 0; overflow: auto; flex-direction: column; font-family: "Rubik", sans-serif; color: #fff; line-height: 1.5; font-size: 1rem; width: 100%; } a { color: #e43888; text-decoration: none; } .page { height: 100vh; width: 100%; flex-grow: 1; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; font-size: 1.2rem; display: grid; grid-template-columns: 1fr; grid-template-rows: min-content auto; row-gap: 2rem; } .page#page4 { overflow: hidden; } .inner { padding-left: 5vw; padding-right: 5vw; width: 100%; } .inner p { width: 100%; max-width: 80ch; margin: 0 auto 2rem auto; padding: 0; } .inner p:last-child { margin-bottom: 0; } .page > .inner:first-child { padding-top: 10vw; } .page > img { width: 100%; height: 100%; object-fit: cover; background-color: rgba(0, 0, 0, 0.5); } .page[data-page="home"] { justify-content: center; display: flex; } .page[data-color="green"] { background: #8dc54b; } .page[data-color="orange"] { background: #ee7240; } .page[data-color="blue"] { background: #5abfeb; } .page[data-color="pink"] { background: #e43888; } .top-links { position: fixed; top: 0; left: 0; width: 100vw; height: fit-content; display: flex; justify-content: space-evenly; justify-content: center; gap: 1rem; /* rotate: -1deg; */ background-color: #000; } .top-links a { font-family: "Rubik", sans-serif; font-optical-sizing: auto; font-weight: 700; line-height: 1; font-size: clamp(20px, 5vw, 4rem); color: #000; text-decoration: none; padding: 0 1rem; transition: color 0s ease-out, margin-bottom 0.1s ease-out, border-bottom 0.1s ease-out, width 0.5s ease-in-out; margin-bottom: 1rem; margin-top: 1rem; transform: translateY(-200%); animation: links 3s cubic-bezier(0, 1.1, 0, 0.93) 1s forwards; overflow: hidden; } .top-links a span { display: block; transition: scale 0s ease-out 0; transform-origin: center center; } .top-links a.active { color: #fff; } .top-links a.active span { transform: translateY(0.25rem); } .top-links a.inactive span { scale: 0.5; transform-origin: center left; transition: all 0.5s ease-out; } .top-links a:hover, .top-links a.active { margin-bottom: 0; border-bottom: 1rem solid #72a03e; } .top-links a.active { border-color: #8dc54b; } .top-links a.col1 { background: #8dc54b; } .top-links a.col2 { background: #ee7240; animation-delay: 1.1s; } .top-links a.col2:hover { border-color: #bd5f3a; } .top-links a.col2.active { border-color: #ee7240; } .top-links a.col3 { background: #5abfeb; animation-delay: 1.2s; } .top-links a.col3:hover { border-color: #4990af; } .top-links a.col3.active { border-color: #5abfeb; } .top-links a.col4 { background: #e43888; animation-delay: 1.3s; } .top-links a.col4:hover { border-color: #b6316f; } .top-links a.col4.active { border-color: #e43888; } .top-links a.burger-button { color: #fff; border-bottom-color: transparent; display: none; } .top-links a.burger-button:hover { color: #fff; border-bottom-color: transparent; } .w3-logo { width: 70%; height: auto; animation: logo-enlarge ease-out 3s forwards; max-width: 700px; padding: 5rem 0; } .w3-logo.scrolling { animation: logo-fade linear both; animation-timeline: scroll(); } .outline-w, .outline-3 { animation: logo-outline 5s forwards; } .footer { color: #fff; position: fixed; bottom: 0; left: 0; padding: 1rem; width: 100%; text-align: center; opacity: 1; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(1rem); display: flex; justify-content: center; align-items: center; gap: 1rem; flex-direction: column; text-shadow: 2px 2px 0 #000; } .footer-logo { width: 30%; max-width: 100px; height: auto; /* filter: drop-shadow(0 0 1rem rgb(0 0 0 / 0.4)); */ scale: 0; animation: footer-logo-fade linear both; animation-timeline: scroll(); } .footer-logo img { width: 100%; height: auto; } @keyframes logo-enlarge { 0% { transform: scale(0.9); opacity: 0; } 50% { opacity: 1; } 100% { transform: scale(1); } } @keyframes glow-enlarge { 0% { transform: scale(0.9); opacity: 0; filter: none; } 50% { opacity: 1; filter: blur(3vw); } 100% { transform: scale(1); opacity: 0; } } @keyframes logo-outline { 0% { stroke-dasharray: 0, 450; } 50% { stroke-dasharray: 450, 0; } 100% { stroke: transparent; } } @keyframes logo-fade { 0% { scale: 1; opacity: 1; } 10% { scale: 0; opacity: 0; } 100% { scale: 0; opacity: 0; } } @keyframes footer-logo-fade { 0% { scale: 0; opacity: 0; } 10% { scale: 1; opacity: 1; } 100% { scale: 1; opacity: 1; } } @keyframes links { 0% { transform: translateY(-160%); } 100% { transform: translateY(0%); } }