@import url('https://fonts.googleapis.com/css?family=Orbitron:100,200,300,400,400i,500,600,700,800');
@import url('https://fonts.googleapis.com/css?family=Poppins:100,200,300,400,400i,500,600,700,800');

html,
body {
    height: 100%;
    width: 100%;
    font-family: 'Poppins', sans-serif;
    color: #333333;
    background-color: white;
    scroll-behavior: smooth;
}

.nav_pos {
    position: relative;
    z-index: 9999;
}

.h2-class h2,
.h2-class h2 span,
.h1-as-h2-class h1 {
    font-family: 'Orbitron', sans-serif;
    font-size: 2rem;
    margin-bottom: 1rem;
}

.h4-class h4 {
    font-weight: 700;
    font-size: 22px;
}

.h5-class h5 {
    font-weight: 700;
    font-size: 18px;
}

.white_text h1,
.white_text h2,
.white_text h3,
.white_text h4,
.white_text h5,
.white_text p,
.white_text p a,
.white_text ul * {
    color: #FFF !important;
}

.pt0 {
    padding-top: 0 !important
}

.pt10 {
    padding-top: 10px !important
}

.pt20 {
    padding-top: 20px !important
}

.pt30 {
    padding-top: 30px !important
}

.pt40 {
    padding-top: 40px !important
}

.pt50 {
    padding-top: 50px !important
}

.pb0 {
    padding-bottom: 0 !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pb30 {
    padding-bottom: 30px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pb50 {
    padding-bottom: 50px !important
}

.pt70 {
    padding-top: 70px !important;
}

.pb70 {
    padding-bottom: 70px !important;
}

.mt0 {
    margin-top: 0 !important
}

.mt10 {
    margin-top: 10px !important
}

.mt20 {
    margin-top: 20px !important
}

.mt30 {
    margin-top: 30px !important
}

.mt40 {
    margin-top: 40px !important
}

.mt50 {
    margin-top: 50px !important
}

.mtform0 div.wpforms-container-full,
.mb0 {
    margin-bottom: 0 !important
}

.mb1rem {
    margin-bottom: 1rem !important;
}

.mb10 {
    margin-bottom: 10px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.dn_a415 {
    display: none;
}

.dn_b415 {
    display: inline;
}

/* header*/

.top {
    background-image: url(images/index_top_back.png);
    background-size: cover;
    background-position: center;
    padding-top: .5%;
}

.top-link {
    padding: 5%;
    font-size: 70%;
    color: #333333;
    transition: all .2s ease-in-out;
}

.top-link:hover {
    color: #878786;
    text-decoration: overline;
}

.top-logo {
    width: 45%;
    transition: all .2s ease-in-out;
}

.top-logo:hover {
    opacity: .5;
}

.nav-con {
    background-image: url(images/back_nav.png);
    background-size: cover;
    background-position: bottom;
    padding-top: 10px;
    padding-bottom: .5%;
}

.navi {
    padding-right: 5%;
    padding-left: 1%;
    font-size: 80%;
    color: #333333;
    transition: all .2s ease-in-out;
}

.navi:hover {
    color: #878786;
    text-decoration: overline;
}

.nav-con2 {
    padding-top: 1%;
}

.activ {
    color: #0055A4;
    text-decoration: underline;
}

/* navigation_switch*/
.mobile {
    background-image: none;
    background-color: white;
    margin-top: 1%;
    display: none;
}

.drop {
    padding-bottom: 3%;
}

.toggle {
    width: 5%;
    cursor: pointer;
    transition: all .2s ease-in-out;
}

.toggle:hover {
    opacity: .5;
}

.navi_mob {
    font-size: 80%;
    color: #333333;
    transition: all .2s ease-in-out;
}

.navi_mob:hover {
    color: #878786;
    text-decoration: none;
}

.activ_mob {
    color: #878786;
    text-decoration: none;
}

.navi-line {
    color: #333333;
    background-color: #333333;
    height: .5px;
    border: none;

}

#drop {
    display: none;
}

/* fixed_nav_class */
.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    padding-bottom: 1%;
    padding-top: .5%;
    z-index: 99;
    transition: all .2s ease-in-out;
}

/* avoid_sudden_body_jump */
.fixed+.content {
    padding-top: 102px;
}

.fixed2 {
    position: fixed;
    top: 0;
    width: 100%;
    padding-bottom: 1%;
    padding-top: .5%;
    z-index: 99;
    margin-top: 0 !important;
}

/* avoid_sudden_body_jump */
.fixed2+.content {
    padding-top: 102px;
}

/* banner*/

.banner-text {
    font-size: 150%;
    color: white;
    font-family: orbitron;
}

.banner-con {
    padding-top: 25%;
}

/*-----------------------------------------------banner-neu-------------------------------*/

.display_S {
    display: none;
}

.h1,
h1,
body .font3_5rem {
    font-size: 3.5rem;
    font-family: 'Orbitron', sans-serif;
}

.font2rem {
    font-size: 2rem;
    font-family: 'Orbitron', sans-serif;
}

.mt40 {
    margin-top: 40px;
}

.banner_txt p,
.banner_txt h1 {
    font-family: 'Orbitron', sans-serif;
    text-align: center;
    color: rgb(51, 51, 51);
    margin: 25px 0px;
    padding: 25px;
    background-color: rgb(230, 230, 230);
}

.banner_top {
    background-color: #000;
}

.banner_top img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.5;
    background-color: #000;
}

