section.home-banner {
    background-image: linear-gradient(to top, rgb(209, 241, 255) 0%, rgba(209, 241, 255, 0) 70%), url('../../img/front/bg.png');
}

section.hero-section {
    position: relative;
    width: 100%;
    min-height: 320px;
}

section.hero-section figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    z-index: -1;
}

section.hero-section figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.hero-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(83deg, rgba(9, 60, 94, 0.8), rgba(1, 88, 135, 0.34));
    z-index: 0;
}

section.hero-section > div > article {
    padding: 16rem 0 0 0;
}

section.hero-section > div > article > h1 {
    color: #F0BD1B;
    padding: 0;
    margin: 0;
    text-shadow: 4px 4px 0 #03507a;
}

section.hero-section > div > article > p {
    color: white;
    padding: 0;
    margin: 0;
}

footer > div {
    padding: 0 0 4rem 0;
    margin-top: -6rem;
    display: grid;
    grid-gap: 2rem;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto auto 5rem;
    grid-template-areas:
        "lg lg lg ct ct ct ct ct ct ct ct ct"
        "mn mn mn mn mn mn mn mn mn mn mn mn"
        "bt bt bt bt bt bt bt bt bt bt bt bt";
}

footer > div figure.footer-logo {
    position: unset;
    width: 100%;
    grid-area: lg;
    margin: 0;
}

footer > div div.footer-contact {
    position: unset;
    width: 100%;
    grid-area: ct;
    margin: 0;
}

footer div div.footer-contact .footer-address {
    flex: 3;
}

footer div div.footer-contact .footer-info {
    flex: 5;
}

footer > div div.footer-bottom {
    position: unset;
    grid-area: bt;
    margin: 0;
}


footer > div div.footer-menu {
    position: unset;
    grid-area: mn;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    gap: 4rem;
    padding: 4rem 0 2rem 0;
}

footer > div div.footer-menu ul {
    margin: 0;
    padding: 0 2.4rem;
    display: flex;
    flex-direction: row;
    gap: 4rem;
    flex-wrap: wrap;
    width: 100%;
}

footer > div div.footer-menu > ul > li {
    margin: 0;
    padding: 0;
    list-style: none;
    flex: 1 0 32%;
    max-width: 30%;
}

footer > div div.footer-menu ul li a {
    color: #68d9fb;
    text-shadow: 2px 2px 4px rgba(2, 33, 50, 0.56);
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    transition: all 0.3s ease-in-out;
    line-height: 2.4rem;
}

footer > div div.footer-menu ul li a:hover {
    color: white;
}


footer > div div.footer-menu > ul > li > p {
    color: #69d9fb;
    font-size: 2.8rem;
    font-weight: 300;
    width: 100%;
    margin-bottom: 1rem;
    /* border-bottom: solid 2px #69d9fb;*/
}

footer > div div.footer-menu > ul > li > ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: space-between;
    align-items: flex-start;
    list-style: none;
    padding: 0 0 0 1rem;
}

footer > div div.footer-menu > ul > li > ul > li {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 1.6rem;
}

footer > div div.footer-menu > ul > li > ul > li > a {
    margin: 0;
    padding: 0;
    font-weight: 300;

}

footer > div div.footer-menu > ul > li > ul > li > a:hover {
    text-decoration: underline;
}


@media (max-width: 1024px) {
    footer > div div.footer-bottom {
        align-items: center;
        justify-content: flex-end;
        gap: 1rem;
    }
}

