mybuddy/core/static_src/scss/timeline.scss

157 lines
3.9 KiB
SCSS

@use 'sass:map';
// Adapted for Bootstrap 4 from https://www.bootply.com/SzXin8KDZJ.
$card-shadow: rgba(0, 0, 0, .175);
.timeline {
list-style: none;
padding: 10px 0;
position: relative;
&::before {
top: 0;
bottom: 0;
position: absolute;
content: ' ';
width: 3px;
background-color: map.get($theme-colors, 'primary');
left: 50%;
margin-left: -1.5px;
}
li {
margin-bottom: 10px;
position: relative;
&::before {
content: ' ';
display: table;
}
&::after {
content: ' ';
display: table;
clear: both;
}
.card {
width: 46%;
float: left;
position: relative;
box-shadow: 0 1px 6px $card-shadow;
&::before {
position: absolute;
top: 26px;
right: -15px;
display: inline-block;
border-top: 15px solid transparent;
border-left: 15px solid map.get($theme-colors, 'dark');
border-right: 0 solid map.get($theme-colors, 'dark');
border-bottom: 15px solid transparent;
content: ' ';
}
&::after {
position: absolute;
top: 27px;
right: -14px;
display: inline-block;
border-top: 14px solid transparent;
border-left: 14px solid map.get($theme-colors, 'dark');
border-right: 0 solid map.get($theme-colors, 'dark');
border-bottom: 14px solid transparent;
content: ' ';
}
}
&.timeline-inverted {
.card {
float: right;
&::before {
border-left-width: 0;
border-right-width: 15px;
left: -15px;
right: auto;
}
&::after {
border-left-width: 0;
border-right-width: 14px;
left: -14px;
right: auto;
}
}
}
.timeline-badge {
color: $white;
width: 50px;
height: 50px;
line-height: 50px;
font-size: 1.4em;
text-align: center;
position: absolute;
top: 16px;
left: 50%;
margin-left: -25px;
background-color: map.get($theme-colors, 'dark');
z-index: 100;
border-radius: 50%;
.arrow {
color: $white;
width: 50px;
height: 50px;
line-height: 50px;
font-size: 1.4em;
text-align: center;
position: absolute;
top: 26px;
left: 50%;
margin-left: -25px;
background-color: map.get($theme-colors, 'dark');
z-index: 100;
border-radius: 50%;
}
}
}
}
@include media-breakpoint-down(md) {
.timeline {
&::before {
left: 40px;
}
li {
.card {
float: right;
width: calc(100% - 90px);
&::before {
border-left-width: 0;
border-right-width: 15px;
left: -15px;
right: auto;
}
&::after {
border-left-width: 0;
border-right-width: 14px;
left: -14px;
right: auto;
}
}
.timeline-badge {
left: 15px;
margin-left: 0;
top: 16px;
}
}
}
}