.home_hero_carousel .carousel-control-next,
.home_hero_carousel .carousel-control-prev {
    display: none;
}

.banner_top .carousel-item:first-child img {
    opacity: 0.4;
}

.banner_nav {
    position: relative;
    z-index: 9999;
    width: 15%;
    height: auto;
}

.home_hero_carousel .carousel-item {
    height: 450px;
}

.carousel-caption.custom_carousel_caption {
    text-align: left;
    height: 100%;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    /* max-width: 780px;
    margin: auto;
    padding-right: 15px;
    padding-left: 15px; */
    padding-top: 3%;
    right: 0;
    left: 0;
}

.about_us_banner h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-family: 'Orbitron', sans-serif;
}

.about_us_banner_new .banner_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-family: 'Orbitron', sans-serif !important;
    text-align: center;
}

.about_us_banner_new .banner_text p {
    font-family: 'Orbitron', sans-serif !important;
    font-size: 2rem;
}

.banner_section img {
    max-height: 350px;
    min-height: 280px;
    opacity: 0.2 !important;
}

.banner_section:has(.about_us_banner_new) img {
    opacity: 0.4 !important;
}

.custom_number_boxes {
    gap: 27px;
    display: flex;
    padding: 0 15px;
    justify-content: center;
}

.custom_number_boxes>div {
    padding: 20px;
    width: calc(33% - 15px) !important;
    box-shadow: 0px 0px 5px 0px rgba(0, 85, 164, 0.1);
    flex: unset;
    border-radius: 5px;
    transition: all 0.3s;
    background-color: #FFF;
}

.custom_number_boxes>div:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 85, 164, 0.2);
    cursor: pointer;
}

.custom_number_boxes>div .title {
    display: flex;
    margin-bottom: 10px;
    align-items: center;
}

.custom_number_boxes>div h4 {
    display: inline;
    /* padding-left: 10px; */
    margin-bottom: 0;
}

/* .custom_number_boxes>div p.number {
    background-color: #0055a4;
    display: inline-block;
    padding: 10px 17px;
    border-radius: 50%;
    font-weight: 700;
    color: white;
    margin-bottom: 0;
    text-align: center;
} */

.custom_number_boxes p:last-child {
    margin-bottom: 0;
}

.readmore_btn {
    text-decoration: underline;
    font-weight: 700;
    cursor: pointer;
}

.readmore_btn:hover {
    color: #0055a4;
}


