#footer {
    display: block;
    width: 100%;
    content-visibility: auto;
    contain-intrinsic-size: 1350px
}

#footer.hide-contact {
    contain-intrinsic-size: 350px
}

#contact-footer {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    height: 56.25rem;
    margin-top: 0;
    content-visibility: auto;
    contain-intrinsic-size: 1920px 900px
}

@media screen and (max-width:90rem) {
    #contact-footer {
        contain-intrinsic-size: 1440px 900px
    }
}

@media screen and (max-width:67.5rem) {
    #contact-footer {
        contain-intrinsic-size: 1080px 900px
    }
}

@media screen and (max-width:50rem) {
    #contact-footer {
        contain-intrinsic-size: 768px 1400px;
        height: 86.25rem
    }
}

@media screen and (max-width:37.5rem) {
    #contact-footer {
        contain-intrinsic-size: 600px 1400px
    }
}

@media screen and (max-width:30rem) {
    #contact-footer {
        contain-intrinsic-size: 480px 1200px;
        height: 75rem
    }
}

@media screen and (max-width:26.5625rem) {
    #contact-footer {
        contain-intrinsic-size: 425px 1200px
    }
}

@media screen and (max-width:23.4375rem) {
    #contact-footer {
        contain-intrinsic-size: 375px 1200px
    }
}

@media screen and (max-width:20rem) {
    #contact-footer {
        contain-intrinsic-size: 320px 1200px
    }
}

#contact-footer .content-wrapper {
    position: absolute;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

#contact-footer .content-wrapper .form-grid {
    display: grid;
    grid-gap: 0;
    grid-template-columns: 32rem 40rem;
    align-items: center
}

@media screen and (max-width:67.5rem) {
    #contact-footer .content-wrapper .form-grid {
        grid-template-columns: 30rem 32rem
    }
}

@media screen and (max-width:50rem) {
    #contact-footer .content-wrapper .form-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(2, auto);
        padding: 0 1rem
    }
}

@media screen and (max-width:20rem) {
    #contact-footer .content-wrapper .form-grid {
        width: 100%;
        padding: 0
    }
}

#contact-footer .content-wrapper .form-grid .form-wrapper {
    width: 32rem;
    height: 34rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--color-solid-white);
    border-radius: .3125rem;
    box-shadow: 0 0 130px rgba(0, 0, 0, .15);
    padding: 3.5rem;
    justify-content: space-evenly
}

@media screen and (max-width:67.5rem) {
    #contact-footer .content-wrapper .form-grid .form-wrapper {
        padding: 2.5rem;
        width: 30rem
    }
}

@media screen and (max-width:50rem) {
    #contact-footer .content-wrapper .form-grid .form-wrapper {
        width: 100%;
        border-radius: .3125rem .3125rem 0 0;
        box-shadow: 0 4px 20px rgba(0, 0, 0, .15);
        z-index: 1
    }
}

@media screen and (max-width:20rem) {
    #contact-footer .content-wrapper .form-grid .form-wrapper {
        padding: 2rem
    }
}

#contact-footer .content-wrapper .form-grid .form-wrapper .form-title {
    font-size: 36px;
    font-weight: 700;
    line-height: 50px;
    color: var(--color-solid-dark);
    text-align: center
}

@media screen and (max-width:26.5625rem) {
    #contact-footer .content-wrapper .form-grid .form-wrapper .form-title {
        font-size: 2rem
    }
}

@media screen and (max-width:20rem) {
    #contact-footer .content-wrapper .form-grid .form-wrapper .form-title {
        font-size: 1.75rem
    }
}

#contact-footer .content-wrapper .form-grid .form-wrapper .form-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 24rem
}

@media screen and (max-width:30rem) {
    #contact-footer .content-wrapper .form-grid .form-wrapper .form-container {
        width: 100%
    }
}

#contact-footer .content-wrapper .form-grid .form-wrapper .form-container .field {
    width: 100%
}

@media screen and (max-width:50rem) {
    #contact-footer .content-wrapper .form-grid .form-wrapper .form-container .field {
        width: 90%
    }
}

#contact-footer .content-wrapper .form-grid .form-wrapper .form-container .field .control .input {
    width: 24.625rem;
    height: 3.125rem;
    background-color: var(--color-solid-ice-gray);
    box-shadow: none;
    border: 1px solid var(--color-solid-light-gray);
    padding-left: 1.625rem;
    border-radius: .3125rem
}

@media screen and (max-width:30rem) {
    #contact-footer .content-wrapper .form-grid .form-wrapper .form-container .field .control .input {
        width: 100%
    }
}

#contact-footer .content-wrapper .form-grid .form-wrapper .form-container .field .control .input::placeholder {
    color: var(--color-secondary-ligher-dark);
    font-weight: 500;
    line-height: 3.125rem
}

#contact-footer .content-wrapper .form-grid .map-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%
}

@media screen and (max-width:50rem) {
    #contact-footer .content-wrapper .form-grid .map-container {
        height: 25rem
    }
}

#contact-footer .content-wrapper .form-grid .map-container .map {
    width: 100%;
    height: 90%;
    border-radius: 0 .3125rem .3125rem 0;
    overflow: hidden
}

@media screen and (max-width:50rem) {
    #contact-footer .content-wrapper .form-grid .map-container .map {
        height: 100%;
        border-radius: 0 0 .3125rem .3125rem
    }
}

#contact-footer .background-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
    z-index: -1;
    pointer-events: none
}

#contact-footer .background-wrapper .gradient-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background: linear-gradient(180deg, rgba(2, 5, 16, .792) 47.4%, rgba(255, 202, 92, .882));
    backdrop-filter: blur(4px);
    z-index: -1
}

