ailyaut.com/style_expanded.css
2025-05-15 16:06:00 +01:00

417 lines
7.3 KiB
CSS

:root {
--accent: #9b9bff;
--background: white;
--onBackground: black;
--surface: #f4f4f4;
--outline: #e0e0e0;
--light: #666666;
--link: #0069C2;
--icons: none;
--inverseIcons: invert();
}
@media (prefers-color-scheme: dark) {
:root {
--accent: #9b9bff;
--background: black;
--onBackground: white;
--surface: #202020;
--outline: #3a3a3a;
--light: #AAAAAA;
--link: #8CB4FF;
--icons: invert();
--inverseIcons: none;
}
.button:hover, .button:active {
.icon { filter: var(--inverseIcons); transition: all 0.2s ease; }
}
}
@font-face {
font-family: "title";
src: url("media/fonts/bricolagegrotesque.woff2")format("woff2");
}
html {
box-sizing: border-box;
scroll-behavior: smooth;
}
*, *::before, *::after {
box-sizing: inherit;
}
body {
background-color: var(--background);
margin: 0;
}
main {
margin-top: 6em;
margin-bottom: 2em;
display: flex;
flex-direction: column;
align-items: center;
min-height: calc(100vh - 18em);
}
/* TEXT */
h1, h2, h3 {
font-family: 'title', sans-serif;
font-weight: 400;
color: var(--onBackground);
}
h1{
font-size: 2.5em;
margin-bottom: 0.25em;
margin-top: 0;
}
h2{
font-size: 2em;
margin-bottom: 0.5em;
}
h3 {
font-size: 1.6em;
margin-bottom: 0.5em;
}
p, ol, ul, li, .bold, .light, .credit, .monospace {
font-family: system-ui, sans-serif;
font-weight: 400;
font-size: 1em;
line-height: 1.5em;
margin-top: 0;
color: var(--onBackground);
flex-wrap: wrap;
}
a {
color: var(--link);
}
.bold {
font-weight: 800;
}
.italic {
font-style: italic;
}
.light, .credit {
color: var(--light);
}
.credit {
font-style: italic;
}
.monospace {
font-family: ui-monospace, monospace;
background-color: var(--surface);
border: 1px solid var(--outline);
border-radius: 0.5em;
padding: 0.5em;
}
li {
padding-left: 0.5em;
}
.link_title {
text-decoration: underline 4px var(--accent);
transition: all 0.2s ease-out;
}
.link_title:hover {
margin-right: 0.5em;
transition: all 0.2s ease-out;
}
hr {
width: 100%;
border: none;
border-top: solid 2px var(--outline);
}
.card_title, .card_text {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
margin-top: 0.5em;
margin-bottom: 0;
transition: all 0.2s ease-out;
}
.card_text {
color: var(--light);
margin-bottom: 1em
}
/* CONTAINERS */
.box, .card, .column {
display: flex;
flex-direction: column;
width: 100%;
}
.box {
padding: 0 1.25em 0 1.25em;
}
.row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 100%;
height: var(--custom_height);
}
.card {
padding: 0;
position: relative;
bottom: 0;
left: 0;
filter: drop-shadow(0 0 0 var(--surface));
background-color: var(--surface);
border-radius: 1.5em;
border: 1px solid var(--outline);
transition: all 0.2s ease-out;
}
.card:hover, .card:active {
bottom: 1em;
left: 1em;
filter: drop-shadow(-1em 1em 0 var(--accent));
background-color: var(--accent);
transition: all 0.2s ease-out;
border: none;
.card_title, .card_text {color: black; transition: all 0.2s ease-out;}
}
.spacer {
width: var(--size);
height: var(--size);
}
@media (min-width: 768px) {
.box {
flex-direction: row;
max-width: 1240px;
}
.column {
width: var(--custom_width);
}
.row {
flex-wrap: nowrap;
}
}
/* ALIGNMENT */
.align_left, .align_horizontal, .align_right {
display: flex;
flex-direction: column;
width: 100%
}
.align_top, .align_vertical, .align_bottom {
display: flex;
flex-direction: row;
height: 100%;
}
.align_left, .align_top {
align-items: flex-start;
}
.align_horizontal, .align_vertical {
align-items: center;
}
.align_right, .align_bottom {
align-items: flex-end;
}
/* MEDIA */
#portrait {
max-width: min(100%, 200px);
max-height: 200px;
border-radius: 100%;
}
.image_custom {
max-width: min(var(--custom_size), 90%);
max-height: var(--custom_size);
}
.icon {
filter: var(--icons);
}
.icon:hover, .icon:active {
opacity: 0.75;
filter: opacity(0.75);
-webkit-filter: opacity(0.75);
filter: var(--icons);
}
.card_image {
width: 100vw;
max-width: 100%;
aspect-ratio: 16/10;
border-radius: 1.5em 1.5em 0 0;
object-fit: cover;
}
.gallery {
max-width: 100%;
border-radius: 1em;
}
/* HEADER & FOOTER */
header, footer {
display: flex;
flex-direction: column;
align-items: center;
}
#header_box, #footer_box {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
width: 100%;
height: 5em;
padding: 0 1.5em 0 1.5em;
}
#header_box {
gap: 1em;
margin: 1em 3em 0 3em;
}
#footer_box {
margin: 0 3em 4em 3em;
}
#header_title {
font-family: 'title', sans-serif;
font-size: 1.8em;
font-weight: 400;
text-decoration: none;
color: var(--onBackground);
transition: all 0.1s ease;
}
#header_title:hover, #header_title:active {
color: var(--accent);
transition: all 0.1s ease;
}
#header_nav {
display: flex;
flex-direction: row;
justify-content: flex-end;
background-color: var(--surface);
border: solid var(--outline) 1px;
border-radius: 5em;
padding: 0.5em 0.6em 0.5em 0.6em;
gap: 0.25em;
}
.nav_button, .nav_button_active, .button, .button_active {
display: flex;
flex-direction: row;
align-items: center;
font-family: 'title', sans-serif;
font-size: 1em;
font-weight: 400;
text-decoration: none;
color: var(--onBackground);
background-color: color-mix(in srgb, var(--onBackground), transparent 100%);
padding: 0.5em 0.8em 0.5em 0.8em;
border-radius: 1.5em;
transition: all 0.2s ease;
}
.nav_button_active {
color: black;
background-color: var(--accent);
}
.nav_button:hover {
background-color: color-mix(in srgb, var(--onBackground), transparent 92%);
transition: all 0.2s ease;
}
.footer_item {
display: flex;
flex-direction: row;
justify-content: center;
}
@media (min-width: 922px) {
#header_box, #footer_box {
flex-direction: row;
align-items: center;
max-width: 1240px;
margin: 0 3em 0 3em;
gap: 0;
}
#header_nav {
gap: 0.5em;
}
.nav_button, .nav_button_active {
font-size: 1.2em;
}
}
/* BUTTON */
.button, .button_active {
font-family: system-ui, sans-serif;
background-color: var(--surface);
padding: 0.6em 1em 0.6em 1em;
}
.button:hover, .button:active, .button_active {
background-color: var(--accent);
color: black;
transition: all 0.2s ease;
.light { color: black; transition: all 0.2s ease; }
}
.btt {
--offset: 50px;
bottom: 2em;
right: 2em;
position: sticky;
place-self: end;
padding: 0.8em 0.9em 0.7em 0.9em;
background-color: var(--accent);
border-radius: 3em;
transition: all 0.1s ease;
}
.btt:hover, .btt:active {
background-color: var(--onBackground);
transition: all 0.1s ease;
.bttimg {
filter: var(--inverseIcons);
}
}