/* vendor font locations */
@use "sass:math";
/* media query mixin */
/* get rid of list formatting */
/* prevent long links from breaking out of container */
/* creates a colored circle with an icon in the middle */
/* formats the placeholder text within an input field */
.grayscale {
  filter: grayscale(100%) brightness(1.1); }

.maplibregl-map, .maplibregl-canvas, .mapboxgl-canvas {
  filter: grayscale(100%) brightness(1); }

.ocstreetcar-map-wrap .container {
  max-width: none; }

.ocstreetcar-map-container {
  display: flex;
  gap: 20px; }
  @media (max-width: 991px) {
    .ocstreetcar-map-container {
      flex-direction: column-reverse; } }
  @media (max-width: 575px) {
    .ocstreetcar-map-container {
      margin-left: -30px;
      margin-right: -30px; } }
  .ocstreetcar-map-container__image {
    width: 40%; }
    @media (max-width: 991px) {
      .ocstreetcar-map-container__image {
        width: 100%; } }
    .ocstreetcar-map-container__image--mobile {
      display: none;
      margin: 50px 0; }
      @media (max-width: 991px) {
        .ocstreetcar-map-container__image--mobile {
          display: block; } }
    .ocstreetcar-map-container__image--desktop {
      display: block; }
      @media (max-width: 991px) {
        .ocstreetcar-map-container__image--desktop {
          display: none; } }
  .ocstreetcar-map-container__map {
    position: relative;
    width: 60%;
    border-radius: 23px;
    overflow: hidden;
    z-index: 0;
    transform: translateZ(0);
    /* Fallback for browsers that do not support aspect-ratio */ }
    @media (max-width: 991px) {
      .ocstreetcar-map-container__map {
        width: 100%; } }
    @media (max-width: 575px) {
      .ocstreetcar-map-container__map {
        border-radius: 0; } }
    @supports not (aspect-ratio: 16/6) {
      .ocstreetcar-map-container__map {
        padding-top: 37.5%; } }
    @media (max-width: 991px) {
      .ocstreetcar-map-container__map {
        aspect-ratio: 16/9; }
        @supports not (aspect-ratio: 16/9) {
          .ocstreetcar-map-container__map {
            padding-top: 56.25%; } } }
    @media (max-width: 767px) {
      .ocstreetcar-map-container__map {
        aspect-ratio: 4/3; }
        @supports not (aspect-ratio: 4/3) {
          .ocstreetcar-map-container__map {
            padding-top: 75%; } } }
    @media (max-width: 575px) {
      .ocstreetcar-map-container__map {
        aspect-ratio: 1/1; }
        @supports not (aspect-ratio: 1/1) {
          .ocstreetcar-map-container__map {
            padding-top: 100%; } } }

.ocstreetcar-map {
  max-width: 1600px;
  margin: 0 auto; }
  .ocstreetcar-map__heading {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center; }
    .ocstreetcar-map__heading h2 {
      margin-bottom: 30px; }
    .ocstreetcar-map__heading p {
      max-width: 800px;
      margin: 0 auto; }

.ocstreetcar-open-map-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.ocstreetcar-open-map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.ocstreetcar-map-legend {
  display: flex;
  gap: 30px;
  row-gap: 15px;
  padding: 50px 0;
  flex-wrap: wrap;
  justify-content: center; }
  @media (max-width: 575px) {
    .ocstreetcar-map-legend {
      justify-content: flex-start; } }
  .ocstreetcar-map-legend__item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: nowrap; }
    @media (max-width: 575px) {
      .ocstreetcar-map-legend__item {
        width: 100%; } }
    .ocstreetcar-map-legend__item-img {
      flex-shrink: 0; }
      .ocstreetcar-map-legend__item-img--route img {
        width: 40px;
        height: 40px;
        margin-top: 9px; }
      .ocstreetcar-map-legend__item-img img {
        width: 30px;
        height: 30px;
        margin-top: -3px; }
    .ocstreetcar-map-legend__item-label {
      font-size: 16px;
      text-align: left; }

