/*
Theme Name: Trinity Child
Template: trinity
*/

html,
body {
	height: 100%;
	
/* Bodytext */
font-family: "public-sans" !important;
font-style: normal !important;
font-weight: 400 !important;
font-size: 16px !important;
line-height: 145% !important;
leading-trim: both !important;
text-edge: cap !important;
letter-spacing: 0.01em !important;
color: #000A46 !important;
flex: none !important;
order: 1 !important;
flex-grow: 0 !important;
}


html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}



.header_h1 h1{
	font-family:"public-sans-bold" !important;
	color:#fff !important;
	font-weight: 700 !important;
	font-size: 60px !important;
}
.header_h1{
	top: 250px !important;
}


#header_img{
  top: -80px !important;
  position: relative;
  height: 440px;
}


.video_start,
.video_start .elementor-widget-container,
.video_start .e-hosted-video,
.video_start .e-hosted-video video {
	height: 100%;
}

.video_start .e-hosted-video {
	height: 75% !important;
}

.video_start_container {
filter: blur(8px);
}


.e-con > .e-con-inner{
	padding-top:0px !important;
}



.start_rahmen_border{
	  width: 343px !important;
	  height: 494px !important;
	  -webkit-backdrop-filter: blur(20px) saturate(150%);
	  backdrop-filter: blur(20px) saturate(150%);
	  border: 1px solid rgba(255, 255, 255, 0.85);
	  border-radius: 18px;
	  box-shadow: 0 8px 16px -8px rgba(0, 0, 0, 0.25);
	  overflow: hidden;
	  display: flex;
	  justify-content: center;
	  align-items: center;

}


.start_rahmen_border img{
	display: flex;
	justify-content: center; /* horizontal */
	align-items: center;     /* vertikal */
	width: 303px;
	height: 454px;
	border-radius: 10px;
	margin: 0px auto;
}


.elementor-element[id] {
  scroll-margin-top: 120px !important;
}
.start-bold{
font-family: "roc-grotesk-bold" !important;
font-weight: 800;
font-size:22px;
line-height: 110%;
color: #7d63ff;		
}

h1{
/* H1 Headline */
font-family: "roc-grotesk-bold" !important;
font-style: normal !important;
font-weight: 700 !important;
font-size: 60px !important;
line-height: 110% !important;
leading-trim: both !important;
text-edge: cap !important;
color: #000A46 !important;
}

#he_1{
font-family: "roc-grotesk-bold" !important;
font-weight: 700;
font-size:28px;
line-height: 110%;
leading-trim: both;
text-edge: cap;
color: #7D63FF;	
}
#he_2{
font-family:"public-sans" !important;
font-weight: 400;
font-style: Regular;
font-size: 17px;
leading-trim: CAP_HEIGHT;
line-height: 145%;
letter-spacing: 1%;
text-align: center;
}



h2{
font-family: "roc-grotesk-bold" !important;
font-weight: 700;
font-style: Bold;
font-size: 33px;
leading-trim: CAP_HEIGHT;
line-height: 125%;
letter-spacing: 0%;
	
	
}
h3{
font-family:"roc-grotesk-bold" !important;
font-weight:700 !important;
font-size:25px !important;
line-height: 125% !important;
letter-spacing:0% !important;
color:#000A46;	
}
h4{
font-family:"public-sans" !important;
font-weight: 600 !important;
font-size: 18px !important;
margin-block-end: unset !important;
line-height: 145% !important;
letter-spacing: 0% !important;
	
	
}




.st-language-switch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #000;
    text-decoration: none;
    line-height: 1;
}

.st-language-switch:hover {
    color: #7d63ff;
}

.st-language-switch-icon {
    position: relative;
    display: inline-flex;
    width: 50px;
    height: 50px;
}

.st-language-icon {
    width: 50px;
    height: 50px;
    display: block;
    transition: opacity 0.2s ease;
}

.st-language-icon-hover {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.st-language-switch:hover .st-language-icon-normal {
    opacity: 0;
}

.st-language-switch:hover .st-language-icon-hover {
    opacity: 1;
}


.ct-icon, .ct-icon-container svg{
	fill:#000A46 !important;
}

.ct-header-text p{
	margin:0px !important;
}


#more_button {
	background: transparent !important;
	background-color: transparent !important;
	font-family: "public-sans" !important;
	font-style: normal !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	line-height: 145% !important;
	color: #001494 !important;

	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;

	border: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
	padding: 0 !important;
}

/* Standard-Pfeil */
#more_button::after {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.4 18L5 16.6L14.6 7H6V5H18V17H16V8.4L6.4 18Z' fill='%23001494'/%3E%3C/svg%3E");
	transition: all 0.2s ease;
}


.num-circle {background-color: #000;color: #fff;font-family: 'Public Sans Bold', sans-serif;font-weight: 700;font-size: 30px;line-height: 40px;text-align: left;border: 1px solid #ccc;border-radius: 50%;text-align: center;width: 40px;height: 40px;float: left;margin-right: 20px;}



/* Hover-Farbe für den Button-Text */
#more_button:hover {
	color: #000A46 !important;
}

/* Hover-Pfeil */
#more_button:hover::after {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M0 9.47531L0 7.49541H13.5764L7.49529 1.41429L8.9095 0.0000755191L17.3948 8.48536L8.9095 16.9706L7.49529 15.5564L13.5764 9.47531L0 9.47531Z' fill='%23000A46'/%3E%3C/svg%3E");
}






#more_button_2 {
	background: transparent !important;
	background-color: transparent !important;
	font-family: "public-sans" !important;
	font-style: normal !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	line-height: 145% !important;
	color: #001494 !important;

	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;

	border: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
	padding: 0 !important;
}


/* Standard-Pfeil */
#more_button_2::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.4 18L5 16.6L14.6 7H6V5H18V17H16V8.4L6.4 18Z' fill='%23001494'/%3E%3C/svg%3E");
	transition: all 0.2s ease;
}


/* Hover-Farbe für den Button-Text */
#more_button_2:hover {
	color: #000A46 !important;
}

/* Hover-Pfeil */
#more_button_2:hover::after {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M0 9.47531L0 7.49541H13.5764L7.49529 1.41429L8.9095 0.0000755191L17.3948 8.48536L8.9095 16.9706L7.49529 15.5564L13.5764 9.47531L0 9.47531Z' fill='%23000A46'/%3E%3C/svg%3E");
}




#demo_button{
	border-radius:44px;
	background-color: #FFF028;
	color:#000A46;
	box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.1);
	font-family:"public-sans-bold" !important;
	font-size:16px !important;
	line-height: 145% !important;
	width:186px;
	height:44px;
}


#trinity_button{
	border-radius:44px;
	background-color: #FFF028;
	color:#000A46;
	box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.1);
	font-family:"public-sans-bold" !important;
	font-size:16px !important;
	line-height: 145% !important;
	width:186px;
	height:44px;
}




#header{
	backdrop-filter: blur(10px);
}


#header, #header > div, #header > div > div{
	height:65px !important;
}
[data-header*="type-1"] .ct-header [data-row*="middle"]{
	background:none !important;
}

#header [data-row="top"]{
	  background-color: rgba(255,255,255,0);
	  background-image: none;
}





.ct-menu-link {
  font-weight: 700 !important;
  font-size: 16px !important;
text-transform: none !important;
}

#menu-mainmenu .ct-menu-link:hover, #menu-mainmenu .ct-menu-link:focus, #menu-mainmenu .ct-menu-link:active{
	color:#7D63FF;
}

/* Pfeil nur bei Punkten mit Untermenü */
.menu li.page_item_has_children > a.ct-menu-link::after{
  content:"";
  display:inline-block;
  margin-left:6px;
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:6px solid currentColor; /* zeigt nach unten */
  transition:transform .2s ease;
  transform-origin:center;
}

/* Pfeil hoch, wenn geöffnet (Hover-Dropdown) */
.menu li.page_item_has_children:hover > a.ct-menu-link::after{
  transform:rotate(180deg);
	fill: #7D63FF;
}

/* Pfeil hoch, wenn aktueller Bereich (WP Klassen) */
/* 2) Aufklappen per Hover (dein Menü ist data-interaction="hover") */
#header-menu-1 .menu > li.menu-item-has-children:hover > a .ct-toggle-dropdown-desktop .ct-icon{
  transform: rotate(180deg);
	fill: #7D63FF;
}


#header-menu-1 .menu > li.menu-item-has-children.current-menu-item > a .ct-toggle-dropdown-desktop .ct-icon{
  transform: rotate(180deg);
	fill: #7D63FF;
}


/* Optional: saubere Ausrichtung */
.menu li.page_item_has_children > a.ct-menu-link{
  display:inline-flex;
  align-items:center;
}


#header-menu-1 .menu > li.menu-item-has-children > a .ct-toggle-dropdown-desktop .ct-icon{
  width: 12px;
  height: 12px;
}










/* Elementor*/

.elementor-element.elementor-widget.elementor-widget-text-editor {
  font-family: "public-sans" !important;
  font-size: 16px !important;
  line-height:145% !important;
  color: #000A46 !important;
}

#post-68 h1, #post-72 h1{font-size:60px !important;}


#post-72 .trinity-accordion .elementor-accordion-title{
  font-family: "public-sans" !important;
  font-weight:700 !important;
  font-size: 25px !important;
  line-height:145% !important;
  color: #000A46 !important;	
}

















/* Nur die Feld-Zeile */
.elementor-element-8d990b1 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  column-gap: 24px !important;
  row-gap: 80px !important;
  align-items: stretch !important;
}

/* Leeres Feld ausblenden */
.elementor-element-8d990b1 > .elementor-element-075cfd3 {
  display: none !important;
}

/* Nur direkte Felder innerhalb dieser Zeile */
.elementor-element-8d990b1 > .e-con {
  width: 100% !important;
  min-width: 0 !important;
}

