
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-button {
    width: 8px;
    height: 5px;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border: none;
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
}

::-webkit-scrollbar-track {
    background: 0 0;
}

.m0 p {
    margin: 0 !important;
}

#scrollToTop {
    display: none;
}

#scrollToTop.scrollToTop_show {
    display: block;
}

body h1 {
    word-break: break-word;
}

body {
    overflow-x: hidden;
}


/* Header css START */

.header_main .header_menu ul.elementor-nav-menu {
    gap: 50px;
}

.header_main .header_menu ul.elementor-nav-menu:after {
    display: none;
}

.header_main .header_menu span.sub-arrow svg {
    width: 10px !important;
    height: 10px !important;
}

.header_main .header_menu span.sub-arrow {
    position: absolute;
    right: -15px;
    padding: 0;
}

.header_main .header_menu ul li a .sub-arrow svg,
.header_main .header_menu ul li a:hover .sub-arrow svg,
.header_main .header_menu ul li a.elementor-item-active .sub-arrow svg {
    fill: #656565;
}

.header_main .e-con-inner {
    -webkit-transition: all .3s linear;
    -moz-transition: all .3s linear;
    -o-transition: all .3s linear;
    transition: all .3s linear !important;
}

.header_main.sticky .e-con-inner {
    padding: 16px 0;
}

.header_main.sticky {
    background-color: #ffffffe6 !important;
}

.header_main .header_menu .sub-menu.elementor-nav-menu--dropdown li a {
    line-height: 18px !important;
    text-transform: capitalize !important;
    border: 0;
}

.header_main .header_menu .sub-menu.elementor-nav-menu--dropdown {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    display: flex !important;
    flex-direction: column;
    width: auto;
}

  .header_main .header_menu .menu-item:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .header_main .header_menu .sub-menu.elementor-nav-menu--dropdown {
    left: -15px !important;
    min-width: 220px;
    width: 100%;
}


/* Header css END */


/* Home page css START  */

.home_hero_slider ul.slick-dots {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute;
    top: 50%;
    right: 46px;
    list-style: none;
    flex-direction: column;
    transform: translateY(-50%);
    gap: 6px;
}

.home_hero_slider, .home_hero_slider .slick-list, .home_hero_slider .slick-track, .home_hero_slider .slick-slide {
    /* height: 100vh; */
    overflow: hidden;
}

.home_hero_slider .slick-slide {
    height: calc(100vh - 142px);
}

.home_hero_slider .slick-slide {
    display: flex !important;
    justify-content: center;
    align-items: center;
    border: 0 !important;
}

.home_hero_slider button.slick-prev.slick-arrow, .home_hero_slider button.slick-next.slick-arrow {
    position: absolute;
    right: 43px;
    z-index: 1;
    padding: 0;
    font-size: 0;
    line-height: normal;
    font-weight: normal;
    background-image: url(/wp-content/uploads/2025/02/arrow1.svg);
    background-repeat: no-repeat;
    background-size: contain;
    border: 0;
    width: 15px;
    height: 25px;
    background-color: transparent;
    transform: translateY(-65px);
    top: 50%;
}

.home_hero_slider ul.slick-dots li button {
    padding: 0;
    font-size: 0;
    line-height: normal;
    font-weight: normal;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: transparent;
    border: 1px solid #fff;
}

.home_hero_slider ul.slick-dots li {
    font-size: 0;
    line-height: normal;
}

.home_hero_slider ul.slick-dots li.slick-active button {
    background-color: #fff;
}

.home_hero_slider button.slick-next.slick-arrow {
    background-image: url(/wp-content/uploads/2025/02/arrow2.svg);
    top: unset;
    bottom: 50%;
    transform: translateY(65px);
}

.home_text_section p strong {
    font-weight: bold !important;
}

.unser_angebot_section h4 {
    word-break: break-word;
}

.unser-section .elementor-image-box-title{
    margin-top: 0;
}

.unser-section .elementor-image-box-img{
        width: 32px;
        min-width: 32px;
}

.unser-section:before {
    content: "";
    width: 24px;
    height: 24px;
    background-color: #FAFAFA;
    position: absolute;
    top: -12px;
    left: 50%;
    transform: rotate(45deg);
}
    
.btn a{
        text-decoration: underline;
        text-underline-offset: 4px;
        transition: 0.3s all;
}

