/*
 Theme Name:   Divi Child Theme SIGNUS
 Theme URI:    https://signus-media.de/
 Description:  Child Theme for Divi
 Author:       Cristina Maurer
 Author URI:   https://signus-media.de/
 Template:     Divi
 Version:      1.0.0
*/


/* imports:
================================================================================= */
@import url("css/font.css");
@import url("css/color.css");


/* abstand:
================================================================================= */
#et-main-area .et_pb_section {
  padding: 80px 0;
}
#et-main-area .et_pb_row {
  padding: 40px 0;
}
#et-main-area #lauftext-container {
  padding: 20px 0;
}
#et-main-area #hero-container {
  padding-bottom: 40px;
}
#et-main-area .et_pb_section.et_pb_fullwidth_section,
#et-main-area .et_section_specialty .et_pb_row,
#header-container, #header-container .et_pb_row,
#top-newsbar, #top-newsbar .et_pb_row,
#top-header, #top-header .et_pb_row,
#lauftext-container .et_pb_row,
.single #post-inhalt, .single #post-inhalt > .et_pb_row,
#footer-nav, #footer-nav .et_pb_row {
  padding: 0 !important;
}
.et_pb_section.abstand-oben-weg,
.et_pb_section.abstand-oben-weg .et_pb_row_inner,
.et_pb_section.abstand-oben-weg .et_pb_row:first-child,
.abstand-oben-weg.et_pb_row,
.abstand-oben-weg.et_pb_row_inner,
#h1-container {
  padding-top: 0 !important;
}
.et_pb_section.abstand-unten-weg,
.et_pb_section.abstand-unten-weg .et_pb_row_inner,
.et_pb_section.abstand-unten-weg .et_pb_row:last-child,
.abstand-unten-weg.et_pb_row,
.abstand-unten-weg.et_pb_row_inner {
  padding-bottom: 0 !important;
}
.et_pb_module {
  margin-bottom: 20px !important;
}
.topline.et_pb_module {
  margin-bottom: 10px !important;
}
.et_pb_module:last-child, .et_pb_accordion_item:last-child,
.tnp-field-button,
.img-round-container .et_pb_module {
  margin-bottom: 0 !important;
}


/* allgemein:
================================================================================= */
html {
  scroll-behavior: smooth;
}
#main-header .container,
#top-header .container {
  max-width: 90%;
}
.et_pb_row,
#main-header .container,
#top-header .container,
#main-footer .container {
  width: 90%; 
}
.single #post-inhalt > .et_pb_row {
  width: 100%;
  max-width: 100%;
}
#et-main-area {
  overflow-x: hidden;
}
.et-menu a:hover, .et_mobile_menu li a:hover, .nav ul li a:hover {
	opacity: 1;
}
.et_pb_equal_columns {
  align-items: center;
}
.img-round, .icn-round {
  padding: 10px;
}
.img-round, .icn-round, .img-round .et_pb_image_wrap, .img-round .et_pb_gallery_image {
  border-radius: 50%;
  overflow: hidden;
}
.single .img-round .et_pb_image_wrap {
  aspect-ratio: 1/1;
}
.single .img-round .et_pb_image_wrap img {
  object-fit: cover;
  height: 100%;
}
.img-round-container .img-round {
  max-width: 500px;
  margin: 0 auto;
}
.img-round-container .img-round-small {
  width: 200px;
  position: absolute;
  left: 0;
  top: 0;
}
.icn-round {
  width: 120px;
  position: absolute;
  right: 50px;
  bottom: 30px;
}
.icn-round:last-child {
  right: inherit;
  bottom: 165px;
}
.icn-round .et_pb_image_wrap {
  border-radius: 50%;
  width: 100%;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.icn-round .et_pb_image_wrap img {
  width: 50px !important;
}
.schrage-unterkante {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 120px), 0 100%);
  padding-bottom: 160px !important;
}
.schrage-oberkante {
  clip-path: polygon(0 120px, 100% 0, 100% 100%, 0% 100%);
  padding-top: 160px !important;
}
.et_pb_gallery_grid .et_pb_gallery_item {
  border-radius: 20px;
  overflow: hidden;
}
.et_pb_gallery_grid .et_pb_gallery_item.on_last_row {
  margin-bottom: 0;
}
.infobox {
  display: inline-block;
}
.infografik {
  max-width: 500px;
}