/* Kleinere Monitore: 3 Felder oben, 2 unten */
@media (max-width: 1200px) {
  .elementor-element-8d990b1 {
    grid-template-columns: repeat(3, 1fr) !important;
    row-gap: 90px !important;
  }
}

/* Tablet: 2 Felder pro Zeile */
@media (max-width: 768px) {
  .elementor-element-8d990b1 {
    grid-template-columns: repeat(2, 1fr) !important;
    row-gap: 70px !important;
  }
}

/* Smartphone: 1 Feld pro Zeile */
@media (max-width: 480px) {
  .elementor-element-8d990b1 {
    grid-template-columns: 1fr !important;
    row-gap: 40px !important;
  }
}



















/* Unsere Partner */


/* ── Intro text ── */
.intro p { font-size: 15px; color: #333; line-height: 1.7; margin-bottom: 14px; }
.intro p:last-child { margin-bottom: 0; }

/* ══════════════════════════════════
   ACCORDION
══════════════════════════════════ */
.acc { margin-top: 32px; }

.acc-item { border-top: 1px solid #D5D5D5; }
.acc-item:last-child { border-bottom: 1px solid #D5D5D5; }

.acc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0;
  cursor: pointer;
  gap: 20px;
  background: transparent;
  user-select: none;
}

.acc-title {
  font-size: 18px;
  font-weight: 700;
  color: #1B2B5E;
  line-height: 1.3;
  flex: 1;
}

/* Circle chevron button — right side */
.faq-btn {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border:1px solid #D6D9E8;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 10, 70, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.faq-btn:hover {
      background:#B8A1FF;
}	
	
.acc-item.open .faq-btn .svg_arrow {
  transform: rotate(180deg);
}
	
.faq-btn:hover svg path {
  fill: #ffffff;
}






/* Content */
.acc-body { display: none; padding-bottom: 32px; }
.acc-item.open .acc-body { display: inline-block; }

.acc-body p { font-size: 15px; line-height: 1.7; color: #333; margin-bottom: 14px; }
.acc-body p:last-child { margin-bottom: 0; }
.acc-body a { color: #1B2B5E; text-decoration: underline; }
.acc-body ul { margin: 0 0 14px 0; padding-left: 0; list-style: none; }
.acc-body li { padding-left: 16px; position: relative; margin-bottom: 4px; font-size: 15px; color: #333; line-height: 1.7; }
.acc-body li::before { content: "•"; position: absolute; left: 0; color: #333; }

/* ══════════════════════════════════
   PARTNER CARDS
══════════════════════════════════ */
.pcard {
  background: #fff;
  border: 1px solid #E2E2E2;
  border-left: 10px solid #7D63FF;
  border-radius: 8px;
  padding: 22px 24px;
  margin-top: 8px;
  margin-bottom: 20px;
}
.pcard:last-child { margin-bottom: 0; }

.pcard-top {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  margin-bottom: 0;
}

.pcard-logo {
  flex-shrink: 0;
  width: 180px;
  min-width: 180px;
  display: flex;
  align-items: flex-start;
  padding-top: 4px;
}

/* Replace .pcard-logo-img with real <img> tags later */
.pcard-logo-img {
  max-width: 160px;
  max-height: 52px;
  object-fit: contain;
}

/* Placeholder when no real logo */
.pcard-logo-ph {
  background: #EEEEF7;
  border-radius: 5px;
  padding: 9px 16px;
  font-weight: 800;
  font-size: 14px;
  color: #1B2B5E;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

.pcard-intro {
  flex: 1;
  font-size: 14px;
  line-height: 1.65;
  color: #333;
}

.pcard-extra {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.65;
  color: #333;
}
.pcard-extra p { margin-bottom: 10px; }
.pcard-extra p:last-child { margin-bottom: 0; }
.pcard-extra a { color: #1B2B5E; text-decoration: underline; }







/* ═══════════════════════════════════════════════════
   Trinity Kontaktformular — alle Styles inline
   ═══════════════════════════════════════════════════ */

.tr-form {   font-family: "public-sans" !important; width: 100%; }

/* Grid: 2 Spalten */
.tr-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 32px;
  margin-bottom: 24px;
}
.tr-form-col-left,
.tr-form-col-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Einzelnes Feld (Label + Input) */
.tr-field { display: flex; flex-direction: column; }
.tr-field-grow { flex: 1 1 auto; }

/* Labels */
.tr-field label {
  font-size: 14px;
  font-weight: 700;
  color: #7070A0;
  margin-bottom: 8px;
}
.tr-req { color: #0D1B3E; font-weight: 700; }

/* Input & Textarea */
.tr-field input,
.tr-field textarea {
  background: #EBE8FF !important;
  border: none;
  border-radius: 8px;
  padding: 14px 18px;
    font-family: "public-sans" !important;
  font-size: 15px;
  color: #0D1B3E;
  outline: none;
  transition: box-shadow 0.2s;
  width: 100%;
  box-sizing: border-box;
}
.tr-field input { height: 52px; }
.tr-field textarea {
  min-height: 225px;
  resize: vertical;
  line-height: 1.55;
}

.tr-field textarea::placeholder { color: #D1CFFF; }
.tr-field input:focus,
.tr-field textarea:focus {
  box-shadow: 0 0 0 2px #D1CFFF;
}

#tr-betreff, #tr-nachricht{
	background-color: #fff !important;
	border: 1px solid #D1CFFF !important;
}
.tr-field input:focus,
.tr-field textarea {
  background: #D1CFFF !important;
}


/* Footer: Datenschutz-Text + Button */
.tr-form-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  margin-top: 8px;
}
.tr-privacy {
  font-size: 14px;
  color: #7070A0;
  line-height: 1.55;
  margin: 0;
  width: 280px;
}
.tr-privacy a { color: #0D1B3E; text-decoration: none; }
.tr-privacy a:hover { text-decoration: underline; }

/* Senden-Button (gelbe Pille) */
.tr-submit {
  background: #F5D000;
  color: #0D1B3E;
  border: none;
  border-radius: 30px;
  padding: 14px 52px;
  font-family: "public-sans" !important;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
}
.tr-submit:hover  { background: #E8C400; }
.tr-submit:active { transform: translateY(1px); }

/* Responsive: unter 900px → 1 Spalte */
@media (max-width: 900px) {
  .tr-form-grid        { grid-template-columns: 1fr; gap: 20px; }
  .tr-form-footer      { grid-template-columns: 1fr; }
  .tr-field textarea   { min-height: 160px; }
  .tr-submit           { width: 100%; }
}


.linkedin_button{
	float:right !important;
}





.elementor-element-4ebf420f {
	position: relative;
}



#double_line{
  border-bottom: 1px solid #000A46 !important;
  height: 8px !important;
  background: transparent !important;
}

/*###########*/





/*Menü und Submenü*/
/* Sticky Header */
#header.ct-header {
  position: sticky;
  top: 0;
  z-index: 9999;

  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);

  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

/* falls du im Backend eingeloggt bist */
body.admin-bar #header.ct-header {
  top: 32px;
}



/* Untermenü wie im Screenshot */
#header-menu-1 .menu > li {
  position: relative;
}

#header-menu-1 .menu > li > .sub-menu {
background: linear-gradient(
    90deg,
    rgba(221, 226, 234, 0.82) 0%,
    rgba(231, 234, 239, 0.72) 100%
  );

  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);

  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 24px;
  box-shadow:
    0 12px 35px rgba(18, 35, 79, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.55);

  overflow: hidden;
}

/* einzelne Punkte */
#header-menu-1 .menu > li > .sub-menu > li {
  margin: 0;
  padding: 0;
}

/* Links im Untermenü */
#header-menu-1 .menu > li > .sub-menu > li > a.ct-menu-link {
  display: block;
  padding: 16px 38px;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 400;
  color: #0d1f6b;
  text-decoration: none;
  background: transparent;
  transition: all 0.2s ease;
}

/* Hover */
#header-menu-1 .menu > li > .sub-menu > li > a.ct-menu-link:hover,
#header-menu-1 .menu > li > .sub-menu > li > a.ct-menu-link:focus {
  color: #6f5cff;
  background: rgba(255, 255, 255, 0.18);
}

/* erster und letzter Link sauber in die Rundung einpassen */
#header-menu-1 .menu > li > .sub-menu > li:first-child > a.ct-menu-link {
  padding-top: 22px;
}

#header-menu-1 .menu > li > .sub-menu > li:last-child > a.ct-menu-link {
  padding-bottom: 22px;
}

/* optional: etwas mehr Abstand zwischen Hauptmenüpunkt und Dropdown */
#header-menu-1 .menu > li.menu-item-has-children > .sub-menu {
  top: 100%;
}

.sub-menu > li > .sub-menu > li > a.ct-menu-link{
  font-weight: 400 !important;
  font-size: 14px !important;
}

#header-menu-1 .menu > li > .sub-menu > li:first-child > a.ct-menu-link, #header-menu-1 .menu > li > .sub-menu > li > a.ct-menu-link, #header-menu-1 .menu > li > .sub-menu > li:last-child > a.ct-menu-link {
 padding: 15px 25px;
}


.sub-menu > li > .sub-menu > li > a.ct-menu-link:hover {
  /*font-weight: 700 !important;*/
	color:#000 !important;
}


.sub-menu > li > a{
	font-family:"public-sans" !important;
	  font-weight: 400 !important;
  font-size: 14px !important;
}
































/*############# SUBMENU LÖSUNGEN / SOLUTIONS #################*/
/*############################################################*/
/*############################################################*/
/*############################################################*/

