@charset "utf-8";
/*
Theme Name: debleu 2023 v2.0 Custom
Version: Master 2.0 / 17.10.2022
Author: debleu.de
Author URI: https://debleu.de/
*/
/*  ------------------------------------------- Typography --- 2*/
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-display: fallback;
    src: local(''),
       url('../fonts/open-sans-v18-latin-regular.woff2') format('woff2'),
       url('../fonts/open-sans-v18-latin-regular.woff') format('woff');
}
/* open-sans-italic - latin */
/*@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-display: fallback;
    src: local(''),
       url('../fonts/open-sans-v18-latin-italic.woff2') format('woff2'),
       url('../fonts/open-sans-v18-latin-italic.woff') format('woff');
}*/
/* open-sans-700 - latin */
@font-face {
    font-family: 'Open Sans Bold';
    font-style: normal;
    font-weight: 700;
    font-display: fallback;
    src: local(''),
       url('../fonts/open-sans-v18-latin-700.woff2') format('woff2'),
       url('../fonts/open-sans-v18-latin-700.woff') format('woff');
}
/* open-sans-700italic - latin */
/*@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 700;
    font-display: fallback;
    src: local(''),
       url('../fonts/open-sans-v18-latin-700italic.woff2') format('woff2'),
       url('../fonts/open-sans-v18-latin-700italic.woff') format('woff');
}*/
/* saira-regular - latin */
@font-face {
    font-family: 'Saira';
    font-style: normal;
    font-weight: 400;
    font-display: fallback;
    src: local(''),
       url('../fonts/saira-v7-latin-regular.woff2') format('woff2'),
       url('../fonts/saira-v7-latin-regular.woff') format('woff');
}
:root {
    --typoregular:  'Open Sans', sans-serif;
    --typobold:     'Open Sans Bold', sans-serif;
    --typoheadline: 'Open Sans', sans-serif;
}
body, button, label, input, select, textarea, p {
	
	font-family: var(--typoregular);

	font-weight: 400;
    font-size: 1.8rem;
    line-height: 1.6;
	/*letter-spacing: 0.05rem;*/
    /*overflow-wrap: break-word;*/
}
b, strong, .bold {
    font-family: var(--typobold);
	font-weight: 700;
}
h1, h2, h3, h4, h5, h6 {

    font-family: var(--typoheadline);
    
    font-weight: 400;
	font-style: normal;
	line-height: 1.2;
    /*letter-spacing: 0.08rem;*/
    
    /*overflow-wrap: anywhere;*/
}
a {
	text-decoration-color: #cccccc;
}

/* --- https://clamp.font-size.app/ --- */
/* --- min: 320px, max: 1920px -------- */

h1 { font-size: clamp(2.6rem, 2.44rem + 0.8vw, 4rem); }
h2 { font-size: clamp(2rem, 1.88rem + 0.6vw, 2.3rem); text-transform: uppercase; font-weight: 700; letter-spacing: 0.2rem }
h3 { font-size: clamp(1.8rem, 1.76rem + 0.2vw, 2rem); }
h4 { font-size: 1.8rem; }
h5 { font-size: 1.8rem; }
h6 { font-size: 1.8rem; }

.section-headline h1,
.section-headline h2 {
    font-size: clamp(2.6rem, 2.44rem + 0.8vw, 4rem);
    /*text-transform: uppercase;*/
    /*letter-spacing: .2rem;*/
}
.section-headline p {
    font-size: 2rem;
}
.page-title h1 {
    font-size: clamp(3rem, 2.88rem + 0.6vw, 3.6rem);
}

.site-branding .branding-name {
    display: block;
    text-decoration: none;
    font-size: 2.4rem;
    padding: 0;
	line-height: 1.2;
}
.site-branding .branding-subline {
    display: block;
	font-size: 2rem;
    padding: 0;
    line-height: 1.2;
}

/* .pb-teaser-text-wrap h2, 
.pb-teaser-text-wrap-color h2, 
.pb-news h2 {
    font-size: clamp(2rem, 1.88rem + 0.6vw, 2.6rem);
} */
.topline {
    display: block;
    font-size: clamp(1.8rem, 1.76rem + 0.2vw, 2rem);
    line-height: 1;
}
/* ------------------------------------------------ Global --- */
.header-width {
	margin: 0 auto;
	padding-right: 20px;
	padding-left: 20px;
	max-width: 1180px;
}
.content-width {
	max-width: 1200px;
}

