/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    color: #000000;
    font-size: 1em;
}

::-moz-selection {
    background: #666666;
    text-shadow: none;
}

::selection {
    background: #666666;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 3em 0 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000000;
    padding: 0.2em 0;
}

td {padding:0.5em 0;line-height:1.25em;}

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v16-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../fonts/open-sans-v16-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v16-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v16-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v16-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v16-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/open-sans-v16-latin-italic.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Italic'), local('OpenSans-Italic'),
       url('../fonts/open-sans-v16-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v16-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v16-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v16-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v16-latin-italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v16-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('../fonts/open-sans-v16-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v16-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v16-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v16-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v16-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-700italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/open-sans-v16-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
       url('../fonts/open-sans-v16-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v16-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v16-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v16-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v16-latin-700italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}



/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */


/* Heller türkisfarbener Verlaufshintergrund */
body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background: #e3f2fd;
    padding: 0;
    margin: 0;
}


.wrapper {
    width: 94%;
    margin: 0 3%;
	background:url(../img/rtc-back.png) no-repeat;
	background-position:100px 17%;
}


/* ===================
    ALL: RaceTrack Coach Theme
   =================== */

header {
    position: relative;
    z-index: 10;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}

.logo {
   padding:1em 5% 0 5%;
   text-align:center;
     }
	 
.logo img { 
  width: 100%;
  height: auto;
  position: relative;
  left: 0%;
  max-width:700px;
  transition: all 1s ease;
 }

.footer-container {
	padding-bottom:1.5em;
	background: #1b1b1b;
}

.was-ist-rtc {	
	background:url(../img/rtc-back.png) center no-repeat;
}

.rennfahrer-entwicklungsprogramm {
	clear:both;
	background-color: #000000}

#footer-01 {
   float: left;
   margin-right:10%;
   margin-top:0;
}

#footer-01 ul{
   margin-top:-0.2em;
   margin-left:-3em;
}

#footer-02 {
   float: left;
   margin-right:7%;
   margin-bottom:1.5em;
}

#footer-02 ul {
   margin:0;
   padding:0;
}

#footer-02 a {
   margin:0;
   padding:0;
}
 
#footer-03 {
   float: left;
 }

#footer-clear {
   clear: both;
   font-size:80%;
 }


/* ==============
    MOBILE: Menu
   ============== */

nav ul {
	float:right;
	margin: 0.5em 2% 0 0;
    padding: 0;
    list-style-type: none;
}

nav ul li {
    display: inline;
}

nav a, nav a:visited  {
    display: inline;
    margin:0;
    padding: 0.25em 0.6em;
    text-decoration: none;
    font-weight: bold;
    color: #000000;
}

nav a:hover{
    color: #000000;
	text-decoration: none;
	background: #aaaaaa;
}

nav a:active,
nav a:focus {
    text-decoration: none;
	background: #5ac8fb;
	color: #000000;
}

.nav-no-link a {
    text-decoration: none;
	color: #000000 !important;
	cursor:default;
}

.nav-no-link a:hover, .nav-no-link a:focus, .nav-no-link a:active {
    background: none;
}



/* ==============
    MOBILE: Main
   ============== */

.main {
    padding: 1px 0 2em 0;
}

.main a {
    color: #000000;
	position:relative;
	z-index:990;
	font-weight:700;
	text-decoration:none;
}

.main a:hover {
    color: #000000;
}

.main article h1 {
   	margin:1em 0 0.25em 0;
}

