/* Small additions for the static site (things the WordPress scripts used to do). Author: Studios 76 LLC */

/* Menu: desktop dropdowns open on mouse-over and keyboard focus; mobile sub-menus open with the arrow */
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children{position:relative}
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children:hover>ul,
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children:focus-within>ul,
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children.s76-open>ul{z-index:9998;width:max-content;min-width:12em;max-width:22em;display:block;top:100%;left:0}
.elementor-nav-menu--main .elementor-nav-menu ul ul{top:0!important;left:100%!important}
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children>ul::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:30px}
nav.elementor-nav-menu--dropdown ul.sub-menu{width:auto;display:none;position:static}
nav.elementor-nav-menu--dropdown li.s76-open>ul.sub-menu{display:block}
nav.elementor-nav-menu--dropdown .sub-arrow{cursor:pointer;margin:-10px 0;padding:10px 0 10px 10px}
nav.elementor-nav-menu--dropdown li.s76-open>a .sub-arrow{transform:rotate(180deg)}
.elementor-menu-toggle{cursor:pointer}
.elementor-menu-toggle:focus-visible,.elementor-tab-title:focus-visible{outline-offset:2px;outline:2px solid}

/* Accordions, tabs */
.elementor-tab-content.elementor-active{display:block}
.elementor-tab-title{cursor:pointer}

/* Sticky header */
[data-elementor-type=header]:has(>[data-settings*='"sticky":"top"']){z-index:99;position:sticky;top:0}

/* Carousels (slides, reviews): native scrolling with snap points instead of the Swiper library */
.s76-carousel{overflow:hidden}
.s76-carousel>.swiper-wrapper{gap:var(--s76-gap,0px);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto;transform:none!important}
.s76-carousel>.swiper-wrapper::-webkit-scrollbar{display:none}
.s76-carousel>.swiper-wrapper>.swiper-slide{flex:0 0 calc((100% - (var(--s76-per,1) - 1) * var(--s76-gap,0px)) / var(--s76-per,1));scroll-snap-align:start;height:auto;margin:0!important}
.swiper-pagination-bullet{cursor:pointer}

/* Forms */
.s76-hp{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}
.s76-form-status{flex-basis:100%;margin:12px 0 0;font-size:15px}
.s76-form-status:empty{display:none}
.s76-form-status.is-success{color:#1e6b3a}
.s76-form-status.is-error{color:#a12626}
.s76-form [type=submit][disabled],.s76-gform [type=submit][disabled]{opacity:.6;cursor:progress}
.s76-form [aria-invalid=true]{outline-offset:1px;outline:2px solid #a12626}
.s76-turnstile{min-height:65px;margin:10px 0}
.s76-turnstile.s76-turnstile--quiet{min-height:0;margin:0}
.plc-request-form>.s76-turnstile--quiet{margin-top:-16px}
.gform_wrapper .ginput_container_turnstile{min-height:72px}
.gform_wrapper .ginput_container_turnstile .s76-turnstile{margin:0}
.gform_wrapper .gform_drop_area.drag-over{background:rgba(0,0,0,.04)}
.gform_wrapper .ginput_preview{display:flex;align-items:center;gap:8px;margin:6px 0}
.gform_wrapper .gfield_fileupload_filesize{color:#767676;font-size:.9em}
.gform_wrapper .gform_delete_file{cursor:pointer;background:none;border:0;padding:2px 6px;line-height:1}
.gform_wrapper .gform_delete_file .dashicons-trash::before{content:"\00d7";font-size:20px;font-family:inherit;color:#a12626}
.gform_wrapper .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Video lightbox (was the Elementor lightbox) */
.s76-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.87);display:flex;align-items:center;justify-content:center;padding:4vh 4vw}
.s76-lightbox-video{width:min(1200px,100%,calc(92vh * 16 / 9));aspect-ratio:16/9;background:#000}
.s76-lightbox-video iframe{width:100%;height:100%;border:0;display:block}
.s76-lightbox-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:transparent;color:#eee;font-size:24px;line-height:44px;cursor:pointer;padding:0}
.s76-lightbox-close:hover,.s76-lightbox-close:focus{color:#fff;background:transparent}
html.s76-lightbox-open{overflow:hidden}
.elementor-widget-video .elementor-wrapper iframe.elementor-video{width:100%;height:100%;border:0;display:block}
.elementor-custom-embed-image-overlay{cursor:pointer}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.animated{animation:none!important}}
