/*--------------------------------------------------------------
This is your custom stylesheet.

Add your own styles here to make theme updates easier.
To override any styles from other stylesheets, simply copy them into here and edit away.

Make sure to respect the media queries! Otherwise you may
accidentally add desktop styles to the mobile layout.
https://www.w3schools.com/css/css_rwd_mediaqueries.asp
--------------------------------------------------------------*/

:root {
    --navy: #000829;
    --gold: #FDE7B4;
    --orange: #FDC15B;
    --coral: #F69867;
    --text: #FFFFFF;
    --op-white: rgba(255, 255, 255, 0.1);
    --orange-grad: linear-gradient(90deg, #FDE7B4 0%, #FDC15B 50%, #F69867 100%);
    --orange-grad-reverse: linear-gradient(90deg, #F69867 0%, #FDC15B 50%, #FDE7B4 100%);
    --bb-default-notice-color: rgba(255, 255, 255, 0.1);
    --content-bg-color: #1A223F;
    --content-border-color: #313752;
    accent-color: var(--orange);
}

@property --grad-color-one {
    syntax: '<color>';
    inherits: false;
    initial-value: #FDE7B4;
}
@property --grad-color-two {
    syntax: '<color>';
    inherits: false;
    initial-value: #FDC15B;
}
@property --grad-color-three {
    syntax: '<color>';
    inherits: false;
    initial-value: #F69867;
}

.buddypress .member-header-actions>.generic-button button.not_friends,
.bbp-topic-reply-link,
#buddypress .comment-reply-link,
#buddypress .standard-form button:not(.search-form_reset),
#buddypress input[type=button],
#buddypress input[type=submit],
#buddypress ul.button-nav li a,
.bb-card-footer .generic-button a,
a.bp-title-button,
body .bb-card-action-primary a,
body .dlp-grid-container .dlp-grid-card-content a.dlp-download-link,
body #header-aside .bb-header-buttons a.signup,
.password-form-wrapper input[type="submit"],
.register form input[type=submit],
.elementor-button,
.elementor-cta__button,
.gfield--type-submit input,
.gform_page_footer input[type="submit"],
.gform_page_footer .gform_next_button,
.gform_footer input {
    background: linear-gradient(90deg, var(--grad-color-one) 0%, var(--grad-color-two) 50%, var(--grad-color-three) 100%) !important;
    transition: --grad-color-one .25s ease, --grad-color-two .25s ease, --grad-color-three .25s ease !important;
    border: none !important;

    &:hover {
        --grad-color-one: #F69867;
        --grad-color-two: #FDC15B;
        --grad-color-three: #FDE7B4;
    }
}

/* General Styles */

*:focus:not(:focus-visible),
body input:focus,
body button:focus,
body a:focus,
body i:focus,
body *:focus,
body input:focus-visible,
body button:focus-visible,
body a:focus-visible,
body i:focus-visible,
body *:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #1A213F inset !important;
    -webkit-border-color: #1A213F !important;
    outline-color: #1A213F !important;
}

input:-webkit-autofill,
select:-webkit-autofill {
    -webkit-text-fill-color: var(--text) !important;
}

.elementor-background-video-container iframe {
    filter: blur(4px) !important;
}

.elementor-background-video-container iframe {
    opacity: 1 !important;
    animation-name: fadeInOpacity !important;
    animation-iteration-count: 1 !important;
    animation-timing-function: ease-in !important;
    animation-duration: 1.75s !important;
}

@Keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }
    80% {
        opacity:0;
    }
    100% {
        opacity: 1;
    }
}

html {
    scroll-padding-top: 82px;
    scroll-behavior: smooth;
}

body, html {
    overflow-x: clip !important;
}

.main-transparent-nav {
    width: 100vw !important;

    .elementor-sticky--effects {
        background-color: rgba(255, 255, 255, .1) !important;
        background-image: url("/wp-content/uploads/2025/12/noise-texture-05.png");
        box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, .1);
        transition: all 250ms ease !important;
    }
}