@media only screen and (max-width: 768px) {

    .display_L {
        display: none;
    }

    .display_S {
        display: block;
    }

    .banner_txt {
        width: 100%;
    }

    .banner_txt p {
        font-size: 20px;
        text-align: right;
        padding: 25px;
    }

    .banner_nav {
        width: 35%;
        height: auto;
    }

}

/*-----------------------------------------------banner-neu-------------------------------*/
/*content_start*/

.index_pic_zert {
    width: 50%;
    height: auto;
    margin: 25px;
}

.qualitat_pic_column {
    text-align: right;
    align-self: self-end;
}

.qualitat_pic_zert {
    width: 170px;
}

/*section_01*/
.bieten {
    font-size: 95%;
}

.bieten-bold {
    font-weight: 600;
}

.sec-01 {
    margin-top: 60px;
    margin-bottom: 60px;
    padding-left: 30px;
    padding-right: 30px;
}

.bieten-con {
    padding-top: 1%;
}

.sec-01-02 {
    padding: 0;
}

.division {
    width: 100%;
}

.lei-list-padding {
    /* padding-top: 15%;
    padding-bottom: 15%; */
    min-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.full-width-bg-row {
    min-height: 350px;
    align-content: center;
}

/*section_02*/

.sec-02 {
    background-image: url(images/index_banner_bottom.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.cnc-stuttgart_page .sec-08,
.maschinenbau-stuttgart_page .sec-08 {
    background-image: url(/images/cnc-stuttgart/cnc-stuttgart-img-3.jpg);

}

.sec-08 {
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, .6);
}

.maschinenbau-heilbronn_page .sec-08 {
    background-image: url(/images/maschinenbau-ludwigsburg/maschinenbau-ludwigsburg-img-bg.jpg);
}

.maschinenbau-ludwigsburg_page .sec-08 {
    background-image: url(/images/ludwigsburg-cnc/cnc-ludwigsburg-img.jpg);
}

.ludwigsburg-cnc_page .sec-08 {
    background-image: url(/images/maschinenbau-heilbronn/maschinenbau-interprodukt-heilbronn-img.jpg);
}

.cnc-fraeser-pforzheim_page .sec-08 {
    background-image: url(/images/cnc-fraeser-pforzheim/pforzheim-cnc-fraesen-interprodukt-img.jpg);
}

.maschinenbau-pforzheim_page .sec-08 {
    background-image: url(/images/maschinenbau-pforzheim/maschinenbau-pforzheim-img.jpg);
}

.unsere {
    background-color: rgba(0, 0, 0, .7);
    padding-top: 30%;
    padding-bottom: 3%;
}

.custom_bg_with_opacity {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, .4);
}

.custom_bg_5_opacity {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, .5);
}

.qualität {
    color: white;
    font-family: orbitron;
    font-size: 150%;
}

.sec-02-02 {
    background-image: url(images/index_back1.png);
    background-size: cover;
    background-position: right;
    padding-top: 60px;
    padding-bottom: 60px;
}

.right_side_img img,
.left_side_img img {
    max-width: 100%;
    max-height: 100%;
}

.right_side_img .row,
.left_side_img .row {
    align-items: center;
}

.top-aligned.left_side_img .row,
.top-aligned.right_side_img .row {
    align-items: start;
}

/*content_end*/

/* CTA */

.custom_cta_section {
    background-color: #0055a4;
    color: #fff;
    padding: 60px 0;
}

.secondary_btn {
    color: #fff !important;
    border: 1px solid #fff !important;
    border-radius: 6px;
    padding: 12px 20px !important;
    min-width: 225px !important;
    text-align: center !important;
    font-weight: 600 !important;
    transition: all 0.3s !important;
}

.secondary_btn:hover {
    background-color: #fff !important;
    color: #0055a4 !important;
    text-decoration: none;
}

.primary_btn {
    color: #fff !important;
    border: 1px solid #0055a4 !important;
    border-radius: 6px;
    padding: 12px 20px !important;
    min-width: 225px !important;
    text-align: center !important;
    font-weight: 600 !important;
    transition: all 0.3s !important;
    background-color: #0055a4;
}

