/*
	CI AE 
/	
/	CSS Variables Colors
/	Fonts Import
/	Fonts Style
/	Body, html
/	Backgrouds
/	Box Shadow
/	Divider
/	Buttons & Pills
/	Links
/	Lists
/	Border
/	Image
/ 	Form Fields
/	Cards & Tiles 
/	To Top
/	Preloader
/	own Stuff
*/

/**
 * @license
 * MyFonts Webfont Build ID 3867246, 2020-12-16T11:57:38-0500
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: Bozon Bold by ROHH
 * URL: https://www.myfonts.com/products/bold-bozon-454432
 * Copyright: Copyright © 2023 Monotype Imaging Inc. All rights reserved.
 * 
 * © 2023 MyFonts Inc. */


/*
	CSS Variables
*/
:root {

	/* colors */
	--primary-1:#112E52;
	--primary-2:#ffffff;
	--secondary-1:#009F92;
	--secondary-2:#B7C9D3;
	--secondary-3:#FF585D;
	--secondary-4:#1A1919;
	--tertiary-1:#E8EEF1;
	--tertiary-2:#FAFBFC;
	--tertiary-3:#00A8E9;
	--link:#00A8E9;
	--background:#f4f4f4;
	
	/* font-size */
	--text-standard: 18px;
	--text-medium: 16px;
	--text-small: 14px;
	--text-teaser:24px;
	--text-large:40px;
	--h1:56px;
	--h2:40px;
	--h3:32px;
	--h4:24px;
	--h5:18px;
	--line-height-h1:1.14;
	--line-height-h2:1.1;
	--line-height-h3:1.13;
	--line-height-h4:1.25;
	--line-height-h5:1.22;
	--margin-bottom-h2:49px;
	--margin-bottom-h3:49px;
	--margin-bottom-h4:16px;
	--margin-bottom-p:27px;
	--margin-bottom-text-teaser:27px;
	--margin-bottom-text-large:27px;
	

}

/* Fonts Import */
@font-face {
  font-family: "BozonBold";
  src: url('../Fonts/BozonBold/font.woff2') format('woff2'), url('../Fonts/BozonBold/font.woff') format('woff'), url("../Fonts/BozonBold/font.otf") format("opentype");
}
@font-face {
  font-family: "BozonRegular";
  src: url('../Fonts/BozonRegular/font.woff2') format('woff2'), url('../Fonts/BozonRegular/font.woff') format('woff'), url("../Fonts/BozonRegular/font.otf") format("opentype");
}

/* Body */
body, html {
	/*background-color: #f4f4f4;*/
}

/* Fonts Style */
h1, h2, h3, h4, h5, summary, .pagetitle {
	font-family: BozonBold;
	/*font-weight: bold;*/
	font-stretch: normal;
	font-style: normal;
	letter-spacing: normal;	
}
h1 {
	font-size: var(--h1);
	line-height: var(--line-height-h1);
}
h2 {
	font-size: var(--h2);
	line-height: var(--line-height-h2);
	margin-bottom: var(--margin-bottom-h2);
}
h3 {
	font-size: var(--h3);
	line-height: var(--line-height-h3);
	margin-bottom: var(--margin-bottom-h3);
}
h4, summary {
	font-size: var(--h4);
	line-height: var(--line-height-h4);
	margin-bottom: var(--margin-bottom-h4);
}
h5 {
	font-size: var(--h5);
	line-height: var(--line-height-h5);
}
div.pagetitle {
	font-size: var(--h4);
	line-height: var(--line-height-h4);
}

p .text-large, .text-medium, .text-small, .text-teaser {
	font-family: BozonRegular;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;	
	letter-spacing: normal;	
}
p {
	font-size: var(--text-standard);
	line-height: 1.22;
	margin-bottom: var(--margin-bottom-p);
}
br {
	display: block;
}

.text-medium {
	font-size: var(--text-medium);
	line-height: 1.25;
}
.text-small {
	font-size: var(--text-small) !important;
	line-height: 1.43;
}
.text-teaser {
	font-size: var(--text-teaser);
	line-height: 1.17;
	margin-bottom: var(--margin-bottom-text-teaser);	
}
.text-large {
	font-family: BozonBold;
	font-size: var(--text-large);
	line-height: 1.1;
	margin-bottom: var(--margin-bottom-text-large);
}

