:root {
    --common-trans: ease-in-out .3s;
    --common-trans-2: ease-in-out .5s;
    --common-trans-3: ease-in-out .7s;

    --planificador-desktop:606px ;
    --planificador-tablet:400px ;
    --planificador-mobile:100% ;
}
#planificador{
    min-height:calc(100vh - 151px);
    width: 100vw;
    position: relative;
    overflow: hidden;
}

#planificador .map-space{
    width: calc(100% - var(--planificador-desktop));
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    transition: var(--common-trans-3);


    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
#planificador .map-space.full{
    width: 100%;
}
#planificador #swiper-col{
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: var(--black-40);
    border: none;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    
    right: calc(100% - var(--planificador-desktop) + 16px);
    position: absolute;
    top: 16px;
    z-index: 3;

    transition: var(--common-trans-2);
}
#planificador #swiper-col svg{
    height: 24px;
}

.swipper-mobile{
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    flex-direction: row;
    padding:16px 20px;
    width: 100%;
    gap: 12px;
    border-bottom: 2px solid var(--black-40);
    background-color: #fff;
}
@media(max-width:575px){
    .swipper-mobile{
        display: flex !important;
        border-top: 1px solid var(--black-40);
        border-bottom: 1px solid var(--black-40);

    }
}
.swipper-mobile.active{
    z-index: 4;
}

.swipper-mobile button{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    
    background: var(--neutral-white, #FFF);
    padding: 12px 20px;
    gap: 8px;
    color: var(--black-90);
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    transition: var(--common-trans);
    white-space: nowrap;
    border: none;
}
.swipper-mobile button svg{
    stroke: var(--black-60);
    width: 20px!important;
    height: 20px!important;
}
.swipper-mobile button.active svg{
     stroke: #000;

}
.swipper-mobile button.active{
    background-color: var(--black-20);
    pointer-events: none;
    color: #000;
}

@media(max-width:1199px){
    #planificador #swiper-col{
        right: calc(100% - var(--planificador-tablet) + 20px);
        top: 24px;
        height: 36px;
        width: 36px;
    }
    #planificador #swiper-col img{
        height: 22px;
    }
}

@media(max-width:575px){

    #planificador #swiper-col{
        /* right: calc(100% - var(--planificador-mobile) + 20px);
        top: 24px;
        height: 36px;
        width: 36px; */
        display: none;
    }
    /* #planificador #swiper-col img{
        height: 22px;
    } */
     .swipper-mobile{
        display: flex;
     }
     .col-planificador{
        padding-top: 72px;
     }
}


#planificador #swiper-col.close{
    background-color:#fff;
    right: calc(100% - 56px);
    -webkit-box-shadow: 0px 0px 12px 0px #000000; 
    box-shadow: 0px 0px 12px 0px #000000;

}

#planificador #swiper-col svg{
    fill:#787B85;
}
#planificador #swiper-col.close svg{
    fill:var(--black-90);
}
#planificador #swiper-col.close svg:first-of-type{
    display: none;
}
#planificador #swiper-col.close svg:last-of-type{
    display: flex;
}

#planificador #swiper-col svg:first-of-type{
    display: flex;
}
#planificador #swiper-col svg:last-of-type{
    display: none;
}


#planificador .col-planificador{
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    height: 100%;
    width: var(--planificador-desktop);
    z-index: 3;
    transition: var(--common-trans-2);

    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    overflow-x: hidden;
}
#planificador::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 2px;
    width: var(--planificador-desktop);
    background-color: var(--black-20);
    z-index: 3;
}
#planificador .col-planificador.close{
    left: calc(var(--planificador-desktop) * -1); 
}

/* responsive COLS PLANIFICADOR tablet */

@media(max-width:1199px){
    #planificador .map-space{
        width: calc(100% - var(--planificador-tablet));
    }
    #planificador .col-planificador{
        width: var(--planificador-tablet);
    }
}

