@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&family=Red+Hat+Mono:ital,wght@0,300..700;1,300..700&display=swap');
/** ./v2-styles/modal.css?v=3: 1764804085 [1765325280] */
.v2-modal-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    .v2-modal {
        --scalable-unit: 16px;

        font-family: var(--v2-font-family);
        font-size: calc(var(--v2-font-size-factor) * var(--v2-font-size));
        line-height: var(--v2-line-height);
        letter-spacing: calc(var(--v2-font-size-factor) * var(--v2-letter-spacing));
        font-weight: var(--v2-font-weight);

        a:not(.v2-button) {
            color: inherit;
            text-decoration: underline;
            text-shadow: 0px 0px 0px color(from currentColor srgb r g b / 0.0);
            transition: text-shadow var(--v2-transition-short) var(--v2-transition-function);
            &:hover {
                text-shadow: 0px 0px 2px color(from currentColor srgb r g b / 0.1)
            }
        }
    }
}

html.v2-modal-open body {
    overflow: hidden;
    overflow: -moz-hidden-unscrollable;
}

.v2-modal {
    position: fixed;
    top: 5vh;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    border: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    background-color: #fff;
    color: #000;
    opacity: 0.2;

    font-family: var(--v2-font-family);
    font-size: calc(var(--v2-font-size-factor) * var(--v2-font-size));
    line-height: var(--v2-line-height);
    letter-spacing: calc(var(--v2-font-size-factor) * var(--v2-letter-spacing));
    font-weight: var(--v2-font-weight);

    transition: top calc(var(--v2-transition-short) * 0.5) var(--v2-transition-function), opacity calc(0.5 * var(--v2-transition-short)) var(--v2-transition-function);
    overflow: auto;
    &.v2-modal-in {
        top: 0;
        opacity: 1;
    }
    @starting-style {
        top: 5vh;
        opacity: 0.2;
    }
    .v2-modal-content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        --v2-top-padding: 80px;
        padding-top: var(--v2-top-padding);
        @media (max-width: 767.99px) {
            --v2-top-padding: 60px;
        }
        min-height: 100vh;
        transition: opacity var(--v2-transition-short) var(--v2-transition-function);
        opacity: 1;
        &.leaving {
            opacity: 1;
            &.exit {
                opacity: 0;
            }
        }
        &.entering {
            opacity: 0;
            &.enter {
                opacity: 1;
            }
        }
    }
}

.v2-modal-navigation, .v2-modal-content {
    * {
        font-family: var(--v2-font-family);
        font-size: calc(var(--v2-font-size-factor) * var(--v2-font-size));
        line-height: var(--v2-line-height);
        letter-spacing: calc(var(--v2-font-size-factor) * var(--v2-letter-spacing));
        font-weight: var(--v2-font-weight);
        box-sizing: border-box;
    }

    b, strong {
        font-weight: var(--v2-bold-font-weight);
    }
    .material-icons {
        font-family: 'Material Icons';
        font-weight: normal;
        font-style: normal;
        display: inline-block;
        line-height: 1;
        text-transform: none;
        letter-spacing: normal;
        word-wrap: normal;
        white-space: nowrap;
        direction: ltr;

        /* Support for all WebKit browsers. */
        -webkit-font-smoothing: antialiased;
        /* Support for Safari and Chrome. */
        text-rendering: optimizeLegibility;

        /* Support for Firefox. */
        -moz-osx-font-smoothing: grayscale;

        /* Support for IE. */
        font-feature-settings: 'liga';
    }

    p, ul, h1 {
        margin: 0 0 1lh;
        &:last-child {
            margin-bottom: 0;
        }
    }

    ul {
        padding-left: 20px;
        li {
            margin: 0 0 0.5lh;
            &:last-child {
                margin-bottom: 0;
            }
        }
    }

    strong {
        font-weight: 700;
    }
}

.v2-modal-fake-body-target {
    div:has(div > iframe[title*=recaptcha]) {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        height: auto !important;
        width: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, 0.4) !important;
        > div.g-recaptcha-bubble-arrow {
            display: none !important;
        }
        > div:has(iframe) {
            top: 0 !important;
            bottom: 0px !important;
            height: auto !important;
            width: 100% !important;
            position: absolute !important;
            background: transparent !important;
            > iframe {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translateX(-50%) translateY(calc(-50% + 40px));
                @media (max-width: 767.99px) {
                    transform: translateX(-50%) translateY(calc(-50% + 30px));
                }
                box-shadow: var(--v2-focus-active);
            }
        }
    }
}


/** ./v2-styles/button.css?v=3: 1764804085 [1765325280] */
.v2-button {
    display: flex;
    min-width: 228px;
    width: max-content;
    &.v2-button-full-width {
        width: 100%;
    }
    align-items: center;
    justify-content: center;;
    background: transparent;
    border: 0;
    --v2-font-size-factor: 1.0;
    color: var(--v2-dark);
    font-family: var(--v2-font-family);
    font-size: calc(var(--v2-font-size-factor) * var(--v2-font-size));
    line-height: var(--v2-line-height);
    letter-spacing: calc(var(--v2-letter-spacing) * var(--v2-font-size-factor));
    font-weight: var(--v2-font-weight);
    text-decoration: none;
    overflow: hidden;
    position: relative;

    & .v2-ripple {
        position: absolute;
        border-radius: 50%;
        background-color: var(--v2-ripple-light);
        transform: scale(4);
        opacity: 0;
        transition: transform .6s linear, opacity .6s linear;
        @starting-style {
            transform: scale(0);
            opacity: 1;
        }
    }

    & .v2-button-start-icon {
        margin-right: 1ch;
        display: block;
        svg { display: block; }
    }
    & .v2-button-end-icon {
        margin-left: 1ch;
        display: block;
        svg { display: block; }
    }

    &.v2-button-primary-cta, &.v2-button-primary-cta-black, &.v2-button-secondary-cta, &.v2-button-tertiary-cta, &.v2-button-primary-form, &.v2-button-sr-only {
        min-height: 50px;
        border-radius: 25px;
        border: 1px solid #000;
        font-size: calc(var(--v2-font-size-factor) * 22px);
        font-weight: 700;
        line-height: 1.09091;
        padding: 0 20px;
        box-shadow: var(--v2-focus-base);
        transition: var(--v2-focus-transition);
        &:hover, &:focus {
            box-shadow: var(--v2-focus-active);
        }
    }

    &.v2-button-tertiary-cta {
        min-width: 127px;
    }

    &.v2-button-primary-cta, &.v2-button-sr-only {
        background-color: var(--v2-brand);
        color: #000;
        & .v2-ripple {
            background-color: var(--v2-ripple-dark);
        }
    }

    &.v2-button-primary-cta-black, &.v2-button-primary-cta[disabled] {
        background-color: #000;
        color: #fff;
    }

    &.v2-button-tertiary-cta {
        background-color: #000;
        color: #fff;
        font-size: calc(var(--v2-font-size-factor) * 18px);
        line-height: 1.33333;
        font-weight: 700;
    }

    &.v2-button-secondary-cta {
        font-weight: 500;
        background-color: #fff;
        & .v2-ripple {
            background-color: var(--v2-ripple-dark);
        }
        color: #000;
    }
    &.v2-button-primary-form {
        font-size: calc(var(--v2-font-size-factor) * 18px);
        line-height: 1.33333;
        font-weight: 500;
        background-color: #fff;
        min-width: 200px;
        & .v2-ripple {
            background-color: var(--v2-ripple-dark);
        }
        color: #000;
    }
    &.v2-button-secondary-form, &.v2-button-header-link, &.v2-button-link, &.v2-button-bold-link, &.v2-button-nav-primary-link, &.v2-button-nav-secondary-link, &.v2-button-nav-content-link {
        min-width: unset;
        font-size: calc(var(--v2-font-size-factor) * 16px);
        line-height: 1.25;
        font-weight: 400;
        padding: 4px;
        border-radius: var(--v2-border-radius);
        & .v2-ripple {
            background-color: var(--v2-ripple-dark);
        }
    }
    &.v2-button-header-link {
        font-weight: 700;
        text-decoration: underline;
        margin: -4px;
    }
    &.v2-button-link, &.v2-button-bold-link {
        display: inline-flex;
        padding: 0;
        margin: 0;
        font-size: inherit;
        line-height: inherit;
        font-weight: inherit;
        text-decoration: underline;
        &:not([data-v2-spin]) {
            display: inline;    
        } 
    }
    &.v2-button-bold-link {
        font-weight: 700;
    }

    &.v2-button-nav-primary-link, &.v2-button-nav-secondary-link, &.v2-button-nav-content-link {
        margin: 0 -4px;
        color: #fff;
        font-weight: 700;
        font-size: 18px;
        letter-spacing: 0.36px;
        font-weight: 700;
    }
    &.v2-button-nav-content-link {
        &:hover, &:focus {
            text-decoration: underline;
        }
    }

    &.v2-button-nav-secondary-link {
        color: var(--v2-brand);
    }

    &.v2-button-nav-content-link {
        font-weight: 500;
        color: #000;
        font-size: 16px;
        letter-spacing: 0.32px;
    }

    &.v2-button-sr-only {
        position: absolute;
        z-index: 10000;
        top: 0;
        left: 0;
        transform: translateX(calc(-100% - 10px)) translateY(15px);
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        transition: opacity var(--v2-transition-short) var(--v2-transition-function),
                    color var(--v2-transition-short) var(--v2-transition-function),
                    background-color var(--v2-transition-short) var(--v2-transition-function),
                    transform var(--v2-transition-short) var(--v2-transition-function);
        
        &:focus, &:active {
            transform: translateX(0px) translateY(15px);
        }
    }

    transition: opacity var(--v2-transition-short) var(--v2-transition-function),
                color var(--v2-transition-short) var(--v2-transition-function),
                background-color var(--v2-transition-short) var(--v2-transition-function);
    opacity: 1;   
    &[disabled]:not(.v2-spinning) {
        opacity: 0.2;
    }

    .v2-button-content {
        font-family: inherit;
        font-size: inherit;
        line-height: inherit;
        letter-spacing: inherit;
        font-weight: inherit;
    }
}

.v2-button-tooltip {
    border: 0;
    padding: 0;
    &.out {
        opacity: 0;
    }
    opacity: 1;
    left: calc(var(--v2-button-left) + 0.5 * var(--v2-button-width));
    top: var(--v2-button-top);
    width: 0px;
    right: auto;
    position: fixed;
    transition: opacity var(--v2-transition-short) var(--v2-transition-function);
    z-index: 10;
}



/** ./v2-styles/icon-button.css?v=3: 1764804085 [1765325280] */
.v2-icon-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    padding: 0;
    text-align: center;
    flex: 1 1 auto;
    line-height: 1;
    .material-icons {
        font-size: 24px;
    }
}

.v2-icon-button-tooltip {
    border: 0;
    padding: 0;
    left: -3.5px;
    &.out {
        opacity: 0;
    }
    opacity: 1;
    transition: opacity var(--v2-transition-short) var(--v2-transition-function);
}

.v2-icon-button-with-tooltip {
    position: relative;
    top: 0;
    right: 0;   
    bottom: 0;
    display: inline-flex;
    flex-direction: row;
    width: 24px;
    height: 24px;
    justify-content: stretch;
    align-items: stretch;
    z-index: 3;
    vertical-align: middle;

    .material-icons {
        opacity: 0.6;
        transition: opacity var(--v2-transition-normal) var(--v2-transition-function);
    }
    &:hover .material-icons {
        opacity: 1.0;
    }
}

.v2-form-icon-content > .v2-icon-button-with-tooltip {
    width: auto;
    height: auto;
}


/** ./v2-styles/modal-navigation.css?v=3: 1764804085 [1765325280] */
.v2-modal-navigation {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background-color: black;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: 0 10px;
    z-index: 1030;
    .v2-logo {
        height: 50px;
        img {
            height: 50px;
            &.mobile {
                display: block;
            }
            &.desktop {
                display: none;
            }
        }
    }
    @media (max-width: 767.99px) {
        height: 60px;
        .v2-logo {
            height: 38px;
            img {
                height: 38px;
            }
        }
    }
    > .v2-form-control {
        margin-left: auto;
        min-width: 200px;
        width: max-content;
        .v2-form-control-inner {
            background: #fff;
        }
        + .v2-form-control, + .v2-refresh, + .v2-close {
            margin-left: 16px;
        }
    }
}


@media (min-width: 768px) {
    .v2-modal-navigation .v2-logo img {
        &.mobile {
            display: none;
        }
        &.desktop {
            display: block;
        }
    }
}

.v2-close, .v2-refresh, .v2-settings {
    display: block;
    background: transparent;
    color: #fff;
    padding: 0;
    margin: 0;
    margin-left: auto;
    border: 0;
}

.v2-refresh .material-icons, .v2-settings .material-icons {
    font-size: 48px;
}
.v2-settings + .v2-refresh, .v2-refresh + .v2-close {
    margin-left: 16px;
}



/** ./v2-styles/narrow-column.css?v=3: 1764804085 [1765325280] */
.v2-narrow-column-container {
    max-width: var(--v2-narrow-column);
    padding-left: var(--v2-content-horizontal-padding);
    padding-right: var(--v2-content-horizontal-padding);
    padding-top: var(--v2-content-vertical-padding);
    padding-bottom: var(--v2-content-vertical-padding);
    margin: 0 auto;
    .v2-narrow-column-content {
        display: grid;
        grid-template-columns: calc(var(--v2-narrow-column) - 2 * var(--v2-content-horizontal-padding));
        row-gap: var(--v2-block-space);
        width: calc(var(--v2-narrow-column) - 2 * var(--v2-content-horizontal-padding));
        > * {
            margin: 0;
        }
        > .v2-title {
            margin-bottom: var(--v2-header-content-extra-space);
        }
        &.v2-with-detail {
            > .v2-title {
                margin-bottom: 0;
            }
            > .v2-header-detail-text {
                margin-top: -4px;
                margin-bottom: var(--v2-header-content-extra-space);
            }
        }
    }
}



/** ./v2-styles/text-input.css?v=3: 1764804085 [1765325280] */
.v2-form-control-help, .v2-form-control-error {
    padding: 14px 0 0;
}

.v2-form-control-error {
    overflow: hidden;
    white-space: nowrap;
    transition: opacity var(--v2-transition-short) var(--v2-transition-function),
                height var(--v2-transition-short) var(--v2-transition-function),
                padding-top var(--v2-transition-short) var(--v2-transition-function);
    opacity: 1;
    height: calc(14px + 1lh);

    @starting-style {
        opacity: 0;
        height: 0;
        padding-top: 0;
    }

    &.exit {
        opacity: 0;
        height: 0;
        padding-top: 0;
    }
}

.v2-form-control {
    color: #000;
    --v2-form-icon-count: 0;

    > .v2-form-control-middle {
        /*
        outline: 0px solid Highlight;
        outline: 0px solid -webkit-focus-ring-color;
        outline-offset: 0px;
        transition: outline var(--v2-transition-short) var(--v2-transition-function), outline-offset var(--v2-transition-short) var(--v2-transition-function);
        */
        box-shadow: var(--v2-focus-base);
        transition: var(--v2-focus-transition);
        border-radius: var(--v2-border-radius);
    }

    &.v2-form-focus > .v2-form-control-middle {
        box-shadow: var(--v2-focus-active);
    }
    &.v2-nested-input > .v2-form-control-middle {
        box-shadow: none !important;
    }

    .v2-form-control-inner {
        display: block;
        border: 1px solid currentColor;
        position: relative;
        min-height: calc(14px + 41px + 15px);
        border-radius: var(--v2-border-radius);
        display: flex;

        .v2-form-label {
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;        
            transition-property: font-size, line-height, padding-top;
            padding: 14px calc(21px + (40px * var(--v2-form-icon-count, 0))) 0 21px;
            transition-duration: var(--v2-transition-short);
            transition-timing-function: var(--v2-transition-function);
            font-size: 16px;
            font-weight: 400;
            line-height: 41px;
            margin-bottom: 0;
            z-index: 1;
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
            font-family: var(--v2-font-family);
            &.v2-form-label-minimize {
                font-size: 14px;
                line-height: 18px;
                padding-top: 12px;
            }
        }

        textarea.v2-text-input {
            overflow: hidden;
            resize: none;
        }
        .v2-text-input {
            align-self: stretch;
            justify-self: stretch;
            flex: 1 1 auto;
            border: 0;
            padding: 18px 21px 15px 21px;
            margin: 0;
            font-family: var(--v2-font-family);
            line-height: 18px;
            font-size: 18px;
            font-weight: 700;
            border-radius: var(--v2-border-radius);
            color: currentColor;
            letter-spacing: .9px;
            &:focus-visible {
                outline: 0px solid Highlight;
            }
            &.v2-select-wrap, &.v2-file-wrap {
                padding-right: 40px;
                width: 100%;
                background-color: transparent;
                select {
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    opacity: 0;
                    appearance: none;
                    z-index: 2;
                    padding: 12px;
                }
                .v2-select-value, .v2-file-value {
                    line-height: 18px;
                    font-size: 18px;
                    font-weight: 700;
                    letter-spacing: .9px;
                    /* transition: padding-top var(--v2-transition-short) var(--v2-transition-function); */
                    color: currentColor;
                    z-index: 1;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    width: 100%;
                    display: block;
                    font-family: var(--v2-font-family);
                    text-align: left;
                }
                .v2-dropdown, .v2-file-clear {
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    display: flex;
                    flex-direction: row;
                    padding: 14px 7px 15px 0;
                    width: 40px;
                    justify-content: center;
                    align-items: center;
                    z-index: 1;
                    overflow: hidden;
                    white-space: nowrap;
                    text-overflow: ellipsis;
                }
            }
            &.v2-file-wrap {
                position: relative;
                z-index: 2;
            }
        }
        .v2-text-input.StripeElement {
            position: relative;
            z-index: 1;
            > div {
                width: 100%;
                height: 100%;
                > iframe {
                    width: 100%;
                    height: 100%;
                    min-height: 100% !important;
                    min-width: 100% !important;
                }
            }
        }

        .v2-form-label-minimize ~ .v2-text-input {
            padding-top: 36px; /* Synchronize this in TextInput.tsx in TextInputV2.autoResize(). */
            padding-bottom: 11px;
            &.v2-select-wrap, &.v2-file-wrap {
                .v2-select-value {
                    display: block;
                    padding-top: 0;
                }
            }
            &.v2-stripe-card-input, &.v2-stripe-cvc-input, &.v2-stripe-exp-input {
                position: relative;
                iframe {
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                }
            }
        }
    }

    &.v2-form-control-inline {
        display: inline-flex;
        .v2-form-control-middle {
            display: contents;
        }
        .v2-form-control-inner {
            border: 0px;
            min-height: 38px;
            height: 38px;
            border-radius: 0;
            display: inline-flex;
            flex-direction: row;
            align-items: center;
            .v2-form-label {
                font-size: 20px;
                line-height: 24px;
                padding: 0;
                margin-right: 8px;
                display: inline-block;
                position: static;
                font-weight: 700;
                text-transform: uppercase;
                width: max-content;
                overflow: visible;
                &:after {
                    content: ': ';
                }
            }
            .v2-text-input {
                font-size: 20px;
                font-weight: 500;
                line-height: 24px;
                display: inline-block;
                position: relative;
                padding: 0;
                &.v2-select-wrap {
                    display: inline-flex;
                    flex-direction: row;
                    align-items: center;
                    .v2-select-value {
                        overflow: visible;
                        font-size: 20px;
                        font-weight: 500;
                        line-height: 24px;
                    }
                }
            }
        }
        &.v2-form-icon {
            .v2-form-control-inner .v2-form-label {
                padding-right: 0;
            }
        }
    }
    &.v2-form-control-file .v2-form-control-inner {
        background-color: #e5e5e5;
    }
    
    &.v2-form-icon {
        --v2-form-icon-count: 1;
        .v2-form-control-inner {
            .v2-form-label, .v2-text-input {
                padding-right: calc(40px * var(--v2-form-icon-count, 1));
            }
            .v2-text-input.v2-select-wrap {
                /*
                padding-right: calc(40px * (1 + var(--v2-form-icon-count, 1)));
                */
                max-width: 100%;
                width: 100%;
                .v2-dropdown {
                    right: calc(40px * (var(--v2-form-icon-count, 1) - 1));
                }
            }
            .v2-form-icon-content {
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                display: flex;
                flex-direction: row;
                padding: 14px 7px 15px 0;
                width: calc(var(--v2-form-icon-count) * 40px);
                justify-content: stretch;
                align-items: stretch;
                z-index: 3;

                .material-icons {
                    opacity: 0.6;
                    transition: opacity var(--v2-transition-normal) var(--v2-transition-function);
                }
                &:hover .material-icons {
                    opacity: 1.0;
                }

                .v2-icon-button {
                    width: 40px;
                }
            }
        }
        &.v2-form-card {
            .v2-form-control-inner {
                --v2-icon-size: calc((6px * 3) + 30px + 30px + 27px + 30px + 25px);
                .v2-form-label, .v2-text-input {
                    padding-right: var(--v2-icon-size);
                }
                .v2-form-icon-content.v2-card-icons {
                    padding-right: 25px;
                    width: var(--v2-icon-size);
                    display: grid;
                    align-items: center;
                    justify-items: flex-end;
                    grid-template-columns: repeat(4, auto);
                    column-gap: 6px;
                    .v2-card-visa {
                        width: 30px;
                        height: 20px;
                        display: block;
                        background: url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/card-icons/visa.png) no-repeat 50% 50%;
                    }
                    .v2-card-mastercard {
                        width: 30px;
                        height: 20px;
                        background: #e5e5e5 url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/card-icons/mastercard.png) no-repeat 50% 50%;
                        border-radius: 2px;
                        display: block;
                    }
                    .v2-card-amex {
                        display: block;
                        width: 27px;
                        height: 20px;
                        background: url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/card-icons/amex.png) no-repeat 50% 50%;
                        display: block;
                    }
                    .v2-card-discover {
                        display: block;
                        width: 30px;
                        height: 20px;
                        background: url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/card-icons/discover.png) no-repeat 50% 50%;
                        display: block;
                    }
                    > * {
                        transition: opacity var(--v2-transition-normal) var(--v2-transition-function), filter var(--v2-transition-normal) var(--v2-transition-function);
                        opacity: 1;
                        filter: grayscale(0)
                    }
                }
            }
            &.v2-form-card-visa .v2-card-icons > *:not(.v2-card-visa) { opacity: 0.5; filter: grayscale(1); }
            &.v2-form-card-mastercard .v2-card-icons > *:not(.v2-card-mastercard) { opacity: 0.5; filter: grayscale(1); }
            &.v2-form-card-discover .v2-card-icons > *:not(.v2-card-discover) { opacity: 0.5; filter: grayscale(1); }
            &.v2-form-card-amex .v2-card-icons > *:not(.v2-card-amex) { opacity: 0.5; filter: grayscale(1); }

        }
    }

    &.v2-form-error {
        color: var(--v2-error);
    }
    &.v2-has-nested-input {
        > .v2-form-control-middle > .v2-form-control-inner {
            transition-property: border-bottom-left-radius, border-bottom-right-radius, border-bottom-width;
            transition-duration: var(--v2-transition-short);
            transition-timing-function: var(--v2-transition-function);
        }
        &.v2-has-visible-nested-input > .v2-form-control-middle > .v2-form-control-inner {
            border-bottom-width: 0;
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
        }        
    }
    &.v2-nested-input.v2-form-control-text {
        > .v2-form-control-middle > .v2-form-control-inner {
            overflow: hidden;
            min-height: 0px;
            height: 0px;
            border-top-width: 0px;
            transition-property: height, border-top-width;
            transition-duration: var(--v2-transition-short);
            transition-timing-function: var(--v2-transition-function);
            border-bottom-width: 0px;
            input {
                border-top-left-radius: 0;
                border-top-right-radius: 0;
            }
        }
        &.v2-nested-visible > .v2-form-control-middle > .v2-form-control-inner {
            height: calc(14px + 41px + 15px);
            border-top-width: 1px;
            border-bottom-width: 1px;
        }
        &.v2-without-label {
            > .v2-form-control-middle > .v2-form-control-inner {
                > .v2-text-input {
                    padding-top: 9px;
                    padding-bottom: 9px;
                }
            }
            &.v2-nested-visible > .v2-form-control-middle > .v2-form-control-inner {
                height: calc(9px + 41px + 9px);
            }
        }
    }

    &.v2-has-nested-input > .v2-form-control-middle > .v2-nested-input {
        > .v2-form-control-middle > .v2-form-control-inner {
            border-top-left-radius: 0px;
            border-top-right-radius: 0px;
        }
    }

    .v2-word-count {
        text-align: right;
    }
}