.ae-intro .text-large{
	padding-right: 40px;
}

.color-primary-one{
	color: var(--primary-1);
}

.color-secondary-one{
	color: var(--secondary-1);
}

.color-secondary-three{
	color: var(--secondary-3);
}

.frame_header {
  border-top: var(--bs-border-width) var(--bs-border-style) !important;
  border-bottom: var(--bs-border-width) var(--bs-border-style) !important;
  padding-top: 13px;
  padding-bottom: 10px;
}

/* Backgrouds */

.backgroud-color-iceblue{
	background-color: var(--tertiary-1);
}

.background-color-primary{
	background-color: var(--primary-1);
}

.background-color-secondary-three{
	background-color: var(--secondary-3);
}

.background-color-secondary-one{
	background-color: var(--secondary-1);
}

/* Box Shadow */
.boxshade-top {
	width: 120px;
	height: 120px;
	margin: 50px 38px 75px 3px;
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75));
}
.boxshade-right {
	width: 120px;
	height: 120px;
	margin: 50px 41px 75px 17px;
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 100%, rgba(0, 0, 0, 0.75) 0%);
}


/* Divider */
.line-grey-large, .line-white-large , .line-white-small {
	height: 1px;
	opacity: 0.35;
	margin: 63px 0 42px 0;
	border: solid 1px #d1d1d1;	
}

line-grey-large {
	/*width: 1920px;*/
}
.line-white-large {
	/*width: 1920px;*/
	border: solid 1px var(--primary-2);
}	
.line-white-small {
	/*width: 1402px;*/
}


/* Buttons & Pills */
.btn-primary, .btn-phone, .btn-email {
	/*min-width: 140px;*/
	width: fit-content;
	/*height: 40px;*/
	/*margin: 59px 58px 52px 49px;*/
	margin-bottom: 30px;
	padding: 10px 15px 9px;
	border-radius: 20px;
	border: solid 1px var(--link);
	background-color: var(--link);
	font-family: BozonRegular;
	font-size: 14px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.43;
	letter-spacing: normal;
	text-align: center;
	color: var(--primary-2);
	display: inline-block;
	transition: background-color .3s ease-out 100ms, border .3s ease-out 100ms, color .2s ease-out 100ms;
}
.btn-primary.inverted, .attention-box.primary .btn-primary {
	color: var(--link);
	border: solid 1px #d1d1d1;
	background-color: var(--primary-2);
}	
.btn-primary:hover, .btn-phone:hover, .btn-email:hover {
	color: var(--link);
	border: solid 1px #d1d1d1;
	background-color: var(--primary-2);
	text-decoration: none;
	
}	
.btn-primary.inverted:hover, .attention-box.primary .btn-primary:hover  {
	color: var(--primary-2);
	border: solid 1px var(--link);
	background-color: var(--link);
	text-decoration: none;	
}
button.btn.btn-default {
    margin-bottom: 30px;
}
.btn-contact {
	padding: 10px 35px 9px;
}
.btn-phone, .btn-email {
	margin: 10px 0;
}
.pill-primary {
	width: 153px;
	height: 40px;
	margin: 71px 52px 98px 42px;
	padding: 10px 0;
	border-radius: 20px;
	border: solid 1px var(--secondary-2);
	background-color: var(--primary-2);
	font-family: Bozon;
	font-size: 14px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.43;
	letter-spacing: normal;
	text-align: center;
	color: var(--primary-1);
}

.pill-primary:hover {
	background-color: var(--primary-2);
}	
.btn-category{
	color: var(--primary-1);
	padding: 10px 20px;
	height: auto;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 20px;
	text-align: center;
	border: 1px solid var(--secondary-2);
	border-radius: 20px;
	background-color: unset;
	margin-bottom: 0;
	cursor: pointer;
}
.margin-btn-category{
	margin-bottom: 14px;
}
.btn-category.active{
	border: 1px solid var(--secondary-2);
	border-radius: 20px;
	background-color: var(--tertiary-1);
}