@media(max-width:1199px){
    #planificador .map-space{
        width: calc(100% - var(--planificador-tablet));
    }
    #planificador .col-planificador{
        width: var(--planificador-tablet);
    }
}
@media(max-width:575px){
    #planificador::before{ display: none;}
    #planificador .map-space{
        width: var(--planificador-mobile);
        right:calc(var(--planificador-mobile) * -1); 
        transition: var(--common-trans-2);
    }
    #planificador .map-space.full{
        right:0 ;

    }
    #planificador .col-planificador{
        width: var(--planificador-mobile);
        transition: var(--common-trans-2);
    }
}

#planificador .col-planificador .head-col-planificador {
    padding: 40px;
    display: flex;
    flex-direction: column;
}
@media(max-width:1199px){
    #planificador .col-planificador .head-col-planificador {
        padding: 24px 20px;
        display: flex;
        flex-direction: column;
    }
}
@media(max-width:993px){
    #planificador .col-planificador {
        z-index: 1;
    }
}


#planificador .col-planificador .head-col-planificador h1{
    color: var(--te-second-blue);
    font-family: var(--source-sans);
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 0;
}

#planificador .col-planificador .head-col-planificador .head-days-planificador{
    border-bottom: 1px var(--black-40) solid;
    padding: 16px 0;
    width: 100%;
}
#planificador .col-planificador .head-col-planificador .total-days{
    display: flex;
    flex-direction: row;
    padding: 16px 0;
    width: 100%;
    position: relative;
}
#planificador .col-planificador .head-col-planificador .total-days ul,
#planificador .col-planificador .head-col-planificador .head-days-planificador ul{
    display: flex;
    flex-direction: row;
    gap:8px ;
    list-style: none;
    padding: 0;
    margin: 0;
}
@media(max-width:1199px){
    #planificador .col-planificador .head-col-planificador h1{
        font-size: 30px;
    }
  #planificador .col-planificador .head-col-planificador .head-days-planificador ul li{
    width: 50%;
  }
}

#planificador .col-planificador .head-col-planificador .total-days li{
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--black-90);
    font-family:var(--source-sans);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    
}
#planificador .col-planificador .head-col-planificador .total-days input,
#planificador .col-planificador .head-col-planificador .head-days-planificador input{
    display: none;

}
#planificador .col-planificador .head-col-planificador .total-days label,
#planificador .col-planificador .head-col-planificador .head-days-planificador label{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    border: 1px solid var(--black-40);
    background: var(--neutral-white, #FFF);
    padding: 8px 16px;
    gap: 8px;
    color: var(--black-90);
    font-family:var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    transition: var(--common-trans);
    white-space: nowrap;

}
#planificador .col-planificador .head-col-planificador .total-days button.add-more-days{
    border-radius: 8px;
    border: 1px solid var(--te-blue-light);
    background: var(--te-blue-light);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 0;
    top: 16px;
    box-shadow: 0 0 40px 20px rgba(255, 255, 255, 0.9);
}
.tooltip{
    --bs-tooltip-bg: var(--te-second-blue);
    --bs-tooltip-color: var(--bs-white);
}
#planificador .col-planificador .head-col-planificador .total-days input[type="radio"]:checked + label,
#planificador .col-planificador .head-col-planificador .head-days-planificador input[type="radio"]:checked + label {
    background-color: var(--black-40);
}
#planificador .col-planificador .head-col-planificador .total-days ul{
    width: calc(100% - 48px);
    overflow-x: scroll;
}
#planificador .col-planificador .head-col-planificador .total-days button.add-more-days{
    margin: 0 0 auto auto;
    height: fit-content;
    height: 40px;
    width: 40px;
}
#planificador .col-planificador .head-col-planificador .total-days label img,
#planificador .col-planificador .head-col-planificador .head-days-planificador label img{
    height: 16px;

}
#planificador .col-planificador .head-col-planificador .head-days-planificador .dropdown button{
    background-color: transparent;
    padding: 0;
    border: transparent;
    height: 100%;
    width: auto;
}
#planificador .col-planificador .head-col-planificador .head-days-planificador .dropdown .dropdown-menu{
    padding: 16px;
}
#planificador .col-planificador .head-col-planificador .head-days-planificador .dropdown .dropdown-menu{
    color: var(--te-second-blue);
    font-family: var(--source-sans);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
