@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic);
html {
  box-sizing: border-box; }

*, *::after, *::before {
  box-sizing: inherit; }

@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?ceoig6");
  src: url("fonts/icomoon.eot?ceoig6#iefix") format("embedded-opentype"), url("fonts/icomoon.woff2?ceoig6") format("woff2"), url("fonts/icomoon.ttf?ceoig6") format("truetype"), url("fonts/icomoon.woff?ceoig6") format("woff"), url("fonts/icomoon.svg?ceoig6#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-calendar:before {
  content: "\e904"; }

.icon-heart-outlined:before {
  content: "\e905"; }

.icon-heart:before {
  content: "\e906"; }

.icon-chat:before {
  content: "\e900"; }

.icon-code:before {
  content: "\e901"; }

.icon-text:before {
  content: "\e902"; }

.icon-twitter:before {
  content: "\e903"; }

#rs-common-nav {
  margin: 0;
  background-color: #111;
  color: #ccc;
  font-family: "Open Sans", sans-serif;
  font-size: 14px; }
  #rs-common-nav::after {
    clear: both;
    content: "";
    display: table; }
  #rs-common-nav * {
    margin: 0;
    padding: 0;
    box-sizing: border-box; }
  #rs-common-nav *, #rs-common-nav *:before, #rs-common-nav *:after {
    box-sizing: inherit; }
  #rs-common-nav h1 {
    float: left;
    font-size: 0; }
    #rs-common-nav h1 a {
      display: inline-block;
      padding: 10px; }
      #rs-common-nav h1 a img {
        height: 28px; }
  #rs-common-nav a {
    color: #ccc;
    text-decoration: none;
    border-top: 2px solid #111;
    -webkit-transition: background-color 0.1s linear;
    -moz-transition: background-color 0.1s linear;
    transition: background-color 0.1s linear; }
    #rs-common-nav a:hover, #rs-common-nav a:active {
      background-color: #333;
      border-top-color: #FF4B03; }
  #rs-common-nav nav.primary {
    float: left; }
  #rs-common-nav nav.secondary {
    float: right; }
  #rs-common-nav nav * {
    display: inline-block; }
  @media screen and (max-width: 768px) {
    #rs-common-nav nav.primary, #rs-common-nav nav.secondary {
      clear: both;
      float: none;
      display: block; }
    #rs-common-nav nav.secondary {
      display: none; }
    #rs-common-nav nav * {
      display: block; } }
  @media screen and (max-width: 768px) {
    #rs-common-nav nav ul {
      max-height: 0;
      overflow: hidden;
      transition: max-height .25s linear; } }
  @media screen and (max-width: 768px) {
    #rs-common-nav nav ul li {
      visibility: hidden;
      transition: visibility .25s linear; } }
  #rs-common-nav nav ul li a {
    padding-left: 10px;
    padding-right: 10px;
    line-height: 48px;
    border-bottom: 2px solid #111; }
    @media screen and (max-width: 768px) {
      #rs-common-nav nav ul li a {
        border-bottom: 1px solid #333;
        text-align: center; }
        #rs-common-nav nav ul li a:hover, #rs-common-nav nav ul li a:active {
          padding-left: 0.5rem;
          border-left: 2px solid #FF4B03;
          border-top-color: #333; } }
  @media screen and (max-width: 768px) {
    #rs-common-nav nav ul li:first-of-type a {
      border-top: 1px solid #333; } }
  #rs-common-nav nav.open ul {
    max-height: 800px; }
  #rs-common-nav nav.open li {
    visibility: visible; }

