.tweet-map {
  padding-left: 75px; }

h2 {
  display: block;
  font-size: 1.5em;
  margin-top: 0.83em;
  margin-bottom: 0.83em;
  margin-left: 0;
  margin-right: 0;
  font-weight: 100;
  color: #3b94d9; }

h4 {
  display: block;
  font-size: 1em;
  margin-top: 0.83em;
  margin-left: 0;
  margin-right: 0;
  font-weight: 100;
  color: #3b94d9; }

.text-gray {
  color: #4a4a4a;
  line-height: 1.2; }

.tab {
  float: left;
  padding: 10px;
  position: relative; }

.tab-active {
  background-color: #3b94d9;
  color: white; }

a {
  text-decoration: none;
  color: #3b94d9; }
  a:hover {
    text-decoration: underline; }

html, body {
  width: 100%;
  height: 100%;
  font-family: "Helvetica", sans-serif;
  overflow: hidden;
  font-size: 16px; }

*, *:before, *:after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box; }

placeholder {
  color: #f5f5f5; }

.mapboxgl-map {
  z-index: 2; }

.plain-button {
  background-color: transparent;
  color: #323232;
  font-size: 16px;
  text-decoration: none;
  cursor: pointer;
  border: none;
  outline: none;
  padding: 0; }

.top-tweets-btn {
  position: relative;
  left: 24px; }

.loading-gfx {
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 48px;
  transform: scale(1.25) translate(-50%, -50%);
  pointer-events: none;
  display: none; }

.loading-warp {
  transform: rotate(30deg) scale(1, 0.5); }

.loading {
  animation: loadingFlip infinite linear 1.5s; }
  .loading circle {
    fill: transparent;
    vector-effect: non-scaling-stroke;
    stroke: #55acee;
    stroke-width: 4px;
    stroke-linecap: round;
    stroke-dasharray: 0 125.66371;
    stroke-dashoffset: 125.66371;
    animation: loadingStroke infinite linear 1s; }
    .loading circle.white-outline {
      stroke: white;
      stroke-width: 6px; }

#sharelink-modal .custom-break {
  margin-left: -45px;
  width: 116%;
  position: relative;
  top: 10px; }

#sharelink-modal .share-link-icon {
  display: inline-block;
  fill: #3b94d9; }

#sharelink-modal #share-link-data {
  height: 32px;
  padding: 0 10px;
  width: 92%;
  float: left; }

#sharelink-modal .btn-sharelink {
  height: 32px;
  width: 32px;
  border: 1px solid #CCCCCC;
  position: relative;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  float: left;
  text-align: center;
  padding: 8px; }
  #sharelink-modal .btn-sharelink:active {
    border: 1px inset; }

#sharelink-modal .share-link-wrapper {
  padding: 12px 0; }
  #sharelink-modal .share-link-wrapper:after {
    content: "";
    clear: both;
    display: block; }

