@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; 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 { float: left; width: 31.25%; margin-left: 0%; margin-right: 2.0833333333%; }

dl.advanced dd { float: left; width: 66.6666666667%; margin-left: 0%; margin-right: 0%; }

.l-full { width: 100%; }

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

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

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

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

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

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

@media (min-width: 590px) { .l-one-third { float: left; 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 { float: left; 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: 769px) { .l-container { padding: 2rem; } }

.l-menu-container { padding: 1rem; }

.l-menu-container:before, .l-menu-container:after { content: ""; display: table; }

.l-menu-container:after { clear: both; }

.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.button--alert[type=submit], button.button--alert, .button--success, input.button--success[type=submit], button.button--success, .button--neutral, input.button--neutral[type=submit], 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.button--neutral[type=submit], button.button--neutral { background: #ccd6d2; color: #3f4542; }

.button--neutral:hover, input.button--neutral[type=submit]:hover, button.button--neutral:hover { background: #8d9994; color: #3f4542; }

.button--neutral:active, .button--neutral:focus, input.button--neutral[type=submit]:active, input.button--neutral[type=submit]:focus, button.button--neutral:active, button.button--neutral:focus { box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); }

.button--success, input.button--success[type=submit], button.button--success { background-color: #39b924; color: #fff; }

.button--success:hover, input.button--success[type=submit]:hover, button.button--success:hover { background-color: #249c11; color: #fff; }

.button--success:active, .button--success:focus, input.button--success[type=submit]:active, input.button--success[type=submit]:focus, button.button--success:active, button.button--success:focus { box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); }

.button--alert, input.button--alert[type=submit], button.button--alert { background-color: #f3490d; color: #fff; }

.button--alert:hover, input.button--alert[type=submit]:hover, button.button--alert:hover { background-color: #d33e09; color: #fff; }

.button--alert:active, .button--alert:focus, input.button--alert[type=submit]:active, input.button--alert[type=submit]: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 */
.logo { text-align: center; }

@media (min-width: 769px) { .logo { display: inline-block; float: left; margin: 0; margin-left: 2.0833333333%; margin-left: 0; } }

.logo img { display: inline-block; width: 160px; }

.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.6666666667%; margin-left: 4.1666666667%; margin-right: 4.1666666667%; }

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

.jumbotron .jumbotron-version { text-transform: lowercase; color: white; }

nav.mainmenu { display: block; margin: 0 auto 2rem auto; text-align: center; padding-top: 12px; }

nav.mainmenu ul { list-style: none; }

nav.mainmenu li { display: inline-block; font-size: 18px; text-transform: uppercase; font-weight: bold; }

nav.mainmenu li.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; }

@media screen and (orientation: portrait) { nav.mainmenu { padding-bottom: 50px; } }

.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: #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 .5rem 3rem #f0f0f0; color: #fff; display: block; position: relative; width: 100%; }

.default nav.mainmenu { margin: 0; padding-right: 1em; }

@media (min-width: 769px) { .default nav.mainmenu { display: inline-block; margin: 0; width: 68.75%; 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: #E97826; 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; }

th { text-align: left; }

.media-bar { clear: both; }

.media-bar a { border: none; }

.media-bar a > img { width: 100%; }

.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 */