body { background-color: #faf4e8; background-image: url(cream-paper.png); color: #3d2f1f; font-family: "Lusitana", serif; min-height: 100vh; margin: 0; display: flex; flex-direction: column; justify-content: flex-start; padding: 6rem; box-sizing: border-box; position: relative; } body.ready { transition: padding-top 0.6s ease; } body.ready #hero { transition: transform 0.6s ease, opacity 0.3s ease; } body.home { padding-top: 45vh; } header { position: relative; } #hero { position: absolute; bottom: calc(100% + 1rem); left: 0; font-size: 4rem; display: flex; align-items: baseline; } #hero h1 { margin: 0; } body:not(.home) #hero { opacity: 0; pointer-events: none; } #hero h1 { margin: 0; } /* App */ #app { transition: opacity 0.3s; } body.fading #app, body.fading footer { opacity: 0; } /* Nav Bar */ nav { display: flex; gap: 1rem; } nav a { color: #3d2f1f99; text-decoration: none; transition: color 0.5s, -webkit-text-stroke-width 0.5s; } nav a:hover { color: #3d2f1f; } nav a.active { -webkit-text-stroke-width: 1px; } /* Other */ h1 { margin-bottom: 1rem; } h1 img { height: 1em; } h2 { margin-bottom: 0.5rem; } ul { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; } /* a { transition: color 0.5s; } a:hover { color: #3d2f1f; } */ /* Footer */ footer { display: flex; position: fixed; bottom: 1rem; left: 1rem; font-size: 0.8rem; gap: 1rem; transition: opacity 0.3s; } footer p { color: #3d2f1f66; } footer a { color: #3d2f1f66; transition: color 0.5s; } footer a:hover { color: #3d2f1f; } footer svg { margin-left: 0.25rem; height: 1.25em; width: 1.25em; vertical-align: -0.25rem; fill: currentColor; } body:not(.homeCommitted) .birdSoundCredit { display: none; } /* Corner Ribbon */ .ribbon { background-color: #3d2f1f; color: #faf4e8; position: fixed; text-align: center; padding: 0.25rem; transform: rotate(-45deg); top: 2rem; left: -3rem; width: 12rem; outline: 2px dashed #faf4e8; outline-offset: -4px; } /* Birdy */ .bird-wrap { position: relative; padding-left: 1rem; height: 2em; width: auto; } .bar { opacity: 0; position: absolute; top: 15px; left: 20px; /* Offset */ animation: pop 0.8s ease-out var(--delay); pointer-events: none; } #barTemplate { display: none; } @keyframes pop { 0% {opacity: 0; transform: rotate(var(--angle)) translateY(var(--distance))} 50% {opacity: 1; } 100% {opacity: 0; transform: rotate(var(--angle)) translateY(calc(var(--distance) - 40px));} } #birdButton { padding: 0; height: 100%; border: none; background: none; cursor: pointer; } #birdButton img { height: 100%; }