.ocstreetcar-map-numbers {
  padding: 20px 0;
  text-align: center; }
  .ocstreetcar-map-numbers__tabs {
    background: #e8e8e8;
    display: inline-flex;
    gap: 20px;
    margin: 0 auto;
    padding: 10px;
    border-radius: 35px; }
    @media (max-width: 575px) {
      .ocstreetcar-map-numbers__tabs {
        flex-direction: column;
        gap: 0; } }
    .ocstreetcar-map-numbers__tabs-btn {
      border-radius: 25px;
      font-size: 18px;
      padding: 10px 20px; }
      .ocstreetcar-map-numbers__tabs-btn:focus, .ocstreetcar-map-numbers__tabs-btn:focus-visible {
        outline: 2px solid black; }
      .ocstreetcar-map-numbers__tabs-btn--active {
        color: white;
        background: #555555; }
  .ocstreetcar-map-numbers__tab {
    display: none; }
    .ocstreetcar-map-numbers__tab--active {
      display: block; }
    .ocstreetcar-map-numbers__tab p.body-copy-large {
      max-width: 850px;
      margin: 40px auto; }
  .ocstreetcar-map-numbers__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 2%;
    row-gap: 20px;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (max-width: 991px) {
      .ocstreetcar-map-numbers__list {
        gap: 4%;
        row-gap: 30px; } }
    @media (max-width: 575px) {
      .ocstreetcar-map-numbers__list {
        gap: 0; } }
  .ocstreetcar-map-numbers__item {
    width: 23.5%;
    background: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    padding: 40px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 15px;
    transition: box-shadow .18s ease, transform .12s ease; }
    @media (max-width: 991px) {
      .ocstreetcar-map-numbers__item {
        width: 48%; } }
    @media (max-width: 575px) {
      .ocstreetcar-map-numbers__item {
        width: 100%;
        padding: 30px 15px;
        border: 0;
        padding: 30px 0;
        border-bottom: 1px solid #d8d8d8;
        border-radius: 0; }
        .ocstreetcar-map-numbers__item:last-child {
          border-bottom: 0;
          padding-bottom: 0; } }
    .ocstreetcar-map-numbers__item--three {
      width: 32%; }
      @media (max-width: 991px) {
        .ocstreetcar-map-numbers__item--three {
          width: 48%; } }
      @media (max-width: 575px) {
        .ocstreetcar-map-numbers__item--three {
          width: 100%; } }
  .ocstreetcar-map-numbers__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px; }
    .ocstreetcar-map-numbers__icon img {
      width: 70px;
      height: 70px;
      display: block; }
      @media (max-width: 575px) {
        .ocstreetcar-map-numbers__icon img {
          margin-top: -5px; } }
  .ocstreetcar-map-numbers__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px; }
  .ocstreetcar-map-numbers__value {
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
    margin: 0; }
    @media (max-width: 575px) {
      .ocstreetcar-map-numbers__value {
        font-size: 20px; } }
  .ocstreetcar-map-numbers__desc {
    font-size: 16px;
    line-height: 1.4;
    color: #000;
    margin: 0;
    max-width: 260px; }
    .ocstreetcar-map-numbers__desc--time {
      font-size: 26px; }
    @media (max-width: 575px) {
      .ocstreetcar-map-numbers__desc {
        max-width: none; } }

.ocstreetcar-numbers-wrap .container {
  max-width: 1600px; }

.ocstreetcar-numbers-wrap h2.heading {
  text-align: center;
  margin-bottom: 40px; }

.ocstreetcar-numbers-wrap .tabs .tabs-desktop {
  text-align: center;
  border: 0; }
  .ocstreetcar-numbers-wrap .tabs .tabs-desktop .nav-tabs {
    all: unset;
    box-sizing: border-box;
    background: #e8e8e8;
    display: inline-flex;
    gap: 20px;
    margin: 0 auto;
    padding: 10px;
    border-radius: 35px; }
    @media (max-width: 575px) {
      .ocstreetcar-numbers-wrap .tabs .tabs-desktop .nav-tabs {
        flex-direction: column;
        gap: 0; } }
    .ocstreetcar-numbers-wrap .tabs .tabs-desktop .nav-tabs .nav-item .nav-link {
      all: unset;
      box-sizing: border-box;
      border-radius: 25px;
      font-size: 18px;
      padding: 10px 20px; }
      .ocstreetcar-numbers-wrap .tabs .tabs-desktop .nav-tabs .nav-item .nav-link.active {
        color: white;
        background: #555555; }
      .ocstreetcar-numbers-wrap .tabs .tabs-desktop .nav-tabs .nav-item .nav-link:not(.active) {
        cursor: pointer; }
      .ocstreetcar-numbers-wrap .tabs .tabs-desktop .nav-tabs .nav-item .nav-link:focus, .ocstreetcar-numbers-wrap .tabs .tabs-desktop .nav-tabs .nav-item .nav-link:focus-visible {
        outline: 2px solid black; }
  .ocstreetcar-numbers-wrap .tabs .tabs-desktop .tab-content {
    padding: 30px; }

.ocstreetcar-numbers-wrap .tabs .tabs-mobile .accordion-item {
  border: 1px solid #d8d8d8;
  margin: 20px 30px;
  border-radius: 25px !important; }
  .ocstreetcar-numbers-wrap .tabs .tabs-mobile .accordion-item .show {
    border: 0; }

.ocstreetcar-numbers-wrap .tabs .tabs-mobile .accordion-button {
  border: 0;
  padding: 25px 30px;
  border-radius: 25px !important;
  font-size: 22px; }
  .ocstreetcar-numbers-wrap .tabs .tabs-mobile .accordion-button:before {
    font-size: 20px; }

.ocstreetcar-numbers-wrap .tabs .tabs-mobile .accordion-body {
  padding: 30px;
  padding-top: 0; }

.ocstreetcar-numbers-wrap p.body-copy-large {
  max-width: 850px;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 40px; }
  @media (max-width: 575px) {
    .ocstreetcar-numbers-wrap p.body-copy-large {
      margin: 0;
      margin-bottom: 20px; } }

/*# sourceMappingURL=streetcar-map.css.map */
