﻿/*
    Acerca das animações:

        transform: translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        backface-visibility: hidden;

    São optimizações para mobile e web-kit.
*/

#panzoom * {
    cursor: default;
}

#panzoom.moving * {
    cursor: move !important;
}

.container-lugares {
    position: relative;
    border-bottom: 8px solid #3d3d3d;
    margin-bottom: 20px;
    background-color: #f3f3f3;
    padding: 0;
}

.panzoom-parent {
    overflow: hidden;
    height: 400px;
    /* Correcção da desfocagem no Chrome */
    -webkit-perspective: 1000;
    -webkit-transform: translateZ(0);
    margin: 0 42px;
}
    .panzoom-parent.xl {
        height: 700px;
    }


    .container-lugares table {
    border-collapse: collapse;
    table-layout: fixed;
    font-weight: bold;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.container-lugares td {
    vertical-align: middle;
    text-align: center;
    overflow: hidden;
    width: 34px;
    height: 44px;
    padding: 2px;
}

.container-lugares .Titulo {
    font-weight: bold;
    font-size: 30px;
}

.container-lugares .not-active {
    pointer-events: none;
    cursor: default;
    background: transparent;
}

/* Lugares */
.lugar {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 25px;
    line-height: 40px;
    text-align: center;
    width: 30px;
    height: 40px;
    /* Para a animação */
    background-size: 100% 200%;
    background-position: 0 -200%;
    background-image: linear-gradient(to bottom, rgba(0,0,0,0) 50%, #d67300 50%);
    transition: background-position 0.166s ease-out;
    vertical-align: top
}

    .lugar:hover {
        color: #fff;
        text-decoration: none;
    }

    .lugar.livre {
        background-color: #147fc2;
    }

        .lugar.livre:hover {
            background-position: 0 -100%;
        }

    .lugar.selecionado {
        background-color: #6fc214;
    }

    .lugar.ocupado {
        background-color: #b4b4b4;
    }

    .lugar.mobilidade-reduzida {
    }

    .lugar.visibilidade-reduzida {
    }

    .lugar.distanciamento-social {
        background: linear-gradient(to top left, #b4b4b4 calc(50% - 2px), #888, #b4b4b4 calc(50% + 2px));
        pointer-events: painted;
    }

/* Botões */
.container-lugares .botoes {
    position: absolute;
    top: 16px;
    right: -4px;
    padding: 0;
}

    .container-lugares .botoes .zoom {
        display: block;
        position: relative;
        width: 32px;
        height: 32px;
        line-height: 32px;
        margin: 8px;
        background-color: #3d3d3d;
        font-size: 25px;
        color: #fff;
        font-weight: normal;
        text-align: center;
        cursor: pointer;
        transform: translateZ(0);
        box-shadow: 0 0 1px rgba(0, 0, 0, 0);
        backface-visibility: hidden;
    }

/* Legenda */
.popover {
    border: 3px solid #3D3D3D;
    border-radius: 0;
    top: 118px !important;
    z-index: 99;
    width: 260px;
    left: -252px !important;
    max-width: 1000px;
    margin: 10px 0 0 0;
}

    .popover .arrow {
        display: none;
    }

    .popover .popover-content {
        background-color: #F3F3F3;
        padding: 10px 11px;
    }

.container-legenda {
    background-color: #E5E5E5;
    padding: 5px 5px 0 5px !important;
}

.legenda {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

    .legenda li {
        line-height: 22px;
        font-size: 14px;
        margin-bottom: 5px;
        color: #000;
        /*font-weight: bold;*/
    }

        .legenda li div {
            display: table-cell;
        }

            .legenda li div:first-of-type {
                padding-right: 4px;
            }

            .legenda li div + div {
                min-width: 230px;
            }

    .legenda .lugar {
        height: 22px;
        width: 18px;
        display: inline-block;
        vertical-align: middle;
        font-size: 15px;
        line-height: 22px;
        /* Impede animação */
        transition: none;
    }

        .legenda .lugar:hover {
            background-position: 100% 200%;
        }

@media (max-width: 479px) {
    .container-lugares {
        padding: 40px 0 0 0;
    }

    .panzoom-parent {
        margin: 0;
    }

    .container-lugares .botoes {
        position: absolute;
        top: 0;
        right: 29%;
    }

        .container-lugares .botoes * {
            float: left;
        }

    .popover {
        top: 40px !important;
        left: 5% !important;
        margin: 0 !important;
    }

    .legenda .lugar {
        margin-right: 5px;
        display: inline-block;
    }

    .legenda li {
        width: 230px !important;
    }

        .legenda li span {
            margin-right: 5px;
            display: inline-block;
            max-width: 200px !important;
        }

    .container-legenda li {
        width: auto !important;
    }
}

@media (max-width: 280px) {
    .container-lugares .botoes {
        right: 20% !important;
    }

    .popover {
        top: unset !important;
        left: 5% !important;
    }
}
