ebabx-proto/assets/css/05.blocks.css
2026-05-17 12:25:30 +02:00

416 lines
7.9 KiB
CSS

/* BLOCKS */
/* Region */
.region {
/* margin-inline: var(--space-regions); */
padding-block: var(--space-regions);
}
.region-footer{
display: flex;
justify-content: flex-end;
padding-top: var(--space-regions);
}
/* Buttons */
.button {
--button-border-color: var(--color-light);
appearance: none;
display: inline-flex;
gap: var(--button-gap, var(--space-gutter));
padding: var(--button-padding, 0.25em);
background: var(--button-bg, var(--color-global-bg));
color: var(--button-text, var(--color-global-text));
line-height: var(--button-leading, var(--leading-fine));
border: var(--button-border-width, 0) solid var(--button-border-color, var(--border-color));
border-radius: var(--button-radius, 0);
text-decoration: none;
text-transform: var(--button-text-transform, uppercase);
font-weight: var(--button-font-weight, 500);
letter-spacing: var(--button-kerning, var(--kerning-loose));
cursor: pointer;
}
.button:hover {
background: var(--button-hover-bg, var(--color-light));
color: var(--button-hover-text, var(--color-dark));
}
/* Tags */
.tags {
--gap: 0;
}
.tag {
display: inline-flex;
gap: var(--tag-gap, var(--space-gutter));
padding: var(--tag-padding, .25em .75em);
background: var(--tag-bg, var(--color-global-bg));
color: var(--tag-text, var(--color-global-text));
line-height: var(--tag-leading, var(--leading-fine));
border-radius: var(--tag-radius, var(--border-radius)) !important;
border: var(--tag-border-width, var(--border-width)) solid var(--tag-border-color, var(--border-color));
text-decoration: none;
text-transform: var(--tag-text-transform, uppercase);
font-size: var(--text-size-tag);
font-weight: var(--tag-font-weight, 500);
/* letter-spacing: var(--tag-kerning, var(--kerning-loose)); */
margin-right: -0.333em;
user-select: none;
}
a.tag {
cursor: pointer;
}
a.tag:hover {
background: var(--tag-hover-bg, var(--color-dark));
color: var(--tag-hover-text, var(--color-light));
border-color: var(--tag-hover-border, var(--color-dark));
}
.tag[data-variant="rect"] {
--tag-radius: 0;
}
.tag[data-variant="ellipse"] {
--tag-radius: 100%;
}
/* Card */
.card {
display: flex;
flex-direction: column;
gap: calc(var(--space-gutter)*0.75);
padding: var(--card-padding, var(--space-gutter) 0);
background: var(--card-bg, var(--color-global-bg));
color: var(--card-text, var(--color-global-text));
border-bottom: var(--card-border-width, var(--border-width)) solid var(--card-border-color, var(--border-color));
border-radius: var(--card-radius, 0);
h3 {
font-size: var(--text-size-heading-3);
font-weight: 500;
text-transform: uppercase;
}
.cover {
box-shadow: 0 0 0 hsl(0deg, 0%, 75%);
transition: all 0.1s ease-out;
}
}
.card picture{
border: var(--border);
border-color: transparent;
}
.card:hover picture{
box-shadow: 0 var(--box-shadow-thickness) 0 var(--color-global-text);
border-radius: var(--border-radius);
transform: translateY(0);
transition: all .1s ease-out;
overflow: hidden;
border: var(--border);
}
.card:hover picture img{
/* border: var(--border); */
border-radius: var(--border-radius);
}
/* .card picture {
border: var(--border);
} */
/*
.card:hover .cover {
box-shadow: 6px 6px 8px hsl(0deg, 0%, 75%);
}
*/
.card[data-variant="evenement"] {
display: grid;
grid-template-columns: 1fr 2fr;
grid-template-rows: 1fr auto auto;
align-items: baseline;
padding-top: calc(var(--space-gutter)*0.5);
h3{
min-height: 2.5lh;
}
time {
grid-column: 1 / 1;
grid-row: 1 / 1;
font-size: var(--text-size-heading-3);
font-weight: 500;
white-space: pre;
}
.tags {
grid-column: 2 / -1;
}
.cover {
grid-column: 1 / -1;
img {
--aspect-ratio: 1200/675;
}
}
}
.card[data-variant="diplome"] {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto 1fr;
h3 {
grid-column: 1 / 1;
grid-row: 1 / 1;
}
.tags {
grid-column: 1 / 1;
grid-row: 2 / -1;
align-self: flex-start;
}
.cover {
grid-column: 2 / -1;
grid-row: 1 / -1;
img {
--aspect-ratio: 1/1;
}
}
}
/* Breadcrumb */
.breadcrumb {
font-size: var(--text-size-meta);
margin-bottom: var(--space-md);
}
.breadcrumb ol {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
}
.breadcrumb li:not(:last-child)::after {
content: '/';
margin-inline: .5ch;
}
.breadcrumb a:not([aria-current="page"]) {
text-decoration: underline;
}
.breadcrumb a[aria-current="page"] {
color: var(--color-black);
}
/* Prose */
.prose > * {
max-width: var(--prose-max-width);
}
.prose > :not(.sr-only, [hidden]) + * {
margin-top: 1em;
}
.prose a {
color: currentColor;
text-decoration: underline var(--border-width) solid;
}
.prose a:hover {
text-decoration-color: currentColor;
}
/* Header */
.site-header {
display: grid;
grid-template-columns: 320px 1fr auto;
/* gap: var(--space-gutter); */
align-items: flex-start;
/* padding-top: calc(var(--space-gutter) * 2.5); */
border-bottom: var(--border);
margin-bottom: var(--space-regions);
}
#logo {
grid-column: 1 / 1;
max-width: 256px;
/* margin-top: -0.875em; */
}
#menu-toggle {
--button-hover-bg: var(--color-light);
--button-hover-text: var(--color-dark);
}
#menu {
grid-column: 1 / -1;
font-size: var(--text-size-heading-1);
line-height: 1.1;
font-weight: regular;
max-width: 25ch;
margin-left: auto;
}
#menu ul {
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
}
#menu ul > li:not(:last-child) a::after {
content: ",";
margin-right: .2em;
}
#menu a:hover,
#menu a[aria-current] {
text-decoration: underline;
text-decoration-thickness: var(--border-width);
}
#menu .selected a{
text-decoration: underline;
text-decoration-thickness: var(--border-width);
}
#direct-links{
font-size: var(--text-size-meta);
justify-content: flex-end;
margin-right: calc(var(--space-gutter)*4);
padding-top: 1px;
}
/* Submenu */
.submenu{
max-height: 0vh;
transition: max-height ease-in .5s;
overflow: hidden;
}
.submenu .inner{
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: var(--space-gutter);
margin-inline: var(--space-regions);
border-bottom: var(--border);
margin-bottom: var(--space-regions);
padding-top: calc(var(--space-regions)*1);
padding-bottom: calc(var(--space-regions)*3);
}
.submenu ul{
list-style-type: none;
margin: 0;
padding: 0;
line-height: 1.1;
}
.submenu ul li{
padding-top: 1em;
padding-right: 1ch;
}
.submenu-level-1{
/* text-transform: uppercase; */
font-weight: 700;
margin-bottom: 0.5em;
}
.submenu a{
text-decoration: underline 1px transparent;
position: relative;
}
.submenu a:hover{
text-decoration-color: black;
}
.submenu a:hover::after{
content: "→";
position: absolute;
right: -2ch;
top: 2px;
font-weight: normal;
/* opacity: 0.5; */
}
.submenu .submenu-level-1 a:hover::after{
top: -1px;
}
/* ECOLE */
.presentation-ecole{
grid-column: span 2;
border-left: var(--border);
padding-left: var(--space-gutter);
font-size: var(--text-size-heading-3);
font-weight: 500;
line-height: var(--leading-short);
max-width: 46ch;
min-height: 14rem;
}
#ecole header{
flex-direction: column;
align-items: flex-start;
}
#ecole header .tag{
padding: 10px 2ch;
margin-bottom: 4rem;
margin-left: 20px;
transform: rotate(-4deg);
white-space: nowrap;
}
/* Footer */
.site-footer {
--gap: 0;
column-gap: var(--space-gutter);
/* margin-top: calc(-1 * var(--border-width)); */
/* margin-top: 10vh; */
font-size: var(--font-size-meta);
line-height: 1.2;
font-weight: 500;
margin-inline: var(--space-regions);
margin-bottom: 6em;
}
.site-footer > * {
border-top: var(--border);
}
.site-footer nav {
text-transform: uppercase;
font-weight: 500;
}
.site-footer nav a{
display: block;
margin-bottom: 0.5rem;
}
.site-footer .region{
margin-inline: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.site-footer .logo-compact{
max-width: 150px;
margin-bottom: 2rem;
}
.site-footer p{
max-width: 40ch;
margin-bottom: 0.5rem;
}