/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('../Fonts/open-sans-v18-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-300italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
       url('../Fonts/open-sans-v18-latin-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../Fonts/open-sans-v18-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local('Open Sans Italic'), local('OpenSans-Italic'),
       url('../Fonts/open-sans-v18-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('../Fonts/open-sans-v18-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-600italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
       url('../Fonts/open-sans-v18-latin-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('../Fonts/open-sans-v18-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-700italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
       url('../Fonts/open-sans-v18-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-800 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
       url('../Fonts/open-sans-v18-latin-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-800italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
       url('../Fonts/open-sans-v18-latin-800italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../Fonts/open-sans-v18-latin-800italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/*@import url("print.css") print;*/
.align-left { text-align: left; }
.align-right { text-align: right; }
.align-center { text-align: center; }

header nav .outer > ul > li .flyout .contact-teaser-container { display: none; }
@media screen and (min-width: 992px) {
    header nav .outer > ul > li .flyout .contact-teaser-container { position: relative; display: block; }
    header nav .outer > ul > li .flyout .contact-teaser img { position: relative; width: 100%; max-width: none; }
    header nav .outer > ul > li .flyout .contact-teaser * { white-space: nowrap; }
    header nav .outer > ul > li .flyout .contact-teaser .image { padding-right: 0; }
    header nav .outer > ul > li .flyout .contact-teaser .text { width: 150px; } /* +15px from removed padding above */
    header nav .outer > ul > li .flyout .contact-teaser .text * { /* font-size: 12px !important; line-height: 16px !important; */ }
}

.imageleft { float: left; margin: 0px 20px 20px 0px !important; }
.imageRight { float: right; margin: 0px 0px 20px 20px !important; }
.noBorder { border: none; }

section.table table thead tr th a, section.press .container .inner a { color: #fff; }
section.table table thead tr th a:after { content: ''; }

.g-recaptcha { height: 80px; width: 306px; margin-top: 2px; }
/* .container .g-recaptcha { margin-top: -16px; } */ 
select.error, select.parsley-error,
textarea.error, textarea.parsley-error, 
input.error, input.parsley-error, 
div.g-recaptcha.error { border: 2px solid #e6223b; }

.parsley-errors-list * { color: #e6223b; }

.circle-bullets ul li:before { content: "\2022" !important; font-weight: 700; font-size: 18px; }
ul.no-bullets li:before { content: '' !important; }

.boxContacts td { font-size: 14px; }
.boxContacts td.caption { padding-right: 15px; }

.no-margin-bottom { margin-bottom: 0 !important; }
.no-margin-top { margin-top: 0 !important; }   

#c2112 section { padding-bottom: 0; }
#c2112 .container { margin-bottom: 0; }
#c2116 section { padding-top: 0; }

section.text b, section.text strong { font-weight : bold; }

.head-slider .rsArrow { opacity: 0.6 !important; filter: alpha(opacity = 60) !important; }


 /* new indexed-search-styles */
#tx_indexedsearch legend {
    display:none;
}
.tx-indexedsearch-res {
    text-align:center;
}
.tx-indexedsearch-res .newsrow {
    padding: 16px 0;
    border-bottom: 2px solid #efe7de;
}
.tx-indexedsearch-res-box {
    margin: 20px auto;
}
div.tx-indexedsearch-browsebox > p {
    text-align:center;
}
ul.tx-indexedsearch-browsebox {
    position: relative;
    display: block;
    text-align: center;
    font-size: 0;
    line-height: 0;
    margin: 25px 0 50px;
}
ul.tx-indexedsearch-browsebox a {
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}
ul.tx-indexedsearch-browsebox li {
    display: inline-block;
    margin: 4px;
    vertical-align: middle;
}
ul.tx-indexedsearch-browsebox li a, ul.tx-indexedsearch-browsebox li.current {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: #efe7de;
    border-radius: 50%;
    font-size: 14px;
    line-height: 30px;
    text-decoration: none;
    color: black;
}
ul.tx-indexedsearch-browsebox li:first-of-type:not(.tx-indexedsearch-browselist-currentPage) a, ul.tx-indexedsearch-browsebox li:last-of-type a {
    font-size: 0;
    line-height: 0;
}
ul.tx-indexedsearch-browsebox li:first-of-type:not(.tx-indexedsearch-browselist-currentPage) a:before, ul.tx-indexedsearch-browsebox li:last-of-type a:before {
    content: "r";
    font-size: 20px;
    line-height: 30px;
    font-family: "Icons", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding-left: 2px;
}
ul.tx-indexedsearch-browsebox li:first-of-type:not(.tx-indexedsearch-browselist-currentPage) a:before {
    content: "l";
    padding-left: 0;
    padding-right: 2px;
}
ul.tx-indexedsearch-browsebox li.tx-indexedsearch-browselist-currentPage a, ul.browsebox li.current, ul.browsebox li:hover a {
    background-color: #e6223b;
    color: white;
    font-weight: 600;
}
@media screen and (min-width: 992px) {
    div.tx-indexedsearch-browsebox {
        background-color: #efe7de;
        padding: 15px;
    }
    div.tx-indexedsearch-browsebox p {
        float: left;
        margin: 4px;
    }
    ul.tx-indexedsearch-browsebox {
        float: right;
        margin: 0;
        padding: 0;
    }
    ul.tx-indexedsearch-browsebox li {
        margin: 0 2px;
    }
    .tx-indexedsearch-res + div.tx-indexedsearch-browsebox ul.tx-indexedsearch-browsebox {
        float:none;
    }
}

section.text ul:not(.no-bullets) li::before, section.teasers ul:not(.no-bullets) li::before, .question .answer ul:not(.no-bullets) li::before {
    content: "\2022" !important;
    font-weight: 700;
    font-size: 18px;    
}

.tablesorter-default .header, .tablesorter-default .tablesorter-header {
    cursor: pointer;
    white-space: normal;
}

.tablesorter-default .header, .tablesorter-default .tablesorter-header {
    background-image: url(../Images/sort.gif);
    background-position: center right;
    background-repeat: no-repeat;
    cursor: pointer;
    white-space: normal;
}

.tablesorter-default thead .headerSortUp, .tablesorter-default thead .tablesorter-headerAsc, .tablesorter-default thead .tablesorter-headerSortUp {
    background-image: url(../Images/sort-up.gif);
    border: #fff 2px solid;
}

.tablesorter-default thead .headerSortDown, .tablesorter-default thead .tablesorter-headerDesc, .tablesorter-default thead .tablesorter-headerSortDown {
    background-image: url(../Images/sort-down.gif);
    border: #fff 2px solid;
}

@media screen and (min-width: 360px) {
  /* line 3693, ../Sass/main.scss */
  section.table .table .tr .td {
    padding-left: 140px;
  }
}

.cc-btn.cc-dismiss { text-decoration: none; }
a.cc-btn.cc-dismiss { outline: inherit;  border: inherit; }

.langSelectOpen { display:none; }
.languages { position:absolute; right:0; bottom:77px; width:100%; text-align:center; }
.languages li { display:inline-block; margin:0 10px; }
header .languages img { position:relative; max-width:unset; width:33px; height:21px; box-shadow:0 0 0 2px rgba(0,0,0,0.25); }
header .languages .active img { box-shadow:0 0 0 2px rgba(255,255,255,1); }
@media screen and (min-width: 992px) {
    header .toggle-search { right:16px; }
    header nav ul.main { width:calc(100% - 35px); margin-left:0; }
    .langSelectBox { position:absolute; top:20px; right:calc(35px + 2%); }
    .langSelectOpen { display:block; padding:5px; cursor:pointer; }
    .langSelectOpen span { display:inline-block; font-size:14px; font-weight:700; line-height:20px; color:#fff; border-top:solid 2px #fff; border-bottom:solid 2px #fff; }
    .langSelectOpen span::after { content:'d'; font-size:16px; position:relative; display:inline-block; vertical-align:middle; top:-1px; margin-left:1px; font-family:'Icons',sans-serif; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
    .languages { opacity:0; visibility:hidden; transition:opacity 0.5s ease 0s; bottom:unset; top:54px; left:-27px; width:100px; text-align:left; background-color:#f8f4f0; padding:10px 0; border-top:7px solid rgba(0,0,0,0.25); box-shadow:0 2px 4px rgba(0,0,0,0.1); }
    .langSelectBox:hover .languages { opacity:1; visibility:visible; transition:opacity 0.5s ease 0s; }
    .langSelectBox:hover .languages::after { content:''; position:absolute; display:block; left:0; top:-30px; height:23px; width:100%; }
    .languages li { display:block; padding:14px 20px; margin:0; background-color:#f8f4f0; }
    .languages li img { margin:0 5px; vertical-align:middle; }
    .languages li a { text-decoration:none; }
    .languages li a span { font-size:14px; font-weight:700; color:#000; position:relative; }
    .languages li a span::before { content:''; position:absolute; display:block; top:0; left:40%; right:40%; bottom:-2px; opacity:0; border-top:2px solid #000; border-bottom:2px solid #000; }
    .languages li a.active span::before,
    .languages li:hover a span::before { opacity:1; left:0; right:0; transition:left 0.3s, right 0.3s, opacity 0.3s; }
    header .languages img { width:25px; height:16px; box-shadow:none; }
    header .languages .active img { box-shadow:0 0 0 2px rgba(0,0,0,1); }
    header .languages li:hover img { box-shadow:0 0 0 2px rgba(0,0,0,1); transition:box-shadow 0.3s ease; }
    header nav ul.main > li .flyout { top:74px; }
}
@media screen and (min-width: 1200px) {
    header nav ul.main { width:calc(100% - 90px); margin-left:25px; }
}
@media screen and (min-width: 1420px) {
   header nav ul.main { width:calc(100% - 60px); margin-left:0; }
   .langSelectBox { top:22px; right:245px; }
   .langSelectOpen { padding:10px; }
   .languages { top:66px; }
   header nav ul.main > li .flyout { top:88px; }
}
header nav ul.main > li:hover > .flyout { z-index:1000; }

.extraInfoBox { background-color:#666; position:relative; padding:40px 0 30px; }
.extraInfoBox h4 { color:#fff; padding:0 30px; }
.extraInfoBox p,
.extraInfoBox a { color:#fff; }
.extraInfoBoxClose { position:absolute; top:20px; right:0; padding:20px; font-weight:bold; font-size:125%; cursor:pointer; color:#fff; }

footer .button + .button { background-image: url('/typo3conf/ext/cbt/Resources/Public/Images/recommend.png'); }
@media screen and (min-width: 993px) and (max-width: 1200px) {
    footer .button + .button { display: inline-block !important; width: 100%; margin-left: 0; margin-top: 0; }
}
@media screen and (min-width: 641px) and (max-width: 992px) {
    footer .button + .button { display: inline-block !important; width: auto !important; margin-left: 20px; }
}
@media screen and (min-width: 0px) and (max-width: 640px) {
    footer .button + .button { display: block !important; width: 200px; margin: 20px auto !important; }
}

@media screen and (min-width: 1200px) {
    footer ul.socials { width: 42%; }
}
footer ul.socials li a.instagram { background: #b500ad 2px 1px url('/typo3conf/ext/cbt/Resources/Public/Images/instagram.png') no-repeat; background-size: 90%; }
footer ul.socials li a.instagram::before { content: ""; }
footer ul.socials li a.kununu { background: #121b21 2px 1px url('/typo3conf/ext/cbt/Resources/Public/Images/kununu.png') no-repeat; background-size: 90%; }
footer ul.socials li a.kununu::before { content: ""; }


div.copyright { background-color:rgba(255,255,255,0.7); font-size:11px; padding:0 5px; line-height:1.5; position:absolute; bottom:10px; right:0; }

.video-teaser .img-container .legal { font-size: 8px; line-height: 8px; position: absolute; color: #fff; z-index: 999999999;  text-shadow: 1px 1px #000; }
.video-teaser .img-container .legal-top { top: 10px; left: 10px; }
.video-teaser .img-container .legal-bottom { bottom: 10px; left: 10px; }

.ccm-widget--introduction p { color: #fff; }
.ccm-widget.ccm--alignment--top .ccm-modal-inner, .ccm-widget.ccm--alignment--bottom .ccm-modal-inner { height: auto !important; } 

@media screen and (min-width: 1200px) {
  section.head .floating-box, section.head-slider .floating-box { bottom: 35%; left: 70%; }
}

/* the following is done by special client request for having the teaser box on the home page less massive */
#c1135 h1 {
	margin-top: 5px;
	margin-bottom: 5px;
}

#c1135 p {
	margin-bottom: 5px;
}

#c1135 .floating-box {
	padding: 20px 20px 15px;
}

section.breadcrumb + .frame-default { clear:both; }

.img-tiles .text a.expand-link { display: block; }

.no-padding-top { padding-top: 0 !important; }
.no-padding-bottom { padding-bottom: 0 !important; }
.no-margin-top { margin-top: 0 !important; }
.no-margin-bottom { margin-bottom: 0 !important; }

/* new Prozess Schritte element */

section.process-steps h3 {
    font-size: 14px;
    font-weight: 700;
    color: black;
    line-height: 17px;
    margin-top: 0;
    padding-top: 5px;
}

section.process-steps p {
    font-size: 13px;
    line-height: 17px;
}

section.process-steps .process-steps-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

section.process-steps .step-col-7 {
    padding: 0;
    background-color: #f8f4f0;
    overflow: visible;
    border-radius: 10px 10px 0 0;
    display: flex;
    flex-direction: column;
    flex: 0 1 182px;
    min-width: 182px;
    margin-top: 35px;
    min-height: 360px;
}

section.process-steps .title-line {
    align-items: center;
    background-color: #e6223b;
    display: flex;
    padding: 0 10px;
    border-radius: 10px;
    position: relative;
    justify-content: space-between;
    overflow: visible;
    height: 45px;
    align-items: center;
}

section.process-steps p.number {
    font-size: 28px;
    color: white;
    margin: 0;
}

section.process-steps .icon {
    max-width: 65px;
    position: absolute;
    right: 15px;
    top: -30px;
}

section.process-steps .module {
    padding: 10px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

section.process-steps .module .bottom {
    margin-top: auto;
    display: flex;
    flex-direction: column;
}

section.process-steps .module .bottom .duration {
    margin-top: 5px;
}

section.process-steps .process-steps-row:before,
section.process-steps .process-steps-row:after {
    content: none !important;
    display: none !important;
}

/* new logo in footer */

@media screen and (max-width: 991px) and (min-width: 568px) {
    footer {
        background-size: 450px;
    }
}
@media screen and (max-width: 991px) {
    footer {
        background-image: url(/typo3conf/ext/cbt/Resources/Public/Images/2026_CBT_Logoband_mit-Bildmarke_2-zeilig_mittig_rgb.svg);
        background-position: center calc(100% - 15px);
    }
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
    footer {
        background-image: url(/typo3conf/ext/cbt/Resources/Public/Images/2026_CBT_Logoband_mit-Bildmarke_1-zeilig_rgb.svg);
        background-position: center calc(100% - 20px);
    }
}
footer img.footer-logo {
    width: 100%;
    margin-top: 10px;
}