/* ===========================================
----------------BIG SCREENS-------------------
============================================== */
@media screen and (min-width: 1746px){
  :root{
    --spacing: 80px;
    --spacing-m: 212px;
    --spacing-l: 345px;
  }
  .schritte_akkordion_image_wrapper>div>div{
    padding-left: 132px;
  }
  .wpb_image_grid_ul.slick-slider .slick-list::before, .wpb_image_grid_ul.slick-slider .slick-list::after, .geschichte_container.slick-slider .slick-list::after, .geschichte_container.slick-slider .slick-list::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 7;
    pointer-events: none;
  }
  .wpb_image_grid_ul.slick-slider .slick-list::before, .wpb_image_grid_ul.slick-slider .slick-list::after{
    width: calc(var(--spacing-m) - 20px);
  }
  .geschichte_container.slick-slider .slick-list::after, .geschichte_container.slick-slider .slick-list::before{
    width: calc(var(--spacing-m) - 12px);
  }
  .wpb_image_grid_ul.slick-slider .slick-list::before, .geschichte_container.slick-slider .slick-list::before{
    left: 0;
    background: transparent linear-gradient(90deg, #ffffff 0%, #ffffff00 100%) 0% 0% no-repeat padding-box;
  }
  .wpb_image_grid_ul.slick-slider .slick-list::after, .geschichte_container.slick-slider .slick-list::after{
    right: 0;
    background: transparent linear-gradient(270deg, #ffffff 0%, #ffffff00 100%) 0% 0% no-repeat padding-box;
  }
  .kontakt_column_content.column_content:last-child>.vc_column-inner>div{
    padding-left: 140px;
  }
  .no_content_wrapper{
    grid-gap: 120px;
  }
}
/* ===========================================
---------------SMALL SCREENS------------------
============================================== */
/* only small screen */
@media screen  and (min-width: 1200px) and (max-width: 1480px){
  /* fonts */
  h1, .h1 *{
    font-size: 3rem;
  }
  h2, .h2 *{
    font-size: 2.5rem;
  }
  h3, .title_m *, .h3 *{
    font-size: 1.75rem;
  }
  h4, .title_s *, .h4 *, h5, .h5 *, .vc_tta-panel-title a span.vc_tta-title-text, .zweischalenmauerwerk_akkordion .akk_num{
    font-size: 1.375rem;
  }
  /* general */
  :root{
    --offset: 80px;
  }
  .site-main {
    padding-top: 13px;
  }
  /* header */
  .header_menu li.menu-item-has-children .sub-menu{
    padding-top: 23px;
    padding-bottom: 24px;
  }
  /* home */
  .home_hero_content .home_hero_arrow {
    transform: translate(-50%, 100%);
  }
  .home_hero_content .home_hero_arrow a {
    padding: 14px;
  }
  .aktuelles_grid_item a{
    grid-gap: var(--offset-m);
  }
  .leistungen_item .title_s>div {
    padding: 20px;
  }
  .leistungen_item .title_s>div p{
    font-size: 1.25rem;
  }
  /* footer */
  .footer_home_mid{
    padding: calc(var(--offset)* 2.2) 0 calc(var(--offset)* 1.8);
  }
  .footer_video_home{
    width: 715px;
    -webkit-mask-size: 715px;
    left: 54.5%;
    -webkit-mask-position: 0 30px;
  }
  .footer_inner.secondary{
    padding-bottom: calc(var(--offset)* 1.8);
  }
  /* uber uns */
  .geschichte_text_wrapper{
    padding: 24px;
  }
  .geschichte_image_wrapper .h2{
    left: 24px;
    top: 40px;
  }
  .count_number p{
    font-size: 4rem;
  }
  .jobs_item a{
    padding-bottom: var(--offset-m);
  }
  .aktuelles_first_item_row{
    padding-top: calc(var(--offset)* .9);
  }
  .impressum_content>.vc_row:not(:last-child){
    padding-bottom: var(--offset-m);
  }
}
/* small screen - tablet */
@media screen  and (min-width: 768px) and (max-width: 1480px){
  /* header */
  .site_header{
    padding-top: 9.5px;
    padding-bottom: 9.5px;
  }
  .header_menu ul.menu{
    gap: 24px;
  }
  .site_logo img{
    height: 74px;
  }
  .teaser_seiten_item>.vc_col-sm-1{
    width: calc(60px + 56px);
  }
  .home_hero_content .wpb_text_column.white_text, .image_hero .wpb_text_column {
    max-width: 505px;
  }
}
@media screen  and (min-width: 1200px) and (max-width: 1300px){
  .header_menu ul.menu{
    gap: 16px;
  }
}
/* from small screen */
@media screen and (max-width: 1480px){
  .zweischalenmauerwerk_images>div>div{
    padding-right: 0;
  }

}
/* ===========================================
-------------------TABLETS--------------------
============================================== */
/*only tablet*/
@media screen  and (min-width: 768px) and (max-width: 1200px){
  /* font */
  h1, .h1 *{
    font-size: 2.5rem;
  }
  h2, .h2 *{
    font-size: 2rem;
  }
  h3, .title_m *, .h3 *{
    font-size: 1.5rem;
  }
  h4, .title_s *, .h4 *, h5, .h5 *, .vc_tta-panel-title a span.vc_tta-title-text, .zweischalenmauerwerk_akkordion .akk_num{
    font-size: 1.25rem;
  }
  :root{
    --spacing: 4.5vw;
    --spacing-m: 4.5vw;
    --spacing-l: 14vw;
  }
  /* header */
  .site-main {
    padding-top: 56px;
  }
  /* footer */
  .footer_video_home{
    width: 600px;
    -webkit-mask-size: 600px;
  }
  .footer_inner.secondary, .footer_inner_wrapper{
    padding-top: var(--offset-x);
  }
  /* home */
  .home_hero_content>div>div>div, .image_hero>div>div>div{
    padding: var(--spacing-m);
  }
  .aktuelles_grid_item a{
    grid-gap: 24px;
  }
  .leistungen_item .title_s>div p{
    font-size: 1.125rem;
  }
  .teaser_service_row .wpb_column .vc_column-inner>div{
    padding: 32px 40px;
  }
  .teaser_service_row .wpb_single_image {
    margin-bottom: 32px;
  }
  .referenzen_preview_grid {
    grid-gap: var(--offset-m);
  }
  .referenzen_inner {
    padding: var(--offset-m) 13px 0;
  }
  .referenzen_grid {
    margin-left: -13px;
    margin-right: -25px;
  }
  .referenzen_item .title_s {
    padding: 18px 0;
  }
  .info_card .vc_row {
    padding: 24px;
  }
  .count_number p{
    font-size: 3.5rem;
  }
  .count_wrapper>div>div>div {
    grid-gap:  var(--offset) var(--offset-m);
  }
  .geschichte_text_wrapper{
    padding: 24px 32px;
  }
  .geschichte_image_wrapper .h2{
    top: 40px;
    left: 32px;
  }
  .team_item .team_inner{
    padding-top: var(--offset-m);
  }
  .team_item {
    width: calc((100% / 3) - 3px);
  }
  .team_grid{
    margin-right: -22px;
  }
  .jobs_item a{
    padding: 24px;
  }
  .benefits_row .vc_row{
    gap: 40px;
    padding: 32px 40px;
  }
  .gallery_item .img_wrp {
    padding: 0 8px;
  }
  .wpb_image_grid_ul.slick-slider .slick-list, .geschichte_container.slick-slider .slick-list{
    padding-inline: calc(var(--spacing-m) - 8px);
  }
  .geschichte_item{
    padding-inline: 8px;
  }
  .team_hint p{
    font-size: .875rem;
  }
  .team_hint::after{
    padding: 12px;
    transform: translate(-110%, 50%);
  }
  .team_hint {
    transform: translate(20px, 80%);
  }
}
/* from tablet */
@media screen and (max-width: 1200px){
  /* font */
  h6, li, p, input[type=submit], .site-content .entry-content .vc_btn3-container:not(.block_btn)>.vc_general, .wp-block-button .wp-block-button__link, .c_button, label, input[type=password]{
    font-size: 1rem;
  }
  .primary-navigation li{
    font-size: 1.125rem;
  }
  :root{
    --offset: 60px;
  }
  .entry-content section.text_hero{
    padding-top: var(--offset-xl);
  }
  .aktuelles_first_item_row{
    padding: 0 0 var(--offset-x);
  }
  /* header */
  .header_menu, .teaser_seiten_item .wpb_single_image, .home_hero_content .home_hero_arrow{
    display: none;
  }
  .header_burger, .sub-menu-toggle{
    display: block;
  }
  .primary-navigation .menu-item-has-children{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .sub-menu-toggle{
    order: 2;
    background: url(/wp-content/uploads/2024/10/arrow_down.svg) no-repeat center/contain;
    border: 0;
    padding: 20px;
    transition: transform .2s ease;
  }
  .sub-menu-toggle.is_active{
    transform: rotate(-180deg);
  }
  .primary-navigation .menu-item-has-children>a{
    order: 1;
  }
  .primary-navigation .menu-item-has-children .sub-menu{
    width: 100%;
    order: 3;
    display: none;
  }
  #site-navigation.is_shown{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .primary-navigation .menu>li.kontakt{
    margin-top: var(--offset-xl);
  }
  .back_btn{
    transform: translateY(-100%);
    top: 0;
    left: -10px;
  }
  /* home */
  .small_section .content_col.gap-40>div>div {
    grid-gap: 24px;
  }
  .teaser_seiten>.vc_row:first-child{
    padding-top: var(--offset-x);
  }
  .teaser_seiten>.vc_row:last-child, .count_wrapper{
    padding-bottom: var(--offset-x);
  }
  .vc_section>.vc_row + .vc_row, body.single-post .vc_section>.vc_row + .vc_row{
    padding-top: var(--offset-l);
  }
  .teaser {
    padding: var(--offset-x) 0;
  }
  .teaser .vc_btn3-container {
    padding-top: 16px;
  }
  .home_hero_content .wpb_text_column.white_text{
    padding-bottom: 0;
  }
  .vc_section>.vc_row.column_content_row + .vc_row.column_content_row {
    padding-top: var(--offset-x);
  }
  .impressum_content>.vc_row:not(:last-child) {
    padding-bottom: 0;
  }
  .site-content .entry-content .aktuelles_first_item_row .vc_btn3-container.link_with_icon{
    display: flex;
  }
}
/*only big tablet*/
@media screen  and (min-width: 961px) and (max-width: 1200px){
  .leistungen_item .title_s>div{
    padding: 16px 16px 14px;
  }

  .leistungen_item>div>div>div{
    padding-inline: 18px;
  }
  .leistungen_row>div>div>div{
    grid-gap: 32px;
  }
}
/*only small tablet*/
@media screen  and (min-width: 768px) and (max-width: 960px){
  .column_content:last-child>.vc_column-inner>div, .aktuelles_first_item_content {
    padding: 24px 0 24px 22px;
  }
  .leistungen_row>div>div>div, .benefits_row>div>div>div {
    grid-template-columns: repeat(2, 1fr);
  }
  .aktuelles_grid{
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
  .schritte_akkordion>div{
    width: 100%;
  }
  .jobs_item a .title_m p{
    font-size: 1.25rem;
  }
  .kontakt_column_content.gap-32 h1{
    padding-bottom: 16px;
  }
}
/* from big tablet */
@media screen and (max-width: 960px){
  .schritte_akkordion_images{
    display: none;
  }
  .schritte_akkordion .vc_tta-panel-body .wpb_single_image{
    display: block;
  }
}
/* ===========================================
-------------------MOBILE---------------------
============================================== */
/* mobile */
@media screen and (max-width: 767px){
  /* fonts */
  h1, .h1 *{
    font-size: 2rem;
  }
  h2, .h2 *{
    font-size: 1.5rem;
  }
  h3, .title_m *, .h3 *{
    font-size: 1.25rem;
  }
  .vc_tta-panel-title a span.vc_tta-title-text, .zweischalenmauerwerk_akkordion .akk_num{
    font-size: 1.125rem;
  }
  h4, .title_s *, .h4 *, h5, .h5 *, .jobs_inner .title_m p, .benefits_row .title_m *{
    font-size: 1rem
  }
  .description_text p, .description_text li, .jobs_cat_text p, .aktuelles_first_item_cat p{
    font-size: .75rem;
  }
  :root{
    --spacing: 16px;
    --spacing-m: 16px;
    --spacing-l: 16px;
  }
  .site_header{
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .header_burger svg{
    width: 40px;
    height: 40px;
  }
  .nav_wrapper{
    padding-inline: var(--offset-x);
  }
  .site_logo img{
    height: 64px;
  }
  .site-main{
    padding-top: 36px;
  }
  .teaser_seiten_item>.vc_col-sm-1{
    width: calc(30px + 24px);
  }
  .teaser_seiten_item>.vc_col-sm-7{
    width: calc(100% - 30px - 24px);
  }
  .teaser_seiten_item{
    display: flex;
  }
  .column_content_image:first-child .vc_column-inner, .aktuelles_first_item_img, section>.vc_row>.vc_col-sm-6:first-child>.vc_column-inner>div, section.referenzen_content_section .vc_row .vc_row>.vc_col-sm-6:first-child>.vc_column-inner>div{
    margin-right: 0;
  }
  .column_content:last-child>.vc_column-inner>div, .aktuelles_first_item_content{
    padding: 48px 0 0 0;
  }
  .site-content .entry-content .vc_btn3-container.link_with_icon>.vc_general{
    padding: 0 0 0 3px;
  }
  .leistungen_row>div>div>div{
    grid-template-columns: 1fr;
    grid-gap: 16px;
  }
  .leistungen_item .wpb_single_image{
    position: static;
    width: 80px;
    min-width: 80px;
    height: 80px;
  }
  .leistungen_item>div>div>div{
    aspect-ratio: auto;
    padding: 0;
    align-items: center;
  }
  .leistungen_item .title_s>div{
    padding: 0 0 0 24px;
  }
  .leistungen_item .title_s{
    min-height: auto!important;
  }
  .leistungen_item .wpb_single_image img{
    border-radius: 4px;
  }
  .vc_section>.vc_row + .vc_row.leistungen_row{
    padding-top: 24px;
  }
  .aktuelles_grid{
    grid-template-columns: 1fr;
    grid-gap: 16px;
  }
  .aktuelles_grid_item_text{
    display: none;
  }
  .aktuelles_grid_item a{
    padding: 12px;
    border-radius: 8px;
    grid-template-columns: 80px 1fr;
    grid-gap: 24px;
  }
  .content_col.gap-40>div>div{
    grid-gap: 24px;
  }
  .vc_section>.vc_row:not(.static).is_shown, .animation_el.is_shown, .vc_section.vc_section-has-fill.is_shown, .header_inner.is_shown, .site_footer.is_shown{
    transition-delay: 0.1s;
  }
  .aktuelles_grid_item .description_text p, .aktuelles_first_item_cat p{
    padding-bottom: 4px;
  }
  .footer_inner_wrapper{
    padding-top: var(--offset-l);
  }
  .footer_home_bot{
    flex-direction: column-reverse;
    align-items: flex-start;
    padding-bottom: 20px;
    gap: 24px;
  }
  .footer_home_bot ul{
    gap: 16px;
  }
  .footer_home_mid{
    padding: 24px 0 280px;
  }
  .footer_home_mid .wp-block-buttons{
    justify-content: flex-start;
  }
  .footer_video_home{
    left: 50%;
    width: 336px;
    -webkit-mask-size: 336px;
    -webkit-mask-position: 0 50%;
    aspect-ratio: 1;
    height: auto;
    top: auto;
    bottom: 46px;
  }
  .column_content_image:last-child .vc_column-inner, section>.vc_row>.vc_col-sm-6:last-child>.vc_column-inner>div,  section.referenzen_content_section .vc_row .vc_row>.vc_col-sm-6:last-child>.vc_column-inner>div{
    margin-left: 0;
  }
  .vc_tta.vc_general .vc_tta-panel .vc_tta-panel-body>div {
    padding: 16px 0 0 0;
  }
  .zweischalenmauerwerk_akkordion.vc_tta.vc_general .vc_tta-panel-heading>.vc_tta-panel-title>a:has(.akk_num){
    grid-template-columns: 24px 1fr;
    grid-gap: 16px;
  }
  .vc_tta.vc_general .vc_tta-panel-heading>.vc_tta-panel-title>a:has(.akk_num){
    grid-template-columns: 20px 1fr;
    grid-gap: 16px;
  }
  .zweischalenmauerwerk_images {
    margin-bottom: 40px;
  }
  .vc_tta-panels{
    grid-gap: 24px;
  }
  .footer_inner_wrapper_secondary{
    grid-template-columns: 1fr;
  }
  .footer_inner.secondary{
    padding-bottom: 20px;
    padding-top: var(--offset-m);
  }
  .footer_inner.secondary .footer_inner_box{
    grid-gap:24px;
  }
  .footer_inner_box ul{
    display: flex;
    gap: 24px;
    padding-top: 24px;
  }
  .footer_inner_wrapper_secondary{
    grid-gap: var(--offset-x);
  }
  .footer_secondary_bot{
    padding: 16px var(--spacing);
    text-align: left;
  }
  .teaser_kontakt>.vc_col-sm-4, .teaser_kontakt>.vc_col-sm-8{
    width: 100%;
  }
  .teaser_kontakt>.vc_col-sm-8>div>div{
    padding: 48px 0 0;
  }
  .teaser_service_row .wpb_column .vc_column-inner>div{
    padding: 16px 24px 24px;
  }
  .teaser_service_row .wpb_single_image{
    margin-bottom: 24px;
  }
  .teaser_service_row .wpb_single_image img{
    max-width: 48px!important;
  }
  .teaser_service_row>div + div{
    margin-top: 16px;
  }
  .column_content:first-child>.vc_column-inner>div{
    padding: 48px 0 0;
  }
  .column_content:first-child{
    order: 2;
  }
  .referenzen_preview_grid, .benefits_row>div>div>div{
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 16px;
  }
  .referenzen_preview_grid{
    padding: 0 0 16px;
  }
  .referenzen_preview_item .grid_img_wrapper, .referenzen_inner .grid_img_wrapper, .gallery_item a, .referenzen_single_image img,
  .geschichte_inner, .team_image, .jobs_item a, .benefits_row .vc_row{
    border-radius: 8px;
  }
  .referenzen_preview_item:nth-child(n+5){
    display: none;
  }
  .referenzen_item {
    width: calc(50% - 2px);
  }
  .referenzen_inner {
    padding: var(--offset-m) 8px 0;
  }
  .referenzen_grid {
    margin-left: -8px;
    margin-right: -12px;
  }
  .referenzen_item.is_big {
    width: calc(100% - 4px);
  }
  .referenzen_item .title_s{
    padding: 16px 0 0;
  }
  .load_more_wrapper {
    padding-top: var(--offset-m);
  }
  .gallery_item .img_wrp {
    padding: 0 4px;
  }
  .geschichte_inner {
    box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.10);
  }
  .wpb_image_grid_ul.slick-slider .slick-list, .geschichte_container.slick-slider .slick-list{
    padding-inline: calc(var(--spacing-m) - 4px);
  }
  .geschichte_item{
    padding: 0 4px var(--offset-l);
  }
  .referenzen_content_section .wpb_image_grid .wpb_image_grid_ul.slick-slider{
    padding-top: 0;
  }
  .entry-content section.referenzen_image_hero{
    padding-top: 24px;
    padding-bottom: 0;
  }
  .referenzen_content_section .vc_col-sm-6>.vc_column-inner>div{
    max-width: none;
  }
  .referenzen_content_section .vc_col-sm-6:first-child>.vc_column-inner>div, .home_hero_content .wpb_text_column.white_text{
    margin-bottom: 24px;
  }
  .content_col.gap-45>div>div, .content_col.gap-32>div>div,   .content_col.gap-56>div>div{
    grid-gap: 24px;
  }
  .info_card .vc_row{
    padding: 24px 16px;
    border-radius: 8px;
  }
  .wpb_text_column ul li {
    grid-template-columns: 20px 1fr;
    grid-gap: 12px;
  }
  .wpb_text_column ul li::before {
    padding: 10px;
  }
  .site-content .entry-content .vc_btn3-container.pdf>.vc_general {
    gap: 16px;
    padding: 4px 14px 4px 4px;
  }
  .geschichte_text_wrapper {
    padding: 16px;
  }
  .geschichte_image_wrapper .h2{
    left: 16px;
    top: 24px;
  }
  .count_wrapper>div>div>div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px 16px;
  }
  .count_number p{
    font-size: 3rem;
  }
  .team_grid, .jobs_grid{
    margin-left: -8px;
    margin-right: -12px;
  }
  .team_item, .jobs_item{
    width: calc(50% - 2px);
  }
  .team_item .team_inner {
    padding: var(--offset-m) 8px 0;
  }
  .team_image_wrapper{
    margin-bottom: 16px;
  }
  .team_social a {
    padding: 0px 4px;
  }
  .entry-content section.text_header {
    padding-bottom: 20px;
  }
  .jobs_item a{
    padding: 16px;
    box-shadow: 4px 4px 10px 0px rgba(0, 0, 0, 0.10);
  }
  .jobs_inner{
    padding: 8px;
  }
  .benefits_row .vc_row img{
    width: 48px !important;
    height: 48px !important;
  }
  .benefits_row .vc_row {
    gap: 24px;
    padding: 16px 16px 24px;
  }
  .aktuelles_first_item_row{
    flex-direction: column;
  }
  .aktuelles_first_item_row>div{
    width: 100%;
  }
  .kontakt_column_content.column_content:last-child>.vc_column-inner>div{
    padding-left: 0;
  }
  .kontakt_column_content.gap-32 h1 {
    padding-bottom: 16px;
  }
  .entry-content section.mobile_standart_hero{
    padding-top: var(--offset);
  }
  .no_content_wrapper{
    grid-template-columns: 1fr;
    grid-gap: 48px;
  }
  .no_content_wrapper h1{
    margin-bottom: 24px;
  }
  .home_hero_content>div>div>div, .image_hero>div>div>div{
    padding: 40px 18px;
  }
  .home_hero_content>div>div>div, .image_hero{
    aspect-ratio: 2 / 3;
  }
  @-webkit-keyframes team_out {
   0%   {-webkit-transform: translate( 0, 14px);transform: translate( 0, 14px);}
    100% {-webkit-transform: translate(14px, 0);transform: translate(14px, 0);}
  }
  @keyframes team_out {
   0%   {-webkit-transform: translate( 0, 14px);transform: translate( 0, 14px);}
    100% {-webkit-transform: translate(14px, 0);transform: translate(14px, 0);}
  }
  .team_hint p{
    font-size: .625rem;
  }
  .team_hint::after{
    padding: 8px;
    transform: translate(-110%, 50%);
  }
  .team_hint {
    transform: translate(5px, 140%);
  }
}
/* small mobile */
@media screen and (max-width: 370px){
  .footer_video_home{
    width: 280px;
    -webkit-mask-size: 280px;
  }
}