#planificador .col-planificador .head-col-planificador .head-days-planificador .dropdown .dropdown-menu button{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
    color: var(--black-60);
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;

}
#planificador .col-planificador .head-col-planificador .head-days-planificador .dropdown .dropdown-menu button img{
    height: 24px;
}
#planificador .col-planificador .head-col-planificador .head-days-planificador .dropdown .dropdown-menu button:last-of-type{
    color: var(--Red);
}

#planificador .col-planificador .head-col-planificador .total-days .dropdown button{
    border: 0;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
}
#planificador .col-planificador .head-col-planificador .total-days .dropdown button img{
    height: 16px;
    width: 16px;
}
#planificador .col-planificador .head-col-planificador .total-days .dropdown .dropdown-menu{
    padding: 20px;
    position: fixed !important;
}
#planificador .col-planificador .head-col-planificador .total-days .dropdown p.title{
    color: var(--te-second-blue);
    font-family: var(--source-sans);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 12px;
    padding: 0 4px;
}
#planificador .col-planificador .head-col-planificador .total-days .dropdown button.dropdown-item{
    display: flex;
    flex-direction: row;
    gap: 8px;
    color:var(--black-80);
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 6px 0;
    justify-content: start;
}
#planificador .col-planificador .head-col-planificador .total-days .dropdown button.dropdown-item:last-of-type{
    color: var(--Red);
}
#planificador .col-planificador .head-col-planificador .config-ruta{
    display: flex;
    flex-direction: row;
    gap: 48px;
}
#planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta p.title{
    margin-top: 16px;
    color: var(--black-80);
    font-family: var(--source-sans);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
#planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta ul{
    display: flex;
    flex-direction: row;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
#planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta input{
    display: none;
}
#planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta label{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    border: 1px solid var(--black-40);
    background: var(--neutral-white, #FFF);
    padding: 8px 16px;
    gap: 8px;
    color: var(--black-90);
    font-family:var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    transition: var(--common-trans);
}
#planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta label svg{
    width: 16px;
    stroke:#535663;
}
#planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta label svg{
    width: 16px;
    stroke:#535663;
    transition: var(--common-trans);
}
#planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta  input[type="radio"]:checked + label svg{
    stroke:#000;
}

@media(max-width:1199px){
    #planificador .col-planificador .head-col-planificador .config-ruta{
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    #planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta ul{
        gap: 12px;
    }

    #planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta ul li{
        width: 50%;
    }
}

#planificador .col-planificador .head-col-planificador .config-ruta .modalitat-ruta input[type="radio"]:checked + label{
    background-color: #DCE6C9;
    border-color: var(--te-green);
}


#planificador .col-planificador .col-rute-points{
    display: flex;
    padding: 24px 40px;
    flex-direction: column;
    gap: 16px;
    background-color: var(--black-10);
}

@media(max-width:1199px){
    #planificador .col-planificador .col-rute-points{
        display: flex;
        padding:24px 20px;
        flex-direction: column;
        gap: 16px;
        background-color: var(--black-10);
    }
}

#planificador .col-planificador .col-rute-points .initial-point,
#planificador .col-planificador .col-rute-points  .end-point{
    display: flex;
    flex-direction: column;
}

