footer {
    display: none;
}

@media only screen and (max-width: 1024px) and (min-height: 147vw) {
    footer {
        position: fixed;
        display: flex;
        justify-content: space-between;
        padding: var(--gap);
        bottom: 0;
        left: 0;
        width: 100%;
        justify-content: space-between;
        align-items: center;
        z-index: 10;
        opacity: 0;
        -webkit-transition: opacity 0.4s ease;
        transition: opacity 0.4s ease;
    }

    body:not(.init-home) footer {
        display: none;
    }

    body.loaded-home footer {
        opacity: 1;
    }

    body.page-template-booking footer {
        opacity: 1;
        display: flex;
    }

    body.menu-opened footer {
        color: var(--blue);
    }
}