.v2-form-control-help {
    font-size: calc(var(--v2-font-size-factor) * var(--v2-font-size));
    letter-spacing: calc(var(--v2-font-size-factor) * var(--v2-letter-spacing));
    --v2-font-size-factor: calc(14px / 16px);
    padding-bottom: 10px;
}

.v2-form-control-footer {
    display: grid;
    grid-template-columns: auto max-content;
    gap: 16px;
    .v2-form-control-error {
        grid-column: 1;
    }
    .v2-form-control-help {
        grid-column: 2;
    }
}


/** ./v2-styles/title.css?v=3: 1764804085 [1765325280] */
.v2-title {
    font-family: var(--v2-font-family);
    font-size: var(--v2-header-font-size);
    line-height: var(--v2-header-line-height);
    letter-spacing: var(--v2-header-letter-spacing);
    font-weight: var(--v2-header-font-weight);

    margin: 0;
}





/** ./v2-styles/loader.css?v=3: 1764804085 [1765325280] */
@keyframes v2-loader-spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.v2-loader {
	background: var(--v2-loader-icon) no-repeat 50% 50%; 
	background-size: contain;
	display: inline-block; 
    width: 60px;
    height: 60px;
	vertical-align: middle;
	
	animation: v2-loader-spin 2000ms linear 0s infinite;
	
	&.small {
        width: 40px;
        height: 40px;
	}
	
	&.x-small {
        width: 20px;
        height: 20px;
	}
}

[data-v2-spin=true] {
    position: relative;
    overflow: hidden;
    transition: color var(--v2-transition-short) var(--v2-transition-function);
    > * {
        transition: opacity var(--v2-transition-short) var(--v2-transition-function);
    }
    &:before, &:after {
        position: absolute;
        top: 20%;
        left: 20%;
        right: 20%;
        bottom: 20%;
        content: "";
        opacity: 0;
        transition: opacity var(--v2-transition-short) var(--v2-transition-function);
        background-image: var(--v2-loader-icon);
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: contain;
        animation: v2-loader-spin 2000ms linear 0s infinite;
        animation-play-state: paused;
    }
	&.v2-spinning {
		color: rgba(0, 0, 0, 0) !important;
		> * { opacity: 0 !important; }
        &:before, &:after { opacity: 1; animation-play-state: running; }

        &.material-icons[data-v2-icon]:before {
			position: static;
			content: attr(data-v2-icon);
			background: none;
			opacity: 0;
		}
	}
}



/** ./v2-styles/alert.css?v=3: 1764804085 [1765325280] */
.v2-alert {
    padding: 16px;
    font-family: var(--v2-font-family);
    font-size: var(--v2-font-size);
    font-weight: 500;
    border: 1px solid currentColor;
    background-color: transparent;
    color: var(--v2-dark);
    border-radius: var(--v2-border-radius);
    ;
    &.v2-alert-error {
        color: var(--v2-error);
        background-color: var(--v2-error-background);
    }
    &.v2-alert-info {
        color: var(--v2-info);
        background-color: var(--v2-info-background);
    }
}

.v2-modal .v2-alert {
    scroll-margin-top: 90px;
    @media (max-width: 767.99px) {
        scroll-margin-top: 70px;
    }
}


/** ./v2-styles/checkbox.css?v=3: 1764804085 [1765325280] */
.v2-checkbox {
    &.v2-checkbox-icon {
        /* Not implemented */
    }
    &.v2-checkbox-error {
        /* Not implemented */
    }
    &.v2-checkbox-focus {
        .v2-checkbox-inner {
            .v2-checkbox-wrap {
                .v2-checkbox-view {
                    outline: 0px;
                    box-shadow: var(--v2-focus-active);
                }
            }
        }
    }
    .v2-checkbox-inner {
        display: grid;
        grid-template-columns: max-content auto;
        gap: 10px;

        &:hover {
            .v2-checkbox-wrap .v2-checkbox-view {
                outline: 0px;
                box-shadow: var(--v2-focus-active);
            }
        }
        .v2-checkbox-wrap {
            position: relative;
            .v2-checkbox-input {
                opacity: 0;
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 1;
                padding: 0;
                margin: 0;
            }
            .v2-checkbox-view {
                display: flex;
                width: calc(1em + 8px);
                height: calc(1em + 8px);
                padding: 3px;
                border-radius: 4px;
                border: 1px solid currentColor;

                align-items: center;
                justify-content: center;

                box-shadow: var(--v2-focus-base);
                transition: var(--v2-focus-transition);

                &:not(.v2-checkbox-radio):not(.v2-checkbox-plus) {
                    &:before {
                        font-family: 'Material Icons';
                        font-size: 1em;
                        line-height: 1;
                        display: block;
                        opacity: 0;
                        transition: opacity var(--v2-transition-short) var(--v2-transition-function);
                        content: 'done';
                    }
                }
                &.v2-checkbox-radio {
                    border-radius: calc(0.5em + 4px);
                    &:before {
                        position: absolute;
                        top: 4px;
                        left: 4px;
                        height: 1em;
                        width: 1em;
                        background-color: currentColor;
                        border-radius: 0.5em;
                        opacity: 0;
                        transition: opacity var(--v2-transition-short) var(--v2-transition-function);
                        content: '';
                    }
                }
                &.v2-checkbox-plus {
                    border: 0px;
                    border-radius: 0;
                    &:before {
                        content: none;
                    }
                    > svg {
                        position: absolute;
                        top: 4px;
                        left: 4px;
                        height: calc(1em - 2px);
                        width: calc(1em - 2px);
                    }
                }            
            }
            .v2-checkbox-input:checked + .v2-checkbox-view:before {
                opacity: 1;
            }
        }
        .v2-checkbox-label {
            padding-top: 3px;
            font-weight: 700;
        }
        .v2-checkbox-icon-content {
            /* Not implemented */
        }
    }
    .v2-checkbox-error {
        /* Not implemented */
        &.exit {}
    }
    .v2-checkbox-help {
        /* Not implemented */
    }
    .v2-nested-input {
        margin-left: 34px;
    }
}


/** ./v2-styles/recaptcha.css?v=3: 1764804085 [1765325280] */
.v2-modal-wrapper .recaptcha {
    padding: 20px 0;
}


/** ./v2-styles/scroll-view.css?v=3: 1764977369 [1765325280] */
.v2-scroll-view {
    height: 100%;
    flex: 1 1 auto;
    display: flex;
    overflow: hidden !important;
    align-self: stretch;
    width: 100%;
    flex-direction: column;

    .v2-scroll-view-root {
        padding: 0;
        display: flex;
        flex-direction: column;
        align-self: stretch;
        position: relative;
        height: 100%;
        flex: 1 1 auto;
    }

    .v2-scroll-view-scrollbar {
        position: absolute;
        right: 0;
        width: 16px;
        top: 3px;
        bottom: 3px;
        z-index: 1;
        opacity: 0;
        transition: var(--v2-transition-short) var(--v2-transition-function);
    }
    .v2-scroll-view-scrollbar-hover {
        opacity: 1;
    }

    .v2-scroll-view-handle {
        position: absolute;
        background-color: rgba(0, 0, 0, 0.3);
        border-radius: 5px;
        width: 10px;
        min-height: 20px;
        left: 3px;
        cursor: default;
    }

    .v2-scroll-view-wrapper {
        flex: 1 1 auto;
        position: relative;
        align-self: stretch;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .v2-scroll-view-body {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        overflow-x: hidden;
        overflow-y: scroll;
        height: 100%;
        box-sizing: border-box;
        padding-right: calc(25px - var(--scrollbar-width, 16px));
        width: calc(100% + 25px);
        /** We show our own. */
        &::-webkit-scrollbar {
            display: none;
        }
    }

    .v2-scroll-view-root[data-direction="inline"] {
        .v2-scroll-view-body {
            position: static;
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: max-content;
            gap: 30px;
            overflow-y: hidden;
            overflow-x: scroll;
        }
        .v2-scroll-view-scrollbar {
            top: auto;
            bottom: 0;
            left: 3px;
            right: 3px;
            width: auto;
            height: 16px;
        }
        .v2-scroll-view-handle {
            height: 10px;
            min-height: 0px;
            min-width: 20px;
            left: auto;
            top: 3px;
            cursor: default;
        }
    }
}


/** ./v2-styles/two-columns.css?v=3: 1764804085 [1765325280] */
.v2-two-column-container {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 0;
    min-height: calc(100vh - var(--v2-top-padding, 0px));

    > .v2-right-column {
        grid-column: 2;
        grid-row: 1;
        > .v2-column-content {
            @media (min-width: 768px) {
                max-width: 528px;
            }
            padding: 64px;
            margin: 0 auto;
        }
        background-color: #f9f9f9;
        border-left: 1px solid #000;
    }
    > .v2-left-column {
        grid-column: 1;
        grid-row: 1;
        > .v2-column-content {
            max-width: 928px;
            padding: 64px;
            margin: 0 auto;
        }
    }

    @media (max-width: 767.99px) {
        grid-template-columns: var(--v2-narrow-column);
        > .v2-right-column, > .v2-left-column {
            grid-row: 1;
            grid-column: 1;
            max-width: none;
            padding-left: var(--v2-content-horizontal-padding);
            padding-right: var(--v2-content-horizontal-padding);
            padding-top: var(--v2-content-vertical-padding);
            padding-bottom: var(--v2-content-vertical-padding);
            width: var(--v2-narrow-column);
            > .v2-column-content {
                display: grid;
                grid-template-columns: calc(var(--v2-narrow-column) - 2 * var(--v2-content-horizontal-padding));
                row-gap: var(--v2-block-space);
                width: calc(var(--v2-narrow-column) - 2 * var(--v2-content-horizontal-padding));
                padding: 0;
            }
            border-left: 0;
            border-bottom: 1px solid #000;
        }
        > .v2-left-column {
            grid-row: 2;
        }
    }
}

.v2-column {
    > .v2-column-content {
        display: grid;
        grid-template-columns: auto;
        row-gap: var(--v2-block-space);
        > .v2-column-header-image {
            max-width: 100%;
            border-radius: var(--v2-border-radius);
        }
        > .v2-column-mobile-header {
            display: grid;
            gap: 20px;
            grid-template-columns: 117px auto;
            > img {
                max-width: 117px;
            }
        }
        > * {
            margin: 0;
        }
        > .v2-title {
            margin-bottom: var(--v2-header-content-extra-space);
        }
    }
    &.v2-with-detail {
        > .v2-column-content {
            > .v2-title {
                margin-bottom: 0;
            }
            > .v2-header-detail-text {
                margin-top: -4px;
                margin-bottom: var(--v2-header-content-extra-space);
            }
        }
    }
    &.v2-collapsable {
        &.v2-collapsed {
            height: 0px;
            overflow: hidden;
            margin-top: calc(-1 * var(--v2-block-space));
        }
    }
}


/** ./v2-styles/fieldset.css?v=3: 1764804085 [1765325280] */
.v2-fieldset {
    display: grid;
    grid-template-columns: 100%;
    row-gap: var(--v2-block-space);
    > legend {
        padding: 0;
        border: 0;
        margin: 0;
        color: var(--v2-dark);
        font-size: var(--v2-subheader-font-size);
        line-height: var(--v2-subheader-line-height);
        font-weight: var(--v2-subheader-font-weight);
        font-family: var(--v2-font-family);
    }

    &.v2-application-form-checklist {
        margin: 1lh 0;

        > legend, .v2-checkbox-label {
            font-size: var(--v2-font-size);
            line-height: var(--v2-line-height);
            font-weight: 400;
        }
        > legend {
            margin-bottom: 1lh;
        }
        
    }
}


/** ./v2-styles/pages/checkout.css?v=3: 1764804085 [1765325280] */
.v2-checkout {
    .v2-checkout-fieldset {
        max-width: 400px;
        &.v2-checkout-submit {
            width: max-content;
        }
    }
    .v2-donation {
        margin-top: var(--v2-block-space);

        .v2-title {
            font-size: var(--v2-subheader-font-size);
            line-height: var(--v2-subheader-line-height);
            letter-spacing: var(--v2-subheader-letter-spacing);
            font-weight: var(--v2-subheader-font-weight);
        }

        .v2-donation-buttons {
            .v2-radio {
                display: inline-block;
                width: 100px;
                padding: 18px 0;
                height: 50px;
                margin-right: 10px;
                border-radius: var(--v2-border-radius);
                background-color: #d9d9d9;
                border: 1px solid #d9d9d9;
                transition: background-color var(--v2-transition-short) var(--v2-transition-function),
                            border-color var(--v2-transition-short) var(--v2-transition-function);
                overflow: hidden;
                position: relative;
                .v2-radio-wrap {
                    position: absolute;
                    top: -1000px;
                    left: -1000px;
                }
                .v2-radio-inner {
                    display: block;
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                }
                &.v2-radio-selected {
                    background-color: #fff;
                    border-color: #000;
                }
                &.v2-radio-with-input {
                    width: 153px;
                }
                .v2-radio-label {
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    display: flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: center;
                    font-size: 22px;
                    line-height: 1;
                    font-weight: 700;
                    margin: 0;
                    padding: 0;
                    &:before {
                        content: '$';
                    }
                    input {
                        margin-left: 2px;
                        width: 100px;
                        font-size: 22px;
                        line-height: 24px;
                        font-weight: 700;
                        text-align: center;
                    }
                }
            }
        }
    }

    .v2-card-radio {
        border-radius: 8px;
        border: 1px solid #000;
        padding: 20px;
        .v2-radio-inner .v2-radio-label {
            font-weight: 400;
            transition: font-weight var(--v2-transition-short) var(--v2-transition-function);
        }
        background-color: white;
        transition: background-color var(--v2-transition-short) var(--v2-transition-function);
        &.v2-radio-selected {
            background-color: #d9d9d9;
            .v2-radio-inner .v2-radio-label {
                font-weight: 700;
            }
        }
        .v2-radio-label {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: flex-start;

            .v2-checkout-card {
                &[data-brand=Visa] {
                    width: 30px;
                    height: 20px;
                    margin-right: 8px;
                    display: inline-block;
                    background: url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/card-icons/visa.png) no-repeat 50% 50%;
                }
                &[data-brand=MasterCard] {
                    width: 30px;
                    height: 20px;
                    margin-right: 8px;
                    background: #e5e5e5 url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/card-icons/mastercard.png) no-repeat 50% 50%;
                    border-radius: 2px;
                    display: inline-block;
                }
                &[data-brand="American Express"] {
                    width: 27px;
                    height: 20px;
                    margin-right: 11px;                
                    background: url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/card-icons/amex.png) no-repeat 50% 50%;
                    display: inline-block;
                }
                &[data-brand="Discover"] {
                    width: 30px;
                    height: 20px;
                    margin-right: 8px;
                    background: url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/card-icons/discover.png) no-repeat 50% 50%;
                    display: inline-block;
                }
            }
        }    }

}