@media (min-width: 1000px) {

  /* Höhe des Sticky-Headers */
  #header-menu-1 {
    --solutions-header-offset: 72px;
  }


  /* ---------------------------------------------------
     Grundsätzlich sichtbar lassen
  --------------------------------------------------- */

  #header-menu-1,
  #header-menu-1 > ul,
  #header-menu-1 > ul > li {
    overflow: visible !important;
  }

  #header-menu-1 {
    position: relative;
    z-index: 9999;
  }


  /* Überschriften innerhalb der Kacheln */
  #header-menu-1 .sub-menu .main_nav_menu > a {
    font-family: "roc-grotesk-bold" !important;
    font-weight: bolder !important;
    font-size: 22px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }


  /* ---------------------------------------------------
     Normale Hauptmenüs

     NICHT:
     #menu-item-26   = Lösungen DE
     #menu-item-5177 = Solutions EN
  --------------------------------------------------- */

  #header-menu-1 > ul > li.menu-item-has-children:not(#menu-item-26):not(#menu-item-5177) {
    position: relative !important;
    overflow: visible !important;
  }


  /* Hover-Brücke für normale Hauptmenüs */
  #header-menu-1 > ul > li.menu-item-has-children:not(#menu-item-26):not(#menu-item-5177)::after {
    content: "";
    position: absolute;
    left: -20px;
    right: -20px;
    top: 100%;
    height: 28px;
    background: transparent;
    z-index: 1 !important;
  }



  /* ---------------------------------------------------
     LÖSUNGEN DE + SOLUTIONS EN
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) {
    position: static !important;
  }


  :is(#menu-item-26, #menu-item-5177) > .ct-menu-link,
  :is(#menu-item-26, #menu-item-5177) > .ct-toggle-dropdown-desktop-ghost {
    position: relative;
    z-index: 2;
  }


  /* Hover-Brücke unter dem Hauptlink */
  :is(#menu-item-26, #menu-item-5177) > .ct-menu-link::after,
  :is(#menu-item-26, #menu-item-5177) > .ct-toggle-dropdown-desktop-ghost::after {
    content: "";
    position: absolute;
    left: -40px;
    right: -40px;
    top: 100%;
    height: 28px;
    background: transparent;
    z-index: 1 !important;
  }



  /* ---------------------------------------------------
     Mega-Menü Grundfläche
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu {

    --tile-w: 350px;
    --tile-gap: 16px;
    --image-w: 540px;
    --space-to-image: 60px;
    --mini-card-h: 96px;

    --double-card-h:
      calc(
        (var(--mini-card-h) * 2)
        + var(--tile-gap)
      );

    --card-h: 170px;

    --layout-w: 1324px;

    --outer-pad:
      max(
        40px,
        calc(
          (100vw - (var(--layout-w) + 80px)) / 2
        )
      );


    position: fixed !important;

    left: 0 !important;
    right: 0 !important;

    width: 100vw !important;
    max-width: 100vw !important;

    transform: translateY(10px);

    display: none !important;

    grid-template-columns:
      repeat(2, var(--tile-w));

    grid-auto-rows: auto;

    align-content: start;

    gap: var(--tile-gap);


    padding-top: 40px !important;
    padding-bottom: 40px !important;

    padding-left:
      var(--outer-pad) !important;

    padding-right:
      calc(
        var(--outer-pad)
        + var(--image-w)
        + var(--space-to-image)
      ) !important;


    margin: 0 !important;

    list-style: none !important;


    height:
      calc(
        100vh - var(--solutions-header-offset)
      );

    min-height:
      calc(
        100vh - var(--solutions-header-offset)
      );


    overflow: hidden !important;


    background: unset !important;

    border-radius: 0 !important;
    border: 0 !important;


    opacity: 0;
    visibility: hidden;

    pointer-events: none;


    z-index: 100000 !important;

    box-sizing: border-box;
  }



  /* ---------------------------------------------------
     Hover-Brücke oberhalb des Mega-Menüs
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;

    top: -28px;
    height: 28px;

    background: transparent;

    z-index: 1 !important;
  }



  /* ---------------------------------------------------
     Mega-Menü öffnen
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .ct-menu-link:hover ~ .sub-menu,
  :is(#menu-item-26, #menu-item-5177) > .ct-menu-link:focus ~ .sub-menu,

  :is(#menu-item-26, #menu-item-5177) > .ct-toggle-dropdown-desktop-ghost:hover ~ .sub-menu,
  :is(#menu-item-26, #menu-item-5177) > .ct-toggle-dropdown-desktop-ghost:focus ~ .sub-menu,

  :is(#menu-item-26, #menu-item-5177) > .sub-menu:hover,
  :is(#menu-item-26, #menu-item-5177) > .sub-menu:focus-within {

    display: grid !important;

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;

    transform: translateY(0) !important;
  }



  /* ---------------------------------------------------
     Komplettes LI NICHT als Öffnungs-Trigger verwenden
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177):hover > .sub-menu,
  :is(#menu-item-26, #menu-item-5177):focus-within > .sub-menu {

    display: none !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;
  }



  /* ---------------------------------------------------
     Echte Trigger erneut stärker setzen
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .ct-menu-link:hover ~ .sub-menu,
  :is(#menu-item-26, #menu-item-5177) > .ct-menu-link:focus ~ .sub-menu,

  :is(#menu-item-26, #menu-item-5177) > .ct-toggle-dropdown-desktop-ghost:hover ~ .sub-menu,
  :is(#menu-item-26, #menu-item-5177) > .ct-toggle-dropdown-desktop-ghost:focus ~ .sub-menu,

  :is(#menu-item-26, #menu-item-5177) > .sub-menu:hover,
  :is(#menu-item-26, #menu-item-5177) > .sub-menu:focus-within {

    display: grid !important;

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;

    transform: translateY(0) !important;
  }



  /* ---------------------------------------------------
     Bildfeld rechts
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu::after {

    content: "";

    position: absolute;

    top: 40px;

    right:
      var(--outer-pad);


    width:
      var(--image-w);


    height:
      calc(
        (var(--card-h) * 2)
        + (var(--tile-gap) * 2)
        + var(--double-card-h)
      );


    box-sizing: border-box;


    background-color:
      rgba(255, 255, 255, 0.38);


    border:
      1px solid rgba(255, 255, 255, 0.65);


    border-radius: 18px;


    backdrop-filter:
      blur(10px);

    -webkit-backdrop-filter:
      blur(10px);


    box-shadow:
      0 14px 30px rgba(10, 18, 70, 0.08);


    padding: 24px;


    background-image:
      url("https://trinitytms.com/wp-content/uploads/2026/04/Liquidity_Management_img.webp");


    background-repeat:
      no-repeat;

    background-position:
      center;

    background-size:
      contain;

    background-origin:
      content-box;

    background-clip:
      padding-box;


    z-index: 2;
  }



  /* ---------------------------------------------------
     Anordnung der 7 Kacheln
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }


  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }


  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }


  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
  }


  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(5) {
    grid-column: 1;
    grid-row: 3 / span 2;
  }


  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(6) {
    grid-column: 2;
    grid-row: 3;
  }


  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(7) {
    grid-column: 2;
    grid-row: 4;
  }



  /* ---------------------------------------------------
     Kacheln
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li {
    width:var(--tile-w);
    min-width:var(--tile-w);
    max-width:var(--tile-w);
    margin:0 !important;
    padding:16px 16px 12px !important;
    list-style:none !important;
    background:rgba(255, 255, 255, 0.38);
    border:1px solid rgba(255, 255, 255, 0.65);
    border-radius:18px;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    min-height:var(--card-h);
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    position:relative;
    z-index:3;
    transition:
      transform 0.22s ease,
      box-shadow 0.22s ease,
      border-color 0.22s ease,
      background 0.22s ease;
  }



  /* Hover Kacheln */
  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:hover,
  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:focus-within {

    background:
      rgba(255, 255, 255, 0.55);


    border-color:
      rgba(118, 88, 255, 0.25);


    transform:
      translateY(-2px);


    box-shadow:
      0 14px 30px rgba(10, 18, 70, 0.08);
  }



  /* ---------------------------------------------------
     Inhouse Bank
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(5) {

    min-height:
      var(--double-card-h);

    justify-content:
      flex-start;
  }



  /* ---------------------------------------------------
     Kleine Kacheln unten rechts
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(6),
  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:nth-child(7) {

    min-height:
      var(--mini-card-h);

    justify-content:
      center;
  }



  /* ---------------------------------------------------
     Hauptlinks der Kacheln
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li > a.ct-menu-link {

    display:
      block !important;


    width:
      100%;


    margin:
      0 0 14px 0 !important;


    padding:
      0 !important;


    color:
      #07145a !important;


    font-size:
      22px;


    line-height:
      1.15;


    font-weight:
      700;


    text-decoration:
      none;


    white-space:
      normal !important;
  }



  /* ---------------------------------------------------
     Pfeile in den Kacheln ausblenden
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li > a .ct-toggle-dropdown-desktop,
  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li > .ct-toggle-dropdown-desktop-ghost {

    display:
      none !important;
  }



  /* ---------------------------------------------------
     Untermenüs innerhalb der Kacheln
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li > .sub-menu {

    position:static !important;
    inset:auto !important;
    transform:none !important;
	opacity:1 !important;


    visibility:
      visible !important;


    pointer-events:
      auto !important;


    display:
      flex !important;


    flex-direction:
      column;


    gap:
      5px;


    width:
      100% !important;


    min-width:
      0 !important;


    margin:
      0 !important;


    padding:
      0 !important;


    list-style:
      none !important;


    background:
      transparent !important;


    box-shadow:
      none !important;


    border:
      0 !important;
  }



  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li > .sub-menu > li {

    margin:
      0 !important;

    padding:
      0 !important;

    list-style:
      none !important;
  }



  /* Links innerhalb der Kacheln */
  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li > .sub-menu > li > a.ct-menu-link {

    display:
      block !important;


    padding:
      0 !important;


    margin:
      0 !important;


    color:
      #34406f !important;


    font-size:
      16px;


    line-height:
      1.45;


    font-weight:
      500;


    text-decoration:
      none;


    white-space:
      normal !important;
  }



  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li > .sub-menu > li > a.ct-menu-link:hover {

    color:
      #5d48ff !important;
  }



  /* ---------------------------------------------------
     Kacheln ohne Untermenü
  --------------------------------------------------- */

  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:not(.menu-item-has-children) {

    justify-content:
      center;
  }



  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li:not(.menu-item-has-children) > a.ct-menu-link {

    margin-bottom:
      0 !important;
  }



  /* ---------------------------------------------------
     BILDER RECHTS
  --------------------------------------------------- */


  /* 1: Liquiditätsplanung / Liquidity Planning */
  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(1):hover)::after,

  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(1):focus-within)::after {

    background-image:
      url("https://trinitytms.com/wp-content/uploads/2026/04/Liquidity_Management_img.webp");
  }



  /* 2: Cash Management */
  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(2):hover)::after,

  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(2):focus-within)::after {

    background-image:
      url("https://trinitytms.com/wp-content/uploads/2026/04/Cash_Management.webp");
  }



  /* 3: Treasury */
  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(3):hover)::after,

  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(3):focus-within)::after {

    background-image:
      url("https://trinitytms.com/wp-content/uploads/2026/04/Treasury_Management.webp");
  }



  /* 4: Risk */
  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(4):hover)::after,

  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(4):focus-within)::after {

    background-image:
      url("https://trinitytms.com/wp-content/uploads/2026/04/Risk_Management.webp");
  }



  /* 5: Inhouse Bank */
  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(5):hover)::after,

  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(5):focus-within)::after {

    background-image:
      url("https://trinitytms.com/wp-content/uploads/2026/04/Inhouse.webp");
  }



  /* 6: Automatische Buchung / Automatic Posting */
  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(6):hover)::after,

  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(6):focus-within)::after {

    background-image:
      url("https://trinitytms.com/wp-content/uploads/2026/04/Automatische_Buchung.webp");
  }



  /* 7: Berichtswesen / Reporting */
  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(7):hover)::after,

  :is(#menu-item-26, #menu-item-5177)
  > .sub-menu:has(> li:nth-child(7):focus-within)::after {

    background-image:
      url("https://trinitytms.com/wp-content/uploads/2026/04/Unbenannt-4.webp");
  }



  /* ---------------------------------------------------
     Normale Submenüs über Mega-Menü legen
  --------------------------------------------------- */

  #header-menu-1 > ul > li.menu-item-has-children:not(#menu-item-26):not(#menu-item-5177) > .sub-menu {

    z-index:
      100000 !important;
  }

}