@media (max-width: 864px) {

    footer {
        padding: 2rem;
    }

    footer > div {
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    footer > div figure.footer-logo {
        justify-content: center;
        gap: 2rem;
    }

    footer > div figure.footer-logo > picture > img {
        width: 40%;
        margin: auto;
    }

    footer > div div.footer-menu > ul > li {
        flex: 1 0 44%;
        max-width: 44%;
    }

}

@media (max-width: 724px) {
    footer > div figure.footer-logo {
        justify-content: space-between;
        gap: 2rem;
    }

    footer > div figure.footer-logo > picture > img {
        width: 100%;
        margin: auto;
    }
}

@media (max-width: 576px) {
    footer > div div.footer-menu > ul > li {
        flex: 1 0 94%;
        max-width: 94%;
    }
}


form label {
    text-align: left;
}

form fieldset {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4rem;
}

form fieldset div.input-group {
    flex: 1 0 400px;
}

/* Button styles copied from style.css */


button.btn-primary {
    border-radius: 1.8rem;
    padding: clamp(0.4rem, 1vw, 1.4rem) clamp(1.4rem, 2.2vw, 2rem);
    margin: clamp(0.6rem, 1vw, 1.2rem) 0;
    border: solid 0.2rem #1E81BB;
    text-decoration: none;
    font-weight: normal;
    font-size: clamp(1.8rem, 2.2vw, 2rem);
    line-height: clamp(2.6rem, 3vw, 2.8rem);
    background-color: #1E81BB;
    color: #68d9fb;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1.2rem;
    transition: all 0.4s ease;
    width: fit-content;
}

button.btn-primary span {
    text-decoration: none;
}

@media (max-width: 48rem) {
    button.btn-primary {
        width: 100%;
    }
}

button.btn-primary:hover {
    animation: roll-in-left 0.6s ease-out both;
    box-shadow: inset 0px 3px 10px rgba(0, 0, 0, 0.3);
    color: white;
    border: solid 0.2rem #45b7fa;
}

button.btn-secondary {
    border-radius: 1.8rem;
    padding: clamp(0.4rem, 1vw, 1.4rem) clamp(1.4rem, 2.2vw, 2rem);
    margin: clamp(0.6rem, 1vw, 1.2rem) 0;
    border: solid 0.2rem #F0BD1B;
    text-decoration: none;
    font-weight: normal;
    font-size: clamp(1.8rem, 2.2vw, 2rem);
    line-height: clamp(2.6rem, 3vw, 2.8rem);
    background-color: #F0BD1B;
    color: #844803;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1.2rem;
    transition: all 0.4s ease;
    width: fit-content;
}

button.btn-secondary span {
    text-decoration: none;
}

@media (max-width: 48rem) {
    button.btn-secondary {
        width: 100%;
    }
}

button.btn-secondary:hover {
    animation: roll-in-left 0.6s ease-out both;
    box-shadow: inset 0px 3px 10px rgba(0, 0, 0, 0.3);
    color: #f4d866;
    background-color: #106d88;
}

button.btn-ghost {
    border-radius: 1.8rem;
    padding: clamp(0.4rem, 1vw, 1.4rem) clamp(1.4rem, 2.2vw, 2rem);
    margin: clamp(0.6rem, 1vw, 1.2rem) 0;
    border: solid 0.2rem white;
    text-decoration: none;
    font-weight: normal;
    font-size: clamp(1.8rem, 2.2vw, 2rem);
    line-height: clamp(2.6rem, 3vw, 2.8rem);
    background-color: transparent;
    color: white;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1.2rem;
    transition: all 0.4s ease-in;
    width: fit-content;
}

button.btn-ghost span {
    text-decoration: none;
}

@media (max-width: 48rem) {
    button.btn-ghost {
        width: 100%;
    }
}

button.btn-ghost:hover {
    animation: roll-in-left 0.6s ease-out both;
    box-shadow: inset 0px 3px 10px rgba(0, 0, 0, 0.3);
    color: #106d88;
    background-color: white;
}


main section > div article figure {
    margin: auto;
}

section.home-banner div article div.search label {
    font-size: 3.2rem;
}

.btn-list h4 {
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 2rem;
    padding: 0;
    margin: 0;
    text-align: left;
}

.btn-list hr {
    margin: 0.4rem;
}

#kundenButton a .btn-content {
    justify-content: flex-start;
    align-items: flex-start;
    height: auto;
    width: 100%;
}

#kundenButton a .btn-content figure {
    width: 100%;
    height: 100%;
    object-fit: contain
}

@media (max-width: 64rem) {
    main section > div #kundenButton {
        grid-column: span 9;
        grid-row: span 3;
    }

    main section > div #kundenButton .btn-content {
        flex-direction: row;
    }

    main section > div #kundenButton .btn-content figure {
        width: 20%;
        margin: 0 2rem 0 0;
    }

    main section > div #kundenButton .btn-content btn-list {
        width: 70%;
    }
}

@media (max-width: 48rem) {
    main section > div #kundenButton {
        grid-column: span 6;
        grid-row: span 3;
    }

    main section > div #kundenButton .btn-content figure {
        width: 30%;
    }

    main section > div #kundenButton .btn-content btn-list {
        width: 60%;
    }
}

@media (max-width: 36rem) {
    main section > div #kundenButton {
        grid-column: span 4;
        grid-row: span 3;
    }

    main section > div #kundenButton .btn-content figure {
        width: 30%;
    }

    main section > div #kundenButton .btn-content btn-list {
        width: 60%;
    }
}

