.memo-number-hover,
.memo-box-hover,
.memo-cta-shadow,
.memo-cta-hover {
    transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.memo-title-rule {
    border-bottom: 4px solid var(--bs-primary);
}

.memo-principle-rule {
    border-top: 2px solid rgba(var(--bs-emphasis-color-rgb), 0.2);
}

.memo-principle-group:hover .memo-number-hover {
    color: var(--bs-primary) !important;
}

.memo-principle-group:hover .memo-box-hover {
    border-top-color: rgba(var(--bs-primary-rgb), 0.4) !important;
}

.memo-cta-shadow {
    transform: translate(0.375rem, 0.375rem);
}

.memo-cta-group:hover .memo-cta-shadow {
    transform: translate(0, 0);
}

.memo-cta-hover:hover {
    background-color: var(--bs-primary, rgb(var(--tw-primary-600, 37 99 235) / 1)) !important;
    color: #fff !important;
    border-color: var(--bs-primary, rgb(var(--tw-primary-700, 29 78 216) / 1)) !important;
}

/* values datatable v18 - grid layout only, no colors */
.values-datatable__row {
    display: grid;
    width: 100%;
    grid-template-columns: auto 1fr auto;
    column-gap: 1rem;
    row-gap: 0.75rem;
    align-items: start;
    box-sizing: border-box;
}

@media (min-width: 640px) {
    .values-datatable__row {
        grid-template-columns: 3rem 10rem 1fr 5rem;
        column-gap: 1.5rem;
        row-gap: 0;
    }
}

.values-datatable__num {
    grid-column: 1;
}

.values-datatable__title {
    grid-column: 2;
    margin: 0;
}

.values-datatable__desc {
    grid-column: 1 / -1;
    margin: 0;
    min-width: 0;
}

.values-datatable__rank {
    grid-column: 1 / -1;
    justify-self: start;
}

@media (min-width: 640px) {
    .values-datatable__desc {
        grid-column: 3;
    }

    .values-datatable__rank {
        grid-column: 4;
        justify-self: end;
    }
}

.timeline-bubble-row__portrait {
    width: 10rem;
    height: 10rem;
}

.timeline-bubble-row__beacon {
    width: 1.5rem;
    height: 1.5rem;
}

.timeline-bubble-row__min-shrink {
  min-width: 0;
}

.polaroid-cork-timeline__cork-bg {
    background-image:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 20px,
            currentColor 20px,
            currentColor 21px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 20px,
            currentColor 20px,
            currentColor 21px
        );
}

.polaroid-cork-timeline__polaroid {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.polaroid-cork-timeline__polaroid:hover {
    z-index: 10;
}

.polaroid-cork-timeline__polaroid--r0 { transform: rotate(-3deg); }
.polaroid-cork-timeline__polaroid--r1 { transform: rotate(2deg); }
.polaroid-cork-timeline__polaroid--r2 { transform: rotate(-1.5deg); }
.polaroid-cork-timeline__polaroid--r3 { transform: rotate(3.5deg); }
.polaroid-cork-timeline__polaroid--r4 { transform: rotate(-2.5deg); }
.polaroid-cork-timeline__polaroid--r5 { transform: rotate(1.5deg); }

.polaroid-cork-timeline__pin {
    width: 1rem;
    height: 1rem;
}

.polaroid-cork-timeline__pin--tl { top: 1.5rem; left: 1.5rem; }
.polaroid-cork-timeline__pin--tr { top: 1.5rem; right: 1.5rem; }
.polaroid-cork-timeline__pin--bl { bottom: 1.5rem; left: 1.5rem; }
.polaroid-cork-timeline__pin--br { bottom: 1.5rem; right: 1.5rem; }
.polaroid-cork-timeline__pin--center {
    top: -0.75rem;
    left: 50%;
    transform: translateX(-50%);
}

.polaroid-cork-timeline__title-card {
    transform: rotate(-1deg);
}

.polaroid-cork-timeline__photo {
    width: 12rem;
}

@media (min-width: 768px) {
    .polaroid-cork-timeline__photo {
        width: 13rem;
    }
}

.polaroid-cork-timeline__caption-text {
    font-family: 'Courier New', monospace;
}