.primary_btn:hover {
    background-color: #fff !important;
    color: #0055a4 !important;
    text-decoration: none;
}

.custom_cta_section h2 {
    margin-bottom: 30px;
}

.contact_icon {
    font-size: 20px;
}

.custom_contact_box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.row:has(.custom_contact_box) {
    align-content: stretch;
}

.custom_contact_box {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 15px;
    height: 100%;
    transition: all 0.3s;
}

.custom_contact_box:hover {
    border: 1px solid #a5a5a5;
    box-shadow: 0px 0px 20px 2px rgba(199, 199, 199, 0.5);
}

.page_kontakt .sec-01-02-kontakt,
.main_sec_jobs {
    padding-top: 60px;
    padding-bottom: 60px;
}

.open-maps {
    margin-bottom: -10px;
}

.custom_contact_box li,
.custom_contact_box li a {
    color: #333333;
}

.custom_contact_box li {
    padding: 5px 0;
}

.custom_contact_box li a:hover {
    color: #181818;
    text-decoration: underline;
}

.custom_contact_box li a i {
    padding-right: 10px;
}

.custom_contact_box li.icon-address a {
    display: flex;
}

.customList_style ul {
    list-style: none !important;
    padding: 0;
}

.customList_style ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 5px;
}

.customList_style ul li::before {
    content: "✔";
    display: inline-block;
    text-align: center;
    left: 0;
    top: 0;
    position: absolute;
}

.job_toggler .card-header {
    background-color: #878786;
}

.job_toggler button.btn.btn-link {
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    width: 100%;
    text-align: left;
    white-space: normal;
}

.job_toggler button.btn.btn-link:hover,
.job_toggler .btn-link.focus,
.job_toggler .btn-link:focus {
    text-decoration: none;
    color: white;
}

.job_toggler .card-body {
    padding-top: 40px;
    padding-bottom: 40px;
}

.job_toggler .card,
.card-header:first-child {
    border-radius: 5px;
}

/* .custom_contact_box li::before {
    content: "";
}

.custom_contact_box li.icon-phone::before {
    content: "\F5B6";
    font-family: "Bootstrap-icons";
}
.custom_contact_box li.icon-fax::before {
    content: "\F231";
    font-family: "Bootstrap-icons";
}
.custom_contact_box li.icon-mail::before {
    content: "\F231";
    font-family: "Bootstrap-icons";
} */


/* CTA  end*/

/*footer*/

.foot {
    background-color: #333333;
    ;
    padding-top: 1%;
    padding-bottom: 1%;
}

.foot-link,
.foot-text {
    color: white;
    font-size: 70%;
    transition: all .2s ease-in-out;
}

.bottom-logo {
    transition: all .2s ease-in-out;
}

.foot-link:hover,
.bottom-logo:hover {
    opacity: .5;
    color: white;
    text-decoration: overline;
}

/* über_uns begins here*/

.über_banner-con {
    padding-top: 20%;
}

.ueber-pic1 {
    width: 100%;
}

.sec-01-02-ueber {

    padding: 0;
    overflow: hidden;
    padding-top: 2%;

}

body.about_page .sec-02 {
    background-image: url(/images/ueber_pic_1.jpg);
}

body.leistungen_page .sec-02 {
    background-image: url(/images/lei_pic_1.jpg);
}

body.maschinenbau-stuttgart_page .sec-02 {
    background-image: url(/images/maschinenbau-stuttgart/maschinenbau_stuttgart_bg.jpg);
    background-repeat: no-repeat;
    background-attachment: scroll;
}

/* body.leistungen_page .custom_cad_bg.sec-02 {
    background-image: url(/images/lei_pic_02.jpg);
    background-attachment: scroll;
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, .65);
} */

.niveau {
    font-size: 80%;
    color: white;
}

.niveau-con {
    background-color: #333333;
    padding: 60px;
}

.sec-02-02-ueber {
    background-image: url(images/ueber_pic_2.jpg);
    background-size: 100%;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    margin-top: 60px;
    padding-top: 60px;
}