#planificador .col-planificador .col-rute-points p.title-point,
#planificador .col-planificador .col-rute-points label.title-point{
    color: var(--black-80);
    font-family: var(--source-sans);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 8px;
}
#planificador .col-planificador .col-rute-points .middel-points p.title-point{
    margin: 0;
}
#planificador .col-planificador .col-rute-points .middel-points{
    display: flex;
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    align-self: stretch;
    background-color: #FFF;
    border-radius: 8px;
    margin: 16px 0;
}

#planificador .col-planificador .col-rute-points .item-initial-point,
#planificador .col-planificador .col-rute-points .item-middel-point,
#planificador .col-planificador .col-rute-points .item-end-point{
    display: flex;
    flex-direction: row;
    gap: 8px;
    border-radius: 8px;
    border: 1px solid var(--black-40);
    background: #fff;
    padding: 12px 16px;
    width: 100%;

}

#planificador .col-planificador .col-rute-points .middel-points .item-middel-point{
    width: calc(100% - 32px);
    margin-left: 32px;
    position: relative;
}

#planificador .col-planificador .col-rute-points .middel-points button{
    display: flex;
    flex-direction: row;
    gap: 8px;
    color: var(--black-80);
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;   
    background-color: transparent;
    border: 0px solid transparent;
    margin-top: 12px;
}
#planificador .col-planificador .col-rute-points .item-middel-point img.dragger{
    position: absolute;
    transform: translate(-50%, -50%);
    left: -28px;
    top: 50%;
    cursor: grab;
}

#planificador .col-planificador .col-rute-points .item-initial-point input,
#planificador .col-planificador .col-rute-points .item-middel-point input,
#planificador .col-planificador .col-rute-points .item-end-point input{
    border: 0px;
    width: 100%;
}

#planificador .col-planificador .col-rute-points .action-points-rute{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 16px;
}

#planificador .col-planificador .col-rute-points .action-points-rute button{
    display: flex;
    padding: 8px 16px;
    border-radius: 8px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border: none;
    color: #fff;
    gap: 8px;
}

#planificador .col-planificador .col-rute-points .action-points-rute button.save-rutes{
    background-color: var(--te-green);
}
#planificador .col-planificador .col-rute-points .action-points-rute button.action-rutes{
    background-color: var(--black-80);
}

#planificador .col-planificador .col-rute-points .action-points-rute .dropdown-menu{
    padding: 24px;

}
#planificador .col-planificador .col-rute-points .action-points-rute .dropdown-menu a{
    color: var(--black-90);
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    display: flex;
    flex-direction: row;
    gap: 8px;
    padding: 8px 4px;
}


/* extra info */

#planificador .col-planificador .col-extra-info{
    background-color: #fff;
    padding: 40px;
}
@media(max-width:1199px){
    #planificador .col-planificador .col-extra-info{
        padding: 20px;
    }
}
#planificador .col-planificador .col-extra-info ul{
    display: flex;
    flex-direction: row;
    padding: 0;
    margin: 0;
    list-style: none;
    gap: 40px;
    margin: 16px 0;
}
#planificador .col-planificador .col-extra-info ul li{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;

    color: var(--black-80);
    text-align: center;
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;

}
#planificador .col-planificador .col-extra-info ul li img{
    width: 32px;
    height: 32px;
}

#planificador .col-planificador .col-extra-info p.title{
    color: var(--te-second-blue);
    font-family: var(--source-sans);
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
   

}

#planificador .col-planificador .col-extra-info .ritme-container{
    display: flex;
    flex-direction: row;
    /* flex-wrap: wrap; */
}

#planificador .col-planificador .col-extra-info .ritme-container p{
    width: 100%;
    margin-bottom: 0;
}
#planificador .col-planificador .col-extra-info .ritme-container p.title{
    color: var(--black-80);
    font-family:var(--source-sans);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 24px 0 4px 0;

}

#planificador .col-planificador .col-extra-info .ritme-container ul{
     gap: 16px;
     margin-bottom: 0;
}


#planificador .col-planificador .col-extra-info .ritme-container .time-container{
    margin-left: auto;
    display: flex;
    flex-direction: column;
}