/* Links */	
a {
	text-decoration: none;
	color: var(--link);
}
a:hover {
	color: var(--link);
	text-decoration: underline;
}
a:active, a:focus {
	/*color: var(--link);*/
}
a.btn-primary {
	text-decoration: none;
}

/* Lists */

ul.iconlist, ul.iconlist-secondary-one, ul.iconlist-secondary-three, ul.iconlist-primary-one{
	padding-left: 20px;
}

ul.iconlist li, ul.iconlist-secondary-one li, ul.iconlist-secondary-three li, ul.iconlist-primary-one li{
	text-indent: -0.92em;
	font-size: var(--text-standard);
}

ul.iconlist li::before {
	content: "+"; 
	margin-right: 5px;
}

ul.iconlist-secondary-one li::before {
	content: "+";
	color: var(--secondary-1);
	margin-right: 5px;
}

ul.iconlist-secondary-three li::before {
	content: "+";
	color: var(--secondary-3);
	margin-right: 5px;
}

ul.iconlist-primary-one li::before {
	content: "+";
	color: var(--primary-1);
	margin-right: 5px;
}

/* Border */
.border_elements{
	border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
	border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

/* Image */
img {
	max-width: 100%;
	height: auto;
}

/* Form Fields */
input, select,
select > option{
	width: 100%;
	height: calc(3.5rem + 2px);
	/*margin: 104px 141.1px 25px 34px;*/
	padding: 1rem .75rem;
	border-radius: 5px;
	border: solid 1px var(--secondary-2);
	background-color: var(--primary-2);
	font-family: BozonRegular;
	font-size: 16px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.25;
	letter-spacing: normal;
	color: #707070;
}

input[type="radio"], input[type="checkbox"]{
	width: 1em;
	height: 1em;
	padding: 0;
}

input[type="radio"]:focus, 
input[type="checkbox"]:focus{
	box-shadow: none !important;
}

.form-check-input:checked{
	background-color: var(--primary-1);
	border-color: var(--primary-1);
}

input[type="submit"]{
	height: auto;
}

input[type="file"]{
	height:auto;
}

input.powermail_input,
select.powermail_select,
select > option{
	width: 100%;
	height: calc(3.5rem + 2px);
	/*margin: 104px 141.1px 25px 34px;*/
	padding: 12px 16.4px 12px 20px;
	border-radius: 5px;
	border: solid 1px var(--secondary-2);
	background-color: var(--primary-2);
	font-family: BozonRegular;
	font-size: 16px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.25;
	letter-spacing: normal;
	color: #707070;
}

input:error {
	color: #ff4132;
	border: solid 1px var(--secondary-3);
}
.powermail-errors-list.filled{
	display: none;
}
input.powermail_field_error, select.powermail_field_error{
	/*color: #ff4132;*/
	border: solid 1px var(--secondary-3) !important;
}
input.powermail_field_error:focus{
	color: #ff4132;
	border: solid 1px var(--secondary-3) !important;
}
.powermail_field_error input[type="checkbox"]{
	color: #ff4132;
	border: 1px solid var(--secondary-3) !important;
}
.powermail_field_error > input[type="radio"]{
	color: #ff4132;
	border: solid 1px var(--secondary-3) !important;
}
.floating-label-group {
	position: relative;
	margin-bottom: 25px;
}
.floating-label {
	/*font-size: 13px;*/
	color: #cccccc;
	position: absolute;
	pointer-events: none;
	top: 20px;
	left: 12px;
	transition: all 0.1s ease;
}
input:focus ~ .floating-label,
input:not(:focus):valid ~ .floating-label {
	top: 4px;
	bottom: 0px;
	left: 20px;
	font-size: 11px;
	opacity: 1;
	color: var(--secondary-4);
}

input.invalid{
	border-color: red !important;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="file"]:focus,
select:focus, 
textarea:focus {
	border-color: var(--primary-1);
	box-shadow: none !important;
	color: var(--link) !important;
	background-color: var(--tertiary-2) !important;
}

.form-control{
	border-radius: 5px;
	border: solid 1px var(--secondary-2);
	background-color: var(--primary-2);
	font-family: BozonRegular;
	font-size: 16px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.25;
	letter-spacing: normal;
}

.form-floating > textarea.form-control{
	height:auto;
	padding-top: 1.625rem;
	padding-bottom: .625rem;
}

.form-not-floating{
	position: relative;
}

.form-not-floating > .form-control{
	padding-top: 1.625rem;
	padding-bottom: .625rem;
	padding-right: .75rem;
	padding-left: .75rem;
}

.form-not-floating > .form-control ~ label{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 1rem .75rem;
	overflow: hidden;
	text-align: start;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: none;
	border: 1px solid transparent;
	transform-origin: 0 0;
	transition: opacity .1s ease-in-out,transform .1s ease-in-out;
	opacity: .65;
  	transform: scale(.85) translateY(-.5rem) translateX(.15rem);
}

.form-select {
	-moz-padding-start: 0.75rem;
}
.form-select.invalid{
	border-color: red !important;
}

.clear{
	clear: both;
	position: relative;
	width: 100%;
}

/*
.row {
	margin-top: 50px;
}
*/


/* Cards & Tiles */
.cards {
	margin: 0 auto;
	justify-content: center;
	transition: height 0.5s;
}

.card {
	width: 260px;
	margin-bottom: 40px;
	margin-right: 0px;
	padding: 0 0 20px;
	border-radius: 4px;
	border: none;	
	box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.15);
	background-color: var(--primary-2);
}