.v2-marketing-opt-in {
    display: grid;
    grid-template-columns: auto;
    gap: 16px;
    
    &:has(.v2-marketing-logo) {
        /* grid-template-columns: 125px auto; */
        .v2-marketing-logo {
            max-width: 100%;
            grid-column: 1;
            grid-row: 1;
        }
        /*
        &:has(.v2-marketing-text) {
            .v2-marketing-logo {
                grid-row: 1 / 3;
            }
            &:has(.v2-button) {
                .v2-marketing-logo {
                    grid-row: 1 / 4;
                }
            }
        }
        &:has(.v2-button) {
            .v2-marketing-logo {
                grid-row: 1 / 3;
            }
        }
        > *:not(.v2-marketing-logo) {
            grid-column: 2;
        }
        */
    }    
    /*
    .v2-marketing-text {
        grid-row: 1;
        & + .v2-checkbox {
            grid-row: 2;
            & + .v2-button {
                grid-row: 3;
            }
        }
    }
    .v2-checkbox {
        grid-row: 1;
        & + .v2-button {
            grid-row: 2;
        }
    }
    */
    
    border: 1px solid currentColor;
    padding: 14px;
    border-radius: var(--v2-border-radius);

    + .v2-checkout-fieldset {
        margin-top: 20px;
    }
}


/** ./v2-styles/tooltip.css?v=3: 1764804085 [1765325280] */
.v2-tooltip {
    position: absolute;
    bottom: 20px;
    left: -150px;
    width: 300px;
    background: #e5e5e5;
    border: 1px solid currentColor;
    border-radius: var(--v2-border-radius);
    padding: 12px;
    font-size: var(--v2-font-size);
    font-weight: var(--v2-font-weight);
    line-height: var(--v2-line-height);
    
    &:before {
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        bottom: -20px;
        left: calc(50% - 10px);
        border-top: 20px solid currentColor;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent
    }
    &:after {
        content: "";
        position: absolute;
        width: 18px;
        height: 18px;
        bottom: -18px;
        left: calc(50% - 9px);
        border-top: 18px solid #e5e5e5;
        border-left: 9px solid transparent;
        border-right: 9px solid transparent
    }   
}


/** ./v2-styles/pages/community-agreement.css?v=3: 1764804085 [1765325280] */
.v2-community-agreement {
    .v2-header-detail-text {
        font-weight: 700;
        letter-spacing: 0.8px;
        font-size: 16px;
    }

    .v2-community-agreement-scroller {
        border: 1px solid currentColor;
        border-radius: var(--v2-border-radius);
        height: 400px;

        .v2-agreement {
            padding: 24px;
        }

        margin-top: calc(var(--v2-header-content-extra-space) * -1);
        margin-bottom: calc(var(--v2-header-content-extra-space) * 1);

        @media (max-width: 767px) {
            & {
                min-height: 150px;
                height: 30vh;
            }
        }
    }

}


/** ./v2-styles/radio.css?v=3: 1764804085 [1765325280] */
.v2-radio {
    &.v2-radio-icon {
        /* Not implemented */
    }
    &.v2-radio-error {
        /* Not implemented */
    }

    .v2-radio-view, label {
        cursor: pointer;
    }
    &.v2-radio-focus {
        .v2-radio-inner {
            .v2-radio-wrap {
                .v2-radio-view:not(.v2-radio-plus) {
                    outline: 3px solid;
                    outline-color: Highlight;
                    outline-color: -webkit-focus-ring-color;
                    outline-offset: -2px;
                }
            }
        }
    }
    .v2-radio-inner {
        display: grid;
        grid-template-columns: max-content auto;
        gap: 10px;

        &:hover {
            .v2-radio-wrap .v2-radio-view:not(.v2-radio-plus) {
                outline: 3px solid;
                outline-color: Highlight;
                outline-color: -webkit-focus-ring-color;
                outline-offset: -1px;
            }
        }
        .v2-radio-wrap {
            position: relative;
            .v2-radio-input {
                opacity: 0;
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 1;
                padding: 0;
                margin: 0;
                &:before, &:after { content: none; }
            }
            .v2-radio-view {
                display: flex;
                width: calc(1em + 8px);
                height: calc(1em + 8px);
                padding: 3px;
                border-radius: calc(0.5em + 4px);
                border: 1px solid currentColor;

                align-items: center;
                justify-content: center;
                transition: outline var(--v2-transition-short) var(--v2-transition-function), outline-offset var(--v2-transition-short) var(--v2-transition-function);
                outline: 0px solid Highlight;
                outline: 0px solid -webkit-focus-ring-color;
                outline-offset: 0px;
                position: relative;
                &:before {
                    position: absolute;
                    top: 4px;
                    left: 4px;
                    height: calc(1em - 2px);
                    width: calc(1em - 2px);
                    background-color: currentColor;
                    border-radius: calc(0.5em - 2px);
                    opacity: 0;
                    transition: opacity var(--v2-transition-short) var(--v2-transition-function);
                    content: '';
                }

                &.v2-radio-plus {
                    border: 0px;
                    border-radius: 0;
                    &:before {
                        content: none;
                    }
                    > svg {
                        position: absolute;
                        top: 4px;
                        left: 4px;
                        height: calc(1em - 2px);
                        width: calc(1em - 2px);
                    }
                }
            }
            .v2-radio-input:checked + .v2-radio-view:before {
                opacity: 1;
            }
        }
        .v2-radio-label {
            padding-top: 3px;
            font-weight: 700;
        }
        .v2-radio-icon-content {
            /* Not implemented */
        }
    }
    .v2-radio-error {
        /* Not implemented */
        &.exit {}
    }
    .v2-radio-help {
        /* Not implemented */
    }
}


/** ./v2-styles/price-table.css?v=3: 1764804085 [1765325280] */

.v2-price-table {
    font-size: 18px;
    line-height: 24px;
    table-layout: auto;
    th, td {
        font-size: 18px;
        line-height: 24px;
    }
    @media (max-width: 767.99px) {
        font-size: 16px;
        th, td {
            font-size: 16px;
        }
    }
    border-spacing: 0;
    tr {
        th[scope=row] {
            text-align: left;
            font-weight: 500;
            padding: 4px 0;
            .v2-icon-button-with-tooltip {
                vertical-align: top;
            }
        }
        td {
            text-align: right;
            padding: 4px 0;
        }
        td.divider {
            height: 9px;
            padding: 4px 0;
            position: relative;
            &:after {
                position: absolute;
                top: 4px;
                height: 1px;
                left: 0;
                right: 0;
                background-color: #000;
                content: "";
            }
        }
    }
    tr.v2-price-total {
        th[scope=row] {
            padding: 4px 0;
            font-weight: 700;
        }
        td {
            padding: 4px 0;
            font-weight: 700;
        }
    }
    .v2-base-price {
        margin-right: 5px;
        text-decoration: line-through;
    }
}

.v2-price-accordion {
    .v2-radio-label {
        .v2-base-price {
            text-decoration: line-through;
        }
    }
}

.v2-upcoming-payments {
    margin-top: 1lh;
    > p {
        margin-bottom: 4px;
    }
}

.v2-payment-plan-notice {
    margin-top: 1lh;
}


/** ./v2-styles/pages/register.css?v=3: 1764804085 [1765325280] */
.v2-register {
    .v2-register-fieldset {
        &.v2-register-submit {
            width: max-content;
        }
        > .v2-form-control:not(.v2-form-control-textarea) {
            max-width: 400px;
        }
        + .v2-register-fieldset {
            margin-top: 40px;
        }
    }

    .v2-register-controls {
        display: grid;
        grid-template-columns: max-content 1fr max-content max-content;
        gap: 8px;
        align-items: center;
        justify-content: center;
        text-align: center;
        .v2-button-primary-form {
            min-width: 0;
        }
        &[data-page-count="1"] {
            grid-template-columns: max-content;
            .v2-page-number { display: none; }
        }
        @media (max-width: 1023.99px) {
            .v2-page-number { display: none; }
            &:not([data-page-count="1"]) {
                grid-template-columns: max-content max-content;
                :nth-child(1) { 
                    grid-column: 1;
                    grid-row: 1;
                    justify-self: flex-start;
                }
                :nth-child(3) {
                    justify-self: flex-end;
                    grid-column: 2;
                    grid-row: 1;
                }
            }
        }
    }
    .v2-register-save-controls {
        display: grid;
        grid-template-columns: max-content;
        gap: 8px;
        align-items: center;
        justify-content: center;
        text-align: center;
        @media (min-width: 1024px) {
            .v2-page-number {
                display: none;
            }
        }
    }
}

.v2-pre-label {
    > div:first-child {
        margin-bottom: 8px;
    }
}

.v2-application-form-file {
    display: none;
    &.v2-application-form-file-visible {
        display: contents;
        + .v2-button {
            margin-top: 8px;
        }
    }
}

.v2-fieldset .v2-alert {
    margin-bottom: 8px;
}

.v2-register-fieldset {
    legend {
        span.hdr {
            font-weight: 600;
            line-height: 1.33;
            font-size: 22px;
            padding-bottom: 4px;
            margin: 0;        
            margin-bottom: 4px;
            font-family: var(--v2-font-family);
            letter-spacing: var(--v2-header-letter-spacing);
            display: block;
            text-transform: uppercase;
            border-bottom: 1px solid currentColor;
        }
        span.blk {
            font-weight: 700;
            line-height: 1.33;
            font-size: 22px;
            font-family: var(--v2-font-family);
            letter-spacing: var(--v2-header-letter-spacing);
            margin-bottom: 0.5lh;
            display: block;
        }
    }
    legend:has(span.blk):after {
        content: "Select a session:";
        font-size: var(--v2-font-size);
        line-height: var(--v2-line-height);
        font-weight: var(--v2-font-weight);
        letter-spacing: var(--v2-letter-spacing);
        display: block;
        margin-bottom: 0.5lh;
    }

    .v2-radio-label:has(.session-item) {
        padding-top: 0;
        .session-item {
            .session-title {
                margin: 0;
                font-weight: 700;
                line-height: 1.33;
                font-size: 20px;
                font-family: var(--v2-font-family);
                letter-spacing: var(--v2-header-letter-spacing);
                margin-bottom: 4px;
                display: block;
            }
            p {
                margin: 4px 0;
            }
        }
    }

    &:has(.session-item) {
        padding-bottom: 40px;
    }
}

  
/** ./v2-styles/uploader.css?v=3: 1764804085 [1765325280] */
.v2-uploader.v2-narrow-column-container {
    .v2-title, .v2-subtitle {
        text-align: center;
    }
    .v2-subtitle {
        font-size: var(--v2-subheader-font-size);
        font-weight: var(--v2-subheader-font-weight);
        line-height: var(--v2-header-line-height);
        letter-spacing: var(--v2-subheader-letter-spacing);
    }
    .v2-progress {
        border: 1px solid black;
        border-radius: var(--v2-border-radius);
        height: 2lh;
        width: 100%;
        overflow: hidden;
        &:before {
            display: block;
            background-color: var(--v2-info);
            width: var(--v2-progress-value, 0%);
            height: calc(2lh - 2px);
            content: "";
            --light-color: color-mix(in lab, var(--v2-info) 100%, #fff 10%);
            --dark-color: color-mix(in lab, var(--v2-info) 100%, #000 10%);
            background-image: linear-gradient(45deg, 
                                              var(--light-color),
                                              var(--light-color) 25%,
                                              var(--dark-color) 25%,
                                              var(--dark-color) 50%,
                                              var(--light-color) 50%,
                                              var(--light-color) 75%,
                                              var(--dark-color) 75%,
                                              var(--dark-color));

            background-repeat: repeat;
            background-size: 40px 40px;
            background-position: 40px 0px;
            animation: v2-progress-bar-stripes 2s linear infinite;
            transition: width var(--v2-transition-short) var(--v2-transition-function);
        }
    }
    text-align: center;
}

@keyframes v2-progress-bar-stripes {
    from {
        background-position: 40px 0;
    }
    to {
        background-position: 0 0;
    }
}


/** ./v2-styles/accordion.css?v=3: 1764804085 [1765325280] */
.v2-accordion {
    .v2-accordion-item {
        & + .v2-accordion-item {
            margin-top: 8px;
        }
        &.v2-accordion-plus {
            .v2-accordion-item-title .v2-checkbox .v2-checkbox-inner .v2-checkbox-wrap {
                height: 32px;
                width: 32px;
                .v2-checkbox-view {
                    border-radius: 4px;
                    padding: 0;
                    width: 32px;
                    height: 32px;
                    &:before {
                        top: 2px;
                        left: 2px;
                        width: 14px;
                        height: 14px;
                    }
                    &.v2-checkbox-plus > svg {
                        width: 26px;
                        height: 26px;
                    }
                }
                + .v2-checkbox-label {
                    padding: 0;
                    margin-left: 4px;
                }
            }
        }
        .v2-accordion-item-title {
            background: #494949;
            color: #fff;
            padding: 13px 20px;
            border-radius: 5px;
            line-height: 1.333;
            font-size: 18px;
            .v2-checkbox .v2-checkbox-inner {
                .v2-checkbox-label {
                    margin: 0;
                    font-weight: 400;
                }
            }
            button {
                padding: 0;
                text-align: left;
                color: inherit;
                background: transparent;
                font-size: inherit;
                line-height: inherit;
                font-weight: inherit;
                border: 0;
            }
        }
        .v2-accordion-content {
            > * {
                width: 100%;
            }
            --v2-accordion-content-padding: 0px;
            padding: var(--v2-accordion-content-padding, 0px) 0;
            height: 0px;
            overflow: hidden;
            transition: height var(--v2-transition-normal) var(--v2-transition-function),
                        --v2-accordion-content-padding var(--v2-transition-normal) var(--v2-transition-function),
                        overflow 0s step-start allow-discrete;
        }
        &.v2-accordion-item-expanded .v2-accordion-content {
            overflow: visible;
            --v2-accordion-content-padding: 20px;
            height: calc((2 * var(--v2-accordion-content-padding)) + var(--v2-accordion-content-height, auto));
            transition: height var(--v2-transition-normal) var(--v2-transition-function),
                        --v2-accordion-content-padding var(--v2-transition-normal) var(--v2-transition-function),
                        overflow 0s var(--v2-transition-normal) step-end allow-discrete;
        }
    }
    &.v2-accordion-disabled .v2-accordion-item .v2-accordion-content {
        height: auto;
        overflow: visible;
    }
}

/* Animate the padding value, so that if a 'resize' event fires while animation progresses, 
 * we get the proper padding to subtract from the component height. (Accordion.tsx has a
 * 'resize' event handler that updates the value of --v2-accordion-content-height using the
 * current value of --v2-accordion-content-padding as one of the inputs. This means it needs
 * to be animatable - CSS custom properties are not unless they have a syntax defined for them,
 * like this.) */
@property --v2-accordion-content-padding {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}


/** ./v2-styles/main-navigation.css?v=3: 1764975721 [1765325280] */
.v2-global-navigation {
    /*
    position: sticky;
    top: var(--carousel-height, 0px);
    left: 0;
    */
    width: 100%;
    height: var(--v2-navigation-height, 80px);
    background-color: black;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: 0 10px;
    /* z-index: 1030; */
    .v2-logo {
        height: 50px;
        img {
            height: 50px;
            &.mobile {
                display: block;
            }
            &.desktop {
                display: none;
            }
        }
    }
    @media (max-width: 767.99px) {
        .v2-logo {
            height: 38px;
            img {
                height: 38px;
            }
        }
    }

    .v2-global-navigation-primary {
        display: grid;
        grid-auto-columns: auto;
        gap: 32px;
        grid-auto-flow: column;
        margin: 0 auto 0 32px;
        align-items: stretch;
        align-self: stretch;
    }

    .v2-global-navigation-secondary {
        margin: 0 16px 0 auto;
        display: grid;
        grid-auto-columns: auto;
        gap: 32px;
        grid-auto-flow: column;
        align-items: stretch;
        align-self: stretch;
        .v2-icon-button {
            color: #fff;
        }
    }

    &.v2-global-navigation-mobile {
        .v2-global-navigation-secondary {
            gap: 16px;
        }
    }
    .v2-nav-profile {
        width: 40px;
        height: 40px;
        object-fit: cover;
        object-position: top center;
        border-radius: 20px;
        &.v2-nav-profile-mobile {
            width: 24px;
            height: 24px;
            border-radius: 12px;
        }
    }

    svg.v2-nav-profile {
        background-color: var(--v2-brand);
        color: #000;
        display: block;
    }
}


@media (min-width: 768px) {
    .v2-global-navigation .v2-logo img {
        &.mobile {
            display: none;
        }
        &.desktop {
            display: block;
        }
    }
}

.v2-after-navigation {
    scroll-margin-top: 90px;
    @media (max-width: 767.99px) {
        scroll-margin-top: 70px;
    }
}

.v2-navigation-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    &.v2-user-menu {
        .v2-button {
            max-width: calc(100vw - 850px);
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
            display: block;
            .v2-button-start-icon {
                vertical-align: middle;
                display: inline-block;
            }
        }
    }
    .v2-navigation-item-content {
        position: relative;
        .v2-navigation-item-chevron {
            position: absolute;
            pointer-events: none;
            top: 50%;
            left: 100%;
            margin-left: 12px;
            transform: translate(-50%, -50%);
            transition: opacity var(--v2-transition-short) var(--v2-transition-function);
            opacity: 0;
            color: #fff;
            padding: 6px;
            &:focus {
                opacity: 1;
            }
            svg {
                transform: rotate(-90deg);
                transition: transform var(--v2-transition-short) var(--v2-transition-function);
            }
        }
    }
    &[data-event-source=keyboard] {
        .v2-navigation-item-content .v2-navigation-item-chevron {
            opacity: 1;
            outline-offset: -5px;
            svg {
                transform: rotate(90deg);
            }
        }
    }
    &:not([data-event-source=none]) {
        .v2-navigation-item-content > .v2-button {
            &.v2-button-nav-primary-link {
                color: var(--v2-brand);
            }
            &.v2-button-nav-secondary-link {
                color: #fff;
            }
        }
    }
    .v2-navigation-item-content > .v2-button:focus {
        &.v2-button-nav-primary-link {
            color: var(--v2-brand);
        }
        &.v2-button-nav-secondary-link {
            color: #fff;
        }
    }

    .v2-navigation-item-submenu-outer {
        position: absolute;
        top: var(--v2-navigation-height);
        .v2-navigation-item-submenu {
            padding: 20px 30px 20px;
            background-color: var(--v2-brand);
            color: #000;
            border-bottom-left-radius: var(--v2-border-radius-large);
            border-bottom-right-radius: var(--v2-border-radius-large);
        }
        border-bottom-left-radius: var(--v2-border-radius-large);
        border-bottom-right-radius: var(--v2-border-radius-large);
        .v2-navigation-item-submenu-body {
            display: grid;
            grid-auto-columns: auto;
            grid-auto-flow: column;
            gap: 60px;
        }
        height: 0px;
        overflow: hidden;
        transition: height var(--v2-transition-short) var(--v2-transition-function), var(--v2-focus-transition);
        box-shadow: var(--v2-focus-base);
        --v2-navigation-item-height: auto;
        &:not([inert]) {
            height: var(--v2-navigation-item-height);
            box-shadow: var(--v2-focus-active);
        }
    }
    &.v2-navigation-anchor-left .v2-navigation-item-submenu-outer {
        left: -30px;
    }
    &.v2-navigation-anchor-right .v2-navigation-item-submenu-outer {
        right: -30px;
    }
}

.v2-navigation-submenu {
    .v2-navigation-submenu-title {
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: .28px;
        line-height: 2.285;
        color: #4F4F4F;
    }
}

.v2-navigation-item-submenu {
    .v2-button-nav-content-link + .v2-navigation-item-submenu-body .v2-navigation-submenu {
        .v2-navigation-submenu-title {
            margin-top: 20px;
        }
    }
}

@media (min-width: 768px) {
    .v2-global-navigation-secondary:has(.v2-mobile-submenu-root):before {
        position: fixed;
        top: var(--v2-navigation-height);
        left: 0;
        width: 100vw;
        height: calc(100vh - var(--v2-navigation-height));
        content: "";
        background: rgba(0, 0, 0, 0.4);
        opacity: 0;
        transition: opacity var(--v2-transition-short) var(--v2-transition-function);
        display: none;
    }
    .v2-global-navigation-secondary:has(.v2-mobile-submenu-root[data-submenu-opening], .v2-mobile-submenu-root[data-submenu-open], .v2-mobile-submenu-root[data-submenu-closing]):before {
        display: block;
    }
    .v2-global-navigation-secondary:has(.v2-mobile-submenu-root[data-submenu-open]):before {
        @starting-style {
            opacity: 0;
        }
        opacity: 1;
    }
}

.v2-mobile-submenu-root, .v2-mobile-submenu-nested-root {
    position: fixed;
    top: var(--v2-navigation-height);
    right: 0;
    width: 100vw;
    height: calc(100vh - var(--v2-navigation-height));
    background: var(--v2-brand);
    color: #000;
    transform: translateX(-100%);
    z-index: 2000;
    @media (min-width: 768px) {
        width: 480px;
    }
    transition: transform var(--v2-transition-short) var(--v2-transition-function), var(--v2-focus-transition);
    box-shadow: var(--v2-focus-base);
    overflow: auto;

    &:after {
        content: "";
        display: block;
        height: 80px;
    }

    .v2-navigation-submenu {
        padding: 18px 24px;
        &:not(:last-child) {
            border-bottom: 1px solid black;
        }
        .v2-navigation-submenu-title {
            margin-top: 0;
        }
        .v2-navigation-submenu-content {
            .v2-button {
                height: 40px;
            }
        }
    }
    .v2-button {
        .v2-button-end-icon {
            margin-left: auto;
        }
    }
}

.v2-mobile-submenu-root {
    @media (min-width: 768px) {
        transform: translateX(100%);
        box-shadow: var(--v2-focus-active);
    }
}
.v2-mobile-submenu-root[data-submenu-open] {
    transform: translateX(0);
}

.v2-mobile-submenu-root[data-submenu-opening] .v2-mobile-submenu-nested-root {
    transition: none;
}

.v2-mobile-submenu-root[data-submenu-closing] .v2-mobile-submenu-nested-root {
    transition: none;
}

.v2-mobile-submenu-root[data-submenu-closing=bottom] .v2-mobile-submenu-nested-root {
    transform: translateX(0);;
}

.v2-mobile-submenu-root[data-submenu-open=submenu] .v2-mobile-submenu-nested-root {
    transform: translateX(0);
}

.v2-mobile-submenu-nested-root {
    top: 0;
}

.v2-mobile-submenu-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh - var(--v2-navigation-height));
}

