From 501c1aaf63d8370df203cbfe5b8d164c9dbf2de1 Mon Sep 17 00:00:00 2001 From: Build bot Date: Wed, 9 Dec 2015 18:08:32 +0000 Subject: [PATCH] Automatic front build --- dist/css/main.css | 5991 ++++++++ dist/css/main.min.css | 1 + .../apple-touch-icon-114x114-precomposed.png | Bin 0 -> 12553 bytes .../apple-touch-icon-144x144-precomposed.png | Bin 0 -> 14838 bytes .../apple-touch-icon-57x57-precomposed.png | Bin 0 -> 3071 bytes .../apple-touch-icon-72x72-precomposed.png | Bin 0 -> 4511 bytes dist/images/apple-touch-icon-precomposed.png | Bin 0 -> 3071 bytes dist/images/apple-touch-icon.png | Bin 0 -> 3071 bytes dist/images/beta.png | Bin 0 -> 2121 bytes dist/images/favicon.png | Bin 0 -> 3071 bytes dist/images/home-clem.png | Bin 0 -> 11550 bytes dist/images/home-clem@2x.png | Bin 0 -> 31430 bytes dist/images/logo-background.png | Bin 0 -> 5121 bytes dist/images/logo-mobile.png | Bin 0 -> 2073 bytes dist/images/logo-mobile@2x.png | Bin 0 -> 6616 bytes dist/images/logo.png | Bin 0 -> 4769 bytes dist/images/logo@2x.png | Bin 0 -> 8402 bytes dist/images/sprite.png | Bin 0 -> 28565 bytes dist/images/sprite@2x.png | Bin 0 -> 56241 bytes dist/images/tutorials.png | Bin 0 -> 846 bytes dist/js/all.js | 11858 ++++++++++++++++ dist/js/all.min.js | 5 + dist/js/main.js | 2483 ++++ dist/js/main.min.js | 2 + dist/js/vendors.js | 9374 ++++++++++++ dist/js/vendors.min.js | 3 + dist/smileys/ange.png | Bin 0 -> 583 bytes dist/smileys/angry.gif | Bin 0 -> 3523 bytes dist/smileys/blink.gif | Bin 0 -> 719 bytes dist/smileys/clin.png | Bin 0 -> 453 bytes dist/smileys/cthulhu.png | Bin 0 -> 253 bytes dist/smileys/diable.png | Bin 0 -> 473 bytes dist/smileys/heureux.png | Bin 0 -> 429 bytes dist/smileys/hihi.png | Bin 0 -> 437 bytes dist/smileys/huh.png | Bin 0 -> 447 bytes dist/smileys/langue.png | Bin 0 -> 451 bytes dist/smileys/magicien.png | Bin 0 -> 630 bytes dist/smileys/mechant.png | Bin 0 -> 440 bytes dist/smileys/ninja.png | Bin 0 -> 407 bytes dist/smileys/pinch.png | Bin 0 -> 433 bytes dist/smileys/pirate.png | Bin 0 -> 511 bytes dist/smileys/pleure.png | Bin 0 -> 457 bytes dist/smileys/rire.gif | Bin 0 -> 339 bytes dist/smileys/rouge.png | Bin 0 -> 605 bytes dist/smileys/siffle.png | Bin 0 -> 466 bytes dist/smileys/smile.png | Bin 0 -> 442 bytes dist/smileys/soleil.png | Bin 0 -> 425 bytes dist/smileys/triste.png | Bin 0 -> 444 bytes dist/smileys/unsure.gif | Bin 0 -> 513 bytes dist/smileys/waw.png | Bin 0 -> 570 bytes dist/smileys/zorro.png | Bin 0 -> 613 bytes 51 files changed, 29717 insertions(+) create mode 100644 dist/css/main.css create mode 100644 dist/css/main.min.css create mode 100644 dist/images/apple-touch-icon-114x114-precomposed.png create mode 100644 dist/images/apple-touch-icon-144x144-precomposed.png create mode 100644 dist/images/apple-touch-icon-57x57-precomposed.png create mode 100644 dist/images/apple-touch-icon-72x72-precomposed.png create mode 100644 dist/images/apple-touch-icon-precomposed.png create mode 100644 dist/images/apple-touch-icon.png create mode 100644 dist/images/beta.png create mode 100644 dist/images/favicon.png create mode 100644 dist/images/home-clem.png create mode 100644 dist/images/home-clem@2x.png create mode 100644 dist/images/logo-background.png create mode 100644 dist/images/logo-mobile.png create mode 100644 dist/images/logo-mobile@2x.png create mode 100644 dist/images/logo.png create mode 100644 dist/images/logo@2x.png create mode 100644 dist/images/sprite.png create mode 100644 dist/images/sprite@2x.png create mode 100644 dist/images/tutorials.png create mode 100644 dist/js/all.js create mode 100644 dist/js/all.min.js create mode 100644 dist/js/main.js create mode 100644 dist/js/main.min.js create mode 100644 dist/js/vendors.js create mode 100644 dist/js/vendors.min.js create mode 100644 dist/smileys/ange.png create mode 100644 dist/smileys/angry.gif create mode 100644 dist/smileys/blink.gif create mode 100644 dist/smileys/clin.png create mode 100644 dist/smileys/cthulhu.png create mode 100644 dist/smileys/diable.png create mode 100644 dist/smileys/heureux.png create mode 100644 dist/smileys/hihi.png create mode 100644 dist/smileys/huh.png create mode 100644 dist/smileys/langue.png create mode 100644 dist/smileys/magicien.png create mode 100644 dist/smileys/mechant.png create mode 100644 dist/smileys/ninja.png create mode 100644 dist/smileys/pinch.png create mode 100644 dist/smileys/pirate.png create mode 100644 dist/smileys/pleure.png create mode 100644 dist/smileys/rire.gif create mode 100644 dist/smileys/rouge.png create mode 100644 dist/smileys/siffle.png create mode 100644 dist/smileys/smile.png create mode 100644 dist/smileys/soleil.png create mode 100644 dist/smileys/triste.png create mode 100644 dist/smileys/unsure.gif create mode 100644 dist/smileys/waw.png create mode 100644 dist/smileys/zorro.png diff --git a/dist/css/main.css b/dist/css/main.css new file mode 100644 index 0000000000..60050e487b --- /dev/null +++ b/dist/css/main.css @@ -0,0 +1,5991 @@ +@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); + 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 3px 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 { + cursor: pointer; } + .topic-message .message .message-bottom .signature p { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + .topic-message .message .message-bottom .signature.full p { + white-space: normal; } } + +@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..c4189a8903 --- /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);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 3px 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{cursor:pointer}.topic-message .message .message-bottom .signature p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-message .message .message-bottom .signature.full p{white-space:normal}}@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 0000000000000000000000000000000000000000..a92558a69161cf9bedec99f43977b9a4aa6c883f GIT binary patch literal 12553 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 f#u%*sgU9~|Vfx%q@A-KB*g1ZHG*B^Jc05@;< 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 HWft^5BOH!y literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..eb25fdc0a2e7263bc63ce055326ae6bf7e0d46c2 GIT binary patch literal 3071 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 N002ovPDHLkV1l-q=*s{A literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..522da6c239271576c947560c7d3b75e9fc4357ef GIT binary patch literal 4511 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 N002ovPDHLkV1l-q=*s{A literal 0 HcmV?d00001 diff --git a/dist/images/apple-touch-icon.png b/dist/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..eb25fdc0a2e7263bc63ce055326ae6bf7e0d46c2 GIT binary patch literal 3071 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 N002ovPDHLkV1l-q=*s{A literal 0 HcmV?d00001 diff --git a/dist/images/beta.png b/dist/images/beta.png new file mode 100644 index 0000000000000000000000000000000000000000..b87be2af0ee19d4e533b3c8e9bb50cdb5e56d78d GIT binary patch literal 2121 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 N002ovPDHLkV1l-q=*s{A literal 0 HcmV?d00001 diff --git a/dist/images/home-clem.png b/dist/images/home-clem.png new file mode 100644 index 0000000000000000000000000000000000000000..a359b53c52e6dd8239dbddc000282b574b27434e GIT binary patch literal 11550 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 Qp8x;=07*qoM6N<$g0;9Q$^ZZW literal 0 HcmV?d00001 diff --git a/dist/images/home-clem@2x.png b/dist/images/home-clem@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ee76b0ff9329b4d0c79495500a7c1934e69e2b41 GIT binary patch literal 31430 zcmV)sK$yRYP)l~4&) z$(f(*RMp<+?7i1oW6d$fZ~Vq@$n(GV!Ng!_HcPf!szSBif#dtD7eZaK-ahvf7Z^r%PU4+xW2(-jNyA@-2Ug>&Z)Z3tp}>|qsHh9&)!?p zP4!2*PLGQ07|4Bntpnc=ye0&#*EfWXbsIy)BaPu*syha9UtTW-UI#pIu$EnxsG3%nbcyYex> z+Ag7a-K<=IEO5hI{jYAb8kzKnAoUwSXsPfQ*x3#+!j>w8g zb;m&Ned|HMp8)%o5Qqq6A*`=EV(i_GoZYtZ3h(v(#_Sl#y?tGl-O9d|*oP|XYfx1V z9~4zZfV1`#SE0OrRjO-t&gs2oT?G7fZyX}PIHpigA{!eHD}qKvGeBky57NA&EIxL2 zkbB4454;IDw|_!RM0Ixm#|T9MYikxCEl~qTT8a|9*9YEmb4yX09T#&iT$3DgJbV_6 z3J4ghM4$d1HKn#?S)tnCTtke87)zX!OI=}bZYKu0H?BVf9yxwOMA0Z18v&bKjlk~R zP*ulhyMXU%f-ezKtkp};I?J7Fow;=}*WEFYGkg6$@Qtfp&?rce3a7p^RF!Af?hfxK zbj?~Wq()T181}SnJYSo5>tdj~V<2bl`UT*5+r6kNXb`N6v@J~54Z>NpjR69nDTYK8H<#TdaA<_aGayJH|{ z{CY9)6DRY7szT_5x(=+Zm4pz7%s1^GJ#Po9%3NX$I|g!wucrgAUp54=R*6xTc9E_T z)^`<@g(dizL1+{dMHM9BCKr3JERu(I4CKsN4*`B}d!GVgQuZ?5LBvMZ)+z)cYRpCy zF{UF%gQ^9iAe`4Ukwv(D2T46M)^6Z!z^+wrxJatA7&CwS$EZ{_)OCRmplYzT#ky%K z+(k3&BG$-0V>sIwn0xG;`!izwF>rCu_g#X~A?*wT#^?yjh}08@vjrkkisBd|5#LpW zP=Lyi%@`y51kPXl;2jrp`mbLlaXb2Jo?!H7R$w0n<02urw4+#MV;7X=F}zp0wj}rx zC6bFX$(Rg?;Hui3YmDg=;2jrp2CRP#yks0_#3*S8G0SeIf6bUkj8IJi8yhVlSla0Z zA(S9t*nTvd3Q~%Yfh77T<`17%;NT5e(j7j8ayCwYoy1 z1rq+z2c%?xEJlM!z?cqW6fv?-B<)81W5+;F&y3|Qz=jxIY8>lb2`FOYT(Byl#9)X) zs3wuJbZ8HT#on{XP=~R$K_sMXCK`+^6ODEZm*R?DLeO+Ut&%ul^Q&!B zYFk)Kj5G8!Mgu6uPBE?{sv-D-=xx7a?2mDWFmyVv9|E2;PF=0Z09Z(A>=3Ma!B{Xh z5`!5GNflfXsp}F%h^j;tR3omK0x5R!z9fbms!ET>%D%Fcxfo=}Ku(|aRN%+vcZxpV zi0A@BrU)9rx?~{zjsr?n3uRH@y`)}e+kkY$VDY}f2a6C9l-S24>6gzkMvO5sAZ|`X z1!1Q{`fI!P1HZGvmt;I+8Ak8p4QImujwu4-nM@o;3Xq1J0WR(99 zBZ$a;;|yc8-87pep|w9CqQ8K0znyFKHCVzQ7#sJl%viG95Ti?K38|JM7#GrOnq1Cg z0#$t!V>a==q?v9cHuFurx_JNqOt`YI7V2K*#&!Om5? z$JS2~`T9OXS=`G-7-EdYS_?q*CQ}Pj8^dHhvcA^RwU(yYjqj?oV-SWE7fm}(ADdu3 zlHPlF^m;+?O8+oo6qJ3aAXfLH{2=gA;Aen~cdp;vy1o&3ZNfH8iZxd4BKg9ag3N%JkN2qB`*^CiSQA`nu1n=m&A`yfnci9OB*faio z13UmIlNF~ovM$cPWD1b>$6$WgclK|QQSoSJ-PQF9WAvFzJ3%zL^u8R6^lqq+H|C#D z)WWJNu+|cKT9`^gT}{BbDaLg8;P73UVD>&>)j6XKb2~^;`%8wL8}OY0(S*`vOBIs; zL%5PuettLbl%4B*m)3)UpU*6=5Gn|lkE&7boL_a6kA4I5wR{1gBg5b%B^+Lpsxe|oWzg3Xy=;Wsr9QU z1uNW1%2?9*UR4B9%{zQCyLnR=U8Jf7=L$l;yhX7|Q65Kuwyp8LNHJzE>5k!a<{#%U zN`XxbW}<2aA7`y%ZN!xxSNiN?va4C%_g)Nq4ERC7?p*sjT(1Eh$GG5TwlM-5mv9de zCHj=@$SCC%>#52LD;8t7D9U3Xk*1l@HWN@y-FC{ba}2qSrthKvCSsiKwKjPWV-+K! zpONgZLa_MO5xk{q9LA*FTSPel*1DdtllKA7+_8ae*X6*E&mmy2yo-?PE~_fJeVme- zonivGR4EE!Qb&sN2*$K@-GpYkPE?CXm@&r|c8wmHH8vn7Z3ae6Fvc)EM7Xiv-i(0Q z^vj{O_|D?0kUPa?$!9M3!bbvc1^!>)yd8U3TE7mIi@~MHLOoU>su@txRa&z#7>vs| zt%=l=Kt1tvouirVPH~3x;MoW@Wekuh#(Bj0obK8jw=7&^kk5-q9KaC(lhWN7Oonh} z`Im)6mtS5l1wI12e8(n+^{;@(E~Tz{Ywv}J$Gb=fiTJY!D~Kqeo29(QdaAO-w`b9{ zbw*9&ET&+#bM&8QY=?7Qdd?@0F~q71tTPjW-YBBCi3oE>BFVaaYX^$kVt&3-I58Q` zIjZtsNU{VExsMyi1K6e$PDs~sIV&0A9xHZ{)OQQE^tb{FSLJIn!$0Ob=W=}MJl1sp zc<+c^CKR0@elXU`Z6G%%&gu+eO_cb&djx|kN7+v%vaC|Y>kTZw_H>f!%`5N22J-&^ zYb)<2$uWhbV0Hd{rnGid%8Mwzb3^u0xPrLY5|>>`grOHEaX}oub2((t`3!r-1vSnI zB78En-wDPk&P7}ia79Fn5;~iB1!c%Bdoo!4N`+oof|UPn;E(2z!~4d1Ch*J*Hj?XJ zOS{1g`;di{*C3Ju(uH(bRT8zZED$ksZXs29Q>~>arik%)U(mHxV!jV8594%KdL0o< z-Ww1wKD5N>KSmBxH5!7NL7}Fo0!7`SfO8=OXk_b?d21N3pJgJPh(1?DKb%wJ`@*s$ z5nFncdL@0ZFSyBayrC+oT3duAJk3bN6-rqYBXBI$TC8g+%1y+0LRZkXH8I#(;5xT! zWSW2phzX#2d~9vz{QVcP=d5%8zTct*5EWvugwCaiSWW7i5O7u3H~WsmHTDT}`OU`X759Vt?_)%#0uggKr(p zW`!seRX14RVv06kCbDQBn&TP(z6IQ~LV?(pqB@GTEx{MG(+R=53~bJXVrD6>fQdO^O_W9N?GW6KALdIpf1blf4}Q9E z#qG0;l?;837m#C)t}Sq70?%T0MR%Cl^xN$GnRz(yUf|We5#Ec|PXX1^@rNEg)zxk$ zBiTzSuQwPIQzjV&F#+p@suYUyFxG7)=GfLQd{-v-pLdJ_7$fVJkqpDwkiv;zvmEB| zp~ZX__+rw+G+8|W~(eu zY++~2dL+tsY!{TSLQfa7mbnNnXF5>@Tcng%Or)+Ob=?wtYOCzp3Nqhx4mD+loLc8G z&J!aEF%NbekpOt$_POu+gRlHqe(;q)%axa3{plmeZ^OErz2u-thDMuok*!feSEP8P z^aEV0jEq26xR+H+2f*l?fxje8CpgpBzwJxoA`3n^CjqkJh7mwR(py;NhGJ(iHq~H^ z^%Sncx4USYNpkg>Z#uXW`gRAf)?-{sG`h|ay_-d;ab`rSbilzm1KGRlB6dyAqb|?- zV5$TPLK+$2T)>r{q6$NkPX7gbTTqmvtcGOSsLbsknu~p_@E9G%Jiy~~J?ERxVB@%! z+}G0IIE#i5hx*3?0M-}qVnRq+K`o5IP}VK30B5Q!`4CuuPlke@u^v}W5fky9!?!M< z^jY(EGLC^4;(>N96}#2EpLf0Q%^W^@+aBxO3sPrQax*d7#0|;(5S!E7)X0;fSmOer zvng=OxqQrbNq^)v2Ve8g=RA9e>IJ}oyug@!;0#*7%ZTtTxwaL949C&`Y3)KY zRF7|v0@CQ`<2&ht+|pB3jWY z&JM(u-lCK5WT_inBpKV>$>@h7!mnwN@5;r6(|-w1L;2HXBr;#@1stO&6YnOBy5jn* zrKmmX1;22<09-xg?A>cjsu~|+2FCgZD~~lT5yf}KkeQ?ab)Gq6T=_MFP`&>nQ4$dacEGb|uLLNzKM{#?ULt@Y>k9}@35HTFvy!{{k>H}|P*T(J?-NuZV z5t05NM6(1zvOufJ&)EzIr>#!sQs4f9FO{y1=Gwpt%w%>aUYYTdX8|8RO-~+Kj04(dN`_3)7nb6Bgd6!@f8!;~8%o?b{7RNE-iP6wBYq@nH4ni@^ z6Oq&TG>WxdawlHUXo&M?>eBXCxv}nkkjBNo`%M8Kj2$uncQNwmbFOja_Zj);mgc1&5cZ{ zSQ;~V$T`ELj=1UwMgm=1(M;F!`;5}uQMwzm9;z)o#(H8Dg1199rK4;H_~PQhxetE) zJ$Y+0oW1*;zq|kb%ete-4i#ltXFaR*<%~^1jZq|$)3%Wb8PznsqJy!q#CKEI)x1*9Sw6H!Sd za$g`4sV9-DZfTl|uB}kbao{4AunwIVl;#{k0Q%nKnDP1_~Y|S2J-kv&J7Fr z+*{xIhQGh{&`noYWu4Mo`c}Qv+GmU+MHYk4K~nGrABA?Sq*|Zi%0OuCP-7W<91EGs z3d|(oEvun=5p^2n9XTd>*J)rJ2Ker|ZIN_rI*J`)G#CxZWsD7hBmDnS^ka6IE^d=RR%#c@9H9+DgpU6PC?$OVBZ`)2;WSI56xyI;Fukl?$*OY|LK{Tm> zSOja8vd%3ND>~M<&v9p+UW=itGPm38BGDPY)<*Ijs|s?9aYe6$EDRXWJn}hIYnNXO z-XJbgIES$&VHvPgp%oKwU`u&XU?9a_gUW_@vVw(lS>1CHrrm8EVMnwM@xZ)m%K7?l&qr2E9MHiX3 z=b`CImNnJ;SZ=W~J6+6xvj*o9b8L{WBvO=H*s>u8L(^3FuE;lEoTni6MY|$kY#?fC zv5oUk|EIPKvgX$A^*zTgyx*noYuaf7vT_Y3rAgVv45{mw2|r7Jjmf0iXqWhu{mEKI zMjNMvCxc#Qly(ow+gXq;xZA-~rN2;%&ogj7bip-giYc7Kh$V!y zgSc{wqTE6iy6GfwKvZW%xDoR#NmzMI;Zaq5XHynBEAaF`|KXD|5P*kY@wmTqwnT%? zLaZs}GDZ_V;sQn4VQrWTQY62f$)IW1loWM}zz14D-^#hTMfCB?38wq5q%x*;G4SSl z&^}64p1Pe(#${qM!`45P%R!y zareJwjP|?S=U4%fZEGNtdSmNhS3Lgx$F>e3eVox>#C)fV872e}qs6x+zAMuKsKHvL zC_7x$VGyb{k168pPKqbYf9Dfn(P6g9Nvt2^?r$Rh`Z-`q;x=wZ=DP5Q`cuAWOYTXt zK(0%57i(hz$2K=Ir(@Qo-=i6E2yi{FY``SmuurwUb%^w5CoazTtc%!L z&hAc{JS6-kcV7ef*}$V0i;89i5xK9mEKh{UPID0%RlsYCxVJsu17!gN$)v#&;7PK-(rkXIG;$b zHm2+*U%8&pYz(6;h771>e57?W$7`Gus$WT?z)w8T&(gV9uUvMvRruIv))T4q(=8BUToBEEBIa0!NAA#1Se4jd3k zorm3r&p5H$`8PScxx?j(Kv8+z9XyZ)1L-F{^+@Pq5AD$J5|?g@o)5A((!&%UV=d0w z1djEJ%C@7dHZg?c!ka2*aWkw*(SasvokwiU1v|T)O4NIRo9~K&aMAe>{_{P%_tE-k z!Y=v(9)hYRhLYf`p@GV|h$}l>+3zl(m>lS)kMd1PQKec<4=71)>eZz{bVfc}#Z(hc zDsKI6C$oFlB2ccil#}j6kF&(+wX42Mf48o}^LoV~UD*&d>z_#mlT@7wTOb)66XPkW zO|0wax{|i33DJ(Y!F_Dg!};lkjR;+9GbdITagTnz`;N-h+pfzmy83S~x!}rAPn*qo z_mNZ5^vHo}SKxh-xC=P|E2@sNY6pzONFu9*rlMX?M%15dlTVVYj6YT*vAU|o)97NL zdqv(!P6XN0ZWU}Dt(hLHwtY0ms=b1qyHd<{5T9Ef02HFZNSxOrlUWzOb76?Fj16D} zONF46)h0!`MGTf^Ym(K2ba1gV5^@SyU6~RA-#UD2hMR95Vx3!mahDCmh&ldi!e5v#b;Q`QaTq)pL1HUVg(16ZuV3~|O%QBUs(SzTPO zJDGY-KdouINAPkfP{}IXqnB}5(Y)SEX3Xi&_Me%nwF5oV2Ao*xNrx+s0VEDc+czG@ z1SZBbXsrJ%Tehid&KtV680ZCa^XZn?=T8)W+@XO0Jm#vW{&7*31dRjk(Ob&cNEjKA zD&PuFGp%X2)@CT^$fL%=B_;er6}l$1I?P)5 zM~POPq12bsih!{ZYZSwTt<4Q$aKi|X0Sk>YYGYY77#r!Dgny`x-S4PzThsVc8Lq`} zPJj1~j`?0NS-~Yq)yck{Lg=OyMhw+@ zM+_@kHf1|&&?TxJx)7TzR(;cRKgUA%`kh=Cvd!d$0r!Y28nBu1I;@LJgMmV4Q=3E4 zVZ>piO4_Eww8~MO0~A$*buHc}{38*AMyiH7|D96TqYguf^80*_)GhGU83@2N4}1C_ z>{{ESF(@%QVsvPt+hR<_*^msTXmgE0=8)GhEg(174CI*5l@xBdHj%cVxYB?2EVacp zn_22Ci#S&Q)Wd*p|0)dRf&uqndGdk?s5fjk86%0{F3Uf}AVcxZ+9G!k#2IUB(9rKF z>M5#9J54bjqbb^BtB5&!Ha5vd5Yy+6jPp%Eb4m>4qWeGiomX7?s1F|BI*2uWu`OXC zF&23ad~!C{28yE1O3g`!BBjNNG9Z01ZoozgVyIYK?=WVbmuYfK#j-%Fo(u-Eoj3a7 zyJ#E*aDV!qAX%2LoKH353bi1cGnIv4Rmf#{!C5ye*=x#xL;^*%g>iwdDQKtFd^R^K z-S<-~jnzcQK=IzpdU9qbjmf%zH4bZR?wd`QrYNVB)s)~J?PfjnH_x{$=!lz| zI6Gn@!5cznSmCMPe}j|Ni?g?wW2B$>7&0p&1qI1VM;u30+0#N}^A) zi`FQv@Dz1RQ73%F+JqE#(~7D}*olr>OP0VhGh?$Y9m(kKo)1u$4C=La!9e!X>#B|9 zE0;9KWXvdAD8^+SuthgxZR&`#ra&|`HMydtthRtivz1w666ZVchMgmwqh2{E4Kd8h zL92J!|9Y|qebNT9Z_foEyXx|5-m%%-maRRci)b=Z%3>WR@fikp6dYYw5xNQuE<@9S zqH3wu(vTa2VY1Q9m{_ApOyfXQR$xBDJbUO4)|I4I&O5XAF&ZN~M?zjvD;i+*#Z1TN zhA0~b;DPGJ&ZG2PV+lm+*#y|{~!V1+| zm&cCFT*N=G&$_y0;!dnPyNjH?s+_-_Ty_jO#h2A8$|i$jNi|4u)-joMxav4DIGU~X z)R#N-(&(IGF#n{kfyZjuB&lMu%uW zk+HAvreHIRzNZTCSnF&smRaveZ!qn&#SOZ3C-p!Zo(Pgd%tu^Lc&0%-uj zYQW4aJP5nzViek@NSTprV;DNSdGgNtJ8aY5a7qjW;JQbB(=Xre z+>4KIHOCQ?1J$gVnJTT9y8@{4&Noi*sV2Utm zxmeL;v;qU!j&+`Qg>Oe$+xA`?Jv7R>eCvj4?zjP)5xJ<(Xw0nQ`?@=Oz3;Svl*Q!c$6tNJuN|KroV$CC zN$hhOpk_k|1<{vyUqN4oah{@TD9SeV+L#Dxb0c>;sNgNJt(dGO4#wgZt#PqYeg;D? zck0QB0@t(IraNwh!JOM0))MwHOv6~wE*e+6nIznjZVqRQR25$s_S4Hs74>we&~{Ck z1&os{#7LnqQwwuuR3t?PjY3FcU48@j?A>l408hT=+kSrk-UHJRk7wRTfA`o~`YX9z zVbu5?x{Bb-)cCDw)~l;pipdmLrj)ne1llIKnzi)~8Abdn1JwQ~bal-}w^P1KuIB|O zSBN3>Ed`6>a}!o}g@&%L15~m}ABgMm@KECDv69)^!O3nO1qXn%`k&B6L|Y z%*6rD4?S`!1jf^@?rsA)aLz^laP<{W{i7pCZ%4#nO~l#`=i1cllW$+eBr1T+rX3i7 zn0A-0ty9_?(-1{hc2tvwYBEjAJ8el(q^ySR%Q6FKH^&1R3Hz?T;DcX(T25i_aP@cW zoFR;f%S(N??0Ykle8NOmuhFpC(H45lla45>pmhSV2{$i3!zOpt+bDLIJV44<3N z$1ef@aE}=Xz|*e%j-Q-VyJ(t@7)w+gYDj#B97tK`7YHQjto5Yk6gU~8FH)7atq8tA zfTC)Xj~2t)TEv!qwoB+@Ep8cg%@V*TLkp-lS#4G&kM7VV0IZ)Bx{6E`f|-j^k`8Us zH+3d8qQxlKqNAK_A|}#qm4iE3BqEOuLyTg}FfignXBLfki#x&1J!J-R@%9nn2<%4m(ROo%e*JLu_a*u|B&X85*+~4GkE2SEEUKpKV25r`a{jgZI*Bu57F_E1uU`i^c*bvhSqM z)u|jb>^aID9aY- zd_FEaRA^_^fUE-87N8|nrCB6zA>5R>l;Y0hH0STC{xcSM6C2q`PPF{k7-RvkOFMd>~1xX z1iwG`hYpfA%>FJRfJHcAl3%TvZ1J^iQFuS39sXp2~nD9 ziL%~)zuwiW8tZJBB-p1q@X%`c3ha?qugg%~Bzv|W~y(vZ^DqV|YHtTAX zwP=os$b(#jrzqRpRyosLUy1R|C^2sY-tpC5->=$0E;;|IW6yo^E53iTIYiVrD%_0_ z)Ba&bI0-`VC0$n&LYafVR9mR3DMi`MT#X1CEWRn3)S4Q>^Ti)(9V-={Wi|b9by@HF zJ2)SH{z9xC4ix&a_Ofh}!JDKfD-k0OGB_s8P}81>oMa+0r0xRVJAC7Yp5~Q3V>58< zptbP_^c2i!Iwezlp7?do|CNjHf5m%`Z+$uIl<7bU>a!OS8HN-wC=yxh*SdFe~wlVaJ&#LhA#q3s+hfQgzgZZ4IPXZd^Ij zHVeD3FYaf6?mn;{njkvPIYgmzkHnW}}@q=)0PJsKB#apLa@!F=*m3_>_1 z2I6eVb&vYCmu;-=rS-?N_-@KvtVtp>Dv2O8tMJM^Ykb_#+m&=VlhJ6f&QnYps!2ms zLs+Ou*o_rasK2yG{87@_l;uL*GK0O>Q%Rf- zgAq3qr0d6|tKzB_SGA}@J1sK?GKx!dlt6P; zD=vQg_uqc-R?rG?d5lP;a4pVui1jIm%k;yZ7BCJd8U+&RsB3C`Q{`eG#AumJ zBITqT=QP*J1ZZ2t!F|ObHvum`l~cP;>7ckLJ?8oU;h~pb z`}9XV!KlQ$__qVZp?ONZpU2fC~ChxeplH>@^aW+H1+%TRm9Xpol+_z#n6attf#CK z-_*Bdg4BEWHPSRi`xHCXefm+U(VMa6*msheu}@C}dHChmbHjBndy$Aa=3|@2X9)>P zrXcz{0cqrJJJ;fh7FV`d8}jJYtQ3$9ribkZjKoG_v~*2LS%NF$wr*sx>Z@5xUD>t= z=b^xXnciuns5@L4aHZcAtA0+DF8hDGf?62!Ai|+<*Tp=SHdSs#lCFm<(%iXb#5WxW zp<~n(lg7Y_Ns}r=o(Gd-jeigP8K-!i@==p#@7n)`eS0qWPGj5wR^m8S> zIE+a}Gv7FTYJmQ*5&hKS-V=L{=>kzY_7k~sqmp$=e$tvWR;;Wx(I7NiliXH08`3ln zsi#IQTclb`^a&hG20VP`dss1s^_0YyZ++K)Ii+v-rCUCY56vG`MfKyY?|w*BhMpA} z(9H~BMNoBw;BvYb5lI}0Lc%a+JWXb@NkyRNObE11O}!qNYqbV2$954_ia*IUXaeX4fs~>rsaO)tv_~3-*8fGuxot}BIbt+S3E4n z_M1|~ZH78Vk8;NRXDL7RL|X;=2OVmDH1luI*?ytCgG)CD&l?SnuqT zRh*JssJqeFc@>{N-f+31I#RLzBOx>0O>P9w@*0xhdebxEg(Ozf)pT8r_a%zp zijH!!g@{rV!elM^>D2=Sa?`akKXSBBX=d`9mjS!CDFS~97SdN45tLWRN%gO#>b3)P zX$(h-l_IW6EW6NI+G#n{99hk`{rSxE;EXkpuA8D7KQF2`7-KdgF0tX&0XAhh#^c-+ z=h|UNK%e%`iR6u>88kXVThlcYVpkG;LF`KEIss_Lg=IwmW)cl^ai*Ek_ww`S1NUEP zAIcXPgnbuws9|Em{IV_#;Fw_Na;pA2+OorzEgFSxnk5`$R)iZh(e>*s!1r(uEOSqM zh@yXMg#RT;8TdSD*`lFJWFvAWQ?$6Ep(vZwI*}zNG;=;=tZrmu9@uOM-qCE<2#)oQ zB%=@(rb!B8$p)R@L6Akd;)UDrK|UX&QDj+DJ;Vjc%dsA*l9^*Bw^b$}&XpZS)c`R~ z$!OioBy@pYY78H^Dwgpj)Q$+ZT2u~Lw+*8->9y5>- zJylu1`O*un`sal!@u8VDQ}sAWHWu$|qOZ|d<_2(2SxqU*23z?2t$R0=cNIfYGioa) z6HTsW6cflOaGZza=S63-8{5u64l8_C$z#VB+)NmOW68b5)U}U=9vquYvCiY$f_5tr zk;mk2M)eki+_k7^;IoZ=pvf7w~#oLtoLg)=<_Bu9_0O&}`LspRgbD{}~nS5(zoYs?!MGn}adR4I=u< zUX%S^w}bTieA{lZYi;juUHQOkURV~E&L7J9sxx(&S@A9v?W`!O79UD{J0XNB-Is-@ zteVUpX*1{3Fx{L`l!kgOX?MY!~G-&v&e4Ca#HEy#*DBE zWtD_%o2{CzDd)=enk^&dI*Ztp$|FkX48faCfv1S@zH!=pFEx;Kgj>xK&feJnTTglH zOP*P{$@J*)o0AlT>ym1~$WVGNiS6Bx&4FoG0cT6Tw)XCNK zZe-cT%v6w+0Uz0af&=*IOt5ZY?n@r&VQqr{lf<|ov=f@GdLG#wYkTxVkBbh|>v|;l zhQlIU4}5^H(K26~j}?w@9cIt&`~C6rp8A?6Kj6GaeBqYcZ_X|zq&7p>Wq&>s<255a zl9{g;ysz->8lfv8x=ap+!U&T!&BFLP2>#AjeP^Q(MzRtcC%9KXjxg;ju5*=K$#PPC z(>4m^zGVVq*+K1#eSj@JE)QMmnt_CTE5cJbNuif}nSrD`_tt}7DDVvKK*RK2 zZ6E-~SZ+P|Mb_%w|MY_|`}N0O{h;gLc;xskOxrD>B!-F@^L$>{WfA)Z=RCc#z)a?d zQAU&sV{KERptFu7fBvlh{ioY*lcSrrVXc5z zLa4K1Kmiz>^_1l__t<1;9W(3P8w>@S=>%&G>ywzc6vJdLSxHySYmE~RNqqmTq_2aF zxaO|A0UXPML_?f`CJDoF3&F*S++$-}jno+aeaal8rR!?yiBhk5jO%9l z@Uo&_Gnfwb3BK;T`+}eJTI$a0TOg5Daez>m`pJ? zjqqrvyn>(f=r-96WMUg0K7Z zH+Sw?Q8Ze-uj$$e(HD8ZVoN>QqN=vAHqdOX;f&3V;N7U@VOwBf&k4Tj6!@#2pxpCk zd;CMAWaiiuTekSl(QefvcQRLm`_I4)Y(w_gF_3Kx<>>K)0PQob`>t2N?&ZJ!+=oBt znvWei@=r8A?Iy#8mDy+#F%Y$&%lL>71!71reUYYs*ELj=m>_!=r(@5IM$ohG;A_5b zxX96@)&n~m+E`YJV%Tif_%=64jizK}2H9(YS8^IJbGm-9egM&tW4CeX1y{fM`(OH- z*T3-Dulq%70=FIcM~s`X>chG`RH4oN}Rtl`_Ww99k_Mr?L9xmFX#Et_)_74E1Y z_U>^FCh4*zqcFzeo0@j3noFnS>~TaB6YQrs&6nZKS+_s?`hW4NA9=-_o^j1p&-}o_ zqhDcjdUIyR`wXI)5y5#hX#ydJ65p&b-KwbySX+xT5t+LNU;j05Q?EtVXE30MI%1~A zjS0v(*ZnZcWzwgDreEoNS>(Bkj-rW};y6M(0(1p$1KG9&U z&sAG9Z1=sok#&LS3%agkZ7ot1i54)|vaq6M(}-|vtL6AsiEzd!mS5y$A^F`Vp0nzo0(p^ znwgx0fv%Zg#In8~alNaF+ixR>j!n7plKotH=>ayUbIHx0&a~FkL4lO~m) zR{}2rj+{v+`b;$t0M6dE?<3#w?AN~NhyK@Jed@K3cLIx=x5@ca{X0H#x3$s1YBAAN+Hasm+z!bVBW1 zGd9Y{fhPg~`Aj^=j(fqn`22^yZJKy*F-}i~ne(<`Z$EIwopN(~3 zOou6_d1$dCbg5orUB~)*OXmYI_>{6TK<_tCn~rn$);#TTm*Ty0ylGfpkF?XF9pXy} ze{G8JWYwPQ=0Qw28c9OHYY~m}Jb#bp!ZOmtyWc|GmfSO5#$ymMOkGVtv9_eEcAv08C%y+!^cVFei+>qGv72X%Qd#@W5045V?TV+c<8qxsbY3u8U zUUm*@TMixD;_QtLLWsneB(%+}esaO=Zg&8`LK+ls+nw1Z4hNyjBkGO9W)vPZ@m#n& zazCp)`>c*eg-(SB)-ly7SAu+})@a=S*4%uL?I3GMZ|0^i*Zkw|^VtYtA;!Xs?QYz)%kDmB_kkDf-L-MuS?g=|=&tp@v&Q^PjOtBt&IQWL@`dq+ z;)RO*-irA&OKVGoX#gMLcoeRx16S37b8X~+Q}&n2WkqCf9U!EpD#=r+jz_@<*~S!3 zv4LC_w(g;D*nmbZxak8t>MI|{gpT7HX^-B>*6#hR9k`PF`Hpb@mBi*KNCA7!hmCXZ z63Ev1mbPosh;kzzY^U+1$By}bSJn2#r86&arCi{gA*!Qm*ID0nl(vQ=ZN!*(Q`=29 z_n*D{4_@)?r$6QRbV}y~Hy=Fw{1~+ael#1vH!|y?d23+n_Y8H)VlvLw#}En}48m5H zj5yx~zJ4umj)`1UMy^>4>~mwbGIT*WG&Kvc#%z$&JrblI7JE-&qgl<)rS=2ksDSz- zzt6PY#BJ>7ylR7E@BRhowlEv#GJVX8p*c=>?gJ^Ve%|))T&)p>DfI(fD=md=+%X)#VI*V=M-QQrQE8*lpD>;LqfSZny=Ew}TDFMJ6R zUg50$(fqdK0f}!>x`c&Dfx$A3!fhTlOzIuHVWZ=KQ>GD~y6(B8iijrV#wJ(}d!Zkf z*ozmMdzgc|blwjA+e_{#?EJ*9heYhv;8Pcxdg9TqU;@O+F5JbBOF!3bBD>F{y6#_O zal4jK?3*tuRgAnyM4mR; zXdl^k#~EW@v^nkGaAb4yFv{+taI9AqW#LfOmym`69wpHer@%$P&5(M14hPFb;7VKY zb+vN!q~lT-p`Z2{glXo8c-7od*t=92jdESqLPAdDO5|Q@APWaK{J2;M9lCjNbb=HO z8L$d1X7~Lm&$*Z_Td`U1#T>hZ-4A~bf3X#L?|Xln${Id%d&~Q8gDSJg3W2ljsO2&k zHYV-Mii!WPIfYf=5gEUD{K6Og3~6fhzsmo9Bk(*699Q_FPw)K`dzHtpG1O@{V+ur< z+RFQG@*M-Y3kI@EPf8Yihi{1O77oS6F3p@R*9rAmm>8+7^7+>C&SQ>=D3wvZ*c#q` z#8OF02(}asRW18V{cl$J&U{%uoiFbd3t#jgN%gQ-XZ|*U-@P@!g$|y!raZ_AkC`Y( z?yv`L$3X6016lcmfTl@Kf*}e_3^+SF`2jxH7_11Dz`+>#qb>N0P1)1HXZ9KP8Un?9_Sp(KVoWg}RP(N#(_8TUc*WJ$TA8k2*k70cqJzfq*cxcHRetfU8 z*ClbBL*WcBaNRdt%qTul-G%UAkV~?wI5%e;=Ybr^aYPMNeRthi7QW!oSKq2~RAFPq z4BE{Idma48bNI`BRzG?_QZj(B~Nk*F20WKak`N0^>^4)cU9Zdx~l;><%{${GYZ>sFKGgfg>SU2$K z+5mRcIMwT}>+ba6!NBvgzSwP`AIk>wN5DscLpug?>envdIl%QGPXu}JY^;P?*d1iH zb+3S{S3NJHG)+Nglyhp&OZPbb@#c;#g)0ASqsoPa;emx=8k9Ds_D`ENUB{zJ2IyS$ zob;XbdeDE3>Ww7f+qVI4=M*a>-`5O8fae0=1UwtezR`4Mm}xSP3}fN9WnomM%3L(r zPwPy*H*oCO8YZ^vcMa!R_+&RTkf{h4OJr-aSV}1`+WmRj`<=S&KI=CF$pD6g{EvMvXRNaEzyxtj=s;J#i@XvkLs%t zeKpEog8ou67}+t9ZPpV&zB?I)adXD7YR8ZTqZs1R)kZRYuD?W0fGr=`^2(-<7@cyy zDQKc$YxHRzWli7#Zk=^oQ7A-JLa~Xu79TCv80@S=Z)7O4ASEz1mSOPAlhF7i(ANO} z7w~Ie%L{RurR@5RBD_gN-i4U&K&;DiHBwDRED0F5vq3XvJl8$Vr0E~bJtV(}EIgM0 zwE%=XXi?R1BqrU~qZ&A(k)m%hSEvxyC9zKrtLLYu2YIKTGQklrM9kdhr0KlMCTqbOf*O2hk+z`r6ZW#sg?5bz!i~XmlLkD>RF&H_Vno=RwMq`gmcQ~1Z{CU= zjgWMd1?`Ukng6c6CYvz}$H3@&k8TQMuSLwCAiSQW;d-AkkOROkf&7h#eb)SLVMce< zYQqpC+w2zo$sGY-I-te<+l&k@|JgK#<3}vV4_o5#0^1bS(Q$z(xWE`%l=F<^N?YK7 zi3pE&B`+y=u~#fxM6Pf(FRyo@D7R>4wd?2@=04YsE`HuwjEuh1!U(S6rm%p0F(My< zp22qSM^aw}{2RfXyR_~1F~&knF{m%Y{4Oy@7gznxV*HV3)&-v;10R$oD1^wDTjfut z4SU7#oN|o~F&xs!m!fB{7|v253V0DpV7FM-5IztZ%F1(2ZK#~3vLmE)Kuj6+R*XhR z^>K)1ksBSoKAt8-9v*}K8t^?JhwhC?>Vtq^0C}3oC@ble_A$#BS{9AN%%_ktLPh6{ zi51W1Y{o+2a;rjAx-QUpC{+2tX2T~t&!b$$mDaEZT<2;&9Xft?>o7MG*lQj8#9$FF zG?r&qHBpNh`Nxd2mOLJ9knmnm_#FkVsZ)4iz8V6WXXGX=@)tvVB=8cF6vf@P><>J7 z&po+=ycl>3$b(k8g+A6;@X2W_HVCT%&&7Ysiq~Y$_>ykA41W(Qgv=_h5gu*}KGu1x zz~fxa#0c;A4L>hw5n!expv;VR2OS}<^N%!%LWhwkqx-twSqvIppJTbZMJeE(Fp#qm-T*vnF3T8$ zUL$?6;Vv57Nd6toDeXw%a4G)CCtpVK%FLJeTBtX;g}UFYbeA}I)k-lh%00e1d*hvEHdvp27{0#1Ln8LPA+3lsbwH;RKAZ{5;w&)qwg|YMMAQ#EYMmORIGIgpL;(8cV(!IH zf3q9NVT6z7#t{I<2Hr4rNQq&Muj>fkb~4%q{JqsHpVK;u|I{XJzt*W$uN-R zynHQJi3FhmiKehoAnK;PfhVXuhH;I+%;rME`iEP%E4^8{D!oXjJH_npdQPrZbbC3L zH$QmBFUoll!%1t^sVuwIU9r9$xaqJuA=NssS?rO~>aCse7G!S*JqG;W-;4(GLBw1q zE*n^7Dn3XRO4&Syl^5W5;`J}cPq9nAhoU7r*2~5O+?h7=%^YLLJax!iEThtRCedA6JA>8=4=|K!4@2?I}g*$@sd|OzNX87@e zsA=MifG86pVA%68?JQ~&xJqlpshvqsD-oI*i)!FqoGitbvr~&OBDNj|Q?jOFypW^i z)B0Y1UT4f*X;rA~EA|LRDElkI4y5K;26Sh)urOM+{;T zU#Zqw2{sWN()KtZ6go9!j}n|b!Dltb!B8>aZkmsaVX+YJn9y^Y7Xm-^jS4Y83tV2; zQ_3%%G)nb#W>OwdBABE3!x%A0k~5qo0JTUiozWTOTZ4X|r44DrCK^9~T>RmZ5EU+P za7W2{Dh2bIyZ&yP(49-`EW}9uueCV~XD!$awfP3|$s}W%6^)_BfX!FEYbAE3Y%?vq znTtzIEjGe{@=maS44il}4df!==Ngvm{h(o~-n51aaU_JDG@;w;K$^hRvN6oq9OYlI zlO!w*Qp{Wjk_0BoWSB9U+KToTF*C?Bmkh&~0T6EF4pU+EtH2szPTP>J12#Logkz^S z`ON1ZW^Ho{qO5OC$gI-u8s<{NpqH>~E@AINhvoT{OZN1cTj(-eA2H2rb zafmfr$d6p$Eb}1$5AdcZ(?H%1vWTnRb~a%*%JD>$+)g+e^ioV}SlP&Uc0?o^5e0QflkmhkgY3J5Ppz{C^_mC+j|w5_iOC^d?AC5fU-X4>}w@HR9&`))`IV z&~l&aE?Qt|kkaj>c?dzkYSm|AjLC0LP5z@#l;Kp#+y%)IEvvMZ|2<}uZN@4%M&Z^z zyb%q)VW=xUE~|Y0Mxi`)b^dk_vTD94Y0%BR(P%v7wujgF>ceXs+TG;^SL~vnz{YUm zzpgq0XU9-fo%hJ!^ZDe>UjpW8LGzU*fQCi`UYmi4_mk% z!9+UKXj1wy9K;MsKqIjc$0TCeO9Z>PAtjK_DnUWbhx7ph>U*|aXsxVmO-X*JFKa8q}2>VU#+VWJRLM_kdnM3yYkMf%Jf%Y}8A(5%!dScM`+O z=9Dizw8=$#=D6<20>iPgHq7z^ZXDWN0^@L4 ^={07_2f|54v{ra43O>wUMEr8Q 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 literal 0 HcmV?d00001 diff --git a/dist/images/logo-background.png b/dist/images/logo-background.png new file mode 100644 index 0000000000000000000000000000000000000000..8384f1122babaa6b39009b4d4f02dcdc330f2d04 GIT binary patch literal 5121 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 literal 0 HcmV?d00001 diff --git a/dist/images/logo-mobile.png b/dist/images/logo-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..0fceb0b82533ec83eafdf59f55e8bee07d07063e GIT binary patch literal 2073 zcmV+!2RP)CANI&YgSjIcKlGAMVUB6f_Ye#AME= zdvfkRzqS8+o%LT!3MX8M&*D;iM%N^G51b-@Efq+7YLD;+_0T@AXpB|V7z)_F_ z$byBC85p1{<}LYzVE-RBOhuY7B<$EHKIEXTa;exiF!=0CTkEDS&N-(43os!ngb5LZ z9#OqE>|K2EDNDb3YWJaCo#P7zs>9dZ_4A)R{6wMD0vI444=hbv6o^@X7cqyFjr!2H z&pZ9P3r=rq$peAr0fR^&1ew!l{qO#G>23EFrW6@eK!E=(*hTXe0x&V}oLW3mt1Rqn z|HJy5&p!UBd>kbi`Ub0&>TtQ#B0@1hok12aIAF`RceeKIP!;)DoAv+%a6~Ga4EC)) zZQ1(kE*-2^A9(z^2OoR`VACSO~zNxny|Y`b$=Pch$=8{OF;3H$2umREdfuA4lr)!SNrx17}}( z({mS}bNl6Ig9>8)jHyZ*GMG@PqN!S(Mh%}?8X1DnNQ&3IDq$k_0kA1eqGY6U!}(u7 zt9$W2C$1W*r@4H&&?-CQimg zGEg8elVa)7XP#el;0ht%e}{=l2qx;>oy&KvUexeDwL}p@mP@+l4IbJ#W%aLT6$>^| zbcMzXX186q@{FS|xW3dngPNK}6RBvP83+=>TCLus)faBSe&jMAB?&N6msLb??tW734wtwKoNOy{B(hgy+}n zJYv6a^Pk$gZaLtljWb`|-BQ)83jfSMTfcPI{9nA*;zStIav_G;#GR;uN&<04w}07Q z`_{YnuhmEON!`(}GdmfSvf?US<_xh&UWUJU_MizGx- z8aF;t3<`0sHj;rVkn!Uit<@q3X}a#D-i};Ga%vnZ0TgK_Lo-g2&PS1tnoDNRoZUZ| zJMO2m`g5m1a~h$9m$EY6CRFNIP}ul7)A*SLh?;8$QdF&L|K8oFVmtWHDq(EsNkAn|g9S z2E^9}_moQ|jDyu+j1yxf$Wl4~u-zNa>zms$6jEdfiXw}rruUrGd-byZ&D#e}4d9}# z&dXLVAK9}9PGb`_1Yv+>LKAA*=7pd#Q`7v@Zxym?rPZas`TjM_7k!>tHYzp6B@BPr zUO4N(N^1EebzkioKA~&RK)qnhO0kx584R!N;3HdJK6XKO5Q4np%2lo9(rphsk|uRu zC^(J8L`4EKN@5M7YH_jt;&#iobli9AvQ^8LKJ>(M4?X^*i}NxzElSXAnzOB!_f7Rx z3*OX>J`Ra_8pV69yX@{~+U|Mrb8r7@on@IpDU6(ZYghlqKW}<$)8?()dMH$N&bhX> z@`1D451TjRnyI%`4_;gDJTo<1b@$KidGO(ATAL%r!C59TQ_gQ4zVFPzqo!A#i{K0) zOOuwJwXorh(w$Eg-ySSO_N>45($%Ldr5QwE0;PxoNHP;ZR8_}Xsy%hDlW$UXgZPO^0(!4s5qhJyQMa7_E zfFd&hh|R<$&Z35+h<7P67gSw+cxcwl>E|E!<>MD0GI!RDDXrx~>`7MZjcPU7+Vj@$ zH@*7Q^P4wavU%PQ=Ij<%$Z|CeP86h&5E%nE3$h3q*nAA7W}qj9Fb4pEB0>j2Q|Hvo zLP}#kmm@8tSuhX~1AX!4?ty8=%4Hkp7IQ{`Ajt8S!H?JBF|kxQTA0NgKzZL$+?Y*` z`bVrPnq$*J;C#+UBq3xruaK5Xte*8%%iP0cMRAnr1B+M=899goi zQwntvAt@hf%UrJWa6l*~paDw#aPLNdq=*>cOie^4bQ2W9#;lewG8VqDqcCi6&7My7 z8c>|kJYCb^6-r_AU;Kz+Mx?255HppDo-Tx_l5B?3TwnBo5Wqe{BvMuVs8tETCeuD@ zrWpUhX25$t=L9nu8xa0|FK^)Fm^ulb1W$th55fNeq6kO7b%Kh|00000NkvXXu0mjf DmE+-x literal 0 HcmV?d00001 diff --git a/dist/images/logo-mobile@2x.png b/dist/images/logo-mobile@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..88041d5d00c32f59145e38a96b7757e1ce23f55d GIT binary patch literal 6616 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 QKVk#W)igwu!5!ZI5BIy#ga7~l literal 0 HcmV?d00001 diff --git a/dist/images/logo.png b/dist/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..976607d00107fe177b9763db0c12c693cf934ed6 GIT binary patch literal 4769 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 VQM7@d?BgPK>Dx0^^uNtx7$sg zXH5B#CLQ5ZTs=phQx;Rg!CY6^=yXXW)X&c;C7z?+GcElr9()69WV)d5=(vQ)2oe25c!UTtva4oI)8SLA{YzNvWR+m10j>E=!!2$t+U|X-($C`uX8}x zWpZRp&fI)Hyj=S0W;?J@ndiNMelY4FsR^o*lNnF8CW>H2X76htf|hNYl!jvDjVq?7 z;+(s_Wq&qJETZCL*rQB!LpbEe?;8p;e9{gcSfBB+xG-iikMyN3ubpD=0-$sdeltdW~CK2dKu=-wqrGV>C$Tg2@@g^va zQaxHVzeVxK)BvEPJpd&U$f~@gyu%O!jObG(6E}8=BWvxN?p^wJ<)g=-ITW0%nmHp9 z+~fYa_(A1X9;i(HZe6KY_uDbP36wC2(GlpO6a5IKKen8SzY^wAe}_0P#v-BI37;wh zXJTFlbizPNwDM{7m_Nsfyc6BZ{NIA<8 zbWj@@vdh6FAfxB*L^_cr1Bvh_0R+Exn<^_S|HC5x jCI8?3Z@HnDd`CcIFo59P@(cTip71omFVyN(Y@`1N`&u3K literal 0 HcmV?d00001 diff --git a/dist/images/logo@2x.png b/dist/images/logo@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5b488bd4913a155507e2f2f592753241ebd906bc GIT binary patch literal 8402 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 H%Mbqrfo2t1 literal 0 HcmV?d00001 diff --git a/dist/images/sprite.png b/dist/images/sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..22bf9ee09ec483f3adda73136839234ee3dd98ab GIT binary patch literal 28565 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 RylxM=aQ5<&(C3KJ) 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 Ms-8;G4eQ7M4`0<{uK)l5 literal 0 HcmV?d00001 diff --git a/dist/images/tutorials.png b/dist/images/tutorials.png new file mode 100644 index 0000000000000000000000000000000000000000..542e2cc94e379379f27e73f77c209d512a494e6c GIT binary patch literal 846 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBgK_U=#`P32_B-|AWyghS2@?_GgTZ zuV`s)Q&HJ3FMmwN0?6H|r?+2AYrmTDAr*t8N_q!1H1??K@7K^fpsssJP3N$x_I_2Z z11frlHFWo@>l{$i28th0(>bW7y&uR{)dLBtgSZDlvOu;j5FG>}ARDL*su&~=VnYyO>s)9v8MnSdg2P#n2KB%g*Uma+v?tUN}$WR9|bU})NE>Q=HfVf~O-GiF?hqMfi znpz#Rv^!zve8S%4l$-bE^qgx&rPoU*~Efamw3+hrd61{PWeTpRZp3{`m3# z|Nm|qx3~kt#iJz1FPMRmiJ66!jh%y&iWy1>-@g0s@zduo-+ui3C3mm31{mfGJzX3_JdUrO zRvpdgC~|C~lev@P8lkOGQ+CH})^XQdx$X7$|8g6rZ@hNqUC!5k=9}NYuRM3tviRJM zocil&DhEYRKUF&3GWXfLyDoFtm&EnnG~6N|^W9P1?!EG@?K>3{R8sC#{4eC@$Z9M2 zw^>lY)Mwqzx6>0euB~JC`NQyhSH*!4b?u*hXBZy_e728vSlGtRC=;OBd#>Droo5eM zf$Dns`5jdgWG$E8oARsjpIVlh^)5M1j|Q$g!b_M0CO23yc^p(;pmkS#p4@dlJlcdrdz3+TO?I<7;0L^oA$0u^_5wD pUJlFSoP{A;8#XpPmcM6Z|6SnXI@jwV%YX@h!PC{xWt~$(697qGbOHbX literal 0 HcmV?d00001 diff --git a/dist/js/all.js b/dist/js/all.js new file mode 100644 index 0000000000..b3e98399a9 --- /dev/null +++ b/dist/js/all.js @@ -0,0 +1,11858 @@ +/** + * 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 instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.disabled !== true || event.type !== "click" ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: Cordova 2.5 (WebKit) (#13255) + // All events should have a target; Cordova deviceready doesn't + if ( !event.target ) { + event.target = document; + } + + // Support: Safari 6.0+, Chrome<28 + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } +}; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + // Support: Android<4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && e.preventDefault ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && e.stopPropagation ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && e.stopImmediatePropagation ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// Support: Chrome 15+ +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// Support: Firefox, Chrome, Safari +// Create "bubbling" focus and blur events +if ( !support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = data_priv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + data_priv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = data_priv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + data_priv.remove( doc, fix ); + + } else { + data_priv.access( doc, fix, attaches ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); + + +var + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rhtml = /<|&#?\w+;/, + rnoInnerhtml = /<(?:script|style|link)/i, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /^$|\/(?:java|ecma)script/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + + // Support: IE9 + option: [ 1, "" ], + + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] + }; + +// Support: IE9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: 1.x compatibility +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute("type"); + } + + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + data_priv.set( + elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" ) + ); + } +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( data_priv.hasData( src ) ) { + pdataOld = data_priv.access( src ); + pdataCur = data_priv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( data_user.hasData( src ) ) { + udataOld = data_user.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + data_user.set( dest, udataCur ); + } +} + +function getAll( context, tag ) { + var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : + context.querySelectorAll ? context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + // Support: QtWebKit, PhantomJS + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: QtWebKit, PhantomJS + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; + }, + + cleanData: function( elems ) { + var data, elem, type, key, + special = jQuery.event.special, + i = 0; + + for ( ; (elem = elems[ i ]) !== undefined; i++ ) { + if ( jQuery.acceptData( elem ) ) { + key = elem[ data_priv.expando ]; + + if ( key && (data = data_priv.cache[ key ]) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + if ( data_priv.cache[ key ] ) { + // Discard any remaining `private` data + delete data_priv.cache[ key ]; + } + } + } + // Discard any remaining `user` data + delete data_user.cache[ elem[ data_user.expando ] ]; + } + } +}); + +jQuery.fn.extend({ + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each(function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + }); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + remove: function( selector, keepData /* Internal Use Only */ ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map(function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var arg = arguments[ 0 ]; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + arg = this.parentNode; + + jQuery.cleanData( getAll( this ) ); + + if ( arg ) { + arg.replaceChild( elem, this ); + } + }); + + // Force removal if there was no new content (e.g., from empty arguments) + return arg && (arg.length || arg.nodeType) ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + self.domManip( args, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + // Support: QtWebKit + // jQuery.merge because push.apply(_, arraylike) throws + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } + } + } + } + } + + return this; + } +}); + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: QtWebKit + // .get() because push.apply(_, arraylike) throws + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + + +var iframe, + elemdisplay = {}; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var style, + elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + // getDefaultComputedStyle might be reliably used only on attached element + display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? + + // Use of this method is a temporary fix (more like optimization) until something better comes along, + // since it was removed from specification and supported only in FF + style.display : jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = (iframe || jQuery( "