123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594 |
- .card {
- @include transition(transform $transition-time ease-out, opacity $transition-time ease-out, box-shadow $transition-time ease-out);
- @media print {
- border: none;
- box-shadow: none;
- }
- @at-root a#{&} {
- color: inherit;
- &:hover {
- text-decoration: none;
- box-shadow: $box-shadow-card-hover;
- }
- }
- .card {
- box-shadow: none;
- }
- }
- // Card borderless
- .card-borderless {
- &,
- .card-header,
- .card-footer {
- border-color: transparent;
- }
- }
- // Card stamp
- .card-stamp {
- --#{$prefix}stamp-size: 7rem;
- position: absolute;
- top: 0;
- right: 0;
- width: calc(var(--#{$prefix}stamp-size) * 1);
- height: calc(var(--#{$prefix}stamp-size) * 1);
- max-height: 100%;
- border-top-right-radius: $border-radius;
- opacity: $card-stamp-opacity;
- overflow: hidden;
- pointer-events: none;
- }
- .card-stamp-lg {
- --#{$prefix}stamp-size: 13rem;
- }
- .card-stamp-icon {
- background: var(--#{$prefix}secondary);
- color: var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: $border-radius-pill;
- width: calc(var(--#{$prefix}stamp-size) * 1);
- height: calc(var(--#{$prefix}stamp-size) * 1);
- position: relative;
- top: calc(var(--#{$prefix}stamp-size) * -.25);
- right: calc(var(--#{$prefix}stamp-size) * -.25);
- font-size: calc(var(--#{$prefix}stamp-size) * .75);
- transform: rotate(10deg);
- .icon {
- stroke-width: 2;
- width: calc(var(--#{$prefix}stamp-size) * .75);
- height: calc(var(--#{$prefix}stamp-size) * .75);
- }
- }
- // Card image
- .card-img,
- .card-img-start {
- @include border-start-radius($card-inner-border-radius);
- }
- .card-img,
- .card-img-end {
- @include border-end-radius($card-inner-border-radius);
- }
- .card-img-overlay {
- display: flex;
- flex-direction: column;
- justify-content: flex-end;
- }
- .card-img-overlay-dark {
- background-image: $overlay-gradient;
- }
- .card-inactive {
- pointer-events: none;
- box-shadow: none;
- .card-body {
- opacity: .64;
- }
- }
- .card-active {
- --#{$prefix}card-border-color: var(--#{$prefix}primary);
- --#{$prefix}card-bg: var(--#{$prefix}active-bg);
- }
- .card-btn {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: $card-spacer-y $card-spacer-x;
- text-align: center;
- @include transition(background $transition-time);
- border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
- flex: 1;
- color: inherit;
- font-weight: var(--#{$prefix}font-weight-medium);
- &:hover {
- text-decoration: none;
- background: $active-bg;
- }
- & + & {
- border-left: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
- }
- }
- /**
- Stacked card
- */
- .card-stacked {
- --#{$prefix}card-stacked-offset: .25rem;
- position: relative;
- &:after {
- position: absolute;
- top: calc(-1 * var(--#{$prefix}card-stacked-offset));
- right: var(--#{$prefix}card-stacked-offset);
- left: var(--#{$prefix}card-stacked-offset);
- height: var(--#{$prefix}card-stacked-offset);
- content: "";
- background: var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
- border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}card-border-color);
- border-radius: var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius) 0 0;
- }
- }
- .card-cover {
- position: relative;
- padding: $card-spacer-y $card-spacer-x;
- background: #666666 no-repeat center/cover;
- &:before {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- content: "";
- background: rgba($dark, .48);
- }
- &:first-child,
- &:first-child:before {
- border-radius: $border-radius $border-radius 0 0;
- }
- }
- .card-cover-blurred {
- &:before {
- backdrop-filter: blur(2px);
- }
- }
- .card-actions {
- margin: -.5rem -.5rem -.5rem auto;
- padding-left: .5rem;
- a {
- text-decoration: none;
- }
- }
- // Card header
- .card-header {
- color: inherit;
- display: flex;
- align-items: center;
- background: transparent;
- &:first-child {
- border-radius: var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius) 0 0;
- }
- }
- .card-header-light {
- border-bottom-color: transparent;
- background: var(--#{$prefix}bg-surface-tertiary);
- }
- .card-header-tabs {
- background: $card-header-tabs-bg;
- flex: 1;
- margin: calc(var(--#{$prefix}card-cap-padding-y) * -1) calc(var(--#{$prefix}card-cap-padding-x) * -1) calc(var(--#{$prefix}card-cap-padding-y) * -1);
- padding: calc(var(--#{$prefix}card-cap-padding-y) * .5) calc(var(--#{$prefix}card-cap-padding-x) * .5) 0;
- }
- .card-header-pills {
- flex: 1;
- margin-top: -.5rem;
- margin-bottom: -.5rem;
- }
- // Card rotate
- .card-rotate-left {
- transform: rotate(-1.5deg);
- }
- .card-rotate-right {
- transform: rotate(1.5deg);
- }
- // Card link
- .card-link {
- color: inherit;
- &:hover {
- color: inherit;
- text-decoration: none;
- box-shadow: 0 1px 6px 0 rgba(0, 0, 0, .08);
- }
- }
- .card-link-rotate:hover {
- transform: rotate(1.5deg);
- opacity: 1
- }
- .card-link-pop:hover {
- transform: translateY(-2px);
- opacity: 1
- }
- // Card footer
- .card-footer {
- margin-top: auto;
- &:last-child {
- border-radius: 0 0 var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius);
- }
- }
- .card-footer-transparent {
- background: transparent;
- border-color: transparent;
- padding-top: 0;
- }
- .card-footer-borderless {
- border-top: none;
- }
- // Card progress
- .card-progress {
- height: .25rem;
- &:last-child {
- border-radius: 0 0 2px 2px;
- }
- &:first-child {
- border-radius: 2px 2px 0 0;
- }
- }
- .card-meta {
- color: var(--#{$prefix}secondary);
- }
- .card-title {
- display: block;
- margin: 0 0 1rem;
- font-size: $h3-font-size;
- font-weight: var(--#{$prefix}font-weight-medium);
- color: $headings-color;
- line-height: 1.5rem;
- @at-root a#{&}:hover {
- color: inherit;
- }
- .card-header & {
- margin: 0;
- }
- }
- .card-subtitle {
- margin-bottom: $card-title-spacer-y;
- color: var(--#{$prefix}secondary);
- font-weight: normal;
- .card-header & {
- margin: 0;
- }
- .card-title & {
- margin: 0 0 0 .25rem;
- font-size: $h4-font-size;
- }
- }
- .card-body {
- position: relative;
- > :last-child {
- margin-bottom: 0;
- }
- .card-sm > & {
- padding: 1rem;
- }
- .card-md > & {
- @include media-breakpoint-up(md) {
- padding: 2.5rem;
- }
- }
- .card-lg > & {
- @include media-breakpoint-up(md) {
- padding: 2rem;
- }
- @include media-breakpoint-up(lg) {
- padding: 4rem;
- }
- }
- @media print {
- padding: 0;
- }
- & + & {
- border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
- }
- }
- .card-body-scrollable {
- overflow: auto;
- }
- /**
- Card optinos
- */
- .card-options {
- top: 1.5rem;
- right: .75rem;
- display: flex;
- margin-left: auto;
- }
- .card-options-link {
- display: inline-block;
- min-width: 1rem;
- margin-left: .25rem;
- color: var(--#{$prefix}secondary);
- }
- /**
- Card status
- */
- .card-status-top {
- position: absolute;
- top: 0;
- right: 0;
- left: 0;
- height: $card-status-size;
- border-radius: var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius) 0 0;
- }
- .card-status-start {
- position: absolute;
- right: auto;
- bottom: 0;
- width: $card-status-size;
- height: 100%;
- border-radius: var(--#{$prefix}card-border-radius) 0 0 var(--#{$prefix}card-border-radius);
- }
- .card-status-bottom {
- position: absolute;
- top: initial;
- bottom: 0;
- width: 100%;
- height: $card-status-size;
- border-radius: 0 0 var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius);
- }
- /**
- Card table
- */
- .card-table {
- margin-bottom: 0 !important;
- tr {
- td,
- th {
- &:first-child {
- padding-left: $card-spacer-x;
- border-left: 0;
- }
- &:last-child {
- padding-right: $card-spacer-x;
- border-right: 0;
- }
- }
- }
- thead,
- tbody,
- tfoot {
- tr {
- &:first-child {
- border-top: 0;
- td,
- th {
- border-top: 0;
- }
- }
- }
- }
- .card-body + & {
- border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}table-border-color);
- }
- }
- /*
- Card code
- */
- .card-code {
- padding: 0;
- .highlight {
- margin: 0;
- border: 0;
- }
- pre {
- margin: 0 !important;
- border: 0 !important;
- }
- }
- /*
- Card chart
- */
- .card-chart {
- position: relative;
- z-index: 1;
- height: 3.5rem;
- }
- /**
- Card avatar
- */
- .card-avatar {
- margin-left: auto;
- margin-right: auto;
- box-shadow: 0 0 0 .25rem var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
- margin-top: calc(-1 * calc(var(--#{$prefix}avatar-size) * .5));
- }
- /*
- Card list group
- */
- .card-list-group {
- .card-body + & {
- border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
- }
- .list-group-item {
- padding-right: $card-spacer-x;
- padding-left: $card-spacer-x;
- border-right: 0;
- border-left: 0;
- border-radius: 0;
- &:last-child {
- border-bottom: 0;
- }
- &:first-child {
- border-top: 0;
- }
- }
- }
- // Card tabs
- .card-tabs {
- .nav-tabs {
- position: relative;
- z-index: $zindex-dropdown;
- border-bottom: 0;
- .nav-link {
- background: $card-cap-bg;
- border: $card-border-width var(--#{$prefix}border-style) $card-border-color;
- &.active,
- &:active,
- &:hover {
- border-color: $card-border-color;
- color: var(--#{$prefix}body-color);
- }
- &.active {
- color: $headings-color;
- background: var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
- border-bottom-color: transparent;
- }
- }
- .nav-item {
- &:not(:first-child) {
- .nav-link {
- border-top-left-radius: 0;
- }
- }
- &:not(:last-child) {
- .nav-link {
- border-top-right-radius: 0;
- }
- }
- + .nav-item {
- margin-left: calc(-1 * #{$card-border-width});
- }
- }
- }
- .nav-tabs-bottom {
- margin-bottom: 0;
- .nav-link {
- margin-bottom: 0;
- &.active {
- border-top-color: transparent;
- }
- }
- .nav-item {
- margin-top: calc(-1 * #{$card-border-width});
- margin-bottom: 0;
- .nav-link {
- border-bottom: $card-border-width var(--#{$prefix}border-style) $card-border-color;
- border-radius: 0 0 $card-border-radius $card-border-radius;
- }
- &:not(:first-child) .nav-link {
- border-bottom-left-radius: 0;
- }
- &:not(:last-child) .nav-link {
- border-bottom-right-radius: 0;
- }
- }
- }
- .card {
- border-bottom-left-radius: 0;
- }
- .nav-tabs + .tab-content .card {
- border-bottom-left-radius: var(--#{$prefix}card-border-radius);
- border-top-left-radius: 0;
- }
- }
- /**
- Card note
- */
- .card-note {
- --#{$prefix}card-bg: #fff7dd;
- --#{$prefix}card-border-color: #fff1c9;
- }
|