Compare commits
4 commits
c7e9fdba95
...
1ae78d4ed4
Author | SHA1 | Date | |
---|---|---|---|
1ae78d4ed4 | |||
2e39002ea8 | |||
d210d0b7e7 | |||
40930e1d8e |
5 changed files with 78 additions and 58 deletions
|
@ -1,5 +1,5 @@
|
||||||
<section webc:root="override">
|
<section webc:root="override">
|
||||||
<div class="icon"><icon :@icon="icon"></icon></div>
|
<div class="icon-box"><icon :@icon="icon"></icon></div>
|
||||||
<p class="title" @text="title"></p>
|
<p class="title" @text="title"></p>
|
||||||
<p class="text" webc:type="11ty" @11ty:type="md" webc:keep>
|
<p class="text" webc:type="11ty" @11ty:type="md" webc:keep>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
|
@ -8,16 +8,15 @@
|
||||||
|
|
||||||
<style webc:scoped="job">
|
<style webc:scoped="job">
|
||||||
:host {
|
:host {
|
||||||
--timeline-circle-size: 3rem;
|
--icon-size: 3rem;
|
||||||
--timeline-circle-background: var(--clr-box-background);
|
--stroke-color: var(--clr-timeline-stroke);
|
||||||
--timeline-stroke-color: var(--clr-timeline-stroke);
|
--line-width: 0.25rem;
|
||||||
--timeline-stroke-thickness: calc(var(--timeline-circle-size) / 16);
|
|
||||||
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
@media (min-width: 32em) {
|
@media (min-width: 32em) {
|
||||||
--timeline-circle-size: 4rem;
|
--icon-size: 3.5rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,15 +35,20 @@
|
||||||
grid-column: line;
|
grid-column: line;
|
||||||
justify-self: center;
|
justify-self: center;
|
||||||
|
|
||||||
width: var(--timeline-stroke-thickness);
|
width: var(--line-width);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
background-color: var(--timeline-stroke-color);
|
background-color: var(--stroke-color);
|
||||||
|
background: linear-gradient(
|
||||||
|
to top,
|
||||||
|
oklch(from var(--clr-heading-underline) calc(l + 0.1) c h),
|
||||||
|
oklch(from var(--clr-heading-underline) calc(l - 0.2) c h)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host:first-of-type::before {
|
:host:first-of-type::before {
|
||||||
align-self: end;
|
align-self: end;
|
||||||
height: calc(100% - var(--timeline-circle-size));
|
height: calc(100% - var(--icon-size));
|
||||||
}
|
}
|
||||||
|
|
||||||
:host:last-of-type::before {
|
:host:last-of-type::before {
|
||||||
|
@ -53,18 +57,45 @@
|
||||||
height: 50%;
|
height: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host > .icon {
|
:host .icon-box {
|
||||||
|
--border-radius: 0.75em;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
grid-area: icon;
|
grid-area: icon;
|
||||||
align-self: center;
|
|
||||||
|
|
||||||
width: var(--timeline-circle-size);
|
width: var(--icon-size);
|
||||||
height: var(--timeline-circle-size);
|
height: var(--icon-size);
|
||||||
|
|
||||||
background-color: var(--timeline-circle-background);
|
background: linear-gradient(
|
||||||
|
to bottom right,
|
||||||
|
oklch(from var(--clr-heading-underline) calc(l + 0.1) c h),
|
||||||
|
oklch(from var(--clr-heading-underline) calc(l - 0.2) c h)
|
||||||
|
);
|
||||||
|
|
||||||
border: var(--timeline-stroke-thickness) solid var(--timeline-stroke-color);
|
border-radius: var(--border-radius);
|
||||||
border-radius: 100%;
|
padding: calc(var(--icon-size) / 4);
|
||||||
padding: calc(var(--timeline-circle-size) * 0.2);
|
|
||||||
|
overflow: hidden;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
:host .icon-box::before {
|
||||||
|
--gradient-dir: ellipse at bottom right;
|
||||||
|
--gradient-start: var(--clr-quick-info-gradient-end);
|
||||||
|
--gradient-end: var(--clr-quick-info-gradient-start);
|
||||||
|
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: var(--line-width);
|
||||||
|
|
||||||
|
background: radial-gradient(
|
||||||
|
var(--gradient-dir),
|
||||||
|
var(--gradient-start) 70%,
|
||||||
|
var(--gradient-end) 100%
|
||||||
|
);
|
||||||
|
|
||||||
|
border-radius: calc(var(--border-radius) - 1em * 0.125);
|
||||||
|
z-index: -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host .title {
|
:host .title {
|
||||||
|
@ -72,10 +103,10 @@
|
||||||
align-self: center;
|
align-self: center;
|
||||||
|
|
||||||
font-family: var(--font-family-headings);
|
font-family: var(--font-family-headings);
|
||||||
font-size: calc(var(--timeline-circle-size) / 2);
|
font-size: calc(var(--icon-size) / 2);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: start;
|
text-align: start;
|
||||||
margin-block: calc(var(--timeline-circle-size) / 4);
|
margin-block: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host .text {
|
:host .text {
|
||||||
|
@ -85,5 +116,7 @@
|
||||||
margin-block: 0;
|
margin-block: 0;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
text-align: justify;
|
text-align: justify;
|
||||||
|
|
||||||
|
margin-block: calc(var(--icon-size) / 4);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -72,9 +72,13 @@
|
||||||
|
|
||||||
:host .avatar {
|
:host .avatar {
|
||||||
grid-area: avatar;
|
grid-area: avatar;
|
||||||
justify-self: center;
|
display: grid;
|
||||||
|
grid-template-columns: subgrid;
|
||||||
|
justify-items: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
& img {
|
& :where(picture, img) {
|
||||||
|
display: block;
|
||||||
width: var(--sidebar-avatar-size);
|
width: var(--sidebar-avatar-size);
|
||||||
height: var(--sidebar-avatar-size);
|
height: var(--sidebar-avatar-size);
|
||||||
aspect-ratio: 1/1;
|
aspect-ratio: 1/1;
|
||||||
|
@ -99,7 +103,6 @@
|
||||||
:host .species {
|
:host .species {
|
||||||
grid-area: species;
|
grid-area: species;
|
||||||
align-self: start;
|
align-self: start;
|
||||||
font-size: 0.75em;
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
<div webc:root="override">
|
<div webc:root="override">
|
||||||
<div class="icon-box">
|
|
||||||
<icon :icon="icon"></icon>
|
|
||||||
</div>
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h3 class="title">
|
<h3 class="title">
|
||||||
<slot name="title"></slot>
|
<slot name="title"></slot>
|
||||||
|
@ -9,18 +6,20 @@
|
||||||
<p>
|
<p>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</p>
|
</p>
|
||||||
|
<icon :icon="icon"></icon>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style webc:scoped="trait-card">
|
<style webc:scoped="trait-card">
|
||||||
:host {
|
:host {
|
||||||
--spacing-inline: 0.75em;
|
--spacing-inline: 0.75em;
|
||||||
|
|
||||||
position: relative;
|
position: relative;
|
||||||
display: grid;
|
display: grid;
|
||||||
font-size: 0.875em;
|
font-size: 0.875em;
|
||||||
|
|
||||||
border-radius: 1em;
|
border-radius: 1em;
|
||||||
padding-block: 2em 1em;
|
padding-block: 1em;
|
||||||
margin-inline: var(--spacing-inline);
|
margin-inline: var(--spacing-inline);
|
||||||
|
|
||||||
@media (min-width: 40em) {
|
@media (min-width: 40em) {
|
||||||
|
@ -28,34 +27,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:host .icon-box {
|
|
||||||
position: absolute;
|
|
||||||
top: 0.5em;
|
|
||||||
left: 2.75em;
|
|
||||||
|
|
||||||
width: 3em;
|
|
||||||
height: 3em;
|
|
||||||
background: linear-gradient(
|
|
||||||
to bottom right,
|
|
||||||
var(--clr-box-gradient-start) 0%,
|
|
||||||
var(--clr-box-gradient-end) 50%
|
|
||||||
);
|
|
||||||
box-shadow: 0.125em 0.125em 0.5em var(--clr-box-shadow);
|
|
||||||
border-radius: 0.5em;
|
|
||||||
overflow: hidden;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
:host .icon-box > * {
|
|
||||||
margin: var(--border-thin);
|
|
||||||
background-color: var(--clr-box-background);
|
|
||||||
border-radius: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
:host svg {
|
|
||||||
padding: 0.625em;
|
|
||||||
}
|
|
||||||
|
|
||||||
:host .content {
|
:host .content {
|
||||||
--gradient-dir: to bottom right;
|
--gradient-dir: to bottom right;
|
||||||
--gradient-start: var(--clr-box-gradient-start);
|
--gradient-start: var(--clr-box-gradient-start);
|
||||||
|
@ -75,6 +46,8 @@
|
||||||
box-shadow: 0.125em 0.125em 0.75em 0.25em var(--clr-box-shadow);
|
box-shadow: 0.125em 0.125em 0.75em 0.25em var(--clr-box-shadow);
|
||||||
|
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
|
|
||||||
|
overflow: clip;
|
||||||
}
|
}
|
||||||
|
|
||||||
:host .content::before {
|
:host .content::before {
|
||||||
|
@ -98,6 +71,17 @@
|
||||||
|
|
||||||
:host .title {
|
:host .title {
|
||||||
font-size: 1.75em;
|
font-size: 1.75em;
|
||||||
margin-block-start: 0.5em;
|
}
|
||||||
|
|
||||||
|
:host .icon {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
|
||||||
|
width: 18em;
|
||||||
|
height: 18em;
|
||||||
|
|
||||||
|
opacity: 0.15;
|
||||||
|
transform: translate(1.75em, 5em);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -21,7 +21,7 @@ const firstName = 'Sebin',
|
||||||
orientation = 'gay',
|
orientation = 'gay',
|
||||||
position = 'vers, prefers top',
|
position = 'vers, prefers top',
|
||||||
height = 210, // cm
|
height = 210, // cm
|
||||||
weight = 124, // kg
|
weight = 174, // kg
|
||||||
tailLength = 154, // cm
|
tailLength = 154, // cm
|
||||||
wingspan = 417, // cm
|
wingspan = 417, // cm
|
||||||
colors = [
|
colors = [
|
||||||
|
|
|
@ -9,8 +9,8 @@ const firstName = 'Viktor',
|
||||||
pronouns = 'he/him',
|
pronouns = 'he/him',
|
||||||
orientation = 'gay',
|
orientation = 'gay',
|
||||||
role = 'bottom',
|
role = 'bottom',
|
||||||
height = 227, // cm
|
height = 192, // cm
|
||||||
weight = 175, // kg
|
weight = 164, // kg
|
||||||
colors = [
|
colors = [
|
||||||
{ name: 'Front', value: '#e7c7b1' },
|
{ name: 'Front', value: '#e7c7b1' },
|
||||||
{ name: 'Arms, legs', value: '#493428' },
|
{ name: 'Arms, legs', value: '#493428' },
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue