/* Body and core element styling */
body {
  font-family: "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-style: normal;
  text-rendering: optimizelegibility;
  font-weight: 300;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 300;
}

a {
  color: #368cca;
}

.limit-width {
  max-width: 1170px;
}

.navbar {
  background: #ecf0f1;
  border-color: #ecf0f1;
  margin-bottom: 0;
  border-radius: 0;
}

@media (min-width: 768px) {
  .navbar {
    height: 70px;
  }
}

.nav {
  margin-top: 8px;
}

.nav > li > a {
  color: #414141;
}

.navbar .navbar-toggle .icon-bar {
  background: #414141;
}

.nav > li > a:focus,
.nav > li > a:hover {
  text-decoration: underline;
}

.navbar-brand {
  padding: 0;
}

.navbar-brand img {
  height: 50px;
  padding-top: 10px;
  margin-left: 10px;
}

.button img {
  vertical-align: bottom;
}

.do-button {
  display: inline-block;
  margin-left: 20px;
}

section {
  padding: 45px 25px;
}

@media (max-width: 768px) {
  * {
    text-align: center;
  }

  .navbar-brand img {
    padding-bottom: 10px;
  }

  section {
    padding: 15px 15px 0px;
  }
}

tbody th {
  font-weight: 300;
}

tbody th:first-child,
thead th {
  font-weight: 400;
}

/* Styling classes */
.lead {
  margin-bottom: 0;
  padding-bottom: 20px;
}

.dark {
  background: #414141;
  color: #dcdcdc;
}

.dark a {
  color: #f5ad1a;
}

.dark a:hover {
  color: #ffc44c;
}

.dark .header {
  color: #f5ad1a;
}

.center {
  text-align: center;
}

.large-button {
  font-weight: 400;
  cursor: pointer;
  display: inline-block;
  padding: 0px 1em;
  border-radius: 3px;
  text-align: center;
  line-height: 2.3em;
  font-size: 18px;
  margin-right: 5px;
  margin-bottom: 10px;
  text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0.1em 0px rgba(255, 255, 255, 0.1) inset,
    0px -0.15em 0px rgba(0, 0, 0, 0.2) inset,
    0px 0.15em 0px rgba(0, 0, 0, 0.075);
  transition: 0.2s;
}

/* Image slideshow */
.slider {
  max-height: 500px;
  min-width: 300px;
  margin: auto;
  margin-top: 20px;
  position: relative;
}

.sliderinner {
  overflow: hidden;
  position: relative;
}

.sliderinner > ul {
  list-style: none;
  width: 500%;
  position: relative;
  padding-left: 0;
  transition: left 0.2s ease-out;
}

.sliderinner > ul > li {
  width: 20%;
  float: left;
}

.sliderinner > ul > li > div {
  float: left;
  position: relative;
  left: 50%;
}

.sliderinner > ul > li > div > img {
  position: relative;
  left: -50%;
}

.slider input[type="radio"] {
  position: absolute;
  left: 50%;
  bottom: 15px;
  z-index: 100;
  visibility: hidden;
}

.slider label {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 100;
  width: 12px;
  height: 12px;
  background-color: #ccc;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8);
  transition: background-color 0.2s;
}

.slider input:checked label {
  background-color: #333;
}

.slider label[for="desktop-images-control1"] {
  margin-left: -9px;
}
.slider label[for="desktop-images-control2"] {
  margin-left: 9px;
}
.slider
  input[type="radio"]#desktop-images-control1:checked
  ~ .sliderinner
  > ul {
  left: 0;
}
.slider
  input[type="radio"]#desktop-images-control2:checked
  ~ .sliderinner
  > ul {
  left: -100%;
}

.slider label[for="mobile-images-control1"] {
  margin-left: -9px;
}
.slider label[for="mobile-images-control2"] {
  margin-left: 9px;
}
.slider input[type="radio"]#mobile-images-control1:checked ~ .sliderinner > ul {
  left: 0;
}
.slider input[type="radio"]#mobile-images-control2:checked ~ .sliderinner > ul {
  left: -100%;
}

.slider label[for="qtox-images-control1"] {
  margin-left: -9px;
}
.slider label[for="qtox-images-control2"] {
  margin-left: 9px;
}
.slider input[type="radio"]#qtox-images-control1:checked ~ .sliderinner > ul {
  left: 0;
}
.slider input[type="radio"]#qtox-images-control2:checked ~ .sliderinner > ul {
  left: -100%;
}

.slider input[type="radio"]#toxic-images-control1:checked ~ .sliderinner > ul {
  left: 0;
}