.v2-mobile-navigation-item .v2-button {
    height: var(--v2-navigation-height);
    width: 100%;
    justify-content: flex-start;
    border-bottom: 1px solid black;
    border-radius: 0;
    margin: 0;
    padding: 10px 20px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
    letter-spacing: 0.4px;
    .v2-button-content {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
        text-align: left;
        display: block;
    }
    .v2-button-end-icon {
        padding-left: 1ch;
    }
    .v2-button-start-icon, .v2-button-end-icon {
        > img, > svg {
            display: block;
        }
    }
}

.v2-footer-navigation {
    background-color: #000;
    color: #fff;
    padding: 25px 20px;

    .v2-footer-navigation-item-content > .v2-button {
        color: var(--v2-brand);        
        font-size: 16px;
        letter-spacing: 0.32px;
    }

    .v2-footer-navigation-primary {
        grid-template-columns: repeat(auto-fit, minmax(216px, 300px));
        display: grid;
        gap: 20px;
        /* 
        216px * 3 columns + 20px * 2 gaps + 20px left pad + 20px right pad = 728px.
        At 727px, go to 2 flexible columns.
        */ 
        @media (max-width: 727px) {
            grid-template-columns: repeat(2, calc(50vw - 40px));
            row-gap: 4px;
            column-gap: 20px;
        }
    }

    .v2-footer-navigation-item {
        grid-column: span var(--v2-column-span);
        grid-row: span 2;
        display: grid;
        grid-template-columns: subgrid;
        grid-template-rows: subgrid;
        &:not(.v2-footer-navigation-item-spanned) {
            grid-template-rows: min-content auto;
            gap: 20px;
        }
        .v2-footer-navigation-item-content {
            grid-column: span var(--v2-column-span);
            grid-row: 1;
        }
        .v2-footer-navigation-item-submenu {
            grid-column: span var(--v2-column-span);
            display: grid;
            grid-template-columns: subgrid;
            grid-row: 2;
        }
    }
    .v2-footer-navigation-submenu-title {
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: .24px;
        line-height: 2.666;
    }
    .v2-footer-navigation-submenu-content {
        @media (max-width: 767.99px) {
            padding-bottom: 20px;
        }
    }

    .v2-footer-navigation-column-group {
        display: grid;
        grid-column: span 1;
        grid-row: span 2;
        display: grid;
        gap: 20px;
        > .v2-footer-navigation-item {
            grid-row: span 2;
        }
    }

    .v2-button-nav-content-link {
        color: #fff;
        @media (max-width: 767.99px) {
            margin: -4px;
            .v2-button-content {
                font-size: 14px;
                line-height: 21px;
                font-weight: 500;
                letter-spacing: 0.28px;
            }
        }
    }

    .v2-footer-navigation-copyright {
        margin-top: 40px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        .v2-logo {
            margin-right: 20px;
            height: 50px;
            img {
                height: 50px;
                &.mobile {
                    display: block;
                }
                &.desktop {
                    display: none;
                }
            }
        }
        @media (max-width: 767.99px) {
            .v2-logo {
                height: 38px;
                img {
                    height: 38px;
                }
            }
        }
        .v2-copyright {
            font-size: 14px;
            font-family: var(--v2-font-family);
            .v2-button {
                display: inline-flex;
                .v2-button-content {
                    font-size: 14px;
                }
            }
            .v2-separator {
                display: inline-block;
                margin: 0 8px;
            }
            @media (max-width: 767.99px) {
                font-size: 12px;
                line-height: 16px;
                .v2-button {
                    font-size: 12px;
                    line-height: 16px;
                    margin: -4px;
                }
                .v2-button .v2-button-content {
                    font-size: 12px;
                    line-height: 16px;
                }
                .v2-separator {
                    margin: 0 4px;
                }
            }
        }
        padding-bottom: 50px;
    }
}

.announcements-carousel-wrapper {
    transition: margin-top var(--v2-transition-short) var(--v2-transition-function);
    margin-top: 0px;
}

#nav-container {
    --v2-navigation-height: 80px;
    @media (max-width: 767.99px) {
        --v2-navigation-height: 60px;
    }
    transition: top var(--v2-transition-short) var(--v2-transition-function);
    --v2-offset-position: calc(var(--carousel-height, 0px) + var(--v2-navigation-height, 80px));
    &:has(.v2-global-navigation-down) {
        --v2-offset-position: var(--carousel-height, 0px);
    }
    top: calc(0px - var(--v2-offset-position, 0px));
}

body.v2-navigation-open {
    .announcements-carousel-wrapper {
        margin-top: calc(-1 * var(--carousel-height, 0px));
    }
    #nav-container {
        top: 0px;
    }
}



/** ./v2-styles/badge.css?v=3: 1764804085 [1765325280] */
:has(.v2-badge:not(.v2-badge-inline)) {
    position: relative;
}

.v2-badge {
    &:not(.v2-badge-inline) {
        position: absolute;
        top: 0;
        right: 0;
        background: var(--v2-brand);
        color: #000;
    }
    &.v2-badge-inline {
        color: #fff;
        background: #000;
        display: inline-block;
        margin: 0 4px;
    }
    font-size: 11px;
    line-height: 11px;
    font-weight: 700;
    height: 15px;
    min-width: 15px;
    border-radius: 7px;
    padding: 2px;
    text-align: center;
}



/** ./v2-styles/notification-list.css?v=3: 1764965029 [1765325280] */
.v2-notification-list {
    position: fixed;
    --v2-notification-list-top: 80px;
    top: 0; 
    right: 0;
    left: auto;
    bottom: 0;
    width: 480px;
    height: 100vh;
    transition: transform var(--v2-transition-short) var(--v2-transition-function), var(--v2-focus-transition);
    transform: translateX(0);
    box-shadow: var(--v2-focus-active);
    border: 0;
    margin: 0;

    max-width: 100vw;
    max-height: 100vh;

    --translate-target: 100%;

    @media (max-width: 767.99px) {
        width: 100vw;
        right: auto;
        left: 0;
        --translate-target: -100%;
    }

    @starting-style {
        transform: translateX(var(--translate-target));
        box-shadow: var(--v2-focus-base); 
    }

    &.v2-notification-list-dismiss {
        transform: translateX(var(--translate-target));
        box-shadow: var(--v2-focus-base); 
    }
    &::backdrop {
        transition: opacity var(--v2-transition-short) var(--v2-transition-function);
        background: rgba(0, 0, 0, 0.4);
        opacity: 1;
        @starting-style {
            opacity: 0;
        }
    }
    &.v2-notification-list-dismiss::backdrop {
        opacity: 0;
    }
}

body:has(.v2-notification-list[open]) {
    overflow: hidden;
}


/** ./v2-styles/content-blocks/guest-home-banner.css?v=3: 1764804085 [1765325280] */
.v2-page-header-banner {
    --scalable-unit: 16px;

    font-family: var(--v2-font-family);
    font-size: calc(var(--v2-font-size-factor) * var(--v2-font-size));
    line-height: var(--v2-line-height);
    letter-spacing: calc(var(--v2-font-size-factor) * var(--v2-letter-spacing));
    font-weight: var(--v2-font-weight);

    a:not(.v2-button) {
        color: inherit;
        text-decoration: underline;
        text-shadow: 0px 0px 0px color(from currentColor srgb r g b / 0.0);
        transition: text-shadow var(--v2-transition-short) var(--v2-transition-function);
        &:hover {
            text-shadow: 0px 0px 2px color(from currentColor srgb r g b / 0.1)
        }
    }

    .v2-banner-content {
        display: grid;
        column-gap: 70px;
        row-gap: 40px;
        max-width: 1440px;
        margin: 0 auto;
        --v2-base: 100vw;        
        @media (min-width: 1440px) {
            --v2-base: 1440px;
        }
        padding: 60px;

        grid-template-columns: 100%;
        &:has(.v2-banner-video) {
            padding: 60px 120px 60px 60px;
            @media (min-width: 768.00px) {
                --one-percent: calc((var(--v2-base) - 190px) / 100);
                grid-template-columns: calc(var(--one-percent) * 6900 / 119)
                                    calc(var(--one-percent) * 5000 / 119);
            }
        }

        @media (max-width: 767.99px) {
            padding: 35px 20px 20px;
            grid-template-columns: 100%;
            row-gap: 25px;
        }
    }

    .v2-banner-header {
        font-family: inherit;
        font-size: 50px;
        line-height: 1.16;
        color: var(--v2-theme-accent-color);
        font-weight: 700;
        grid-row: 1;
        grid-column: 1;
        margin: 0;

        @media (max-width: 767.99px) {
            text-align: center;
            font-size: 40px;
            line-height: 1;
        }
    }

    .v2-banner-body {
        font-family: inherit;
        font-size: 22px;
        line-height: 32px;
        letter-spacing: 1.1px;
        font-weight: 400;
        color: var(--v2-theme-body-text-color);
        grid-row: 2;
        grid-column: 1;

        p:empty {
            display: none;
        }

        p {
            font-size: inherit;
            line-height: inherit;
            letter-spacing: inherit;
            font-weight: inherit;
            font-family: inherit;
            color: var(--v2-theme-body-text-color);
        }
        ul {
            margin: 0;
            padding-left: 26px;
            li {
                font-size: inherit;
                line-height: inherit;
                letter-spacing: inherit;
                font-weight: inherit;
                margin-bottom: 4px;
            }
        }

        @media (max-width: 767.99px) {
            font-size: 18px;
            line-height: 1.11;
            letter-spacing: 0.9px;
            font-weight: 500;
            ul li {
                line-height: 20px;
                margin-bottom: 16px;
            }
        }

        a {
            color: var(--v2-theme-accent-color);
            font-weight: 700;
        }
        * {
            font-size: inherit;
        }
    }

    .v2-banner-buttons {
        grid-row: 3;
        grid-column: 1;
        display: grid;
        grid-auto-flow: column;
        column-gap: 40px;
        grid-auto-columns: max-content;
        .v2-button-secondary-cta {
            background-color: transparent;
            color: var(--v2-theme-accent-color);
            font-weight: 700;
            border-color: var(--v2-theme-accent-color);
        }

        @media (max-width: 767.99px) {
            grid-auto-flow: row;
            justify-content: center;
            align-items: center;
            row-gap: 20px;
        }
    }

    .v2-banner-video {
        grid-row: 1 / 4;
        grid-column: 2;
        justify-content: center;
        align-self: center;
        aspect-ratio: 16 / 9;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        position: relative;
        .video-player-control, .video-player-control > div {
            width: 100%;
            aspect-ratio: 16 / 9;
            border-radius: var(--v2-border-radius);
            div[data-player] {
                border-radius: var(--v2-border-radius);
            }
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1;
        }
        background: var(--v2-banner-image) no-repeat 50% 50%;
        background-size: cover;
        border-radius: var(--v2-border-radius);

        .v2-video-play-btn + .video-player-control {
            opacity: 0;
        }
        @media (max-width: 767.99px) {
            grid-row: 4;
            grid-column: 1;
            margin-top: 30px;
        }
    }
}

.v2-page-header-banner.v2-page-header {
    .v2-banner-content {
        text-align: center;
        gap: 25px;
        max-width: 720px;
        @media (max-width: 767.99px) {
            max-width: 360px;
        }
    }
    .v2-banner-pre-header {
        grid-row: 1;
        text-align: center;
        font-family: var(--v2-mono-font-family);
        font-size: 24px;
        line-height: 36px;
        font-weight: 600;
        color: var(--v2-theme-accent-color);
        text-transform: uppercase;
    }
    .v2-banner-header {
        grid-row: 2;
        text-align: center;
    }
    .v2-banner-body {
        grid-row: 3;
        > p {
            text-align: center;
        }
    }
}

.v2-page-header-banner.v2-signed-in-header {
    .v2-banner-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-items: center;
        .v2-banner-header {
            color: var(--v2-theme-body-text-color);
            max-width: 600px;
            text-align: center;
            font-size: 60px;
            @media (max-width: 767.99px) {
                font-size: 40px;
                padding: 0 30px;
            }
        }
        .v2-user-profile-image-container {
            width: 180px;
            height: 180px;
            @media (max-width: 767.99px) {
                width: 150px;
                height: 150px;
            }
            position: relative;
            .v2-user-profile-image-edit {
                width: 40px;
                height: 40px;
                position: absolute;
                bottom: 5px;
                right: 5px;
                border: 1px solid var(--v2-theme-body-text-color);
                color: var(--v2-theme-body-text-color);
                background-color: var(--v2-theme-accent-color);
                border-radius: 20px;
            }
        }

        .v2-user-profile-image {
            width: 180px;
            height: 180px;
            object-fit: cover;
            object-position: 50% 50%;
            @media (max-width: 767.99px) {
                width: 150px;
                height: 150px;
            }
            border-radius: 100%;
        }
    }
}


/** ./v2-styles/catalog-item-column.css?v=3: 1764804085 [1765325280] */
.v2-catalog-item-column {
    .v2-title {
        font-size: 28px;
        font-weight: 700;
        line-height: 1.33;
    }
    .v2-header-detail-text {
        font-size: 18px;
        line-height: 1.5;
        font-weight: 500;
        margin-top: -5px;
        .v2-icon-button-with-tooltip {
            vertical-align: middle;
            left: 4px;
        }
        @media (max-width: 767.99px) {
            font-size: 16px;
            margin-top: -4px;
        }

        .v2-format-title {
            font-size: inherit;
            display: block;
            margin-top: 12px;
        }
    }
}


/** ./v2-styles/carousel.css?v=3: 1764804085 [1765325280] */
.v2-carousel-root {
    --v2-carousel-button-width: 14px;
    &.v2-carousel-without-controls {
        --v2-carousel-button-width: 0px;
    }
}

html[data-v2-carousel-hover] {
    overscroll-behavior-x: none;
}

.v2-disabled-carousel-container {}
.v2-carousel-content {
    order: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    overflow: hidden;
}
.v2-carousel-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    transform: translateX(-100%);
    width: calc(100vw - var(--v2-carousel-button-width));
    flex-grow: 0;
    flex-shrink: 0;
}
.v2-carousel-container {
    display: flex;
    flex-direction: row;
    position: relative;
}
.v2-carousel-without-controls {}
.v2-carousel-with-indicators {}
.v2-carousel-cycle {
    min-width: min-content;
    flex: 0 0 auto;
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
	justify-content: center;
    z-index: 3;
    overflow: hidden;
    &:empty { 
        display: none;
    }
}

.v2-carousel-cycle-prev {
    left: 0
}
.v2-carousel-cycle-next {
    right: 0
}
.v2-carousel-left {}
.v2-carousel-outside {}
.v2-carousel-outline {}
.v2-carousel-indicator-box {
    display: none
}
.v2-carousel-icon-button {}
.v2-carousel-indicator-item {}
.v2-carousel-not-infinite {}
.v2-carousel-transition-slide {}
.v2-carousel-transition-fade {}
.v2-carousel-content-centered {
    & .v2-carousel-item {
        transform: none;
    }
    padding-left: 0 !important;
    justify-content: center;
}
.v2-carousel-content-left {
    & .v2-carousel-item {
        transform: none
    }
}
.v2-carousel-previous-space {}
.v2-carousel-placeholder-previous-space {}
.v2-carousel-placeholder-next-space {}
.v2-carousel-right {}
.v2-carousel-active {}