/* Leistungen begins here*/
.lei-pic-con {
    background-image: url(images/lei_pic.jpg);
    background-size: cover;
    background-position: center;
}

.lei-text {
    font-size: 80%;
}

.lei-head {
    font-weight: bold;
}

.komplett {
    color: #333333;
    font-size: 24px;
}

.sec-01-03-lei {
    margin-top: 5%;
    padding: 0;
    overflow: hidden;
}

.komplett-line {
    color: #999999;
    background-color: #999999;
    height: 3px;
    border: none;
    margin-right: 20.5%;
}

/* Galerie begins here*/

.gal-line {
    color: #999999;
    background-color: #999999;
    height: 3px;
    border: none;
}

.gal-head {
    font-weight: 600;
}

.gal-bild {
    width: 100%;
    margin-bottom: 10%;
    border-radius: 5px;
}

.sec-01-02-galerie {
    padding-bottom: 60px;
    padding-top: 60px;
}

.gal_bg-pic {
    background-image: url(images/logo_farbig_img.png);
    background-repeat: no-repeat;
    background-position: left;
    background-attachment: fixed;
    box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.75);
}

.ekko-lightbox {
    z-index: 99999;
}

.custom_machine_box>div {
    max-width: calc(25% - 30px) !important;
    border-radius: 5px;
    padding: 0px;
    box-shadow: 0px 0px 10px 0px rgba(199, 199, 199, 0.2);
    padding-bottom: 20px;
    transition: all 0.3s;
    background-color: #fff
}

.custom_machine_box>div:hover {
    box-shadow: 0px 0px 15px 0px rgba(199, 199, 199, 0.7);
}

.custom_machine_box {
    gap: 30px;
}

.custom_machine_box>div img {
    border-radius: 5px 5px 0 0;
    margin-bottom: 20px;
}

.custom_machine_box>div p {
    padding: 0 15px;
    margin-bottom: 0;
    text-align: center;
}

.sec-01-02-machine {
    padding-top: 60px;
    padding-bottom: 60px;
}

/* Kontakt begins here*/

.open-maps {
    padding: 0%;
}

iframe {
    width: 100%;
    height: 300px;
}

.sec-01-02-kontakt {
    padding-top: 2%;
    padding-bottom: 5%
}

.aktuelle-con {
    background-color: #333333;
    padding: 1%;
}

.job-con {
    padding-top: 60px;
}

.sec-03-kontakt {
    padding: 0;
    padding-top: 60px;
    padding-bottom: 60px;
}

.stelle-line {

    color: #999999;
    background-color: #999999;
    height: 3px;
    border: none;
    margin-left: 35%;

}

.kon-link {
    color: #333333;
    transition: all .2s ease-in-out;
}

.kon-link:hover {
    color: #878786;
    text-decoration: none;
}

.kon_para {
    background-image: url(images/kon_banner_para.jpg);
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    width: 100%;
}

/* Impressum and Datenschutz begin here*/

.imp_dat_banner {
    background-image: url(images/banner.png);
    background-size: cover;
    background-position: bottom;
    padding-bottom: 2.5%;
    margin-top: 3%
}

.imp-ht {
    font-size: 80%;
}

.imp-bt {
    font-size: 80%;

}

.imp-bh {
    font-size: 100% !important;
    font-weight: bold;
}

.imp-ul ul li {
    font-size: 90% !important;
    color: #333333 !important;
}

.dat-text {
    color: #333333 !important;
    transition: all .2s ease-in-out;
}

.dat-text:hover {
    color: #333333;
    text-decoration: none;
    opacity: .5;
}

.imp-head {
    font-size: 130%;
    color: #333333;
    font-weight: bold;
}

.impdat {
    padding-top: 8%;
    overflow: hidden;
}

body .no_bg {
    background-image: none !important;
}

body .logo_backgroud_container {
    background-image: url(images/Background_logo.png) !important;
    box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.8);
    background-size: contain !important;
    background: no-repeat;
    background-position: center;
}