/* ---------------------------------------------------
   KLEINERE DESKTOP-BREITEN
--------------------------------------------------- */

@media (min-width: 1000px) and (max-width: 1540px) {

  :is(#menu-item-26, #menu-item-5177) > .sub-menu {

    --tile-w:
      320px;


    --tile-gap:
      22px;


    --image-w:
      460px;


    --space-to-image:
      42px;


    --mini-card-h:
      88px;


    --double-card-h:
      calc(
        (var(--mini-card-h) * 2)
        + var(--tile-gap)
      );


    --card-h:
      176px;


    --layout-w:
      1164px;


    --outer-pad:
      max(
        28px,
        calc(
          (100vw - (var(--layout-w) + 56px)) / 2
        )
      );


    padding-top:
      32px !important;


    padding-bottom:
      32px !important;
  }



  :is(#menu-item-26, #menu-item-5177) > .sub-menu::after {

    top:
      32px;


    padding:
      20px;
  }



  :is(#menu-item-26, #menu-item-5177) > .sub-menu > li > a.ct-menu-link {

    font-size:
      20px;
  }

}








/*############################################################*/
/*############################################################*/
/*############################################################*/
/*############ ENDE Menü und Submenü #########################*/



































/*############## Startseite Video ################*/
/*################################################*/
/*################################################*/
/*################################################*/



/* =========================
   STARTSEITE – SPEZIALSTYLES
   ========================= */

/* 1) Titel "Startseite" ausblenden */
.home .page-title,
.home .entry-title {
    display: none !important;
}

/* 2) Video-/Start-Container volle Breite */
.home .video_und_start_container {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* 3) Container ganz nach oben ziehen */
.home .video_und_start_container {
    position: relative;
    top: 0;
    z-index: 1;
}

/* 4) Header über dem Video halten */
.home .ct-header {
    position: relative;
    z-index: 10;
}

/* Optional: falls Blocksy oben Padding vergibt */
.home .site-content,
.home .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}





.video_start .elementor-video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(173, 178, 207, 0.109);
    backdrop-filter: blur(5px);
    z-index: 1;
}

/*################################################*/
/*################################################*/
/*################################################*/





















/*################# TESTIMONIALS #################*/
/*################################################*/
/*################################################*/
/*################################################*/







#header_page_image{
	top:-110px;
}

.entry-header h1{
	z-index:1000;
    position: relative;
    top: 260px;
	left:120px;
	font-size:60px !important;
	font-weight:bold !important;
}
.hero-section.is-width-constrained {
  display: none;
}







/*################################################*/
/*################################################*/
/*################################################*/








/*################# TESTIMONIALS #################*/
/*################################################*/
/*################################################*/
/*################################################*/



.trinity-testimonial-slider {
	position: relative;
	padding: 18px 54px;
	margin: 40px 0;
	overflow: hidden;
}

.trinity-testimonial-slider__viewport {
	overflow: visible;
	padding: 8px 0;
}

.trinity-testimonial-slider__track {
	display: flex;
	gap: 28px;
	transition: transform .45s ease;
	align-items: stretch;
}

.trinity-testimonial-slide {
	flex: 0 0 calc((100% - 56px) / 3);
	box-sizing: border-box;
	padding: 6px 0;
}


.trinity-testimonial-card {
	position: relative;
	background: #f2f2f2;
	border-radius: 22px !important;
	height: 560px;
	max-height: 560px;
	padding: 26px 26px 22px 26px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-shadow: 0 14px 30px rgba(20, 20, 60, 0.08);
	transition: transform .28s ease, box-shadow .28s ease;
}

.trinity-testimonial-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 14px;
	height: 100%;
	background: linear-gradient(180deg, #7b61ff 0%, #6d4df3 100%);
	border-radius: 22px;
}

.trinity-testimonial-slide:hover {
	z-index: 3;
}

.trinity-testimonial-slide:hover .trinity-testimonial-card {
	transform: scale(1.035);
	box-shadow: 0 22px 40px rgba(20, 20, 60, 0.14);
}

.trinity-testimonial-card__inner {
	position: relative;
	z-index: 1;
	padding-left: 28px;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.trinity-testimonial-logo {
	margin-bottom: 18px;
	min-height: 42px;
	display: flex;
	align-items: center;
}

.trinity-testimonial-logo img {
	display: block;
	width: auto;
	height: auto;
	max-width: 220px;
	max-height: 90px;
	object-fit: contain;
}

.trinity-testimonial-author {
	margin-bottom: 26px;
}

.trinity-testimonial-name {
font-family: "public-sans";
font-weight: 700;
font-style: Bold;
font-size: 14px;
leading-trim: CAP_HEIGHT;
line-height: 145%;
letter-spacing: 1%;
margin-bottom: 2px;
color:#001494;

}

.trinity-testimonial-position, .trinity-testimonial-company {
font-family: "public-sans";
font-weight: 400;
font-style: Regular;
font-size: 14px;
leading-trim: CAP_HEIGHT;
line-height: 145%;
letter-spacing: 1%;
margin-bottom: 2px;
color:#001494;
}


.trinity-testimonial-text {
font-family: "public-sans";
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: CAP_HEIGHT;
line-height: 145%;
letter-spacing: 1%;
color:#000A46;
margin-bottom: 22px;
/*
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
overflow: hidden; */
}

.trinity-testimonial-text p {
	margin: 0;
}

.trinity-testimonial-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	align-self: flex-start;
	padding: 10px 14px;
	border-radius: 12px;
	background: #ececf0;
	color: #424073;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.2;
	font-weight: 400;
	transition: background .2s ease, transform .2s ease;
	box-shadow: 0px 15px 25.3px 0px #0000001A;
	font-family: "public-sans";
	font-weight: 400;
	font-style: Regular;
	font-size: 14px;
	leading-trim: CAP_HEIGHT;
	line-height: 145%;
	letter-spacing: 1%;

}

.trinity-testimonial-button:hover {
	background: #e5e5eb;
	color: #4e4b84;
	transform: translateY(-1px);
}

.trinity-testimonial-button__icon {
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 20px;
}

.trinity-testimonial-button__icon svg {
	width: 20px;
	height: 20px;
	display: block;
	stroke: #4e4b84;
}

.trinity-testimonial-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #ffffff;
	color: #071b8c;
	cursor: pointer;
	z-index: 4;
	box-shadow: 0 10px 24px rgba(20, 20, 60, 0.10);
	font-size: 18px;
	transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease;
}

.trinity-testimonial-nav:hover {
	transform: translateY(-50%) scale(1.05);
	box-shadow: 0 14px 30px rgba(20, 20, 60, 0.14);
}

.trinity-testimonial-nav:disabled {
	opacity: .35;
	cursor: not-allowed;
	box-shadow: none;
}

.trinity-testimonial-prev {
	left: 0;
}

.trinity-testimonial-next {
	right: 0;
}
				
				
				
				
				

@media (max-width: 1200px) {
	.trinity-testimonial-card {
		height: 384px;
		max-height: 384px;
		padding: 24px 22px 20px 22px;
	}

	.trinity-testimonial-card__inner {
		padding-left: 24px;
	}

	.trinity-testimonial-name {
		font-size: 18px;
	}

	.trinity-testimonial-position,
	.trinity-testimonial-company {
		font-size: 14px;
	}

	.trinity-testimonial-text {
		font-size: 15px;
		-webkit-line-clamp: 6;
	}
}

@media (max-width: 1024px) {
	.trinity-testimonial-slider {
		padding: 16px 48px;
	}

	.trinity-testimonial-slide {
		flex: 0 0 calc((100% - 28px) / 2);
	}
}

