/* #region Globals */

:root {
    --strive-league-page-color-1: #D7FE74;
    --strive-league-page-color-2: #434C2B;
    --strive-league-page-color-3: #FFFFFF;
    --strive-league-page-color-4: rgba(255, 255, 255, 0.8);
    --strive-league-page-color-5: #22251B;
    --strive-league-page-color-6: rgba(255, 255, 255, 0.1);
    --strive-league-page-color-7: rgba(255, 255, 255, 0.2);
    --strive-league-page-color-8: rgba(34, 37, 27, 0.75);

    --bs-body-color: var(--strive-league-page-color-4);
    --bs-heading-color: var(--strive-league-page-color-3);
}

body.strive-league-page {
    background: var(--strive-league-page-color-5);
}

::selection {
    background: var(--strive-league-page-color-2);
    color: var(--strive-league-page-color-3);
}

hr {
    border-color: var(--strive-league-page-color-7);
    opacity: 1;
}

/* #endregion Globals */

/* #region Helpers */

.strive-league-page .ratio {
    background: var(--strive-league-page-color-2);
}

.strive-league-page .lead {
    color: var(--strive-league-page-color-4);
}

.strive-league-page .link {
    color: var(--strive-league-page-color-3);
}

.strive-league-page .link:hover,
.strive-league-page .link:active {
    color: var(--strive-league-page-color-1);
}

.strive-league-page .link.reversed {
    color: var(--strive-league-page-color-1);
}

.strive-league-page .link.reversed:hover,
.strive-league-page .link.reversed:active {
    color: var(--strive-league-page-color-3);
}

.strive-league-page .pre-title {
    color: var(--strive-league-page-color-4);
}

.strive-league-page .strive-league-page-color-1 {
    color: var(--strive-league-page-color-1);
}

.strive-league-page .strive-league-page-color-2 {
    color: var(--strive-league-page-color-2);
}

.strive-league-page .strive-league-page-color-3 {
    color: var(--strive-league-page-color-3);
}

.strive-league-page .strive-league-page-color-4 {
    color: var(--strive-league-page-color-4);
}

.strive-league-page .strive-league-page-color-5 {
    color: var(--strive-league-page-color-5);
}

.strive-league-page .strive-league-page-color-6 {
    color: var(--strive-league-page-color-6);
}

.strive-league-page .strive-league-page-color-7 {
    color: var(--strive-league-page-color-7);
}

/* #endregion Helpers */

/* #region Header */

.strive-league-page .header {
    background: var(--strive-league-page-color-5);
    border-bottom: 1px solid var(--strive-league-page-color-7);
}

.strive-league-page .header.header-scrolled,
.strive-league-page .header.has-background {
    background: var(--strive-league-page-color-8);
}

.strive-league-page .header .navbar {
    --bs-navbar-color: var(--strive-league-page-color-3);
    --bs-navbar-hover-color: var(--strive-league-page-color-1);
    --bs-navbar-active-color: var(--strive-league-page-color-1);
    --bs-navbar-disabled-color: var(--strive-league-page-color-7);
}

@media (max-width: 991px) {
    .strive-league-page .navbar-toggler-icon-custom span {
        background: var(--strive-league-page-color-3);
    }
}

/* #endregion Header */

/* #region Hero */

.strive-league-hero {
    padding-top: clamp(4rem, 2.105rem + 8.42vw, 10rem);
}

@media (min-width: 1921px) {
    .strive-league-hero::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 20%;
        height: auto;
        background: linear-gradient(90deg, rgba(34,37,27,0) 0%, rgba(34,37,27,1) 80%);
    }
}

@media (max-width: 1199px) {
    .strive-league-hero .section-gap {
        margin-bottom: 0;
    }
}

.strive-league-hero .strive-league-background {
    z-index: -1;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    height: auto;
    background: url('/images/strive-league/strive-league-main-image.png') no-repeat right top -3rem;
    background-size: contain;
    pointer-events: none;
}

@media (max-width: 1199px) {
    .strive-league-hero .strive-league-background {
        background-size: 60%;
    }
}

@media (max-width: 991px) {
    .strive-league-hero .strive-league-background {
        background-size: 500px;
        background-position: right top -2rem;
    }
}

@media (max-width: 767px) {
    .strive-league-hero .strive-league-background {
        filter: opacity(50%);
    }
}

@media (max-width: 575px) {
    .strive-league-hero .strive-league-background {
        background-size: contain;
    }
}

.strive-league-hero .strive-league-hero-svg {
    z-index: -1;
    position: absolute;
    bottom: -20rem;
    left: -10rem;
    pointer-events: none;
}

@media (min-width: 1921px) {
    .strive-league-hero .strive-league-hero-svg {
        bottom: -20rem;
        left: 0;
    }
}