.custom_policy a {
    text-decoration: underline;
    color: #333 !important;
    opacity: 1;
    line-break: anywhere;
}

.custom_policy a:hover {
    text-decoration: underline;
    color: #0056b3 !important;
    opacity: 1;
}

.bg_light_blue {
    background-color: #fcfcfc !important;
    box-shadow: unset !important;
}

.mb1rem {
    margin-bottom: 1rem !important;
}

.custom-2col-layout .card {
    box-shadow: 0px 0px 5px 0px rgba(0, 85, 164, 0.1);
    border: 0;
    transition: all 0.3s;
}

.custom-2col-layout .card:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 85, 164, 0.2);
    cursor: pointer;
}

.custom_faqs_style a {
    color: #333;
}

.custom_faqs_style a:hover {
    text-decoration: none;
}

.custom_faqs_style h5 {
    font-weight: 700;
}

.custom_faqs_style h5:hover,
.custom_faqs_style a[aria-expanded="true"] h5 {
    color: #0055a4;
}

.custom_faqs_style .panel {
    background: none;
    border: none;
    border-bottom: 1px solid #E7E7E7;
    padding-left: 0;
    padding-right: 0;
    padding-top: 20px;
    padding-bottom: 15px
}

.custom_faqs_style .panel:first-child {
    padding-top: 0;
}

.custom_list_threecol {
    display: flex;
}

.custom_list_threecol ul {
    margin-bottom: 0;
}

/* queries begin here*/

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    /* IE10+ CSS styles go here */
}

@supports (-ms-accelerator:true) {
    /* IE Edge 12+ CSS styles go here */
}

/* media queries for all pages; careful! */
@media only screen and (max-width: 2561px) {

    .sec-02-02-ueber {
        margin-top: 5%;
        padding-top: 3%;
    }

    .stelle-line {
        margin-left: 27.5%;

    }

}

@media only screen and (max-width: 2049px) {

    .sec-02-02-ueber {
        margin-top: 7%;
        padding-top: 2%;
    }

    .komplett-line {
        margin-right: 20.3%;
    }

    .stelle-line {
        margin-left: 22%;

    }

}

@media only screen and (max-width: 1921px) {

    .sec-02-02 {
        background-image: url(images/index_back1_2.png) !important;
        box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.65);
    }

    .stelle-line {
        margin-left: 20%;

    }

}

@media only screen and (max-width: 1537px) {

    .sec-02-02-ueber {
        margin-top: 10%;
        padding-top: 0;
    }

    .stelle-line {
        margin-left: 12.5%;

    }
}

@media only screen and (max-width: 1440px) {

    .stelle-line {
        margin-left: 10%;

    }
}


@media only screen and (max-width: 1280px) {

    .stelle-line {
        margin-left: 5%;

    }
}

@media only screen and (min-width: 1200px) {
    .carousel-caption.custom_carousel_caption {
        padding-right: 15%;
    }
}

@media only screen and (max-width: 1200px) {
    .navi {
        padding-right: 5%;
    }

    .sec-02-02-ueber {
        margin-top: 12%;
    }

    .lei-pic-con {
        padding-top: 40%;
    }

    .lei-text-con {
        padding-left: 10%;
        padding-top: 5%;
    }
}

@media only screen and (max-width: 1024px) {
    .stelle-line {
        margin-left: 3%;

    }
}

@media only screen and (max-width: 994px) {
    .sec-01-02-galerie .col-sm-3 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }

    .h1,
    h1,
    body .font3_5rem {
        font-size: 2.5rem;
    }

    .h2-class h2,
    .h2-class h2 span,
    .h1-as-h2-class h1 {
        font-family: 'Orbitron', sans-serif;
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }

    .custom_number_boxes>div {
        width: calc(50% - 15px) !important;
    }

    .custom_machine_box>div {
        max-width: calc(50% - 15px) !important;
        width: calc(50% - 15px) !important;
    }

    .about_us_banner_new .banner_text {
        width: calc(100% - 30px);
    }

    .page_kontakt .sec-01-02-kontakt {
        padding-bottom: 30px;
    }

    .col-md-12:has(.custom_contact_box) {
        margin-bottom: 30px;
    }

    .navi {
        padding-right: 1.5%;
    }

    .banner-con {
        padding-top: 35%;
    }

    .über_banner-con {
        padding-top: 35%;
    }

    .top-logo {
        width: 50%;
    }

    .sec-02-02 {
        background-image: url(images/index_back1_3.png);
    }

    .sec-02-02-ueber {
        margin-top: 15%;
    }

    .lei-text-con {
        padding-left: 15%;
    }
}

