/* MISC
---------------------*/
/* @media (min-width: 768px) { */
    .jupiterx-header-overlapped:not(.jupiterx-header-fixed):not(.jupiterx-header-stick):not(.jupiterx-header-sticked) .jupiterx-header {
        position: absolute;
    }
/* } */
.raven-nav-menu-mobile.raven-nav-menu-full-screen {  
    .raven-nav-menu > li > a { padding: 10px 32px !important; }
}
 
.raven-nav-menu-toggle {
    .hamburger-inner { transition: ease all .2s; }
    /* .hamburger-inner, .hamburger-inner:before, .hamburger-inner:after { transition: ease all .2s; }  */
    &:hover {
        .hamburger-inner { transform: scale(1.1); }
        .hamburger-inner, .hamburger-inner:before, .hamburger-inner:after {  }
    }
}

.elementor-slideshow__footer { display: none !important; }
.faux-italic .elementor-heading-title { transform: skewX(-8deg) !important; }
body .raven-nav-menu-close-button { color: #fff; font-size: 50px !important; font-weight: 100 !important; top: 36px; right: 20px; }
#jupiterx-main { overflow: hidden; }
body .content-row { padding: 75px 25px; transition: none !important; }
body .content-row .elementor-widget-text-editor p:last-child { margin-bottom: 0 !important; }
@media screen and (max-width:767px) {
    .elementor-widget-heading br { display: none; }
    body .content-row { padding: 45px 20px; }
}
.nowrap,
.no-wrap { white-space: nowrap; }
.max-1000 > .e-con-inner,
.max-1000 > .elementor-heading-title { max-width: 1000px !important; margin-left: auto; margin-right: auto; }
.max-1100 > .e-con-inner,
.max-1100 > .elementor-heading-title { max-width: 1100px !important; margin-left: auto; margin-right: auto; }
.max-1200 > .e-con-inner,
.max-1200 > .elementor-heading-title { max-width: 1200px !important; margin-left: auto; margin-right: auto; }
.max-1300 > .e-con-inner,
.max-1300 > .elementor-heading-title { max-width: 1300px !important; margin-left: auto; margin-right: auto; }
.light-text { font-weight: 300 !important; }

.elementor-40 .elementor-element.elementor-element-e6b55ca .elementor-nav-menu--main .elementor-item:hover { /*transform: translate(5px,0) !important;*/ color: #66b124; }

.raven-nav-menu-full-screen .raven-nav-menu a { transition: ease all .2s; }
.raven-nav-menu-full-screen .raven-nav-menu a:hover { color: var(--e-global-color-933a0c5) !important; }
.raven-nav-menu-full-screen .raven-nav-menu ul li a { font-size: 1.2em !important; padding: 4px 0; }
.raven-nav-menu-full-screen .raven-nav-menu ul { margin: -5px 0 5px !important; }
.raven-nav-menu-full-screen .sub-arrow { fill: #fff !important; }

body .jupiterx-scroll-top  { display: none !important; background: rgba(255,255,255,.7); border-color: #66b124; color: #66b124 !important; border-radius: 0; transition: ease all .2s;
    &:hover { background: #66b124; color: #fff !important; }
} 

.e-con-full.top-banner { padding: 65px 0 0 0; position: relative; height: 95vh; max-height: 700px; 
    &:before { mix-blend-mode: multiply; opacity: .6 !important; }
}
.e-con-full.top-banner.shorter { height: 65vh; max-height: 600px; padding-top: 60px; }
@media screen and (max-width:767px) {
    .e-con-full.top-banner { height: 65vh; }
    .e-con-full.top-banner.shorter { min-height: 45vh; }
}
.top-banner-card { background: rgba(41,77,38,.6); max-width: 800px; min-height: 300px !important; padding: 55px 35px; }
.top-banner-card.clear { background: transparent; }
.top-banner-card > div { position: relative; z-index: 2; }
.top-banner-card:after { content: ''; display: block; width: calc(100% - 50px); height: calc(100% - 50px); position: absolute; top: 25px; left: 25px; border: solid 2px #fff; } 

.e-con-full.header-fix { min-height: 108px; }

footer[data-elementor-type="footer"] {
    ul, p {
        a { position: relative; color: #fff !important;
            &:hover { color: var(--e-global-color-933a0c5) !important; }
            &:after { content: ''; display: block; width: 100%; height: 1px; position: absolute; bottom: -5px; left: 0; background: var(--e-global-color-933a0c5) !important; opacity: 1 !important; transform: scaleX(0) !important; transition: ease all .2s; transform-origin: left center; }
            &:hover:after { transform: scaleX(1) !important; }
        }
    }
    .sub-arrow { display: none; }
    ul a { display: inline-block; 
        &:after  { bottom: 2px; }
    }
}

.project-tile,
.featured-tiles { overflow: hidden; }
.project-tile .overlay,
.featured-tiles .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(41,77,38,.6); display: flex; justify-content: center; align-items: center; opacity: 0; transition: ease all .2s; padding: 30px 40px; }
.project-tile .overlay:after,
.featured-tiles .overlay:after { content: ''; display: block; width: calc(100% - 50px); height: calc(100% - 50px); position: absolute; top: 25px; left: 25px; border: solid 2px #fff; } 
.project-tile > .e-con-inner,
.featured-tiles > .e-flex { overflow: hidden; min-height: 400px; }
.project-tile:hover .overlay,
.featured-tiles > .e-flex:hover .overlay { opacity: 1; }
.project-tile .overlay > div,
.featured-tiles .overlay > div { transform: translate(0,35px); opacity: 0; transition: ease all .35s; 
    &:nth-child(2) { transition-delay: 50ms; }
}
.project-tile:hover .overlay > div,
.featured-tiles > .e-flex:hover .overlay > div { transform: translate(0,0); opacity: 1; }

.elementor-widget-raven-testimonial-carousel {
    .raven-main-swiper { max-width: 1000px !important; position: unset; }
    .raven-testimonial-content-text { font-style: normal !important;  }
    .swiper-slide { display: flex; align-items: center; justify-content: center; }
    @media (max-width:767px) { 
        .raven-main-swiper { position: unset; } 
        .elementor-swiper-button-prev { margin-left: -25px; }
        .elementor-swiper-button-next { margin-right: -25px; } 
    } 
}

body .wsf-form button.wsf-button.wsf-button-primary,
body .nf-form-content input[type=submit],
body .elementor-widget-button .elementor-button-link,
body .elementor-button-wrapper .elementor-button-link { border-radius: 0; display: inline-block; margin: 0 auto; color: #fff; background: var( --e-global-color-accent ); border: solid 1px var( --e-global-color-accent ); cursor: pointer; font-weight: 500 !important; font-size: 17px !important; padding: 13px 25px; height: auto; line-height: 1em; transition: ease all .2s; letter-spacing: .075em; box-sizing: border-box;  overflow: hidden; text-transform: uppercase; min-width: 220px; }
body .wsf-form button.wsf-button.wsf-button-primary:hover,
body .elementor-widget-button .elementor-button-link:hover,
body .elementor-button-wrapper .elementor-button-link:hover { background: #fff; color: #66b124; }

body .wsf-form button.wsf-button.wsf-button-primary { background: var(--e-global-color-primary) !important; border-color: var(--e-global-color-primary) !important; width: auto !important; float: right !important; 
    &:hover { background: #fff !important; color: var(--e-global-color-primary) !important; }
}

body .elementor-widget-button.light-green .elementor-button-link { background: var(--e-global-color-933a0c5); border-color: var(--e-global-color-933a0c5);
    &:hover { color: var(--e-global-color-933a0c5); background: #fff; }
}
body .elementor-widget-button.white .elementor-button-link { background: #fff; color: var(--e-global-color-accent); border-color: #fff;
    &:hover { color: #fff; background: var(--e-global-color-accent); }
}

.features-grid { max-width: 1000px; margin: 25px auto 0 !important;  }
.features-grid > div { width: calc(50% - 5px) !important; padding: 45px 60px;
    &:nth-child(1) { border-bottom: solid 1px #ccc; border-right: solid 1px #ccc; }
    &:nth-child(2) { border-bottom: solid 1px #ccc; }
    &:nth-child(3) { border-right: solid 1px #ccc; }
    
    @media (max-width:767px) { width: 100% !important; border: none !important; border-bottom: solid 1px #ccc !important; padding: 25px 25px; justify-content: center;
        *:not(img) { width: 100% !important; text-align: center; }
        &:last-child { border-bottom: none !important; }
    }
}

.jet-color-image-list { max-width: 650px; margin: 25px auto 0;
    fieldset { display: flex; justify-content: center; 
        div { width: calc(100% / 2); 
            label { display: block !important; flex-wrap: wrap; justify-content: center;
                span { display: block; }
                .jet-color-image-list__button { display: block; text-align: center; width: 100% !important; 
                    .jet-color-image-list__decorator { margin-bottom: 15px;
                        .jet-color-image-list__image { display: flex; justify-content: center; border: none !important; width: 100% !important; max-width: none; }
                        img{ width: 80px !important; max-width: 80px !important; transition: ease all .01s; }
                    }
                    .jet-color-image-list__label { width: 100%;  transition: ease all .2s;
                        font-family: "Montserrat", Sans-serif;
                        font-size: 18px;
                        font-weight: 500;
                        text-transform: uppercase;
                        line-height: 1.05em;
                        color: #FFFFFF;
                    }
                }
            }
        }
    }
    .jet-color-image-list__button { position: relative; overflow: hidden; transition: ease all .2s;
        /* &:after  { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #66B125; content: ''; mix-blend-mode: darken; } */
        &.active,
        &:hover { 
            .jet-color-image-list__label { color: var(--e-global-color-933a0c5) !important; }
            img { filter: brightness(0) saturate(100%) invert(53%) sepia(62%) saturate(523%) hue-rotate(49deg) brightness(100%) contrast(92%);  }
        }
        &:hover { transform: scale(1.1); }
    }  
 }

.jet-filters-pagination,
.elementor-pagination {  background: var( --e-global-color-accent ); padding: 30px 20px; font-family: var(--e-global-typography-secondary-font-family), Sans-serif;font-weight: var(--e-global-typography-secondary-font-weight);
    .prev-next { color: #fff !important; }
    .jet-filters-pagination__link,
    .page-numbers { color: #fff; padding: 5px 12px !important; }
    .prev:hover,.next:hover { text-decoration: underline; }
    .jet-filters-pagination__link:not(.prev-next .jet-filters-pagination__link),
    .page-numbers:not(.prev,.next) { 
        border: solid 1px #fff;
        padding: 5px 12px;
        font-size: 18px;	
        transition: ease all .2s;
        &:hover,
        &.current { background: #fff; color: var( --e-global-color-accent ); }
    }
    .jet-filters-pagination__current .jet-filters-pagination__link { background: #fff; color: var( --e-global-color-accent ); }
 }
 .jet-filters-pagination { padding: 20px 20px; gap: 7px !important; }

/* FORMS
--------------_*/
.wsf-field-wrapper[data-type="recaptcha"] { margin: 0 !important; }
.wsf-form input[type=date].wsf-field, .wsf-form input[type=datetime-local].wsf-field, .wsf-form input[type=file].wsf-field, .wsf-form input[type=month].wsf-field, .wsf-form input[type=password].wsf-field, .wsf-form input[type=search].wsf-field, .wsf-form input[type=time].wsf-field, .wsf-form input[type=week].wsf-field, .wsf-form input[type=email].wsf-field, .wsf-form input[type=number].wsf-field, .wsf-form input[type=tel].wsf-field, .wsf-form input[type=text].wsf-field, .wsf-form input[type=url].wsf-field, .wsf-form select.wsf-field, .wsf-form textarea.wsf-field, .wsf-form textarea.wsf-field {
    border: none !important;
    outline: none !important;
    border-radius: 0 !important;
    padding: 14px 22px !important;
    font-family: var( --e-global-typography-text-font-family ), Sans-serif !important;
    &::placeholder { color: #999 !important; }
}
.wsf-form textarea.wsf-field { height: 160px !important; }

body .nf-form-cont { max-width: 750px; margin-top: 25px; 
    label { font-size: 17px; }
    .nf-field-label label { display: none; }
    .nf-form-fields-required { display: none; }
    
    .nf-form-content {
        /* .list-select-wrap .nf-field-element>div, */
        input:not([type=submit]),
        .list-select-wrap select, 
        textarea { background: #fff; border: solid 1px #ccc; color: #000 !important; font-family: var( --e-global-typography-text-font-family ), Sans-serif; padding: 12px 25px; font-size: var(--e-global-typography-text-font-size) !important; }
        select.ninja-forms-field:not([multiple]) { color: #000; font-family: var( --e-global-typography-text-font-family ), Sans-serif; padding-left: 25px; padding-right: 25px; }
        input:not([type=submit])::placeholder,
        textarea::placeholder { color: #99a9b5 !important; }
        
        .listradio-container { margin-bottom: 0; }
        .listradio-wrap .nf-field-label { color: var( --e-global-color-accent ); font-size: 1.4em; font-family: var( --e-global-typography-text-font-family ), Sans-serif; margin-bottom: 0; }
        .listradio-wrap .nf-field-element ul { display: flex; }
        .listradio-wrap .nf-field-element ul li { padding: 0 25px 12px 0 !important; color: #99a9b5; font-size: var(--e-global-typography-text-font-size) !important; font-family: var( --e-global-typography-text-font-family ), Sans-serif; }
        .listradio-wrap .nf-field-element ul li  .nf-checked-label { color: #000; }
        
        input[type=submit] { background: var(--e-global-color-primary); border-color: var(--e-global-color-primary); float: right;
            &:hover { background: var(--e-global-color-accent); border-color: var(--e-global-color-accent); }
        }
    }
    
    .nf-error-msg { color: #fff; }
    .nf-error-wrap.nf-error { padding-left: 25px; padding-right: 25px; font-size: .82em; }
    .nf-error-msg.nf-error-field-errors { text-align: center; display: none !important; color: #fff !important; }
    
    .nf-response-msg {  }
    .nf-response-msg p { margin: 0; color: #fff; width: 100%; max-width: 900px; margin: 0 auto; background: var( --e-global-color-accent ); background: var( --e-global-color-accent ); padding: 12px 16px; text-align: center; }
}
footer[data-elementor-type="footer"] .nf-form-cont { position: relative; margin: 0;
    nf-fields-wrap { display: flex; }
    nf-field:nth-child(1) { 
        & > div { margin: 0; }
        input:not([type=submit]){ font-size: 19px !important; color: var( --e-global-color-primary ) !important; font-weight: 600 !important; padding: 10px 25px; height: 52px; border-radius: 0 !important; -webkit-border-radius: 0 !important;
            &::placeholder { text-transform: uppercase;  font-weight: 600 !important; color: var( --e-global-color-primary ) !important; }
        }
    }
    nf-field:nth-child(2) { 
        & > div { margin: 0; }
        input[type=submit] { min-width: 0; background: var(--e-global-color-933a0c5); border-color: var(--e-global-color-933a0c5); min-height: 52px;
            &:hover { background: var(--e-global-color-accent); border-color: var(--e-global-color-accent) }
        }
    }
}

/* FAQs
-------------------*/
.e-n-accordion { border: none; }
body .elementor-widget-n-accordion .e-n-accordion-item { border: none; margin: 0 0 15px !important;
    .e-n-accordion-item-title { background: #F4F2F1; padding: 16px 75px 16px 30px !important; border: none !important; position: relative;
        &:after { position: absolute; top: 50%; right: 30px; background: transparent url(images/faq-arrow.png) no-repeat center center; background-size: cover; content: ''; display: block; width: 29px; height: 16px; transform: rotate(0); margin-top: -8px; transition: ease all .2s; }
        .e-n-accordion-item-title-text { color: #85817F; line-height: 1.2em; }
    }
    &[open] .e-n-accordion-item-title:after { transform: rotate(180deg); }
    & > .elementor-element { border: none !important;
        
    }
        .e-n-accordion-item-title  { padding: 16px 75px 16px 20px !important; }
    @media (max-width:767px) {
    }
}

/* ANIMATION 
-----------------*/
body .animated { animation-duration: .5s; }
body .fadeInUp { animation-name: fadeInUpV2; }
body .transparent-heading.fadeInUp { animation-name: transparentHeadingFadeUp; }
body .fadeInLeft { animation-name: fadeInLeftV2; }
body .fadeInRight { animation-name: fadeInRightV2; }
body .slideInUp { animation-name: slideInUpV2; }
@keyframes fadeInUpV2 {
     from { opacity: 0; transform: translate3d(0, 75px, 0) }
     to { opacity: 1; transform: none }
}
@keyframes transparentHeadingFadeUp {
     from { opacity: 0; transform: translate3d(0, 75px, 0) }
     to { opacity: .4; transform: none }
}
@keyframes fadeInLeftV2 {
    from { opacity: 0; transform: translate3d(-75px, 0, 0); }
    to { opacity: 1; transform: none; }
}
@keyframes fadeInRightV2 {
    from { opacity: 0; transform: translate3d(75px, 0, 0); }
    to { opacity: 1; transform: none; }
}
@keyframes slideInUpV2 {
     from { transform: translate3d(0, 75px, 0) }
     to { transform: none }
}