div.pre-plat.portrait {
  --pid-body-width: calc(var(--width) * 0.92);

  --next-svc-disruption-margin: calc(var(--width) * 0.015);
  --next-svc-disruption-size: calc(var(--width) * 0.05);

  --next-svc-pattern-font: calc(var(--height) * 0.022);
  --next-svc-pattern-letter-spacing: calc(var(--width) * 0.0007);
  --next-svc-pattern-line-height: 1.12;

  --next-svc-pattern-height: calc(var(--height) * 0.55);

  --arrow-length: calc(var(--height) * 0.01);
  --arrow-thickness: calc(var(--stop-column-width) * 0.6);
  --arrow-margin-top: calc(var(--stop-column-width) * 0.5);
  --stop-continuation-marker-height: calc(var(--height) * 0.012);
  --stop-column-width: calc(var(--width) * 0.015);
  --stop-column-margin-right: calc(var(--width) * 0.005);
  --column-bullet-width: calc(var(--width) * 0.01);

  --footer-height: calc(var(--height) * 0.2);
  --footer-m-bottom: calc(var(--height) * 0.01);
  --subsequent-service-width: calc(var(--width) * 0.92);

  --est-time-box-height: calc(var(--height) * 0.035);
  --subsequent-service-count: 4;

  --subsequent-svc-sch-font: calc(var(--height) * 0.021);
  --subsequent-svc-dest-font: calc(var(--height) * 0.021);
  --subsequent-svc-sum-font: calc(var(--height) * 0.015);
  --subsequent-svc-sch-width: calc(var(--width) * 0.2);
  --subsequent-svc-line-colour-width: calc(var(--width) * 0.015);
  --subsequent-svc-plat-width: calc(var(--width) * 0.08);
  --subsequent-svc-plat-padding: calc(var(--height) * 0.003);
  --subsequent-svc-est-time-width: calc(var(--width) * 0.15);
  --subsequent-svc-est-time-margin: calc(var(--width) * 0.01);

  --arrival-font: calc(var(--height) * 0.05);
  --arrival-img-size: calc(var(--width) * 0.3);
  --arrival-img-m-right: 0;
  --arrival-img-m-bottom: calc(var(--width) * 0.04);

  --service-message-padding: calc(var(--width) * 0.05);

  --disruption-hatch-size: 1.5%;
  --disruption-hatch-padding: calc(var(--width) * 0.024);
}

div.pre-plat.portrait span.next-service-platform {
  font-weight: 700;
}

div.pid.pre-plat.portrait tr.subsequent-service td.service-summary {
  display: none;
}

div.pid.pre-plat.portrait div.service-message.arrival {
  flex-direction: column;
}

div.pre-plat.portrait div.clock {
  display: none;
}

div.pre-plat.portrait div.stopping-pattern.row-20 {
  --arrow-length: calc(var(--height) * 0.01);
  --arrow-thickness: calc(var(--stop-column-width) * 0.6);
  --next-svc-pattern-font: calc(var(--height) * 0.0175);
}

div.pid.portrait .msg-size-1 {
  font-size: calc(var(--height) * 0.04);
}

div.pid.portrait .msg-size-2 {
  font-size: calc(var(--height) * 0.058);
}

div.pid.portrait .msg-size-3 {
  font-size: calc(var(--height) * 0.068);
}

div.pid.portrait .msg-size-4 {
  font-size: calc(var(--height) * 0.97);
}

div.pid.portrait .msg-size-5 {
  font-size: calc(var(--height) * 0.12);
}


div.pid.portrait div.next-service-message.msg-size-1 {
  font-size: calc(var(--height) * 0.025);
}

div.pid.portrait div.next-service-message.msg-size-2 {
  font-size: calc(var(--height) * 0.028);
  line-height: 1;
}

div.pid.portrait div.next-service-message.msg-size-3 {
  font-size: calc(var(--height) * 0.03);
}

div.pid.portrait div.next-service-message.msg-size-4 {
  font-size: calc(var(--height) * 0.035);
  line-height: 1;
}

div.pid.portrait div.next-service-message.msg-size-5 {
  font-size: calc(var(--height) * 0.04);
}