﻿.entrave__titre {
    margin: 0;
    font-size: 26px;

    line-height: 28px;
}

@media (min-width: 767px) {
    .entrave__titre {
        font-size: 30px;
    }
}

.entrave__etiquettes {
    margin-top: .5rem;
    margin-bottom: 1.25rem;
}

.entrave__texte.lien.picto-carte-marqueur:before {
    width: 20px;
    height: 20px;
    margin-left: -25px;
    margin-top: 2px;
}
@media (min-width: 767px) {
    div.col-25 {
        flex-basis: 17% !important;
    }
}
.entraves__filtres {
    margin-top: 0;
    padding-top: 8px;
    padding-bottom: 5px;
}

.entraves__resultats {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1rem;
}

.liste .entraves__item {
    padding-top: 5px;
    padding-bottom: 5px;
    flex-basis: 100%;
}

@media (min-width: 63rem) {
    .liste .item:nth-child(2) {
        border-top: none;
    }
    .liste .entraves__item {
        flex-basis: calc(50% - .5rem);
    }

    .entraves__select-filtre {
        min-width: 12rem;
    }

}

.entraves__label-filtre {
    padding-top: 0;
    font-size: 1rem;
}

.entraves__titre {
    margin-bottom: .35rem;
}

@media (min-width: 767px) {
    .entraves__titre {
        font-size: 18px;
    }
}

@media (max-width: 766px) {
    .entrave__section--periode {
        margin-top: 1.75em;
    }
}
.entraves__date {
    font-size: .9rem;
}

p.entraves__date[class*="picto-"] {
    padding-left: 25px;
    margin-bottom: 10px;
}

p.entraves__date[class*="picto-"]:before {
    width: 23px;
    height: 23px;
    margin-left: -28px;
}



@media (min-width: 767px) {
    .entrave__section-titre {
        font-size: 20px;
        color: #074b98;
    }
}

div.entrave__carte {
    height: 450px;
}

@media (min-width: 766px) {
    div.entrave__carte {
        height: 350px;
    }
}

.esri-attribution {
    display: none !important;
}

.entrave__carte_wrapper {
    position: relative;
}


.carte__legend-liste {
    margin: 0;
    list-style: none;

}

.carte__legend-item {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: .25rem;
}

@media (min-width: 66rem) {
    .carte__legend {
        position: absolute;
        bottom: .5rem;
        right: .5rem;
        background-color: white;
        border-radius: 5px;
        border: 1px solid #999;
        padding: .5rem .75rem;
    }
}

.carte__legend-label {
    font-size: .875rem;
}

.carte__legend-picto {
    display: inline-block;
}

#carte__legend-picto-entrave {
    background-color: #f27c00;
    width: 25px;
    height: 7px;
}

#carte__legend-picto-detour {
    background-color: #0052cc;
    width: 25px;
    height: 5px;
}

.voies {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    position: relative;
}