/** ./v2-styles/content-blocks/testimonial.css?v=3: 1764915424 [1765325280] */
.v2-testimonials {
    --v2-testimonial-background-color: var(--v2-green);

    background-color: var(--v2-testimonial-background-color);

    .v2-testimonial {
        padding: 50px;
        max-width: 1440px;
        margin: auto;
        display: grid;
        grid-template-columns: auto;
        @media (max-width: 767.99px) {
            padding: 20px;
        }
        &:has(> .v2-testimonial-image) {
            grid-template-columns: 48.61% 41.66%;
            column-gap: 40px;
            @media (max-width: 767.99px) {
                grid-template-columns: auto;
                row-gap: 40px;
                padding: 20px 20px 50px;
            }
        }
        &:has(> svg.v2-testimonial-image) {
            grid-template-columns: 300px auto;
            @media (max-width: 767.99px) {
                grid-template-columns: auto;
            }
        }
        > .v2-testimonial-content:first-child {
            max-width: 600px;
            margin: 0 auto;
            text-align: center;
        }
        .v2-testimonial-image {
            aspect-ratio: 7 / 5;
            width: 100%;
            max-width: 700px;
            object-fit: cover;
            object-position: 50% 50%;
            border-radius: 10px;
        }
        svg.v2-testimonial-image {
            width: 300px;
            height: 300px;
            max-width: 100%;
            max-height: 100%;
            align-self: center;
            justify-self: center;
            color: var(--v2-theme-testimonial-star-color, #ffd100);
        }
        .v2-testimonial-content {
            align-self: center;
        }

        .v2-testimonial-rating {
            color: var(--v2-theme-testimonial-star-off-color, var(--v2-theme-body-text-color));
            svg.v2-filled {
                color: var(--v2-theme-testimonial-star-color, #ffd100);
            }
        }

        .v2-testimonial-quote {
            margin-top: 20px;
            &:before { content: open-quote; }
            &:after { content: close-quote; }
            font-size: 24px;
            font-weight: 500;
            line-height: 1.5;
        }

        .v2-testimonial-name, .v2-testimonial-credential {
            font-size: 20px;
            line-height: 1.8;
            font-weight: 500;
        }

        @media (max-width: 767.99px) {
            .v2-testimonial-quote, .v2-testimonial-name, .v2-testimonial-credential {
                font-size: 18px;
                line-height: 1.333;
            }
        }
        
        .v2-testimonial-name {
            margin-top: 40px;
        }
    }

    .v2-carousel-cycle {
        opacity: 0;
        svg {
            display: none;
        }
    }
}


/** ./v2-styles/content-blocks/features.css?v=3: 1764804085 [1765325280] */
.v2-features {
    --scalable-unit: 16px;

    font-family: var(--v2-font-family);
    font-size: calc(var(--v2-font-size-factor) * var(--v2-font-size));
    line-height: var(--v2-line-height);
    letter-spacing: calc(var(--v2-font-size-factor) * var(--v2-letter-spacing));
    font-weight: var(--v2-font-weight);

    a:not(.v2-button) {
        color: inherit;
        text-decoration: underline;
        text-shadow: 0px 0px 0px color(from currentColor srgb r g b / 0.0);
        transition: text-shadow var(--v2-transition-short) var(--v2-transition-function);
        &:hover {
            text-shadow: 0px 0px 2px color(from currentColor srgb r g b / 0.1)
        }
    }

    .v2-banner-content {
        padding: 60px;
        display: grid;
        row-gap: 30px;
        max-width: 1440px;
        margin: 0 auto;
        --v2-base: 100vw;        
        @media (min-width: 1440px) {
            --v2-base: 1440px;
        }
        grid-template-columns: 100%;
        @media (max-width: 767.99px) {
            padding: 30px 20px;
            row-gap: 20px;
        }
    }

    .v2-banner-header {
        font-family: inherit;
        font-size: 40px;
        line-height: 1.65;
        color: var(--v2-brand);
        font-weight: 700;
        margin: 0;
        text-align: center;

        @media (max-width: 767.99px) {
            text-align: center;
            font-size: 28px;
            line-height: 1.392;
        }
    }

    .v2-banner-body {
        font-family: inherit;
        font-size: 20px;
        line-height: 1.45;
        font-weight: 500;
        color: #fff;

        display: grid;
        grid-auto-columns: calc(3/11 * 100%);
        grid-auto-flow: column;
        column-gap: calc(1/11 * 100%);
        row-gap: 30px;

        @media (max-width: 767.99px) {
            grid-auto-columns: 100%;
            grid-auto-flow: row;
        }

        .v2-feature {
            display: block;
            text-align: center;

            .v2-feature-header {
                font-size: 22px;
                line-height: 1.313;
                font-weight: 600;
                margin: 12px 0 20px;
                text-align: center;
                text-transform: uppercase;
                font-family: var(--v2-mono-font-family);
                @media (max-width: 767.99px) {
                    margin: 12px 0 12px;
                }
            }

            .v2-feature-body {
                font-size: 20px;
                line-height: 29px;
                font-weight: 500;
                font-style: normal;
                letter-spacing: 0;
            }

            .v2-feature-icon {
                width: 70px;
                height: 70px;
            }
        }
    }
}

.v2-join-features {
    .v2-join-button {
        justify-self: center;
    }
}


/** ./v2-styles/content-blocks/sponsors.css?v=3: 1765325280 [1765325280] */
.v2-sponsors {
    --scalable-unit: 16px;

    font-family: var(--v2-font-family);
    font-size: calc(var(--v2-font-size-factor) * var(--v2-font-size));
    line-height: var(--v2-line-height);
    letter-spacing: calc(var(--v2-font-size-factor) * var(--v2-letter-spacing));
    font-weight: var(--v2-font-weight);

    a:not(.v2-button) {
        color: inherit;
        text-decoration: underline;
        text-shadow: 0px 0px 0px color(from currentColor srgb r g b / 0.0);
        transition: text-shadow var(--v2-transition-short) var(--v2-transition-function);
        &:hover {
            text-shadow: 0px 0px 2px color(from currentColor srgb r g b / 0.1)
        }
    }

    background-color: #fff;
    background-position: top center;
    background-size: cover;

    .v2-banner-content {
        padding: 60px;
        display: grid;
        row-gap: 30px;
        max-width: 1440px;
        margin: 0 auto; 
        --v2-base: 100vw;        
        @media (min-width: 1440px) {
            --v2-base: 1440px;
        }
        grid-template-columns: 100%;
        @media (max-width: 767.99px) {
            padding: 30px 20px;
            row-gap: 20px;
        }
    }

    &.v2-sponsors-list {
        .v2-sponsors-items {
            grid-template-columns: auto;
            row-gap: 20px;
        }
    }

    .v2-banner-header {
        font-family: inherit;
        font-size: 40px;
        line-height: 1.65;
        color: #000;
        font-weight: 700;
        margin: 0;
        text-align: center;

        @media (max-width: 767.99px) {
            text-align: center;
            font-size: 28px;
            line-height: 1.392;
        }
    }

    .v2-banner-body {
        font-family: inherit;
        font-size: 22px;
        line-height: 32px;
        letter-spacing: 1.1px;
        font-weight: 400;
        color: #000;
        max-width: 600px;
        margin: 0 auto;

        @media (max-width: 767.99px) {
            font-size: 16px;
            line-height: 1.4375;
            letter-spacing: 0.8px;
            font-weight: 500;
        }

        ul {
            margin: 0;
        }
        a {
            color: var(--v2-brand);
            font-weight: 700;
        }
        * {
            font-family: inherit;
            font-size: inherit;
            text-align: center;
            line-height: inherit;
            letter-spacing: inherit;
        }
    }

    .v2-sponsors-items {
        gap: 60px;
        display: grid;
        grid-template-columns: repeat(auto-fit, calc(50% - 30px));
        @media (max-width: 767.99px) {
            column-gap: 10px;
            row-gap: 40px;
            grid-template-columns: repeat(auto-fit, calc(50% - 5px));
        }
        justify-content: center;
        align-items: center;
        a, span {
            align-self: center;
            justify-self: center;
            color: #000;

            font-family: var(--v2-font-family);
            font-size: 28px;
            font-style: normal;
            font-weight: 500;
            text-align: center;
            @media (max-width: 767px) {
                font-size: 18px;
            }
        }
        img {
            max-width: 250px;
            width: 100%;
            @media (max-width: 767.99px) {
                max-width: 150px;
            }
        }
    }
}


/** ./v2-styles/content-blocks/faq.css?v=3: 1764804085 [1765325280] */
.v2-faq {
    background-color: #000;
    color: #fff;
    font-family: var(--v2-font-family);
    font-size: var(--v2-font-size);
    --v2-focus-base: 0px 0px 0px 0px rgba(255, 255, 255, 0.5);
    --v2-focus-active: 0px 0px 4px 2px rgba(255, 255, 255, 0.5);
    --scalable-unit: 16px;

    a {
        color: var(--v2-brand);
        &:hover {
            color: var(--v2-brand);
        }
    }

    &.v2-faq-light {
        background-color: #fff;
        color: #000;
        .v2-accordion {
            .v2-accordion-item-title {
                color: #000;
            }
            a {
                color: var(--v2-link);
                &:hover {
                    color: var(--v2-link-hover);
                }
            }
        }
    }
    .v2-faq-content {
        padding: 20px;
        @media (max-width: 767.99px) {
            padding: 30px 20px;
        }
        .v2-faq-title {
            margin: 0;
            font-family: inherit;
            font-size: 32px;
            line-height: 2.0625;
            font-weight: 700;
            @media (max-width: 767.99px) {
                font-size: 28px;
                line-height: 1.35714;
                text-align: center;
                margin-bottom: 20px;
            }     
            letter-spacing: 0;
        }
        .v2-accordion.v2-faq-items .v2-accordion-item .v2-accordion-item-title {
            background: transparent;
            padding: 0px 6px;
            font-size: 22px;
            .v2-checkbox .v2-checkbox-inner {
                gap: 20px;
                min-height: 80px;
                align-items: center;
                .v2-checkbox-wrap + .v2-checkbox-label {
                    font-size: 22px;
                    letter-spacing: -0.48px;
                    font-weight: 700;
                    padding: 10px 0;
                    line-height: 26px;
                    @media (max-width: 767.99px) {
                        letter-spacing: -0.44px;
                    }
                }
            }
        }
        .v2-accordion-item {
            margin-top: 0;
            border-top: 1px solid currentColor;
            &:last-child {
                border-bottom: 1px solid currentColor;
            }
            &.v2-accordion-item-expanded {
                .v2-accordion-content.v2-faq-item {
                    --v2-accordion-content-padding: 0px;
                }
            }
        }
        .v2-faq-item {
            padding: 0 0 0 60px;
            p {
                font-family: inherit;
                font-size: 18px;
                font-weight: 500;
                line-height: 1.3333;
                letter-spacing: -0.36px;
                &:first-child {
                    margin-top: 0;
                }
                &:last-child {
                    margin-bottom: 0;
                    padding-bottom: 20px;
                }
            }
            .v2-faq-item-answer {
                padding: 10px 0;
            }
        }
    }
}


/** ./v2-styles/card.css?v=3: 1764965029 [1765325280] */
/* These widths are the width of the different card sizes. When adjusting here, adjust the relevant
 * sizes in ./catalog-group.css and (for .v2-card-large) components/v2/Card.tsx.
 *
 * content-blocks/catalog-group.css:
 *  .v2-catalog-group .v2-catalog-group-content .v2-catalog-group-items .v2-carousel-item:has(.v2-card) -- the width here needs to include the horizontal padding specified.
 * pages/catalog-group.css:
 *  .v2-catalogr-group-details -- the width of grid columns needs to be adjusted 
 * Card.tsx:
 *  the call to useMobile() at the top of CardV2(), which should have a width 60px larger than the value provided to .v2-card.v2-card-large.
 * pages/CatalogGroup.tsx:
 *  CatalogGroupV2Inner::targetWidth needs to be adjusted; see notes there.
 */ 

.v2-card.v2-card-normal {
    width: 340px;
    border-radius: var(--v2-border-radius-large);
    font-family: var(--v2-font-family);
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
    * {
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        font-family: inherit;
        color: inherit;
    }

    .v2-card-image-container {
        height: 300px;
        position: relative;
        .v2-card-image {
            width: 340px;
            height: 300px;
            object-fit: cover;
            object-position: 50% 50%;
            border-top-left-radius: var(--v2-border-radius-large);
            border-top-right-radius: var(--v2-border-radius-large);
            border: 2px solid #000;
            border-bottom: 0;
        }

        .v2-card-top-cap {
            top: 2px;
            left: 2px;
            right: 2px;            
            border-top-left-radius: calc(var(--v2-border-radius-large) - 2px);
            border-top-right-radius: calc(var(--v2-border-radius-large) - 2px);
            img {
                border-top-left-radius: calc(var(--v2-border-radius-large) - 2px);
                border-top-right-radius: calc(var(--v2-border-radius-large) - 2px);
            }
        }

        .v2-card-banner {
            position: absolute;
            bottom: 10px;
            left: 20px;
            border-radius: 12px;
            background-color: var(--v2-card-banner-background-color, var(--v2-brand));
            color: #000;
            padding: 2.5px 15px;
            line-height: 1;
            text-transform: uppercase;
            font-weight: 700;
            font-size: 12px;
            line-height: 19px;
            letter-spacing: 0;
        }
        .v2-card-left-badge {
            position: absolute;
            top: 20px;
            left: 20px;
            background: #fff;
            color: #000;
            text-align: center;
            width: 60px;
            height: 60px;
            .v2-card-start-month {
                color: #000;
                text-align: center;
                font-family: var(--v2-font-family);
                font-size: 15px;
                font-style: normal;
                font-weight: 400;
                line-height: 1;
                letter-spacing: 2.25px;        
                text-transform: uppercase;            
                position: absolute;
                top: 7px;
                left: 0;
                right: 0;
            }
            .v2-card-start-day {
                position: absolute;
                bottom: 4px;
                left: 0;
                right: 0;
                color: #000;
                text-align: center;
                font-family: var(--v2-font-family);
                font-size: 33px;
                font-style: normal;
                font-weight: 700;
                line-height: 1;
            }
        }
        .v2-card-right-badge {
            position: absolute;
            top: 20px;
            right: 20px;
            background: #fff;
            color: #000;
            text-align: center;
            width: 40px;
            height: 40px;
            border-radius: 30px;
            border: 1px solid;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            svg {
                width: 30px;
                height: 30px;
            }
        }    
    }

    &[data-card-type=person], &[data-card-type="reward/certificate"] {
        .v2-card-image-container {
            background: #333;
            border-top-left-radius: var(--v2-border-radius-large);
            border-top-right-radius: var(--v2-border-radius-large);
            
            .v2-card-image {
                width: 180px;
                height: 180px;
                top: 50%;
                left: 50%;
                position: absolute;
                transform: translate(-50%, -50%);
                border-radius: 100%;
            }

        }
    }
    .v2-card-content-container {
        padding: 10px 15px;
        max-height: 256px;
        .v2-card-format, .v2-card-start {
            color: var(--v2-brand);
            font-size: 16px;
            font-weight: 700;
            line-height: 24px;
            letter-spacing: 0;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            line-clamp: 1;
            overflow: hidden;
        }
        .v2-card-start {
            -webkit-line-clamp: 2;
            line-clamp: 2;
        }
        .v2-card-format + .v2-card-start {
            margin-top: -4px;
        }
        .v2-card-title {
            color: var(--v2-brand);
            font-size: 22px;
            font-weight: 700;
            line-height: 24px;
            letter-spacing: 0;
            font-family: var(--v2-font-family);
            text-transform: none;
            margin: 0;
            margin-top: 4px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 4;
            line-clamp: 4;
            overflow: hidden;
            a {
                text-decoration: none;
                font-size: 22px;
                font-weight: 700;
                line-height: 24px;
                letter-spacing: 0;
            }
        }
        .v2-card-level {
            font-size: 16px;
            line-height: 18px;
            font-weight: 500;
            color: var(--v2-brand);
            letter-spacing: 0;
            margin: 20px 0;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            line-clamp: 1;
            overflow: hidden;
        }
        .v2-card-person, .v2-card-front-text {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin-top: 8px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 4;
            line-clamp: 4;
            overflow: hidden;
        }
        
        .v2-card-person + .v2-card-front-text {
            display: none;
        }
        
        .v2-card-session {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin-top: 8px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            line-clamp: 1;
            overflow: hidden;
        }

        .v2-card-summary {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin: 20px 0;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 7;
            line-clamp: 7;
            overflow: hidden;
            p, ul, li {
                font-family: inherit;
                line-height: inherit;
                font-size: inherit;
                font-weight: inherit;
                letter-spacing: inherit;
            }
        }

        .v2-card-features-header {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin: 20px 0 4px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            line-clamp: 1;
            overflow: hidden;
        }
        .v2-card-features-body {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin: 4px 0 20px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 4;
            line-clamp: 4;
            overflow: hidden;
            li {
                margin: 0;
                font-size: 16px;
                line-height: 20px;
                font-weight: 500;
                letter-spacing: 0;
            }
        }
    }
    .v2-card-content-footer {
        display: flex;
        flex-direction: row;
        padding: 0 15px 15px;
        margin-top: auto;

        .v2-card-price {
            font-size: 22px;
            font-weight: 700;
            letter-spacing: 0;
            line-height: 22px;
        }
        .v2-card-base-price {
            font-size: 16px;
            font-weight: 500;
            letter-spacing: 0;
            line-height: 22px;
            text-decoration: line-through;
            margin-left: 1em;
        }
        .v2-flip {
            margin: 0 0 -7px auto;
            background-color: transparent;
            border: 0;
            padding: 0;
            svg + svg {
                margin-left: 8px;
            }
            svg:nth-child(2) {
                color: var(--v2-brand);
            }
        }
    }

    perspective: 1500px;
    max-height: 593px;
    .v2-card-inner {
        position: relative;
        width: 100%;
        height: 100%;
        transition: transform var(--v2-transition-normal) var(--v2-transition-function);
        transform-style: preserve-3d;
        display: flex;
        flex-direction: row;
    }

     &.v2-card-flipped {
        .v2-card-inner {
            transform: rotateY(180deg);
        }
     }

     .v2-card-front, .v2-card-back {
        position: relative;
        width: 340px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;        
        background: #000;
        color: #fff;
        border-radius: var(--v2-border-radius-large);
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
     }

     .v2-card-target {
        position: absolute;
        width: 100%;
        height: calc(100% - 37px);
        top: 0;
        left: 0;
     }
     &.v2-card-flipped-mouse .v2-card-target {
        height: 100%;
     }
     .v2-card-back {
        transform: rotateY(180deg);
        left: -340px;
        .v2-card-content-container {
            max-height: 556px;
            padding: 20px 15px;
        }
        .v2-card-start, .v2-card-level {
            margin-top: 12px;
        }
        .v2-card-person {
            margin: 20px 0;
        }
        .v2-flip {
            svg:nth-child(1) {
                color: var(--v2-brand);
            }
            svg:nth-child(2) {
                color: #fff;
            }
        }
     }
}

.v2-card.v2-card-large {
    height: auto;
    width: 900px;
    .v2-card-inner {
        display: flex;
        height: 100%;
    }
    &:hover .v2-card-front .v2-card-image-container .v2-card-image {
        transform: scale(1.1);
    }
    .v2-card-front {
        width: 100%;
        padding: 30px;
        display: grid;
        grid-template-columns: 340px auto;
        gap: 30px;
        border-radius: var(--v2-border-radius-large);
        position: relative;
        .v2-card-target {
            position: absolute;
            top: 0;
            left: 0px;
            right: 0px;
            bottom: 0;
        }

        .v2-card-image-container {
            min-height: 300px;
            position: relative;
            overflow: hidden;
            border-radius: var(--v2-border-radius-large);


            .v2-card-top-cap {
                border-top-left-radius: var(--v2-border-radius-large);
                border-top-right-radius: var(--v2-border-radius-large);
            }

            .v2-card-image {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                object-fit: cover;
                object-position: 50% 50%;
                border-radius: var(--v2-border-radius-large);
                border: 0px; /* 2px solid var(--v2-theme-accent-color); */
                width: 100%;
                height: 100%;
                transform: scale(1);
                transition: transform var(--v2-transition-normal) var(--v2-transition-function);                
            }
            .v2-card-banner {
                position: absolute;
                bottom: 10px;
                left: 20px;
                border-radius: 12px;
                background-color: var(--v2-card-banner-background-color, var(--v2-brand));
                color: #000;
                padding: 2.5px 15px;
                line-height: 1;
                text-transform: uppercase;
                font-weight: 700;
                font-family: var(--v2-font-family);
                font-size: 12px;
                line-height: 20px;
                letter-spacing: 0;
            }
            .v2-card-left-badge {
                position: absolute;
                top: 20px;
                left: 20px;
                background: #fff;
                color: #000;
                text-align: center;
                width: 60px;
                height: 60px;
                .v2-card-start-month {
                    color: #000;
                    text-align: center;
                    font-family: var(--v2-font-family);
                    font-size: 15px;
                    font-style: normal;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 2.25px;        
                    text-transform: uppercase;            
                    position: absolute;
                    top: 7px;
                    left: 0;
                    right: 0;
                }
                .v2-card-start-day {
                    position: absolute;
                    bottom: 4px;
                    left: 0;
                    right: 0;
                    color: #000;
                    text-align: center;
                    font-family: var(--v2-font-family);
                    font-size: 33px;
                    font-style: normal;
                    font-weight: 700;
                    line-height: 1;
                }
            }
        }

        .v2-card-content-container {
            display: flex;
            flex-direction: column;
            font-family: var(--v2-font-family);
            * { font-family: var(--v2-font-family); font-size: 16px; line-height: 20px; font-weight: 400; }
            .v2-card-format, .v2-card-start {
                color: var(--v2-theme-accent-color);
                font-size: 20px;
                font-weight: 700;
                line-height: 24px;
                letter-spacing: 0;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 1;
                line-clamp: 1;
                overflow: hidden;
            }
            .v2-card-title {
                color: var(--v2-theme-accent-color);
                font-size: 32px;
                font-weight: 700;
                line-height: 34px;
                letter-spacing: 0;
                font-family: var(--v2-font-family);
                text-transform: none;
                margin: 0;
                margin-top: 8px;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 3;
                line-clamp: 3;
                overflow: hidden;
                a {
                    text-decoration: none;
                    font-size: 32px;
                    font-weight: 700;
                    line-height: 34px;
                    letter-spacing: 0;
                    color: var(--v2-theme-accent-color);
                    &:hover {
                        color: color-mix(in srgb, var(--v2-theme-accent-color) 80%, var(--v2-theme-body-text-color) 20%);
                    }
                }
            }
            .v2-card-level {
                font-size: 16px;
                line-height: 18px;
                font-weight: 500;
                color: var(--v2-brand);
                letter-spacing: 0;
                margin: 20px 0;
            }
            .v2-card-person, .v2-card-front-text {
                font-size: 16px;
                line-height: 26px;
                font-weight: 700;
                letter-spacing: 0;
                margin-top: 8px;
                letter-spacing: 1.12px;
            }
            
            .v2-card-person + .v2-card-front-text {
                display: none;
            }
            
            .v2-card-session {
                font-size: 16px;
                line-height: 20px;
                font-weight: 500;
                letter-spacing: 0;
                margin-top: 8px;
            }

            .v2-card-summary {
                font-size: 16px;
                line-height: 20px;
                font-weight: 400;
                letter-spacing: 1.12px;
                margin: 20px 0;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 5;
                line-clamp: 5;
                overflow: hidden;
                p, ul, li {
                    font-family: inherit;
                    line-height: inherit;
                    font-size: inherit;
                    font-weight: inherit;
                    letter-spacing: inherit;
                }
            }

            .v2-card-features-header {
                font-size: 16px;
                line-height: 20px;
                font-weight: 500;
                letter-spacing: 0;
                margin: 20px 0 4px;
            }
            .v2-card-features-body {
                font-size: 16px;
                line-height: 20px;
                font-weight: 500;
                letter-spacing: 1.12px;
                margin: 4px 0 20px;
                li {
                    margin: 0;
                    font-size: 16px;
                    line-height: 20px;
                    font-weight: 500;
                    letter-spacing: 0;
                }
            }
            .v2-card-session {
                margin-top: auto;
                font-size: 16px;
                line-height: 20px;
                font-weight: 400;
                letter-spacing: 1.12px;
            }
            &:not(:has(.v2-card-session)) .v2-card-pricing {
                margin-top: auto;
            }

            .v2-card-pricing {
                position: absolute;
                color: var(--v2-theme-accent-color);
                right: 30px;
                bottom: 30px;
                font-weight: 400;
                display: flex;
                flex-direction: row;
                .v2-card-price {
                    font-weight: 700;
                    font-family: var(--v2-font-family);
                    font-size: 22px;
                    line-height: 40px;
                    &:has(+ .v2-card-base-price) {
                        margin-left: 0.5em;
                    }
                }
                .v2-card-base-price {
                    font-weight: 500;
                    font-family: var(--v2-font-family);
                    font-size: 22px;
                    line-height: 40px;
                    text-decoration: line-through;
                    order: -1;
                }
            }

            .v2-card-button {
                margin-top: auto;
                padding: 10px;
                width: max-content;
                border-radius: 19.5px;
                background-color: var(--v2-theme-accent-color);
                color: var(--v2-theme-background-color);
                font-size: 18px;
                line-height: 20px;
                font-weight: 700;
                min-width: 186px;
                text-align: center;
                font-family: var(--v2-font-family);;
            }
        }
    }
}

.v2-card.v2-card-small {
    width: 340px;
    border-radius: var(--v2-border-radius-large);
    font-family: var(--v2-font-family);
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
    * {
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        font-family: inherit;
        color: inherit;
    }

    &:hover .v2-card-front .v2-card-image-container .v2-card-image {
        transform: scale(1.1);
    }

    .v2-card-image-container {
        height: 300px;
        position: relative;
        border-top-left-radius: var(--v2-border-radius-large);
        border-top-right-radius: var(--v2-border-radius-large);
        overflow: hidden;
        .v2-card-image {
            width: 340px;
            height: 300px;
            object-fit: cover;
            object-position: 50% 50%;
            border-top-left-radius: var(--v2-border-radius-large);
            border-top-right-radius: var(--v2-border-radius-large);
            transform: scale(1);
            transition: transform var(--v2-transition-normal) var(--v2-transition-function);                
        }
        &:after {
            content: "";
            width: 340px;
            height: 300px;
            border-top-left-radius: var(--v2-border-radius-large);
            border-top-right-radius: var(--v2-border-radius-large);
            position: absolute;
            border: 2px solid #000;
            border-bottom: 0;
            top: 0;
            left: 0;
        }

        .v2-card-banner {
            display: none;
        }
    }

    .v2-card-content-container {
        padding: 20px 15px;
        max-height: 256px;
        .v2-card-format {
            display: none;
        }
        .v2-card-title {
            color: var(--v2-brand);
            font-size: 22px;
            font-weight: 700;
            line-height: 24px;
            letter-spacing: 0;
            margin: 0;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 4;
            line-clamp: 4;
            overflow: hidden;
            text-align: center;
            a {
                text-decoration: none;
                font-size: 22px;
                font-weight: 700;
                line-height: 24px;
                letter-spacing: 0;
            }
        }
        .v2-card-level {
            display: none;
        }
        .v2-card-person, .v2-card-front-text {
            display: none;
        }
        
        .v2-card-person + .v2-card-front-text {
            display: none;
        }
        
        .v2-card-session {
            display: none;
        }

        .v2-card-summary {
            display: none;
        }

        .v2-card-features-header {
            display: none;
        }
        .v2-card-features-body {
            display: none;
        }
    }

    .v2-card-inner {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: row;
    }

     .v2-card-front {
        position: relative;
        width: 340px;
        background: #000;
        color: #fff;
        border-radius: var(--v2-border-radius-large);
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
     }

     .v2-card-target {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
     }
}

.v2-card.v2-card-my-content {
    width: 500px;
    height: 200px;

    border-radius: var(--v2-border-radius-large);
    font-family: var(--v2-font-family);
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
    
    * {
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        font-family: inherit;
        color: inherit;
    }

    &:hover .v2-card-front .v2-card-image-container .v2-card-image {
        transform: scale(1.1);
    }

    .v2-card-image-container {
        height: 200px;
        width: 220px;
        flex: 0 0 auto;
        position: relative;
        overflow: hidden;
        border-top-left-radius: var(--v2-border-radius-large);
        border-bottom-left-radius: var(--v2-border-radius-large);
        .v2-card-image {
            width: 220px;
            height: 200px;
            object-fit: cover;
            object-position: 50% 50%;
            border-top-left-radius: var(--v2-border-radius-large);
            border-bottom-left-radius: var(--v2-border-radius-large);
            transform: scale(1);
            transition: transform var(--v2-transition-normal) var(--v2-transition-function);                
        }

        .v2-card-banner {
            display: none;
        }
        .v2-card-left-badge {
            position: absolute;
            top: 20px;
            left: 20px;
            background: #fff;
            color: #000;
            text-align: center;
            width: 60px;
            height: 60px;
            .v2-card-start-month {
                color: #000;
                text-align: center;
                font-family: var(--v2-font-family);
                font-size: 15px;
                font-style: normal;
                font-weight: 400;
                line-height: 1;
                letter-spacing: 2.25px;        
                text-transform: uppercase;            
                position: absolute;
                top: 7px;
                left: 0;
                right: 0;
            }
            .v2-card-start-day {
                position: absolute;
                bottom: 4px;
                left: 0;
                right: 0;
                color: #000;
                text-align: center;
                font-family: var(--v2-font-family);
                font-size: 33px;
                font-style: normal;
                font-weight: 700;
                line-height: 1;
            }
        }
    }

    .v2-card-content-container {
        padding: 25px;
        .v2-card-format, .v2-card-start {
            color: var(--v2-brand);
            font-size: 16px;
            font-weight: 700;
            line-height: 24px;
            letter-spacing: 0;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            line-clamp: 1;
            overflow: hidden;
        }
        .v2-card-format {
            color: #fff;
            margin-top: 4px;
        }
        .v2-card-start {
            -webkit-line-clamp: 2;
            line-clamp: 2;
        }

        .v2-card-format + .v2-card-start {
            margin-top: -4px;
        }
        .v2-card-title {
            color: var(--v2-brand);
            font-size: 22px;
            font-weight: 700;
            line-height: 24px;
            font-family: var(--v2-font-family);
            text-transform: none;
            letter-spacing: 0;
            margin: 0;
            margin-top: 4px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            line-clamp: 3;
            overflow: hidden;
            a {
                text-decoration: none;
                font-size: 22px;
                font-weight: 700;
                line-height: 24px;
                letter-spacing: 0;
            }
        }
        .v2-card-start + .v2-card-title {
            -webkit-line-clamp: 2;
            line-clamp: 2;
        }
        .v2-card-level {
            font-size: 16px;
            line-height: 18px;
            font-weight: 500;
            color: var(--v2-brand);
            letter-spacing: 0;
            margin: 20px 0;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            line-clamp: 1;
            overflow: hidden;
        }
        .v2-card-person, .v2-card-front-text, .v2-card-format {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin-top: 8px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            overflow: hidden;
        }

        .v2-card-format {
            -webkit-line-clamp: 1;
            line-clamp: 1;
        }
        
        .v2-card-person + .v2-card-front-text {
            display: none;
        }
        
        .v2-card-session {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin-top: 8px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            line-clamp: 1;
            overflow: hidden;
        }

        .v2-card-format + .v2-card-session {
            margin-top: -4px;
        }

        .v2-card-summary {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin: 20px 0;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 7;
            line-clamp: 7;
            overflow: hidden;
            p, ul, li {
                font-family: inherit;
                line-height: inherit;
                font-size: inherit;
                font-weight: inherit;
                letter-spacing: inherit;
            }
        }

        .v2-card-features-header {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin: 20px 0 4px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 1;
            line-clamp: 1;
            overflow: hidden;
        }
        .v2-card-features-body {
            font-size: 16px;
            line-height: 20px;
            font-weight: 500;
            letter-spacing: 0;
            margin: 4px 0 20px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 4;
            line-clamp: 4;
            overflow: hidden;
            li {
                margin: 0;
                font-size: 16px;
                line-height: 20px;
                font-weight: 500;
                letter-spacing: 0;
            }
        }
    }

    .v2-card-inner {
        position: relative;
        width: 100%;
        height: 100%;
        transition: transform var(--v2-transition-normal) var(--v2-transition-function);
        transform-style: preserve-3d;
        display: flex;
        flex-direction: row;
    }

     &.v2-card-flipped {
        .v2-card-inner {
            transform: rotateY(180deg);
        }
     }

     .v2-card-front {
        position: relative;
        width: 500px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;        
        background: #000;
        color: #fff;
        border-radius: var(--v2-border-radius-large);
        flex: 0 0 auto;
        display: flex;
        flex-direction: row;
        @media (max-width: 767.99px) {
            position: relative;
            width: 340px;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;        
            background: #000;
            color: #fff;
            border-radius: var(--v2-border-radius-large);
            flex: 0 0 auto;
            display: flex;
            flex-direction: column;
        }
     }

     .v2-card-target {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
     }

    @media (max-width: 767.99px) {
        width: 340px;
        height: auto;
        min-height: 300px;
        .v2-card-image-container {
            height: 300px;
            width: 340px;
            position: relative;
            border-top-left-radius: var(--v2-border-radius-large);
            border-top-right-radius: var(--v2-border-radius-large);
            border-bottom-left-radius: 0;
            .v2-card-image {
                width: 340px;
                height: 300px;
                object-fit: cover;
                object-position: 50% 50%;
                border-top-left-radius: var(--v2-border-radius-large);
                border-top-right-radius: var(--v2-border-radius-large);
                border-bottom-left-radius: 0;
                transform: scale(1);
                transition: transform var(--v2-transition-normal) var(--v2-transition-function);                
            }
            &:after {
                content: "";
                width: 340px;
                height: 300px;
                border-top-left-radius: var(--v2-border-radius-large);
                border-bottom-left-radius: 0;
                border-top-right-radius: var(--v2-border-radius-large);
                position: absolute;
                top: 0;
                left: 0;
            }

            .v2-card-banner {
                position: absolute;
                bottom: 10px;
                left: 20px;
                border-radius: 12px;
                background-color: var(--v2-card-banner-background-color, var(--v2-brand));
                color: #000;
                padding: 2.5px 15px;
                line-height: 1;
                text-transform: uppercase;
                font-weight: 700;
                font-size: 12px;
                line-height: 19px;
                letter-spacing: 0;
            }
            .v2-card-left-badge {
                position: absolute;
                top: 20px;
                left: 20px;
                background: #fff;
                color: #000;
                text-align: center;
                width: 60px;
                height: 60px;
                .v2-card-start-month {
                    color: #000;
                    text-align: center;
                    font-family: var(--v2-font-family);
                    font-size: 15px;
                    font-style: normal;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: 2.25px;        
                    text-transform: uppercase;            
                    position: absolute;
                    top: 7px;
                    left: 0;
                    right: 0;
                }
                .v2-card-start-day {
                    position: absolute;
                    bottom: 4px;
                    left: 0;
                    right: 0;
                    color: #000;
                    text-align: center;
                    font-family: var(--v2-font-family);
                    font-size: 33px;
                    font-style: normal;
                    font-weight: 700;
                    line-height: 1;
                }
            }
        }
    }
}

.v2-card {
    .v2-card-image-container {
        .v2-card-top-cap {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 40px;
            border-radius: var(--v2-border-radius-large) var(--v2-border-radius-large) 0 0;
            background-color: rgba(255, 255, 255, .6);
            text-align: center;
            color: #333;
            line-height: 40px;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            line-clamp: 1;
            -webkit-line-clamp: 1;
            font-size: 18px;
            overflow: hidden;;
            img {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                height: 40px;
                width: 100%;
                max-height: 100%;
                object-fit: contain;
                object-position: 50% 50%;
            }
        }
    }

    &.v2-card-normal, &.v2-card-large, &.v2-card-small, &.v2-card-my-content {
        .v2-card-image-container {
            .v2-card-top-cap {
                ~ .v2-card-left-badge, ~ .v2-card-right-badge {
                    top: 80px;      
                }
            }
        }
    }
}

/** Compatibility */
div.card-container:has(> div.card > .v2-card) {
    > div.card {
        border: 0;
        display: flex;
        &:before {
            content: none;
        }
        > .v2-card {
            flex: 1;
        }
        padding: 0;
        margin: 0;
    }
    --grid-width: 340px;
    gap: 30px;
    grid-template-columns: repeat(auto-fill, var(--grid-width));
}

div.card-container:has(> .v2-card) {
    --grid-width: 340px;
    gap: 30px;
    grid-template-columns: repeat(auto-fill, var(--grid-width));
}

body.SiteLayout .stack.catalog-group.search .records .card-container {
    padding: 0;
}

body.SiteLayout .block.stack[data-block-type=sundanceTabbedResourceList] .tabbed-resource-list .card-container.card-grid:has(> div.card > .v2-card), 
body.SiteLayout .block.stack[data-block-type=sundanceLearnList] .tabbed-resource-list .card-container.card-grid:has(> div.card > .v2-card) {
    --grid-cell-size: 340px;
}

.link-list .card-container.card-grid {
    --grid-cell-size: 340px;
}

.tabbed-resource-list #objectBody .objectBodyTabContent .card-container:has(> .v2-card) {
    --cell: 340px !important;
    gap: 30px;
}

html[data-plugin-instance="com.sightworks.5.Channel.instance.uma"] body.SiteLayout .block.stack[data-block-id="1328f298b2ee8aae1dd35ed17dc652e9"] .carousel-item {
    width: 352px;
    flex-basis: 352px;
    max-width: 352px;
    .v2-card {
        flex: 1 1 auto;
    }
}

html[data-plugin-instance="com.sightworks.5.Channel.instance.uma"] body.SiteLayout .block.stack[data-block-id="7aa5ac89cc9c7be00bf98a83b43f34a6"] #objectBody .objectBodyTabContent .card-container {
    gap: 30px;
}