#planificador .col-planificador .col-extra-info .ritme-container .time-container img{
    margin-top: auto;
    margin-bottom: 8px;
    margin-left: 4px;
    width: 32px;
    height: 32px;
}

#planificador .col-planificador .col-extra-info .ritme-container .time-container span{
    color: var(--black-80);
    font-family: var(--source-sans);
    width: fit-content;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}


#planificador .col-planificador .col-extra-info .related-rutes-list p.title{
    color: var(--black-80);
    font-family: var(--source-sans);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-top: 32px;
}
@media(max-width:1199px){

    #planificador .col-planificador .col-extra-info .ritme-container .time-container{
        flex-direction: row;
        flex-wrap: wrap;
    }
    #planificador .col-planificador .col-extra-info .ritme-container .time-container img{
        width: 24px;
        height: 24px;
        margin: 12px 12px 0 0;
    }
    #planificador .col-planificador .col-extra-info .ritme-container .time-container span{
        margin: 12px 0 0 0;
    }

    #planificador .col-planificador .col-extra-info .ritme-container .time-container p.title{
        width: 100%;
    }
   
    #planificador .col-planificador .col-extra-info .ritme-container ul li{
        padding: 8px 16px;
        width: 33%;
    }
    
    #planificador .col-planificador .col-extra-info ul li img{
        width: 24px;
        height: 24px;
    }
}

@media(max-width:940px){

    #planificador .col-planificador .col-extra-info .ritme-container .time-container{
        flex-direction: column;
        flex-wrap: wrap;
        padding-left: 12px;
    }
    #planificador .col-planificador .col-extra-info .ritme-container .time-container img{
        width: 20px;
        height: 20px;
        margin: auto 12px 0 0;
    }
    #planificador .col-planificador .col-extra-info .ritme-container .time-container span{
        margin: 12px 0 0 0;
    }

    #planificador .col-planificador .col-extra-info .ritme-container .time-container p.title{
        height: fit-content;
    }
   
    #planificador .col-planificador .col-extra-info .ritme-container ul li{
        padding: 8px 8px;
        width: 25%;
        font-size: 12px;
    }
    #planificador .col-planificador .col-extra-info .ritme-container ul li img{
        width: 20px;
    }
}





#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes {
    border-radius: 8px;
    border: 1px solid var(--black-40);
    padding: 16px;
    background: #fff;
    display: flex;
    flex-direction: row;
    gap: 16px;
}

#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes figure{
    width: 80px;
    height: 80px;
    min-width: 80px;
    min-height: 80px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
    border-radius: 8px;
}

#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related{
    display: flex;
    flex-direction: column;

}

#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related .title{
    color: var(--te-second-blue);
    font-family:var(--source-sans);
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 0;
}

#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related p{
    color: var(--black-60);
    font-family:var(--source-sans);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0;
}
#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related ul.icon-related-cards{
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin: 0;
    margin-top: 16px;
    padding: 0;
}
#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related ul.icon-related-cards li{
    display: flex;
    flex-direction: row;
    color: var(--black-80);
    font-family: var(--source-sans);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

@media(max-width:575px){
    #planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related ul.icon-related-cards{
        flex-wrap: wrap;
    }

    #planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related ul.icon-related-cards li{
            width: 45%;
            justify-content: start;            
    }
}

#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related ul.icon-related-cards li img{
    width: 16px;
    height: 16px;
}

#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes a{
    border-radius: 4px;
    background: var(--black-40);   
    width: 32px;
    min-width: 32px!important;
    height: 32px!important;
    margin: 0 0 auto auto;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center;
    border: 0 transparent solid;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
#planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes a img{
    width: 20px;
    margin: auto;
    display: block;
}

