diff --git a/dist/css/main.css b/dist/css/main.css
new file mode 100644
index 0000000000..6e41d644f5
--- /dev/null
+++ b/dist/css/main.css
@@ -0,0 +1,6078 @@
+@charset "UTF-8";
+/**
+ * Zeste de Savoir
+ * Main style file, imports everything
+ * @file main.scss
+ */
+/*------------------------
+1. Normalize
+------------------------*/
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS and IE text size adjust after device orientation change,
+ * without disabling user zoom.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ -ms-text-size-adjust: 100%;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */ }
+
+/**
+ * Remove default margin.
+ */
+body {
+ margin: 0; }
+
+/* HTML5 display definitions
+ ========================================================================== */
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block; }
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ /* 1 */
+ vertical-align: baseline;
+ /* 2 */ }
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+ */
+[hidden],
+template {
+ display: none; }
+
+/* Links
+ ========================================================================== */
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background-color: transparent; }
+
+/**
+ * Improve readability of focused elements when they are also in an
+ * active/hover state.
+ */
+a:active,
+a:hover {
+ outline: 0; }
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+b,
+strong {
+ font-weight: bold; }
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+dfn {
+ font-style: italic; }
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+mark {
+ background: #ff0;
+ color: #000; }
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+/* Embedded content
+ ========================================================================== */
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+img {
+ border: 0; }
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+svg:not(:root) {
+ overflow: hidden; }
+
+/* Grouping content
+ ========================================================================== */
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+figure {
+ margin: 1em 40px; }
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+hr {
+ box-sizing: content-box;
+ height: 0; }
+
+/**
+ * Contain overflow in all browsers.
+ */
+pre {
+ overflow: auto; }
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em; }
+
+/* Forms
+ ========================================================================== */
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+ margin: 0;
+ /* 3 */ }
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+button {
+ overflow: visible; }
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+button,
+select {
+ text-transform: none; }
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+button,
+html input[type="button"], input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */
+ cursor: pointer;
+ /* 3 */ }
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+button[disabled],
+html input[disabled] {
+ cursor: default; }
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+input {
+ line-height: normal; }
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+ */
+input[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ box-sizing: content-box;
+ /* 2 */ }
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em; }
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+legend {
+ border: 0;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+textarea {
+ overflow: auto; }
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+optgroup {
+ font-weight: bold; }
+
+/* Tables
+ ========================================================================== */
+/**
+ * Remove most spacing between table cells.
+ */
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td,
+th {
+ padding: 0; }
+
+/*------------------------
+2. Base
+------------------------*/
+html {
+ height: 100%;
+ width: 100%;
+ font-size: 62.5%;
+ overflow-x: hidden;
+ word-wrap: break-word; }
+
+body {
+ background: #F7F7F7;
+ font-size: 14px;
+ font-size: 1.4rem;
+ line-height: 1.7em;
+ min-height: 100%;
+ width: 100%; }
+
+.page-container,
+.main-container {
+ min-height: 100%;
+ background: #F7F7F7; }
+
+.content-container {
+ margin-bottom: 50px; }
+
+img {
+ vertical-align: middle; }
+
+fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0; }
+
+textarea {
+ resize: vertical; }
+
+.chromeframe {
+ margin: 0;
+ background: #ccc;
+ color: #000;
+ padding: 0.2em 0;
+ text-align: center;
+ position: fixed;
+ z-index: 9999;
+ width: 100%; }
+
+.a11y {
+ display: block;
+ width: 0;
+ height: 0;
+ text-indent: -9999px; }
+
+nav ul,
+nav ol {
+ list-style: none; }
+
+@media only screen and (min-width: 960px) {
+ html,
+ body,
+ .page-container {
+ height: 100%; }
+ .main-container {
+ min-height: calc(100% - 136px); }
+ .wrapper {
+ width: 95%;
+ margin: 0 2.5%; } }
+
+@media only screen and (max-width: 959px) {
+ body {
+ background: #222; }
+ body:not(.swipping) .page-container,
+ body:not(.swipping) .mobile-menu {
+ -webkit-transition-property: -webkit-transform;
+ transition-property: transform;
+ -webkit-transition-duration: 0.3s;
+ transition-duration: 0.3s;
+ -webkit-transition-timing-function: ease;
+ transition-timing-function: ease; }
+ body.swipping * {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ pointer-events: none; } }
+
+.table-wrapper {
+ max-width: 100%;
+ overflow: auto; }
+
+table {
+ margin: 15px 0;
+ border-top: 1px solid #DDD; }
+ table thead {
+ background: #DDD;
+ color: #084561; }
+ table th, table td {
+ text-align: left;
+ padding: 5px 15px 5px 7px;
+ border-right: 1px solid #DDD; }
+ table th:first-child, table td:first-child {
+ border-left: 1px solid #DDD; }
+ table th p, table td p {
+ margin: 0; }
+ table tbody tr {
+ background: #FDFDFD;
+ border-bottom: 1px solid #DDD; }
+ table tbody tr:nth-child(2n+1) {
+ background: #F7F7F7; }
+ table.fullwidth {
+ width: 100%; }
+
+/* Specific for diff */
+.diff_delta {
+ overflow-x: auto;
+ width: 100%;
+ margin: 15px 0;
+ /* add margin to container */ }
+ .diff_delta table.diff {
+ font-family: monospace, serif;
+ font-size: 0.9em;
+ border: 2px solid gray;
+ margin: 0;
+ /* abort table default margin */ }
+ .diff_delta table.diff tr {
+ line-height: 1em;
+ border-bottom: none; }
+ .diff_delta table.diff .diff_header {
+ background-color: #e0e0e0;
+ padding: 5px; }
+ .diff_delta table.diff td.diff_header {
+ text-align: right; }
+ .diff_delta table.diff .diff_next {
+ display: none; }
+
+.diff_add {
+ /* added text */
+ background-color: #aaffaa; }
+
+.diff_chg {
+ /* changed text */
+ background-color: #fff8ab; }
+
+.diff_sub {
+ /* deleted text */
+ background-color: #ffaaaa; }
+
+.content-container form,
+#modals form {
+ width: 100%; }
+ .content-container form.content-wrapper,
+ #modals form.content-wrapper {
+ width: calc(100% - 20px);
+ margin: 0 10px; }
+ .content-container form p,
+ #modals form p {
+ position: relative; }
+
+.content-container fieldset,
+#modals fieldset {
+ border-top: 1px solid #DDD;
+ border-bottom: 3px solid #DDD;
+ background: #EFEFEF;
+ padding: 0 4%; }
+ .content-container fieldset legend,
+ #modals fieldset legend {
+ padding: 0 10px;
+ border-top: 1px solid #DDD;
+ border-bottom: 3px solid #DDD;
+ background: #EFEFEF; }
+
+.content-container label,
+#modals label {
+ display: block;
+ color: #555;
+ height: 30px;
+ line-height: 30px; }
+ .content-container label .asteriskField,
+ #modals label .asteriskField {
+ color: #C0392B;
+ margin-left: 4px; }
+
+.content-container .small-content-wrapper .asteriskField,
+#modals .small-content-wrapper .asteriskField {
+ display: none; }
+
+.content-container .form-error,
+#modals .form-error {
+ display: block;
+ font-size: 13px;
+ color: #C0392B; }
+
+.content-container input,
+.content-container textarea,
+#modals input,
+#modals textarea {
+ border: 1px solid #D2D5D6; }
+ .content-container input:focus,
+ .content-container textarea:focus,
+ #modals input:focus,
+ #modals textarea:focus {
+ outline-color: #999; }
+ .content-container input.field-error,
+ .content-container input:invalid,
+ .content-container textarea.field-error,
+ .content-container textarea:invalid,
+ #modals input.field-error,
+ #modals input:invalid,
+ #modals textarea.field-error,
+ #modals textarea:invalid {
+ border-color: #C0392B; }
+ .content-container input.field-error:focus,
+ .content-container input:invalid:focus,
+ .content-container textarea.field-error:focus,
+ .content-container textarea:invalid:focus,
+ #modals input.field-error:focus,
+ #modals input:invalid:focus,
+ #modals textarea.field-error:focus,
+ #modals textarea:invalid:focus {
+ outline-color: #C0392B; }
+ .content-container input[disabled],
+ .content-container input .disabled,
+ .content-container textarea[disabled],
+ .content-container textarea .disabled,
+ #modals input[disabled],
+ #modals input .disabled,
+ #modals textarea[disabled],
+ #modals textarea .disabled {
+ background: #DDD !important;
+ color: #555; }
+
+.content-container input,
+.content-container textarea,
+.content-container button,
+.content-container .btn,
+#modals input,
+#modals textarea,
+#modals button,
+#modals .btn {
+ -webkit-appearance: none;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+
+.content-container input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]),
+#modals input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]) {
+ width: calc(98% - 2px);
+ padding: 0 1%; }
+
+.content-container textarea,
+#modals textarea {
+ width: calc(98% - 2px);
+ padding: 10px 1%;
+ font-family: monospace, serif; }
+
+.content-container input,
+.content-container button,
+.content-container .btn,
+#modals input,
+#modals button,
+#modals .btn {
+ display: block;
+ height: 30px; }
+ .content-container input.ico-after,
+ .content-container button.ico-after,
+ .content-container .btn.ico-after,
+ #modals input.ico-after,
+ #modals button.ico-after,
+ #modals .btn.ico-after {
+ padding-left: 30px; }
+ .content-container input.ico-after:after,
+ .content-container button.ico-after:after,
+ .content-container .btn.ico-after:after,
+ #modals input.ico-after:after,
+ #modals button.ico-after:after,
+ #modals .btn.ico-after:after {
+ margin: 12px 0 0 7px; }
+
+.content-container [type=submit],
+.content-container button:not(.link),
+.content-container .btn,
+#modals [type=submit],
+#modals button:not(.link),
+#modals .btn {
+ position: relative;
+ height: 40px;
+ line-height: 40px;
+ cursor: pointer;
+ color: #DDD;
+ padding: 0 15px;
+ border: none;
+ text-decoration: none;
+ margin-left: 1px;
+ outline: none; }
+ .content-container [type=submit].submitted,
+ .content-container button:not(.link).submitted,
+ .content-container .btn.submitted,
+ #modals [type=submit].submitted,
+ #modals button:not(.link).submitted,
+ #modals .btn.submitted {
+ color: #555; }
+ .content-container [type=submit].submitted .line-loading,
+ .content-container button:not(.link).submitted .line-loading,
+ .content-container .btn.submitted .line-loading,
+ #modals [type=submit].submitted .line-loading,
+ #modals button:not(.link).submitted .line-loading,
+ #modals .btn.submitted .line-loading {
+ display: block;
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 0%;
+ height: 1px;
+ background: #555;
+ -webkit-animation: lineLoading linear 1s infinite;
+ animation: lineLoading linear 1s infinite; }
+ .content-container [type=submit]:not(.btn-holder),
+ .content-container button:not(.link):not(.btn-holder),
+ .content-container .btn:not(.btn-holder),
+ #modals [type=submit]:not(.btn-holder),
+ #modals button:not(.link):not(.btn-holder),
+ #modals .btn:not(.btn-holder) {
+ float: right; }
+
+.content-container [type=submit]:not(.link),
+.content-container .btn-submit:not(.link),
+#modals [type=submit]:not(.link),
+#modals .btn-submit:not(.link) {
+ color: #FFF;
+ background: #48a200; }
+ .content-container [type=submit]:not(.link):not([disabled]):hover,
+ .content-container [type=submit]:not(.link):not([disabled]):focus,
+ .content-container [type=submit]:not(.link):not(.disabled):hover,
+ .content-container [type=submit]:not(.link):not(.disabled):focus,
+ .content-container .btn-submit:not(.link):not([disabled]):hover,
+ .content-container .btn-submit:not(.link):not([disabled]):focus,
+ .content-container .btn-submit:not(.link):not(.disabled):hover,
+ .content-container .btn-submit:not(.link):not(.disabled):focus,
+ #modals [type=submit]:not(.link):not([disabled]):hover,
+ #modals [type=submit]:not(.link):not([disabled]):focus,
+ #modals [type=submit]:not(.link):not(.disabled):hover,
+ #modals [type=submit]:not(.link):not(.disabled):focus,
+ #modals .btn-submit:not(.link):not([disabled]):hover,
+ #modals .btn-submit:not(.link):not([disabled]):focus,
+ #modals .btn-submit:not(.link):not(.disabled):hover,
+ #modals .btn-submit:not(.link):not(.disabled):focus {
+ background: #58c600; }
+ .content-container [type=submit]:not(.link).disabled.submitted,
+ .content-container .btn-submit:not(.link).disabled.submitted,
+ #modals [type=submit]:not(.link).disabled.submitted,
+ #modals .btn-submit:not(.link).disabled.submitted {
+ color: #48a200; }
+ .content-container [type=submit]:not(.link).disabled.submitted .line-loading,
+ .content-container .btn-submit:not(.link).disabled.submitted .line-loading,
+ #modals [type=submit]:not(.link).disabled.submitted .line-loading,
+ #modals .btn-submit:not(.link).disabled.submitted .line-loading {
+ background: #48a200; }
+
+.content-container .btn-cancel:not(.link),
+#modals .btn-cancel:not(.link) {
+ background: #c0392b; }
+ .content-container .btn-cancel:not(.link):not([disabled]):hover,
+ .content-container .btn-cancel:not(.link):not([disabled]):focus,
+ .content-container .btn-cancel:not(.link):not(.disabled):hover,
+ .content-container .btn-cancel:not(.link):not(.disabled):focus,
+ #modals .btn-cancel:not(.link):not([disabled]):hover,
+ #modals .btn-cancel:not(.link):not([disabled]):focus,
+ #modals .btn-cancel:not(.link):not(.disabled):hover,
+ #modals .btn-cancel:not(.link):not(.disabled):focus {
+ background: #d34a3b; }
+ .content-container .btn-cancel:not(.link).disabled.submitted,
+ #modals .btn-cancel:not(.link).disabled.submitted {
+ color: #c0392b; }
+ .content-container .btn-cancel:not(.link).disabled.submitted .line-loading,
+ #modals .btn-cancel:not(.link).disabled.submitted .line-loading {
+ background: #c0392b; }
+
+.content-container .btn-grey:not(.link),
+#modals .btn-grey:not(.link) {
+ background: #EEE;
+ color: #555; }
+ .content-container .btn-grey:not(.link):not([disabled]):hover,
+ .content-container .btn-grey:not(.link):not([disabled]):focus,
+ .content-container .btn-grey:not(.link):not(.disabled):hover,
+ .content-container .btn-grey:not(.link):not(.disabled):focus,
+ #modals .btn-grey:not(.link):not([disabled]):hover,
+ #modals .btn-grey:not(.link):not([disabled]):focus,
+ #modals .btn-grey:not(.link):not(.disabled):hover,
+ #modals .btn-grey:not(.link):not(.disabled):focus {
+ background: #CCC;
+ color: #333; }
+ .content-container .btn-grey:not(.link).disabled.submitted,
+ #modals .btn-grey:not(.link).disabled.submitted {
+ color: #555; }
+ .content-container .btn-grey:not(.link).disabled.submitted .line-loading,
+ #modals .btn-grey:not(.link).disabled.submitted .line-loading {
+ background: #999; }
+
+.content-container [disabled],
+.content-container .disabled,
+#modals [disabled],
+#modals .disabled {
+ cursor: default !important;
+ background: #EEE !important; }
+ .content-container [disabled]:not(.submitted),
+ .content-container .disabled:not(.submitted),
+ #modals [disabled]:not(.submitted),
+ #modals .disabled:not(.submitted) {
+ color: #BBB !important; }
+
+.content-container .btn-facebook:not(.link),
+#modals .btn-facebook:not(.link) {
+ background: #3b5998; }
+ .content-container .btn-facebook:not(.link):hover,
+ .content-container .btn-facebook:not(.link):focus,
+ #modals .btn-facebook:not(.link):hover,
+ #modals .btn-facebook:not(.link):focus {
+ background: #2d4373; }
+
+.content-container .btn-twitter:not(.link),
+#modals .btn-twitter:not(.link) {
+ background: #4099FF; }
+ .content-container .btn-twitter:not(.link):hover,
+ .content-container .btn-twitter:not(.link):focus,
+ #modals .btn-twitter:not(.link):hover,
+ #modals .btn-twitter:not(.link):focus {
+ background: #0d7eff; }
+
+.content-container .btn-google-plus:not(.link),
+#modals .btn-google-plus:not(.link) {
+ background: #d34836; }
+ .content-container .btn-google-plus:not(.link):hover,
+ .content-container .btn-google-plus:not(.link):focus,
+ #modals .btn-google-plus:not(.link):hover,
+ #modals .btn-google-plus:not(.link):focus {
+ background: #b03626; }
+
+.content-container .btn-facebook,
+.content-container .btn-twitter,
+.content-container .btn-google-plus,
+#modals .btn-facebook,
+#modals .btn-twitter,
+#modals .btn-google-plus {
+ width: 50%;
+ margin: 0 auto;
+ text-align: center; }
+
+.content-container .btn-holder,
+.content-container .buttonHolder,
+#modals .btn-holder,
+#modals .buttonHolder {
+ margin-top: 25px;
+ min-height: 40px; }
+
+.wf-active .content-container textarea,
+.wf-active #modals textarea {
+ font-family: "Source Code Pro", monospace, serif; }
+
+.main-container input[type=radio],
+.main-container input[type=checkbox],
+#modals input[type=radio],
+#modals input[type=checkbox] {
+ float: left;
+ margin-right: 5px;
+ height: 15px;
+ width: 15px;
+ border: 1px solid #BBB;
+ background: #FCFCFC;
+ -webkit-transition: none;
+ transition: none; }
+ .main-container input[type=radio]:checked,
+ .main-container input[type=checkbox]:checked,
+ #modals input[type=radio]:checked,
+ #modals input[type=checkbox]:checked {
+ background-image: url("../images/sprite.png"); }
+
+.main-container input[type=radio],
+#modals input[type=radio] {
+ border-radius: 50%; }
+
+.main-container input[type=radio]:checked,
+#modals input[type=radio]:checked {
+ background-position: 0px -13px; }
+
+.main-container input[type=checkbox]:checked,
+#modals input[type=checkbox]:checked {
+ background-position: 0px 0px; }
+
+.main-container .checkbox,
+.main-container .radio,
+#modals .checkbox,
+#modals .radio {
+ padding: 10px 0; }
+ .main-container .checkbox input,
+ .main-container .radio input,
+ #modals .checkbox input,
+ #modals .radio input {
+ margin-top: 8px; }
+
+.main-container .controls .radio,
+#modals .controls .radio {
+ padding-top: 3px;
+ padding-bottom: 0; }
+
+@media only screen and (min-width: 960px) {
+ .content-container form.content-wrapper,
+ #modals form.content-wrapper {
+ margin: 0;
+ width: 100%; } }
+
+@-webkit-keyframes lineLoading {
+ 0% {
+ width: 0%;
+ left: 0;
+ right: inherit; }
+ 49% {
+ left: 0;
+ right: inherit; }
+ 50% {
+ width: 100%;
+ left: inherit;
+ right: 0; }
+ 100% {
+ left: inherit;
+ right: 0; } }
+
+@keyframes lineLoading {
+ 0% {
+ width: 0%;
+ left: 0;
+ right: inherit; }
+ 49% {
+ left: 0;
+ right: inherit; }
+ 50% {
+ width: 100%;
+ left: inherit;
+ right: 0; }
+ 100% {
+ left: inherit;
+ right: 0; } }
+
+/*------------------------
+3. Typography
+------------------------*/
+html,
+body,
+button,
+input,
+select,
+textarea {
+ font-family: "Segoe UI", "Trebuchet MS", Helvetica, "Helvetica Neue", Arial, sans-serif;
+ color: #222; }
+ .wf-active html,
+ .no-js html,
+ .wf-active body,
+ .no-js body,
+ .wf-active button,
+ .no-js button,
+ .wf-active input,
+ .no-js input,
+ .wf-active select,
+ .no-js select,
+ .wf-active textarea,
+ .no-js textarea {
+ font-family: "Source Sans Pro", "Segoe UI", "Trebuchet MS", Helvetica, "Helvetica Neue", Arial, sans-serif; }
+
+hr {
+ display: block;
+ height: 1px;
+ border: 0;
+ border-top: 1px solid #ccc;
+ margin: 1em 0;
+ padding: 0; }
+
+a,
+.link {
+ color: #1088bf;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ a:hover,
+ .link:hover {
+ color: #d68807;
+ text-decoration: none; }
+
+button.link {
+ display: inline-block;
+ background: none;
+ border: none;
+ text-decoration: underline; }
+
+/*------------------------
+4. Icons
+------------------------*/
+.ico {
+ background-repeat: no-repeat;
+ background-image: url("../images/sprite.png"); }
+
+.ico-after {
+ position: relative; }
+ .ico-after:after {
+ content: " ";
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 16px;
+ height: 16px;
+ background-repeat: no-repeat;
+ background-image: url("../images/sprite.png"); }
+ .ico-after.alert:after {
+ background-position: 0px -546px; }
+ .ico-after.arrow-left:after {
+ background-position: 0px -186px; }
+ .ico-after.arrow-left.blue:after {
+ background-position: 0px -4226px; }
+ .ico-after.arrow-left.light:after {
+ background-position: 0px -146px; }
+ .ico-after.offline:after,
+ .ico-after.arrow-right:after {
+ background-position: 0px -306px; }
+ .ico-after.offline.blue:after,
+ .ico-after.arrow-right.blue:after {
+ background-position: 0px -226px; }
+ .ico-after.offline.light:after,
+ .ico-after.arrow-right.light:after {
+ background-position: 0px -266px; }
+ .ico-after.beta:after {
+ background-position: 0px -466px; }
+ .ico-after.beta.blue:after {
+ background-position: 0px -386px; }
+ .ico-after.beta.light:after {
+ background-position: 0px -426px; }
+ .ico-after.cite:after {
+ background-position: 0px -706px; }
+ .ico-after.cite.blue:after {
+ background-position: 0px -626px; }
+ .ico-after.cite.light:after {
+ background-position: 0px -666px; }
+ .ico-after.cross:after {
+ background-position: 0px -906px; }
+ .ico-after.cross.blue:after {
+ background-position: 0px -746px; }
+ .ico-after.cross.red:after {
+ background-position: 0px -826px; }
+ .ico-after.cross.light:after {
+ background-position: 0px -786px; }
+ .ico-after.cross.white:after {
+ background-position: 0px -866px; }
+ .ico-after.download:after {
+ background-position: 0px -1146px; }
+ .ico-after.download.blue:after {
+ background-position: 0px -1066px; }
+ .ico-after.download.light:after {
+ background-position: 0px -1106px; }
+ .ico-after.downvote:after {
+ background-position: 0px -3826px; }
+ .ico-after.downvote.voted:after {
+ background-position: 0px -3786px; }
+ .ico-after.edit:after {
+ background-position: 0px -1266px; }
+ .ico-after.edit.blue:after {
+ background-position: 0px -1186px; }
+ .ico-after.edit.light:after {
+ background-position: 0px -1226px; }
+ .ico-after.email:after {
+ background-position: 0px -1386px; }
+ .ico-after.email.blue:after {
+ background-position: 0px -1306px; }
+ .ico-after.email.light:after {
+ background-position: 0px -1346px; }
+ .ico-after.diaspora:after {
+ background-position: 0px -1026px; }
+ .ico-after.diaspora.blue:after {
+ background-position: 0px -946px; }
+ .ico-after.diaspora.light:after {
+ background-position: 0px -986px; }
+ .ico-after.facebook:after {
+ background-position: 0px -1546px; }
+ .ico-after.facebook.blue:after {
+ background-position: 0px -1466px; }
+ .ico-after.facebook.light:after {
+ background-position: 0px -1506px; }
+ .ico-after.foursquare:after {
+ background-position: 0px -1706px; }
+ .ico-after.foursquare.blue:after {
+ background-position: 0px -1626px; }
+ .ico-after.foursquare.light:after {
+ background-position: 0px -1666px; }
+ .ico-after.gear:after {
+ background-position: 0px -1826px; }
+ .ico-after.gear.blue:after {
+ background-position: 0px -1746px; }
+ .ico-after.gear.light:after {
+ background-position: 0px -1786px; }
+ .ico-after.github:after {
+ background-position: 0px -1946px; }
+ .ico-after.github.blue:after {
+ background-position: 0px -1866px; }
+ .ico-after.github.light:after {
+ background-position: 0px -1906px; }
+ .ico-after.google-plus:after {
+ background-position: 0px -2066px; }
+ .ico-after.google-plus.blue:after {
+ background-position: 0px -1986px; }
+ .ico-after.google-plus.light:after {
+ background-position: 0px -2026px; }
+ .ico-after.help:after {
+ background-position: 0px -2186px; }
+ .ico-after.help.blue:after {
+ background-position: 0px -2106px; }
+ .ico-after.help.light:after {
+ background-position: 0px -106px; }
+ .ico-after.hide:after {
+ background-position: 0px -2306px; }
+ .ico-after.hide.blue:after {
+ background-position: 0px -2226px; }
+ .ico-after.hide.light:after {
+ background-position: 0px -2266px; }
+ .ico-after.history:after {
+ background-position: 0px -2426px; }
+ .ico-after.history.blue:after {
+ background-position: 0px -2346px; }
+ .ico-after.history.light:after {
+ background-position: 0px -2386px; }
+ .ico-after.import:after {
+ background-position: 0px -2546px; }
+ .ico-after.import.blue:after {
+ background-position: 0px -2466px; }
+ .ico-after.import.light:after {
+ background-position: 0px -2506px; }
+ .ico-after.lock:after {
+ background-position: 0px -2706px; }
+ .ico-after.lock.blue:after {
+ background-position: 0px -2626px; }
+ .ico-after.lock.light:after {
+ background-position: 0px -2666px; }
+ .ico-after.more:after {
+ background-position: 0px -2906px; }
+ .ico-after.more.blue:after {
+ background-position: 0px -2826px; }
+ .ico-after.more.light:after {
+ background-position: 0px -2866px; }
+ .ico-after.move:after {
+ background-position: 0px -3026px; }
+ .ico-after.move.blue:after {
+ background-position: 0px -2946px; }
+ .ico-after.move.light:after {
+ background-position: 0px -2986px; }
+ .ico-after.pin:after {
+ background-position: 0px -3226px; }
+ .ico-after.pin.blue:after {
+ background-position: 0px -3146px; }
+ .ico-after.pin.light:after {
+ background-position: 0px -3186px; }
+ .ico-after.rss:after {
+ background-position: 0px -3466px; }
+ .ico-after.rss.blue:after {
+ background-position: 0px -3346px; }
+ .ico-after.rss.orange:after {
+ background-position: 0px -3426px; }
+ .ico-after.rss.light:after {
+ background-position: 0px -3386px; }
+ .ico-after.star:after {
+ background-position: 0px -3746px; }
+ .ico-after.star.yellow:after {
+ background-position: 0px -3706px; }
+ .ico-after.star.blue:after {
+ background-position: 0px -3546px; }
+ .ico-after.star.light:after {
+ background-position: 0px -3666px; }
+ .ico-after.tick:after {
+ background-position: 0px -4026px; }
+ .ico-after.tick.green:after {
+ background-position: 0px -3946px; }
+ .ico-after.tick.light:after {
+ background-position: 0px -3986px; }
+ .ico-after.twitter:after {
+ background-position: 0px -4186px; }
+ .ico-after.twitter.blue:after {
+ background-position: 0px -4106px; }
+ .ico-after.twitter.light:after {
+ background-position: 0px -4146px; }
+ .ico-after.unread:after {
+ background-position: 0px -26px; }
+ .ico-after.upvote:after {
+ background-position: 0px -3906px; }
+ .ico-after.upvote.voted:after {
+ background-position: 0px -3866px; }
+ .ico-after.online:after,
+ .ico-after.view:after {
+ background-position: 0px -4346px; }
+ .ico-after.online.blue:after,
+ .ico-after.view.blue:after {
+ background-position: 0px -4266px; }
+ .ico-after.online.light:after,
+ .ico-after.view.light:after {
+ background-position: 0px -4306px; }
+
+/*------------------------
+5. Helpers
+------------------------*/
+.ir {
+ background-color: transparent;
+ border: 0;
+ overflow: hidden;
+ *text-indent: -9999px; }
+
+.ir:before {
+ content: "";
+ display: block;
+ width: 0;
+ height: 150%; }
+
+.hidden {
+ display: none !important;
+ visibility: hidden; }
+
+.visuallyhidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px; }
+
+.visuallyhidden.focusable:active,
+.visuallyhidden.focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto; }
+
+.invisible {
+ visibility: hidden; }
+
+.clearfix:before,
+.clearfix:after {
+ content: " ";
+ display: table; }
+
+.clearfix:after {
+ clear: both; }
+
+.clearfix {
+ *zoom: 1; }
+
+hr.clearfix {
+ clear: both;
+ height: 0;
+ border: none; }
+
+.unstyled-list {
+ list-style: none;
+ padding-left: 0; }
+
+.screen,
+.wide {
+ display: none; }
+
+@media only screen and (min-width: 1140px) {
+ .wide {
+ display: inline; }
+ table .wide {
+ display: table-cell; } }
+
+@media only screen and (min-width: 960px) {
+ .screen {
+ display: inline; } }
+
+/*------------------------
+6. Header
+------------------------*/
+.header-container header {
+ background: #084561;
+ border-bottom: 3px solid #F8AD32; }
+ .header-container header a,
+ .header-container header button {
+ text-decoration: none;
+ color: #FFF;
+ -webkit-transition-property: background;
+ transition-property: background;
+ -webkit-transition-duration: 0.15s;
+ transition-duration: 0.15s; }
+ .header-container header a:focus,
+ .header-container header button:focus {
+ outline: none; }
+ .header-container header .header-menu {
+ height: 60px; }
+ .header-container header .header-menu .header-menu-list {
+ margin: 0;
+ padding: 0; }
+ .header-container header .header-menu .header-menu-list > li {
+ display: block;
+ float: left;
+ width: 33.3%; }
+ .header-container header .header-menu .header-menu-list > li > a {
+ display: block;
+ position: relative;
+ text-align: center;
+ line-height: 60px;
+ text-transform: uppercase;
+ font-size: 1.5px;
+ font-size: 1.5rem;
+ text-shadow: rgba(0, 0, 0, 0.75) 0 0 3px; }
+ .header-container header .header-menu .header-menu-list > li > a:hover,
+ .header-container header .header-menu .header-menu-list > li > a:focus,
+ .header-container header .header-menu .header-menu-list > li > a.active {
+ background: #396a81; }
+ .header-container header .header-menu .header-menu-list > li > a.current:before {
+ content: " ";
+ display: block;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ height: 2px;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease;
+ border-radius: 2px 2px 0 0;
+ background-color: #F8AD32; }
+ .header-container header .header-menu .header-menu-list > li > a.current.active:before {
+ height: 0; }
+
+.header-logo {
+ text-align: center;
+ margin: 0;
+ padding: 0;
+ width: 100%; }
+
+.header-logo-link {
+ display: block;
+ margin: 0 auto;
+ text-indent: -9999px;
+ width: 100%;
+ max-width: 240px;
+ height: 60px;
+ background: url("../images/logo.png") no-repeat center center;
+ background-size: 100% auto; }
+ .header-logo-link:hover,
+ .header-logo-link:focus {
+ background-color: #396a81; }
+
+.logbox {
+ background: rgba(255, 255, 255, 0.05); }
+ .logbox .notifs-links {
+ margin-right: 60px; }
+ .logbox .notifs-links .ico-link {
+ display: block;
+ position: relative;
+ width: 33.3%;
+ height: 60px;
+ line-height: 60px;
+ float: left; }
+ .logbox .notifs-links .ico-link .notif-count {
+ display: block;
+ position: absolute;
+ z-index: 1;
+ top: 50%;
+ right: 50%;
+ margin: -20px -22px 0 0;
+ padding: 0 5px;
+ height: 16px;
+ line-height: 14px;
+ background: #c0392b;
+ border-radius: 16px; }
+ .logbox .notifs-links .ico-link .notif-text {
+ display: block;
+ position: absolute;
+ text-indent: -9999px;
+ height: 22px;
+ width: 22px;
+ top: 50%;
+ left: 50%;
+ margin: -11px 0 0 -11px; }
+ .logbox .notifs-links .ico-link .notif-text.ico-messages {
+ background-position: 0px -2786px; }
+ .logbox .notifs-links .ico-link .notif-text.ico-notifs {
+ background-position: 0px -3066px; }
+ .logbox .notifs-links .ico-link .notif-text.ico-alerts {
+ background-position: 0px -586px; }
+ .logbox .notifs-links .ico-link .notif-text.ico-params {
+ background-position: 0px -3106px; }
+ .logbox .notifs-links .ico-link:hover,
+ .logbox .notifs-links .ico-link:focus,
+ .logbox .notifs-links .ico-link.active {
+ background: #396a81; }
+ .logbox .dropdown {
+ overflow: hidden; }
+ .logbox .dropdown .dropdown-title {
+ display: block;
+ width: 100%;
+ height: 35px;
+ line-height: 37px;
+ text-align: center;
+ border-bottom: 1px solid #274a5a;
+ background-color: #396a81; }
+ .logbox .dropdown,
+ .logbox .dropdown .dropdown-list {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ background-color: #19526c; }
+ .logbox .dropdown li,
+ .logbox .dropdown .dropdown-list li {
+ display: block;
+ width: 100%;
+ height: 60px; }
+ .logbox .dropdown li a,
+ .logbox .dropdown .dropdown-list li a {
+ display: block;
+ overflow: hidden;
+ position: relative;
+ height: 100%;
+ width: 100%; }
+ .logbox .dropdown li a,
+ .logbox .dropdown li a:hover,
+ .logbox .dropdown li a:focus,
+ .logbox .dropdown .dropdown-list li a,
+ .logbox .dropdown .dropdown-list li a:hover,
+ .logbox .dropdown .dropdown-list li a:focus {
+ opacity: 1;
+ -webkit-transition-property: opacity, background-color;
+ transition-property: opacity, background-color; }
+ .logbox .dropdown li a:hover,
+ .logbox .dropdown li a:focus,
+ .logbox .dropdown .dropdown-list li a:hover,
+ .logbox .dropdown .dropdown-list li a:focus {
+ background-color: #396a81; }
+ .logbox .dropdown li a:hover .username,
+ .logbox .dropdown li a:focus .username,
+ .logbox .dropdown .dropdown-list li a:hover .username,
+ .logbox .dropdown .dropdown-list li a:focus .username {
+ text-shadow: rgba(0, 0, 0, 0.5) 0 0 5px; }
+ .logbox .dropdown li a:hover .date,
+ .logbox .dropdown li a:focus .date,
+ .logbox .dropdown .dropdown-list li a:hover .date,
+ .logbox .dropdown .dropdown-list li a:focus .date {
+ color: #95D7F5; }
+ .logbox .dropdown li .avatar,
+ .logbox .dropdown .dropdown-list li .avatar {
+ float: left;
+ height: 30px;
+ width: 30px; }
+ .logbox .dropdown li .username,
+ .logbox .dropdown .dropdown-list li .username {
+ display: block;
+ float: left;
+ margin: 4px 0 0 7px;
+ color: #95D7F5;
+ width: 50%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+ .logbox .dropdown li .date,
+ .logbox .dropdown .dropdown-list li .date {
+ color: #5196b6;
+ float: right;
+ padding: 4px 10px 0 0;
+ -webkit-transition-property: color;
+ transition-property: color; }
+ .logbox .dropdown li .topic,
+ .logbox .dropdown .dropdown-list li .topic {
+ display: block;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ overflow: hidden;
+ height: 25px;
+ padding: 4px 7px 2px;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ width: 95%;
+ width: calc(100% - 14px); }
+ .logbox .dropdown li:nth-child(2n+1),
+ .logbox .dropdown li:nth-child(2n+1) form button,
+ .logbox .dropdown .dropdown-list li:nth-child(2n+1),
+ .logbox .dropdown .dropdown-list li:nth-child(2n+1) form button {
+ background-color: #084561; }
+ .logbox .my-account {
+ display: block;
+ height: 60px;
+ width: 60px;
+ float: right; }
+ .logbox .my-account .username {
+ display: none; }
+ .logbox .my-account .avatar {
+ background: #396a81; }
+ .logbox .dropdown.my-account-dropdown a,
+ .logbox .dropdown.my-account-dropdown button {
+ padding-left: 10px; }
+ .logbox .dropdown.my-account-dropdown button {
+ width: 100%;
+ height: 30px;
+ line-height: 28px;
+ background: transparent;
+ text-align: left;
+ border: 0; }
+ .logbox .dropdown.my-account-dropdown button:hover,
+ .logbox .dropdown.my-account-dropdown button:focus {
+ background: #396a81; }
+ .logbox.unlogged a {
+ display: block;
+ width: 50%;
+ text-align: center;
+ float: left;
+ line-height: 60px;
+ height: 60px; }
+ .logbox.unlogged a:hover,
+ .logbox.unlogged a:focus {
+ background-color: #396a81; }
+
+.sub-header {
+ background: #EEE; }
+
+@media only screen and (max-width: 959px) {
+ .header-logo {
+ width: 40px;
+ height: 50px;
+ margin-left: 50px;
+ float: left; }
+ .header-logo-link {
+ background-image: url("../images/logo-mobile.png") !important;
+ background-size: 100%;
+ width: 100%;
+ height: 100%; }
+ .header-logo-link:after {
+ display: block;
+ content: attr(data-title);
+ position: absolute;
+ top: 0;
+ left: 95px;
+ right: 155px;
+ line-height: 50px;
+ text-indent: 0;
+ text-align: left;
+ font-weight: normal;
+ font-size: 17px;
+ font-size: 1.7rem;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ max-width: 200px; }
+ .header-container header .header-menu {
+ height: 30px; }
+ .header-container header .header-menu .header-menu-list {
+ padding-top: 50px; }
+ .header-container header .header-menu .header-menu-list > li > a {
+ line-height: 50px; }
+ .logbox {
+ float: right;
+ width: 150px;
+ background: none; }
+ .logbox .notifs-links {
+ width: 100%; }
+ .logbox .notifs-links .ico-link {
+ height: 50px;
+ width: 50px; }
+ .logbox .dropdown {
+ top: 50px; }
+ .logbox .dropdown.my-account-dropdown .dropdown-list {
+ bottom: 0; }
+ .logbox .dropdown.my-account-dropdown .dropdown-list li {
+ height: 45px;
+ line-height: 45px; }
+ .logbox.unlogged {
+ font-size: 13px;
+ font-size: 1.3rem; }
+ .logbox.unlogged a {
+ background-color: rgba(255, 255, 255, 0.1);
+ line-height: 30px;
+ height: 30px;
+ margin: 10px 0;
+ width: 74px;
+ margin-right: 1px; } }
+
+@media only screen and (min-width: 960px) {
+ .header-container {
+ z-index: 1;
+ position: relative;
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.3); }
+ .header-container header {
+ background-image: -webkit-linear-gradient(left, transparent 20%, rgba(255, 255, 255, 0.07) 40%, rgba(255, 255, 255, 0.07) 60%, transparent 80%);
+ background-image: linear-gradient(left, transparent 20%, rgba(255, 255, 255, 0.07) 40%, rgba(255, 255, 255, 0.07) 60%, transparent 80%); }
+ .header-logo {
+ float: left;
+ text-align: left;
+ width: 240px; }
+ .header-container header .header-menu {
+ float: left;
+ width: 40%;
+ margin-left: .5%; }
+ .header-container header .header-menu .header-menu-list > li > a {
+ max-width: 150px;
+ font-size: 1.6rem;
+ font-size: 16px; }
+ .dropdown {
+ top: 60px; }
+ .has-dropdown {
+ position: relative;
+ text-indent: -7px; }
+ .has-dropdown:after {
+ content: " ";
+ display: block;
+ position: absolute;
+ top: 47%;
+ left: 83%;
+ height: 0;
+ width: 0;
+ border: 6px solid transparent;
+ border-top: 6px solid rgba(255, 255, 255, 0.7);
+ border-left: 6px inset transparent; }
+ .has-dropdown:hover:after,
+ .has-dropdown:focus:after,
+ .has-dropdown.active:after {
+ border-top: 6px solid #FFF; }
+ .logbox .dropdown.my-account-dropdown ul li {
+ height: 30px;
+ line-height: 30px; }
+ .lt-ie9 .dropdown {
+ top: 90px; }
+ .header-right {
+ float: right;
+ width: 230px; }
+ .header-right .dropdown {
+ right: 2.5%; } }
+
+@media only screen and (min-width: 1140px) {
+ .header-container header .header-menu {
+ margin-left: 5%; } }
+
+.dropdown {
+ display: none;
+ position: absolute;
+ text-align: left;
+ top: 50px;
+ left: 0;
+ right: 0;
+ background-color: #396a81;
+ margin: 0;
+ padding: 10px 2.5%;
+ font-size: 14px;
+ font-size: 1.4rem;
+ border-bottom: 3px solid #F8AD32;
+ z-index: 50; }
+ .dropdown .dropdown-title {
+ color: #FFF; }
+ .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(1),
+ .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(1) ~ li {
+ width: 100%; }
+ .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(2),
+ .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(2) ~ li {
+ width: 50%; }
+ .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(3),
+ .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(3) ~ li {
+ width: 33.33333%; }
+ .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(4),
+ .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(4) ~ li {
+ width: 25%; }
+ .dropdown .dropdown-list {
+ width: 100%;
+ padding: 0;
+ margin-top: 15px; }
+ .dropdown .dropdown-list > li {
+ width: 20%;
+ float: left; }
+ .dropdown .dropdown-list > li.dropdown-empty-message {
+ color: rgba(255, 255, 255, 0.5);
+ text-align: center;
+ line-height: 60px;
+ background: none !important; }
+ .dropdown .dropdown-list > li ul {
+ margin: 0 0 10px;
+ padding: 0; }
+ .dropdown .dropdown-list > li ul li {
+ position: relative; }
+ .dropdown .dropdown-list > li ul li a {
+ display: block;
+ width: 95%;
+ min-height: 25px;
+ line-height: 25px;
+ color: #95d7f5;
+ overflow: hidden;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .dropdown .dropdown-list > li ul li a:hover,
+ .dropdown .dropdown-list > li ul li a:focus {
+ padding-left: 3%;
+ background-color: rgba(0, 0, 0, 0.3); }
+ .dropdown .dropdown-link-all {
+ display: block;
+ clear: both;
+ text-align: center;
+ height: 30px;
+ line-height: 30px;
+ border-top: 1px solid #274a5a;
+ background-color: #396a81;
+ -webkit-transition-property: color, background-color;
+ transition-property: color, background-color; }
+ .dropdown .dropdown-link-all:first-child {
+ border-top: 0 !important;
+ border-bottom: 1px solid #274a5a; }
+ .dropdown .dropdown-link-all:hover,
+ .dropdown .dropdown-link-all:focus {
+ color: #95d7f5;
+ background-color: #274a5a;
+ border-top: 1px solid #396a81; }
+
+.active + .dropdown {
+ display: block; }
+
+@media only screen and (min-width: 760px) {
+ .dropdown {
+ box-shadow: 0 5px 7px rgba(0, 0, 0, 0.3); }
+ .header-right .dropdown {
+ width: 350px;
+ left: auto;
+ padding: 0; }
+ .header-right .dropdown .dropdown-list {
+ max-height: 270px;
+ overflow-x: hidden;
+ overflow-y: auto; }
+ .header-right .dropdown .dropdown-list::-webkit-scrollbar {
+ width: 10px;
+ height: 10px; }
+ .header-right .dropdown .dropdown-list::-webkit-scrollbar-track {
+ background-color: #06354a; }
+ .header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb {
+ background-color: #396a81;
+ border: 1px solid #06354a;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb:hover {
+ background-color: #5196b6; }
+ .header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb:active {
+ background-color: #71b4d3; }
+ .header-right .dropdown.my-account-dropdown {
+ width: 230px; } }
+
+@media only screen and (max-width: 759px) {
+ html.dropdown-active {
+ overflow: hidden; }
+ html.dropdown-active .page-container {
+ width: 100%; }
+ html.dropdown-active .main-container {
+ display: none; }
+ .header-menu-dropdown {
+ display: none !important; }
+ .dropdown {
+ width: 100%;
+ top: 180px;
+ bottom: 0;
+ border-bottom: none; }
+ .dropdown .dropdown-list {
+ overflow: auto;
+ position: absolute;
+ top: 36px;
+ bottom: 50px; }
+ .dropdown .dropdown-link-all {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: 50px;
+ line-height: 50px; } }
+
+@media only screen and (min-width: 960px) {
+ .dropdown {
+ top: 60px; } }
+
+.search-form {
+ margin-bottom: 30px; }
+
+.search {
+ display: block;
+ position: relative; }
+ .search form input,
+ .search form button {
+ float: left;
+ border: none;
+ background: rgba(255, 255, 255, 0.25);
+ height: 40px;
+ -webkit-transition-property: background;
+ transition-property: background;
+ -webkit-transition-duration: 0.15s;
+ transition-duration: 0.15s; }
+ .search form input:hover,
+ .search form input:focus,
+ .search form button:hover,
+ .search form button:focus {
+ background-color: #FFF; }
+ .search form input:focus,
+ .search form button:focus {
+ outline-color: #F8AD32; }
+ .search form input {
+ height: 30px;
+ padding: 5px 3%;
+ width: 70%; }
+ .search form button {
+ width: 12%;
+ text-indent: -9999px; }
+ .search form button.disabled {
+ opacity: .5;
+ background: transparent;
+ cursor: default; }
+ .search form button:after {
+ display: block;
+ content: " ";
+ position: absolute;
+ top: 12px;
+ left: 50%;
+ margin-left: -8px;
+ height: 17px;
+ width: 17px;
+ background-position: 0px -3506px; }
+ .search .search-more {
+ display: block;
+ float: left;
+ height: 40px;
+ font-family: Arial, sans-serif;
+ line-height: 40px;
+ width: 12%;
+ text-align: center;
+ font-weight: bold;
+ text-decoration: none;
+ font-size: 24px;
+ background: #FFF;
+ color: #084561;
+ -webkit-transition: background 0.15s ease;
+ transition: background 0.15s ease; }
+ .search .search-more:hover,
+ .search .search-more:focus {
+ background: #F8AD32;
+ color: #FFF;
+ outline: none; }
+ .search .search-more:before {
+ content: "+"; }
+
+@media only screen and (min-width: 960px) {
+ .search:before {
+ content: " ";
+ display: block;
+ position: absolute;
+ left: -20px;
+ height: 30px;
+ width: 20px;
+ background: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.03), transparent);
+ background: linear-gradient(right, rgba(0, 0, 0, 0.03), transparent); }
+ .search form input {
+ padding: 6px 10px;
+ height: 18px;
+ width: 150px; }
+ .search form button {
+ height: 30px;
+ line-height: 30px;
+ width: 30px; }
+ .search form button:after {
+ top: 7px; }
+ .search .search-more {
+ width: 30px;
+ height: 30px;
+ line-height: 30px; } }
+
+#accessibility {
+ list-style: none;
+ margin: 0;
+ padding: 0 2.5%;
+ background: #062E41;
+ overflow: hidden;
+ height: 0; }
+ #accessibility.focused {
+ height: auto; }
+ #accessibility li {
+ display: inline;
+ margin: 0;
+ padding: 0; }
+ #accessibility li a {
+ display: inline-block;
+ padding: 0 7px;
+ color: #EEE; }
+ #accessibility li a:hover,
+ #accessibility li a:focus {
+ color: #084561;
+ background-color: #fff;
+ text-decoration: none; }
+
+#cookies-eu-banner {
+ padding: 0 3%;
+ background: #062E41;
+ display: none; }
+ #cookies-eu-banner div,
+ #cookies-eu-banner #cookies-eu-reject {
+ display: inline-block;
+ margin: 0;
+ padding: 7px 0;
+ color: #EEE;
+ line-height: 23px; }
+ #cookies-eu-banner #cookies-eu-reject {
+ background: none;
+ border: none;
+ text-decoration: underline; }
+ #cookies-eu-banner #cookies-eu-reject:hover,
+ #cookies-eu-banner #cookies-eu-reject:focus {
+ text-decoration: none; }
+ #cookies-eu-banner #cookies-eu-more,
+ #cookies-eu-banner #cookies-eu-accept {
+ display: inline-block;
+ margin-top: 3px;
+ padding: 4px 15px;
+ text-decoration: none;
+ -webkit-transition: background 0.15s, color 0.15s;
+ transition: background 0.15s, color 0.15s; }
+ #cookies-eu-banner #cookies-eu-more {
+ margin-left: 15px;
+ color: #EEE;
+ background: #084561; }
+ #cookies-eu-banner #cookies-eu-more:hover,
+ #cookies-eu-banner #cookies-eu-more:focus {
+ color: #084561;
+ background: #EEE; }
+ #cookies-eu-banner #cookies-eu-accept {
+ border: none;
+ color: #084561;
+ background: #EEE; }
+ #cookies-eu-banner #cookies-eu-accept:hover,
+ #cookies-eu-banner #cookies-eu-accept:focus {
+ color: #EEE;
+ background: #084561; }
+
+@media only screen and (max-width: 759px) {
+ #cookies-eu-banner {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 10; }
+ #cookies-eu-banner div {
+ margin-top: 40px;
+ padding: 0 5px; }
+ #cookies-eu-banner #cookies-eu-more,
+ #cookies-eu-banner #cookies-eu-accept {
+ display: block;
+ width: 100%;
+ height: 40px;
+ padding: 0 !important;
+ margin: 15px 0 0 0 !important;
+ text-align: center; }
+ #cookies-eu-banner #cookies-eu-more {
+ margin-top: 40px !important;
+ line-height: 40px; } }
+
+/*------------------------
+7. Layout
+------------------------*/
+.main .sidebar {
+ padding: 0 0 10px;
+ background: #F0F0F0;
+ border-bottom: 1px solid #FFF;
+ color: #424242;
+ width: 105%;
+ margin: 0 0 0 -2.7%; }
+ .main .sidebar .new-btn {
+ display: block;
+ height: 40px;
+ padding-left: 11.5%;
+ text-decoration: none;
+ text-indent: 25px;
+ line-height: 40px;
+ font-size: 16px;
+ font-size: 1.6rem;
+ position: relative;
+ color: #1088bf;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .main .sidebar .new-btn:first-child {
+ margin-top: 31px; }
+ .main .sidebar .new-btn:hover,
+ .main .sidebar .new-btn:focus {
+ background: #FFF; }
+ .main .sidebar .new-btn:after {
+ top: 12px;
+ left: 11.5%; }
+ .main .sidebar h3,
+ .main .sidebar h4 {
+ font-weight: normal;
+ margin: 0;
+ padding: 0; }
+ .main .sidebar h3 {
+ font-size: 18px;
+ font-size: 1.8rem;
+ line-height: 38px;
+ line-height: 3.8rem;
+ color: #084561;
+ border-bottom: 1px solid #F8AD32;
+ margin-top: 30px; }
+ .main .sidebar h4 {
+ padding-top: 20px;
+ font-size: 17px;
+ font-size: 1.7rem; }
+ .main .sidebar h4 a {
+ text-decoration: none;
+ color: #424242; }
+ .main .sidebar.accordeon h4 {
+ cursor: pointer; }
+ .main .sidebar h4[data-num] {
+ position: relative;
+ padding-left: calc(5% + 25px); }
+ .main .sidebar h4[data-num]:before {
+ content: attr(data-num);
+ position: absolute;
+ left: 5%;
+ text-align: right;
+ width: 50px;
+ margin-left: -35px; }
+ .main .sidebar h3 + ul,
+ .main .sidebar h3 + ol {
+ margin: 7px 0; }
+ .main .sidebar ul,
+ .main .sidebar ol {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ width: 100%; }
+ .main .sidebar ul li,
+ .main .sidebar ol li {
+ position: relative;
+ padding: 0 0 0 2.5%;
+ -webkit-transition: background 0.15s ease;
+ transition: background 0.15s ease; }
+ .main .sidebar ul li:not(.inactive):hover,
+ .main .sidebar ul li a:focus,
+ .main .sidebar ul li button:focus,
+ .main .sidebar ol li:not(.inactive):hover,
+ .main .sidebar ol li a:focus,
+ .main .sidebar ol li button:focus {
+ background: #FFF;
+ outline: none; }
+ .main .sidebar ul li:not(.inactive):hover .ico-after.action-hover,
+ .main .sidebar ul li a:focus .ico-after.action-hover,
+ .main .sidebar ul li button:focus .ico-after.action-hover,
+ .main .sidebar ol li:not(.inactive):hover .ico-after.action-hover,
+ .main .sidebar ol li a:focus .ico-after.action-hover,
+ .main .sidebar ol li button:focus .ico-after.action-hover {
+ display: block; }
+ .main .sidebar ul li a,
+ .main .sidebar ul li button,
+ .main .sidebar ul li.inactive > span,
+ .main .sidebar ul li.inactive > em,
+ .main .sidebar ol li a,
+ .main .sidebar ol li button,
+ .main .sidebar ol li.inactive > span,
+ .main .sidebar ol li.inactive > em {
+ display: block;
+ padding-left: 25px;
+ padding-right: 10px;
+ text-decoration: none;
+ color: #0079b2;
+ overflow: hidden;
+ height: 30px;
+ line-height: 30px;
+ font-size: 14px;
+ font-size: 1.4rem;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ border: 0;
+ text-align: left;
+ background: transparent;
+ /**
+ * Sidebar link variations / icons
+ */ }
+ .main .sidebar ul li a[data-num],
+ .main .sidebar ul li button[data-num],
+ .main .sidebar ul li.inactive > span[data-num],
+ .main .sidebar ul li.inactive > em[data-num],
+ .main .sidebar ol li a[data-num],
+ .main .sidebar ol li button[data-num],
+ .main .sidebar ol li.inactive > span[data-num],
+ .main .sidebar ol li.inactive > em[data-num] {
+ position: relative; }
+ .main .sidebar ul li a[data-num]:after,
+ .main .sidebar ul li button[data-num]:after,
+ .main .sidebar ul li.inactive > span[data-num]:after,
+ .main .sidebar ul li.inactive > em[data-num]:after,
+ .main .sidebar ol li a[data-num]:after,
+ .main .sidebar ol li button[data-num]:after,
+ .main .sidebar ol li.inactive > span[data-num]:after,
+ .main .sidebar ol li.inactive > em[data-num]:after {
+ content: attr(data-num) ".";
+ position: absolute;
+ left: 0;
+ width: 18px;
+ text-align: right;
+ color: #424242; }
+ .main .sidebar ul li a.selected,
+ .main .sidebar ul li button.selected,
+ .main .sidebar ul li.inactive > span.selected,
+ .main .sidebar ul li.inactive > em.selected,
+ .main .sidebar ol li a.selected,
+ .main .sidebar ol li button.selected,
+ .main .sidebar ol li.inactive > span.selected,
+ .main .sidebar ol li.inactive > em.selected {
+ font-weight: bold; }
+ .main .sidebar ul li a img,
+ .main .sidebar ul li button img,
+ .main .sidebar ul li.inactive > span img,
+ .main .sidebar ul li.inactive > em img,
+ .main .sidebar ol li a img,
+ .main .sidebar ol li button img,
+ .main .sidebar ol li.inactive > span img,
+ .main .sidebar ol li.inactive > em img {
+ border-right: 7px solid transparent; }
+ .main .sidebar ul li a img,
+ .main .sidebar ul li a span:not(.wide),
+ .main .sidebar ul li button img,
+ .main .sidebar ul li button span:not(.wide),
+ .main .sidebar ul li.inactive > span img,
+ .main .sidebar ul li.inactive > span span:not(.wide),
+ .main .sidebar ul li.inactive > em img,
+ .main .sidebar ul li.inactive > em span:not(.wide),
+ .main .sidebar ol li a img,
+ .main .sidebar ol li a span:not(.wide),
+ .main .sidebar ol li button img,
+ .main .sidebar ol li button span:not(.wide),
+ .main .sidebar ol li.inactive > span img,
+ .main .sidebar ol li.inactive > span span:not(.wide),
+ .main .sidebar ol li.inactive > em img,
+ .main .sidebar ol li.inactive > em span:not(.wide) {
+ vertical-align: middle; }
+ .main .sidebar ul li a .icon,
+ .main .sidebar ul li button .icon,
+ .main .sidebar ul li.inactive > span .icon,
+ .main .sidebar ul li.inactive > em .icon,
+ .main .sidebar ol li a .icon,
+ .main .sidebar ol li button .icon,
+ .main .sidebar ol li.inactive > span .icon,
+ .main .sidebar ol li.inactive > em .icon {
+ border-right: 7px solid transparent;
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ margin: 7px 5px;
+ line-height: 30px; }
+ .main .sidebar ul li a.ico-after:after,
+ .main .sidebar ul li button.ico-after:after,
+ .main .sidebar ul li.inactive > span.ico-after:after,
+ .main .sidebar ul li.inactive > em.ico-after:after,
+ .main .sidebar ol li a.ico-after:after,
+ .main .sidebar ol li button.ico-after:after,
+ .main .sidebar ol li.inactive > span.ico-after:after,
+ .main .sidebar ol li.inactive > em.ico-after:after {
+ top: 7px;
+ left: 0;
+ opacity: .7; }
+ .main .sidebar ul li a.ico-after.disabled:after,
+ .main .sidebar ul li button.ico-after.disabled:after,
+ .main .sidebar ul li.inactive > span.ico-after.disabled:after,
+ .main .sidebar ul li.inactive > em.ico-after.disabled:after,
+ .main .sidebar ol li a.ico-after.disabled:after,
+ .main .sidebar ol li button.ico-after.disabled:after,
+ .main .sidebar ol li.inactive > span.ico-after.disabled:after,
+ .main .sidebar ol li.inactive > em.ico-after.disabled:after {
+ opacity: .4 !important; }
+ .main .sidebar ul li a.ico-after:hover:after,
+ .main .sidebar ul li a.ico-after:focus:after,
+ .main .sidebar ul li button.ico-after:hover:after,
+ .main .sidebar ul li button.ico-after:focus:after,
+ .main .sidebar ul li.inactive > span.ico-after:hover:after,
+ .main .sidebar ul li.inactive > span.ico-after:focus:after,
+ .main .sidebar ul li.inactive > em.ico-after:hover:after,
+ .main .sidebar ul li.inactive > em.ico-after:focus:after,
+ .main .sidebar ol li a.ico-after:hover:after,
+ .main .sidebar ol li a.ico-after:focus:after,
+ .main .sidebar ol li button.ico-after:hover:after,
+ .main .sidebar ol li button.ico-after:focus:after,
+ .main .sidebar ol li.inactive > span.ico-after:hover:after,
+ .main .sidebar ol li.inactive > span.ico-after:focus:after,
+ .main .sidebar ol li.inactive > em.ico-after:hover:after,
+ .main .sidebar ol li.inactive > em.ico-after:focus:after {
+ opacity: 1; }
+ .main .sidebar ul li a.ico-after.action-hover,
+ .main .sidebar ul li button.ico-after.action-hover,
+ .main .sidebar ul li.inactive > span.ico-after.action-hover,
+ .main .sidebar ul li.inactive > em.ico-after.action-hover,
+ .main .sidebar ol li a.ico-after.action-hover,
+ .main .sidebar ol li button.ico-after.action-hover,
+ .main .sidebar ol li.inactive > span.ico-after.action-hover,
+ .main .sidebar ol li.inactive > em.ico-after.action-hover {
+ position: absolute;
+ display: none;
+ overflow: visible;
+ top: 0;
+ left: 10%;
+ padding: 0;
+ z-index: 1;
+ width: 30px;
+ height: 30px;
+ text-indent: -9999px;
+ background: #FFF;
+ right: -30px; }
+ .main .sidebar ul li a.ico-after.action-hover[data-title]:hover:before,
+ .main .sidebar ul li button.ico-after.action-hover[data-title]:hover:before,
+ .main .sidebar ul li.inactive > span.ico-after.action-hover[data-title]:hover:before,
+ .main .sidebar ul li.inactive > em.ico-after.action-hover[data-title]:hover:before,
+ .main .sidebar ol li a.ico-after.action-hover[data-title]:hover:before,
+ .main .sidebar ol li button.ico-after.action-hover[data-title]:hover:before,
+ .main .sidebar ol li.inactive > span.ico-after.action-hover[data-title]:hover:before,
+ .main .sidebar ol li.inactive > em.ico-after.action-hover[data-title]:hover:before {
+ content: attr(data-title);
+ display: block;
+ position: absolute;
+ background: #FFF;
+ color: #555;
+ top: -27px;
+ left: 0;
+ height: 27px;
+ line-height: 27px;
+ line-height: 2.7rem;
+ text-indent: 0;
+ padding: 0 15px;
+ border: 1px solid #EEE;
+ box-shadow: rgba(0, 0, 0, 0.15) 0 0 7px; }
+ .main .sidebar ul li a.ico-after.action-hover:after,
+ .main .sidebar ul li button.ico-after.action-hover:after,
+ .main .sidebar ul li.inactive > span.ico-after.action-hover:after,
+ .main .sidebar ul li.inactive > em.ico-after.action-hover:after,
+ .main .sidebar ol li a.ico-after.action-hover:after,
+ .main .sidebar ol li button.ico-after.action-hover:after,
+ .main .sidebar ol li.inactive > span.ico-after.action-hover:after,
+ .main .sidebar ol li.inactive > em.ico-after.action-hover:after {
+ left: 7px; }
+ .main .sidebar ul li.inactive > span,
+ .main .sidebar ul li.inactive > em,
+ .main .sidebar ol li.inactive > span,
+ .main .sidebar ol li.inactive > em {
+ color: #555; }
+ .main .sidebar ul li .count,
+ .main .sidebar ol li .count {
+ display: block;
+ position: absolute;
+ top: 6px;
+ right: 20px;
+ padding: 1px 10px;
+ height: 16px;
+ line-height: 16px;
+ font-style: normal;
+ background: #AAA;
+ color: #FFF; }
+ .main .sidebar ul li .last-answer,
+ .main .sidebar ol li .last-answer {
+ display: block;
+ visibility: hidden;
+ position: absolute;
+ top: -13px;
+ left: 102%;
+ width: 250px;
+ height: 40px;
+ background: #FFF;
+ padding: 7px 10px;
+ border: 1px solid #F0F0F0;
+ box-shadow: rgba(0, 0, 0, 0.1) 2px 2px 2px;
+ opacity: 0;
+ -webkit-transition: visibility 0s linear 0.15s, opacity 0.15s, left 0.15s;
+ transition: visibility 0s linear 0.15s, opacity 0.15s, left 0.15s; }
+ .main .sidebar ul li .last-answer .avatar,
+ .main .sidebar ol li .last-answer .avatar {
+ height: 40px;
+ width: 40px;
+ float: left;
+ border: 1px solid #F0F0F0; }
+ .main .sidebar ul li .last-answer .topic-last-answer,
+ .main .sidebar ol li .last-answer .topic-last-answer {
+ display: block;
+ margin-left: 50px;
+ line-height: 18px;
+ padding: 3px 0;
+ color: #555; }
+ .main .sidebar ul li .last-answer .topic-no-last-answer,
+ .main .sidebar ol li .last-answer .topic-no-last-answer {
+ display: block;
+ line-height: 40px;
+ width: 100%;
+ text-align: center;
+ color: #999; }
+ .main .sidebar ul li a:hover + .last-answer,
+ .main .sidebar ul li a:focus + .last-answer,
+ .main .sidebar ol li a:hover + .last-answer,
+ .main .sidebar ol li a:focus + .last-answer {
+ visibility: visible;
+ left: 100%;
+ opacity: 1;
+ -webkit-transition: visibility 0s linear 0, opacity 0.15s, left 0.15s;
+ transition: visibility 0s linear 0, opacity 0.15s, left 0.15s; }
+ .main .sidebar ul li a.unread,
+ .main .sidebar ol li a.unread {
+ font-weight: bold; }
+ .main .sidebar ul li button,
+ .main .sidebar ol li button {
+ width: 100%;
+ line-height: 28px; }
+ .main .sidebar ul li li,
+ .main .sidebar ol li li {
+ padding: 0; }
+ .main .sidebar ul li li a,
+ .main .sidebar ol li li a {
+ position: relative;
+ color: #084561;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .main .sidebar ul li li a:hover,
+ .main .sidebar ul li li a:focus,
+ .main .sidebar ol li li a:hover,
+ .main .sidebar ol li li a:focus {
+ color: #0079B2;
+ background: #FFF;
+ margin-left: -11px; }
+ .main .sidebar ul li li a:hover:before,
+ .main .sidebar ul li li a:focus:before,
+ .main .sidebar ol li li a:hover:before,
+ .main .sidebar ol li li a:focus:before {
+ content: "> "; }
+ .main .sidebar.summary h4 {
+ border-bottom: 1px solid #d8dada;
+ padding-bottom: 5px;
+ padding-right: 15px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+ .main .sidebar.summary h4 + ul > li:first-child,
+ .main .sidebar.summary h4 + ol > li:first-child {
+ margin-top: 5px; }
+ .main .sidebar.summary ol li.current {
+ margin-top: 0 !important;
+ padding-top: 5px;
+ margin-bottom: 5px;
+ background-color: #FFF; }
+ .main .sidebar.summary ol li.current + a {
+ font-weight: bold; }
+ .main .sidebar.summary ol li.current ol {
+ margin-top: 5px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ margin-left: -42px;
+ width: calc(105% + 25px);
+ background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.07), #F7F7F7 3px);
+ background: linear-gradient(top, rgba(0, 0, 0, 0.07), #F7F7F7 3px); }
+ .main .sidebar.summary ol li.current ol a {
+ padding-left: 50px; }
+
+.main .content-container {
+ padding-top: 30px; }
+ .main .content-container h1,
+ .main .content-container h2 {
+ font-size: 22px;
+ font-size: 2.2rem;
+ line-height: 38px;
+ line-height: 3.8rem;
+ color: #084561;
+ font-weight: normal;
+ border-bottom: 1px solid #F8AD32;
+ margin: 1px 0 15px; }
+ .main .content-container h1.illu,
+ .main .content-container h2.illu {
+ padding-left: 60px; }
+ .main .content-container h1.illu img,
+ .main .content-container h2.illu img {
+ background: #FFF; }
+ .main .content-container h1.ico-after,
+ .main .content-container h2.ico-after {
+ padding-left: 80px; }
+ .main .content-container h1.ico-after:after,
+ .main .content-container h2.ico-after:after {
+ width: 80px;
+ height: 40px;
+ margin-left: 21px; }
+ .main .content-container h1.ico-articles:after,
+ .main .content-container h2.ico-articles:after {
+ background-position: 0px -346px; }
+ .main .content-container h1.ico-tutorials:after,
+ .main .content-container h2.ico-tutorials:after {
+ background-position: 0px -4066px; }
+ .main .content-container h1.ico-news:after,
+ .main .content-container h2.ico-news:after {
+ background-position: 0px -3586px; }
+ .main .content-container h1.ico-forum:after,
+ .main .content-container h2.ico-forum:after {
+ background-position: 0px -1586px; }
+ .main .content-container h1.illu img,
+ .main .content-container h2.illu img {
+ position: absolute;
+ margin: -6px 0 0 -60px;
+ border: 1px solid #cdd0d1;
+ width: 50px;
+ height: 50px; }
+ .main .content-container .license {
+ float: right;
+ margin: 0;
+ margin-top: 10px; }
+ .main .content-container .subtitle {
+ font-size: 18px;
+ font-size: 1.8rem;
+ line-height: 23px;
+ color: #999;
+ margin-top: -15px;
+ margin-bottom: 15px;
+ padding: 10px 0;
+ font-weight: normal;
+ border-bottom: 1px solid #EEE; }
+ .main .content-container .pubdate {
+ display: block;
+ color: #999;
+ margin-bottom: 15px; }
+ .main .content-container .member-item .avatar {
+ margin-top: -2px;
+ height: 20px;
+ width: 20px;
+ border: 1px solid #CCC; }
+ .main .content-container .member-item .avatar + span {
+ padding-left: 3px; }
+ .main .content-container .member-item:hover .avatar {
+ border-color: #999; }
+ .main .content-container .member-item + .member-item {
+ margin-left: 7px; }
+ .main .content-container .authors .member-item {
+ margin-right: 0;
+ margin-left: 7px; }
+ .main .content-container .authors .member-item .avatar {
+ height: 30px;
+ width: 30px;
+ margin: -3px 5px 0 -6px; }
+ .main .content-container .open-zen-mode {
+ display: none; }
+ .main .content-container .new-btn-container {
+ display: none; }
+
+.home .main .content-container {
+ margin-top: 0; }
+
+.pagination-bottom-clear {
+ clear: both; }
+
+@media only screen and (min-width: 1360px) {
+ .main .content-container .content-wrapper {
+ max-width: 960px;
+ margin: 0 auto !important; } }
+
+@media only screen and (min-width: 960px) {
+ body.no-sidebar .main .content-container {
+ width: 100%; }
+ body.no-sidebar .main .sidebar {
+ display: none; }
+ .main {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: reverse;
+ -ms-flex-direction: row-reverse;
+ -webkit-flex-direction: row-reverse;
+ flex-direction: row-reverse;
+ height: 100%;
+ margin-left: 0;
+ padding-left: 2.5%; }
+ .main .content-container {
+ width: 80%;
+ margin-right: 0; }
+ .main .content-container .taglist + .pubdate {
+ margin-top: -40px; }
+ .main .content-container .open-zen-mode {
+ display: block; }
+ .main .content-container.zen-mode {
+ width: 100%;
+ min-height: calc(100% - 200px);
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ z-index: 20;
+ background: #FCFCFC;
+ padding: 100px 0;
+ margin-bottom: 0; }
+ .main .content-container.zen-mode .comments-title,
+ .main .content-container.zen-mode .pagination:not(.pagination-chapter),
+ .main .content-container.zen-mode .topic-message {
+ display: none; }
+ .main .content-container.zen-mode .content-wrapper {
+ margin: 0 4%; }
+ .main .content-container h1,
+ .main .content-container h2 {
+ margin-left: 1px; }
+ .main .content-container .content-col-2 {
+ width: 49.5%;
+ margin: 0 0 0 1%; }
+ .main .content-container .content-col-3 {
+ width: 32%;
+ margin: 0 0 0 2%; }
+ .main .content-container .content-col-2,
+ .main .content-container .content-col-3 {
+ float: left; }
+ .main .content-container .content-col-2:first-child,
+ .main .content-container .content-col-3:first-child {
+ margin: 0; }
+ .main .content-container .article-content > .summary-part > li {
+ float: left;
+ width: 50%; }
+ .main .content-container .article-content > .summary-part > li:nth-child(2n+1) {
+ clear: both; }
+ .main .sidebar {
+ width: 22.5%;
+ border-bottom: none; }
+ .main .sidebar h3,
+ .main .sidebar h4,
+ .main .sidebar ul li,
+ .main .sidebar ol li {
+ padding-left: 11.5%; }
+ .main .sidebar h3:first-child {
+ margin-top: 31px; }
+ .main .sidebar h4[data-num] {
+ padding-left: calc(11% + 25px); }
+ .main .sidebar h4[data-num]:before {
+ left: 11%; }
+ .main .sidebar.sommaire ul li.current ul,
+ .main .sidebar.sommaire ul li.current ol {
+ margin-left: calc(-11% - 10px);
+ width: calc(111% + 10px);
+ background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.07), transparent 3px);
+ background: linear-gradient(top, rgba(0, 0, 0, 0.07), transparent 3px); }
+ .main .sidebar.sommaire ul li.current ul a,
+ .main .sidebar.sommaire ul li.current ol a {
+ padding-left: calc(11% + 30px); } }
+
+@media only screen and (min-width: 960px) {
+ .content-cols .main .content-container {
+ width: 79%;
+ margin-left: 1.5%; }
+ .full-content-wrapper .tutorial-list article {
+ width: 46%;
+ float: left; }
+ .full-content-wrapper .tutorial-list article.extend {
+ width: 100%; } }
+
+@media only screen and (max-width: 959px) {
+ .main .content-container .new-btn-container {
+ display: block;
+ margin: 30px 0;
+ border-top: 1px solid #DDD;
+ overflow: hidden; }
+ .main .content-container .new-btn-container .new-btn {
+ display: block;
+ width: 100%;
+ padding: 7px 10px 7px 35px;
+ text-decoration: none;
+ height: 30px;
+ line-height: 30px;
+ background: #EEE;
+ color: #333;
+ border-bottom: 1px solid #DDD; }
+ .main .content-container .new-btn-container .new-btn.ico-after:after {
+ top: 13px;
+ left: 10px; }
+ .main .content-container h1.ico-news:after, .main .content-container h2.ico-news:after {
+ background-position: 0px -3626px; }
+ .main {
+ width: 100%; }
+ .main .content-container .content-col:not(:first-child),
+ .main .sidebar {
+ margin-top: 50px; }
+ .main .sidebar {
+ width: 102.5%; }
+ .main .sidebar h3,
+ .main .sidebar h4,
+ .main .sidebar ul li {
+ padding-left: 5.5%; }
+ .main .sidebar h3 a,
+ .main .sidebar h4 a,
+ .main .sidebar ul li a {
+ white-space: normal; }
+ .content-col-2:not(:first-child),
+ .content-col-3:not(:first-child) {
+ margin-top: 50px; } }
+
+.small-content-wrapper {
+ width: 90%;
+ max-width: 500px;
+ margin: 20px auto; }
+
+.main .content-container .content-wrapper.article-content,
+.main .content-container .content-wrapper.authors {
+ padding-left: 2%;
+ padding-right: 2%; }
+
+.main .content-container .article-content p,
+.main .content-container .article-content > a,
+.main .content-container .article-content p a,
+.main .content-container .article-content ul:not(.pagination),
+.main .content-container .article-content ol:not(.summary-part) {
+ font-family: "Merriweather", "Liberation Serif", "Times New Roman", Times, Georgia, FreeSerif, serif; }
+
+.main .content-container .content-wrapper.comment-author,
+.main .content-container .comment-author {
+ background: #EEE;
+ padding: 7px 15px;
+ margin-bottom: 20px; }
+ .main .content-container .content-wrapper.comment-author blockquote,
+ .main .content-container .comment-author blockquote {
+ margin: 10px 0;
+ border-left: 5px solid #CCC;
+ padding: 5px 0 5px 15px; }
+
+.main .content-container .article-content .summary-part {
+ font-size: 20px;
+ color: #ea9408; }
+ .main .content-container .article-content .summary-part h3,
+ .main .content-container .article-content .summary-part h4 {
+ font-weight: normal;
+ width: 90%; }
+ .main .content-container .article-content .summary-part h3 a,
+ .main .content-container .article-content .summary-part h4 a {
+ text-decoration: none; }
+ .main .content-container .article-content .summary-part h3 a:hover,
+ .main .content-container .article-content .summary-part h3 a:focus,
+ .main .content-container .article-content .summary-part h4 a:hover,
+ .main .content-container .article-content .summary-part h4 a:focus {
+ text-decoration: underline; }
+ .main .content-container .article-content .summary-part h3 {
+ font-size: 20px;
+ margin: 0 0 5px; }
+ .main .content-container .article-content .summary-part .summary-part {
+ list-style: none;
+ padding-left: 0;
+ margin-bottom: 15px; }
+ .main .content-container .article-content .summary-part .summary-part h4 {
+ font-size: 14px;
+ margin: 2px 0; }
+
+.main .content-container .article-content,
+.main .content-container .message-content {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ color: #424242; }
+ .main .content-container .article-content h2,
+ .main .content-container .article-content h3,
+ .main .content-container .message-content h2,
+ .main .content-container .message-content h3 {
+ clear: both; }
+ .main .content-container .article-content h2,
+ .main .content-container .article-content h2 a,
+ .main .content-container .article-content h3,
+ .main .content-container .article-content h3 a,
+ .main .content-container .message-content h2,
+ .main .content-container .message-content h2 a,
+ .main .content-container .message-content h3,
+ .main .content-container .message-content h3 a {
+ color: #ea9408;
+ margin-top: 40px;
+ text-decoration: none; }
+ .main .content-container .article-content h2 a:hover,
+ .main .content-container .article-content h2 a:focus,
+ .main .content-container .article-content h3 a:hover,
+ .main .content-container .article-content h3 a:focus,
+ .main .content-container .message-content h2 a:hover,
+ .main .content-container .message-content h2 a:focus,
+ .main .content-container .message-content h3 a:hover,
+ .main .content-container .message-content h3 a:focus {
+ text-decoration: underline; }
+ .main .content-container .article-content h2,
+ .main .content-container .message-content h2 {
+ font-size: 22px;
+ font-size: 2.2rem;
+ line-height: 50px;
+ margin-bottom: 20px;
+ background: #FFF;
+ border-top: 1px solid #e0e4e5;
+ padding-left: 1%;
+ font-weight: 400; }
+ .main .content-container .article-content h3,
+ .main .content-container .message-content h3 {
+ font-size: 20px;
+ font-size: 2.0rem;
+ margin-bottom: 14px; }
+ .main .content-container .article-content h4,
+ .main .content-container .message-content h4 {
+ font-size: 18px;
+ font-size: 1.8rem;
+ margin-bottom: 12px; }
+ .main .content-container .article-content h5,
+ .main .content-container .message-content h5 {
+ font-size: 16px;
+ font-size: 1.6rem;
+ margin-bottom: 10px; }
+ .main .content-container .article-content h6,
+ .main .content-container .message-content h6 {
+ font-size: 15px;
+ font-size: 1.5rem;
+ margin-bottom: 10px; }
+ .main .content-container .article-content .actions-title,
+ .main .content-container .message-content .actions-title {
+ float: right;
+ margin: -60px 10px 0 0; }
+ .main .content-container .article-content .actions-title .btn,
+ .main .content-container .message-content .actions-title .btn {
+ height: 30px;
+ line-height: 30px;
+ margin-left: 3px;
+ opacity: .7; }
+ .main .content-container .article-content .actions-title .btn.ico-after:after,
+ .main .content-container .message-content .actions-title .btn.ico-after:after {
+ margin-top: 7px; }
+ .main .content-container .article-content .actions-title .btn:hover,
+ .main .content-container .article-content .actions-title .btn:focus,
+ .main .content-container .message-content .actions-title .btn:hover,
+ .main .content-container .message-content .actions-title .btn:focus {
+ opacity: 1; }
+ .main .content-container .article-content :not(.alert-box).information,
+ .main .content-container .article-content :not(.alert-box).question,
+ .main .content-container .article-content :not(.alert-box).error,
+ .main .content-container .article-content :not(.alert-box).warning,
+ .main .content-container .article-content :not(.alert-box).spoiler,
+ .main .content-container .message-content :not(.alert-box).information,
+ .main .content-container .message-content :not(.alert-box).question,
+ .main .content-container .message-content :not(.alert-box).error,
+ .main .content-container .message-content :not(.alert-box).warning,
+ .main .content-container .message-content :not(.alert-box).spoiler {
+ margin: 25px 0;
+ padding: 7px 15px 7px 45px; }
+ .main .content-container .article-content :not(.alert-box).information.ico-after:after,
+ .main .content-container .article-content :not(.alert-box).question.ico-after:after,
+ .main .content-container .article-content :not(.alert-box).error.ico-after:after,
+ .main .content-container .article-content :not(.alert-box).warning.ico-after:after,
+ .main .content-container .article-content :not(.alert-box).spoiler.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).information.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).question.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).error.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).warning.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).spoiler.ico-after:after {
+ position: absolute;
+ top: 50%;
+ left: 23px;
+ margin: -11px 0 0 -11px;
+ height: 22px;
+ width: 22px; }
+ .main .content-container .article-content :not(.alert-box).information,
+ .main .content-container .message-content :not(.alert-box).information {
+ background: #daeaee; }
+ .main .content-container .article-content :not(.alert-box).information.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).information.ico-after:after {
+ background-position: 0px -2586px; }
+ .main .content-container .article-content :not(.alert-box).question,
+ .main .content-container .message-content :not(.alert-box).question {
+ background: #e2daee; }
+ .main .content-container .article-content :not(.alert-box).question.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).question.ico-after:after {
+ background-position: 0px -3266px; }
+ .main .content-container .article-content :not(.alert-box).error,
+ .main .content-container .message-content :not(.alert-box).error {
+ background: #eedada; }
+ .main .content-container .article-content :not(.alert-box).error.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).error.ico-after:after {
+ background-position: 0px -1426px; }
+ .main .content-container .article-content :not(.alert-box).warning,
+ .main .content-container .message-content :not(.alert-box).warning {
+ background: #eee7da; }
+ .main .content-container .article-content :not(.alert-box).warning.ico-after:after,
+ .main .content-container .message-content :not(.alert-box).warning.ico-after:after {
+ background-position: 0px -4386px; }
+ .main .content-container .article-content .spoiler,
+ .main .content-container .message-content .spoiler {
+ margin-top: 0;
+ padding-left: 15px;
+ background: #EEE; }
+ .main .content-container .article-content .spoiler-title,
+ .main .content-container .message-content .spoiler-title {
+ display: block;
+ background: #EEE;
+ margin: 15px 0;
+ padding: 3px 15px 3px 40px;
+ text-decoration: none;
+ border-bottom: 1px solid #DDD;
+ color: #555; }
+ .main .content-container .article-content .spoiler-title.ico-after:after,
+ .main .content-container .message-content .spoiler-title.ico-after:after {
+ margin: 8px 0 0 10px; }
+ .main .content-container .article-content .spoiler-title:nth-last-child(2),
+ .main .content-container .message-content .spoiler-title:nth-last-child(2) {
+ margin-bottom: 15px; }
+ .main .content-container .article-content .spoiler-title:hover,
+ .main .content-container .message-content .spoiler-title:hover {
+ text-decoration: underline; }
+ .main .content-container .article-content img,
+ .main .content-container .message-content img {
+ max-width: 100%; }
+ .main .content-container .article-content figure,
+ .main .content-container .message-content figure {
+ margin: 30px 0;
+ text-align: center; }
+ .main .content-container .article-content figure > img,
+ .main .content-container .article-content figure > video,
+ .main .content-container .article-content figure > pre,
+ .main .content-container .article-content figure > code,
+ .main .content-container .article-content figure > table,
+ .main .content-container .article-content figure > blockquote,
+ .main .content-container .article-content figure > embed,
+ .main .content-container .article-content figure > video,
+ .main .content-container .message-content figure > img,
+ .main .content-container .message-content figure > video,
+ .main .content-container .message-content figure > pre,
+ .main .content-container .message-content figure > code,
+ .main .content-container .message-content figure > table,
+ .main .content-container .message-content figure > blockquote,
+ .main .content-container .message-content figure > embed,
+ .main .content-container .message-content figure > video {
+ max-width: 100%;
+ margin: 0 auto;
+ text-align: left; }
+ .main .content-container .article-content figure > img,
+ .main .content-container .article-content figure > video,
+ .main .content-container .article-content figure > pre,
+ .main .content-container .article-content figure > code,
+ .main .content-container .message-content figure > img,
+ .main .content-container .message-content figure > video,
+ .main .content-container .message-content figure > pre,
+ .main .content-container .message-content figure > code {
+ display: block; }
+ .main .content-container .article-content figure > figcaption,
+ .main .content-container .message-content figure > figcaption {
+ display: block; }
+ .main .content-container .article-content figure > blockquote ~ figcaption,
+ .main .content-container .message-content figure > blockquote ~ figcaption {
+ padding: 0 0 1px 2%;
+ font-style: italic;
+ text-align: left;
+ color: #999;
+ border-left: 5px solid #CCC; }
+ .main .content-container .article-content figure > blockquote ~ figcaption p,
+ .main .content-container .message-content figure > blockquote ~ figcaption p {
+ margin: 0 0 5px; }
+ .main .content-container .article-content figure > blockquote ~ figcaption p:before,
+ .main .content-container .message-content figure > blockquote ~ figcaption p:before {
+ content: "— "; }
+ .main .content-container .article-content blockquote,
+ .main .content-container .message-content blockquote {
+ margin: 0;
+ color: #777;
+ padding: 1px 2%;
+ border-left: 5px solid #CCC; }
+ .main .content-container .article-content blockquote > p:first-child,
+ .main .content-container .message-content blockquote > p:first-child {
+ margin-top: 5px; }
+ .main .content-container .article-content blockquote > p:last-child,
+ .main .content-container .message-content blockquote > p:last-child {
+ margin-bottom: 5px; }
+ .main .content-container .article-content blockquote figure,
+ .main .content-container .message-content blockquote figure {
+ margin: 15px 0; }
+ .main .content-container .article-content blockquote:last-child,
+ .main .content-container .message-content blockquote:last-child {
+ margin-bottom: 15px; }
+ .main .content-container .article-content code,
+ .main .content-container .article-content kbd,
+ .main .content-container .article-content pre,
+ .main .content-container .article-content samp,
+ .main .content-container .message-content code,
+ .main .content-container .message-content kbd,
+ .main .content-container .message-content pre,
+ .main .content-container .message-content samp {
+ font-family: monospace, serif; }
+ .main .content-container .article-content pre,
+ .main .content-container .message-content pre {
+ margin: 0; }
+ .main .content-container .article-content kbd,
+ .main .content-container .message-content kbd {
+ background-color: #F8F6EA;
+ padding: 2px 6px;
+ border-radius: 3px;
+ border: solid 1px #e0dab6;
+ border-bottom-width: 3px;
+ text-shadow: 0 1px 0 #FFF;
+ color: #5e551f; }
+ .main .content-container .article-content p code,
+ .main .content-container .article-content li code,
+ .main .content-container .message-content p code,
+ .main .content-container .message-content li code {
+ color: #A00;
+ background: #EEE;
+ border: 1px solid #CCC;
+ padding: 0 5px; }
+ .main .content-container .article-content .mathjax-wrapper,
+ .main .content-container .message-content .mathjax-wrapper {
+ max-width: 100%;
+ overflow: auto; }
+ .main .content-container .article-content .mathjax-wrapper mathjax,
+ .main .content-container .message-content .mathjax-wrapper mathjax {
+ font-size: 16px;
+ font-size: 1.6rem; }
+ .main .content-container .article-content .footnote,
+ .main .content-container .message-content .footnote {
+ opacity: .7; }
+ .main .content-container .article-content .footnote ol,
+ .main .content-container .message-content .footnote ol {
+ padding-left: 25px; }
+
+.main .content-container .comments-title {
+ margin: 50px 0 20px;
+ color: #084561;
+ border-bottom: 1px solid #F8AD32;
+ font-weight: normal;
+ font-size: 22px;
+ font-size: 2.2rem;
+ line-height: 30px; }
+
+.wf-active .main .content-container .article-content p,
+.wf-active .main .content-container .article-content ul:not(.pagination),
+.wf-active .main .content-container .article-content ol:not(.summary-part) {
+ font-family: "Merriweather", "Liberation Serif", "Times New Roman", Times, Georgia, FreeSerif, serif; }
+
+.wf-active .main .content-container .article-content figcaption p {
+ font-family: "Source Sans Pro", "Segoe UI", "Trebuchet MS", Helvetica, "Helvetica Neue", Arial, sans-serif;
+ font-size: 16px;
+ font-size: 1.6rem; }
+
+.wf-active .main .content-container .article-content code,
+.wf-active .main .content-container .article-content kbd,
+.wf-active .main .content-container .article-content pre,
+.wf-active .main .content-container .article-content samp,
+.wf-active .main .content-container .message-content code, .wf-active .main .content-container .message-content kbd, .wf-active .main .content-container .message-content pre, .wf-active .main .content-container .message-content samp {
+ font-family: "Source Code Pro", monospace, serif; }
+
+.js .spoiler {
+ display: none; }
+
+@media only screen and (min-width: 1140px) {
+ .full-content-wrapper .tutorial-list article {
+ width: 29.3%; }
+ .main .content-container .topic-message .message .message-metadata .date .short-date {
+ display: none; }
+ .main .content-container .topic-message .message .message-metadata .date .long-date {
+ display: inline; } }
+
+@media only screen and (min-width: 960px) {
+ .content-wrapper,
+ .full-content-wrapper {
+ margin: 0 0 0 4%; }
+ .content-wrapper.without-margin,
+ .full-content-wrapper.without-margin {
+ margin: 0; }
+ .content-wrapper .content-wrapper,
+ .full-content-wrapper .content-wrapper {
+ max-width: none;
+ margin: 0; } }
+
+@media only screen and (max-width: 959px) {
+ .main .content-container .taglist,
+ .main .content-container .pubdate {
+ margin-left: 10px;
+ margin-right: 10px; }
+ .main .content-container .article-content p,
+ .main .content-container .article-content ol,
+ .main .content-container .article-content ul:not(.pagination) {
+ font-size: 15px;
+ font-size: 1.5rem;
+ font-size: 1.8ex; }
+ .main .content-container .content-wrapper h1:not(.ico-after),
+ .main .content-container .content-wrapper h2:not(.ico-after),
+ .main .content-container .content-wrapper h3,
+ .main .content-container .content-wrapper .subtitle,
+ .main .content-container .full-content-wrapper h1:not(.ico-after),
+ .main .content-container .full-content-wrapper h2:not(.ico-after),
+ .main .content-container .full-content-wrapper h3,
+ .main .content-container .full-content-wrapper .subtitle {
+ padding-left: 10px;
+ padding-right: 10px; }
+ .main .content-container .content-wrapper .illu img,
+ .main .content-container .full-content-wrapper .illu img {
+ display: none; }
+ .main .content-container .content-wrapper h4,
+ .main .content-container .content-wrapper h5,
+ .main .content-container .content-wrapper h6,
+ .main .content-container .content-wrapper .authors,
+ .main .content-container .content-wrapper p,
+ .main .content-container .content-wrapper figure,
+ .main .content-container .content-wrapper blockquote,
+ .main .content-container .full-content-wrapper h4,
+ .main .content-container .full-content-wrapper h5,
+ .main .content-container .full-content-wrapper h6,
+ .main .content-container .full-content-wrapper .authors,
+ .main .content-container .full-content-wrapper p,
+ .main .content-container .full-content-wrapper figure,
+ .main .content-container .full-content-wrapper blockquote {
+ margin-left: 10px;
+ margin-right: 10px; }
+ .main .content-container .content-wrapper figure p,
+ .main .content-container .content-wrapper figure blockquote,
+ .main .content-container .full-content-wrapper figure p,
+ .main .content-container .full-content-wrapper figure blockquote {
+ margin-left: 0;
+ margin-right: 0; }
+ .main .content-container .content-wrapper .license,
+ .main .content-container .full-content-wrapper .license {
+ position: absolute;
+ margin-top: 0;
+ top: 62px;
+ right: 15px; } }
+
+@media only screen and (max-width: 759px) {
+ .main .content-container .article-content .btn {
+ float: none;
+ text-align: center; } }
+
+.footer-container footer {
+ color: #424242;
+ padding: 20px 0; }
+
+.page-footer {
+ background: #084561;
+ height: 40px;
+ line-height: 40px;
+ border-top: 3px solid #F8AD32;
+ font-size: 14px;
+ font-size: 1.4rem; }
+ .page-footer .wrapper {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex; }
+ .page-footer .copyright {
+ color: #EEE;
+ margin: 0; }
+ .page-footer ul {
+ list-style: none;
+ margin: 0;
+ padding: 0; }
+ .page-footer ul.links li {
+ display: inline-block;
+ margin-left: 25px; }
+ .page-footer ul.links li a {
+ text-decoration: none;
+ color: #EEE;
+ border-bottom: 1px solid transparent; }
+ .page-footer ul.links li a:hover,
+ .page-footer ul.links li a:focus {
+ border-bottom-color: #F8AD32; }
+ .page-footer ul.social {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ text-align: center; }
+ .page-footer ul.social li {
+ margin: -2px 10px;
+ display: inline-block; }
+ .page-footer ul.social li a {
+ display: block;
+ height: 16px;
+ width: 16px; }
+ .page-footer ul.social li a:after {
+ opacity: 0.6; }
+ .page-footer ul.social li a:hover {
+ border-bottom-color: transparent; }
+ .page-footer ul.social li a:hover:after {
+ opacity: 1; }
+ .page-footer .version,
+ .page-footer .version a {
+ color: rgba(255, 255, 255, 0.5); }
+ .page-footer .version a:hover,
+ .page-footer .version a:focus {
+ color: #FFF; }
+
+@media only screen and (max-width: 959px) {
+ .page-footer {
+ text-align: center;
+ height: auto; }
+ .page-footer .wrapper {
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .page-footer .wrapper .social {
+ -ms-flex: none; }
+ .page-footer .copyright, .page-footer .social {
+ border-bottom: 2px solid #0a5274; }
+ .page-footer ul li {
+ margin: 0 5px; } }
+
+/*------------------------
+8. Components
+------------------------*/
+.alert-box {
+ position: relative;
+ padding: 8px 30px 8px 15px;
+ margin: 0 0 15px 2%;
+ color: #FFF;
+ text-shadow: rgba(0, 0, 0, 0.2) 0 0 2px;
+ background: #777; }
+ .alert-box.alert-box-not-closable {
+ padding-right: 15px; }
+ .alert-box .alert-box-text {
+ display: block;
+ float: left; }
+ .alert-box .close-alert-box {
+ display: block;
+ position: absolute;
+ top: 8px;
+ right: 15px;
+ height: 20px;
+ width: 20px;
+ text-indent: -9999px;
+ text-decoration: none;
+ background-color: transparent;
+ line-height: 22px;
+ color: #FFF; }
+ .alert-box .close-alert-box.ico-after:after {
+ margin-top: 4px; }
+ .alert-box .close-alert-box-text {
+ width: auto;
+ text-indent: 0;
+ top: 8px; }
+ .alert-box .alert-box-title {
+ margin: 5px 0;
+ padding: 0;
+ font-size: 18px;
+ font-weight: normal; }
+ .alert-box.info, .alert-box.success {
+ background: #48A200; }
+ .alert-box.error {
+ background: #C0392B; }
+ .alert-box.alert, .alert-box.warning {
+ background: #e67e22; }
+ .alert-box.not-member {
+ background: #FDFDFD;
+ color: #333;
+ text-shadow: none;
+ border-bottom: 3px solid #D2D5D6; }
+ .alert-box.ico-after {
+ padding-left: 40px; }
+ .alert-box.ico-after:after {
+ margin: 12px 0 0 13px; }
+ .alert-box h4,
+ .alert-box p {
+ margin-left: 0 !important;
+ margin-right: 0 !important; }
+ .alert-box p {
+ margin: 0; }
+ .alert-box a {
+ color: #EEE; }
+ .alert-box .alert-box-btn {
+ display: inline-block;
+ background: #084561;
+ text-decoration: none;
+ padding: 8px 15px;
+ margin: 5px 0;
+ color: #FFF !important; }
+ .alert-box .alert-box-btn:hover,
+ .alert-box .alert-box-btn:focus {
+ background: #0b5c82; }
+ .alert-box .alert-box-btn.alert-box-btn-right {
+ position: absolute;
+ top: 0;
+ right: 0;
+ margin: 0; }
+ .alert-box.empty {
+ display: none; }
+
+.content-wrapper .alert-box {
+ margin: 0 0 20px; }
+ .content-wrapper .alert-box + .not-member {
+ margin-top: -20px; }
+
+@media only screen and (min-width: 760px) {
+ .alert-box .alert-box-text {
+ display: inline; }
+ .topic-message .alert-box {
+ padding: 8px 75px 8px 15px; } }
+
+@media only screen and (max-width: 759px) {
+ .alert-box .alert-box-btn,
+ .alert-box .alert-box-btn.alert-box-btn-right {
+ position: relative;
+ float: none;
+ display: block;
+ margin: 5px 0 0;
+ text-align: center; } }
+
+.authors {
+ color: #9c9c9c;
+ padding-bottom: 10px;
+ border-bottom: 1px solid #e0e4e5;
+ margin-bottom: 20px !important; }
+ .authors .authors-label {
+ display: inline-block; }
+ .authors ul {
+ display: inline-block;
+ list-style: none;
+ padding: 0;
+ margin: 0; }
+ .authors ul li {
+ display: inline-block;
+ margin: 0; }
+ .authors ul li .avatar {
+ height: 28px;
+ width: 28px;
+ border: 1px solid #cdd0d1;
+ margin-right: 3px;
+ margin-top: -4px; }
+ .authors ul li a {
+ display: block;
+ text-decoration: none;
+ color: #1088bf;
+ height: 36px;
+ line-height: 36px;
+ padding: 0 8px;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .authors ul li a.ico-after {
+ padding-left: 30px; }
+ .authors ul li a.ico-after:after {
+ margin: 10px 0 0 8px; }
+ .authors ul li a:hover,
+ .authors ul li a:focus {
+ background: #DDD;
+ color: #084561; }
+ .authors ul li .info {
+ padding-left: 5px;
+ color: #777; }
+
+.autocomplete-wrapper {
+ position: relative; }
+ .autocomplete-wrapper .autocomplete-dropdown {
+ position: absolute;
+ z-index: 60; }
+ .autocomplete-wrapper .autocomplete-dropdown ul {
+ padding: 0;
+ margin: 0;
+ background-color: #FFF;
+ border-right: solid 1px #CCC;
+ border-left: solid 1px #CCC;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px; }
+ .autocomplete-wrapper .autocomplete-dropdown ul li {
+ padding: 4px 10px;
+ border-bottom: solid 1px #CCC;
+ list-style: none; }
+ .autocomplete-wrapper .autocomplete-dropdown ul li.active, .autocomplete-wrapper .autocomplete-dropdown ul li:hover {
+ background-color: #0c6790;
+ color: white; }
+
+.modal .autocomplete-dropdown {
+ margin-top: -10px;
+ margin-left: 15px; }
+
+.breadcrumb {
+ display: none; }
+
+@media only screen and (min-width: 960px) {
+ .breadcrumb {
+ position: relative;
+ display: block;
+ float: left;
+ width: calc(100% - 230px);
+ height: 30px; }
+ .breadcrumb:after {
+ content: " ";
+ display: block;
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 50px;
+ height: 100%;
+ background-image: -webkit-linear-gradient(left, rgba(231, 235, 236, 0), rgba(231, 235, 236, 0.75));
+ background-image: linear-gradient(left, rgba(231, 235, 236, 0), rgba(231, 235, 236, 0.75)); }
+ .breadcrumb ol {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+ .breadcrumb ol li {
+ position: relative;
+ display: inline-block;
+ padding-right: 30px;
+ line-height: 30px; }
+ .breadcrumb ol li a {
+ text-decoration: none;
+ color: #084561; }
+ .breadcrumb ol li a:hover,
+ .breadcrumb ol li a:focus {
+ text-decoration: underline;
+ outline: none; }
+ .breadcrumb ol li:not(:last-child):after {
+ display: block;
+ position: absolute;
+ top: 0;
+ right: 7px;
+ content: " ";
+ height: 30px;
+ width: 15px;
+ background-image: url("../images/sprite.png");
+ background-repeat: no-repeat;
+ background-position: 0px -3306px;
+ opacity: .2; } }
+
+.content-item {
+ background: #FFF;
+ min-height: 60px;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ border: solid 1px #DEDEDE;
+ border-bottom-width: 2px;
+ margin: 0 10px 15px;
+ overflow: hidden;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 400px;
+ -ms-flex: 1 1 400px;
+ flex: 1 1 400px;
+ width: 100%; }
+ .content-item.expand-description .content-description {
+ height: 36px;
+ white-space: normal;
+ font-size: 14px;
+ font-size: 1.4rem;
+ line-height: 18px; }
+ .content-item.expand-description .content-meta {
+ line-height: 16px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis; }
+ .content-item.expand-description .content-meta:not(.inline) > * {
+ display: inline; }
+ .content-item a {
+ text-decoration: none; }
+ .content-item > a:not(.btn) {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ width: 100%; }
+ .content-item .content-illu {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 96px;
+ -ms-flex: 0 0 96px;
+ flex: 0 0 96px;
+ height: 96px;
+ background-color: #DEDEDE; }
+ .content-item .content-illu img {
+ width: 100%;
+ height: 100%;
+ background-color: #FFF; }
+ .content-item .content-info {
+ padding: 10px 14px;
+ height: 76px;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ position: relative;
+ min-width: 100px; }
+ .content-item .content-reactions {
+ position: absolute;
+ z-index: 0;
+ bottom: 6px;
+ left: -14px;
+ height: 32px;
+ width: 32px;
+ padding-left: 1px;
+ background-image: url("../images/sprite.png");
+ background-position: 0px -74px;
+ color: #F8AD32;
+ text-align: center;
+ line-height: 32px;
+ font-weight: bold;
+ font-size: 14px;
+ font-size: 1.4rem; }
+ .content-item .content-reactions span {
+ position: relative;
+ z-index: 2; }
+ .content-item .content-reactions::before {
+ content: "";
+ display: block;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ z-index: 1;
+ background-image: url("../images/sprite.png");
+ background-position: 0px -42px;
+ opacity: 0;
+ -webkit-transition: opacity 0.15s;
+ transition: opacity 0.15s; }
+ .content-item .content-reactions:focus, .content-item .content-reactions:hover {
+ color: white; }
+ .content-item .content-reactions:focus::before, .content-item .content-reactions:hover::before {
+ opacity: 1; }
+ .content-item.has-reactions .content-meta {
+ padding-left: 14px; }
+ .content-item .content-title {
+ margin: 0;
+ font-size: 17px;
+ font-size: 1.7rem;
+ font-weight: normal;
+ line-height: 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #424242; }
+ .content-item a:hover, .content-item a:focus {
+ outline: none; }
+ .content-item a:hover .content-title, .content-item a:focus .content-title {
+ text-decoration: underline;
+ outline: none; }
+ .content-item p {
+ margin: 0; }
+ .content-item .content-description {
+ margin: 0;
+ font-size: 15px;
+ font-size: 1.5rem;
+ line-height: 26px;
+ color: #999;
+ margin-bottom: 2px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+ .content-item .content-description .short {
+ display: none; }
+ .content-item .content-meta {
+ color: #F8AD32;
+ font-size: 13px;
+ font-size: 1.3rem;
+ line-height: 15px; }
+ .content-item .content-meta:not(.inline) > * {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: block; }
+ .content-item .content-meta .short {
+ display: none; }
+ .content-item .content-meta > a {
+ color: #ef9708; }
+ .content-item .content-meta > a:hover, .content-item .content-meta > a:focus {
+ text-decoration: underline; }
+ .content-item .content-tags {
+ margin: 0;
+ padding: 10px 0 0;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ align-items: flex-end; }
+ .content-item .content-tags li {
+ padding: 0;
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 22px;
+ -ms-flex: 0 0 22px;
+ flex: 0 0 22px;
+ background-color: #EEE;
+ margin-bottom: 5px;
+ color: #777;
+ display: block;
+ text-align: right;
+ -webkit-transition: color 0.15s, background-color 0.15s;
+ transition: color 0.15s, background-color 0.15s; }
+ .content-item .content-tags li a {
+ color: inherit;
+ padding: 0 12px;
+ line-height: 22px;
+ height: 22px;
+ display: block; }
+ .content-item .content-tags li a:hover, .content-item .content-tags li a:focus {
+ color: #EEE;
+ background-color: #777; }
+ .content-item.write-tutorial {
+ background-color: #084561;
+ border-color: #084561;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ color: white;
+ height: 96px; }
+ .content-item.write-tutorial .write-tutorial-text {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ text-align: center;
+ margin: 10px 14px; }
+ .content-item.write-tutorial .write-tutorial-text p {
+ margin: 0;
+ font-size: 16px; }
+ .content-item.write-tutorial .write-tutorial-text p.lead {
+ font-size: 18px;
+ font-weight: bold; }
+ .content-item.write-tutorial .btn-write-tutorial {
+ background-color: #1c5b78;
+ margin-right: 28px;
+ -webkit-transition: color 0.15s, background-color 0.15s;
+ transition: color 0.15s, background-color 0.15s; }
+ .content-item.write-tutorial .btn-write-tutorial:hover, .content-item.write-tutorial .btn-write-tutorial:focus {
+ background-color: #FFF;
+ color: #1c5b78; }
+ .content-item.topic-item .content-info {
+ padding: 14px 20px;
+ height: 68px; }
+ .content-item.topic-item .content-title {
+ font-size: 19px;
+ font-size: 1.9rem;
+ line-height: 24px;
+ color: #084561; }
+ .content-item.topic-item .content-description {
+ color: #505050;
+ font-size: 16px;
+ font-size: 1.6rem; }
+ .content-item.topic-item .member-item:hover, .content-item.topic-item .member-item:focus {
+ text-decoration: underline; }
+ .content-item.topic-item .content-meta {
+ font-size: 14px;
+ font-size: 1.4rem;
+ line-height: 16px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+
+.content-item-list {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ min-width: 100%;
+ margin: 0 -10px; }
+ .content-item-list .fill {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 400px;
+ -ms-flex: 1 1 400px;
+ flex: 1 1 400px;
+ margin: 0 10px; }
+
+@media only screen and (min-width: 960px) {
+ .content-item.mini {
+ -webkit-flex-basis: 200px;
+ -ms-flex-preferred-size: 200px;
+ flex-basis: 200px; }
+ .content-item.mini .content-description {
+ display: none; }
+ .content-item.mini .content-title {
+ white-space: normal;
+ font-size: 14px;
+ line-height: 15px;
+ height: 45px; }
+ .content-item.mini .content-meta {
+ padding-top: 1px; }
+ .content-item.mini .content-meta:not(.inline) .content-pubdate {
+ display: none; }
+ .content-item.mini .content-meta:not(.inline) > * {
+ display: block; } }
+
+@media only screen and (max-width: 959px) {
+ .full-content-wrapper .content-item .content-info h3 {
+ padding: 0 !important; }
+ .full-content-wrapper .content-item .content-info p:not(.content-meta) {
+ margin: 0 !important; } }
+
+@media only screen and (max-width: 759px) {
+ .content-item.write-tutorial {
+ display: none; }
+ .content-item .content-tags {
+ display: none; }
+ .content-item .content-meta .short, .content-item .content-description .short {
+ display: inline; }
+ .content-item .content-meta .long, .content-item .content-description .long {
+ display: none; } }
+
+.zform-toolbar {
+ margin: 0;
+ padding: 2px;
+ list-style-position: initial;
+ list-style-type: none;
+ border-bottom: none; }
+ .zform-toolbar a,
+ .zform-toolbar button {
+ display: block;
+ float: left;
+ cursor: pointer;
+ border-bottom: 1px solid transparent;
+ text-decoration: none;
+ color: #999;
+ height: 27px;
+ line-height: 30px;
+ padding: 0 10px;
+ margin-left: 1px;
+ text-indent: -9999px;
+ width: 0; }
+ .zform-toolbar a .zform-popup,
+ .zform-toolbar button .zform-popup {
+ text-indent: 0;
+ line-height: 20px; }
+ .zform-toolbar a.ico-after,
+ .zform-toolbar button.ico-after {
+ padding-left: 30px; }
+ .zform-toolbar a:after,
+ .zform-toolbar button:after {
+ top: 7px;
+ left: 12px;
+ display: none; }
+ .zform-toolbar button {
+ padding: 0 15px;
+ height: 30px;
+ border-top: none;
+ border-right: none;
+ border-left: none; }
+ .zform-toolbar button[type=submit] {
+ background: #084561;
+ border-bottom-color: #084561;
+ color: #DDD; }
+ .zform-toolbar button[type=submit]:hover,
+ .zform-toolbar button[type=submit]:focus {
+ color: #FFF;
+ background: #396A81;
+ border-bottom-color: #396A81; }
+ .zform-toolbar a:hover,
+ .zform-toolbar a:focus,
+ .zform-toolbar button:hover,
+ .zform-toolbar button:focus {
+ border-bottom-color: #1088bf;
+ outline: none;
+ background-color: #EEE; }
+
+.zform-button {
+ background-repeat: no-repeat;
+ background-position: center center; }
+
+/* Icons */
+.zform-button-bold {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAwklEQVQoz2P4z4AfMlBLQXlC+fmS/wXvs+tT1ye8j5wfLIBhQnF95v+s/SBWxPyQ/17nMRTk1qf+TwYr8K/3++/4H0NBen38/2igAl8Bt/tu/y3mYyhIqI/8H3zfp971vMt/s/1YfBFRH/zfCyxhMt/iv9p5eQE0Bf71vv8dwQq0BdT+6/4XL0BT4FYPtBlqtMx/zf8C9WgKbOsd/uuDPSddoPKf/z2XAooCmwST9br71fbL90v2C+/n7edUoHpc4IYASlr8ehOQ9V8AAAAASUVORK5CYII="); }
+
+.zform-button-italic {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAcUlEQVQoz2P4z4AfMlBbQXZD6oeE/5Efgg/gNCHuQeT/wAScJsQYhP/3/4DHipAJQf/dFuBR4PPA879tAE4FXgau/20+4PGF4wSX/0YL8CiweGDxXysApwIzB9P/Gv9xBpRJg+4BtQPyByQ30DguMCEAC2D/O2OrpxIAAAAASUVORK5CYII="); }
+
+.zform-button-strike {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAn0lEQVQoz2P4z4AfMlBTQYlgwczstNTyhJmRu7EqyHuXVQ6iI8oD/2NRkJuW9j+5A8L2wGZCukvC/+j/ITN9jf8z2LtgtSJyd+j/wP8e/23PmKEqKC8t/w+D8f9t/ksguRvJBH9BCG2Upn3X6L/cGQwr3NLsy2Fsmf9idzEU2KaZ/9eHmiLyjr8cQ4FJmu47tTPy5ZJpwuW8HTSKC+wQAFs6/D/QOXeIAAAAAElFTkSuQmCC"); }
+
+.zform-button-abbr {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACTUlEQVR42pWR4UtTYRTGB/0FgyBckZREI8SyElEEEyW0RJoxbaK2raYmaVMnt6ZYzpbTudqW091arqZoKYEVjWgFFRhCg77Ymt7J3d6522rh9yJ6eufHcOXOt3Nenuf8nveIRH9V10wY7dMEre4wNM7gN1G61TYtPB6aJ7g8F0cDG21J20DDrkDp5D3NngTkjlhhWmK1i6DB+vldLZvYXjsaQ5WZ6LYsVk7ER1rGA5AbPw7LeheLFaME5YPhyS2JG1zxgyp7ENX9/pJkr32jedD4cAilA6uL/xXXOWNjcjuBzPgJJy3CDu3b827rBxPM7wcgu9OPalfFtnKbIlZqJ8wxK/EVWYiv0ExmCwYjTZsatr48azEtXIM3NI/eF904brv588TYGlSTcRSZCeonBFx69BU17BoOGfjNTepmZMN6bwesC17I7wrQTMVRMERMybe867xJ5RZwxhnDgZ5VJmW0ClvJj86nr9B4P458w+vfeUZenJzn9PGsilJU2SPYx3BNqcSxYmMB8vW5OKy/ipwrjl8U15fdx+OUPYobzxKQMiFkdnLilAT5gxExxfXVUNTTjg1c/36Gmz13T0AbjbRbu+z/53VyDbxfwQqQj69B2sNtZN2j45jKkQgqzBHsvBhMnZ/ilpVZCEzPvyNbH0KWjhNT3L1062rHlICjdCZpDpalNKC4TZW3Ihh4kkCVLYqsrhVIdSsoN4Wh9XxB/e0ojnRzkKgDm5vQ3xVTXDZTu4xd7ctJXL/kQpChWxmJJrBOhesZ6iU2Q7kk/gOYnkYcn8opfQAAAABJRU5ErkJggg=="); }
+
+.zform-button-key {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABe0lEQVR42pWSQW5TQQyGv/GMX1KVsmJLeggEO+ACCHEJWOQKBSo19ADZpoIFN0CIY9BK0G1DuyebIlGSzNgsXt5LiKia/tJItmR/M7894dPnLy/NbGTmgHOzAkECEsKrF8+fHaWc8+jRwwfc3dnB3W5uD8Llr0uOT76NgKNkZpydjXn65DGb6uvxCXe2twFIZsbWVgeAfr9Pp9NBRDAzZrMZe6/fkHMGwN3Z7d2nqpTfV39qQClGShUABwcDut0u+/tvGQzeMZ1OyTkjqgDUc4KUFLOrBlDQpsCtPmZtLFHap4s3gISbNRYK1QIQYyTGiLu38ap8AahUKVZWLcR/AOvxOkA1Lu2sWogxIiLM53NE5FpAPQNbbkE11UmMYMZwOMRKqfP/AVSx1oIZKWk7nKYwiBCv+QeaEt5YsDULm0hVKcWWMyCEek0imwEqXdpxd0QC309PgbBBu9Pr9ZhMJjXgx3h8+P7Dxz1uqYvz80MWV94Ddrm9LoCffwHdG70wvg5ZlgAAAABJRU5ErkJggg=="); }
+
+.zform-button-sup {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABLElEQVR42mNgGDkgZMoDhdJVzy+0bH75wbfrbgPJBiTPe7wBqFHBq+1WQ8P65//JdknirIcXUuY9eoAhUV5efqC4uPhAbm7ugbS0tAPx8fEK4eHhB/z8/A64uroeAKmxr7jWEDbp3gXznEsGGAYANQcANX9ISUn5D9Q8ASQG1NwA1LzAxsZGwbroSoBT9bUFJhkXBAyTLzjoxZ9VwDAEaLMDUPP/yMjI/0DNBTCbQcC79eaB9LkP/yfPevA/bOLdDzj9CHT2hMDAwP9ubm7/gTYLkBxIQJsFQJpdXFz+GxkZTSDZAJCzgTYXWFtb/zcwMPivoKDgQLTN0AArAPE1NTUnAF3wX0JC4oOgoKABsTYfADkbqNkAaPMBoOYDQM0HuLi4DrCwsBgMzjwCAMHEeHCN9BV5AAAAAElFTkSuQmCC"); }
+
+.zform-button-sub {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABLElEQVR42mNgGD6gvLz8QHFx8YHc3NwDaWlpB+Lj4xXCw8MP+Pn5HXB1dT1A0ACg5gCg5g8pKSn/gZongMSAmhuAmhfY2NgoEOUKoM0OQM3/IyMj/wM1FxBlMzoAOntCYGDgfzc3t/9AmwVINgBoswBIs4uLy38jI6MJJBsAcjbQ5gJra+v/BgYG/xUUFBxA4iFTHiiUrnp+oWXzyw++XXcbsNoMDbACEF9TU3MC0AX/JSQkPggKChokz3u8AahRwavtVkPD+uf/cdl8AORsoGYDoM0HgJoPADUf4OLiOsDCwmIAUpc46+GFlHmPHpCVVuwrrjWETbp3wTznkgHJmq2LrgQ4VV9bYJJxQcAw+YKDXvxZBZIM8G69eSB97sP/ybMe/A+bePfD4MlDAC7MeHCrEeunAAAAAElFTkSuQmCC"); }
+
+.zform-button-center {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAfElEQVR42mP8z4AfMDFQqoAFRJT//8fwBwx/g+EvMP7FsJeRgYHxPzEmMDDkZP+eAtMNhTnHpoJkiDMh9T+yzQh4iwQ3BGf/moKsF2hWziMS3OD9H9Xu31D4mRg3MPwHQ9Ns/f+a/1X+y/2X/C/yn/8/93/2bIgMI8WxCQClCFYAGIFCIgAAAABJRU5ErkJggg=="); }
+
+.zform-button-right {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAY0lEQVR42mP8z4AfMDFQqoAFRJT//8fwBwx/g+EvMP7FsJeRgYHxPzEmQEDS/99QnTB4hmgTUv8j24yAt0h0g/t/hF6Iec+JNsH7P6rdv6HwM4lu0Pr/G64bEq5/iDGBYGQBABNITB8iVnJIAAAAAElFTkSuQmCC"); }
+
+.zform-button-ul {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA1UlEQVR42mNgGBQgZ/7jgqm7Xj8A0aTqZQERmtIcBQqibPJAJsiACeXl5dlAesrfv38Z/vz5w/D792+GX79+gemfP3+C2WvXrmWkigsGCUiZ+aigc9PLByE9d8kLRCUx1gIZIRb5N5Ic4ECMi4vLBgbUFFCAIeMfP37A2bdu3UIEYkDHrYKSxY8fuFZeG6qBaJt/qSB+2r0H1nmXyAxEdZ4CAwVucEo8CgxEIyOjbGBATYGlOhCNnBpBqROYShnhBty58WUCSDOUZjh37txUIDWVLt4HAP/ViGJIIAyXAAAAAElFTkSuQmCC"); }
+
+.zform-button-ol {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA70lEQVR42mNgoAbImf9YZdHhd//JNgCkmSIDYIbA2OXl5dlA/L+kpOR/QUHB/+zs7P+pqan/ExIS/kdGRv4PDg7+j9UFiw5S6Aqywdz9b//P2vP6f8TEeypkGxLae0+ld8tL8rwQ1HVHpXPTc7jmuLi47IiIiP+BgYH/vby8/js7O/+3sbH5b2Ji8l9XV/e/mpoaqkVt65//b1zz9H/NqqcDFIjlyx7/L136+H/x4sfkuwCk2TrvEvmxANIMc4GRkVG2trb2fxUVlf9ycnL/xcXF/wsJCf3n4eH5z87O/p+Zmfk/hu0gbFd0pYPu4QcAKY588QFUIAIAAAAASUVORK5CYII="); }
+
+.zform-button-quote {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABH0lEQVR42mNgGDQgon2HEBAvBeKfQPwfD94FxCrYDNi48uCt/7///P2PD2w5eR9kyG0gZkPWzAPEf/7++/f/w7d//19++vf/2cd//5+8//f/4bt//++9+ff/9qu//++8ghheveA4yBAzZAPkcqYeAEu+AGp89uHf/8dAzQ/e/vt/F6r5+ou//68+gxjQueosyABvrAY8BWp+9A6q+fW//7deQjRfAWq++AS3AXAvgJx/H2jrndd//98Ear72/O//y0DNF56ADPgDNqB20QmQAZZYAxFkCDIAuebC479gg9ECkRNXNP6BRdncHVfhBr3//APMB4pfxhqNONLGnefvvsI0fgfiWlISVu/MbVdAGr8AcSGpqVIJiO8BcQrD8AcAGopyopBVAH0AAAAASUVORK5CYII="); }
+
+.zform-button-link {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA6UlEQVQoz2P4z4AfMtBJgR13Vmnru3n/ax7mmOdI1Nyd97/1XVapHTdUgRGbT9fE/y/+3/1/8H/jvepDN3/c/X/k/8T/Pl1GbGAFhn7FH66+i9jm/Sf1/6T/lf9T/3v/idi24mHxB0M/iAldTd8np/tz2X/e+//c/0P/1/63/+zPNTm96btRF1iBbmb6+2klQTsdf7n9DwRCt/+Ov4J2TitJf6+bCVagqel7vff9qrfr/k//X/i/Akiu+7/qbe973+uammAFasz2Bl73U75kf8/+GR4X7pz9Kft7yhev+/YGasz0C0mKFAAASj0PpKVVf4oAAAAASUVORK5CYII="); }
+
+.zform-button-image {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB8ElEQVQ4y6WTPWtUQRSGnzP33r33Jgu7kI1hI1GSgGARxFRG/4CFhY1VUlhI+oCNP8LfIKaz0MpCLEz+QUCwCIQVQc0X+dhsNtm5O3PGImbJboIIGaabmeec9533SAiB66wYYPnj2mtVmT8pNLPuilsDNZIYsoQ3L57OLsUAGmThyaOJ0SzLRCT6Z8WOgnddPnzZeA6cAU6spmmayfLqAR32aMk6k2M75EkTF5T9o5xvGxWGwl1iRnj5bBKvIj0JhQNjIoxAYbaYrO2Qln7QtC2cd8RpytREne+NYaqlGqoDHgAoYIxgwy6l5IDD0ybWdyicw4U2aZrStjkjuSEQesb0A0QITrG+S8dZTruWQh1eAekS1BMb4eLPmZ7R4QyQMUqrPUwgwarHOo9IiXarTLk0ThQZCHJZQghnEsrRTX5tbVPJNhkaNqTiON4fYnurTr0yRWzkcg7CRUByg/H8Pj/XVqiWfyPek3RGuTW9QDmr41X7YtHXwfreIl4Vr8odu8vcxG0UaGxu8+n4FXqkqCrweaCDEBDg8exS7yCaOeSkvUe2+ZXaw0Xmo6Qvmec+xgByRV59XsXnVWxt+oo8DpiYJdJEu5V7Yw9A5C8qnO9Lj50riCMJPUAplnfvVxpzhQ8z/zOccQSJ4S2AXHec/wAGb9qTrxXEvwAAAABJRU5ErkJggg=="); }
+
+.zform-button-attention {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJklEQVR42qVTTUiUYRB+vh93dX903bKUYMNlMWHJBC1WW8GjZVCnfpa6Fp1i6dilQwcJglgrDEKiQqhDRYWVCEsSFJ0Ksh8zKjJZ3V0WU3G/73tnpoNrFGkZzmHmMDPPPM8wA6zRtJUSuXSHISSvhLnALJ21Xc9ouTp9JQAhSblqd0VdG7viQnz0v2hlh+PBqaH272TPiF0Ylcl72/MTd1qCq2bAxNcqQgm/puswvUF46hNBIT6zqulTj9ubMw9jJGSJNXVB7Gy/sJ2TLze3qc8DW5v/yUCYb/gakzqrOXwcuoXxR1fBTgaBppMGE/f+FSAzGEuUVbdFvZv3YeFrEiKACFCc6IE/0g13bUf8w5WGxLIAmcGYj5lTnvABsMoDXOoWAbMDLo6hqvEgmPjsu0th3x8ATNzvCe1f564Ow8ndBiAoD3iWhMHKXERFTQiVWw5tUkXn1G+HNHl/R0SY39btTpu08BLO9GUwA3pZOeZzs3B7GYYhMCo7Yfj3YrS31SZLRVtO58f1xaPhAV/DcVN4DjT7HBAGIPg08h7TbyYBCCAMVRiGps+jJpZ0Kcs5DwDat7ut3UZV04MNHSmo2SdwstcXJbFARAME0A2BJjZECLqxHuX1PXjdl8DM2Mgek4n6ApHDAADT1w7T11YSpy3JLzn5uQ9oLtTtPIbCaPqcKcTp7NMTR4QYTIxfIzkEshwoywFZDshSIFuBHAIrAit6sdZvxg9QwSUHEnNo0gAAAABJRU5ErkJggg=="); }
+
+.zform-button-error {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACU0lEQVR42q2T7U9SYRjG/VvgQys313pbc81WW80EBT1EICDiIdMjNlojTcdhptlWzoY0PzS11F618kumMWPlS7bUXpmWx0ohTsGK0HNAIN0V0oK51E9e2/Xt+f2ePffuJyVls+MqLxfOUWXmT1QJM6MnuWm9jvtIaphJUmV2FimEG8JuQznxhaLYn7ZGhIcciLwfR2RsGPzDLriMxXhbQLCvNFJiXXi2lOIX7ndheeYDovYHiHZaEW29hN93W7A0aoe32ohxlZh/qchcLZkzGAQx2MPd7sQy40T06gUErBbMN1YhfMWCSBONcMMZhB/dgfskidFjhzwj8gOChCAG075aM5acE/EbF200/BdNCNUZVpU7SyLccwNvJBkYlGXQCcFn6gQT7LmJaHcrAg0V+KGVrdmFChJ8Yw28lko8JdKZhIAp1Ycij3sQtVkQOG/EevEqs+GnCjDf2gyHZE8oIZgmtaHF7naE640InSvZUOArVmO+pRkD0h1JwVSRmvE31GDRSoM7rYkfXLMqCQK11XBVm2AXpSWf4CxU0IxchFB3BwJ6OfzFef/BrEIMNj8Pwc5rGJbuQn/WtuQQ32llgtc6wuMu0yF4rz0+MJ9a+hdU5oCVx2C5FHxHGyYLZSuwp1e0VbBqFybys4kx5RF+9rgawVvt+FVPw0uq8E2jhL/ODP56G6Y0uejLSuVj8Nrb+EJxmHh+9CA7nrcP36tM8Dddjvdr5Sk8y965ArPrwv8yJNsvHJSmmx3EXuZJ7m5uQLSd689JY/rEqebezC3CTf+9fwCiP9Om7nIiOAAAAABJRU5ErkJggg=="); }
+
+.zform-button-question {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACZUlEQVR42r2SXUiTURjH34K6CbryIgi62FXQVezOZLM2isLSQbFljVpOvOgmRelmQUblkD7VssFGgRSrtQyKUvrYLEdI5XQfVtIWS833Zeac22xra/+e854FE7vppgN/zsPz/P7Ped7zHkEoW6mLxnXpzvqelNWwlOrQI3W+JBZTTq4RI/xtLVrrry12HkbO04vizBBQ/Az8Kolilst5roMxjF1mTpzVOzN3LEDaD/wYA+YfA5IDiN/kEh08tzQmM4xlHtk8d0Z/LmlvBvJBggaBqW7gy2WIV00IG9QIH1Qjbm8CvvUAX7s4QyzzMK8gWnRZfB8Gki+AGRsw60DG14HQ/iqaxoms/xJGddvI2EdN7MC0jbPkEU/psoJ0Wk/fGQDm3DQqQdJtKjoJctHI/ciHehE1aYAFF68xhrHkEU/WQpi1HKBLogaJR1S4z4vzD1AUXYi01NEklUD2CTV4SI3dnEnQfSCA6da9EGLNNTks+GjcNwQRmCAlB+j05wS95mJx8imvMUZmfYi11OQET4PWLnYdJ/ADkBsBUl66aS8y/lsI1ikRrFVSnpqkPXIeP0dklnk8Zq2d/YiNbxu1g5KtlUD6Tflx2t8DBRLGuQqjJKphgvYgJFsbmId5/zwFxctDqr5I+zGCYiR6PIiWYq5CfBiJgW5ET+zDqyM77jHPssdkVW2pllwXCE4j+c6NgL4Sn0zbMdmgwaRZg4+N2qzXWH13c8X6KsI3rXjKE22GG8ViBFL/FYSMauxWbNhJaWWZtpaMq1eYw0171obNuxA6qsGQQfWsZFgj/MNaVXaSQvif6zcxVDmUf47DnQAAAABJRU5ErkJggg=="); }
+
+.zform-button-information, .zform-button-infoblocks {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACl0lEQVR42q2T7U9SURzH/VvgT+je3rQ2fdFcmw2StBeZNUwTtZWuwmywSjERnwAFbAiGmg+UT1CSIiRwJSPkITT15sAM2trqDWQty29H2jA35yvP9nl3v5/f+Z57TlbWUa983Qr3jCYiyVOF2VMt/mSOwpfMViyw2Qqv5ORDhntomKddFpxWhhIVvUH0OmMYZTbTGO1RCLWvQUtmE7TULjgwTKYKclsDqZbJVdj8CfRMxyAzv8eD4WUoLaswuzbQOBoBXTmRoq9P7JfkqcOc3LbF+G7Y8iYBCQndGQhhyPMRQ+4N3DYFIe4PwTS7DtnTIOgyc5wuHeZkBLnKRWm53g+r7zPqBiIQkwo3DQF8/7mdptrgQ3WPD+LHfgy8iuJC80tQRf3SjCCnzcca7TGoLSxu9QZQY/CjWu9Dn3MdJkJlN/MPnYfUCkE7vQK60MBmBCdkzNb4wifU9QXJpLeoeuQlHzPYXTsEkcaN8s45ggvXdG6YmSgoQddWRkBLnVtj3s10191JFVoPCXkQiX1D6sc2yjqcKG134ApBpHJgZJ4I+Kr/BXZWb2chf7aEKp0Xoi43rqrn8C76lQh+oUQxgxLSW9hsQ20PA7UtDPpsx14FutYmLVY6MeSKoUrDQKR0webbwO8/O+kKwQ9fUCyzEizofh5B4d1RImjfO0T6xhiHFpnj90cCMNnXUKZ0QNgyjUvyKRQ3WHCxfgJF9eNoHfGT3ztPti+P03w5Z99doISDgmMFxpRk0AfjzArEejfZ8gtcbrSiRuOA1hKCuI8BzWtIkfDBt5EqNAqogu7E+XuTUE8t4YmbJayhwxpGfp0ZFK8xQfObBIe+B/qclksJOiVUvoql+M1JiteUJBNZguQ4v4F75K/3L7zz0NlKPuwgAAAAAElFTkSuQmCC"); }
+
+.zform-button-secret {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfUlEQVR42m1Sz2sTQRh9u9nml02M2hoapaZNtaIg4q0eBMEeRPGg3jyJhyK00EvpsZBr/wqhAfHQs3fBglRa0EYTm5YYFEqKSRvTJDs7s77ZbdpYHfiYmW++7817b8bAiZHL5fqVUnNSygnGWQYYvxgrjuMszs7O/u6tN3o3S0tLN9m8nEqlRuLxOEzTBPdot9uoVqvY5iDQ4/n5+fV/ANjcz8O1TCYzZts2KpUKms2mvh2WZSGZTHp1+Xx+k7kbCwsLLb03uwBMvhwaGhoTQqBYLG41Go0010Edel0oFH5qYLIbo5Tpbp/VXTA5EY1GUSqVwKaHMzMz5R515Ww2e69cLufT6bRX+z+AQa2Zt+n19klzdU6z0zVkO/iXB+V3z92V0jh29iKe5kfXVxFwBVzpwHX8EELi1fotz9RkuIYHF1ZxdWrN8Bm4Lp4+uUs0E0Ygwvk+oIhthfUhDRKQTgPZySbzwmvZfP3+WIK+SRc6u29ghQZgGP0s7AMiCaYVcLAHuf8NdusHlHOAyMg0XLvTA0CKUPomG/WNj9R5Colrt1F5u8j+8xi+M4n61w0C1BBLnyFhCVfYvQDCk+GSamL8CszgAN1RkB2JT7sRDMNGIjOCdjPE2gOPVRfA+wcu3dWoWmvt8zpZfOCJA9VW6LRI1SWzwhfUi999uUp5PccM9EajUkLichqB6DkC2Bh9NoVRwYb9HZzOpBDc7/MZUO4JANtDVY72YIMAMSBMI60g8xqgjlatCtFsIDYcp93Kl90LoCWELr5A5FIARjDkP6HJl1CUZrcQazWosEOi0vdLG38EwCfZWp7zvfA+jjgM52jmD/M/lpT+WgNx/AHLKabZiPgg0gAAAABJRU5ErkJggg=="); }
+
+.zform-button-blockcode, .zform-button-monospace {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABD0lEQVR42mNgGAVYgWHPQ36yNRt0PuD3nPf0WMSq5x9gYnGbX3/wXvz8GEgOr2b9tntCHrOfHiva9vq//9yn92DiIate3ivb/eY/SE679o4QVs16Lfciole//F649dV/v1lP76kX3JBGkpMOWPTsHkguYunz70C5CBTNug132cKXP/9YueMNUMGz36o514zRLdAsv2UMkivd9PJ/4MzHHxWSrrChKFAvvhkROv/p96xVL/579D24Jx93SRpJTtp76qN7ILmgmY++A+UisHpDMeWKkG3DnWOpi5/+d225Cw8Dr0mP7mWseP4fJCcXfVEIb0DKRFzgtyy/ecy78x48FvynPPxgU3vnGEhuNJFjAgDXGIoQBpiXVgAAAABJRU5ErkJggg=="); }
+
+.zform-button-titles {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAApklEQVQoz73QsQ2EMAwFUEsUNDRUVJeKLh1VdE2qSIiGAikZxBNkAja4Cf4iLOI1uCjkdKkokSvrP9lO6KT7okeAjx4eWzhpCQ4WJp6k53GvJnjZcLUplhS/RyipwCZrAQZTDhQPNVhlORxbNjwdOgcD9zVYxJUJGmMOeu5q4MQW8NvdcVsDK6YAhWt3y80f2JhOg07PVGFAjy62ofkQaKfXU199X1/TU/Qkt2QxeAAAAABJRU5ErkJggg=="); }
+
+.zform-button-title1 {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAApklEQVQoz73QsQ2EMAwFUEsUNDRUVJeKLh1VdE2qSIiGAikZxBNkAja4Cf4iLOI1uCjkdKkokSvrP9lO6KT7okeAjx4eWzhpCQ4WJp6k53GvJnjZcLUplhS/RyipwCZrAQZTDhQPNVhlORxbNjwdOgcD9zVYxJUJGmMOeu5q4MQW8NvdcVsDK6YAhWt3y80f2JhOg07PVGFAjy62ofkQaKfXU199X1/TU/Qkt2QxeAAAAABJRU5ErkJggg=="); }
+
+.zform-button-title2 {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAwklEQVQoz73QsQ2DMBAF0JMoaBARiiIqXER07lxZNK4sIRoKJHuCTMAETJANmOBvkAnYIBPcGsQCh5ISXfmfvs9HK50PXQLc5OAw+JU6b2GgJyXlXEO0R4PjAbs3UKwqudST+Dy4qCIYuI9A48nS1yEomxtnTQQ9d4sdzahHtUjeaYHsm+YRdGxjg0S9geKdIZXHDpZNBGE13uLXSklO/x0M6wgE7lw0oRwJaKF2A2bSUJDhm8KXCG/PWwyarzv1+fwAYArrjnYCa/AAAAAASUVORK5CYII="); }
+
+.zform-button-title3 {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAxElEQVQoz73QsanDMBSF4cPzAxdx4KkSBKxKnTpXIo0qg3GTwmBPkAk0gSbIBpngbuAJsshZ46Z4wmXK8LcfpzhQfA5fAWtZZZVlU8zbKEliGUJ4enHTsbBykX+fJFIRdl/cbnmAhbcKogxU+F5h72Y/wI3za8wpxzy8AhWut3Jmlw8wc6wLQTwVCtN3e8tmqmBkqsDLhTaYu6Ltf4lcQWKswMkfTT6xvTbhh7gqoEglyiBhU7jNipHu0ZbmiQem7139uTdX8exNUqtqywAAAABJRU5ErkJggg=="); }
+
+.zform-button-title4 {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAt0lEQVQoz73QsQ2DMBAFUEsUNAiJiipXRNfRUSE3rty4oYhkBmGCmyAbZILbgAnYgAluDXIBJ6SiRNdY+k/fPpvVnI+5BESKrDOsph8Ce3b0CZob0q8hSuTdayxbXOIE/AceCTjuNoAvmOsDPKSfw+hHN3ZzqwCfYGuuDtBLSA0t3wUtLBovxZJTAkF8Ao0CKGtb2WLKp6xJwItLABlkP+Wcfa/wpE/jVtfEAVjLt/UyMnTdV5/PG1Cu8REDzPeUAAAAAElFTkSuQmCC"); }
+
+.zform-button-table {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAByElEQVR42q2TzytEURTHv/Pe85sFGVPIRpHflKYRC8rCilCKspKlvZVY8H/IQhQldiyEyUSKUhKxUH7MTH7LNO/+cO6b8d4bWRCn3jvv3nfO53zvufcCfzSPes1tPUxIiVEuRakQAlwATHmuviUYeefh4EzSvNifGa7wGwogpBzr9+cV/qby5MJ5vfIWgGhW8srFLFVmVIXBJG9y0/E09/lvvGUapskzXABpUYeqR35U/S1GUMbhANSiyeZ3wj8CdDcXIO4GsCRA2WBbERaDdxho9dlzS6E79AeccfQ5lqrAJAA1EoZOwbth6LqG5VAYHg3Qkkkre6SOYtIoo6okG3HzyxJUFwzdg16/l4Ij6PEXpShwj8+vn8GYSFUgaWxQubWDCClIeCtAcyAGnRqVVl2cSQXdAKJJJY8Su5q82DiKorPBORbrhxEEKvORl2WF4/TqCTkZhquJIkHTNY+VrOzT0xSdBWD75MEGlnvT7Z1LABhL9IDkdtQVYvM4ivZaR8FyKIK+gNceKwV6cmlOD2gJtWW5uLl/R7kvC5e3r/ZdqClJt5LcJoQUrl2Qwan5s8Y4Fzlqf9XDqS+mdXnYt4fp8SW2iv+wD9RSCSl9jwFVAAAAAElFTkSuQmCC"); }
+
+.zform-button-math {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAs0lEQVQoz2P4z4AfMhCpoNGh8X/d/+oz5UeLz+T/yPqfchTDhLrz+/6XnSnqye3JmJzcEzsfQ0GlQff/Cf9zHCC8sP1Y3FBQP/9/2v0EATyOTDk/+39kAR4FsQkR74Nm4VQQIxB2P/A2nnAIXe9/xrMHwjb5j6EgOMHvvMdpEMsC6Ez992gKggx83ru/cay3qTfvN7qv918L3ZveCa77HfZb7Tfdb7hfd7/mfrV+UuOCAgUAOHoB5MLjQikAAAAASUVORK5CYII="); }
+
+.zform-button-footnote {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABlUlEQVR42qWTx05CURCGeQCfwBIX+gY+i23v3qCIEevCaMB7uY0LF9SoxF5iiSshlmCjG2kixRghajQRrjuJ+T3XFRukOMkkM2dyvjP/nIxKVWSL9uWC6j82v7AE+/IqZucXGmoCSLY55PIy1je3YbHOdVUNEMwSvgoFyJ+f2NrZhVmyrVUF4AQzZFnGbShMIDIczmMIoiVTMYDhRby9vePiyg1fIIjnl1dcu71geRNEi7X8XBhOQCabhc8f+PVA8Abph0eEozEFQLqR/p4LzXBIpdMIEQmKjFA4gmgsRs4ecBdPYNG+At5k2S0JoIwcuRDHfSIJt8eDRDIFhhNhoBjQjECkiAoAJQEGmkU4EsPpmQtGRc5T9neQfRqtRMptRV4CQF5ye/2gWeF7QDu04Tq/xBOBUEY2X9EvzNAMTGYr2js6e0jaxJNvzX3kcORwYlpPdZcFGCgWupHxPRLWKXmvut/q8fiQz+UxOaVHJU0o+pqL8npelLB/cAjd6MRJTfuh1gyu6IbHXCRsqXVJG4m3lir+AKcgCFAzJG3uAAAAAElFTkSuQmCC"); }
+
+/* Simple dropdown */
+div.zform-popup {
+ top: 18px;
+ z-index: 100;
+ background: transparent;
+ background-color: #fff;
+ background-image: -webkit-linear-gradient(center bottom, #EBEBE5 8%, #F9F9F6 75%);
+ background-image: linear-gradient(center bottom, #EBEBE5 8%, #F9F9F6 75%);
+ border: 1px solid #CCCCCC;
+ border-radius: 3px;
+ padding: 2px; }
+
+/* 3 cols select code dropdown */
+.zform-code-col {
+ display: inline-block;
+ vertical-align: top;
+ margin: 2px;
+ min-width: 100px; }
+ .zform-code-col > span {
+ display: block;
+ color: #2677C9;
+ cursor: pointer; }
+ .zform-code-col > span[data-zform-selected='true'] {
+ color: blue;
+ font-weight: bold; }
+ .zform-code-col > span:hover,
+ .zform-code-col > span:focus {
+ color: #C87B02; }
+
+/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Modal box
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+/* Overlay gris clair */
+#zform-modal-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: #000;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+ display: none;
+ z-index: 99; }
+
+/* HTML Structure
+====================================================================================
+
+==================================================================================== */
+/* Modal box container */
+#zform-modal-wrapper {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ display: none;
+ margin-top: 10%;
+ text-align: center;
+ z-index: 100; }
+ #zform-modal-wrapper > div {
+ position: relative;
+ display: inline-block;
+ text-align: left;
+ background: #f4f6f6;
+ border: 1px solid #555;
+ border-radius: 2px;
+ box-shadow: 0 2px 26px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.1);
+ min-height: 220px;
+ min-width: 400px; }
+ #zform-modal-wrapper > div > header {
+ color: #fff;
+ padding-left: 6px;
+ padding-right: 6px;
+ white-space: nowrap;
+ border-bottom: 3px solid #f8ad32;
+ line-height: 53px;
+ height: 50px;
+ text-indent: 15px;
+ margin-bottom: 20px;
+ background: #084561;
+ font-size: 1.6rem;
+ font-size: 16px;
+ text-shadow: rgba(0, 0, 0, 0.75) 0 0 3px; }
+ #zform-modal-wrapper section {
+ display: block;
+ margin: 8px;
+ min-width: 200px;
+ min-height: 50px; }
+ #zform-modal-wrapper section div input {
+ min-width: 260px;
+ margin: 7px 15px; }
+ #zform-modal-wrapper .btn,
+ #zform-modal-wrapper [type=submit] {
+ position: absolute;
+ width: 50%;
+ height: 50px;
+ line-height: 50px;
+ bottom: 0;
+ right: 0;
+ margin: 0 !important;
+ padding: 0 !important;
+ text-align: center;
+ background: none !important;
+ border-top: 1px solid #CCC;
+ color: #333;
+ cursor: pointer; }
+ #zform-modal-wrapper .btn:hover,
+ #zform-modal-wrapper .btn:focus,
+ #zform-modal-wrapper [type=submit]:hover,
+ #zform-modal-wrapper [type=submit]:focus {
+ background: #DDD !important; }
+ #zform-modal-wrapper .btn-submit,
+ #zform-modal-wrapper [type=submit] {
+ color: #084561;
+ font-weight: bold; }
+ #zform-modal-wrapper .btn-cancel {
+ right: auto;
+ left: 0;
+ border-right: 1px solid #CCC;
+ color: #555; }
+
+.zform-modal label {
+ display: inline-block;
+ width: 70px;
+ text-align: left; }
+
+.featured-resource-item {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ margin-right: 1px;
+ background-color: #CCC;
+ position: relative;
+ overflow: hidden;
+ max-width: 228px;
+ min-width: 170px;
+ z-index: 0;
+ background-color: #084561; }
+ .featured-resource-item::before {
+ content: "";
+ display: block;
+ padding-top: 100%; }
+ .featured-resource-item .featured-resource-illu {
+ position: absolute;
+ z-index: 1;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: auto;
+ -webkit-transition: 0.15s ease;
+ transition: 0.15s ease;
+ -webkit-transition-property: -webkit-filter, opacity, -webkit-transform, filter, opacity, -webkit-transform;
+ transition-property: filter, opacity, transform; }
+ .featured-resource-item .featured-resource-meta {
+ position: absolute;
+ z-index: 3;
+ color: white;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ padding: 40px 14px 12px;
+ text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);
+ background-image: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.2) 30px, rgba(0, 0, 0, 0.4));
+ background-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.2) 30px, rgba(0, 0, 0, 0.4)); }
+ .featured-resource-item .featured-resource-meta h3 {
+ font-size: 16px;
+ line-height: 20px;
+ font-weight: normal;
+ margin: 0;
+ display: table-cell;
+ vertical-align: middle;
+ height: 0;
+ -webkit-transition: height 0.15s ease;
+ transition: height 0.15s ease; }
+ .featured-resource-item .featured-resource-meta p {
+ font-size: 12px;
+ margin: 0;
+ line-height: 22px; }
+ .featured-resource-item a:focus .featured-resource-illu,
+ .featured-resource-item a:hover .featured-resource-illu {
+ opacity: 0.4;
+ -webkit-filter: blur(5px);
+ filter: blur(5px);
+ -webkit-transform: scale(1.05);
+ -ms-transform: scale(1.05);
+ transform: scale(1.05); }
+ .featured-resource-item a:focus .featured-resource-meta h3,
+ .featured-resource-item a:hover .featured-resource-meta h3 {
+ height: 190px;
+ font-size: 20px; }
+ .featured-resource-item > a {
+ display: block; }
+
+.featured-resource-edit-form {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start; }
+ .featured-resource-edit-form .featured-resource-item {
+ margin-right: 20px;
+ -webkit-flex-basis: 228px;
+ -ms-flex-preferred-size: 228px;
+ flex-basis: 228px; }
+ .featured-resource-edit-form form {
+ width: auto;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1; }
+
+@media only screen and (max-width: 759px) {
+ .featured-resource-edit-form {
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-align: unset;
+ -webkit-align-items: unset;
+ -ms-flex-align: unset;
+ align-items: unset; } }
+
+.search-box {
+ width: 100%;
+ min-height: 60px;
+ background: #EEE;
+ box-shadow: rgba(0, 0, 0, 0.25) 0 0 3px; }
+ .search-box form {
+ min-height: 60px; }
+ .search-box form label {
+ display: block;
+ line-height: 40px;
+ font-size: 16px;
+ font-size: 1.6rem;
+ color: #333;
+ text-align: center;
+ width: 100%; }
+ .search-box form input,
+ .search-box form button {
+ border: 1px solid #F8AD32;
+ background: #FFF;
+ margin: 5px 0 12px; }
+ .search-box form input {
+ height: 34px;
+ padding: 0 15px;
+ border-right: none;
+ width: 85%;
+ width: calc(100% - 71px); }
+ .search-box form button {
+ height: 36px;
+ text-indent: -9999px;
+ border-left: none;
+ width: 40px;
+ -webkit-transition: background 0.15s;
+ transition: background 0.15s;
+ position: absolute;
+ bottom: 0;
+ right: 15px; }
+ .search-box form button:hover {
+ background: #EEE; }
+ .search-box form button:after {
+ top: 9px;
+ left: 12px;
+ background-position: 0px -3506px; }
+
+@media only screen and (min-width: 960px) {
+ .search-box form label {
+ line-height: 60px;
+ width: 300px;
+ float: left; }
+ .search-box form input,
+ .search-box form button {
+ margin: 12px 0;
+ float: left; }
+ .search-box form input {
+ width: calc(100% - 371px); } }
+
+.markdown-help {
+ min-height: 50px;
+ overflow: hidden; }
+ .markdown-help .open-markdown-help {
+ float: none !important;
+ display: inline-block !important;
+ margin-bottom: 20px; }
+ .markdown-help .open-markdown-help .close-markdown-help-text {
+ display: none; }
+ .topic-message .markdown-help {
+ min-height: 0; }
+ .topic-message .markdown-help .open-markdown-help {
+ position: absolute;
+ bottom: 0;
+ left: 8px;
+ margin-bottom: 0; }
+ .markdown-help .markdown-help-more {
+ display: none;
+ background: #EEE;
+ padding: 15px;
+ margin-bottom: 5px;
+ border-bottom: 1px solid #CCC; }
+ .markdown-help .markdown-help-more pre {
+ margin: 0; }
+ .markdown-help .markdown-help-more.show-markdown-help {
+ display: block; }
+ .markdown-help .show-markdown-help + .open-markdown-help {
+ margin-top: -5px;
+ padding-top: 5px;
+ line-height: 35px; }
+ .markdown-help .show-markdown-help + .open-markdown-help:after {
+ margin-top: 15px !important; }
+ .markdown-help .show-markdown-help + .open-markdown-help .close-markdown-help-text {
+ display: inline; }
+ .markdown-help .show-markdown-help + .open-markdown-help .open-markdown-help-text {
+ display: none; }
+
+@media only screen and (max-width: 759px) {
+ .markdown-help .open-markdown-help {
+ position: relative;
+ left: 0;
+ bottom: 0;
+ float: none;
+ margin-left: 0 !important; }
+ .topic-message .markdown-help .markdown-help-more {
+ margin-bottom: 0; }
+ .topic-message .markdown-help .open-markdown-help {
+ position: relative;
+ width: 100%;
+ margin-left: -10px !important;
+ padding-left: 40px; }
+ .topic-message .markdown-help .open-markdown-help:after {
+ margin-left: 15px; }
+ .topic-message .markdown-help .show-markdown-help + .open-markdown-help {
+ margin-top: 0; } }
+
+.mobile-menu,
+.mobile-menu-btn {
+ display: none; }
+
+@media only screen and (max-width: 959px) {
+ .js .page-container {
+ position: absolute;
+ z-index: 10;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
+ .js .mobile-menu {
+ display: block;
+ position: absolute;
+ position: fixed;
+ overflow-x: hidden;
+ overflow-y: auto;
+ z-index: 1;
+ -webkit-transform: translate3d(-20%, 0, 0);
+ transform: translate3d(-20%, 0, 0);
+ width: 90%;
+ height: 100%;
+ padding-bottom: 20px;
+ background: #222;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none; }
+ .js .mobile-menu .search {
+ height: 50px;
+ position: relative;
+ top: 0;
+ left: 0;
+ width: 100%; }
+ .js .mobile-menu .search input {
+ color: #EEE;
+ background-color: #333;
+ width: 76%;
+ height: 30px;
+ padding: 10px 5%;
+ font-size: 16px;
+ font-size: 1.6rem; }
+ .js .mobile-menu .search input:hover,
+ .js .mobile-menu .search input:focus {
+ padding-bottom: 7px;
+ border-bottom: 3px solid #084561;
+ background-color: #333; }
+ .js .mobile-menu .search button {
+ display: none; }
+ .js .mobile-menu .search .search-more {
+ background-color: #3F3F3F;
+ width: 14%;
+ height: 50px;
+ line-height: 50px;
+ color: #CCC; }
+ .js .mobile-menu .mobile-menu-bloc,
+ .js .mobile-menu .mobile-menu-link {
+ width: 90%;
+ line-height: 40px;
+ text-indent: 0; }
+ .js .mobile-menu .mobile-menu-bloc {
+ margin: 0 5% 15px; }
+ .js .mobile-menu .mobile-menu-bloc:nth-child(2) {
+ margin-top: 15px; }
+ .js .mobile-menu .mobile-menu-bloc ul,
+ .js .mobile-menu .mobile-menu-bloc li {
+ margin: 0;
+ padding: 0; }
+ .js .mobile-menu .mobile-menu-bloc .mobile-menu-link {
+ margin: 0;
+ width: 100%; }
+ .js .mobile-menu .mobile-menu-bloc .mobile-menu-link.disabled {
+ opacity: .5; }
+ .js .mobile-menu .mobile-menu-bloc:not(.mobile-show-ico) .ico-after:after {
+ display: none; }
+ .js .mobile-menu .mobile-menu-bloc[data-title]:before {
+ display: block;
+ content: attr(data-title);
+ height: 30px;
+ font-size: 14px;
+ font-size: 1.4rem;
+ text-transform: uppercase;
+ padding-bottom: 3px;
+ border-bottom: 2px solid #3F3F3F;
+ font-weight: bold;
+ color: #666; }
+ .js .mobile-menu .mobile-menu-bloc.mobile-show-ico .ico-after {
+ padding-left: 30px;
+ width: calc(100% - 30px); }
+ .js .mobile-menu .mobile-menu-bloc.mobile-show-ico .ico-after:after {
+ top: 12px;
+ left: 2px; }
+ .js .mobile-menu .mobile-menu-bloc.mobile-show-ico .icon {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ margin: 7px;
+ line-height: 30px;
+ padding-left: 5px; }
+ .js .mobile-menu .mobile-menu-bloc.mobile-show-ico .icon:after {
+ top: 0px;
+ left: 0px; }
+ .js .mobile-menu .mobile-menu-link {
+ display: block;
+ height: 40px;
+ line-height: 40px;
+ text-decoration: none;
+ color: #CCC;
+ font-size: 16px;
+ font-size: 1.6rem;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ background: none;
+ border: none;
+ text-align: left;
+ padding: 0; }
+ .js .mobile-menu .mobile-menu-link.mobile-menu-sublink {
+ width: 90%;
+ margin: 0 0 0 10%; }
+ .js .mobile-menu .mobile-menu-link.mobile-menu-bloc[data-title] {
+ height: 80px; }
+ .js .mobile-menu .mobile-menu-link.mobile-menu-bloc:not([data-title]) {
+ margin-bottom: 0; }
+ .js .mobile-menu .mobile-menu-link:not(:last-child):not(.mobile-menu-bloc) {
+ border-bottom: 1px solid #2C2C2C; }
+ .js .mobile-menu .mobile-menu-link[data-prefix]:before {
+ content: "[" attr(data-prefix) "] "; }
+ .js .mobile-menu .mobile-menu-link.unread {
+ font-weight: bold;
+ color: #EEE; }
+ .js .mobile-menu .mobile-menu-link img, .js .mobile-menu .mobile-menu-link span {
+ vertical-align: middle; }
+ .js .mobile-menu .mobile-menu-link img {
+ float: left;
+ margin: 5px 5px 5px 0;
+ width: 30px;
+ height: 30px; }
+ .js .mobile-menu .mobile-menu-link .label {
+ padding: 0 0 0 50px; }
+ .js .mobile-menu .mobile-menu-link img + .label {
+ padding: 0 0 0 10px; }
+ .js.show-mobile-menu {
+ width: 100%; }
+ .js.show-mobile-menu body {
+ position: fixed; }
+ .js.show-mobile-menu .page-container {
+ height: 100%;
+ -webkit-transform: translate3d(90%, 0, 0);
+ transform: translate3d(90%, 0, 0);
+ overflow: hidden;
+ box-shadow: 0 0 7px rgba(0, 0, 0, 0.25); }
+ .js.show-mobile-menu .mobile-menu {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
+ .js.enable-mobile-menu .mobile-menu-hide {
+ display: none; }
+ .js.enable-mobile-menu .page-container .mobile-menu-bloc,
+ .js.enable-mobile-menu .page-container .mobile-menu-link,
+ .js.enable-mobile-menu .page-container .search {
+ display: none; }
+ .js.enable-mobile-menu .page-container .mobile-menu-btn + .header-logo {
+ margin-left: 0; }
+ .js.enable-mobile-menu .page-container .mobile-menu-btn {
+ display: block;
+ float: left;
+ height: 50px;
+ width: 50px; }
+ .js.enable-mobile-menu .page-container .mobile-menu-btn:after {
+ display: block;
+ content: " ";
+ position: absolute;
+ top: 15px;
+ left: 13px;
+ height: 22px;
+ width: 22px;
+ background-image: url("../images/sprite.png");
+ background-repeat: no-repeat;
+ background-position: 0px -2746px; }
+ html:not(.enable-mobile-menu) .header-container {
+ border-bottom: 1px solid #CCC; }
+ html:not(.enable-mobile-menu) .page-container .header-logo {
+ margin-left: 10px; }
+ html:not(.enable-mobile-menu) .page-container .header-logo-link:after {
+ left: 55px;
+ right: 205px; }
+ html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link,
+ html:not(.enable-mobile-menu) .logbox .my-account {
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 50px;
+ width: 50px; }
+ html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link .avatar,
+ html:not(.enable-mobile-menu) .logbox .my-account .avatar {
+ height: 50px;
+ width: 50px; }
+ html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(1) .ico-link {
+ right: 150px; }
+ html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(2) .ico-link {
+ right: 100px; }
+ html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(3) .ico-link,
+ html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link:nth-child(3) {
+ right: 50px; }
+ html:not(.enable-mobile-menu) .logbox.unlogged {
+ position: absolute;
+ top: 0;
+ right: 0; } }
+
+.modal {
+ display: none; }
+
+#modals .modal {
+ position: fixed;
+ z-index: 50;
+ width: auto !important;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background: #EEE;
+ min-height: 220px; }
+ #modals .modal .modal-title {
+ display: block;
+ border-bottom: 3px solid #F8AD32;
+ line-height: 53px;
+ height: 50px;
+ text-indent: 15px;
+ margin-bottom: 20px;
+ background: #084561;
+ color: #FFF;
+ font-size: 16px;
+ font-size: 1.6rem;
+ text-shadow: rgba(0, 0, 0, 0.75) 0 0 3px; }
+ #modals .modal .modal-title.ico-after {
+ text-indent: 40px; }
+ #modals .modal .modal-title.ico-after:after {
+ margin: 18px 0 0 15px; }
+ #modals .modal p,
+ #modals .modal input,
+ #modals .modal select,
+ #modals .modal textarea {
+ margin: 10px 15px;
+ resize: none; }
+ #modals .modal p:not([type=checkbox]):not([type=radio]),
+ #modals .modal input:not([type=checkbox]):not([type=radio]),
+ #modals .modal select:not([type=checkbox]):not([type=radio]),
+ #modals .modal textarea:not([type=checkbox]):not([type=radio]) {
+ width: calc(98% - 32px) !important; }
+ #modals .modal label {
+ margin: 0 15px; }
+ #modals .modal textarea {
+ margin-top: 0; }
+ #modals .modal .btn:not(.modal-inner),
+ #modals .modal [type=submit]:not(.modal-inner) {
+ position: absolute;
+ width: 50%;
+ height: 50px;
+ line-height: 50px;
+ bottom: 0;
+ right: 0;
+ margin: 0 !important;
+ padding: 0 !important;
+ text-align: center;
+ background: none !important;
+ border-top: 1px solid #CCC;
+ color: #333; }
+ #modals .modal .btn-submit:not(.modal-inner),
+ #modals .modal [type=submit]:not(.modal-inner) {
+ height: 51px;
+ color: #084561;
+ font-weight: bold; }
+ #modals .modal .btn-cancel {
+ right: auto;
+ left: 0;
+ border-right: 1px solid #CCC;
+ color: #555; }
+ #modals .modal .btn.btn-modal-fullwidth {
+ width: 100%;
+ border-right: none;
+ font-weight: bold; }
+
+.enable-mobile-menu #modals .modal {
+ top: 25px;
+ right: 25px;
+ bottom: 25px;
+ left: 25px;
+ box-shadow: 0 0 5px #000; }
+ .enable-mobile-menu #modals .modal.modal-small,
+ .enable-mobile-menu #modals .modal.modal-medium,
+ .enable-mobile-menu #modals .modal.modal-big {
+ top: 50%;
+ bottom: auto;
+ max-width: 400px; }
+ .enable-mobile-menu #modals .modal.modal-small {
+ height: 220px;
+ margin: -110px auto 0; }
+ .enable-mobile-menu #modals .modal.modal-medium {
+ height: 250px;
+ margin: -125px auto 0; }
+ .enable-mobile-menu #modals .modal.modal-medium textarea {
+ height: 80px; }
+ .enable-mobile-menu #modals .modal.modal-big {
+ height: 320px;
+ margin: -160px auto 0; }
+
+.enable-mobile-menu #modals-overlay {
+ position: fixed;
+ display: none;
+ z-index: 49;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background: rgba(0, 0, 0, 0.7); }
+
+@media only screen and (min-width: 960px) {
+ .enable-mobile-menu #modals .modal {
+ box-shadow: 0 2px 7px rgba(0, 0, 0, 0.7); }
+ .enable-mobile-menu #modals .modal .modal-title {
+ line-height: 50px; }
+ .enable-mobile-menu #modals .modal [type=submit]:not(.disabled):hover,
+ .enable-mobile-menu #modals .modal [type=submit]:not(.disabled):focus,
+ .enable-mobile-menu #modals .modal .btn-submit:not(.disabled):hover,
+ .enable-mobile-menu #modals .modal .btn-submit:not(.disabled):focus {
+ color: #EEE;
+ background: #48a200 !important; }
+ .enable-mobile-menu #modals .modal .btn-cancel:hover,
+ .enable-mobile-menu #modals .modal .btn-cancel:focus {
+ color: #EEE;
+ background: #c0392b !important; } }
+
+.pagination {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ border-top: 1px solid #d2d5d6;
+ border-bottom: 1px solid #d2d5d6;
+ background: #FBFBFB;
+ height: 40px;
+ margin-bottom: 20px !important; }
+ .pagination li {
+ float: left; }
+ .pagination li a {
+ display: block;
+ text-align: center;
+ text-decoration: none;
+ color: #084561;
+ min-width: 45px;
+ height: 40px;
+ line-height: 40px;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .pagination li a.current {
+ height: 38px;
+ color: #808080;
+ background: #F7F7F7;
+ margin-top: -1px;
+ border-left: 1px solid #d2d5d6;
+ border-bottom: 3px solid #d2d5d6;
+ border-right: 2px solid #d2d5d6; }
+ .pagination li a.ico-after:after {
+ margin-top: 12px; }
+ .pagination li a[href]:hover,
+ .pagination li a[href]:focus {
+ background: #d2d5d6; }
+ .pagination li.prev a,
+ .pagination li.next a {
+ padding: 0 15px; }
+ .pagination li.prev .ico-after {
+ padding-left: 30px; }
+ .pagination li.prev .ico-after:after {
+ margin-left: 8px; }
+ .pagination li.next {
+ float: right; }
+ .pagination li.next .ico-after {
+ padding-right: 30px; }
+ .pagination li.next .ico-after:after {
+ right: 8px;
+ left: auto; }
+ .pagination.pagination-top li a.current {
+ margin-top: 0;
+ border-top: 3px solid #d2d5d6;
+ border-bottom: none;
+ height: 35px;
+ line-height: 35px;
+ padding-bottom: 3px; }
+ .pagination.pagination-chapter {
+ margin-left: 0; }
+ .pagination.pagination-chapter li {
+ max-width: 45%; }
+ .pagination.pagination-chapter a {
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden; }
+
+@media only screen and (min-width: 960px) {
+ .pagination {
+ border: 1px solid #d2d5d6; } }
+
+@media only screen and (max-width: 759px) {
+ .pagination li.prev a,
+ .pagination li.next a {
+ min-width: 0px; }
+ .pagination li.prev a span,
+ .pagination li.next a span {
+ display: none; } }
+
+.codehilite .hll {
+ background-color: #ffffcc; }
+
+.codehilite {
+ background: #f8f8f8; }
+
+.codehilite .c {
+ color: #408080;
+ font-style: italic; }
+
+/* Comment */
+.codehilite .k {
+ color: #008000;
+ font-weight: bold; }
+
+/* Keyword */
+.codehilite .o {
+ color: #666666; }
+
+/* Operator */
+.codehilite .cm {
+ color: #408080;
+ font-style: italic; }
+
+/* Comment.Multiline */
+.codehilite .cp {
+ color: #BC7A00; }
+
+/* Comment.Preproc */
+.codehilite .c1 {
+ color: #408080;
+ font-style: italic; }
+
+/* Comment.Single */
+.codehilite .cs {
+ color: #408080;
+ font-style: italic; }
+
+/* Comment.Special */
+.codehilite .gd {
+ color: #A00000; }
+
+/* Generic.Deleted */
+.codehilite .ge {
+ font-style: italic; }
+
+/* Generic.Emph */
+.codehilite .gr {
+ color: #FF0000; }
+
+/* Generic.Error */
+.codehilite .gh {
+ color: #000080;
+ font-weight: bold; }
+
+/* Generic.Heading */
+.codehilite .gi {
+ color: #00A000; }
+
+/* Generic.Inserted */
+.codehilite .go {
+ color: #808080; }
+
+/* Generic.Output */
+.codehilite .gp {
+ color: #000080;
+ font-weight: bold; }
+
+/* Generic.Prompt */
+.codehilite .gs {
+ font-weight: bold; }
+
+/* Generic.Strong */
+.codehilite .gu {
+ color: #800080;
+ font-weight: bold; }
+
+/* Generic.Subheading */
+.codehilite .gt {
+ color: #0040D0; }
+
+/* Generic.Traceback */
+.codehilite .kc {
+ color: #008000;
+ font-weight: bold; }
+
+/* Keyword.Constant */
+.codehilite .kd {
+ color: #008000;
+ font-weight: bold; }
+
+/* Keyword.Declaration */
+.codehilite .kn {
+ color: #008000;
+ font-weight: bold; }
+
+/* Keyword.Namespace */
+.codehilite .kp {
+ color: #008000; }
+
+/* Keyword.Pseudo */
+.codehilite .kr {
+ color: #008000;
+ font-weight: bold; }
+
+/* Keyword.Reserved */
+.codehilite .kt {
+ color: #B00040; }
+
+/* Keyword.Type */
+.codehilite .m {
+ color: #666666; }
+
+/* Literal.Number */
+.codehilite .s {
+ color: #BA2121; }
+
+/* Literal.String */
+.codehilite .na {
+ color: #7D9029; }
+
+/* Name.Attribute */
+.codehilite .nb {
+ color: #008000; }
+
+/* Name.Builtin */
+.codehilite .nc {
+ color: #0000FF;
+ font-weight: bold; }
+
+/* Name.Class */
+.codehilite .no {
+ color: #880000; }
+
+/* Name.Constant */
+.codehilite .nd {
+ color: #AA22FF; }
+
+/* Name.Decorator */
+.codehilite .ni {
+ color: #999999;
+ font-weight: bold; }
+
+/* Name.Entity */
+.codehilite .ne {
+ color: #D2413A;
+ font-weight: bold; }
+
+/* Name.Exception */
+.codehilite .nf {
+ color: #0000FF; }
+
+/* Name.Function */
+.codehilite .nl {
+ color: #A0A000; }
+
+/* Name.Label */
+.codehilite .nn {
+ color: #0000FF;
+ font-weight: bold; }
+
+/* Name.Namespace */
+.codehilite .nt {
+ color: #008000;
+ font-weight: bold; }
+
+/* Name.Tag */
+.codehilite .nv {
+ color: #19177C; }
+
+/* Name.Variable */
+.codehilite .ow {
+ color: #AA22FF;
+ font-weight: bold; }
+
+/* Operator.Word */
+.codehilite .w {
+ color: #bbbbbb; }
+
+/* Text.Whitespace */
+.codehilite .mf {
+ color: #666666; }
+
+/* Literal.Number.Float */
+.codehilite .mh {
+ color: #666666; }
+
+/* Literal.Number.Hex */
+.codehilite .mi {
+ color: #666666; }
+
+/* Literal.Number.Integer */
+.codehilite .mo {
+ color: #666666; }
+
+/* Literal.Number.Oct */
+.codehilite .sb {
+ color: #BA2121; }
+
+/* Literal.String.Backtick */
+.codehilite .sc {
+ color: #BA2121; }
+
+/* Literal.String.Char */
+.codehilite .sd {
+ color: #BA2121;
+ font-style: italic; }
+
+/* Literal.String.Doc */
+.codehilite .s2 {
+ color: #BA2121; }
+
+/* Literal.String.Double */
+.codehilite .se {
+ color: #BB6622;
+ font-weight: bold; }
+
+/* Literal.String.Escape */
+.codehilite .sh {
+ color: #BA2121; }
+
+/* Literal.String.Heredoc */
+.codehilite .si {
+ color: #BB6688;
+ font-weight: bold; }
+
+/* Literal.String.Interpol */
+.codehilite .sx {
+ color: #008000; }
+
+/* Literal.String.Other */
+.codehilite .sr {
+ color: #BB6688; }
+
+/* Literal.String.Regex */
+.codehilite .s1 {
+ color: #BA2121; }
+
+/* Literal.String.Single */
+.codehilite .ss {
+ color: #19177C; }
+
+/* Literal.String.Symbol */
+.codehilite .bp {
+ color: #008000; }
+
+/* Name.Builtin.Pseudo */
+.codehilite .vc {
+ color: #19177C; }
+
+/* Name.Variable.Class */
+.codehilite .vg {
+ color: #19177C; }
+
+/* Name.Variable.Global */
+.codehilite .vi {
+ color: #19177C; }
+
+/* Name.Variable.Instance */
+.codehilite .il {
+ color: #666666; }
+
+/* Literal.Number.Integer.Long */
+.codehilitetable {
+ width: 100% !important;
+ table-layout: fixed;
+ border-color: rgba(0, 0, 0, 0.15); }
+ .codehilitetable td {
+ padding: 0;
+ vertical-align: top; }
+ .codehilitetable .linenos {
+ background-color: #fbfbfc;
+ border-right: 1px solid #ececf0;
+ width: 46px;
+ /* Can handle up to 9999 lines of code without overflowing */ }
+ .codehilitetable .codehilite pre,
+ .codehilitetable .linenos {
+ padding-top: 15px;
+ padding-bottom: 15px; }
+ .codehilitetable .linenodiv pre {
+ text-align: right;
+ padding-right: 7px;
+ color: #bebec5; }
+ .codehilitetable .codehilite {
+ width: 100%;
+ height: auto;
+ overflow: auto; }
+ .codehilitetable .codehilite pre {
+ white-space: pre;
+ overflow: auto;
+ overflow: auto; }
+ .codehilitetable .code pre {
+ overflow: auto;
+ word-wrap: normal;
+ padding-left: 7px;
+ padding-right: 7px; }
+
+.taglist {
+ list-style: none;
+ padding: 0;
+ margin: -14px 0 15px;
+ height: 30px;
+ line-height: 30px; }
+ .taglist li {
+ float: right; }
+ .taglist li a {
+ display: block;
+ text-decoration: none;
+ padding: 0 10px;
+ background: #396a81;
+ color: #FFF;
+ margin-left: 1px;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .taglist li a:hover,
+ .taglist li a:focus {
+ background: #FFF;
+ color: #396a81;
+ border-bottom: 1px solid #396a81; }
+
+.topic-list {
+ margin-top: 50px !important;
+ margin-bottom: 50px !important; }
+ .topic-list h2 {
+ margin-bottom: 0 !important; }
+ .topic-list h2 + .topic {
+ border-top: none; }
+ .topic-list .topic {
+ position: relative;
+ min-height: 81px;
+ line-height: 25px;
+ border-top: 1px solid #FFF;
+ border-bottom: 1px solid #CCC;
+ overflow: hidden;
+ border-left: 1px solid transparent;
+ clear: both; }
+ .topic-list .topic:first-child {
+ border-top: 1px solid #CCC; }
+ .topic-list .topic:before {
+ content: " ";
+ display: block;
+ position: absolute;
+ background: transparent;
+ height: 100%;
+ width: 2px; }
+ .topic-list .topic.unread:before {
+ background: #1088bf; }
+ .topic-list .topic:nth-child(2n) {
+ background: none; }
+ .topic-list .topic.unread {
+ background: #FFF; }
+ .topic-list .topic.unread .topic-description .topic-title {
+ font-weight: bold; }
+ .topic-list .topic:hover:before,
+ .topic-list .topic.active:before {
+ width: 5px;
+ background: #1088bf; }
+ .topic-list .topic.selected {
+ background-color: #eaf7fd; }
+ .topic-list a {
+ text-decoration: none;
+ color: #0e77a8; }
+ .topic-list a:hover,
+ .topic-list a:focus {
+ color: #0e77a8;
+ text-decoration: underline;
+ outline: none; }
+ .topic-list .topic-infos,
+ .topic-list .topic-description,
+ .topic-list .topic-answers,
+ .topic-list .topic-last-answer {
+ display: block;
+ float: left;
+ padding: 4px 0;
+ margin: 0; }
+ .topic-list .topic-infos {
+ width: 5%; }
+ .topic-list .topic-infos input[type=checkbox] {
+ margin: 29px 25% 0; }
+ .topic-list .topic-infos .ico-after {
+ display: block;
+ text-indent: -9999px; }
+ .topic-list .topic-infos .ico-after:after {
+ margin: 4px 0 0 15px; }
+ .topic-list .topic-description {
+ position: relative;
+ width: 60%; }
+ .topic-list .topic-description .topic-image {
+ float: left;
+ max-height: 60px;
+ max-width: 60px;
+ margin: 5px 15px 0 0; }
+ .topic-list .topic-description .topic-tags {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: inline; }
+ .topic-list .topic-description .topic-tags .topic-tag {
+ display: block;
+ height: 23px;
+ line-height: 23px;
+ float: left;
+ padding: 0 5px;
+ margin: 0 3px 0 0;
+ color: #396a81;
+ background: #FCFCFC;
+ border: 1px solid #CCC; }
+ .topic-list .topic-description .topic-tags .topic-tag:hover,
+ .topic-list .topic-description .topic-tags .topic-tag:focus {
+ background: #FFF;
+ color: #084561;
+ border-color: #084561;
+ text-decoration: none; }
+ .topic-list .topic-description .topic-tags .topic-tag:focus {
+ box-shadow: #396a81 0 0 3px; }
+ .topic-list .topic-description .topic-tags li:last-child .topic-tag {
+ margin-right: 5px; }
+ .topic-list .topic-description .topic-title-link {
+ display: block;
+ min-height: 48px; }
+ .topic-list .topic-description .topic-title-link:hover,
+ .topic-list .topic-description .topic-title-link:focus {
+ text-decoration: none; }
+ .topic-list .topic-description .topic-title-link:hover .topic-title,
+ .topic-list .topic-description .topic-title-link:focus .topic-title {
+ text-decoration: underline; }
+ .topic-list .topic-description .topic-title,
+ .topic-list .topic-description .topic-subtitle {
+ display: block;
+ margin: 0 !important;
+ padding: 0; }
+ .topic-list .topic-description .topic-title {
+ font-size: 16px;
+ font-size: 1.6rem;
+ font-weight: normal; }
+ .topic-list .topic-description .topic-subtitle {
+ min-height: 24px;
+ line-height: 1.5em;
+ color: #777; }
+ .topic-list .topic-description .topic-members {
+ margin: 0;
+ color: #777; }
+ .topic-list .topic-answers {
+ width: 12%;
+ text-align: center;
+ padding-top: 29px; }
+ .topic-list .topic-last-answer {
+ width: 23%; }
+ .topic-list .topic-last-answer .topic-no-last-answer {
+ display: block;
+ margin-top: 27px;
+ color: #084561;
+ opacity: .5; }
+ .topic-list .highlighted {
+ background-color: rgba(255, 255, 100, 0.5); }
+
+.forum-list .group-title {
+ max-width: 100%;
+ margin-top: 30px !important;
+ clear: both;
+ border-bottom: 1px solid #CCC;
+ color: #F8AD32; }
+
+.topic-list-small .topic {
+ height: 60px; }
+
+.topic-list-small .topic-infos input[type=checkbox] {
+ margin-top: 18px; }
+
+.topic-list-small .topic-description {
+ padding-left: 1.5%; }
+ .topic-list-small .topic-description .topic-title {
+ font-weight: normal;
+ margin-top: 2px; }
+
+.topic-list-small .topic-infos + .topic-description {
+ padding-left: 0; }
+
+.topic-list-small .topic-answers {
+ padding-top: 17px; }
+ .topic-list-small .topic-answers span {
+ display: block;
+ float: left;
+ width: 50%; }
+
+.topic-list-small .topic-last-answer {
+ width: 18%; }
+ .topic-list-small .topic-last-answer .topic-no-last-answer {
+ margin-top: 13px; }
+ .topic-list-small .topic-last-answer .forum-last-message {
+ display: block; }
+ .topic-list-small .topic-last-answer .forum-last-message .forum-last-message-long {
+ display: none; }
+ .topic-list-small .topic-last-answer .forum-last-message-title {
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+
+@media only screen and (min-width: 960px) {
+ .topic-list .topic-members-short-date {
+ display: none; }
+ .topic-list .topic-last-answer-short-date {
+ display: none; }
+ .topic-list:not(.topic-list-small) .topic-last-answer .topic-no-last-answer {
+ margin-top: 24px; }
+ .forum-list .topic {
+ min-height: 0; }
+ .forum-list .topic-last-answer .forum-last-message .forum-last-message-long {
+ display: none; } }
+
+@media only screen and (max-width: 959px) {
+ .topic-list .topic {
+ background: none !important; }
+ .topic-list .topic p {
+ margin: 0 !important; }
+ .topic-list .topic .topic-members .topic-members-long-date {
+ display: none; }
+ .topic-list .topic .topic-answers {
+ padding: 0;
+ width: 30%;
+ border-bottom: 1px solid #CCC; }
+ .topic-list .topic .topic-answers.topic-no-answer {
+ display: none; }
+ .topic-list .topic .topic-last-answer {
+ width: 30%;
+ padding: 0;
+ text-align: right; }
+ .topic-list .topic .topic-last-answer .topic-last-answer-short-date {
+ font-size: 1.3rem; }
+ .topic-list .topic .topic-last-answer .topic-last-answer-long-date {
+ display: none; }
+ .topic-list .topic .topic-last-answer .topic-no-last-answer {
+ text-align: center; } }
+
+@media only screen and (max-width: 759px) {
+ .topic-list .topic-infos .ico-after:after {
+ margin: 4px 0 0 2px; }
+ .topic-list .topic-description .topic-subtitle:empty {
+ display: none; }
+ .topic-list .topic-last-answer .topic-no-last-answer {
+ font-size: 1.3rem; }
+ .forum-list .topic-description .topic-subtitle {
+ margin-left: 10px; } }
+
+.topic-message {
+ position: relative; }
+ .topic-message.repeated .message,
+ .topic-message.repeated .message .is-author {
+ background: #EEE; }
+ .topic-message.repeated .message:after {
+ border-right-color: #EEE; }
+ .topic-message.helpful .message,
+ .topic-message.helpful .message .is-author {
+ background: #e9f9dc; }
+ .topic-message.helpful .message:after {
+ border-right-color: #e9f9dc; }
+ .topic-message.helpful.repeated .message,
+ .topic-message.helpful.repeated .message .is-author {
+ background: #eaefe6; }
+ .topic-message.helpful.repeated .message:after {
+ border-right-color: #eaefe6; }
+ .topic-message .user .avatar-link {
+ display: block;
+ height: 58px;
+ width: 58px;
+ z-index: 0;
+ position: absolute;
+ top: 0;
+ border: 1px solid #DDD; }
+ .topic-message .user .avatar-link[href]:hover,
+ .topic-message .user .avatar-link[href]:focus {
+ border-color: #FFF;
+ overflow: hidden;
+ box-shadow: rgba(0, 0, 0, 0.3) 0 1px 7px; }
+ .topic-message .user .avatar-link img {
+ height: 58px;
+ width: 58px; }
+ .topic-message .user .user-metadata {
+ width: 60px;
+ height: 25px; }
+ .topic-message .user .user-metadata a {
+ display: block;
+ float: left;
+ border: 1px solid #D2D5D6;
+ border-top: 0;
+ text-align: center;
+ background-color: #edefef;
+ text-decoration: none;
+ color: #424242;
+ height: 25px;
+ line-height: 26px;
+ width: 28px;
+ color: #777;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .topic-message .user .user-metadata a:first-child {
+ border-right: 0;
+ width: 29px; }
+ .topic-message .user .user-metadata a:hover,
+ .topic-message .user .user-metadata a:focus {
+ border-bottom-width: 1px;
+ border-bottom-color: #777;
+ background: #FFF; }
+ .topic-message .user .user-metadata a.positive {
+ color: #48a200; }
+ .topic-message .user .user-metadata a.negative {
+ color: #c0392b; }
+ .topic-message .message {
+ position: relative;
+ background-color: #FDFDFD;
+ border: 1px solid #D2D5D6;
+ border-right-width: 2px;
+ border-bottom-width: 3px;
+ min-height: 75px; }
+ .topic-message .message .is-author {
+ position: absolute;
+ top: -16px;
+ left: 10px;
+ background: #FDFDFD;
+ padding: 0 5px;
+ font-size: 12px;
+ line-height: 20px;
+ color: #999;
+ border-top: 1px solid #D2D5D6; }
+ .topic-message .message .is-author:before,
+ .topic-message .message .is-author:after {
+ content: " ";
+ display: block;
+ position: absolute;
+ top: 0;
+ height: 15px;
+ width: 1px;
+ background: #D2D5D6; }
+ .topic-message .message .is-author:before {
+ left: 0; }
+ .topic-message .message .is-author:after {
+ right: 0; }
+ .topic-message .message .message-metadata {
+ display: inline-block;
+ font-size: 14px;
+ font-size: 1.4rem;
+ margin-left: 5px; }
+ .topic-message .message .message-metadata a {
+ display: block;
+ float: left;
+ color: #999;
+ text-decoration: none;
+ height: 30px;
+ line-height: 30px;
+ padding: 0 5px;
+ border-bottom: 1px solid #D2D5D6;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .topic-message .message .message-metadata a:hover,
+ .topic-message .message .message-metadata a:focus {
+ border-bottom: 1px solid #0e77a8;
+ color: #0e77a8;
+ outline: none; }
+ .topic-message .message .message-metadata .username {
+ color: #484848;
+ font-size: 16px;
+ font-size: 1.6rem;
+ margin-right: 3px; }
+ .topic-message .message .message-metadata .date {
+ line-height: 32px; }
+ .topic-message .message .message-metadata .date .long-date {
+ display: none; }
+ .topic-message .message .message-actions {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ position: absolute;
+ top: 0;
+ right: 0; }
+ .topic-message .message .message-actions li {
+ float: left; }
+ .topic-message .message .message-content {
+ clear: both;
+ padding-top: 1px; }
+ .topic-message .message .message-content > div > p:first-child {
+ margin-top: 7px; }
+ .topic-message .message .message-content > div > figure:first-child {
+ margin-top: 8px; }
+ .topic-message .message .message-content .message-hidden-content {
+ display: none; }
+ .topic-message .message .message-content .message-edited,
+ .topic-message .message .message-content .message-hidden,
+ .topic-message .message .message-content .message-helpful,
+ .topic-message .message .message-content .message-repeated {
+ padding-top: 3px 0 0; }
+ .topic-message .message .message-content .message-edited.ico-after,
+ .topic-message .message .message-content .message-hidden.ico-after,
+ .topic-message .message .message-content .message-helpful.ico-after,
+ .topic-message .message .message-content .message-repeated.ico-after {
+ text-indent: 20px; }
+ .topic-message .message .message-content .message-edited.ico-after:after,
+ .topic-message .message .message-content .message-hidden.ico-after:after,
+ .topic-message .message .message-content .message-helpful.ico-after:after,
+ .topic-message .message .message-content .message-repeated.ico-after:after {
+ margin: 4px 0; }
+ .topic-message .message .message-content .message-edited,
+ .topic-message .message .message-content .message-hidden,
+ .topic-message .message .message-content .message-repeated {
+ font-style: italic;
+ color: #999; }
+ .topic-message .message .message-content .message-edited:after,
+ .topic-message .message .message-content .message-hidden:after,
+ .topic-message .message .message-content .message-repeated:after {
+ opacity: .5; }
+ .topic-message .message .message-content .message-hidden {
+ margin-top: 1px; }
+ .topic-message .message .message-content .message-helpful {
+ color: #48A200;
+ text-indent: 20px; }
+ .topic-message .message .message-content textarea {
+ margin: 10px 0 10px -1px;
+ background-color: transparent;
+ min-height: 150px; }
+ .topic-message .message .message-bottom {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ -webkit-align-items: flex-start;
+ align-items: flex-start;
+ min-height: 30px; }
+ .topic-message .message .message-bottom .signature {
+ border-top: 1px solid #D2D5D6;
+ padding: 3px 0 0 10px;
+ margin: 0 10px 0 0;
+ font-size: 12px;
+ font-size: 1.2rem;
+ color: #999;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ overflow: hidden; }
+ .topic-message .message .message-bottom .signature p {
+ margin: 0;
+ padding: 0; }
+ .topic-message .message .message-bottom .signature a {
+ color: #999;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .topic-message .message .message-bottom .signature a:hover,
+ .topic-message .message .message-bottom .signature a:focus {
+ text-decoration: none;
+ color: #555; }
+ .topic-message .message .message-bottom .message-karma {
+ margin-left: auto;
+ margin-bottom: -2px; }
+ .topic-message .message .message-bottom .message-karma span,
+ .topic-message .message .message-bottom .message-karma button.ico-after {
+ border-bottom-width: 3px;
+ border-bottom-color: transparent;
+ background: none !important;
+ height: 32px; }
+ .topic-message .message .message-bottom .message-karma span.upvote:not(.has-vote),
+ .topic-message .message .message-bottom .message-karma span.downvote:not(.has-vote) {
+ border-bottom: none;
+ opacity: .5; }
+ .topic-message .message .message-bottom .message-karma button {
+ -webkit-transition-property: opacity, border;
+ transition-property: opacity, border; }
+ .topic-message .message .message-bottom .message-karma button.voted:hover:after {
+ opacity: .5; }
+ .topic-message .message .message-bottom .message-karma .upvote:after,
+ .topic-message .message .message-bottom .message-karma .downvote:after {
+ left: 10px; }
+ .topic-message .message .message-bottom .message-karma .upvote.voted:after,
+ .topic-message .message .message-bottom .message-karma .downvote.voted:after {
+ opacity: 1; }
+ .topic-message .message .message-bottom .message-karma .upvote:hover:not(.more-voted),
+ .topic-message .message .message-bottom .message-karma .upvote:focus:not(.more-voted),
+ .topic-message .message .message-bottom .message-karma .downvote:hover:not(.more-voted),
+ .topic-message .message .message-bottom .message-karma .downvote:focus:not(.more-voted) {
+ border-bottom-color: transparent; }
+ .topic-message .message .message-bottom .message-karma .upvote:not(.has-vote),
+ .topic-message .message .message-bottom .message-karma .downvote:not(.has-vote) {
+ text-indent: -9999px;
+ width: 0; }
+ .topic-message .message .message-bottom .message-karma .upvote.more-voted,
+ .topic-message .message .message-bottom .message-karma .downvote.more-voted {
+ font-weight: bold; }
+ .topic-message .message .message-bottom .message-karma .upvote {
+ color: #48a200; }
+ .topic-message .message .message-bottom .message-karma .upvote.more-voted {
+ border-bottom-color: #48a200; }
+ .topic-message .message .message-bottom .message-karma .downvote {
+ color: #c0392b; }
+ .topic-message .message .message-bottom .message-karma .downvote.more-voted {
+ border-bottom-color: #c0392b; }
+ .topic-message .message .message-bottom .message-karma .tick {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+ .topic-message .message .message-bottom .message-karma .tick:hover,
+ .topic-message .message .message-bottom .message-karma .tick:focus {
+ color: #555;
+ border-bottom-color: #48a200; }
+ .topic-message .message .message-bottom .message-karma .tick.active {
+ color: #48a200; }
+ .topic-message .message .message-bottom .message-karma .tick.active:after {
+ opacity: 1; }
+ .topic-message .message .message-buttons {
+ margin: 0 0 0 10px;
+ padding: 0;
+ list-style: none;
+ border-bottom: none; }
+ .topic-message .message .message-buttons a {
+ text-indent: -9999px;
+ width: 0; }
+ .topic-message .message .message-buttons a:after {
+ left: 12px !important; }
+ .topic-message .message .message-submit {
+ margin-left: auto;
+ margin-right: 10px; }
+ .topic-message .message .message-actions,
+ .topic-message .message .message-buttons,
+ .topic-message .message .message-karma,
+ .topic-message .message .message-submit {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex; }
+ .topic-message .message .message-actions form,
+ .topic-message .message .message-buttons form,
+ .topic-message .message .message-karma form,
+ .topic-message .message .message-submit form {
+ width: auto; }
+ .topic-message .message .message-actions a,
+ .topic-message .message .message-actions .upvote,
+ .topic-message .message .message-actions .downvote,
+ .topic-message .message .message-actions button,
+ .topic-message .message .message-buttons a,
+ .topic-message .message .message-buttons .upvote,
+ .topic-message .message .message-buttons .downvote,
+ .topic-message .message .message-buttons button,
+ .topic-message .message .message-karma a,
+ .topic-message .message .message-karma .upvote,
+ .topic-message .message .message-karma .downvote,
+ .topic-message .message .message-karma button,
+ .topic-message .message .message-submit a,
+ .topic-message .message .message-submit .upvote,
+ .topic-message .message .message-submit .downvote,
+ .topic-message .message .message-submit button {
+ display: block;
+ float: left;
+ margin-left: 3px;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease; }
+ .topic-message .message .message-actions a.ico-after,
+ .topic-message .message .message-actions .upvote.ico-after,
+ .topic-message .message .message-actions .downvote.ico-after,
+ .topic-message .message .message-actions button.ico-after,
+ .topic-message .message .message-buttons a.ico-after,
+ .topic-message .message .message-buttons .upvote.ico-after,
+ .topic-message .message .message-buttons .downvote.ico-after,
+ .topic-message .message .message-buttons button.ico-after,
+ .topic-message .message .message-karma a.ico-after,
+ .topic-message .message .message-karma .upvote.ico-after,
+ .topic-message .message .message-karma .downvote.ico-after,
+ .topic-message .message .message-karma button.ico-after,
+ .topic-message .message .message-submit a.ico-after,
+ .topic-message .message .message-submit .upvote.ico-after,
+ .topic-message .message .message-submit .downvote.ico-after,
+ .topic-message .message .message-submit button.ico-after {
+ padding-left: 30px !important; }
+ .topic-message .message .message-actions a:after,
+ .topic-message .message .message-actions .upvote:after,
+ .topic-message .message .message-actions .downvote:after,
+ .topic-message .message .message-actions button:after,
+ .topic-message .message .message-buttons a:after,
+ .topic-message .message .message-buttons .upvote:after,
+ .topic-message .message .message-buttons .downvote:after,
+ .topic-message .message .message-buttons button:after,
+ .topic-message .message .message-karma a:after,
+ .topic-message .message .message-karma .upvote:after,
+ .topic-message .message .message-karma .downvote:after,
+ .topic-message .message .message-karma button:after,
+ .topic-message .message .message-submit a:after,
+ .topic-message .message .message-submit .upvote:after,
+ .topic-message .message .message-submit .downvote:after,
+ .topic-message .message .message-submit button:after {
+ top: 7px;
+ left: 7px;
+ -webkit-transition: all 0.15s ease;
+ transition: all 0.15s ease;
+ opacity: .5;
+ margin: 0; }
+ .topic-message .message .message-actions a,
+ .topic-message .message .message-actions .upvote,
+ .topic-message .message .message-actions .downvote,
+ .topic-message .message .message-actions button.ico-after,
+ .topic-message .message .message-buttons a,
+ .topic-message .message .message-buttons .upvote,
+ .topic-message .message .message-buttons .downvote,
+ .topic-message .message .message-buttons button.ico-after,
+ .topic-message .message .message-karma a,
+ .topic-message .message .message-karma .upvote,
+ .topic-message .message .message-karma .downvote,
+ .topic-message .message .message-karma button.ico-after,
+ .topic-message .message .message-submit a,
+ .topic-message .message .message-submit .upvote,
+ .topic-message .message .message-submit .downvote,
+ .topic-message .message .message-submit button.ico-after {
+ border-bottom: 1px solid #D2D5D6;
+ text-decoration: none;
+ color: #999;
+ height: 29px;
+ line-height: 30px;
+ padding: 0 10px; }
+ .topic-message .message .message-actions a,
+ .topic-message .message .message-actions button.ico-after,
+ .topic-message .message .message-buttons a,
+ .topic-message .message .message-buttons button.ico-after,
+ .topic-message .message .message-karma a,
+ .topic-message .message .message-karma button.ico-after,
+ .topic-message .message .message-submit a,
+ .topic-message .message .message-submit button.ico-after {
+ cursor: pointer; }
+ .topic-message .message .message-actions a:hover,
+ .topic-message .message .message-actions a:focus,
+ .topic-message .message .message-actions button.ico-after:hover,
+ .topic-message .message .message-actions button.ico-after:focus,
+ .topic-message .message .message-buttons a:hover,
+ .topic-message .message .message-buttons a:focus,
+ .topic-message .message .message-buttons button.ico-after:hover,
+ .topic-message .message .message-buttons button.ico-after:focus,
+ .topic-message .message .message-karma a:hover,
+ .topic-message .message .message-karma a:focus,
+ .topic-message .message .message-karma button.ico-after:hover,
+ .topic-message .message .message-karma button.ico-after:focus,
+ .topic-message .message .message-submit a:hover,
+ .topic-message .message .message-submit a:focus,
+ .topic-message .message .message-submit button.ico-after:hover,
+ .topic-message .message .message-submit button.ico-after:focus {
+ border-bottom-color: #0e77a8;
+ outline: none;
+ background: none; }
+ .topic-message .message .message-actions a:hover:after,
+ .topic-message .message .message-actions a:focus:after,
+ .topic-message .message .message-actions button.ico-after:hover:after,
+ .topic-message .message .message-actions button.ico-after:focus:after,
+ .topic-message .message .message-buttons a:hover:after,
+ .topic-message .message .message-buttons a:focus:after,
+ .topic-message .message .message-buttons button.ico-after:hover:after,
+ .topic-message .message .message-buttons button.ico-after:focus:after,
+ .topic-message .message .message-karma a:hover:after,
+ .topic-message .message .message-karma a:focus:after,
+ .topic-message .message .message-karma button.ico-after:hover:after,
+ .topic-message .message .message-karma button.ico-after:focus:after,
+ .topic-message .message .message-submit a:hover:after,
+ .topic-message .message .message-submit a:focus:after,
+ .topic-message .message .message-submit button.ico-after:hover:after,
+ .topic-message .message .message-submit button.ico-after:focus:after {
+ opacity: 1; }
+ .topic-message .message .message-actions a:hover,
+ .topic-message .message .message-actions a:focus,
+ .topic-message .message .message-buttons a:hover,
+ .topic-message .message .message-buttons a:focus,
+ .topic-message .message .message-karma button:hover,
+ .topic-message .message .message-karma button:focus {
+ color: #555;
+ text-decoration: none; }
+ .topic-message .message .alert-box .alert-box-text {
+ float: none; }
+
+form.topic-message {
+ margin-top: 50px; }
+
+@media only screen and (max-width: 959px) {
+ .topic-message {
+ padding: 20px 0; }
+ .topic-message .user {
+ position: absolute;
+ top: 7px;
+ z-index: 10;
+ width: 100%; }
+ .topic-message .user .avatar-link {
+ float: left;
+ display: none; }
+ .topic-message .user .badge {
+ float: left;
+ height: 20px;
+ line-height: 20px;
+ font-size: 12px;
+ width: 50px;
+ margin-top: -2px;
+ margin-left: 10px; }
+ .topic-message .user .badge.push-badge {
+ margin-left: 105px; }
+ .topic-message .user .user-metadata {
+ float: right;
+ width: 140px;
+ margin-right: 10px; }
+ .topic-message .user .user-metadata a {
+ float: left;
+ height: 20px;
+ line-height: 20px;
+ border-bottom: none;
+ width: 68px; }
+ .topic-message .message {
+ border-right: 0;
+ border-left: 0;
+ padding-top: 65px; }
+ .topic-message .message .message-metadata {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 10px;
+ z-index: 15;
+ height: 30px;
+ line-height: 30px; }
+ .topic-message .message .message-metadata .username {
+ margin-left: 5px; }
+ .topic-message .message .message-metadata .date {
+ float: right; }
+ .topic-message .message .message-actions {
+ margin: 35px 10px 0 0; }
+ .topic-message .message .message-bottom {
+ min-height: 0; }
+ .topic-message .message .message-bottom .signature {
+ display: none; }
+ .topic-message .message .message-bottom .message-karma {
+ position: absolute;
+ top: 35px;
+ left: 7px; }
+ .topic-message .message .message-bottom .message-karma .tick {
+ text-indent: -9999px;
+ margin-right: 1px; }
+ .topic-message .message .message-bottom .message-karma .tick:after {
+ left: 12px; }
+ .topic-message .message .message-bottom .message-karma .upvote,
+ .topic-message .message .message-bottom .message-karma .downvote {
+ padding: 0 7px;
+ text-align: center; } }
+
+@media only screen and (min-width: 960px) {
+ .topic-message {
+ margin: 25px 0; }
+ .topic-message:first-child {
+ margin-top: 35px; }
+ .topic-message .user:after,
+ .topic-message .message:after {
+ content: " ";
+ display: block;
+ position: absolute;
+ top: 10px;
+ height: 0;
+ width: 0;
+ border: 20px solid transparent;
+ border-left: 0; }
+ .topic-message .user {
+ position: absolute;
+ padding-top: 60px;
+ top: 0;
+ left: 0; }
+ .topic-message .user:after {
+ left: 60px;
+ border-right-color: #D2D4D6; }
+ .topic-message .message {
+ margin-left: 80px; }
+ .topic-message .message:after {
+ top: 9px;
+ left: -19px;
+ border-right-color: #FDFDFD; }
+ .topic-message .message .is-author {
+ left: 5px; }
+ .topic-message .message .message-content {
+ margin: 0 10px; }
+ .topic-message .message .message-content > :first-child {
+ margin-top: 5px; }
+ .topic-message .message .message-content > figure:first-child {
+ margin-top: 10px; }
+ .topic-message .message .message-bottom .signature p {
+ white-space: nowrap;
+ overflow: hidden; } }
+
+@media only screen and (max-width: 759px) {
+ .topic-message .message .message-actions a {
+ width: 0px;
+ text-indent: -9999px; }
+ .topic-message .message .message-actions a:after {
+ left: 12px !important; }
+ .topic-message .message .message-submit {
+ display: block !important;
+ width: 100%;
+ margin: 0; }
+ .topic-message .message .message-submit button {
+ float: right;
+ display: block;
+ width: calc(50% - 2px);
+ margin-left: 1px !important; }
+ .topic-message .message .message-submit button.btn-grey {
+ float: left; }
+ form.forum-message .message {
+ padding-top: 0 !important; } }
+
+.avatar {
+ height: 60px;
+ width: 60px;
+ background-color: #FFF; }
+
+.badge {
+ display: block;
+ width: 60px;
+ height: 25px;
+ line-height: 25px;
+ text-align: center;
+ text-transform: uppercase;
+ color: #EEE;
+ text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;
+ background: #777; }
+ .badge.staff {
+ background: #48a200; }
+
+.member-card .member-avatar {
+ float: left;
+ width: 60px; }
+
+.member-card .member-infos {
+ float: left;
+ list-style: none;
+ margin: 0;
+ padding-left: 15px; }
+
+.member-social {
+ list-style: none;
+ margin: 15px 0 0;
+ padding: 0; }
+
+/*------------------------
+9. Pages
+------------------------*/
+.home .main {
+ display: block;
+ height: auto;
+ width: auto;
+ margin: 0;
+ padding: 0; }
+
+.home #content {
+ width: 100%;
+ margin: 0;
+ padding: 0; }
+
+.home .sub-header {
+ display: none; }
+
+.home .home-wrapper {
+ max-width: 1145px;
+ margin: 0 auto; }
+
+.home .home-row {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ margin-bottom: 10px; }
+
+.home .home-header {
+ border-bottom: solid 1px white;
+ padding-top: 40px;
+ background-color: #19516b;
+ background: #19516b -webkit-radial-gradient(at top, rgba(255, 255, 255, 0.1), transparent 60%);
+ background: #19516b radial-gradient(at top, rgba(255, 255, 255, 0.1), transparent 60%);
+ margin-bottom: -170px;
+ padding-bottom: 180px;
+ overflow: hidden; }
+
+.home .home-description {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex; }
+ .home .home-description p {
+ margin: 0;
+ padding: 0;
+ color: white;
+ line-height: normal;
+ text-align: justify; }
+ .home .home-description a:not(.home-description-button) {
+ color: white; }
+ .home .home-description a:not(.home-description-button):hover, .home .home-description a:not(.home-description-button):focus {
+ color: #90ABB6;
+ text-decoration: none; }
+ .home .home-description .column {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ padding: 0 10px; }
+ .home .home-description .column h2 {
+ font-size: 18px;
+ font-size: 1.8rem;
+ color: white;
+ margin: 0 0 5px 0;
+ border-bottom-color: white;
+ font-weight: 300; }
+ .home .home-description blockquote {
+ font-size: 2.5rem;
+ color: white;
+ font-weight: 300;
+ padding: 0;
+ margin: 0; }
+ .home .home-description blockquote span:first-of-type::before {
+ content: "«\00A0"; }
+ .home .home-description blockquote span:last-of-type::after {
+ content: "\00A0»"; }
+ .home .home-description:not(.connected):not(.short) {
+ padding-bottom: 60px; }
+ .home .home-description.connected {
+ text-align: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .home .home-description.connected .important {
+ color: #F8AD32;
+ text-transform: uppercase;
+ font-weight: bold; }
+ .home .home-description.connected p {
+ margin-top: 5px;
+ text-align: center; }
+ .home .home-description.connected .home-description-button {
+ margin-left: 15px; }
+ .home .home-description.short {
+ display: none;
+ color: white;
+ text-align: center;
+ font-size: 1.4em; }
+ .home .home-description.short .home-description-button {
+ font-size: 14px;
+ font-size: 1.4rem;
+ line-height: 24px;
+ line-height: 2.4rem;
+ margin-top: 12px;
+ padding: 0 10px; }
+ .home .home-description.short blockquote > span {
+ display: inline-block; }
+
+.home .home-description-button {
+ display: inline-block;
+ line-height: 2rem;
+ font-size: 1.2rem;
+ font-size: 12px;
+ color: white;
+ text-decoration: none;
+ border: solid 1px rgba(255, 255, 255, 0.5);
+ padding: 0 6px;
+ margin-top: 5px; }
+ .home .home-description-button:hover, .home .home-description-button:focus {
+ color: #084561;
+ border-color: white;
+ background-color: #FFF; }
+ .home .home-description-button.close-description {
+ display: none; }
+
+.home .featured-resource-row {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ margin-bottom: 30px;
+ padding: 1px 0 1px 1px;
+ background-color: #F7F7F7;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ width: 100%; }
+ .home .featured-resource-row .no-featured-resource {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ margin: 0;
+ line-height: 0;
+ text-align: center;
+ margin-right: 1px;
+ font-size: 20px;
+ background-color: white; }
+ .home .featured-resource-row .no-featured-resource::before, .home .featured-resource-row .no-featured-resource::after {
+ display: block;
+ content: "";
+ padding-top: 10%; }
+
+.home .home-heading {
+ height: 40px;
+ padding-left: 50px !important;
+ margin-bottom: 18px !important; }
+ .home .home-heading.heading-white {
+ color: white;
+ border-bottom-color: white; }
+ .home .home-heading.ico-after::after {
+ margin-left: 0 !important; }
+ .home .home-heading .btn {
+ font-size: 15px; }
+
+.home .home-search-box {
+ position: relative;
+ margin: 30px auto 0;
+ max-width: 820px;
+ background: white; }
+ .home .home-search-box form {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex; }
+ .home .home-search-box:before {
+ content: '';
+ position: absolute;
+ bottom: -6px;
+ left: -28px;
+ background: url("../images/home-clem.png");
+ background-size: 100%;
+ width: 68px;
+ height: 134px; }
+ .home .home-search-box label, .home .home-search-box input {
+ box-sizing: border-box;
+ display: inline-block;
+ line-height: 50px;
+ height: 50px; }
+ .home .home-search-box label {
+ text-align: right;
+ padding: 0 5px;
+ font-size: 2rem;
+ font-weight: 300;
+ margin-left: 50px; }
+ .home .home-search-box input {
+ font-size: 2rem;
+ border: none;
+ font-weight: 300;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1; }
+ .home .home-search-box button[type=submit] {
+ background: #FFF;
+ width: 50px;
+ height: 50px; }
+ .home .home-search-box button[type=submit]:hover, .home .home-search-box button[type=submit]:focus {
+ background-color: #CCC; }
+ .home .home-search-box button[type=submit]:after {
+ margin: 16px;
+ background-position: 0px -3506px;
+ width: 16px;
+ height: 40px; }
+
+@media only screen and (max-width: 759px) {
+ .home .home-description:not(.connected):not(.short) {
+ display: none; }
+ .home .home-description.short {
+ display: block;
+ width: auto;
+ padding: 0 20px; }
+ .home .home-description.short:target .home-description-button {
+ display: none; }
+ .home .home-description.short:target .home-description-button.close-description {
+ display: inline-block; }
+ .home .home-description.short:target ~ .home-description:not(.short) {
+ display: block;
+ margin-top: 20px; }
+ .home .home-description.connected {
+ padding: 0 20px !important; }
+ .home .home-description .featured-message {
+ display: none; }
+ .home .home-heading .btn {
+ visibility: hidden; }
+ .home .home-search-box {
+ padding-left: 40px;
+ margin: 30px 0 0 !important; }
+ .home .home-search-box:before {
+ left: -46px; }
+ .home .home-search-box label {
+ display: none; }
+ .home .featured-resource-row .featured-resource-item:nth-of-type(4) {
+ display: none; } }
+
+@media only screen and (max-width: 959px) {
+ .home .home-header {
+ padding-top: 10px; }
+ .home .home-wrapper {
+ padding: 20px 10px; }
+ .home .featured-resource-row .featured-resource-item {
+ margin: 4px;
+ padding: 0 !important; }
+ .home .featured-resource-row .featured-resource-item:last-of-type {
+ display: none; }
+ .home .home-header {
+ margin-bottom: 0;
+ padding-bottom: 10px; }
+ .home .home-heading {
+ margin-top: 18px; }
+ .home .home-heading.heading-white {
+ color: #084561;
+ border-color: #F8AD32; }
+ .home .home-row {
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .home .home-search-box {
+ margin: 30px 40px 0; }
+ .home .home-description.connected {
+ width: auto;
+ padding: 0 80px; } }
+
+@media only screen and (min-width: 960px) {
+ .home .home-row {
+ margin-right: -10px;
+ margin-left: -10px; }
+ .home .home-row > section {
+ margin: 0 10px;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ min-width: 300px; }
+ .home .home-description .column h2 {
+ font-size: 22px;
+ font-size: 2.2rem; }
+ .home .home-description.connected {
+ max-width: 740px;
+ margin: 0px auto; } }
+
+.gallery.grid-view {
+ clear: both; }
+ .gallery.grid-view .gallery-item {
+ position: relative;
+ width: 200px;
+ height: 200px;
+ float: left;
+ border: 10px solid #FFF;
+ margin: 10px;
+ clear: none; }
+ .gallery.grid-view .gallery-item:hover,
+ .gallery.grid-view .gallery-item.active {
+ border-color: #1088bf !important; }
+ .gallery.grid-view .gallery-item:hover:before,
+ .gallery.grid-view .gallery-item.active:before {
+ display: none; }
+ .gallery.grid-view .gallery-item:hover .topic-title,
+ .gallery.grid-view .gallery-item.active .topic-title {
+ background: #1088bf !important;
+ color: #FFF;
+ text-decoration: none; }
+ .gallery.grid-view .gallery-item .topic-infos {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ height: 15px;
+ width: 15px;
+ padding: 3px 0; }
+ .gallery.grid-view .gallery-item .topic-infos input {
+ margin: 0; }
+ .gallery.grid-view .gallery-item .topic-description,
+ .gallery.grid-view .gallery-item .topic-description a {
+ display: block;
+ width: 100%;
+ height: 100%; }
+ .gallery.grid-view .gallery-item .topic-image {
+ overflow: hidden;
+ max-height: 100%;
+ min-width: 100%; }
+ .gallery.grid-view .gallery-item .topic-title {
+ height: 15px;
+ background-color: white;
+ position: absolute;
+ bottom: 7px;
+ left: 0;
+ right: 0;
+ padding: 10px 20px 5px;
+ font-size: 15px;
+ font-size: 1.5rem;
+ line-height: 15px;
+ color: #444; }
+ .gallery.grid-view .gallery-item.selected {
+ border-color: #eaf7fd; }
+ .gallery.grid-view .gallery-item.selected .topic-title {
+ background: #eaf7fd; }
+ .gallery.grid-view .gallery-item.add-image {
+ font-size: 120px;
+ line-height: 200px;
+ text-align: center;
+ background: #DDD;
+ color: #555;
+ text-decoration: none; }
+ .gallery.grid-view .gallery-item.add-image:hover,
+ .gallery.grid-view .gallery-item.add-image:focus {
+ background-color: #CCC;
+ color: #1088bf; }
+
+.gallery.list-view .topic .topic-description .topic-title {
+ margin-top: 12px; }
+
+.gallery.list-view .add-image {
+ display: none; }
+
+.toggle-gallery-view {
+ float: left !important; }
+
+@media only screen and (min-width: 960px) {
+ .gallery-col-image {
+ float: left;
+ width: 50%; }
+ .gallery-col-image img {
+ max-width: 100%; }
+ .gallery-col-edit {
+ float: right;
+ width: calc(50% - 20px);
+ padding-left: 20px; } }
+
+#resources_container .footer {
+ display: none; }
+
+/* Temp fix to #2667 ; see: https://github.com/zestedesavoir/zds-site/issues/2667 */
+.tutorial-help-item {
+ min-height: 60px;
+ padding: 20px 2%;
+ border-bottom: 1px solid #e0e4e5;
+ color: #424242;
+ font-weight: normal; }
+ .tutorial-help-item:nth-child(2n+1) {
+ background-color: rgba(255, 255, 255, 0.8); }
+ .tutorial-help-item p {
+ margin: 0; }
+ .tutorial-help-item .tutorial-title {
+ margin: 0;
+ padding: 0;
+ font-size: 20px;
+ font-size: 2.0rem;
+ height: 27px;
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ clear: none;
+ font-weight: normal;
+ color: #424242; }
+ .tutorial-help-item a {
+ text-decoration: none; }
+ .tutorial-help-item a:hover,
+ .tutorial-help-item a:focus {
+ text-decoration: underline; }
+ .tutorial-help-item .tutorial-categories {
+ margin: 0 0 5px;
+ padding: 0;
+ color: #ee8709; }
+ .tutorial-help-item .tutorial-categories a {
+ color: #ee8709; }
+ .tutorial-help-item .tutorial-categories a:hover,
+ .tutorial-help-item .tutorial-categories a:focus {
+ text-decoration: underline; }
+ .tutorial-help-item .tutorial-illu {
+ display: block;
+ overflow: hidden;
+ float: left; }
+ .tutorial-help-item .tutorial-infos {
+ margin: 7px 0 0 70px; }
+ .tutorial-help-item .tutorial-infos.no-illu {
+ margin-left: 0; }
+ .tutorial-help-item .tutorial-help {
+ margin: 12px 0 0 0; }
+ .tutorial-help-item .tutorial-help img.light {
+ opacity: 0.2; }
+ .tutorial-help-item .tutorial-help img.light:hover,
+ .tutorial-help-item .tutorial-help img.light:focus {
+ opacity: 0.5; }
+
+.commits-compare-form button {
+ float: none !important; }
+
+/*-------------------------
+10. High pixel ratio (retina)
+-------------------------*/
+@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
+ .header-logo-link {
+ background-size: 100%;
+ background-image: url("../images/logo@2x.png"); }
+ .ico,
+ .ico-after:after,
+ .breadcrumb ol li:not(:last-child):after,
+ input[type=radio]:checked,
+ input[type=checkbox]:checked {
+ background-image: url("../images/sprite@2x.png");
+ background-size: 40px 4426px; } }
+
+@media only screen and (-webkit-min-device-pixel-ratio: 1.3) and (max-width: 959px), only screen and (min--moz-device-pixel-ratio: 1.3) and (max-width: 959px), only screen and (min-device-pixel-ratio: 1.3) and (max-width: 959px), only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 959px), only screen and (min-resolution: 192dpi) and (max-width: 959px), only screen and (min-resolution: 2dppx) and (max-width: 959px) {
+ .js.enable-mobile-menu .mobile-menu-hide .page-container .mobile-menu-btn:after {
+ background-image: url("../images/sprite@2x.png");
+ background-size: 40px 4426px; }
+ .page-container .header-logo-link {
+ background-image: url("../images/logo-mobile@2x.png") !important; }
+ .home .home-search-box::before {
+ background-image: url("../images/home-clem@2x.png"); } }
diff --git a/dist/css/main.min.css b/dist/css/main.min.css
new file mode 100644
index 0000000000..0c84ccab32
--- /dev/null
+++ b/dist/css/main.min.css
@@ -0,0 +1 @@
+@charset "UTF-8";/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */pre,textarea{overflow:auto}fieldset,img,legend{border:0}fieldset,legend,td,th{padding:0}body,html{width:100%}.hidden,.invisible{visibility:hidden}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}.main-container,.page-container,body{min-height:100%;background:#F7F7F7}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.main .sidebar ol li a img,.main .sidebar ol li a span:not(.wide),.main .sidebar ol li button img,.main .sidebar ol li button span:not(.wide),.main .sidebar ol li.inactive>em img,.main .sidebar ol li.inactive>em span:not(.wide),.main .sidebar ol li.inactive>span img,.main .sidebar ol li.inactive>span span:not(.wide),.main .sidebar ul li a img,.main .sidebar ul li a span:not(.wide),.main .sidebar ul li button img,.main .sidebar ul li button span:not(.wide),.main .sidebar ul li.inactive>em img,.main .sidebar ul li.inactive>em span:not(.wide),.main .sidebar ul li.inactive>span img,.main .sidebar ul li.inactive>span span:not(.wide),img{vertical-align:middle}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{resize:vertical}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;height:100%;font-size:62.5%;overflow-x:hidden;word-wrap:break-word}body{margin:0;font-size:14px;font-size:1.4rem;line-height:1.7em}.content-container{margin-bottom:50px}fieldset{margin:0}.chromeframe{margin:0;background:#ccc;color:#000;padding:.2em 0;text-align:center;position:fixed;z-index:9999;width:100%}.a11y{display:block;width:0;height:0;text-indent:-9999px}nav ol,nav ul{list-style:none}@media only screen and (min-width:960px){.page-container,body,html{height:100%}.main-container{min-height:calc(100% - 136px)}.wrapper{width:95%;margin:0 2.5%}}#modals form,.content-container form,table.fullwidth{width:100%}@media only screen and (max-width:959px){body{background:#222}body:not(.swipping) .mobile-menu,body:not(.swipping) .page-container{-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease;transition-timing-function:ease}body.swipping *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}}.table-wrapper{max-width:100%;overflow:auto}table{border-collapse:collapse;border-spacing:0;margin:15px 0;border-top:1px solid #DDD}table thead{background:#DDD;color:#084561}table td,table th{text-align:left;padding:5px 15px 5px 7px;border-right:1px solid #DDD}table td:first-child,table th:first-child{border-left:1px solid #DDD}table td p,table th p{margin:0}table tbody tr{background:#FDFDFD;border-bottom:1px solid #DDD}table tbody tr:nth-child(2n+1){background:#F7F7F7}.diff_delta{overflow-x:auto;width:100%;margin:15px 0}.diff_delta table.diff{font-family:monospace,serif;font-size:.9em;border:2px solid gray;margin:0}.diff_delta table.diff tr{line-height:1em;border-bottom:none}.diff_delta table.diff .diff_header{background-color:#e0e0e0;padding:5px}.diff_delta table.diff td.diff_header{text-align:right}.diff_delta table.diff .diff_next{display:none}.diff_add{background-color:#afa}.diff_chg{background-color:#fff8ab}.diff_sub{background-color:#faa}#modals form.content-wrapper,.content-container form.content-wrapper{width:calc(100% - 20px);margin:0 10px}#modals form p,.content-container form p{position:relative}#modals fieldset,.content-container fieldset{border-top:1px solid #DDD;border-bottom:3px solid #DDD;background:#EFEFEF;padding:0 4%}#modals fieldset legend,.content-container fieldset legend{padding:0 10px;border-top:1px solid #DDD;border-bottom:3px solid #DDD;background:#EFEFEF}#modals label,.content-container label{display:block;color:#555;height:30px;line-height:30px}#modals label .asteriskField,.content-container label .asteriskField{color:#C0392B;margin-left:4px}#modals .small-content-wrapper .asteriskField,.content-container .small-content-wrapper .asteriskField{display:none}#modals .form-error,.content-container .form-error{display:block;font-size:13px;color:#C0392B}#modals input,#modals textarea,.content-container input,.content-container textarea{border:1px solid #D2D5D6}#modals input:focus,#modals textarea:focus,.content-container input:focus,.content-container textarea:focus{outline-color:#999}#modals input.field-error,#modals input:invalid,#modals textarea.field-error,#modals textarea:invalid,.content-container input.field-error,.content-container input:invalid,.content-container textarea.field-error,.content-container textarea:invalid{border-color:#C0392B}#modals input.field-error:focus,#modals input:invalid:focus,#modals textarea.field-error:focus,#modals textarea:invalid:focus,.content-container input.field-error:focus,.content-container input:invalid:focus,.content-container textarea.field-error:focus,.content-container textarea:invalid:focus{outline-color:#C0392B}#modals input .disabled,#modals input[disabled],#modals textarea .disabled,#modals textarea[disabled],.content-container input .disabled,.content-container input[disabled],.content-container textarea .disabled,.content-container textarea[disabled]{background:#DDD!important;color:#555}#modals .btn,#modals button,#modals input,#modals textarea,.content-container .btn,.content-container button,.content-container input,.content-container textarea{-webkit-appearance:none;-webkit-transition:all .15s ease;transition:all .15s ease}#modals input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]),.content-container input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]){width:calc(98% - 2px);padding:0 1%}#modals textarea,.content-container textarea{width:calc(98% - 2px);padding:10px 1%;font-family:monospace,serif}#modals .btn,#modals button,#modals input,.content-container .btn,.content-container button,.content-container input{display:block;height:30px}#modals .btn.ico-after,#modals button.ico-after,#modals input.ico-after,.content-container .btn.ico-after,.content-container button.ico-after,.content-container input.ico-after{padding-left:30px}#modals .btn.ico-after:after,#modals button.ico-after:after,#modals input.ico-after:after,.content-container .btn.ico-after:after,.content-container button.ico-after:after,.content-container input.ico-after:after{margin:12px 0 0 7px}#modals .btn,#modals [type=submit],#modals button:not(.link),.content-container .btn,.content-container [type=submit],.content-container button:not(.link){position:relative;height:40px;line-height:40px;cursor:pointer;color:#DDD;padding:0 15px;border:none;text-decoration:none;margin-left:1px;outline:0}#modals .btn.submitted,#modals [type=submit].submitted,#modals button:not(.link).submitted,.content-container .btn.submitted,.content-container [type=submit].submitted,.content-container button:not(.link).submitted{color:#555}#modals .btn.submitted .line-loading,#modals [type=submit].submitted .line-loading,#modals button:not(.link).submitted .line-loading,.content-container .btn.submitted .line-loading,.content-container [type=submit].submitted .line-loading,.content-container button:not(.link).submitted .line-loading{display:block;position:absolute;left:0;bottom:0;width:0;height:1px;background:#555;-webkit-animation:lineLoading linear 1s infinite;animation:lineLoading linear 1s infinite}#modals .btn:not(.btn-holder),#modals [type=submit]:not(.btn-holder),#modals button:not(.link):not(.btn-holder),.content-container .btn:not(.btn-holder),.content-container [type=submit]:not(.btn-holder),.content-container button:not(.link):not(.btn-holder){float:right}#modals .btn-submit:not(.link),#modals [type=submit]:not(.link),.content-container .btn-submit:not(.link),.content-container [type=submit]:not(.link){color:#FFF;background:#48a200}#modals .btn-submit:not(.link):not(.disabled):focus,#modals .btn-submit:not(.link):not(.disabled):hover,#modals .btn-submit:not(.link):not([disabled]):focus,#modals .btn-submit:not(.link):not([disabled]):hover,#modals [type=submit]:not(.link):not(.disabled):focus,#modals [type=submit]:not(.link):not(.disabled):hover,#modals [type=submit]:not(.link):not([disabled]):focus,#modals [type=submit]:not(.link):not([disabled]):hover,.content-container .btn-submit:not(.link):not(.disabled):focus,.content-container .btn-submit:not(.link):not(.disabled):hover,.content-container .btn-submit:not(.link):not([disabled]):focus,.content-container .btn-submit:not(.link):not([disabled]):hover,.content-container [type=submit]:not(.link):not(.disabled):focus,.content-container [type=submit]:not(.link):not(.disabled):hover,.content-container [type=submit]:not(.link):not([disabled]):focus,.content-container [type=submit]:not(.link):not([disabled]):hover{background:#58c600}#modals .btn-submit:not(.link).disabled.submitted,#modals [type=submit]:not(.link).disabled.submitted,.content-container .btn-submit:not(.link).disabled.submitted,.content-container [type=submit]:not(.link).disabled.submitted{color:#48a200}#modals .btn-submit:not(.link).disabled.submitted .line-loading,#modals [type=submit]:not(.link).disabled.submitted .line-loading,.content-container .btn-submit:not(.link).disabled.submitted .line-loading,.content-container [type=submit]:not(.link).disabled.submitted .line-loading{background:#48a200}#modals .btn-cancel:not(.link),.content-container .btn-cancel:not(.link){background:#c0392b}#modals .btn-cancel:not(.link):not(.disabled):focus,#modals .btn-cancel:not(.link):not(.disabled):hover,#modals .btn-cancel:not(.link):not([disabled]):focus,#modals .btn-cancel:not(.link):not([disabled]):hover,.content-container .btn-cancel:not(.link):not(.disabled):focus,.content-container .btn-cancel:not(.link):not(.disabled):hover,.content-container .btn-cancel:not(.link):not([disabled]):focus,.content-container .btn-cancel:not(.link):not([disabled]):hover{background:#d34a3b}#modals .btn-cancel:not(.link).disabled.submitted,.content-container .btn-cancel:not(.link).disabled.submitted{color:#c0392b}#modals .btn-cancel:not(.link).disabled.submitted .line-loading,.content-container .btn-cancel:not(.link).disabled.submitted .line-loading{background:#c0392b}#modals .btn-grey:not(.link),.content-container .btn-grey:not(.link){background:#EEE;color:#555}#modals .btn-grey:not(.link):not(.disabled):focus,#modals .btn-grey:not(.link):not(.disabled):hover,#modals .btn-grey:not(.link):not([disabled]):focus,#modals .btn-grey:not(.link):not([disabled]):hover,.content-container .btn-grey:not(.link):not(.disabled):focus,.content-container .btn-grey:not(.link):not(.disabled):hover,.content-container .btn-grey:not(.link):not([disabled]):focus,.content-container .btn-grey:not(.link):not([disabled]):hover{background:#CCC;color:#333}#modals .btn-grey:not(.link).disabled.submitted,.content-container .btn-grey:not(.link).disabled.submitted{color:#555}#modals .btn-grey:not(.link).disabled.submitted .line-loading,.content-container .btn-grey:not(.link).disabled.submitted .line-loading{background:#999}#modals .disabled,#modals [disabled],.content-container .disabled,.content-container [disabled]{cursor:default!important;background:#EEE!important}#modals .disabled:not(.submitted),#modals [disabled]:not(.submitted),.content-container .disabled:not(.submitted),.content-container [disabled]:not(.submitted){color:#BBB!important}#modals .btn-facebook:not(.link),.content-container .btn-facebook:not(.link){background:#3b5998}#modals .btn-facebook:not(.link):focus,#modals .btn-facebook:not(.link):hover,.content-container .btn-facebook:not(.link):focus,.content-container .btn-facebook:not(.link):hover{background:#2d4373}#modals .btn-twitter:not(.link),.content-container .btn-twitter:not(.link){background:#4099FF}#modals .btn-twitter:not(.link):focus,#modals .btn-twitter:not(.link):hover,.content-container .btn-twitter:not(.link):focus,.content-container .btn-twitter:not(.link):hover{background:#0d7eff}#modals .btn-google-plus:not(.link),.content-container .btn-google-plus:not(.link){background:#d34836}#modals .btn-google-plus:not(.link):focus,#modals .btn-google-plus:not(.link):hover,.content-container .btn-google-plus:not(.link):focus,.content-container .btn-google-plus:not(.link):hover{background:#b03626}#modals .btn-facebook,#modals .btn-google-plus,#modals .btn-twitter,.content-container .btn-facebook,.content-container .btn-google-plus,.content-container .btn-twitter{width:50%;margin:0 auto;text-align:center}#modals .btn-holder,#modals .buttonHolder,.content-container .btn-holder,.content-container .buttonHolder{margin-top:25px;min-height:40px}.wf-active #modals textarea,.wf-active .content-container textarea{font-family:"Source Code Pro",monospace,serif}#modals input[type=checkbox],#modals input[type=radio],.main-container input[type=checkbox],.main-container input[type=radio]{float:left;margin-right:5px;height:15px;width:15px;border:1px solid #BBB;background:#FCFCFC;-webkit-transition:none;transition:none}#modals input[type=checkbox]:checked,#modals input[type=radio]:checked,.main-container input[type=checkbox]:checked,.main-container input[type=radio]:checked{background-image:url(../images/sprite.png)}#modals input[type=radio],.main-container input[type=radio]{border-radius:50%}#modals input[type=radio]:checked,.main-container input[type=radio]:checked{background-position:0 -13px}#modals input[type=checkbox]:checked,.main-container input[type=checkbox]:checked{background-position:0 0}#modals .checkbox,#modals .radio,.main-container .checkbox,.main-container .radio{padding:10px 0}#modals .checkbox input,#modals .radio input,.main-container .checkbox input,.main-container .radio input{margin-top:8px}#modals .controls .radio,.main-container .controls .radio{padding-top:3px;padding-bottom:0}@media only screen and (min-width:960px){#modals form.content-wrapper,.content-container form.content-wrapper{margin:0;width:100%}}@-webkit-keyframes lineLoading{0%{width:0;left:0;right:inherit}49%{left:0;right:inherit}50%{width:100%;left:inherit;right:0}100%{left:inherit;right:0}}@keyframes lineLoading{0%{width:0;left:0;right:inherit}49%{left:0;right:inherit}50%{width:100%;left:inherit;right:0}100%{left:inherit;right:0}}body,button,html,input,select,textarea{font-family:"Segoe UI","Trebuchet MS",Helvetica,"Helvetica Neue",Arial,sans-serif;color:#222}.no-js body,.no-js button,.no-js html,.no-js input,.no-js select,.no-js textarea,.wf-active body,.wf-active button,.wf-active html,.wf-active input,.wf-active select,.wf-active textarea{font-family:"Source Sans Pro","Segoe UI","Trebuchet MS",Helvetica,"Helvetica Neue",Arial,sans-serif}hr{box-sizing:content-box;display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.link,a{color:#1088bf;-webkit-transition:all .15s ease;transition:all .15s ease}.link:hover,a:hover{color:#d68807;text-decoration:none}button.link{display:inline-block;background:0 0;border:none;text-decoration:underline}.ico,.ico-after:after{background-repeat:no-repeat;background-image:url(../images/sprite.png)}.ir,.visuallyhidden{border:0;overflow:hidden}.ico-after{position:relative}.ico-after:after{content:" ";display:block;position:absolute;top:0;left:0;width:16px;height:16px}.ico-after.alert:after{background-position:0 -546px}.ico-after.arrow-left:after{background-position:0 -186px}.ico-after.arrow-left.blue:after{background-position:0 -4226px}.ico-after.arrow-left.light:after{background-position:0 -146px}.ico-after.arrow-right:after,.ico-after.offline:after{background-position:0 -306px}.ico-after.arrow-right.blue:after,.ico-after.offline.blue:after{background-position:0 -226px}.ico-after.arrow-right.light:after,.ico-after.offline.light:after{background-position:0 -266px}.ico-after.beta:after{background-position:0 -466px}.ico-after.beta.blue:after{background-position:0 -386px}.ico-after.beta.light:after{background-position:0 -426px}.ico-after.cite:after{background-position:0 -706px}.ico-after.cite.blue:after{background-position:0 -626px}.ico-after.cite.light:after{background-position:0 -666px}.ico-after.cross:after{background-position:0 -906px}.ico-after.cross.blue:after{background-position:0 -746px}.ico-after.cross.red:after{background-position:0 -826px}.ico-after.cross.light:after{background-position:0 -786px}.ico-after.cross.white:after{background-position:0 -866px}.ico-after.download:after{background-position:0 -1146px}.ico-after.download.blue:after{background-position:0 -1066px}.ico-after.download.light:after{background-position:0 -1106px}.ico-after.downvote:after{background-position:0 -3826px}.ico-after.downvote.voted:after{background-position:0 -3786px}.ico-after.edit:after{background-position:0 -1266px}.ico-after.edit.blue:after{background-position:0 -1186px}.ico-after.edit.light:after{background-position:0 -1226px}.ico-after.email:after{background-position:0 -1386px}.ico-after.email.blue:after{background-position:0 -1306px}.ico-after.email.light:after{background-position:0 -1346px}.ico-after.diaspora:after{background-position:0 -1026px}.ico-after.diaspora.blue:after{background-position:0 -946px}.ico-after.diaspora.light:after{background-position:0 -986px}.ico-after.facebook:after{background-position:0 -1546px}.ico-after.facebook.blue:after{background-position:0 -1466px}.ico-after.facebook.light:after{background-position:0 -1506px}.ico-after.foursquare:after{background-position:0 -1706px}.ico-after.foursquare.blue:after{background-position:0 -1626px}.ico-after.foursquare.light:after{background-position:0 -1666px}.ico-after.gear:after{background-position:0 -1826px}.ico-after.gear.blue:after{background-position:0 -1746px}.ico-after.gear.light:after{background-position:0 -1786px}.ico-after.github:after{background-position:0 -1946px}.ico-after.github.blue:after{background-position:0 -1866px}.ico-after.github.light:after{background-position:0 -1906px}.ico-after.google-plus:after{background-position:0 -2066px}.ico-after.google-plus.blue:after{background-position:0 -1986px}.ico-after.google-plus.light:after{background-position:0 -2026px}.ico-after.help:after{background-position:0 -2186px}.ico-after.help.blue:after{background-position:0 -2106px}.ico-after.help.light:after{background-position:0 -106px}.ico-after.hide:after{background-position:0 -2306px}.ico-after.hide.blue:after{background-position:0 -2226px}.ico-after.hide.light:after{background-position:0 -2266px}.ico-after.history:after{background-position:0 -2426px}.ico-after.history.blue:after{background-position:0 -2346px}.ico-after.history.light:after{background-position:0 -2386px}.ico-after.import:after{background-position:0 -2546px}.ico-after.import.blue:after{background-position:0 -2466px}.ico-after.import.light:after{background-position:0 -2506px}.ico-after.lock:after{background-position:0 -2706px}.ico-after.lock.blue:after{background-position:0 -2626px}.ico-after.lock.light:after{background-position:0 -2666px}.ico-after.more:after{background-position:0 -2906px}.ico-after.more.blue:after{background-position:0 -2826px}.ico-after.more.light:after{background-position:0 -2866px}.ico-after.move:after{background-position:0 -3026px}.ico-after.move.blue:after{background-position:0 -2946px}.ico-after.move.light:after{background-position:0 -2986px}.ico-after.pin:after{background-position:0 -3226px}.ico-after.pin.blue:after{background-position:0 -3146px}.ico-after.pin.light:after{background-position:0 -3186px}.ico-after.rss:after{background-position:0 -3466px}.ico-after.rss.blue:after{background-position:0 -3346px}.ico-after.rss.orange:after{background-position:0 -3426px}.ico-after.rss.light:after{background-position:0 -3386px}.ico-after.star:after{background-position:0 -3746px}.ico-after.star.yellow:after{background-position:0 -3706px}.ico-after.star.blue:after{background-position:0 -3546px}.ico-after.star.light:after{background-position:0 -3666px}.ico-after.tick:after{background-position:0 -4026px}.ico-after.tick.green:after{background-position:0 -3946px}.ico-after.tick.light:after{background-position:0 -3986px}.ico-after.twitter:after{background-position:0 -4186px}.ico-after.twitter.blue:after{background-position:0 -4106px}.ico-after.twitter.light:after{background-position:0 -4146px}.ico-after.unread:after{background-position:0 -26px}.ico-after.upvote:after{background-position:0 -3906px}.ico-after.upvote.voted:after{background-position:0 -3866px}.ico-after.online:after,.ico-after.view:after{background-position:0 -4346px}.ico-after.online.blue:after,.ico-after.view.blue:after{background-position:0 -4266px}.ico-after.online.light:after,.ico-after.view.light:after{background-position:0 -4306px}.ir{background-color:transparent}.ir:before{content:"";display:block;width:0;height:150%}.hidden{display:none!important}.visuallyhidden{clip:rect(0 0 0 0);height:1px;margin:-1px;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}hr.clearfix{clear:both;height:0;border:none}.unstyled-list{list-style:none;padding-left:0}.screen,.wide{display:none}@media only screen and (min-width:1140px){.wide{display:inline}table .wide{display:table-cell}}@media only screen and (min-width:960px){.screen{display:inline}}.header-container header{background:#084561;border-bottom:3px solid #F8AD32}.header-container header a,.header-container header button{text-decoration:none;color:#FFF;-webkit-transition-property:background;transition-property:background;-webkit-transition-duration:.15s;transition-duration:.15s}.header-container header a:focus,.header-container header button:focus{outline:0}.header-container header .header-menu{height:60px}.header-container header .header-menu .header-menu-list{margin:0;padding:0}.header-container header .header-menu .header-menu-list>li{display:block;float:left;width:33.3%}.header-container header .header-menu .header-menu-list>li>a{display:block;position:relative;text-align:center;line-height:60px;text-transform:uppercase;font-size:1.5px;font-size:1.5rem;text-shadow:rgba(0,0,0,.75) 0 0 3px}.header-container header .header-menu .header-menu-list>li>a.active,.header-container header .header-menu .header-menu-list>li>a:focus,.header-container header .header-menu .header-menu-list>li>a:hover{background:#396a81}.header-container header .header-menu .header-menu-list>li>a.current:before{content:" ";display:block;position:absolute;bottom:0;left:0;right:0;height:2px;-webkit-transition:all .15s ease;transition:all .15s ease;border-radius:2px 2px 0 0;background-color:#F8AD32}.header-container header .header-menu .header-menu-list>li>a.current.active:before{height:0}.header-logo{text-align:center;margin:0;padding:0;width:100%}.header-logo-link{display:block;margin:0 auto;text-indent:-9999px;width:100%;max-width:240px;height:60px;background:url(../images/logo.png) center center no-repeat;background-size:100% auto}.header-logo-link:focus,.header-logo-link:hover{background-color:#396a81}.logbox{background:rgba(255,255,255,.05)}.logbox .notifs-links{margin-right:60px}.logbox .notifs-links .ico-link{display:block;position:relative;width:33.3%;height:60px;line-height:60px;float:left}.logbox .notifs-links .ico-link .notif-count{display:block;position:absolute;z-index:1;top:50%;right:50%;margin:-20px -22px 0 0;padding:0 5px;height:16px;line-height:14px;background:#c0392b;border-radius:16px}.logbox .notifs-links .ico-link .notif-text{display:block;position:absolute;text-indent:-9999px;height:22px;width:22px;top:50%;left:50%;margin:-11px 0 0 -11px}.logbox .notifs-links .ico-link .notif-text.ico-messages{background-position:0 -2786px}.logbox .notifs-links .ico-link .notif-text.ico-notifs{background-position:0 -3066px}.logbox .notifs-links .ico-link .notif-text.ico-alerts{background-position:0 -586px}.logbox .notifs-links .ico-link .notif-text.ico-params{background-position:0 -3106px}.logbox .notifs-links .ico-link.active,.logbox .notifs-links .ico-link:focus,.logbox .notifs-links .ico-link:hover{background:#396a81}.logbox .dropdown{overflow:hidden}.logbox .dropdown .dropdown-title{display:block;width:100%;height:35px;line-height:37px;text-align:center;border-bottom:1px solid #274a5a;background-color:#396a81}.logbox .dropdown,.logbox .dropdown .dropdown-list{margin:0;padding:0;list-style:none;background-color:#19526c}.logbox .dropdown .dropdown-list li,.logbox .dropdown li{display:block;width:100%;height:60px}.logbox .dropdown .dropdown-list li a,.logbox .dropdown li a{display:block;overflow:hidden;position:relative;height:100%;width:100%}.logbox .dropdown .dropdown-list li a,.logbox .dropdown .dropdown-list li a:focus,.logbox .dropdown .dropdown-list li a:hover,.logbox .dropdown li a,.logbox .dropdown li a:focus,.logbox .dropdown li a:hover{opacity:1;-webkit-transition-property:opacity,background-color;transition-property:opacity,background-color}.logbox .dropdown .dropdown-list li a:focus,.logbox .dropdown .dropdown-list li a:hover,.logbox .dropdown li a:focus,.logbox .dropdown li a:hover{background-color:#396a81}.logbox .dropdown .dropdown-list li a:focus .username,.logbox .dropdown .dropdown-list li a:hover .username,.logbox .dropdown li a:focus .username,.logbox .dropdown li a:hover .username{text-shadow:rgba(0,0,0,.5) 0 0 5px}.logbox .dropdown .dropdown-list li a:focus .date,.logbox .dropdown .dropdown-list li a:hover .date,.logbox .dropdown li a:focus .date,.logbox .dropdown li a:hover .date{color:#95D7F5}.logbox .dropdown .dropdown-list li .avatar,.logbox .dropdown li .avatar{float:left;height:30px;width:30px}.logbox .dropdown .dropdown-list li .username,.logbox .dropdown li .username{display:block;float:left;margin:4px 0 0 7px;color:#95D7F5;width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logbox .dropdown .dropdown-list li .date,.logbox .dropdown li .date{color:#5196b6;float:right;padding:4px 10px 0 0;-webkit-transition-property:color;transition-property:color}.logbox .dropdown .dropdown-list li .topic,.logbox .dropdown li .topic{display:block;position:absolute;bottom:0;left:0;overflow:hidden;height:25px;padding:4px 7px 2px;text-overflow:ellipsis;white-space:nowrap;width:95%;width:calc(100% - 14px)}.logbox .dropdown .dropdown-list li:nth-child(2n+1),.logbox .dropdown .dropdown-list li:nth-child(2n+1) form button,.logbox .dropdown li:nth-child(2n+1),.logbox .dropdown li:nth-child(2n+1) form button{background-color:#084561}.logbox .my-account{display:block;height:60px;width:60px;float:right}.logbox .my-account .username{display:none}.logbox .my-account .avatar{background:#396a81}.logbox .dropdown.my-account-dropdown a,.logbox .dropdown.my-account-dropdown button{padding-left:10px}.logbox .dropdown.my-account-dropdown button{width:100%;height:30px;line-height:28px;background:0 0;text-align:left;border:0}.logbox .dropdown.my-account-dropdown button:focus,.logbox .dropdown.my-account-dropdown button:hover{background:#396a81}.logbox.unlogged a{display:block;width:50%;text-align:center;float:left;line-height:60px;height:60px}.logbox.unlogged a:focus,.logbox.unlogged a:hover{background-color:#396a81}.sub-header{background:#EEE}@media only screen and (max-width:959px){.header-logo{width:40px;height:50px;margin-left:50px;float:left}.header-logo-link{background-image:url(../images/logo-mobile.png)!important;background-size:100%;width:100%;height:100%}.header-logo-link:after{display:block;content:attr(data-title);position:absolute;top:0;left:95px;right:155px;line-height:50px;text-indent:0;text-align:left;font-weight:400;font-size:17px;font-size:1.7rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:200px}.header-container header .header-menu{height:30px}.header-container header .header-menu .header-menu-list{padding-top:50px}.header-container header .header-menu .header-menu-list>li>a{line-height:50px}.logbox{float:right;width:150px;background:0 0}.logbox .notifs-links{width:100%}.logbox .notifs-links .ico-link{height:50px;width:50px}.logbox .dropdown{top:50px}.logbox .dropdown.my-account-dropdown .dropdown-list{bottom:0}.logbox .dropdown.my-account-dropdown .dropdown-list li{height:45px;line-height:45px}.logbox.unlogged{font-size:13px;font-size:1.3rem}.logbox.unlogged a{background-color:rgba(255,255,255,.1);line-height:30px;height:30px;margin:10px 1px 10px 0;width:74px}}@media only screen and (min-width:960px){.header-container{z-index:1;position:relative;box-shadow:0 0 4px rgba(0,0,0,.3)}.header-container header{background-image:-webkit-linear-gradient(left,transparent 20%,rgba(255,255,255,.07) 40%,rgba(255,255,255,.07) 60%,transparent 80%);background-image:linear-gradient(left,transparent 20%,rgba(255,255,255,.07) 40%,rgba(255,255,255,.07) 60%,transparent 80%)}.header-logo{float:left;text-align:left;width:240px}.header-container header .header-menu{float:left;width:40%;margin-left:.5%}.header-container header .header-menu .header-menu-list>li>a{max-width:150px;font-size:1.6rem;font-size:16px}.dropdown{top:60px}.has-dropdown{position:relative;text-indent:-7px}.has-dropdown:after{content:" ";display:block;position:absolute;top:47%;left:83%;height:0;width:0;border:6px solid transparent;border-top:6px solid rgba(255,255,255,.7);border-left:6px inset transparent}.has-dropdown.active:after,.has-dropdown:focus:after,.has-dropdown:hover:after{border-top:6px solid #FFF}.logbox .dropdown.my-account-dropdown ul li{height:30px;line-height:30px}.lt-ie9 .dropdown{top:90px}.header-right{float:right;width:230px}.header-right .dropdown{right:2.5%}}@media only screen and (min-width:1140px){.header-container header .header-menu{margin-left:5%}}.dropdown{display:none;position:absolute;text-align:left;top:50px;left:0;right:0;background-color:#396a81;margin:0;padding:10px 2.5%;font-size:14px;font-size:1.4rem;border-bottom:3px solid #F8AD32;z-index:50}.dropdown .dropdown-title{color:#FFF}.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(1),.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(1)~li{width:100%}.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(2),.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(2)~li{width:50%}.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(3),.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(3)~li{width:33.33333%}.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(4),.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(4)~li{width:25%}.dropdown .dropdown-list{width:100%;padding:0;margin-top:15px}.dropdown .dropdown-list>li{width:20%;float:left}.dropdown .dropdown-list>li.dropdown-empty-message{color:rgba(255,255,255,.5);text-align:center;line-height:60px;background:0 0!important}.dropdown .dropdown-list>li ul{margin:0 0 10px;padding:0}.dropdown .dropdown-list>li ul li{position:relative}.dropdown .dropdown-list>li ul li a{display:block;width:95%;min-height:25px;line-height:25px;color:#95d7f5;overflow:hidden;-webkit-transition:all .15s ease;transition:all .15s ease}.dropdown .dropdown-list>li ul li a:focus,.dropdown .dropdown-list>li ul li a:hover{padding-left:3%;background-color:rgba(0,0,0,.3)}.dropdown .dropdown-link-all{display:block;clear:both;text-align:center;height:30px;line-height:30px;border-top:1px solid #274a5a;background-color:#396a81;-webkit-transition-property:color,background-color;transition-property:color,background-color}.dropdown .dropdown-link-all:first-child{border-top:0!important;border-bottom:1px solid #274a5a}.dropdown .dropdown-link-all:focus,.dropdown .dropdown-link-all:hover{color:#95d7f5;background-color:#274a5a;border-top:1px solid #396a81}.active+.dropdown{display:block}@media only screen and (min-width:760px){.dropdown{box-shadow:0 5px 7px rgba(0,0,0,.3)}.header-right .dropdown{width:350px;left:auto;padding:0}.header-right .dropdown .dropdown-list{max-height:270px;overflow-x:hidden;overflow-y:auto}.header-right .dropdown .dropdown-list::-webkit-scrollbar{width:10px;height:10px}.header-right .dropdown .dropdown-list::-webkit-scrollbar-track{background-color:#06354a}.header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb{background-color:#396a81;border:1px solid #06354a;-webkit-transition:all .15s ease;transition:all .15s ease}.header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb:hover{background-color:#5196b6}.header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb:active{background-color:#71b4d3}.header-right .dropdown.my-account-dropdown{width:230px}}@media only screen and (max-width:759px){.dropdown,html.dropdown-active .page-container{width:100%}html.dropdown-active{overflow:hidden}html.dropdown-active .main-container{display:none}.header-menu-dropdown{display:none!important}.dropdown{top:180px;bottom:0;border-bottom:none}.dropdown .dropdown-list{overflow:auto;position:absolute;top:36px;bottom:50px}.dropdown .dropdown-link-all{position:absolute;left:0;right:0;bottom:0;height:50px;line-height:50px}}@media only screen and (min-width:960px){.dropdown{top:60px}}.search-form{margin-bottom:30px}.search{display:block;position:relative}.search form button,.search form input{float:left;border:none;background:rgba(255,255,255,.25);height:40px;-webkit-transition-property:background;transition-property:background;-webkit-transition-duration:.15s;transition-duration:.15s}.search form button:focus,.search form button:hover,.search form input:focus,.search form input:hover{background-color:#FFF}.search form button:focus,.search form input:focus{outline-color:#F8AD32}.search form input{height:30px;padding:5px 3%;width:70%}.search form button{width:12%;text-indent:-9999px}.search form button.disabled{opacity:.5;background:0 0;cursor:default}.search form button:after{display:block;content:" ";position:absolute;top:12px;left:50%;margin-left:-8px;height:17px;width:17px;background-position:0 -3506px}.search .search-more{display:block;float:left;height:40px;font-family:Arial,sans-serif;line-height:40px;width:12%;text-align:center;font-weight:700;text-decoration:none;font-size:24px;background:#FFF;color:#084561;-webkit-transition:background .15s ease;transition:background .15s ease}.search .search-more:focus,.search .search-more:hover{background:#F8AD32;color:#FFF;outline:0}.search .search-more:before{content:"+"}@media only screen and (min-width:960px){.search:before{content:" ";display:block;position:absolute;left:-20px;height:30px;width:20px;background:-webkit-linear-gradient(right,rgba(0,0,0,.03),transparent);background:linear-gradient(right,rgba(0,0,0,.03),transparent)}.search form input{padding:6px 10px;height:18px;width:150px}.search .search-more,.search form button{width:30px;height:30px;line-height:30px}.search form button:after{top:7px}}#accessibility{list-style:none;margin:0;padding:0 2.5%;background:#062E41;overflow:hidden;height:0}#accessibility.focused{height:auto}#accessibility li{display:inline;margin:0;padding:0}#accessibility li a{display:inline-block;padding:0 7px;color:#EEE}#accessibility li a:focus,#accessibility li a:hover{color:#084561;background-color:#fff;text-decoration:none}#cookies-eu-banner{padding:0 3%;background:#062E41;display:none}#cookies-eu-banner #cookies-eu-reject,#cookies-eu-banner div{display:inline-block;margin:0;padding:7px 0;color:#EEE;line-height:23px}#cookies-eu-banner #cookies-eu-reject{background:0 0;border:none;text-decoration:underline}#cookies-eu-banner #cookies-eu-reject:focus,#cookies-eu-banner #cookies-eu-reject:hover{text-decoration:none}#cookies-eu-banner #cookies-eu-accept,#cookies-eu-banner #cookies-eu-more{display:inline-block;margin-top:3px;padding:4px 15px;text-decoration:none;-webkit-transition:background .15s,color .15s;transition:background .15s,color .15s}#cookies-eu-banner #cookies-eu-more{margin-left:15px;color:#EEE;background:#084561}#cookies-eu-banner #cookies-eu-more:focus,#cookies-eu-banner #cookies-eu-more:hover{color:#084561;background:#EEE}#cookies-eu-banner #cookies-eu-accept{border:none;color:#084561;background:#EEE}#cookies-eu-banner #cookies-eu-accept:focus,#cookies-eu-banner #cookies-eu-accept:hover{color:#EEE;background:#084561}@media only screen and (max-width:759px){#cookies-eu-banner{position:absolute;top:50px;right:0;bottom:0;left:0;z-index:10}#cookies-eu-banner div{margin-top:40px;padding:0 5px}#cookies-eu-banner #cookies-eu-accept,#cookies-eu-banner #cookies-eu-more{display:block;width:100%;height:40px;padding:0!important;margin:15px 0 0!important;text-align:center}#cookies-eu-banner #cookies-eu-more{margin-top:40px!important;line-height:40px}}.main .sidebar{padding:0 0 10px;background:#F0F0F0;border-bottom:1px solid #FFF;color:#424242;width:105%;margin:0 0 0 -2.7%}.main .sidebar .new-btn{display:block;height:40px;padding-left:11.5%;text-decoration:none;text-indent:25px;line-height:40px;font-size:16px;font-size:1.6rem;position:relative;color:#1088bf;-webkit-transition:all .15s ease;transition:all .15s ease}.main .sidebar .new-btn:first-child{margin-top:31px}.main .sidebar .new-btn:focus,.main .sidebar .new-btn:hover{background:#FFF}.main .sidebar .new-btn:after{top:12px;left:11.5%}.main .sidebar h3,.main .sidebar h4{font-weight:400;margin:0;padding:0}.main .sidebar ol li a.selected,.main .sidebar ol li a.unread,.main .sidebar ol li button.selected,.main .sidebar ol li.inactive>em.selected,.main .sidebar ol li.inactive>span.selected,.main .sidebar ul li a.selected,.main .sidebar ul li a.unread,.main .sidebar ul li button.selected,.main .sidebar ul li.inactive>em.selected,.main .sidebar ul li.inactive>span.selected,.main .sidebar.summary ol li.current+a{font-weight:700}.main .sidebar h3{font-size:18px;font-size:1.8rem;line-height:38px;line-height:3.8rem;color:#084561;border-bottom:1px solid #F8AD32;margin-top:30px}.main .sidebar h4{padding-top:20px;font-size:17px;font-size:1.7rem}.main .sidebar h4 a{text-decoration:none;color:#424242}.main .sidebar.accordeon h4{cursor:pointer}.main .sidebar h4[data-num]{position:relative;padding-left:calc(5% + 25px)}.main .sidebar h4[data-num]:before{content:attr(data-num);position:absolute;left:5%;text-align:right;width:50px;margin-left:-35px}.main .sidebar h3+ol,.main .sidebar h3+ul{margin:7px 0}.main .sidebar ol,.main .sidebar ul{margin:0;padding:0;list-style:none;width:100%}.main .sidebar ol li,.main .sidebar ul li{position:relative;padding:0 0 0 2.5%;-webkit-transition:background .15s ease;transition:background .15s ease}.main .sidebar ol li a:focus,.main .sidebar ol li button:focus,.main .sidebar ol li:not(.inactive):hover,.main .sidebar ul li a:focus,.main .sidebar ul li button:focus,.main .sidebar ul li:not(.inactive):hover{background:#FFF;outline:0}.main .sidebar ol li a:focus .ico-after.action-hover,.main .sidebar ol li button:focus .ico-after.action-hover,.main .sidebar ol li:not(.inactive):hover .ico-after.action-hover,.main .sidebar ul li a:focus .ico-after.action-hover,.main .sidebar ul li button:focus .ico-after.action-hover,.main .sidebar ul li:not(.inactive):hover .ico-after.action-hover{display:block}.main .sidebar ol li a,.main .sidebar ol li button,.main .sidebar ol li.inactive>em,.main .sidebar ol li.inactive>span,.main .sidebar ul li a,.main .sidebar ul li button,.main .sidebar ul li.inactive>em,.main .sidebar ul li.inactive>span{display:block;padding-left:25px;padding-right:10px;text-decoration:none;color:#0079b2;overflow:hidden;height:30px;line-height:30px;font-size:14px;font-size:1.4rem;text-overflow:ellipsis;white-space:nowrap;border:0;text-align:left;background:0 0}.main .sidebar ol li a[data-num],.main .sidebar ol li button[data-num],.main .sidebar ol li.inactive>em[data-num],.main .sidebar ol li.inactive>span[data-num],.main .sidebar ul li a[data-num],.main .sidebar ul li button[data-num],.main .sidebar ul li.inactive>em[data-num],.main .sidebar ul li.inactive>span[data-num]{position:relative}.main .sidebar ol li a[data-num]:after,.main .sidebar ol li button[data-num]:after,.main .sidebar ol li.inactive>em[data-num]:after,.main .sidebar ol li.inactive>span[data-num]:after,.main .sidebar ul li a[data-num]:after,.main .sidebar ul li button[data-num]:after,.main .sidebar ul li.inactive>em[data-num]:after,.main .sidebar ul li.inactive>span[data-num]:after{content:attr(data-num) ".";position:absolute;left:0;width:18px;text-align:right;color:#424242}.main .sidebar ol li a img,.main .sidebar ol li button img,.main .sidebar ol li.inactive>em img,.main .sidebar ol li.inactive>span img,.main .sidebar ul li a img,.main .sidebar ul li button img,.main .sidebar ul li.inactive>em img,.main .sidebar ul li.inactive>span img{border-right:7px solid transparent}.main .sidebar ol li a .icon,.main .sidebar ol li button .icon,.main .sidebar ol li.inactive>em .icon,.main .sidebar ol li.inactive>span .icon,.main .sidebar ul li a .icon,.main .sidebar ul li button .icon,.main .sidebar ul li.inactive>em .icon,.main .sidebar ul li.inactive>span .icon{border-right:7px solid transparent;display:inline-block;width:16px;height:16px;margin:7px 5px;line-height:30px}.main .sidebar ol li a.ico-after:after,.main .sidebar ol li button.ico-after:after,.main .sidebar ol li.inactive>em.ico-after:after,.main .sidebar ol li.inactive>span.ico-after:after,.main .sidebar ul li a.ico-after:after,.main .sidebar ul li button.ico-after:after,.main .sidebar ul li.inactive>em.ico-after:after,.main .sidebar ul li.inactive>span.ico-after:after{top:7px;left:0;opacity:.7}.main .sidebar ol li a.ico-after.disabled:after,.main .sidebar ol li button.ico-after.disabled:after,.main .sidebar ol li.inactive>em.ico-after.disabled:after,.main .sidebar ol li.inactive>span.ico-after.disabled:after,.main .sidebar ul li a.ico-after.disabled:after,.main .sidebar ul li button.ico-after.disabled:after,.main .sidebar ul li.inactive>em.ico-after.disabled:after,.main .sidebar ul li.inactive>span.ico-after.disabled:after{opacity:.4!important}.main .sidebar ol li a.ico-after:focus:after,.main .sidebar ol li a.ico-after:hover:after,.main .sidebar ol li button.ico-after:focus:after,.main .sidebar ol li button.ico-after:hover:after,.main .sidebar ol li.inactive>em.ico-after:focus:after,.main .sidebar ol li.inactive>em.ico-after:hover:after,.main .sidebar ol li.inactive>span.ico-after:focus:after,.main .sidebar ol li.inactive>span.ico-after:hover:after,.main .sidebar ul li a.ico-after:focus:after,.main .sidebar ul li a.ico-after:hover:after,.main .sidebar ul li button.ico-after:focus:after,.main .sidebar ul li button.ico-after:hover:after,.main .sidebar ul li.inactive>em.ico-after:focus:after,.main .sidebar ul li.inactive>em.ico-after:hover:after,.main .sidebar ul li.inactive>span.ico-after:focus:after,.main .sidebar ul li.inactive>span.ico-after:hover:after{opacity:1}.main .sidebar ol li a.ico-after.action-hover,.main .sidebar ol li button.ico-after.action-hover,.main .sidebar ol li.inactive>em.ico-after.action-hover,.main .sidebar ol li.inactive>span.ico-after.action-hover,.main .sidebar ul li a.ico-after.action-hover,.main .sidebar ul li button.ico-after.action-hover,.main .sidebar ul li.inactive>em.ico-after.action-hover,.main .sidebar ul li.inactive>span.ico-after.action-hover{position:absolute;display:none;overflow:visible;top:0;left:10%;padding:0;z-index:1;width:30px;height:30px;text-indent:-9999px;background:#FFF;right:-30px}.main .sidebar ol li a.ico-after.action-hover[data-title]:hover:before,.main .sidebar ol li button.ico-after.action-hover[data-title]:hover:before,.main .sidebar ol li.inactive>em.ico-after.action-hover[data-title]:hover:before,.main .sidebar ol li.inactive>span.ico-after.action-hover[data-title]:hover:before,.main .sidebar ul li a.ico-after.action-hover[data-title]:hover:before,.main .sidebar ul li button.ico-after.action-hover[data-title]:hover:before,.main .sidebar ul li.inactive>em.ico-after.action-hover[data-title]:hover:before,.main .sidebar ul li.inactive>span.ico-after.action-hover[data-title]:hover:before{content:attr(data-title);display:block;position:absolute;background:#FFF;color:#555;top:-27px;left:0;height:27px;line-height:27px;line-height:2.7rem;text-indent:0;padding:0 15px;border:1px solid #EEE;box-shadow:rgba(0,0,0,.15) 0 0 7px}.main .sidebar ol li a.ico-after.action-hover:after,.main .sidebar ol li button.ico-after.action-hover:after,.main .sidebar ol li.inactive>em.ico-after.action-hover:after,.main .sidebar ol li.inactive>span.ico-after.action-hover:after,.main .sidebar ul li a.ico-after.action-hover:after,.main .sidebar ul li button.ico-after.action-hover:after,.main .sidebar ul li.inactive>em.ico-after.action-hover:after,.main .sidebar ul li.inactive>span.ico-after.action-hover:after{left:7px}.main .sidebar ol li.inactive>em,.main .sidebar ol li.inactive>span,.main .sidebar ul li.inactive>em,.main .sidebar ul li.inactive>span{color:#555}.main .sidebar ol li .count,.main .sidebar ul li .count{display:block;position:absolute;top:6px;right:20px;padding:1px 10px;height:16px;line-height:16px;font-style:normal;background:#AAA;color:#FFF}.main .sidebar ol li .last-answer,.main .sidebar ul li .last-answer{display:block;visibility:hidden;position:absolute;top:-13px;left:102%;width:250px;height:40px;background:#FFF;padding:7px 10px;border:1px solid #F0F0F0;box-shadow:rgba(0,0,0,.1) 2px 2px 2px;opacity:0;-webkit-transition:visibility 0s linear .15s,opacity .15s,left .15s;transition:visibility 0s linear .15s,opacity .15s,left .15s}.main .sidebar ol li .last-answer .avatar,.main .sidebar ul li .last-answer .avatar{height:40px;width:40px;float:left;border:1px solid #F0F0F0}.main .sidebar ol li .last-answer .topic-last-answer,.main .sidebar ul li .last-answer .topic-last-answer{display:block;margin-left:50px;line-height:18px;padding:3px 0;color:#555}.main .sidebar ol li .last-answer .topic-no-last-answer,.main .sidebar ul li .last-answer .topic-no-last-answer{display:block;line-height:40px;width:100%;text-align:center;color:#999}.main .sidebar ol li a:focus+.last-answer,.main .sidebar ol li a:hover+.last-answer,.main .sidebar ul li a:focus+.last-answer,.main .sidebar ul li a:hover+.last-answer{visibility:visible;left:100%;opacity:1;-webkit-transition:visibility 0s linear 0,opacity .15s,left .15s;transition:visibility 0s linear 0,opacity .15s,left .15s}.main .sidebar ol li button,.main .sidebar ul li button{width:100%;line-height:28px}.main .sidebar ol li li,.main .sidebar ul li li{padding:0}.main .sidebar ol li li a,.main .sidebar ul li li a{position:relative;color:#084561;-webkit-transition:all .15s ease;transition:all .15s ease}.authors ul li a,.pagination li a,.taglist li a{-webkit-transition:all .15s ease}.main .sidebar ol li li a:focus,.main .sidebar ol li li a:hover,.main .sidebar ul li li a:focus,.main .sidebar ul li li a:hover{color:#0079B2;background:#FFF;margin-left:-11px}.main .sidebar ol li li a:focus:before,.main .sidebar ol li li a:hover:before,.main .sidebar ul li li a:focus:before,.main .sidebar ul li li a:hover:before{content:"> "}.main .sidebar.summary h4{border-bottom:1px solid #d8dada;padding-bottom:5px;padding-right:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main .sidebar.summary h4+ol>li:first-child,.main .sidebar.summary h4+ul>li:first-child{margin-top:5px}.main .sidebar.summary ol li.current{margin-top:0!important;padding-top:5px;margin-bottom:5px;background-color:#FFF}.main .sidebar.summary ol li.current ol{margin-top:5px;padding-top:5px;padding-bottom:5px;margin-left:-42px;width:calc(105% + 25px);background:-webkit-linear-gradient(top,rgba(0,0,0,.07),#F7F7F7 3px);background:linear-gradient(top,rgba(0,0,0,.07),#F7F7F7 3px)}.main .sidebar.summary ol li.current ol a{padding-left:50px}.main .content-container{padding-top:30px}.main .content-container h1,.main .content-container h2{font-size:22px;font-size:2.2rem;line-height:38px;line-height:3.8rem;color:#084561;font-weight:400;border-bottom:1px solid #F8AD32;margin:1px 0 15px}.main .content-container h1.illu,.main .content-container h2.illu{padding-left:60px}.main .content-container h1.illu img,.main .content-container h2.illu img{background:#FFF}.main .content-container h1.ico-after,.main .content-container h2.ico-after{padding-left:80px}.main .content-container h1.ico-after:after,.main .content-container h2.ico-after:after{width:80px;height:40px;margin-left:21px}.main .content-container h1.ico-articles:after,.main .content-container h2.ico-articles:after{background-position:0 -346px}.main .content-container h1.ico-tutorials:after,.main .content-container h2.ico-tutorials:after{background-position:0 -4066px}.main .content-container h1.ico-news:after,.main .content-container h2.ico-news:after{background-position:0 -3586px}.main .content-container h1.ico-forum:after,.main .content-container h2.ico-forum:after{background-position:0 -1586px}.main .content-container h1.illu img,.main .content-container h2.illu img{position:absolute;margin:-6px 0 0 -60px;border:1px solid #cdd0d1;width:50px;height:50px}.main .content-container .license{float:right;margin:10px 0 0}.main .content-container .subtitle{font-size:18px;font-size:1.8rem;line-height:23px;color:#999;margin-top:-15px;margin-bottom:15px;padding:10px 0;font-weight:400;border-bottom:1px solid #EEE}.main .content-container .pubdate{display:block;color:#999;margin-bottom:15px}.main .content-container .member-item .avatar{margin-top:-2px;height:20px;width:20px;border:1px solid #CCC}.main .content-container .member-item .avatar+span{padding-left:3px}.main .content-container .member-item:hover .avatar{border-color:#999}.main .content-container .member-item+.member-item{margin-left:7px}.main .content-container .authors .member-item{margin-right:0;margin-left:7px}.main .content-container .authors .member-item .avatar{height:30px;width:30px;margin:-3px 5px 0 -6px}.main .content-container .new-btn-container,.main .content-container .open-zen-mode{display:none}.home .main .content-container{margin-top:0}.pagination-bottom-clear{clear:both}@media only screen and (min-width:1360px){.main .content-container .content-wrapper{max-width:960px;margin:0 auto!important}}@media only screen and (min-width:960px){body.no-sidebar .main .content-container{width:100%}body.no-sidebar .main .sidebar{display:none}.main{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;height:100%;margin-left:0;padding-left:2.5%}.main .content-container{width:80%;margin-right:0}.main .content-container .taglist+.pubdate{margin-top:-40px}.main .content-container .open-zen-mode{display:block}.main .content-container.zen-mode{width:100%;min-height:calc(100% - 200px);position:absolute;top:0;left:0;right:0;z-index:20;background:#FCFCFC;padding:100px 0;margin-bottom:0}.main .content-container.zen-mode .comments-title,.main .content-container.zen-mode .pagination:not(.pagination-chapter),.main .content-container.zen-mode .topic-message{display:none}.main .content-container.zen-mode .content-wrapper{margin:0 4%}.main .content-container h1,.main .content-container h2{margin-left:1px}.main .content-container .content-col-2{width:49.5%;margin:0 0 0 1%}.main .content-container .content-col-3{width:32%;margin:0 0 0 2%}.main .content-container .content-col-2,.main .content-container .content-col-3{float:left}.main .content-container .content-col-2:first-child,.main .content-container .content-col-3:first-child{margin:0}.main .content-container .article-content>.summary-part>li{float:left;width:50%}.main .content-container .article-content>.summary-part>li:nth-child(2n+1){clear:both}.main .sidebar{width:22.5%;border-bottom:none}.main .sidebar h3,.main .sidebar h4,.main .sidebar ol li,.main .sidebar ul li{padding-left:11.5%}.main .sidebar h3:first-child{margin-top:31px}.main .sidebar h4[data-num]{padding-left:calc(11% + 25px)}.main .sidebar h4[data-num]:before{left:11%}.main .sidebar.sommaire ul li.current ol,.main .sidebar.sommaire ul li.current ul{margin-left:calc(-11% - 10px);width:calc(111% + 10px);background:-webkit-linear-gradient(top,rgba(0,0,0,.07),transparent 3px);background:linear-gradient(top,rgba(0,0,0,.07),transparent 3px)}.main .sidebar.sommaire ul li.current ol a,.main .sidebar.sommaire ul li.current ul a{padding-left:calc(11% + 30px)}.content-cols .main .content-container{width:79%;margin-left:1.5%}.full-content-wrapper .tutorial-list article{width:46%;float:left}.full-content-wrapper .tutorial-list article.extend{width:100%}}@media only screen and (max-width:959px){.main .content-container .new-btn-container{display:block;margin:30px 0;border-top:1px solid #DDD;overflow:hidden}.content-col-2:not(:first-child),.content-col-3:not(:first-child),.main .content-container .content-col:not(:first-child),.main .sidebar{margin-top:50px}.main .content-container .new-btn-container .new-btn{display:block;width:100%;padding:7px 10px 7px 35px;text-decoration:none;height:30px;line-height:30px;background:#EEE;color:#333;border-bottom:1px solid #DDD}.main .content-container .new-btn-container .new-btn.ico-after:after{top:13px;left:10px}.main .content-container h1.ico-news:after,.main .content-container h2.ico-news:after{background-position:0 -3626px}.main{width:100%}.main .sidebar{width:102.5%}.main .sidebar h3,.main .sidebar h4,.main .sidebar ul li{padding-left:5.5%}.main .sidebar h3 a,.main .sidebar h4 a,.main .sidebar ul li a{white-space:normal}}.small-content-wrapper{width:90%;max-width:500px;margin:20px auto}.main .content-container .content-wrapper.article-content,.main .content-container .content-wrapper.authors{padding-left:2%;padding-right:2%}.main .content-container .article-content ol:not(.summary-part),.main .content-container .article-content p,.main .content-container .article-content p a,.main .content-container .article-content ul:not(.pagination),.main .content-container .article-content>a{font-family:Merriweather,"Liberation Serif","Times New Roman",Times,Georgia,FreeSerif,serif}.main .content-container .comment-author,.main .content-container .content-wrapper.comment-author{background:#EEE;padding:7px 15px;margin-bottom:20px}.main .content-container .comment-author blockquote,.main .content-container .content-wrapper.comment-author blockquote{margin:10px 0;border-left:5px solid #CCC;padding:5px 0 5px 15px}.main .content-container .article-content .summary-part{font-size:20px;color:#ea9408}.main .content-container .article-content .summary-part h3,.main .content-container .article-content .summary-part h4{font-weight:400;width:90%}.main .content-container .article-content .summary-part h3 a,.main .content-container .article-content .summary-part h4 a{text-decoration:none}.main .content-container .article-content .summary-part h3 a:focus,.main .content-container .article-content .summary-part h3 a:hover,.main .content-container .article-content .summary-part h4 a:focus,.main .content-container .article-content .summary-part h4 a:hover{text-decoration:underline}.main .content-container .article-content .summary-part h3{font-size:20px;margin:0 0 5px}.main .content-container .article-content .summary-part .summary-part{list-style:none;padding-left:0;margin-bottom:15px}.main .content-container .article-content .summary-part .summary-part h4{font-size:14px;margin:2px 0}.main .content-container .article-content,.main .content-container .message-content{margin-top:20px;margin-bottom:20px;color:#424242}.main .content-container .article-content h2,.main .content-container .article-content h3,.main .content-container .message-content h2,.main .content-container .message-content h3{clear:both}.main .content-container .article-content h2,.main .content-container .article-content h2 a,.main .content-container .article-content h3,.main .content-container .article-content h3 a,.main .content-container .message-content h2,.main .content-container .message-content h2 a,.main .content-container .message-content h3,.main .content-container .message-content h3 a{color:#ea9408;margin-top:40px;text-decoration:none}.main .content-container .article-content h2 a:focus,.main .content-container .article-content h2 a:hover,.main .content-container .article-content h3 a:focus,.main .content-container .article-content h3 a:hover,.main .content-container .message-content h2 a:focus,.main .content-container .message-content h2 a:hover,.main .content-container .message-content h3 a:focus,.main .content-container .message-content h3 a:hover{text-decoration:underline}.main .content-container .article-content h2,.main .content-container .message-content h2{font-size:22px;font-size:2.2rem;line-height:50px;margin-bottom:20px;background:#FFF;border-top:1px solid #e0e4e5;padding-left:1%;font-weight:400}.main .content-container .article-content h3,.main .content-container .message-content h3{font-size:20px;font-size:2rem;margin-bottom:14px}.main .content-container .article-content h4,.main .content-container .message-content h4{font-size:18px;font-size:1.8rem;margin-bottom:12px}.main .content-container .article-content h5,.main .content-container .message-content h5{font-size:16px;font-size:1.6rem;margin-bottom:10px}.main .content-container .article-content h6,.main .content-container .message-content h6{font-size:15px;font-size:1.5rem;margin-bottom:10px}.main .content-container .article-content .actions-title,.main .content-container .message-content .actions-title{float:right;margin:-60px 10px 0 0}.main .content-container .article-content .actions-title .btn,.main .content-container .message-content .actions-title .btn{height:30px;line-height:30px;margin-left:3px;opacity:.7}.main .content-container .article-content .actions-title .btn.ico-after:after,.main .content-container .message-content .actions-title .btn.ico-after:after{margin-top:7px}.main .content-container .article-content .actions-title .btn:focus,.main .content-container .article-content .actions-title .btn:hover,.main .content-container .message-content .actions-title .btn:focus,.main .content-container .message-content .actions-title .btn:hover{opacity:1}.main .content-container .article-content :not(.alert-box).error,.main .content-container .article-content :not(.alert-box).information,.main .content-container .article-content :not(.alert-box).question,.main .content-container .article-content :not(.alert-box).spoiler,.main .content-container .article-content :not(.alert-box).warning,.main .content-container .message-content :not(.alert-box).error,.main .content-container .message-content :not(.alert-box).information,.main .content-container .message-content :not(.alert-box).question,.main .content-container .message-content :not(.alert-box).spoiler,.main .content-container .message-content :not(.alert-box).warning{margin:25px 0;padding:7px 15px 7px 45px}.main .content-container .article-content :not(.alert-box).error.ico-after:after,.main .content-container .article-content :not(.alert-box).information.ico-after:after,.main .content-container .article-content :not(.alert-box).question.ico-after:after,.main .content-container .article-content :not(.alert-box).spoiler.ico-after:after,.main .content-container .article-content :not(.alert-box).warning.ico-after:after,.main .content-container .message-content :not(.alert-box).error.ico-after:after,.main .content-container .message-content :not(.alert-box).information.ico-after:after,.main .content-container .message-content :not(.alert-box).question.ico-after:after,.main .content-container .message-content :not(.alert-box).spoiler.ico-after:after,.main .content-container .message-content :not(.alert-box).warning.ico-after:after{position:absolute;top:50%;left:23px;margin:-11px 0 0 -11px;height:22px;width:22px}.main .content-container .article-content :not(.alert-box).information,.main .content-container .message-content :not(.alert-box).information{background:#daeaee}.main .content-container .article-content :not(.alert-box).information.ico-after:after,.main .content-container .message-content :not(.alert-box).information.ico-after:after{background-position:0 -2586px}.main .content-container .article-content :not(.alert-box).question,.main .content-container .message-content :not(.alert-box).question{background:#e2daee}.main .content-container .article-content :not(.alert-box).question.ico-after:after,.main .content-container .message-content :not(.alert-box).question.ico-after:after{background-position:0 -3266px}.main .content-container .article-content :not(.alert-box).error,.main .content-container .message-content :not(.alert-box).error{background:#eedada}.main .content-container .article-content :not(.alert-box).error.ico-after:after,.main .content-container .message-content :not(.alert-box).error.ico-after:after{background-position:0 -1426px}.main .content-container .article-content :not(.alert-box).warning,.main .content-container .message-content :not(.alert-box).warning{background:#eee7da}.main .content-container .article-content :not(.alert-box).warning.ico-after:after,.main .content-container .message-content :not(.alert-box).warning.ico-after:after{background-position:0 -4386px}.main .content-container .article-content .spoiler,.main .content-container .message-content .spoiler{margin-top:0;padding-left:15px;background:#EEE}.main .content-container .article-content .spoiler-title,.main .content-container .message-content .spoiler-title{display:block;background:#EEE;margin:15px 0;padding:3px 15px 3px 40px;text-decoration:none;border-bottom:1px solid #DDD;color:#555}.content-item .content-meta>a:focus,.content-item .content-meta>a:hover,.content-item.topic-item .member-item:focus,.content-item.topic-item .member-item:hover,.main .content-container .article-content .spoiler-title:hover,.main .content-container .message-content .spoiler-title:hover{text-decoration:underline}.main .content-container .article-content .spoiler-title.ico-after:after,.main .content-container .message-content .spoiler-title.ico-after:after{margin:8px 0 0 10px}.main .content-container .article-content .spoiler-title:nth-last-child(2),.main .content-container .message-content .spoiler-title:nth-last-child(2){margin-bottom:15px}.main .content-container .article-content img,.main .content-container .message-content img{max-width:100%}.main .content-container .article-content figure,.main .content-container .message-content figure{margin:30px 0;text-align:center}.main .content-container .article-content figure>blockquote,.main .content-container .article-content figure>code,.main .content-container .article-content figure>embed,.main .content-container .article-content figure>img,.main .content-container .article-content figure>pre,.main .content-container .article-content figure>table,.main .content-container .article-content figure>video,.main .content-container .message-content figure>blockquote,.main .content-container .message-content figure>code,.main .content-container .message-content figure>embed,.main .content-container .message-content figure>img,.main .content-container .message-content figure>pre,.main .content-container .message-content figure>table,.main .content-container .message-content figure>video{max-width:100%;margin:0 auto;text-align:left}.main .content-container .article-content figure>code,.main .content-container .article-content figure>figcaption,.main .content-container .article-content figure>img,.main .content-container .article-content figure>pre,.main .content-container .article-content figure>video,.main .content-container .message-content figure>code,.main .content-container .message-content figure>figcaption,.main .content-container .message-content figure>img,.main .content-container .message-content figure>pre,.main .content-container .message-content figure>video{display:block}.main .content-container .article-content figure>blockquote~figcaption,.main .content-container .message-content figure>blockquote~figcaption{padding:0 0 1px 2%;font-style:italic;text-align:left;color:#999;border-left:5px solid #CCC}.main .content-container .article-content figure>blockquote~figcaption p,.main .content-container .message-content figure>blockquote~figcaption p{margin:0 0 5px}.main .content-container .article-content figure>blockquote~figcaption p:before,.main .content-container .message-content figure>blockquote~figcaption p:before{content:"— "}.main .content-container .article-content blockquote,.main .content-container .message-content blockquote{margin:0;color:#777;padding:1px 2%;border-left:5px solid #CCC}.main .content-container .article-content blockquote>p:first-child,.main .content-container .message-content blockquote>p:first-child{margin-top:5px}.main .content-container .article-content blockquote>p:last-child,.main .content-container .message-content blockquote>p:last-child{margin-bottom:5px}.main .content-container .article-content blockquote figure,.main .content-container .message-content blockquote figure{margin:15px 0}.main .content-container .article-content blockquote:last-child,.main .content-container .message-content blockquote:last-child{margin-bottom:15px}.main .content-container .article-content code,.main .content-container .article-content kbd,.main .content-container .article-content pre,.main .content-container .article-content samp,.main .content-container .message-content code,.main .content-container .message-content kbd,.main .content-container .message-content pre,.main .content-container .message-content samp{font-family:monospace,serif}.main .content-container .article-content pre,.main .content-container .message-content pre{margin:0}.main .content-container .article-content kbd,.main .content-container .message-content kbd{background-color:#F8F6EA;padding:2px 6px;border-radius:3px;border:1px solid #e0dab6;border-bottom-width:3px;text-shadow:0 1px 0 #FFF;color:#5e551f}.main .content-container .article-content li code,.main .content-container .article-content p code,.main .content-container .message-content li code,.main .content-container .message-content p code{color:#A00;background:#EEE;border:1px solid #CCC;padding:0 5px}.main .content-container .article-content .mathjax-wrapper,.main .content-container .message-content .mathjax-wrapper{max-width:100%;overflow:auto}.main .content-container .article-content .mathjax-wrapper mathjax,.main .content-container .message-content .mathjax-wrapper mathjax{font-size:16px;font-size:1.6rem}.main .content-container .article-content .footnote,.main .content-container .message-content .footnote{opacity:.7}.main .content-container .article-content .footnote ol,.main .content-container .message-content .footnote ol{padding-left:25px}.main .content-container .comments-title{margin:50px 0 20px;color:#084561;border-bottom:1px solid #F8AD32;font-weight:400;font-size:22px;font-size:2.2rem;line-height:30px}.wf-active .main .content-container .article-content ol:not(.summary-part),.wf-active .main .content-container .article-content p,.wf-active .main .content-container .article-content ul:not(.pagination){font-family:Merriweather,"Liberation Serif","Times New Roman",Times,Georgia,FreeSerif,serif}.wf-active .main .content-container .article-content figcaption p{font-family:"Source Sans Pro","Segoe UI","Trebuchet MS",Helvetica,"Helvetica Neue",Arial,sans-serif;font-size:16px;font-size:1.6rem}.wf-active .main .content-container .article-content code,.wf-active .main .content-container .article-content kbd,.wf-active .main .content-container .article-content pre,.wf-active .main .content-container .article-content samp,.wf-active .main .content-container .message-content code,.wf-active .main .content-container .message-content kbd,.wf-active .main .content-container .message-content pre,.wf-active .main .content-container .message-content samp{font-family:"Source Code Pro",monospace,serif}.js .spoiler{display:none}@media only screen and (min-width:1140px){.full-content-wrapper .tutorial-list article{width:29.3%}.main .content-container .topic-message .message .message-metadata .date .short-date{display:none}.main .content-container .topic-message .message .message-metadata .date .long-date{display:inline}}@media only screen and (min-width:960px){.content-wrapper,.full-content-wrapper{margin:0 0 0 4%}.content-wrapper.without-margin,.full-content-wrapper.without-margin{margin:0}.content-wrapper .content-wrapper,.full-content-wrapper .content-wrapper{max-width:none;margin:0}}@media only screen and (max-width:959px){.main .content-container .content-wrapper .authors,.main .content-container .content-wrapper blockquote,.main .content-container .content-wrapper figure,.main .content-container .content-wrapper h4,.main .content-container .content-wrapper h5,.main .content-container .content-wrapper h6,.main .content-container .content-wrapper p,.main .content-container .full-content-wrapper .authors,.main .content-container .full-content-wrapper blockquote,.main .content-container .full-content-wrapper figure,.main .content-container .full-content-wrapper h4,.main .content-container .full-content-wrapper h5,.main .content-container .full-content-wrapper h6,.main .content-container .full-content-wrapper p,.main .content-container .pubdate,.main .content-container .taglist{margin-left:10px;margin-right:10px}.main .content-container .article-content ol,.main .content-container .article-content p,.main .content-container .article-content ul:not(.pagination){font-size:15px;font-size:1.5rem;font-size:1.8ex}.main .content-container .content-wrapper .subtitle,.main .content-container .content-wrapper h1:not(.ico-after),.main .content-container .content-wrapper h2:not(.ico-after),.main .content-container .content-wrapper h3,.main .content-container .full-content-wrapper .subtitle,.main .content-container .full-content-wrapper h1:not(.ico-after),.main .content-container .full-content-wrapper h2:not(.ico-after),.main .content-container .full-content-wrapper h3{padding-left:10px;padding-right:10px}.main .content-container .content-wrapper .illu img,.main .content-container .full-content-wrapper .illu img{display:none}.main .content-container .content-wrapper figure blockquote,.main .content-container .content-wrapper figure p,.main .content-container .full-content-wrapper figure blockquote,.main .content-container .full-content-wrapper figure p{margin-left:0;margin-right:0}.main .content-container .content-wrapper .license,.main .content-container .full-content-wrapper .license{position:absolute;margin-top:0;top:62px;right:15px}}@media only screen and (max-width:759px){.main .content-container .article-content .btn{float:none;text-align:center}}.footer-container footer{color:#424242;padding:20px 0}.page-footer{background:#084561;height:40px;line-height:40px;border-top:3px solid #F8AD32;font-size:14px;font-size:1.4rem}.page-footer .wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.page-footer .copyright{color:#EEE;margin:0}.page-footer ul{list-style:none;margin:0;padding:0}.page-footer ul.links li{display:inline-block;margin-left:25px}.page-footer ul.links li a{text-decoration:none;color:#EEE;border-bottom:1px solid transparent}.page-footer ul.links li a:focus,.page-footer ul.links li a:hover{border-bottom-color:#F8AD32}.page-footer ul.social{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-align:center}.page-footer ul.social li{margin:-2px 10px;display:inline-block}.page-footer ul.social li a{display:block;height:16px;width:16px}.page-footer ul.social li a:after{opacity:.6}.page-footer ul.social li a:hover{border-bottom-color:transparent}.page-footer ul.social li a:hover:after{opacity:1}.page-footer .version,.page-footer .version a{color:rgba(255,255,255,.5)}.alert-box,.page-footer .version a:focus,.page-footer .version a:hover{color:#FFF}@media only screen and (max-width:959px){.page-footer{text-align:center;height:auto}.page-footer .wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.page-footer .wrapper .social{-ms-flex:none}.page-footer .copyright,.page-footer .social{border-bottom:2px solid #0a5274}.page-footer ul li{margin:0 5px}}.alert-box{position:relative;padding:8px 30px 8px 15px;margin:0 0 15px 2%;text-shadow:rgba(0,0,0,.2) 0 0 2px;background:#777}.alert-box.alert-box-not-closable{padding-right:15px}.alert-box .alert-box-text{display:block;float:left}.alert-box .close-alert-box{display:block;position:absolute;top:8px;right:15px;height:20px;width:20px;text-indent:-9999px;text-decoration:none;background-color:transparent;line-height:22px;color:#FFF}.alert-box .close-alert-box.ico-after:after{margin-top:4px}.alert-box .close-alert-box-text{width:auto;text-indent:0;top:8px}.alert-box .alert-box-title{margin:5px 0;padding:0;font-size:18px;font-weight:400}.alert-box.info,.alert-box.success{background:#48A200}.alert-box.error{background:#C0392B}.alert-box.alert,.alert-box.warning{background:#e67e22}.alert-box.not-member{background:#FDFDFD;color:#333;text-shadow:none;border-bottom:3px solid #D2D5D6}.alert-box.ico-after{padding-left:40px}.alert-box.ico-after:after{margin:12px 0 0 13px}.alert-box h4,.alert-box p{margin-left:0!important;margin-right:0!important}.alert-box p{margin:0}.alert-box a{color:#EEE}.alert-box .alert-box-btn{display:inline-block;background:#084561;text-decoration:none;padding:8px 15px;margin:5px 0;color:#FFF!important}.alert-box .alert-box-btn:focus,.alert-box .alert-box-btn:hover{background:#0b5c82}.alert-box .alert-box-btn.alert-box-btn-right{position:absolute;top:0;right:0;margin:0}.alert-box.empty{display:none}.content-wrapper .alert-box{margin:0 0 20px}.content-wrapper .alert-box+.not-member{margin-top:-20px}@media only screen and (min-width:760px){.alert-box .alert-box-text{display:inline}.topic-message .alert-box{padding:8px 75px 8px 15px}}@media only screen and (max-width:759px){.alert-box .alert-box-btn,.alert-box .alert-box-btn.alert-box-btn-right{position:relative;float:none;display:block;margin:5px 0 0;text-align:center}}.authors{color:#9c9c9c;padding-bottom:10px;border-bottom:1px solid #e0e4e5;margin-bottom:20px!important}.authors ul,.authors ul li{display:inline-block;margin:0}.authors .authors-label{display:inline-block}.authors ul{list-style:none;padding:0}.authors ul li .avatar{height:28px;width:28px;border:1px solid #cdd0d1;margin-right:3px;margin-top:-4px}.authors ul li a{display:block;text-decoration:none;color:#1088bf;height:36px;line-height:36px;padding:0 8px;transition:all .15s ease}.authors ul li a.ico-after{padding-left:30px}.authors ul li a.ico-after:after{margin:10px 0 0 8px}.authors ul li a:focus,.authors ul li a:hover{background:#DDD;color:#084561}.authors ul li .info{padding-left:5px;color:#777}.autocomplete-wrapper{position:relative}.autocomplete-wrapper .autocomplete-dropdown{position:absolute;z-index:60}.autocomplete-wrapper .autocomplete-dropdown ul{padding:0;margin:0;background-color:#FFF;border-right:solid 1px #CCC;border-left:solid 1px #CCC;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.autocomplete-wrapper .autocomplete-dropdown ul li{padding:4px 10px;border-bottom:solid 1px #CCC;list-style:none}.autocomplete-wrapper .autocomplete-dropdown ul li.active,.autocomplete-wrapper .autocomplete-dropdown ul li:hover{background-color:#0c6790;color:#fff}.modal .autocomplete-dropdown{margin-top:-10px;margin-left:15px}.breadcrumb{display:none}@media only screen and (min-width:960px){.breadcrumb{position:relative;display:block;float:left;width:calc(100% - 230px);height:30px}.breadcrumb:after{content:" ";display:block;position:absolute;top:0;right:0;width:50px;height:100%;background-image:-webkit-linear-gradient(left,rgba(231,235,236,0),rgba(231,235,236,.75));background-image:linear-gradient(left,rgba(231,235,236,0),rgba(231,235,236,.75))}.breadcrumb ol{margin:0;padding:0;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb ol li{position:relative;display:inline-block;padding-right:30px;line-height:30px}.breadcrumb ol li a{text-decoration:none;color:#084561}.breadcrumb ol li a:focus,.breadcrumb ol li a:hover{text-decoration:underline;outline:0}.breadcrumb ol li:not(:last-child):after{display:block;position:absolute;top:0;right:7px;content:" ";height:30px;width:15px;background-image:url(../images/sprite.png);background-repeat:no-repeat;background-position:0 -3306px;opacity:.2}}.content-item{background:#FFF;min-height:60px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border:1px solid #DEDEDE;border-bottom-width:2px;margin:0 10px 15px;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 400px;-ms-flex:1 1 400px;flex:1 1 400px;width:100%}.content-item.expand-description .content-description{height:36px;white-space:normal;font-size:14px;font-size:1.4rem;line-height:18px}.content-item .content-description,.content-item .content-meta:not(.inline)>*,.content-item .content-title,.content-item.expand-description .content-meta,.content-item.topic-item .content-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-item.expand-description .content-meta{line-height:16px}.content-item.expand-description .content-meta:not(.inline)>*{display:inline}.content-item a{text-decoration:none}.content-item>a:not(.btn){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.content-item .content-illu{-webkit-box-flex:0;-webkit-flex:0 0 96px;-ms-flex:0 0 96px;flex:0 0 96px;height:96px;background-color:#DEDEDE}.content-item .content-illu img{width:100%;height:100%;background-color:#FFF}.content-item .content-info{padding:10px 14px;height:76px;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;min-width:100px}.content-item .content-reactions{position:absolute;z-index:0;bottom:6px;left:-14px;height:32px;width:32px;padding-left:1px;background-image:url(../images/sprite.png);background-position:0 -74px;color:#F8AD32;text-align:center;line-height:32px;font-weight:700;font-size:14px;font-size:1.4rem}.content-item .content-reactions span{position:relative;z-index:2}.content-item .content-reactions::before{content:"";display:block;position:absolute;top:0;bottom:0;right:0;left:0;z-index:1;background-image:url(../images/sprite.png);background-position:0 -42px;opacity:0;-webkit-transition:opacity .15s;transition:opacity .15s}.content-item .content-reactions:focus,.content-item .content-reactions:hover{color:#fff}.content-item .content-reactions:focus::before,.content-item .content-reactions:hover::before{opacity:1}.content-item.has-reactions .content-meta{padding-left:14px}.content-item .content-title{margin:0;font-size:17px;font-size:1.7rem;font-weight:400;line-height:20px;color:#424242}.content-item a:focus,.content-item a:hover{outline:0}.content-item a:focus .content-title,.content-item a:hover .content-title{text-decoration:underline;outline:0}.content-item p{margin:0}.content-item .content-description{margin:0 0 2px;font-size:15px;font-size:1.5rem;line-height:26px;color:#999}.content-item .content-description .short{display:none}.content-item .content-meta{color:#F8AD32;font-size:13px;font-size:1.3rem;line-height:15px}.content-item .content-meta:not(.inline)>*{display:block}.content-item .content-meta .short{display:none}.content-item .content-meta>a{color:#ef9708}.content-item .content-tags{margin:0;padding:10px 0 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.content-item .content-tags li{padding:0;-webkit-box-flex:0;-webkit-flex:0 0 22px;-ms-flex:0 0 22px;flex:0 0 22px;background-color:#EEE;margin-bottom:5px;color:#777;display:block;text-align:right;-webkit-transition:color .15s,background-color .15s;transition:color .15s,background-color .15s}.content-item .content-tags li a{color:inherit;padding:0 12px;line-height:22px;height:22px;display:block}.content-item .content-tags li a:focus,.content-item .content-tags li a:hover{color:#EEE;background-color:#777}.content-item.write-tutorial{background-color:#084561;border-color:#084561;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#fff;height:96px}.content-item.write-tutorial .write-tutorial-text{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-align:center;margin:10px 14px}.content-item.write-tutorial .write-tutorial-text p{margin:0;font-size:16px}.content-item.write-tutorial .write-tutorial-text p.lead{font-size:18px;font-weight:700}.content-item.write-tutorial .btn-write-tutorial{background-color:#1c5b78;margin-right:28px;-webkit-transition:color .15s,background-color .15s;transition:color .15s,background-color .15s}.content-item.write-tutorial .btn-write-tutorial:focus,.content-item.write-tutorial .btn-write-tutorial:hover{background-color:#FFF;color:#1c5b78}.content-item.topic-item .content-info{padding:14px 20px;height:68px}.content-item.topic-item .content-title{font-size:19px;font-size:1.9rem;line-height:24px;color:#084561}.content-item.topic-item .content-description{color:#505050;font-size:16px;font-size:1.6rem}.content-item.topic-item .content-meta{font-size:14px;font-size:1.4rem;line-height:16px}.content-item-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;min-width:100%;margin:0 -10px}.content-item-list .fill{-webkit-box-flex:1;-webkit-flex:1 1 400px;-ms-flex:1 1 400px;flex:1 1 400px;margin:0 10px}@media only screen and (min-width:960px){.content-item.mini .content-description,.content-item.mini .content-meta:not(.inline) .content-pubdate{display:none}.content-item.mini{-webkit-flex-basis:200px;-ms-flex-preferred-size:200px;flex-basis:200px}.content-item.mini .content-title{white-space:normal;font-size:14px;line-height:15px;height:45px}.content-item.mini .content-meta{padding-top:1px}.content-item.mini .content-meta:not(.inline)>*{display:block}}@media only screen and (max-width:959px){.full-content-wrapper .content-item .content-info h3{padding:0!important}.full-content-wrapper .content-item .content-info p:not(.content-meta){margin:0!important}}@media only screen and (max-width:759px){.content-item .content-tags,.content-item.write-tutorial{display:none}.content-item .content-description .short,.content-item .content-meta .short{display:inline}.content-item .content-description .long,.content-item .content-meta .long{display:none}}.zform-toolbar{margin:0;padding:2px;list-style-position:initial;list-style-type:none;border-bottom:none}.zform-toolbar a,.zform-toolbar button{display:block;float:left;cursor:pointer;border-bottom:1px solid transparent;text-decoration:none;color:#999;height:27px;line-height:30px;padding:0 10px;margin-left:1px;text-indent:-9999px;width:0}.zform-toolbar a .zform-popup,.zform-toolbar button .zform-popup{text-indent:0;line-height:20px}.zform-toolbar a.ico-after,.zform-toolbar button.ico-after{padding-left:30px}.zform-toolbar a:after,.zform-toolbar button:after{top:7px;left:12px;display:none}.zform-toolbar button{padding:0 15px;height:30px;border-top:none;border-right:none;border-left:none}.zform-toolbar button[type=submit]{background:#084561;border-bottom-color:#084561;color:#DDD}.zform-toolbar button[type=submit]:focus,.zform-toolbar button[type=submit]:hover{color:#FFF;background:#396A81;border-bottom-color:#396A81}.zform-toolbar a:focus,.zform-toolbar a:hover,.zform-toolbar button:focus,.zform-toolbar button:hover{border-bottom-color:#1088bf;outline:0;background-color:#EEE}.zform-button{background-repeat:no-repeat;background-position:center center}.zform-button-bold{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAwklEQVQoz2P4z4AfMlBLQXlC+fmS/wXvs+tT1ye8j5wfLIBhQnF95v+s/SBWxPyQ/17nMRTk1qf+TwYr8K/3++/4H0NBen38/2igAl8Bt/tu/y3mYyhIqI/8H3zfp971vMt/s/1YfBFRH/zfCyxhMt/iv9p5eQE0Bf71vv8dwQq0BdT+6/4XL0BT4FYPtBlqtMx/zf8C9WgKbOsd/uuDPSddoPKf/z2XAooCmwST9br71fbL90v2C+/n7edUoHpc4IYASlr8ehOQ9V8AAAAASUVORK5CYII=)}.zform-button-italic{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAcUlEQVQoz2P4z4AfMlBbQXZD6oeE/5Efgg/gNCHuQeT/wAScJsQYhP/3/4DHipAJQf/dFuBR4PPA879tAE4FXgau/20+4PGF4wSX/0YL8CiweGDxXysApwIzB9P/Gv9xBpRJg+4BtQPyByQ30DguMCEAC2D/O2OrpxIAAAAASUVORK5CYII=)}.zform-button-strike{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAn0lEQVQoz2P4z4AfMlBTQYlgwczstNTyhJmRu7EqyHuXVQ6iI8oD/2NRkJuW9j+5A8L2wGZCukvC/+j/ITN9jf8z2LtgtSJyd+j/wP8e/23PmKEqKC8t/w+D8f9t/ksguRvJBH9BCG2Upn3X6L/cGQwr3NLsy2Fsmf9idzEU2KaZ/9eHmiLyjr8cQ4FJmu47tTPy5ZJpwuW8HTSKC+wQAFs6/D/QOXeIAAAAAElFTkSuQmCC)}.zform-button-abbr{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACTUlEQVR42pWR4UtTYRTGB/0FgyBckZREI8SyElEEEyW0RJoxbaK2raYmaVMnt6ZYzpbTudqW091arqZoKYEVjWgFFRhCg77Ymt7J3d6522rh9yJ6eufHcOXOt3Nenuf8nveIRH9V10wY7dMEre4wNM7gN1G61TYtPB6aJ7g8F0cDG21J20DDrkDp5D3NngTkjlhhWmK1i6DB+vldLZvYXjsaQ5WZ6LYsVk7ER1rGA5AbPw7LeheLFaME5YPhyS2JG1zxgyp7ENX9/pJkr32jedD4cAilA6uL/xXXOWNjcjuBzPgJJy3CDu3b827rBxPM7wcgu9OPalfFtnKbIlZqJ8wxK/EVWYiv0ExmCwYjTZsatr48azEtXIM3NI/eF904brv588TYGlSTcRSZCeonBFx69BU17BoOGfjNTepmZMN6bwesC17I7wrQTMVRMERMybe867xJ5RZwxhnDgZ5VJmW0ClvJj86nr9B4P458w+vfeUZenJzn9PGsilJU2SPYx3BNqcSxYmMB8vW5OKy/ipwrjl8U15fdx+OUPYobzxKQMiFkdnLilAT5gxExxfXVUNTTjg1c/36Gmz13T0AbjbRbu+z/53VyDbxfwQqQj69B2sNtZN2j45jKkQgqzBHsvBhMnZ/ilpVZCEzPvyNbH0KWjhNT3L1062rHlICjdCZpDpalNKC4TZW3Ihh4kkCVLYqsrhVIdSsoN4Wh9XxB/e0ojnRzkKgDm5vQ3xVTXDZTu4xd7ctJXL/kQpChWxmJJrBOhesZ6iU2Q7kk/gOYnkYcn8opfQAAAABJRU5ErkJggg==)}.zform-button-key{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABe0lEQVR42pWSQW5TQQyGv/GMX1KVsmJLeggEO+ACCHEJWOQKBSo19ADZpoIFN0CIY9BK0G1DuyebIlGSzNgsXt5LiKia/tJItmR/M7894dPnLy/NbGTmgHOzAkECEsKrF8+fHaWc8+jRwwfc3dnB3W5uD8Llr0uOT76NgKNkZpydjXn65DGb6uvxCXe2twFIZsbWVgeAfr9Pp9NBRDAzZrMZe6/fkHMGwN3Z7d2nqpTfV39qQClGShUABwcDut0u+/tvGQzeMZ1OyTkjqgDUc4KUFLOrBlDQpsCtPmZtLFHap4s3gISbNRYK1QIQYyTGiLu38ap8AahUKVZWLcR/AOvxOkA1Lu2sWogxIiLM53NE5FpAPQNbbkE11UmMYMZwOMRKqfP/AVSx1oIZKWk7nKYwiBCv+QeaEt5YsDULm0hVKcWWMyCEek0imwEqXdpxd0QC309PgbBBu9Pr9ZhMJjXgx3h8+P7Dxz1uqYvz80MWV94Ddrm9LoCffwHdG70wvg5ZlgAAAABJRU5ErkJggg==)}.zform-button-sup{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABLElEQVR42mNgGDkgZMoDhdJVzy+0bH75wbfrbgPJBiTPe7wBqFHBq+1WQ8P65//JdknirIcXUuY9eoAhUV5efqC4uPhAbm7ugbS0tAPx8fEK4eHhB/z8/A64uroeAKmxr7jWEDbp3gXznEsGGAYANQcANX9ISUn5D9Q8ASQG1NwA1LzAxsZGwbroSoBT9bUFJhkXBAyTLzjoxZ9VwDAEaLMDUPP/yMjI/0DNBTCbQcC79eaB9LkP/yfPevA/bOLdDzj9CHT2hMDAwP9ubm7/gTYLkBxIQJsFQJpdXFz+GxkZTSDZAJCzgTYXWFtb/zcwMPivoKDgQLTN0AArAPE1NTUnAF3wX0JC4oOgoKABsTYfADkbqNkAaPMBoOYDQM0HuLi4DrCwsBgMzjwCAMHEeHCN9BV5AAAAAElFTkSuQmCC)}.zform-button-sub{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABLElEQVR42mNgGD6gvLz8QHFx8YHc3NwDaWlpB+Lj4xXCw8MP+Pn5HXB1dT1A0ACg5gCg5g8pKSn/gZongMSAmhuAmhfY2NgoEOUKoM0OQM3/IyMj/wM1FxBlMzoAOntCYGDgfzc3t/9AmwVINgBoswBIs4uLy38jI6MJJBsAcjbQ5gJra+v/BgYG/xUUFBxA4iFTHiiUrnp+oWXzyw++XXcbsNoMDbACEF9TU3MC0AX/JSQkPggKChokz3u8AahRwavtVkPD+uf/cdl8AORsoGYDoM0HgJoPADUf4OLiOsDCwmIAUpc46+GFlHmPHpCVVuwrrjWETbp3wTznkgHJmq2LrgQ4VV9bYJJxQcAw+YKDXvxZBZIM8G69eSB97sP/ybMe/A+bePfD4MlDAC7MeHCrEeunAAAAAElFTkSuQmCC)}.zform-button-center{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAfElEQVR42mP8z4AfMDFQqoAFRJT//8fwBwx/g+EvMP7FsJeRgYHxPzEmMDDkZP+eAtMNhTnHpoJkiDMh9T+yzQh4iwQ3BGf/moKsF2hWziMS3OD9H9Xu31D4mRg3MPwHQ9Ns/f+a/1X+y/2X/C/yn/8/93/2bIgMI8WxCQClCFYAGIFCIgAAAABJRU5ErkJggg==)}.zform-button-right{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAY0lEQVR42mP8z4AfMDFQqoAFRJT//8fwBwx/g+EvMP7FsJeRgYHxPzEmQEDS/99QnTB4hmgTUv8j24yAt0h0g/t/hF6Iec+JNsH7P6rdv6HwM4lu0Pr/G64bEq5/iDGBYGQBABNITB8iVnJIAAAAAElFTkSuQmCC)}.zform-button-ul{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA1UlEQVR42mNgGBQgZ/7jgqm7Xj8A0aTqZQERmtIcBQqibPJAJsiACeXl5dlAesrfv38Z/vz5w/D792+GX79+gemfP3+C2WvXrmWkigsGCUiZ+aigc9PLByE9d8kLRCUx1gIZIRb5N5Ic4ECMi4vLBgbUFFCAIeMfP37A2bdu3UIEYkDHrYKSxY8fuFZeG6qBaJt/qSB+2r0H1nmXyAxEdZ4CAwVucEo8CgxEIyOjbGBATYGlOhCNnBpBqROYShnhBty58WUCSDOUZjh37txUIDWVLt4HAP/ViGJIIAyXAAAAAElFTkSuQmCC)}.zform-button-ol{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA70lEQVR42mNgoAbImf9YZdHhd//JNgCkmSIDYIbA2OXl5dlA/L+kpOR/QUHB/+zs7P+pqan/ExIS/kdGRv4PDg7+j9UFiw5S6Aqywdz9b//P2vP6f8TEeypkGxLae0+ld8tL8rwQ1HVHpXPTc7jmuLi47IiIiP+BgYH/vby8/js7O/+3sbH5b2Ji8l9XV/e/mpoaqkVt65//b1zz9H/NqqcDFIjlyx7/L136+H/x4sfkuwCk2TrvEvmxANIMc4GRkVG2trb2fxUVlf9ycnL/xcXF/wsJCf3n4eH5z87O/p+Zmfk/hu0gbFd0pYPu4QcAKY588QFUIAIAAAAASUVORK5CYII=)}.zform-button-quote{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABH0lEQVR42mNgGDQgon2HEBAvBeKfQPwfD94FxCrYDNi48uCt/7///P2PD2w5eR9kyG0gZkPWzAPEf/7++/f/w7d//19++vf/2cd//5+8//f/4bt//++9+ff/9qu//++8ghheveA4yBAzZAPkcqYeAEu+AGp89uHf/8dAzQ/e/vt/F6r5+ou//68+gxjQueosyABvrAY8BWp+9A6q+fW//7deQjRfAWq++AS3AXAvgJx/H2jrndd//98Ear72/O//y0DNF56ADPgDNqB20QmQAZZYAxFkCDIAuebC479gg9ECkRNXNP6BRdncHVfhBr3//APMB4pfxhqNONLGnefvvsI0fgfiWlISVu/MbVdAGr8AcSGpqVIJiO8BcQrD8AcAGopyopBVAH0AAAAASUVORK5CYII=)}.zform-button-link{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA6UlEQVQoz2P4z4AfMtBJgR13Vmnru3n/ax7mmOdI1Nyd97/1XVapHTdUgRGbT9fE/y/+3/1/8H/jvepDN3/c/X/k/8T/Pl1GbGAFhn7FH66+i9jm/Sf1/6T/lf9T/3v/idi24mHxB0M/iAldTd8np/tz2X/e+//c/0P/1/63/+zPNTm96btRF1iBbmb6+2klQTsdf7n9DwRCt/+Ov4J2TitJf6+bCVagqel7vff9qrfr/k//X/i/Akiu+7/qbe973+uammAFasz2Bl73U75kf8/+GR4X7pz9Kft7yhev+/YGasz0C0mKFAAASj0PpKVVf4oAAAAASUVORK5CYII=)}.zform-button-image{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB8ElEQVQ4y6WTPWtUQRSGnzP33r33Jgu7kI1hI1GSgGARxFRG/4CFhY1VUlhI+oCNP8LfIKaz0MpCLEz+QUCwCIQVQc0X+dhsNtm5O3PGImbJboIIGaabmeec9533SAiB66wYYPnj2mtVmT8pNLPuilsDNZIYsoQ3L57OLsUAGmThyaOJ0SzLRCT6Z8WOgnddPnzZeA6cAU6spmmayfLqAR32aMk6k2M75EkTF5T9o5xvGxWGwl1iRnj5bBKvIj0JhQNjIoxAYbaYrO2Qln7QtC2cd8RpytREne+NYaqlGqoDHgAoYIxgwy6l5IDD0ybWdyicw4U2aZrStjkjuSEQesb0A0QITrG+S8dZTruWQh1eAekS1BMb4eLPmZ7R4QyQMUqrPUwgwarHOo9IiXarTLk0ThQZCHJZQghnEsrRTX5tbVPJNhkaNqTiON4fYnurTr0yRWzkcg7CRUByg/H8Pj/XVqiWfyPek3RGuTW9QDmr41X7YtHXwfreIl4Vr8odu8vcxG0UaGxu8+n4FXqkqCrweaCDEBDg8exS7yCaOeSkvUe2+ZXaw0Xmo6Qvmec+xgByRV59XsXnVWxt+oo8DpiYJdJEu5V7Yw9A5C8qnO9Lj50riCMJPUAplnfvVxpzhQ8z/zOccQSJ4S2AXHec/wAGb9qTrxXEvwAAAABJRU5ErkJggg==)}.zform-button-attention{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACJklEQVR42qVTTUiUYRB+vh93dX903bKUYMNlMWHJBC1WW8GjZVCnfpa6Fp1i6dilQwcJglgrDEKiQqhDRYWVCEsSFJ0Ksh8zKjJZ3V0WU3G/73tnpoNrFGkZzmHmMDPPPM8wA6zRtJUSuXSHISSvhLnALJ21Xc9ouTp9JQAhSblqd0VdG7viQnz0v2hlh+PBqaH272TPiF0Ylcl72/MTd1qCq2bAxNcqQgm/puswvUF46hNBIT6zqulTj9ubMw9jJGSJNXVB7Gy/sJ2TLze3qc8DW5v/yUCYb/gakzqrOXwcuoXxR1fBTgaBppMGE/f+FSAzGEuUVbdFvZv3YeFrEiKACFCc6IE/0g13bUf8w5WGxLIAmcGYj5lTnvABsMoDXOoWAbMDLo6hqvEgmPjsu0th3x8ATNzvCe1f564Ow8ndBiAoD3iWhMHKXERFTQiVWw5tUkXn1G+HNHl/R0SY39btTpu08BLO9GUwA3pZOeZzs3B7GYYhMCo7Yfj3YrS31SZLRVtO58f1xaPhAV/DcVN4DjT7HBAGIPg08h7TbyYBCCAMVRiGps+jJpZ0Kcs5DwDat7ut3UZV04MNHSmo2SdwstcXJbFARAME0A2BJjZECLqxHuX1PXjdl8DM2Mgek4n6ApHDAADT1w7T11YSpy3JLzn5uQ9oLtTtPIbCaPqcKcTp7NMTR4QYTIxfIzkEshwoywFZDshSIFuBHAIrAit6sdZvxg9QwSUHEnNo0gAAAABJRU5ErkJggg==)}.zform-button-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACU0lEQVR42q2T7U9SYRjG/VvgQys313pbc81WW80EBT1EICDiIdMjNlojTcdhptlWzoY0PzS11F618kumMWPlS7bUXpmWx0ohTsGK0HNAIN0V0oK51E9e2/Xt+f2ePffuJyVls+MqLxfOUWXmT1QJM6MnuWm9jvtIaphJUmV2FimEG8JuQznxhaLYn7ZGhIcciLwfR2RsGPzDLriMxXhbQLCvNFJiXXi2lOIX7ndheeYDovYHiHZaEW29hN93W7A0aoe32ohxlZh/qchcLZkzGAQx2MPd7sQy40T06gUErBbMN1YhfMWCSBONcMMZhB/dgfskidFjhzwj8gOChCAG075aM5acE/EbF200/BdNCNUZVpU7SyLccwNvJBkYlGXQCcFn6gQT7LmJaHcrAg0V+KGVrdmFChJ8Yw28lko8JdKZhIAp1Ycij3sQtVkQOG/EevEqs+GnCjDf2gyHZE8oIZgmtaHF7naE640InSvZUOArVmO+pRkD0h1JwVSRmvE31GDRSoM7rYkfXLMqCQK11XBVm2AXpSWf4CxU0IxchFB3BwJ6OfzFef/BrEIMNj8Pwc5rGJbuQn/WtuQQ32llgtc6wuMu0yF4rz0+MJ9a+hdU5oCVx2C5FHxHGyYLZSuwp1e0VbBqFybys4kx5RF+9rgawVvt+FVPw0uq8E2jhL/ODP56G6Y0uejLSuVj8Nrb+EJxmHh+9CA7nrcP36tM8Dddjvdr5Sk8y965ArPrwv8yJNsvHJSmmx3EXuZJ7m5uQLSd689JY/rEqebezC3CTf+9fwCiP9Om7nIiOAAAAABJRU5ErkJggg==)}.zform-button-question{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACZUlEQVR42r2SXUiTURjH34K6CbryIgi62FXQVezOZLM2isLSQbFljVpOvOgmRelmQUblkD7VssFGgRSrtQyKUvrYLEdI5XQfVtIWS833Zeac22xra/+e854FE7vppgN/zsPz/P7Ped7zHkEoW6mLxnXpzvqelNWwlOrQI3W+JBZTTq4RI/xtLVrrry12HkbO04vizBBQ/Az8Kolilst5roMxjF1mTpzVOzN3LEDaD/wYA+YfA5IDiN/kEh08tzQmM4xlHtk8d0Z/LmlvBvJBggaBqW7gy2WIV00IG9QIH1Qjbm8CvvUAX7s4QyzzMK8gWnRZfB8Gki+AGRsw60DG14HQ/iqaxoms/xJGddvI2EdN7MC0jbPkEU/psoJ0Wk/fGQDm3DQqQdJtKjoJctHI/ciHehE1aYAFF68xhrHkEU/WQpi1HKBLogaJR1S4z4vzD1AUXYi01NEklUD2CTV4SI3dnEnQfSCA6da9EGLNNTks+GjcNwQRmCAlB+j05wS95mJx8imvMUZmfYi11OQET4PWLnYdJ/ADkBsBUl66aS8y/lsI1ikRrFVSnpqkPXIeP0dklnk8Zq2d/YiNbxu1g5KtlUD6Tflx2t8DBRLGuQqjJKphgvYgJFsbmId5/zwFxctDqr5I+zGCYiR6PIiWYq5CfBiJgW5ET+zDqyM77jHPssdkVW2pllwXCE4j+c6NgL4Sn0zbMdmgwaRZg4+N2qzXWH13c8X6KsI3rXjKE22GG8ViBFL/FYSMauxWbNhJaWWZtpaMq1eYw0171obNuxA6qsGQQfWsZFgj/MNaVXaSQvif6zcxVDmUf47DnQAAAABJRU5ErkJggg==)}.zform-button-infoblocks,.zform-button-information{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACl0lEQVR42q2T7U9SURzH/VvgT+je3rQ2fdFcmw2StBeZNUwTtZWuwmywSjERnwAFbAiGmg+UT1CSIiRwJSPkITT15sAM2trqDWQty29H2jA35yvP9nl3v5/f+Z57TlbWUa983Qr3jCYiyVOF2VMt/mSOwpfMViyw2Qqv5ORDhntomKddFpxWhhIVvUH0OmMYZTbTGO1RCLWvQUtmE7TULjgwTKYKclsDqZbJVdj8CfRMxyAzv8eD4WUoLaswuzbQOBoBXTmRoq9P7JfkqcOc3LbF+G7Y8iYBCQndGQhhyPMRQ+4N3DYFIe4PwTS7DtnTIOgyc5wuHeZkBLnKRWm53g+r7zPqBiIQkwo3DQF8/7mdptrgQ3WPD+LHfgy8iuJC80tQRf3SjCCnzcca7TGoLSxu9QZQY/CjWu9Dn3MdJkJlN/MPnYfUCkE7vQK60MBmBCdkzNb4wifU9QXJpLeoeuQlHzPYXTsEkcaN8s45ggvXdG6YmSgoQddWRkBLnVtj3s10191JFVoPCXkQiX1D6sc2yjqcKG134ApBpHJgZJ4I+Kr/BXZWb2chf7aEKp0Xoi43rqrn8C76lQh+oUQxgxLSW9hsQ20PA7UtDPpsx14FutYmLVY6MeSKoUrDQKR0webbwO8/O+kKwQ9fUCyzEizofh5B4d1RImjfO0T6xhiHFpnj90cCMNnXUKZ0QNgyjUvyKRQ3WHCxfgJF9eNoHfGT3ztPti+P03w5Z99doISDgmMFxpRk0AfjzArEejfZ8gtcbrSiRuOA1hKCuI8BzWtIkfDBt5EqNAqogu7E+XuTUE8t4YmbJayhwxpGfp0ZFK8xQfObBIe+B/qclksJOiVUvoql+M1JiteUJBNZguQ4v4F75K/3L7zz0NlKPuwgAAAAAElFTkSuQmCC)}.zform-button-secret{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfUlEQVR42m1Sz2sTQRh9u9nml02M2hoapaZNtaIg4q0eBMEeRPGg3jyJhyK00EvpsZBr/wqhAfHQs3fBglRa0EYTm5YYFEqKSRvTJDs7s77ZbdpYHfiYmW++7817b8bAiZHL5fqVUnNSygnGWQYYvxgrjuMszs7O/u6tN3o3S0tLN9m8nEqlRuLxOEzTBPdot9uoVqvY5iDQ4/n5+fV/ANjcz8O1TCYzZts2KpUKms2mvh2WZSGZTHp1+Xx+k7kbCwsLLb03uwBMvhwaGhoTQqBYLG41Go0010Edel0oFH5qYLIbo5Tpbp/VXTA5EY1GUSqVwKaHMzMz5R515Ww2e69cLufT6bRX+z+AQa2Zt+n19klzdU6z0zVkO/iXB+V3z92V0jh29iKe5kfXVxFwBVzpwHX8EELi1fotz9RkuIYHF1ZxdWrN8Bm4Lp4+uUs0E0Ygwvk+oIhthfUhDRKQTgPZySbzwmvZfP3+WIK+SRc6u29ghQZgGP0s7AMiCaYVcLAHuf8NdusHlHOAyMg0XLvTA0CKUPomG/WNj9R5Colrt1F5u8j+8xi+M4n61w0C1BBLnyFhCVfYvQDCk+GSamL8CszgAN1RkB2JT7sRDMNGIjOCdjPE2gOPVRfA+wcu3dWoWmvt8zpZfOCJA9VW6LRI1SWzwhfUi999uUp5PccM9EajUkLichqB6DkC2Bh9NoVRwYb9HZzOpBDc7/MZUO4JANtDVY72YIMAMSBMI60g8xqgjlatCtFsIDYcp93Kl90LoCWELr5A5FIARjDkP6HJl1CUZrcQazWosEOi0vdLG38EwCfZWp7zvfA+jjgM52jmD/M/lpT+WgNx/AHLKabZiPgg0gAAAABJRU5ErkJggg==)}.zform-button-blockcode,.zform-button-monospace{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABD0lEQVR42mNgGAVYgWHPQ36yNRt0PuD3nPf0WMSq5x9gYnGbX3/wXvz8GEgOr2b9tntCHrOfHiva9vq//9yn92DiIate3ivb/eY/SE679o4QVs16Lfciole//F649dV/v1lP76kX3JBGkpMOWPTsHkguYunz70C5CBTNug132cKXP/9YueMNUMGz36o514zRLdAsv2UMkivd9PJ/4MzHHxWSrrChKFAvvhkROv/p96xVL/579D24Jx93SRpJTtp76qN7ILmgmY++A+UisHpDMeWKkG3DnWOpi5/+d225Cw8Dr0mP7mWseP4fJCcXfVEIb0DKRFzgtyy/ecy78x48FvynPPxgU3vnGEhuNJFjAgDXGIoQBpiXVgAAAABJRU5ErkJggg==)}.zform-button-title1,.zform-button-titles{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAApklEQVQoz73QsQ2EMAwFUEsUNDRUVJeKLh1VdE2qSIiGAikZxBNkAja4Cf4iLOI1uCjkdKkokSvrP9lO6KT7okeAjx4eWzhpCQ4WJp6k53GvJnjZcLUplhS/RyipwCZrAQZTDhQPNVhlORxbNjwdOgcD9zVYxJUJGmMOeu5q4MQW8NvdcVsDK6YAhWt3y80f2JhOg07PVGFAjy62ofkQaKfXU199X1/TU/Qkt2QxeAAAAABJRU5ErkJggg==)}.zform-button-title2{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAwklEQVQoz73QsQ2DMBAF0JMoaBARiiIqXER07lxZNK4sIRoKJHuCTMAETJANmOBvkAnYIBPcGsQCh5ISXfmfvs9HK50PXQLc5OAw+JU6b2GgJyXlXEO0R4PjAbs3UKwqudST+Dy4qCIYuI9A48nS1yEomxtnTQQ9d4sdzahHtUjeaYHsm+YRdGxjg0S9geKdIZXHDpZNBGE13uLXSklO/x0M6wgE7lw0oRwJaKF2A2bSUJDhm8KXCG/PWwyarzv1+fwAYArrjnYCa/AAAAAASUVORK5CYII=)}.zform-button-title3{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAxElEQVQoz73QsanDMBSF4cPzAxdx4KkSBKxKnTpXIo0qg3GTwmBPkAk0gSbIBpngbuAJsshZ46Z4wmXK8LcfpzhQfA5fAWtZZZVlU8zbKEliGUJ4enHTsbBykX+fJFIRdl/cbnmAhbcKogxU+F5h72Y/wI3za8wpxzy8AhWut3Jmlw8wc6wLQTwVCtN3e8tmqmBkqsDLhTaYu6Ltf4lcQWKswMkfTT6xvTbhh7gqoEglyiBhU7jNipHu0ZbmiQem7139uTdX8exNUqtqywAAAABJRU5ErkJggg==)}.zform-button-title4{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAt0lEQVQoz73QsQ2DMBAFUEsUNAiJiipXRNfRUSE3rty4oYhkBmGCmyAbZILbgAnYgAluDXIBJ6SiRNdY+k/fPpvVnI+5BESKrDOsph8Ce3b0CZob0q8hSuTdayxbXOIE/AceCTjuNoAvmOsDPKSfw+hHN3ZzqwCfYGuuDtBLSA0t3wUtLBovxZJTAkF8Ao0CKGtb2WLKp6xJwItLABlkP+Wcfa/wpE/jVtfEAVjLt/UyMnTdV5/PG1Cu8REDzPeUAAAAAElFTkSuQmCC)}.zform-button-table{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAByElEQVR42q2TzytEURTHv/Pe85sFGVPIRpHflKYRC8rCilCKspKlvZVY8H/IQhQldiyEyUSKUhKxUH7MTH7LNO/+cO6b8d4bWRCn3jvv3nfO53zvufcCfzSPes1tPUxIiVEuRakQAlwATHmuviUYeefh4EzSvNifGa7wGwogpBzr9+cV/qby5MJ5vfIWgGhW8srFLFVmVIXBJG9y0/E09/lvvGUapskzXABpUYeqR35U/S1GUMbhANSiyeZ3wj8CdDcXIO4GsCRA2WBbERaDdxho9dlzS6E79AeccfQ5lqrAJAA1EoZOwbth6LqG5VAYHg3Qkkkre6SOYtIoo6okG3HzyxJUFwzdg16/l4Ij6PEXpShwj8+vn8GYSFUgaWxQubWDCClIeCtAcyAGnRqVVl2cSQXdAKJJJY8Su5q82DiKorPBORbrhxEEKvORl2WF4/TqCTkZhquJIkHTNY+VrOzT0xSdBWD75MEGlnvT7Z1LABhL9IDkdtQVYvM4ivZaR8FyKIK+gNceKwV6cmlOD2gJtWW5uLl/R7kvC5e3r/ZdqClJt5LcJoQUrl2Qwan5s8Y4Fzlqf9XDqS+mdXnYt4fp8SW2iv+wD9RSCSl9jwFVAAAAAElFTkSuQmCC)}.zform-button-math{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAs0lEQVQoz2P4z4AfMhCpoNGh8X/d/+oz5UeLz+T/yPqfchTDhLrz+/6XnSnqye3JmJzcEzsfQ0GlQff/Cf9zHCC8sP1Y3FBQP/9/2v0EATyOTDk/+39kAR4FsQkR74Nm4VQQIxB2P/A2nnAIXe9/xrMHwjb5j6EgOMHvvMdpEMsC6Ez992gKggx83ru/cay3qTfvN7qv918L3ZveCa77HfZb7Tfdb7hfd7/mfrV+UuOCAgUAOHoB5MLjQikAAAAASUVORK5CYII=)}.zform-button-footnote{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABlUlEQVR42qWTx05CURCGeQCfwBIX+gY+i23v3qCIEevCaMB7uY0LF9SoxF5iiSshlmCjG2kixRghajQRrjuJ+T3XFRukOMkkM2dyvjP/nIxKVWSL9uWC6j82v7AE+/IqZucXGmoCSLY55PIy1je3YbHOdVUNEMwSvgoFyJ+f2NrZhVmyrVUF4AQzZFnGbShMIDIczmMIoiVTMYDhRby9vePiyg1fIIjnl1dcu71geRNEi7X8XBhOQCabhc8f+PVA8Abph0eEozEFQLqR/p4LzXBIpdMIEQmKjFA4gmgsRs4ecBdPYNG+At5k2S0JoIwcuRDHfSIJt8eDRDIFhhNhoBjQjECkiAoAJQEGmkU4EsPpmQtGRc5T9neQfRqtRMptRV4CQF5ye/2gWeF7QDu04Tq/xBOBUEY2X9EvzNAMTGYr2js6e0jaxJNvzX3kcORwYlpPdZcFGCgWupHxPRLWKXmvut/q8fiQz+UxOaVHJU0o+pqL8npelLB/cAjd6MRJTfuh1gyu6IbHXCRsqXVJG4m3lir+AKcgCFAzJG3uAAAAAElFTkSuQmCC)}div.zform-popup{top:18px;z-index:100;background:#fff;background-image:-webkit-linear-gradient(center bottom,#EBEBE5 8%,#F9F9F6 75%);background-image:linear-gradient(center bottom,#EBEBE5 8%,#F9F9F6 75%);border:1px solid #CCC;border-radius:3px;padding:2px}.zform-code-col{display:inline-block;vertical-align:top;margin:2px;min-width:100px}.zform-code-col>span{display:block;color:#2677C9;cursor:pointer}#zform-modal-overlay,#zform-modal-wrapper{position:fixed;width:100%;height:100%;display:none;top:0;left:0}.zform-code-col>span[data-zform-selected=true]{color:#00f;font-weight:700}.zform-code-col>span:focus,.zform-code-col>span:hover{color:#C87B02}#zform-modal-overlay{background:#000;opacity:.5;filter:alpha(opacity=50);z-index:99}#zform-modal-wrapper{margin-top:10%;text-align:center;z-index:100}#zform-modal-wrapper>div{position:relative;display:inline-block;text-align:left;background:#f4f6f6;border:1px solid #555;border-radius:2px;box-shadow:0 2px 26px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.1);min-height:220px;min-width:400px}#zform-modal-wrapper>div>header{color:#fff;padding-left:6px;padding-right:6px;white-space:nowrap;border-bottom:3px solid #f8ad32;line-height:53px;height:50px;text-indent:15px;margin-bottom:20px;background:#084561;font-size:1.6rem;font-size:16px;text-shadow:rgba(0,0,0,.75) 0 0 3px}#zform-modal-wrapper section{display:block;margin:8px;min-width:200px;min-height:50px}.search-box,.search-box form{min-height:60px}#zform-modal-wrapper section div input{min-width:260px;margin:7px 15px}#zform-modal-wrapper .btn,#zform-modal-wrapper [type=submit]{position:absolute;width:50%;height:50px;line-height:50px;bottom:0;right:0;margin:0!important;padding:0!important;text-align:center;background:0 0!important;border-top:1px solid #CCC;color:#333;cursor:pointer}#zform-modal-wrapper .btn:focus,#zform-modal-wrapper .btn:hover,#zform-modal-wrapper [type=submit]:focus,#zform-modal-wrapper [type=submit]:hover{background:#DDD!important}#zform-modal-wrapper .btn-submit,#zform-modal-wrapper [type=submit]{color:#084561;font-weight:700}#zform-modal-wrapper .btn-cancel{right:auto;left:0;border-right:1px solid #CCC;color:#555}.zform-modal label{display:inline-block;width:70px;text-align:left}.featured-resource-item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-right:1px;position:relative;overflow:hidden;max-width:228px;min-width:170px;z-index:0;background-color:#084561}.featured-resource-item::before{content:"";display:block;padding-top:100%}.featured-resource-item .featured-resource-illu{position:absolute;z-index:1;top:0;left:0;height:100%;width:auto;-webkit-transition:.15s ease;transition:.15s ease;-webkit-transition-property:-webkit-filter,opacity,-webkit-transform,filter,opacity,-webkit-transform;transition-property:filter,opacity,transform}.featured-resource-item .featured-resource-meta{position:absolute;z-index:3;color:#fff;bottom:0;right:0;left:0;padding:40px 14px 12px;text-shadow:1px 1px 0 rgba(0,0,0,.6);background-image:-webkit-linear-gradient(top,transparent 0,rgba(0,0,0,.2) 30px,rgba(0,0,0,.4));background-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.2) 30px,rgba(0,0,0,.4))}.featured-resource-item .featured-resource-meta h3{font-size:16px;line-height:20px;font-weight:400;margin:0;display:table-cell;vertical-align:middle;height:0;-webkit-transition:height .15s ease;transition:height .15s ease}.featured-resource-item .featured-resource-meta p{font-size:12px;margin:0;line-height:22px}.featured-resource-item a:focus .featured-resource-illu,.featured-resource-item a:hover .featured-resource-illu{opacity:.4;-webkit-filter:blur(5px);filter:blur(5px);-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}.featured-resource-item a:focus .featured-resource-meta h3,.featured-resource-item a:hover .featured-resource-meta h3{height:190px;font-size:20px}.featured-resource-item>a{display:block}.featured-resource-edit-form,.topic-message .message .message-bottom{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;-webkit-box-align:start}.featured-resource-edit-form{display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.featured-resource-edit-form .featured-resource-item{margin-right:20px;-webkit-flex-basis:228px;-ms-flex-preferred-size:228px;flex-basis:228px}.featured-resource-edit-form form{width:auto;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.search-box{width:100%;background:#EEE;box-shadow:rgba(0,0,0,.25) 0 0 3px}.search-box form label{display:block;line-height:40px;font-size:16px;font-size:1.6rem;color:#333;text-align:center;width:100%}.search-box form button,.search-box form input{border:1px solid #F8AD32;background:#FFF;margin:5px 0 12px}.search-box form input{height:34px;padding:0 15px;border-right:none;width:85%;width:calc(100% - 71px)}.search-box form button{height:36px;text-indent:-9999px;border-left:none;width:40px;-webkit-transition:background .15s;transition:background .15s;position:absolute;bottom:0;right:15px}.search-box form button:hover{background:#EEE}.search-box form button:after{top:9px;left:12px;background-position:0 -3506px}@media only screen and (min-width:960px){.search-box form label{line-height:60px;width:300px;float:left}.search-box form button,.search-box form input{margin:12px 0;float:left}.search-box form input{width:calc(100% - 371px)}}.markdown-help{min-height:50px;overflow:hidden}.markdown-help .open-markdown-help{float:none!important;display:inline-block!important;margin-bottom:20px}.markdown-help .open-markdown-help .close-markdown-help-text{display:none}.topic-message .markdown-help{min-height:0}.topic-message .markdown-help .open-markdown-help{position:absolute;bottom:0;left:8px;margin-bottom:0}.markdown-help .markdown-help-more{display:none;background:#EEE;padding:15px;margin-bottom:5px;border-bottom:1px solid #CCC}.markdown-help .markdown-help-more pre{margin:0}.markdown-help .markdown-help-more.show-markdown-help{display:block}.markdown-help .show-markdown-help+.open-markdown-help{margin-top:-5px;padding-top:5px;line-height:35px}.markdown-help .show-markdown-help+.open-markdown-help:after{margin-top:15px!important}.markdown-help .show-markdown-help+.open-markdown-help .close-markdown-help-text{display:inline}.markdown-help .show-markdown-help+.open-markdown-help .open-markdown-help-text,.mobile-menu,.mobile-menu-btn{display:none}@media only screen and (max-width:759px){.featured-resource-edit-form{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:unset;-webkit-align-items:unset;-ms-flex-align:unset;align-items:unset}.markdown-help .open-markdown-help{position:relative;left:0;bottom:0;float:none;margin-left:0!important}.topic-message .markdown-help .markdown-help-more{margin-bottom:0}.topic-message .markdown-help .open-markdown-help{position:relative;width:100%;margin-left:-10px!important;padding-left:40px}.topic-message .markdown-help .open-markdown-help:after{margin-left:15px}.topic-message .markdown-help .show-markdown-help+.open-markdown-help{margin-top:0}}@media only screen and (max-width:959px){.js .page-container{position:absolute;z-index:10;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.js .mobile-menu{display:block;position:absolute;position:fixed;overflow-x:hidden;overflow-y:auto;z-index:1;-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);width:90%;height:100%;padding-bottom:20px;background:#222;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .mobile-menu .mobile-menu-bloc:not(.mobile-show-ico) .ico-after:after,.js .mobile-menu .search button{display:none}.js .mobile-menu .search{height:50px;position:relative;top:0;left:0;width:100%}.js .mobile-menu .search input{color:#EEE;background-color:#333;width:76%;height:30px;padding:10px 5%;font-size:16px;font-size:1.6rem}.js .mobile-menu .search input:focus,.js .mobile-menu .search input:hover{padding-bottom:7px;border-bottom:3px solid #084561;background-color:#333}.js .mobile-menu .search .search-more{background-color:#3F3F3F;width:14%;height:50px;line-height:50px;color:#CCC}.js .mobile-menu .mobile-menu-bloc,.js .mobile-menu .mobile-menu-link{width:90%;line-height:40px;text-indent:0}.js .mobile-menu .mobile-menu-bloc{margin:0 5% 15px}.js .mobile-menu .mobile-menu-bloc:nth-child(2){margin-top:15px}.js .mobile-menu .mobile-menu-bloc li,.js .mobile-menu .mobile-menu-bloc ul{margin:0;padding:0}.js .mobile-menu .mobile-menu-bloc .mobile-menu-link{margin:0;width:100%}.js .mobile-menu .mobile-menu-bloc .mobile-menu-link.disabled{opacity:.5}.js .mobile-menu .mobile-menu-bloc[data-title]:before{display:block;content:attr(data-title);height:30px;font-size:14px;font-size:1.4rem;text-transform:uppercase;padding-bottom:3px;border-bottom:2px solid #3F3F3F;font-weight:700;color:#666}.js .mobile-menu .mobile-menu-bloc.mobile-show-ico .ico-after{padding-left:30px;width:calc(100% - 30px)}.js .mobile-menu .mobile-menu-bloc.mobile-show-ico .ico-after:after{top:12px;left:2px}.js .mobile-menu .mobile-menu-bloc.mobile-show-ico .icon{display:inline-block;width:16px;height:16px;margin:7px;line-height:30px;padding-left:5px}.js .mobile-menu .mobile-menu-bloc.mobile-show-ico .icon:after{top:0;left:0}.js .mobile-menu .mobile-menu-link{display:block;height:40px;line-height:40px;text-decoration:none;color:#CCC;font-size:16px;font-size:1.6rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background:0 0;border:none;text-align:left;padding:0}.js .mobile-menu .mobile-menu-link.mobile-menu-sublink{width:90%;margin:0 0 0 10%}.js .mobile-menu .mobile-menu-link.mobile-menu-bloc[data-title]{height:80px}.js .mobile-menu .mobile-menu-link.mobile-menu-bloc:not([data-title]){margin-bottom:0}.js .mobile-menu .mobile-menu-link:not(:last-child):not(.mobile-menu-bloc){border-bottom:1px solid #2C2C2C}.js .mobile-menu .mobile-menu-link[data-prefix]:before{content:"[" attr(data-prefix) "] "}.js .mobile-menu .mobile-menu-link.unread{font-weight:700;color:#EEE}.js .mobile-menu .mobile-menu-link img,.js .mobile-menu .mobile-menu-link span{vertical-align:middle}.js .mobile-menu .mobile-menu-link img{float:left;margin:5px 5px 5px 0;width:30px;height:30px}.js .mobile-menu .mobile-menu-link .label{padding:0 0 0 50px}.js .mobile-menu .mobile-menu-link img+.label{padding:0 0 0 10px}.js.show-mobile-menu{width:100%}.js.show-mobile-menu body{position:fixed}.js.show-mobile-menu .page-container{height:100%;-webkit-transform:translate3d(90%,0,0);transform:translate3d(90%,0,0);overflow:hidden;box-shadow:0 0 7px rgba(0,0,0,.25)}.js.show-mobile-menu .mobile-menu{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.js.enable-mobile-menu .mobile-menu-hide,.js.enable-mobile-menu .page-container .mobile-menu-bloc,.js.enable-mobile-menu .page-container .mobile-menu-link,.js.enable-mobile-menu .page-container .search{display:none}.js.enable-mobile-menu .page-container .mobile-menu-btn+.header-logo{margin-left:0}.js.enable-mobile-menu .page-container .mobile-menu-btn{display:block;float:left;height:50px;width:50px}.js.enable-mobile-menu .page-container .mobile-menu-btn:after{display:block;content:" ";position:absolute;top:15px;left:13px;height:22px;width:22px;background-image:url(../images/sprite.png);background-repeat:no-repeat;background-position:0 -2746px}html:not(.enable-mobile-menu) .header-container{border-bottom:1px solid #CCC}html:not(.enable-mobile-menu) .page-container .header-logo{margin-left:10px}html:not(.enable-mobile-menu) .page-container .header-logo-link:after{left:55px;right:205px}html:not(.enable-mobile-menu) .logbox .my-account,html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link{position:absolute;top:0;right:0;height:50px;width:50px}html:not(.enable-mobile-menu) .logbox .my-account .avatar,html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link .avatar{height:50px;width:50px}html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(1) .ico-link{right:150px}html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(2) .ico-link{right:100px}html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link:nth-child(3),html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(3) .ico-link{right:50px}html:not(.enable-mobile-menu) .logbox.unlogged{position:absolute;top:0;right:0}}.modal{display:none}#modals .modal{position:fixed;z-index:50;width:auto!important;top:0;right:0;bottom:0;left:0;background:#EEE;min-height:220px}#modals .modal .modal-title{display:block;border-bottom:3px solid #F8AD32;line-height:53px;height:50px;text-indent:15px;margin-bottom:20px;background:#084561;color:#FFF;font-size:16px;font-size:1.6rem;text-shadow:rgba(0,0,0,.75) 0 0 3px}#modals .modal .modal-title.ico-after{text-indent:40px}#modals .modal .modal-title.ico-after:after{margin:18px 0 0 15px}#modals .modal input,#modals .modal p,#modals .modal select,#modals .modal textarea{margin:10px 15px;resize:none}#modals .modal input:not([type=checkbox]):not([type=radio]),#modals .modal p:not([type=checkbox]):not([type=radio]),#modals .modal select:not([type=checkbox]):not([type=radio]),#modals .modal textarea:not([type=checkbox]):not([type=radio]){width:calc(98% - 32px)!important}#modals .modal label{margin:0 15px}#modals .modal textarea{margin-top:0}#modals .modal .btn:not(.modal-inner),#modals .modal [type=submit]:not(.modal-inner){position:absolute;width:50%;height:50px;line-height:50px;bottom:0;right:0;margin:0!important;padding:0!important;text-align:center;background:0 0!important;border-top:1px solid #CCC;color:#333}#modals .modal .btn-submit:not(.modal-inner),#modals .modal [type=submit]:not(.modal-inner){height:51px;color:#084561;font-weight:700}#modals .modal .btn-cancel{right:auto;left:0;border-right:1px solid #CCC;color:#555}#modals .modal .btn.btn-modal-fullwidth{width:100%;border-right:none;font-weight:700}.enable-mobile-menu #modals .modal{top:25px;right:25px;bottom:25px;left:25px;box-shadow:0 0 5px #000}.enable-mobile-menu #modals .modal.modal-big,.enable-mobile-menu #modals .modal.modal-medium,.enable-mobile-menu #modals .modal.modal-small{top:50%;bottom:auto;max-width:400px}.enable-mobile-menu #modals .modal.modal-small{height:220px;margin:-110px auto 0}.enable-mobile-menu #modals .modal.modal-medium{height:250px;margin:-125px auto 0}.enable-mobile-menu #modals .modal.modal-medium textarea{height:80px}.enable-mobile-menu #modals .modal.modal-big{height:320px;margin:-160px auto 0}.enable-mobile-menu #modals-overlay{position:fixed;display:none;z-index:49;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7)}@media only screen and (min-width:960px){.enable-mobile-menu #modals .modal{box-shadow:0 2px 7px rgba(0,0,0,.7)}.enable-mobile-menu #modals .modal .modal-title{line-height:50px}.enable-mobile-menu #modals .modal .btn-submit:not(.disabled):focus,.enable-mobile-menu #modals .modal .btn-submit:not(.disabled):hover,.enable-mobile-menu #modals .modal [type=submit]:not(.disabled):focus,.enable-mobile-menu #modals .modal [type=submit]:not(.disabled):hover{color:#EEE;background:#48a200!important}.enable-mobile-menu #modals .modal .btn-cancel:focus,.enable-mobile-menu #modals .modal .btn-cancel:hover{color:#EEE;background:#c0392b!important}}.pagination{list-style:none;margin:0;padding:0;border-top:1px solid #d2d5d6;border-bottom:1px solid #d2d5d6;background:#FBFBFB;height:40px;margin-bottom:20px!important}.pagination li{float:left}.pagination li.next,.taglist li{float:right}.pagination li a{display:block;text-align:center;text-decoration:none;color:#084561;min-width:45px;height:40px;line-height:40px;transition:all .15s ease}.pagination li a.current{height:38px;color:grey;background:#F7F7F7;margin-top:-1px;border-left:1px solid #d2d5d6;border-bottom:3px solid #d2d5d6;border-right:2px solid #d2d5d6}.pagination li a.ico-after:after{margin-top:12px}.pagination li a[href]:focus,.pagination li a[href]:hover{background:#d2d5d6}.pagination li.next a,.pagination li.prev a{padding:0 15px}.pagination li.prev .ico-after{padding-left:30px}.pagination li.prev .ico-after:after{margin-left:8px}.pagination li.next .ico-after{padding-right:30px}.pagination li.next .ico-after:after{right:8px;left:auto}.pagination.pagination-top li a.current{margin-top:0;border-top:3px solid #d2d5d6;border-bottom:none;height:35px;line-height:35px;padding-bottom:3px}.pagination.pagination-chapter{margin-left:0}.pagination.pagination-chapter li{max-width:45%}.pagination.pagination-chapter a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media only screen and (min-width:960px){.pagination{border:1px solid #d2d5d6}}@media only screen and (max-width:759px){.pagination li.next a,.pagination li.prev a{min-width:0}.pagination li.next a span,.pagination li.prev a span{display:none}}.codehilite .hll{background-color:#ffc}.codehilite{background:#f8f8f8}.codehilite .c{color:#408080;font-style:italic}.codehilite .k{color:green;font-weight:700}.codehilite .o{color:#666}.codehilite .cm{color:#408080;font-style:italic}.codehilite .cp{color:#BC7A00}.codehilite .c1,.codehilite .cs{color:#408080;font-style:italic}.codehilite .gd{color:#A00000}.codehilite .ge{font-style:italic}.codehilite .gr{color:red}.codehilite .gh{color:navy;font-weight:700}.codehilite .gi{color:#00A000}.codehilite .go{color:grey}.codehilite .gp{color:navy;font-weight:700}.codehilite .gs{font-weight:700}.codehilite .gu{color:purple;font-weight:700}.codehilite .gt{color:#0040D0}.codehilite .kc,.codehilite .kd,.codehilite .kn{color:green;font-weight:700}.codehilite .kp{color:green}.codehilite .kr{color:green;font-weight:700}.codehilite .kt{color:#B00040}.codehilite .m{color:#666}.codehilite .s{color:#BA2121}.codehilite .na{color:#7D9029}.codehilite .nb{color:green}.codehilite .nc{color:#00F;font-weight:700}.codehilite .no{color:#800}.codehilite .nd{color:#A2F}.codehilite .ni{color:#999;font-weight:700}.codehilite .ne{color:#D2413A;font-weight:700}.codehilite .nf{color:#00F}.codehilite .nl{color:#A0A000}.codehilite .nn{color:#00F;font-weight:700}.codehilite .nt{color:green;font-weight:700}.codehilite .nv{color:#19177C}.codehilite .ow{color:#A2F;font-weight:700}.codehilite .w{color:#bbb}.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo{color:#666}.codehilite .s2,.codehilite .sb,.codehilite .sc{color:#BA2121}.codehilite .sd{color:#BA2121;font-style:italic}.codehilite .se{color:#B62;font-weight:700}.codehilite .sh{color:#BA2121}.codehilite .si{color:#B68;font-weight:700}.codehilite .sx{color:green}.codehilite .sr{color:#B68}.codehilite .s1{color:#BA2121}.codehilite .ss{color:#19177C}.codehilite .bp{color:green}.codehilite .vc,.codehilite .vg,.codehilite .vi{color:#19177C}.codehilite .il{color:#666}.codehilitetable{width:100%!important;table-layout:fixed;border-color:rgba(0,0,0,.15)}.codehilitetable td{padding:0;vertical-align:top}.codehilitetable .linenos{background-color:#fbfbfc;border-right:1px solid #ececf0;width:46px}.codehilitetable .codehilite pre,.codehilitetable .linenos{padding-top:15px;padding-bottom:15px}.codehilitetable .linenodiv pre{text-align:right;padding-right:7px;color:#bebec5}.codehilitetable .codehilite{width:100%;height:auto;overflow:auto}.codehilitetable .codehilite pre{white-space:pre;overflow:auto}.codehilitetable .code pre{overflow:auto;word-wrap:normal;padding-left:7px;padding-right:7px}.taglist{list-style:none;padding:0;margin:-14px 0 15px;height:30px;line-height:30px}.taglist li a{display:block;text-decoration:none;padding:0 10px;background:#396a81;color:#FFF;margin-left:1px;transition:all .15s ease}.taglist li a:focus,.taglist li a:hover{background:#FFF;color:#396a81;border-bottom:1px solid #396a81}.topic-list{margin-top:50px!important;margin-bottom:50px!important}.topic-list h2{margin-bottom:0!important}.topic-list h2+.topic{border-top:none}.topic-list .topic{position:relative;min-height:81px;line-height:25px;border-top:1px solid #FFF;border-bottom:1px solid #CCC;overflow:hidden;border-left:1px solid transparent;clear:both}.topic-list .topic:first-child{border-top:1px solid #CCC}.topic-list .topic:before{content:" ";display:block;position:absolute;background:0 0;height:100%;width:2px}.topic-list .topic.unread:before{background:#1088bf}.topic-list .topic:nth-child(2n){background:0 0}.topic-list .topic.unread{background:#FFF}.topic-list .topic.unread .topic-description .topic-title{font-weight:700}.topic-list .topic.active:before,.topic-list .topic:hover:before{width:5px;background:#1088bf}.topic-list .topic.selected{background-color:#eaf7fd}.topic-list a{text-decoration:none;color:#0e77a8}.topic-list a:focus,.topic-list a:hover{color:#0e77a8;text-decoration:underline;outline:0}.topic-list .topic-answers,.topic-list .topic-description,.topic-list .topic-infos,.topic-list .topic-last-answer{display:block;float:left;padding:4px 0;margin:0}.topic-list .topic-infos{width:5%}.topic-list .topic-infos input[type=checkbox]{margin:29px 25% 0}.topic-list .topic-infos .ico-after{display:block;text-indent:-9999px}.topic-list .topic-infos .ico-after:after{margin:4px 0 0 15px}.topic-list .topic-description{position:relative;width:60%}.topic-list .topic-description .topic-image{float:left;max-height:60px;max-width:60px;margin:5px 15px 0 0}.topic-list .topic-description .topic-tags{list-style:none;padding:0;margin:0;display:inline}.topic-list .topic-description .topic-tags .topic-tag{display:block;height:23px;line-height:23px;float:left;padding:0 5px;margin:0 3px 0 0;color:#396a81;background:#FCFCFC;border:1px solid #CCC}.topic-list .topic-description .topic-tags .topic-tag:focus,.topic-list .topic-description .topic-tags .topic-tag:hover{background:#FFF;color:#084561;border-color:#084561;text-decoration:none}.topic-list .topic-description .topic-tags .topic-tag:focus{box-shadow:#396a81 0 0 3px}.topic-list .topic-description .topic-tags li:last-child .topic-tag{margin-right:5px}.topic-list .topic-description .topic-title-link{display:block;min-height:48px}.topic-list .topic-description .topic-title-link:focus,.topic-list .topic-description .topic-title-link:hover{text-decoration:none}.topic-list .topic-description .topic-title-link:focus .topic-title,.topic-list .topic-description .topic-title-link:hover .topic-title{text-decoration:underline}.topic-list .topic-description .topic-subtitle,.topic-list .topic-description .topic-title{display:block;margin:0!important;padding:0}.topic-list .topic-description .topic-title{font-size:16px;font-size:1.6rem;font-weight:400}.topic-list .topic-description .topic-subtitle{min-height:24px;line-height:1.5em;color:#777}.topic-list .topic-description .topic-members{margin:0;color:#777}.topic-list .topic-answers{width:12%;text-align:center;padding-top:29px}.topic-list .topic-last-answer{width:23%}.topic-list .topic-last-answer .topic-no-last-answer{display:block;margin-top:27px;color:#084561;opacity:.5}.topic-list .highlighted{background-color:rgba(255,255,100,.5)}.forum-list .group-title{max-width:100%;margin-top:30px!important;clear:both;border-bottom:1px solid #CCC;color:#F8AD32}.topic-list-small .topic{height:60px}.topic-list-small .topic-infos input[type=checkbox]{margin-top:18px}.topic-list-small .topic-description{padding-left:1.5%}.topic-list-small .topic-description .topic-title{font-weight:400;margin-top:2px}.topic-list-small .topic-infos+.topic-description{padding-left:0}.topic-list-small .topic-answers{padding-top:17px}.topic-list-small .topic-answers span{display:block;float:left;width:50%}.topic-list-small .topic-last-answer{width:18%}.topic-list-small .topic-last-answer .topic-no-last-answer{margin-top:13px}.topic-list-small .topic-last-answer .forum-last-message{display:block}.topic-list-small .topic-last-answer .forum-last-message .forum-last-message-long{display:none}.topic-list-small .topic-last-answer .forum-last-message-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media only screen and (min-width:960px){.forum-list .topic-last-answer .forum-last-message .forum-last-message-long,.topic-list .topic-last-answer-short-date,.topic-list .topic-members-short-date{display:none}.topic-list:not(.topic-list-small) .topic-last-answer .topic-no-last-answer{margin-top:24px}.forum-list .topic{min-height:0}}@media only screen and (max-width:959px){.topic-list .topic .topic-answers.topic-no-answer,.topic-list .topic .topic-last-answer .topic-last-answer-long-date,.topic-list .topic .topic-members .topic-members-long-date{display:none}.topic-list .topic{background:0 0!important}.topic-list .topic p{margin:0!important}.topic-list .topic .topic-answers{padding:0;width:30%;border-bottom:1px solid #CCC}.topic-list .topic .topic-last-answer{width:30%;padding:0;text-align:right}.topic-list .topic .topic-last-answer .topic-last-answer-short-date{font-size:1.3rem}.topic-list .topic .topic-last-answer .topic-no-last-answer{text-align:center}}@media only screen and (max-width:759px){.topic-list .topic-infos .ico-after:after{margin:4px 0 0 2px}.topic-list .topic-description .topic-subtitle:empty{display:none}.topic-list .topic-last-answer .topic-no-last-answer{font-size:1.3rem}.forum-list .topic-description .topic-subtitle{margin-left:10px}}.topic-message{position:relative}.topic-message.repeated .message,.topic-message.repeated .message .is-author{background:#EEE}.topic-message.repeated .message:after{border-right-color:#EEE}.topic-message.helpful .message,.topic-message.helpful .message .is-author{background:#e9f9dc}.topic-message.helpful .message:after{border-right-color:#e9f9dc}.topic-message.helpful.repeated .message,.topic-message.helpful.repeated .message .is-author{background:#eaefe6}.topic-message.helpful.repeated .message:after{border-right-color:#eaefe6}.topic-message .user .avatar-link{display:block;height:58px;width:58px;z-index:0;position:absolute;top:0;border:1px solid #DDD}.topic-message .user .avatar-link[href]:focus,.topic-message .user .avatar-link[href]:hover{border-color:#FFF;overflow:hidden;box-shadow:rgba(0,0,0,.3) 0 1px 7px}.topic-message .user .avatar-link img{height:58px;width:58px}.topic-message .user .user-metadata{width:60px;height:25px}.topic-message .user .user-metadata a{display:block;float:left;border:1px solid #D2D5D6;border-top:0;text-align:center;background-color:#edefef;text-decoration:none;height:25px;line-height:26px;width:28px;color:#777;-webkit-transition:all .15s ease;transition:all .15s ease}.topic-message .user .user-metadata a:first-child{border-right:0;width:29px}.topic-message .user .user-metadata a:focus,.topic-message .user .user-metadata a:hover{border-bottom-width:1px;border-bottom-color:#777;background:#FFF}.topic-message .user .user-metadata a.positive{color:#48a200}.topic-message .user .user-metadata a.negative{color:#c0392b}.topic-message .message{position:relative;background-color:#FDFDFD;border:1px solid #D2D5D6;border-right-width:2px;border-bottom-width:3px;min-height:75px}.topic-message .message .is-author{position:absolute;top:-16px;left:10px;background:#FDFDFD;padding:0 5px;font-size:12px;line-height:20px;color:#999;border-top:1px solid #D2D5D6}.topic-message .message .is-author:after,.topic-message .message .is-author:before{content:" ";display:block;position:absolute;top:0;height:15px;width:1px;background:#D2D5D6}.topic-message .message .is-author:before{left:0}.topic-message .message .is-author:after{right:0}.topic-message .message .message-metadata{display:inline-block;font-size:14px;font-size:1.4rem;margin-left:5px}.topic-message .message .message-metadata a{display:block;float:left;color:#999;text-decoration:none;height:30px;line-height:30px;padding:0 5px;border-bottom:1px solid #D2D5D6;-webkit-transition:all .15s ease;transition:all .15s ease}.topic-message .message .message-content .message-hidden-content,.topic-message .message .message-metadata .date .long-date{display:none}.topic-message .message .message-metadata a:focus,.topic-message .message .message-metadata a:hover{border-bottom:1px solid #0e77a8;color:#0e77a8;outline:0}.topic-message .message .message-metadata .username{color:#484848;font-size:16px;font-size:1.6rem;margin-right:3px}.topic-message .message .message-metadata .date{line-height:32px}.topic-message .message .message-actions{margin:0;padding:0;list-style:none;position:absolute;top:0;right:0}.topic-message .message .message-actions li{float:left}.topic-message .message .message-content{clear:both;padding-top:1px}.topic-message .message .message-content>div>p:first-child{margin-top:7px}.topic-message .message .message-content>div>figure:first-child{margin-top:8px}.topic-message .message .message-content .message-edited,.topic-message .message .message-content .message-helpful,.topic-message .message .message-content .message-hidden,.topic-message .message .message-content .message-repeated{padding-top:3px 0 0}.topic-message .message .message-content .message-edited.ico-after,.topic-message .message .message-content .message-helpful.ico-after,.topic-message .message .message-content .message-hidden.ico-after,.topic-message .message .message-content .message-repeated.ico-after{text-indent:20px}.topic-message .message .message-content .message-edited.ico-after:after,.topic-message .message .message-content .message-helpful.ico-after:after,.topic-message .message .message-content .message-hidden.ico-after:after,.topic-message .message .message-content .message-repeated.ico-after:after{margin:4px 0}.topic-message .message .message-content .message-edited,.topic-message .message .message-content .message-hidden,.topic-message .message .message-content .message-repeated{font-style:italic;color:#999}.topic-message .message .message-content .message-edited:after,.topic-message .message .message-content .message-hidden:after,.topic-message .message .message-content .message-repeated:after{opacity:.5}.topic-message .message .message-content .message-hidden{margin-top:1px}.topic-message .message .message-content .message-helpful{color:#48A200;text-indent:20px}.topic-message .message .message-bottom .message-karma .downvote:not(.has-vote),.topic-message .message .message-bottom .message-karma .upvote:not(.has-vote),.topic-message .message .message-buttons a{text-indent:-9999px;width:0}.topic-message .message .message-content textarea{margin:10px 0 10px -1px;background-color:transparent;min-height:150px}.topic-message .message .message-bottom{display:flex;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;min-height:30px}.topic-message .message .message-bottom .signature{border-top:1px solid #D2D5D6;padding:3px 0 0 10px;margin:0 10px 0 0;font-size:12px;font-size:1.2rem;color:#999;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;overflow:hidden}.topic-message .message .message-bottom .signature p{margin:0;padding:0}.topic-message .message .message-bottom .signature a{color:#999;-webkit-transition:all .15s ease;transition:all .15s ease}.topic-message .message .message-bottom .signature a:focus,.topic-message .message .message-bottom .signature a:hover{text-decoration:none;color:#555}.topic-message .message .message-bottom .message-karma{margin-left:auto;margin-bottom:-2px}.topic-message .message .message-bottom .message-karma button.ico-after,.topic-message .message .message-bottom .message-karma span{border-bottom-width:3px;border-bottom-color:transparent;background:0 0!important;height:32px}.topic-message .message .message-bottom .message-karma span.downvote:not(.has-vote),.topic-message .message .message-bottom .message-karma span.upvote:not(.has-vote){border-bottom:none;opacity:.5}.topic-message .message .message-bottom .message-karma button{-webkit-transition-property:opacity,border;transition-property:opacity,border}.topic-message .message .message-bottom .message-karma button.voted:hover:after{opacity:.5}.topic-message .message .message-bottom .message-karma .downvote.voted:after,.topic-message .message .message-bottom .message-karma .tick.active:after,.topic-message .message .message-bottom .message-karma .upvote.voted:after{opacity:1}.topic-message .message .message-bottom .message-karma .downvote:after,.topic-message .message .message-bottom .message-karma .upvote:after{left:10px}.topic-message .message .message-bottom .message-karma .downvote:focus:not(.more-voted),.topic-message .message .message-bottom .message-karma .downvote:hover:not(.more-voted),.topic-message .message .message-bottom .message-karma .upvote:focus:not(.more-voted),.topic-message .message .message-bottom .message-karma .upvote:hover:not(.more-voted){border-bottom-color:transparent}.topic-message .message .message-bottom .message-karma .downvote.more-voted,.topic-message .message .message-bottom .message-karma .upvote.more-voted{font-weight:700}.topic-message .message .message-bottom .message-karma .upvote{color:#48a200}.topic-message .message .message-bottom .message-karma .upvote.more-voted{border-bottom-color:#48a200}.topic-message .message .message-bottom .message-karma .downvote{color:#c0392b}.topic-message .message .message-bottom .message-karma .downvote.more-voted{border-bottom-color:#c0392b}.topic-message .message .message-bottom .message-karma .tick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-message .message .message-bottom .message-karma .tick:focus,.topic-message .message .message-bottom .message-karma .tick:hover{color:#555;border-bottom-color:#48a200}.topic-message .message .message-bottom .message-karma .tick.active{color:#48a200}.topic-message .message .message-buttons{margin:0 0 0 10px;padding:0;list-style:none;border-bottom:none}.topic-message .message .message-buttons a:after{left:12px!important}.topic-message .message .message-submit{margin-left:auto;margin-right:10px}.topic-message .message .message-actions,.topic-message .message .message-buttons,.topic-message .message .message-karma,.topic-message .message .message-submit{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.topic-message .message .message-actions form,.topic-message .message .message-buttons form,.topic-message .message .message-karma form,.topic-message .message .message-submit form{width:auto}.topic-message .message .message-actions .downvote,.topic-message .message .message-actions .upvote,.topic-message .message .message-actions a,.topic-message .message .message-actions button,.topic-message .message .message-buttons .downvote,.topic-message .message .message-buttons .upvote,.topic-message .message .message-buttons a,.topic-message .message .message-buttons button,.topic-message .message .message-karma .downvote,.topic-message .message .message-karma .upvote,.topic-message .message .message-karma a,.topic-message .message .message-karma button,.topic-message .message .message-submit .downvote,.topic-message .message .message-submit .upvote,.topic-message .message .message-submit a,.topic-message .message .message-submit button{display:block;float:left;margin-left:3px;-webkit-transition:all .15s ease;transition:all .15s ease}.topic-message .message .message-actions .downvote.ico-after,.topic-message .message .message-actions .upvote.ico-after,.topic-message .message .message-actions a.ico-after,.topic-message .message .message-actions button.ico-after,.topic-message .message .message-buttons .downvote.ico-after,.topic-message .message .message-buttons .upvote.ico-after,.topic-message .message .message-buttons a.ico-after,.topic-message .message .message-buttons button.ico-after,.topic-message .message .message-karma .downvote.ico-after,.topic-message .message .message-karma .upvote.ico-after,.topic-message .message .message-karma a.ico-after,.topic-message .message .message-karma button.ico-after,.topic-message .message .message-submit .downvote.ico-after,.topic-message .message .message-submit .upvote.ico-after,.topic-message .message .message-submit a.ico-after,.topic-message .message .message-submit button.ico-after{padding-left:30px!important}.topic-message .message .message-actions .downvote:after,.topic-message .message .message-actions .upvote:after,.topic-message .message .message-actions a:after,.topic-message .message .message-actions button:after,.topic-message .message .message-buttons .downvote:after,.topic-message .message .message-buttons .upvote:after,.topic-message .message .message-buttons a:after,.topic-message .message .message-buttons button:after,.topic-message .message .message-karma .downvote:after,.topic-message .message .message-karma .upvote:after,.topic-message .message .message-karma a:after,.topic-message .message .message-karma button:after,.topic-message .message .message-submit .downvote:after,.topic-message .message .message-submit .upvote:after,.topic-message .message .message-submit a:after,.topic-message .message .message-submit button:after{top:7px;left:7px;-webkit-transition:all .15s ease;transition:all .15s ease;opacity:.5;margin:0}.topic-message .message .message-actions .downvote,.topic-message .message .message-actions .upvote,.topic-message .message .message-actions a,.topic-message .message .message-actions button.ico-after,.topic-message .message .message-buttons .downvote,.topic-message .message .message-buttons .upvote,.topic-message .message .message-buttons a,.topic-message .message .message-buttons button.ico-after,.topic-message .message .message-karma .downvote,.topic-message .message .message-karma .upvote,.topic-message .message .message-karma a,.topic-message .message .message-karma button.ico-after,.topic-message .message .message-submit .downvote,.topic-message .message .message-submit .upvote,.topic-message .message .message-submit a,.topic-message .message .message-submit button.ico-after{border-bottom:1px solid #D2D5D6;text-decoration:none;color:#999;height:29px;line-height:30px;padding:0 10px}.topic-message .message .message-actions a,.topic-message .message .message-actions button.ico-after,.topic-message .message .message-buttons a,.topic-message .message .message-buttons button.ico-after,.topic-message .message .message-karma a,.topic-message .message .message-karma button.ico-after,.topic-message .message .message-submit a,.topic-message .message .message-submit button.ico-after{cursor:pointer}.topic-message .message .message-actions a:focus,.topic-message .message .message-actions a:hover,.topic-message .message .message-actions button.ico-after:focus,.topic-message .message .message-actions button.ico-after:hover,.topic-message .message .message-buttons a:focus,.topic-message .message .message-buttons a:hover,.topic-message .message .message-buttons button.ico-after:focus,.topic-message .message .message-buttons button.ico-after:hover,.topic-message .message .message-karma a:focus,.topic-message .message .message-karma a:hover,.topic-message .message .message-karma button.ico-after:focus,.topic-message .message .message-karma button.ico-after:hover,.topic-message .message .message-submit a:focus,.topic-message .message .message-submit a:hover,.topic-message .message .message-submit button.ico-after:focus,.topic-message .message .message-submit button.ico-after:hover{border-bottom-color:#0e77a8;outline:0;background:0 0}.topic-message .message .message-actions a:focus:after,.topic-message .message .message-actions a:hover:after,.topic-message .message .message-actions button.ico-after:focus:after,.topic-message .message .message-actions button.ico-after:hover:after,.topic-message .message .message-buttons a:focus:after,.topic-message .message .message-buttons a:hover:after,.topic-message .message .message-buttons button.ico-after:focus:after,.topic-message .message .message-buttons button.ico-after:hover:after,.topic-message .message .message-karma a:focus:after,.topic-message .message .message-karma a:hover:after,.topic-message .message .message-karma button.ico-after:focus:after,.topic-message .message .message-karma button.ico-after:hover:after,.topic-message .message .message-submit a:focus:after,.topic-message .message .message-submit a:hover:after,.topic-message .message .message-submit button.ico-after:focus:after,.topic-message .message .message-submit button.ico-after:hover:after{opacity:1}.topic-message .message .message-actions a:focus,.topic-message .message .message-actions a:hover,.topic-message .message .message-buttons a:focus,.topic-message .message .message-buttons a:hover,.topic-message .message .message-karma button:focus,.topic-message .message .message-karma button:hover{color:#555;text-decoration:none}.topic-message .message .alert-box .alert-box-text{float:none}form.topic-message{margin-top:50px}@media only screen and (max-width:959px){.topic-message{padding:20px 0}.topic-message .user{position:absolute;top:7px;z-index:10;width:100%}.topic-message .user .avatar-link{float:left;display:none}.topic-message .user .badge{float:left;height:20px;line-height:20px;font-size:12px;width:50px;margin-top:-2px;margin-left:10px}.topic-message .user .badge.push-badge{margin-left:105px}.topic-message .user .user-metadata{float:right;width:140px;margin-right:10px}.topic-message .user .user-metadata a{float:left;height:20px;line-height:20px;border-bottom:none;width:68px}.topic-message .message{border-right:0;border-left:0;padding-top:65px}.topic-message .message .message-metadata{position:absolute;top:0;left:0;right:10px;z-index:15;height:30px;line-height:30px}.topic-message .message .message-metadata .username{margin-left:5px}.topic-message .message .message-metadata .date{float:right}.topic-message .message .message-actions{margin:35px 10px 0 0}.topic-message .message .message-bottom{min-height:0}.topic-message .message .message-bottom .signature{display:none}.topic-message .message .message-bottom .message-karma{position:absolute;top:35px;left:7px}.topic-message .message .message-bottom .message-karma .tick{text-indent:-9999px;margin-right:1px}.topic-message .message .message-bottom .message-karma .tick:after{left:12px}.topic-message .message .message-bottom .message-karma .downvote,.topic-message .message .message-bottom .message-karma .upvote{padding:0 7px;text-align:center}}@media only screen and (min-width:960px){.topic-message{margin:25px 0}.topic-message:first-child{margin-top:35px}.topic-message .message:after,.topic-message .user:after{content:" ";display:block;position:absolute;top:10px;height:0;width:0;border:20px solid transparent;border-left:0}.topic-message .user{position:absolute;padding-top:60px;top:0;left:0}.topic-message .user:after{left:60px;border-right-color:#D2D4D6}.topic-message .message{margin-left:80px}.topic-message .message:after{top:9px;left:-19px;border-right-color:#FDFDFD}.topic-message .message .is-author{left:5px}.topic-message .message .message-content{margin:0 10px}.topic-message .message .message-content>:first-child{margin-top:5px}.topic-message .message .message-content>figure:first-child{margin-top:10px}.topic-message .message .message-bottom .signature p{white-space:nowrap;overflow:hidden}}@media only screen and (max-width:759px){.topic-message .message .message-actions a{width:0;text-indent:-9999px}.topic-message .message .message-actions a:after{left:12px!important}.topic-message .message .message-submit{display:block!important;width:100%;margin:0}.topic-message .message .message-submit button{float:right;display:block;width:calc(50% - 2px);margin-left:1px!important}.topic-message .message .message-submit button.btn-grey{float:left}form.forum-message .message{padding-top:0!important}}.avatar{height:60px;width:60px;background-color:#FFF}.badge{display:block;width:60px;height:25px;line-height:25px;text-align:center;text-transform:uppercase;color:#EEE;text-shadow:rgba(0,0,0,.25) 0 0 3px;background:#777}.badge.staff{background:#48a200}.member-card .member-avatar{float:left;width:60px}.member-card .member-infos{float:left;list-style:none;margin:0;padding-left:15px}.member-social{list-style:none;margin:15px 0 0;padding:0}.home .main{display:block;height:auto;width:auto;margin:0;padding:0}.home #content{width:100%;margin:0;padding:0}.home .sub-header{display:none}.home .home-wrapper{max-width:1145px;margin:0 auto}.home .home-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:10px}.home .home-header{border-bottom:solid 1px #fff;padding-top:40px;background-color:#19516b;background:-webkit-radial-gradient(at top,rgba(255,255,255,.1),transparent 60%) #19516b;background:radial-gradient(at top,rgba(255,255,255,.1),transparent 60%) #19516b;margin-bottom:-170px;padding-bottom:180px;overflow:hidden}.home .home-description{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.home .home-description p{margin:0;padding:0;color:#fff;line-height:normal;text-align:justify}.home .home-description a:not(.home-description-button){color:#fff}.home .home-description a:not(.home-description-button):focus,.home .home-description a:not(.home-description-button):hover{color:#90ABB6;text-decoration:none}.home .home-description .column{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding:0 10px}.home .home-description .column h2{font-size:18px;font-size:1.8rem;color:#fff;margin:0 0 5px;border-bottom-color:#fff;font-weight:300}.home .home-description blockquote{font-size:2.5rem;color:#fff;font-weight:300;padding:0;margin:0}.home .home-description blockquote span:first-of-type::before{content:"«\00A0"}.home .home-description blockquote span:last-of-type::after{content:"\00A0»"}.home .home-description:not(.connected):not(.short){padding-bottom:60px}.home .home-description.connected{text-align:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.home .home-description.connected .important{color:#F8AD32;text-transform:uppercase;font-weight:700}.home .home-description.connected p{margin-top:5px;text-align:center}.home .home-description.connected .home-description-button{margin-left:15px}.home .home-description.short{display:none;color:#fff;text-align:center;font-size:1.4em}.home .home-description.short .home-description-button{font-size:14px;font-size:1.4rem;line-height:24px;line-height:2.4rem;margin-top:12px;padding:0 10px}.home .home-description.short blockquote>span{display:inline-block}.home .home-description-button{display:inline-block;line-height:2rem;font-size:1.2rem;font-size:12px;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.5);padding:0 6px;margin-top:5px}.home .home-description-button:focus,.home .home-description-button:hover{color:#084561;border-color:#fff;background-color:#FFF}.home .home-description-button.close-description{display:none}.home .featured-resource-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:30px;padding:1px 0 1px 1px;background-color:#F7F7F7;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%}.home .featured-resource-row .no-featured-resource{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin:0 1px 0 0;line-height:0;text-align:center;font-size:20px;background-color:#fff}.home .featured-resource-row .no-featured-resource::after,.home .featured-resource-row .no-featured-resource::before{display:block;content:"";padding-top:10%}.home .home-heading{height:40px;padding-left:50px!important;margin-bottom:18px!important}.home .home-heading.heading-white{color:#fff;border-bottom-color:#fff}.home .home-heading.ico-after::after{margin-left:0!important}.home .home-heading .btn{font-size:15px}.home .home-search-box{position:relative;margin:30px auto 0;max-width:820px;background:#fff}.home .home-search-box form{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.home .home-search-box:before{content:'';position:absolute;bottom:-6px;left:-28px;background:url(../images/home-clem.png);background-size:100%;width:68px;height:134px}.home .home-search-box input,.home .home-search-box label{box-sizing:border-box;display:inline-block;line-height:50px;height:50px}.home .home-search-box label{text-align:right;padding:0 5px;font-size:2rem;font-weight:300;margin-left:50px}.home .home-search-box input{font-size:2rem;border:none;font-weight:300;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.home .home-search-box button[type=submit]{background:#FFF;width:50px;height:50px}.home .home-search-box button[type=submit]:focus,.home .home-search-box button[type=submit]:hover{background-color:#CCC}.home .home-search-box button[type=submit]:after{margin:16px;background-position:0 -3506px;width:16px;height:40px}@media only screen and (max-width:759px){.home .home-description:not(.connected):not(.short){display:none}.home .home-description.short{display:block;width:auto;padding:0 20px}.home .home-description.short:target .home-description-button{display:none}.home .home-description.short:target .home-description-button.close-description{display:inline-block}.home .home-description.short:target~.home-description:not(.short){display:block;margin-top:20px}.home .featured-resource-row .featured-resource-item:nth-of-type(4),.home .home-description .featured-message,.home .home-search-box label{display:none}.home .home-description.connected{padding:0 20px!important}.home .home-heading .btn{visibility:hidden}.home .home-search-box{padding-left:40px;margin:30px 0 0!important}.home .home-search-box:before{left:-46px}}@media only screen and (max-width:959px){.home .home-header{padding-top:10px}.home .home-wrapper{padding:20px 10px}.home .featured-resource-row .featured-resource-item{margin:4px;padding:0!important}.home .featured-resource-row .featured-resource-item:last-of-type{display:none}.home .home-header{margin-bottom:0;padding-bottom:10px}.home .home-heading{margin-top:18px}.home .home-heading.heading-white{color:#084561;border-color:#F8AD32}.home .home-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.home .home-search-box{margin:30px 40px 0}.home .home-description.connected{width:auto;padding:0 80px}}@media only screen and (min-width:960px){.home .home-row{margin-right:-10px;margin-left:-10px}.home .home-row>section{margin:0 10px;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;min-width:300px}.home .home-description .column h2{font-size:22px;font-size:2.2rem}.home .home-description.connected{max-width:740px;margin:0 auto}}.gallery.grid-view{clear:both}.gallery.grid-view .gallery-item{position:relative;width:200px;height:200px;float:left;border:10px solid #FFF;margin:10px;clear:none}.gallery.grid-view .gallery-item.active,.gallery.grid-view .gallery-item:hover{border-color:#1088bf!important}.gallery.grid-view .gallery-item.active:before,.gallery.grid-view .gallery-item:hover:before{display:none}.gallery.grid-view .gallery-item.active .topic-title,.gallery.grid-view .gallery-item:hover .topic-title{background:#1088bf!important;color:#FFF;text-decoration:none}.gallery.grid-view .gallery-item .topic-infos{position:absolute;bottom:0;left:0;z-index:1;height:15px;width:15px;padding:3px 0}.gallery.grid-view .gallery-item .topic-infos input{margin:0}.gallery.grid-view .gallery-item .topic-description,.gallery.grid-view .gallery-item .topic-description a{display:block;width:100%;height:100%}#resources_container .footer,.gallery.list-view .add-image{display:none}.gallery.grid-view .gallery-item .topic-image{overflow:hidden;max-height:100%;min-width:100%}.gallery.grid-view .gallery-item .topic-title{height:15px;background-color:#fff;position:absolute;bottom:7px;left:0;right:0;padding:10px 20px 5px;font-size:15px;font-size:1.5rem;line-height:15px;color:#444}.gallery.grid-view .gallery-item.selected{border-color:#eaf7fd}.gallery.grid-view .gallery-item.selected .topic-title{background:#eaf7fd}.gallery.grid-view .gallery-item.add-image{font-size:120px;line-height:200px;text-align:center;background:#DDD;color:#555;text-decoration:none}.gallery.grid-view .gallery-item.add-image:focus,.gallery.grid-view .gallery-item.add-image:hover{background-color:#CCC;color:#1088bf}.gallery.list-view .topic .topic-description .topic-title{margin-top:12px}.toggle-gallery-view{float:left!important}@media only screen and (min-width:960px){.gallery-col-image{float:left;width:50%}.gallery-col-image img{max-width:100%}.gallery-col-edit{float:right;width:calc(50% - 20px);padding-left:20px}}.tutorial-help-item{min-height:60px;padding:20px 2%;border-bottom:1px solid #e0e4e5;color:#424242;font-weight:400}.tutorial-help-item:nth-child(2n+1){background-color:rgba(255,255,255,.8)}.tutorial-help-item p{margin:0}.tutorial-help-item .tutorial-title{margin:0;padding:0;font-size:20px;font-size:2rem;height:27px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;clear:none;font-weight:400;color:#424242}.tutorial-help-item a{text-decoration:none}.tutorial-help-item .tutorial-categories a:focus,.tutorial-help-item .tutorial-categories a:hover,.tutorial-help-item a:focus,.tutorial-help-item a:hover{text-decoration:underline}.tutorial-help-item .tutorial-categories{margin:0 0 5px;padding:0;color:#ee8709}.tutorial-help-item .tutorial-categories a{color:#ee8709}.tutorial-help-item .tutorial-illu{display:block;overflow:hidden;float:left}.tutorial-help-item .tutorial-infos{margin:7px 0 0 70px}.tutorial-help-item .tutorial-infos.no-illu{margin-left:0}.tutorial-help-item .tutorial-help{margin:12px 0 0}.tutorial-help-item .tutorial-help img.light{opacity:.2}.tutorial-help-item .tutorial-help img.light:focus,.tutorial-help-item .tutorial-help img.light:hover{opacity:.5}.commits-compare-form button{float:none!important}@media only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (min--moz-device-pixel-ratio:1.3),only screen and (min-device-pixel-ratio:1.3),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.header-logo-link{background-size:100%;background-image:url(../images/logo@2x.png)}.breadcrumb ol li:not(:last-child):after,.ico,.ico-after:after,input[type=checkbox]:checked,input[type=radio]:checked{background-image:url(../images/sprite@2x.png);background-size:40px 4426px}}@media only screen and (-webkit-min-device-pixel-ratio:1.3) and (max-width:959px),only screen and (min--moz-device-pixel-ratio:1.3) and (max-width:959px),only screen and (min-device-pixel-ratio:1.3) and (max-width:959px),only screen and (-webkit-min-device-pixel-ratio:2) and (max-width:959px),only screen and (min-resolution:192dpi) and (max-width:959px),only screen and (min-resolution:2dppx) and (max-width:959px){.js.enable-mobile-menu .mobile-menu-hide .page-container .mobile-menu-btn:after{background-image:url(../images/sprite@2x.png);background-size:40px 4426px}.page-container .header-logo-link{background-image:url(../images/logo-mobile@2x.png)!important}.home .home-search-box::before{background-image:url(../images/home-clem@2x.png)}}
\ No newline at end of file
diff --git a/dist/images/apple-touch-icon-114x114-precomposed.png b/dist/images/apple-touch-icon-114x114-precomposed.png
new file mode 100644
index 0000000000..a92558a691
Binary files /dev/null and b/dist/images/apple-touch-icon-114x114-precomposed.png differ
diff --git a/dist/images/apple-touch-icon-144x144-precomposed.png b/dist/images/apple-touch-icon-144x144-precomposed.png
new file mode 100644
index 0000000000..4b7fbfd2e8
Binary files /dev/null and b/dist/images/apple-touch-icon-144x144-precomposed.png differ
diff --git a/dist/images/apple-touch-icon-57x57-precomposed.png b/dist/images/apple-touch-icon-57x57-precomposed.png
new file mode 100644
index 0000000000..eb25fdc0a2
Binary files /dev/null and b/dist/images/apple-touch-icon-57x57-precomposed.png differ
diff --git a/dist/images/apple-touch-icon-72x72-precomposed.png b/dist/images/apple-touch-icon-72x72-precomposed.png
new file mode 100644
index 0000000000..522da6c239
Binary files /dev/null and b/dist/images/apple-touch-icon-72x72-precomposed.png differ
diff --git a/dist/images/apple-touch-icon-precomposed.png b/dist/images/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000000..eb25fdc0a2
Binary files /dev/null and b/dist/images/apple-touch-icon-precomposed.png differ
diff --git a/dist/images/apple-touch-icon.png b/dist/images/apple-touch-icon.png
new file mode 100644
index 0000000000..eb25fdc0a2
Binary files /dev/null and b/dist/images/apple-touch-icon.png differ
diff --git a/dist/images/beta.png b/dist/images/beta.png
new file mode 100644
index 0000000000..b87be2af0e
Binary files /dev/null and b/dist/images/beta.png differ
diff --git a/dist/images/favicon.png b/dist/images/favicon.png
new file mode 100644
index 0000000000..eb25fdc0a2
Binary files /dev/null and b/dist/images/favicon.png differ
diff --git a/dist/images/home-clem.png b/dist/images/home-clem.png
new file mode 100644
index 0000000000..a359b53c52
Binary files /dev/null and b/dist/images/home-clem.png differ
diff --git a/dist/images/home-clem@2x.png b/dist/images/home-clem@2x.png
new file mode 100644
index 0000000000..ee76b0ff93
Binary files /dev/null and b/dist/images/home-clem@2x.png differ
diff --git a/dist/images/logo-background.png b/dist/images/logo-background.png
new file mode 100644
index 0000000000..8384f1122b
Binary files /dev/null and b/dist/images/logo-background.png differ
diff --git a/dist/images/logo-mobile.png b/dist/images/logo-mobile.png
new file mode 100644
index 0000000000..0fceb0b825
Binary files /dev/null and b/dist/images/logo-mobile.png differ
diff --git a/dist/images/logo-mobile@2x.png b/dist/images/logo-mobile@2x.png
new file mode 100644
index 0000000000..88041d5d00
Binary files /dev/null and b/dist/images/logo-mobile@2x.png differ
diff --git a/dist/images/logo.png b/dist/images/logo.png
new file mode 100644
index 0000000000..976607d001
Binary files /dev/null and b/dist/images/logo.png differ
diff --git a/dist/images/logo@2x.png b/dist/images/logo@2x.png
new file mode 100644
index 0000000000..5b488bd491
Binary files /dev/null and b/dist/images/logo@2x.png differ
diff --git a/dist/images/sprite.png b/dist/images/sprite.png
new file mode 100644
index 0000000000..22bf9ee09e
Binary files /dev/null and b/dist/images/sprite.png differ
diff --git a/dist/images/sprite@2x.png b/dist/images/sprite@2x.png
new file mode 100644
index 0000000000..222a5ff5eb
Binary files /dev/null and b/dist/images/sprite@2x.png differ
diff --git a/dist/images/tutorials.png b/dist/images/tutorials.png
new file mode 100644
index 0000000000..542e2cc94e
Binary files /dev/null and b/dist/images/tutorials.png differ
diff --git a/dist/js/all.js b/dist/js/all.js
new file mode 100644
index 0000000000..e64b790c50
--- /dev/null
+++ b/dist/js/all.js
@@ -0,0 +1,11826 @@
+/**
+ * Cookies EU banner v1.2.7 - Manage display of banner to accept/reject cookies from tracking services like Google Analytics
+ * ------------------------
+ * @link http://alex-d.github.io/Cookies-EU-banner/
+ * @license MIT
+ * @author Alex-D
+ * Twitter : @AlexandreDemode
+ * Website : alex-d.fr
+ */
+
+(function(root, factory, undefined){
+ if(typeof define === "function" && define.amd){
+ define([], factory);
+ } else if(typeof exports === "object"){
+ module.exports = factory();
+ } else {
+ // root is window
+ root.CookiesEuBanner = factory();
+ }
+}(window, function(){
+ var CookiesEuBanner,
+ document = window.document;
+
+ CookiesEuBanner = function(launchFunction, waitAccept, undefined){
+ if(!(this instanceof CookiesEuBanner)){
+ return new CookiesEuBanner(launchFunction);
+ }
+
+ this.cookieTimeout = 33696000000; // 13 months in milliseconds
+ this.bots = /bot|googlebot|crawler|spider|robot|crawling/i;
+ this.cookieName = "hasConsent";
+ this.trackingCookiesNames = ["__utma","__utmb","__utmc","__utmt","__utmv","__utmz","_ga","_gat"];
+ this.launchFunction = launchFunction;
+ this.waitAccept = waitAccept != null ? waitAccept : false;
+ this.init();
+ };
+
+ CookiesEuBanner.prototype = {
+ init: function(){
+ // Do nothing if it is a bot
+ // If DoNotTrack is activated, do nothing too
+ if(this.isBot() || !this.isToTrack() || this.hasConsent() === false){
+ return false;
+ }
+
+ // User has already consent to use cookies to tracking
+ if(this.hasConsent() === true){
+ // Launch user custom function
+ this.launchFunction();
+ return true;
+ }
+
+ // If it's not a bot, no DoNotTrack and not already accept : show banner
+ this.showBanner();
+
+ if(!this.waitAccept){
+ // Accept cookies by default for the next page
+ this.setCookie(this.cookieName, true);
+ }
+ },
+
+ /*
+ * Show banner at the top of the page
+ */
+ showBanner: function(){
+ var _this = this,
+ banner = document.getElementById("cookies-eu-banner"),
+ rejectButton = document.getElementById("cookies-eu-reject"),
+ acceptButton = document.getElementById("cookies-eu-accept"),
+ moreLink = document.getElementById("cookies-eu-more");
+
+ banner.style.display = "block";
+
+ this.addEventListener(moreLink, "click", function(){
+ _this.deleteCookie(_this.cookieName);
+ });
+
+ this.addEventListener(acceptButton, "click", function(){
+ banner.parentNode.removeChild(banner);
+ _this.setCookie(_this.cookieName, true);
+ _this.launchFunction();
+ });
+
+ this.addEventListener(rejectButton, "click", function(){
+ banner.parentNode.removeChild(banner);
+ _this.setCookie(_this.cookieName, false);
+ _this.deleteTrackingCookies();
+ });
+ },
+
+ /*
+ * Check if user already consent
+ */
+ hasConsent: function(){
+ if(document.cookie.indexOf(this.cookieName+"=true") > -1){
+ return true;
+ } else if(document.cookie.indexOf(this.cookieName+"=false") > -1){
+ return false;
+ }
+ return null;
+ },
+
+ /*
+ * Detect if the visitor is a bot or not
+ * Prevent for search engine take the cookie
+ * alert message as main content of the page
+ */
+ isBot: function(){
+ return this.bots.test(navigator.userAgent);
+ },
+
+ /*
+ * Check if DoNotTrack is activated
+ */
+ isToTrack: function() {
+ var dnt = navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack;
+ return (dnt != null) ? (dnt && dnt !== "yes" && dnt !== 1 && dnt !== "1") : true;
+ },
+
+ /*
+ * Delete existants tracking cookies
+ */
+ deleteTrackingCookies: function(){
+ var name;
+ for(name in this.trackingCookiesNames){
+ this.deleteCookie(name);
+ }
+ },
+
+ /*
+ * Create/update cookie
+ */
+ setCookie: function(name, value){
+ var date = new Date();
+ date.setTime(date.getTime() + this.cookieTimeout);
+
+ document.cookie = name + "=" + value + ";expires=" + date.toGMTString() + ";path=/";
+ },
+
+ /*
+ * Delete cookie by changing expire
+ */
+ deleteCookie: function(name){
+ var hostname = document.location.hostname;
+ if(hostname.indexOf("www.") === 0){
+ hostname = hostname.substring(4);
+ }
+ document.cookie = name + "=; domain=." + hostname + "; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
+ document.cookie = name + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
+ },
+
+ addEventListener: function(DOMElement, evnt, callback){
+ if(document.addEventListener){ // For all major browsers, except IE 8 and earlier
+ DOMElement.addEventListener(evnt, callback);
+ } else if(DOMElement.attachEvent){ // For IE 8 and earlier versions
+ DOMElement.attachEvent("on"+evnt, callback);
+ }
+ }
+ };
+
+ return CookiesEuBanner;
+}));
+
+
+/*!
+ * jQuery JavaScript Library v2.1.4
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-04-28T16:01Z
+ */
+
+(function( global, factory ) {
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Support: Firefox 18+
+// Can't be in strict mode, several libs including ASP.NET trace
+// the stack via arguments.caller.callee and Firefox dies if
+// you try to trace through "use strict" call chains. (#13335)
+//
+
+var arr = [];
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var support = {};
+
+
+
+var
+ // Use the correct document accordingly with window argument (sandbox)
+ document = window.document,
+
+ version = "2.1.4",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android<4.1
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+ // Matches dashed string for camelizing
+ rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([\da-z])/gi,
+
+ // Used by jQuery.camelCase as callback to replace()
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ };
+
+jQuery.fn = jQuery.prototype = {
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // Start with an empty selector
+ selector: "",
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+ return num != null ?
+
+ // Return just the one element from the set
+ ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
+
+ // Return all the elements in a clean array
+ slice.call( this );
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+ ret.context = this.context;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ // (You can seed the arguments with an array of args, but this is
+ // only used internally.)
+ each: function( callback, args ) {
+ return jQuery.each( this, callback, args );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map(this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ }));
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor(null);
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[0] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+ // Only deal with non-null/undefined values
+ if ( (options = arguments[ i ]) != null ) {
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ];
+ copy = options[ name ];
+
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
+ if ( copyIsArray ) {
+ copyIsArray = false;
+ clone = src && jQuery.isArray(src) ? src : [];
+
+ } else {
+ clone = src && jQuery.isPlainObject(src) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend({
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isFunction: function( obj ) {
+ return jQuery.type(obj) === "function";
+ },
+
+ isArray: Array.isArray,
+
+ isWindow: function( obj ) {
+ return obj != null && obj === obj.window;
+ },
+
+ isNumeric: function( obj ) {
+ // parseFloat NaNs numeric-cast false positives (null|true|false|"")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ // adding 1 corrects loss of precision from parseFloat (#15100)
+ return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;
+ },
+
+ isPlainObject: function( obj ) {
+ // Not plain objects:
+ // - Any object or value whose internal [[Class]] property is not "[object Object]"
+ // - DOM nodes
+ // - window
+ if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ if ( obj.constructor &&
+ !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
+ return false;
+ }
+
+ // If the function hasn't returned already, we're confident that
+ // |obj| is a plain object, created by {} or constructed with new Object
+ return true;
+ },
+
+ isEmptyObject: function( obj ) {
+ var name;
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ type: function( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+ // Support: Android<4.0, iOS<6 (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call(obj) ] || "object" :
+ typeof obj;
+ },
+
+ // Evaluates a script in a global context
+ globalEval: function( code ) {
+ var script,
+ indirect = eval;
+
+ code = jQuery.trim( code );
+
+ if ( code ) {
+ // If the code includes a valid, prologue position
+ // strict mode pragma, execute code by injecting a
+ // script tag into the document.
+ if ( code.indexOf("use strict") === 1 ) {
+ script = document.createElement("script");
+ script.text = code;
+ document.head.appendChild( script ).parentNode.removeChild( script );
+ } else {
+ // Otherwise, avoid the DOM node creation, insertion
+ // and removal by using an indirect global eval
+ indirect( code );
+ }
+ }
+ },
+
+ // Convert dashed to camelCase; used by the css and data modules
+ // Support: IE9-11+
+ // Microsoft forgot to hump their vendor prefix (#9572)
+ camelCase: function( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ },
+
+ nodeName: function( elem, name ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+ },
+
+ // args is for internal usage only
+ each: function( obj, callback, args ) {
+ var value,
+ i = 0,
+ length = obj.length,
+ isArray = isArraylike( obj );
+
+ if ( args ) {
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback.apply( obj[ i ], args );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ value = callback.apply( obj[ i ], args );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ }
+
+ // A special, fast, case for the most common use of each
+ } else {
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback.call( obj[ i ], i, obj[ i ] );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ value = callback.call( obj[ i ], i, obj[ i ] );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android<4.1
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArraylike( Object(arr) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var value,
+ i = 0,
+ length = elems.length,
+ isArray = isArraylike( elems ),
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // Bind a function to a context, optionally partially applying any
+ // arguments.
+ proxy: function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !jQuery.isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+ },
+
+ now: Date.now,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+});
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+function isArraylike( obj ) {
+
+ // Support: iOS 8.2 (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = "length" in obj && obj.length,
+ type = jQuery.type( obj );
+
+ if ( type === "function" || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ if ( obj.nodeType === 1 && length ) {
+ return true;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.2.0-pre
+ * http://sizzlejs.com/
+ *
+ * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2014-12-16
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // General-purpose constants
+ MAX_NEGATIVE = 1 << 31,
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // http://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+ // http://www.w3.org/TR/css3-syntax/#characters
+ characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
+
+ // Loosely modeled on CSS identifier characters
+ // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
+ // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = characterEncoding.replace( "w", "w#" ),
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + characterEncoding + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + characterEncoding + ")" ),
+ "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
+ "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+ rescape = /'|\\/g,
+
+ // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ };
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var match, elem, m, nodeType,
+ // QSA vars
+ i, groups, old, nid, newContext, newSelector;
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+
+ context = context || document;
+ results = results || [];
+ nodeType = context.nodeType;
+
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ if ( !seed && documentIsHTML ) {
+
+ // Try to shortcut find operations when possible (e.g., not under DocumentFragment)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+ // Speed-up: Sizzle("#ID")
+ if ( (m = match[1]) ) {
+ if ( nodeType === 9 ) {
+ elem = context.getElementById( m );
+ // Check parentNode to catch when Blackberry 4.6 returns
+ // nodes that are no longer in the document (jQuery #6963)
+ if ( elem && elem.parentNode ) {
+ // Handle the case where IE, Opera, and Webkit return items
+ // by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+ } else {
+ // Context is not a document
+ if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
+ contains( context, elem ) && elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Speed-up: Sizzle("TAG")
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Speed-up: Sizzle(".CLASS")
+ } else if ( (m = match[3]) && support.getElementsByClassName ) {
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // QSA path
+ if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+ nid = old = expando;
+ newContext = context;
+ newSelector = nodeType !== 1 && selector;
+
+ // qSA works strangely on Element-rooted queries
+ // We can work around this by specifying an extra ID on the root
+ // and working up from there (Thanks to Andrew Dupont for the technique)
+ // IE 8 doesn't work on object elements
+ if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
+ groups = tokenize( selector );
+
+ if ( (old = context.getAttribute("id")) ) {
+ nid = old.replace( rescape, "\\$&" );
+ } else {
+ context.setAttribute( "id", nid );
+ }
+ nid = "[id='" + nid + "'] ";
+
+ i = groups.length;
+ while ( i-- ) {
+ groups[i] = nid + toSelector( groups[i] );
+ }
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;
+ newSelector = groups.join(",");
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch(qsaError) {
+ } finally {
+ if ( !old ) {
+ context.removeAttribute("id");
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {Function(string, Object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created div and expects a boolean result
+ */
+function assert( fn ) {
+ var div = document.createElement("div");
+
+ try {
+ return !!fn( div );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( div.parentNode ) {
+ div.parentNode.removeChild( div );
+ }
+ // release memory in IE
+ div = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = attrs.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ ( ~b.sourceIndex || MAX_NEGATIVE ) -
+ ( ~a.sourceIndex || MAX_NEGATIVE );
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, parent,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // If no document and documentElement is available, return
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Set our document
+ document = doc;
+ docElem = doc.documentElement;
+ parent = doc.defaultView;
+
+ // Support: IE>8
+ // If iframe document is assigned to "document" variable and if iframe has been reloaded,
+ // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
+ // IE6-8 do not support the defaultView property so parent will be undefined
+ if ( parent && parent !== parent.top ) {
+ // IE11 does not have attachEvent, so all must suffer
+ if ( parent.addEventListener ) {
+ parent.addEventListener( "unload", unloadHandler, false );
+ } else if ( parent.attachEvent ) {
+ parent.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Support tests
+ ---------------------------------------------------------------------- */
+ documentIsHTML = !isXML( doc );
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( div ) {
+ div.className = "i";
+ return !div.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( div ) {
+ div.appendChild( doc.createComment("") );
+ return !div.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( doc.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( div ) {
+ docElem.appendChild( div ).id = expando;
+ return !doc.getElementsByName || !doc.getElementsByName( expando ).length;
+ });
+
+ // ID find and filter
+ if ( support.getById ) {
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var m = context.getElementById( id );
+ // Check parentNode to catch when Blackberry 4.6 returns
+ // nodes that are no longer in the document #6963
+ return m && m.parentNode ? [ m ] : [];
+ }
+ };
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ } else {
+ // Support: IE6/7
+ // getElementById is not reliable as a find shortcut
+ delete Expr.find["ID"];
+
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See http://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( div ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // http://bugs.jquery.com/ticket/12359
+ docElem.appendChild( div ).innerHTML = "" +
+ "";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( div.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !div.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+
+ if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibing-combinator selector` fails
+ if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( div ) {
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = doc.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ div.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( div.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":enabled").length ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ div.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( div ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( div, "div" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( div, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully does not implement inclusive descendent
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === doc ? -1 :
+ b === doc ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return doc;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {}
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, outerCache, node, diff, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+ // Seek `elem` from a previously-cached index
+ outerCache = parent[ expando ] || (parent[ expando ] = {});
+ cache = outerCache[ type ] || [];
+ nodeIndex = cache[0] === dirruns && cache[1];
+ diff = cache[0] === dirruns && cache[2];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ outerCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ // Use previously-cached element index if available
+ } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {
+ diff = cache[1];
+
+ // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ } else {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": function( elem ) {
+ return elem.disabled === false;
+ },
+
+ "disabled": function( elem ) {
+ return elem.disabled === true;
+ },
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ checkNonElements = base && dir === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+ if ( (oldCache = outerCache[ dir ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ outerCache[ dir ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context !== document && context;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Keep `i` a string if there are no elements so `matchedCount` will be "00" below
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context, xml ) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // Apply set filters to unmatched elements
+ matchedCount += i;
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is no seed and only one group
+ if ( match.length === 1 ) {
+
+ // Take a shortcut and set the context if the root selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ support.getById && context.nodeType === 9 && documentIsHTML &&
+ Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( div1 ) {
+ // Should return 1, but returns 4 (following)
+ return div1.compareDocumentPosition( document.createElement("div") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( div ) {
+ div.innerHTML = "";
+ return div.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( div ) {
+ div.innerHTML = "";
+ div.firstChild.setAttribute( "value", "" );
+ return div.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( div ) {
+ return div.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+jQuery.expr[":"] = jQuery.expr.pseudos;
+jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( jQuery.isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ /* jshint -W018 */
+ return !!qualifier.call( elem, i, elem ) !== not;
+ });
+
+ }
+
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ });
+
+ }
+
+ if ( typeof qualifier === "string" ) {
+ if ( risSimple.test( qualifier ) ) {
+ return jQuery.filter( qualifier, elements, not );
+ }
+
+ qualifier = jQuery.filter( qualifier, elements );
+ }
+
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) >= 0 ) !== not;
+ });
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ return elems.length === 1 && elem.nodeType === 1 ?
+ jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
+ jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ }));
+};
+
+jQuery.fn.extend({
+ find: function( selector ) {
+ var i,
+ len = this.length,
+ ret = [],
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter(function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ }) );
+ }
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ // Needed because $( selector, context ) becomes $( context ).find( selector )
+ ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
+ ret.selector = this.selector ? this.selector + " " + selector : selector;
+ return ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow(this, selector || [], false) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow(this, selector || [], true) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+});
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+
+ init = jQuery.fn.init = function( selector, context ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) {
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && (match[1] || !context) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[1] ) {
+ context = context instanceof jQuery ? context[0] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[1],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[2] );
+
+ // Support: Blackberry 4.6
+ // gEBID returns nodes no longer in the document (#6963)
+ if ( elem && elem.parentNode ) {
+ // Inject the element directly into the jQuery object
+ this.length = 1;
+ this[0] = elem;
+ }
+
+ this.context = document;
+ this.selector = selector;
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || rootjQuery ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this.context = this[0] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( jQuery.isFunction( selector ) ) {
+ return typeof rootjQuery.ready !== "undefined" ?
+ rootjQuery.ready( selector ) :
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ if ( selector.selector !== undefined ) {
+ this.selector = selector.selector;
+ this.context = selector.context;
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.extend({
+ dir: function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+ },
+
+ sibling: function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+ }
+});
+
+jQuery.fn.extend({
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter(function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[i] ) ) {
+ return true;
+ }
+ }
+ });
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
+ jQuery( selectors, context || this.context ) :
+ 0;
+
+ for ( ; i < l; i++ ) {
+ for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) {
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && (pos ?
+ pos.index(cur) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector(cur, selectors)) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.unique(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter(selector)
+ );
+ }
+});
+
+function sibling( cur, dir ) {
+ while ( (cur = cur[dir]) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each({
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return jQuery.dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return jQuery.dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return jQuery.dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return jQuery.sibling( elem.firstChild );
+ },
+ contents: function( elem ) {
+ return elem.contentDocument || jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.unique( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+});
+var rnotwhite = (/\S+/g);
+
+
+
+// String to Object options format cache
+var optionsCache = {};
+
+// Convert String-formatted options into Object-formatted ones and store in cache
+function createOptions( options ) {
+ var object = optionsCache[ options ] = {};
+ jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ });
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ ( optionsCache[ options ] || createOptions( options ) ) :
+ jQuery.extend( {}, options );
+
+ var // Last fire value (for non-forgettable lists)
+ memory,
+ // Flag to know if list was already fired
+ fired,
+ // Flag to know if list is currently firing
+ firing,
+ // First callback to fire (used internally by add and fireWith)
+ firingStart,
+ // End of the loop when firing
+ firingLength,
+ // Index of currently firing callback (modified by remove if needed)
+ firingIndex,
+ // Actual callback list
+ list = [],
+ // Stack of fire calls for repeatable lists
+ stack = !options.once && [],
+ // Fire callbacks
+ fire = function( data ) {
+ memory = options.memory && data;
+ fired = true;
+ firingIndex = firingStart || 0;
+ firingStart = 0;
+ firingLength = list.length;
+ firing = true;
+ for ( ; list && firingIndex < firingLength; firingIndex++ ) {
+ if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
+ memory = false; // To prevent further calls using add
+ break;
+ }
+ }
+ firing = false;
+ if ( list ) {
+ if ( stack ) {
+ if ( stack.length ) {
+ fire( stack.shift() );
+ }
+ } else if ( memory ) {
+ list = [];
+ } else {
+ self.disable();
+ }
+ }
+ },
+ // Actual Callbacks object
+ self = {
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+ // First, we save the current length
+ var start = list.length;
+ (function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ var type = jQuery.type( arg );
+ if ( type === "function" ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && type !== "string" ) {
+ // Inspect recursively
+ add( arg );
+ }
+ });
+ })( arguments );
+ // Do we need to add the callbacks to the
+ // current firing batch?
+ if ( firing ) {
+ firingLength = list.length;
+ // With memory, if we're not firing then
+ // we should call right away
+ } else if ( memory ) {
+ firingStart = start;
+ fire( memory );
+ }
+ }
+ return this;
+ },
+ // Remove a callback from the list
+ remove: function() {
+ if ( list ) {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+ // Handle firing indexes
+ if ( firing ) {
+ if ( index <= firingLength ) {
+ firingLength--;
+ }
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ }
+ });
+ }
+ return this;
+ },
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );
+ },
+ // Remove all callbacks from the list
+ empty: function() {
+ list = [];
+ firingLength = 0;
+ return this;
+ },
+ // Have the list do nothing anymore
+ disable: function() {
+ list = stack = memory = undefined;
+ return this;
+ },
+ // Is it disabled?
+ disabled: function() {
+ return !list;
+ },
+ // Lock the list in its current state
+ lock: function() {
+ stack = undefined;
+ if ( !memory ) {
+ self.disable();
+ }
+ return this;
+ },
+ // Is it locked?
+ locked: function() {
+ return !stack;
+ },
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( list && ( !fired || stack ) ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ if ( firing ) {
+ stack.push( args );
+ } else {
+ fire( args );
+ }
+ }
+ return this;
+ },
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+jQuery.extend({
+
+ Deferred: function( func ) {
+ var tuples = [
+ // action, add listener, listener list, final state
+ [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
+ [ "notify", "progress", jQuery.Callbacks("memory") ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ then: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+ return jQuery.Deferred(function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+ var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
+ // deferred[ done | fail | progress ] for forwarding actions to newDefer
+ deferred[ tuple[1] ](function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && jQuery.isFunction( returned.promise ) ) {
+ returned.promise()
+ .done( newDefer.resolve )
+ .fail( newDefer.reject )
+ .progress( newDefer.notify );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
+ }
+ });
+ });
+ fns = null;
+ }).promise();
+ },
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Keep pipe for back-compat
+ promise.pipe = promise.then;
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 3 ];
+
+ // promise[ done | fail | progress ] = list.add
+ promise[ tuple[1] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(function() {
+ // state = [ resolved | rejected ]
+ state = stateString;
+
+ // [ reject_list | resolve_list ].disable; progress_list.lock
+ }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
+ }
+
+ // deferred[ resolve | reject | notify ]
+ deferred[ tuple[0] ] = function() {
+ deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
+ return this;
+ };
+ deferred[ tuple[0] + "With" ] = list.fireWith;
+ });
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( subordinate /* , ..., subordinateN */ ) {
+ var i = 0,
+ resolveValues = slice.call( arguments ),
+ length = resolveValues.length,
+
+ // the count of uncompleted subordinates
+ remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
+
+ // the master Deferred. If resolveValues consist of only a single Deferred, just use that.
+ deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
+
+ // Update function for both resolve and progress values
+ updateFunc = function( i, contexts, values ) {
+ return function( value ) {
+ contexts[ i ] = this;
+ values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( values === progressValues ) {
+ deferred.notifyWith( contexts, values );
+ } else if ( !( --remaining ) ) {
+ deferred.resolveWith( contexts, values );
+ }
+ };
+ },
+
+ progressValues, progressContexts, resolveContexts;
+
+ // Add listeners to Deferred subordinates; treat others as resolved
+ if ( length > 1 ) {
+ progressValues = new Array( length );
+ progressContexts = new Array( length );
+ resolveContexts = new Array( length );
+ for ( ; i < length; i++ ) {
+ if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
+ resolveValues[ i ].promise()
+ .done( updateFunc( i, resolveContexts, resolveValues ) )
+ .fail( deferred.reject )
+ .progress( updateFunc( i, progressContexts, progressValues ) );
+ } else {
+ --remaining;
+ }
+ }
+ }
+
+ // If we're not waiting on anything, resolve the master
+ if ( !remaining ) {
+ deferred.resolveWith( resolveContexts, resolveValues );
+ }
+
+ return deferred.promise();
+ }
+});
+
+
+// The deferred used on DOM ready
+var readyList;
+
+jQuery.fn.ready = function( fn ) {
+ // Add the callback
+ jQuery.ready.promise().done( fn );
+
+ return this;
+};
+
+jQuery.extend({
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Hold (or release) the ready event
+ holdReady: function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+ },
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+
+ // Trigger any bound ready events
+ if ( jQuery.fn.triggerHandler ) {
+ jQuery( document ).triggerHandler( "ready" );
+ jQuery( document ).off( "ready" );
+ }
+ }
+});
+
+/**
+ * The ready event handler and self cleanup method
+ */
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed, false );
+ window.removeEventListener( "load", completed, false );
+ jQuery.ready();
+}
+
+jQuery.ready.promise = function( obj ) {
+ if ( !readyList ) {
+
+ readyList = jQuery.Deferred();
+
+ // Catch cases where $(document).ready() is called after the browser event has already occurred.
+ // We once tried to use readyState "interactive" here, but it caused issues like the one
+ // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
+ if ( document.readyState === "complete" ) {
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ setTimeout( jQuery.ready );
+
+ } else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed, false );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed, false );
+ }
+ }
+ return readyList.promise( obj );
+};
+
+// Kick off the DOM ready check even if the user does not
+jQuery.ready.promise();
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
+ }
+ }
+ }
+
+ return chainable ?
+ elems :
+
+ // Gets
+ bulk ?
+ fn.call( elems ) :
+ len ? fn( elems[0], key ) : emptyGet;
+};
+
+
+/**
+ * Determines whether an object can have data
+ */
+jQuery.acceptData = function( owner ) {
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ /* jshint -W018 */
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+function Data() {
+ // Support: Android<4,
+ // Old WebKit does not have Object.preventExtensions/freeze method,
+ // return new empty object instead with no [[set]] accessor
+ Object.defineProperty( this.cache = {}, 0, {
+ get: function() {
+ return {};
+ }
+ });
+
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+Data.accepts = jQuery.acceptData;
+
+Data.prototype = {
+ key: function( owner ) {
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return the key for a frozen object.
+ if ( !Data.accepts( owner ) ) {
+ return 0;
+ }
+
+ var descriptor = {},
+ // Check if the owner object already has a cache key
+ unlock = owner[ this.expando ];
+
+ // If not, create one
+ if ( !unlock ) {
+ unlock = Data.uid++;
+
+ // Secure it in a non-enumerable, non-writable property
+ try {
+ descriptor[ this.expando ] = { value: unlock };
+ Object.defineProperties( owner, descriptor );
+
+ // Support: Android<4
+ // Fallback to a less secure definition
+ } catch ( e ) {
+ descriptor[ this.expando ] = unlock;
+ jQuery.extend( owner, descriptor );
+ }
+ }
+
+ // Ensure the cache object
+ if ( !this.cache[ unlock ] ) {
+ this.cache[ unlock ] = {};
+ }
+
+ return unlock;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ // There may be an unlock assigned to this node,
+ // if there is no entry for this "owner", create one inline
+ // and set the unlock as though an owner entry had always existed
+ unlock = this.key( owner ),
+ cache = this.cache[ unlock ];
+
+ // Handle: [ owner, key, value ] args
+ if ( typeof data === "string" ) {
+ cache[ data ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+ // Fresh assignments by object are shallow copied
+ if ( jQuery.isEmptyObject( cache ) ) {
+ jQuery.extend( this.cache[ unlock ], data );
+ // Otherwise, copy the properties one-by-one to the cache object
+ } else {
+ for ( prop in data ) {
+ cache[ prop ] = data[ prop ];
+ }
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ // Either a valid cache is found, or will be created.
+ // New caches will be created and the unlock returned,
+ // allowing direct access to the newly created
+ // empty data object. A valid owner object must be provided.
+ var cache = this.cache[ this.key( owner ) ];
+
+ return key === undefined ?
+ cache : cache[ key ];
+ },
+ access: function( owner, key, value ) {
+ var stored;
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ((key && typeof key === "string") && value === undefined) ) {
+
+ stored = this.get( owner, key );
+
+ return stored !== undefined ?
+ stored : this.get( owner, jQuery.camelCase(key) );
+ }
+
+ // [*]When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i, name, camel,
+ unlock = this.key( owner ),
+ cache = this.cache[ unlock ];
+
+ if ( key === undefined ) {
+ this.cache[ unlock ] = {};
+
+ } else {
+ // Support array or space separated string of keys
+ if ( jQuery.isArray( key ) ) {
+ // If "name" is an array of keys...
+ // When data is initially created, via ("key", "val") signature,
+ // keys will be converted to camelCase.
+ // Since there is no way to tell _how_ a key was added, remove
+ // both plain key and camelCase key. #12786
+ // This will only penalize the array argument path.
+ name = key.concat( key.map( jQuery.camelCase ) );
+ } else {
+ camel = jQuery.camelCase( key );
+ // Try the string as a key before any manipulation
+ if ( key in cache ) {
+ name = [ key, camel ];
+ } else {
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ name = camel;
+ name = name in cache ?
+ [ name ] : ( name.match( rnotwhite ) || [] );
+ }
+ }
+
+ i = name.length;
+ while ( i-- ) {
+ delete cache[ name[ i ] ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ return !jQuery.isEmptyObject(
+ this.cache[ owner[ this.expando ] ] || {}
+ );
+ },
+ discard: function( owner ) {
+ if ( owner[ this.expando ] ) {
+ delete this.cache[ owner[ this.expando ] ];
+ }
+ }
+};
+var data_priv = new Data();
+
+var data_user = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /([A-Z])/g;
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = data === "true" ? true :
+ data === "false" ? false :
+ data === "null" ? null :
+ // Only convert to a number if it doesn't change the string
+ +data + "" === data ? +data :
+ rbrace.test( data ) ? jQuery.parseJSON( data ) :
+ data;
+ } catch( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ data_user.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend({
+ hasData: function( elem ) {
+ return data_user.hasData( elem ) || data_priv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return data_user.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ data_user.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to data_priv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return data_priv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ data_priv.remove( elem, name );
+ }
+});
+
+jQuery.fn.extend({
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = data_user.get( elem );
+
+ if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE11+
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = jQuery.camelCase( name.slice(5) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ data_priv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each(function() {
+ data_user.set( this, key );
+ });
+ }
+
+ return access( this, function( value ) {
+ var data,
+ camelKey = jQuery.camelCase( key );
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+ // Attempt to get data from the cache
+ // with the key as-is
+ data = data_user.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to get data from the cache
+ // with the key camelized
+ data = data_user.get( elem, camelKey );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, camelKey, undefined );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each(function() {
+ // First, attempt to store a copy or reference of any
+ // data that might've been store with a camelCased key.
+ var data = data_user.get( this, camelKey );
+
+ // For HTML5 data-* attribute interop, we have to
+ // store property names with dashes in a camelCase form.
+ // This might not apply to all properties...*
+ data_user.set( this, camelKey, value );
+
+ // *... In the case of properties that might _actually_
+ // have dashes, we need to also store a copy of that
+ // unchanged property.
+ if ( key.indexOf("-") !== -1 && data !== undefined ) {
+ data_user.set( this, key, value );
+ }
+ });
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each(function() {
+ data_user.remove( this, key );
+ });
+ }
+});
+
+
+jQuery.extend({
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = data_priv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || jQuery.isArray( data ) ) {
+ queue = data_priv.access( elem, type, jQuery.makeArray(data) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return data_priv.get( elem, key ) || data_priv.access( elem, key, {
+ empty: jQuery.Callbacks("once memory").add(function() {
+ data_priv.remove( elem, [ type + "queue", key ] );
+ })
+ });
+ }
+});
+
+jQuery.fn.extend({
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[0], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each(function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[0] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ });
+ },
+ dequeue: function( type ) {
+ return this.each(function() {
+ jQuery.dequeue( this, type );
+ });
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = data_priv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+});
+var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHidden = function( elem, el ) {
+ // isHidden might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+ return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
+ };
+
+var rcheckableType = (/^(?:checkbox|radio)$/i);
+
+
+
+(function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Safari<=5.1
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Safari<=5.1, Android<4.2
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE<=11+
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+})();
+var strundefined = typeof undefined;
+
+
+
+support.focusinBubbles = "onfocusin" in window;
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
+ rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = data_priv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !(events = elemData.events) ) {
+ events = elemData.events = {};
+ }
+ if ( !(eventHandle = elemData.handle) ) {
+ eventHandle = elemData.handle = function( e ) {
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[t] ) || [];
+ type = origType = tmp[1];
+ namespaces = ( tmp[2] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend({
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join(".")
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !(handlers = events[ type ]) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle, false );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = data_priv.hasData( elem ) && data_priv.get( elem );
+
+ if ( !elemData || !(events = elemData.events) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[t] ) || [];
+ type = origType = tmp[1];
+ namespaces = ( tmp[2] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ delete elemData.handle;
+ data_priv.remove( elem, "events" );
+ }
+ },
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : [];
+
+ cur = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf(".") >= 0 ) {
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split(".");
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf(":") < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join(".");
+ event.namespace_re = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === (elem.ownerDocument || document) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
+
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && jQuery.acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&
+ jQuery.acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+ elem[ type ]();
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ dispatch: function( event ) {
+
+ // Make a writable jQuery.Event from the native event object
+ event = jQuery.event.fix( event );
+
+ var i, j, ret, matched, handleObj,
+ handlerQueue = [],
+ args = slice.call( arguments ),
+ handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[0] = event;
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
+
+ // Triggered event must either 1) have no namespace, or 2) have namespace(s)
+ // a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
+ .apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( (event.result = ret) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, matches, sel, handleObj,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ // Black-hole SVG