.card .btn-primary {
	margin: 0;
}
.card p, .tile p {
	font-size: 16px;	
}
.card:nth-of-type(3n) {
	margin-right: 0
}

.tiles {
	margin: 0 auto;
	justify-content: left;
}

/* To Top */
.icon-angle-up::before {
	content: "\02227";
	display: inline-block;
	transform: scaleX(1.3) scaleY(0.6);
}

#gotoTop {
  display: none;
  z-index: 299;
  position: fixed;
  width: 40px;
  height: 40px;
  background-color: #333;
  background-color: rgba(0,0,0,0.3);
  font-size: 20px;
  line-height: 36px;
  text-align: center;
  color: #FFF;
  top: auto;
  left: auto;
  right: 30px;
  bottom: 50px;
  cursor: pointer;
  border-radius: 2px;
}

.stretched #gotoTop {
  bottom: 30px;
}

body:not(.device-touch) #gotoTop {
  transition: background-color .2s linear;
  -webkit-transition: background-color .2s linear;
  -o-transition: background-color .2s linear;
}

#gotoTop:hover {
  background-color: var(--primary-1);
}

/* Preloader, Overlay */
#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 9999; /* sorgt dafür, dass der Preloader über allem anderen Inhalt angezeigt wird */
}

#loader {
	position: absolute;
	top: 50%;
	left: 50%;
	border: 16px solid #f3f3f3; /* graue Farbe für den Kreis */
	border-top: 16px solid #3498db; /* blaue Farbe für den oberen Teil des Kreises */
	border-radius: 50%;
	width: 120px;
	height: 120px;
	animation: spin 2s linear infinite; /* fügt eine Drehbewegung hinzu */
}

@keyframes spin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}
#overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-1);
	opacity: 0.9;
	z-index: 5;
	display: none;
}

/* own Stuff */
ol, ul {
	list-style-type: none;
	padding-left: 0;
}

.important {
	color: var(--secondary-2);
}

.fill-red {
	background-color: var(--secondary-3);
}
.fill-blue {
	background-color: var(--primary-1);
}
.fill-green {
	background-color: var(--secondary-1);
}
.fill-ice {
	background-color: var(--secondary-2);
}

.row > * {
  padding-right: calc(var(--bs-gutter-x) * .9);
  padding-left: calc(var(--bs-gutter-x) * .9);
}


.line {
  clear: both;
  position: relative;
  width: 100%;
  margin: 20px 0;
  border-top: 1px solid #333;
}

@keyframes zoom-in {
  0% {
   transform: scale(.1);
  }
  100% {
    transform: none;
  }
}

.is-animated {
  animation: .6s zoom-in;
}

.swiping-icon-right,
.swiping-icon-left{
	cursor: pointer;
}

p.no-btm-space {
	margin-bottom: 0;
}
ul > p {
	margin: 0;
}

section.nospace {
	padding-bottom: 0;
}
section.nospace h3 {
	margin-bottom: 0;
}