/* 
Theme Name: NerdStuds
Theme URI: https://github.com/elementor/hello-theme/
Description: This is a custom child theme built using the Elementor Hello theme.
Author: Jeremy Cox
Author URI: https://nerdstuds.com/
Template: hello-elementor
*/

: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%);
}

/* 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;
}

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

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

@Keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }

    80% {
        opacity:0;
    }

    100% {
        opacity: 1;
    }
}

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

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

.main-transparent-nav.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;
}

.elementor-button,
.elementor-cta__button {
    background: var(--orange-grad) !important;
    transition: all 250ms ease !important;
}

.elementor-button:hover,
.elementor-cta__button:hover {
    background: var(--orange-grad-reverse) !important;
    transition: all 250ms ease !important;
}

.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-bg .elementor-button {
    background: white !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: 700 !important;
    font-size: 12px !important;
    letter-spacing: 2.4px !important;
    color: white !important;
    text-transform: uppercase !important;
}

.gform-body input,
.gform-body textarea,
.gform-body select {
    border: none !important;
    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;
}

.gform-body input::placeholder,
.gform-body select::placeholder {
    color: var(--text) !important;
    opacity: 1 !important;
    font-size: 16px !important;
}

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

.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-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;
    background: var(--orange-grad) !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;
}

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

.gfield--type-submit input:hover,
.gform_footer input:hover {
    background: var(--orange-grad-reverse) !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;
}