@import url(../fonts/source-code-pro/stylesheet.css);
@import url(../fonts/source-sans-pro/stylesheet.css);
@import url(../fonts/wicket-font/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%;
}
@media (min-width: 769px) {
  html {
    font-size: 17px;
  }
}

body {
  line-height: 1.5em;
  background-color: #fff;
}

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: #E97826;
  cursor: pointer;
  text-decoration: none;
}
a:hover {
  color: #ee9554;
}

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 {
  width: 31.25%;
  margin-left: 0%;
  margin-right: 2.0833333333%;
}
dl.advanced dd {
  width: 66.6666666667%;
  margin-left: 0%;
  margin-right: 0%;
}

main {
  box-shadow: 0 0.5rem 3rem #f0f0f0;
}

.announce {
  font-weight: bold !important;
  font-size: 4rem;
  color: rgb(48, 50, 132);
}

.l-full {
  width: 100%;
  float: none;
}
@media (min-width: 960px) {
  .l-full {
    width: 95.8333333333%;
    margin-left: 2.0833333333%;
    margin-right: 2.0833333333%;
  }
}

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

@media (min-width: 960px) {
  .l-half {
    width: 45.8333333333%;
    margin-left: 2.0833333333%;
    margin-right: 2.0833333333%;
  }
}

@media (min-width: 960px) {
  .l-one-quarter {
    width: 20.8333333333%;
    margin-left: 2.0833333333%;
    margin-right: 2.0833333333%;
  }
}

@media (min-width: 960px) {
  .l-one-eigth {
    width: 8.3333333333%;
    margin-left: 2.0833333333%;
    margin-right: 2.0833333333%;
  }
}

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

@media (min-width: 960px) {
  .l-one-third {
    width: 29.1666666667%;
    margin-left: 2.0833333333%;
    margin-right: 2.0833333333%;
  }
}

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

.l-first {
  clear: left;
}

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

@media (min-width: 960px) {
  .l-button-table {
    display: flex;
    justify-content: center;
  }
}

.l-button-table > .l-two-third {
  float: none;
  margin-left: 0;
  margin-right: 0;
}

.l-flex {
  display: flex;
  flex-wrap: wrap;
}

.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--alert,
input[type=submit].button--alert,
button.button--alert, .button--success,
input[type=submit].button--success,
button.button--success, .button--neutral,
input[type=submit].button--neutral,
button.button--neutral, .button,
input[type=submit],
button {
  -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--alert:focus, .button--success:focus, .button--neutral:focus, .button:focus,
input[type=submit]:focus,
button:focus {
  outline: 0;
}

.button,
input[type=submit],
button {
  background: #FF9925;
  color: #fff;
}
.button:hover,
input[type=submit]:hover,
button:hover {
  background: #ee9554;
  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;
  }
}
.lineno {
  text-align: right;
  margin-right: 0.5rem;
}

.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 */
.responsive-logo {
  width: 100%;
  max-width: 200px;
  height: auto;
}

.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 rgb(0, 0, 0);
}
@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;
  width: 91.6666666667%;
  margin-left: 4.1666666667%;
  margin-right: 4.1666666667%;
}
@media (min-width: 590px) {
  .jumbotron .jumbotron-mission {
    width: 75%;
    margin-left: 12.5%;
    margin-right: 12.5%;
    margin-top: 2rem;
    margin-bottom: 3rem;
  }
}
@media (min-width: 769px) {
  .jumbotron .jumbotron-mission {
    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;
}
.jumbotron .jumbotron-version {
  text-transform: lowercase;
  color: white;
}

nav.mainmenu {
  display: block;
  margin: 0 auto 2rem auto;
  text-align: center;
  padding-top: 12px;
  display: inline-block;
  text-transform: uppercase;
  font-weight: bold;
}
nav.mainmenu.active {
  border-bottom: 2px solid white;
}
nav.mainmenu li + li {
  margin-left: 2.0833333333%;
}
nav.mainmenu a, nav.mainmenu a:active {
  border: none;
  color: #E97826;
  font-weight: 500;
  text-decoration: none;
}
nav.mainmenu a:hover {
  color: #303284;
}

.nav-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.nav-container:last-child {
  flex-grow: 1;
  justify-content: flex-end;
  font-size: 2rem;
  flex-wrap: nowrap;
}
@media (max-width: 769px) {
  .nav-container:last-child {
    justify-content: center;
  }
}

.nav-items {
  padding-right: 1rem;
}
.nav-items:hover {
  color: #E97826;
}

.nav-logo {
  text-align: center;
  display: flex;
  padding-right: 1rem;
}
@media (max-width: 769px) {
  .nav-logo {
    margin: 0;
    margin-left: 2.0833333333%;
    justify-content: center;
    align-items: center;
  }
}
.nav-logo img {
  display: inline-block;
  width: 200px;
}

.toc ul {
  list-style: none;
}
.toc > ul {
  margin-left: 0;
}
.toc > ul > li + li {
  margin-top: 1rem;
}
@media (min-width: 590px) {
  .toc {
    display: none;
  }
}

.toc.post.index {
  display: none;
}

.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: #E97826;
}

