/* 
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 {
	--black: #1A1A1A;
    --black-op: rgba(26,26,26,0.25);
    --white: #FFFFFF;
    --white-op: rgba(255, 255, 255, 0.10);
    --grey: #C9CCD1;
    --grey-op: #1a1a1a1a;
    --orange: #F78D55;
    --orange-op: #f78d5540;
    --border-light: rgba(255,255,255,0.05);
    --accent-font: cartograph-cf;
}

/* General Styles */

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

*: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-button-icon svg path {
    fill: currentColor !important;
}

.bg-video {
    inset: 0;
    will-change: transform;
    transition: none;
}

.bg-video 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;
    }
}

.sub-menu {
    overflow: hidden;
}

.sub-menu .menu-item,
.bg-glass,
.blur-bg {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.type-p-fix div p:last-of-type {
    margin-bottom: 0;
}

.btn-circle-icon a {
    aspect-ratio: 1 / 1;
    padding: 14px !important;
}

.btn-arrow-after {
    display: flex;
    align-items: center;

    &::after {
        content: "";
        display: inline-block;
        width: 15px;
        height: 15px;
        line-height: 1;
        margin-left: 10px;
        background-color: currentColor;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M0 4.624H9.104L8.432 5.2L3.248 0H5.184L10.48 5.328L5.184 10.656H3.248L8.432 5.456L9.104 6.032H0V4.624Z' fill='white'%3E%3C%2Fpath%3E%3E%3C%2Fsvg%3E");
        mask-repeat: no-repeat;
        mask-size: contain;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M0 4.624H9.104L8.432 5.2L3.248 0H5.184L10.48 5.328L5.184 10.656H3.248L8.432 5.456L9.104 6.032H0V4.624Z' fill='white'%3E%3C%2Fpath%3E%3E%3C%2Fsvg%3E");
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-size: contain;
    }
}

@media(max-width: 800px) {
    .scrolling-img {
        transform: none !important;

        img {
            transform: none !important;
        }
    }
}

.card__meta-categories .elementor-post-info__terms-list-item {
    padding: 5px 10px;
    background: var(--white-op);
    border-radius: 25px;
    color: white;
}

.card__meta-categories {
    color: transparent;
}

.form__label--hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.elementor-inline-form {
    .elementor-message {
        position: absolute !important;
    }

    .elementor-field-type-submit {
        position: absolute;
        bottom: 1px;
        right: -1px;
        padding-right: 0 !important;
        margin-bottom: 0 !important;
    }
}

@media(max-width: 480px) {
    .elementor-inline-form .elementor-field-type-submit {
        display: block !important;
        position: relative;
        padding: 0 !important;
        bottom: unset;
        right: unset;

        button {
            width: 100%;
        }
    }

    .elementor-inline-form {
        .elementor-form-fields-wrapper {
            margin: 0 !important;
        }

        .elementor-field-group {
            padding: 0 !important;
        }
    }
}

.elementor-icon-list-items.elementor-inline-items {
    gap: 15px !important;
}

.e-image-base {
    display: block;
}

.e-image-base img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
}

.featured-blog a.e-image-link-base,
.featured-blog a.e-image-link-base picture {
    width: 100% !important;
}

.blog-page-feat-img picture,
.blog-page-feat-img img {
    aspect-ratio: 21 / 9 !important;
    object-fit: cover;
    object-position: center center;
}

.elementor-item.has-submenu svg.e-fas-arrow-down {
    transform: rotateZ(-45deg);
}

.icon-circle-btn {
    margin-left: auto !important;
}

.icon-circle-btn:hover svg path {
    fill: var(--black);
}

.icon-circle-btn .elementor-widget-container {
    aspect-ratio: 1 / 1 !important;
}

.subpage-simple__copy {
    h1 {
        font-size:  40px;
    }

    h2 {
        font-size: 30px;
    }

    a {
        color: white;
        text-decoration: underline;
    }
}

.elementor-counter-title {
    text-align: center !important;
}

.page-id-300 footer {
    display: none !important;
}

.event-card--featured-image {
    inset: 0;

    img {
        height: 100%;
        object-fit: cover !important;
    }
}

.eyebrow-menu {
    ul {
        gap: 8px !important;
    }

    li a {
        background: var(--white-op) !important;
        border-radius: 25px;
        border: 1px solid var(--border-light);
        padding: 6px 12px !important;
        height: unset;

        &.elementor-item-active {
            background: var(--white-op) !important;
            color: white !important;
        }

        &:hover {
            background: white !important;
            color: var(--black) !important;
        }
    }
}