.v2-card .v2-card-image {
    &.lazy-image {
        opacity: 0;
        transition: opacity var(--v2-transition-normal) var(--v2-transition-function);
        &.loaded {
            opacity: 1;
        }
    }
}


/** ./v2-styles/content-blocks/catalog-group.css?v=3: 1764977191 [1765325280] */
.v2-catalog-group {
    background-color: #fff;
    color: #000;
    padding: 50px 20px;

    + .v2-catalog-group, + .v2-home-account {
        padding-top: 0px;        
    }

    .v2-catalog-group-content {
        .v2-catalog-group-headline {
            font-family: var(--v2-font-family);
            font-size: var(--v2-font-size-specified);
            font-weight: var(--v2-header-font-weight);
            letter-spacing: var(--v2-header-letter-spacing);
            line-height: 1.2;
            --v2-font-size-specified: var(--v2-header-font-size);
            --v2-line-height-specified: var(--v2-header-line-height);
            --v2-extra-line-height: calc(var(--v2-line-height-specified) - 1.2);
            --v2-extra-line-height-px: calc(var(--v2-extra-line-height) * var(--v2-font-size-specified));
            padding: calc(var(--v2-extra-line-height-px) / 2) 0;
            &.v2-catalog-group-subheadline {
                --v2-font-size-specified: var(--v2-subheader-font-size);
                --v2-line-height-specified: var(--v2-subheader-line-height);
            }
            margin-bottom: 16px;
        }
        .v2-catalog-group-item-container {
            position: relative;
        }
        .v2-catalog-group-items {
            margin-left: -20px;
            margin-right: -20px;
            width: calc(100% + 40px);
            &:has(.v2-card.v2-card-normal) {
                margin-top: -50px;
                margin-bottom: -50px;
            }

            .v2-scroll-view-body {
                padding-left: 20px;
                /* padding-right: 20px; */
                &:after {
                    content: "";
                }
                &:has(.v2-card.v2-card-normal) {
                    padding-top: 50px;
                    padding-bottom: 50px;
                }
            }
            .v2-scroll-view-scrollbar {
                opacity: 0;
            }
        }
        .v2-catalog-group-prev, .v2-catalog-group-next {
            position: absolute;
            top: calc(50% - 34px);
            left: 30px;
            width: 68px;
            height: 68px;
            border-radius: 34px;
            background-color: var(--v2-brand);
            opacity: .7;
            transition: opacity var(--v2-transition-short) var(--v2-transition-function);
            &:hover {
                opacity: 1;
            }
            &[disabled] {
                opacity: 0;
                visibility: hidden;
            }
            @media (max-width: 767.99px) {
                width: 58px;
                height: 58px;
                top: calc(50% - 29px);
                left: 22px;
            }
        }
        .v2-catalog-group-next {
            left: auto;
            right: 30px;
            @media (max-width: 767.99px) {
                left: auto;
                right: 22px;
            }
        }
        .v2-scroll-view-start ~ .v2-catalog-group-prev {
            opacity: 0;
        }
        .v2-scroll-view-end ~ .v2-catalog-group-next {
            opacity: 0;
        }
    }
}