/*--------------------------------------------------- Quota ---*/
.pb-quota h1.quota-headline,
.pb-quota h2.quota-headline {
    font-size: clamp(3rem, 5vw, 3.6rem);
    line-height: 1.2;
}
.pb-quota .quota-subline {
    font-size: clamp(2rem, 5vw, 2.2rem);
    line-height: 1.2;
    padding-bottom: 20px;
}
.pb-quota .text-align-center {
    margin: 0 auto;
}
.pb-quota .quota-headline.text-align-center,
.pb-quota .quota-subline.text-align-center {
    text-align: center;
}
.pb-quota .quota-text {
    font-size: clamp(1.6rem, 5vw, 1.8rem);
}
/* ----------------------------------------------- Colors  --- */
:root {
    --clr-main:      #D7000E;
    --clr-menu:      #80A1A3;
    --clr-menu-dark: #48708F;
    --clr-4:         #cdeeff; /*Kontaktform*/
}
html {
    background-color: #e3e3e3;
}
body, .body-col-flex {
    background-color: #fff;
}
body, button, input, select, textarea, p, #content li a {
    color: #454545;
}
h1, h2, h3, h4, h5, h6 {
    color: #454545;
}
#topimage {
    background-color: #fff;
	top: 218px;
}
.section-headline .topline {
    color: var(--clr-main);
}


/* ----------------------------------------------- Metanavi --- */


/*[href="#"] {
pointer-events: none;
}*/
.metabox {
	height: 30px;
}
.metanavi {
    display: flex;
	justify-content: flex-end;
}
.metanavi ul {
	display: flex;
	gap: 20px;
	margin-right: 20px;
}
.metanavi ul li a {
	display: inline-block;
	font-size: 1.5rem;
	color: #666;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 0.075rem;
	padding-block: 8px;
}.metanavi ul li a:hover {
    color: #222;
}
.metanavi ul li ul li:hover > a {
    color: #222;
    background-color: rgb(0 0 0 / 0%);
}
.metanavi li.current-page-ancestor a, 
.metanavi li.current-menu-item a {
    color: #222;
}

.language-switch {
    padding: 6px 6px 0 0;
}
.language-switch a {
    /*font-family: var(--typobold);*/
	font-size: 1.5rem;
	color: #666;
    text-decoration: none;
	padding: 4px 0;
}
.language-switch a.active {
    /*font-family: var(--typobold);*/
    color: var(--clr-main);
	/*color: #D7000E;*/
}
.language-switch span {
	color: #888;
}

/*.metanavi > ul > li > a::after {
	content: "";
	display: block;
	width: 30px;
	border-bottom: 2px solid transparent;
	transition: all 0.3s ease;
}*/
/*.metanavi > ul > li > a:hover::after,
.metanavi > ul > li.current-menu-item > a::after,
.metanavi > ul > li.current-menu-ancestor > a::after,
.metanavi > ul > li.current-page-ancestor > a::after {
	border-bottom: 0px solid var(--clr-main);
	width: 100%;
}*/


/* --- Metanavi --- */


/* --- Topnavi dark --- */
/*.header-site {
    background-color: #21201F;
}
.topnavi li a {
    color: #ababab;
}
.topnavi ul li ul li:hover > a {
    color: #fff;
}
.topnavi li.current-page-ancestor a, 
.topnavi li.current-menu-item a {
    color: #fff;
}
.topnavi li ul.sub-menu {
    background-color: #21201f;
}
.nav-icons.show svg {
    stroke: #fff;
}
*/

/* --- Topnavi light --- */

.topnavi {
    position: relative;
	width: 100%;
	background-color: #D7000E;
	right: 0px;
}

.topnavi ul li a {
    color: #dfdfdf;
	font-weight: 700;
	letter-spacing: 0.2rem;
}
.topnavi ul li a:hover {
    color: #fff;
}
.topnavi ul li ul li:hover > a {
    color: #fff;
    background-color: rgb(0 0 0 / 5%);
}
.topnavi li.current-page-ancestor a, 
.topnavi li.current-menu-item a {
    color: #fff;
}
.topnavi .sub-menu {
    background-color: #fff;
    box-shadow: 0px 12px 16px 0px rgb(0 0 0 / 20%);
}
/*.topnavi > ul > li > a + ul {
    background-color: #f2f2f0;
}*/
.topnavi ul li ul li {
    border-top: 1px solid rgb(0 0 0 / 12%);
}
.topnavi > ul > li > ul > li:first-of-type:first-of-type {
    border-top: none;
}
.nav-icons.show svg {
    stroke-width: 30px;
	stroke: #fff;
}