.btn a:hover{
    color: #323232 !important;
}

.our_project {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 44px 30px;
    width: 100%;
}

.our_project .our_project_box .our_pro_content {
    text-align: center;
}

.our_project .our_project_box .our_pro_content h3 {
    margin: 0;
}

.our_project .our_project_box .our_pro_content a {
    color: #323232;
    transition: all 0.3s;
    letter-spacing: .1rem;
    text-transform: uppercase;
}

.our_project .our_project_box .our_pro_content a:hover {
    color: #968850;
}

.our_project .our_project_box .our_pro_content p {
    color: #999;
    text-transform: lowercase;
    letter-spacing: .1rem;
}

.our_project .our_pro_img a img {
    -webkit-transition: all .4s linear;
    -moz-transition: all .4s linear;
    -o-transition: all .4s linear;
    transition: all .4s linear;
    vertical-align: bottom;
    transform: scale(1, 1);
    backface-visibility: hidden;
    width: 100%;
    height: 100%;
    /* aspect-ratio: auto 640 / 480; */
    /* max-height: 305px; */
    object-fit: cover;
}

.our_project .our_pro_img:hover img {
    transform: scale(1.05, 1.05);
    -webkit-transition: all .4s linear;
    -moz-transition: all .4s linear;
    -o-transition: all .4s linear;
    transition: all .4s linear;
}

.our_project .our_pro_img {
    position: relative;
    overflow: hidden;
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    margin-bottom: 19px;
    height: 305px;
}

.our_project .our_pro_img a {
    display: block;
    height: 100%;
}

.our_project .project_hover {
    cursor: pointer;
    display: block;
    opacity: 0;
    filter: alpha(opacity = 0);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(255, 255, 255, .8);
    width: 100%;
    height: 100%;
    z-index: 1000 !important;
    -webkit-transition: all .4s linear;
    -moz-transition: all .4s linear;
    -o-transition: all .4s linear;
    transition: all .4s linear;
}

.our_project .our_pro_img:hover .project_hover {
    opacity: 1;
    filter: alpha(opacity = 100);
}