@media(max-width:1199px){
    #planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes{
        flex-direction: row;
        flex-wrap: wrap;
        position: relative;
    }
    #planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes figure{
        height: 120px;
        width: 100%;
    }
    #planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related p,
    #planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes .caption-card-related .title{
        width: calc(100% - 72px);
    }
    #planificador .col-planificador .col-extra-info .related-rutes-list .list-rutes .card-related-rutes a{
        position: absolute;
        right: 20px;
        top: 152px;
    }
}

#planificador #modalRegister,
#planificador #modalSaveRute,
#planificador #deleteRute{
    right: 0;
    left: var(--planificador-desktop);
    bottom: 0;
    top: 151px;
    width:calc(100% - var(--planificador-desktop));
    height:calc(100vh - 151px);
    transition: var(--common-trans-3);
}

#planificador .full #modalRegister,
#planificador .full #modalSaveRute,
#planificador .full #deleteRute{
    right: 0;
    left: 0;
    bottom: 0;
    top: 151px;
    width:100%;
    height:calc(100vh - 151px);
}

@media(max-width:1199px){
    #planificador #modalRegister,
    #planificador #modalSaveRute,
    #planificador #deleteRute{
        left: var(--planificador-tablet);
        width:calc(100% - var(--planificador-tablet));
    } 
}

@media(max-width:940px){
    #planificador #modalRegister,
    #planificador #modalSaveRute,
    #planificador #deleteRute{
        z-index: 100000;
        left: 0;
        width:var(--planificador-mobile);
        background-color: #00000040;
        top: 135px;
    } 
}
@media(max-width:585px){
    #planificador #modalRegister,
    #planificador #modalSaveRute,
    #planificador #deleteRute{
        z-index: 100000;
        left: 0;
        width:var(--planificador-mobile);
        background-color: #00000040;
        top: 0;
        height: 100vh;
    } 
}
    

#planificador #modalRegister .modal-dialog,
#planificador #modalSaveRute .modal-dialog,
#planificador #deleteRute .modal-dialog{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto
}
#planificador #modalRegister .modal-dialog .modal-content,
#planificador #modalSaveRute .modal-dialog .modal-content,
#planificador #deleteRute .modal-dialog .modal-content{
    padding: 40px;
    position: relative;
    border: none;
}
#planificador #modalRegister .modal-dialog .modal-content{
    padding: 36px 40px 36px 64px;
}


#planificador #modalRegister .modal-dialog .modal-content button.btn-close,
#planificador #modalSaveRute .modal-dialog .modal-content button.btn-close,
#planificador #deleteRute .modal-dialog .modal-content button.btn-close{
    position: absolute;
    top: 24px;
    right: 24px;
}
#planificador #modalRegister .modal-dialog .modal-title,
#planificador #modalSaveRute .modal-dialog .modal-title,
#planificador #deleteRute .modal-dialog .modal-title{
    color: var(--te-second-blue);
    font-family: var(--source-sans);
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 16px;
}

#planificador #modalSaveRute .modal-dialog label{
    color: var(--neutral-black-90, #2E3036);
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

#planificador #modalSaveRute .modal-dialog textarea,
#planificador #modalSaveRute .modal-dialog input{
    color: var(--neutral-black-60, #787B85);
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    border-radius: 8px;
    border: 1px solid var(--black-40);
    background: #fff;
    padding: 12px 8px ;
    width: 100%;
}
#planificador #modalSaveRute .modal-dialog textarea {
    height: 100px;
}

#planificador #modalRegister .modal-dialog button[type=submit],
#planificador #deleteRute .modal-dialog button[type=submit],
#planificador #modalSaveRute .modal-dialog button[type=submit]{
    display: flex;
    flex-direction: row;
    padding: 8px 16px;
    border-radius: 8px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border: none;
    color: #fff;
    gap: 8px;
    background-color: var(--te-green);
    width: fit-content;
    margin: 32px 0 0 0;
    font-size: 16px;
    font-family: var(--source-sans);

}
#planificador #deleteRute .modal-dialog button[type=submit]{
    margin: 24px auto 12px auto;
}