.slider label[for="atox-images-control1"] {
  margin-left: -9px;
}
.slider label[for="atox-images-control2"] {
  margin-left: 9px;
}
.slider input[type="radio"]#atox-images-control1:checked ~ .sliderinner > ul {
  left: 0;
}
.slider input[type="radio"]#atox-images-control2:checked ~ .sliderinner > ul {
  left: -100%;
}

/* Specific styling */
@media (min-width: 768px) {
  #cover {
    height: calc(100vh - 70px);
    max-height: 800px;
    display: flex;
    align-items: center;
    text-align: left;
  }

  #cover-line {
    display: flex;
    align-items: center;
    align-content: center;
  }

  .dl {
    max-height: 600px !important;
  }

  .tinynav > ul {
    display: none;
  }
}

#cover img {
  height: 280px;
  width: calc(100% - 5px);
  margin: 10px;
}

@media (max-width: 768px) {
  #cover .button {
    margin-bottom: 15px;
  }

  /* Infrastructure contributors list */
  #contact ul {
    display: inline-block;
  }

  #contact li {
    text-align: left;
  }
}

#cover .button:active {
  box-shadow: 0px 0.1em 0px rgba(255, 255, 255, 0.1) inset,
    0px -0.1em 0px rgba(0, 0, 0, 0.2) inset, 0px 0.15em 0px rgba(0, 0, 0, 0.075);
}

#cover .button.learn-more {
  background: #5dba9e;
  color: #fff;
}

#cover .button.learn-more:hover {
  background: #69d1b2;
  color: #fff;
  text-decoration: none;
}

#cover .button.download {
  background: #ffba2b;
  color: #fff;
}

#cover .button.download:hover {
  background: #ffc44c;
  color: #fff;
  text-decoration: none;
}

#clients .row {
  margin: 0px;
}

#screenshot .screenshot {
  width: 100%;
  max-width: 900px;
}

#mobile-slider {
  display: none;
}

@media (max-width: 550px) {
  #desktop-slider {
    display: none;
  }
  #mobile-slider {
    display: block;
    margin: auto;
    /* Fixes carousel breaking at certain resolutions */
    min-width: 240px;
  }
  .sliderinner > ul > li > div > img {
    max-height: 500px;
  }
}
@media (max-width: 365px) {
  .sliderinner > ul > li > div > img {
    max-height: 432px;
  }
}
@media (min-width: 551px) {
  .sliderinner > ul > li > div > img {
    max-height: 316px;
  }
}
@media (min-width: 768px) {
  .sliderinner > ul > li > div > img {
    max-height: 456px;
  }
}
@media (min-width: 856px) {
  .sliderinner > ul > li > div > img {
    max-height: 500px;
  }
}
/* End of fixes for carousel breaking at certain resolutions */

.features {
  background: #fff;
  color: #414141;
  text-align: center;
}

.features .icon {
  font-size: 40px;
  cursor: default;
}

#about {
  text-align: center;
}

#about .header {
  margin-top: 0;
}

#about .container-fluid {
  max-width: 850px;
}

#clients .img-container {
  width: 400px;
}

#clients img {
  max-width: 100%;
  max-height: 450px;
  margin: auto;
  display: block;
}

@media (min-width: 768px) {
  #clients .img-container {
    margin-right: 20px;
    float: left;
  }

  #clients table {
    width: 0;
    margin-right: 20px;
    float: left;
  }
}

#who-is-tox table {
  width: 40%;
  min-width: 220px;
}

@media (max-width: 768px) {
  #who-is-tox table {
    margin: auto;
  }
}

#footer .cc {
  text-align: right;
  font-size: 15px;
  width: 300px;
  margin-bottom: 13px;
}

#footer .cc img {
  margin-bottom: 5px;
}

#footer .ext-med {
  margin-top: 30px;
}

#footer .languages {
  margin-bottom: 25px;
}

#footer .ext-med .icon {
  font-size: 30px;
  margin-right: 10px;
}

@media screen and (max-width: 490px) {
  #footer .cc {
    width: 88px;
  }

  #footer .cc p {
    display: none;
  }

  #footer .ext-med {
    top: 30px;
    margin-top: 0;
  }
}

.modalDialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 99999;
  opacity: 0;
  transition: opacity 0.2s ease-in;
  pointer-events: none;
}

.modalDialog:target {
  opacity: 1;
  pointer-events: auto;
}

.modalDialog > div {
  width: 90%;
  max-width: 900px;
  max-height: 90%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  padding: 5px 20px 13px 20px;
  background: #fff;
  border-radius: 3px;
  overflow-y: auto;
}

.close {
  color: #000;
  line-height: 25px;
  position: absolute;
  right: 0px;
  text-align: center;
  top: 0px;
  width: 24px;
  text-decoration: none;
  font-weight: bold;
}