/** ./v2-styles/content-blocks/text.css?v=3: 1764804085 [1765325280] */
.v2-text {
    padding: 20px;
    background-color: #fff;
    color: #000;
    --scalable-unit: 16px;
    font-size: 20px;
    * {
        font-family: var(--v2-font-family);
        font-size: 20px;
    }
    + .v2-catalog-group, + .v2-home-account {
        padding-top: 0px;        
    }
}


/** ./v2-styles/pages/catalog-group.css?v=3: 1764975721 [1765325280] */
.v2-catalog-group-details {
    background-color: #fff;
    color: #000;
    padding: 20px 20px 50px;
    display: grid;
    scroll-margin-top: 80px;

    /* Keep the 340px here synchronized with the width of a card, and make sure 
     * pages/CatalogGroup.tsx is updated with the proper size for two columns of
     * cards, the filter column, padding, and gaps.
     */
    grid-template-columns: [filter] 290px [cards] repeat(auto-fill, 340px) [cards-end];
    grid-template-rows: [header] auto [filter sort] 38px [cards] auto;
    gap: 10px 30px;
    justify-content: flex-start;
    
    &.v2-catalog-group-details-mobile {
        grid-template-columns: [cards] repeat(auto-fill, 340px) [cards-end];
        grid-template-rows: [header] auto [cards] auto;
        .v2-catalog-group-header {
            grid-column: 1 / cards-end;
        }
    }

    .v2-catalog-group-header {
        font-family: var(--v2-font-family);
        font-size: 27px;
        font-weight: 700;
        line-height: 46px;
        grid-column: filter / cards-end;
        .v2-icon-button {
            display: inline-flex;
            vertical-align: middle;
            margin-right: 16px;
            height: 46px;
            width: 46px;
            border: 1.5px solid;
            border-radius: 23px;
            svg {
                width: 27px;
                height: 27px;
                display: block;
            }
            position: relative;
            &.v2-catalog-group-filter-active {
                &:after {
                    position: absolute;
                    bottom: 0;
                    right: 0;
                    width: 12px;
                    height: 12px;
                    background-color: #f30;
                    border-radius: 6px;
                    content: "";
                }
            }
        }
        .v2-catalog-group-header-text {
            font-family: inherit;
            line-height: inherit;
            font-weight: inherit;
            display: none;
        }

        @media (min-width: 750px) {
            .v2-catalog-group-header-text {
                display: inline;
            }
        }
    }
    .v2-catalog-group-filters {
        grid-column: filter / span 1;
        grid-row: filter / span 10;
    }
    .v2-catalog-group-sort {
        grid-column: cards / cards-end;
        grid-row: sort / cards;
        text-align: right;
    }
    .v2-catalog-group-cards {
        grid-column: cards / cards-end;
        grid-row: cards / end;
        &:not(:empty) {
            display: grid;
            grid-template-columns: subgrid;
            gap: 30px;
        }
        &:empty {
            &:before {
                content: "Your selected filters don't match any content. Try removing some filters to see more results.";
                text-align: center;
                display: block;
                font-family: var(--v2-font-family);
                font-size: 24px;
                line-height: 32px;
                letter-spacing: 0;
                font-weight: 500;
                padding: 80px 20px;
            }
        }
        > .v2-button {
            width: 100%;
            font-size: 64px;
            font-weight: 300;
            min-height: 400px;
            padding: 24px;
        }
        > .v2-card {
            opacity: 1;
            transition: opacity var(--v2-transition-normal) var(--v2-transition-function);
            @starting-style {
                opacity: 0;
            }
        }
    }
}

.v2-catalog-group-filters {
    .v2-filter-header, .v2-filter-item-header {
        margin: 0;
        color: #000;
        font-family: var(--v2-font-family);
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 49px;
        text-transform: uppercase;
    }
    .v2-checkbox {
        margin-bottom: 10px;
    }
    .v2-checkbox-label {
        font-weight: 500;
        font-family: var(--v2-font-family);
        font-size: 16px;
        line-height: 20px;
        padding-top: 1px;
        margin-bottom: 0;
    }
    .v2-filter-item-header ~ .v2-filter-item-header {
        margin-top: 24px;
    }
    .v2-filter-buttons {
        margin-top: 24px;
        display: flex;
        flex-direction: row;
        .v2-button {
            min-width: 0;
            + .v2-button {
                margin-left: 16px;
            }
        }
    }

}


/** ./v2-styles/pages/logged-in-home.css?v=3: 1764804085 [1765325280] */
.v2-home-account {
    background-color: #fff;
    color: #000;
    padding: 50px 20px;

    + .v2-catalog-group, + .v2-home-account {
        padding-top: 0px;        
    }

    .v2-home-account-content {
        .v2-home-account-headline {
            font-family: var(--v2-font-family);
            font-size: var(--v2-font-size-specified);
            font-weight: var(--v2-header-font-weight);
            letter-spacing: var(--v2-header-letter-spacing);
            line-height: 1.2;
            --v2-font-size-specified: var(--v2-header-font-size);
            --v2-line-height-specified: var(--v2-header-line-height);
            --v2-extra-line-height: calc(var(--v2-line-height-specified) - 1.2);
            --v2-extra-line-height-px: calc(var(--v2-extra-line-height) * var(--v2-font-size-specified));
            padding: calc(var(--v2-extra-line-height-px) / 2) 0;
            &.v2-home-account-subheadline {
                --v2-font-size-specified: var(--v2-subheader-font-size);
                --v2-line-height-specified: var(--v2-subheader-line-height);
            }
            margin-bottom: 16px;
        }
        .v2-home-account-items {
            margin-left: -20px;
            margin-right: -20px;
            .v2-carousel-item {
                display: flex;
                flex-direction: column;
                padding-left: 15px;
                padding-right: 15px;
                width: 280px;
                .v2-home-account-card {
                    width: 250px;
                    height: 100px;
                    display: flex;
                    flex-direction: column;
                    align-items: flex-start;
                    justify-content: center;
                    flex: 1 0 auto;
                    padding: 20px;
                    border-radius: var(--v2-border-radius-large);
                    color: var(--v2-theme-accent-color);
                    font-family: var(--v2-font-family);
                    font-size: 22px;
                    font-style: normal;
                    font-weight: 700;
                    line-height: 24px; /* 109.091% */                
                    text-decoration: none;
                }
                &[inert] {
                    opacity: 0;
                }
            }
            .v2-carousel-cycle {
                overflow: visible;
            }
            .v2-carousel-left, .v2-carousel-right {
                position: absolute;
                top: calc(50% - 34px);
                left: 30px;
                width: 68px;
                height: 68px;
                border-radius: 34px;
                background-color: var(--v2-brand);
                opacity: .7;
                transition: opacity var(--v2-transition-short) var(--v2-transition-function);
                &:hover {
                    opacity: 1;
                }
                &[disabled] {
                    opacity: 0;
                    visibility: hidden;
                }
                @media (max-width: 767.99px) {
                    width: 58px;
                    height: 58px;
                    top: calc(50% - 29px);
                    left: 22px;
                }
            }
            .v2-carousel-right {
                left: auto;
                right: 30px;
                @media (max-width: 767.99px) {
                    left: auto;
                    right: 22px;
                }
            }            
        }
    }
}


/** ./v2-styles/content-blocks/quote.css?v=3: 1764804085 [1765325280] */
.v2-quote {
    padding: 50px 200px;
    position: relative;
    @media (max-width: 767.99px) {
        padding: 25px 25px 25px 100px;
    }
    &:before {
        content: open-quote;
        position: absolute;
        top: 50%;
        left: 50px;
        transform: translateY(-50%);
        font-size: 300px;
        font-family: Arial, Helvetica, sans-serif;
        color: var(--v2-theme-accent-color);
        line-height: 1;
        height: 150px;
        overflow: hidden;
        @media (max-width: 767.99px) {
            font-size: 200px;
            height: 100px;
            top: 0px;
            left: 10px;
            transform: none;
        }
    }

    .v2-quote-content {
        max-width: 870px;
        margin: 0 auto;
        font-family: "Red Hat Display";
        font-size: 32px;
        font-style: normal;
        font-weight: 700;
        line-height: 47px;
        &:after {
            content: close-quote;
        }
        @media (max-width: 767.99px) {
            font-size: 22px;
            line-height: 30px;
        }
    }

    .v2-quote-byline {
        max-width: 870px;
        margin: 16px auto 0;
        font-family: "Red Hat Display";
        font-size: 30px;
        font-style: italic;
        font-weight: 700;
        line-height: 57px; /* 190% */
        &:before {
            content: "\2014  " 
        }
        @media (max-width: 767.99px) {
            font-size: 22px;
            line-height: 30px;
        }
    }
}


/** ./v2-styles/content-blocks/landing-page-links.css?v=3: 1764804085 [1765325280] */
.v2-landing-page-links {
    background: #fff;
    padding: 30px max(30px, 5vw);
    display: grid;
    gap: 30px;
    grid-template-columns: calc(50% - 15px) calc(50% - 15px);
    @media (max-width: 1169.99px) {
        grid-template-columns: 100%;
    }
    @media (max-width: 767.99px) {
        padding: 20px;
    }
    .v2-landing-page-link {
        border-radius: var(--v2-border-radius-large);
        display: grid;
        grid-template-columns: 310px auto;
        text-decoration: none;
        @media (min-width: 1170px) and (max-width: 1439.99px) {
            grid-template-columns: 21vw auto;
        }
        @media (min-width: 768px) and (max-width: 1169.99px) {
            grid-template-columns: 310px auto;
        }
        min-height: 280px;
        @media (max-width: 767.99px) {
            grid-template-columns: 33vw auto;
            min-height: unset;
        }
        border-radius: var(--v2-border-radius-large);
        &:hover {
            .v2-landing-page-link-content .v2-landing-page-link-image-container .v2-landing-page-link-image {
                transform: scale(1.1);
            }
        }
        
        .v2-landing-page-link-content {
            display: contents;
            .v2-landing-page-link-image-container {
                position: relative;
                width: 100%;
                height: auto;
                overflow: hidden;
                &:before {
                    content: "";
                }                                
                border-top-left-radius: var(--v2-border-radius-large);
                border-bottom-left-radius: var(--v2-border-radius-large);
                .v2-landing-page-link-image {
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    background-size: cover;
                    background-position: 50% 50%;
                    background-repeat: no-repeat;
                    transform: scale(1);
                    transition: transform var(--v2-transition-normal) var(--v2-transition-function);                
                }
            }
            .v2-landing-page-link-body {
                padding: 40px;
                @media (max-width: 767.99px) {
                    padding: 20px;
                }
                .v2-landing-page-link-title {
                    color: var(--v2-theme-accent-color);
                    font-family: var(--v2-font-family);
                    font-size: 28px;
                    font-style: normal;
                    font-weight: 700;
                    line-height: 32px; /* 114.286% */
                    margin-bottom: 0.75lh;
                    @media (max-width: 767.99px) {
                        font-size: 20px;
                        line-height: 22px;
                    }
                }
                .v2-landing-page-link-summary {
                    color: var(--v2-theme-body-text-color);
                    font-family: var(--v2-font-family);
                    font-size: 18px;
                    font-style: normal;
                    font-weight: 500;
                    line-height: 23px; /* 127.778% */
                    letter-spacing: 0.9px;                    
                    @media (max-width: 767.99px) {
                        font-size: 14px;
                        line-height: 16px;
                        letter-spacing: 0.7px;
                    }
                }
            }
        }
    }
}


/** ./v2-styles/search.css?v=3: 1764975721 [1765325280] */
@keyframes search-result-enter {
	0% {
		overflow: hidden;
		flex: 0 1 0vh;
		opacity: 0;
	}
	
	50% {
		overflow: hidden;
		flex: 0 1 100vh;
		opacity: 0;
	}
	
	99.9% {
		overflow: hidden;
		flex: 0 1 100vh;
		opacity: 1;
	}

	100% {
		overflow: visible;
		flex: 1 1 auto;
		opacity: 1;
	}
}

@keyframes search-result-leave {
	100% {
		overflow: hidden;
		flex: 0 1 0vh;
		opacity: 0;
	}
	
	50% {
		overflow: hidden;
		flex: 0 1 100vh;
		opacity: 0;
	}
	
	0.1% {
		overflow: hidden;
		flex: 0 1 100vh;
		opacity: 1;
	}

	0% {
		overflow: visible;
		flex: 1 1 auto;
		opacity: 1;
	}
}

.v2-modal {
    .v2-modal-content:has(> .search-control) {
        display: flex;
        flex-direction: column;
    }
    .search-control {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        align-self: stretch;

        .search-result {
            &:not(.animated) {
                overflow: hidden;
                flex: 0 0 0px;
                opacity: 0;
            }
            &.visible {
                &:not(.animated) {
                    flex: 1 1 auto;
                    opacity: 1;
                    overflow: visible;
                }
                &.animated {
                    animation: search-result-enter 1s ease-in forwards 1;
                }
            }
            &.animated {
                animation: search-result-leave 1s ease-out forwards 1;
            }
        }
        .search-field {
            display: flex;
            flex: 0 0 auto;
            flex-direction: row;
        }
        
        .search-input-group {
            display: flex;
            flex-direction: row;
            flex: 1 1 auto;
            padding: 0;
            border: none;
            height: 50px;
            border-radius: 10px;
            border: 1px solid;

            > input.search-form-control {
                flex: 1 1 auto;
                height: auto;
                box-shadow: none;
                padding: 10px;
                border: 0;
                background: rgba(255, 255, 255, 0.05);
                font-size: 20px;
                color: #333;
                border-radius: 10px;
                width: 100%;
                &::placeholder {
                    font-style: italic;
                }
                &:has(~ .search-input-group-addon.visible) {
                    border-top-right-radius: 0;
                    border-bottom-right-radius: 0;
                }
            }
            > .search-input-group-addon, .search-input-group-addon-secondary {
                flex: 0 0 auto;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 0px;
                overflow: hidden;
                transition: width .3s ease;
                padding: 0;
                margin: 0;
                border: 0px;
                background-color: #333;
                .material-icons {
                    color: #fff;
                    font-size: 30px;
                }
                &.visible {
                    width: 70px;
                }
                &.tag-button.visible {
                    width: auto;
                    border: 8px solid #343434;
                    display: flex;
                    flex-direction: row;
                    padding: 0 5px;
                    color: #fff;
                    > span:not(.material-icons) { 
                        margin: 0 5px;
                    }
                }
            }
            > .search-input-group-addon-secondary {
                background-color: #000;
            }
            > * { border-radius: 0; background: transparent; border: 0; margin: 0; }
            > *:last-child {
                border-radius: 0 10px 10px 0;
            }
        }
    }
}

.v2-search-column-container {
    padding-left: var(--v2-content-large-horizontal-padding);
    padding-right: var(--v2-content-large-horizontal-padding);
    padding-top: var(--v2-content-vertical-padding);
    padding-bottom: var(--v2-content-vertical-padding);
    margin: 0 auto;
    .v2-search-column-content {
        display: flex;
        flex-direction: column;
        > * {
            margin: 0;
        }
        > .v2-title {
            display: flex;
            flex-direction: row;
            align-items: center;
            margin-bottom: var(--v2-header-content-extra-space);
            > .material-icons {
                font-size: inherit;
                margin-right: 8px;
            }
        }
        &.v2-with-detail {
            > .v2-title {
                margin-bottom: 0;
            }
            > .v2-header-detail-text {
                margin-top: -4px;
                margin-bottom: var(--v2-header-content-extra-space);
            }
        }
    }

    .system-icon {
        padding: 0;
        border: 0;
        width: 1lh;
        height: 1lh;
        display: inline-block;
        font-size: inherit;
        line-height: inherit;
        &:before {
            width: 100%;
            height: 100%;
            display: block;
            content: "";
            background-color: #fff;
            background-size: contain;
            background-position: 50% 50%;
            border-radius: 100%;
            background-origin: content-box;
            border-width: 5px;
            border-color: #fff;
            border-style: solid;
        }
        &[data-icon]:before {
            content: attr(data-icon);
            color: #000;
            font-size: 1em;
        }
        &.messages:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-messages.png");
        }
        &.grading:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-grading.png");
        }
        &.groups:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-groups.png");
        }
        &.events:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-events.png");
        }
        &.following:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-following.png");
        }
        &.submissions:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-submissions.png");
        }
        &.rewards:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-rewards.png");
        }
        &.bookmarks:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-bookmarks.png");
        }
        &.favorites:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-favorites.png");
        }
        &.collections:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-collections.png");
        }
        &.courses:before {
            background-image: url("/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/icon-menu-courses.png");
        }
    }
    &#rewards-modal {
        .search-field {
            display: none !important;
        }
        .search-result .search form {
            display: none !important;
        }
    }
}

body.SiteLayout .stack.catalog-group.search {
    .search > form .result-count {
        color: #000;
    }
    .input-group .input-group-btn .dropdown-toggle {
        color: #000;
    }
    .records .card-container {
        justify-content: flex-start;
        margin: 0;
    }
}




/** ./v2-styles/content-blocks/member-access.css?v=3: 1764804085 [1765325280] */
.v2-banner.v2-member-access-only {
     background: url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/images/blocked-content-bkgd.jpg);
     background-position: 50% 50%;
     background-size: cover;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     .v2-banner-content {
          display: grid;
          flex-direction: column;
          max-width: 720px;
          padding: 160px 60px;
          gap: 16px;
          align-items: center;
          justify-content: center;
          justify-items: center;

          @media (max-width: 767.99px) {
               padding: 80px 30px;               
          }
          
          .v2-banner-header {
               text-align: center;
               font-size: 60px;
               font-style: normal;
               font-weight: 700;
               line-height: 59px; /* 98.333% */
               margin: 0;
               @media (max-width: 767.99px) {
                    font-size: 40px;
                    line-height: 42px;
               }
          }

          .v2-banner-body {
               padding: 16px 0;
               p {
                    text-align: center;
                    font-size: 30px;
                    font-style: normal;
                    font-weight: 600;
                    line-height: 36px; /* 120% */
                    margin: 0;
                    @media (max-width: 767.99px) {
                         font-size: 24px;
                         line-height: 26px;
                    }
               }
          }

          .v2-banner-buttons {
               display: contents;
          }
     }
}


/** ./v2-styles/pages/article-detail.css?v=3: 1765325280 [1765325280] */
body.SiteLayout.ArticleDetail {
    .v2-article-wrapper {
        margin: 24px auto 0;
        max-width: 1170px;
    }

    .block[data-block-type="v2-article-root"] {
        .block.stack {
            padding: 0;
        }

        border-top-left-radius: var(--v2-border-radius-large);
        border-top-right-radius: var(--v2-border-radius-large);
    }

    .block.article-block {
        --margin-small: 16px;
        --margin-medium: 48px;
        --margin-large: 96px;
        &.with-small-top-margin {
            margin-top: var(--margin-small);
        }
        &.with-medium-top-margin {
            margin-top: var(--margin-medium);
        }
        &.with-large-top-margin {
            margin-top: var(--margin-large);
        }
        &.with-small-bottom-margin {
            margin-bottom: var(--margin-small);
        }
        &.with-medium-bottom-margin {
            margin-bottom: var(--margin-medium);
        }
        &.with-large-bottom-margin {
            margin-bottom: var(--margin-large);
        }
        &.with-small-side-margin {
            margin-left: var(--margin-small);
            margin-right: var(--margin-small);
        }
        &.with-medium-side-margin {
            margin-left: var(--margin-medium);
            margin-right: var(--margin-medium);
        }
        &.with-large-side-margin {
            margin-left: var(--margin-large);
            margin-right: var(--margin-large);
        }
    }
}