.our_project .project_hover span {
    color: #323232;
    width: 48px;
    height: 48px;
    border: 1px solid #323232;
    -webkit-transition: all .4s linear;
    -moz-transition: all .4s linear;
    -o-transition: all .4s linear;
    transition: all .4s linear;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.our_project .project_hover span:before {
    content: "";
    background-image: url(/wp-content/uploads/2025/02/link_icon_.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 14px;
    height: 14px;
    display: block;
    transition: all 0.3s;
}

.our_project .project_hover span:hover {
    background-color: #323232;
}

.our_project .project_hover span:hover::before {
    background-image: url(/wp-content/uploads/2025/02/link_icon.svg);
}

/* Home page css END  */



/* project page css START */

.project_filter {
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.centered-wrapper  .option-set {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    gap: 14px;
}

.project_filter ul li a {
    padding: 3px 10px;
    border: 1px solid transparent;
    display: inline-block;
    font-size: 12px;
    line-height: 24px;
    cursor: pointer;
    text-transform: uppercase;
    font-weight: 600;
    color: #9e9e9e !important;
    letter-spacing: .15rem;
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
}

.project_filter ul li a.selected {
    border-color: #323232;
    color: #323232 !important;
}

.project_filter ul li a:hover {
    border-color: #323232;
    color: #323232 !important;
}

.our_project_box {
    transform: scale(1);
    opacity: 0;
    transition: transform 0.4s ease-out, opacity 0.4s ease-out;
    display: flex;
    flex-direction: column;
}

.our_project_box.animated.fadeInUp {
    opacity: 1;
    transition: transform 0.4s ease-out, opacity 0.4s ease-out;
}

.our_project_box.hidden {
    transform: scale(0);
    opacity: 0;
    pointer-events: none;
    position: absolute;
}
/* project page css END */


/* offer pages css START */
.mit_uns_arbeiten input, .mit_uns_arbeiten textarea {
    padding: 0 0 6px 0;
    box-shadow: none !important;
}

.mit_uns_arbeiten input:focus, .mit_uns_arbeiten textarea:focus,
.mit_uns_arbeiten input:focus-visible, .mit_uns_arbeiten textarea:focus-visible {
    border-bottom: 1px solid #323232 !important;
    outline: 0;
}

.mit_uns_arbeiten textarea {
    min-height: 140px;
}

.portfolio_offer_page {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 0;
    gap: 30px;
}

.portfolio_offer_page .grid-item {
    /* width: 33.33333%;
    padding: 15px; */
    margin-bottom: 0;
    list-style: none;
    transition: all .4s linear;
}

.portfolio_offer_page .grid-item a {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    z-index: 1;
    display: block;
    width: 100%;
    /* height: 100%; */
    margin: 0;
}

.portfolio_offer_page .grid-item img{
    transition: all .4s linear;
    vertical-align: bottom;
    transform: scale(1, 1);
    backface-visibility: hidden;
    height: 448px;
    width: 100%;
    object-fit: cover;
}

/* .portfolio_offer_page .grid-item:hover img{
    transform: scale(1.05, 1.05);
} */

.portfolio_offer_page .grid-item-on-hover {
position: absolute;
display: block;
width: 100%;
height: 100%;
z-index: 2;
top: 0;
left: 0;
bottom: 0;
right: 0;
opacity: 0;
filter: alpha(opacity=0);
background: #fff;
background: rgba(255,255,255,.8);
text-align: center;
transition: all .4s linear
}
.portfolio_offer_page .grid-item:hover .grid-item-on-hover{
opacity: 1;
}

.portfolio_offer_page .grid-item-on-hover .grid-text {
background: #968850 ;
width: 80%;
height: 80%;
margin-left: auto;
margin-right: auto;
padding: 10%;
display: flex;
opacity: .8;
filter: alpha(opacity=80);
align-items: center;
justify-content: center;
flex-direction: column;
}
.portfolio_offer_page .grid-item-on-hover .grid-text {
position: relative;
top: 50%;
transform: translateY(-50%);
transition: all .4s linear;
margin-top: 10px;
}
.portfolio_offer_page .grid-item:hover .grid-text{
margin-top: 0;
}
.portfolio_offer_page .grid-item-on-hover .grid-text h3 {
    font-family: "Raleway", Sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 32px;
    color: #fff;
    margin: 0;
    text-transform: uppercase;
}
.portfolio_offer_page .grid-item-on-hover .grid-text p {
    color: #ddd;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
}

.portfolio-wrapper .ias-wrapper {
    text-align: center;
    margin-top: 50px;
}

.portfolio-wrapper .ias-wrapper .to-trigger-btn {
    color: #444;
    display: inline-block;
    padding: 10px 20px;
    text-align: center;
    font-size: 12px;
    line-height: 24px;
    font-weight: 400;
    letter-spacing: .07rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 0;
    border: 1px solid #323232;
    cursor: pointer;
    box-sizing: border-box;
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
}

.portfolio-wrapper .ias-wrapper .to-trigger-btn:hover {
    color: #fff;
    background: #222;
    border: 1px solid #222;
}

.mit_uns_arbeiten input:-webkit-autofill,
.mit_uns_arbeiten input:-webkit-autofill:hover, 
.mit_uns_arbeiten input:-webkit-autofill:focus,
.mit_uns_arbeiten textarea:-webkit-autofill,
.mit_uns_arbeiten textarea:-webkit-autofill:hover,
.mit_uns_arbeiten textarea:-webkit-autofill:focus,
.four-zero-four-search input:-webkit-autofill,
.four-zero-four-search input:-webkit-autofill:focus,
.four-zero-four-search input:-webkit-autofill:hover {
  /* -webkit-text-fill-color: green; */
  -webkit-box-shadow: 0 0 0px 1000px #EEEEEE inset;
  transition: background-color 5000s ease-in-out 0s;
}

.mit_uns_arbeiten .elementor-message {
    text-align: center;
    margin: 54px 0 0;
    /* line-height: 24px; */
}
 
.mit_uns_arbeiten .elementor-field-group .elementor-message {
    margin-top: 5px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.mit_uns_arbeiten .elementor-message::before {
    display: none;
}

.icon_list_offer_pages ul {
    list-style: circle inside;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    padding-left: 0;
}

.icon_list_offer_pages ul a {
    font-size: 15px;
    line-height: 24px;
    font-weight: 400;
}


/* offer pages css END */


/* product_details_ pages css START */

.single-portfolio .dialog-lightbox-widget.dialog-type-lightbox {
    display: none !important;
}

/* ----- */
.product_details_slider .slider_wrapper img {
    max-height: 635px;
    min-height: 635px;
    object-fit: cover;
    width: 100%;
}

.product_details_slider .slider_wrapper .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    z-index: 1;
    width: 48px;
    height: 48px;
    font-size: 0;
    line-height: 0;
    border-radius: 50%;
    transition: all .3s linear;
    background: #ffffff80;
    border: 0;
}

.product_details_slider .slider_wrapper .slick-next {
    right: 10px !important;
    left: unset !important;
}

.product_details_slider .slider_wrapper .slick-prev:before {
    content: "";
    background-image: url(/wp-content/uploads/2025/02/slider_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 10px;
    height: 28px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(180deg);
}

.product_details_slider .slider_wrapper .slick-next:before {
    content: "";
    background-image: url(/wp-content/uploads/2025/02/slider_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 10px;
    height: 28px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.navigation_portfolio {
    /* display: flex; */
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    /* width: 100%; */
    align-items: center;
    gap: 20px;
    /* justify-content: space-between; */
}

.navigation_portfolio span {
    letter-spacing: 1px;
    color: #aaa;
    font-weight: 700;
    font-size: 13px;
    line-height: 24px;
    font-style: normal;
}

.navigation_portfolio p {
    font-size: 18px;
    line-height: 24px;
    font-weight: 400;
    color: #555;
    transition: all .3s linear;
}

.navigation_portfolio p:hover {
    color: #968850;
}

.navigation_portfolio .next_project {
    text-align: right;
    /* width: 100%; */
}

.navigation_portfolio .previous_project {
    /* width: 100%; */
}

.navigation_portfolio .grid_icon {
    /* width: 100%;
    max-width: 33%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); */
}

.navigation_portfolio .grid_icon a {
    display: block;
    line-height: 0;
    text-align: center;
}

.navigation_portfolio .grid_icon a img {
    opacity: .35;
    transition: all .3s linear;
}

.navigation_portfolio .grid_icon a img:hover {
    opacity: 1;
}

.single-portfolio .fancybox-navigation button.fancybox-button {
    border: 0;
    padding: 0;
    width: 50px;
    height: 50px;
    right: 20px;
    background-color: transparent;
    color: #fff;
}

.single-portfolio button.fancybox-button.fancybox-button--close {
    background-color: transparent;
    padding: 0;
    border: 0;
}

.single-portfolio .fancybox-navigation button.fancybox-button:hover {
    opacity: 0.5;
}

button.fancybox-button.fancybox-button--close svg path {
    fill: #fff;
}

button.fancybox-button.fancybox-button--close:hover svg path {
    fill: #ffffff86;
}

.portfolio_description .elementor-widget-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.product_details_slider .slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    list-style: none;
    gap: 10px;
    /* margin-top: -24px; */
    z-index: 1;
    position: relative;
    line-height: 0;
    bottom: 0;
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
}

.product_details_slider .slick-dots li button {
    width: 10px;
    height: 10px;
    border: 1px solid #323232;
    border-radius: 50%;
    transition: all .3s linear;
    font-size: 0;
    line-height: 0;
    font-weight: normal;
    padding: 0;
    background-color: transparent;
}

.product_details_slider .slick-dots li.slick-active button {
    background-color: #323232;
    opacity: 0.7;
}


/* product_details_ pages css END */

/* 404 page css START */
.four-zero-four-search input:focus,
.four-zero-four-search input:focus-visible {
    border: 1px solid #323232 !important;
}
/* 404 page css END */

/* search-results page css START */
.search.search-results h2.elementor-post__title a,
.search.search-results  a.elementor-post__read-more {
    transition: all 0.3s;
}

.search.search-results h2.elementor-post__title a:hover {
    color: #968850;
}

.search.search-results  a.elementor-post__read-more {
    border-bottom: 1px solid #968850;
}

.search.search-results a.elementor-post__read-more:hover {
    border-bottom: 1px solid #968850;
    color: #323232;
}
/* search-results page css END */


/* search-results page css START */
.category_archive_hero span {
    font-weight: 500;
}
/* search-results page css END */

/* privacy policy page START */

.privacy_policy_link a, .privacy_policy_link li {
    font-size: 15px;
    line-height: 24px;
    font-weight: 400;
    word-break: break-word;
}

/* privacy policy page END */


@media only screen and (max-width: 1280px) {

    .our_project .our_pro_img {
        margin-bottom: 10px;
    }

    .our_project {
        gap: 44px 20px;
    }

/* offer pages css START */
    .portfolio_offer_page .grid-item-on-hover .grid-text {
        width: 85%;
        height: 85%;
        padding: 20px;
    }
/* offer pages css END */

}


@media only screen and (min-width: 1023px) {

      .header_main .header_menu ul li.current-menu-item a:before {
        content: "";
        width: 30px;
        height: 1px;
        display: block;
        background: #323232;
        position: absolute;
        left: 50%;
        bottom: 2px;
        transform: translateX(-50%);
    }
    
    .header_main .header_menu .sub-menu.elementor-nav-menu--dropdown li a:before {
        display: none;
    }
}


@media only screen and (max-width: 1024px) {

    .header_main .header_menu ul li.current-menu-item a:before {
        display: none;
    }

    .header_main .header_menu .sub-menu.elementor-nav-menu--dropdown {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        margin-left: 20px;
        width: auto;
        min-width: auto;
    }

    .header_main .header_menu .sub-menu.elementor-nav-menu--dropdown a {
        text-transform: capitalize !important;
        font-size: 13px !important;
    }

    .header_main .header_menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
        padding: 20px;
        box-shadow: none !important;
    }

    .header_main .header_menu ul li {
        border-bottom: 1px solid #efefef !important;
    }

    .header_main .header_menu ul ul.sub-menu li:last-child {
        border: 0 !important;
    }

    .header_main .header_menu ul li a .sub-arrow {
        display: none;
    }

    .our_project {
        grid-template-columns: 1fr 1fr;
    }

/* project page css START */
.project_filter {
    gap: 50px;
}
/* project page css END */

/* offer pages css START */
.portfolio_offer_page {
    gap: 20px;
    grid-template-columns: 1fr 1fr;
}

.portfolio_offer_page .grid-item img {
    height: 350px;
}
/* offer pages css END */

.navigation_portfolio p {
    font-size: 16px;
}
}


@media (max-width:768px) {

    .portfolio_offer_page .grid-item img {
        height: 300px;
    }
}

@media (max-width:767px) {

    .home_hero_slider ul.slick-dots {
        right: 16px;
    }

    .home_hero_slider button.slick-prev.slick-arrow, .home_hero_slider button.slick-next.slick-arrow {
        right: 13px;
    }

    .unser-section .elementor-image-box-wrapper{
        display: flex;
        gap: 0 20px;
    }

    .our_project {
        grid-template-columns: 1fr;
        gap: 44px 20px;
    }

    /* offer pages css START */
.portfolio_offer_page {
    gap: 20px;
    grid-template-columns: 1fr;
}

.portfolio_offer_page .grid-item-on-hover .grid-text h3 {
    font-size: 16px;
    line-height: 30px;
}

.portfolio_offer_page .grid-item-on-hover .grid-text {
    width: 90%;
    height: 90%;
}
/* offer pages css END */

.product_details_slider .slider_wrapper img {
    max-height: 535px;
    min-height: 535px;
}

.product_details_slider .slider_wrapper .slick-arrow {
    width: 28px;
    height: 38px;
}

.single-portfolio .fancybox-is-open .fancybox-stage {
    width: 95%;
    margin: 0 auto;
}

.single-portfolio .fancybox-navigation button.fancybox-button {
    top: 50%;
    transform: translateY(-50%);
}

}


@media (max-width: 425px) {

    /* .our_project .our_pro_img a img {
        max-height: 250px;
        min-height: 250px;
    } */

    .our_project .our_pro_img {
        height: 280px;
    }

    .product_details_slider .slider_wrapper img {
        max-height: 435px;
        min-height: 435px;
    }

    .navigation_portfolio {
        grid-template-columns: 1fr;
        /* flex-wrap: wrap; */
    }

    .navigation_portfolio .previous_project, .navigation_portfolio .next_project {
        text-align: center;
        /* width: 100%; */
    }

    .portfolio_offer_page .grid-item img {
        height: 270px;
    }
}


