251 lines
5.1 KiB
SCSS
251 lines
5.1 KiB
SCSS
.cd-h-timeline {
|
|
opacity: 0;
|
|
transition: opacity 0.2s;
|
|
}
|
|
|
|
.cd-h-timeline--loaded { // show the timeline after dates position has been set (using JavaScript)
|
|
opacity: 1;
|
|
}
|
|
|
|
.cd-h-timeline__container {
|
|
position: relative;
|
|
height: 6.25rem;
|
|
max-width: 50rem;
|
|
}
|
|
|
|
.cd-h-timeline__dates {
|
|
position: relative;
|
|
height: 100%;
|
|
margin: 0 2.5rem;
|
|
overflow: hidden;
|
|
|
|
&::after, &::before { // these are used to create a shadow effect at the sides of the timeline
|
|
content: '';
|
|
position: absolute;
|
|
z-index: 2;
|
|
top: 0;
|
|
height: 100%;
|
|
width: 1.25rem;
|
|
}
|
|
|
|
&::before {
|
|
#{$dlab-pos-left}: 0;
|
|
background: var(--primary);
|
|
}
|
|
|
|
&::after {
|
|
#{$dlab-pos-right}: 0;
|
|
background: var(--primary);
|
|
}
|
|
}
|
|
|
|
.cd-h-timeline__line { // grey line
|
|
position: absolute;
|
|
z-index: 1;
|
|
#{$dlab-pos-left}: 0;
|
|
top: 3.0625rem;
|
|
height: 0.125rem; // width will be set using JavaScript
|
|
background-color: var(--primary);
|
|
transition: transform 0.4s;
|
|
}
|
|
|
|
.cd-h-timeline__filling-line { // green filling line
|
|
position: absolute;
|
|
z-index: 1;
|
|
#{$dlab-pos-left}: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
background-color: $success;
|
|
transform: scaleX(0);
|
|
transform-origin: left center;
|
|
transition: transform 0.3s;
|
|
}
|
|
|
|
.cd-h-timeline__date {
|
|
position: absolute;
|
|
bottom: 0; // left position will be set using JavaScript
|
|
z-index: 2;
|
|
text-align: center;
|
|
font-size: 0.8em;
|
|
padding-bottom: var(--space-sm);
|
|
color: var(--cd-color-1);
|
|
user-select: none; // improve swipe
|
|
text-decoration: none;
|
|
|
|
&::after { // this is used to create the event spot
|
|
content: '';
|
|
position: absolute;
|
|
#{$dlab-pos-left}: 50%;
|
|
transform: translateX(-50%);
|
|
bottom: -0.3125rem;
|
|
height: 0.75rem;
|
|
width: 0.75rem;
|
|
border-radius: 50%;
|
|
border-width: 0.125rem;
|
|
border-style: solid;
|
|
border-color: var(--rgba-primary-6);
|
|
background-color: var(--primary);
|
|
transition: background-color 0.3s, border-color .3s;
|
|
}
|
|
|
|
&:hover::after {
|
|
background-color: $success;
|
|
border-color: $success;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.cd-h-timeline__date--selected {
|
|
pointer-events: none;
|
|
|
|
&::after {
|
|
background-color: $success;
|
|
border-color: $success;
|
|
}
|
|
}
|
|
|
|
.cd-h-timeline__date--older-event::after {
|
|
border-color: $success;
|
|
}
|
|
|
|
.cd-h-timeline__navigation { // arrows to navigate the timeline
|
|
position: absolute;
|
|
z-index: 1;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
height: 2.125rem;
|
|
width: 2.125rem;
|
|
border-radius: 50%;
|
|
border-width: 0.125rem;
|
|
border-style: solid;
|
|
border-color: var(--rgba-primary-6);
|
|
transition: border-color 0.3s;
|
|
|
|
&::after { // arrow icon
|
|
content: '';
|
|
position: absolute;
|
|
height: 1rem;
|
|
width: 1rem;
|
|
top: 50%;
|
|
#{$dlab-pos-left}: 50%;
|
|
transform: translateX(-50%) translateY(-50%);
|
|
background: url(../images/svg/cd-arrow.svg) no-repeat 0 0;
|
|
}
|
|
|
|
&:hover {
|
|
border-color: $success;
|
|
}
|
|
}
|
|
|
|
.cd-h-timeline__navigation--prev {
|
|
#{$dlab-pos-left}: 0;
|
|
transform: translateY(-50%) rotate(180deg);
|
|
}
|
|
|
|
.cd-h-timeline__navigation--next {
|
|
#{$dlab-pos-right}: 0;
|
|
}
|
|
|
|
.cd-h-timeline__navigation--inactive {
|
|
cursor: not-allowed;
|
|
|
|
&::after {
|
|
background-position: 0 -1rem;
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--rgba-primary-6);
|
|
}
|
|
}
|
|
|
|
.cd-h-timeline__events { // container of events info
|
|
position: relative;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
transition: height .4s;
|
|
}
|
|
|
|
.cd-h-timeline__event { // single event info
|
|
position: absolute;
|
|
z-index: 1;
|
|
width: 100%;
|
|
#{$dlab-pos-left}: 0;
|
|
top: 0;
|
|
transform: translateX(-100%);
|
|
padding: 0.0625rem 5%;
|
|
opacity: 0;
|
|
animation-duration: 0.4s;
|
|
animation-timing-function: ease-in-out;
|
|
}
|
|
|
|
.cd-h-timeline__event--selected { // selected event info
|
|
position: relative;
|
|
z-index: 2;
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.cd-h-timeline__event--enter-right,
|
|
.cd-h-timeline__event--leave-right { // animate event info
|
|
animation-name: cd-enter-right;
|
|
}
|
|
|
|
.cd-h-timeline__event--enter-left,
|
|
.cd-h-timeline__event--leave-left { // animate event info
|
|
animation-name: cd-enter-left;
|
|
}
|
|
|
|
.cd-h-timeline__event--leave-right,
|
|
.cd-h-timeline__event--leave-left {
|
|
animation-direction: reverse;
|
|
}
|
|
|
|
.cd-h-timeline__event-content {
|
|
max-width: 50rem;
|
|
}
|
|
|
|
.cd-h-timeline__event-title {
|
|
color: var(--cd-color-1);
|
|
font-family: var(--font-secondary);
|
|
font-weight: 700;
|
|
font-size: var(--text-xxxl);
|
|
}
|
|
|
|
.cd-h-timeline__event-date {
|
|
display: block;
|
|
font-style: italic;
|
|
margin: var(--space-xs) auto;
|
|
|
|
&::before {
|
|
content: '- ';
|
|
}
|
|
}
|
|
|
|
@keyframes cd-enter-right {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(100%);
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(0%);
|
|
}
|
|
}
|
|
|
|
@keyframes cd-enter-left {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(-100%);
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(0%);
|
|
}
|
|
}
|
|
|
|
|