/*General*/
* {
  font-family: "Open Sans";
  margin: 0;
  padding: 0;
  background: none;
  outline: none; }

body {
  background: #f8f8f8;
  font-size: 14px; }

.smallCaps {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 12px;
  color: #888; }

h1 {
  margin-bottom: 20px;
  font-size: 24px; }

#graph {
  display: inline-block;
  width: 55%;
  vertical-align: top;
  height: 600px; }

#mainWrapper {
  padding: 0px;
  margin: auto;
  position: relative; }

/* Misc */
img.arrow {
  height: 10px;
  margin-left: 5px; }

.letter {
  border-radius: 100%;
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  padding-top: 4px;
  position: relative;
  text-align: center;
  display: inline-block;
  margin-left: 5px;
  font-size: 14px;
  font-weight: bold; }

.change {
  padding-left: 3px;
  font-weight: bold; }
  .change.up {
    color: #00a500; }
  .change.down {
    color: #d60a2a; }

/* Graph */
.axis path {
  fill: none;
  stroke: black; }

.axis line {
  stroke: black; }

path.ranking {
  fill: none;
  cursor: pointer; }

.note {
  background: black;
  color: white;
  display: inline-block;
  position: absolute;
  box-sizing: border-box;
  text-align: center;
  padding: 8px 0;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 100%;
  font-size: 14px;
  pointer-events: none; 
  font-weight: bold; }

.episodeLabel {
  fill: #888;
  text-anchor: middle; }

/* Info */
#profile {
  margin-top: -60px;
  margin-left: 0px;
  height: 60px; }
  #profile #picWrapper {
    float: left;
    width: 180px; }
    #profile #picWrapper img {
      width: 100%; }
  #profile #textWrapper {
    display: inline-block;
    vertical-align: top;
    margin-left: 40px;
    padding-top: 40px; }
    #profile #textWrapper #infoName {
      font-size: 20px;
      font-weight: 700; }
    #profile #textWrapper #infoLetter {
      top: -3px; }
    #profile #textWrapper #infoCompany {
      margin: 5px 0 8px; }

.pie .arc text {
  text-anchor: middle;
  fill: #fff; }
.pie .arc path {
  stroke: #f8f8f8;
  stroke-width: 3px; }

/* Ranking table */
#chart {
  position: absolute;
  top: 0;
  right: 10px;
  width: 340px; 
  overflow: hidden;}
  
  #chart tbody {
    display: block;
    overflow-y: scroll;
    max-height: 390px;
    width: 365px; }

#top {
  border-spacing: 0;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  font-size: 13px; }
  #top .selectedSort {
    color: #000; }
  #top #topBody tr {
    cursor: pointer; }
    #top #topBody tr:hover {
      background: #e6e6e6 !important; }
    #top #topBody tr.wanna-members {
      background: #eee; }
  #top td {
    padding: 5px 5px;
    border-bottom: 1px solid #ccc; }
  #top th {
    cursor: pointer;
    text-align: left;
    border-bottom: 2px solid #ccc;
    padding: 10px 5px !important; }
    #top th:hover {
      color: black; }
  #top #latestRank, #top #letter, #top #rankChange, #top .smWidth {
    width: 25px; }
  #top #rankChange, #top .rankWidth {
    text-align: center;
    width: 70px; }
  #top #name, #top .nameWidth {
    width: 210px; }
  #top #company, #top .companyWidth {
    width: 150px; }

#footer {
  padding: 20px 50px;
  margin-top: 60px;
  font-size: 10px;
  background: #eee;
  color: #888; }
  #footer a {
    color: #888; }

.tdclass {
  white-space: nowrap;
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