@media (max-width: 1399px) {
    .strive-league-hero .strive-league-hero-svg {
        left: -20rem;
    }
}

.strive-league-hero .content {
    max-width: 710px;
}

.strive-league-hero .strive-league-hero-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--strive-league-page-color-7);
}

@media (max-width: 991px) {
    .strive-league-hero .strive-league-hero-meta {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .strive-league-hero .strive-league-hero-meta {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 1.25rem;
    }
}

/* #endregion Hero */

/* #region Goals */

.strive-league-steps-box {
    position: relative;
    padding: 2.5rem 2rem 2.5rem 2.5rem;
    background: var(--strive-league-page-color-2);
    border-radius: var(--bs-border-radius-x2);
}

@media (max-width: 1199px) {
    .strive-league-steps-box {
        padding: 2rem;
        border-radius: var(--bs-border-radius);
    }
}

.strive-league-steps-box .number {
    font-size: clamp(4rem, 3.684rem + 1.4vw, 5rem);
    line-height: 0.75em;
}

@media (min-width: 1200px) {
    .strive-league-steps-box .number {
        position: absolute;
        bottom: 1.5rem;
        right: 1.5rem;
    }
}

@media (max-width: 575px) {
    .strive-league-goals .content {
        max-width: 380px;
    }
}

/* #endregion Goals */

/* #region Gallery */

@media (min-width: 1200px) {
    .strive-league-gallery .strive-league-gallery-img-2 {
        margin-bottom: -20%;
    }
}

.strive-league-gallery video {
    width: 100%;
    height: auto;
}

/* #endregion Gallery */

/* #region Reviews */

.strive-league-page .review-container {
    border-color: var(--strive-league-page-color-1);
}

@media (min-width: 768px) and (max-width: 991px) {
    .strive-league-page .review-container .review-left .review-quotes svg {
        width: 7rem;
        height: auto;
    }
}

/* #endregion Strive League Reviews */

/* #region Stats */

@media (min-width: 992px) {
    .strive-league-stats-box .content {
        max-width: 370px;
    }

    .strive-league-stats-box:nth-child(1) {
        padding-right: 2rem;
    }

    .strive-league-stats-box:nth-child(2) {
        border-left: 1px solid var(--strive-league-page-color-7);
        border-right: 1px solid var(--strive-league-page-color-7);
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .strive-league-stats-box:nth-child(3) {
        padding-left: 2rem;
    }
}

@media (min-width: 1200px) {
    .strive-league-stats-box:nth-child(1) {
        padding-right: 3rem;
    }

    .strive-league-stats-box:nth-child(2) {
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .strive-league-stats-box:nth-child(3) {
        padding-left: 3rem;
    }
}

@media (min-width: 1500px) {
    .strive-league-stats-box:nth-child(1) {
        padding-right: 4rem;
    }

    .strive-league-stats-box:nth-child(2) {
        padding-left: 4rem;
        padding-right: 4rem;
    }

    .strive-league-stats-box:nth-child(3) {
        padding-left: 4rem;
    }

    .strive-league-stats-box .strive-league-stats-percent {
        font-size: 6.5rem;
    }
}

@media (max-width: 991px) {
    .strive-league-stats-box:nth-child(2) {
        position: relative;
    }

    .strive-league-stats-box:nth-child(2)::before,
    .strive-league-stats-box:nth-child(2)::after {
        content: '';
        position: absolute;
        left: 0.75rem;
        right: 0.75rem;
        width: auto;
        height: 1px;
        background: var(--strive-league-page-color-7);
    }

    .strive-league-stats-box:nth-child(2)::before {
        top: 0;
    }

    .strive-league-stats-box:nth-child(2)::after {
        bottom: 0;
    }

    .strive-league-stats-box .strive-league-stats-percent {
        font-size: clamp(3rem, 2.429rem + 2.54vw, 4rem);
    }

    .strive-league-stats-box .strive-league-stats-percent svg {
        width: clamp(1.5rem, 1.215rem + 1.27vw, 2rem);
        height: auto;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .strive-league-stats-box .strive-league-stats-percent {
        font-size: 4rem;
    }

    .strive-league-stats-box .strive-league-stats-percent svg {
        width: 2rem;
        height: auto;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .strive-league-stats-box .strive-league-stats-percent {
        font-size: 5rem;
    }

    .strive-league-stats-box .strive-league-stats-percent svg {
        width: 2.5rem;
        height: auto;
    }
}

@media (min-width: 1400px) and (max-width: 1499px) {
    .strive-league-stats-box .strive-league-stats-percent {
        font-size: 6rem;
    }

    .strive-league-stats-box .strive-league-stats-percent svg {
        width: 3rem;
        height: auto;
    }
}

/* #endregion Strive League Stats */