/* accordion:
================================================================================= */
.et_pb_toggle {
  border: 0 solid #072436;
  border-bottom: 1px solid #072436;
}
.et_pb_toggle_close, .et_pb_toggle_open {
  padding: 0px !important;
}
.et_pb_toggle .et_pb_toggle_title {
  padding: 0 45px 20px 0 !important;
}
.et_pb_toggle_content {
  padding: 0 80px 20px 0 !important;
}
.et_pb_toggle_title::before {
  right: 20px !important;
  top: 2px;
  margin-top: 0;
  position: absolute !important;
}
.et_pb_toggle_open .et_pb_toggle_title::before {
  display: block !important;
  content: "\23";
}
.et_pb_toggle_close .et_pb_toggle_title::before {
  display: block !important;
  content: "\23";
}
.et_pb_toggle_open .et_pb_toggle_title:hover::before {
  transform: rotate(90deg);
}
.et_pb_toggle_close .et_pb_toggle_title:hover::before {
  transform: rotate(-90deg);
}


/* blurb:
================================================================================= */
.et_pb_blurb_content {
  max-width: 100%;
}
.et_pb_main_blurb_image,
.et_pb_blurb_position_left .et_pb_main_blurb_image {
  max-width: 60px !important;
  width: auto;
  margin-bottom: 20px !important;
}
.et_pb_blurb_position_left .et_pb_main_blurb_image {
  margin-bottom: 0 !important;
}
.et_pb_main_blurb_image .et_pb_image_wrap {
  max-width: 50px !important;
  width: auto;
  margin: auto !important;
}
.et_pb_blurb_position_left .et_pb_blurb_container {
  padding-left: 10px !important;
}
.icn-container .et_pb_main_blurb_image, #bewertung-container .et_pb_main_blurb_image {
  border-radius: 50%;
  height: 60px;
  width: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icn-container .et_pb_main_blurb_image .et_pb_image_wrap, #bewertung-container .et_pb_main_blurb_image .et_pb_image_wrap, .icn-container .et-pb-icon, .qlink-small .et_pb_image_wrap {
  border-radius: 50%;
  height: 50px;
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.icn-container .et_pb_main_blurb_image .et_pb_image_wrap img, #bewertung-container .et_pb_main_blurb_image .et_pb_image_wrap img, .qlink-small .et_pb_image_wrap img {
  border-radius: unset;
  width: 50px;
  padding: 10px;
}
.qlink-small:hover .et_pb_image_wrap img {
  padding: 7px;
}
#quicklinks .et_pb_main_blurb_image, #quicklinks .et_pb_main_blurb_image .et_pb_image_wrap {
  max-width: 100% !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  display: block;
}


/* button:
================================================================================= */
.et_pb_button, .et_pb_button:hover, .wpcf7 .wpcf7-submit,
.nav-button a,
.tnp-field-button {
	padding: .8em 2.3em .8em 1em !important;
	border-radius: 50px;
	display: inline-block !important;
  line-height: 1.7em !important;
  border: 0 solid #072436 !important;
  overflow: hidden;
}
.nav-button {
  display: flex;
  align-items: center !important;
}
.et_pb_button::after, .nav-button a::after, .more-link::after, .et_pb_toggle_title::before, .tnp-field-button::after {
  font-family: ETmodules !important;
	font-size: 18px;
	line-height: 1.3em;
  content: "\24";
  opacity: 1;
  position: absolute;
  margin-left: 3px;
  -webkit-transition: all .2s;
  transition: all .2s;
  text-transform: none;
  -webkit-font-feature-settings: "kern" off;
  font-feature-settings: "kern" off;
  font-variant: none;
  font-style: normal;
  font-weight: 400;
  text-shadow: none;
}
.et_pb_button:hover::after, .nav-button a:hover::after, #quicklinks .et_pb_module:hover .et_pb_button::after, .tnp-field-button:hover::after {
  margin-left: 30px;
  opacity: 0;
}
.more-link {
  margin-top: 20px;
  display: flex !important;
}
.more-link::after, .et_pb_toggle_title::before {
  border-radius: 50%;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-left: 5px;
}
.tnp-field-button {
  line-height: 1.3em !important;
  width: 100%;
}
.tnp-field input[type="submit"] {
  padding: 0 !important;
}
.tnp-subscription input,
input.text, input.title, input[type="email"], input[type="password"], input[type="tel"], input[type="text"], select, textarea,
.wpcf7-response-output {
	border-radius: 20px;
}


/* kunden-container:
================================================================================= */
#kunden .et_pb_column {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  grid-gap: 40px;
}
#kunden .et_pb_image, .infografik {
  border-radius: 20px;
  overflow: hidden;
}


/* the newsletter plugin:
================================================================================= */
div.tnp-subscription, form.tnp-subscription, form.tnp-profile {
  margin: 0;
}