/* --- Mobil nav top --- */

.nav-top-icons {
    position: relative;
    width: 100%;
    height: 40px;
    top: 35px;
    right: 0;
    transform: translateY(-50%);
    cursor: pointer;
    background-color: var(--clr-main);
    margin: 0 auto;
    text-align: center;
    padding: 6px 0;
}
.iconOpenTop,
.iconCloseTop {
    display: inline-block;
    position: relative;
}
.nav-mobile ul {
    /*background: var(--clr-menu);*/
    background-color: #666666;
}
.nav-mobile .sub-menu-button:hover {
    background-color: rgb(255 255 255 / 12%);
}
.pb-teaser-text-wrap h2, 
.pb-teaser-text-wrap-color h2, 
.pb-news h2 {
    color: #000;
}
.footer {
	background-color: #f2f2f2;
}
.footer .corp-text {
    color: #333;
}
.corp-name {
    padding-top: 0;
    padding-bottom: 20px;
    font-size: 2.4rem;
}
.corp-phone,
.corp-fax,
.corp-email {
    padding: 0;
}
.footer-one .company svg.company-icon {
    fill: rgb(99 99 99);
 	height: 22px;
    width: 28px;
    padding-right: 10px;
    padding-top: 6px;
}
.footer-one .nav-topline {
    color: #888;
    border-bottom: 1px solid #bbb; /*rgba(255, 255, 255, 0.15)*/
	margin: 2px 0 10px 0;
}
.footer-one .navi ul li a::before {
    border-color: transparent transparent transparent #888;
}
.footer-one .navi ul li.current-menu-item a {
    color: #000;
}
.footer-one .navi ul li a {
    color: #888;
	padding-top: 0px;
    padding-bottom: 0px;
}
.footer-one .navi ul li:hover a {
    color: #000;
}
.footerimgbox {
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    border-top: 1px solid #cecece;
    padding-top: 30px;
}
.footerimg {
    text-align: center;
	padding: 0 10px 22px 0px;
    margin: 0 auto;
}
@media (min-width: 720px) {
	.footerimgbox {
		max-width: 125px;
		display: block;
		margin-top: 0;
    	border-top: none;
   		padding-top: 0;
	}
	.footerimg {
		text-align: center;
		padding: 0 10px 22px 0px;
		margin: 0 auto;
		display: table;
	}
}
#copyright {
	background-color: #000;
}
#copyright a {
    color: #767676;
}
#copyright a:hover {
    color: #B7B7B7;
}
a {
    color: #000;
}
a:hover, a:active {
    color: #000;
    text-decoration-color: #D7000E;
    outline: none;
}
/*query for iPhone 12 pro max*/
/*@media (min-width: 1230px) and (min-height: 768px) {*/

/*  ------------------------ Header height + toggle menu --- */

:root {
    /* for small screens */
    --header-height-small: 80px;
    --logo-height-small:   60px;
    
    /* for wider screens */    
    --header-height-wide: 88px;
    --logo-height-wide: 58px; 
}
/* ----------------------------------------------- Header --- */
.header-site {
    /*background-color: #fff;*/
    background-color: rgb(255 255 255 / 60%);
}
.site-branding { 
    position: relative;
	width: 100%;
	margin: 30px auto 5px;
}
.claim {
    display: block;
	float: none;
	/*right: 20px;*/
    max-width: 500px;
    margin: 0 auto;
	padding: 0 0px 0 0;
    /*display: flex;
	justify-content: flex-end;*/
}
.headclaim {
	font-size: 1.8rem;
    text-align: center;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.075em;
    line-height: 1em;
}
@media (min-width: 470px) {

    .headclaim {
	font-size: 2rem;
	}
}
    
    /* --- if only mobile navi --- */
    /* .nav-mobile { 
        top: var(--header-height-wide); 
    } */
	
    .nav-overlay {
        top: var(--header-height-wide);
    }