@media (max-width: 767px) {
	.trinity-testimonial-slider {
		padding: 14px 40px;
		margin: 30px 0;
	}

	.trinity-testimonial-slider__track {
		gap: 20px;
	}

	.trinity-testimonial-slide {
		flex: 0 0 100%;
	}

	.trinity-testimonial-card {
		height: 384px;
		max-height: 384px;
		padding: 22px 18px 18px 18px;
		border-radius: 18px;
	}

	.trinity-testimonial-card::before {
		width: 12px;
		border-radius: 18px 0 0 18px;
	}

	.trinity-testimonial-card__inner {
		padding-left: 20px;
	}

	.trinity-testimonial-logo img {
		max-width: 160px;
		max-height: 34px;
	}

	.trinity-testimonial-author {
		margin-bottom: 20px;
	}

	.trinity-testimonial-name {
		font-size: 18px;
	}

	.trinity-testimonial-position,
	.trinity-testimonial-company {
		font-size: 14px;
	}

	.trinity-testimonial-text {
		font-size: 15px;
		line-height: 1.42;
		-webkit-line-clamp: 6;
	}

	.trinity-testimonial-button {
		font-size: 13px;
		padding: 10px 12px;
	}

	.trinity-testimonial-nav {
		width: 38px;
		height: 38px;
		font-size: 16px;
	}
}


/*################################################*/
/*################################################*/
/*################################################*/
/*############## TESTIMONIALS ENDE ###############*/



















/* Parent-Container: overflow visible */
[data-id="34084ca"],
[data-id="3ab1c59"],
[data-id="9627b92"] {
  overflow: visible !important;
}

#img_liquidty {
  position: relative;
  z-index: 1;
  isolation: isolate;
  display: block;
  width: fit-content !important;
  height: fit-content !important;
  max-width: 100%;
  overflow: visible;
}

#img_liquidty img {
  display: block;
  width: min(100%, 533px);
  max-width: 533px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0px 15px 25.3px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
}

#img_liquidty::after {
  content: "";
  position: absolute;
  left: 16px;
  top: 27px;
  right: -27px;
  bottom: -27px;
  background: #FFF793;
  border-radius: 10px;
  z-index: -1;
}















#img_trinity {
  position: relative;
  z-index: 1;
  isolation: isolate;
  display: block;
  width: fit-content !important;
  height: fit-content !important;
  max-width: 100%;
  overflow: visible;
}

#img_trinity img {
  display: block;
  width: min(100%, 533px);
  max-width: 533px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0px 15px 25.3px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
}

#img_trinity::after {
  content: "";
  position: absolute;
  left: 16px;
  top: 27px;
  right: -27px;
  bottom: -27px;
  background: #EBE8FF;
  border-radius: 10px;
  z-index: -1;
}










/*######### WIR SIND BILDER / ICONS ##############*/
/*################################################*/
/*################################################*/
/*################################################*/


.trinity-hover-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  border-radius: 24px;
  overflow: hidden;
}

.trinity-tile {
  position: relative;
  aspect-ratio: 673 / 239;
  overflow: hidden;
  line-height: 0;
  isolation: isolate;
  cursor: pointer;
  transform: translateZ(0);
}

.trinity-tile .tile-img,
.trinity-tile .tile-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.trinity-tile .tile-img-static {
  opacity: 1;
  z-index: 1;
}

.trinity-tile .tile-video {
  opacity: 0;
  z-index: 2;
  pointer-events: none;
}

.trinity-tile.is-playing .tile-img-static {
  opacity: 0;
}

.trinity-tile.is-playing .tile-video {
  opacity: 1;
}

/* Sichtbarer Text über dem Bild */
.trinity-tile-content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: clamp(20px, 2vw, 34px);
  padding-right: clamp(26px, 3vw, 46px);
  padding-bottom: clamp(20px, 2vw, 34px);
  padding-left: clamp(150px, 18vw, 165px);
  pointer-events: none;
}

.trinity-tile-title {
width: 210px;
height: 39px;
font-family: "public-sans";
font-style: normal;
font-weight: 600;
font-size: 18px;
line-height: 145%;
/* oder 26px */
/* leading-trim and text-edge are draft CSS properties.

Read more: https://drafts.csswg.org/css-inline-3/#leading-trim
*/
leading-trim: both;
text-edge: cap;
letter-spacing: 0.01em;

color: #000A46;


/* Innerhalb Auto-Layout */
flex: none;
order: 1;
flex-grow: 1;

}

.trinity-tile.tile-light .trinity-tile-title {
  color: #081b63;
}

.trinity-tile.tile-dark .trinity-tile-title {
  color: #ffffff;
}

@media (max-width: 1024px) {
  .trinity-hover-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trinity-tile-content {
    padding-left: 130px;
    padding-right: 28px;
  }

  .trinity-tile-title {
    max-width: 300px;
    font-size: clamp(18px, 2vw, 28px);
  }
}

@media (max-width: 767px) {
  .trinity-hover-grid {
    grid-template-columns: 1fr;
  }

  .trinity-tile {
    aspect-ratio: 16 / 9;
  }

  .trinity-tile-content {
    padding-left: 110px;
    padding-right: 24px;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .trinity-tile-title {
    max-width: 240px;
    font-size: 22px;
    line-height: 1.25;
  }
}






/*################################################*/
/*################################################*/
/*################################################*/
/*##################  ENDE  ######################*/














/*############# STARTSEITE SERVICES ##############*/
/*################################################*/
/*################################################*/
/*################################################*/

.trinity-services-section {
  --navy: #07145a;
  --purple: #7858ff;
  --purple-soft: #ece7ff;
  --purple-line: #c9bcff;
  --text: #14204f;
  --muted-line: #d8d8d8;
  --yellow: #eff16d;
  --shadow: 0 18px 35px rgba(10, 15, 70, 0.08);
  background: var(--bg);
  padding: 80px 24px;
}

.trinity-services-layout {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(380px, 520px) minmax(520px, 1fr);
  gap: clamp(48px, 6vw, 120px);
  align-items: center;
}

.trinity-services-visual {
  position: relative;
}

.trinity-visual-stack {
  position: relative;
  width: min(100%, 520px);
  margin-inline: auto;
  min-height: 500px;
}

.trinity-main-visual {
	/*
  position: absolute;
  top: 70px;
  left: 110px;
  width: min(100%, 420px);
  aspect-ratio: 0.82;
  border-radius: 22px;
	*/
}

.trinity-image-stage {
	/*
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  z-index: 1;
  box-shadow: var(--shadow);
	*/
}

.trinity-service-image {
  position: absolute;

  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
/*
	transform: scale(1.03);
  transition: opacity 0.45s ease, transform 0.55s ease;
	*/
}

.trinity-service-image.is-active {
  opacity: 1;
}

.trinity-chart-svg {
  width: 100%;
  height: auto;
  display: block;
}

.trinity-chart-svg line {
  stroke: #d8cff7;
  stroke-width: 1.5;
}

.trinity-chart-svg polyline {
  fill: none;
  stroke: #b49aea;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.trinity-chart-svg circle {
  fill: #fff;
  stroke: var(--navy);
  stroke-width: 2.5;
}

.trinity-chart-labels text {
  fill: #1b2455;
  font-size: 17px;
  font-weight: 500;
}



.trinity-services-content {
  min-width: 0;
}

.trinity-services-title {
font-family: 'roc-grotesk';
font-style: normal;
font-weight: 700;
font-size: 33px;
line-height: 110%;
leading-trim: both;
text-edge: cap;
color: #000A46;
flex: none;
order: 0;
flex-grow: 0;

}

.trinity-services-accordion {
  display: flex;
  flex-direction: column;
}

.trinity-service-item {
  position: relative;
}

.trinity-service-progress {
  width: 100%;
  height: 1px;
  background: #AFB0D8;
  overflow: hidden;
}

.trinity-service-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--purple);
  transition: width 0.35s ease;
}

.trinity-service-item.is-active .trinity-service-progress span {
  width: 22%;
}

.trinity-service-trigger {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 14px 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left;
  cursor: pointer;
font-family: "public-sans";
font-style: normal;
font-weight: 600;
font-size: 18px;
line-height: 145%;
leading-trim: both;
text-edge: cap;
letter-spacing: 0.01em;
color: #000A46;
flex: none;
order: 0;
flex-grow: 1;
}


.trinity-service-action {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}

.trinity-service-more {
  opacity: 0;
  transform: translateX(8px);
  color: var(--navy);
  font-size: 16px;
  font-weight: 600;
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.trinity-service-item:not(.is-active):hover .trinity-service-more {
  opacity: 1;
  transform: translateX(0);
}

.trinity-service-icon {
  width: 30px;
  height: 30px;
  background: #EBE8FF;
  border-radius: 30px;
  transform: rotate(-90deg);
  align-items: center;
  justify-content: center;
  font-size: 34px;
  line-height: 1;
  font-weight: 300;
  transition: transform 0.25s ease, background 0.25s ease;
display: flex;
flex-direction: row;
padding: 3px;
gap: 10px;



	
	
}

.trinity-service-item.is-active .trinity-service-icon {
  background: #ece7fb;
}

.trinity-service-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s ease;
}

.trinity-service-panel-inner {
  padding: 15px 0px;
font-family: "public-sans";
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 145%;
  leading-trim: both;
  text-edge: cap;
  letter-spacing: 0.01em;
  color: #000A46;
  max-width: 860px;
}

