Files
website/styles.css

425 lines
7.5 KiB
CSS

/* Coiny Regular */
@font-face {
font-family: 'Coiny';
src: url('/assets/fonts/Coiny-Regular-subset.ttf') format('truetype');
font-weight: normal;
font-style: normal;
font-display: swap;
}
* {
transition: background-color 0.15s ease-in-out;
}
:root {
--base: #faf4ed;
--surface: #fffaf3;
--overlay: #f2e9e1;
--muted: #9893a5;
--subtle: #797593;
--text: #575279;
--love: #b4637a;
--gold: #ea9d34;
--rose: #d7827e;
--pine: #286983;
--foam: #56949f;
--iris: #907aa9;
--highlight-low: #f4ede8;
--highlight-med: #dfdad9;
--highlight-high: #cecacd;
}
.dark {
--base: #191724;
--surface: #1f1d2e;
--overlay: #26233a;
--muted: #6e6a86;
--subtle: #908caa;
--text: #e0def4;
--love: #eb6f92;
--gold: #f6c177;
--rose: #ebbcba;
--pine: #31748f;
--foam: #9ccfd8;
--iris: #c4a7e7;
--highlight-low: #21202e;
--highlight-med: #403d52;
--highlight-high: #524f67;
}
.coiny-regular {
font-family: "Coiny", system-ui;
font-weight: 400;
font-style: normal;
}
::selection {
background-color: var(--overlay);
}
@keyframes fadein {
0% {
opacity: 0;
transform: scale(100.5%);
margin-top: 4in;
overflow: clip;
}
100% {
opacity: 1;
transform: scale(100%);
margin-top: 5px;
overflow: auto;
}
}
html,
body {
margin: 0;
width: 100%;
min-height: 100vh;
/* height: 100vh; */
font-family: system-ui, sans-serif;
background-color: var(--base);
color: var(--text);
display: grid;
place-items: center;
overflow: auto;
overflow-anchor: none;
}
.page {
box-shadow:
rgba(0, 0, 0, 0.19) 0px 10px 20px 0px,
rgba(0, 0, 0, 0.23) 0px 6px 6px 0px;
box-sizing: border-box;
width: 8.5in;
/* height: 11in; */
height: 9in;
margin-top: 5px;
margin-bottom: 5px;
background-color: var(--surface);
padding: 0.5in;
position: relative;
animation: 0.5s ease-out 0s 1 fadein;
display: grid;
grid-template-columns: 1fr 2.5in;
grid-template-rows: 1.1in 0.2fr 0.4fr auto;
gap: 0px 0px;
grid-template-areas:
"header header"
"bio aside"
"world aside"
"footer footer";
/* clip-path: polygon(1in 0%, 100% 0, 100% 100%, 0 100%, 0 1in); */
overflow: hidden;
}
a {
color: var(--foam);
transition:
0.1s color ease-in-out,
0.1s text-decoration ease-in-out;
text-decoration: none;
font-weight: 500;
}
a:hover,
a:active,
a:focus {
color: var(--iris);
text-decoration: underline;
}
.header {
grid-area: header;
font-size: 3em;
}
.bio {
grid-area: bio;
padding: 0 0.5in 0 0;
text-align: justify;
overflow-wrap: break-word;
hyphens: auto;
}
.small-text {
font-style: italic;
font-size: 0.8em;
padding: 0;
margin: 0;
}
.world {
grid-area: world;
display: flex;
gap: 0.5em;
}
.aside {
grid-area: aside;
display: flex;
flex-direction: column;
justify-content: top;
align-items: center;
}
.footer {
grid-area: footer;
display: grid;
grid-template-columns: 0.3fr 0.7fr;
column-gap: 0.5in;
align-self: end;
margin-top: 1.5em;
}
.copyright {
text-align: left;
}
.gpg {
text-align: right;
}
.avatar {
width: 2.5in;
height: 2.5in;
border-radius: 100%;
pointer-events: none;
}
.avatar-wrapper {
position: relative;
}
.button {
display: block;
padding: 1em 2em;
color: var(--text);
z-index: 0;
position: relative;
border-radius: 10px;
cursor: pointer;
}
.button:hover, .button:active, .button:focus {
text-decoration: unset;
}
.button:before {
content: '';
background: linear-gradient(45deg, var(--love), var(--gold), var(--rose), var(--pine), var(--foam), var(--iris), var(--love));
position: absolute;
top: -1px;
left: -1px;
background-size: 200%;
z-index: -1;
filter: blur(4px);
width: calc(100% + 2px);
height: calc(100% + 2px);
animation: glowing 30s linear infinite;
opacity: 0;
transition: opacity .3s ease-in-out;
border-radius: 10px;
opacity: 1;
}
.button:after {
z-index: -1;
content: '';
position: absolute;
width: 100%;
height: 100%;
background: var(--base);
left: 0;
top: 0;
border-radius: 10px;
transition: background 0.1s ease-in-out;
}
@keyframes glowing {
0% { background-position: 0 0; }
50% { background-position: 400% 0; }
100% { background-position: 0 0; }
}
.theme {
position: absolute;
bottom: 0.125in;
right: 0.125in;
background-color: var(--base);
color: var(--gold);
border: 1px solid var(--overlay);
border-radius: 10in;
margin: 0.125in 0 0;
padding: 0.125in;
max-width: 0.25in;
height: 0.25in;
cursor: pointer;
transition: max-width 0.5s ease;
overflow: hidden;
display: inline-flex;
align-items: center;
}
.theme:hover {
max-width: 2.5in;
}
.material-icons {
font-size: 1.25em;
font-style: normal;
}
.theme-text {
white-space: nowrap;
padding: 0 0.125in;
user-select: none;
}
.gpg-key:hover,
.gpg-key:active,
.gpg-key:focus {
text-decoration: none;
transition:
0.1s color ease-in-out,
0.1s text-decoration ease-in-out;
}
.gpg-key:hover span,
.gpg-key:active span,
.gpg-key:focus span {
text-decoration: underline;
transition:
0.1s color ease-in-out,
0.1s text-decoration ease-in-out;
}
@media only screen and (min-width: 2000px) {
.page {
height: 11in;
}
}
@media only screen and (min-width: 768px) and (max-width: 900px) {
html,
body {
overflow: auto;
}
/* tablets and desktop */
.page {
width: 100%;
height: 100%;
margin: 0;
padding: 0.25in;
box-shadow: none;
animation: none;
overflow: auto;
}
.footer {
margin-top: 0.25in;
grid-template-rows: none;
grid-template-columns: auto;
}
.theme:focus,
.theme:active,
.theme:hover {
max-width: 0.25in;
}
.theme-text {
display: none;
}
.copyright {
text-align: center;
}
.gpg {
text-align: center;
grid-row: 1;
}
}
@media only screen and (max-width: 767px) {
html,
body {
overflow: auto;
}
/* phones */
.page {
width: 100%;
height: 100%;
margin: 0;
padding: 0.25in;
box-shadow: none;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 0.1fr 0.2fr 0.4fr auto;
gap: 0px 0px;
grid-template-areas:
"header"
"aside"
"bio"
"world"
"footer";
animation: none;
overflow: auto;
}
.header {
font-size: 2em;
}
.theme:focus,
.theme:active,
.theme:hover {
max-width: 0.25in;
}
.theme-text {
display: none;
}
.bio {
grid-template-columns: none;
grid-template-rows: 2.5in 1fr;
justify-content: center;
align-items: center;
padding: 0;
}
.avatar {
grid-row: 1;
}
.small-text {
text-align: center;
margin: 0.5em 0;
}
.footer {
margin-top: 0.25in;
position: static;
grid-template-rows: none;
grid-template-columns: auto;
width: 100%;
}
.copyright {
text-align: center;
}
.gpg {
text-align: center;
grid-row: 1;
}
}