/* shadows:
================================================================================= */
header .has_et_pb_sticky #header-container {
  box-shadow: 0 8px 8px 0 rgba(0,16,16,.1);
}
#header-container .sub-menu,
.icn-container .et_pb_column,
#quicklinks .et_pb_blurb,
#bewertung-container .et_pb_column,
.stoerer-container .et_pb_row,
#kundenslider,
#post-inhalt .et_pb_image_wrap,
.et_pb_ajax_pagination_container article,
.referenzen .project,
.et_pb_gallery_grid .et_pb_gallery_item,
.infobox {
  box-shadow: 0 15px 13px 0 rgba(0,16,16,.14);
}
.bg-verlauf .et_pb_ajax_pagination_container article {
  box-shadow: 0 0 0 0 rgba(0,0,0,0);
}


/* transition:
================================================================================= */
a, img,
.et_pb_menu__logo,
.et_pb_blurb_content,
.et_pb_main_blurb_image,
.wpcf7 .wpcf7-submit,
.et_pb_toggle_title::before, .et_pb_toggle_title:hover::before,
#top-header, #header-container,
.et_pb_toggle_title:hover::before, .et_pb_toggle_title,
#header-container .et_pb_menu .et-menu > li > a::before, #header-container li.menu-leistungen li a::after,
.like-h4 {
  -webkit-transition: all .3s ease 0ms !important;
  transition: all .3s ease 0ms !important;
}


/* top-header:
================================================================================= */
#top-newsbar {
  padding: 10px 0 !important;
}
#top-newsbar, #top-header {
  padding-top: 10px !important;
}
#top-header .et_pb_column, .et_pb_blurb_position_left .et_pb_blurb_content {
  display: flex;
  align-items: center;
}
#top-header .et_pb_column, #top-header .et_pb_blurb_content {
  justify-content: flex-end;
}
#top-header .et_pb_blurb {
  margin-left: 20px;
  margin-bottom: 0 !important;
}
#top-header .et_pb_blurb:first-child {
  margin-left: 0;
}
#top-header .et_pb_blurb, #top-header .et_pb_main_blurb_image {
  margin-bottom: 0;
}
#top-header .et_pb_main_blurb_image, #top-header .et_pb_main_blurb_image img {
  max-width: 22px;
}
#top-header .et_pb_blurb_container {
  padding-left: 5px;
}


/* header:
================================================================================= */
.home header {
  position: absolute;
}
.home header, .home .et_builder_inner_content {
  width: 100%;
}
#header-container .et_pb_menu__logo-wrap {
  position: absolute;
  top: -5px;
}
#header-container .et_pb_menu__logo {
  max-width: 150px;
  padding: 0;
}
.has_et_pb_sticky #header-container .et_pb_menu__logo {
  max-width: 135px;
  padding: 0;
}
.et_pb_menu .et_pb_menu__wrap {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
#header-container .et_pb_menu .et-menu {
  margin-left: -20px;
  margin-right: -20px;
}
#header-container .et_pb_menu .et-menu > li {
  padding-left: 20px;
  padding-right: 20px;
}
#header-container .et_pb_menu .et-menu > li > a {
  position: relative;
}
#header-container .et_pb_menu .et-menu > li > a::before {
  position: absolute;
  content: '';
  left: 0;
  bottom: 25px;
  height: 1px;
  width: 100%;
}
.home #header-container .et_pb_menu .et-menu > li > a::before {
  background-color: #fff;
}
#header-container .et_pb_menu .et-menu > li > a::before,
.home .has_et_pb_sticky #header-container .et_pb_menu .et-menu > li > a::before {
  background-color: #072436;
}
#header-container .et_pb_menu .et-menu > li > a::before, #header-container .et_pb_menu .et-menu > li.nav-button:hover > a::before, #header-container .et_pb_menu .et-menu > li.nav-button.current-menu-item > a::before {
  transform-origin: left;
  transform: scaleX(0);
}
#header-container .et_pb_menu .et-menu > li > a:hover::before, #header-container .et_pb_menu .et-menu > li.current-menu-item > a::before, #header-container .et_pb_menu .et-menu > li.current-menu-ancestor > a::before {
  transform: scaleX(1);
}
.nav li ul {
  width: 300px;
  padding: 20px !important;
  border-radius: 0 0 20px 20px;
}
#header-container li li {
  padding: 0;
  line-height: 2.5em;
}
#header-container li li, .nav li li a {
  width: 100%;
}
#header-container li li a {
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
}
#header-container li.menu-leistungen li a::before {
  position: relative;
  content: '';
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 10px;
  z-index: 1;
}
#header-container li.menu-leistungen li.menu-fahrzeug a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-fahrzeugbeschriftung-dark.png);
}
#header-container li.menu-leistungen li.menu-folie a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-folienbeschriftung-dark.png);
}
#header-container li.menu-leistungen li.menu-hinweis a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-hinweissysteme-dark.png);
}
#header-container li.menu-leistungen li.menu-aussen a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-aussenwerbung-dark.png);
}
#header-container li.menu-leistungen li.menu-messe a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-messesysteme-dark.png);
}
#header-container li.menu-leistungen li.menu-druck a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-print-dark.png);
}
#header-container li.menu-leistungen li.menu-stempel a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-stempel-dark.png);
}
#header-container li.menu-leistungen li.menu-artikel a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-werbeartikel-dark.png);
}
#header-container li.menu-leistungen li.menu-textil a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-textilbeschriftung-dark.png);
}
#header-container li.menu-leistungen li.menu-web a::before {
  background-image: url(img/icons/signus-werbetechnik-deggendorf-icn-website-dark.png);
}
#header-container li.menu-leistungen li a::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 15px;
  left: 3px;
  top: 8px;
  background-color: #1388cc;
  border-radius: 50%;
  z-index: 0;
  transform: scale(0);
  transform-origin: center;
}
#header-container li.menu-leistungen li.current-menu-item a::after, #header-container li.menu-leistungen li:hover a::after {
  transform: scale(1);
}



