/** Style Home page **/
body { height: 100vh; width: 100%; overflow: hidden; margin-bottom: env(safe-area-inset-bottom);}
.blurbefore-mask{position:relative;backdrop-filter:blur(15px);}
.blurbefore-mask:before{content:"";background:url(../images/wayd-mosaik-blk.png)repeat center center transparent;opacity:0.3;height:100%;width:100%;position:absolute;top:0;left:0;z-index:10;}
.blurbefore-mask > *{position:relative;z-index:20;}

/** Map **/
.zoumap { overflow: hidden; position: relative;  height: 100vh!important; width: 100%;}
.leaflet-popup-content {width: 252px;}
.leaflet-control-zoom { display: none;}
#loadingSpinner {position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1200; color: var(--darkblue);}

/** Sidebar **/ 
.home__sidebar { position: fixed; display: flex; flex-direction: column; top: 30px; right: 20px; z-index: 1000;}
.sidebar-btn {border: none;text-decoration:none; padding: 15px;font-size: 25px; margin-bottom: 10px; border-radius: 30px; width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; transition: color 0.3s ease-in-out, backgorund-color 0.3s ease-in-out;}

.bus-lines-btn { background-color: var(--orange); color: var(--white);}
.bus-lines-btn:hover { background-color: var(--white); color: var(--orange);}
.nav-bus-lines .nav-item .nav-link { padding: 15px 20px; border-bottom: 1px solid #E4E4E4; border-top: none; border-left: none; border-right: none; background-color: #ffffff; width: 100%;}
.nav-bus-lines .nav-item:nth-child(even) .nav-link { border-bottom: 1px solid var(--blue);}

.offcanvas.offcanvas-end {max-width: 350px;}

.gpsback-btn {background-color: var(--white); color: var(--blue);}
.gpsback-btn:hover { background-color: var(--blue); color: var(--white);}

.bus-line-stops-btn {background-color: var(--white); color: var(--blue);}
.bus-line-stops-btn:hover, .bus-line-stops-btn.active { background-color: var(--blue); color: var(--white);}

.event-btn {background-color: var(--yellow); color: var(--white);}
.event-btn:hover {background-color: var(--white); color: var(--yellow);}

#help-btn {position: absolute; top: 94px; left: 20px; z-index: 1000;}
.help-btn {background-color: var(--blue); color: #ffffff;}
.help-btn:hover {background-color:#404040; color:#dbdbdb;}
#notification-btn {position: absolute; top: 30px; left: 20px; z-index: 990;}

/** Filter line en haut a droite **/
#filter_line { position: fixed; top: 30px; height:54px;right: 90px; z-index: 1000; display: flex; align-items: center; font-size: 12px; padding: 10px; border: 1px solid #E6E6E6; border-radius: 30px; background-color: var(--white);}
#filter_line .btn-close {margin-left: 10px; background-color: #E9E9E9; border-radius: 30px; font-size: 9px; padding: 8px;}
#offcanvasNavbar .zou-arrow-4-r,#filter_line .zou-arrow-4-r, #offcanvasBottom .zou-arrow-4-r { color: var(--orange); padding: 2px; font-size: 10px;}
#filter_line .direction {font-size: 12px;}

.bus-line {border: 1px solid var(--black);border-radius: 5px; font-size: 12px;max-height: 22px; display: inline-flex; align-items: center; justify-content: space-between; min-width: 60px; margin-right: 10px; overflow: hidden;}
.bus-line i{padding: 0px 6px;}
.bus-line .numero{background-color: var(--orange); color: var(--white);padding: 2px 6.5px;}
/** Ligne 90 **/
.info-trajet .direction.bus-line-90 .zou-arrow-4-r {color: #3DABDE!important;}
.bus-line .numero.bus-line-90 {background-color: #3DABDE;}

/** Button filter **/
.home__filter-cats {position: fixed; bottom: 30px; z-index: 1000; left: 50%; transform: translateX(-50%); display: flex; transition: bottom 0.3s ease-in-out; }
.home__filter-cats.position-up { bottom: 100px; }
.btn-filter {background-color: var(--white); border: none; border-radius: 30px; width: 54px; height: 54px; font-size: 25px; display: flex; align-items: center; justify-content: center; margin: 3.5px; box-shadow: 0px 15px 30px #00000029; transition: transform 100ms, background-color 100ms, color 100ms; }
.btn-filter:not(.video) { color: var(--lightblue);}
.btn-filter.video { color: var(--blue);}
.btn-filter.video[data-active-filter="true"] {background-color: var(--blue); color: var(--white);}
.btn-filter[data-active-filter="true"] { color: var(--white); animation: clickAnimation 100ms ease-in-out; }
.btn-filter:not(.video)[data-active-filter="true"] { background-color: var(--lightblue); color: var(--white);}

@keyframes clickAnimation {
    0% { transform: scale(1);}
    50% { transform: scale(0.9);}
    100% { transform: scale(1);}
}
.custom-tooltip {--bs-tooltip-bg: var(--lightblue);}
.video-tooltip {--bs-tooltip-bg: var(--blue);}

/** Bottom bar et offcanvas bottom */
.home__bottom-bar {position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 1000; width: 100%; height: fit-content;text-align: center; max-height: 100%;}
.home__bottom-bar .points-interest-btn{width: 100%; border: none; border-radius: 30px 30px 0px 0px;padding: 15px 0px;background-color: var(--blue); position: relative; z-index: 1000;}
.home__bottom-bar .points-interest-btn .line{border: 2px solid white; border-radius: 30px; width: 70px; margin: auto;}
.home__bottom-bar .points-interest-btn .titre-liste{margin-top: 12px; margin-bottom: 12px; font-size: 24px;}
.offcanvas-body::-webkit-scrollbar { display: none; }
#offcanvasBottom {height: 0; transition: height 0.3s ease-in-out; }
#offcanvasBottom.show {height: 50vh; }
#offcanvasBottom .offcanvas-body{background-color: var(--white);}
.info-trajet{display: flex;align-items: center;justify-content: center; }
#offcanvasBottom .offcanvas-body ul{list-style-type: none;display: flex;flex-direction: column;flex-wrap: wrap;align-content: center; padding: 1px 25px 100px 35px;overflow-y: hidden;}
#offcanvasBottom .offcanvas-body ul li{position: relative; width: fit-content;display: flex;align-items: center;text-align: left;}
#offcanvasBottom .offcanvas-body ul li:not(:first-child){margin-top: 30px;}
#offcanvasBottom .offcanvas-body ul li .picto-circle{position: absolute; left: -27.5px; width: 20px; height: 20px; border: 3px solid var(--orange); border-radius: 30px; background-color: var(--white); z-index: 20;}
#offcanvasBottom .offcanvas-body ul li.custom-bullet {max-width: 310px;}
#offcanvasBottom .offcanvas-body ul li.custom-bullet .picto-circle{background-color: var(--orange);}
#offcanvasBottom .offcanvas-body ul li:after{content: '';border: 2px solid var(--orange); border-radius: 30px; position: absolute; left: -19.5px;top: 2px; height: 500%;z-index: 10;}
#offcanvasBottom .offcanvas-body ul li .wrapper-content {display: flex;flex-direction: column;text-align: left;text-decoration: none;border-radius: 30px;box-shadow: 0px 15px 30px #00000029;}
#offcanvasBottom .offcanvas-body ul li .wrapper-content img{border-radius: 30px 30px 0px 0px;}
#offcanvasBottom .offcanvas-body ul li .wrapper-content .wrapper-infos{position: relative; border-radius: 0px 0px 30px 30px; padding: 25px 28px;}
#offcanvasBottom .offcanvas-body li .picto-categorie { position: absolute; top: -19px; right: 20px; font-size: 15px; color: var(--white); background-color: var(--lightblue);box-shadow: 0px 15px 30px #00000029; padding: 10px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 30px;}
@media (min-width: 576px) {
    #offcanvasBottom .offcanvas-body ul li .picto-circle{left: -35px;}
    #offcanvasBottom .offcanvas-body ul li:after{left: -26.5px;}
}
@media (min-width: 768px) {
  .home__bottom-bar {width: fit-content;}
  .home__bottom-bar .points-interest-btn{width: 500px; margin:auto;}
}
/** Geolocatlisation style **/
.st-ask-geoloc{ position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%;  height: 304px; max-width: 314px;  z-index: 2000; color: rgb(0,0,0); text-align: center; padding: 30px;    display: flex; flex-flow: column nowrap; justify-content: space-between; font-size: 16px; opacity: 1; line-height: 1.2; border-radius: 30px; background: #ffffff; box-shadow: 0px 15px 30px #00000029; text-align: left;}
.st-ask-geoloc .icon{margin-bottom: 20px;font-size: 82px;}
.st-ask-geoloc .btn-close{position: absolute; top: 20px;right: 20px;width: 31px; height: 31px; display: flex;align-items: center;justify-content: center;background-color: #E9E9E9; border-radius: 30px; color: #9F9F9F; font-size: 12px;}
.st-ask-geoloc .zou-pin-2{ color: #cecece; font-size: 54px; display: block; margin-bottom: 40px;}

.install-message{position: absolute; top: 50%; left: 50%; transform: translateX(-50%)translateY(-50%);z-index: 1001; width: 100%;max-width: 314px; background-color: var(--blue);color: var(--white); border-radius: 12px;padding: 6px 12px; font-size: var(--fontsize-xs); text-align: center;}
.install-message .wrapper-infos .icon-plus{background-color: #3e3e3e; color: var(--white);width: 30px !important; height: 30px !important; display: flex; align-items: center;justify-content: center;border-radius: 5px;}
.install-message .wrapper-infos .icon-plus span{margin-bottom: 3px;font-size: 20px;}
.install-message .wrapper-infos i{font-size: 20px;}

.infos-tarifs-link {display: flex; background-color: var(--lightblue);  padding: 10px;  color: #ffffff; text-decoration: none; border-radius: 10px 10px 10px 10px; width: auto; flex-direction: row; flex-wrap: nowrap; margin: 10px auto; width: fit-content; justify-content: center;}
.infos-tarifs-link:hover{background-color:var(--blue);color:#ffffff;}
.infos-tarifs-link > .zou-info-2{  font-size:18px;margin-right:10px;}

#filter_line.choose{background-color:var(--orange);color:#FFF;}
#filter_line.choose .zou-arrow-4-r{color:#FFF;    display: inline-block;}

@keyframes arrowAnimation {
  0% {transform: translateX(-30%);opacity: 0;}
  50% {opacity: 1;}
  100% {transform: translateX(30%);opacity: 0;}
}
#filter_line.choose i {animation: arrowAnimation 1s infinite;}
@-webkit-keyframes pulse {to {box-shadow: 0 0 0 14px rgba(240, 138, 0, 0);}}
@-moz-keyframes pulse {to {box-shadow: 0 0 0 14px rgba(240, 138, 0, 0);}}
@-ms-keyframes pulse {to {box-shadow: 0 0 0 14px rgba(240, 138, 0, 0);}}
@keyframes pulse {to {box-shadow: 0 0 0 14px rgba(240, 138, 0, 0);}}
#filter_line.choose {-webkit-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);-moz-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);-ms-animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);animation: pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1);box-shadow: 0 0 0 0 rgba(240, 138, 0, 0.7);cursor: pointer;-ms-transform: translate3d(0, 0, 0);-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);-ms-transform-origin: bottom center;-webkit-transform-origin: bottom center;transform-origin: bottom center;}

/** Popup Horaire **/
.popup-stop-times {min-height: 140px;}
.popup-stop-times .line-stop-time {padding: 5px 0; border-bottom: 1px solid var(--orange); display: flex; justify-content: space-between;}
.next-departures-title {display: flex; justify-content: space-between;}

/** Alert **/
#alert-container .alert {position: absolute; top: 10px; left: 10px;right: 10px;width: fit-content; max-width: calc(100% - 20px);z-index: 1010;}
#alert-container .alert .btn-close {background-size: 12px;padding: 18px 15px;}
#alert-container .alert-heading {margin-bottom: 5px; padding-top: 5px;}
#alert-container .alert p {margin-bottom: 5px;}
#alert-container .alert p:last-child {margin-bottom: 0;}
body.admin-bar #alert-container .alert {position: absolute; top: 42px;}

.toast {border-radius: 30px;background-color: var(--white);border: none; position: fixed;top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1100; cursor: pointer;}
.toast .toast-body {padding: 20px;font-size: 14px;}
.toast .btn-close {margin-right: 15px;}