nnwhen.com/style.css

826 lines
15 KiB
CSS

/*
* 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;
--blog-box-alt: #242627;
--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;
margin-bottom: 45px;
padding: 0;
background-color: var(--background);
color: var(--accent-0);
font-family: "Redaction", serif;
}
a {
color: var(--accent-1);
text-decoration: none;
}
a:hover {
color: var(--max-1);
}
.load-enable img {
-webkit-animation: load 2s ease-in-out infinite alternate;
animation: load 2s ease-in-out infinite alternate;
}
@keyframes load {
0% {
background-color: var(--load-0);
}
100% {
background-color: var(--load-1);
}
}
button {
border: none;
color: var(--accent-1);
background-color: transparent;
text-align: center;
}
button:hover {
cursor: pointer;
color: var(--max-1);
}
#content-warnings {
margin: 15px 0;
padding: 2px;
background-color: var(--accent-2);
color: var(--background);
font-family: "mono", monospace;
text-align: center;
}
#content-warnings h1 {
margin: 10px 0;
font-size: 2rem;
}
#content-warnings ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
max-width: 1200px;
margin: 16px auto;
padding: 0;
-webkit-box-pack: space-evenly;
-ms-flex-pack: space-evenly;
justify-content: space-evenly;
list-style-type: none;
}
#content-warnings ul li {
min-width: 30%;
padding: 5px 10px;
font-size: 1.2rem;
}
.cw-spacer {
height: 500px;
}
.back {
width: min(700px, 90%);
margin: auto;
font-size: 1.2rem;
text-align: right;
}
/* Header */
/* Banner */
header {
position: relative;
margin-top: 18px;
}
#header-img-group-banner img {
width: 100%;
height: 70px;
-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: 130px;
width: 150px;
-o-object-fit: contain;
object-fit: contain;
background-color: var(--background);
z-index: 0;
}
/* NavList */
#navigation {
width: 100%;
margin: -25px auto 25px auto;
}
#navigation ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: space-evenly;
-ms-flex-pack: space-evenly;
justify-content: space-evenly;
margin: 0;
padding: 0;
font-size: 1.375rem;
}
#navigation ul li {
position: relative;
padding: 2px 0;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
width: calc(100% / 5);
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
text-align: center;
list-style: none;
}
#navigation #whitespace {
width: calc(100% / 5);
}
#navigation li#here a {
cursor: not-allowed;
background-color: var(--accent-2);
color: var(--background);
text-decoration: line-through;
}
#navigation li#parent a {
background-color: var(--accent-2);
color: var(--background);
}
#navigation li#parent a::after {
content: "*";
}
#navigation li#parent a:hover {
background-color: var(--max-1) !important;
}
#navigation li a {
padding: 2px 10px;
color: var(--accent-2);
background-color: var(--max-0);
}
#navigation 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;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-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;
}
#socials img {
width: 40px;
margin: auto 10px;
}
#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;
}
.highlight {
background-color: var(--text-highlight);
}
/* ------------------------------------------------------ */
@media only screen and (max-width: 790px) {
header {
margin-top: 18px;
}
#navigation {
margin: 5px auto;
}
#navigation ul li {
min-width: 91px;
margin: 10px auto;
-webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
#header-img-group-banner img {
height: 50px;
}
#header-img-group-logo img {
height: 60px;
width: 100px;
}
#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);
margin: auto;
padding: 5px;
bottom: 5px;
left: 0;
right: 0;
text-align: center;
background-color: var(--text-background);
border-radius: 20px;
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-height: 360px;
-o-object-fit: cover;
object-fit: cover;
}
#hero-headshot p {
margin: 0;
color: var(--subtitle);
font-size: 1.375rem;
}
#hero-headshot p span {
text-wrap: nowrap;
}
#hero-headshot aside.quote {
max-width: 700px;
font-family: "mono", monospace;
text-transform: none;
}
#hero-info {
width: min(100%, 700px);
margin: auto 0;
}
#hero-info p {
margin: 30px 0;
font-size: 1.375rem;
}
#hero-info h1 {
color: var(--max-1);
font-size: 2.188rem;
}
#hero-info b {
color: var(--accent-2);
}
#hero-info p a {
display: block;
width: min(95%, 500px);
margin: 20px auto;
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 {
padding: 0 10px;
background-color: var(--accent-0);
color: var(--background);
font-weight: bolder;
text-wrap: nowrap;
}
#hero-info span:hover {
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: 20px auto;
}
.ly-sect > h1 {
position: relative;
margin: 0 20%;
padding: 3px 8px;
font-size: 2rem;
text-wrap: nowrap;
}
.ly-cont {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: min(95%, 2000px);
margin: auto;
-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;
}
.ly-item {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
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 > h1 {
display: inline-block;
margin: 20px 20% 0 20%;
background-color: var(--max-0);
color: var(--max-1);
text-align: center;
}
.ly-sect.ly-square > h1:hover {
background-color: var(--accent-2);
color: var(--background);
}
.ly-sect.ly-square .h1-circle img {
position: absolute;
margin: auto;
width: 200px;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.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;
margin: auto;
top: 0;
left: 0;
right: 0;
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: min(95%, 1000px);
max-height: 160px;
}
.ly-item.ly-rect.ly-archive h1 {
position: absolute;
display: inline;
margin: auto;
padding: 2px 8px;
bottom: 20px;
left: 25px;
font-size: 1.375rem;
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;
margin: auto;
padding: 5px 8px;
top: 15px;
right: 15px;
font-size: 0.938rem;
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 {
margin-top: 2px;
margin-bottom: 12px;
background-color: transparent;
text-shadow: 1px 1px 0 black;
font-size: 1.625rem;
-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 {
margin-top: 2px;
margin-bottom: 12px;
margin-left: 35px;
background-color: transparent;
text-shadow: 1px 1px 0 black;
font-size: 1.313rem;
-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 {
padding: 2px 0;
font-size: 1.375rem;
}
.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 {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
-o-object-position: center;
object-position: center;
}
.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;
}
/* 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 {
position: absolute;
padding: 8px;
margin: 0;
left: 40px;
-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;
background-color: var(--max-0);
z-index: 1;
}
.skip-to-content:focus {
-webkit-transform: translateY(0%);
-ms-transform: translateY(0%);
transform: translateY(0%);
}