/* hero-container:
================================================================================= */
#hero-container {
  height: 840px;
  margin-top: -40px;
  display: flex;
  flex-direction: column;  /* Elemente vertikal anordnen */
  justify-content: flex-end; /* Alle Elemente nach unten */
}
#hero-container .et_pb_row {
  margin: 0 auto;
  overflow: hidden;
}
#hero-container .et_parallax_bg::before, .stoerer-container .stoerer-img .et_parallax_bg::before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#hero-container .header-textblock {
  max-width: 410px;
}
#h1-container .et_pb_column_4_4 .header-textblock {
  max-width: 48.5%;
}


/* SIGNUS ICON SLIDER
================================================================================ */
.signus-icon-slider, .signus-icon-slider .swiper {
  width: 100%;
  overflow: visible;
}
.signus-icon-slider .swiper-slide {
  display: flex;
  justify-content: flex-start;
  box-sizing: border-box;
  text-align: left;
}
.signus-icon-slider .signus-icon-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #fff;
  position: relative;
  border: 1px solid #fff;
  border-radius: 999px;
  padding: 8px;
  transition:
    padding-right 1s ease,
    padding-left  1s ease,
    border-color  .8s ease,
    background-color .8s ease;
  overflow: hidden;
}
.signus-icon-slider .signus-icon-link .signus-icon-container {
  display: inherit;
  position: relative;
}
.signus-icon-slider .signus-icon-link .signus-icon-container::before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  z-index: -1;
  transition: all 1s ease;
}
.signus-icon-slider .swiper-slide-active .signus-icon-link .signus-icon-container::before,
.signus-icon-slider .signus-icon-link:hover .signus-icon-container::before {
  width: 42px;
  height: 42px;
  right: inherit;
  left: calc(50% - 21px);
  top: calc(50% - 21px);
}
.signus-icon-slider .signus-icon-link img {
  width: 35px;
  height: 35px;
  flex-shrink: 0;
}
.signus-icon-slider .signus-icon-link .label {
  display: inline-block;
  margin-left: 0;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  transition:
    max-width 1s ease,
    opacity   .8s ease,
    margin-left 1s ease;
}
.signus-icon-slider .signus-icon-link:hover,
.signus-icon-slider .signus-icon-link:focus {
  padding-left: 8px;
  padding-right: 8px;
}
.signus-icon-slider .signus-icon-link:hover .label,
.signus-icon-slider .signus-icon-link:focus .label {
  margin-left: 8px;
  max-width: 220px;
  opacity: 1;
}
/* --- „Linkes aktives Slide“ (vom JS gesetzt): Label dauerhaft sichtbar --- */
.signus-icon-slider .swiper-slide.show-label .signus-icon-link {
  padding-left: 8px;
  padding-right: 8px;
}
.signus-icon-slider .swiper-slide.show-label .signus-icon-link .label {
  margin-left: 8px;
  max-width: 220px;
  opacity: 1;
}


/* icn-container:
================================================================================= */
.icn-container .et_pb_column {
  padding: 20px;
  border-radius: 20px;
}
.icn-container, #bewertung-container {
  align-items: stretch;
}


