@font-face {
	font-family: "Sparkasse RG";
	src: url(../fonts/Sparkasse_Rg.ttf) format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Sparkasse RG";
	src: url(../fonts/Sparkasse_Bd.ttf) format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Sparkasse Head";
	src: url(../fonts/SparkasseHead_Rg.ttf) format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root { --dl-red: #ec0606; 
		--dl-red-dark: #b00404; 
		--dl-gray: #1f2933; 
		--dl-gray-light: #f5f5f7; 
		--dl-border: #dde1e7; 
		--cc-primary: #263349; 
		--cc-accent: #ee7447; 
		--font-rg: "Sparkasse RG", system-ui, -apple-system, "Segoe UI", Roboto,
		"Helvetica Neue", Arial, sans-serif; 
		--font-head: "Sparkasse Head", "Sparkasse RG", system-ui, -apple-system,
		"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.navbar-logo {
	height: 42px;
	width: auto
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    margin-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, .12);
  }

  .navbar-nav {
    width: 100%;
    align-items: stretch !important;
    text-align: center;
  }

  .navbar-nav .nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, .12);
  }

  .navbar-nav .nav-item:last-child {
    border-bottom: 0;
  }

  .navbar-nav .nav-link {
    display: block;
    padding: 1rem 0 !important;
    font-size: 1rem;
    font-weight: 600;
    border-left: 0;
    color: #2a2a2a;
  }

  .navbar-nav .nav-link:hover{
    color: var(--dl-red);
  }
}



.bg-proxima {
	background-color: var(--dl-red) !important;
}

.bg-proxima-info {
	background-color: #434e61 !important;
}

.border-proxima-info {
	border-color: #434e61 !important;
}

.border-proxima {
	border-color: var(--dl-red-dark) !important;
}

.text-proxima {
	color: var(--dl-red) !important;
}

.text-proxima-info {
	color: #354156 !important;
}

body {
	font-family: var(--font-rg);
	background-color: #fff;
	color: var(--dl-gray);
}

.navbar-logo {
	height: 42px;
	width: auto;
}

@media ( max-width : 991.98px) {
	.navbar-logo {
		height: 34px;
	}
}

.navbar {
	background: #fff;
	box-shadow: 0 2px 12px #0000000f;
}

.navbar-brand {
	font-family: var(--font-rg);
	font-weight: 700;
}

.navbar-dl {
	border-bottom: 3px solid var(--dl-red);
	font-size: .95rem;
	position: relative;
}

.navbar-dl .navbar-brand span {
	font-family: var(--font-rg);
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: .9rem;
}

.navbar-dl .brand-mark {
	width: 28px;
	height: 18px;
	background: var(--dl-red);
	border-radius: 2px;
}

.text-small-08 {
	font-size: .8rem !important;
}

.text-small-85 {
	font-size: .85rem !important;
}

.huge-title {
	font-size: 3.5rem !important;
}

.huge-subtitle {
	font-size: 1.5rem !important;
}

.testimonial-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.testimonial-card h2 {
	font-family: var(--font-rg);
	font-weight: 700;
}

.testimonial-card .stars {
	margin-top: auto;
	padding-top: 1rem;
	color: rgba(var(--bs-danger-rgb), 1);
}

.swiper-pagination-bullet {
	background: #fff9;
	opacity: 1;
}

.swiper-pagination-bullet-active {
	background: #fff;
}

.testimonial-swiper .swiper-wrapper {
	align-items: stretch;
}

.testimonial-swiper .swiper-slide {
	height: auto;
	display: flex;
}

.testimonial-swiper .swiper-slide>.testimonial-card {
	width: 100%;
}

.testimonial-swiper .swiper-pagination {
	position: relative;
	bottom: auto;
	margin-top: 22px;
	text-align: center;
}

.testimonial-swiper .swiper-pagination-bullet {
	width: 14px;
	height: 14px;
	border-radius: 50%;
}

.testimonial-swiper {
	padding-bottom: 10px;
}

.star-icon {
	font-size: 1.5rem;
}

.huge-bold-red-subtitle {
	font-size: 1.5rem !important;
	font-weight: 900;
	color: var(--dl-red);
	margin-bottom: 1rem;
}