#planificador #modalRegister .modal-dialog .footer-button-submit{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
}

#planificador #modalRegister .modal-dialog button[type=submit] img,
#planificador #deleteRute .modal-dialog button[type=submit] img,
#planificador #modalSaveRute .modal-dialog button[type=submit] img{
    width: 24px;
    height: 24px;
}
#planificador #deleteRute .modal-dialog button.cancel {
    color: var(--Red);
    font-family: var(--source-sans);
    background-color: transparent;
    border: none;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: 15%; /* 2.4px */
    border: 0px solid transparent;
    text-underline-position: from-font;
}

#planificador #deleteRute .modal-dialog p{
    color:var(--black-60);
    text-align: center;
    font-family:var(--source-sans);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px; /* 140% */

}

#planificador #deleteRute .modal-dialog img.alert-img{
    width: 96px;
    height: 96px;
    margin:0 auto 16px auto;
}


#planificador #modalRegister .modal-dialog div.card-register{
    border-radius: 8px;
    background:var(--black-10);
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    margin-top: 24px;
    margin-bottom: 20px;
}

#planificador #modalRegister .modal-dialog .modal-title {
    position: relative;
 
}

#planificador #modalRegister .modal-dialog p{
    color: var(--black-60);
    font-family: var(--source-sans);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px; /* 140% */
    margin: 0;
}

#planificador #modalRegister .modal-dialog p a{
    color: #0097D5;
    font-family: var(--source-sans);
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

#planificador #modalRegister .modal-dialog div.card-register p {
    color:var(--black-80);
    font-family: var(--source-sans);
    margin: 0;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px; /* 155.556% */
}
#planificador #modalRegister .modal-dialog div.card-register ul{
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding-left:20px ;
}
#planificador #modalRegister .modal-dialog div.card-register ul li {
    color: var(--black-60);
    font-family: var(--source-sans);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px; /* 155.556% */
}

#planificador #modalRegister .modal-dialog .modal-title img{
    position: absolute;
    left: -44px;
    width: 32px;
    height: auto;
    top: 2px;
}

#planificador #modalRegister .modal-dialog button.close-register{
    color: #FFF;
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    border-radius: 8px;
    background:var(--black-90);
    display: flex;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: fit-content;
    border: transparent 0px solid ;
}

@media(max-width:575px){
    #planificador #modalRegister .modal-dialog .modal-content, 
    #planificador #modalSaveRute .modal-dialog .modal-content, 
    #planificador #deleteRute .modal-dialog .modal-content{
        padding: 20px;
        width: 90%;
    }
    #planificador #modalRegister .modal-dialog .modal-title,
    #planificador #modalSaveRute .modal-dialog .modal-title, 
    #planificador #deleteRute .modal-dialog .modal-title{
        font-size: 18px;
        margin-bottom: 4px;
    }
    #planificador #modalRegister .modal-dialog .modal-title img{
        display: none;
    }
    #planificador #modalRegister .modal-dialog div.card-register ul{
        gap: 4px;
    }
    #planificador #modalRegister .modal-dialog div.card-register p,
    #planificador #modalRegister .modal-dialog div.card-register ul li,
    #planificador #modalRegister .modal-dialog p a,
    #planificador #modalRegister .modal-dialog p {
        font-size: 16px;
        line-height: inherit;
    }
    #planificador #modalRegister .modal-dialog button[type=submit], 
    #planificador #deleteRute .modal-dialog button[type=submit], 
    #planificador #modalSaveRute .modal-dialog button[type=submit]{
        margin-top: 12px
    }
}

#planificador .btn-map-filters{
    z-index: 1000;
    display: flex;
    flex-direction: row;
    align-items: end;
    gap:24px;
    position: absolute;
    right: 40px;
    bottom: 40px;
}
@media(max-width:575px){
    #planificador .btn-map-filters{
        bottom: 20px;
        right: 20px;
        gap: 20px;
    }
}

