@import url("https://fonts.googleapis.com/css?family=Roboto");
:root {
  --indicateur-icon-color: #000;
  --indicateur-icon-color-hover: #FFF;
  --indicateur-icon-red-color: #C30C30;
  --indicateur-icon-blue-color: #009ddd;
}

.pthvSchedule-time,
.indicateurs-wrapper {
  color: var(--indicateur-icon-color);
}
.pthvSchedule-time span,
.indicateurs-wrapper span {
  display: inline-block;
  white-space: nowrap;
}
.pthvSchedule-time .indicateurs-label,
.indicateurs-wrapper .indicateurs-label {
  display: block;
}
.pthvSchedule-time > span,
.indicateurs-wrapper > span {
  display: block;
}
.pthvSchedule-time.time-infos,
.indicateurs-wrapper.time-infos {
  display: flex;
  row-gap: 1rem;
  column-gap: 0.25rem;
  flex-wrap: wrap;
  margin-block: 1rem;
}
.pthvSchedule-time.time-infos > span,
.indicateurs-wrapper.time-infos > span {
  display: flex;
  column-gap: 0.25rem;
  align-items: center;
}
.pthvSchedule-time .pthvSchedule-indicators,
.pthvSchedule-time .indicateurs,
.indicateurs-wrapper .pthvSchedule-indicators,
.indicateurs-wrapper .indicateurs {
  position: relative;
  display: inline-block;
  height: 24px;
  vertical-align: middle;
  line-height: 1;
}
.pthvSchedule-time .pthvSchedule-indicators > span:before,
.pthvSchedule-time .indicateurs > span:before,
.indicateurs-wrapper .pthvSchedule-indicators > span:before,
.indicateurs-wrapper .indicateurs > span:before {
  content: "";
  display: block;
  position: absolute;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.pthvSchedule-time .pthvSchedule-indicators > span:hover:before,
.pthvSchedule-time .indicateurs > span:hover:before,
.indicateurs-wrapper .pthvSchedule-indicators > span:hover:before,
.indicateurs-wrapper .indicateurs > span:hover:before {
  background-color: currentColor;
}
.pthvSchedule-time .pthvSchedule-indicators > span:hover .icon-infos,
.pthvSchedule-time .indicateurs > span:hover .icon-infos,
.indicateurs-wrapper .pthvSchedule-indicators > span:hover .icon-infos,
.indicateurs-wrapper .indicateurs > span:hover .icon-infos {
  background-color: var(--indicateur-icon-color-hover);
}

.icon-infos {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  vertical-align: middle;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  -webkit-mask-position: center center;
  background-color: currentColor;
}
.icon-infos.flag {
  mask-image: url("../assets/images/info-flag.svg?213826");
  -webkit-mask-image: url("../assets/images/info-flag.svg?213826");
}
.icon-infos.departure {
  mask-image: url("../assets/images/info-departure.svg?213826");
  -webkit-mask-image: url("../assets/images/info-departure.svg?213826");
}
.icon-infos.terminus {
  mask-image: url("../assets/images/info-terminus.svg?213826");
  -webkit-mask-image: url("../assets/images/info-terminus.svg?213826");
}
.icon-infos.rouge {
  color: var(--indicateur-icon-red-color);
  mask-image: url("../assets/images/info-rouge.svg?213826");
  -webkit-mask-image: url("../assets/images/info-rouge.svg?213826");
}
.icon-infos.approx {
  mask-image: url("../assets/images/info-approx.svg?213826");
  -webkit-mask-image: url("../assets/images/info-approx.svg?213826");
}
.icon-infos.realTime {
  mask-image: url("../assets/images/info-realtime.svg?213826");
  -webkit-mask-image: url("../assets/images/info-realtime.svg?213826");
}
.icon-infos.realTimeAnimated {
  mask-image: url("../assets/images/info-realtime-animated.svg?213826");
  -webkit-mask-image: url("../assets/images/info-realtime-animated.svg?213826");
}
.icon-infos.bleu {
  color: var(--indicateur-icon-blue-color);
  mask-image: url("../assets/images/info-bleu.svg?213826");
  -webkit-mask-image: url("../assets/images/info-bleu.svg?213826");
}
.icon-infos.handy {
  mask-image: url("../assets/images/info-handy.svg?213826");
  -webkit-mask-image: url("../assets/images/info-handy.svg?213826");
}
.icon-infos.derivation {
  mask-image: url("../assets/images/info-derivation.svg?213826");
  -webkit-mask-image: url("../assets/images/info-derivation.svg?213826");
}

.pthvSchedule-listing .indicateurs-wrapper {
  margin-block: 0;
  display: none;
}

.pthvSchedule-indicators > span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pthvSchedule-row .pthvSchedule-indicators .icon-infos {
  background: none;
  background-color: currentColor;
}

.pthvSchedule-row .pthvSchedule-time .pthvSchedule-indicators {
  height: 100%;
}
.pthvSchedule-row .pthvSchedule-time .pthvSchedule-indicators .indicateurs {
  height: 100%;
}

.time-past-wrapper .icon-infos.approx, .time-past-wrapper .icon-infos.realTime {
  background-color: currentColor;
  background-image: none;
}

:root {
  --tableau-horaires-horaire-past-color: #AAA;
  --tableau-horaires-ligne-canceled-color: #DC3545;
  --row-recap-bg: #F9F9F9;
  --row-recap-border-color: #FFF;
  --row-pthv-schedule-bg: var(--row-recap-bg);
}

.table.table-horaires th,
.table.table-horaires tr,
.table.table-horaires td {
  vertical-align: middle;
}
.table.table-horaires th {
  font-weight: bold;
  vertical-align: middle;
}
.table.table-horaires thead th,
.table.table-horaires td {
  border: none;
}
.table.table-horaires th:nth-child(2),
.table.table-horaires th:nth-child(3) {
  width: 20%;
}
.table.table-horaires .ligne__link {
  color: #000;
}
.table.table-horaires.table-recap {
  background-color: var(--row-recap-bg);
}
.table.table-horaires.table-recap tr,
.table.table-horaires.table-recap .tr {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  row-gap: 1rem;
  column-gap: 1.5rem;
  padding-inline: 1.5rem;
  padding-block: 1.5rem;
  background-color: var(--row-recap-bg);
  border-block-end: 1rem solid var(--row-recap-border-color);
}
.table.table-horaires.table-recap .column-2 {
  display: grid;
  row-gap: 0.5rem;
  column-gap: 1.5rem;
}
@media (min-width: 768px) {
  .table.table-horaires.table-recap .column-2 {
    align-items: center;
    grid-template-columns: 1fr 30%;
  }
  .table.table-horaires.table-recap .column-2:has(> :nth-child(3):last-child) {
    grid-template-columns: 1fr 30% auto;
  }
}
.table.table-horaires.table-recap td,
.table.table-horaires.table-recap .td {
  padding-inline: 0;
  padding-block: 0;
}
.table.table-horaires.table-recap td.cta-link:last-child,
.table.table-horaires.table-recap .td.cta-link:last-child {
  justify-self: end;
}
.table.table-horaires.table-recap .ligne__title {
  display: block;
  font-weight: bold;
}
.table.table-horaires .line__canceled {
  color: var(--tableau-horaires-ligne-canceled-color);
}
.table.table-horaires .schedule-past,
.table.table-horaires .schedule-past td,
.table.table-horaires .schedule-past .td {
  color: var(--tableau-horaires-horaire-past-color);
}
.table.table-horaires .schedule-past .line__canceled,
.table.table-horaires .schedule-past td .line__canceled,
.table.table-horaires .schedule-past .td .line__canceled {
  color: currentColor;
}
.table.table-horaires .schedule-next {
  font-weight: bold;
}
.table.table-horaires .schedule-next + .schedule-next {
  font-weight: normal;
}

.table.table-horaires.table-more-cols thead {
  border-block-end: 1px solid #AAA;
}
@media (max-width: 575.98px) {
  .table.table-horaires.table-more-cols th,
  .table.table-horaires.table-more-cols td {
    padding: 1.25rem 0.1rem;
  }
}

.pthvSchedule-listHead {
  display: none;
}

.toggle-listing {
  display: flex;
}
.toggle-listing:hover {
  text-decoration: none;
}

.stopNameLabel {
  text-align: center;
  font-size: 1rem;
  margin-block-start: 1rem;
}

:root {
  --apth-schedule-row-border: 1px solid #EEE;
}

.pthvSchedule-row, .pthvSchedule-listHead-tr {
  display: grid;
  grid-template-columns: 1fr 30%;
  column-gap: 0.5rem;
}

.pthvSchedule-line, .pthvSchedule-line-head {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  column-gap: 1rem;
}

.element-invisible {
  display: none;
}

.pthvSchedule-listHead-tr {
  font-weight: bold;
  padding: 0 0.5rem 1rem 0.5rem;
}

.pthvSchedule-row {
  cursor: pointer;
  row-gap: 0.5rem;
  border: none;
  border-block-start: var(--apth-schedule-row-border);
  padding: 0.5rem;
}
.pthvSchedule-row:last-child {
  border-block-end: var(--apth-schedule-row-border);
}
.pthvSchedule-row:nth-child(odd) {
  background-color: var(--row-pthv-schedule-bg);
}
.pthvSchedule-row:hover, .pthvSchedule-row:focus {
  background-color: rgba(0, 0, 0, 0.15);
}
.pthvSchedule-row .pthvSchedule-time {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
}
.pthvSchedule-row .pthvSchedule-times,
.pthvSchedule-row .horaire-time {
  display: block;
}
.pthvSchedule-row .pthvSchedule-nextDeparture {
  margin-left: initial;
}
.pthvSchedule-row .pthvSchedule-nameDestLine {
  word-break: break-all;
}

.pthvSchedule-numLine {
  padding: 0.25rem;
  min-width: 1.5rem;
  text-align: center;
  border-radius: 3px;
}

.pthvSchedule-modeLine-head,
.pthvSchedule-modeLine {
  min-width: 3rem;
}

.time-past + .pthvSchedule-indicators > span {
  color: var(--tableau-horaires-horaire-past-color);
}

.occupancy-wrapper .occupancy {
  display: block;
  position: relative;
  font-size: 0;
  width: 3.625rem;
  height: 2rem;
  mask-image: url("../assets/images/../images/person.svg?213826");
  -webkit-mask-image: url("../assets/images/../images/person.svg?213826");
}
.occupancy-wrapper .occupancy:before, .occupancy-wrapper .occupancy:after {
  content: " ";
  display: block;
  position: absolute;
  background-color: currentColor;
  width: 0;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0;
}
.occupancy-wrapper .occupancy:before {
  opacity: 1;
}
.occupancy-wrapper .occupancy:after {
  width: 100%;
  opacity: 0.3;
  z-index: -2;
}
.occupancy-wrapper .occupancy-0:before {
  width: 0;
}
.occupancy-wrapper .occupancy-0-20:before {
  width: 33.33%;
}
.occupancy-wrapper .occupancy-20-70:before {
  width: 66.66%;
}
.occupancy-wrapper .occupancy-70-90:before {
  width: 100%;
}
.occupancy-wrapper .occupancy-90-100:before {
  width: 100%;
}
.occupancy-wrapper .occupancy-100:before {
  width: 100%;
}

.poiTitle {
  font-size: 1rem;
}

.poiDescription,
.poiDescription p {
  font-size: 0.875rem;
}

.pthv-poi-types-wrapper input {
  margin-inline-end: 0.5rem;
}

.pthv-search-field input {
  border: 1px solid #000;
}

:root {
  --alert-line-picto-size: 22px;
}
@media (min-width: 768px) {
  :root {
    --alert-line-picto-size: 26px;
  }
}

.ligne__alert {
  display: flex;
  align-items: end;
}
.ligne__alert .ligne__badge--alert + .alert-line-picto {
  transform: translate(-50%, 50%);
}
@media (min-width: 768px) {
  .ligne__alert .ligne__badge--alert + .alert-line-picto {
    transform: translate(-50%, 25%);
  }
}
.ligne__alert .ligne__badge--alert + .alert-line-picto.alert--is-future {
  filter: grayscale(1);
}

.alert-line-picto {
  display: block;
  width: var(--alert-line-picto-size);
  aspect-ratio: 1;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-size: cover;
}
.alert-line-picto--small {
  width: 20px;
  height: 20px;
}
.alert-line-picto.alert-no-alert {
  background-image: url("../assets/images/alert-no-alert.svg?213826");
}
.alert-line-picto.alert--s0-c1, .alert-line-picto.alert--s0-c2, .alert-line-picto.alert--s0-c3 {
  background-image: url("../assets/images/alert-information.svg?213826");
}
.alert-line-picto.alert--s1-c2, .alert-line-picto.alert--s2-c2, .alert-line-picto.alert--s3-c2 {
  background-image: url("../assets/images/alert-maintenance-slight.svg?213826");
}
.alert-line-picto.alert--s4-c2, .alert-line-picto.alert--s5-c2 {
  background-image: url("../assets/images/alert-maintenance-severe.svg?213826");
}
.alert-line-picto.alert--s1-c1, .alert-line-picto.alert--s2-c1, .alert-line-picto.alert--s3-c1, .alert-line-picto.alert--s1-c3, .alert-line-picto.alert--s2-c3, .alert-line-picto.alert--s3-c3 {
  background-image: url("../assets/images/alert-perturbation-slight.svg?213826");
}
.alert-line-picto.alert--s4-c1, .alert-line-picto.alert--s5-c1, .alert-line-picto.alert--s4-c3, .alert-line-picto.alert--s5-c3 {
  background-image: url("../assets/images/alert-perturbation-severe.svg?213826");
}

.pthvAroundMe-widget {
  --around-me-inline-padding: 2rem;
}
@media (min-width: 768px) {
  .pthvAroundMe-widget {
    grid-template-columns: none;
  }
  .pthvAroundMe-widget .blockPthv-search-wrapper {
    order: 1;
  }
}
@media (min-width: 992px) {
  .pthvAroundMe-widget {
    width: calc(100vw - var(--around-me-inline-padding));
    margin-left: calc(-1 * (100vw - 100%) / 2);
    grid-template-columns: 33em 1fr;
  }
  .pthvAroundMe-widget .blockPthv-search-wrapper {
    order: 0;
    padding-inline-start: var(--around-me-inline-padding);
  }
}
.pthvAroundMe-widget .pthvSchedule-listing.with-occupancy {
  --schedule-listing-time-occupancy-width: 40%;
  --schedule-listing-time-ratio: 0.6;
  --schedule-listing-occupancy-ratio: 0.4;
  --schedule-listing-time-width: calc(var(--schedule-listing-time-ratio) * 100%);
  --schedule-listing-occupancy-width: calc(var(--schedule-listing-occupancy-ratio) * 100%);
}
.pthvAroundMe-widget .pthvSchedule-listing.with-occupancy .pthvSchedule-listHead-tr {
  grid-template-columns: 1fr calc(var(--schedule-listing-time-ratio) * var(--schedule-listing-time-occupancy-width)) calc(var(--schedule-listing-occupancy-ratio) * var(--schedule-listing-time-occupancy-width));
}
.pthvAroundMe-widget .pthvSchedule-listing.with-occupancy .pthvSchedule-row {
  grid-template-columns: 1fr var(--schedule-listing-time-occupancy-width);
}
.pthvAroundMe-widget .pthvSchedule-listing.with-occupancy .pthvSchedule-time-wrapper {
  display: grid;
  grid-template-columns: var(--schedule-listing-time-width) var(--schedule-listing-occupancy-width);
}
.pthvAroundMe-widget .occupancy-wrapper {
  padding-block: 0.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pthvAroundMe-widget .occupancy-wrapper .occupancy {
  width: 2.7rem;
  height: 1.5rem;
}

.pthv-stop-page .ligne__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pthv-stop-page > .ligne__title {
  margin-block-start: 1.5rem;
  margin-block-end: 1rem;
}
.pthv-stop-page.pthv-stop-recap > .ligne__title, .pthv-stop-page.pthv-stop-line > .ligne__title {
  margin-block: 2rem;
}
.pthv-stop-page tbody tr:last-child {
  border-bottom: 1px solid black;
}
.pthv-stop-page tbody tr:first-child {
  border-top: 1px solid black;
}
.pthv-stop-page .ligne__alertStatus {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pthv-stop-recap .table-horaires .ligne__title {
  gap: 2rem;
}

.pthv-stop-line .ligne__stop_dest {
  display: grid;
  gap: 0.2rem;
}
.pthv-stop-line .ligne__stop_dest .ligne__dest {
  font-weight: normal;
}
.pthv-stop-line tbody tr:last-child {
  border-bottom: none;
}
.pthv-stop-line tbody tr:first-child {
  border-top: none;
}

/**
 * Coords and map icon
 */
.stop__coordinates {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/*# sourceMappingURL=pthv_styles.css.map */