.module-tweet-demo {
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex; }
  .module-tweet-demo.dark .map-left-panel {
    background: #2c2c2c; }
  .module-tweet-demo.dark .dot-label {
    fill: white !important; }
  .module-tweet-demo.dark .axis.y .tick {
    fill: #c7c7c7 !important; }
  .module-tweet-demo.dark .gray-line .line {
    stroke: white !important;
    opacity: .4; }
  .module-tweet-demo.dark .gray-line .area {
    fill: white !important; }
  .module-tweet-demo.dark .logo-omnisci {
    height: 65px;
    margin: 57px 32px 0px -52px;
    background-image: url(../../img/logo-tweet-dark-vertical.svg);
    background-position: 61px 0; }
  .module-tweet-demo.dark .logo-text {
    top: 24px;
    background-image: url(../../img/logo-text-light.svg); }
  .module-tweet-demo.dark .icon.outline {
    stroke: #202020 !important; }
  .module-tweet-demo.dark .map-type button {
    background: #202020; }
  .module-tweet-demo.dark .map-zoom .world-map {
    border-color: #202020 !important;
    background-color: #202020 !important; }
  .module-tweet-demo.dark .pointmap .icon {
    stroke: #202020 !important; }
  .module-tweet-demo.dark .share-icon {
    stroke: #202020; }
  .module-tweet-demo.dark .facebook .share-icon {
    background: #202020 !important; }
  .module-tweet-demo.dark .search-box {
    border: none; }
    .module-tweet-demo.dark .search-box:before, .module-tweet-demo.dark .search-box:after {
      display: none; }
  .module-tweet-demo.dark .tweet-count {
    color: #55acee; }
    .module-tweet-demo.dark .tweet-count .total > span, .module-tweet-demo.dark .tweet-count .by-line > span {
      background: rgba(85, 172, 238, 0.1); }
  .module-tweet-demo.dark .share-block {
    margin-top: 16px; }
  .module-tweet-demo .map-left-panel {
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 736px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative; }
  .module-tweet-demo .tweet-map {
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative;
    z-index: 1;
    overflow: hidden; }
  .module-tweet-demo .tweet-right-panel {
    width: 288px;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background: white; }
  .module-tweet-demo .tweets-panel-showing-container {
    width: 288px;
    height: 44px;
    background-color: white;
    position: fixed;
    bottom: 0px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .module-tweet-demo .tweets-panel-showing {
    font-size: 14px !important;
    right: 54px;
    color: #c7c7c7; }
    .module-tweet-demo .tweets-panel-showing .tweets-panel-showing-all {
      color: #a7a7a7; }
    .module-tweet-demo .tweets-panel-showing .tweets-panel-showing-current {
      color: #868686; }
  .module-tweet-demo .r-panel-header {
    height: 64px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 18px;
    display: -ms-flexbox;
    display: flex;
    padding: 16px 0 0 16px;
    position: relative;
    z-index: 5; }
    .module-tweet-demo .r-panel-header.show-hashtag-label .r-panel-back {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(0); }
    .module-tweet-demo .r-panel-header.show-hashtag-label .panel-label-text {
      display: block; }
    .module-tweet-demo .r-panel-header.show-hashtag-label .label-toggle {
      display: none; }
  .module-tweet-demo .r-panel-back {
    height: 48px;
    position: absolute;
    left: 8px;
    display: none;
    animation: fadeIn .5s; }
  .module-tweet-demo .back-button {
    width: 48px;
    height: 100%;
    padding: 8px; }
    .module-tweet-demo .back-button .icon {
      transform: rotate(180deg); }
  .module-tweet-demo .r-panel-label {
    -ms-flex-positive: 1;
    flex-grow: 1;
    color: #868686; }
  .module-tweet-demo .label-toggle {
    text-transform: uppercase; }
  .module-tweet-demo .toggle {
    float: left; }
    .module-tweet-demo .toggle.reverse {
      direction: rtl; }
  .module-tweet-demo .toggle-button {
    text-align: left;
    opacity: .4;
    white-space: nowrap;
    color: currentColor;
    height: 48px;
    text-transform: uppercase;
    cursor: pointer; }
    .module-tweet-demo .toggle-button:hover {
      opacity: 1; }
    .module-tweet-demo .toggle-button.active {
      cursor: default;
      opacity: 1;
      z-index: 2; }
  .module-tweet-demo .r-panel-body {
    -ms-flex-positive: 1;
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: hidden;
    content: relative;
    -webkit-overflow-scrolling: touch; }
  .module-tweet-demo .header {
    position: absolute;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    z-index: 100;
    top: 0;
    pointer-events: none; }
  .module-tweet-demo .logo {
    height: 64px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 24px;
    color: #c7c7c7;
    pointer-events: auto; }
    .module-tweet-demo .logo img {
      height: 100%; }
  .module-tweet-demo .logo-omnisci {
    height: 64px;
    position: relative;
    margin: 0px 32px 0px -52px;
    width: 135px;
    background-image: url(../../img/logo-tweet-light-vertical.svg);
    background-repeat: no-repeat;
    background-position: 52px 0; }
  .module-tweet-demo .logo-text {
    height: 24px;
    top: 10px;
    fill: white;
    margin-left: -32px;
    margin-right: 10px;
    position: relative;
    width: 130px;
    background-image: url(../../img/logo-text-dark.svg);
    background-repeat: no-repeat; }
  .module-tweet-demo #tab1 {
    font-size: 18px; }
  .module-tweet-demo .search {
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center; }
  .module-tweet-demo .search-box {
    min-height: 48px;
    max-width: 720px;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 16px 0 0 0;
    border-bottom: 1px solid #c7c7c7;
    position: relative;
    pointer-events: auto; }
    .module-tweet-demo .search-box:before, .module-tweet-demo .search-box:after {
      content: "";
      height: 8px;
      width: 1px;
      background: #c7c7c7;
      position: absolute;
      bottom: -1px; }
    .module-tweet-demo .search-box:before {
      left: -1px; }
    .module-tweet-demo .search-box:after {
      right: -1px; }
    .module-tweet-demo .search-box input {
      width: 100%;
      border: none;
      font-size: 12px;
      pointer-events: auto;
      outline: none;
      height: 48px;
      padding: 0 28px 0 48px;
      background: none; }
      .module-tweet-demo .search-box input:focus + .search-box-bg {
        background: white; }
      @media only screen and (min-width: 1080px) {
        .module-tweet-demo .search-box input {
          font-size: 14px; } }
      @media only screen and (min-width: 1120px) {
        .module-tweet-demo .search-box input {
          font-size: 16px; } }
      @media only screen and (min-width: 1200px) {
        .module-tweet-demo .search-box input {
          font-size: 20px; } }
    .module-tweet-demo .search-box:hover .search-box-bg {
      background: white; }
  .module-tweet-demo .search-pill {
    display: inline-block;
    font-size: 18px;
    color: #3b94d9;
    border-radius: 2px;
    padding: 8px;
    margin: 0 4px;
    position: relative;
    font-weight: bold;
    cursor: pointer;
    animation: zoomBtnScaleIn .5s; }
    .module-tweet-demo .search-pill:hover:after {
      content: "";
      width: 100%;
      height: 2px;
      background: #3b94d9;
      top: 50%;
      left: 0;
      position: absolute; }
  .module-tweet-demo .search-box-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background: white;
    z-index: -1;
    top: 0; }
  .module-tweet-demo .icon-search {
    width: 48px;
    height: 48px;
    padding: 8px;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none; }
  .module-tweet-demo .icon-search-clear {
    width: 28px;
    height: 28px;
    padding: 0;
    position: absolute;
    right: 4px;
    top: 6px;
    transform: scale(0);
    transition: transform .25s; }
    .module-tweet-demo .icon-search-clear.show-clear {
      transform: scale(1); }
  .module-tweet-demo .icon {
    display: block;
    width: 100%;
    height: 100%;
    fill: #a7a7a7; }
  .module-tweet-demo .r-panel-content {
    margin: 0 8px 24px 8px;
    position: relative;
    display: none; }
    .module-tweet-demo .r-panel-content.hashtags-panel {
      margin: 0 16px 24px 16px; }
    .module-tweet-demo .r-panel-content.hide-panel {
      top: 0;
      display: none; }
      .module-tweet-demo .r-panel-content.hide-panel.recedeOut {
        animation: recedeOut .3s; }
      .module-tweet-demo .r-panel-content.hide-panel.slideOut {
        z-index: 2;
        animation: slideOut .5s; }
    .module-tweet-demo .r-panel-content.show-panel {
      display: block;
      animation: fadeIn .5s; }
      .module-tweet-demo .r-panel-content.show-panel.slideIn {
        z-index: 2;
        top: 64px;
        position: absolute;
        animation: slideIn .5s; }
      .module-tweet-demo .r-panel-content.show-panel.recedeIn {
        z-index: 1;
        top: 64px;
        position: absolute;
        animation: recedeIn .5s; }
  .module-tweet-demo .panel-label-text {
    overflow-x: hidden;
    text-overflow: ellipsis;
    position: relative;
    bottom: 8px;
    color: #a7a7a7; }
  .module-tweet-demo .white-curtain {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: white;
    pointer-events: none;
    opacity: 0;
    transition: opacity 1s;
    display: none !important; }
    .module-tweet-demo .white-curtain.close-curtain {
      opacity: 1;
      transition: none; }
  .module-tweet-demo .hashtag-dc-chart {
    height: 0px !important; }
  .module-tweet-demo .tweets-dc-chart {
    height: 0px !important; }
  .module-tweet-demo #map-chart.dc-chart {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    transform: scale(1); }
    .module-tweet-demo #map-chart.dc-chart.map-zoom-in {
      animation: mapZoomIn 2s;
      transition: all 2s;
      animation: fadeOut 2s;
      pointer-events: none; }
      .module-tweet-demo #map-chart.dc-chart.map-zoom-in .shape-outline.show-outline {
        display: none !important; }
    .module-tweet-demo #map-chart.dc-chart.map-zoom-out {
      animation: mapZoomOut 1s;
      pointer-events: none; }
    .module-tweet-demo #map-chart.dc-chart.map-scale-into {
      animation: scaleMapInto 1s;
      pointer-events: none; }
    .module-tweet-demo #map-chart.dc-chart.map-scale-in {
      animation: showMap 1s;
      pointer-events: none; }
    .module-tweet-demo #map-chart.dc-chart.over-zoomed {
      animation: overZoomed .25s;
      pointer-events: none; }
    .module-tweet-demo #map-chart.dc-chart .country, .module-tweet-demo #map-chart.dc-chart .admin1, .module-tweet-demo #map-chart.dc-chart .admin2 {
      vector-effect: non-scaling-stroke; }
      .module-tweet-demo #map-chart.dc-chart .country path, .module-tweet-demo #map-chart.dc-chart .admin1 path, .module-tweet-demo #map-chart.dc-chart .admin2 path {
        stroke-linejoin: miter;
        stroke-miterlimit: 0;
        stroke: white;
        stroke-width: .75px; }
      .module-tweet-demo #map-chart.dc-chart .country.selected path, .module-tweet-demo #map-chart.dc-chart .admin1.selected path, .module-tweet-demo #map-chart.dc-chart .admin2.selected path {
        stroke: inherit; }
      .module-tweet-demo #map-chart.dc-chart .country.deselected path, .module-tweet-demo #map-chart.dc-chart .admin1.deselected path, .module-tweet-demo #map-chart.dc-chart .admin2.deselected path {
        fill-opacity: 1;
        fill: #e2e2e2;
        stroke: white;
        stroke-width: .75px; }
      .module-tweet-demo #map-chart.dc-chart .country:hover path, .module-tweet-demo #map-chart.dc-chart .admin1:hover path, .module-tweet-demo #map-chart.dc-chart .admin2:hover path {
        stroke: white;
        stroke-width: .75px; }
    .module-tweet-demo #map-chart.dc-chart .country-bg, .module-tweet-demo #map-chart.dc-chart .admin1-bg, .module-tweet-demo #map-chart.dc-chart .admin2-bg {
      vector-effect: non-scaling-stroke; }
      .module-tweet-demo #map-chart.dc-chart .country-bg path, .module-tweet-demo #map-chart.dc-chart .admin1-bg path, .module-tweet-demo #map-chart.dc-chart .admin2-bg path {
        stroke: #3b94d9;
        stroke-width: 2.5px;
        animation: fadeIn 1s; }
    .module-tweet-demo #map-chart.dc-chart .country-bg {
      display: none; }
    .module-tweet-demo #map-chart.dc-chart .country-label, .module-tweet-demo #map-chart.dc-chart .admin1-label, .module-tweet-demo #map-chart.dc-chart .admin2-label {
      fill: white;
      font-size: 20px;
      text-anchor: middle;
      opacity: 0;
      transition: opacity .5s;
      pointer-events: none;
      letter-spacing: 1px;
      font-weight: 300; }
      .module-tweet-demo #map-chart.dc-chart .country-label .outline, .module-tweet-demo #map-chart.dc-chart .admin1-label .outline, .module-tweet-demo #map-chart.dc-chart .admin2-label .outline {
        stroke: #3b94d9;
        stroke-width: 3px;
        stroke-opacity: .96; }
      .module-tweet-demo #map-chart.dc-chart .country-label .label-wrapper, .module-tweet-demo #map-chart.dc-chart .admin1-label .label-wrapper, .module-tweet-demo #map-chart.dc-chart .admin2-label .label-wrapper {
        transform: scale(0.6);
        transition: transform .2s .25s; }
      .module-tweet-demo #map-chart.dc-chart .country-label.show-label, .module-tweet-demo #map-chart.dc-chart .admin1-label.show-label, .module-tweet-demo #map-chart.dc-chart .admin2-label.show-label {
        opacity: 1;
        transition-delay: .15s; }
        .module-tweet-demo #map-chart.dc-chart .country-label.show-label .label-wrapper, .module-tweet-demo #map-chart.dc-chart .admin1-label.show-label .label-wrapper, .module-tweet-demo #map-chart.dc-chart .admin2-label.show-label .label-wrapper {
          transform: scale(1); }
      .module-tweet-demo #map-chart.dc-chart .country-label.nz, .module-tweet-demo #map-chart.dc-chart .country-label.chukchiautonomousokrug, .module-tweet-demo #map-chart.dc-chart .admin1-label.nz, .module-tweet-demo #map-chart.dc-chart .admin1-label.chukchiautonomousokrug, .module-tweet-demo #map-chart.dc-chart .admin2-label.nz, .module-tweet-demo #map-chart.dc-chart .admin2-label.chukchiautonomousokrug {
        text-anchor: end; }
      .module-tweet-demo #map-chart.dc-chart .country-label .label-offset, .module-tweet-demo #map-chart.dc-chart .admin1-label .label-offset, .module-tweet-demo #map-chart.dc-chart .admin2-label .label-offset {
        transform: translate(0%, 100%); }
    .module-tweet-demo #map-chart.dc-chart .shape-outline {
      stroke: #3b94d9;
      stroke-width: 0;
      fill: transparent;
      pointer-events: none;
      vector-effect: non-scaling-stroke;
      opacity: 0; }
      .module-tweet-demo #map-chart.dc-chart .shape-outline.show-outline {
        opacity: 1;
        stroke-width: 1.5;
        stroke-dasharray: 4px 4px;
        animation: movingOutline infinite linear 1s; }
        .module-tweet-demo #map-chart.dc-chart .shape-outline.show-outline.solid-stroke {
          stroke-dasharray: none;
          animation: none; }
    .module-tweet-demo #map-chart.dc-chart .shape-outline-selected {
      stroke: #3b94d9;
      stroke-width: 0;
      fill: transparent;
      pointer-events: none;
      vector-effect: non-scaling-stroke;
      opacity: 0; }
      .module-tweet-demo #map-chart.dc-chart .shape-outline-selected.show-outline {
        opacity: 1;
        stroke-width: 1px; }
      .module-tweet-demo #map-chart.dc-chart .shape-outline-selected.white-stroke {
        stroke: white; }
  .module-tweet-demo .tweet-bottom-group {
    position: absolute;
    bottom: 0;
    z-index: 105;
    width: 100%; }
  .module-tweet-demo .bottom-control {
    background: white;
    min-height: 32px;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    height: auto !important; }
  .module-tweet-demo .legend-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: 100%; }
  .module-tweet-demo .legend-dropdown {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    min-height: 44px;
    border-right: 1px solid #c7c7c7;
    border-top: 1px solid #c7c7c7; }
    .module-tweet-demo .legend-dropdown select {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      line-height: 32px;
      opacity: 0;
      cursor: pointer; }
  .module-tweet-demo .legend-title {
    font-weight: bold;
    font-size: 13px;
    color: #868686;
    text-transform: uppercase;
    padding: 0 16px 0 16px;
    line-height: 1.3;
    -ms-flex-item-align: center;
    align-self: center; }
  .module-tweet-demo .legend-dropdown-btn {
    display: -ms-flexbox;
    display: flex;
    padding-left: 16px;
    font-size: 13px;
    color: #868686;
    font-weight: bold;
    text-transform: uppercase;
    -ms-flex-align: center;
    align-items: center; }
    .module-tweet-demo .legend-dropdown-btn .icon-dropdown {
      height: 32px;
      width: 24px;
      fill: #a7a7a7;
      padding: 4px; }
  .module-tweet-demo .legend-item {
    display: -ms-flexbox;
    display: flex;
    padding: 8px 12px;
    cursor: pointer;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
    .module-tweet-demo .legend-item.others {
      pointer-events: none; }
    .module-tweet-demo .legend-item.deselected {
      opacity: .2; }
    .module-tweet-demo .legend-item:hover {
      background: #f5f5f5;
      opacity: 1; }
  .module-tweet-demo .legend-label {
    font-size: 12px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap; }
    .module-tweet-demo .legend-label .legend-name {
      font-weight: bold;
      margin-bottom: 4px; }
  .module-tweet-demo .legend-color {
    width: 12px;
    height: 12px;
    background: #e2e2e2;
    margin-right: 8px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border: 1px solid #e2e2e2; }
  .module-tweet-demo .legend-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-positive: 1;
    flex-grow: 1;
    overflow-y: hidden;
    overflow-x: auto;
    -ms-flex-align: center;
    align-items: center;
    -webkit-overflow-scrolling: touch; }
    .module-tweet-demo .legend-wrapper.align-center {
      -ms-flex-pack: center;
      justify-content: center; }
  .module-tweet-demo .legend-wrapper-inner {
    display: -ms-flexbox;
    display: flex; }
  .module-tweet-demo #time-chart.dc-chart .dragger {
    pointer-events: none;
    fill: black;
    opacity: 0;
    transition: opacity .25s; }
  .module-tweet-demo #time-chart.dc-chart .date-slider, .module-tweet-demo #time-chart.dc-chart .stem {
    fill: #3b94d9; }
  .module-tweet-demo #time-chart.dc-chart .chart-body {
    -webkit-clip-path: none;
    clip-path: none; }
  .module-tweet-demo #time-chart.dc-chart .gray-line .line {
    stroke: black;
    opacity: .1; }
  .module-tweet-demo #time-chart.dc-chart .gray-line .area {
    fill: black;
    opacity: .2; }
  .module-tweet-demo #time-chart.dc-chart .blue-line .area {
    opacity: .9; }
  .module-tweet-demo #time-chart.dc-chart .brush .background {
    display: none; }
  .module-tweet-demo #time-chart.dc-chart .brush:hover .dragger {
    opacity: .2; }
  .module-tweet-demo #time-chart.dc-chart .resize {
    display: block !important; }
    .module-tweet-demo #time-chart.dc-chart .resize text {
      fill: white;
      font-size: 12px;
      text-anchor: middle; }
  .module-tweet-demo #time-chart.dc-chart .dot {
    opacity: 0; }
    .module-tweet-demo #time-chart.dc-chart .dot:hover, .module-tweet-demo #time-chart.dc-chart .dot.active {
      opacity: 1; }
      .module-tweet-demo #time-chart.dc-chart .dot:hover .dot-label, .module-tweet-demo #time-chart.dc-chart .dot.active .dot-label {
        opacity: 1; }
    .module-tweet-demo #time-chart.dc-chart .dot circle {
      stroke: white;
      stroke-width: 2px;
      fill: #55acee !important;
      display: block !important; }
    .module-tweet-demo #time-chart.dc-chart .dot .dot-label {
      pointer-events: none;
      text-anchor: middle;
      font-size: 10px;
      fill: #868686;
      opacity: 0; }
      .module-tweet-demo #time-chart.dc-chart .dot .dot-label .value {
        font-weight: bold;
        font-size: 12px;
        fill: #3b94d9; }
      .module-tweet-demo #time-chart.dc-chart .dot .dot-label .value-outline {
        font-weight: bold;
        font-size: 12px;
        stroke: white;
        stroke-width: 3px;
        stroke-miterlimit: 0; }
      .module-tweet-demo #time-chart.dc-chart .dot .dot-label.left-align {
        text-anchor: start; }
  .module-tweet-demo #time-chart.dc-chart .yRef, .module-tweet-demo #time-chart.dc-chart .xRef {
    stroke: #a7a7a7;
    stroke-opacity: 1 !important;
    stroke-width: 1px;
    stroke-dasharray: 4px 4px;
    shape-rendering: crispEdges;
    display: none; }
  .module-tweet-demo #time-chart.dc-chart.animate-intro .stack-list {
    animation: showTimeLine .75s;
    transform: scaleY(1);
    transform-origin: 50% 64px; }
  .module-tweet-demo #time-chart.dc-chart .line {
    stroke: #55acee;
    stroke-width: 2px;
    vector-effect: non-scaling-stroke; }
  .module-tweet-demo #time-chart.dc-chart .area {
    fill: #55acee;
    fill-opacity: .4; }
  .module-tweet-demo #time-chart.dc-chart .axis.x {
    display: none; }
  .module-tweet-demo #time-chart.dc-chart .axis.y .tick {
    fill: #868686; }
    .module-tweet-demo #time-chart.dc-chart .axis.y .tick line {
      stroke: #a7a7a7; }
    .module-tweet-demo #time-chart.dc-chart .axis.y .tick:first-child {
      display: none; }
  .module-tweet-demo #time-chart.dc-chart .axis.y .domain {
    display: none; }
  .module-tweet-demo .panel-dc-chart.dc-chart:hover g.row {
    opacity: .4; }
  .module-tweet-demo .panel-dc-chart.dc-chart.no-hashtags svg {
    display: none; }
  .module-tweet-demo .panel-dc-chart.dc-chart.no-hashtags:after {
    content: "No matching hashtags.";
    font-size: 13px; }
  .module-tweet-demo .panel-dc-chart.dc-chart.no-tweets:after {
    content: "No matching tweets.";
    font-size: 13px;
    padding-left: 8px; }
  .module-tweet-demo .panel-dc-chart.dc-chart .axis {
    display: none; }
  .module-tweet-demo .panel-dc-chart.dc-chart g.row {
    transition: opacity .25s; }
    .module-tweet-demo .panel-dc-chart.dc-chart g.row text.row {
      font-weight: bold;
      font-size: 14px;
      fill: #3b94d9; }
    .module-tweet-demo .panel-dc-chart.dc-chart g.row text.titlerow {
      fill: #868686; }
    .module-tweet-demo .panel-dc-chart.dc-chart g.row rect.bar {
      fill-opacity: 1; }
    .module-tweet-demo .panel-dc-chart.dc-chart g.row rect.hitbox {
      fill: transparent; }
    .module-tweet-demo .panel-dc-chart.dc-chart g.row:hover {
      opacity: 1; }
    .module-tweet-demo .panel-dc-chart.dc-chart g.row.deselected text.row {
      fill: #a7a7a7;
      display: block; }
    .module-tweet-demo .panel-dc-chart.dc-chart g.row.deselected rect.bar {
      fill: #c7c7c7; }
  .module-tweet-demo .tweet-count {
    position: absolute;
    right: 100px;
    bottom: 100%;
    text-align: right;
    padding: 8px 4px;
    color: #3b94d9;
    display: none;
    height: auto !important; }
    .module-tweet-demo .tweet-count .total {
      font-weight: bold;
      font-size: 32px;
      margin-bottom: 2px; }
    .module-tweet-demo .tweet-count .by-line {
      font-size: 13px;
      margin-top: 3px; }
    .module-tweet-demo .tweet-count .total > span, .module-tweet-demo .tweet-count .by-line > span {
      background: white;
      padding: 0 4px; }
  .module-tweet-demo .tweet {
    padding: 8px 8px 4px 8px;
    font-size: 12px; }
  .module-tweet-demo .tweet-top {
    display: -ms-flexbox;
    display: flex; }
  .module-tweet-demo .tweet-user-photo {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    background-size: 32px 32px;
    background-repeat: no-repeat;
    width: 32px;
    height: 32px;
    overflow: hidden;
    background: #e2e2e2; }
    .module-tweet-demo .tweet-user-photo img {
      display: none; }
  .module-tweet-demo .tweet-body {
    padding-left: 8px;
    line-height: 1.2;
    padding-bottom: 6px; }
    .module-tweet-demo .tweet-body .name {
      font-weight: bold;
      color: #3b94d9;
      cursor: pointer; }
      .module-tweet-demo .tweet-body .name:hover {
        color: #9266CC; }
    .module-tweet-demo .tweet-body .time {
      color: #a7a7a7;
      font-size: 11px; }
    .module-tweet-demo .tweet-body .user-info {
      margin-bottom: 2px; }
  .module-tweet-demo .tweet-media img {
    width: 100%; }
  .module-tweet-demo .tweet-link {
    text-decoration: none;
    color: #3b94d9; }
    .module-tweet-demo .tweet-link:hover {
      text-decoration: underline; }
  .module-tweet-demo .map-controls {
    position: absolute;
    left: 0;
    top: 64px;
    width: 64px;
    padding: 48px 0 0 16px;
    z-index: 101; }
    .module-tweet-demo .map-controls svg, .module-tweet-demo .map-controls .world-map {
      position: relative;
      z-index: 2; }
    .module-tweet-demo .map-controls button, .module-tweet-demo .map-controls .goto-location {
      position: relative;
      display: block; }
      .module-tweet-demo .map-controls button:hover .button-label, .module-tweet-demo .map-controls .goto-location:hover .button-label {
        opacity: 1;
        pointer-events: auto;
        transition: all .25s;
        transform: translate(0, -50%); }
  .module-tweet-demo .goto-location.show-input .location-input {
    opacity: 1;
    pointer-events: auto;
    width: 240px; }
  .module-tweet-demo .goto-location.show-input .button-label {
    opacity: 0 !important;
    transform: translate(-16px, -50%) !important; }
  .module-tweet-demo .location-input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    width: 160px;
    transition: all .25s;
    background: white;
    border-bottom: 1px solid #c7c7c7; }
    .module-tweet-demo .location-input input {
      height: 40px;
      width: 240px;
      padding: 0 32px 0 36px;
      border: none;
      font-size: 16px;
      outline: none;
      background: transparent;
      box-shadow: none !important; }
      .module-tweet-demo .location-input input:not(:valid) ~ .clear-input {
        transform: scale(0); }
    .module-tweet-demo .location-input:before, .module-tweet-demo .location-input:after {
      height: 8px;
      width: 1px;
      background: #c7c7c7;
      content: "";
      position: absolute;
      bottom: -1px; }
    .module-tweet-demo .location-input:before {
      left: -1px; }
    .module-tweet-demo .location-input:after {
      right: -1px; }
  .module-tweet-demo .button-label {
    position: absolute;
    display: block;
    left: 32px;
    font-size: 12px;
    top: 50%;
    white-space: nowrap;
    background: white;
    padding: 2px 4px;
    color: #3b94d9;
    transition: all .15s;
    opacity: 0;
    pointer-events: none;
    transform: translate(-16px, -50%); }
  .module-tweet-demo .map-zoom {
    position: relative;
    padding-top: 4px; }
    .module-tweet-demo .map-zoom button, .module-tweet-demo .map-zoom .goto-location {
      display: block;
      width: 32px;
      height: 32px;
      margin-left: 4px;
      position: absolute;
      cursor: pointer;
      top: 0;
      transition: all .5s; }
      .module-tweet-demo .map-zoom button .icon, .module-tweet-demo .map-zoom .goto-location .icon {
        position: absolute;
        top: 0;
        left: 0; }
        .module-tweet-demo .map-zoom button .icon.outline, .module-tweet-demo .map-zoom .goto-location .icon.outline {
          stroke: white;
          stroke-width: 6px; }
      .module-tweet-demo .map-zoom button .world-map, .module-tweet-demo .map-zoom .goto-location .world-map {
        background: url(../../img/globe.svg) white;
        background-position: -2px -2px;
        background-size: 28px 28px; }
      .module-tweet-demo .map-zoom button:hover .icon, .module-tweet-demo .map-zoom .goto-location:hover .icon {
        fill: #55acee; }
      .module-tweet-demo .map-zoom button:hover .world-map, .module-tweet-demo .map-zoom .goto-location:hover .world-map {
        background-image: url(../../img/globe-blue.svg); }
      .module-tweet-demo .map-zoom button:nth-child(2), .module-tweet-demo .map-zoom .goto-location:nth-child(2) {
        transform: translateY(48px); }
      .module-tweet-demo .map-zoom button:nth-child(3), .module-tweet-demo .map-zoom .goto-location:nth-child(3) {
        transform: translateY(100px); }
    .module-tweet-demo .map-zoom .world-map {
      width: 24px;
      height: 24px;
      background: #a7a7a7;
      border-radius: 50%;
      margin: 0 0 0 2px;
      border: 2px solid white;
      box-sizing: content-box; }
    .module-tweet-demo .map-zoom.choropleth .user-location button, .module-tweet-demo .map-zoom.choropleth .goto-location {
      opacity: 0;
      pointer-events: none;
      transform: translateX(0); }
    .module-tweet-demo .map-zoom.choropleth .zoomto-worldmap {
      transform: translateX(0); }
  .module-tweet-demo .map-type button {
    width: 40px;
    height: 40px;
    display: block;
    margin-bottom: 16px;
    background: white; }
    .module-tweet-demo .map-type button .button-label {
      left: 44px; }
    .module-tweet-demo .map-type button.pointmap .icon {
      stroke: white;
      stroke-width: 2px; }
    .module-tweet-demo .map-type button.active, .module-tweet-demo .map-type button:hover {
      border: 2px solid #55acee; }
      .module-tweet-demo .map-type button.active.choropleth .icon, .module-tweet-demo .map-type button:hover.choropleth .icon {
        fill: #55acee !important; }
      .module-tweet-demo .map-type button.active.pointmap .icon, .module-tweet-demo .map-type button:hover.pointmap .icon {
        fill: #55acee !important; }
  .module-tweet-demo .node {
    display: none; }
    .module-tweet-demo .node circle {
      fill: #55acee;
      fill-opacity: 1;
      stroke: white;
      transform: scale(1);
      transition: transform .25s; }
    .module-tweet-demo .node:hover circle, .module-tweet-demo .node.active circle {
      fill: #f5d077;
      fill-opacity: 1;
      transform: scale(2); }
  .module-tweet-demo .node-highlight {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 101;
    pointer-events: none;
    transform: translate(-50%, -50%);
    margin-left: 75px; }
    .module-tweet-demo .node-highlight svg {
      display: block; }
    .module-tweet-demo .node-highlight circle {
      fill: #f5d077;
      stroke: white;
      transform: scale(0);
      transition: transform .15s; }
    .module-tweet-demo .node-highlight.show-node-hl circle {
      animation: nodeHLShow .25s;
      transform: scale(2);
      transition: none; }
  .module-tweet-demo .node-hl-g {
    transform: translate(8px, 8px); }
  .module-tweet-demo .map-div {
    z-index: 1; }
  .module-tweet-demo .map-div.show-dots .node {
    display: block; }
    .module-tweet-demo .map-div.show-dots .node.animate:nth-child(5n+1) .node-transform {
      animation: showNode .5s; }
    .module-tweet-demo .map-div.show-dots .node.animate:nth-child(5n+2) .node-transform {
      animation: showNode .6s; }
    .module-tweet-demo .map-div.show-dots .node.animate:nth-child(5n+3) .node-transform {
      animation: showNode .8s; }
    .module-tweet-demo .map-div.show-dots .node.animate:nth-child(5n+4) .node-transform {
      animation: showNode 1s; }
    .module-tweet-demo .map-div.show-dots .node.animate:nth-child(5n+5) .node-transform {
      animation: showNode 1.25s; }
  .module-tweet-demo .map-div.show-dots .node-transform {
    transform: scale(1); }
  .module-tweet-demo .mapboxgl-attribution {
    position: absolute;
    transform: rotate(-90deg);
    transform-origin: 50% 53%;
    right: -75px;
    top: 50%;
    font-size: 10px;
    color: #a7a7a7;
    padding: 2px 4px;
    z-index: 101;
    letter-spacing: 1px;
    word-spacing: 4px; }
  .module-tweet-demo .mapboxgl-attribution span {
    margin-right: -5px; }
  .module-tweet-demo .mapboxgl-attribution a:link, .module-tweet-demo a:visited {
    color: #a7a7a7;
    padding-right: 7px; }
  .module-tweet-demo .mapboxgl-attribution a:hover {
    text-decoration: none; }
  .module-tweet-demo .mapboxgl-canvas {
    cursor: pointer; }
  .module-tweet-demo .mapboxgl-control-container {
    display: none; }
  .module-tweet-demo .tweet-popup {
    position: absolute;
    display: none;
    z-index: 102;
    width: 280px;
    pointer-events: none;
    padding: 16px 0;
    perspective: 1000px;
    transform: translate(-50%, -100%); }
    .module-tweet-demo .tweet-popup .tweet {
      background: rgba(85, 172, 238, 0.2);
      pointer-events: auto; }
    .module-tweet-demo .tweet-popup.show-popup {
      display: block; }
    .module-tweet-demo .tweet-popup.pop-in .tweet-popup-inner {
      animation: showTweetPopup .35s; }
    .module-tweet-demo .tweet-popup.pop-out .tweet-popup-inner {
      animation: hideTweetPopup .25s; }
    .module-tweet-demo .tweet-popup.low-pos {
      transform: translate(-50%, 0); }
      .module-tweet-demo .tweet-popup.low-pos.pop-in .tweet-popup-inner {
        animation: showTweetPopupLow .35s; }
      .module-tweet-demo .tweet-popup.low-pos.pop-out .tweet-popup-inner {
        opacity: 0;
        animation: hideTweetPopupLow .25s; }
  .module-tweet-demo .tweet-popup-inner {
    background: white;
    border-radius: 2px;
    overflow: hidden; }
  .module-tweet-demo .clear-input {
    position: absolute;
    width: 32px;
    height: 32px;
    right: 2px;
    top: 4px;
    padding: 4px;
    cursor: pointer;
    transform: scale(1);
    transition: transform .25s; }
    .module-tweet-demo .clear-input .icon {
      position: relative !important;
      fill: #a7a7a7 !important; }
    .module-tweet-demo .clear-input:hover .icon {
      fill: #55acee !important; }
  .module-tweet-demo .user-location {
    position: relative; }
    .module-tweet-demo .user-location .loading-gfx {
      transform: scale(0.8);
      top: -18px;
      left: -3px; }
  .module-tweet-demo .zoom-region {
    pointer-events: none;
    position: absolute;
    transform: translate(-50%, 0);
    transition: width .25s;
    overflow: hidden;
    width: 22px;
    margin-left: 75px; }
    .module-tweet-demo .zoom-region button {
      background: white;
      padding: 2px 4px 2px 2px;
      white-space: nowrap;
      font-size: 13px;
      transform: scale(0);
      width: 22px;
      overflow: hidden;
      transition: transform .25s;
      color: #868686; }
    .module-tweet-demo .zoom-region:hover {
      width: 80px; }
      .module-tweet-demo .zoom-region:hover button {
        width: auto; }
      .module-tweet-demo .zoom-region:hover .zoom-r-label {
        opacity: 1; }
      .module-tweet-demo .zoom-region:hover .icon {
        fill: #3b94d9; }
    .module-tweet-demo .zoom-region.show-zoom-btn {
      pointer-events: auto; }
      .module-tweet-demo .zoom-region.show-zoom-btn button {
        transform: scale(1);
        color: #3b94d9; }
      .module-tweet-demo .zoom-region.show-zoom-btn .zoom-r-label {
        display: inline; }
      .module-tweet-demo .zoom-region.show-zoom-btn.zoom-btn-scale-in button {
        animation: zoomBtnScaleIn .25s; }
  .module-tweet-demo .zoom-r-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: -4px;
    transform: scaleX(-1); }
    .module-tweet-demo .zoom-r-icon .icon {
      display: block; }
  .module-tweet-demo .zoom-r-line {
    stroke: #3b94d9; }
  .module-tweet-demo .zoom-r-label {
    opacity: 0;
    display: none; }
  .module-tweet-demo .region-name {
    height: 80px;
    top: -80px;
    left: 0;
    position: absolute;
    pointer-events: none;
    opacity: 0;
    transition: all .5s;
    transition-delay: 0;
    display: -ms-flexbox;
    display: flex;
    transform: translate(-160px, 0); }
    .module-tweet-demo .region-name.show-region-name {
      opacity: 1;
      transition-delay: .5s;
      transition-duration: 1s;
      transform: translate(0, 0); }
  .module-tweet-demo .region-back-button {
    width: 64px;
    height: 64px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 8px;
    margin-left: 8px;
    transform: rotate(180deg);
    margin-right: 8px;
    pointer-events: auto; }
    .module-tweet-demo .region-back-button:hover .icon {
      fill: #55acee; }
  .module-tweet-demo .region-name-label {
    width: 640px;
    height: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
    .module-tweet-demo .region-name-label svg {
      width: 100%;
      height: 100%; }
    .module-tweet-demo .region-name-label text {
      fill: white;
      font-size: 64px;
      font-weight: bold;
      stroke: #3b94d9;
      stroke-width: 2px; }
  .module-tweet-demo .share-block {
    margin-top: 0;
    position: relative;
    padding: 8px 16px 0 16px; }
  .module-tweet-demo .learn-more {
    display: block;
    font-size: 12px;
    font-weight: bold;
    height: 32px;
    background: #3b94d9;
    border-radius: 2px;
    padding: 0 12px;
    line-height: 32px;
    color: white;
    position: relative;
    pointer-events: auto;
    overflow: hidden;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4); }
    .module-tweet-demo .learn-more:visited {
      color: white; }
    .module-tweet-demo .learn-more:hover {
      text-decoration: none; }
    .module-tweet-demo .learn-more:active {
      box-shadow: none;
      background: none;
      border: 2px solid #3b94d9;
      color: #3b94d9;
      line-height: 30px;
      padding: 0 10px; }
      .module-tweet-demo .learn-more:active .shine {
        animation: none; }
    .module-tweet-demo .learn-more .shine {
      height: 48px;
      width: 48px;
      background: rgba(255, 255, 255, 0.5);
      top: 50%;
      left: 0;
      position: absolute;
      transform: rotate(15deg) translate(0, -50%) scaleX(0);
      animation: shinyButton 60s 15s infinite; }
  .module-tweet-demo .share-screen {
    position: absolute;
    top: 61px;
    right: 18px;
    cursor: pointer; }
  .module-tweet-demo .share-buttons {
    position: absolute;
    left: 64px;
    top: -40px; }
    .module-tweet-demo .share-buttons .share-button {
      position: absolute;
      display: block;
      -ms-flex-align: center;
      -ms-grid-row-align: center;
      align-items: center;
      height: 32px;
      width: 32px;
      margin: 0 8px;
      pointer-events: auto;
      padding: 1px;
      right: 5px;
      outline: none; }
      .module-tweet-demo .share-buttons .share-button .icon {
        fill: #c7c7c7; }
      .module-tweet-demo .share-buttons .share-button:hover .share-label {
        opacity: 1;
        transform: translate(36px, -50%); }
      .module-tweet-demo .share-buttons .share-button:hover .icon {
        fill: #55acee; }
      .module-tweet-demo .share-buttons .share-button:hover.facebook .icon {
        fill: #3d5a98; }
      .module-tweet-demo .share-buttons .share-button.about-modal {
        top: 350px; }
      .module-tweet-demo .share-buttons .share-button.share-screen {
        top: 450px; }
      .module-tweet-demo .share-buttons .share-button.twitter-share-button {
        top: 500px; }
      .module-tweet-demo .share-buttons .share-button.facebook {
        padding: 3px;
        top: 550px; }
        .module-tweet-demo .share-buttons .share-button.facebook .share-icon {
          background: white;
          border-radius: 2px; }
    .module-tweet-demo .share-buttons .share-icon {
      position: relative; }
      .module-tweet-demo .share-buttons .share-icon .outline {
        stroke: white;
        stroke-width: 6px;
        stroke-miterlimit: 1px; }
      .module-tweet-demo .share-buttons .share-icon .front {
        position: absolute;
        top: 0;
        left: 0; }
    .module-tweet-demo .share-buttons .share-label {
      color: #868686;
      font-size: 12px;
      position: absolute;
      white-space: nowrap;
      background: white;
      transform: translate(24px, -50%);
      transition: all .25s;
      opacity: 0;
      color: #3b94d9;
      padding: 4px 4px;
      bottom: -4px;
      top: 50%;
      left: -4px;
      pointer-events: none; }
  .module-tweet-demo .y-axis-label {
    color: #a7a7a7;
    font-size: 10px;
    left: 8px;
    top: 40px !important;
    position: absolute;
    transform-origin: 50% 0;
    transform: translateX(-50%) rotate(270deg); }

.point-highlight-add {
  animation: pointadd .5s ease-in-out; }

@keyframes pointadd {
  0% {
    height: 0px;
    width: 0px;
    opacity: 0; }
  100% {
    height: 14px;
    width: 14px;
    opacity: 1; } }

.point-highlight-remove {
  animation: pointremove .5s ease-in-out; }

@keyframes pointremove {
  0% {
    height: 14px;
    width: 14px;
    opacity: 1; }
  100% {
    height: 0px;
    width: 0px;
    opacity: 0; } }

.popup-add {
  animation: popup .3s; }

@keyframes popup {
  0% {
    transform: scale(0) translate(-100px, -100px);
    opacity: 0; }
  100% {
    transform: scale(1) translate(0px, 0px);
    opacity: 1; } }

.popup-remove {
  animation: popout .3s; }

@keyframes popout {
  0% {
    transform: scale(1) translate(0px, 0px);
    opacity: 1; }
  100% {
    transform: scale(0) translate(100px, 100px);
    opacity: 0; } }

.popup-container {
  z-index: 100;
  font-size: 10px;
  max-width: 300px;
  color: black;
  background-color: white;
  position: absolute; }

.popup-hide-div {
  top: -3px;
  left: -3px;
  position: absolute;
  height: 9px;
  width: 9px; }

@keyframes hideTweetPopupLow {
  0% {
    transform: scale(1) rotateX(0) translateY(0);
    opacity: 1; }
  100% {
    transform: scale(0.75) rotateX(-90deg) translateY(16px);
    opacity: 0; } }

@keyframes showTweetPopupLow {
  0% {
    transform: translateY(-52px) scale(0.75) rotateX(90deg); }
  100% {
    transform: translateY(0) scale(1) rotateX(0); } }

@keyframes hideTweetPopup {
  0% {
    transform: scale(1) rotateX(0) translateY(0);
    opacity: 1; }
  100% {
    transform: scale(0.75) rotateX(90deg) translateY(-16px);
    opacity: 0; } }

@keyframes showTweetPopup {
  0% {
    transform: translateY(52px) scale(0.75) rotateX(-90deg); }
  100% {
    transform: translateY(0) scale(1) rotateX(0); } }

@keyframes showNode {
  0% {
    transform: scale(0); }
  50% {
    transform: scale(0); }
  75% {
    transform: scale(1.25); }
  100% {
    transform: scale(1); } }

@keyframes slideIn {
  0% {
    transform: translate(100%); }
  100% {
    transform: translate(0); } }

@keyframes recedeOut {
  0% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 0;
    transform: scale(0.96); } }

@keyframes slideOut {
  0% {
    transform: translate(0); }
  100% {
    transform: translate(100%); } }

@keyframes recedeIn {
  0% {
    opacity: 0;
    transform: scale(0.96); }
  100% {
    opacity: 1;
    transform: scale(1); } }

@keyframes showTimeLine {
  0% {
    transform: scaleY(0); }
  100% {
    transform: scaleY(1); } }

@keyframes tweetRightPanelToggleActive {
  0% {
    transform: translate(80%); }
  100% {
    transform: translate(0%); } }

@keyframes tweetRightPanelToggleActiveLong {
  0% {
    transform: translate(160%); }
  100% {
    transform: translate(0%); } }

@keyframes tweetRightPanelToggleInactive {
  0% {
    transform: translate(-80%); }
  100% {
    transform: translate(0%); } }

@keyframes tweetRightPanelToggleInactiveLong {
  0% {
    transform: translate(-160%); }
  100% {
    transform: translate(0%); } }

@keyframes nodeHLShow {
  0% {
    transform: scale(0); }
  100% {
    transform: scale(2); } }

@keyframes showOutline {
  0% {
    stroke-width: 0; }
  100% {
    stroke-width: 1.5px; } }

@keyframes loadingStroke {
  0% {
    stroke-dasharray: 0 125.66371;
    stroke-dashoffset: 0; }
  50% {
    stroke-dasharray: 62.83185 62.83185;
    stroke-dashoffset: 0; }
  100% {
    transform: rotate(360deg);
    stroke-dasharray: 0 125.66371;
    stroke-dashoffset: -125.66371; } }

@keyframes loadingRotate {
  from {
    transform: rotate(0) scale(1, 0.5); }
  to {
    transform: rotate(360deg) scale(1, 0.5); } }

@keyframes overZoomed {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(0.9); }
  100% {
    transform: scale(1); } }

@keyframes movingOutline {
  0% {
    stroke-dashoffset: 0; }
  100% {
    stroke-dashoffset: 8px; } }

@keyframes showMap {
  0% {
    transform: scale(0.96); }
  100% {
    transform: scale(1); } }

@keyframes scaleMapInto {
  0% {
    transform: scale(1.05); }
  100% {
    transform: scale(1); } }

@keyframes zoomBtnScaleIn {
  0% {
    transform: scale(0); }
  100% {
    transform: scale(1); } }

@keyframes mapZoomIn {
  0% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 0;
    transform: scale(10); } }

@keyframes mapZoomOut {
  0% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 0;
    transform: scale(0.8); } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes shinyButton {
  0% {
    transform: scaleX(0) translate(-120px, -50%) rotate(15deg); }
  .8% {
    transform: scaleX(1) translate(170px, -50%) rotate(15deg); }
  100% {
    transform: scaleX(1) translate(170px, -50%) rotate(15deg); } }

.map-point {
  position: absolute;
  transform-origin: 0 0;
  animation: showMapPoint .5s; }
  .map-point.removePoint {
    animation: hideMapPoint .25s; }
    .map-point.removePoint .map-point-gfx {
      border-width: 0; }

.map-point-gfx {
  width: 16px;
  height: 16px;
  background: #55acee;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  border: 3px solid white;
  transition: border .25s; }

.map-popup, .map-point-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none; }
  .map-popup .tweet-text, .map-point-wrap .tweet-text {
    word-break: break-word; }

.map-point-wrap {
  overflow: hidden; }

.map-popup-wrap {
  position: absolute;
  z-index: 111;
  width: 0;
  display: -ms-flexbox;
  display: flex;
  animation: showMapPopup .25s; }
  .map-popup-wrap.removePopup {
    opacity: 0;
    animation: hideMapPopup .25s; }

.map-popup-box {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  min-width: 120px;
  max-width: 240px;
  background: white;
  border-radius: 4px;
  border: 1px solid #c7c7c7;
  position: relative;
  transform: translate(-50%, -100%);
  top: -12px;
  pointer-events: auto; }
  .map-popup-box.pop-down {
    transform: translate(-50%, 0);
    top: 12px; }
    .map-popup-box.pop-down .map-popup-bridge {
      top: 0;
      bottom: auto;
      transform: translate(-50%, -24px); }
  .map-popup-box .map-popup-bridge {
    position: absolute;
    height: 24px;
    width: 24px;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 24px); }
  .map-popup-box .map-popup-item {
    font-size: 12px;
    line-height: 1.2;
    margin-bottom: 4px; }
  .map-popup-box .popup-item-key {
    font-weight: bold; }

@keyframes showMapPopup {
  0% {
    opacity: 0;
    transform: translateY(6px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes hideMapPopup {
  0% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(6px); } }

@keyframes showMapPoint {
  0% {
    transform: scale(0); }
  50% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

@keyframes hideMapPoint {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(0); } }