.site-main {
    padding-top: 220px;
}
.site-branding figure img { 
    height: var(--logo-height-small); 
    transition: height 300ms; 
}
.nav-mobile, 
.nav-overlay { 
    top: 235px;
    margin: 0 auto;
    padding: 20px;
	max-width: 100%;
}
.nav-overlay { 
    background: #ffffff;
    opacity: 0.6;
}

    
@media (min-width: 456px) {

	.nav-mobile, 
	.nav-overlay { 
		top: 215px;
		margin: 0 auto;
		padding: 20px;
		max-width: 100%;
	}
}
.header-site, 
.site-branding, 
.header-wrap { 
    height: var(--header-height-small);
    transition: height 300ms;
}

.topnavi { display: none; }

.site-main.no-topimage {
    padding-top: calc( var(--header-height-small) + 50px );
}

/* --- if header over topimage --- */
.header-site {
    position: absolute;
    z-index: 2;
}

/*#topimage{ 
    padding-top: var(--header-height-small); 
    transition: padding-top 300ms; 
}*/

/*    edit width for toggle desktop and mobile nav */
/*=================================================*/

/*@media (min-width: 860px) and (min-height: 768px)*/
@media (min-width: 1028px) and (min-height: 768px) {

    .topnavi { display: flex; padding: 3px 15px 0 15px; }
    .nav-top-icons, .nav-mobile { display: none; }
    .site-branding { max-width: 100%; margin: 0 0; }
    
    /* --- if only mobile navi --- */
    /* .nav-mobile { 
        top: var(--header-height-wide); 
    } */
	
    .nav-overlay {
        top: var(--header-height-wide);
    }

    .header-site, 
    .header-wrap, 
    .site-branding {
        height: var(--header-height-wide);
    }
	.site-branding { 
		position: absolute;
		/*width: 30%;
		padding-left: 27px;*/
		margin: 0 0 0 0;
	}
	.site-branding figure, .site-branding a.text {
		display: flex;
		justify-content: left;
		height: 100%;
		padding: 0 0 0 27px;
	}
    .site-branding figure img { 
        height: var(--logo-height-wide); 
    }
   
    .site-main.no-topimage {
        padding-top: calc( var(--header-height-wide) + 100px );
    }
	.claim {
    display: inline-block;
	float: right;
    max-width: 600px;
    margin: 50px 0 25px 0;
	padding: 0 30px 0 0;
	}
	.headclaim {
		font-size: 2rem;
	}
	#topimage {
    background-color: #fff;
	top: 145px;
	}
	.site-main {
    padding-top: 175px;
	}
}

.pb-teaser { /*, .pb-news-block, .pb-cards .card*/
    box-shadow: 0 0 #ffffff;
}

/*-------------------------------------------- List Points --- */
.block-text ul,
.block-text ol,
.accordion .panel ul {
    padding: 10px 0 0 40px;
}
.block-text ul li,
.block-text ol li,
.accordion .panel ul li {
    padding: 0 0 8px 0;
    list-style: none;
}
.block-text ul li::before,
.accordion .panel ul li::before {
    /*content: "»";*/
    position: absolute;
    top: 4px;
    left: -20px;
    width: 12px;
    height: 10px;
    line-height: 1.2;
    text-rendering: auto;
	content: "■";
	color: var(--clr-main);
} 
/*.block-text ul li::before,
.accordion .panel ul li::before {
    content: "";
    position: absolute;
    top: 2px;
    left: -16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 606 500' style='enable-background:new 0 0 606 500;'%3E%3Cstyle type='text/css'%3E.dot%7Bfill:%2386AA57;%7D%3C/style%3E%3Cpath id='Pfad_292' class='dot' d='M606.1,500H0L378.8,0h227.3V500z'/%3E%3C/svg%3E");
}*/