@media only screen and (max-width: 991px) {
    .custom_list_threecol {
        display: block;
    }

    .qualitat_pic_column {
        text-align: left;
    }

    .left_side_img .row {
        display: flex;
        flex-direction: column-reverse;
    }

    .readmore_btn {
        margin-bottom: 1rem;
        display: block;
    }
}


@media only screen and (max-width: 768px) {
    .custom_number_boxes>div {
        width: 100% !important;
    }

    .custom_machine_box>div {
        max-width: calc(100% - 15px) !important;
        width: calc(100% - 15px) !important;
    }

    .comp {
        display: none;
    }

    .mobile {
        display: block;

    }

    .banner-text {
        font-size: 120%;
    }

    .top-logo {
        width: 60%;
    }

    .toggle {
        width: 7%;
    }

    .sec-02-02-ueber {
        background-attachment: inherit;
    }

    .custom-2col-layout .card {
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 767px) {

    .about_us_banner_new .banner_text p,
    .h2-class h2,
    .h2-class h2 span,
    .h1-as-h2-class h1,
    .font2rem {
        font-size: 1.5rem;
    }

    .h4-class h4 {
        font-size: 20px;
    }

    .h1,
    h1,
    body .font3_5rem {
        font-size: 2rem;
    }

    .carousel-caption.custom_carousel_caption {
        padding-right: 0;

    }

    .banner-text {
        font-size: 120%;
    }

    .top {
        background-position: right;
    }

    .top-logo {
        width: 80%;
    }

    .toggle {
        width: 9%;
    }

    .sec-02-02 {
        background-image: url(images/index_back1_3.png);
        background-position: center;
        background-size: cover;
    }

    .lei-list {
        font-size: 90%;
    }

    .qualität {
        font-size: 110%;
    }

    .sec-02 {
        background-attachment: inherit;
    }

    .lei-pic-con {
        padding-top: 50%;
    }

    .komplett-line {
        margin-right: 7%;
    }

    .stelle-line {
        margin-left: 0;

    }

    .job-con-2 {
        padding-bottom: 10%;
    }
}

@media only screen and (max-width: 668px) {
    .sec-02-02-ueber {
        margin-top: 20%;
    }
}

@media only screen and (max-width: 576px) {
    .sec-01-02-galerie .col-sm-3 {
        -ms-flex: 0 0 calc(100% - 30px);
        flex: 0 0 calc(100% - 30px);
        max-width: calc(100% - 30px);
    }

    .niveau-con {
        padding: 7%;
    }

    .aktuelle-con {
        margin-left: 5%;
    }

    .kon-kon {
        padding-bottom: 5%;
    }

}

@media only screen and (max-width: 531px) {

    .sec-02-02-ueber {
        margin-top: 30%;
    }
}

@media only screen and (max-width: 415px) {
    .top-logo {
        width: 100%;
    }

    .dn_a415 {
        display: inline;
    }

    .dn_b415 {
        display: none;
    }

    .toggle {
        width: 12%;
    }

    .banner-text {
        font-size: 90%;
    }

    .lei-list {
        font-size: 80%;
    }

    .qualität {
        font-size: 90%;
    }

    .sec-02-02-ueber {
        margin-top: 35%;
    }

    .komplett-line {
        margin-right: 6%;
    }

    .lei-pic-con {
        padding-top: 70%;
    }

    .sec-01-03-lei {
        margin-top: 10%;
    }

    .lei-text-con {
        padding-left: 10%;
    }

    .sec-03-kontakt {
        padding-top: 10%;
    }
}

@media only screen and (max-width: 361px) {

    .top-logo {
        width: 120%;
    }

    .toggle {
        width: 12%;
    }

    .top-link {
        padding: 2%;
    }

    .sec-02-02-ueber {
        margin-top: 45%;
    }

    .about_us_banner_new .banner_text p,
    .h2-class h2,
    .h2-class h2 span,
    .h1-as-h2-class h1,
    .font2rem {
        font-size: 1.1rem;
    }
}

@media only screen and (max-width: 321px) {
    .banner-text {
        padding-top: 20%;
    }
}

.main_header_section .top-link {
    padding: 0;
    font-size: 16px;
    color: #fff;
    display: flex;
    align-items: center;
    transition: all 0.3s;
}

.main_header_section .top-link:hover {
    text-decoration: underline;
}

.main_header_section .top {
    background-image: none;
    background: #333;
    padding-top: 10px;
    padding-bottom: 10px;
}

.main_header_section .top-link img {
    filter: brightness(0) saturate(100%) invert(99%) sepia(0%) saturate(0%) hue-rotate(156deg) brightness(101%) contrast(104%);
    margin-right: 10px;
    width: 20px;
    height: 20px;
    object-fit: contain;
    display: block;
}

.main_header_section .top .col-12 {
    display: flex;
    justify-content: end;
    flex-wrap: wrap;
    gap: 10px 30px;
}

.main_header_section .navi {
    padding: 0;
    transition: all 0.3s;
}

.main_header_section .navi:hover {
    opacity: 1;
    color: #333;
    text-decoration: underline;
}

.main_header_section .nav-con2 {
    display: flex;
    justify-content: end;
    gap: 30px;
    padding: 0;
    align-items: center;
}

.main_header_section .nav-con2 .navi {
    font-size: 16px;
    line-height: 1.2;
}

.main_header_section .nav-con2 .navi:hover {
    color: #0256a5;
}

.main_header_section .nav-con.comp {
    background-image: none;
    background-color: #fff;
    box-shadow: 0 0 10px #00000014;
    padding: 10px 0;
}

.main_header_section .nav-con.comp .row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 0 30px;
}

