/*
Theme Name: Design
Theme URI: 
Author: marketing teamwork
Author URI: https://www.marketing-teamwork.de
Description: Wordpress-Theme
Version: 1.0
License: GNU General Public License

-------------------------------------------------------------- */

/* ubuntu-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/ubuntu-v21-latin-regular.woff2') format('woff2'); 
}

/* ubuntu-500 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/ubuntu-v21-latin-500.woff2') format('woff2'); 
}

/* ubuntu-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/ubuntu-v21-latin-700.woff2') format('woff2'); 
}


/* pt-sans-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/pt-sans-v18-latin-regular.woff2') format('woff2'); 
}

/* pt-sans-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/pt-sans-v18-latin-700.woff2') format('woff2'); 
}


/* Benedict */
@font-face {
  font-display: swap; 
  font-family: 'Benedict';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Benedict.woff') format('woff'); 
}



body {margin:140px 0 0 0; padding:0;font-family: "PT Sans", Sans-serif; font-weight: 400; font-size:18px;line-height:1.5; overflow-x: hidden;}
p {margin-top:0; font-family: "PT Sans", Sans-serif;}
main p a {text-decoration: underline dashed 1px #ccc!important; text-underline-offset: 0.25em;}


h1, h2, h3, h4 {font-family: "Ubuntu", Sans-serif;} 

h1 {font-size:34px}
h2 {font-size:30px}
h3 {font-size:24px}
h4 {font-size:20px}
.section {padding:10% 10%!important}
.section-fh {padding:0% 10%!important}
.section-half {padding:5% 10%!important}
.section-start {padding:0 10% 10%!important}

@media (max-width: 1700px) {
.section {padding:8% 5%!important}
.section-fh {padding:0% 5%!important}
.section-half {padding:4% 5%!important}
.section-start {padding:0 5% 8%!important}
}





@media (max-width: 1280px) {
body {font-size:17px;}
h1 {font-size:30px}
.section {padding:7% 4%!important}
.section-fh {padding:0% 4%!important}
.section-half {padding:4%!important}
.section-start {padding:0 4% 7%!important}

}

@media (max-width: 1024px) {
body {font-size:16px; margin:100px 0 0 0;}
h1 {font-size:28px}
h2 {font-size:28px}
h3 {font-size:20px}
.section {padding:10% 2%!important}
.section-fh {padding:0% 2%!important}
.section-half {padding:5% 2%!important}
.section-start {padding:0 2% 10%!important}

}

@media (max-width: 767px) {
body {margin:90px 0 60px 0;}
h1 {font-size:24px}
h2 {font-size:20px}
h3 {font-size:17px}
.section {padding:45px 20px!important}
.section-fh, .section-start {padding:0% 20px!important}
.section-half {padding:20px!important}

}

a, a:visited, a:focus,a:active {color:#B11C3C}
a:hover {color:#303030}

.h1 h1.elementor-heading-title,
.handwritten span.elementor-heading-title,
.titel span.elementor-heading-title,
.titel h2.elementor-heading-title,
button.e-search-submit span,
.suchleiste input.e-search-input,
.time time {font-family: "Benedict"!important;font-weight: 400; font-style: normal; display: inline-block;}

.handwritten span.elementor-heading-title, .h1 h1.elementor-heading-title {font-size:90px; line-height:1; padding-top: 5%; } 
.titel span.elementor-heading-title, .titel h2.elementor-heading-title {font-size:60px;padding-top: 5%;}
button.e-search-submit span { font-size:30px; }
.suchleiste input.e-search-input {font-size:18px; width:100px;}
.time time {font-size:20px; }



@media (max-width: 1550px) {
.handwritten span.elementor-heading-title, .h1 h1.elementor-heading-title {font-size:75px}
.titel span.elementor-heading-title, .titel h2.elementor-heading-title {font-size:50px}
}


@media (max-width: 1280px) {
.handwritten span.elementor-heading-title, .h1 h1.elementor-heading-title {font-size:65px}
.titel span.elementor-heading-title, .titel h2.elementor-heading-title {font-size:45px}
}

@media (max-width: 1024px) {
.handwritten span.elementor-heading-title, .h1 h1.elementor-heading-title {font-size:50px}
.titel span.elementor-heading-title; .titel h2.elementor-heading-title {font-size:40px}
}

@media (max-width: 767px) {
.handwritten span.elementor-heading-title, .h1 h1.elementor-heading-title {font-size:35px}
.titel span.elementor-heading-title; .titel h2.elementor-heading-title {font-size:35px}
}


.logo1, .logo2 {display:none}

@media (min-width: 1024.5px){
.logo1 {display:inherit!important}
}

@media (max-width: 767.5px){
.logo1 {display:inherit!important}
}

@media (min-width: 768px) and (max-width: 1024px) {
.logo2 {display:inherit!important}
}



/* Ansprechpartner
-------------------------------------------------------------- */
.ansprechpartner .elementor-image-box-wrapper {background:#F4F4F4; padding:15px}
.ansprechpartner .elementor-image-box-img {margin:0!important}
.ansprechpartner .elementor-image-box-content h3.elementor-image-box-title {font-family: "PT Sans", Sans-serif!Important; font-weight:400; margin:5px 0px 0px}
.ansprechpartner .elementor-image-box-content .elementor-image-box-description {font-size:26px;font-family: "Benedict"!important;font-weight: 400; font-style: normal; display: inline-block;}

@media (max-width: 1280px) {
.ansprechpartner .elementor-image-box-content .elementor-image-box-description {font-size:22px;}
}

@media (max-width: 767px) {
.ansprechpartner .elementor-widget-image-box,.ansprechpartner .elementor-image-box-img img   {width:100%}
.ansprechpartner .elementor-image-box-content .elementor-image-box-description {font-size:20px;}
.ansprechpartner .elementor-image-box-wrapper {padding:8px}
}

/* Mobilmenü
-------------------------------------------------------------- */

@media (max-width: 1024px) {
.navi .elementor-nav-menu--dropdown .sub-arrow {display: block; position: absolute; right: 15px; top: 15px; }
.navi .elementor-nav-menu--dropdown a.elementor-item[aria-expanded="true"] .sub-arrow svg { transform: rotate(180deg); transition: transform .3s ease;}

body:has(.navi .elementor-menu-toggle.elementor-active)::before {
    content: '';
    position: fixed; 
    top: 90px; 
    left: 0; 
    width: 100vw; 
    height: calc(100vh - 190px); /* Fallback: mehr Puffer */
    height: calc(100svh - 140px); /* Modern: exakte Höhe */
    background: rgba(0, 0, 0, 0.5);  
    z-index: 1;   
    pointer-events: none;
}

body:has(.navi .elementor-menu-toggle.elementor-active) {overflow: hidden; position: fixed; width: 100%;}
.navi .elementor-menu-toggle {position: relative; z-index: 1001;}

.navi .elementor-nav-menu--dropdown.elementor-nav-menu--dropdown {
    max-height: calc(100vh - 220px) !important; /* Fallback */
    max-height: calc(100svh - 140px) !important; /* Modern */
    overflow-y: auto !important; 
    -webkit-overflow-scrolling: touch !important;
}

.navi .elementor-nav-menu--dropdown .current-menu-ancestor > ul.sub-menu { display: block !important;}
.navi .elementor-nav-menu--dropdown .current-menu-ancestor::after { transform: rotate(180deg);}
}

/* Header
-------------------------------------------------------------- */
.elementor-menu-toggle, .suche, .suchleiste, #popupsearch {display:none!important}

.icons .elementor-icon-box-title a {color:#fff!important}

@media (min-width: 1024.5px) {
.suchleiste {display:inherit!important}
.deskno {display:none!important}
}

@media (min-width: 768px) {
.contactmobil {display:none!important}

}

@media (max-width: 1024.5px) {
.elementor-menu-toggle, .suche, #popupsearch {display:inherit!important}
}

@media (max-width: 767.5px) {
.icons, .suche {display:none!important}
}

@media (min-width: 1280px) and (max-width: 1550px) {
  .navi .elementor-nav-menu > li:first-child { display: none;}
}



/* Content
-------------------------------------------------------------- */


.news .e-loop-item,.news article.elementor-grid-item  {border:1px solid #B11C3C!important; border-radius:2px; background:#fff; padding:20px}

.timeline .twae-wrapper .twae-description p {margin: 0 0 10px 0; padding: 0;} 
.timeline .twae-wrapper .twae-description {margin: 0; padding: 0;} 

.bestand .tablepress {margin:0; padding:0}
.bestand .tablepress thead tr th {background:#B11C3C; color:#fff}
.bestand .tablepress thead tr th.column-1 {background:#fff; color:#303030; text-transform:uppercase; font-size:125%}
.bestand .tablepress .column-2, .bestand .tablepress .column-3 {width:20%}
.bestand .tablepress .column-1 {width:calc(100% - 40%)}

button.buttonback {background:#B11C3C; padding:12px 24px; color:#fff; border-radius:2px; cursor:pointer}

.faq .e-n-accordion-item-title-icon span > svg  {width:8px}
.faq .e-n-accordion {display: flex; flex-direction: column; gap: 10px;margin-top: 5px;}
.faq details.e-n-accordion-item {outline: 1px solid #B11C3C !important;border-radius:2px}
.faq details.e-n-accordion-item > .e-n-accordion-item-title {background:#F4F4F4}
.faq details.e-n-accordion-item[open] > .e-n-accordion-item-title {background:#FFF}
.faq .e-child {padding-left:30px}
.faq details.e-n-accordion-item summary.e-n-accordion-item-title {align-items: flex-start !important;}
.faq details.e-n-accordion-item .e-n-accordion-item-title-icon {margin-top: 5px}

.headline .elementor-icon-box-wrapper h1.elementor-icon-box-title {margin:0;}

.rechtliches h2 {margin:0}
.rechtliches h3 {margin-bottom:0}
.rechtliches h4 {margin:5px 0}

.list ul {margin:0 0 20px 0; padding:0 0 0 20px}

#downloads .elementor-button {background-color:#F4F4F4!important} 
#downloads .elementor-button:hover {background-color:#707272!important} 
#downloads .elementor-button span.elementor-button-text {color:#303030!important}
#downloads .elementor-button:hover span.elementor-button-text {color:#fff!important}


@media (min-width: 767.5px) and (max-width: 1280px) {
  .elementor-loop-container.elementor-grid > div[data-elementor-type="loop-item"]:not(:first-of-type) {
    display: none !important;
  }
}


/* Beispiel: nur zwischen 768–1400px Breite UND wenn die Fensterhöhe <= 850px ist */
@media (min-width: 1281px) and (max-height: 850px) {
  .elementor-loop-container.elementor-grid > div[data-elementor-type="loop-item"]:not(:first-of-type) {
    display: none !important;
  }
}


.elementor-button {background:#B11C3C!important; color:#fff!important; font-size:14px; text-transform:uppercase; border:none; border-radius:2px!important}
.elementor-button:hover {background:#707272!important;}

/* CTA Button unten */
.overview .elementor-widget-call-to-action {display: flex; flex-direction: column; height: 100%;}
.overview .elementor-widget-call-to-action .elementor-widget-container {flex: 1;display: flex;}
.overview .elementor-cta {flex: 1; display: flex; flex-direction: column;}
.overview .elementor-cta__content { display: flex; flex-direction: column; flex: 1;}
.overview .elementor-cta__button-wrapper { margin-top: auto;}


/* Services*/
@media (min-width: 768px) {
.services > .elementor-widget-icon-box:nth-last-child(-n+2) {margin-top: 5%;}
}
.services > .elementor-widget-icon-box a:hover {color:#B11C3C!important}
.services > .elementor-widget-icon-box, .about > .elementor-widget-icon-box {border:1px solid #B11C3C!important; padding:20px; border-radius:2px}
.services > .elementor-widget-icon-box .elementor-widget-container, .about > .elementor-widget-icon-box .elementor-widget-container {background:#fff;}
.services > .elementor-widget-icon-box .elementor-icon-box-wrapper, .about > .elementor-widget-icon-box .elementor-icon-box-wrapper {padding:20px}
.about > .elementor-widget-icon-box .elementor-icon-box-wrapper {background:#F4F4F4; height:100%}

.about .elementor-icon-box-description {text-align:left}


.karriere > .elementor-widget-icon-box {width:calc(50% - 20px)!important; background:#fff; padding:20px; border:1px solid #B11C3C; border-radius:2px}
.karriere > .elementor-widget-icon-box .elementor-widget-container {background:#F4F4F4;}
.karriere > .elementor-widget-icon-box .elementor-icon-box-wrapper {padding:20px}


.karriere .elementor-widget-icon-box .elementor-icon-box-title {margin:0 0 5px}

@media (max-width: 1280px) {
.karriere > .elementor-widget-icon-box {width:calc(50% - 10px)!important;}
}

@media (max-width: 1024px) {
.services > .elementor-widget-icon-box, .about > .elementor-widget-icon-box {padding:10px;}
.about > .elementor-widget-icon-box {margin-bottom: 5%!important;}
}
@media (max-width: 767px) {
.services > .elementor-widget-icon-box {margin-bottom: 5%!important;}
.services > .elementor-widget-icon-box:nth-last-child {margin-bottom: 0%!important;}
.bestand .tablepress thead tr th.column-1 { font-size:115%}
.bestand .tablepress .column-2, .bestand .tablepress .column-3 {width:50%; float:left!important; border-top:0}
.bestand .tablepress .column-1 {width:100%; float:left!important;}
.bestand .tablepress td.column-1:empty {display: none!important}
.faq details.e-n-accordion-item .e-n-accordion-item-title-icon {margin-top: 3px}
.headline .elementor-icon-box-wrapper h1.elementor-icon-box-title {-webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 9 6 3; -ms-hyphenate-limit-before: 6;  -ms-hyphenate-limit-after: 3;  -webkit-hyphenate-limit-before: 6;  -webkit-hyphenate-limit-after: 3;}

.karriere > .elementor-widget-icon-box {width:100%!important;}
  
}



@media (max-width: 1024px) {
.news article.elementor-grid-item .elementor-post__title, .hyph {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  hyphenate-limit-chars: 9 6 3;
  -ms-hyphenate-limit-before: 6;
  -ms-hyphenate-limit-after: 3;
  -webkit-hyphenate-limit-before: 6;
  -webkit-hyphenate-limit-after: 3;}
  
.news .e-loop-item, .news article.elementor-grid-item {padding:10px}
}




/* Footer
-------------------------------------------------------------- */
ul.footer-submenu {list-style:none; margin:0; padding:0}
ul.footer-submenu li a {color:#FFFFFFC2; font-size:16px}
ul.footer-submenu li a:hover, ul.footer-submenu li.active a{color:#FFF}

.iconsfooter {display:none!important}

.click-submenu .menu-item-has-children.submenu-open > .sub-menu,
.click-submenu .menu-item-has-children.submenu-open > .elementor-sub-menu{
  display:block !important;
}



@media (max-width: 767px) {
footer .iconsfooter {display:grid!important}
.iconsfooter .elementor-icon-box-wrapper .elementor-icon-box-title {hyphens:auto; }
.iconsfooter .elementor-icon-box-wrapper .elementor-icon-box-title a { color:#fff!important}

footer .siegel {display:none}
.home footer .siegel {display:inherit}
.home footer .siegel > .elementor-element {background:#ffffff!important}
footer .bwg > .elementor-element {background:#B11C3C!important}

.timeline .twae-wrapper .twae-content {margin-top:20px}
}

nav a {cursor:pointer}

/* Random Image Home
-------------------------------------------------------------- */



/* barrierefreiheit
-------------------------------------------------------------- */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* Skip-to-Content-Link – standardmäßig unsichtbar */
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #B11C3C;        
  color: #fff;               
  padding: 8px 16px;
  z-index: 1000;              
  text-decoration: none;
  border-radius: 4px;
  transition: top 0.2s ease;

  /* Screenreader-only Verhalten */
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Sobald fokussiert ? sichtbar machen */
.skip-link:focus,
.skip-link:active {

  top: 0;
  width: auto;
  height: auto;
  margin: 0;
  clip: auto;
  clip-path: none;
  white-space: normal;
}


.formular fieldset { border: none; margin: 0;  padding: 0;  min-inline-size: auto;}


.formular fieldset legend {font-weight:700}


a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #B11C3C!important;
  outline-offset: 2px!important
}

input.e-search-input {outline: none!important; outline-offset: 0px!important}

.external-icon, .pdf-icon {
  width: auto;
  height: 15px;
  margin:0 0 3px 0px;
vertical-align: middle;
  fill: currentColor;
}