@media (max-width: 20rem) {

    main section > div #kundenButton {
        grid-column: span 2;
        grid-row: span 3;
    }

    main section > div #kundenButton .btn-content {
        flex-direction: column;
    }

    main section > div #kundenButton .btn-content figure {
        width: 100%;
    }

    main section > div #kundenButton .btn-content btn-list {
        width: 100%;
    }
}

h2.search-title {
    font-size: 3.4rem;
    font-weight: bold;
}

.search {
    display: flex;
    flex-direction: row;
}

.search button {
    height: 5.6rem;
    position: absolute;
    right: 0;
    top: 0;
    margin: 0;
    border-radius: 0 8px 8px 0;
    box-shadow: inset rgb(8 66 97 / 30%) -1px -3px 3px 1px;
}

form#location-form {
    padding: 0;
    margin-top: 2rem;
}

input#storage-location {
    margin: 0;
    background-color: white;
}

@media (max-width: 64rem) {
    .search button {
        width: fit-content;
    }
}

@media (max-width: 48rem) {
    h2.search-title {
        font-size: 2.8rem;
    }

    .search button {
        width: fit-content;
    }
}


@media (max-width: 36rem) {
    h2.search-title {
        font-size: 2.2rem;
    }

    .search button {
        width: fit-content;
    }
}


/*CALCULATOR*/

.moving-box-calculator {
    width: 100%;
    padding: 2rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 4rem;
}

.calc-list {
    flex: 2;
}

.calc-result {
    flex: 1;
    width: 100%;
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
}


.calc-result h1 {
    margin-top: 2rem;
}


@media (max-width: 36rem) {
    .moving-box-calculator {
        padding: 0;
        flex-direction: column;
        gap: 2rem;
    }

    .calc-result {
        flex-direction: row;
    }

    .calc-result img {
        width: 40%;
    }

    .calc-result h1 {
        padding-bottom: .4rem;
    }

}

@media (max-width: 20rem) {
    .moving-box-calculator {
        gap: 1rem;
    }

    .calc-result {
        flex-direction: column;
        gap: 0;
    }

    .calc-result img {
        width: 100%;
    }
}

.ui-slider {
    width: 100%;
    height: 1.2rem;
    margin: 2rem 0;
    border-radius: 0.8rem;
    position: relative;
    top: 0;
    left: 0;
    background-color: white;;
}

.ui-slider-range {
    width: 30%;
    height: 1.2rem;
    border-radius: 0.8rem;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #f0bd1a;
    box-shadow: inset rgb(97 71 7 / 48%) -1px -1px 1px 1px;
}

.ui-slider-handle {
    cursor: pointer;
    width: 5rem;
    height: 5rem;
    padding: 1.2rem .4rem;
    font-size: 2.4rem;
    color: white;
    font-weight: bold;
    border-radius: 0.8rem;
    position: absolute;
    text-align: center;
    top: -2rem;
    left: 0;
    background-color: #40b8e0;
    box-shadow: inset rgba(38, 67, 94, 0.49) -1px -1px 1px 1px;
}

.people-calc-img {
    width: 100%;
    height: 8rem;
    display: flex;
    flex-direction: row;
}