.close-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: default;
  z-index: -1;
}

section.tabsection {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 5px;
}

label.tablabel {
  background-color: #ddd;
  padding: 3em 3em;
  cursor: pointer;
  z-index: 1;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 10px;
  border-radius: 3px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: 0.2s ease-out;
}

label.tablabel:hover {
  opacity: 0.7;
  transition: 0.2s;
}

label.tablabel > .text {
  width: 100%;
  display: block;
  text-align: center;
  font-weight: 400;
}

div.tabdiv {
  width: 100%;
  padding: 1em;
  -webkit-order: 1;
  order: 1;
  margin-top: 5px;
}
input[type="radio"],
div.tabdiv {
  display: none;
}

input[type="radio"]:checked + label {
  color: #fff;
  background-color: #414141;
  opacity: 1;
  cursor: default;
}

input[type="radio"]:checked + label.tablabel + div {
  display: block;
}

#hamlabel {
  font-size: 1.5em;
  cursor: pointer;
}

.tinynav {
  float: none;
  font-weight: 400;
}

.tinynav > ul > li > a {
  line-height: 1.8em;
  text-align: left;
}

input[type="checkbox"],
.tinynav {
  display: none;
}

input[type="checkbox"]:checked + label + .tinynav {
  display: inline-block;
}

input[type="checkbox"]:checked ~ #hamlabel:before {
  content: "\000d7";
}

.socialbutton {
  font-weight: 400;
  cursor: pointer;
  display: inline-block;
  padding: 0px 1em;
  border-radius: 3px;
  text-align: center;
  line-height: 2.3em;
  font-size: 18px;
  margin-right: 5px;
  margin-bottom: 10px;
  text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0.1em 0px rgba(255, 255, 255, 0.1) inset,
    0px -0.15em 0px rgba(0, 0, 0, 0.2) inset,
    0px 0.15em 0px rgba(0, 0, 0, 0.075);
  transition: 0.4s;
  float: left;
}

.socialbutton:active {
  box-shadow: 0px 0.1em 0px rgba(255, 255, 255, 0.1) inset,
    0px -0.1em 0px rgba(0, 0, 0, 0.2) inset, 0px 0.15em 0px rgba(0, 0, 0, 0.075);
}

.socialbutton.tweet {
  background: #00b0ed;
  color: #fff;
}

.socialbutton.facebook {
  background: #3a5795;
  color: #fff;
}

.socialbutton.diaspora {
  background: #414141;
  color: #fff;
}

.socialquote {
  position: relative;
  background: #ddd;
  border: 2px solid #ddd;
  padding: 5px;
  border-radius: 3px;
  font-style: italic;
  margin-bottom: 15px;
  cursor: default;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.socialquote:after,
.socialquote:before {
  top: 100%;
  left: 31px;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.socialquote:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-color: #ddd;
  border-width: 10px;
  margin-left: -10px;
}

.socialquote:before {
  border-color: rgba(221, 221, 221, 0);
  border-top-color: #ddd;
  border-width: 13px;
  margin-left: -13px;
}

.fingerprint {
  white-space: pre-wrap;
}

/* woff for most browsers (not IE8) and ttf for Android older than v4.4 */
@font-face {
  font-family: "Fira Sans";
  src: local("Fira Sans UltraLight"),
    url("../fonts/FiraSans-UltraLight.woff") format("woff"),
    url("../fonts/FiraSans-UltraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: "Fira Sans";
  src: local("Fira Sans Light"),
    url("../fonts/FiraSans-Light.woff") format("woff"),
    url("../fonts/FiraSans-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Fira Sans";
  src: local("Fira Sans Regular"),
    url("../fonts/FiraSans-Regular.woff") format("woff"),
    url("../fonts/FiraSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

/* Leaving in support for IE8 and older here since it wouldn't degrade gracefully */
@font-face {
  font-family: "Glyphter";
  src: url("../fonts/Glyphter.eot");
  src: url("../fonts/Glyphter-1.eot") format("embedded-opentype"),
    url("../fonts/Glyphter.woff") format("woff"),
    url("../fonts/Glyphter.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
[class*="icon-"]:before {
  display: inline-block;
  font-family: "Glyphter";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  font-size: 98px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-debian:before {
  content: "\0041";
}
.icon-gentoo:before {
  content: "\0042";
}
.icon-arch:before {
  content: "\0043";
}
.icon-diaspora:before {
  content: "\0044";
}
.icon-minionbook:before {
  content: "\0045";
}
.icon-dramabird:before {
  content: "\0046";
}