:root {
    /* The default logo to be used. */
    --v2-default-logo: url(/admin/platform/plugins/com.sightworks.5.Channel.DigitalXEBase2/resources/logo.svg);

    /* Colors for various purposes */
    --v2-dark: #000;
    --v2-light: #fff;
    --v2-brand: #fc0;
    --v2-green: #004005;
    --v2-ripple-light: rgb(255, 255, 255, .7);
    --v2-ripple-dark: rgb(0, 0, 0, 0.4);
    --v2-error: #790024;
    --v2-error-background: color(from var(--v2-error) srgb r g b / 0.1);
    --v2-info: #000C5E;
    --v2-info-background: color(from var(--v2-info) srgb r g b / 0.1);

    --v2-link: #00324b;
    --v2-link-hover: #000c5e;

    /* Transitions: duration and easing function */
    --v2-transition-short: 0.15s;
    --v2-transition-normal: 0.25s;
    --v2-transition-long: 0.5s;
    --v2-transition-function: ease-out;

    /* Typography */
    --v2-font-family: "Red Hat Display", sans-serif;
    --v2-mono-font-family: "Red Hat Mono", monospace;

    --v2-font-size: 16px;
    --v2-font-size-factor: 1.0;
    --v2-font-weight: 500;
    --v2-letter-spacing: 0.8px;
    --v2-line-height: 1.2;

    --v2-bold-font-weight: 700;

    --v2-header-font-size: 50px;
    --v2-header-font-weight: 700;
    --v2-header-letter-spacing: 0;
    --v2-header-line-height: 1.32;
    @media (max-width: 767.99px) {
        --v2-header-font-size: 40px;
        --v2-header-line-height: 1.125;
    }

    --v2-subheader-font-size: 32px;
    --v2-subheader-font-weight: 700;
    --v2-subheader-letter-spacing: 0;
    --v2-subheader-line-height: 2.0625;
    @media (max-width: 767.99px) {
        --v2-subheader-font-size: 32px;
        --v2-subheader-line-height: 1.60714;
    }

    /* The spacing between individual blocks in a container. */
    --v2-block-space: 20px;

    /* When a header is butted up to content, how much additional margin to apply between the header and the content. */
    --v2-header-content-extra-space: 19px;

    /* Content sizing */
    --v2-content-horizontal-padding: 28px;
    --v2-content-large-horizontal-padding: 64px;
    --v2-content-vertical-padding: 64px;
    @media (max-width: 767.99px) {
        --v2-content-large-horizontal-padding: 28px;     
        --v2-content-vertical-padding: 28px;        
    }

    --v2-narrow-column: 640px;
    @media (max-width: 767.99px) {
        --v2-narrow-column: 100vw;
    }

    --v2-border-radius: 8px;
    --v2-border-radius-large: 18px;
    
    --v2-loader-icon: var(--loaderIcon);

    --v2-focus-base: 0px 0px 0px 0px rgba(0, 0, 0, 0.3);
    --v2-focus-active: 0px 0px 8px 2px rgba(0, 0, 0, 0.3);
    --v2-focus-transition: box-shadow var(--v2-transition-short) var(--v2-transition-function);
}

.v2-themed {
    --v2-theme-shapes: var(--v2-theme-desktop-shapes);
    --v2-theme-positions: var(--v2-theme-desktop-positions);
    --v2-theme-repeat: var(--v2-theme-desktop-repeat);
    --v2-theme-sizes: var(--v2-theme-desktop-sizes, auto);
    @media (max-width: 767.99px) { 
        --v2-theme-shapes: var(--v2-theme-mobile-shapes);
        --v2-theme-positions: var(--v2-theme-mobile-positions);
        --v2-theme-repeat: var(--v2-theme-mobile-repeat);
        --v2-theme-sizes: var(--v2-theme-mobile-sizes, auto);
    }

    background-image: var(--v2-theme-shapes, none);
    background-position: var(--v2-theme-positions);
    background-color: var(--v2-theme-background-color);
    background-repeat: var(--v2-theme-repeat);
    background-size: var(--v2-theme-sizes);    
    color: var(--v2-theme-body-text-color);
}
    
/**
Compat overrids
*/

html body.SiteLayout:not(.CampaignDetail) .block.stack.tabs {
    background: #fff;
    color: #000;
}

html body.SiteLayout.MainDashboard #page-content-container, html body.SiteLayout.DonationDetail #page-content-container {
    background: #fff;
    color: #000;
    .header-block, .large-header {
        &:not([data-block-id="cf34823f799230dcff18533280cae874"]):not([data-block-id="fe8168f5793cdd44db20a0d7aa800933"]) {
            color: #fff;
            background: #4a4a4a;
        }
        &[data-block-id="fe8168f5793cdd44db20a0d7aa800933"] ~ .block.stack {
            background-color: transparent;
        }
    }
    .block.stack.catalog-group {
        &[data-block-id="1328f298b2ee8aae1dd35ed17dc652e9"] {
            background: transparent;
        }
    }
}

html body.SiteLayout.ObjectDetailNew .people .person, .course-details-modal .people .person {
    background: #fff;
    color: #000;
    .person-body {
        .person-title, .person-bio, .person-location { color: #000 }
    }
}

html body.SiteLayout.ObjectDetailNew.PackageDetail .modal .person {
    a {
        color: var(--link-color);
        text-decoration: none;
    }
}


body.SiteLayout .discussion-new {
    .reply-root:not(.collapsed) form {
        background: #fff;
        border: 1px solid #ccc;
        border-radius: var(--v2-border-radius-large);
        .comment .form-control {
            color: #000;
            &::placeholder {
                color: rgba(0, 0, 0, .7);
            }
        }
    }
    .reply-root.collapsed {
        > .reply, > a {
            color: var(--v2-link);
            &:hover {
                color: var(--v2-link-hover);
            }
        }
    }
    .comment-thread {
        background: #fff;
        color: #000;
        border: 1px solid #ccc;
        border-radius: var(--v2-border-radius-large);
        .comment-item2 {
            .title {
                h3, h4, h5 {
                    color: #000;
                }
                h3, h4 {
                    &:first-child a {
                        text-decoration: underline;
                        &:not(:hover) {
                            color: var(--v2-link);
                        }
                        &:hover {
                           color: var(--v2-link-hover);
                        }
                    }
                }
            }
            footer {
                color: #000;
            }
        }
        .comment-thread {
            border: none;
        }
        .child-comments {
            .comment-form, .comment-item2 {
                &:before {
                    border-top-color: #ccc;
                }
            }
        }
    }
}

.block.stack.text {
    background: #fff;
    color: #000;
}

body.SiteLayout .block.stack.people-group {
    background: #fff;
    color: #000;
    .person {
        color: inherit;
        .person-info {
            .person-name, .person-title, .person-location {
                color: inherit;
            }
        }
    }
}

.block.stack {
    &.challenge-winners, &.past-challenges {
        background: #fff;
        color: #000;
    }
}

body.ObjectDetailNew.DonationDetail #page-content-container > .block.stack.large-header.course-detail.alternate-large-header:first-child:not(.header-block) {
    justify-content: center;
}

div.block.stack.faq-group .faq-item-2 .answer {
    color: inherit;
}

body.SiteLayout .block.stack[data-block-type=sundanceThisWeek] .this-week {
    border-bottom: 1px solid;
    background-color: #fff;
    .this-week-container .big-card > a.card-target:before, .this-week-container .small-card > a.card-target:before {
        color: #000;
    }
}

/** Overrides */
a:where(:not(.btn)) {
    color: var(--v2-link);
    text-decoration: underline;
    &:hover {
     color: var(--v2-link-hover);
   }
}

.big-card, .small-card {
    :where(a) {
        text-decoration: none;
    }
}
nav a, .info-items a, .comment-item2 a, .comment-form a, .activity-item .activity-link, a.alert-close {
    text-decoration: none;
}

/** Compat */
.block.stack.two-column .sidebar a, .block.stack .session-info .schedule a, .modal a, .btn + .paymentPlanLink a, .registered a{
    color: var(--link-color);
    text-decoration: none;
    &:hover {
        color: var(--link-hover-color);
        text-decoration: var(--link-hover-decoration);
    } 
}

.modal .payment-item a {
    color: var(--v2-link);
    &:hover {
        color: var(--v2-link-hover);
    }
}

body.SiteLayout .nav > li {
    a {
        color: var(--v2-link);
        &:hover {
            color: var(--v2-link-hover);
        }
    }
    &.active a {
        color: var(--v2-link-hover);
    }
}

.sidebar-button a {
    text-decoration: none;
}

html[data-plugin-instance="com.sightworks.5.Channel.instance.uma"] body.SiteLayout .block.stack {
    &[data-block-id="7fcc5115e09e4231d3243051318c2176"], &[data-block-id="90c1c19fb4b783cd078dc1b811f26993"] {
        background-color: transparent;
    }
    &[data-block-id="7fcc5115e09e4231d3243051318c2176"]:has(+ .v2-member-access-only) {
        display: none;
    }
    .faq-group.course-outline { padding-top: 0; }
}

.card-container .card.more-card {
    background: #000 !important;
    border-radius: var(--v2-border-radius-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

html body.SiteLayout .block.stack .block.stack.challenge-banner {
    border-radius: var(--v2-border-radius-large);
    a {
        color: var(--link-color);
        text-decoration: none;
        &:hover {
            color: var(--link-hover-color);
            text-decoration: var(--link-hover-decoration);
        } 
    }
    .image-container {
        .image {
            border-radius: var(--v2-border-radius-large);
        }
        --image-overlay: linear-gradient(to bottom, transparent, transparent);
    }
}

body.SiteLayout.CampaignDetail #page-content-container > .block.stack:first-child:not(.header-block).course-detail {
    @media (min-width: 768px) {
        padding-top: 75px;
        padding-bottom: 75px;
    }
}

body.SiteLayout.ObjectDetailNew .block.stack.tabs {
    background: #fff;
    color: #000;
    .campaignClosed {
        color: #fff;
    }

}

body.SiteLayout.ObjectDetailNew .block.stack.tabs .inner-content > header .nav-pills li,
body.ObjectDetailNew.CampaignDetail.IgniteDetail .objectBodyTab.container .ignite-submissions > footer .paginator > li {
    a {
        color: #000;
        text-decoration: none;
    }
}

.nextItem a, .previousItem a {
    text-decoration: none;
}

a.btn-secondary.linkURL {
    text-decoration: none;
}

body.ObjectDetailNew.SubmissionPage #submission-info-bar + .block {
    background-color: #fff;
}

body.SubmissionPage #courseDescription div.feedback > :first-child {
    &:empty {
        display: none;
    }
}

body.SiteLayout.CampaignDetail .featured-section .featured-item {
    background: #fff;
    color: #000;
    border: 1px solid #ccc;
    border-radius: var(--v2-border-radius-large);
    a {
        text-decoration: none;
        &:hover {
            text-decoration: underline;
        }
    }
    > .content-container > .description {
        color: #000;
        > :last-child {
            margin-bottom: 0;
        }
    }
}

html body.ObjectDetailNew {
    &.PackageDetail {
        .main-body-content .objectBodyTab.container .course-details-block-body {
            border-radius: var(--v2-border-radius-large);
            overflow: hidden;;
            .expando {
                color: #000;
            }
            .sessions {
                border-bottom-left-radius: var(--v2-border-radius-large);
                border-bottom-right-radius: var(--v2-border-radius-large);
                .session, .session-placeholder {
                    background: #fff;
                    color: #000;
                    &:last-child {
                        border-bottom-left-radius: var(--v2-border-radius-large);
                        border-bottom-right-radius: var(--v2-border-radius-large);
                    }                
                    .schedule > a {
                        color: #000;
                        border-color: #000;
                        text-decoration: none;
                    }
                }
            }
        }
    }
}
body.ObjectDetailNew.ScheduledCourseDetail, .course-details-modal {
    .course-details-section.course-outline .faq-item-2 {
        .toggle {
            color: #000;
        }
        .question, &.expanded .question {
            color: #000;
            text-decoration: none;
        }
    }
}

body.ObjectDetailNew.PackageDetail .modal .course-details-section.people-list {
    .person  {
        background: #fff;
        color: #000;
        .person-body {
            .person-title, .person-location, .person-bio {
                color: #000;
            }
            a {
                color: var(--v2-link);
                text-decoration: underline;
                &:hover {
                    color: var(--v2-link-hover);
                }
            }
        }
    }
}

@media (min-width: 768px) {
    .container:not(.container-fluid) {
        width: min(1170px, 100%);
    }
}

body.SiteLayout.InstructorDetail .stack.transparent {
    background-color: #fff;
    color: #000;
}

body.SiteLayout.InstructorDetail .inner-content {
    text-align: left;
}

body.SiteLayout.InstructorDetail #page-content-container .stack.catalog-group {
    background-color: #fff;
    color: #000;;
}

.tabbed-resource-list #objectBody .objectBodyTabs .sidebar-button a[data-sidebar] > .material-icons {
    color: #000;
}

.tabbed-resource-list #objectBody.sidebar-open-mobile .objectBodyTabSidebar {
    color: #fff;
}

body.SiteLayout.ObjectDetailNew .featured-section .featured-item .person-body .person-name, body.SiteLayout.ObjectDetailNew .people .featured-item .person-body .person-name, body.SiteLayout.ObjectDetailNew .prizes .featured-item .person-body .person-name, body.SiteLayout.ObjectDetailNew .featured-section .person .person-body .person-name, body.SiteLayout.ObjectDetailNew .people .person .person-body .person-name, body.SiteLayout.ObjectDetailNew .prizes .person .person-body .person-name, body.SiteLayout.ObjectDetailNew .featured-section .prize .person-body .person-name, body.SiteLayout.ObjectDetailNew .people .prize .person-body .person-name, body.SiteLayout.ObjectDetailNew .prizes .prize .person-body .person-name, body.SiteLayout.ObjectDetailNew .featured-section .featured-item .prize-body .person-name, body.SiteLayout.ObjectDetailNew .people .featured-item .prize-body .person-name, body.SiteLayout.ObjectDetailNew .prizes .featured-item .prize-body .person-name, body.SiteLayout.ObjectDetailNew .featured-section .person .prize-body .person-name, body.SiteLayout.ObjectDetailNew .people .person .prize-body .person-name, body.SiteLayout.ObjectDetailNew .prizes .person .prize-body .person-name, body.SiteLayout.ObjectDetailNew .featured-section .prize .prize-body .person-name, body.SiteLayout.ObjectDetailNew .people .prize .prize-body .person-name, body.SiteLayout.ObjectDetailNew .prizes .prize .prize-body .person-name, body.SiteLayout.ObjectDetailNew .featured-section .featured-item .person-body .prize-name, body.SiteLayout.ObjectDetailNew .people .featured-item .person-body .prize-name, body.SiteLayout.ObjectDetailNew .prizes .featured-item .person-body .prize-name, body.SiteLayout.ObjectDetailNew .featured-section .person .person-body .prize-name, body.SiteLayout.ObjectDetailNew .people .person .person-body .prize-name, body.SiteLayout.ObjectDetailNew .prizes .person .person-body .prize-name, body.SiteLayout.ObjectDetailNew .featured-section .prize .person-body .prize-name, body.SiteLayout.ObjectDetailNew .people .prize .person-body .prize-name, body.SiteLayout.ObjectDetailNew .prizes .prize .person-body .prize-name, body.SiteLayout.ObjectDetailNew .featured-section .featured-item .prize-body .prize-name, body.SiteLayout.ObjectDetailNew .people .featured-item .prize-body .prize-name, body.SiteLayout.ObjectDetailNew .prizes .featured-item .prize-body .prize-name, body.SiteLayout.ObjectDetailNew .featured-section .person .prize-body .prize-name, body.SiteLayout.ObjectDetailNew .people .person .prize-body .prize-name, body.SiteLayout.ObjectDetailNew .prizes .person .prize-body .prize-name, body.SiteLayout.ObjectDetailNew .featured-section .prize .prize-body .prize-name, body.SiteLayout.ObjectDetailNew .people .prize .prize-body .prize-name, body.SiteLayout.ObjectDetailNew .prizes .prize .prize-body .prize-name {
    color: #000;
}

body.ObjectDetailNew.ScheduledCourseDetail .block.stack.content-root:not(.tabs.multi-tab) .sidebar .sidebar-contents section.footer-sign-in-section .btn {
    color: var(--v2-link);
    &:hover {
        color: var(--v2-link-hover);
    }   
}

body.CourseActivity #nav-container {
    display: none;
}

.banner.completed a:not(.btn) {
    color: var(--link-color);
    text-decoration: none;
    &:hover {
        color: var(--link-hover-color);
        text-decoration: var(--link-hover-decoration);
    }
}

.announcements-carousel-wrapper .announcements-carousel .carousel-item .announcement-item {
    padding-left: 40px;
    padding-right: 40px;
}

.announcements-carousel-wrapper .carousel-cycle-prev, 
.announcements-carousel-inner .carousel-cycle-prev, 
.announcements-carousel-inner > .carousel-container .carousel-cycle-prev {
    padding-left: 0;
}

.announcements-carousel-wrapper .carousel-cycle-next, 
.announcements-carousel-inner .carousel-cycle-next, 
.announcements-carousel-inner > .carousel-container .carousel-cycle-next {
    padding-right: 0;
}

.announcements-carousel-wrapper .carousel-container {
    .carousel-cycle-next, .carousel-cycle-prev {
        min-width: 40px;
        button {
            width: 40px;
            .arrow-circle-icon {
                width: 40px;
            }
        }
    }  
    @media (max-width: 767px) {
        &:has(+ .alert-close) {
            .carousel-cycle-next {
                right: 24px !important;
            }
            .carousel-item {
                .announcement-item {
                    padding-right: 64px;
                }
            }
            + .alert-close {
                font-size: 24px;
            }
        }
    }
}

body.SiteLayout.CourseLayout.CourseActivity #activity .activity-body.content #audio-player, body.SiteLayout.CourseLayout.CourseActivity #activity .activity-body.content #video-player {
    background-color: #fff;
}

body.SiteLayout.CourseLayout.CourseActivity {
    #activity {
        .activity-body.content {
            &.content-audio, &.content-video {
                .item-content .content-wrapper {
                    #audio-player, #video-player {
                        &:has(.with-transcript) {
                            @media (max-width: 767.99px) {
                                height: 100vw;
                                .video-player-control:not(.loading-poster).with-transcript {
                                    height: 100%;
                                    > div {
                                        width: 100%;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        @media (min-width: 768.00px) {
            .activity-header.course-navigation-open ~ div:has(.activity-body) {
                .activity-body.content {
                    &.content-audio, &.content-video {
                        .item-content .content-wrapper {
                            #audio-player, #video-player {
                                &:has(.with-transcript) {
                                    @media (max-width: 1399.99px) {
                                        height: 960px;
                                        .video-player-control:not(.loading-poster).with-transcript {
                                            flex-direction: column;
                                            height: 100%;
                                            > div {
                                                width: 100%;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}           

body.ObjectDetailNew.ScheduledCourseDetail .block.stack.content-root:not(.tabs.multi-tab).two-column {
    .sidebar-toggle {
        top: 0px;
        --size: 50px;
        width: 50px;
        height: 50px;
        font-size: 20px;
        margin-top: 0px;
        border: 0px;
    }
    .main-body-content {
        margin-top: 0;
    }
}