.main aside {
    color: #000000;
    -webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.aside-top2 {border: #5ac8fb thin solid;text-align:center;}

.app-button a:hover{
	border: 0 0 30px #5ac8fb;
	-webkit-box-shadow: 0 0 30px #5ac8fb;
	box-shadow: 0 0 30px #5ac8fb;
}

.main aside h1 {
    font-size: 1.6em;
	text-align:center;
	margin:1.5em 1% 1em 0;;
}

.aside-qualitaet {
	background:transparent !important;
	color: #000000 !important;;
	padding: 0px 2% 10px;
}

.article-gallery {
        float: left;
        width: 103% !important;
		margin-top:1em;
		margin:0 0 0 0;
    }

.footer-container footer {
    color: #000000;
    padding: 20px 0;
}

/* ===============
    ALL: IE Fixes
   =============== */

.ie7 .title {
    padding-top: 20px;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

h1 {
	color: #000000;
	font-family: 'Open Sans', Arial, Helvetica, sans serif;
	font-weight:400;margin-bottom:0;
	font-size: 1.5em;
	font-style:italic;
}

h2 {
	color: #000000;
	font-family:'Open Sans',Arial, Helvetica, sans serif;
	font-size:1.5em;
	padding:0;margin:0 0 1em 0;
	font-style:italic;
}

.h2-color-weight {color: #000000;font-family:'Open Sans',Arial, Helvetica, sans serif;font-weight:lighter;padding:0;margin:0;}

h3 {color: #000000;font-family:'Open Sans',Arial, Helvetica, sans serif;line-height:1.35em;clear:both;margin:1.5em 0 0 0;font-size:1.3em}

h4 {
	color: #000000;
	font-family: 'Open Sans', Arial, Helvetica, sans serif;
	font-weight:700;margin-bottom:0;
	font-size: 1.6em;
	font-style:italic;
}

h5 {color: #000000;text-align:center;font-size:1.9em;padding:0;margin:2em 0 0 0;}


.button {display:block;margin:2em 0;clear:both;}
.button a{
	color: #000000;
	background-color: #000000;
	text-decoration:none;
	padding:0.75em 1em;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.footer-container a {
	color: #000000;
	text-decoration:none;
	padding:0.5em;
}

.footer-container a:hover {
	color: #000000;
}

.footer-container ul{
	list-style-type:none;
}

.footer-container li{
	line-height:2.0em;
}

#footer-01 {margin-top:0.9em;}


.initial:first-of-type:first-letter {
  font-family: 'Open Sans', Arial, Helvetica, sans serif;
  font-size: 5em;
  font-weight:700;
  line-height: .8em;
  display: block;
  margin: 5px 5px 0 0px;
  float: left;
  padding: 3px 5px 0 2px;
  color: #000000;
}

.initial-2:first-of-type:first-letter {
  font-family: 'Open Sans', Arial, Helvetica, sans serif;
  font-size: 3.5em;
  font-weight:700;
  line-height: .8em;
  display: block;
  margin: 5px 3px 0 0px;
  float: left;
  padding: 3px 3px 0 2px;
  color: #000000;
}


.display-schreenshots {
	width: 100%;
	height: auto;
	padding:2em 0;
	max-width:461px;
  }
  
.app-store {
	font-size:1.1em;
	font-style:italic;
	color: #000000;
	font-weight:bold;
	line-height:1.4em;
}
.rennfahrer-programm-link {
	display:inline-block;
	font-size:1.25em;
	font-style:italic;
	color: #000000;
	font-weight:bold;
	line-height:1.4em;
	margin:2.5em 0 0.75em 0;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.video-container-wrapper {
max-width: 100%;
width: 720px;
left: 0;
right:0;
margin:auto;
padding: 2.5em 0 4em 0;
}
   .rennfahrer-programm-box {
		background-color: #000000;
		padding:0 1.5em 1em 1.5em;
		border-radius:4px;
	}
	
	.rennfahrer-programm-box h4 {
		padding:0.9em 0 0.4em 0;
		font-size:1.5em;
	}
	
	.rennfahrer-programm-box-left {
		display:inline-block;
	}
	
	.rennfahrer-programm-box-right {
		display:inline-block;
	}

	.rtc-logo {
	display:none;}  
  
	.rennwagen {
		width: 100%;
		height: auto;
		max-width:500px;
		border-radius:4px;
	}
  
  .kontakt-anfrage-wrapper {
	text-align:center;
	padding-top:1em;
	}
	
	.kontakt-anfrage-wrapper a:hover{
	border: 0 0 10px #ddd;
	-webkit-box-shadow: 0 0 10px #ddd;
	box-shadow: 0 0 10px #ddd;
	}
  
	.kontakt-anfrage-btn {
		display:inline-block;
		color: #000000 !important;
		margin:1em 0 2em 0;
		padding:0.5em 0.75em;
		border:rgba(255,255,255,1) thin solid;
		border-radius:4px;
		font-size:1.3em;
	}
  
	.kontakt {
		text-align:center;
	}

	.agb-link {
		font-size:1.25em;
		font-style:italic;
		color: #000000;
		font-weight:bold;
		line-height:1.4em;
		padding-top:1em;
	}
	
	
	.agb-liste-0 li{
		list-style:none;
		margin-top:1em;
}
	
	.agb-liste li{
		text-indent: -1.9em;
		list-style:none;
		margin-top:1em;
}

.agb-liste-2 li{
		text-indent: -2em;
		list-style:none;
		margin-top:1em;
}
.agb-liste-3 li{
		text-indent: -2.5em;
		list-style:none;
		margin-top:1em;
}
  
/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 480px) {


.logo {
   width:auto;
   font-size:160%;
}

.claim {
	display:inline-block;
	vertical-align:top;
}

/* ====================
    INTERMEDIATE: Menu
   ==================== */

nav a {
    width:41.5%;
}



/* ========================
    INTERMEDIATE: IE Fixes
   ======================== */

    nav ul li {
        display: inline;
}

    .oldie nav a {
        margin: 0 0.7%;
    }

.display-schreenshots-wrapper {
	text-align: center;
}
}

@media only screen and (min-width: 768px) {
	
.wrapper-head {
	width:100% !important;
}

header {
    position: relative;
    z-index: 10;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}

.header-inner {
	margin-left:auto;
	margin-right:auto;
	margin-bottom:1em;
}

.shrink-img{
   width:25%!important;
   position: relative;
   left: -30%!important;
   transition: all 1s ease;
}

.sticky { 
	margin-left:auto 0;
	margin-right:auto 0;
	left:0;
	right:0;
	border-bottom:#444444 thin solid;
	padding:0.2em 0;
	position:fixed;
    width:1026px;
    margin-bottom: 0px;
	z-index:1010 !important;
}

.offset:before { 
  display: block; 
  content: " "; 
  height: 140px;      /* Give height of your fixed element */
  margin-top:-1px; /* Give negative margin of your fixed element */  visibility: hidden;
}


/* ====================
    WIDE: CSS3 Effects
   ==================== */

/*.header-container,
    .main aside {
        -webkit-box-shadow: 0 5px 10px #aaa;
           -moz-box-shadow: 0 5px 10px #aaa;
                box-shadow: 0 5px 10px #aaa;
    }

/* ============
    WIDE: Menu
   ============ */

nav {text-align: center;}

nav ul {margin:-1.75em 0 0 485px;z-index:1000;position:relative;float:none;padding-bottom:0;}

nav li:first-child a {
        margin-left: 0em;
}

nav li:last-child a {
}

/* ============
    WIDE: Main
   ============ */

.main {
    padding: 30px 0 2em 0;
}
    .main article {
        float: left;
        width: 65%;
	}
	
	.article-top, .article-top2 {
        float: left;
        width: 45% !important;
		padding-right:7%;
		clear:both;
    }
	
	.article-qualitaet {
        float: left;
        width: 65% !important;
    }
	
	.article-leistungen {
        float: left;
        width: 100% !important;
		margin-top:1em;
    }
	
	.article-gallery {
        width: 100.9% !important;
    }

    .main aside {
        float: right;
		border:none;
		color: #000000;}
	
	.aside-top {
        float: right;
        width: 40% !important;
    }
	
	.aside-top2 {
        float: right;
        width: 40% !important;
		border:none;
		text-align:left;
    }
	
	.aside-qualitaet {
	   float: right;
	   width: 25% !important;
	   color: #000000!important;
}

#footer-01 img{display:inline-block;}


h1 {
	font-size: 2.3em;
}

h2 {
	font-size:2.5em;
	margin-top:0.5em;
}

.rtc-logo-schreenshots {
	margin-top:-4em;
}

.display-schreenshots {
	width: 100%;
	height: auto;
	padding:2em 0;
	margin-top:-8em;
  }

.video-container-wrapper {
	padding: 2.5em 0 6em 0;
}



.rennfahrer-programm-box {
		background:#5ac8fb url(../img/background-blue-box.jpg) no-repeat;
}

	.rennfahrer-programm-box h4 {
		padding:0.9em 0 0.4em 0;
		font-size:1.5em;
		display:inline-block;
		vertical-align:top;
	}

	.rennfahrer-programm-box-left {
		clear:both;
		display:inline-block;
		width:45%;
		vertical-align:top;
	}
	
	.rennfahrer-programm-box-right {
		display:inline-block;
		width:45%;
		vertical-align:top;
		margin-left:7%
	}

	.rtc-logo {
	display:inline-block;
	}
}

@media only screen and (min-width: 1140px) {

/* ===============
    Maximal Width
   =============== */

.wrapper {
        width: 1026px; /* 1140px - 10% for margins */
        margin: 0 auto;
}

.logo {
        font-size: 175%;
}

nav a {
        font-size: 100%;
}

nav li:first-child a {
        margin-left: 2.5em;
}


}


@media only screen and (min-width: 1368px) {

/* ===============
    Maximal Width
   =============== */

	.wrapper {
        width: 1268px; /* 1140px - 10% for margins */
        margin: 0 auto;
}

	.rtc-logo-schreenshots {
	margin-top:-2em;
}

.aside-top {width: 44% !important;}

.article-top2 {
		float: left;
		width: 35% !important;
		padding-right:7%;
		clear:both;
		text-align:right;

}
	.aside-top2 {
        width: 52% !important;
		padding-top:2.5em !important;
}

.display-schreenshots {
	margin-top:-5em;
	padding-left:2em;
  }

	.rtc-logo {
	margin-right:10%;
	}

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
/* Dynamische Boxen */


.content-box:hover {
    transform: scale(1.03);
    box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

/* Navigation Abstand */
nav a {
    margin: 0 1.5em;
    font-weight: bold;
    text-decoration: none;
    color: #000000;
}

/* Zusätzliche Textgestaltung für besseren Lesefluss */



/* Abschnittsüberschriften für bessere visuelle Trennung */
.section-heading {
    margin-top: 2.5em;
    margin-bottom: 0.5em;
}

/* Sicherheitsabstand oben für erste Inhalte */
.content-box:first-of-type {
    margin-top: 3em;
}

/* Sicherstellen, dass die Navigationsleiste sichtbar bleibt */
header {
    position: relative;
    z-index: 10;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}

/* Basis-Navigation */
nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1em;
}

/* Responsive Anpassung für kleine Bildschirme */
@media screen and (max-width: 768px) {
    nav {
        flex-direction: column;
        align-items: center;
        gap: 0.5em;
    }

    

    header {
        padding: 1em 0.5em;
    }
}

/* Etwas Abstand oberhalb der Navigation */
nav {
    margin-top: 1.5em;
}

/* Luftigeres, angenehmeres Layout */

/* Heller türkisfarbener Verlaufshintergrund */
body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background: #e3f2fd;
    padding: 0;
    margin: 0;
}




/* Navigation großzügiger */
nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2em;
    font-size: 1.05em;
    margin-top: 2em;
    margin-bottom: 1em;
}

/* Header mit etwas Abstand und Stil */
header {
    position: relative;
    z-index: 10;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}

/* Responsive Optimierung */
@media screen and (max-width: 768px) {
    

    nav {
        flex-direction: column;
        gap: 1em;
    }

    header {
        padding: 1em 1em 0.5em;
    }
}

/* Hauptüberschrift */
.main-headline {
    text-align: center;
    font-size: 2.2em;
    font-weight: 700;
    margin-bottom: 0.2em;
    font-family: inherit;
    color: #000;
}

/* Navigation etwas weiter nach unten versetzen */
@media screen and (min-width: 769px) {
    nav {
        margin-top: 3em;
    }
}

/* Einblenden beim Laden */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Auf Inhalte anwenden */


/* Überschriften einblenden */
.section-heading, .main-headline {
    animation: fadeInUp 1s ease-out both;
}

/* Link-Hover-Effekt */
a {
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

a:hover {
    color: #007c91;
    text-shadow: 0 0 5px rgba(0, 124, 145, 0.3);
}

/* Zentrierter Untertitel */
.subtitle {
    text-align: center;
    font-size: 1.1em;
    color: #222;
    margin-top: 0.3em;
    font-style: italic;
}

/* Neuer Hintergrund in hellblau */
body {
    background: #e3f2fd;
}

/* Scroll Reveal Effekt */
@keyframes fadeInScroll {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.scroll-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Zurück-nach-oben-Button */
#scrollToTopBtn {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 99;
    font-size: 18px;
    background-color: #007c91;
    color: white;
    border: none;
    padding: 0.6em 1em;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    transition: opacity 0.4s ease;
}
#scrollToTopBtn:hover {
    background-color: #005f6b;
}

.headline-wrapper {
    text-align: center;
    margin-top: 1em;
}

.about-image {
    max-width: 60%;
    height: auto;
    display: block;
    margin: 2em auto;
}

/* Verfeinerter Stil für Hauptüberschrift und Untertitel */
.main-headline {
    font-size: 2.8em;
    font-weight: 700;
    font-style: italic;
    color: #0a2d4d;
    margin-bottom: 0.2em;
    animation: fadeInUp 0.8s ease-out both;
}

.subtitle {
    font-size: 1.25em;
    font-weight: 400;
    color: #1d4e66;
    font-style: italic;
    margin-top: 0.2em;
    opacity: 0.95;
    animation: fadeInUp 1s ease-out both;
}

.signatur-image {
    display: block;
    margin: 1em auto 2em;
    max-width: 180px;
    opacity: 0.9;
}

.headline-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2em;
    margin-top: 1.5em;
    margin-bottom: 2em;
}

.headline-text {
    text-align: center;
}

.signatur-inline {
    max-height: 80px;
    max-width: 200px;
    opacity: 0.95;
}

.signatur-inline {
    max-height: 80px;
    max-width: 200px;
    opacity: 0.95;
    animation: drawSignature 2.5s ease-out forwards;
    filter: drop-shadow(0 0 2px rgba(0,0,0,0.1));
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}

/* Wenn als SVG eingebunden wäre, würde das animiert gezeichnet.
   Hier simulieren wir es mit einfachem Einblenden (da PNG): */
@keyframes drawSignature {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 0.95;
        transform: scale(1);
    }
}

.signatur-inline {
    max-height: 80px;
    max-width: 200px;
    opacity: 0;
    animation: drawSignature 2.5s ease-out forwards;
    transition: opacity 0.6s ease;
    filter: none;
    border: none;
    background: transparent;
}

/* Animation: einfaches weiches Einblenden */
@keyframes drawSignature {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}



.signatur-inline {
    position: relative;
    opacity: 1;
    transition: transform 0.6s ease, filter 0.6s ease;
    transform-origin: left center;
}

/* Hover-Effekt: leichtes "Nachziehen" */
.signatur-inline:hover {
    transform: scale(1.02) rotate(-0.5deg) translateX(-2px);
    filter: brightness(1.05) contrast(1.1);
}

.headline-text {
    text-align: left;
    padding-left: 1em;
    flex: 1 1 60%;
}

.headline-flex {
    justify-content: flex-start;
    gap: 3em;
}





.content-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    font-family: 'Arial', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #111;
}

.content-box h1,
.content-box h2,
.content-box h3 {
    font-size: 1.4em;
    font-style: italic;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0.5em;
    color: #0a2d4d;
}

.content-box h1,
.content-box h2,
.content-box h3 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-bottom: 0.3em;
}

main, .page-content, .content-wrapper {
    padding-left: 1em;
    padding-right: 1em;
}

.banner-container {
    text-align: center;
    margin-top: 2em;
    margin-bottom: 2em;
}
.banner-image {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.banner-container {
    text-align: center;
    margin-top: 2em;
    margin-bottom: 2em;
}
.banner-image {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.contact-invite {
    max-width: 800px;
    margin: 2em auto;
    padding: 2em;
    background-color: #e3f2fd;
    border-radius: 10px;
    text-align: center;
    font-size: 1.1em;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.contact-mail {
    font-size: 1.2em;
    color: #004c74;
    font-weight: bold;
    text-decoration: none;
}
.contact-mail:hover {
    text-decoration: underline;
}

.kontakt-image-wrapper {
    text-align: center;
    margin-top: 2em;
}
.kontakt-image {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