#contact-footer .background-wrapper .contact-background {
    position: absolute;
    top: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: -2
}

#contact-footer .background-wrapper .contact-background .contact-background-img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.section-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 3.75rem 0
}

.section-title.expanded {
    width: 100%
}

.section-title.no-bottom-margin {
    margin-bottom: 0
}

.section-title .section-h2 {
    font-size: 38px;
    font-weight: 700;
    line-height: 38px;
    max-width: 100%;
    text-align: center;
    color: var(--color-solid-dark)
}

@media screen and (max-width:30rem) {
    .section-title .section-h2 {
        max-width: 95%
    }
}

.section-title .section-h2.invert {
    color: var(--color-solid-white)
}

.section-title .section-divider {
    width: 9.375rem;
    height: .25rem;
    background-color: var(--color-solid-primary);
    margin-top: 1.5rem
}

#info-footer {
    width: 100%;
    height: auto;
    color: var(--color-secondary-dark);
    background: var(--gradient-footer-ice);
    display: grid;
    grid-template-columns: .9fr 1fr;
    grid-template-areas: "left right" "aria aria" "notice notice" "copy copy";
    box-shadow: 0 0 6px rgba(0, 0, 0, .25)
}

@media screen and (max-width:50rem) {
    #info-footer {
        height: auto
    }
}

@media screen and (max-width:30rem) {
    #info-footer {
        grid-template-columns: 1fr;
        grid-template-areas: "left" "right" "aria" "notice" "copy"
    }
}

#info-footer .left-side {
    grid-area: left
}

#info-footer .left-side .business-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    height: 100%
}

@media screen and (max-width:30rem) {
    #info-footer .left-side .business-info {
        align-items: center;
        margin-top: 2rem
    }
}

#info-footer .left-side .business-info .business-name {
    font-size: 1.3rem;
    text-transform: uppercase;
    margin-bottom: 1rem
}

#info-footer .right-side {
    grid-area: right;
    padding: 0 2rem
}

#info-footer .right-side .info-wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    height: 19.06rem
}

@media screen and (max-width:30rem) {
    #info-footer .right-side .info-wrapper {
        align-items: center
    }
}

#info-footer .right-side .info-wrapper .social-buttons .icon.is-medium .mdi.mdi-36px {
    color: var(--color-secondary-dark)
}

#info-footer .right-side .info-wrapper .social-buttons .icon.is-medium .mdi.mdi-36px:hover {
    color: var(--color-solid-dark !important)
}

#info-footer .right-side .info-wrapper .footer-divider {
    width: 23.125rem;
    height: 1px;
    margin: .5rem 0;
    background: var(--color-secondary-dark)
}

@media screen and (max-width:50rem) {
    #info-footer .right-side .info-wrapper .footer-divider {
        width: 18rem
    }
}

@media screen and (max-width:30rem) {
    #info-footer .right-side .info-wrapper .footer-divider {
        width: 20rem
    }
}

@media screen and (max-width:20rem) {
    #info-footer .right-side .info-wrapper .footer-divider {
        width: 16rem
    }
}

#info-footer .right-side .info-wrapper .business-info {
    text-align: left
}

@media screen and (max-width:30rem) {
    #info-footer .right-side .info-wrapper .business-info {
        text-align: center
    }
}

#info-footer .right-side .info-wrapper .business-info .address {
    margin-bottom: .5rem;
    max-width: 24rem
}

@media screen and (max-width:50rem) {
    #info-footer .right-side .info-wrapper .business-info .address {
        max-width: 18rem
    }
}

#info-footer .right-side .info-wrapper .business-info .working-hours {
    margin-bottom: .5rem;
    font-weight: 700
}

#info-footer .right-side .info-wrapper .business-info .meta-info {
    font-weight: 500
}

#info-footer .copyright-wrapper {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    background: var(--color-solid-primary);
    color: var(--color-solid-dark);
    grid-area: copy;
    flex-direction: column
}

@media screen and (max-width:50rem) {
    #info-footer .copyright-wrapper {
        text-align: center;
        flex-direction: column
    }
}

#info-footer .copyright-wrapper .copyright-content {
    width: 100%;
    text-align: center;
    padding: 1%
}

@media screen and (max-width:50rem) {
    #info-footer .copyright-wrapper .copyright-content {
        display: flex;
        flex-direction: column
    }
}

@media screen and (max-width:30rem) {
    #info-footer .copyright-wrapper .copyright-content {
        display: flex;
        flex-direction: column;
        padding: 5% 10%
    }
}

#info-footer .copyright-wrapper .developer-footlink {
    text-transform: uppercase;
    background: var(--color-solid-dark);
    width: 100%;
    height: 100%;
    text-align: center;
    color: var(--color-solid-light-gray);
    padding: 7px;
    font-size: .9rem;
    margin-top: .25rem
}

@media screen and (max-width:50rem) {
    #info-footer .copyright-wrapper .developer-footlink {
        margin-top: .5rem
    }
}

@media screen and (max-width:30rem) {
    #info-footer .copyright-wrapper .developer-footlink {
        padding: 5% 10%
    }
}

#info-footer .copyright-wrapper .dash-f {
    margin: 0 .5rem
}

@media screen and (max-width:50rem) {
    #info-footer .copyright-wrapper .dash-f {
        display: none
    }
}

#info-footer .accessibility-notice,
#info-footer .alert-notice {
    font-weight: lighter;
    font-size: .9rem;
    width: 60%;
    margin: 0 auto 2rem;
    text-align: justify;
    max-width: 45rem
}

#info-footer .alert-notice {
    grid-area: notice
}

#info-footer .accessibility-notice {
    grid-area: aria
}