@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('../css/aos.css');
:root {
    --ratio:1;
    --ratio-section:1;
    --color-primary:#9D65AA;
    --bs-nav-link-font-size:1rem;
    --bs-btn-font-size:calc(var(--ratio)*1.25rem);
    --bs-body-font-size:calc(var(--ratio)*1.25rem);
    --header-height:17rem;
    --bs-body-color:#3c3c3b;
    --bs-secondary-color:#716c80;
}

.disabled, [disabled] {
    --bs-btn-disabled-opacity: 0.3552;
}

#loader {
    background-size: 60% auto;
    background-repeat: no-repeat;
    background-position: center 50%;
    background-color: #fff;
    border-radius: 50rem;
    box-shadow: 0px 1px 20px 0px rgba(112, 112, 112, 0.75);
    position: fixed;
    z-index: 99993;
    width: 80px;
    height: 80px;
    line-height: 80px;
    left: 50% !important;
    top: 50% !important;
    margin: -40px 0 0 -40px;
    vertical-align: top;
}

#loader .spinner-border {
    vertical-align: top;
    width: 100%;
    height: 100%;
    margin-top: 0;
    color: var(--color-primary, #999);
    border-width: 2px;
    animation-duration: 1s !important;
}

.form-control:read-only,
.form-control:disabled {
    background-color: #e9ecef;
    opacity: 1;
}

.btn:disabled {
    background: #cdcdcd;
    border-color: #cdcdcd;
}

html {
    width: 100vw;
    overflow-x: hidden;
}

body {
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight:300;
    font-style: normal;
    overflow-x: hidden;
    margin-right: 0 !important;
    padding-right: 0 !important;
    background-color: #F5F8FA;
}

*,
::before,
::after {
    background-repeat: no-repeat;
}

img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
    user-select: none;
}

figure figcaption {
    font-size: 0.75rem;
    margin-top: 0.375rem;
}

.lh-normal {
    line-height: normal;
}
.lh-12{
    line-height:1.2;
}
a,
[onclick],
.btn,
button,
input {
    cursor:pointer;
    text-decoration: none;
    outline: none;
    box-shadow: none !important;
}

a {
    color: inherit;
}
dl, ol, ul {
}
p{
    margin-bottom:0;
}
.text-editor p {
    margin-bottom: 1rem;
}
b,
strong {
    font-weight:700;
    /*color: rgb(87, 87, 86);*/
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
    font-weight:700;
    font-size: inherit;
    line-height: inherit;
    margin-bottom: 1rem;
}
h1{
    font-size:calc(var(--ratio-section)*2.4rem);
    font-weight:400;
    line-height:1.2;
}
h2{
    font-size:calc(var(--ratio-section)*2.4rem);
    font-weight:400;
    line-height:1.2;
}
h3{
    font-size:calc(var(--ratio-section)*1.625rem);
    font-weight:500;
    line-height:1.2;
}
h4 {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 1rem 0 1.5rem;
    color: var(--color-primary);
}
h6{}
h1 + h2 { margin-top: -1rem; }
h2 + h3 { margin-top: -.5rem; }
h3 + p.fliesstext-gross { margin-top: 2rem; }
.section_shadow h4 {
    margin: 4rem 0 1.5rem;
}
ol,
ul {
    padding-left:1rem;
    margin-bottom:1rem;
}
li::marker {
    font-size:65%;
}
span[style] {
    font-family: inherit !important;
}

input {
    box-shadow: none !important;
}