@media (min-width: 63rem) {
    .voies {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .voies:not(.voies--large)::after {
        content: "";
        display: block;
        height: calc(100% - 2.3125rem);
        width: 1px;
        position: absolute;
        left: calc(50% - 0.5px);
        top: 2.3125rem;
        background-image: linear-gradient(to bottom,
                var(--c-gris) 0,
                var(--c-gris) 1rem,
                transparent 1rem,
                transparent 1.75rem);
        background-repeat: repeat-y;
        background-size: 1px 1.75rem;
    }
}

.voies--large {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

/*.voies--narrow {
    width: fit-content;
}*/

.voies--narrow .voies__voie {
    min-width: 5rem;
    max-width: 7rem;
    width: 100%;
}

.voies__direction-titre {
    align-items: center;
    border-bottom: 1px solid var(--c-gris);
    color: var(--c-gris-sombre);
    display: flex;
    font-size: 1rem;
    gap: 0.5rem;
    justify-content: center;
    margin: 0;
    padding: 0 0 0.5rem;
    text-align: center;
}

.voies__direction-titre::before {
    align-items: center;
    content: "";
    display: inline-flex;
    font-size: 1.125rem;
    font-weight: 700;
    height: 1.5rem;
    justify-content: center;
    line-height: 1;
    width: 1.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.voies__direction--nord .voies__direction-titre::before {
    background-image: url("/img/entraves/picto-northbound.svg");
}

.voies__direction--sud .voies__direction-titre::before {
    background-image: url("/img/entraves/picto-southbound.svg");
}

.voies__direction--est .voies__direction-titre::before {
    background-image: url("/img/entraves/picto-eastbound.svg");
}

.voies__direction--ouest .voies__direction-titre::before {
    background-image: url("/img/entraves/picto-westbound.svg");
}

.voies__liste {
    display: flex;
    list-style: none;
    gap: .25rem;
    margin: 0;
    padding: 0;
}

@media (min-width: 63rem) {
    /*.voies__direction:first-child .voies__liste {
        flex-direction: row-reverse;
    }*/

    .voies--large .voies__direction:first-child .voies__liste {
        flex-direction: row;
    }
}

.voies__voie {
    align-items: center;
    border-radius: .25rem;
    background: #f7f8fa;
    background: linear-gradient(to bottom, rgba(247, 248, 255, .35) 0%, rgba(247, 248, 255, 1) 50%);
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 0.75rem;
    justify-content: space-between;
    min-height: 13rem;
    padding: 1rem 0.25rem 1.25rem;
    text-align: center;
    overflow: hidden
}

.voies__voie--sidewalk {
    background: rgb(255, 248, 232);
    background: linear-gradient(to bottom, rgba(255, 248, 232, .25) 0%, rgba(255, 248, 232, 1) 50%);
}

.voies__voie--bike-lane {
    background: #eff9ef;
    background: linear-gradient(to bottom, rgba(239, 249, 239, .25) 0%, rgba(239, 249, 239, 1) 50%);
}

.voies__voie--bike-lane .voies__type {
    margin-bottom: -1rem;
}

.voies__picto::before {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 2.75rem;
    width: 2.75rem;
}

.voies__voie--lane .voies__picto::before {
    background-image: url("/img/entraves/picto-lane.svg");
}

.voies__voie--bike-lane .voies__picto::before {
    background-image: url("/img/entraves/picto-bike-lane.svg");
}

.voies__voie--sidewalk .voies__picto::before {
    background-image: url("/img/entraves/picto-sidewalk.svg");
}

.voies__statut {
    align-items: center;
    color: #333;
    display: flex;
    flex-direction: column;
    font-weight: 400;
    font-size: .8rem;
    gap: 0.35rem;
    white-space: nowrap;
}

.voies__voie--alternating-flow {
    letter-spacing: -.1px;
}

.voies__type {
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.25;
}

.voies__statut::before {
    align-items: center;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 1.5rem;
    font-weight: 700;
    height: 2rem;
    width: 2rem;
    justify-content: center;
    line-height: 1;


    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
}

.voies__voie--open .voies__statut::before {
    background-image: url("/img/entraves/picto-open.svg");
    box-shadow: rgba(24, 138, 34, 0.25) 0px 0px 50px 5px;
}

.voies__voie--closed .voies__statut::before {
    background-image: url("/img/entraves/picto-closed.svg");
    box-shadow: rgba(207, 30, 23, 0.25) 0px 0px 50px 7px;
}

.voies__voie--alternating-flow .voies__statut::before {
    background-image: url("/img/entraves/picto-alternating-flow.svg");
    box-shadow: rgba(245, 130, 0, 0.25) 0px 0px 50px 9px;
}

.entrave__section--emplacement p {
    margin-bottom: 0;
}
.entrave__section--emplacement p.entrave__nom {
    font-weight: 500;
    margin-bottom: .25rem;        
}
.entrave__section--maj {
    margin-top: 3rem;
    border-top: 1px solid var(--c-gris);
    padding-top: 1rem;
}