/* SCHWAN technical SEO 20261031-1: preserve existing heading appearance after semantic retagging. */


.h2.schwan-seo-from-h1,
.h1.schwan-seo-from-h2,
.h1.schwan-seo-from-h3{
    margin-bottom: 0.5rem;
    line-height: 1.2;
}
.h2.schwan-seo-from-h1{
    font-size: 2.5rem !important;
}
.h1.schwan-seo-from-h2{
    font-size: 2rem;
}
.h1.schwan-seo-from-h3{
    font-size: 1.75rem;
}
h1.schwan-seo-from-h3 .text-muted{
    font-weight: 400;
}
h2.schwan-seo-from-h1,
h1.schwan-seo-from-h2,
h1.schwan-seo-from-h3{
    margin: 0;
    padding: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.spiral-inversed_text.spiral_section_tc header h1.schwan-seo-from-h3{
    color: #fff;
}
.spiral_section_tc header h1.schwan-seo-from-h3{
    
    font-weight: 300;
    display: inline-block;
    color: #272d32;
    font-size: 40px;
    line-height: 56px;
    position: relative;
    padding-bottom: 38px;
}
.spiral_section_tc header h1.schwan-seo-from-h3:after{
    content:"";
    width: 70px;
    height: 1px;
    background: #d3d7da;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -35px;
}
.spiral_section_tc.column_title_left header h1.schwan-seo-from-h3{
    display: block;
    text-align: left;
}
.spiral_section_tc.column_title_left header h1.schwan-seo-from-h3:after{
    left: 0;
    margin-left: 0;
}
.spiral_section_tc.smaller header h1.schwan-seo-from-h3{
    font-size: 24px;
    line-height: 29px;
    border: 0;
    font-weight: 400;
}
.spiral_section_tc.smaller header h1.schwan-seo-from-h3:before{
    display: none;
}
.spiral_section_tc.smaller header h1.schwan-seo-from-h3:after{
    display: none;
}
.spiral_section_tc.smaller_headline header h1.schwan-seo-from-h3{
    font-size: 30px;
    line-height: 20px;
    color: #fff;
    border-left: solid 1px #fff;
    border-right: solid 1px #fff;
    padding: 0 15px 0 15px;
}
.spiral_section_tc.smaller_headline header h1.schwan-seo-from-h3:before{
    content:"";
    border-bottom: 1px solid #fff;
    width: 20px;
    height: 0;
    position: absolute;
    bottom: 50%;
    left:-20px;
}
.spiral_section_tc.smaller_headline header h1.schwan-seo-from-h3:after{
    content:"";
    border-bottom: 1px solid #fff;
    width: 20px;
    height: 0;
    position: absolute;
    bottom: 50%;
    right:-20px;
}
.spiral_section_tc.section_title_left header h1.schwan-seo-from-h3{
    display: block;
    text-align: left;
    padding-bottom: 10px;
}
h2.schwan-seo-from-h1,
h1.schwan-seo-from-h2,
h1.schwan-seo-from-h3{
    font-family: "bebas_neue_regularregular";
    font-weight: 400;
    color: #272d32;
    margin-bottom: 10px;
    margin-top: 10px;
    letter-spacing: 0;
    text-rendering: optimizeLegibility;
    line-height: 1.1;
}
h2.schwan-seo-from-h1{
    font-size: 40px;
}
h1.schwan-seo-from-h2{
    font-size: 30px;
}
h1.schwan-seo-from-h3{
    font-size: 24px;
}
.spiral-inversed_text h2.schwan-seo-from-h1,
.spiral-inversed_text h1.schwan-seo-from-h2,
.spiral-inversed_text h1.schwan-seo-from-h3{
    color: #fff;
}
.spiral_section_tc.spiral-inversed_text_header header h1.schwan-seo-from-h3{
    color: #fff!important;
}
.menu_sidebar h1.schwan-seo-from-h3.sidebar-widget-heading,
.menu_sidebar .sidebar-widget-heading h1.schwan-seo-from-h3{
    width: 100%;
    text-align: left;
    padding: 13px 0 0 0;
    font-family: "Open Sans", sans-serif;
    color: #555;
    font-size: 14px;
    line-height: 14px;
    font-weight: 700;
    text-transform: capitalize;
}
#headline_breadcrumbs_bar h1.schwan-seo-from-h2{
    font-size: 50px;
    color: #fff;
    line-height: 50px;
    margin-bottom: 0;
    font-family: "Open Sans" ,sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    text-align: left;
    text-shadow: 0 0 1px #000;
    margin-top: 180px;
}
#headline_breadcrumbs_bar.hadline_no_image .headline_title h1.schwan-seo-from-h2{
    font-family: "bebas_neue_regularregular";
    color:  #ffffff;
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    text-align: left;
    margin: 0;
    text-transform: none;
    text-shadow: none;
}
.post_main .post_main_inner_wrapper .post_content_inner > h1.schwan-seo-from-h2{
    display: block;
    line-height: 30px;
    margin-bottom: 7px;
    padding-left: 0;
    margin-top: -7px;
}
.post_main .post_main_inner_wrapper .post_content_inner > h1.schwan-seo-from-h2 a{
    font-family: "bebas_neue_regularregular";
    color: #272d32;
    font-size: 30px;
    font-weight: 400;
    line-height: 40px;
}
.post_main .post_main_inner_wrapper .post_content_inner > h1.schwan-seo-from-h2:hover a{
    color: #ca171f;
}
.timeline_post h1.schwan-seo-from-h2{
    margin-bottom: 0;
    line-height: 10px;
    margin-top: -9px;
}
.timeline_post h1.schwan-seo-from-h2 a{
    font-family: "bebas_neue_regularregular";
    color:  #272d32;
    font-size: 30px;
    font-weight: 400;
    line-height: 40px;
    text-align: left;
}
.timeline_post h1.schwan-seo-from-h2:hover a{
    color: #ca171f;
}
.sticky .post_main .post_main_inner_wrapper h1.schwan-seo-from-h2 a{
    color: #fff;
}
.sticky .post_main .post_main_inner_wrapper h1.schwan-seo-from-h2 a:hover{
    color: #272D32;
}
h1.schwan-seo-from-h3.sidebar-widget-heading,
.sidebar-widget-heading h1.schwan-seo-from-h3{
    font-family: "bebas_neue_regularregular";
    color:  #272d32;
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    position: relative;
    margin-bottom: 0;
    display: block;
    text-align: left;
    padding-bottom: 0;
}
.sidebar-widget-heading h1.schwan-seo-from-h3:after{
    display: none;
}
h1.schwan-seo-from-h3.footer-widget-heading{
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 17px;
}
.rpwe-block h1.schwan-seo-from-h3{
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    text-align: left;
    margin: 0;
}
.rpwe-block h1.schwan-seo-from-h3 a{
    font-size: 14px;
    color:  #272d32;
    padding: 0;
    margin-left: 15px;
}
.spiral_knob_wrapper h1.schwan-seo-from-h3{
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #777;
    margin-bottom: 0;
    margin-top: -20px;
}
.spiral_service_box_default h1.schwan-seo-from-h3{
    
    color:  #272d32;
    font-size: 24px;
    font-weight: 700;
    line-height: 40px;
    -webkit-transition:all 250ms ease-in-out;
    -moz-transition:all 250ms ease-in-out;
    -ms-transition:all 250ms ease-in-out;
    -o-transition:all 250ms ease-in-out;
    transition:all 250ms ease-in-out;
}
.spiral_service_box_icon_aside h1.schwan-seo-from-h3{
    font-family: "Open Sans", sans-serif;
    color:  #ca171f;
    font-size: 18px;
    font-weight: 700;
    line-height: 15px;
    margin: 0;
}
.spiral-inversed_text .spiral_service_box_icon_aside h1.schwan-seo-from-h3{
    color: #fff;
}
.spiral_service_box_unboxed_round h1.schwan-seo-from-h3{
    font-family: "bebas_neue_regularregular";
    color:  #8c9494;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 11px;
    margin-top: 23px;
    -webkit-transition: all 250ms ease-in-out;
    -moz-transition: all 250ms ease-in-out;
    -ms-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
}
.spiral_service_box_unboxed_round a:hover h1.schwan-seo-from-h3,
.spiral_service_box_unboxed_round a.spiral_icon_boxed:hover + a > h1.schwan-seo-from-h3{
    color: #272d32;
}
.spiral_service_box_boxed_square h1.schwan-seo-from-h3{
    font-family: "Open Sans", sans-serif;
    color:  #272d32;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    margin-top: 21px;
    -webkit-transition: all 250ms ease-in-out;
    -moz-transition: all 250ms ease-in-out;
    -ms-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
}
.spiral_service_box_boxed_square a h1.schwan-seo-from-h3:hover{
    color: #ca171f;
    cursor: pointer;
}
.spiral_service_box_boxed:hover h1.schwan-seo-from-h3{
    color: #fff!important;
}
.spiral_service_box_boxed.spiral-inversed_text h1.schwan-seo-from-h3{
    color: #fff;
}
.spiral_service_box_boxed h1.schwan-seo-from-h3{
    font-family: "Open Sans", sans-serif;
    color:  #272d32;
    font-size: 14px;
    font-weight: 300;
    text-align: center;
}
.spiral_metro_box .spiral_metro_box_header > h1.schwan-seo-from-h3{
    padding-left: 20px;
}
.spiral_metro_box h1.schwan-seo-from-h3{
    font-size: 20px;
    margin-bottom: 0;
    display: inline-block;
    color: #fff;
    font-family: "Open Sans", sans-serif;
    font-weight: 300;
    text-align: left;
    vertical-align: top;
    width: 170px;
    line-height: 23px;
    padding-top: 15px;
}
.spiral_metro_box.boxed:hover .spiral_metro_box_header h1.schwan-seo-from-h3{
    color: #fff;
}
.spiral_metro_box.boxed .spiral_metro_box_header h1.schwan-seo-from-h3{
    color: #3c414c;
}
footer .rpwe-block h1.schwan-seo-from-h3{
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    text-align: left;
    word-break: break-all;
    word-wrap: break-word;
    width: 65%;
    margin-left: 20px;
    vertical-align: top;
    margin-top: 0;
    float: right;
}
footer .rpwe-block h1.schwan-seo-from-h3 a{
    font-size: 14px;
    color:  #fff;
    line-height: 18px;
}
@media only screen and (min-width: 480px) and (max-width: 767px){
.spiral_metro_box h1.schwan-seo-from-h3{
        width: auto;
    }
.timeline_post h1.schwan-seo-from-h2{
        margin-top: 5px;
    }
}
@media only screen and (max-width: 479px){
.spiral_metro_box h1.schwan-seo-from-h3{
        width: auto;
    }
.timeline_post h1.schwan-seo-from-h2{
        margin-top: 5px;
    }
}
h2.schwan-seo-from-h1,
.h2.schwan-seo-from-h1,
h1.schwan-seo-from-h2,
.h1.schwan-seo-from-h2,
h1.schwan-seo-from-h3,
h1.schwan-seo-from-h3,
h2.schwan-seo-from-h1 *,
.h2.schwan-seo-from-h1 *,
h1.schwan-seo-from-h2 *,
.h1.schwan-seo-from-h2 *,
h1.schwan-seo-from-h3 *,
h1.schwan-seo-from-h3 *{
    font-weight: 400 !important;
}

.schwan-image-placeholder{aspect-ratio:4/3;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#f3f4f5;color:#6b7280;font:400 13px/1.5 'Open Sans',Arial,sans-serif;text-align:center;box-sizing:border-box}.schwan-image-placeholder svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.5}

/* Match the existing mobile JS position before first paint. */
@media(max-width:769px){#headline_breadcrumbs_bar.with_image{position:static}}
/* The contact header already settles at660px; reserve that desktop flow space. */
@media(min-width:770px){body[data-schwan-page="ansprechpartner"] #headline_breadcrumbs_bar.with_image + .spiral_section_tc,body[data-schwan-page="contacts"] #headline_breadcrumbs_bar.with_image + .spiral_section_tc{margin-top:660px}}
/* Definite existing full card width lets the verified photo ratio reserve its height. */
body[data-schwan-page="ansprechpartner"] .spiral_team_member .spiral_overlayed > a.spiral_team_member_link,body[data-schwan-page="contacts"] .spiral_team_member .spiral_overlayed > a.spiral_team_member_link{width:100%}