@media (max-width: 1180px) {
  .trinity-services-layout {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .trinity-visual-stack {
    min-height: 620px;
  }

  .trinity-services-content {
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .trinity-services-section {
    padding: 56px 20px;
  }

  .trinity-visual-stack {
    min-height: 470px;
  }

  .trinity-main-visual {
    top: 46px;
    left: 58px;
    width: calc(100% - 70px);
  }


  .trinity-chart-card {
    top: 120px;
    width: min(84%, 300px);
    padding: 14px 14px 10px;
  }

  .trinity-chart-labels text {
    font-size: 14px;
  }

  .trinity-kpi-pill {
    right: -2px;
    bottom: 46px;
    padding: 12px 16px;
    gap: 10px;
  }

  .trinity-kpi-text {
    font-size: 14px;
  }

  .trinity-services-title {
    margin-bottom: 22px;
  }

  .trinity-service-trigger {
    padding: 20px 0;
    align-items: flex-start;
  }

  .trinity-service-name {
    font-size: 22px;
  }

  .trinity-service-more {
    display: none;
  }

  .trinity-service-icon {
    width: 38px;
    height: 38px;
    font-size: 30px;
  }

  .trinity-service-panel-inner {
    padding: 14px 0 24px;
    font-size: 17px;
  }

  .trinity-service-item.is-active .trinity-service-progress span {
    width: 18%;
  }
}

/*################################################*/
/*################################################*/
/*################################################*/
/*############# STARTSEITE SERVICES ENDE #########*/













/*#################### Footer ####################*/
/*################################################*/
/*################################################*/
/*################################################*/

#footer .ct-container{
	padding-top:70px;
}

/* Footer-Widgets: Spalte 1 breiter, 2-4 schmaler */
.ct-footer .ct-container[data-columns-divider]{
  display: grid !important;
  grid-template-columns: 4fr 1.2fr 1.2fr 1.2fr !important;
  gap: 24px;
}

[data-column="widget-area-2"] a, [data-column="widget-area-3"] a{
	  font-size: 16px;
	line-height:36px;
}

[data-column="widget-area-4"] a{
	  font-size: 16px;
	color:#AFB0D8;
}

#media_image-2 {
  margin-bottom: 80px;
}

.textwidget p {
  font-size: 16px;
  margin-bottom: 0px;
  font-weight: normal;
}

#custom_html-2 .textwidget a{
  font-size: 16px;
  margin-bottom: 0px;
  font-weight: normal;	
}





#custom_html-2 .textwidget{
  margin-bottom: 19px;
}

footer{
	font-family:"Public-sans" !important;
}

.trinity_footer{
  height:355px;
  background-color: #000A46;
	font-family:"Public-sans" !important;
}
.footer-masonry{
  max-width: var(--theme-normal-container-max-width);
  margin:0px auto;
  display: grid;
  grid-template-columns: 4fr 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  column-gap: 32px;
  row-gap: 16px;
  align-items: end; /* Unterkanten sauber bündig */
}

/* Adresse links über beide Zeilen */
.footer-address{
  grid-column: 1;
  grid-row: 1 / span 2;
  color:#fff;
  margin:70px 0px 70px 0px;
}

/* Obere drei Spalten rechts */
.footer-col-1{ grid-column: 2; grid-row: 1;}
.footer-col-2{ grid-column: 3; grid-row: 1;}
.footer-col-3{ grid-column: 4; grid-row: 1;}



.footer-col-1 a{color:#fff; line-height:34px;font-size: 16px;}
.footer-col-2 a{color:#fff;line-height:34px;font-size: 16px;}
.footer-col-3 a{color:#AFB0D8; line-height:34px;font-size: 16px;}

/* Unterer Block: nimmt rechts die Spalten 2-4 ein */
.footer-bottom{
  grid-column: 2 / 5;
  grid-row: 2;
	
margin: 0px 0px 70px 0px;
}

/* Unterer Block hat 2 Spalten, die mittig unter den 3 oberen sitzen */
.footer-bottom-inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;

  /* Das ist das „zentriert unter den oberen drei“ */
  width: 86%;
  align-items: end;
}

/* Links bündig, rechts bündig */
.footer-services{ text-align: left;float:left;}
.footer-legal{ text-align: right;float:right;color:#fff; line-height:36px;font-size: 16px;}

.footer-services a{ text-align: left;color:#fff; line-height:36px; font-size: 16px;}



/* Typische Footer-Margins raus, damit die Unterkante wirklich bündig wird */
.footer-masonry p{ margin: 0; }




/*################################################*/
/*################################################*/
/*################################################*/
/*################## Footer ENDE##################*/




@media (min-width: 1000px) {
  .site-main.hfeed {
    position: relative;
  }

  .site-main.hfeed::before {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    top: 72px;
    bottom: 0;

    background: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.004) 0%,
      rgba(255, 255, 255, 0.01) 38%,
      rgba(255, 255, 255, 0.032) 100%
    );

    -webkit-backdrop-filter: blur(20px) saturate(150%);
    backdrop-filter: blur(20px) saturate(150%);

    border-top: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);

    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    z-index: 100;
  }

  body:has(#header-menu-1 > ul > li.menu-item-has-children:hover) .site-main.hfeed::before,
  body:has(#header-menu-1 > ul > li.menu-item-has-children:focus-within) .site-main.hfeed::before {
    opacity: 1;
  }
}










/* Mega-Menü nach einem Ankerklick zuverlässig schließen */
@media (min-width: 1000px) {

  body.trinity-anchor-menu-closed #menu-item-26 > .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-26:hover > .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-26:focus-within > .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-26 > .sub-menu:hover,
  body.trinity-anchor-menu-closed #menu-item-26 > .sub-menu:focus-within,
  body.trinity-anchor-menu-closed #menu-item-26 > .ct-menu-link:hover ~ .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-26 > .ct-menu-link:focus ~ .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-26 > .ct-toggle-dropdown-desktop-ghost:hover ~ .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-26 > .ct-toggle-dropdown-desktop-ghost:focus ~ .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-5177 > .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-5177:hover > .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-5177:focus-within > .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-5177 > .sub-menu:hover,
  body.trinity-anchor-menu-closed #menu-item-5177 > .sub-menu:focus-within,
  body.trinity-anchor-menu-closed #menu-item-5177 > .ct-menu-link:hover ~ .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-5177 > .ct-menu-link:focus ~ .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-5177 > .ct-toggle-dropdown-desktop-ghost:hover ~ .sub-menu,
  body.trinity-anchor-menu-closed #menu-item-5177 > .ct-toggle-dropdown-desktop-ghost:focus ~ .sub-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
  }

}

/*###########################*/

























































.elementor-element.elementor-element-435c677c.e-flex.e-con-boxed.wpr-particle-no.wpr-jarallax-no.wpr-parallax-no.wpr-sticky-section-no.wpr-column-slider-no.wpr-equal-height-no.e-con.e-parent.e-lazyloaded{
  padding: 0px !important;
}






















/*Kontaktseiten*/


@media (max-width: 767px) {

  /* Gemeinsamer Container von Kontaktinformationen und Formular */
  .elementor-element-435c677c > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
  }

  #contact_info,
  #contact_form {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    flex: 0 0 auto !important;
    align-self: stretch !important;
    box-sizing: border-box !important;

    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  #contact_info {
    padding-right: clamp(20px, 6vw, 32px) !important;
    padding-left: clamp(20px, 6vw, 32px) !important;
  }

  #contact_form {
    padding-right: clamp(20px, 6vw, 32px) !important;
    padding-left: clamp(24px, 7vw, 38px) !important;
  }
	
.e-con-inner {
  margin: 10px !important;
	width: 95% !important;
}	
	
}























/*
 * Trinity TMS – Responsive Overrides
 * Version: 2.1 / 11.08.2026
 * Gilt für Deutsch und Englisch.
 *
 * Einbindung:
 * 1. Den bisherigen Block "TRINITY TMS – RESPONSIVE FIXES" entfernen.
 * 2. Diese Datei am ENDE der trinity-child/style.css einfügen.
 *
 * Die Reihenfolge ist wichtig, weil im bestehenden Theme zahlreiche
 * feste Werte und !important-Regeln überschrieben werden müssen.
 */


/* ============================================================
   1. ROBUSTE BASIS
   ============================================================ */


/*
 * Trinity TMS – Responsive Overrides
 * Version: 2.1 / 11.08.2026
 * Gilt für Deutsch und Englisch.
 *
 * Einbindung:
 * 1. Den bisherigen Block "TRINITY TMS – RESPONSIVE FIXES" entfernen.
 * 2. Diese Datei am ENDE der trinity-child/style.css einfügen.
 *
 * Die Reihenfolge ist wichtig, weil im bestehenden Theme zahlreiche
 * feste Werte und !important-Regeln überschrieben werden müssen.
 */


/* ============================================================
   1. ROBUSTE BASIS
   ============================================================ */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  max-width: 100%;
  scroll-padding-top: 90px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  max-width: 100%;
  overflow-wrap: break-word;
}

img,
video,
canvas,
iframe {
  max-width: 100%;
}

.elementor,
.elementor-section,
.elementor-container,
.e-con,
.e-con-inner,
.elementor-widget,
.elementor-widget-container {
  min-width: 0;
}

.entry-content a,
#trinity-article-content a,
.elementor-widget-text-editor a {
  overflow-wrap: anywhere;
}

.wp-block-table,
.elementor-widget-table .elementor-widget-container {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  max-width: 100%;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #7d63ff;
  outline-offset: 3px;
}


/* ============================================================
   2. FLUIDE TYPOGRAFIE
   ============================================================ */

@media (max-width: 1024px) {
  h1,
  .header_h1 h1,
  .entry-header h1,
  #post-68 h1,
  #post-72 h1 {
    font-size: clamp(40px, 6vw, 50px) !important;
    line-height: 1.08 !important;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  h2,
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: clamp(28px, 4.5vw, 34px) !important;
    line-height: 1.2 !important;
    overflow-wrap: break-word;
    hyphens: auto;
  }
}