/* kontakt-container:
================================================================================= */
#kontakt-container .et_parallax_bg_wrap {
  opacity: .3;
}
#kontakt-container .et_pb_image_wrap .et-pb-icon {
  border: 1px dashed #fff;
  width: 50px;
  padding: 10px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* lauftext-container:
================================================================================= */
.sidebar {
  padding: 20px !important;
  border-radius: 20px;
  margin-top: 40px;
}


/* lauftext-container:
================================================================================= */
.marquee-container {
  margin-top: 10px;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  position: relative;
}
.marquee-track {
  display: flex;
  width: max-content;
}
.marquee-content {
  white-space: nowrap;
  padding-right: 4px;
}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.marquee-animate {
  animation: scroll linear infinite;
}
.marquee-container:hover .marquee-track {
  animation-play-state: paused;
}


/* quicklinks-container:
================================================================================= */
#quicklinks .et_pb_column, .qlinks-small-container .et_pb_column {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 40px;
}
#quicklinks .et_pb_module, #referenzen .et_pb_module {
  margin-bottom: 0 !important;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
#quicklinks .et_pb_module:hover .et_pb_main_blurb_image img,
.referenzen .project:hover .et_portfolio_image img, .referenzen article:hover .entry-featured-image-url img {
  transform: scale(1.1);
}
#quicklinks .et_pb_blurb_container {
  position: absolute;
  left: -40px;
  bottom: 40px;
  width: calc(100% + 80px);
  padding: 20px 60px 20px;
  transform: rotate(-8deg);
}
#quicklinks .et_pb_button {
  float: right;
}


/* blog:
================================================================================= */
.post-meta a {
  pointer-events: none;
}
.et_pb_ajax_pagination_container {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 40px;
}
.et_pb_ajax_pagination_container article {
  margin-bottom: 0;
  border: 1px solid white;
  border-radius: 20px;
  padding: 20px;
}
.et_pb_ajax_pagination_container .entry-featured-image-url {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px !important;
  max-height: 200px;
  display: flex;
}
.et_pb_ajax_pagination_container .entry-featured-image-url img {
  object-fit: cover;
}
.post-meta {
  padding: 5px 10px !important;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}
.single .post-meta {
  display: inline-flex;
  margin-right: 10px;
}
.single-project .post-meta-blog,
.single-post .post-meta-projekt {
  display: none;
}
#post-inhalt .et_pb_image_wrap {
  border-radius: 20px;
  overflow: hidden;
}
.referenzen .et_pb_ajax_pagination_container article {
  padding: 0;
  overflow: hidden;
}
.referenzen .entry-featured-image-url {
  margin-bottom: 0 !important;
  max-height: 100%;
}
.referenzen .project {
  overflow: hidden;
}
.referenzen .et_pb_module_header, .referenzen .post-meta, .referenzen .entry-title {
  position: absolute;
  transform: rotate(-8deg);
  bottom: 0;
  right: 0;
}
.referenzen .et_pb_module_header, .referenzen .entry-title {
  margin-top: 0;
  left: -40px;
  bottom: 40px;
  width: calc(100% + 80px);
  padding: 20px 60px 20px;
}
.referenzen .post-meta {
  right: 20px;
  bottom: 42px;
  margin-top: 0;
  margin-bottom: 0;
  transform: rotate(0);
  top: 20px;
  bottom: inherit;
}
.et_pb_ajax_pagination_container > div {
  position: absolute;
  bottom: -50px;
  width: 100%;
  height: 30px;
}


/* seo-seiten:
================================================================================= */
.container-mit-sidebar .et_pb_row {
  display: flex !important;
  align-items: flex-start;
  gap: 20px;
  overflow: visible !important;
  transform: none !important;
}

/* Sidebar-Spalte */
.container-mit-sidebar .sidebar {
  position: relative; /* wird per JS / sticky überschrieben */
  flex: 0 0 33% !important;
  max-width: 33% !important;
  align-self: flex-start;
  z-index: 1000;
  height: auto;
}

/* Content-Spalte rechts */
.container-mit-sidebar .et_pb_specialty_column {
  flex: 1 1 auto !important;
  width: auto !important;
  overflow: visible !important;
}

/* Klasse für native sticky (falls Browser/DOM es erlaubt) */
.container-mit-sidebar .sidebar.use-native-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 20px; /* passe an Header-Höhe + Abstand an */
}



.ein-drittel-zwei-drittel .img-round-container {
  width: 300px !important;
  margin-right: 40px !important;
}
.ein-drittel-zwei-drittel .et_pb_column:not(.img-round-container) {
  width: calc(100% - 340px) !important;
}
.et_pb_specialty_column .img-round {
  max-width: 300px !important;
  margin-left: 0 !important;
}



