/**
*** SLIDER ***
*************/

.swiper-wrapper {
  transition-timing-function: linear !important;
}

.swiper-slide{
    text-align: center;
}

.swiper-slide .slideInner{
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide .slideInner img{
  max-height: 100px;
  height: auto;
  width: auto;
  max-width: 100%;
}

.swiper-slide .slideInnerText{
    padding-top: 20px;
    width: 100%;
    text-align: center;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide .slideInnerText p{
    font-size: .8125rem !important;
    font-weight: 500 !important;
}

/*
*** Ref Startseite ***
*********************/

.frame-layout-210{
    padding-top: 40px;
    position: relative;
}

.frame-layout-210::before {
    content: '' !important;
    background-image: url(../../../../../../fileadmin/user_upload/images/icons/quote-v2.svg);
    display: inline-block;
    height: 30px;
    width: 30px;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    position: absolute;
    top: -2px;
    left: 0;
}

/***
*** CARD ***
***********/

.cardDeckAuto {
    display: inline-flex;
    flex-wrap: wrap;
    margin: -20px 0 0 -20px;
    width: calc(100% + 20px);
}

.cardDeckAuto>* {
    margin: 20px 0 0 20px;
}

.cardDeck {
    --gap: 10px;
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: var(--gap);
    align-items: stretch;
}
.gap30{
    --gap: 30px !important;
}

.gapNo{
    --gap: 0px !important;
}

.cardDeck.card-1 {
    --columns: 1;
}

.cardDeck.card-2 {
    --columns: 2;
}

.cardDeck.card-3 {
    --columns: 3;
}

.cardDeck.card-4 {
    --columns: 4;
}

.cardDeck.card-5 {
    --columns: 5;
}
.cardDeck.card-6 {
    --columns: 6;
}

.cardDeck.card-7 {
    --columns: 7;
}

.cardDeck .cardInside,
.cardDeck .cardRef,
.cardDeck .article,
.cardDeck .cardWir{
    width: calc((100% / var(--columns)) - var(--gap) + (var(--gap) / var(--columns)));
}

.cardWir {
    bottom: 0;
    width: 100%;
    transition: .5s ease;
    padding: 20px 20px 0px 30px;
    width: 100%;
    margin: 0 0 0 0;
    position: relative;
    border-left: 1px solid var(--redRegular)
}

.gap30 .article{
    background-color: var(--grayExtraLight);
    padding: 30px 30px 10px 30px !important;
    margin: 0 0 0 0 !important;
    position: relative;
    border-radius: 5px;
}

.gap30 .article .teaser-text div{
    padding-left: 20px;
    border-left: 1px solid var(--redRegular);
}

.gapNo .article{
    background-color: var(--grayExtraLight);
    padding: 0px 0px 0px 0px !important;
    margin: 0 0 0 0 !important;
    position: relative;
    border-radius: 5px;
}

.cardRef {
    bottom: 0;
    transition: .5s ease;
    padding: 30px 30px 30px 30px;
    width: 100%;
    margin: 0 0 0 0;
    position: relative;
    border-radius: 5px;
}

.cardRef .cardContent{
    width: 100%;
    padding: 0 0 20px 0;
    min-height: 180px;
}

.cardRef .cardContent p{
    font-size: 1rem !important;
    line-height: 1.5;
    font-style: italic;
    font-weight: 400;
}

.cardRef .cardFooter p{
    font-size: 1rem !important;
    line-height: 1.5;
    font-weight: 500;
}



.cardInside {
    bottom: 0;
    width: 100%;
    transition: .5s ease;
    padding: 20px 20px 50px 20px;
    width: 100%;
    margin: 0 0 0 0;
    position: relative;
    border-radius: 5px;
}

.cardInside:hover{
    box-shadow: 0 0px 9px rgb(0 0 0 / 35%);
}

.cardInside a,
.cardInside a:hover{
    text-decoration: none;
}

.cardInside .cardHeader{
    width: 100%;
    min-height: 130px;
    padding: 0px 0px 10px 0px;
}

.cardInside .cardHeader h2{
    font-size: 1.250rem !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    margin-bottom: 1.5rem !important;
}

.cardInside .cardHeader h2{
    margin-bottom: 0 !important;
}

.cardInside .cardContent{
    width: 100%;
    padding: 0 0 20px 0;
}

.cardInside .cardContent p{
    font-size: 1rem;
    line-height: 1.5;
}

.cardInside .cardFooter{
    width: 100%;
    padding: 10px 20px 20px 20px;
    position: absolute;
    z-index: 2;
    bottom: 0px;
    left: 0px
}

.cardInside .cardFooter button,
.cardInside .cardFooter button:hover{
    color: var(--white);
    background-color: var(--grayRegular);
    font-weight: 600;
    font-size: 1.125rem;
    margin: 0;
    padding: 10px 50px;
    line-height: 1;
    border: none;
    border-radius: 5px;
    box-shadow: 0 0px 9px rgb(0 0 0 / 35%);
}

.cardInside .cardFooter button:hover{
     box-shadow: 0 0px 9px rgb(0 0 0 / 75%);
}

/***
*** Button ***
*************/

.btnSmall,
.btnSmall:hover{
    padding: 10px 30px;
    margin-top: 15px;
    border-radius: 5px;
    font-size: 1.000rem !important;
    line-height: 1.250rem !important;
    font-weight: 500 !important;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 0px 12px rgb(0 0 0 / 35%);
    display: inline-block;
}

.btnRegular,
.btnRegular:hover{
    padding: 15px 50px;
    margin-top: 30px;
    border-radius: 5px;
    font-size: 1.250rem !important;
    line-height: 1.500rem !important;
    font-weight: 500 !important;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 0px 12px rgb(0 0 0 / 35%);
    display: inline-block;
}

.btnRegular:hover,
.btnSmall:hover{
    box-shadow: 0 0px 12px rgb(0 0 0 / 100%);
}

.btnGrayRegular{
    background-color: var(--grayRegular) !important;
    border: var(--grayRegular) !important;
    color: var(--white) !important;
}

/***
**** Button to top ****
**********************/
#myBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: var(--orangeRegular);
  color: white;
  cursor: pointer;
  padding: 7px 7px 5px 7px;
  border-radius: 10px;
  font-size: 18px;
  border: 2px solid var(--white);
  box-shadow: 0 0px 15px rgb(0 0 0 / 75%);
}

#myBtn:hover {
  background-color: var(--redRegular);
  box-shadow: 0 0px 15px rgb(0 0 0 / 100%);
}