.calc_person_1,
.calc_person_0 {
    flex: 1 0 8%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.calc_person_1 {
    background-image: url('../../img/front/calculators/calc_person_1.png');
}

.calc_person_0 {
    background-image: url('../../img/front/calculators/calc_person_0.png');
}


.year-calc-img {
    width: 100%;
    height: 8rem;
    display: flex;
    flex-direction: row;
}

.calc_year_1,
.calc_year_0 {
    flex: 1 0 1%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 48rem) {
    .year-calc-img {
        flex-wrap: wrap;
    }

    .calc_year_1,
    .calc_year_0 {
        flex: 1 0 12%;
    }

}

.calc_year_1 {
    background-image: url('../../img/front/calculators/calc_year_1.png');
}

.calc_year_0 {
    background-image: url('../../img/front/calculators/calc_year_0.png');
}

.calc-result h2 {
    font-weight: bold;
    color: #ffdb69;
    text-shadow: 4px 4px 0 #03507a;
}

.movingBoxNumber, .bookBoxNumber {
    font-weight: bold;
    display: block;
    clear: both;
    font-size: 4rem;
    margin-top: 1rem;
    margin-bottom: .4rem;
    text-shadow: 4px 4px 0 #03507a;
}


.space-calculator-tab {
    width: 100%;
    position: relative;
}

.tab-header {
    position: relative;
    z-index: 9999;
    margin: 0;
    padding: 0 2rem;
    transform: translateY(2px);
}

.tab-header li {
    list-style: none;
    padding: 1.4rem;
    text-align: center;
    border: solid 2px rgba(105, 217, 251, 0.06);
    border-bottom: none;
    border-radius: 2rem 2rem 0 0;
}

@media (max-width: 48rem) {
    .tab-header {
        padding: 0 1rem;
        transform: translateY(-4px);
    }

    .tab-header li {
        padding: 0.4rem;
        border: solid 2px rgba(105, 217, 251, 0.06);
        border-radius: 2rem;
    }
}

@media (max-width: 36rem) {
    .tab-header {
        flex-direction: column;
    }

    .tab-header li {
        width: 100%;
    }

    .tab-header li a {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 1rem;
    }

    .tab-header li a img {
        width: 4rem;
    }
}


.tab-header li.active {
    list-style: none;
    background-color: rgba(250, 250, 250, 0.61);
    border: solid 0.2rem #b4c0cc;
    box-shadow: 2px -2px 8px 0 rgba(101, 101, 101, 0.4), inset 2px -2px 8px 0 rgb(255, 255, 255);
    border-bottom: none;
}


.tab-header li a, .tab-header li a:visited {
    font-weight: bold;
    text-decoration: none;
    color: #686868;
    text-align: center;
}


.tab-content {
    border-radius: 2rem;
    padding: 4rem;
    background-color: rgba(250, 250, 250, 0.61);
    border: solid 0.2rem #b4c0cc;
    box-shadow: 2px -2px 8px 0 rgba(101, 101, 101, 0.4), inset 2px -2px 8px 0 rgb(255, 255, 255);
}

.tab-pane {
    display: none;
}

.tab-pane div h2 {
    margin-bottom: 4rem;
}

.tab-pane.active {
    display: block;
}

.etalon {
    font-weight: bold;
    font-size: 2.4rem;
}

#living-calc {
    height: 4rem;
    padding: 2.4rem;
    font-size: 2.4rem;
    border: 1px solid #ccc;
    border-radius: 1.2rem;
    margin-bottom: 1.5rem;
    box-sizing: border-box;
}

main section > div article {
    justify-content: flex-start;
}

main section > div article img {
    max-width: 100%;
    /*height: auto;*/
}

figure.content-image {
    flex-direction: column;
}

figure.content-image figcaption {
    position: unset;
    align-self: flex-start;
}

.embed-video {
    width: 100% !important;
}

.embed-video > iframe {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto;
}

.embed-map {
    width: 100% !important;
}

.embed-map > iframe {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto;
}


header nav form.search {
    display: flex;
    flex-direction: row;
    gap: 0;
    padding: 0;
    margin: 0;
    height: 100%;
    justify-content: end;
    align-items: center;
    transform: translateX(1.4rem);
    width: auto;
}

header nav form.search input {
    border: solid 0.1rem #1E81BB;
    border-radius: 1.8rem;
    box-shadow: inset rgba(8, 66, 97, 0.82) -2px -3px 3px 1px;
    margin: 0;
    max-width: 300px;
}


header nav form.search button {
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateX(-1.4rem);
    padding: 0.4rem 1.4rem;
    background-color: #1E81BB;
    border-radius: 0 1.8rem 1.8rem 0;
    position: relative;
    overflow: hidden;
    box-shadow: inset rgba(8, 66, 97, 0.82) -2px -3px 3px 1px;
    border: none;
    cursor: pointer;
    color: #68d9fb;
    top: -1px;
    height: -webkit-fill-available;
}

header nav div.search button i.fa,
header nav div.search button i,
header nav div.search button i::before {

    color: #68d9fb;
}


.content-text {
    width: 100%;
}


article div.content-text div p img {
    height: auto;
}

article div.content-text > div > div {
    display: flex
}


article div.content-text div p img,
article div.content-text div h1 img,
article div.content-text div h2 img,
article div.content-text div h3 img,
article div.content-text div h4 img,
article div.content-text div h5 img {
    height: auto;
    margin: 0 auto;
}



@media (max-width: 36rem) {
    .filament-tiptap-grid-builder {
        display: flex;
        flex-direction: column;
    }
}

li p {
    font-size: clamp(1.2rem, 2vw, 1.8rem);
    line-height: clamp(1.8rem, 2.8vw, 3rem);
}


div.accordion details div.accordion-content p{
    color: #014e78;
}
