/*
 * Filip Pova :: Web- & Printdesign
 * Author: Filip Pova
 * E-Mail: design@kommen-Sie-gut-an.de
 * Web: www.kommen-Sie-gut-an.de
*/


html,
body{
   height: 100%;
   scroll-behavior: smooth;
}

body{
    padding-top: 0;
    margin-top: 0;
}

header{
    position: relative;
    padding: 5px 0 70px 0;
}

.aLogo{
    display: block;
    text-align: left;
}

.logoHeader{
    max-width: 400px;
    height: auto;
}

.logoNav{
    width: 400px;
    max-width: 100%;
    height: auto;
    padding: 0 0px 20px 0px;
}



.logoFooter{
    width: 300px;
    max-width: 100%;
    height: auto;
}

.siegelFooter{
    width: 75px;
    height: auto;
}

.contentHeader{
    padding-top: 125px;
    padding-bottom: 125px;
    text-align: center;
    background-color: rgb(245,245,245);
}

.divSiegel{
    position: absolute;
    width: 100px;
    height: 100px;
    z-index: 2;
    top: -175px;
    right: 0px;
}

.headerImageHome{
    background-image: url(../../../files/images/home/header-home-v04.webp);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.headerImageLeistungen{
    background-image: url(../../../files/images/home/header-home-v03.webp);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.headerImagePreise{
    background-image: url(../../../files/images/home/header-home-v02.webp);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.headerImageKontakt{
    background-image: url(../../../files/images/home/header-home-v06.webp);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.headerImageDefault{
    background-image: url(../../../files/images/home/header-home-v05.webp);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}

.headerImageTextWrapper{
    background-color: rgba(255,255,255,0.5);
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 0px 12px rgb(0 0 0 / 35%);
    width: max-content
}

footer{
    background-image: url(../../../files/images/bg/bg-sonne.png);
    background-position: right bottom;
    background-repeat: no-repeat;
}

.divHwrapper{
    background-image: url(../../../files/images/bg/bg-h-mobile.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 30px;
    margin-bottom: 15px;
}

.divHinner{
    display:inline-block;
    background-color: white;
    padding: 5px 10px;
}

.divHinner h2{
    margin-bottom: 0 !important;
    display: inline;
}



.divGrayWrapper{
    position: absolute;
    display: block;
    width: 110%;
    height: 100%;
    top: 0px;
    right: -20px;
    z-index: -1;
    background-color: rgb(245,245,245);
    border-radius: 10px;
    padding: 40px;
}

.divGrayWrapper2{
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0px;
    right: -20px;
    z-index: -1;
    background-color: rgb(245,245,245);
    border-radius: 10px;
    padding: 40px;
}

.divGrayWrapper p,
.divGrayWrapper2 p{
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--black);
    font-family: 'Kalam';
}

/***
*** 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: 5px;
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: var(--gap);
    align-items: stretch;
    justify-content: center;
}

.gap30px{
    --gap: 30px;
}

.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 .cardIconTop{
    width: calc((100% / var(--columns)) - var(--gap) + (var(--gap) / var(--columns)));
}



.cardIconTop{
    border: 1px solid var(--blueRegular);
    padding: 50px 20px 20px 20px;
    position: relative;
    margin-bottom: 50px;
    text-align: center;
    background-color: var(--grayExtraLight);
    border-radius: 5px;
}

.cardIconTop .iconCard{
    border-radius: 50%;
    border: 1px solid var(--blueRegular);
    display: inline;
    padding: 5px 5px 0px 5px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    margin-top: -30px;
    background-color: var(--white);
}

.cardIconTop .iconCard .material-symbols-outlined{
    color: var(--orangeRegular);
    font-size: 3rem;
}

.cardIconTop h3{
    font-family: 'Open Sans';
    font-size: 1.750rem;
    color: var(--blueRegular);
    line-height: 1.5;
    font-weight: 400;
    position: relative;
    margin-bottom: 1rem;
    display: inline-block;
}

.cardIconTop h3::before {
    content: '';
    background-image: url(../../../files/images/bg/bg-h-mobile.png);
    background-repeat: no-repeat;
    background-position: left center;
    height: 21px;
    width: 29px;
    position: absolute;
    top: 12px;
    left: 0;
    margin-left: -37px;
}

.cardIconTop p{
    font-size: 1.125rem;
    line-height: 1.5;
    margin-top: 0;
    margin-bottom: 1rem;
    text-decoration: none;
    font-weight: 400;
    text-align: center;
    color: var(--black);
}

/*
*** FORM ***
***********/

.borderFormAlert{
    border: 1px solid var(--red);
}

.form-control{
   box-shadow: none !important;
}

form textarea.form-control:focus,
form textarea.form-control:active,
form textarea.form-control:checked{
    box-shadow: none !important;
    border: 1px solid var(--blueRegular) !important;
}

/****************
*** DIV Alert ***
*****************/

.divAlert{
    display: block;
    padding: 10px 10px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.divAlert p{
    margin-bottom: 0;
}

.divAlert.divAlertDanger{
    border: 1px solid var(--redRegular);
    background-color: var(--redTransparent);
}

.divAlert.divAlertSuccess{
    border: 1px solid var(--greenDark);
    background-color: var(--greenLight);
}

.divAlert.divAlertNote{
    border: 1px solid var(--grayRegular);
    background-color: var(--grayTransparent);
}

.divAlert.divAlertWarning{
    border: 1px solid var(--orangeRegular);
    background-color: var(--orangeTransparent);
}

.divAlert .alertIcon{
    min-width: 30px;
    min-height: 30px;
    padding-right: 10px;
}

.divAlert .alertText{
    min-height: 30px;
}

.divAlert.divAlertDanger .alertIcon .material-symbols-outlined{
    color: var(--redRegular);
    vertical-align: sub;
}

.divAlert.divAlertNote .alertIcon .material-symbols-outlined{
    color: var(--grayRegular);
    vertical-align: sub;
}

.divAlert.divAlertWarning .alertIcon .material-symbols-outlined{
    color: var(--orangeRegular);
    vertical-align: sub;
}

.divAlert.divAlertSuccess .alertIcon .material-symbols-outlined{
    color: var(--greenDark);
    vertical-align: sub;
}

.divAlert .alertText{
    font-size: 1.000rem;
    padding: 0;
    margin: 0;
}

.divAlert  .alertText a,
.divAlert  .alertText a:hover{
    font-size: 1.125rem;
    padding: 0;
    margin: 0;
    font-weight: 600;
    color: var(--black);
}




/**************
*** PADDING ***
**************/

.pT-10{
    padding-top: 10px !important;
}
.pT-20{
    padding-top: 20px !important;
}
.pT-30{
    padding-top: 30px !important;
}
.pT-40{
    padding-top: 40px !important;
}
.pT-50{
    padding-top: 50px !important;
}
.pT-60{
    padding-top: 60px !important;
}
.pT-70{
    padding-top: 70px !important;
}
.pT-80{
    padding-top: 80px !important;
}
.pT-90{
    padding-top: 90px !important;
}
.pT-100{
    padding-top: 100px !important;
}

.pB-10{
    padding-bottom: 10px !important;
}
.pB-20{
    padding-bottom: 20px !important;
}
.pB-30{
    padding-bottom: 30px !important;
}
.pB-40{
    padding-bottom: 40px !important;
}
.pB-50{
    padding-bottom: 50px !important;
}
.pB-60{
    padding-bottom: 60px !important;
}
.pB-70{
    padding-bottom: 70px !important;
}
.pB-80{
    padding-bottom: 80px !important;
}
.pB-90{
    padding-bottom: 90px !important;
}
.pB-100{
    padding-bottom: 100px !important;
}

.pY-0{
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}
.pY-10{
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.pY-20{
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
.pY-30{
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}
.pY-40{
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}
.pY-50{
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}
.pY-60{
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}
.pY-70{
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}
.pY-80{
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}
.pY-90{
    padding-top: 90px !important;
    padding-bottom: 90px !important;
}
.pY-100{
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

.pX-0{
    padding-right: 0px !important;
    padding-left: 0px !important;
}

.pX-10{
    padding-right: 10px !important;
    padding-left: 10px !important;
}
.pX-20{
    padding-right: 20px !important;
    padding-left: 20px !important;
}
.pX-30{
    padding-right: 30px !important;
    padding-left: 30px !important;
}
.pX-40{
    padding-right: 40px !important;
    padding-left: 40px !important;
}
.pX-50{
    padding-right: 50px !important;
    padding-left: 50px !important;
}
.pX-60{
    padding-right: 60px !important;
    padding-left: 60px !important;
}
.pX-70{
    padding-right: 70px !important;
    padding-left: 70px !important;
}
.pX-80{
    padding-right: 80px !important;
    padding-left: 80px !important;
}
.pX-90{
    padding-right: 90px !important;
    padding-left: 90px !important;
}
.pX-100{
    padding-right: 100px !important;
    padding-left: 100px !important;
}

.pA-10{
    padding: 10px !important;
}
.pA-20{
    padding: 20px !important;
}
.pA-30{
    padding: 30px !important;
}
.pA-40{
    padding: 40px !important;
}
.pA-50{
    padding: 50px !important;
}
.pA-60{
    padding: 60px !important;
}
.pA-70{
    padding: 70px !important;
}
.pA-80{
    padding: 80px !important;
}
.pA-90{
    padding: 90px !important;
}
.pA-100{
    padding: 100px !important;
}

/*************
*** MARGIN ***
**************/

.mT-10{
    margin-top: 10px !important;
}
.mT-20{
    margin-top: 20px !important;
}
.mT-30{
    margin-top: 30px !important;
}
.mT-40{
    margin-top: 40px !important;
}
.mT-50{
    margin-top: 50px !important;
}
.mT-60{
    margin-top: 60px !important;
}
.mT-70{
    margin-top: 70px !important;
}
.mT-80{
    margin-top: 80px !important;
}
.mT-90{
    margin-top: 90px !important;
}
.mT-100{
    margin-top: 100px !important;
}

.mB-10{
    margin-bottom: 10px !important;
}
.mB-20{
    margin-bottom: 20px !important;
}
.mB-30{
    margin-bottom: 30px !important;
}
.mB-40{
    margin-bottom: 40px !important;
}
.mB-50{
    margin-bottom: 50px !important;
}
.mB-60{
    margin-bottom: 60px !important;
}
.mB-70{
    margin-bottom: 70px !important;
}
.mB-80{
    margin-bottom: 80px !important;
}
.mB-90{
    margin-bottom: 90px !important;
}
.mB-100{
    margin-bottom: 100px !important;
}

.mY-10{
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}
.mY-20{
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}
.mY-30{
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}
.mY-40{
    margin-top: 40px !important;
    margin-bottom: 40px !important;
}
.mY-150{
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}
.mY-60{
    margin-top: 60px !important;
    margin-bottom: 60px !important;
}
.mY-70{
    margin-top: 70px !important;
    margin-bottom: 70px !important;
}
.mY-80{
    margin-top: 80px !important;
    margin-bottom: 80px !important;
}
.mY-90{
    margin-top: 90px !important;
    margin-bottom: 90px !important;
}
.mY-100{
    margin-top: 100px !important;
    margin-bottom: 100px !important;
}

/*************
*** SHADOW ***
*************/

.shadowAllSite{
    box-shadow: 0 0px 12px rgb(0 0 0 / 55%); 
}


/***
*** 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;
}

.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 .cardGrayLight{
    width: calc((100% / var(--columns)) - var(--gap) + (var(--gap) / var(--columns)));
}

.cardInside {
    bottom: 0;
    width: 100%;
    transition: .5s ease;
    padding: 0 0 0 0;
    width: 100%;
    margin: 0 0 0 0;
    position: relative;
}

/***
**** 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(--blueRegular);
  box-shadow: 0 0px 15px rgb(0 0 0 / 100%);
}

#myBtn .material-symbols-outlined{
    font-size: 2rem;
    color: var(--white);
}



