/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Webdesire
Author URI: https://www.webdesire.de
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.7.1776240922
Updated: 2026-04-15 08:15:22

#2700B4
#00C1FF
*/


/* TEXT-TOOLS ########################################################################################################## */
/* ---------------------------------------------------------------------------------------------------------------------- */

/* automatische Silbentrennung aktivieren */
.auto-worttrennung  {
	hyphens:auto!important;
}

/* Fettschrift wird blau */
.strongblue strong {
	color:#00C1FF;
}

/* normale Schriftschnitt erzwingen */
.unbold  {
	font-weight:normal!important;
}

/* unterteilt H1 optisch */
.h1divider  {
	margin-top:1.2rem;
	display:inline-block;
	font-size:80%;
}

@media (max-width: 767px) {
	.h1divider  {
	margin-top:.9rem;
   }
}

@media (max-width: 1024px){
	.onlymobile {
		display:none;
	}
}



/* LINKS ################################################################################################################ */
/* ---------------------------------------------------------------------------------------------------------------------- */

/* Link übernimmt Textfarbe (Override für Theme-Style) */
a,
a:visited,
a:hover,
a:focus,
a:active {
  color: inherit;
}

/* unterstrichene Links im Text */
.link_underlined  {
   text-decoration: underline;
   text-decoration-color: #00c1ff;
	text-decoration-thickness: 2px;
	text-underline-offset: 8px;
}

/* unterstrichene Links bei aktivem Menüpunkt */
.menu_underlined .elementor-item-active  {
   text-decoration: underline;
   text-decoration-color: #00c1ff;
	text-decoration-thickness: 2px;
	text-underline-offset: 8px;
}

/* responiver Abstand zwischen Menüpunkten (Hauptmenü) */
.main-menu .elementor-nav-menu {
  gap: 0 clamp(20px, 3.5vw, 55px) !important;
}

.main-menu .elementor-nav-menu > li:last-child,
.main-menu .elementor-nav-menu > li:last-child > a {
  margin-right: 0 !important;
  padding-right: 0 !important;
}



/* SIDE-BUTTONS ######################################################################################################### */
/* ---------------------------------------------------------------------------------------------------------------------- */

.side-buttons {
  position: fixed !important;
  right: 0;
  top: 45%;
  transform: translateY(-50%);
  z-index: 10 !important;
}

@media (max-width: 1430px) {
   .side-buttons  {
      display: none !important;
   }
}


/* COUNTER ############################################################################################################## */
/* ---------------------------------------------------------------------------------------------------------------------- */

.elementor-counter-title  {
    text-align: center;
	line-height: 1.2 !important;
}




/* ÜBERSCHRIFTEN ######################################################################################################## */
/* ---------------------------------------------------------------------------------------------------------------------- */

h1, h2, h3  {
	hyphens:auto;
}
h2  {
	padding-bottom:2.5rem;
}

h3  {
	padding-bottom:2.2rem;
}

/* blaues Dreieck überhalb H1 */
.headline-triangle {
  position: relative;
  display: inline-block;
  padding-top: 3.5rem;
}

.headline-triangle .elementor-heading-title {
  position: relative;
}

.headline-triangle .elementor-heading-title::before {
  content: "";
  position: absolute;
  top: -3.5rem;
  left: 0;
  width: 2.4rem;
  height: 2.1rem;
  z-index: 2;

  background-image: url("/wp-content/uploads/2026/05/Pfeil_cyan.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media (max-width: 767px) {
  .headline-triangle {
    padding-top: 2.5rem;
  }

  .headline-triangle .elementor-heading-title::before {
    top: -2.5rem;
    width: 1.8rem;
     height: 1.4rem;
  }
}


/* NINJA-FORMS (Formulare) ############################################################################################## */
/* ---------------------------------------------------------------------------------------------------------------------- */

.nf-form-cont input[type="text"],
.nf-form-cont input[type="email"],
.nf-form-cont input[type="tel"],
.nf-form-cont input[type="number"],
.nf-form-cont input[type="url"],
.nf-form-cont textarea,
.nf-form-cont select {
    border-radius: 10px !important;
	padding-left:2rem;
	padding-right:2rem;
	font-size:1.25rem;
	color:#2700B4;
}

.ninja-forms-field::placeholder {
  color: rgba(39, 0, 180, 0.65);
}

.nf-error-msg, .nf-error-required-error  {
	color:#fff !important;
	padding-left:2rem;
}


/* Submit-Button */
.nf-form-cont input[type="submit"],
.nf-form-cont button[type="submit"] {
	background:#fff !important;
    border-radius: 999px;
	padding:15px 30px !important;
	color:#2700B4 !important;
	font-size:1.25rem;
	font-weight:bold;
}

.nf-form-content input[type="button"],
.nf-form-content input[type="submit"] {
  padding-right: 65px !important;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='18' viewBox='0 0 14 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 1.5L13 9L1.5 16.5Z' fill='%232700B4' stroke='%232700B4' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 28px) center !important;
  background-size: 11px 14px !important;
}