.leistung-subtitle {
	text-align: center;
	color: rgba(var(--bs-secondary-rgb), 1);
	margin-bottom: 1.5rem;
	font-size: 1.4rem;
	font-family: var(--font-rg);
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.leistung-third-subtitle {
	text-align: center;
	margin-top: 1rem;
	font-size: 1.3rem;
	font-weight: 800;
}

.leistung-third-subtext {
	text-align: center;
	font-size: .95rem;
}

@media ( max-width : 767px) {
	.hero {
		padding: 2rem 0 3rem;
		background: radial-gradient(circle at top left, #fee 0, #fff 50%, #f7f7f7 100%);
	}
	.hero-title {
		font-size: clamp(2rem, 3.2vw, 2.5rem);
		font-weight: 700;
		line-height: 1.18;
		margin-bottom: .75rem;
	}
	.hero-kicker {
		font-family: var(--font-rg);
		letter-spacing: .14em;
		text-transform: uppercase;
		color: #6b7280;
		margin-bottom: .75rem;
		font-weight: 700;
	}
}

@media ( min-width : 768px) {
	.hero {
		padding: 3.5rem 0 3rem;
		background: radial-gradient(circle at top left, #fee 0, #fff 50%, #f7f7f7 100%);
	}
	.hero-title {
		font-size: clamp(3rem, 3.2vw, 2.7rem);
		font-weight: 700;
		line-height: 1.18;
		margin-bottom: .75rem;
	}
	.hero-kicker {
		font-size: .85rem;
		font-weight: 600;
		letter-spacing: .14em;
		text-transform: uppercase;
		color: #6b7280;
		margin-bottom: .75rem;
	}
	.hero-title, .hero-actions, .huge-title, .section-title,
		.huge-bold-red-subtitle, .leistung-third-subtitle {
		font-family: var(--font-head);
		font-weight: 400;
	}
	.hero-subtitle, .hero-badge, .huge-subtitle {
		font-family: var(--font-rg);
		font-weight: 400;
	}
	.rg-bold {
		font-family: var(--font-rg);
		font-family: "Sparkasse RG";
	}
}

.hero-subtitle {
	font-size: 1rem;
	max-width: 33rem;
	color: #4b5563;
}

.hero-badge-row {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1rem;
	font-size: .8rem;
}

.hero-badge {
	border-radius: 999px;
	border: 1px solid #e5e7eb;
	padding: .25rem .75rem;
	background-color: #fff;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: #4b5563;
}

.hero-badge span.icon {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background-color: var(--dl-red);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: .8rem;
}

.btn-proxima-primary {
	background-color: var(--dl-red);
	border-color: var(--dl-red);	
	color: #FFFFFF;
}

.btn-proxima-info {
	background-color: #434e61;
	border-color: #434e61;
	color: #FFFFFF;
}

.btn-proxima-outline-info {
	background-color: none;
	border-color: #434e61;
	color: #434e61;
}

.btn-proxima-info:hover,
.btn-proxima-outline-info:hover {
	background-color: #354156;
	border-color: #354156;
	color: #FFFFFF;
}


.btn-dl-primary {
	background-color: var(--dl-red);
	border-color: var(--dl-red);
	border-radius: 999px;
	padding-inline: 1.6rem;
	padding-block: .7rem;
	font-weight: 600;
	font-size: .95rem
}

.btn-proxima-primary:hover, 
.btn-dl-primary:hover {
	background-color: var(--dl-red-dark);
	border-color: var(--dl-red-dark);
	color: #FFFFFF;
}

.btn-proxima-secondary {
	border: 1px solid #d1d5db;
	background-color: #fff;
	color: #4b5563
}

.btn-dl-secondary {
	border-radius: 999px;
	padding-inline: 1.4rem;
	padding-block: .7rem;
	border: 1px solid #d1d5db;
	background-color: #fff;
	font-size: .95rem;
	color: #4b5563
}

.btn-proxima-secondary:hover,
.btn-dl-secondary:hover {
	border-color: var(--dl-red-dark);
	background-color: #fefefe;
}

.hero-actions {
	margin-top: 1.6rem;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem
}

.hero-card {
	border-radius: 10px;
	border: 1px solid var(--dl-border);
	background-color: #fff;
	padding: 1.5rem 1.5rem 1.3rem;
	box-shadow: 0 12px 26px #0f172a0d
}

.hero-card-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1rem
}

.hero-card-title {
	font-size: .95rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: #6b7280
}

.hero-card-pill {
	font-size: .75rem;
	border-radius: 999px;
	padding: .25rem .7rem;
	border: 1px solid #e5e7eb;
	color: #4b5563;
	background-color: #f9fafb
}

.hero-metrics-small {
	font-size: .85rem
}

.hero-metrics-small li {
	display: flex;
	justify-content: space-between;
	padding: .15rem 0;
	border-bottom: 1px dashed #e5e7eb
}

.hero-metrics-small li:last-child {
	border-bottom: none
}

.hero-metrics-small span.label {
	color: #6b7280
}

.hero-metrics-small span.value {
	font-weight: 600
}

.hero-note {
	font-size: .75rem;
	color: #6b7280;
	margin-top: .75rem
}

.section {
	padding: 3rem 0 2.7rem
}

.section-title {
	font-size: 2.6rem;
	color: var(--cc-primary);
	font-weight: 800
}

.section-lead {
	max-width: 40rem;
	margin-inline: auto;
	color: #4b5563;
	font-size: .98rem
}

.section-header-line {
	width: 40px;
	height: 3px;
	background-color: var(--dl-red);
	margin: 0 auto 1rem
}

.bg-light-dl {
	background-color: var(--dl-gray-light)
}

.bg-light-red {
	background-color: var(--dl-red)
}

.card-icon {
	position: absolute;
	right: .4rem;
	bottom: .5rem;
	width: 84px;
	height: auto;
	pointer-events: none
}

.card-feature {
	position: relative;
	border-radius: 8px;
	border: 1px solid var(--dl-border);
	padding: 1.3rem 1.4rem;
	height: 100%;
	background-color: #fff;
	overflow: hidden;
	box-shadow: 0 8px 22px #00000026
}

.card-feature h3 {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: .4rem
}

.card-feature p {
	font-size: .9rem;
	color: #4b5563
}

.card-feature ul {
	font-size: .85rem;
	color: #4b5563
}

.card-feature .eyebrow {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: #9ca3af;
	margin-bottom: .3rem
}

.target-label {
	display: inline-block;
	font-size: .78rem;
	padding: .2rem .6rem;
	border-radius: 999px;
	border: 1px solid #e5e7eb;
	background-color: #f9fafb;
	margin-bottom: .4rem
}

.timeline {
	margin-top: 1.4rem;
	border-left: 2px solid #e5e7eb;
	padding-left: 1.5rem
}

.timeline-step {
	position: relative;
	padding-bottom: 1.4rem
}

.timeline-step:last-child {
	padding-bottom: 0
}

.timeline-step::before {
	content: "";
	position: absolute;
	left: -1.7rem;
	top: .2rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #fff;
	border: 2px solid var(--dl-red)
}

.timeline-step h3 {
	font-size: .95rem;
	font-weight: 600;
	margin-bottom: .15rem
}

.timeline-step p {
	font-size: .85rem;
	color: #4b5563
}

.badge-soft-dl {
	display: inline-block;
	font-size: .78rem;
	padding: .2rem .7rem;
	border-radius: 999px;
	background-color: #fef2f2;
	color: #b91c1c;
	margin-bottom: .3rem
}

.cta-panel {
	border-radius: 10px;
	border: 1px solid var(--dl-border);
	background: linear-gradient(135deg, #fff, #fef2f2);
	padding: 1.6rem 1.5rem
}

.cta-panel h2 {
	font-size: 1.3rem;
	font-weight: 700;
	margin-bottom: .4rem
}

.cta-panel p, .cta-panel li {
	font-size: .9rem;
	color: #4b5563
}

.contact-card label {
	font-size: .8rem;
	color: #4b5563
}

.contact-card .form-control, .contact-card .form-select {
	font-size: .9rem
}

footer {
	font-size: .8rem;
	color: #6b7280;
	border-top: 1px solid #e5e7eb;
	background-color: #fff
}

.footer-links a {
	color: #6b7280;
	text-decoration: none
}

.footer-links a:hover {
	text-decoration: underline
}

@media ( min-width : 992px) {
	.hero {
		padding-top: 4.2rem;
		padding-bottom: 3.4rem
	}
}

@media ( max-width : 767px) {
	.header-image {
		background: none
	}
}


@media ( min-width : 768px) and (max-width : 1399px) {
	.header-image {
		background: url(../img/school_header_tablet.jpg) no-repeat right top;
		background-size: 100% auto
	}
	
	.general-background {
    background: url(../img/school_header_tablet.jpg) no-repeat center center fixed;
    background-size: auto;
    background-size: cover;
  }
}

@media ( min-width : 1400px) {
  .header-image {
	background: url(../img/school_header_desktop.jpg) no-repeat right top;
	background-size: 100% auto
  }
	
  .general-background {
    background: url(../img/school_header_desktop.jpg) no-repeat center center fixed;
    background-size: auto;
    background-size: cover;
    min-height: 75vh;
  }
}

@media ( max-width : 767px) {
	.header-image-mobile {
		background: url(../img/school_header_mobile.jpg) no-repeat right top;
		background-size: auto 100%
	}
}

@media ( max-width : 1799px) {
	.img-xxl-fixed {
		max-width: 100%;
		height: auto
	}
}

@media ( min-width : 1800px) {
	.img-xxl-fixed {
		max-width: none;
		width: auto
	}
}

.audiences-split {
	background: linear-gradient(to bottom, #fff 0 50%, #e30613 50% 100%)
}

.dl-corner-logo {
	display: none;
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2
}

@media ( min-width : 1530px) {
	.dl-corner-logo {
		display: block
	}
}

.dl-corner-logo img {
	height: 36px;
	width: auto
}

.when opening fi-swiper .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	height: auto
}

.partner-logo-wrap {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .75rem 1.25rem
}

.partner-logo-wrap img {
	max-height: 70px;
	width: auto;
	height: auto;
	object-fit: contain
}

.brand {
	color: var(--cc-primary);
	font-weight: 800;
	letter-spacing: .2px
}

.brand .dot {
	color: var(--cc-accent)
}

.page-title {
	background: linear-gradient(135deg, #263349f2, #263349cc);
	color: #fff;
	padding: 56px 0
}


.card-clean {
	border: 1px solid #eef2f7
}

footer {
	background: #0f1520;
	color: #c9d1e1
}

.muted {
	color: #6c757d
}

.placeholder {
	background: #f8fafc;
	padding: .2rem .5rem;
	border-radius: .35rem;
	border: 1px dashed #d0d7e2
}

.anchor-offset {
	scroll-margin-top: 88px
}

.text-fine {
	font-size: 0.9rem;
}

.text-justified {
	text-align: justify;
}

ul.ec-lp-circle-checkboxes {
	list-style-type: none;
	line-height: 1em;
}
		
ul.ec-lp-circle-checkboxes > li.not-selected {
	background: url(../img/circle-forbidden-red.svg) no-repeat left top;
	background-size: 20px 20px;
	text-decoration: line-through;
	padding: 0 0 1em 2.5em;
}
		
ul.ec-lp-circle-checkboxes > li {
	background: url(../img/circle-check-green.svg) no-repeat left top;
	background-size: 20px 20px;
	padding: 0 0 1em 2.5em;
}	
		
.small-font-size {
	font-size: 0.8rem;			
}	

.card-login {
  max-width: 25rem;
}

div.wicket-aa-container {
	border-width: 1px;
	border-color: #cccccc;
	border-style: solid;
}

div.wicket-aa {
        font-family: var(--font-rg);
        font-size: 12px;
        background-color: white;
        padding: 2px;
        text-align:left;
}
 
div.wicket-aa ul {
        list-style:none;
        list-style-image:none;
   		list-style-position:outside;
   		list-style-type:none;
   		margin:0pt;
   		padding:2px;
}

div.wicket-aa ul li.selected {
        background-color:#434e61;
        padding: 2px;
        margin:0;
        color: #ffffff;
}

.small-rating-text {
    font-size: 0.8rem;
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .ec-lp-circle-checkboxes > li {
        padding-left: 2rem;
        background-size: 18px 18px;
    }

    .small-font-size {
        font-size: 0.78rem;
    }
}