.main_header_section .top-logo {
    height: 50px;
    object-fit: contain;
    width: 250px;
}

.main_header_section .top-logo:hover {
    opacity: 1;
}

.mian_footer_section .foot-link,
.mian_footer_section .foot-text {
    font-size: 16px;
}

.mian_footer_section .bottom-logo {
    height: 65px;
    display: block;
}

.mian_footer_section .foot-link:hover {
    opacity: 1;
}

.foot .row {
    padding-top: 30px;
    padding-bottom: 30px;
}

.mian_footer_section .footer_linkscol {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

@media only screen and (max-width: 991px) {
    .main_header_section .top-logo {
        height: 40px;
        width: 200px;
    }

    .main_header_section .nav-con2 {
        gap: 18px;
    }
}

@media only screen and (max-width: 768px) {
    .main_header_section .top .col-12 {
        justify-content: center;
    }

    .main_header_section .mobile {
        margin-top: 0;
    }

    .main_header_section .mobile {
        padding-top: 10px;
        padding-bottom: 10px;
        box-shadow: 0 0 10px #00000014;
    }

    .main_header_section .nav-con.mobile .row {
        display: flex;
        align-items: center;
    }

    .main_header_section .mobile_menuitems {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .main_header_section .mobile_menuitems a {
        font-size: 16px;
        transition: all 0.3s;
    }

    .main_header_section .mobile_menuitems a:hover {
        color: #0055A4;
        text-decoration: underline
    }

    .main_header_section .toggle {
        width: 30px;
    }

}

@media only screen and (max-width: 480px) {
    .foot .row {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        padding-top: 30px;
        padding-bottom: 30px;
        gap: 20px;
    }

    .foot .row>div {
        max-width: 100% !important;
        flex: 0 0 100%;
    }

}