#myBtn .material-symbols-outlined{
    font-size: 2rem;
    color: var(--white);
}

/***
*** Youtube Overlay ***
***********************/

.youtubeOverlay{
    width: 100%;
    margin: 0;
    padding: 30px 0 0 0;
    position: relative;
}

.youtubeOverlayInner{
    position: absolute;
    width: max-content;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
}

.mfp-iframe-holder .mfp-content{
    max-width: 1200px;
}

.popup-youtube img{
    max-width: 100%;
    width: 100%;
    height: auto;
}

/***
*** News ***
***********/

.teaser-text{
    padding-top: 20px
}

.news .article h3 {
  margin-bottom: 1rem !important;
}

/***
*** Form ***
***********/

form .error {
    color: var(--redRegular);
}

.form-group{
    padding-top: 10px
}

.form-label{
    font-size: 1.000rem;
    line-height: 1.5;
}

.btn-primary{
    padding: 15px 50px;
    margin-top: 30px;
    border-radius: 5px;
    font-size: 1.250rem !important;
    line-height: 1.250rem !important;
    font-weight: 500 !important;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 0px 12px rgb(0 0 0 / 35%);
    display: inline-block;
    background-color: var(--grayRegular) !important;
    border: var(--grayRegular) !important;
    color: var(--white) !important;
}

.btn-primary:hover{
    box-shadow: 0 0px 12px rgb(0 0 0 / 100%);
}