.text_ellipsis {
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

table, .table {
    margin-bottom: 0;
}

.container {
    position: relative;
}
.text-editor img {
    height: auto !important;
}

.text-editor a {
    color: rgba(var(--bs-link-color-rgb));
}
.border-primary{
    border-color:#00376C!important;
}
.text-primary{
    color:#00376C!important;
}
.btn{
    --bs-btn-font-size:calc(var(--ratio)*1rem);
}
@media (max-width: 991px) {
    :root{
        --header-height:3.125rem;
        --ratio-section: 0.9;
        --ratio: 0.8;
    }
    html {
        font-size: 16px;
    }
    .pc {
        display: none !important;
    }

    .mb {
        display: block !important;
    }

    .container {
        width: 100%;
        max-width: 100%;
        --bs-gutter-x:1.25rem;
    }
    .teaser-engineering {
        background-position: center 22rem !important;
    }
    .bg-color {
        padding: 4rem 15px !important;
    }
}

@media (min-width: 992px) {
    html {
        /*16px~1920px*/
        /*font-size:0.8333333333333333vw;*/
        font-size:16px;
    }
    body{
        font-size:1.25rem;
    }
    .pc {
        display: block !important;
    }

    .mb {
        display: none !important;
    }

    .container {
        width:90vw;
        max-width: 1152px;
        --bs-gutter-x: 0;
    }
}

@media (min-width: 992px) and (max-width: 1024px) {
    html {
    }
}

@media (min-width: 1025px) and (max-width: 1439.98px) {
    html {
    }
}

::placeholder {
    opacity: 1 !important; /* Firefox */
    color: #bbb !important;
    text-transform: uppercase;
}

::-ms-input-placeholder { /* Edge 12 -18 */
    color: #716C80;
    opacity: 1 !important;
    text-transform: uppercase;
}

form {
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1rem;
}
select.form-control {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  padding-right: 36px;
  cursor: pointer;
}


.datenschutz {
    margin-bottom: 2rem !important;
  }
/* checkbox-rect */
.checkbox-rect input[type="checkbox"] {
    display: none;
  }
  .checkbox-rect input[type="checkbox"] + label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    line-height: 18px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    line-height: 1.1;
    font-size: 1rem;
  }
  .checkbox-rect input[type="checkbox"]:hover + label:hover {
    /* color: rgb(23, 86, 228); */
  }
  .checkbox-rect input[type="checkbox"]:hover + label:before {
    background: #999;
    /* box-shadow: inset 0px 0px 0px 1px #999; */
  }
  .checkbox-rect input[type="checkbox"] + label:last-child {
    margin-bottom: 0;
  }
  .checkbox-rect input[type="checkbox"] + label:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    /* border: none; */
    border-radius: 0;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transition: all 0.2s, background 0.2s ease-in-out;
    transition: all 0.2s, background 0.2s ease-in-out;
    background: #efefef;
  }
  .checkbox-rect input[type="checkbox"]:checked + label:before {
      width: 20px;
      height: 20px;
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg);
      background: var(--color-primary);;
      /* box-shadow: 0 0 0 1px #000; */
    }
    .bg-darkblue .checkbox-rect input[type="checkbox"]:checked + label:before {
        background: var(--bg-gelb);;
      }
    .section-bg-dark .checkbox-rect input[type="checkbox"]:checked + label:before {
        background: #000;
    }
  /* checkbox-rect end */
  
  /* checkbox-rect */
  .checkbox-rect input[type="radio"] {
    display: none;
  }
  .checkbox-rect input[type="radio"] + label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    line-height: 23px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    font-size: var(--1rem);
  }
  .checkbox-rect input[type="radio"]:hover + label:hover {
    color: var(--black);
  }
  .checkbox-rect input[type="radio"]:hover + label:before {
    background: var(--color-tak-light-gray);
    box-shadow: inset 0px 0px 0px 2px #f7f2f2;
  }
  .checkbox-rect input[type="radio"] + label:last-child {
    margin-bottom: 0;
  }
  .checkbox-rect input[type="radio"] + label:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border: none;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transition: all 0.2s, background 0.2s ease-in-out;
    transition: all 0.2s, background 0.2s ease-in-out;
    background: var(--color-tak-red);
  }
  .checkbox-rect input[type="radio"]:checked + label:before {
    width: 20px;
    height: 20px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    background: var(--color-tak-dark-gray);
    /* box-shadow: 0 0 0 1px #000; */
  }
  /* checkbox-rect end */
  
  .checkbox-rect.radio { display: inline-block; margin-right: 2em; }
  .checkbox-rect label { font-size: var(--1rem); }
  
  label.lb, .pflicht { font-size: var(--08rem); }
  label.lg { font-size: var(--1rem); }
  .sendform { display: inline-block; }
  .sendform.hide { display: none; }
  .form_liste label {
      /* margin-right: 2em;  */
  
  }
  .form_liste p {
      margin: 1em 0 0; 
  }
  .form_hl {
      margin: 1em 0 1em;
  }
  .checkbox-rect.w25 {
      width: 30%; display: inline-block;
  }
  .checkbox-rect.w50 {
      width: 49%; display: inline-block;
  }

.lang-flag{
      font-size: 22px;   /* probiere 20â€“28px */
      line-height: 1;
  }

.lds-ellipsis {
	display: none;
	position: relative;
	width: 80px;
	height: 33px;
}
.lds-ellipsis.show {
	display: inline-block;
}
.lds-ellipsis div {
	position: absolute;
	top: 33px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #fff;
	animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
	left: 8px;
	animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
	left: 8px;
	animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
	left: 32px;
	animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
	left: 56px;
	animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
	0% {
	transform: scale(0);
	}
	100% {
	transform: scale(1);
	}
}
@keyframes lds-ellipsis3 {
	0% {
	transform: scale(1);
	}
	100% {
	transform: scale(0);
	}
}
@keyframes lds-ellipsis2 {
	0% {
	transform: translate(0, 0);
	}
	100% {
	transform: translate(24px, 0);
	}
}