@media (max-width: 767px) {
  h1,
  .header_h1 h1,
  .entry-header h1,
  #post-68 h1,
  #post-72 h1 {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.08 !important;
  }

  h2,
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: clamp(25px, 7vw, 32px) !important;
  }

  h3,
  .elementor-widget-heading h3.elementor-heading-title {
    font-size: clamp(21px, 5.8vw, 26px) !important;
    line-height: 1.25 !important;
  }

  h4 {
    font-size: 18px !important;
  }

  p,
  li,
  .elementor-widget-text-editor {
    overflow-wrap: break-word;
  }

  .entry-header h1 {
    top: 0;
    left: 0;
  }
}


/* ============================================================
   3. HEADER, MOBILMENÜ UND SUCHE
   ============================================================ */

@media (max-width: 999.98px) {
  #header.ct-header,
  #header.ct-header > div,
  #header.ct-header > div > div {
    height: 66px !important;
  }

  #header .ct-container {
    width: 100%;
    padding-inline: clamp(18px, 4vw, 32px);
  }

  #header .site-logo-container img {
    width: auto;
    max-width: 121px;
    max-height: 36px;
  }

  #header .ct-header-trigger {
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-items: center;
  }

  #header .ct-header-trigger .ct-icon {
    width: 28px !important;
    height: 22px !important;
  }

  #offcanvas {
    --side-panel-width: min(90vw, 430px) !important;
  }

  #offcanvas .ct-panel-inner {
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #000a46;
  }

  #offcanvas .ct-panel-actions {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: max(18px, env(safe-area-inset-top)) 20px 12px;
    background: linear-gradient(180deg, #000a46 75%, rgba(0, 10, 70, 0));
  }

  #offcanvas .ct-toggle-close {
    width: 44px;
    height: 44px;
  }

  #offcanvas .ct-toggle-close .ct-icon,
  #offcanvas .ct-toggle-close svg,
  #search-modal .ct-toggle-close .ct-icon,
  #search-modal .ct-toggle-close svg {
    fill: #ffffff !important;
  }

  #offcanvas .ct-panel-content-inner {
    padding: 8px 22px max(32px, env(safe-area-inset-bottom));
  }

  #offcanvas .mobile-menu > ul {
    margin: 0;
  }

  #offcanvas .mobile-menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  #offcanvas .mobile-menu .ct-menu-link {
    min-height: 48px;
    padding-block: 12px;
    color: #ffffff !important;
    font-size: clamp(17px, 4.5vw, 20px) !important;
    line-height: 1.3;
    text-transform: none !important;
  }

  #offcanvas .mobile-menu .current-menu-item > .ct-menu-link,
  #offcanvas .mobile-menu .current_page_item > .ct-menu-link,
  #offcanvas .mobile-menu .ct-menu-link:hover,
  #offcanvas .mobile-menu .ct-menu-link:focus-visible {
    color: #fff028 !important;
  }

  #offcanvas .mobile-menu .sub-menu {
    padding: 0 0 10px 18px;
  }

  #offcanvas .mobile-menu .sub-menu .ct-menu-link {
    min-height: 44px;
    font-size: 16px !important;
    font-weight: 500 !important;
  }

  #search-modal .ct-panel-content {
    padding-inline: 20px;
  }

  #search-modal input[type="search"] {
    min-height: 52px;
    font-size: 16px !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar #header.ct-header {
    top: 46px;
  }
}


/* ============================================================
   4. ELEMENTOR-SPALTEN UND SEITENABSTÄNDE
   Keine pauschale Umstellung verschachtelter Container mehr.
   Elementor darf seine pro Seite hinterlegten Mobilwerte nutzen.
   ============================================================ */

@media (max-width: 767px) {
  .e-con-boxed > .e-con-inner {
    width: 100%;
    max-width: 100%;
  }

  .elementor-widget-image:not(.elementor-absolute) img,
  .elementor-widget-video:not(.elementor-absolute) video {
    max-width: 100%;
    height: auto;
  }

  .elementor-widget:not(.elementor-absolute),
  .elementor-widget:not(.elementor-absolute) > .elementor-widget-container {
    max-width: 100%;
  }

  .elementor .e-con.e-parent,
  .elementor .e-con.e-child {
    max-width: 100%;
  }
}


/* ============================================================
   5. NORMALE SEITEN-HEADERS
   ============================================================ */

@media (max-width: 767px) {
  #header_img {
    max-width: 100%;
    overflow: hidden;
    background-position: center !important;
    background-size: cover !important;
  }

  .header_h1 {
    z-index: 2;
  }

  .header_h1 h1 {
    max-width: 100%;
    text-shadow: 0 2px 18px rgba(0, 10, 70, 0.35);
  }
}


/* ============================================================
   6. STARTSEITE – MOBILER HERO
   Aufbau wie in der gelieferten Vorlage:
   Video-Hintergrund, Text darüber, Bildkarte und überlagerter
   gelber Demo-Button. Die Bildkarte darf in den Logo-Bereich
   hineinragen, ohne nachfolgenden Inhalt zu überdecken.
   ============================================================ */

@media (max-width: 767px) {
  .home .video_start_container {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 590px !important;
    height: 590px !important;
    --margin-top: 0 !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    overflow: hidden;
    filter: none;
    background: #000a46;
    z-index: 1;
  }

  .home .video_start_container::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(0, 10, 70, 0.03) 0%, rgba(0, 10, 70, 0.12) 100%),
      linear-gradient(90deg, rgba(255, 255, 255, 0.08), transparent 55%);
  }

  .home .video_start_container .elementor-background-video-container.elementor-hidden-mobile {
    display: block !important;
    position: absolute !important;
    inset: -16px !important;
    width: auto !important;
    height: auto !important;
    filter: blur(8px);
    transform: scale(1.06);
  }

  .home .video_start_container video,
  .home .video_start_container .elementor-background-video-hosted {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .home .elementor-element-e7f0955 {
    --margin-top: -590px !important;
    position: relative !important;
    z-index: 3;
    min-height: 590px !important;
    height: 590px !important;
    margin-top: -590px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .home .elementor-element-e7f0955 > .e-con-inner {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 520px !important;
    height: 590px !important;
    margin-inline: auto;
    padding: 0 !important;
    overflow: visible !important;
  }

  .home .elementor-element-6da2af6 {
    position: absolute !important;
    top: 68px !important;
    left: 30px !important;
    right: 24px !important;
    width: auto !important;
    max-width: none !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 4;
  }

  .home .elementor-element-6da2af6 .elementor-widget,
  .home .trinity-text-rotate {
    width: 100% !important;
    max-width: 100% !important;
  }

  .home .trinity-text-rotate {
    color: #ffffff;
    font-size: clamp(19px, 5.7vw, 24px);
    line-height: 1.2;
  }

  .home .elementor-element-1de62d5 {
    position: absolute !important;
    top: 130px !important;
    left: 30px !important;
    right: 24px !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 4;
  }

  .home .elementor-element-aab3510 {
    margin: 0 !important;
  }

  .home .elementor-element-aab3510 .elementor-heading-title {
    color: #ffffff !important;
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.025em;
    max-width: 440px;
  }

  .home .elementor-element-f0cc144 {
    display: none !important;
  }

  .home .elementor-element-5e414a1 {
    display: none !important;
  }

  .home .elementor-element-3789d71 {
    position: absolute !important;
    top: 300px !important;
    left: 30px !important;
    width: min(72vw, 310px) !important;
    max-width: 310px !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 4;
  }

  .home .start_rahmen_border {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 343 / 494;
    margin: 0 !important;
    padding: 14px !important;
    display: block !important;
    overflow: hidden;
    border-radius: 22px;
  }

  .home .start_rahmen_border img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 14px;
  }

  .home .elementor-element-eb33b28 {
    position: absolute !important;
    top: 455px !important;
    left: auto !important;
    right: 28px !important;
    width: min(54vw, 230px) !important;
    max-width: 230px !important;
    margin: 0 !important;
    transform: none !important;
    text-align: right;
    z-index: 6;
  }

  .home #demo_button {
    width: 100% !important;
    min-height: 50px;
    height: 50px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }

  .home .elementor-element-1d41dda {
    position: relative;
    z-index: 1;
    min-height: 285px !important;
    margin-top: 0 !important;
    padding: 185px 20px 28px !important;
    overflow: hidden;
  }

  .home .elementor-element-169cf2e {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .home .elementor-element-7a29ab5,
  .home .elementor-element-b81dc43 {
    left: auto !important;
    right: 8px !important;
  }
}

@media (max-width: 390px) {
  .home .video_start_container,
  .home .elementor-element-e7f0955,
  .home .elementor-element-e7f0955 > .e-con-inner {
    min-height: 560px !important;
    height: 560px !important;
  }

  .home .elementor-element-e7f0955 {
    --margin-top: -560px !important;
    margin-top: -560px !important;
  }

  .home .elementor-element-6da2af6 {
    top: 58px !important;
    left: 22px !important;
  }

  .home .elementor-element-1de62d5 {
    top: 115px !important;
    left: 22px !important;
    right: 18px !important;
  }

  .home .elementor-element-3789d71 {
    top: 276px !important;
    left: 22px !important;
    width: min(72vw, 280px) !important;
  }

  .home .elementor-element-eb33b28 {
    top: 420px !important;
    right: 18px !important;
    width: min(56vw, 215px) !important;
  }

  .home .elementor-element-1d41dda {
    padding-top: 150px !important;
  }
}


/* ============================================================
   7. FORMULARE UND BUTTONS
   ============================================================ */

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  max-width: 100%;
}

@media (max-width: 900px) {
  .tr-form-grid,
  .tr-form-footer {
    grid-template-columns: 1fr !important;
  }

  .tr-form-grid {
    gap: 20px;
  }

  .tr-field textarea {
    min-height: 150px;
  }
}

@media (max-width: 767px) {
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    width: 100%;
    min-height: 48px;
    font-size: 16px !important;
  }

  textarea {
    min-height: 140px;
  }

  .tr-submit,
  .wpforms-submit,
  .elementor-form button[type="submit"] {
    width: 100% !important;
    min-height: 48px;
  }

  #demo_button,
  #trinity_button {
    max-width: 100%;
    min-height: 48px;
  }

  .linkedin_button {
    float: none !important;
    display: inline-flex;
  }
}