.pixel-blur,
.main-transparent-nav.elementor-sticky--effects,
.e-off-canvas .e-off-canvas__content {
    position: relative;
}

.main-transparent-nav.elementor-sticky--effects,
.e-off-canvas__content {
    position: relative;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.main-transparent-nav.elementor-sticky--effects:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.25;
    background-image: url('/wp-content/uploads/2025/12/noise-texture-05.png');
}

.blue-grad-bg:before {
    background: linear-gradient(180deg,rgba(0, 8, 41, 0) 6%, rgba(0, 8, 41, 0.25) 28%, rgba(0, 8, 41, 0.79) 69%, rgba(0, 8, 41, 1) 94%) !important;
    z-index: 1;
}

.orange-grad-bg:before {
    background-image: linear-gradient(90deg, #FDE7B4 0%, #FDC15B 50%, #F69867 100%) !important;
    z-index: 1;
}

.orange-grad-text {
    background-image: var(--orange-grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: fit-content;
}

.orange-grad-bg .elementor-button {
    background: white !important;
}

.faq-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    font-size: 14px;

    caption {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 10px;
        text-align: left;
        color: white;
    }

    th, td {
        border: 1px solid var(--content-border-color, #313752);
        padding: 12px;
        text-align: left;
    }

    thead tr {
        background-color: var(--content-bg-color, #1A223F);
    }

    tbody tr {
        background: rgba(255, 255, 255, 0.1);
    }
}

/* Document Library Styles */

body .dlp-grid-card-content {
    background: var(--op-white) !important;
    border-color: var(--op-white) !important;
}

body .dlp-grid-card-title a {
    color: white !important;

    &:hover {
        color: var(--coral) !important;
    }
}

body .dlp-grid-card-content {
    padding: 20px !important;
}

body .dlp-grid-card-featured-img img {
    aspect-ratio: 4 / 3 !important;
    object-fit: cover;
    object-position: top;
}

body .dlp-grid-container .dlp-grid-card-content a.document-library-pro-button {
    border-radius: 25px !important;

    &.dlp-download-link {
        border:none !important;
    }

    &.dlp-preview-button {
        background: none !important;

        svg path {
            fill: white
        }

        &:hover {
            background: var(--coral) !important;

            svg path {
                fill: var(--navy);
            }
        }
    }
}

body .select2-container .select2-dropdown,
body .select2-container--default .select2-selection--single,
body .dlp-grid-search input[type=search] {
    background-color: var(--op-white) !important;
    border-color: var(--op-white) !important;
}

.dlp-grid-controls.dlp-grid-above {
    margin-bottom: 30px !important;
}

body .dlp-grid-card-inner {
    border-radius: 16px 16px 0 0  !important;
    overflow: hidden;
}

body .dlp-grid-card-content {
    border-radius: 0 0 16px 16px !important;
}

/* Password Protected Styles */

.password-form-wrapper {
    max-width: 500px;
    margin: 50px auto;
    padding: 30px;
    background: var(--op-white);
    border: 1px solid var(--op-white);
    border-radius: 24px;
}

.password-form-wrapper > p:first-child {
    text-align: center;
    margin-bottom: 15px;
}

.password-form-wrapper label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.password-form-wrapper input[type="password"] {
    width: 100%;
    padding: 0.75rem;
    margin-bottom: 1rem;
    border: 1px solid var(--op-white);
    background: var(--op-white);
    border-radius: 4px;
}

.password-form-wrapper input[type="submit"] {
    color: var(--navy);
    padding: 15px 32px;
    border: none;
    border-radius: 25px;
    height: unset;
    line-height: 1;
    cursor: pointer;
}

/* PMPRO Styles */

.bb-grid.site-content-grid > .pmpro > .pmpro_card.pmpro_content_message {
    margin: 50px auto !important;
    width: clamp(200px, 90vw, 800px) !important;
}

.pmpro_card {
    background: var(--op-white) !important;
    border-color: var(--op-white) !important;
    border-radius: 24px !important;

    a {
        color: var(--coral) !important;

        &:hover {
            color: var(--orange) !important;
        }
    }
}

.pmpro_form,
.pmpro_card_content form {
    label:not(.pmpro_form_label-inline) {
        font-weight: 500 !important;
        font-size: 12px !important;
        letter-spacing: 2.4px !important;
        color: white !important;
        text-transform: uppercase !important;
    }

    input:not([type="checkbox"]):not([type="radio"]):not([type=button]):not([type=submit]) {
        background-color: var(--op-white) !important;
        color: var(--text) !important;
        border: 1px solid var(--op-white) !important;
        padding: 10px 15px !important;
        font-size: 16px !important;
        line-height: 1.4em !important;
        min-height: 46px !important;
    }

    input[type=submit] {
        height: unset !important;
        border-radius: 25px !important;
        font-weight: 500 !important;
        color: var(--navy) !important;
    }
}

.pmpro_card_content + .pmpro_card_actions {
    border-color: var(--op-white) !important;
}

.bb-pmpro_account-profile,
#pmpro_account-invoices table,
#pmpro_account-membership table,
#pmpro_cancel table,
table#pmpro_invoices_table,
table.pmpro_checkout {
    background: var(--op-white) !important;

    a {
        color: var(--coral) !important;

        &:hover {
            var(--orange) !important;
        }
    }
}

/* Gravity Form Styles */

.gfield--input-type-total,
.gravity-theme #stripe-payment-link::before,
.ginput_product_price_label,
.partial_entry_warning,
.grecaptcha-badge,
.gform_heading {
    display: none !important;
}

.gform_body input,
.gform_body textarea,
.gform_body select {
    box-shadow: unset !important;
}

.gfield_required span {
    color: var(--orange) !important;
}

.gform-body label,
.gform-body legend {
    font-weight: 500 !important;
    font-size: 12px !important;
    letter-spacing: 2.4px !important;
    color: white !important;
    text-transform: uppercase !important;
}

.gform-body input:not([type="checkbox"]):not([type=button]):not([type=submit]),
.gform-body textarea,
.gform-body select {
    background-color: var(--op-white) !important;
    color: var(--text) !important;
    border: 1px solid var(--op-white) !important;
    padding: 10px 15px !important;
    font-size: 16px !important;
    line-height: 1.4em !important;
    min-height: 46px !important;

    &::placeholder {
        color: var(--text) !important;
        opacity: 1 !important;
        font-size: 16px !important;
    }
}

.gfield_radio label,
.gform-body label.gfield_consent_label {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 16px !important;
}

.gfield_radio .gfield-choice-input {
    display: none !important;
}

.gf_progressbar_title {
    color: white !important;
    text-transform: uppercase !important;
    letter-spacing: 2.4px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.gform-theme--framework .gf_progressbar .percentbar_blue {
    background: var(--orange-grad) !important;
}

.gform-theme--framework .gf_progressbar {
    background: var(--op-white) !important;
}

.gform-body h3.gsection_title,
.gform-body .gfield_description  {
    color: white !important;
}

.gfield--type-html h3 {
    margin-bottom: 10px !important;
    font-size: 20px !important;
}

#field_4_30 {
    padding: 20px;
    background: var(--op-white);
    border: 1px solid var(--op-white);
    border-radius: 16px;
}

.ginput_container_singleproduct .ginput_product_price {
    background: transparent !important;
    padding: 0 !important;
    color: var(--orange) !important;
    font-weight: 700 !important;
    font-size: 26px !important;
    border: none !important;
}

.gfield--type-total input {
    background: transparent !important;
    padding: 0 !important;
    color: var(--orange) !important;
    font-weight: 700 !important;
    font-size: 34px !important;
}

.gform-theme--foundation .gform_fields {
    row-gap: 25px !important;
}

.gform-theme--framework .gf_step_number {
    border-color: var(--op-white) !important;
}

.gform-field-label--type-sub {
    padding-top: 5px !important;
}

.gform-theme--framework .gf_step_completed .gf_step_number::after,
.gf_step_active .gf_step_number {
    background: var(--orange-grad) !important;
    color: white !important;
    border-color: var(--orange) !important;
}

.gf_page_steps span {
    color: white !important;
    text-transform: capitalize !important;
}

#gf_coupon_info .gf_coupon_name_container {
    padding: 0 !important;
    border: none !important;
}

.gf_coupon_discount_container {
    padding: 0 0 0 10px !important;
    border: none !important;
}

.gf_coupon_discount,
.gf_coupon_name,
.remove-coupon {
    color: var(--text) !important;
}

#gf_coupon_info table tbody>tr:nth-child(odd)>td,
#gf_coupon_info table tbody>tr:nth-child(odd)>th {
    background: unset !important;
}

.gform-theme--framework .gform-loader {
    border-block-end-color: var(--orange) !important;
    border-block-start-color: rgba(255,255,255,.3) !important;
    border-inline-end-color: rgba(255,255,255,.3) !important;
    border-inline-start-color: var(--orange) !important;
}

.gfield--type-submit input,
.gform_page_footer input[type="submit"],
.gform_page_footer .gform_next_button,
.gform_footer input {
    line-height: 1em !important;
    color: var(--navy) !important;
    border: none !important;
    margin-bottom: 0 !important;
    font-weight: 500 !important;
    padding: 16px 32px !important;
    border-radius: 25px !important;
    font-size: 15px !important;
    transition: all 250ms ease !important;
}

.gform_page_footer .gform_previous_button {
    line-height: 1em !important;
    background: transparent !important;
    color: var(--text) !important;
    border: 1px solid var(--orange) !important;
    margin-bottom: 0 !important;
    font-weight: 500 !important;
    padding: 16px 32px !important;
    border-radius: 25px !important;
    font-size: 15px !important;
    transition: all 250ms ease !important;

    &:hover {
        background: var(--orange-grad) !important;
        transition: all 250ms ease !important;
    }
}

.gform_footer {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 30px !important;
}

.gform_footer input[type="submit"]:focus {
    outline: transparent auto 0px !important;
    background-color: var(--op-white) !important;
    color: var(--text) !important;
}

.gform_confirmation_message {
    padding: 30px;
    background: var(--op-white);
    border: 1px solid var(--op-white);
    border-radius: 16px;
    text-align: center;
    font-size: 18px;
    line-height: 1.4em;
    font-weight: 700 !important;
    color: var(--text) !important;
}

.gform-body input:-webkit-autofill,
.gform-body input:-webkit-autofill:hover,
.gform-body input:-webkit-autofill:focus,
.gform-body input:-webkit-autofill:active,
.gform-body select:-webkit-autofill,
.gform-body select:-webkit-autofill:hover,
.gform-body select:-webkit-autofill:focus,
.gform-body select:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #323853 inset !important;
}

input:-webkit-autofill,
select:-webkit-autofill {
    -webkit-text-fill-color: var(--text) !important;
}

@media(max-width: 690px) {
    .gform-body input,
    .gform-body textarea,
    .gform-body select {
        font-size: 14px !important;
    }
}

/*Error Message Styles*/

.gform_validation_errors {
    display: none !important;
}

.gform_wrapper.gravity-theme .gfield_error label,
.gform_wrapper.gravity-theme .gfield_error legend,
.gfield_required_asterisk
{
    color: salmon !important;
}

.gform_body input[aria-invalid=true],
.gform_body select[aria-invalid=true],
.gform_body textarea[aria-invalid=true] {
    border: 1px solid salmon !important;
}