/* Autofill Styling */
input:-internal-autofill-selected {
    background-color: #353535 !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
.e-form-base input:-webkit-autofill,
.e-form-base input:-webkit-autofill:hover,
.e-form-base input:-webkit-autofill:focus,
.e-form-base input:-webkit-autofill:active,
.e-form-base select:-webkit-autofill,
.e-form-base select:-webkit-autofill:hover,
.e-form-base select:-webkit-autofill:focus,
.e-form-base select:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #353535 inset !important;
   border-color: var(--border-light) !important;
}

input:-webkit-autofill,
select:-webkit-autofill {
    -webkit-text-fill-color: white !important;
}

/* Mobile landscape -- target small height regardless of width */
@media (max-height: 500px) and (orientation: landscape) {
    .split-sticky .panel {
        position: relative !important;
        inset-block-start: unset !important;
    }
}

/* Progressive Edge Blur */

.panel-blur {
    inset: 0;
    z-index: 0 !important;
}

.split-sticky .l-split--section-wrapper {
    z-index: 100 !important;
}

.fw-blend-edge {
    position: absolute !important;
    /*top: 40px;*/
    width: 100% !important;
    height: 40% !important;
    pointer-events: none !important;
    z-index: 3 !important;
}

.fw-blend-left {
    left: 0;
    --blend-direction: to top;
}

.fw-blend-inner {
    position: relative;
    width: 100%;
    height: 100%;
}

.fw-blend-inner > div,
.fw-blend-inner::before,
.fw-blend-inner::after {
    position: absolute;
    inset: 0;
}

.fw-blend-inner::before {
    content: "";
    z-index: 1;
    backdrop-filter: blur(2px);
    mask: linear-gradient(var(--blend-direction),
    rgba(0,0,0,0)    0%,
    rgba(0,0,0,0)    15%,   /* stay invisible longer */
    rgba(0,0,0,0.25) 22%,
    rgba(0,0,0,0.5)  28%,
    rgba(0,0,0,0.75) 34%,
    rgba(0,0,0,1)    100%
    );
}

.fw-blend-inner > div:nth-of-type(1) {
    z-index: 2;
    backdrop-filter: blur(6px);
    mask: linear-gradient(var(--blend-direction),
    rgba(0,0,0,0)    0%,
    rgba(0,0,0,0)    10%,
    rgba(0,0,0,0.25) 18%,
    rgba(0,0,0,0.5)  25%,
    rgba(0,0,0,0.75) 32%,
    rgba(0,0,0,1)    38%,
    rgba(0,0,0,0)    100%
    );
}

.fw-blend-inner > div:nth-of-type(2) {
    z-index: 3;
    backdrop-filter: blur(12px);
    mask: linear-gradient(var(--blend-direction),
    rgba(0,0,0,0)    0%,
    rgba(0,0,0,0)    8%,
    rgba(0,0,0,0.25) 15%,
    rgba(0,0,0,0.5)  22%,
    rgba(0,0,0,1)    30%,
    rgba(0,0,0,0)    100%
    );
}

/* Reset all cv-table styling */
.cv-table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    background: transparent !important;
    font-size: 15px;

    @media(max-width: 1000px) {
        font-size: 14px;
    }
}

.cv-table tr {
    border: none;
    background: transparent !important;
}

.cv-table td {
    border: none;
    padding: 6px 0;
    vertical-align: top;
    background: transparent !important;
    line-height: 1.5;
}

/* Column widths */
.cv-col-year {
    width: 140px;
    min-width: 140px;
    padding-right: 20px;
}

/* Responsive */
@media (max-width: 768px) {
    .cv-col-year {
        width: 90px;
        min-width: 90px;
        padding-right: 12px;
    }
}

/* Dark main nav menu changes */
.page-id-231 {
    header .bg-glass {
        background-color: var(--grey-op) !important;

        .main-nav__menu nav .elementor-nav-menu > li > a {
            color: var(--black) !important;
            fill: var(--black) !important;
        }

        .e-button-base {
            border-color: var(--black) !important;
            color: var(--black) !important;

            &:hover {
                border-color: white !important;
            }
        }

        .sub-menu a {
            color: white !important;
        }

        .e-image-link-base img {
            content: url("/wp-content/uploads/2022/04/jimlavalle-logo-black.svg");
        }
    }
}

/*.podcast-recent .epyt-gallery-rowbreak,*/
/*.podcast-recent .epyt-gallery-list .epyt-pagination:first-of-type {*/
/*    display: none;*/
/*}*/

