at the end of the day, it was inevitable

This commit is contained in:
Mo Elzubeir
2022-12-09 08:36:26 -06:00
commit 1218570914
1768 changed files with 887087 additions and 0 deletions
@@ -0,0 +1,35 @@
// Accordions
.accordion-wrapper {
@include border-radius($border-radius);
border: $gray-200 solid 1px;
& > .card {
box-shadow: 0 0 0 0 transparent;
& > .card-header {
padding: 1rem;
height: auto;
.btn:active,
.btn:focus,
.btn:hover {
text-decoration: none;
}
.form-heading {
p {
margin: 0;
}
}
}
.collapse {
border-bottom: transparent solid 1px;
&.show {
border-bottom-color: $gray-200;
}
}
}
}
+361
View File
@@ -0,0 +1,361 @@
// Badges
@each $color, $value in $theme-colors {
.badge-#{$color} {
@include badge-variant($value);
}
}
.badge {
font-weight: bold;
text-transform: uppercase;
padding: 5px 10px;
min-width: 19px;
}
.badge-light {
background: $white;
}
.badge-dot {
text-indent: -999em;
padding: 0;
width: 8px;
height: 8px;
border: transparent solid 1px;
@include border-radius(30px);
min-width: 2px;
}
.badge-dot-lg {
width: 10px;
height: 10px;
}
.badge-dot-xl {
width: 18px;
height: 18px;
position: relative;
&::before {
content: '';
width: 10px;
height: 10px;
@include border-radius($border-radius);
position: absolute;
left: 50%;
top: 50%;
margin: -5px 0 0 -5px;
background: $white;
}
}
.badge-dot-sm {
width: 6px;
height: 6px;
}
.btn {
.badge {
margin-inline-start: 8px;
}
.badge-dot {
position: absolute;
border: $white solid 2px;
top: -5px;
right: -5px;
width: 11px;
height: 11px;
&.badge-dot-lg {
width: 14px;
height: 14px;
}
&.badge-dot-sm {
width: 8px;
height: 8px;
border-width: 1px;
}
}
.badge-dot-inside {
top: 10px;
right: 10px;
}
}
.btn-sm {
.badge-dot-sm {
top: 1px;
right: 4px;
}
.badge-dot {
top: 0px;
right: 2px;
}
.badge-dot-lg {
top: -3px;
right: -2px;
}
.badge-pill {
position: absolute;
top: -4px;
right: -4px;
}
}
.badge-abs {
position: absolute;
right: -3px;
top: -3px;
}
// Avatars
.avatar-icon-wrapper {
display: inline-block;
margin-inline-end: .1rem;
position: relative;
.badge {
position: absolute;
right: -2px;
top: -2px;
&:empty {
display: block;
}
&.badge-bottom {
top: auto;
right: -2px;
bottom: -2px;
}
}
.badge-dot {
width: 10px;
height: 10px;
border: $white solid 2px;
&.badge-dot-lg {
width: 14px;
height: 14px;
border: $white solid 2px;
top: 0;
right: 0;
&.badge-bottom {
top: auto;
right: 0;
bottom: 0;
}
}
}
}
.avatar-icon-add {
.avatar-icon {
background: $dropdown-link-hover-bg;
border: lighten($primary, 15%) dashed 1px;
color: $primary;
text-align: center;
opacity: .6;
i {
font-style: normal;
vertical-align: middle;
font-size: $h4-font-size;
display: block;
height: 100%;
}
}
&:hover {
cursor: pointer;
.avatar-icon {
opacity: 1;
}
}
}
a.avatar-icon-wrapper {
&:hover {
.avatar-icon {
opacity: .8;
}
}
}
.avatar-icon {
display: block;
width: 44px;
height: 44px;
transition: all .2s;
opacity: 1;
@include border-radius(50px);
&.rounded {
@include border-radius(($border-radius-lg * 1.3) !important);
}
}
.avatar-icon-xl {
.avatar-icon {
width: 64px;
height: 64px;
}
&.avatar-icon-add {
i {
font-size: $h2-font-size;
}
}
}
.avatar-icon-lg {
.avatar-icon {
width: 54px;
height: 54px;
}
&.avatar-icon-add {
i {
font-size: $h3-font-size;
}
}
}
.avatar-icon-sm {
.avatar-icon {
width: 34px;
height: 34px;
}
&.avatar-icon-add {
i {
font-size: $font-size-lg;
}
}
}
.avatar-icon-xs {
.avatar-icon {
width: 26px;
height: 26px;
transition: transform .2s;
}
&.avatar-icon-add {
i {
line-height: 26px;
font-size: $font-size-base;
}
}
&:hover {
.avatar-icon {
transform: scale(2);
}
}
}
.avatar-icon {
border: $white solid 3px;
overflow: hidden;
img {
width: 100%;
height: 100%;
}
}
.avatar-wrapper-overlap {
.avatar-icon-wrapper {
z-index: 5;
margin-inline-start: -18px;
&:hover {
z-index: 7;
}
&.avatar-icon-xl {
margin-inline-start: -30px;
}
&.avatar-icon-lg {
margin-inline-start: -24px;
}
&.avatar-icon-sm {
margin-inline-start: -14px;
}
&.avatar-icon-xs {
margin-inline-start: -10px;
}
&.avatar-icon-add,
&:first-child {
margin-inline-start: 0 !important;
}
}
}
// Badge Pulse
@-webkit-keyframes sploosh {
0% {
box-shadow: 0 0 0 0px rgba(#333, .2);
}
100% {
box-shadow: 0 0 0 8px rgba(#333, 0);
}
}
@-webkit-keyframes pulse {
0% {
-webkit-transform: scale(1);
}
16.5% {
-webkit-transform: scale(1.2);
}
33% {
-webkit-transform: scale(1.1);
}
100% {
-webkit-transform: scale(1);
}
}
.badge-pulse {
-webkit-animation: pulse 2s ease-out;
-webkit-animation-iteration-count: infinite;
position: relative;
&::before,
&::after {
content: '';
position: absolute;
top: 0;
left: 0;
border: 0;
width: 100%;
height: 100%;
border-radius: 50%;
-webkit-animation: sploosh 2s cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-animation-iteration-count: infinite;
}
&::after {
-webkit-animation-delay: .33s;
-webkit-animation-duration: 2.2s;
}
}
+464
View File
@@ -0,0 +1,464 @@
// Buttons
// 2x Outline Border
.btn-outline-2x {
border-width: 2px;
}
.btn-group {
.btn {
font-size: 0.8rem;
font-weight: 500;
}
.btn-outline-2x + .btn-outline-2x {
margin-inline-start: -2px;
}
.btn-square {
@include border-radius(0);
}
}
.btn {
font-size: 0.8rem;
font-weight: 500;
// Pills Buttons
&.btn-pill.btn-wide,
&.btn-pill {
@include border-left-radius(50px);
@include border-right-radius(50px);
}
}
// Dashed Border
.btn-dashed {
border-style: dashed;
}
// Icon Buttons
.btn-icon {
vertical-align: bottom;
&.btn-icon-right {
.btn-icon-wrapper {
margin-inline-start: ($spacer / 2);
margin-inline-end: 0;
}
}
.btn-icon-wrapper {
margin-inline-end: ($spacer / 2);
margin-inline-start: 0;
margin-top: 0;
font-size: 17px;
vertical-align: middle;
transition: color .1s;
display: inline-block;
}
&.btn-link {
text-decoration: none;
}
&.btn-lg:not(.btn-block) {
.btn-icon-wrapper {
font-size: 25px;
}
}
&.btn-sm:not(.btn-block) {
.btn-icon-wrapper {
font-size: 16px;
}
}
}
.btn-icon-only {
.btn-icon-wrapper {
margin-inline-start: 0;
margin-inline-end: 0;
}
}
// Hover Shine {
.btn-hover-shine {
position: relative;
&:after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
background-color: rgba(255, 255, 255, 0.4);
-webkit-transition: none;
-moz-transition: none;
transition: none;
}
&:hover:after {
width: 120%;
background-color: rgba(255, 255, 255, 0);
transition: all 0.4s ease-in-out;
}
&.btn-pill {
&::after {
@include border-left-radius(50px);
@include border-right-radius(50px);
}
}
}
// Vertical Icons {
.btn-icon-vertical {
padding-top: ($btn-block-spacing-y * 2);
padding-bottom: ($btn-block-spacing-y * 2);
.btn-icon-wrapper {
display: block;
font-size: 200%;
margin: 5px 0;
opacity: .6;
}
&.btn-link {
text-decoration: none;
}
&.btn-lg:not(.btn-block) {
.btn-icon-wrapper {
font-size: 25px;
}
}
&.btn-sm:not(.btn-block) {
.btn-icon-wrapper {
font-size: 16px;
}
}
&:active,
&.active,
&:hover {
.btn-icon-wrapper {
opacity: 1;
}
}
&.btn-icon-bottom {
.btn-icon-wrapper {
margin: ($spacer / 5) 0 5px;
}
}
&.btn-transition-text {
.btn-icon-wrapper {
transition: all .2s !important;
}
&:hover {
.btn-icon-wrapper {
transform: scale(1.3);
}
}
&.btn-transition-alt {
&:hover {
.btn-icon-wrapper {
color: $white !important;
}
}
}
}
}
.btn-icon-lg {
font-size: $h1-font-size !important;
}
// Buttons Transitions
.btn-transition {
color: $gray-600;
border-color: $gray-200;
background-color: none;
&.btn-outline-link {
border-color: transparent;
background-color: transparent;
&:hover {
color: $primary;
background: $gray-100;
}
}
&.disabled,
&:disabled {
color: $gray-600;
border-color: $gray-200;
}
&:hover {
.btn-icon-wrapper {
transition: none;
}
}
}
.btn-transition-alt {
&:hover {
.icon-gradient {
-webkit-background-clip: initial;
-webkit-text-fill-color: initial;
background-clip: initial;
text-fill-color: initial;
background: none !important;
color: $white;
}
}
}
// Square Buttons
.btn-square {
@include border-radius(0 !important);
}
// Wide buttons
.btn {
&.btn-wide {
@include button-size($btn-padding-y, ($btn-padding-x * 2), $font-size-xs, $btn-line-height, $btn-border-radius);
}
}
.btn-lg {
&.btn-wide {
@include button-size($btn-padding-y-lg, ($btn-padding-x-lg * 2), $font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);
}
}
.btn-sm {
&.btn-wide {
@include button-size($btn-padding-y-sm, ($btn-padding-x-sm * 2), $font-size-xs, $btn-line-height-sm, $btn-border-radius-sm);
}
}
// Dropdown toggle
.dropdown-toggle {
&::after {
position: relative;
top: 2px;
opacity: .8;
}
}
.dropright {
.dropdown-toggle {
&::after {
top: 0;
}
}
}
.dropdown-toggle-split {
border-left: rgba(255, 255, 255, .1) solid 1px;
}
// Buttons Gradients
$btn-gradients: ();
$gradient-primary: $brand;
$gradient-secondary: $gray-600;
$gradient-success: $green;
$gradient-info: $cyan;
$gradient-warning: $yellow;
$gradient-danger: $red;
$gradient-light: $blue-light;
$gradient-dark: $gray-800;
$gradient-focus: $indigo;
$gradient-alt: $purple;
$gradinet-percent: 15%;
$btn-gradients: map_merge(
(
"primary": (
darken($gradient-primary, $gradinet-percent), // color-start
$gradient-primary, // color-end
0%, // gr-start
),
"secondary": (
darken($gradient-secondary, $gradinet-percent), // color-start
$gradient-secondary, // color-end
0%, // gr-start
),
"success": (
darken($gradient-success, $gradinet-percent), // color-start
$gradient-success, // color-end
0%, // gr-start
),
"info": (
darken($gradient-info, $gradinet-percent), // color-start
$gradient-info, // color-end
0%, // gr-start
),
"warning": (
darken($gradient-warning, $gradinet-percent), // color-start
$gradient-warning, // color-end
0%, // gr-start
),
"danger": (
darken($gradient-danger, $gradinet-percent), // color-start
$gradient-danger, // color-end
0%, // gr-start
),
"focus": (
darken($gradient-focus, $gradinet-percent), // color-start
$gradient-focus, // color-end
0%, // gr-start
),
"alternate": (
darken($gradient-alt, $gradinet-percent), // color-start
$gradient-alt, // color-end
0%, // gr-start
),
"light": (
darken($gradient-light, $gradinet-percent), // color-start
$gradient-light, // color-end
0%, // gr-start
),
"dark": (
darken($gradient-dark, $gradinet-percent), // color-start
$gradient-dark, // color-end
0%, // gr-start
),
),
$btn-gradients
);
@mixin btn-grad-variant($color-start, $color-end, $gr-start) {
background-image: linear-gradient(140deg, $color-start -30%, $color-end 90%);
background-color: $color-start;
border-color: $color-start;
color: color-yiq(darken($color-start, 10%));
&.active,
&:active,
&:not(:disabled):not(.disabled):hover {
background-image: linear-gradient(120deg, darken($color-start, 3%) 0%, darken($color-end, 3%) 100%);
color: color-yiq(darken($color-start, 10%));
border-color: darken($color-start, 10%);
}
&:focus,
&.focus,
&:active,
&.active {
color: color-yiq(darken($color-start, 10%)) !important;
border-color: darken($color-end, 20%) !important;
}
}
@each $grad, $colors in $btn-gradients {
$color: nth($colors, 1);
$color1: nth($colors, 2);
$color2: nth($colors, 3);
.btn-gradient-#{$grad} {
@include btn-grad-variant($color, $color1, $color2);
&.btn-shadow {
box-shadow: 0 0.125rem 0.625rem rgba($color1, .4), 0 0.0625rem 0.125rem rgba($color1, .5);
&:hover {
box-shadow: 0 0.125rem 0.625rem rgba($color1, .5), 0 0.0625rem 0.125rem rgba($color1, .6);
}
}
}
}
.btn-shadow {
&.active {
box-shadow: 0 0 0 0 transparent !important;
}
}
// Links
$link-color: theme-color("primary");
$link-hover-color: darken($link-color, 15%);
// Generate Buttons
@each $color, $value in $theme-colors {
.btn-#{$color} {
@include button-variant($value, $value);
&.btn-shadow {
box-shadow: 0 0.125rem 0.625rem rgba($value, .4), 0 0.0625rem 0.125rem rgba($value, .5);
&:hover {
box-shadow: 0 0.125rem 0.625rem rgba($value, .5), 0 0.0625rem 0.125rem rgba($value, .6);
}
}
}
}
@each $color, $value in $theme-colors {
.btn-shadow-#{$color} {
&:hover {
box-shadow: 0 0.125rem 0.625rem rgba($value, .4), 0 0.0625rem 0.125rem rgba($value, .5);
}
}
}
@each $color, $value in $theme-colors {
.btn-outline-#{$color} {
@include button-outline-variant($value);
&.btn-shadow {
box-shadow: 0 0.125rem 0.625rem rgba($value, .4), 0 0.0625rem 0.125rem rgba($value, .5);
&.active:hover,
&.disabled:hover,
&:active:hover,
&:disabled:hover {
box-shadow: 0 0.125rem 0.625rem rgba($value, .5), 0 0.0625rem 0.125rem rgba($value, .6);
}
&:hover {
box-shadow: (0px 5px 15px 2px rgba($value, 0.19));
}
}
}
}
.btn {
position: relative;
@include transition($btn-transition);
}
.btn-light {
border-color: darken(#f5f5f5, 10%);
}
.btn-outline-light {
color: darken(#f5f5f5, 40%);
}
+226
View File
@@ -0,0 +1,226 @@
// CARDS
.card {
box-shadow: $box-shadow-default;
border-width: 0;
transition: all .2s;
& > .dropdown-menu-header {
margin: 0;
.dropdown-menu-header-inner {
@include border-top-radius($card-border-radius);
}
}
&.text-dark.text-white,
&.text-white {
.card-footer,
.card-header {
background: rgba(255, 255, 255, .1);
color: rgba(255, 255, 255, .9);
}
}
&.text-dark.text-white {
.card-footer,
.card-header {
color: rgba(0, 0, 0, .9);
}
}
.card-footer {
display: flex;
align-items: center;
}
}
.btn-actions-pane-right {
margin-inline-start: auto;
white-space: nowrap;
}
.btn-actions-pane-left {
margin-inline-end: auto;
}
.actions-icon-btn {
.btn-icon-only {
padding-inline-start: 0;
padding-inline-end: 0;
.btn-icon-wrapper {
font-size: 1.3rem;
width: 30px;
text-align: center;
}
color: $gray-700;
&:hover {
color: $primary;
}
}
}
.card-header,
.card-title {
text-transform: uppercase;
color: rgba(darken($primary, 20%), .7);
font-weight: bold;
font-size: $font-size-base;
}
.card-header {
display: flex;
align-items: center;
border-bottom-width: 1px;
padding-top: 0;
padding-bottom: 0;
padding-inline-end: ($card-spacer-x / 2);
height: 3.5rem;
&.no-border {
border: 0;
padding: 0;
height: auto;
}
.menu-header-subtitle {
display: block;
}
&.card-header-tab {
.nav {
width: auto;
margin-inline-start: auto;
}
.card-header-title {
display: flex;
align-items: center;
white-space: nowrap;
}
}
.header-icon {
font-size: ($font-size-lg * 1.5);
margin-inline-end: ($card-spacer-x / 2);
}
& > .nav {
margin-inline-start: -($card-spacer-x / 2);
height: 100%;
width: 100%;
.nav-item {
position: relative;
height: 100%;
display: flex;
align-items: center;
}
.nav-link {
text-transform: none;
width: 100%;
display: block;
color: $gray-700;
&::before {
content: '';
@include border-radius(15px);
background: $primary;
transition: all .2s;
height: 4px;
width: 100%;
position: absolute;
left: 0;
bottom: -2px;
opacity: 0;
}
&:hover {
color: $primary;
}
&.active {
color: $primary;
&::before {
opacity: 1;
}
}
}
}
&.card-header-tab-animation {
.nav .nav-link {
&::before {
transform: scale(0);
opacity: 1;
width: 90%;
left: 5%;
}
&.active,
&:hover {
&::before {
transform: scale(1);
}
}
}
}
}
.card-border {
box-shadow: 0 0 0 transparent;
border-width: 1px;
}
.card-hover-shadow {
&:hover {
box-shadow: 0 0.46875rem 2.1875rem rgba(darken($primary, 50%), .03),
0 0.9375rem 1.40625rem rgba(darken($primary, 50%), .03),
0 0.25rem 0.53125rem rgba(darken($primary, 50%), .05),
0 0.125rem 0.1875rem rgba(darken($primary, 50%), .03);
}
}
.card-hover-shadow-2x {
&:hover {
box-shadow: 0 0.66875rem 2.3875rem rgba(darken($primary, 50%), .03),
0 1.1375rem 1.60625rem rgba(darken($primary, 50%), .03),
0 0.45rem 0.73125rem rgba(darken($primary, 50%), .05),
0 0.325rem 0.3875rem rgba(darken($primary, 50%), .03);
}
}
.card-subtitle {
margin-bottom: $card-spacer-y;
font-size: $font-size-sm;
color: rgba(darken($primary, 40%), .55);
}
@each $color, $value in $theme-colors {
.card-shadow-#{$color} {
box-shadow: 0 0.46875rem 2.1875rem rgba($value, .03),
0 0.9375rem 1.40625rem rgba($value, .03),
0 0.25rem 0.53125rem rgba($value, .05),
0 0.125rem 0.1875rem rgba($value, .03);
}
}
// Large Card Header
.card-header-lg {
padding: ($card-spacer-y * 2) ($card-spacer-x * 2);
height: auto;
}
.sticky-active-class {
.sticky-inner-wrapper {
& > div {
box-shadow: $box-shadow-default;
}
}
}
+52
View File
@@ -0,0 +1,52 @@
// Chat
.chat-box-wrapper {
display: flex;
clear: both;
padding: ($layout-spacer-x / 2);
& + .chat-box-wrapper {
padding-top: 0;
}
.chat-box {
box-shadow: 0 0 0 transparent;
position: relative;
opacity: 1;
background: $dropdown-link-hover-bg;
border: 0;
padding: ($layout-spacer-x / 2) $layout-spacer-x;
@include border-radius(30px);
border-top-left-radius: $border-radius;
flex: 1;
display: flex;
max-width: 50%;
min-width: 100%;
text-align: start;
& + small {
text-align: start;
padding: ($layout-spacer-x / 3) 0 0;
margin-inline-start: $layout-spacer-x;
display: block;
}
}
&.chat-box-wrapper-right {
text-align: end;
.chat-box {
@include border-radius(30px);
border-top-left-radius: 30px;
border-top-right-radius: $border-radius;
margin-inline-start: auto;
& + small {
text-align: end;
margin-inline-end: $layout-spacer-x;
margin-inline-start: 0;
}
}
}
}
+367
View File
@@ -0,0 +1,367 @@
// Dropdown
.dropdown-menu {
box-shadow: 0 0.46875rem 2.1875rem rgba(darken($primary, 50%), .03),
0 0.9375rem 1.40625rem rgba(darken($primary, 50%), .03),
0 0.25rem 0.53125rem rgba(darken($primary, 50%), .05),
0 0.125rem 0.1875rem rgba(darken($primary, 50%), .03);
font-size: $font-size-base;
margin: $dropdown-spacer;
&.dropdown-menu-right {
right: 0 !important;
}
.dropdown-header {
text-transform: uppercase;
font-size: $font-size-base / 1.2;
color: $primary;
font-weight: bold;
}
.dropdown-item {
font-size: $font-size-base;
display: flex;
align-items: center;
transition: background-color 0.3s ease, color 0.3s ease;
cursor: pointer;
z-index: 6;
position: relative;
.dropdown-icon {
font-size: 1rem;
margin-inline-end: ($dropdown-padding-y / 2);
width: 30px;
text-align: center;
opacity: .3;
margin-inline-start: -10px;
}
&:hover {
.dropdown-icon {
opacity: .7;
}
}
}
&.dropdown-menu-shadow {
box-shadow: 0 0.66875rem 2.3875rem rgba(darken($primary, 50%), .03),
0 1.1375rem 1.60625rem rgba(darken($primary, 50%), .03),
0 0.45rem 0.73125rem rgba(darken($primary, 50%), .05),
0 0.325rem 0.3875rem rgba(darken($primary, 50%), .03);
}
}
.dropdown-menu-rounded {
@include border-radius(10px);
padding: $dropdown-padding-y;
.dropdown-item {
@include border-radius(30px);
}
.dropdown-divider {
margin-inline-start: -$dropdown-padding-y;
margin-inline-end: -$dropdown-padding-y;
}
.dropdown-menu-header {
margin-inline-start: -$dropdown-padding-y;
margin-inline-end: -$dropdown-padding-y;
@include border-top-radius(10px);
}
.menu-header-image,
.dropdown-menu-header-inner {
@include border-top-radius(10px);
}
}
.dropdown-menu-hover-link {
.dropdown-item {
&:hover {
background: none;
color: $primary;
}
}
}
.dropdown-menu-hover-primary {
.dropdown-item {
&:hover {
background: $primary;
color: $white;
}
}
}
.dropdown-menu {
&.dropdown-menu-lg {
min-width: 22rem;
}
&.dropdown-menu-xl {
min-width: 25rem;
}
}
// Dropdown header
.dropdown-menu {
.dropdown-menu-header,
.menu-header-image,
.dropdown-menu-header-inner {
@include border-top-radius($dropdown-border-radius);
}
}
.dropdown-menu-header {
color: $white;
margin-top: -$dropdown-padding-y;
margin-bottom: $dropdown-padding-y;
position: relative;
z-index: 6;
.dropdown-menu-header-inner {
margin: -1px -1px 0;
padding: ($spacer * 1.5) ($spacer / 2);
position: relative;
}
.menu-header-image {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
z-index: 8;
opacity: .25;
filter: grayscale(80%);
background-size: cover;
}
.menu-header-content {
text-align: center;
position: relative;
z-index: 10;
&.text-left {
padding-inline-start: ($spacer / 2);
}
&.btn-pane-right {
padding-inline-start: ($spacer / 2);
padding-inline-end: ($spacer / 2);
display: flex;
align-content: center;
align-items: center;
text-align: start;
.menu-header-btn-pane {
margin: 0 0 0 auto;
}
}
.menu-header-btn-pane {
margin-top: 10px;
margin-bottom: 3px;
}
}
& + .grid-menu {
margin-top: -$dropdown-padding-y;
}
}
.menu-header-title {
font-weight: 500;
font-size: $h5-font-size;
margin: 0;
}
.menu-header-subtitle {
font-size: $font-family-base;
margin: 5px 0 0;
opacity: .8;
}
.dropdown-menu {
.grid-menu {
margin-bottom: -$dropdown-padding-y;
padding: 1px;
[class*="col-"] {
padding: $dropdown-padding-y;
}
}
.grid-menu-xl {
margin-bottom: -($dropdown-padding-y / 1.35);
[class*="col-"] {
padding: 0;
}
}
}
// Dropdown toggle
.dropdown-toggle {
&::after {
position: relative;
top: 2px;
opacity: .8;
margin-inline-start: 5px;
}
}
.dropdown-toggle-split {
&::after {
margin-inline-start: 0;
}
}
.dropright {
.dropdown-toggle {
&::after {
top: 0;
}
}
}
.dropdown-toggle-split {
border-left: rgba(255, 255, 255, .1) solid 2px;
}
// Dropdown Indicators
.dropdown-menu {
&::before,
&::after {
position: absolute;
width: 14px;
height: 14px;
left: 5px;
top: -5px;
transform: rotate(45deg);
border-radius: 4px;
content: '';
display: block;
z-index: 5;
}
&::before {
background: $dropdown-bg;
z-index: 5;
}
&::after {
top: -6px;
background: $dropdown-border-color;
z-index: 4;
}
&[data-placement="top-start"] {
&::before,
&::after {
top: auto;
bottom: -5px;
}
&::after {
bottom: -6px;
}
}
&[data-placement="left-start"] {
&::before,
&::after {
left: auto;
right: -5px;
top: 5px;
}
&::after {
top: 5px;
right: -6px;
}
}
&[data-placement="right-start"] {
&::before,
&::after {
right: auto;
left: -5px;
top: 5px;
}
&::after {
top: 5px;
left: -6px;
}
}
&.dropdown-menu-right {
&::before,
&::after {
left: auto;
right: 6px;
}
&::after {
right: 6px;
}
}
&.rm-pointers {
&::before,
&::after {
display: none;
}
}
}
// Dropdown Mega Menu
.dropdown-mega-menu {
width: 56rem;
padding: $spacer;
.nav-item.nav-item-header {
text-transform: none;
font-size: $h6-font-size;
padding-top: 0;
font-weight: normal;
}
.grid-menu {
margin-bottom: 0;
}
}
.dropdown-mega-menu-sm {
width: 40rem;
}
// Dropdown Inline
body .dropdown-menu.dropdown-menu-inline {
border: 0;
position: static !important;
box-shadow: 0 0 0 transparent;
background: transparent;
@include border-radius(0);
display: inline-block;
float: none;
left: 0 !important;
top: 0 !important;
width: 100% !important;
transform: translateY(0) !important;
&::before,
&::after {
display: none;
}
}
@@ -0,0 +1,226 @@
// Wizard Multi Step
.forms-wizard {
margin: 0;
padding: 0;
list-style-type: none;
width: 100%;
display: table;
table-layout: fixed;
@include border-radius($border-radius);
li {
display: table-cell;
vertical-align: middle;
text-align: center;
cursor: pointer;
font-size: $font-size-lg / 1.1;
padding: ($layout-spacer-x / 1.5) 0;
color: $gray-500;
position: relative;
&::after,
&::before {
position: absolute;
height: 4px;
top: 50%;
margin-top: -($layout-spacer-x / 1.5);
width: 50%;
content: '';
background: $gray-300;
z-index: 5;
transition: all .2s;
}
&::after {
left: 50%;
}
&::before {
left: 0;
}
&:first-child {
&::before {
@include border-left-radius(20px);
}
}
&:last-child {
&::after {
@include border-right-radius(20px);
}
}
em {
font-style: normal;
font-size: $h4-font-size;
background: $gray-400;
color: $white;
text-align: center;
padding: 0;
width: 40px;
height: 40px;
line-height: 40px;
@include border-radius(50px);
display: block;
margin: 0 auto 0.5rem;
position: relative;
z-index: 7;
transition: all .2s;
}
&.form-wizard-step-doing {
color: $gray-700;
em {
background: $primary;
}
&::before {
background: $primary;
}
}
&.form-wizard-step-done {
em {
font-family: 'Linearicons-Free';
@extend .lnr-checkmark-circle;
background: $success;
overflow: hidden;
&::before {
width: 42px;
height: 42px;
font-size: 1.2rem;
line-height: 40px;
text-align: center;
display: block;
}
}
&::after,
&::before {
background: $success;
}
}
&:hover {
color: $gray-600;
}
}
}
// Form Wizard Alternate
.forms-wizard-alt {
.forms-wizard {
li {
font-size: $font-size-base;
em {
width: 14px;
height: 14px;
line-height: 14px;
text-indent: -999rem;
border: $white solid 2px;
margin: -7px auto 0;
}
}
}
}
.forms-wizard-vertical {
.forms-wizard {
display: block;
width: 30%;
float: left;
padding: 0 $layout-spacer-x $layout-spacer-x 0;
li {
text-align: start;
display: flex;
align-items: center;
align-content: flex-start;
padding: ($layout-spacer-x / 2);
margin-bottom: ($layout-spacer-x / 3);
@include border-radius($border-radius-lg);
transition: all .2s;
&::before,
&::after {
display: none;
}
em {
margin: 0 ($layout-spacer-x / 2) 0 0;
}
&:hover {
background: $gray-200;
}
&.form-wizard-step-doing {
background: $primary;
color: $white;
em {
background: rgba(255,255,255,.2);
}
}
}
}
.form-wizard-content {
width: 70%;
overflow: auto;
}
}
@media screen and (min-width: 360px) and (max-width: 812px) {
.forms-wizard-vertical {
.forms-wizard {
display: block;
width: 50%;
float: left;
padding: 0 $layout-spacer-x $layout-spacer-x 0;
li {
text-align: start;
display: flex;
align-items: center;
align-content: flex-start;
padding: ($layout-spacer-x / 2);
margin-bottom: ($layout-spacer-x / 3);
@include border-radius($border-radius-lg);
transition: all .2s;
&::before,
&::after {
display: none;
}
em {
margin: 0 ($layout-spacer-x / 2) 0 0;
}
&:hover {
background: $gray-200;
}
&.form-wizard-step-doing {
background: $primary;
color: $white;
em {
background: rgba(255,255,255,.2);
}
}
}
}
.form-wizard-content {
width: 50%;
overflow: auto;
}
}
}
+72
View File
@@ -0,0 +1,72 @@
// Input groups
.input-group {
.input-group-prepend {
div:not([class]) .react-datepicker__input-container,
& + div .react-datepicker__input-container {
.form-control {
@include border-left-radius(0);
@include border-right-radius($input-border-radius !important);
}
}
}
& > div:not([class]) {
position: relative;
flex: 1 1 auto;
width: 1%;
& .react-datepicker__input-container {
.form-control {
@include border-right-radius(0);
}
}
}
}
.input-group {
.input-group-prepend {
& + div {
position: relative;
flex: 1 1 auto;
width: 1%;
}
}
& > .react-datepicker-wrapper {
position: relative;
flex: 1 1 auto;
width: 1%;
& > .react-datepicker__input-container > .form-control {
@include border-right-radius(0);
}
}
}
// Forms Legend
legend {
font-size: $font-size-base;
font-weight: bold;
}
// Headings
.form-heading {
font-size: $font-size-lg;
margin: 0;
color: $primary;
p {
color: $gray-600;
padding: 0.3rem 0 0;
font-size: $font-size-base;
}
}
.custom-select {
-webkit-appearance: none;
-moz-appearance: none;
}
+76
View File
@@ -0,0 +1,76 @@
$primary-color: $primary !default;
$ball-size: 15px !default;
$margin: 2px !default;
$line-height: 35px !default;
$line-width: 4px !default;
@mixin global-bg() {
background-color: $primary-color;
}
@mixin global-animation() {
animation-fill-mode: both;
}
@mixin balls() {
@include global-bg();
width: $ball-size;
height: $ball-size;
border-radius: 100%;
margin: $margin;
}
@mixin lines() {
@include global-bg();
width: $line-width;
height: $line-height;
border-radius: 2px;
margin: $margin;
}
/**
* Dots
*/
@import '../../../node_modules/loaders.css/src/animations/ball-pulse';
@import '../../../node_modules/loaders.css/src/animations/ball-pulse-sync';
@import '../../../node_modules/loaders.css/src/animations/ball-scale';
@import '../../../node_modules/loaders.css/src/animations/ball-rotate';
@import '../../../node_modules/loaders.css/src/animations/ball-clip-rotate';
@import '../../../node_modules/loaders.css/src/animations/ball-clip-rotate-pulse';
@import '../../../node_modules/loaders.css/src/animations/ball-clip-rotate-multiple';
@import '../../../node_modules/loaders.css/src/animations/ball-scale-ripple';
@import '../../../node_modules/loaders.css/src/animations/ball-scale-ripple-multiple';
@import '../../../node_modules/loaders.css/src/animations/ball-beat';
@import '../../../node_modules/loaders.css/src/animations/ball-scale-multiple';
@import '../../../node_modules/loaders.css/src/animations/ball-triangle-trace';
@import '../../../node_modules/loaders.css/src/animations/ball-pulse-rise';
@import '../../../node_modules/loaders.css/src/animations/ball-grid-beat';
@import '../../../node_modules/loaders.css/src/animations/ball-grid-pulse';
@import '../../../node_modules/loaders.css/src/animations/ball-spin-fade-loader';
@import '../../../node_modules/loaders.css/src/animations/ball-spin-loader';
@import '../../../node_modules/loaders.css/src/animations/ball-zig-zag';
@import '../../../node_modules/loaders.css/src/animations/ball-zig-zag-deflect';
/**
* Lines
*/
@import '../../../node_modules/loaders.css/src/animations/line-scale';
@import '../../../node_modules/loaders.css/src/animations/line-scale-random';
@import '../../../node_modules/loaders.css/src/animations/line-scale-pulse-out';
@import '../../../node_modules/loaders.css/src/animations/line-scale-pulse-out-rapid';
@import '../../../node_modules/loaders.css/src/animations/line-spin-fade-loader';
/**
* Misc
*/
@import '../../../node_modules/loaders.css/src/animations/triangle-skew-spin';
@import '../../../node_modules/loaders.css/src/animations/square-spin';
@import '../../../node_modules/loaders.css/src/animations/pacman';
@import '../../../node_modules/loaders.css/src/animations/cube-transition';
@import '../../../node_modules/loaders.css/src/animations/semi-circle-spin';
@import '../../components/common/Loader/Loader.scss'
+24
View File
@@ -0,0 +1,24 @@
// Modals
.modal-header {
border-bottom: 0;
}
.modal-title {
font-size: 1.125rem;
}
.modal-footer {
background: $gray-100;
}
/*
.modal-footer {
@include border-bottom-radius($border-radius);
}
*/
.modal-dialog {
box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14),
0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
// box-shadow: $box-shadow-lg-default;
// @include border-radius($border-radius);
}
+143
View File
@@ -0,0 +1,143 @@
// NAVS
.nav-item {
.nav-link {
font-weight: normal;
}
}
.nav-link {
display: flex;
align-items: center;
transition: background-color 0.3s ease, color 0.3s ease;
cursor: pointer;
.nav-link-icon {
color: $primary;
font-size: 1rem;
width: 30px;
text-align: center;
opacity: .45;
margin-inline-start: -10px;
}
&:hover, &.active {
color: $gray-700;
.nav-link-icon {
opacity: .9;
color: $primary;
}
}
&:disabled,
&.disabled {
.nav-link-icon {
opacity: .3;
}
}
}
.nav-item {
&.nav-item-header {
text-transform: uppercase;
font-size: $font-size-base / 1.2;
color: $gray-600;
font-weight: bold;
padding: $nav-link-padding-y $nav-link-padding-x;
}
&.nav-item-btn {
padding: $nav-link-padding-y $nav-link-padding-x;
}
&.nav-item-divider {
margin: $nav-link-padding-y 0;
height: 1px;
overflow: hidden;
background: $gray-300;
}
}
.nav {
.badge {
margin-inline-start: 8px;
}
}
.nav-pills {
.nav-link {
&.active,
&.active:hover {
color: $white;
.nav-link-icon {
color: $white;
opacity: .8;
}
}
&:hover {
color: $gray-700 !important;
}
}
}
// Grid Menus
.grid-menu {
[class*="col-"] {
border-right: $border-color solid 0;
border-bottom: $border-color solid 1px;
&:hover {
z-index: 5;
}
}
@include media-breakpoint-between(sm, xl) {
[class*="col-"]:nth-last-child(-n+2) {
border-bottom-width: 0;
}
[class*="col-"]:nth-child(1n) {
border-right-width: 1px;
}
[class*="col-"]:nth-child(2n) {
border-right-width: 0;
}
}
[class*="col-"]:nth-last-child(-n+1) {
border-bottom-width: 0;
}
&.grid-menu-3col {
@include media-breakpoint-up(xl) {
[class*="col-"]:nth-last-child(-n+3) {
border-bottom-width: 0;
}
[class*="col-"]:nth-child(2n) {
border-right-width: 1px;
}
[class*="col-"]:nth-child(3n) {
border-right-width: 0;
}
}
}
.btn {
display: block;
border: 0;
min-width: 100%;
}
}
@@ -0,0 +1,80 @@
// Pagination
.pagination {
.page-number {
@extend .page-item;
}
li {
a {
position: relative;
display: block;
padding: $pagination-padding-y $pagination-padding-x;
margin-inline-start: -$pagination-border-width;
line-height: $pagination-line-height;
color: $pagination-color;
background-color: $pagination-bg;
border: $pagination-border-width solid $pagination-border-color;
&:hover {
z-index: 2;
color: $pagination-hover-color;
text-decoration: none;
background-color: $pagination-hover-bg;
border-color: $pagination-hover-border-color;
}
&:focus {
z-index: 2;
outline: $pagination-focus-outline;
box-shadow: $pagination-focus-box-shadow;
}
// Opinionated: add "hand" cursor to non-disabled .page-link elements
&:not(:disabled):not(.disabled) {
cursor: pointer;
}
}
&:first-child {
a {
margin-inline-start: 0;
@include border-left-radius($border-radius);
}
}
&:last-child {
a {
@include border-right-radius($border-radius);
}
}
&.active a {
z-index: 1;
color: $pagination-active-color;
background-color: $pagination-active-bg;
border-color: $pagination-active-border-color;
&:hover {
color: $pagination-active-color;
}
}
&.disabled a {
color: $pagination-disabled-color;
pointer-events: none;
// Opinionated: remove the "hand" cursor set previously for .page-link
cursor: auto;
background-color: $pagination-disabled-bg;
border-color: $pagination-disabled-border-color;
}
}
}
// Pagination Rounded
.pagination-rounded {
li a {
@include border-radius(50px !important);
margin: 0 ($layout-spacer-x / 5);
}
}
@@ -0,0 +1,53 @@
// Progress Bar
.progress {
.progress-bar {
&:last-child {
@include border-right-radius($progress-border-radius);
}
}
&.progress-bar-sm {
height: .5rem;
}
&.progress-bar-xs {
height: .3rem;
}
&.progress-bar-rounded {
@include border-radius(30px);
}
}
.progress-bar-animated-alt {
&.progress-bar,
.progress-bar {
position: relative;
&::after {
content: '';
opacity: 0;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: $white;
animation: progress-active 2s ease infinite;
}
}
}
@keyframes progress-active {
0% {
opacity: .4;
width: 0
}
100% {
opacity: 0;
width: 100%
}
}
+505
View File
@@ -0,0 +1,505 @@
// TABS
.nav-pills,
.nav-tabs {
margin-bottom: $spacer;
}
.nav-link {
font-weight: bold;
&:hover {
cursor: pointer;
}
}
.nav-tabs {
.nav-link {
&:hover {
color: $primary !important;
}
&.active {
color: $primary;
}
}
}
.nav-pills {
.nav-link {
&:hover {
color: $primary !important;
}
&.active {
background: $primary;
&:hover {
color: $white !important;
}
}
}
}
// Fancy Tabs
.RRT__container {
position: relative;
}
.RRT__tabs {
display: flex;
flex-wrap: wrap;
position: relative;
}
.RRT__accordion {
flex-direction: column;
}
.RRT__tab {
cursor: pointer;
z-index: 1;
white-space: nowrap;
padding: $nav-link-padding-y $nav-link-padding-x;
transition: all .2s;
&:hover {
color: $primary;
}
&:focus {
outline: 0;
}
}
.RRT__tab--selected {
color: $primary;
}
.RRT__tab--disabled {
opacity: 0.5;
cursor: not-allowed;
}
.RRT__tab:focus {
z-index: 2;
}
.RRT__tab--selected .RRT__removable {
position: relative;
}
.RRT__tab--selected .RRT__removable-text {
margin-inline-end: 10px;
}
.RRT__tab--selected .RRT__removable-icon {
position: absolute;
font-size: 18px;
right: 0.5em;
top: 0.2em;
}
// Alternate Style
.body-tabs.body-tabs-layout {
&.body-tabs-big {
display: flex;
flex-direction: row;
align-items: stretch;
@extend .container;
margin: 0 auto;
padding: 10px;
@include border-radius(50px);
border: $gray-200 solid 1px;
z-index: 7;
.RRT__tab {
margin: 0;
font-size: 1rem;
font-weight: 300;
padding: 0;
height: 50px;
line-height: 50px;
flex: 1;
text-align: center;
position: relative;
color: $primary;
&:hover {
color: $gray-900;
}
&.RRT__tab--selected {
color: $white;
&:hover {
color: $white;
}
}
}
& + .RRT__inkbar-wrapper {
height: 70px !important;
top: -70px !important;
@extend .container;
margin: 0 auto -3.4rem;
position: relative;
padding: 0 10px;
&::before {
position: absolute;
content: '';
background: $white;
width: 100%;
height: 100%;
left: 0;
top: -11px;
@include border-radius(50px);
}
.RRT__inkbar {
height: 50px !important;
margin-top: 10px;
@include border-radius(50px);
box-shadow: 0 0 0 transparent;
}
& + .RRT__panel {
margin-top: -1rem;
}
}
}
}
// Panels
.RRT__panel {
margin-top: $spacer;
}
.RRT__accordion .RRT__panel {
}
// Show More
.RRT__showmore {
@include border-radius($border-radius);
background: $primary;
cursor: pointer;
z-index: 1;
white-space: nowrap;
font-weight: bold;
width: 36px;
text-align: center;
height: 36px;
display: block;
margin-inline-start: 15px;
position: absolute;
right: $grid-gutter-width;
top: 50%;
margin-top: -18px;
font-size: 1.4rem;
&:focus {
outline: none;
}
}
.RRT__showmore-label {
position: relative;
z-index: 1;
color: $white;
width: 36px;
text-align: center;
height: 36px;
line-height: 24px;
}
.RRT__showmore--selected {
box-shadow: 0 16px 26px -10px rgba($primary, 0.56),
0 4px 25px 0px rgba(0, 0, 0, 0.12),
0 8px 10px -5px rgba($primary, 0.2);
}
.RRT__showmore-list {
position: absolute;
right: -1px;
top: 100%;
display: none;
min-width: $dropdown-min-width;
padding: $dropdown-padding-y 0;
margin: $dropdown-spacer 0 0; // override default ul
font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
color: $body-color;
text-align: start; // Ensures proper alignment if parent has it changed (e.g., modal footer)
list-style: none;
background-color: $dropdown-bg;
background-clip: padding-box;
border: $dropdown-border-width solid $dropdown-border-color;
@include border-radius($dropdown-border-radius);
box-shadow: $box-shadow-default;
.RRT__tab {
display: block;
width: 100%; // For `<button>`s
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
clear: both;
font-weight: $font-weight-normal;
color: $dropdown-link-color;
text-align: inherit; // For `<button>`s
white-space: nowrap; // prevent links from randomly breaking onto new lines
background-color: transparent; // For `<button>`s
border: 0; // For `<button>`s
margin: 0;
&:hover,
&.RRT__tab--selected {
color: $dropdown-link-hover-color !important;
text-decoration: none;
background: $dropdown-link-hover-bg;
}
}
}
.RRT__showmore-list--opened {
display: block;
.RRT__tab--selected {
color: $primary;
}
}
// Inkbar
.RRT__inkbar-wrapper {
width: 100%;
}
.RRT__inkbar {
position: relative;
bottom: 0;
height: 3px;
margin-top: -3px;
background-color: $primary;
@include border-radius(15px);
transition: all 0.5s cubic-bezier(0.29, 1.42, 0.79, 1) 0s;
z-index: 2;
}
.card-tabs {
.card-header {
padding: 0 1.25rem;
&.RRT__tabs {
cursor: pointer;
font-weight: normal;
.RRT__tab {
text-transform: none;
line-height: 1.3;
}
}
}
.RRT__inkbar-wrapper {
width: calc(100% - 1.5rem) !important;
margin-inline-start: 1.25rem;
}
.RRT__panel {
padding: $spacer;
margin: 0;
}
&.text-white {
.RRT__tab {
color: rgba(255, 255, 255, .6);
&:hover {
color: $white;
}
}
.RRT__tab--selected {
color: $white;
}
.RRT__inkbar {
background: lighten($primary, 40%);
}
}
}
.card-tabs-animated {
.RRT__container > .RRT__tabs {
background: transparent;
position: relative;
z-index: 7;
&.card-header {
border-bottom: 0;
height: auto;
padding: $layout-spacer-x $layout-spacer-x ($layout-spacer-x / 3);
}
}
.RRT__inkbar-wrapper {
position: absolute;
top: $layout-spacer-x;
z-index: 5;
}
.RRT__tab {
padding: $nav-link-padding-y ($nav-link-padding-x * 1.2);
}
.RRT__tab--selected {
color: $white;
}
.RRT__inkbar {
height: 35px;
margin-top: 0;
@include border-radius($border-radius);
box-shadow: 0 16px 26px -10px rgba($primary, 0.56),
0 4px 25px 0px rgba(0, 0, 0, 0.12),
0 8px 10px -5px rgba($primary, 0.2);
}
}
.card-tabs-animated-inner {
.RRT__tabs {
padding: 0 5%;
}
.RRT__inkbar-wrapper {
left: 5%;
width: 90%;
height: 36px;
top: 14px;
}
.RRT__inkbar {
height: 36px;
}
}
.body-tabs {
border-bottom: $gray-300 solid 2px;
& > .RRT__tab {
padding: ($layout-spacer-x / 1.5) ($layout-spacer-x / 1.2);
font-weight: normal;
font-size: $font-size-base;
}
&.body-tabs-alt {
& > .RRT__tab {
padding: ($layout-spacer-x / 1.1) ($layout-spacer-x / 3);
font-weight: normal;
font-size: 0.86rem;
width: 33%;
text-align: center;
}
.RRT__inkbar {
height: 2px;
margin-top: -2px;
}
}
}
.popover,
.dropdown-menu {
.RRT__panel {
margin: 0;
padding: 0;
position: relative;
&::after,
&::before {
width: 100%;
bottom: auto;
top: 0;
left: 0;
height: 20px;
position: absolute;
z-index: 10;
content: '';
background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=0);
}
&::after {
bottom: 0;
top: auto;
background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 80%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0);
}
}
}
// Tabs alternate
.tabs-lg-alternate {
&.card-header {
padding: 0;
height: auto;
.widget-number {
font-size: $h2-font-size;
font-weight: 300;
}
.tab-subheading {
padding: 5px 0 0;
opacity: .6;
transition: all .2s;
}
& > .nav {
margin: 0;
.nav-link {
padding: $layout-spacer-x 0;
border-right: $gray-200 solid 1px;
background: $gray-100;
&:hover {
background: $white;
.tab-subheading {
color: $black;
opacity: .9;
}
}
&::before {
background: $white;
border-radius: 0;
}
&.active {
background: $white;
.tab-subheading {
color: $black;
opacity: .9;
}
}
}
.nav-item:last-child {
.nav-link {
border-right: 0;
}
}
}
}
}
+448
View File
@@ -0,0 +1,448 @@
.vertical-timeline {
width: 100%;
position: relative;
padding: ($spacer * 1.5) 0 ($spacer);
&::after {
content: '';
display: table;
clear: both
}
&::before {
content: '';
position: absolute;
top: 0;
left: 67px;
height: 100%;
width: 4px;
background: $gray-200;
@include border-radius($border-radius);
}
}
.vertical-timeline-element {
position: relative;
margin: 0 0 ($spacer);
&:after {
content: "";
display: table;
clear: both
}
&:last-child {
margin-bottom: 0
}
}
.vertical-timeline-element-content {
position: relative;
margin-inline-start: 90px;
font-size: $font-size-xs;
&:after {
content: "";
display: table;
clear: both
}
.timeline-title {
font-size: $font-size-xs;
text-transform: uppercase;
margin: 0 0 ($spacer / 2);
padding: 2px 0 0;
font-weight: bold;
}
p {
color: $gray-600;
margin: 0 0 ($spacer / 2);
}
.vertical-timeline-element-date {
display: block;
position: absolute;
left: -90px;
top: 0;
padding-inline-end: 10px;
text-align: end;
color: $gray-500;
font-size: $font-size-xs / 1.05;
white-space: nowrap;
}
}
.vertical-timeline-element-icon {
position: absolute;
top: 0;
left: 60px;
.badge-dot-xl {
box-shadow: 0 0 0 5px $white;
}
}
.vertical-timeline-element--no-children .vertical-timeline-element-content {
background: 0 0;
box-shadow: none;
&::before {
display: none;
}
}
.vertical-without-time {
&::before {
left: 11px;
}
.vertical-timeline-element-content {
margin-inline-start: 36px;
}
.vertical-timeline-element-icon {
left: 4px;
}
}
.vertical-time-icons {
padding: ($spacer * 2) 0 0;
&::before {
content: '';
position: absolute;
top: 0;
left: 14px;
height: 100%;
width: 6px;
background: $gray-200;
@include border-radius($border-radius);
}
.vertical-timeline-element {
margin-bottom: $spacer;
}
.vertical-timeline-element-content {
margin-inline-start: 50px;
}
.vertical-timeline-element-icon {
width: 34px;
height: 34px;
left: 0;
top: -7px;
.timeline-icon {
width: 34px;
height: 34px;
background: $white;
@include border-radius(50px);
border-width: 2px;
border-style: solid;
box-shadow: 0 0 0 5px $white;
text-align: center;
display: flex;
align-items: center;
align-content: center;
i {
display: block;
font-size: 1.1rem;
margin: 0 auto;
}
svg {
margin: 0 auto;
}
}
}
}
// Simple Dots Timeline
.vertical-time-simple {
padding: ($spacer / 2) 0;
.vertical-timeline-element {
margin: 0 0 ($spacer / 2);
}
.timeline-title {
font-weight: normal;
font-size: $font-size-lg / 1.2;
padding: 0;
}
.vertical-timeline-element-icon {
height: 14px;
width: 14px;
background: $gray-200;
position: absolute;
left: 6px;
top: 2px;
display: block;
@include border-radius(20px);
&::after {
content: '';
position: absolute;
background: $white;
left: 50%;
top: 50%;
margin: -4px 0 0 -4px;
display: block;
width: 8px;
height: 8px;
@include border-radius(20px);
}
}
.timeline-title {
text-transform: none;
}
}
@mixin timeline-variant($parent, $color) {
#{$parent} {
.vertical-timeline-element-icon {
background: $color;
}
}
}
@each $color, $value in $theme-colors {
@include timeline-variant(".dot-#{$color}", $value);
}
// Animations
.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden {
visibility: hidden
}
.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in {
visibility: visible;
animation: cd-bounce-1 .8s
}
@-webkit-keyframes cd-bounce-1 {
0% {
opacity: 0;
-webkit-transform: scale(.5)
}
60% {
opacity: 1;
-webkit-transform: scale(1.2)
}
100% {
-webkit-transform: scale(1)
}
}
@-moz-keyframes cd-bounce-1 {
0% {
opacity: 0;
-moz-transform: scale(.5)
}
60% {
opacity: 1;
-moz-transform: scale(1.2)
}
100% {
-moz-transform: scale(1)
}
}
@keyframes cd-bounce-1 {
0% {
opacity: 0;
-webkit-transform: scale(.5);
-moz-transform: scale(.5);
-ms-transform: scale(.5);
-o-transform: scale(.5);
transform: scale(.5)
}
60% {
opacity: 1;
-webkit-transform: scale(1.2);
-moz-transform: scale(1.2);
-ms-transform: scale(1.2);
-o-transform: scale(1.2);
transform: scale(1.2)
}
100% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1)
}
}
.vertical-timeline--animate .vertical-timeline-element-content.is-hidden {
visibility: hidden
}
.vertical-timeline--animate .vertical-timeline-element-content.bounce-in {
visibility: visible;
-webkit-animation: cd-bounce-2 .6s;
-moz-animation: cd-bounce-2 .6s;
animation: cd-bounce-2 .6s
}
@media only screen and (min-width: 1170px) {
.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in, .vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(even):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in {
-webkit-animation: cd-bounce-2-inverse .6s;
-moz-animation: cd-bounce-2-inverse .6s;
animation: cd-bounce-2-inverse .6s
}
}
@media only screen and (max-width: 1169px) {
.vertical-timeline--animate .vertical-timeline-element-content.bounce-in {
visibility: visible;
-webkit-animation: cd-bounce-2-inverse .6s;
-moz-animation: cd-bounce-2-inverse .6s;
animation: cd-bounce-2-inverse .6s
}
}
@-webkit-keyframes cd-bounce-2 {
0% {
opacity: 0;
-webkit-transform: translateX(-100px)
}
60% {
opacity: 1;
-webkit-transform: translateX(20px)
}
100% {
-webkit-transform: translateX(0)
}
}
@-moz-keyframes cd-bounce-2 {
0% {
opacity: 0;
-moz-transform: translateX(-100px)
}
60% {
opacity: 1;
-moz-transform: translateX(20px)
}
100% {
-moz-transform: translateX(0)
}
}
@keyframes cd-bounce-2 {
0% {
opacity: 0;
-webkit-transform: translateX(-100px);
-moz-transform: translateX(-100px);
-ms-transform: translateX(-100px);
-o-transform: translateX(-100px);
transform: translateX(-100px)
}
60% {
opacity: 1;
-webkit-transform: translateX(20px);
-moz-transform: translateX(20px);
-ms-transform: translateX(20px);
-o-transform: translateX(20px);
transform: translateX(20px)
}
100% {
-webkit-transform: translateX(0);
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-o-transform: translateX(0);
transform: translateX(0)
}
}
@-webkit-keyframes cd-bounce-2-inverse {
0% {
opacity: 0;
-webkit-transform: translateX(100px)
}
60% {
opacity: 1;
-webkit-transform: translateX(-20px)
}
100% {
-webkit-transform: translateX(0)
}
}
@-moz-keyframes cd-bounce-2-inverse {
0% {
opacity: 0;
-moz-transform: translateX(100px)
}
60% {
opacity: 1;
-moz-transform: translateX(-20px)
}
100% {
-moz-transform: translateX(0)
}
}
@keyframes cd-bounce-2-inverse {
0% {
opacity: 0;
-webkit-transform: translateX(100px);
-moz-transform: translateX(100px);
-ms-transform: translateX(100px);
-o-transform: translateX(100px);
transform: translateX(100px)
}
60% {
opacity: 1;
-webkit-transform: translateX(-20px);
-moz-transform: translateX(-20px);
-ms-transform: translateX(-20px);
-o-transform: translateX(-20px);
transform: translateX(-20px)
}
100% {
-webkit-transform: translateX(0);
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-o-transform: translateX(0);
transform: translateX(0)
}
}
@@ -0,0 +1,45 @@
// List Group
.todo-list-wrapper {
.todo-indicator {
position: absolute;
width: 4px;
height: 60%;
@include border-radius($border-radius-lg);
left: ($card-spacer-x / 2);
top: 20%;
opacity: .6;
transition: opacity .2s;
}
.list-group-item {
&:hover {
.todo-indicator {
opacity: .9;
}
}
}
.custom-control,
input[checkbox] {
margin-inline-start: ($card-spacer-x / 2);
}
}
.list-group-flush + .card-footer {
border-top: 0;
}
.rm-list-borders {
.list-group-item {
border: 0;
padding: ($card-spacer-y / 1.5) 0;
}
}
.rm-list-borders-scroll {
.list-group-item {
border: 0;
padding-inline-end: ($card-spacer-y * 1.5);
}
}