.hero{

   
} 

.hero img{
    width: 100%;
    height: auto;    
}

.logosatz{
    position: absolute;
    bottom: 110px;
}

.logosatz span{
    display: block;
    color: white;
    text-transform: uppercase;
    font-size: 67px;
    font-weight: 700;
    letter-spacing: 6px;
}

.hero .rechnerlogo{
    width: calc(100% - 6px);
}



.rechner-main{
    width: 100%;
    position: relative;
    box-sizing: border-box;
}

.rechner-form-container{
    width: 100%;
    padding: 20px 15px;
    margin-bottom: 220px;
}


.step-icon {
    position: relative;
    margin: 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.step-icon img{
    height: 120px;
}

.number{
    background-color: #6e9ab6;
    border-radius: 50px;
    width: 20px;
    height: 20px;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 12px;
    top: 0;
    margin-left: -120px;
    font-weight: 600;
}

.rechner-main input, .rechner-main select{
    width: 100%;
    padding: 0.5rem 1rem; 
    border: 1px solid #9fa1a2;
    border-radius: 0.375rem !important;
    height: 45px;
}

.form-group{
    display: grid;
    grid-template-columns: 140px 1fr;
    margin-bottom: 20px;
    gap: 15px;
}


.grid.grid-cols-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.textinput{
    position: relative;
}


.textinput label{
    position: absolute;
    top: 9px;
    left: 10px;
    color: #717171;
    font-size: 16px;
    -webkit-transition: all .2s ease-out;
    -o-transition: all .2s ease-out;
    transition: all .2s ease-out;
    pointer-events: none;
    font-size: 19px;
    font-family: 'futura-bold';
}


.textinput .form-control:focus+.form-label, .textinput .form-control:not(:placeholder-shown)+.form-label {
    top: -6px;
    line-height: 1em;
    left: 6px;
    font-size: 12px;
    color: #818181;
    background-color: #fafafa;
    padding: 0 6px;
}

.rechner-main select {
    font-weight: 600;
    padding-top: 12px;
}

#badrechner .form-title{
    font-family: futura;
    font-weight: 600;
    letter-spacing: .5px;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    display: inline-block;
}

#badrechner .{
    font-family: futura;
    font-weight: 600;
    letter-spacing: .5px;
}

select {
    -webkit-appearance: none;
    appearance: none;
    background-position: 100%;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAUCAMAAACtdX32AAAAdVBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhMdQaAAAAJ3RSTlMAAAECAwQGBwsOFBwkJTg5RUZ4eYCHkJefpaytrsXGy8zW3+Do8vNn0bsyAAAAYElEQVR42tXROwJDQAAA0Ymw1p9kiT+L5P5HVEi3qJn2lcPjtIuzUIJ/rhIGy762N3XaThqMN1ZPALsZPEzG1x8LrFL77DHBnEMxBewz0fJ6LyFHTPL7xhwzWYrJ9z22AqmQBV757MHfAAAAAElFTkSuQmCC);
}

.offer-container{
    position: sticky;
    bottom: 0;
}

.offerte {    
    position: absolute;
    bottom: 0px;
    right: 0;
    width: 100%;
    background: #eeeeee;
    
    min-width: 280px;
    max-width: 400px;
    border-top-left-radius: 5px;
}

.offerte .rechts {
    text-align: right;
}


.dev-details {
    position: absolute;
    display: flex;
    bottom: 0;
    flex-direction: column;
}

.offerte .line{
    border-bottom: 1px solid black;
    display: flex;
    justify-content: space-between;
    padding: 20px;
}

.line.total {
    border-bottom: 0;
    font-family: 'futura';
    font-size: 1.4em;
    font-weight: bold;
    letter-spacing: 1px;
}

.rechner-main button{
    position: relative;
    left: 140px;
    padding: 8px 12px;
    margin-left: 15px;
    border:3px solid black;
}

.rechner-main button:hover{
    background-color: white;
    border:3px solid black;
    color:black;
    cursor: pointer;
}


@media(max-width:1400px){
    .logosatz span{
        padding-top: 8.5vw;
        font-size: 4vw;
    }

    .hero .rechnerlogo{
        position: absolute;
    }

    .logosatz{bottom: 80px;}
}

@media(max-width:1100px){


    .rechner-form-container{
        padding: 20px 0px;
    }

    .offerte {    
        right: -20px;
    }
    
    .logosatz{
        bottom: 40px;
        left: 20px;
    }

    .rechner-main{
        padding: 0 20px;
    }

    .logosatz span{
        padding-top: 9vw;
    }

}

@media(max-width:700px){
    .offerte {    
        width: calc(100% + 40px);
    }
    .grid.grid-cols-2 {
        grid-template-columns: 1fr;
    }

    .form-group {
        grid-template-columns: 80px 1fr;
    }

    .rechner-main button{
        left: 80px;
    }

    .step-icon img {
        height: 80px;
    }

    .number {
        margin-left: -70px;
    }

    .offerte {
        max-width: unset;
    }

    .dev-details{
        display: none;
    }
    .offerte .line {
        padding: 8px 20px;
    }
    .logosatz span{
        padding-top: 45px;
        font-size: 14px;
    }
}

@media(max-width:500px){
    .offerte .line {
        padding: 8px 20px;
    }

    #badrechner .form-title{
        font-size: 1.1rem;
    }

    .textinput label{
        top: 11px;
        font-size: 16px;
    }
}