#planificador .btn-map-filters button:not(.layer-button) {
    display: flex;
    width: 48px;
    height: 48px;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    border: 1px solid var(--black-40);
    background: #fff;
}


#planificador .btn-map-filters form.dropdown-menu {
    min-width: 300px;
    border-radius: 8px;
    border: var(--black-40);
    background: #fff;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
    padding: 24px;
    flex-direction: column;

    max-height: calc(100vh - 350px);
    overflow-y: scroll;
    height: fit-content;
    margin-bottom: 20px!important;
}

#planificador .btn-map-filters .dropdown-menu p{
    border-top: 1px solid var(--black-40);
    padding-top: 20px;
    margin-top: 20px;
    color: var(--te-second-blue);
    font-family: var(--source-sans);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 8px;
}
#planificador .btn-map-filters .dropdown-menu p:first-of-type{
    border-top: none;
    padding-top: 0;
    margin-top: 0px;
}

#planificador .btn-map-filters .dropdown-menu .form-check-input:checked{
    background-color: var(--te-green);
}

#planificador .btn-map-filters form.dropdown-menu .control-view-map-config{
    display: flex;
    flex-direction: row;
    gap: 24px;
}
#planificador .btn-map-filters form.dropdown-menu .control-view-map-config .form-check input{
    display: none;    
}
#planificador .btn-map-filters form.dropdown-menu .control-view-map-config .form-check{
    padding: 0;
}
#planificador .btn-map-filters form.dropdown-menu .control-view-map-config .form-check label img{
    height: 96px;
    width: 96px;
    object-fit: cover;
    border-radius: 16px;
}

#planificador .btn-map-filters form.dropdown-menu .control-view-map-config input:checked + label img{ 
    outline: 2px solid var(--te-green);
}

/*  oter sections planificador */


#inspirador-info{
    padding: 72px 0 0 0;
}

#inspirador-info .col-md-5{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 40px;
}

#inspirador-info .col-md-7 img{
    width: 100%;
}

#inspirador-info h2{
    color: var(--te-second-blue);
    font-family: var(--source-sans);
    font-size: 76px;
    font-style: normal;
    font-weight: 400;
}

#inspirador-info h3{
    color: var(--black-80);
    font-family: var(--source-sans);
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
}

#inspirador-info p{
    color: var(--black-60);
    font-family: var(--source-sans);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
}

#carruseles-planificador{
    padding: 32px 0;
}

#carruseles-planificador h2{
    color: var(--te-second-blue);
    font-family: var(--source-sans);
    font-size: 48px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top:72px ;
}

#carruseles-planificador p{
    color:var(--black-60);
    font-family: var(--source-sans);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
}


@media(max-width:991px){
    #inspirador-info{
        padding: 32px 0 0 0;
    }
    #inspirador-info .col-md-5{
        padding-right: 0px;
        padding-top: 44px;
    }
    #inspirador-info h2{
        font-size: 32px;
    }
    #inspirador-info h3{
        font-size: 18px;
    }

    #inspirador-info p{
        font-size: 16px;
    }
    #carruseles-planificador h2{
        font-size: 32px;
        margin-top:32px ;
    }

    #carruseles-planificador p{
        font-size: 18px;
    }

}


/* QA JOSE 28 ENERO */

#planificador .btn-map-filters form.dropdown-menu .form-check{
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items:center;
}
#planificador .btn-map-filters form.dropdown-menu .form-check img{
    width: 20px;
    height: auto;
}

#planificador .col-planificador .col-extra-info ul li button{
    background-color:transparent;
    border:0;
    padding: 8px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
     border-radius: 4px;
    border: 1px solid var(--black-40);
    gap: 4px;
}

#planificador .col-planificador .col-extra-info ul li button img{
    width: 20px;
    height: auto;
}

#planificador .col-planificador .col-extra-info .ritme-container ul li button.active{
    border: 1px solid var(--te-green);
}