/* ----------------------------------------------- Buttons --- */
.read-more {
    padding-bottom: 0;
    margin-bottom: 10px;
    display: inline-block;
    text-decoration: none;
}
a.button {
    background-color: var(--clr-main);
    color: #fff;
	transition: background-color 100ms, color 300ms;
    text-decoration: none;
}
a.button:hover, a.button:active {
	background-color: var(--clr-2);
    color: #fff;
    outline: 0;
}
.btn-center {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.pb-row .btn-center a.btn-light,
.pb-row .btn-center a.btn-dark {
    margin-top: 0;
}
a.btn-light,
a.btn-dark {
    display: inline-block;
    padding: 8px 20px;
    margin-top: 40px;
    font-family: var(--typobold);
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.15rem;
    color: #fff;
    transition: all .3s;
    border-radius: 2px;
    text-decoration: none;
}
a.btn-light {
    background-color: var(--clr-main);
    border: 1px solid var(--clr-main);
	padding: 6px 20px;
}
a.btn-light:hover, a.btn-light:active {
	background-color: #fff;
    color: #000;
    outline: 0;
}
a.btn-dark {
/*    background-color: var(--clr-5);
    border: 1px solid var(--clr-5);*/
    background-color: #9a9a9a;
    border: 1px solid #9a9a9a;
}
a.btn-dark:hover, a.btn-dark:active {
	background-color: #fff;
    color: #555;
    outline: 0;
}
/*a.btn-light::after,
a.btn-dark::after {
    content: "";
    display: inline-block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='320.8' y='231.8' viewBox='0 0 320.8 231.8'%3E%3Cstyle type='text/css'%3E .icon-arrow%7Bfill:none;stroke:%23FFFFFF;stroke-width:24.4408;%7D%0A%3C/style%3E%3Cline class='icon-arrow' x1='0' y1='115.9' x2='294.4' y2='115.9'/%3E%3Cpath class='icon-arrow' d='M194.5,10.4L300,115.9L194.5,221.4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    width: 20px;
    height: 18px;
    margin-left: 10px;
    vertical-align: middle;
}
a.btn-light:hover::after,
a.btn-dark:hover::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='320.8' y='231.8' viewBox='0 0 320.8 231.8'%3E%3Cstyle type='text/css'%3E .icon-arrow%7Bfill:none;stroke:%23000000;stroke-width:24.4408;%7D%0A%3C/style%3E%3Cline class='icon-arrow' x1='0' y1='115.9' x2='294.4' y2='115.9'/%3E%3Cpath class='icon-arrow' d='M194.5,10.4L300,115.9L194.5,221.4'/%3E%3C/svg%3E");
}*/
input.wpcf7-submit {
    background-color: var(--clr-main);
    color: #fff;
	transition: background-color 100ms, color 300ms;
    /*border-radius: 2px;*/
    border: 1px solid var(--clr-main);
}
input.wpcf7-submit:hover {
    background-color: #fff;
    color: #000;
}
/* ------------------------------------------------- Icons --- */
svg.icon-back {
    height: 32px;
    stroke: #555; 
    stroke-width: 18px;
    fill: none;
}
svg.icon-back:hover { 
    stroke: var(--clr-main);
}
/* ------------------------------------------------- PDF Button --- */
.pb-pdf-download a.button-pdf {
    display: flex;
    background-color: #fff;
    padding: 8px 20px 8px 12px;
}
/* ------------------------------------------------- Custom --- */
.c960 {
margin: 0 auto;
max-width:1020px;
	padding-right: 20px;
    padding-left: 20px;
}
/*.newsbox {
	border: 1px solid #999;
	padding: 50px;
	margin: 0 auto;
}*/
.outlinebox .wrap {
	border: 1px solid #bbbbbb;
}

.stellenangebote .flex-wrap {
	background-color: #f2f2f2;
	padding: 40px;
}
.stellenangebote h2 {
	/*color: var(--clr-main);*/
}
.stellenangebote h3 {
	font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1rem;
}
.newsbox .content-wrap {
	padding: 40px;
}
.newsbox h2 {
	color: var(--clr-main);
}
.newsbox h3 {
	font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1rem;
}
@media (min-width: 630px) {
    .c960 {
        padding-right: 30px;
        padding-left: 30px;
    }
}
.colum-32 {
flex-basis: calc((100% - 40px) / 2);
/*display: inline-block;
width: 70%;
padding-right: 10%;*/
}
.colum-31 {
flex-basis: calc((100% - 40px) / 3);
/*display: inline-block;
width: 20%;*/
}
.colum-43 {
flex-basis: calc((100% - 40px) / 1);
/*display: inline-block;
width: 70%;
padding-right: 10%;*/
}
.colum-41 {
flex-basis: calc((100% - 40px) / 3);
/*display: inline-block;
width: 20%;*/
}
