body {
  font-family: Helvetica, Arial, sans-serif;
  font-weight: 400;
}

a {
  text-decoration: none;
  color: #2196f3;
}

h1 .very-bold {
  font-size: 50px;
  font-weight: 900;
}

h1 .very-thin {
  font-size: 40px;
  font-weight: 100;
}

h2 {
  font-size: 40px;
  font-weight: 300;
  margin-top: 60px;
}

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 20px auto;
}

header .logo {
  height: 50px;
}

header .langs {
  margin-right: 20px;
  font-size: 20px;
}

.athlete-wrapper {
  width: 100%;
  text-align: center;
  height: 400px;
}

img#athlete {
  display: none;
}

.shell {
    position: relative;
    margin: 0 auto;
    width: 100%;
    overflow-x: hidden;
}

.shell .content {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: 920px;
    min-width: 400px;
    margin: auto;
}

p {
    font-size: 20px;
    line-height: 36px;
}

.hover-tip {
  font-size: 14px;
  color: #888;
  font-weight: 300;
  text-align: right;
}

.bipartite-wrapper {
  display: flex;
  justify-content: space-between;
  position: relative;
}

#connectors {
  position: absolute;
}

.bipartite-left, .bipartite-right {
  display: flex;
  flex-direction: column;
}

.bipartite-left {
  align-items: flex-start;
}

.bipartite-right {
  align-items: flex-end;
}

.bipartite-wrapper .chip-root {
  margin-bottom: 10px;
}

.workflow-container {
  display: flex;
  position: relative;
}

#workflow-arrows {
  width: 100px;
}

.workflow-steps {
  width: calc(100% - 100px);
  display: flex;
  flex-direction: column;
}

.workflow-step {
  margin-bottom: 40px;
  overflow-x: hidden;
}

.workflow-step p {
  line-height: 18px;
  font-size: 16px;
  font-weight: 300;
  color: #888;
  margin: 8px auto;
}

.workflow-step img:not(:first-child) {
  margin-left: 10px;
}

.workflow-step.artifact img {
  height: 80px;
}

.workflow-step.process img {
  height: 240px;
}

.contacts {
  display: flex;
  align-items: center;
  justify-content: center;
}

.contacts img {
  height: 80px;
}

.contacts p {
  font-size: 16px;
  font-weight: 300;
  color: #888;
  margin-top: 0;
  text-align: center;
}

.chip-root {
  color: rgba(0, 0, 0, 0.87);
  border: none;
  cursor: default;
  height: 36px;
  display: inline-flex;
  outline: 0;
  padding: 0;
  font-size: 18px;
  box-sizing: border-box;
  transition: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  align-items: center;
  white-space: nowrap;
  border-radius: 16px;
  vertical-align: middle;
  justify-content: center;
  text-decoration: none;
  background-color: #e0e0e0;
  font-weight: 300;
}

.chip-icon {
    width: 20px;
    height: 20px;
    margin-left: 6px;
    margin-right: -6px;
}

.chip-label {
    overflow: hidden;
    white-space: nowrap;
    padding-left: 12px;
    padding-right: 12px;
    text-overflow: ellipsis;
}

.chip-inverse {
  color: white;
  font-size: 16px;
}

.bg-blue {
  background-color: #2196f3;
}

.bg-purple {
  background-color: #9088d4;
}

.bg-pink {
  background-color: #e6739f;
}

.bg-red {
  background-color: #f44336;
}

.bg-orange {
  background-color: #ef6c00;
}

.bg-cyan {
  background-color: #3f51b5;
}

.bg-green {
  background-color: #0278ae;
}

/* license link logo */
a#a4174 path {
  fill: #ddd !important;
}


.organ-highlight {
  fill: red !important;
  opacity: 0.5;
}


@media only screen and (max-width: 920px) {
  .shell .content {
    width: 900px;
  }
}

@media only screen and (max-width: 900px) {
  .shell .content {
    width: 600px;
  }
}

@media only screen and (max-width: 600px) {
  h2 {
    font-size: 30px;
    margin-top: 30px;
  }

  .athlete-wrapper {
    height: 350px;
  }

  #workflow-arrows {
    width: 60px;
  }

  .workflow-steps {
    width: calc(100% - 60px);
  }

  .chip-root, .chip-inverse {
    font-size: 14px;
  }

  .shell {
    overflow-x: auto;
  }

  .workflow-step p {
    line-height: 14px;
    font-size: 12px;
  }

  .workflow-step.artifact img {
    height: 40px;
  }

  .workflow-step.process img {
    height: 140px;
  }

  .shell .content {
    width: 500px;
  }
}

@media only screen and (max-width: 500px) {
  .shell .content {
    width: 400px;
  }
}

@media only screen and (min-width: 600px) {
  .mobile-only {
    display: none;
  }
}

body.cn .mobile-only {
  display: none;
}

footer {
  float: right;
}

footer p a {
  font-size: 14px;
  color: #aaa !important;
}