.mobile-nav-button {
  display: none;
  position: absolute;
  top: 12px;
  right: 10px;
  width: 24px;
  height: 24px;
  transition-duration: 0.5s; }
  @media screen and (max-width: 768px) {
    .mobile-nav-button {
      display: inline-block; } }
  .mobile-nav-button .icon {
    transition-duration: 0.5s;
    position: absolute;
    height: 2px;
    width: 24px;
    top: 12px;
    background-color: #ccc; }
    .mobile-nav-button .icon:before {
      transition-duration: 0.5s;
      position: absolute;
      width: 24px;
      height: 2px;
      background-color: #ccc;
      content: "";
      top: -8px; }
    .mobile-nav-button .icon:after {
      transition-duration: 0.5s;
      position: absolute;
      width: 24px;
      height: 2px;
      background-color: #ccc;
      content: "";
      top: 8px; }
  .mobile-nav-button:hover {
    cursor: pointer; }

* {
  margin: 0;
  padding: 0; }

body, html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

body {
  background-color: #fff;
  color: #111;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  text-rendering: optimizeLegibility; }

a {
  color: #0088CC; }
  a:hover, a:active {
    color: #00aaff; }

.row {
  display: block; }
  .row::after {
    clear: both;
    content: "";
    display: table; }

main {
  padding: 2em 0 2em 0; }
  @media screen and (max-width: 768px) {
    main {
      padding: 1em 0;
      margin-bottom: 2rem; } }

.line-container {
  overflow: hidden;
  background-image: -webkit-linear-gradient(top, rgba(255, 0, 0, 0), rgba(255, 0, 0, 0) 49%, #ddd 50%, #ddd 52%, rgba(255, 0, 0, 0) 52%, rgba(255, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(255, 0, 0, 0), rgba(255, 0, 0, 0) 49%, #ddd 50%, #ddd 52%, rgba(255, 0, 0, 0) 52%, rgba(255, 0, 0, 0));
  text-align: center;
  margin-bottom: 2rem; }
  .line-container h3 {
    display: inline-block;
    margin: 0 auto;
    padding: 0 0.75rem;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.618em;
    background-color: #fff; }

.section-wrapper {
  width: 100%; }
  .section-wrapper.community {
    background-color: #efefef; }
  .section-wrapper.sponsors {
    background-color: #fff; }
  .section-wrapper section {
    padding: 3rem 0 1.5rem 0; }
    .section-wrapper section .head {
      text-align: center; }
      .section-wrapper section .head h3 {
        margin: 0 auto 1rem auto;
        display: inline-block;
        font-size: 20px;
        font-weight: bold;
        line-height: 1em; }
      .section-wrapper section .head .line {
        display: inline-block;
        width: 4rem;
        border-top: 2px solid #ccc;
        margin: 0 auto 2rem auto; }
      .section-wrapper section .head p {
        text-align: left; }

section {
  max-width: 68em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem; }
  section::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 768px) {
    section {
      margin: 0 1em; } }
  section h4 {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 2rem; }
    section h4 a {
      color: #111; }
      section h4 a:hover, section h4 a:active {
        color: #888; }
  section p {
    line-height: 1.5em; }
  section figure {
    margin-bottom: 1rem; }
  section figcaption {
    font-size: 1rem;
    font-style: italic;
    color: #888; }
  section .head {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%;
    text-align: left; }
    section .head:last-child {
      margin-right: 0; }
    section .head p {
      margin-bottom: 3rem; }
      section .head p a {
        color: #111; }
        section .head p a:hover, section .head p a:active {
          color: #888; }
  section#hero {
    margin-top: 2em;
    margin-bottom: 2em; }
    section#hero .head {
      text-align: center; }
      section#hero .head img {
        width: 96px;
        margin-bottom: 16px; }
      section#hero .head h2 {
        font-size: 32px;
        font-weight: bold;
        margin-bottom: 8px; }
      section#hero .head p.claim {
        font-weight: normal; }
  section#benefits article {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 48.82117%;
    margin-bottom: 2em; }
    section#benefits article:last-child {
      margin-right: 0; }
    section#benefits article:nth-child(2n) {
      margin-right: 0; }
    section#benefits article:nth-child(2n+1) {
      clear: left; }
    @media screen and (max-width: 768px) {
      section#benefits article {
        float: left;
        display: block;
        margin-right: 7.42297%;
        width: 100%; }
        section#benefits article:last-child {
          margin-right: 0; } }
    section#benefits article h3 {
      margin-bottom: 14px;
      color: #0088CC; }
  section#explainer-unhosted {
    margin-bottom: 6em; }
    section#explainer-unhosted .item {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%;
      text-align: center;
      padding: 0 20px; }
      section#explainer-unhosted .item:last-child {
        margin-right: 0; }
      @media screen and (max-width: 768px) {
        section#explainer-unhosted .item {
          float: left;
          display: block;
          margin-right: 7.42297%;
          width: 100%;
          padding: 0;
          margin-bottom: 2rem; }
          section#explainer-unhosted .item:last-child {
            margin-right: 0; } }
      section#explainer-unhosted .item img {
        width: 90%;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 768px) {
          section#explainer-unhosted .item img {
            width: 100%;
            margin-bottom: 1rem; } }
      section#explainer-unhosted .item p {
        font-size: 0.8rem; }
        section#explainer-unhosted .item p .developer {
          color: red; }
        section#explainer-unhosted .item p .user {
          color: green; }
  section#explainer-protocol .row {
    margin-bottom: 2rem; }
  section#explainer-protocol figure {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%;
    text-align: center; }
    section#explainer-protocol figure:last-child {
      margin-right: 0; }
  section#explainer-protocol .item {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%;
    text-align: left; }
    section#explainer-protocol .item:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      section#explainer-protocol .item {
        float: left;
        display: block;
        margin-right: 7.42297%;
        width: 100%;
        padding: 0; }
        section#explainer-protocol .item:last-child {
          margin-right: 0; } }
    section#explainer-protocol .item h4 {
      margin-bottom: 1rem; }
    section#explainer-protocol .item p {
      margin-bottom: 1rem; }
  section#community {
    margin-bottom: 0; }
    section#community article {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%;
      padding-right: 1rem;
      margin-bottom: 2.5rem; }
      section#community article:last-child {
        margin-right: 0; }
      section#community article:nth-child(2n) {
        margin-right: 0; }
      section#community article:nth-child(2n+1) {
        clear: left; }
      section#community article::after {
        clear: both;
        content: "";
        display: table; }
      @media screen and (max-width: 768px) {
        section#community article {
          float: left;
          display: block;
          margin-right: 7.42297%;
          width: 100%; }
          section#community article:last-child {
            margin-right: 0; } }
      section#community article h4 {
        font-size: 1rem;
        margin-bottom: 1rem; }
      section#community article i {
        float: left;
        font-size: 1.5rem; }
      section#community article .description {
        margin-left: 50px; }
  section#sponsors .item {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%;
    text-align: center;
    padding: 0 20px; }
    section#sponsors .item:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      section#sponsors .item {
        float: left;
        display: block;
        margin-right: 7.42297%;
        width: 100%;
        margin-bottom: 2rem; }
        section#sponsors .item:last-child {
          margin-right: 0; } }
    section#sponsors .item a {
      display: block;
      height: 96px;
      line-height: 96px; }
    section#sponsors .item img {
      vertical-align: middle;
      max-width: 90%;
      max-height: 96px; }
      @media screen and (max-width: 768px) {
        section#sponsors .item img {
          width: 100%; } }
    section#sponsors .item.whs img {
      max-width: 70%;
      max-height: 128px; }

footer {
  max-width: 68em;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 4em 0;
  text-align: center;
  font-size: 0.8rem;
  color: #888; }
  footer::after {
    clear: both;
    content: "";
    display: table; }
  footer p {
    margin: 0 auto;
    width: auto;
    line-height: 1.4em; }
  @media screen and (max-width: 768px) {
    footer span {
      display: block;
      padding: 0.25em 0; } }
  footer span.divider {
    padding-left: 0.5rem;
    padding-right: 0.5rem; }
    @media screen and (max-width: 768px) {
      footer span.divider {
        display: none; } }
  footer a {
    color: #888; }
    footer a:hover, footer a:active {
      color: #333; }
