html {
  min-height: 100%;
  min-width: 100%;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    margin: 0;
    width: 100%;
    height: 100%;
    background-color: #222222;
    background: url("nysdBackground.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

a:link {
  color: #ffffff;
}

a:visited {
  color: #ffffff;
}

.footer {
  position: fixed;
  display: grid 1;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 1vh 1vw;
  background-color: rgba(0,0,0,.5);
}

form, label {
  font-size: min(10pt, 3vw);
  color:#ffffff
}

.forms {
  display: flex;
  flex-wrap: wrap;
  gap: 1vw;
  align-items: center;
  justify-content: left;
  padding-bottom: 1vh;
}

input, select {
  background-color: #000000;
  color: #ffffff;
}



#stationName {
  font-size: 6vw;
  font-weight: bold;
  padding-top: 0.25vh;
  padding-left: 0.75vw;
  padding-right: 0.75vw;
  padding-bottom: 0.75vh;
}

#stationNameAlt {
  font-size: 3.5vw;
  font-weight: normal;
  padding-top: 0.75vh;
}

#allRoutes {
  font-size: 3.75vw;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.75vw, 1fr));
  grid-template-rows: 6vw;
  gap: 1.5vw;
  padding-top: 0.5vh;
  padding-left: 0.75vw;
  padding-right: 0.75vw;
  padding-bottom: 1vh;
}

.block {
  background-color: black;
  margin-left: 4vw;
  margin-right: 4vw;
  margin-bottom: 9vh;
  margin-top: 10vh;
}

.station {
  display: grid;
  row-gap: 1vw;
  color: white;
  padding: 1.5vw;
}

.train {
    display: grid;
    row-gap: 1vw;
    color: white;
    padding: 1.5vw;
    font-size: 3.75vw;
}

.trainrow {
    display: grid;
    grid-template-columns: 2.5vw 5.75vw auto 13vw;
    grid-template-rows: 6vw;
    padding-top: 0.25vh;
    padding-left: 0.75vw;
    padding-right: 0.75vw;
    padding-bottom: 0.9vh;
    align-items: center;
    column-gap: 1.45vw;
    border-bottom: 0.2vw solid white;

    
}

.route.circle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    width: 6vw;
    border-radius: 50%;
    vertical-align: middle;
}

.route.circle::before{
    content:'';
    float: left;
    width: auto;
    padding-bottom: 100%;
}

.route.diamond {
  
  font-weight: bold;
  text-align: center;
  transform: translateX(0.5vw)rotate(45deg);
  height: 4.7vw;
  margin: 0;
  aspect-ratio: 1 / 1;
}
.route.diamond > .routeText {
  display: table-cell;
  transform: rotate(-45deg);
  vertical-align: middle;
  height: 4.75vw;
  width: 4.75vw;
}


.trairow > .terminal{
    text-align: left;
}

.trainrow > .eta{
    text-align: right;
}

.trainrow > .service{
  display: none;
}

.misc {
    font-size: min(9pt, 2vw);
    color: #999999;
}

.arrivalyellow {
    color: #FFF57A;
}

.blink {
    -webkit-animation: blink 3s infinite both;
            animation: blink 3s infinite both;
}

@-webkit-keyframes blink {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@keyframes blink {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

/* The following parts are added for the animated footer */

.footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  /* Start hidden (moved down by 100% of its height) */
  transform: translateY(100%);
  transition: transform 0.5s ease-in-out;
}

/* When the footer is visible, reset the transform */
.footer.visible {
  transform: translateY(0);
}