.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;
}

.wicket8 nav.mainmenu a, .wicket8 nav.mainmenu a:active, .wicket8 nav.mainmenu a:hover {
  color: #111111;
}
.wicket8 .header {
  color: #111111;
}
.wicket8 .jumbotron.header {
  background-color: #BF866F;
  background-image: url("../img/background-4.jpg");
  background-repeat: no-repeat;
  background-position: center 50%;
  background-size: cover;
  box-shadow: none;
}
.wicket8 .jumbotron .jumbotron-version {
  color: #111111;
}
.wicket8 .jumbotron .jumbotron-poweredbyasf {
  margin: 0 auto;
  text-align: center;
}
.wicket8 .jumbotron .jumbotron-poweredbyasf b {
  font-weight: bold;
}
.wicket8 .jumbotron .jumbotron-mission {
  font-size: 2rem;
  font-weight: bold;
}

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

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

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

div.header {
  background-color: white;
  border-bottom: 1px solid #e1e1e1;
  box-shadow: 0 0.5rem 3rem #f0f0f0;
  color: #E97826;
  display: block;
  position: relative;
  width: 100%;
}

.default nav.mainmenu {
  margin: 0;
  padding-right: 1em;
  display: flex;
}
@media (max-width: 769px) {
  .default nav.mainmenu {
    display: block;
  }
}
.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;
}
.preamble h2 {
  color: #E97826;
  font-weight: 300;
}
.preamble h1 + *,
.preamble h2 + *,
.preamble img + * {
  padding-top: 1rem;
}
.preamble h1:last-child,
.preamble h2:last-child,
.preamble img:last-child {
  margin-bottom: 2rem;
}
.preamble p {
  font-size: 1.313rem;
  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;
}

th {
  text-align: left;
}

.media-bar {
  clear: both;
}
.media-bar a {
  border: none;
}
.media-bar a > img {
  width: 100%;
}

.color-brand {
  color: #FF9925;
}

.wicket7.header {
  background-color: #E97826;
  background-image: url(/img/wicket-7-bg.jpg);
  margin-bottom: 0;
  text-align: center;
}
.wicket7.header a {
  border: none;
  margin: 0;
  padding: 0;
  height: 0;
}
.wicket7.header img {
  min-width: 240px;
  width: 33%;
  margin: 0 auto;
  padding: 6rem 0 4rem;
}
.wicket7.header nav.mainmenu {
  background-color: #E97826;
  line-height: 3em;
  margin-top: 1rem;
  margin-bottom: 0;
  padding-right: 1em;
}
.wicket7.header nav.mainmenu ul {
  margin-bottom: 0;
}
@media screen and (orientation: portrait) {
  .wicket7.header nav.mainmenu {
    padding-bottom: 0.25rem;
  }
}
.wicket7.header .submenu {
  background-color: white;
  color: black;
  display: block;
  font-size: 10pt;
  margin: 0 auto 0rem auto;
  padding-top: 0.5rem;
  padding-right: 1em;
  text-align: center;
}
.wicket7.header .submenu ul {
  list-style: none;
}
.wicket7.header .submenu li {
  display: inline-block;
  font-size: 12px;
}
.wicket7.header .submenu li.active {
  border-bottom: 2px solid;
}
.wicket7.header .submenu li + li {
  margin-left: 2.0833333333%;
}
.wicket7.header .submenu a, .wicket7.header .submenu a:active, .wicket7.header .submenu a:hover {
  border: none;
  font-weight: 400;
  text-decoration: none;
  text-transform: uppercase;
}

/*# sourceMappingURL=style.css.map */