/* ------------------------------ */
/* ------- Call-to-action ------- */
/* ------------------------------ */

.site_cta {
    position: fixed;
    z-index: 10;
    bottom: 0;
}

.site_cta__item {
    position: absolute;
    z-index: 10;
    right: 0;
}

.site_cta__item--phone, .site_cta__item--mail {
    bottom: 0;
}

.site_cta__item a {
    position: relative;
}

.site_cta__item a {
    display: block;
    background-color: var(--brand-color-1);
}

.no-touchevents .site_cta__item {
    -webkit-transition: var(--transition-2);
    -o-transition: var(--transition-2);
    transition: var(--transition-2);
    will-change: transform;
}

.no-touchevents .site_cta__item:hover {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
}

.site_cta__item span {
    font-size: var(--font-size-2);
    font-weight: 500;
    color: var(--brand-white);
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 1400px) {

    .site_cta::after {
        height: 210px;
        width: 75px;
    }

    .site_cta__item--reservation {
        width: 232px;
        bottom: 146px;
    }
    
    .site_cta__item--opening_hours {
        width: 268px;
        bottom: 73px;
    }

    .site_cta__item--phone {
        width: 193px;
    }

    .site_cta__item--mail {
        width: 172px;
    }

    .site_cta__item {
        -webkit-transform: translateX(calc(100% - 75px));
            -ms-transform: translateX(calc(100% - 75px));
                transform: translateX(calc(100% - 75px));
    }

    .site_cta__item span {
        padding: 25px 28px 22px 80px;
    }

}

@media all and (min-width: 992px) {

    .site_cta {
        right: 0;
        will-change: opacity, transform;
        -webkit-transition: all var(--transition-2);
        -o-transition: all var(--transition-2);
        transition: all var(--transition-2);
    }

    
    .site_cta::after {
        content: "";
        position: absolute;
        z-index: 1;
        right: 0;
        bottom: 0;
        background-color: var(--brand-light);
    }

}

@media all and (max-width: 1399.98px) and (min-width: 1100px) {

    .site_cta::after {
        height: 190px;
        width: 66px;
    }

    .site_cta__item--reservation {
        width: 216px;
        bottom: 134px;
    }
    
    .site_cta__item--opening_hours {
        width: 252px;
        bottom: 67px;
    }

    .site_cta__item--phone {
        width: 177px;
    }

    .site_cta__item--mail {
        width: 156px;
    }
    
    .site_cta__item {
        -webkit-transform: translateX(calc(100% - 66px));
            -ms-transform: translateX(calc(100% - 66px));
                transform: translateX(calc(100% - 66px));
    }

    .site_cta__item span {
        padding: 22px 25px 19px 67px;
    }

}


@media all and (max-width: 1099.98px) and (min-width: 992px) {

    .site_cta::after {
        height: 170px;
        width: 63px;
    }

    .site_cta__item--reservation {
        width: 208px;
        bottom: 118px;
    }
    
    .site_cta__item--opening_hours {
        width: 244px;
        bottom: 59px;
    }

    .site_cta__item--phone {
        width: 169px;
    }

    .site_cta__item--mail {
        width: 148px;
    }
    
    .site_cta__item {
        -webkit-transform: translateX(calc(100% - 63px));
            -ms-transform: translateX(calc(100% - 63px));
                transform: translateX(calc(100% - 63px));
    }

    .site_cta__item span {
        padding: 18px 21px 15px 63px
    }

}



@media all and (max-width: 991.98px) {

    html.csstransitions .intro-animation.meta__author {
        -webkit-transition-delay: calc(var(--transition-delay) * 2);
             -o-transition-delay: calc(var(--transition-delay) * 2);
                transition-delay: calc(var(--transition-delay) * 2);
    }

    .site_cta {
        left: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        background-color: var(--brand-light);
    }

    .site_cta__item {
        position: relative;
        right: unset;
        bottom: unset;
        display: inherit;
    }

    .site_cta__item--opening_hours {
        margin: 0 1px;
    }

    .site_cta__item a {
        -webkit-transform: unset;
            -ms-transform: unset;
                transform: unset;
        width: 66px;
        height: 66px;
    }

    .site_cta__item span {
        position: absolute;
        height: 1px;
        width: 1px;
        clip: rect(1px,1px,1px,1px);
        border: 0;
        overflow: hidden;
        padding: 0;
    }

}


@media all and (max-width: 767.98px) {

    .site_cta__item a {
        width: 60px;
        height: 60px;
    }

}