@import url(../fonts/source-code-pro/stylesheet.css);
@import url(../fonts/source-sans-pro/stylesheet.css);
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

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

::-moz-selection {
  background: #232725;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #232725;
  color: #fff;
  text-shadow: none; }

html {
  color: #3f4542;
  font: 300 15px "Source Sans Pro", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: auto;
  -webkit-text-size-adjust: 100%; }

body {
  line-height: 1.5em; }

h1, h2, legend, h3, h4, h5, h6 {
  font-family: "Source Sans Pro";
  font-weight: 400;
  line-height: 1.5em;
  margin: 0 0 0.25em 0; }

h1 {
  font-size: 2rem; }

h2,
legend {
  font-size: 1.5rem; }

h3 {
  font-size: 1.3rem; }

h4 {
  font-size: 1.2rem; }

h5 {
  font-size: 1.1rem; }

h6 {
  font-size: 1rem; }

p {
  margin-bottom: 1rem; }
  p.is-lead {
    font-size: 1.125rem; }

a {
  color: #FF9925;
  cursor: pointer;
  text-decoration: none; }
  a:hover {
    color: #ffb158; }

small {
  color: #8d9994;
  font-size: 0.875rem; }

em {
  font-style: italic; }

strong {
  font-weight: bold; }

code, pre {
  font-family: 'courier new', monospace; }

pre {
  overflow-x: auto; }

abbr {
  border-bottom: 1px dotted #8d9994; }

del {
  text-decoration: line-through; }

mark {
  background-color: #ffffb3; }

hr {
  background-color: transparent;
  border: solid #ccd6d2;
  border-width: 1px 0 0;
  clear: both;
  margin: 2.5rem 1rem; }

ul, ol {
  margin: 0 0 1rem 1.5rem; }

ul {
  list-style: disc; }

ol {
  list-style: decimal; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    font-weight: bold; }
  dl dd {
    margin-left: 1rem; }
  dl.advanced:before, dl.advanced:after {
    content: "";
    display: table; }
  dl.advanced:after {
    clear: both; }
  dl.advanced dt {
    float: left;
    width: 31.25%;
    margin-left: 0%;
    margin-right: 2.08333%; }
  dl.advanced dd {
    float: left;
    width: 66.66667%;
    margin-left: 0%;
    margin-right: 0%; }

.l-full {
  width: 100%; }
  @media (min-width: 590px) {
    .l-full {
      float: left;
      width: 95.83333%;
      margin-left: 2.08333%;
      margin-right: 2.08333%; } }

@media (min-width: 590px) {
  .l-two-third {
    float: left;
    width: 62.5%;
    margin-left: 2.08333%;
    margin-right: 2.08333%; } }

@media (min-width: 590px) {
  .l-half {
    float: left;
    width: 45.83333%;
    margin-left: 2.08333%;
    margin-right: 2.08333%; } }

@media (min-width: 590px) {
  .l-one-quarter {
    float: left;
    width: 20.83333%;
    margin-left: 2.08333%;
    margin-right: 2.08333%; } }

@media (min-width: 590px) {
  .l-one-eigth {
    float: left;
    width: 8.33333%;
    margin-left: 2.08333%;
    margin-right: 2.08333%; } }

@media (min-width: 590px) {
  .l-one-sixth {
    float: left;
    width: 12.5%;
    margin-left: 2.08333%;
    margin-right: 2.08333%; } }

@media (min-width: 590px) {
  .l-one-third {
    float: left;
    width: 29.16667%;
    margin-left: 2.08333%;
    margin-right: 2.08333%; } }

.l-grid:before, .l-grid:after {
  content: "";
  display: table; }
.l-grid:after {
  clear: both; }
.l-grid li {
  float: left;
  width: 29.16667%;
  margin-left: 2.08333%;
  margin-right: 2.08333%; }

.l-first {
  clear: left; }

.l-container {
  margin: auto;
  max-width: 80rem;
  padding: 1rem; }
  .l-container:before, .l-container:after {
    content: "";
    display: table; }
  .l-container:after {
    clear: both; }
  @media (min-width: 769px) {
    .l-container {
      padding: 2rem; } }

.is-hidden {
  display: none !important; }

.is-hidden, .is-invisible {
  visibility: hidden !important; }

.is-active, .is-visible {
  display: block; }

@media (min-width: 590px) {
  .left {
    float: left; } }

@media (min-width: 590px) {
  .right {
    float: right; } }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.nowrap {
  white-space: nowrap; }

img.desaturated {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  filter: grayscale(100%); }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

.button,
input[type=submit],
button, .button--neutral,
input[type=submit].button--neutral,
button.button--neutral, .button--success,
input[type=submit].button--success,
button.button--success, .button--alert,
input[type=submit].button--alert,
button.button--alert {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0.125rem;
  cursor: pointer;
  display: inline-block;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: bold;
  line-height: 1.5em;
  margin: 0 0 0.25rem 0;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  vertical-align: bottom; }
  .button:focus,
  input[type=submit]:focus,
  button:focus, .button--neutral:focus, .button--success:focus, .button--alert:focus {
    outline: 0; }

.button,
input[type=submit],
button {
  background: #FF9925;
  color: #fff; }
  .button:hover,
  input[type=submit]:hover,
  button:hover {
    background: #ffb158;
    color: #fff; }
  .button:active, .button:focus,
  input[type=submit]:active,
  input[type=submit]:focus,
  button:active,
  button:focus {
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); }

.button--neutral,
input[type=submit].button--neutral,
button.button--neutral {
  background: #ccd6d2;
  color: #3f4542; }
  .button--neutral:hover,
  input[type=submit].button--neutral:hover,
  button.button--neutral:hover {
    background: #8d9994;
    color: #3f4542; }
  .button--neutral:active, .button--neutral:focus,
  input[type=submit].button--neutral:active,
  input[type=submit].button--neutral:focus,
  button.button--neutral:active,
  button.button--neutral:focus {
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); }

.button--success,
input[type=submit].button--success,
button.button--success {
  background-color: #39b924;
  color: #fff; }
  .button--success:hover,
  input[type=submit].button--success:hover,
  button.button--success:hover {
    background-color: #249c11;
    color: #fff; }
  .button--success:active, .button--success:focus,
  input[type=submit].button--success:active,
  input[type=submit].button--success:focus,
  button.button--success:active,
  button.button--success:focus {
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); }

.button--alert,
input[type=submit].button--alert,
button.button--alert {
  background-color: #f3490d;
  color: #fff; }
  .button--alert:hover,
  input[type=submit].button--alert:hover,
  button.button--alert:hover {
    background-color: #d33e09;
    color: #fff; }
  .button--alert:active, .button--alert:focus,
  input[type=submit].button--alert:active,
  input[type=submit].button--alert:focus,
  button.button--alert:active,
  button.button--alert:focus {
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important; }

  /* Black prints faster: h5bp.com/s */
  a, a:visited {
    text-decoration: underline; }

  a[href]:after {
    content: " (" attr(href) ")"; }

  abbr[title]:after {
    content: " (" attr(title) ")"; }

  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
    content: ""; }

  /* Don't show links for images, or javascript/internal links */
  pre, blockquote {
    page-break-inside: avoid; }

  thead {
    display: table-header-group; }

  /* h5bp.com/t */
  tr, img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  @page {
    margin: 2cm; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }

  h2, h3 {
    page-break-after: avoid; } }
.highlight {
  background: #ffffff; }

.highlight .c {
  color: #999988;
  font-style: italic; }

/* Comment */
.highlight .err {
  color: #a61717;
  background-color: #e3d2d2; }

/* Error */
.highlight .k {
  font-weight: bold; }

/* Keyword */
.highlight .o {
  font-weight: bold; }

/* Operator */
.highlight .cm {
  color: #999988;
  font-style: italic; }

/* Comment.Multiline */
.highlight .cp {
  color: #999999;
  font-weight: bold; }

/* Comment.Preproc */
.highlight .c1 {
  color: #999988;
  font-style: italic; }

/* Comment.Single */
.highlight .cs {
  color: #999999;
  font-weight: bold;
  font-style: italic; }

/* Comment.Special */
.highlight .gd {
  color: #000000;
  background-color: #ffdddd; }

/* Generic.Deleted */
.highlight .gd .x {
  color: #000000;
  background-color: #ffaaaa; }

/* Generic.Deleted.Specific */
.highlight .ge {
  font-style: italic; }

/* Generic.Emph */
.highlight .gr {
  color: #aa0000; }

/* Generic.Error */
.highlight .gh {
  color: #999999; }

/* Generic.Heading */
.highlight .gi {
  color: #000000;
  background-color: #ddffdd; }

/* Generic.Inserted */
.highlight .gi .x {
  color: #000000;
  background-color: #aaffaa; }

/* Generic.Inserted.Specific */
.highlight .go {
  color: #888888; }

/* Generic.Output */
.highlight .gp {
  color: #555555; }

/* Generic.Prompt */
.highlight .gs {
  font-weight: bold; }

/* Generic.Strong */
.highlight .gu {
  color: #aaaaaa; }

/* Generic.Subheading */
.highlight .gt {
  color: #aa0000; }

/* Generic.Traceback */
.highlight .kc {
  font-weight: bold; }

/* Keyword.Constant */
.highlight .kd {
  font-weight: bold; }

/* Keyword.Declaration */
.highlight .kp {
  font-weight: bold; }

/* Keyword.Pseudo */
.highlight .kr {
  font-weight: bold; }

/* Keyword.Reserved */
.highlight .kt {
  color: #445588;
  font-weight: bold; }

/* Keyword.Type */
.highlight .m {
  color: #009999; }

/* Literal.Number */
.highlight .s {
  color: #d14; }

/* Literal.String */
.highlight .na {
  color: #008080; }

/* Name.Attribute */
.highlight .nb {
  color: #0086B3; }

/* Name.Builtin */
.highlight .nc {
  color: #445588;
  font-weight: bold; }

/* Name.Class */
.highlight .no {
  color: #008080; }

/* Name.Constant */
.highlight .ni {
  color: #800080; }

/* Name.Entity */
.highlight .ne {
  color: #990000;
  font-weight: bold; }

/* Name.Exception */
.highlight .nf {
  color: #990000;
  font-weight: bold; }

/* Name.Function */
.highlight .nn {
  color: #555555; }

/* Name.Namespace */
.highlight .nt {
  color: #000080; }

/* Name.Tag */
.highlight .nv {
  color: #008080; }

/* Name.Variable */
.highlight .ow {
  font-weight: bold; }

/* Operator.Word */
.highlight .w {
  color: #bbbbbb; }

/* Text.Whitespace */
.highlight .mf {
  color: #009999; }

/* Literal.Number.Float */
.highlight .mh {
  color: #009999; }

/* Literal.Number.Hex */
.highlight .mi {
  color: #009999; }

/* Literal.Number.Integer */
.highlight .mo {
  color: #009999; }

/* Literal.Number.Oct */
.highlight .sb {
  color: #d14; }

/* Literal.String.Backtick */
.highlight .sc {
  color: #d14; }

/* Literal.String.Char */
.highlight .sd {
  color: #d14; }

/* Literal.String.Doc */
.highlight .s2 {
  color: #d14; }

/* Literal.String.Double */
.highlight .se {
  color: #d14; }

/* Literal.String.Escape */
.highlight .sh {
  color: #d14; }

/* Literal.String.Heredoc */
.highlight .si {
  color: #d14; }

/* Literal.String.Interpol */
.highlight .sx {
  color: #d14; }

/* Literal.String.Other */
.highlight .sr {
  color: #009926; }

/* Literal.String.Regex */
.highlight .s1 {
  color: #d14; }

/* Literal.String.Single */
.highlight .ss {
  color: #990073; }

/* Literal.String.Symbol */
.highlight .bp {
  color: #999999; }

/* Name.Builtin.Pseudo */
.highlight .vc {
  color: #008080; }

/* Name.Variable.Class */
.highlight .vg {
  color: #008080; }

/* Name.Variable.Global */
.highlight .vi {
  color: #008080; }

/* Name.Variable.Instance */
.highlight .il {
  color: #009999; }

/* Literal.Number.Integer.Long */
.logo {
  text-align: center; }
  @media (min-width: 769px) {
    .logo {
      display: inline-block;
      float: left;
      margin: 0;
      margin-left: 2.08333%; } }
  .logo img {
    display: inline-block;
    width: 240px; }

.jumbotron.header {
  /*        background: radial-gradient(ellipse closest-side, rgba(0,0,0,0), rgba(0,0,0,0.6)), url('../img/background-1.jpg');*/
  background-color: #111;
  background-image: url("../img/background-2.jpg");
  background-repeat: no-repeat;
  background-position: center 25%;
  background-size: cover;
  box-shadow: inset 0 0 40px black; }
@media (min-width: 769px) {
  .jumbotron .mainmenu {
    padding-top: 1rem;
    margin-bottom: 7rem; } }
.jumbotron .jumbotron-mission {
  font-size: 1.313rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 2rem;
  margin-bottom: 2rem;
  text-align: center;
  text-transform: uppercase;
  float: left;
  width: 91.66667%;
  margin-left: 4.16667%;
  margin-right: 4.16667%; }
  @media (min-width: 590px) {
    .jumbotron .jumbotron-mission {
      float: left;
      width: 75%;
      margin-left: 12.5%;
      margin-right: 12.5%;
      margin-top: 2rem;
      margin-bottom: 3rem; } }
  @media (min-width: 769px) {
    .jumbotron .jumbotron-mission {
      float: left;
      width: 50%;
      margin-left: 25%;
      margin-right: 25%; } }
.jumbotron .jumbotron-download {
  margin: 2rem auto;
  text-align: center;
  text-transform: uppercase; }
.jumbotron .jumbotron-logo {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  @media (min-width: 769px) {
    .jumbotron .jumbotron-logo {
      display: block;
      float: none; } }
  .jumbotron .jumbotron-logo img {
    display: block;
    width: 50%;
    min-width: 320px;
    margin: 0 auto; }

nav.mainmenu {
  display: block;
  margin: 0 auto 2rem auto;
  text-align: center; }
  nav.mainmenu ul {
    list-style: none; }
  nav.mainmenu li {
    display: inline-block;
    font-size: 12px;
    text-transform: uppercase; }
    nav.mainmenu li.active {
      border-bottom: 2px solid white; }
  nav.mainmenu li + li {
    margin-left: 2.08333%; }
  nav.mainmenu a, nav.mainmenu a:active, nav.mainmenu a:hover {
    border: none;
    color: #fff;
    font-weight: 400;
    text-decoration: none; }

.toc ul {
  list-style: none; }
.toc > ul {
  margin-left: 0; }
.toc > ul > li + li {
  margin-top: 1rem; }

.builtwithwicket {
  background-color: #eee;
  margin-left: -1rem;
  margin-right: -1rem;
  padding-bottom: 2rem;
  padding-left: 1rem;
  padding-right: 1rem; }
  .builtwithwicket .slick-prev::before,
  .builtwithwicket .slick-next::before {
    color: #FF9925; }

.builtwithwicket + hr {
  display: none; }

.builtwithwicket-post {
  padding: 1rem 1rem 0 1rem; }

.builtwithwicket-screenshot {
  margin: 0 auto;
  max-height: 20rem;
  min-height: 15rem;
  max-width: 100%;
  min-width: 50%;
  padding-bottom: 1rem; }

div.quickstart-wizard {
  background-color: #FF9925;
  border-radius: 3px;
  color: #ffffff;
  line-height: 2em;
  padding: 1rem 2rem 2rem 2rem; }
  div.quickstart-wizard label {
    display: block;
    font-weight: bold;
    margin-top: 0.5rem; }
  div.quickstart-wizard button,
  div.quickstart-wizard input,
  div.quickstart-wizard select,
  div.quickstart-wizard textarea {
    display: block;
    width: 100%;
    border: none;
    border-radius: 3px;
    padding: 0.5rem;
    color: #606060;
    height: 2rem; }
  div.quickstart-wizard textarea {
    height: 5rem; }
  div.quickstart-wizard button {
    background-color: #E68A00;
    color: white;
    height: 3em;
    margin-top: 1em;
    font-size: 1em;
    font-weight: 200; }

.quickstart ol {
  margin-left: 0;
  padding-left: 0;
  counter-reset: item; }
.quickstart ol > li {
  margin-left: 2.5rem;
  padding-left: 0;
  counter-increment: item;
  list-style: none inside;
  margin-bottom: 10px; }
.quickstart ol > li:before {
  background: #FF9925;
  border-radius: 50%;
  color: #fff;
  content: counter(item);
  display: inline-block;
  height: 2rem;
  margin-left: -2.5rem;
  margin-right: 0.5rem;
  padding-top: 0.3333rem;
  text-align: center;
  vertical-align: baseline;
  font-weight: bold;
  width: 2rem; }

code, pre, code > span, pre > span {
  font-family: 'Source Code Pro', 'courier new', monospace;
  font-size: 0.875rem; }

a {
  border-color: #FF9925;
  border-style: none none dotted none;
  border-width: 0 0 1px 0;
  cursor: pointer;
  font-weight: 400;
  text-decoration: none; }
  a:hover {
    color: #ffb158; }

h1 a, h2 a, h3 a {
  border: none; }

div.header {
  background-image: url("../img/background-2.jpg");
  background-repeat: no-repeat;
  background-position: center 25%;
  background-size: cover;
  background-color: #111;
  color: #fff;
  display: block;
  position: relative;
  width: 100%; }

.default nav.mainmenu {
  margin: 0; }
  @media (min-width: 769px) {
    .default nav.mainmenu {
      display: inline-block;
      margin: 0;
      width: 62.5%;
      float: right; } }
.default a, .default a:hover, .default a:active, .default a:visited {
  border: none; }

.preamble {
  font-weight: 300;
  line-height: 2;
  text-align: center; }
  .preamble h1 {
    font-weight: 300;
    padding-top: 2rem; }
  .preamble h2 {
    color: #FF9925;
    font-weight: 300; }
  .preamble h1 + *,
  .preamble h2 + *,
  .preamble img + * {
    padding-top: 2rem; }
  .preamble h1:last-child,
  .preamble h2:last-child,
  .preamble img:last-child {
    margin-bottom: 2rem; }
  .preamble p {
    font-size: 1.125rem;
    text-align: left; }

.index .preamble {
  margin-bottom: 2rem; }
  .index .preamble p {
    text-align: center; }

.news ul {
  list-style: none;
  margin-left: 0;
  padding-left: 0; }
.news li {
  display: block;
  margin-left: 0;
  margin-bottom: 2rem;
  padding-left: 0; }

.l-full hr,
.l-half hr,
.l-one-third hr,
.l-one-sixth hr,
.l-one-quarter hr,
.l-one-eigth hr,
.l-two-third hr {
  margin-left: 0;
  margin-right: 0; }

pre {
  margin: 1rem 0; }

article + article {
  border-top: 1px solid #ccd6d2;
  clear: both;
  margin-top: 2rem;
  padding-top: 2rem; }

.button-bar {
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  margin-bottom: 2rem;
  width: 100%; }
  .button-bar .button {
    -webkit-flex: 1;
    flex: 1;
    padding: 1rem;
    text-align: center; }
    .button-bar .button + .button {
      margin-left: 0.5rem; }
    .button-bar .button i {
      font-size: 3rem; }