/*.podcast-recent .epyt-figure .epyt-video-wrapper {*/
/*    padding: 24px;*/
/*    background: var(--white-op);*/
/*    border-radius: 16px;*/
/*    border: 1px solid var(--border-light);*/
/*    margin-bottom: 40px;*/

/*    .epyt-facade,*/
/*    .epyt-facade-poster {*/
/*        border-radius: 8px;*/
/*    }*/
/*}*/

/*.fluid-width-video-wrapper iframe {*/
/*    border-radius: 16px;*/
/*}*/

/*.podcast-recent .epyt-gallery-allthumbs {*/
/*    display: flex;*/
/*    flex-direction: row;*/
/*    flex-wrap: wrap;*/
/*    gap: 22px;*/

/*    .epyt-gallery-thumb {*/
/*        width: calc(33% - 12px) !important;*/
/*        padding: 24px;*/
/*        background: var(--white-op);*/
/*        border-radius: 16px;*/
/*        border: 1px solid var(--border-light);*/

/*        .epyt-gallery-title {*/
/*            padding: 12px 0 0 !important;*/
/*            font-size: 18px;*/
/*            font-weight: 600;*/
/*            line-height: 1.5em;*/
/*            text-align: left;*/
/*        }*/

/*        .epyt-gallery-img-box,*/
/*        .epyt-gallery-img {*/
/*            border-radius: 8px;*/
/*        }*/

/*        @media(max-width: 1000px) {*/
/*            width: calc(50% - 12px) !important;*/

/*            .epyt-gallery-title {*/
/*                font-size: 16px;*/
/*            }*/
/*        }*/

/*        @media(max-width: 690px) {*/
/*            padding: 16px !important;*/

/*            .epyt-gallery-title {*/
/*                font-size: 14px;*/
/*            }*/
/*        }*/

/*        @media(max-width: 480px) {*/
/*            width: 100% !important;*/
/*        }*/
/*    }*/
/*}*/

/* Event Styles */

.tec-events-elementor-event-widget__venue {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;

    h3,
    h4 {
        margin-top: 0 !important;
        margin-bottom: 3px !important;
    }

    .tec-events-elementor-event-widget__venue-container {
        margin: 0 !important;
        border: none !important;
        display: flex !important;

        @media(max-width: 800px) {
            flex-direction: column !important;

            .tec-events-elementor-event-widget__venue-map {
                width: 100% !important;
                max-width: 100% !important;
            }
        }
    }
}

.tec-events-elementor-event-widget__venue-details {
    padding: 0 !important;

    .tec-events-elementor-event-widget__venue-address {
        margin-bottom: 0 !important;

        span {
            font-style: normal !important;
        }
    }
}

.tec-events-elementor-event-widget__venue-address-address {
    br,
    .tribe-postal-code,
    .tribe-country-name,
    .tribe-street-address {
        display: none !important;
    }
}

.elementor-widget-tec_events_elementor_widget_event_cost,
.tec-events-elementor-event-widget__datetime-wrapper {
    margin: 0 !important;
    flex-direction: column !important;

    h3,
    h4 {
        margin-bottom: 3px !important;
    }
}

#tribe-events-pg-template {
    max-width: unset !important;
    padding: 0 !important;
}

.tec-events-elementor-event-widget__navigation--subnav a {
    color: white !important;
    text-decoration: none !important;
}

.tec-events-elementor-event-widget__export-dropdown-button {
    border-radius: 25px !important;

    &:hover {
        background: white !important;
    }
}

.tec-events-elementor-event-widget__export-dropdown-list {
    border-radius: 16px !important;

    li:hover {
        background: var(--white-op) !important;
        border-radius: 25px;
    }
}

.tec-events-elementor-event-widget__venue-container {
    width: 100% !important;
    max-width: unset !important;
}

.tribe-region.tribe-events-abbr {
    text-decoration: unset !important;
}

/* FF YouTube Stream Styles */

/* .ff-item .ff-item-meta, */
.ff-stream .shuffle__sizer,
.ff-loadmore-wrapper,
.ff-item .ff-item-bar,
.ff-item .ff-content,
.ff-item .ff-label-wrapper {
    display: none !important;
}

.ff-item .picture-item__inner {
    border-radius: 16px !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--white-op) !important;
    background: var(--white-op) !important;
}

body .ff-item .ff-img-holder {
    width: 100%;
    display: block !important;
    height: fit-content !important;
    aspect-ratio: 16 / 9 !important;
    margin-bottom: 15px !important;
    border-radius: 8px !important;

    img {
        width: 100%;
        height: auto !important;
        min-height: unset !important;
        display: block;
        border-radius: inherit !important;
    }
}