/* ============================================================
   8. NEWS-, EVENT- UND BEST-PRACTICE-DETAILSEITEN
   ============================================================ */

.trinity-single-grid > *,
.trinity-single-col-left,
.trinity-single-col-right {
  min-width: 0;
}

.trinity-single-title,
.trinity-related-card-title {
  overflow-wrap: break-word;
  hyphens: auto;
}

.trinity-event-pill,
.trinity-single-cat,
.trinity-single-tag {
  max-width: 100%;
}

@media (max-width: 680px) {
  .trinity-single-wrap {
    padding: 44px 20px 64px !important;
  }

  .trinity-single-back {
    margin-bottom: 20px;
  }

  .trinity-single-title {
    font-size: clamp(28px, 8.5vw, 34px) !important;
    line-height: 1.12 !important;
  }

  .trinity-single-meta,
  .trinity-event-pills {
    align-items: flex-start;
  }

  .trinity-event-pill {
    white-space: normal !important;
  }

  .trinity-event-pill span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .trinity-single-image,
  .trinity-related-image {
    border-radius: 8px;
  }

  .trinity-related-list {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   9. NEWS- UND EVENT-SLIDER
   ============================================================ */

.tnews-wrap,
.tev-wrap,
.tmix-wrap,
.tcsc-wrap,
.tls-logo-slider-wrapper {
  max-width: 100%;
}

.tnews-slider,
.tev-slider {
  touch-action: pan-x;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
}

.tnews-card,
.tev-card {
  min-width: 0;
  scroll-snap-align: start;
}

.tls-slider-viewport,
.tcsc-slider-viewport {
  max-width: 100%;
  overflow: hidden;
}

@media (max-width: 700px) {
  .tnews-wrap,
  .tev-wrap,
  .tmix-wrap {
    padding-inline: 0;
  }

  .tnews-track,
  .tev-track {
    gap: 16px;
    padding-right: 20px;
  }

  .tnews-card,
  .tev-card,
  .tev-timeline-point {
    width: min(82vw, 310px) !important;
    flex: 0 0 min(82vw, 310px) !important;
  }

  .tev-timeline-track {
    gap: 16px;
  }

  .tnews-card-title,
  .tev-card-title {
    min-height: 0;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  .tev-card-pills {
    min-width: 0;
  }

  .tev-card-pill,
  .tnews-card-date {
    max-width: 100%;
  }

  .tev-card-pill span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .tnews-nav,
  .tev-nav {
    width: 42px;
    height: 42px;
  }
}


/* ============================================================
   10. PARTNER, ACCORDIONS UND SPEZIELLE INHALTE
   ============================================================ */

@media (max-width: 1023px) {
  #left_adress {
    position: static !important;
    top: auto !important;
    width: 100% !important;
  }

  #right_text {
    margin-left: 0 !important;
  }
}

@media (max-width: 767px) {
  .acc-header {
    min-height: 64px;
    padding: 20px 0;
    gap: 14px;
  }

  .acc-title {
    min-width: 0;
    overflow-wrap: break-word;
  }

  .pcard-top {
    flex-wrap: wrap;
    gap: 20px;
  }

  .pcard-logo {
    width: auto;
    min-width: 0;
    max-width: 180px;
  }

  .pcard-logo img {
    max-width: 100%;
    height: auto;
  }

  .num-circle {
    float: none;
    display: inline-grid;
    place-items: center;
    margin: 0 12px 12px 0;
  }
}


/* ============================================================
   11. FOOTER – TABLET UND SMARTPHONE
   ============================================================ */

@media (max-width: 1024px) {
  .trinity_footer {
    height: auto;
    padding-inline: clamp(20px, 4vw, 40px);
  }

  .footer-masonry {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: none;
    column-gap: clamp(24px, 5vw, 48px);
    row-gap: 28px;
    align-items: start;
  }

  .footer-address {
    grid-column: 1 / -1;
    grid-row: auto;
    margin: 48px 0 8px;
  }

  .footer-col-1 {
    grid-column: 1;
    grid-row: auto;
  }

  .footer-col-2 {
    grid-column: 2;
    grid-row: auto;
  }

  .footer-col-3 {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .footer-bottom {
    grid-column: 1 / -1;
    grid-row: auto;
    margin: 4px 0 48px;
  }

  .footer-bottom-inner {
    width: 100%;
  }

  #media_image-2 {
    margin-bottom: 32px;
  }
}

@media (max-width: 767px) {
  .trinity_footer {
    padding: 0 28px;
  }

  .footer-masonry {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "logo logo"
      "nav1 nav2"
      "legal legal"
      "address address"
      "bottom bottom";
    column-gap: 28px;
    row-gap: 0;
    align-items: start;
  }

  .footer-address {
    display: contents;
    margin: 0;
  }

  #media_image-2 {
    grid-area: logo;
    margin: 52px 0 58px !important;
  }

  #media_image-2 img {
    width: 168px !important;
    max-width: 60vw !important;
    height: auto !important;
  }

  .footer-col-1 {
    grid-area: nav1;
  }

  .footer-col-2 {
    grid-area: nav2;
  }

  .footer-col-3 {
    grid-area: legal;
    margin-top: 48px;
  }

  .footer-col-1 ul,
  .footer-col-2 ul,
  .footer-col-3 ul {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .footer-col-1 li,
  .footer-col-2 li,
  .footer-col-3 li {
    margin: 0;
    padding: 0;
  }

  .footer-col-1 a,
  .footer-col-2 a,
  .footer-col-3 a {
    display: block;
    font-size: 18px;
    line-height: 1.35;
  }

  /* Reihenfolge wie in der Vorlage. Für die Bezeichnung
     "Einführung" den Menüpunkt "Referenzen" in WordPress umbenennen. */
  .footer-col-1 li:nth-child(1) {
    order: 4;
  }

  .footer-col-1 li:nth-child(2) {
    order: 1;
  }

  .footer-col-1 li:nth-child(3) {
    order: 2;
  }

  .footer-col-1 li:nth-child(4) {
    order: 3;
  }

  .footer-col-3 a {
    color: #afb0d8;
  }

  .footer-col-3 li:nth-child(1) {
    order: 2;
  }

  .footer-col-3 li:nth-child(2) {
    order: 1;
  }

  .footer-col-3 li:nth-child(3) {
    order: 3;
  }

  #text-2 {
    grid-area: address;
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid rgba(175, 176, 216, 0.8);
  }

  #text-2 p,
  #text-2 strong,
  #text-2 a,
  #text-2 span {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  #text-2 strong {
    font-weight: 400 !important;
  }

  #text-2 .oceanwp-contact-title,
  #text-2 .oceanwp-contact-title + a {
    display: none !important;
  }

  .footer-bottom {
    grid-area: bottom;
    margin: 58px 0 54px;
  }

  .footer-bottom-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 24px;
  }

  .footer-legal,
  .footer-services {
    float: none;
    text-align: left;
    font-size: 18px;
    line-height: 1.4;
  }

  .footer-services a {
    font-size: 18px;
    line-height: 1.4;
  }
}


/* ============================================================
   12. MEGA-MENÜ AUF KLEINEREN DESKTOPS
   ============================================================ */

@media (min-width: 1000px) and (max-width: 1240px) {
  :is(#menu-item-26, #menu-item-5177) > .sub-menu {
    --image-w: 360px;
    --tile-w: min(300px, calc((100vw - 470px) / 2));
  }
}


/* ============================================================
   13. TOUCH UND REDUZIERTE BEWEGUNG
   ============================================================ */

@media (hover: none) {
  .tnews-card:hover,
  .tev-card:hover,
  .trinity-related-card:hover,
  .tcsc-card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .tls-slider-track {
    animation-play-state: paused !important;
  }
}



/*Kontaktseite*/


/* ── Contact Form 7 im Trinity-Look ── */
.tr-form .wpcf7-form-control-wrap { display: block; }

/* Lade-Spinner neben dem Button */
.tr-submit-wrap { position: relative; }
.tr-submit-wrap .wpcf7-spinner {
  position: absolute; top: 50%; left: -40px; margin: -12px 0 0;
}
@media (max-width: 900px) {
  .tr-submit-wrap .wpcf7-spinner { top: 100%; left: 50%; margin: 10px 0 0 -12px; }
}

/* Fehler am einzelnen Feld */
.tr-form .tr-field .wpcf7-not-valid { box-shadow: 0 0 0 2px #E5484D; }
.tr-form .wpcf7-not-valid-tip { color: #C0262D; font-size: 13px; margin-top: 6px; }

/* Rückmeldung unter dem Formular */
.wpcf7 form.wpcf7-form.tr-form .wpcf7-response-output {
  margin: 24px 0 0; padding: 16px 20px;
  border: 0; border-left: 4px solid #D93025; border-radius: 8px;
  background: #FFF1F0; color: #8A1C1C;
  font-size: 15px; line-height: 1.55;
}
.wpcf7 form.wpcf7-form.tr-form.sent .wpcf7-response-output {
  background: #EBE8FF; color: #0D1B3E; border-left-color: #F5D000;
}
.tr-turnstile:not(:empty) { margin-bottom: 8px; }







/*
@media (max-width: 1024px) {
	
.elementor-element.elementor-element-3789d71 {
  top: -130% !important;
}

.elementor-element.elementor-element-eb33b28 {
  left: 76% !important;
}	

.elementor-element.elementor-element-3789d71 {
  left: 49% !important;
}
	
.elementor-element.elementor-element-1de62d5.e-con-full.e-flex.wpr-particle-no.wpr-jarallax-no.wpr-parallax-no.wpr-sticky-section-no.wpr-column-slider-no.wpr-equal-height-no.e-con.e-child {
  left: -5% !important;
}	
}
*/