/* * Browsers: >0.3%,last 4 version */ /* overall */ :root { --max-0: #000000; --max-1: #ffffff; --background: #181a1b; --accent-0: #c8beb5; --accent-1: #f18d74; --accent-2: #e3beb3; --subtitle: #aca4a0; --title-background: #00000075; --text-background: #000000cc; --text-highlight: #3c362e; --blog-box: #2b2f32; --load-0: #abb5ba61; --load-1: #4a525761; } * { -webkit-box-sizing: border-box; box-sizing: border-box; } *::-moz-selection { background-color: var(--accent-0); color: var(--max-0); } *::selection { background-color: var(--accent-0); color: var(--max-0); } @font-face { font-family: "Redaction"; src: url("./res/asset-font-Redaction-Regular.woff2") format("woff2"); font-display: swap; } @font-face { font-family: "mono"; src: url("./res/asset-font-Inconsolata.woff2") format("woff2"); font-display: swap; } @font-face { font-family: "syne"; src: url("./res/asset-font-SyneMono-Regular.woff2") format("woff2"); font-display: swap; } body { margin: 0; padding: 0; background-color: var(--background); color: var(--accent-0); font-family: "Redaction", serif; margin-bottom: 45px; } a { text-decoration: none; color: var(--accent-1); } a:hover { color: var(--max-1); } /* Header */ /* Banner */ header { position: relative; margin: 32px 0 40px 0; } #header-img-group-banner img { width: 100%; height: 100px; -o-object-fit: cover; object-fit: cover; } #header-img-group-logo img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; height: 170px; width: 200px; -o-object-fit: contain; object-fit: contain; background-color: var(--background); } /* NavList */ header nav { position: absolute; bottom: -5px; width: 100%; } header nav ul { margin: 0; padding: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; font-size: 22px; } header nav ul li { position: relative; list-style: none; padding: 2px 0; width: calc(100% / 5); text-align: center; } header nav #whitespace { width: calc(100% / 5); } header nav li#here a { cursor: not-allowed; background-color: var(--accent-2); color: var(--background); text-decoration: line-through; } header nav li#parent a { background-color: var(--accent-2); color: var(--background); } header nav li#parent a::after { content: "*"; } header nav li#parent a:hover { background-color: var(--max-1) !important; } header nav li a { padding: 2px 10px; color: var(--accent-2); background-color: var(--max-0); } header nav li:not(#here) a:hover { color: var(--background); background-color: var(--accent-2); } #arrow img { position: absolute; margin: 35px 0 0 -100px; width: 250px; } /* Socials */ #socials { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; margin: 25px 0; } #socials img { width: 40px; } #socials a { -webkit-transition: ease-in-out 100ms; -o-transition: ease-in-out 100ms; transition: ease-in-out 100ms; } #socials a:hover { -webkit-filter: drop-shadow(var(--accent-2) 2px 2px 0); filter: drop-shadow(var(--accent-2) 2px 2px 0); } .no { cursor: not-allowed; } .no img { -webkit-filter: brightness(20%); filter: brightness(20%); } .no:hover img { -webkit-filter: brightness(20%) !important; filter: brightness(20%) !important; } /* ------------------------------------------------------ */ @media only screen and (max-width: 790px) { header { margin: 32px 0 80px 0; } header nav { position: absolute; bottom: -50px; } #whitespace, #arrow { display: none; } li#music:not(#here) a { -webkit-animation: nav-flash 1s ease-in-out infinite alternate; animation: nav-flash 1s ease-in-out infinite alternate; } } /* ---------- ANIMATIONS ---------- */ @-webkit-keyframes nav-flash { from { background-color: var(--max-0); color: var(--accent-2); } to { background-color: var(--accent-1); color: var(--background); } } @keyframes nav-flash { from { background-color: var(--max-0); color: var(--accent-2); } to { background-color: var(--accent-1); color: var(--background); } } @-webkit-keyframes load { from { background-color: var(--load-0); } to { background-color: var(--load-1); } } @keyframes load { from { background-color: var(--load-0); } to { background-color: var(--load-1); } } /* --------------------------- */ footer#free { position: fixed; display: inline; max-width: min(90%, 180px); bottom: 5px; left: 0; right: 0; text-align: center; background-color: var(--text-background); border-radius: 20px; margin: auto; padding: 5px; z-index: 100; } /* index */ #hero { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; text-align: center; font-family: "Syne", monospace; } #hero-headshot img { width: 100%; height: auto; aspect-ratio: 1/1; max-height: 700px; min-width: 360px; -o-object-fit: contain; object-fit: contain; } #hero-headshot p { margin: 0; color: var(--subtitle); font-size: 22px; } #hero-headshot p span { text-wrap: nowrap; } #hero-headshot aside.quote { font-family: "mono", monospace; text-transform: none; max-width: 700px; } #hero-info { width: min(100%, 700px); margin: auto 0; } #hero-info p { font-size: 22px; margin: 30px 0; line-height: 37px; } #hero-info h1 { color: var(--max-1); font-size: 35px; } #hero-info b { color: var(--accent-2); } #hero-info p a { padding: 0 5px; -webkit-transition: 150ms ease-in-out; -o-transition: 150ms ease-in-out; transition: 150ms ease-in-out; } #hero-info p a:hover { background-color: var(--accent-0); color: var(--background); } #hero-info span { background-color: var(--accent-0); color: var(--background); padding: 0 10px; font-weight: bolder; text-wrap: nowrap; } #hero-info span:hover { cursor: not-allowed; background-color: var(--max-0); -webkit-transition: ease-in-out 100ms; -o-transition: ease-in-out 100ms; transition: ease-in-out 100ms; -webkit-animation: shake 2s linear alternate infinite; animation: shake 2s linear alternate infinite; } /* asset layouts */ .ly-sect { margin: 40px 0; } .ly-sect > h1 { text-wrap: nowrap; position: relative; padding: 3px 8px; margin: 0 20%; font-size: 32px; } .ly-cont { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; margin: 10px auto; width: min(95%, 2000px); } .ly-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; position: relative; margin: 10px; } .ly-item a h1 { color: var(--accent-2); } .ly-item a:hover h1 { background-color: var(--text-background); color: var(--max-1); } .ly-item h1 { padding: 2px; background-color: var(--title-background); -webkit-transition: ease-in-out 100ms; -o-transition: ease-in-out 100ms; transition: ease-in-out 100ms; } .ly-sect.ly-square { margin: 40px 0; } .ly-sect.ly-square > h1 { display: inline-block; margin: 20px 20% 0 20%; text-align: center; background-color: var(--max-0); color: var(--max-1); } .ly-sect.ly-square > h1:hover { background-color: var(--accent-2); color: var(--background); } .ly-sect.ly-square .h1-circle img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: 200px; } .ly-item { margin-bottom: 30px; } .ly-item audio { width: 100%; } .ly-item.ly-square { width: min(95%, 350px); } .ly-item.ly-square h1 { position: absolute; top: 0; left: 0; right: 0; margin: auto; text-align: center; text-shadow: var(--background) 1px 1px 0; } .ly-item.ly-square img { width: 100%; aspect-ratio: 1/1; -o-object-fit: cover; object-fit: cover; } .ly-item.ly-rect { width: 80%; max-height: 160px; } .ly-item.ly-rect.ly-archive h1 { position: absolute; display: inline; bottom: 20px; left: 25px; margin: auto; font-size: 22px; padding: 2px 8px; background-color: var(--text-background); -webkit-transition: ease-in-out 100ms; -o-transition: ease-in-out 100ms; transition: ease-in-out 100ms; z-index: 2; } .ly-item.ly-rect.ly-archive h2 { position: absolute; display: inline; top: 15px; right: 15px; margin: auto; font-size: 15px; padding: 5px 8px; background-color: var(--text-background); color: var(--max-1); -webkit-transition: ease-in-out 100ms; -o-transition: ease-in-out 100ms; transition: ease-in-out 100ms; z-index: 2; } .ly-item.ly-rect.ly-dir h1 { background-color: transparent; text-shadow: 1px 1px 0 black; font-size: 26px; margin-top: 2px; margin-bottom: 12px; -webkit-transition: ease-in-out 100ms; -o-transition: ease-in-out 100ms; transition: ease-in-out 100ms; z-index: 2; } .ly-item.ly-rect.ly-dir h2 { background-color: transparent; text-shadow: 1px 1px 0 black; font-size: 21px; margin-top: 2px; margin-bottom: 12px; margin-left: 35px; -webkit-transition: ease-in-out 100ms; -o-transition: ease-in-out 100ms; transition: ease-in-out 100ms; z-index: 2; } .ly-item.ly-rect a:hover h1, .ly-item.ly-rect a:hover h2 { background-color: var(--accent-2); color: var(--background); } .ly-item.ly-rect a:hover img { -webkit-filter: drop-shadow(var(--max-0) 5px 5px 5px); filter: drop-shadow(var(--max-0) 5px 5px 5px); } .ly-item.ly-rect img { width: 100%; max-height: 160px; min-height: 160px; aspect-ratio: 5/1; -o-object-fit: cover; object-fit: cover; -webkit-transition: ease-in-out 200ms; -o-transition: ease-in-out 200ms; transition: ease-in-out 200ms; } /* Directory List Pages */ .list { width: min(95%, 850px); margin: auto; padding: 10px 2px; font-family: "mono"; } .list li { font-size: 22px; padding: 2px 0; } .list ul, .list ol { margin-top: 2px; border-left: solid 2px var(--accent-2); } .list > h2 { margin: auto; margin-left: 2%; font-family: "mono", monospace; } .list h3 { margin-bottom: 5px; } .list-entity { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; } .list-entity picture img { -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; width: 100%; height: 100%; } .list-entity picture { width: min(250px, 100%); min-width: 100px; } .list-entity .list-entity-info { width: 100%; min-width: 250px; padding: 0 25px; } .list-entity-info hgroup h2, .list-entity-info hgroup h3 { margin: 5px 15px; } /* 404 page */ .fzf { text-align: center; } .fzf h1 { color: var(--max-1); font-family: "mono", monospace; font-style: normal; } .fzf h2 { color: var(--max-1); font-family: "Syne", monospace; text-align: justify; -moz-text-align-last: justify; text-align-last: justify; text-wrap: nowrap; overflow-x: hidden; padding: 0 10%; margin: auto; background-color: var(--accent-1); color: var(--background); text-decoration: line-through; } /* animations */ @-webkit-keyframes shake { 0% { text-shadow: #7eddcda5 1px 1px 1px, #d6d6d6a5 1px -1px; color: #d6d6d645; } 13% { text-shadow: #7eddcda5 1px -1px 1px, #d6d6d6a5 -1px 1px; color: #d6d6d6a5; } 15% { text-shadow: #7eddcda5 -1px 1px 1px, #d6d6d6a5 1px -1px; color: #d6d6d675; } 38% { text-shadow: #7eddcda5 1px -1px 1px, #d6d6d6a5 -1px 1px; color: #d6d6d6f5; } 50% { text-shadow: #7eddcda5 -1px -1px 1px, #d6d6d6a5 -1px 1px; color: #d6d6d685; } 63% { text-shadow: #7eddcda5 1px 1px 1px, #d6d6d6a5 1px -1px; color: #d6d6d6a5; } 75% { text-shadow: #7eddcda5 -1px -1px 1px, #d6d6d6a5 1px 0px; color: #d6d6d6e5; } 88% { text-shadow: #7eddcda5 1px 1px 1px, #d6d6d6a5 -1px 1px; color: #d6d6d665; } 100% { text-shadow: #7eddcda5 -1px 1px 1px, #d6d6d6a5 0px 1px; color: #d6d6d6d5; } } @keyframes shake { 0% { text-shadow: #7eddcda5 1px 1px 1px, #d6d6d6a5 1px -1px; color: #d6d6d645; } 13% { text-shadow: #7eddcda5 1px -1px 1px, #d6d6d6a5 -1px 1px; color: #d6d6d6a5; } 15% { text-shadow: #7eddcda5 -1px 1px 1px, #d6d6d6a5 1px -1px; color: #d6d6d675; } 38% { text-shadow: #7eddcda5 1px -1px 1px, #d6d6d6a5 -1px 1px; color: #d6d6d6f5; } 50% { text-shadow: #7eddcda5 -1px -1px 1px, #d6d6d6a5 -1px 1px; color: #d6d6d685; } 63% { text-shadow: #7eddcda5 1px 1px 1px, #d6d6d6a5 1px -1px; color: #d6d6d6a5; } 75% { text-shadow: #7eddcda5 -1px -1px 1px, #d6d6d6a5 1px 0px; color: #d6d6d6e5; } 88% { text-shadow: #7eddcda5 1px 1px 1px, #d6d6d6a5 -1px 1px; color: #d6d6d665; } 100% { text-shadow: #7eddcda5 -1px 1px 1px, #d6d6d6a5 0px 1px; color: #d6d6d6d5; } } /* Accessibility */ .skip-to-content { background-color: var(--max-0); padding: 8px; margin: 0; position: absolute; -webkit-transform: translateY(-70px); -ms-transform: translateY(-70px); transform: translateY(-70px); -webkit-transition: -webkit-transform 0.2s; transition: -webkit-transform 0.2s; -o-transition: transform 0.2s; transition: transform 0.2s; transition: transform 0.2s, -webkit-transform 0.2s; left: 40px; z-index: 1; } .skip-to-content:focus { -webkit-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%); }