.nf-form-content .submit-wrap {
    text-align: right;
	margin-top:45px !important;
}

.nf-form-fields-required  {
	display:none !important;
}


.nf-response-msg  {
   background: #fff;
   border-radius: 15px;
   padding: 2rem 3rem;
   color: #2700B4 !important;
}

.nf-response-msg p + p {
    margin-top: 0;
    padding-top: 0;
}


/* BUTTONS ############################################################################################################## */
/* ---------------------------------------------------------------------------------------------------------------------- */

/* Dreieck #2700B4 */
.elementor-button-triangle .elementor-button  {
  padding-right: 65px !important;

  background-image: url("data:image/svg+xml,%3Csvg width='14' height='18' viewBox='0 0 14 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 1.5L13 9L1.5 16.5Z' fill='%232700B4' stroke='%232700B4' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 28px) center !important;
  background-size: 11px 14px !important;
}

/* Dreieck #ffffff */
.elementor-button-triangle2 .elementor-button  {
  padding-right: 65px !important;

  background-image: url("data:image/svg+xml,%3Csvg width='14' height='18' viewBox='0 0 14 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 1.5L13 9L1.5 16.5Z' fill='%23ffffff' stroke='%23ffffff' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 28px) center !important;
  background-size: 11px 14px !important;
}


/* große Textblock-Buttons */
.custom-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 6.5rem;
  box-sizing: border-box;
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.25)!important;
  padding: 0 2.5rem;
  border-radius: 999px;
  text-decoration: none;
  background: #2700B4;
  color: #fff !important;

  font-weight: bold !important;
  font-size: 1.125rem;
  line-height: 1;
}

.custom-button:visited,
.custom-button:hover,
.custom-button:focus,
.custom-button:active {
  color: #fff !important;
  text-decoration: none;
}

.custom-button-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
  gap: 8px;
  color: inherit;
  font-weight: bold !important;
  line-height: 1;
}

.custom-button-text span {
  display: block;
}

.custom-button-sub {
  display: block;
  font-weight: normal !important;
}


@media (max-width: 767px) {
	.custom-button {
  padding: 0 1.8rem;
		height: 5rem;
	}
}


.custom-button-triangle {
  flex: 0 0 auto;
  width: 14px;
  height: 18px;
  margin-left: 16px;

  background-image: url("/wp-content/uploads/2026/05/pfeil_weiss.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 18px;
  border: none;
}




/* BILD ÜBER CONTAINER ZIEHEN (responsiv) ############################################################################### */
/* ---------------------------------------------------------------------------------------------------------------------- */
/* (bei "Medien" - Tageszeitungen) */

@media (min-width: 1024px){
	
.e-con:has(> .elementor-widget-image.bild-oben) {
  container-type: inline-size;

  --bildbreite: min(97cqw, 336px);
  --bild-ratio: 0.696;
  --abstand-text: clamp(0px, calc(var(--bildbreite) * 0.02), 18px);
  --extra-hochziehen: 0px;

  position: relative !important;
  overflow: visible !important;

  padding-top: calc((var(--bildbreite) * var(--bild-ratio) / 2) - var(--extra-hochziehen) + var(--abstand-text)) !important;
}

.e-con:has(> .elementor-widget-image.bild-oben) > .elementor-widget-image.bild-oben {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, calc(-50% - var(--extra-hochziehen))) !important;
  z-index: 10 !important;
  text-align: center !important;
}

.e-con:has(> .elementor-widget-image.bild-oben) > .elementor-widget-image.bild-oben .elementor-widget-container {
  width: 100% !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.e-con:has(> .elementor-widget-image.bild-oben) > .elementor-widget-image.bild-oben img {
  width: var(--bildbreite) !important;
  height: auto !important;
  max-width: 100% !important;

  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.elementor-counter-number, .elementor-counter-number-suffix {
  font-size: clamp(3rem, 5.5vw, 5rem) !important;
}

}

/* Bild mit anderen Seitenverhältnissen */
@media (min-width: 1024px) {

  .e-con:has(> .elementor-widget-image.bild-oben-anders) {
    --bild-ratio: 0.84;
	--extra-hochziehen: 22px;
  }

}

/* KARUSSELS ############################################################################################################ */
/* ---------------------------------------------------------------------------------------------------------------------- */

/* erzwingt identische Containerhöhe */

.same-height-carousel .swiper-slide {
  height: auto !important;
}

.same-height-carousel .swiper-slide > * {
  height: 100%;
}

.same-height-carousel .elementor-widget-container,
.same-height-carousel .e-con,
.same-height-carousel .elementor-container {
  height: 100%;
}


/* FOOTER ############################################################################################################### */
/* ---------------------------------------------------------------------------------------------------------------------- */

@media (min-width: 768px){
#footermenu {
  text-align: right;
}

#footermenu a {
  display: block;
  text-align: right;
}
}