/* referenzen-container:
================================================================================= */
#referenzen-container .et_pb_row:first-child {
  z-index: 0 !important;
}
#referenzen .et_pb_column, .referenzen .et_pb_ajax_pagination_container {
  width: 1380px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-flow: dense;
  grid-auto-rows: calc((1380px - (3 * 40px)) / 4);
  gap: 40px;
}
.referenzen .et_pb_ajax_pagination_container {
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: calc((1380px - (2 * 40px)) / 3);
}
#referenzen .et_pb_module, #referenzen .et_pb_image_wrap, #referenzen .et_pb_module img, .referenzen .et_pb_ajax_pagination_container a, .referenzen .et_pb_ajax_pagination_container .et_portfolio_image, .referenzen .et_pb_ajax_pagination_container img {
  height: 100%;
  width: 100%;
}
#referenzen .et_pb_module img, .referenzen .et_pb_ajax_pagination_container img {
  object-fit: cover;
}
#referenzen .et_pb_module, #referenzen .et_pb_module img, .referenzen .project, .referenzen .et_pb_ajax_pagination_container img {
  border-radius: 20px;
}
.grid-img-big {
  grid-column: span 2;
	grid-row: span 2;
}
.grid-img-lang {
  grid-column: span 2;
  grid-row: span 1;
}
.grid-img-hoch {
  grid-column: span 1;
  grid-row: span 2;
}
.grid-column-end {
  grid-column-end: 5; /* Element soll am Ende des Grids platziert sein */
}
.grid-column-empty, .like-h2.grid-img-lang, #referenzen-container .like-h3 {
  display: flex;
  align-items: center;
  padding: 20px;
}
.grid-column-empty {
  justify-content: center;
}
.flip-img-container .et_pb_code_inner {
  height: 100%;
  transform-style: preserve-3d;
  animation: rotateCycle8 8s infinite;
  transform-origin: center;
}
.grid-img-big.flip-img-container .et_pb_code_inner {
  animation: rotateCycle20 20s infinite;
}
.flip-img-container-vertical .et_pb_code_inner {
  animation: rotateCycle8vertical 8s infinite;
}
.grid-img-lang.flip-img-container-vertical .et_pb_code_inner {
  animation: rotateCycle20vertical 20s infinite;
}
.flip-img-container .flip-img-front, .flip-img-container .flip-img-back {
  margin-bottom: 0 !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  display: flex;
  align-items: center;
  border-radius: 10px;
}
.flip-img-container .flip-img-front {
  z-index: 2;
}
.flip-img-container .flip-img-back {
  transform: rotateY(-180deg);
}
.flip-img-container-vertical .flip-img-back {
  transform: rotateX(-180deg);
}
@keyframes rotateCycle8 {
  0% {
    transform: rotateY(0deg); /* Startposition */
  }
  25% {
    transform: rotateY(0deg); /* Erste Drehung nach 3 Sekunden */
  }
  50% {
    transform: rotateY(180deg); /* Zweite Drehung nach weiteren 3 Sekunden */
  }
  75% {
    transform: rotateY(180deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  100% {
    transform: rotateY(360deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
}
@keyframes rotateCycle20 {
  0% {
    transform: rotateY(0deg); /* Startposition */
  }
  12.5% {
    transform: rotateY(0deg); /* Erste Drehung nach 3 Sekunden */
  }
  25% {
    transform: rotateY(0deg); /* Zweite Drehung nach weiteren 3 Sekunden */
  }
  37.5% {
    transform: rotateY(180deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  50% {
    transform: rotateY(180deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  62.5% {
    transform: rotateY(180deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  75% {
    transform: rotateY(360deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  77.5% {
    transform: rotateY(360deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  100% {
    transform: rotateY(360deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
}
@keyframes rotateCycle8vertical {
  0% {
    transform: rotateX(0deg); /* Startposition */
  }
  25% {
    transform: rotateX(0deg); /* Erste Drehung nach 3 Sekunden */
  }
  50% {
    transform: rotateX(180deg); /* Zweite Drehung nach weiteren 3 Sekunden */
  }
  75% {
    transform: rotateX(180deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  100% {
    transform: rotateX(360deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
}
@keyframes rotateCycle20vertical {
  0% {
    transform: rotateX(0deg); /* Startposition */
  }
  12.5% {
    transform: rotateX(0deg); /* Erste Drehung nach 3 Sekunden */
  }
  25% {
    transform: rotateX(0deg); /* Zweite Drehung nach weiteren 3 Sekunden */
  }
  37.5% {
    transform: rotateX(180deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  50% {
    transform: rotateX(180deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  62.5% {
    transform: rotateX(180deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  75% {
    transform: rotateX(360deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  77.5% {
    transform: rotateX(360deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
  100% {
    transform: rotateX(360deg); /* Dritte Drehung nach weiteren 3 Sekunden */
  }
}


/* kunden-container:
================================================================================= */
.dica-image-container {
  border-radius: 10px;
}
.dica-container .swiper-pagination {
  margin-top: 20px;
}


/* bewertung-container:
================================================================================= */
#bewertung-container .et_pb_column, #kundenslider, .infobox {
  padding: 20px !important;
}
#kundenslider, .stoerer-container .et_pb_row {
  margin-bottom: 40px;
}
#bewertung-container .et_pb_column, #kundenslider, .stoerer-container .et_pb_row, .infobox {
  border: 1px solid white;
  border-radius: 20px;
}


/* stoerer-container:
================================================================================= */
.stoerer-container .et_pb_row {
  padding: 0 !important;
  margin-top: 40px;
  overflow: hidden;
  align-items: stretch;
}
.stoerer-container .stoerer-text {
  padding: 20px;
}
.stoerer-container .et_pb_column_1_2.stoerer-text {
  padding: 20px 20px 20px 0;
}
.stoerer-container .et_pb_column_1_2.stoerer-text.align-right {
  padding: 20px 0 20px 20px;
}

/* wpcf7-container:
================================================================================= */
.half-container {
  display: flex;
  margin: 0 -5px;
}
.half {
  padding: 0 5px 10px;
}
input, select, textarea, .wpcf7 form .wpcf7-response-output {
  width: 100%;
  max-width: 100%;
  padding: 10px 24px !important;
}
input[type=checkbox] {
  width: 15px;
}
textarea {
  min-height: 100px;
  height: 100px;
}
.wpcf7-spinner {
  position: absolute;
  top: 0;
  right: 0;
}
.wpcf7-list-item,
input[type="checkbox"] {
  margin-left: 0;
}
::placeholder {
  opacity: 1;
}


/* main-footer:
================================================================================= */
#footer-container .et_pb_menu .et_pb_menu__wrap, #footer-container .et_pb_menu .et_pb_menu__menu > nav > ul {
  display: block;
}
#footer-container .et_pb_image_wrap {
  max-width: 135px;
}
#footer-container .et_pb_menu--without-logo .et_pb_menu__menu > nav > ul > li:first-child {
  margin-top: 0;
}

/* responsive:
================================================================================= */
@media only screen and (max-width: 1550px) {
  #referenzen .et_pb_column, .referenzen .et_pb_ajax_pagination_container {
    width: 90vw;
    grid-auto-rows: calc((90vw - (3 * 40px)) / 4);
  }
  .referenzen .et_pb_ajax_pagination_container {
    grid-auto-rows: calc((90vw - (2 * 40px)) / 3);
  }
}
@media only screen and (max-width: 1400px) {
  .img-round-container .img-round {
    max-width: 450px;
    margin: 0 0 0 auto;
  }
  .icn-round {
    right: 0;
    bottom: 10px;
  }
}
@media only screen and (max-width: 1120px) {
  #quicklinks .et_pb_column, .qlinks-small-container .et_pb_column { grid-template-columns: repeat(2,1fr); }
  .referenzen .et_pb_ajax_pagination_container {
    grid-auto-rows: calc((90vw - (1 * 40px)) / 2);
    grid-template-columns: repeat(2, 1fr);
  }
  .ein-drittel-zwei-drittel {
    display: block !important;
  }
  .ein-drittel-zwei-drittel .img-round-container {
    float: none;
    margin-bottom: 20px;
    margin-right: 0 !important;
  }
  .ein-drittel-zwei-drittel .et_pb_column:not(.img-round-container) {
    width: 100% !important;
  }
}
@media only screen and (max-width: 980px) {
  #et-main-area .et_pb_section { padding: 60px 0; }
  #et-main-area .et_pb_row { padding: 20px 0; }
  .et_pb_column, .text-img .et_pb_column:last-child { margin-bottom: 20px !important; }
  .et_pb_column:last-child, .text-img .et_pb_column:first-child { margin-bottom: 0 !important; }
  #header-container .sub-menu {
  box-shadow: 0 0 0 0 rgba(0,0,0,0); }
  #header-container .et_pb_menu__logo-wrap { top: -15px; }
  #header-container .et_pb_menu__logo {
    max-width: 130px;
    padding: 0;
  }
  #header-container .et_pb_menu .et_pb_menu__wrap { padding: 15px 0; }
  .has_et_pb_sticky #header-container .et_pb_menu__logo-wrap { top: -19px; }
  .has_et_pb_sticky #header-container .et_pb_menu__logo { max-width: 95px; }
  .has_et_pb_sticky #header-container .et_pb_menu .et_pb_menu__wrap { padding: 10px 0; }
  .et_pb_menu .et_mobile_nav_menu { margin: 0; }
  .et_pb_menu .et_mobile_menu li ul { padding-left: 37px; }
  .et_pb_menu__wrap .mobile_menu_bar {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .et_pb_module .mobile_menu_bar::before { top: 0; }
  .nav-button { margin-top: 15px; }
  #footer-container .et_pb_menu__menu { display: block; }
  #footer-container .et_mobile_nav_menu { display: none; }
  #referenzen .et_pb_column {
    grid-auto-rows: calc((90vw - (2 * 40px)) / 3);
    grid-template-columns: repeat(3, 1fr);
  }
  .et_pb_column .et_pb_grid_item { margin: 0 30px 30px 0; width: calc(33.333% - 20px); }
  .et_pb_column .et_pb_grid_item.last_in_row { margin-bottom: 0; }
  .img-round-container .img-round {
    max-width: 100%;
    margin: 0 auto;
  }
  .single .img-round .et_pb_image_wrap img {
    width: 100%;
  }
  .img-round-container .img-round-small {
    position: relative;
    margin-top: -70px !important;
  }
  .icn-round:last-child { bottom: 110px; }
  .text-img {
    display: flex;
    flex-direction: column-reverse;
  }
  .et_pb_ajax_pagination_container { grid-template-columns: repeat(1,1fr); }
  .et_pb_ajax_pagination_container .entry-featured-image-url { max-height: 300px; }
  .stoerer-container .stoerer-img {
    height: 300px;
    display: block;
    margin-bottom: 0 !important;
  }
  .stoerer-container .et_pb_column_1_2.stoerer-text, .stoerer-container .et_pb_column_1_2.stoerer-text.align-right {
    padding: 20px;
    margin-bottom: 0 !important;
  }
  .container-mit-sidebar .et_pb_row { display: block !important; }
  .container-mit-sidebar .sidebar,
  .container-mit-sidebar .et_pb_specialty_column {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }
}
@media only screen and (max-width: 767px) {
  #top-header .et_pb_blurb:last-child { display: none; }
  #referenzen .et_pb_column, .referenzen .et_pb_ajax_pagination_container {
    grid-auto-rows: calc((90vw - (1 * 40px)) / 2);
    grid-template-columns: repeat(2, 1fr);
  }
  #quicklinks .et_pb_column, .qlinks-small-container .et_pb_column { grid-template-columns: repeat(1,1fr); }
  .referenzen .et_pb_ajax_pagination_container {
    grid-auto-rows: calc((90vw - (0 * 40px)) / 1);
    grid-template-columns: repeat(1, 1fr);
  }
  .et_pb_column .et_pb_grid_item { width: calc(50% - 15px); }
  .schrage-unterkante {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), 0 100%);
    padding-bottom: 120px !important;
  }
  .schrage-oberkante {
    clip-path: polygon(0 60px, 100% 0, 100% 100%, 0% 100%);
    padding-top: 120px !important;
  }
}
@media only screen and (max-width: 630px) {
  #hero-container { height: 740px; }
  #referenzen .et_pb_column, .referenzen .et_pb_ajax_pagination_container {
    grid-auto-rows: calc((90vw - (1 * 30px)) / 2);
    gap: 30px;
  }
  #quicklinks .et_pb_column { gap: 30px; }
  .referenzen .et_pb_ajax_pagination_container {
    grid-auto-rows: calc((90vw - (0 * 30px)) / 1);
    gap: 30px;
  }
  .half-container { display: block; }
}
@media only screen and (max-width: 440px) {
  #header-container .et_pb_menu__logo-wrap, .has_et_pb_sticky #header-container .et_pb_menu__logo-wrap { top: -5px; }
  #header-container .et_pb_menu__logo { max-width: 95px; }
  #header-container .et_pb_menu .et_pb_menu__wrap { padding: 10px 0; }
}
@media only screen and (max-height: 735px) {
  .et_mobile_menu {
    height: calc(100vh - 200px);
    overflow: scroll;
  }
}
@media only screen and (max-height: 735px) and (max-width: 767px) {
  .et_mobile_menu { height: calc(100vh - 150px); }
}