body { margin-left: 0; margin-right: 0; margin-top: 0; margin-bottom: 0; font-family: sans-serif; background-color: black; color: white; } a { color: white; text-decoration-color: white; } #header-bg1 { animation: color-change-1 30s linear .5s infinite normal none; } #header-bg2 { background-color: #29BDBD; /* fall-back */ animation: color-change-2 30s linear .5s infinite normal none; } .header-bg { position: fixed; width: 100%; height: 100%; top:0; left:0; z-index: -1; } .header-section { animation: fly-down .5s ease-out 0s 1 normal none; display: flex; flex-direction: row; align-items: center; /* align-content: center; */ justify-content: center; flex-wrap: wrap-reverse; min-height: 25vh; width: 100%; } .header-picture { align-self: end; } .header-picture img { width: calc(165200px/596); min-width: 277px; height: 200px; margin-top: 30px; vertical-align: middle; } .blank-item { width: calc(165200px/596); min-width: 277px; } .title-thingy { flex-basis: content; text-align: center; margin: 30px; } .title-thingy h2 { font-family: monospace; } .general-content { background-color: #171717; overflow: auto; padding-left: 50px; padding-right: 50px; padding-bottom: 60px; padding-top: 20px; } .general-content h2 { margin-top: 50px; } .general-content h3 { margin-top: 25px; margin-bottom: 20px; } .projects-section { /* empty for now */ } .project details { margin-top: 16px; margin-bottom: 16px; } .project details summary { cursor: pointer; } .spam-manifesto { text-align: center; border-style: groove; padding-left: 5%; padding-right: 5%; padding-top: 2%; padding-bottom: 2%; border-color: red; } .spam-manifesto a { color: red; text-decoration: none; } .poem { text-align: start; } .poem p { width:fit-content; margin-left: auto; margin-right: auto; } .spam-sandwich { display: none; } .text-section { margin-left: auto; margin-right: auto; max-width: 900px; } .sub-section details p { animation: fly-down .5s ease-out 0s 1 normal none; } footer { background-color: black; display: flex; flex-direction: column; align-items: center; align-content: center; justify-content: center; min-height: 20vh; width: 100%; } h1 { font-size: xx-large; } h2 { font-size: xx-large; } h3 { font-size: x-large; } .filler-div { min-height: 90vh; } .double-screenshot { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; } .double-screenshot .thumbnail { display: flex; align-items: center; justify-content: center; width: 444px; max-width: calc(min(450px,calc(100vw - 100px))); max-height: 253.125px; overflow: hidden; margin: 3px; cursor: pointer; } .double-screenshot .thumbnail img { min-width: calc(min(450px,calc(100vw - 100px))); min-height: calc(min(450px,calc(100vw - 100px)) * 0.5625); } .double-screenshot .no-crop img { min-width: auto; max-width: calc(min(450px,calc(100vw - 100px))); min-height: auto; max-height: 253.125px; } .project-image { max-width: 100%; } .project-image input { display: none; } .modal { display: none; } input:checked + .modal { animation: fly-forward .5s ease-out 0s 1 normal none; display: flex; justify-content: safe center; align-items: safe center; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #000000CC; overflow: auto; } .lazy-image { display: block; min-width: 90vw; min-height: 90vh; background-size: contain; background-repeat: no-repeat; background-position: center; cursor: zoom-in; } input:checked + .lazy-image { cursor: zoom-out; min-width: 200vw; min-height: 200vh; scroll-snap-align: center; } input:checked + .lazy-image:active { cursor: grabbing; } body:has(.project-image > input:checked) { overflow: hidden; } .modal .close { cursor: pointer; position: fixed; top: 0; right: 0; margin: 20px; width: 60px; height: 60px; background-image: url('/img/modal-close.svg'); background-size: 30px 30px; background-position: center; background-repeat: no-repeat; } .modal-bg { position: fixed; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; } .text-section > * { animation: fly-up .5s ease-out 0s 1 normal none; } .footer-logo { width: 50px; height: 50px; } #cursor-thing { position: static; cursor: pointer; width: 50px; height: 50px; background-image: url('/img/duck-sprite.webp'); z-index: 1; } @keyframes fly-up { 0% { transform: translateY(70%); opacity: 0%; } 40% { transform: translateY(0%); opacity: 70%; } 100% { opacity: 100%; } } @keyframes fly-down { 0% { transform: translateY(-70%); opacity: 0%; } 20% { transform: translateY(0%); opacity: 70%; } 100% { opacity: 100%; } } @keyframes fly-forward { 0% { transform: scale(0); opacity: 0%; } 20% { transform: scale(1); opacity: 70%; } 100% { opacity: 100%; } } @keyframes color-change-1 { 0% { background-color: #29BDBD; } 25% { background-color: #197293; } 75% { background-color: #197293; } 100% { background-color: #29BDBD; } } @keyframes color-change-2 { 0% { background: linear-gradient(90deg, #00000000 0%, #29BDBD 100%); } 25% { opacity: 100%; } 49% { background: linear-gradient(90deg, #00000000 0%, #29BDBD 100%); opacity: 0%; } 50% { background: linear-gradient(90deg, #29BDBD 0%, #00000000 100%); opacity: 0%; } 75% { opacity: 100%; } 100% { background: linear-gradient(90deg, #29BDBD 0%, #00000000 100%); } }