body {

    /* BACKGROUND COLOR */

    --main-bg-color: #B941FF;
    --main-bg-color-lighter: #c261f9;
    --main-bg-color-hover: #9e30de;

    /* ACCORDION */

    --bs-accordion-active-color: #9e30de;
    --bs-accordion-active-bg: #c261f9;

    /* COLOR */

    --bs-primary-rgb: 185, 65, 255;

    /* LANDING PAGE */

    --pb-purple: #B941FF;
    /* the purple for small text on white: 5.3:1, where #B941FF only reaches 4:1 */
    --pb-purple-ink: #8a2bc4;
    --pb-purple-soft: rgba(185, 65, 255, 0.12);
    --pb-pink: #F431FC;
    --pb-ink: #1a1d21;
    --pb-muted: #5c6570;
    --pb-line: #e3e6e8;

    /* The dark band. Near-black with a little of the brand purple, not pure black: pure black next to white cards glares,
       smears on phone screens, and looks like a hole in the page. Text on it is off-white, highlights and links a lighter
       purple (8.8:1), and muted text 9:1. */
    --pb-night: #16121c;
    --pb-on-night: #f6f3fa;
    --pb-on-night-muted: rgba(246, 243, 250, 0.72);
    --pb-purple-on-night: #d59bff;
}

.btn-primary {
    /* BUTTON  */
    --bs-btn-color: #fff;
    --bs-btn-bg: #B941FF;
    --bs-btn-border-color: #9e30de;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #9e30de;
    --bs-btn-hover-border-color: #9e30de;
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #9e30de;
    --bs-btn-active-border-color: #9e30de;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #9857be;
    --bs-btn-disabled-border-color: #8c4faf;
}

.btn-outline-primary {
    --bs-btn-color: #B941FF;
    --bs-btn-border-color: #B941FF;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #B941FF;
    --bs-btn-hover-border-color: #B941FF;
    --bs-btn-focus-shadow-rgb: 13,110,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #B941FF;
    --bs-btn-active-border-color: #B941FF;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #B941FF;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #B941FF;
    --bs-gradient: none;
}

/* FONT */

.fw-heavy,
.font-black {
    font-weight: 900;
}

.font-extra-bold {
    font-weight: 800;
}

.fs-13 {
    font-size: 13px;
}

.fs-14 {
    font-size: 14px;
}

.fs-18 {
    font-size: 18px;
}

.decoration-none,
.decoration-none:hover {
    text-decoration: none;
}

.bg-main-gradient {
    background: linear-gradient(140deg, #9e30de 0%, #B941FF 100%)
}

.border-subtle {
    border: var(--bs-card-border-width) solid var(--bs-card-border-color) !important;
}

.link:hover {
    text-decoration: underline !important;
}

/* OVERRIDES */

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity))!important;
}

.bg-primary-transparent {
    background-color: rgba(var(--bs-primary-rgb), 0.5);
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important;
}

.btn.border-primary.text-primary {
    filter: brightness(125%);
}

.btn.border-primary.text-primary:hover {
    filter: brightness(100%);
    color: #fff !important;
    background-color: #B941FF !important;
}

.accordion-button:not(.collapsed) {
    color: var(--main-bg-color-hover);
    background-color: white;
}

/**************************/
/****** LANDING PAGE ******/
/**************************/

/* The hero's gradient. The navigation sits on it too, so it starts at the very top. */
.hero-gradient {
    background:
        radial-gradient(ellipse at 15% 0%, rgba(185, 65, 255, 0.30), transparent 60%),
        radial-gradient(ellipse at 95% 45%, rgba(244, 49, 252, 0.18), transparent 55%),
        linear-gradient(180deg, #f3e8ff 0%, #faf5ff 65%, #ffffff 100%);
}

/* One rhythm for every landing page section: the same space at the top and bottom, growing with the screen. */
.section-space { --section-space: 48px; padding-top: var(--section-space); padding-bottom: var(--section-space); }
@media (min-width: 768px) { .section-space { --section-space: 64px; } }
@media (min-width: 992px) { .section-space { --section-space: 80px; } }

/* Section headline and subline, the same in every section */
.section-head { max-width: 720px; margin: 0 auto 32px; padding: 0 16px; text-align: center; }
.section-head h2 { margin: 0 0 8px; text-wrap: balance; }
.section-head h2 em { font-style: normal; color: var(--pb-purple); }
.section-head p { margin: 0; color: var(--pb-muted); text-wrap: balance; }

#start-button {
    border-radius: 0.5rem;
    box-shadow: 0 5px 20px 0 rgba(185, 65, 255, 0.35);
}

/* Live dot */

.live-dot {
    flex: none;
    height: .5rem;
    position: relative;
    width: .5rem;
    border-radius: 100%;
    background-color: #B941FF;
}

.live-dot::after {
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    border-radius: 100%;
    animation: 5s ease-out signal infinite;
    background-color: inherit;
    opacity: .5;
}

@keyframes signal {
    25%, 100% {
        opacity: 0;
        transform: scale(5);
    }
}

@media (prefers-reduced-motion: reduce) {
    .live-dot::after { animation: none; }
}

/* Universal switch (monthly / yearly) */

#universal-switch {
    background-color: #00000014;
    padding: 5px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
}

#universal-switch .wrapper {
    display: flex;
    border-radius: 100px;
}

#universal-switch .wrapper .option {
    padding: 5px 13px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    cursor: pointer;
    background-color: transparent;
    border: 0;
    color: inherit;
    font: inherit;
    transition: 0.2s background-color;
}

#universal-switch .wrapper .option:nth-child(n+2) {
    margin-left: 5px;
}

#universal-switch .wrapper .option:hover,
#universal-switch .wrapper .option.active {
    background-color: #B941FF;
    color: white;
}

#universal-switch .wrapper .option .info {
    font-size: 10px;
    margin-left: 5px;
    background-color: #00000025;
    padding: 1px 7px;
    border-radius: 100px;
}

/* Feature list (pricing) */

.feature-list {
    list-style: none;
    padding: 0;
}

.feature-list li {
    display: flex;
    align-items: center;
    padding: 5px 0;
}

.feature-list .bi-check-lg {
    color: #B941FF;
    padding-right: 8px;
}
