@font-face {
    font-family: 'SourceSans';
    src: url('fonts/SourceSansPro-Regular-webfont.eot');
    src: url('fonts/SourceSansPro-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/SourceSansPro-Regular-webfont.woff') format('woff'),
         url('fonts/SourceSansPro-Regular-webfont.ttf') format('truetype'),
         url('fonts/SourceSansPro-Regular-webfont.svg#SourceSans') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'SourceSansBold';
    src: url('fonts/SourceSansPro-Bold-webfont.eot');
    src: url('fonts/SourceSansPro-Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/SourceSansPro-Bold-webfont.woff') format('woff'),
         url('fonts/SourceSansPro-Bold-webfont.ttf') format('truetype'),
         url('fonts/SourceSansPro-Bold-webfont.svg#SourceSansBold') format('svg');
    font-weight: normal;
    font-style: normal;
}

html {
  width: 100%;
}
html, body {
  background-color: #FAFAFA;
  margin: 0;
  padding: 0;
}
body {
  position: relative;
  font-family: 'SourceSans', sans-serif;
  font-size: 100%;
}
.hidden {
    display: none;
}
a, a:visited {
  color: #AEBDC2;
  text-decoration: none;
}
a:hover, a:active {
  color: #1A3F6D;
}

.block {
  position: relative;
  margin: 0 auto;
  width: 100%;
  min-width: 860px;
  max-width: 1200px;
}

h1, h2, h3 {
  color: #AEBDC2;
  font-family: 'SourceSansBold', sans-serif;
}
h1 {
  font-size: 2.2em;
  margin-bottom: .75em;
  line-height: 1em;
}
h2, h3 {
  text-transform: uppercase;
}
h2 {
    font-size: 1.2em;
}
h3 {
  font-size: .9em;
}



/*  District color theme ----- */
circle {
  cursor: pointer;
  stroke-width: 2;
}
/*  Urban Anchor Plus  */
.urbanc, .urbanc li a:hover, .urbanc li a:active {
  color: #1A3F6D;
  fill: rgb(26, 63, 109);
  stroke: #AEBDC2;
}
.urbrei, .urbrei li a:hover, .urbrei li a:active {
  color: #1993F2;
  fill: rgb(25, 147, 242);
  stroke: #AEBDC2;
}
.urbsci, .urbsci li a:hover, .urbsci li a:active {
  color: #1660BC;
  fill: rgb(22, 96, 188);
  stroke: #AEBDC2;
}
.subreg, .subreg li a:hover, .subreg li a:active {
  color: #95288B;
  fill: rgb(149, 40, 139);
  stroke: #AEBDC2;
}
.subsci, .subsci li a:hover, .subsci li a:active {
  color: #CC26BC;
  fill: rgb(204, 38, 188);
  stroke: #AEBDC2;
}
.gtime, .gbubble, .gmap {
  fill-opacity: 1;  /*  .2 for transparency   */
}
.highlight {
  stroke: cyan;
  stroke-width: 3;
}
.dates a.highlight {
  color: #1A3F6D;
}


/*  TIMELINE  ---------------- */
#timeline {
  margin-bottom: 20px;
}
.line {
  display: block;
  position: absolute;
  top: 34px;
  width: 100%;
  height: 1px;
  z-index: 0;
  background-color: #AEBDC2;
}

.time-circles {
  display: block;
  position: relative;
  width: 100%;
  height: 60px;
  z-index: 1;
}
.timescale, .timescale > g {
  width: 100%;
}


table {
  border: none;
}
table.dates {
  width: 100%;
  text-align: center;
  line-height: 0;
  z-index: 50;
}
.dates td {
  padding: 10px 0;
}



/*  BUBBLE CHART  -------- */
#bubble-chart {
  position: absolute;
  width: 350px;
  left: 5px;
  z-index: 5;
}


/*  MAP  -----------------  */
#map-main {
  position: absolute;
  left: 360px;
  right: 0;
  background: #FAFAFA;
  overflow: hidden;
  z-index: 1;
  height: 360px;
}
#map-main svg {
  width: 100%;
  height: 100%;
}
.maps {
  height: 360px;
}
.map {
  position: absolute;
  z-index: 6;
}
.map-circles {
  position: absolute;
  z-index: 10;
}

.country {
  fill: #CBD4D7;
  stroke: #EAEAEA;
}

.district {
  font-size: .8em;
  position: relative;
  z-index: 999;
}
.district.type {
  font-size: .7em;
}


/*  districts info -------------  */

.districts {
  display: block;
  clear: both;
}
.district-list {
  float: left;
  width: 29%;
  margin-bottom: 25px;
}
.district-list h2 {
  margin-bottom: 0;
  margin-top: 0;
  cursor: pointer;
}
.district-list ul {
  list-style-type: none;
  list-style-position: outside;
  text-indent: -1.5em;
  margin: 0;
  margin-bottom: 10px;
}
.district-list a:link, .district-list a:visited {
  color: #000000;
}

.district-info {
  display: block;
  float: right;
  width: 70%;
}
.district-info h3 {
  font-weight: normal;
  float: left;
  clear: left;
  width: 100px;
  margin: 0;
}
.district-info p {
  float: left;
  clear: right;
  margin: 0;
}
.district-info .urbanc, .district-info .urbsci, .district-info .urbrei, .district-info .subsci, .district-info .subreg {
  font-family: 'SourceSansBold', sans-serif;
  font-size: 1.2em;
  font-weight: bold;
  text-transform: uppercase;
}
.district-info img {
  float: right;
  width: 40%;
}
.float-left {
  float: left;
  width: 55%;
}

/*  bounce effect  -------- */
@keyframes bounce {
  0%, 15%, 45%, 75%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  30% {
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
  }

  60% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
circle.highlight {
  animation: bounce .8s;
}

