/* =============================================================================
 * Google Fonts
 * ========================================================================== */

/* fira-sans-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/googlefonts/fira-sans-v18-latin-100.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/googlefonts/fira-sans-v18-latin-100.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* fira-sans-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/googlefonts/fira-sans-v18-latin-200.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/googlefonts/fira-sans-v18-latin-200.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* fira-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/googlefonts/fira-sans-v18-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/googlefonts/fira-sans-v18-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* fira-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/googlefonts/fira-sans-v18-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/googlefonts/fira-sans-v18-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* fira-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/googlefonts/fira-sans-v18-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/googlefonts/fira-sans-v18-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* fira-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/googlefonts/fira-sans-v18-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/googlefonts/fira-sans-v18-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* fira-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/googlefonts/fira-sans-v18-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/googlefonts/fira-sans-v18-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}


/* =============================================================================
 * Text auf Bild
 * ========================================================================== */

.text-auf-bild {
  background-color: rgba(0, 0, 0, 0.1);
  color: white;
  padding: 0.2em 0.2em!important;
  border-radius: 0.1em;
  line-height: 1.6;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}


/* ══════════════════════════════════════════════════
   TABLET-ANPASSUNGEN — Hero
   ══════════════════════════════════════════════════ */

/* Tablet hochkant */
@media only screen and (min-width: 768px) and (max-width: 960px) and (orientation: portrait) {
  .ce_split_words_2599,
  .ce_split_words_2599 .word_wrap,
  .ce_split_words_2599 .word {
    font-size: 2.2rem;
    line-height: 1.25;
  }
  .hero-claim,
  .hero-claim p {
    font-size: 1.05rem;
    line-height: 1.5;
  }
  .hero-claim {
    max-width: 600px !important;
  }
}

/* Tablet quer */
@media only screen and (min-width: 960px) and (max-width: 1366px)
   and (orientation: landscape) and (pointer: coarse) {
  .ce_split_words_2599,
  .ce_split_words_2599 .word_wrap,
  .ce_split_words_2599 .word {
    font-size: 2.6rem;
    line-height: 1.25;
  }
  .hero-claim,
  .hero-claim p {
    font-size: 1.15rem;
    line-height: 1.5;
  }
}


/* ══════════════════════════════════════════════════
   SILBENTRENNUNG
   Theme-Designer → Hyphenation = ON (global)

   Headline-Regeln tragen ein body-Präfix, weil das
   Designer-Stylesheet (12_*.css) NACH customize.css
   geladen wird und dort h1 { hyphens: none } steht.
   Ohne Präfix gewinnt bei gleicher Spezifität das
   Theme. Präfix bitte nicht entfernen.
   ══════════════════════════════════════════════════ */

/* 1 — Automatik zähmen + globale Notbremse */
html body {
  hyphenate-limit-chars: 6 3 3;
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
  overflow-wrap: break-word;
}

/* 2 — H1, Display-Typo, UI: nur manuelle Trennstellen
       H1 erfordert &shy; im Contao-Überschriftenfeld! */
body h1, body .h1,
.ce_split_words,
.ce_split_words .word,
.mod_navigation,
.btn, .button,
th, td {
  -webkit-hyphens: manual;
  hyphens: manual;
}

/* 3 — Übrige Headlines ab Desktop: ungetrennt */
@media only screen and (min-width: 1025px) {
  body h2, body h3, body h4, body h5, body h6,
  body .h2, body .h3, body .h4 {
    -webkit-hyphens: manual;
    hyphens: manual;
  }
}

/* 4 — Übrige Headlines darunter: Automatik, streng */
@media only screen and (max-width: 1024px) {
  body h2, body h3, body h4,
  body .h2, body .h3, body .h4 {
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 10 4 4;
  }
}

/* 5 — Überlauf-Schutz in Headlines */
body h1, body h2, body h3, body h4, body h5, body h6 {
  overflow-wrap: break-word;
  min-width: 0;
}

/* 6 — Links in Headlines: Theme-Regel a { hyphens: none }
       zurücknehmen, sonst greift in verlinkten Über-
       schriften weder Automatik noch &shy; */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.h1 a, .h2 a, .h3 a, .h4 a {
  -webkit-hyphens: inherit;
  hyphens: inherit;
  overflow-wrap: break-word;
  word-break: normal;
}


/* =============================================================================
 * mod_portfoliolist v1
 * ========================================================================== */

.mod_portfoliolist .item .title {
	margin-bottom: 7px;
	font-weight: normal;
}


/* =============================================================================
 * ce_portfoliofilter
 * ========================================================================== */

@media only screen and (max-width: 767px) {
	
	#wrapper .fullwidth .ce_portfoliofilter {
		padding: 0 31px;
	}
}


/* =============================================================================
 * Portfolioreader - Abstände zwischen Absätzen und Überschriften
 * ========================================================================== */

.portfolioreader .ce_text h3,
.portfolioreader .ce_text h4 {
    margin-top: 1.2em;
    margin-bottom: 0.35em;
}

/* erste Überschrift im Block soll nicht abgesetzt werden */
.portfolioreader .ce_text > h3:first-child,
.portfolioreader .ce_text > h4:first-child {
    margin-top: 0;
}





/* =============================================================================
 * Textauszeichnung medium anstelle von bold
 * ========================================================================== */

strong, b, th {
  font-weight: 500;
}


/* =============================================================================
 * ce_table
 * ========================================================================== */

.ce_table.table-clean th[scope="row"] {
  font-weight: 500;
  text-align: left;
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  width: 1%;
  vertical-align: top;
}


/* ---------------------------------------------
   Logo-Slider mit Abstand
   Contao-Klasse: gallery-slider-abstand
   --------------------------------------------- */

.gallery-slider-abstand .swiper-slide {
    box-sizing: border-box;
}

.gallery-slider-abstand .swiper-slide .image_container {
    margin: 0;                 /* figure-Default entfernen */
    padding: 0 10px;           /* = 40px optischer Abstand zwischen zwei Logos */
    box-sizing: border-box;
}

.gallery-slider-abstand .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .gallery-slider-abstand .swiper-slide .image_container {
        padding: 0 5px;
    }
}

