/* Universal arrow icon system: do not let mobile browsers render arrow glyphs as emoji. */
.arrow--right,
.float-buttons a:last-child > span,
.office-location__map-action > span,
.office-location__external-link > span:last-child {
  position: relative;
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  font-size: 0 !important;
  line-height: 0;
}

.arrow--right::before,
.float-buttons a:last-child > span::before,
.office-location__map-action > span::before,
.office-location__external-link > span:last-child::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 13px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%) rotate(-45deg);
  transform-origin: center;
}

.arrow--right::after,
.float-buttons a:last-child > span::after,
.office-location__map-action > span::after,
.office-location__external-link > span:last-child::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  content: "";
  transform: translate(-5%, -95%);
}

.object-carousel__controls button[data-carousel-prev],
.object-carousel__controls button[data-carousel-next] {
  position: relative;
  font-size: 0 !important;
  line-height: 0;
}

.object-carousel__controls button[data-carousel-prev]::before,
.object-carousel__controls button[data-carousel-next]::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
}

.object-carousel__controls button[data-carousel-prev]::after,
.object-carousel__controls button[data-carousel-next]::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
}

.object-carousel__controls button[data-carousel-prev]::after {
  transform: translate(-85%, -50%) rotate(135deg);
}

.object-carousel__controls button[data-carousel-next]::after {
  transform: translate(-15%, -50%) rotate(-45deg);
}

.inline-flow-arrow {
  position: relative;
  display: inline-block;
  width: 0.82em;
  height: 0.64em;
  margin-inline: 0.16em;
  vertical-align: 0.04em;
}

.inline-flow-arrow::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.72em;
  height: 0.06em;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: translateY(-50%);
}

.inline-flow-arrow::after {
  position: absolute;
  top: 50%;
  right: 0.03em;
  width: 0.28em;
  height: 0.28em;
  border-right: 0.06em solid currentColor;
  border-bottom: 0.06em solid currentColor;
  content: "";
  transform: translateY(-50%) rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
  .arrow--right,
  .object-carousel__controls button,
  .inline-flow-arrow {
    transition: none !important;
  }
}
