102 lines
No EOL
2.8 KiB
CSS
102 lines
No EOL
2.8 KiB
CSS
@layer components {
|
|
.timeline {
|
|
@apply w-full px-5;
|
|
|
|
& > ul {
|
|
@apply list-none py-5 px-0 relative w-full max-w-5xl mx-auto;
|
|
|
|
/* Draw center line */
|
|
|
|
&:before {
|
|
@apply top-0 bottom-0 left-0 md:left-1/2 absolute content-[""] w-2;
|
|
@apply bg-primary/10 dark:bg-dark_primary/10;
|
|
@apply shadow-md shadow-primary/5 dark:shadow-dark_primary/5;
|
|
}
|
|
}
|
|
}
|
|
|
|
.timeline-element {
|
|
@apply relative flex flex-col md:flex-row justify-between;
|
|
|
|
/* Place point in center line */
|
|
|
|
&:before {
|
|
@apply content-[""] w-6 h-6 rounded-[50%] absolute top-5 left-0 md:left-1/2 -ml-2 z-50;
|
|
@apply bg-primary/10 dark:bg-dark_primary/10;
|
|
@apply shadow-md shadow-primary/5 dark:shadow-dark_primary/5;
|
|
}
|
|
|
|
&:nth-child(even) {
|
|
@apply md:flex-row-reverse;
|
|
|
|
.timeline-element__category {
|
|
@apply md:flex-row-reverse;
|
|
}
|
|
}
|
|
|
|
.timeline-element__info, .timeline-element__category {
|
|
@apply relative w-4/5 md:w-2/5 left-[10%] md:left-0;
|
|
@apply text-on_surface dark:text-dark_on_surface;
|
|
}
|
|
|
|
.timeline-element__category {
|
|
@apply top-5 flex md:justify-end mb-12;
|
|
}
|
|
|
|
.timeline-element__info {
|
|
& > details {
|
|
@apply mb-12 rounded-xl overflow-hidden relative;
|
|
@apply bg-primary/10 dark:bg-dark_primary/10;
|
|
@apply shadow-md shadow-primary/5 dark:shadow-dark_primary/5;
|
|
|
|
& > summary, & > div {
|
|
@apply p-5;
|
|
}
|
|
|
|
& > summary {
|
|
@apply relative block select-none cursor-pointer outline-none p-5 pr-10 font-semibold;
|
|
|
|
&:hover {
|
|
@apply bg-primary/20 dark:bg-dark_primary/20;
|
|
}
|
|
|
|
i {
|
|
@apply absolute right-5 h-full top-0 flex items-center;
|
|
|
|
& > svg {
|
|
@apply scale-125;
|
|
transition: transform 300ms ease;
|
|
}
|
|
}
|
|
}
|
|
|
|
&[open] {
|
|
& > summary {
|
|
& > i > svg {
|
|
@apply -rotate-180;
|
|
}
|
|
|
|
& ~ * {
|
|
animation: toggle 0.4s ease-in-out;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@keyframes toggle {
|
|
0% {
|
|
font-size: 0;
|
|
opacity: 0;
|
|
}
|
|
90% {
|
|
font-size: 1rem;
|
|
opacity: 0;
|
|
}
|
|
100% {
|
|
font-size: 1rem;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
} |