@font-face {
  font-family: "Garamond";
  src: url("garamond.otf");
}

@font-face {
  font-family: "Garamond";
  src: url("garamonditalics.otf");
  font-style: italic;
}

@font-face {
  font-family: "AvantGarde";
  src: url("avantgarde.ttf");
}

body {
  background-color: black;
  font-family: 'Garamond';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body[data-useragent*='Firefox'] .map svg {
  width: 1200px;
}

body[data-useragent*='Firefox'] .map-story {
  margin-left: 50px;
}

body[data-useragent*='Firefox'] .map-story2 {
  margin-right: -50px;
}

body[data-useragent*='Firefox'] .map {
  margin-left: -100px;
}

body.right-arrow {
  cursor: url("chevron-left.png") -24 20, auto;
}

body.left-arrow {
  cursor: url("chevron-right.png") 24 20, auto;
}

a {
  display: inline-block;
  position: relative;
}

a::after {
  content: '';
  position: absolute;
  left: 0;
  display: inline-block;
  height: 1em;
  width: 100%;
  border-bottom: 1px solid rgba(255,255,255,0.5);
  margin-top: 4px;
}

i {
  font-style: italic;
}

.axis .halo {
  stroke: white;
  stroke-width: 1px;
  stroke-linecap: round;
  fill: none;
}

.slider .handle path {
  stroke: white;
  stroke-width: 4px;
}

.slider .handle text {
  fill: white;
  text-align: center;
  font-size: 17px;
  text-anchor: middle;
}

.tick line {
  stroke: white;
  stroke-width: 1px;
}

.container {
  text-align: center;
  position: absolute;
  height: 1400px;
  width: 100%;
  top: 20px;
  left: 0;
  overflow: hidden;
}

.map {
  width: 1200px;
  display: inline-block;
  position: relative;
}

.map svg {
  padding: 0 50px;
  transform-origin: top left;
}

.copy-header {
  color: white;
  width: 570px;
  display: inline-block;
  margin: 60px 0 40px 0;
  position: relative;
}

.copy-header h1 {
  font-size: 40px;
}

.copy-header p {
  line-height: 1.4em;
  font-size: 20px;
  margin-top: 60px;
  text-align: left;
}

.map-story a, .map-story2 a {
  color: white;
  text-decoration: none;
}

.copy-header-read-more {
  color: white;
  text-decoration: none;
  border-bottom: 2px solid white;
  float: right;
  font-family: 'AvantGarde';
  text-transform: uppercase;
  font-size: 15px;
  position: absolute;
  right: 0;
  bottom: 4px;
}

.copy-header-read-more::after {
  display: none;
}

.city-label {
  fill: white;
  font-size: 15px;
  font-family: 'AvantGarde';
  text-transform: uppercase;
}

.map-story, .map-story2 {
  width: calc(50% - 70px);
  height: 150px;
  position: absolute;
  bottom: 140px;
  color: white;
  text-align: left;
  line-height: 1.6em;
  font-size: 17px;
  z-index: 10;
}

.map-story {
  left: 48px;
  padding-right: 15px;
}

.map-story2 {
  padding-left: 15px;
  right: 48px;
}

.map-story h2, .map-story2 h2 {
  font-family: 'AvantGarde';
  text-transform: uppercase;
  font-size: 15px;
}

.mobile-year {
  text-align: center;
  color: white;
  font-size: 20px;
}

.mobile-arrows {
  display: none;
  position: relative;
  height: 50px;
}

.mobile-arrows-left, .mobile-arrows-right {
  height: 20px;
  width: 20px;
  position: absolute;
  top: 0;
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
}

.mobile-arrows-left {
  background-image: url(mobile-chevron-left.svg);
  left: 30px;
}

.mobile-arrows-right {
  background-image: url(mobile-chevron-right.svg);
  right: 30px;
}

@media only screen and (max-width: 1150px) {
  .map svg {
    transform: scaleX(0.9) scaleY(0.9);
  }
  .map-story, .map-story2 {
    bottom: 200px;
  }
  .map-story {
    left: 42px;
  }
}

@media only screen and (max-width: 1000px) {
  .map svg {
    transform: scaleX(0.8) scaleY(0.8);
  }
  .map-story, .map-story2 {
    bottom: 290px;
  }
}

@media only screen and (max-width: 900px) {
  .map svg {
    transform: scaleX(0.7) scaleY(0.7);
  }
  .map-story, .map-story2 {
    bottom: 350px;
  }
  .map-story {
    left: 32px;
  }
}

@media only screen and (max-width: 800px) {
  .map svg {
    transform: scaleX(0.65) scaleY(0.65);
  }
  .map-svg {
    height: 550px;
  }
  .map-story, .map-story2 {
    position: relative;
    top: 0;
    left: 0;
    margin: 0;
  }
  .slider, .axis {
    display: none;
  }
  .map, .copy-header, .map-story, .map-story2 {
    width: 100%;
  }
  .map, .copy-header {
    padding: 0 30px;
    box-sizing: border-box;
  }
  .copy-header-read-more {
    position: relative;
    margin: auto;
    width: 100%;
    border: 0;
    margin-top: 20px;
    font-size: 11px;
  }
  .copy-header-read-more::after {
    content: '.';
    color: transparent;
    border-bottom: 2px solid white;
    width: 68px;
    position: absolute;
    left: 50%;
    margin-left: -34px;
    margin-top: 4px;
  }
  .copy-header {
    margin-top: 0;
  }
  .copy-header h1 {
    font-size: 24px;
    line-height: 1.2em;
  }
  .copy-header p {
    font-size: 17px;
    margin-top: 20px;
  }
  .mobile-arrows {
    display: block;
  }
  body.right-arrow {
    cursor: auto;
  }

  body.left-arrow {
    cursor: auto;
  }
  .map-story2 {
    padding: 0;
    margin-top: 55px;
  }
}

@media only screen and (max-width: 700px) {
  .map svg {
    transform: scaleX(0.55) scaleY(0.55);
  }
}

@media only screen and (max-width: 600px) {
  .map svg {
    transform: scaleX(0.5) scaleY(0.5);
  }
}

@media only screen and (max-width: 500px) {
  .map svg {
    transform: scaleX(0.35) scaleY(0.35);
    position: relative;
    left: -75px;
  }
  .map-svg {
    height: 250px;
  }
}