.ff-item {
    position: relative !important;
    top: unset !important;
    left: unset !important;
    transform: unset !important;
    width: calc(33.3% - 18px) !important;

    @media(max-width: 1000px) {
        width: calc(50% - 12px) !important;
    }

    @media(max-width: 480px) {
        width: 100% !important;
    }
}

.ff-stream {
    padding: 0 !important;
    min-height: unset !important;
}

.ff-stream-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    height: fit-content !important;
    margin-top: 0;
}

.ff-item .ff-item-cont {
    padding: 24px;
    height: auto !important;
    overflow: hidden;

    @media(max-width: 690px) {
        padding: 16px !important;
    }
}

.ff-item h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #ffffff;
    height: fit-content !important;

    a {
        color: inherit;
        text-decoration: none;

        &:hover {
            text-decoration: underline;
        }
    }
}

body .ff-item .ff-item-meta {
    margin: 0;

    h6 {
        display: none;
    }

    a {
        text-transform: uppercase;
        color: white !important;
        letter-spacing: 1.6px;
        font-size: 12px;
        font-family: var(--accent-font) !important;
    }
}

.podcast-recent .ff-stream-wrapper > .ff-item:first-child {
    display: none !important;
}

.podcast-recent .ff-loadmore-wrapper {
    display: block !important;

    .ff-btn {
        background: transparent !important;
        border: 1px solid white !important;
        border-radius: 25px !important;
        font-family: var(--accent-font) !important;
        letter-spacing: 1.6px !important;
        font-size: 14px !important;
        font-weight: 400 !important;

        &:hover {
            background: white !important;
            color: var(--black) !important;
            border-color: white !important;
        }
    }
}

/* ========================================
   Latest Episode — .podcast-latest overrides
   ======================================== */

.podcast-latest .ff-stream-wrapper {
    flex-wrap: nowrap !important;
}

.podcast-latest .ff-item {
    width: 100% !important;
}

.podcast-latest .ff-item .picture-item__inner {
    flex-direction: row !important;
    align-items: stretch;
}

.podcast-latest .ff-upic-round .ff-has-overlay .ff-img-holder,
.podcast-latest .ff-upic-round .ff-has-overlay .ff-img-holder img {
    border-radius: 8px !important;
}

.podcast-latest .ff-item .ff-img-holder {
    width: 50% !important;
    flex-shrink: 0;
    margin-bottom: 0 !important;
    aspect-ratio: unset !important;
    align-self: stretch;
    img {
        height: 100% !important;
        object-fit: cover;
        border-radius: 8px 0 0 8px !important;
        position: relative;
        top: unset;
        left: unset;
        transform: unset;
    }
}

.podcast-latest .ff-item .ff-item-cont {
    width: 100%;
    display: flex;
    flex-direction: row !important;
    align-items: center !important;
    gap: 50px;
    padding: 24px !important;
    height: 100% !important;

    @media (max-width: 1000px) {
        gap: 30px !important;
    }

    @media(max-width: 767px) {
        flex-direction: column !important;
    }

    @media(max-width: 690px) {
        padding: 16px !important;
    }
}

.podcast-latest .ff-overlay-wrapper {
    position: relative !important;
    top: unset !important;
    left: unset !important;
    bottom: unset !important;
    right: unset !important;
    opacity: 1 !important;
    display: flex !important;
    flex-direction: column;
    gap: 15px !important;

    .ff-overlay {
        background: unset !important;
    }
}

.podcast-latest .ff-item h4 {
    font-size: clamp(1.25rem, 3vw, 2.75rem) !important;
    margin: 0 !important;
    order: 2;

    @media(max-width: 768px) {
        order: unset !important;
    }
}

.podcast-latest .ff-item-meta {
    order: 1;

    @media(max-width: 768px) {
        order: unset !important;
    }
}

.podcast-latest .ff-has-overlay img,
.podcast-latest .ff-has-overlay:hover img {
    transform: none !important;
    transition: none !important;
}

.podcast-latest .picture-item__inner:hover::before {
    background: transparent !important;
}

@media (max-width: 767px) {
    .podcast-latest .ff-item .picture-item__inner {
        flex-direction: column !important;
    }

    .podcast-latest .ff-item .ff-img-holder {
        width: 100% !important;
        aspect-ratio: 16 / 9 !important;

        img {
            height: auto !important;
            border-radius: 8px 8px 0 0 !important;
        }
    }

    .podcast-latest .ff-item .ff-item-cont {
        width: 100% !important;
    }
}