commit 60127aab90612c21a4777e81cc56835137e274e4 Author: Yandols Date: Mon Jan 29 13:19:14 2018 +0800 Import current version to date onto the dev server repository. Signed-off-by: Yandols diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..a7bbb4f --- /dev/null +++ b/.htaccess @@ -0,0 +1,30 @@ +# Standard Declaration Procedures for Imeji System +ErrorDocument 403 /403.php +ErrorDocument 404 /404.php +IndexOptions +FancyIndexing +IndexIgnore *.php *.html *.css *.js + +# HTTPS Redirection +RewriteEngine On +RewriteCond %{HTTPS} off +RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] + +# Force Uploaded Imejis to load via HTTP instead of HTTPS due to backwards compatibility problem on some platforms. +# SHOULD no longer be needed after the switch to LetsEncrypt on 31/07/2016 +#RewriteCond %{HTTPS} on +#ReWriteCond %{REQUEST_URI} \w(\.png|\.jpeg|\.jpg|\.gif)$ +#RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] + +# Hackerbots Prevention +RewriteEngine on +RewriteCond %{HTTP_USER_AGENT} ^ZmEu [OR] +RewriteCond %{HTTP_USER_AGENT} (.*)Msqq(.*) +RewriteRule .* http://www.urbandictionary.com/define.php?term=fuck+you [R=301,L] + +#Preventing Public Access to Logs file + +AuthType Basic +AuthName "Restricted Area" +AuthUserFile /var/www/passes/imeji/.htpasswd +Require valid-user + diff --git a/.htaccessbackup b/.htaccessbackup new file mode 100644 index 0000000..5f8b95f --- /dev/null +++ b/.htaccessbackup @@ -0,0 +1,24 @@ +# Standard Declaration Procedures for Imeji System +ErrorDocument 403 /403.php +ErrorDocument 404 /404.php +IndexOptions +FancyIndexing +IndexIgnore *.php *.html *.css *.js + +# Force Uploaded Imejis to load via HTTP instead of HTTPS due to backwards compatibility problem on some platforms. +RewriteCond %{HTTPS} on +ReWriteCond %{REQUEST_URI} \w(\.png|\.jpeg|\.jpg|\.gif)$ +RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] + +# Hackerbots Prevention +RewriteEngine on +RewriteCond %{HTTP_USER_AGENT} ^ZmEu [OR] +RewriteCond %{HTTP_USER_AGENT} (.*)Msqq(.*) +RewriteRule .* http://www.urbandictionary.com/define.php?term=fuck+you [R=301,L] + +#Preventing Public Access to Logs file + +AuthType Basic +AuthName "Restricted Area" +AuthUserFile /var/www/passes/imeji/.htpasswd +Require valid-user + diff --git a/403.php b/403.php new file mode 100644 index 0000000..1b68e05 --- /dev/null +++ b/403.php @@ -0,0 +1,60 @@ + + + + + + + + + Imeji Uploader - Error + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

I.C.A.R.U.S. Imeji Uploader

+

403 - Unfortunately the file you are looking for isn't something you can access.

+
+
+ + + + + +
+
+
+ Copyright © 2016 Locaria Technologies. +
+
+ + + \ No newline at end of file diff --git a/404.php b/404.php new file mode 100644 index 0000000..3233aab --- /dev/null +++ b/404.php @@ -0,0 +1,60 @@ + + + + + + + + + Imeji Uploader - Error + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

I.C.A.R.U.S. Imeji Uploader

+

404 - Unfortunately the file you are looking for could not be found.

+
+
+ + + + + +
+
+
+ Copyright © 2016 Locaria Technologies. +
+
+ + + \ No newline at end of file diff --git a/deprecated/.htaccess b/deprecated/.htaccess new file mode 100644 index 0000000..3418e55 --- /dev/null +++ b/deprecated/.htaccess @@ -0,0 +1 @@ +deny from all \ No newline at end of file diff --git a/deprecated/additional.css b/deprecated/additional.css new file mode 100644 index 0000000..9e7bcd0 --- /dev/null +++ b/deprecated/additional.css @@ -0,0 +1,32 @@ +/** +Theme Name: I.C.A.R.U.S. Imeji Uploader - Additional +Theme URL: http://zxicar.us/ +Version: 0.4 +Author: Yandols Z'eon X +*/ + +.inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + z-index: -1; +} + +.inputfile + label { + font-size: 1.25em; + font-weight: 700; + color: white; + background-color: black; + display: inline-block; + cursor: pointer; /* "hand" cursor */ + outline: 1px dotted #000; + outline: -webkit-focus-ring-color auto 5px; +} + +.inputfile:focus + label, +.inputfile + label:hover { + background-color: red; +} + diff --git a/deprecated/feras.css b/deprecated/feras.css new file mode 100644 index 0000000..ab42055 --- /dev/null +++ b/deprecated/feras.css @@ -0,0 +1,7384 @@ +/** + * Peafowl CSS + * Copyright 2014 Rodolfo Berrios + */ + +/** + * GLOBAL RESET + * --------------------------------------------- + */ +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + padding: 0; + border: 0; + list-style: none; +} + +/** + * DEFAULTS + * --------------------------------------------- + */ +.no-select, .btn, .top-btn-text, .pop-btn-text, .edit-link, .btn-container , .input-search { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +[type="search"] { + -moz-appearance: textfield; + -webkit-appearance: textfield; + appearance: textfield; +} + +/* placeholders */ +::-webkit-input-placeholder { + color: #AAA; + line-height: 140%; +} +:-moz-placeholder { + color: #AAA; + opacity: 1; +} +::-moz-placeholder { + color: #AAA; + opacity: 1; +} +:-ms-input-placeholder { + color: #AAA; +} + +:focus::-webkit-input-placeholder { + color: #AAA; +} +:focus:-moz-placeholder { + color: #AAA; +} +:focus::-moz-placeholder { + color: #AAA; +} +focus:-ms-input-placeholder { + color: #AAA; +} + +::-moz-focus-inner { + border:0; + padding:0; + margin:0; +} + +::-ms-clear { + display: none; +} + +body { -webkit-font-smoothing: subpixel-antialiased; } + +/* F**k you Chrome */ +[type=submit]:focus, button:focus { + outline: none; +} + +/* + * GLOBAL ELEMENTS + * --------------------------------------------- + */ + +/** +* Font sizes chart +* 16px 1em +*/ +html { + height: 100%; +} +html, body { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + color: #333; + font-size: 16px; + background: #FFF; + -webkit-text-size-adjust: 100%; +} + +.pop-box, #menu-fullscreen, .top-bar { + -webkit-transition: transform 250ms ease; + transition: transform 250ms ease; +} + +/* Blacky */ +html.tone-dark, .tone-dark body { + color: #FFF; + background: #0b0b0b; +} + +body.no-margin-top { + margin-top: 0; + padding-top: 0; +} + +.content-width { + width: 100%; + margin-right: auto; + margin-left: auto; + position: relative; + padding-left: 10px; + padding-right: 10px; +} + +a { + color: #00A7DA; + text-decoration: none; + cursor: pointer; + outline: 0; +} +a:hover, a:focus { + text-decoration: underline; +} + +/*a:active { background-color: transparent; } /* ie */ + +h1,h2, h3, h4, h5, h6 { + font-weight: normal; + line-height: 1; +} + +/* + * JQUERY UI STUFF + */ +.ui-selectable-helper { + background: rgba(0,0,0,.15); + border: 1px solid rgba(255,255,255,.5); + box-shadow: 0 0 5px rgba(0,0,0,.2); + position: absolute; + z-index: 500; +} + +/* + * SMALL HELPERS + * --------------------------------------------- + */ + +.hidden { display: none !important; } +.visible { display: block !important; } +.soft-hidden { display: none; } +.soft-visible { display: block; } +.hidden-visibility { + visibility:hidden; + position: absolute; + top:0; +} + +.touch-scroll { + overflow: scroll; + -webkit-overflow-scrolling: touch; +} + +.or-separator { + border-top: 1px solid #E5E5E5; + text-align: center; + margin: 10px 0 10px 0; +} +.tone-dark .or-separator { + border-color: #212121; +} + .or-separator span { + font-size: 0.93em; + font-weight: normal; + color: #BBB; + text-transform: uppercase; + text-align: center; + background: #FFF; + display: inline-block; + position: relative; + padding: 0 10px; + top: -10px; + } + .tone-dark .or-separator span { + background: #0b0b0b; + } + +.highlight { background: #FFF8CB; } +.tone-dark .highlight { background: #2c3e50; } +.line-through { text-decoration: line-through; } + +.line-separator { + width: 100%; + height: 1px; + background: #E5E5E5; + display: block; + margin: 20px 0; +} +.tone-dark .line-separator { + background: #212121; +} + +.number-figures, a.number-figures { + font-size: 1.21em; /* 17 */ + line-height: 1.21em; + color: inherit; + text-decoration: none; + padding-left: 10px; + padding-right: 10px; + margin-left: 0; + border-left: 1px solid #E5E5E5; + text-align: center; +} +.tone-dark .number-figures, .tone-dark a.number-figures { + color: #FFF; + border-color: #212121; +} +.number-figures:first-child { + padding-left: 0; + border-left: none; +} +.number-figures:last-child { + padding-right: 0; +} + .number-figures b { + font-weight: inherit; + } + .number-figures .icon-heart4 { + position: relative; + top: 1px; + } + .number-figures span:not(.icon) { + color: #BBB; + text-transform: uppercase; + font-size: 0.6em; /* 11 */ + + } + .tone-dark .number-figures span { + color: #999; + } +a.number-figures:hover, a.number-figures:hover * { + color: #00A7DA; +} + +.loading {} + .loading-indicator, .loading-text { + display: inline-block; + line-height: inherit; + vertical-align: top; + } + .loading-indicator { + } + .loading-text { + margin-left: 5px; + } + +/* "or" actions for the buttons */ +.btn-alt { + color: #AAA; + font-size: 13px; + font-size: 0.93rem; + margin: 0 5px; + display: inline !important; +} + .btn-alt a:first-letter { + text-transform: capitalize; + } +.phone .btn-alt { + margin: 5px 0 0; +} + .btn-alt a { + margin-left: 5px; + cursor: pointer; + } + +a.edit-link, a.delete-link { + font-size: 13px; + font-size: 0.93rem; + text-decoration: none; + font-weight: normal; +} +a.delete-link { + color: #D90000; +} + a.edit-link:hover span, a.delete-link:hover { + text-decoration: underline; + } + a.edit-link span.icon-edit { + font-size: 9px; + width: 9px; + display: inline-block; + margin-right: 3px; + text-decoration: none; + } + +.disabled, .disabled a { + color: #CCC; +} +.tone-dark .disabled, .tone-dark .disabled a { + color: #444; +} + .disabled a { + text-decoration: none; + cursor: default; + } + +.optional { + font-size: 50%; + color: #AAA; + font-weight: normal; +} + +.text-shadow { + text-shadow: 2px 2px 3px rgba(0,0,0,.75); + filter: dropshadow(color=#000000, offx=2, offy=2); +} +.box-shadow { + box-shadow: 2px 2px 3px 0px rgba(0,0,0,.45); +} + +.silent-links a, a.silent-links { + color: inherit; +} +/* +.silent-links a:hover, a:hover.silent-links { + color: #00A7DA; +}*/ + +.close-box {} + .close-box .icon-circle { + color: #333; + position: relative; + } + .close-box .icon-close-box { + color: #FFF; + position: absolute; + left: 0; + top: 0; + } + +.transparent-canvas { + background-image: url(data:image/gif;base64,R0lGODlhEAAQAIAAAP///9/f3yH5BAAHAP8ALAAAAAAQABAAAAIfjG+gq4jM3IFLJgpswNly/XkcBpIiVaInlLJr9FZWAQA7); + background-repeat: repeat; +} +.transparent-canvas.dark { + background-image: url(data:image/gif;base64,R0lGODlhEAAQAIAAAOfn58rKyiH5BAAHAP8ALAAAAAAQABAAAAIfjG+gq4jM3IFLJgpswNly/XkcBpIiVaInlLJr9FZWAQA7); +} + +/* + * INPUTS + * --------------------------------------------- + */ +input, textarea, select { + font-family: inherit; + font-size: inherit; + -ms-appearance: none; + border-radius: 3px; + display: inline-block; + border: 1px solid #CCC; +} + +select { + font: inherit; + outline: none; +} + +.tone-dark input, .tone-dark textarea, .tone-dark select { + background: #000; + border: 1px solid #464646; + color: #FFF; +} + +.text-input, textarea { + outline: 0; +} + +input[type=checkbox], input[type=radio] { + border-radius: 0; + border: none; + position: relative; + vertical-align: baseline; +} + +.text-input, input[type=text], .input-line-height { + height: 36px; +} +.input-line-height { + line-height: 36px; +} + +textarea, .text-input, input[type=text] { + padding: 7px 10px; + width: 100%; /* 350 */ + font-size: 13px; + font-size: 0.875rem; + /*box-shadow: inset 0 1px 0 #EEE;*/ + color: #333; + background: #FFF; +} + +.tone-dark textarea, .tone-dark .text-input, .tone-dark input[type=text] { + background: #212121; + border-color: #212121; + box-shadow: none; + color: #FFF; +} + +.tone-dark select, .tone-dark select.text-input { + background: #212121; +} + +.ie7 textarea, .ie7 .text-input, .ie7 input[type=text] { + padding: 10px; + width: 328px; + height: 14px; +} +.ie8 textarea, .ie8 .text-input, .ie8 input[type=text], +.ie9 textarea, .ie9 .text-input, .ie9 input[type=text] { + height: auto; +} + +input:focus, textarea:focus, select:focus, input.search:focus, .input-focus { + border-color: #00A7DA; + box-shadow: 0 0 8px 0 rgba(0,167,218,.45); +} + +.tone-dark input:focus, .tone-dark textarea:focus, .tone-dark select:focus, .tone-dark input.search:focus, .tone-dark .input-focus { + border-color: #00A7DA; + box-shadow: 0 0 8px 0 rgba(0,167,218,.75); +} + +.input, .input-label { + position: relative; + overflow: visible; +} + +.input { + margin: 10px 0; +} +.input.first-child, .input:first-child { + margin-top: 0; +} + +.input-label { + margin: 20px 0; +} +.input-label.first-child, .input:first-child { + margin-top: 0; +} + .input-label-label, .input-label label, .input-label h3 { + font-weight: 600; + padding-bottom: 5px; + display: inline-block; + font-size: 1em; + } + + .input-label h3 { + display: block; + } + .input-label label a, .input-label h3 a { + font-weight: normal; + } + .input-label label .optional, .input-label label .caption { + font-weight: normal; + font-size: 0.92em; /* 0.86 */ + } + + .input-label .btn-alt { + position: absolute; + left: 100%; + top: 23px; + line-height: 36px; + margin-left: 10px; + margin-right: 0; + } + .phone .input-label .btn-alt { + position: static; + margin-left: 0; + } + +.input, .input-label, .checkbox-label { + position: relative; + font-size: 0.93em; +} + .input .icon-input-submit { + background: transparent; + font-size: 1.82em; + color: #D9D9D9; + position: absolute; + right: 0.21em; + top: 0.21em; + cursor: pointer; + line-height: 1; + } + .tone-dark .input .icon-input-submit { + color: #666; + } + + .input .icon-input-submit:hover, .input .icon-input-submit:focus, .input .icon-input-submit.focus { + color: #00A7DA; + } + .ie7 .input .icon-input-submit { + top: 2px; + } + +.ui-autocomplete { + max-height: 130px; + overflow-y: auto; + overflow-x: hidden; +} +* html .ui-autocomplete { + height: 125px; +} + +.autocomplete-list { + position: absolute; + display: none; + z-index: 1; +} + .autocomplete-list .ui-autocomplete { + position: absolute; + top: 0; + left: 0; + } + .autocomplete-list ul { + border: 1px solid #CCC; + } + .autocomplete-list a { + color: inherit; + background: Window; + padding: 7px 10px; + display: block; + text-decoration: none; + cursor: default; + } + .autocomplete-list a.ui-state-focus { + background: Highlight; + color: HighlightText; + } + +.input-column { + width: 350px; + border: 1px solid red; +} + /* + .ie7 .input-column input.text-input { + width: 328px; + }*/ + .input-warning { + color: #BBB; + position: absolute; + right: 0; + top: 0; + } + .input-below { + margin-top: 5px; + display: block; + color: #777; + position: static; + } + .red-warning { + color: #D74634; + } + +.input-password {} + .input-password .input-password-strength { + position: absolute; + right: 11px; + top: 50%; + margin-top: 8px; + } + + .input-password-strength { + background: #E5E5E5; + } + .tone-dark .input-password-strength{ + background: #1F1F1F; + } + + .input-password-strength, .input-password-strength span { + display: block; + width: 50px; + height: 8px; + } + + .input-password-strength span { + width: 0%; + background: #6EC02A; + } + +/* Checkbox label */ +.checkbox-label { + font-size: 1em; + display: block; + margin: 5px 0; + position: relative; +} +.checkbox-label:last-child { + margin-bottom: 0; +} + .checkbox-label input { + position: absolute; + padding: 0; + margin: 4px 0 0; + margin-left: -20px; + } + .btn-alt.checkbox-label input { + position: static; + vertical-align: text-top; + margin-right: 4px; + } + .phone .btn-alt.checkbox-label { + display: block !important; + margin: 10px 0; + } + .checkbox-label label { + padding-left: 20px; + font-weight: normal; + margin: 0; + padding-bottom: 0; + } + +/* Search input */ +.input-search { + position: relative; + width: 200px; + width: 14.29rem; +} + input.search { + font-size: 1em; + border-radius: 200px; + padding: 0 25px 0 32px; + padding-right: 3.0666rem; + padding-left: 2.3571rem; + line-height: 100%; + height: 26px; + height: 1.86rem; + width: 200px; + width: 100%; + border: 1px solid #CCC; + top: 0; + left: 0; + outline: 0; + vertical-align: text-bottom; + } + input.search.one-icon-padding { + padding-right: 30px; + padding-right: 2rem; + } + + .top-bar input.search { + padding-left: 33px; + padding-left: 2.16rem; + top: -2px; + position: relative; + } + + .ie7 input.search, .ie8 input.search, .ie9 input.search { + padding-right: 10px; + line-height: 26px; + height: 26px; + } + .ie7 input.search { + padding: 0; + width: 200px; /* 200 - p */ + } + + .input-search span { + position: absolute; + z-index: 2; + cursor: pointer; + } + .input-search .icon-search { + left: 10px; + top: 6px; + color: #777; + } + .top-bar .input-search .icon-search { + top: 4px; + } + .tone-dark .input-search .icon-search { + color: #CCC; + } + + .input-search .icon-search, .top-btn-text .icon-search { + font-size: 16px; + width: 16px; + font-size: 1.143rem; + width: 1.143rem; + } + + .input-search .icon, .input-search .icon-close { + padding: 7px; + top: 0; + font-size: 0.72em; + color: #AAA; + } + .input-search .icon.settings { + right: 22px; + } + .input-search .icon.close { + right: 4px; + } + .input-search .icon:hover { + color: #777; + } + .ie7 .input-search .icon-close, + .ie8 .input-search .icon-close, + .ie9 .input-search .icon-close { + display: none; + } + +/* select */ +select { + padding-left: 7px !important; +} +.ie7 select { + width: 100% !important; + padding: 0 !important; + height: auto !important; +} + select option { + padding: 4px 10px; + margin: 0; + } + +/* textarea */ +textarea { + resize: both; + height: 80px; +} + +.input-upload { + position: relative; +} +.user-settings-avatar { + min-height: 160px; + height: auto; +} + .user-settings-avatar-container { + position: relative; + } + .user-settings-avatar-container, .user-settings-avatar-container .user-image { + width: 160px; + height: 160px; + } + .user-settings-avatar .loading-placeholder { + position: absolute; + left: 0; + top: 0; + background: rgba(255,255,255,.8); + } + .tone-dark .user-settings-avatar .loading-placeholder { + background: rgba(0,0,0,.6); + } + .phone .user-settings-avatar-container { + margin: 0 auto 10px !important; + } + .input-upload .btn-container { + margin: 0 0 5px 0; + } + .input-upload .btn-alt { + margin-left: 0; + } + +/* + * CSS ARROWS + * --------------------------------------------- + */ +.arrow-up, .arrow-up-shadow { + border-color: transparent transparent #333; + border-color: rgba(0,0,0,0) rgba(0,0,0,0) #333; + border-width: 0 4px 4px; +} +.tone-dark .arrow-up, .tone-dark .arrow-up-shadow { + border-bottom-color: #FFF; +} +.arrow-down, .arrow-down-shadow { + border-width: 4px 4px 0 4px; + border-color: #333 transparent transparent transparent; + border-color: #333 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0); + content: ""; +} +.tone-dark .arrow-down, .arrow-down-shadow { + border-top-color: #FFF; +} +.arrow-right { + border-width: 4px 0 4px 4px; + border-color: transparent transparent transparent #333; + border-color: rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #333; +} +.tone-dark .arrow-right { + border-left-color: #FFF; +} +.arrow-up, .arrow-down, .arrow-right { + border-style: solid; + display: inline-block; + height: 0; + width: 0; + /*z-index: 2;*/ + vertical-align: middle; +} +.arrow-up-shadow { + position: relative; + top: -7px !important; + border-color: transparent transparent #BBB !important; + border-color: rgba(255,255,255,0) rgba(255,255,255,0) rgba(229,229,229,1) !important; + z-index: 1; +} + +@media (min-width: 992px) { + .arrow-box:after, .arrow-box:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + } + .arrow-box:after { + border-color: rgba(255,255,255, 0); + border-width: 7px; + } + .arrow-box:before { + border-color: rgba(0 0 0,0); + border-width: 9px; + } + + /* ARROW BOX TOP */ + .arrow-box-top:after, .arrow-box-top:before { + bottom: 100%; + } + .arrow-box-top:after { + border-bottom-color: #FFF; + } + .tone-dark .arrow-box-top:after { + border-bottom-color: #1E1E1E; + } + .arrow-box-top:before { + border-bottom-color: rgba(229,229,229,1); + } + .tone-dark .arrow-box-top:before { + border-bottom-color: #333; + } + + /* ARROW BOX BOTTOM */ + .arrow-box-bottom:after, .arrow-box-bottom:before { + top: 100%; + } + .arrow-box-bottom:after { + border-top-color: #FFF; + } + .tone-dark .arrow-box-bottom:after { + border-top-color: #1E1E1E; + } + .arrow-box-bottom:before { + border-top-color: #000; + border-top-color: rgba(229,229,229,1); + } + + /* ARROW BOX TOP BOTTOM ALIGNS */ + .arrow-box-top:after, .arrow-box-top:before, + .arrow-box-bottom:after, .arrow-box-bottom:before { + left: 50%; + } + /* anchor center default */ + .arrow-box-top:after, .arrow-box-bottom:after { + margin-left: -7px; + } + .arrow-box-top:before, .arrow-box-bottom:before { + margin-left: -8px; + } + /* anchor left */ + .anchor-left.arrow-box-top:after, .anchor-left.arrow-box-top:before, + .anchor-left.arrow-box-bottom:after, .anchor-left.arrow-box-bottom:before { + left: 10px; + margin: 0; + } + .anchor-left.arrow-box-top:before, + .anchor-left.arrow-box-bottom:before { + left: 8px; + } + /* anchor right */ + .anchor-right.arrow-box-top:after, .anchor-right.arrow-box-top:before, + .anchor-right.arrow-box-bottom:after, .anchor-right.arrow-box-bottom:before { + left: auto; + right: 10px; + margin: 0; + } + .anchor-right.arrow-box-top:before, + .anchor-right.arrow-box-bottom:before { + right: 8px; + } + + /* ARROW BOX LEFT */ + .arrow-box-left:after, .arrow-box-left:before { + right: 100%; + top: 50%; + } + .arrow-box-left:after { + border-right-color: #FFF; + } + .arrow-box-left:before { + border-right-color: #000; + border-right-color: #BBB; + } + + /* ARROW BOX RIGHT */ + .arrow-box-right:after, .arrow-box-right:before { + left: 100%; + top: 50%; + } + .arrow-box-right:after { + border-left-color: #FFF; + } + .arrow-box-right:before { + border-left-color: #000; + border-left-color: #BBB; + } + + /* ARROW BOX LEFT RIGHT MIDDLE */ + .arrow-box-left:after, .arrow-box-right:after { + margin-top: -6px; + } + .arrow-box-left:before, .arrow-box-right:before { + margin-top: -7px; + } + +} + +/* + * SIGN UP BUTTONS and SOCIAL SERVICES + * --------------------------------------------- + */ +/* sign services list */ +.sign-services {} + .sign-services li { + display: inline-block; + margin: 0 4px 4px 0; + } + +.sign-service { + font-size: 0.93em; + padding: 0 8px; + line-height: 30px; + height: 29px; +} + .sign-service .btn-icon { + font-size: inherit; + width: auto; + } + .sign-services-compact .btn-text { + display: none; + } + +.sign-service, .link-service { + color: #FFF; + display: inline-block; + text-decoration: none !important; +} + +.sign-service, .link-service span { + border-radius: 3px; +} + +.link-service { + font-weight: normal; + height: 28px; + position: relative; +} + .link-service span { + display: block; + line-height: 28px; + text-align: center !important; + } + .link-service .btn-icon { + width: 28px; + height: 28px; + margin-right: 4px; + position: absolute; + left: 0; + top: 0; + } + .link-service span.sign-text { + padding: 0 20px; + margin-left: 32px; + } + + .sign-service .icon, .btn-social .btn-icon { + color: #FFF; + position: relative; + width: 12px; + display: inline-block; + } + +/* + * BUTTONS + * --------------------------------------------- + */ +.btn-container { + margin-top: 20px; + margin-bottom: 20px; + position: relative; +} +.phone .btn-container { + text-align: center; +} + +.btn { + height: 36px; + line-height: 36px; + font-family: inherit; + font-size: 1em; + font-weight: normal; + padding: 0 10px; + border-radius: 3px; + cursor: pointer; + display: inline-block; + text-decoration: none; +} +.btn, .btn:hover, .btn:active, .btn:focus { + text-decoration: none; +} + +.btn:active, .btn.default:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.tone-dark .btn:active, .tone-dark .btn.default:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2); +} + +/* Button contents */ +.btn-icon { + font-size: 14px; + width: 14px; + display: inline-block; +} +.btn-text { + margin-left: 4px; +} + +/* button sizes */ +.btn-big { + font-size: 16px; + font-size: 1.143rem; + height: 38px; + line-height: 38px; + padding-left: 1em; + padding-right: 1em; +} + +.btn-small { + height: 30px; + line-height: 30px; + padding-left: 15px; + padding-right: 15px; + font-size: 0.92em; +} +.btn-input { + font-weight: 600; + font-size: 0.93em; + padding-left: 20px; + padding-right: 20px; +} + +.btn-32 { + width: 32px; + height: 32px; + text-align: center; + display: inline-block; +} + .btn-32 .btn-icon { + width: 18px; + height: 18px; + font-size: 18px; + margin-top: 7px; + } + +/* capsule button */ +.btn-capsule { + border-radius: 100px; + border-color: rgba(255,255,255,.5); + background-color: rgba(0,0,0,.5); + background-image: none; + height: auto; + color: #FFF; + text-shadow: none; + font-size: 0.93em; + height: 28px; + line-height: 28px; + font-weight: normal; + padding: 0 15px; + box-shadow: none; + filter: none; +} +.btn-capsule:hover { + background-color: rgba(0,0,0,.7); +} +.no-rgba .btn-capsule { + border-color: #666; + background-color: none; + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000); + zoom: 1; +} +.no-rgba .btn-capsule:hover { + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#B2000000,endColorstr=#B2000000); +} +.btn-capsule:active { + box-shadow: none; +} + .btn-capsule .btn-icon { + font-size: 0.93em; + } + + +/* button colors */ + +.btn.default { + color: #333; + border: 1px solid #CCC; + background-color: #EEE; + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); + box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 1px 2px rgba(0,0,0,.05); +} +.tone-dark .btn.default { + color: #CCC; + background-color: #2f2f2f; + box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.05); +} +.btn.default:hover { + background-color: #E9E9E9; +} +.tone-dark .btn.default:hover { + background-color: #363636; +} + +.btn.default.outline { + color: #00A7DA; + border-color: #00A7DA; + box-shadow: none; +} + +.btn.disabled, .btn.disabled:hover { + color: #999; + background-color: #F6F6F6; + background-image: none; + box-shadow: none; + cursor: default; +} +.tone-dark .btn.disabled, .tone-dark .btn.disabled:hover { + color: #666; + background-color: #212121; +} +.btn.disabled.outline, .btn.disabled.outline:hover { + color: #BBB; + border-color: #CCC; +} + +/* "plain" color (no color at all) */ +.btn.plain, .btn.plain:hover { + background: none; + text-shadow: none; + border-color: transparent; + box-shadow: none; + padding: 0; + color: inherit; +} +.tone-dark .btn.plain, .tone-dark .btn.plain:hover { + background: none; +} +.btn.plain:active { + box-shadow: none; +} + +.btn.active { + background-image: none; + background-color: #00A7DA; + border-color: #00A7DA; + filter: none; +} + +.btn.grey, .btn.grey.off:hover { + border-color: #EEE; + background-color: #EEE; +} +.btn.grey:hover { + background-color: #E9E9E9; +} +.btn.grey.outline { + color: #EEE; +} + +.btn.orange, .btn.orange.off:hover { + border-color: #FE771D; + background-color: #FE771D; +} +.btn.orange:hover { + background-color: #FE6B0A; +} +.btn.orange.outline { + color: #FE771D; +} + +.btn.blue, .btn.blue.off:hover { + border-color: #2A80B9; + background-color: #2A80B9; +} +.btn.blue:hover { + background-color: #2879B0; +} +.btn.blue.outline { + color: #2A80B9; +} + +.btn.green, .btn.green.off:hover { + border-color: #27AE61; + background-color: #27AE61; +} +.btn.green:hover { + background-color: #25A55C; +} +.btn.green.outline { + color: #27AE61; +} + +.btn.red, .btn.red.off:hover { + border-color: #E84C3D; + background-color: #E84C3D; +} +.btn.red:hover { + background-color: #DC483A; +} +.btn.red.outline { + color: #E84C3D; +} + +.btn.white, .btn.white.off:hover { + border-color: #FFF; + background-color: #FFF; +} +.btn.white:hover { + background-color: #FFF; +} +.btn.white.outline { + color: #FFF; +} + +.btn.black, .btn.black.off:hover { + border-color: #3A3A3A; + background-color: #3A3A3A; +} +.btn.black:hover { + background-color: #343434; +} +.btn.black.outline { + color: #3A3A3A; +} + +.btn.active, .btn.orange, .btn.blue, .btn.green, .btn.red, .btn.black { + color: #FFF; + border: 1px solid transparent; +} +.btn.grey, .btn.white { + color: #333; +} + +.btn.off { + cursor: default; +} +.btn.off:active { + box-shadow: none; +} + +/* Social networks buttons */ +/* hover are usually .95 */ +.btn-social { + color: #FFF; + background-image: none; + box-shadow: none; + border: 1px solid transparent; +} +.btn-social, .btn-social:hover { + text-decoration: none; + text-shadow: none; + background: #333; +} + +.btn-twitter, .link-twitter span { + background: #00ACEE; +} +.btn-twitter:hover, .link-twitter:hover span { + background: #02A5E3; +} + +.btn-facebook, .link-facebook span { + background: #3C5998; +} +.btn-facebook:hover, .link-facebook:hover span { + background: #374F8A; +} + +.btn-google, .link-google span, +.btn-google-plus, .link-google-plus span { + background: #D74836; +} +.btn-google:hover, .link-google:hover span, +.btn-google-plus:hover, .link-google-plus:hover span { + background: #CD3C2A; +} + +.btn-mail { + background: #CCC; + color: #333; +} + .btn-mail span { + color: #333; + } +.btn-mail:hover { + background: #BBB; +} + +.btn-tumblr { + background: #39536C; +} +.btn-tumblr:hover { + background: #2C4762; +} + +.btn-pinterest { + background: #CB2027; +} +.btn-pinterest:hover { + background: #B61A21; +} + +.btn-stumbleupon { + background: #EA4B24; +} +.btn-stumbleupon:hover { + background: #DF421F; +} + +.btn-blogger { + background: #F5821F; +} +.btn-blogger:hover { + background: #E97B1D; +} + +.btn-reddit { + background: #CEE3F8; +} +.btn-reddit:hover { + background: #C0DBF5; +} + .btn-reddit .btn-icon { + color: #333; + } + +.btn-vk, .link-vk span { + background: #587EA3; +} +.btn-vk:hover, .link-vk:hover span { + background: #4E6F93; +} + +/* Outlines */ +.btn.outline, .btn.outline:hover { + background: none; + border: 1px solid; + box-shadow: none; +} + +/* + * POP BUTTON AND POP BOXES + * --------------------------------------------- + */ + +.pop-btn, .top-btn-el, a[data-modal] { + -webkit-tap-highlight-color: transparent; +} +.pop-btn *, .top-btn-el * { + -webkit-tap-highlight-color: rgba(0,0,0,.2); +} + +/* Pop button */ +.pop-btn, .top-btn-el { + display: inline-block; + position: relative; + cursor: pointer; +} + .pop-box-inner { + cursor: default; + display: block; + font-size: 14px; + font-size: 1rem; + -webkit-overflow-scrolling: touch; + overflow: auto; + } + .pop-btn .pop-box { + top: 100%; + margin-top: 10px; + } + .btn.pop-btn .pop-box { + line-height: 100%; + } + .pop-btn-text { + color: #00A7DA; + cursor: pointer; + /* font-weight: 600; */ + } + .ie7 .pop-btn-text, .ie8 .pop-btn-text { + padding-right: 0; + } + .pop-btn-text .arrow-down { + vertical-align: middle; + margin-left: 5px; + border-top-color: #00A7DA; + } + + .pop-btn.disabled { + cursor: default; + } + .pop-btn.disabled .pop-btn-text { + color: #CCC; + cursor: default; + } + .tone-dark .pop-btn.disabled .pop-btn-text { + color: #444; + } + .pop-btn.disabled .arrow-down { + border-top-color: #CCC; + } + .tone-dark .pop-btn.disabled .arrow-down { + border-top-color: #444; + } + +/* Pop box */ +.pop-box { + background: #FFF; + display: none; + font-size: 0.93em; + z-index: 200; +} +.tone-dark .pop-box, .tone-dark .pop-box .or-separator span { + background: #1E1E1E; +} +.tone-dark .pop-box .or-separator { + border-color: #333; +} + +@media (min-width: 992px) { + .pop-box { + position: absolute; + top: 20px; + min-height: 20px; + min-width: 160px; + border: 1px solid #E5E5E5; + box-shadow: 0 2px 8px rgba(0,0,0,.15); + } + .tone-dark .pop-box { + border-color: #333; + } + .pop-box.left-anchor, .pop-box { + left: 0; + } + .pop-box.anchor-center { + left: 50% !important; + margin-left: -75px; + } + .pop-box.anchor-right { + left: auto; + right: 0; + } + .pop-box.pbcols1 { width: 212px; } + .pop-box.pbcols2 { width: 412px; } + .pop-box.pbcols3 { width: 612px; } + .pop-box.pbcols4 { width: 812px; } + .pop-box.pbcols5 { width: 1012px; } + + .pop-box-menucols ul { + padding: 10px 0; + overflow: auto; + } + .pop-box-menucols li { + width: 190px; + float: left; + margin: 0 0 0 10px; + } + .pop-box-menucols li:first-child a, + .pop-box-menucols li:last-child a { + border-radius: 0; + } + +} + +.btn .pop-box.left-anchor, .btn .pop-box { + margin-left: -1px; +} +.btn .pop-box.anchor-right { + margin-right: -1px; +} + + .pop-box-menu { + font-size: 14px; + font-size: 0.875rem; + } + + .pop-box-menu a { + color: #333; + padding: 10px; + display: block; + text-decoration: none; + font-weight: normal; + border-bottom: 1px solid #E5E5E5; + } + .tone-dark .pop-box-menu a { + color: inherit; + border-color: #000; + } + + @media (min-width: 992px) { + .pop-box-menu a { + padding: 6px 10px; + border-bottom: 0; + } + } + + html:not(.phone) .pop-box-menu a:hover, .pop-box-menu a.focus { + background: #00A7DA; + color: #FFF; + } + .pop-box-menu li.current a { + background: #F2F2F2; + } + .tone-dark .pop-box-menu li.current a { + background: #333; + } + + .pop-box-menu ul { + display: block; + padding: 0; + } + + @media (min-width: 992px) { + .pop-box-menu ul { + padding: 5px 0; + } + .pop-box-menu.pop-box-menucols ul { + padding: 10px 0; + } + } + + .pop-box-menu li { + display: block; + text-align: left; + overflow: hidden; + position: relative; + } + .pop-box-menu li.with-icon {} + .pop-box-menu li.with-icon a { + padding-left: 30px; + } + .pop-box-menu li.with-icon a .btn-icon { + position: absolute; + left: 10px; + top: 8px; + } + + .pop-box-menu li.current, .pop-box-menu li.current a { + font-weight: 600; + } + .pop-box-menu li.current a:hover { + cursor: default; + } + + .pop-box-userdetails { + padding: 10px; + width: 120%; + min-width: 230px; + cursor: default; + left: 42px; + line-height: normal; + top: 0 !important; + margin-top: 0 !important; + } + +.phone .pop-box, .phablet .pop-box { + position: fixed; + bottom: 0; + left: 0 !important; + width: 100%; + top: auto !important; +} + + .pop-box-header { + text-transform: uppercase; + padding: 10px; + background: #F2F2F2; + position: relative; + text-align: left; + border-bottom: 1px solid #E5E5E5; + } + .tone-dark .pop-box-header { + background: #1E1E1E; + border-color: #000; + } + .pop-box-header .btn-icon { + position: absolute; + right: 10px; + top: 50%; + margin-top: -6px; + font-size: 12px; + } + + @media (min-width: 992px) { + .pop-box-header { + display: none; + } + } + +/* + * TOP BAR + * --------------------------------------------- + */ +.top-bar, .top-bar-placeholder, +.top-bar ul li.pop-btn, .top-bar ul li.top-btn-el { + height: 50px; +} +.top-btn-text, .top-btn-create-account { + line-height: 50px; +} +.top-btn-text { + -webkit-tap-highlight-color: transparent; +} + +.top-bar { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 400; + width: 100%; + -webkit-transition: transform 250ms ease, border 400ms ease; + transition: transform 250ms ease, border 400ms ease; +} +.top-bar, .tone-dark .follow-scroll-wrapper.position-fixed { + background-color: #000; + background-color: rgba(0,0,0,.87); +} +.tone-dark .top-bar.black, .tone-dark.top-bar-black .follow-scroll-wrapper.position-fixed { + background-color: #0b0b0b; + background-color: rgba(11,11,11,.87); +} +.phone .top-bar { + position: absolute; +} +.ie9 .top-bar { + filter: none; + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjg3Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC44NyIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); +} + +.top-bar.white, .follow-scroll-wrapper.position-fixed { + /*box-shadow: 0 0 5px 0 rgba(0,0,0, 0.25); stupid webkit paint bug */ + border-bottom: 1px solid #E5E5E5; + border-bottom: 1px solid rgba(0,0,0,.1); +} +.top-bar.white.transparent { + border-bottom-color: transparent; +} + +.top-bar.white, .follow-scroll-wrapper.position-fixed, .top-bar-box-shadow-none .top-bar.white { + background-color: #FFF; + background-color: rgba(255,255,255,.97); +} + +.top-bar, .follow-scroll-wrapper.position-fixed { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.tone-dark.top-bar-black .follow-scroll-wrapper.position-fixed { + border-bottom: 1px solid #212121; + border-bottom: 1px solid rgba(255,255,255,.09); +} + +.ie9 .top-bar.white { + filter: none; +} +.top-bar-box-shadow-none .top-bar { + box-shadow: none; + border-bottom-color: transparent; +} + +#top-bar-shade { + opacity: 0; +} +#top-bar-shade.transparent-25 { + opacity: .25; +} + +.top-bar.transparent, .tone-dark .top-bar.transparent { + background: none; + box-shadow: none; +} + .top-bar.transparent .top-btn-text { + text-shadow: 1px 1px 1px rgba(0,0,0,.25); + } + .top-bar.transparent.white .top-btn-text { + /*text-shadow: 1px 1px 0 rgba(255,255,255,.35);*/ + text-shadow: none; + } + .top-bar.transparent.white .top-btn-text:hover, + .top-bar.transparent.white .opened .top-btn-text { + text-shadow: none; + } + + .top-bar.transparent .btn, .top-bar.transparent .top-btn-number { + text-shadow: inherit; + } + + .top-bar .content-width { + position: relative; + height: 100%; + z-index: 100; + } + + .top-bar .arrow-down, #menu-fullscreen > ul > li .arrow-down { + border-top-color: #FFF; + width: 0; + } + .top-bar.white .arrow-down, .top-bar.white .arrow-down, .top-bar.white #menu-fullscreen > ul > li .arrow-down { + border-top-color: #333; + } + + .top-bar-logo { + width: 100%; + position: absolute; + top: 50%; + margin-top: -9px; + text-align: center; + left: 0; + padding: 0 10px; + } + .top-bar-logo, .top-bar-logo img { + height: 18px; + } + @media (min-width: 992px) { + .top-bar-logo { + margin-top: -10px; + } + .top-bar-logo, .top-bar-logo img { + height: 20px; + } + } + .top-bar-logo > a { + display: inline-block; + } + .top-bar-logo img { + display: block; + margin-left: auto; + margin-right: auto; + } + + .top-bar.white .top-btn-text:hover .arrow-down, .top-bar.white .opened .arrow-down { + border-top-color: #00A7DA; + } + .ios .top-bar.white .top-btn-text:hover .arrow-down { + border-top-color: #333; + } + .ios .top-bar.white .opened .top-btn-text .arrow-down { + border-top-color: #00A7DA; + } + + .top-bar ul { + list-style: none; + } + .top-bar li.pop-btn, .top-bar li.top-btn-el { + float: left; + margin-right: 20px; + position: relative; + } + + .top-bar .top-bar-right li.pop-btn, .top-bar .top-bar-right li.top-btn-el { + margin-right: 0; + margin-left: 20px; + } + + @media (min-width: 992px) { + .top-bar li.pop-btn, .top-bar li.top-btn-el { + margin-right: 20px; + } + .top-bar .top-bar-right li.pop-btn, .top-bar .top-bar-right li.top-btn-el { + margin-left: 20px; + } + } + + .top-bar ul li.pop-btn:first-child { + margin-left: 0; + } + .top-bar ul .pop-btn.current, .top-bar ul .top-btn-el.current { + border-bottom: 2px solid #00A7DA; + } + .top-bar ul .pop-btn.current .top-btn-text, .top-bar ul .top-btn-el.current .top-btn-text { + text-shadow: none; + box-shadow: none; + } + .top-bar ul li.top-btn-el a { + text-decoration: none; + } + + .top-bar.white .top-bar ul .pop-btn.current .top-btn-text, .top-bar.white .top-bar ul .top-btn-el.current .top-btn-text { + color: #333; + } + + /* Last menu item top bar */ + .top-bar-right li.pop-btn:last-child, .top-bar-right li.pop-btn:last-child .arrow-down { + margin-right: 0; + } + + .top-btn-text, .top-btn-create-account { + display: block; + color: #FFF; + font-weight: normal; + font-size: 1em; + height: 100%; + } + .top-btn-text { + text-decoration: none; + } + + .top-bar.white .top-btn-text, + .top-bar.white #menu-fullscreen .top-btn-text { + color: #333; + } + + .top-btn-text .icon { + margin-right: 7px; + position: relative; + top: 0; + display: inline; + font-size: 16px; + width: 16px; + font-size: 1.143rem; + width: 1.143rem; + line-height: 50px; + } + + .top-btn-text .btn-text { + margin-left: 0; + } + + .top-btn-text .icon-search { + /*top: 1px; + top: 0.071428rem;*/ + } + + .top-btn-text .arrow-down { + position: relative; + margin: 0 0 0 5px; /* -1px 4px 0 4px; */ + } + + .top-btn-text .btn-text { + vertical-align: top; + } + + .top-btn-text .icon { + margin-right: 0; + } + + .top-bar-notifications { + } + #menu-fullscreen .top-bar-notifications .btn-text { + display: inline-block; + } + .top-bar-notifications-container { + margin-right: 2px; + cursor: default; + } + .top-bar-notifications-header { + font-size: 0.93em; + line-height: 1; + padding: 12px 10px; + overflow: auto; + } + .top-bar-notifications-header, + .top-bar-notifications-list li { + border-bottom: 1px solid #E5E5E5; + } + .tone-dark .top-bar-notifications-header, + .tone-dark .top-bar-notifications-list li { + border-color: #333; + } + .top-bar-notifications-header h2 { + font-size: 1em; + font-weight: bold; + float: left; + } + .top-bar-notifications-header a { + float: right; + } + + .top-bar-notifications-list li { + font-size: 0.93em; + display: block; + text-decoration: none; + padding: 10px; + position: relative; + min-height: 68px; + padding-left: 68px; + + } + .top-bar-notifications-list li:last-child { + border-bottom: 0; + } + .top-bar-notifications-list li:hover { + background: rgba(0,0,0,.02); + } + .tone-dark .top-bar-notifications-list li:hover { + background: rgba(0,0,0,.2); + } + + .top-bar-notifications-list li.transition { + transition: background-color 150ms linear; + } + + .top-bar-notifications-list li.persistent, + .top-bar-notifications-list li.new { + background: #FFFAD9; + } + .tone-dark .top-bar-notifications-list li.persistent, + .tone-dark .top-bar-notifications-list li.new { + background: #333; + } + + .ie7 .top-bar-notifications-list li { + min-height: 48px; + } + .top-bar-notifications-list li .user-image { + width: 48px; + height: 48px; + position: absolute; + left: 10px; + top: 10px; + } + .top-bar-notifications-list li .user-image img { + width: 100%; + height: 100%; + display: block; + } + .top-bar-notifications-list li .user-image span.icon { + font-size: 30px; + width: 30px; + height: 30px; + margin-left: -15px; + margin-top: -15px; + } + .top-bar-notifications-list li .how-long-ago { + display: block; + font-size: 11px; + color: #AAA; + } + + + + @media (min-width: 992px) { + .top-bar .pop-box { + margin-top: 0; + z-index: 200; + } + } + + /* top search */ + .top-bar-search-input { + margin-left: -10px; + margin-right: 10px !important; + } + .top-bar.white .top-bar-search-input .icon-search { + color: inherit; + } + .top-bar-search-input .input-search { + position: relative; + top: 50%; + margin-top: -13px; + } + .top-bar-search-input input { + font-size: 1em; + border-width: 0; + padding-left: 36px; + } + .top-bar.white .top-bar-search-input input { + border-width: 1px; + } + + .tone-dark .input-search .icon.search, + .tone-dark .input-search .icon.close, + .tone-dark .input-search .icon.settings { + color: #CCC; + } + .tone-dark .input-search .icon.close:hover, + .tone-dark .input-search .icon.settings:hover { + color: #999; + } + + /* top pop-box */ + .top-bar-left .pop-box { + left: -10px; + } + .top-bar-right .pop-box { + left: auto; + right: -10px; + } + .top-bar-right .pop-box .arrow-up { + left: auto; + right: 10px; + } + + /*.top-bar-right .pop-btn:last-child .pop-box { + right: 0; + }*/ + + .top-bar .pop-box { + top: 100%; + top: 46px; + } + + /* top predictive search */ + #top-predictive-search.pop-box { + width: 200px; + left: 0; + font-size: 100%; + } + + /* signup */ + /*.top-bar .pop-account .pop-box { + width: 310px; + left: 50%; + margin-left: -155px; + }*/ + .top-bar .pop-account {} + .top-bar .pop-account .pop-box .arrow-up { + left: 50%; + margin-left: -6px; + } + .top-bar .pop-account .or-separator { + margin-top: 30px; + } + + /* create account */ + .top-btn-create-account { + text-decoration: none; + display: inline; + padding: 4px 12px; + height: 26px; + } + + .top-bar.white .top-btn-text:hover:not(.btn), .top-bar.white .opened .top-btn-text:not(.btn) { + color: #00A7DA; + } + .phone .top-bar.white .top-btn-text:hover:not(.btn) { + color: inherit; + } + .phone .top-bar.white .current .top-btn-text:hover:not(.btn) { + color: #00A7DA; + } + /*.top-bar.white.transparent .top-btn-text:hover, .top-bar.white.transparent .opened .top-btn-text { + color: #FFF; + }*/ + .ios .top-bar.white .top-btn-text:not(.btn):not(.top-btn-number):hover { + color: #333; + } + .ios .top-bar.white .opened .top-btn-text:not(.btn), + .ios .top-bar.white .opened .top-btn-text:not(.top-btn-number) { + color: #00A7DA; + } + + .top-bar.white .btn, .top-bar.white .btn:hover, .top-bar.white .opened .btn { + color: #FFF; + } + + .top-bar.white .btn.default, .top-bar.white .btn.default:hover, .top-bar.white .current .btn { + color: inherit; + } + + .current .top-btn-create-account:hover { + background: inherit; + } + + .current .top-btn-create-account { + padding: 0; + background: none; + } + + .top-btn-number { + background: #555; + color: #DDD; + font-size: 12px; + font-weight: normal; + border-radius: 3px; + padding: 0 7px; + position: relative; + display: block; + top: 14px; + line-height: 22px; + height: 22px; + } + + #menu-fullscreen .top-btn-number { + display: inline-block; + position: relative; + margin-right: 5px; + top: -2px; + vertical-align: text-bottom; + } + + .top-bar.white .top-btn-number, .top-bar.white .opened .top-btn-number, .top-bar.white .top-btn-number:hover, .ios .top-bar.white .top-btn-number.top-btn-text { + background: #CCC; + color: #FFF; + } + + .top-bar.white .top-btn-number.on, .top-btn-number.on, .top-btn-number.on:hover, .opened .top-btn-number.on, .ios .top-bar.white .top-btn-number.on { + background: #D90000; + color: #FFF; + } + + /* pop account */ + .pop-account {} + .pop-account .pop-box-inner { + padding: 20px 10px; + cursor: default; + } + .pop-account .title, .pop-account h2 { + font-size: 1em; + text-align: center; + margin-top: 5px; + font-weight: normal; + display: block; + } + .pop-account .sign-services { + margin: 15px 0 11px 0; + } + .pop-account input[type=text], .pop-account input[type=password], .pop-account input.text-input { + width: 100%; /* 288 */ + } + .ie7 .pop-account input.text-input { + width: 266px; + height: auto; + } + + .pop-account .checkbox-label { + display: inline-block; + margin: 0; + } + .ie7 .pop-account .checkbox-label { + } + + /* top user */ + #top-bar-user .top-btn-text .user-image { + position: relative; + top: 50%; + margin-top: -13px; + margin-right: 5px; + width: 26px; + height: 26px; + float: left; + } + .phone #top-bar-user .top-btn-text .user-image { + margin-right: 0; + } + .phone #menu-fullscreen #top-bar-user .top-btn-text .user-image { + margin-right: 5px; + } + #top-bar-user .default-user-image { + background: #CCC; + } + .top-bar.black #top-bar-user .default-user-image { + background: #555; + } + #top-bar-user-menu.pop-box { + width: 150px; + } + +/* + * HEADER + * --------------------------------------------- + */ +.header { + border-bottom: 1px solid #E5E5E5; + height: 50px; + position: relative; + overflow: visible; + clear: both; +} + +.follow-scroll-wrapper.position-fixed .header.follow-scroll { + border-bottom: 0; +} +/*.follow-scroll-wrapper.position-fixed { + border-bottom: 1px solid rgba(0,0,0,.12); +}*/ + +.tone-dark .header { + border-bottom-color: #212121; +} + +.header.fixed.follow-scroll { + border-bottom: 0; + +} +.header.follow-scroll { + +} +.phone .header, .phablet .header { + height: auto; + min-height: 50px; +} + .header h1 { + font-size: 1em; + } + + .header > h1, .header .heading, .header .heading * { + line-height: 50px; + } + + .header > h1, .header .heading { + font-size: 22px; + font-weight: normal; + float: left; + } + + .tone-dark .header > h1, .tone-dark .header .heading { + color: #FFF; + } + + .phone .header > h1, .phone .header .heading { + /* font-size: 1.43em; */ + } + .header h1 strong, .header .heading strong { + font-weight: inherit; + } + .header.header-tabs h1 { + margin-right: 20px; + } + .header ul.content-tabs { + float: left; + } + + .phone .header ul.content-tabs { + float: none; + /* margin-top: -10px; */ + position: relative; + /*top: -10px;*/ + /* border-bottom: 1px solid #E5E5E5; */ + } + .phone .header:not(.follow-scroll) ul.content-tabs { + top: auto; + } + + .header .btn { + margin-top: 3px; + } + .phone .header .btn { + margin-top: 0; + } + .header-content-left { + float: left; + } + + .header-content-right { + float: right; + height: auto; + } + .phone .header-content-right { + } + .header-content-right .number-figures { + margin-top: 14px; + border-left: 1px solid #E5E5E5; + } + .header-content-right .number-figures:first-child { + border-left: 0; + } + .header .header-link { + font-size: 1em; + display: inline-block; + margin-top: 17px; + } + + .header > .header-link { + /* line-height: 50px; */ + } + .header > .header-link * { + line-height: normal; + } + + .phone .header .header-link { + } + .header .pop-btn.breadcrum-item { + margin-top: 0; + } + + .header .user-image { + width: 30px; + height: 30px; + /*position: relative; + top: 50%; + margin-top: -15px;*/ + margin-top: 10px; + float: left; + } + +.header.header-content { + position: relative; + min-height: 40px; + border: 0; +} + .header.header-content .heading,A .header.header-content .heading * { + line-height: 40px; + height: 40px; + } + .header-content img { + max-height: 40px; + } + + .header-content .user-image { + width: 40px; + height: 40px; + margin-top: 0; + top: 0; + } + + .header-content .user-image img, + .header .user-image img { + width: 100%; + height: 100%; + display: block; + } + .header-content .user-image.default-user-image .icon, + .header .user-image.default-user-image .icon { + font-size: 24px; + width: 24px; + height: 24px; + margin-left: -12px; + margin-top: -12px; + } + + .header-content-breadcrum { + float: left; + } + + .tone-dark .breadcrum-item { + color: #FFF; + } + + .breadcrum-item * { + line-height: normal; + } + + .header-content-breadcrum .breadcrum-item, .breadcrum-text { + line-height: 40px; + } + + .breadcrum-text, .header-content-breadcrum .heading { + font-size: 15px; + } + .breadcrum-text, .breadcrum-text a { + color: inherit; + } + .breadcrum-text { + font-weight: normal; + } + .breadcrum-item { + margin-right: 10px; + position: relative; + float: left; + } + + .breadcrum-text a:hover { + color: #00A7DA; + text-decoration: none; + } + + .breadcrum-text .user-link { + margin-left: 13px; + } + + .header-content-breadcrum .arrow, + .header-content-breadcrum .arrow-down, + .header-content-breadcrum .arrow-right { + margin-left: 5px; + position: relative; + } + + .header-content-breadcrum a:hover .arrow-down { + border-top-color: #00A7DA; + } + .header-content-breadcrum a:hover .arrow-right { + border-left-color: #00A7DA; + } + + .header-content-breadcrum .pop-box h2 { + font-size: 1.07em; /* 15 */ + line-height: 1.2; + } + .header-content-breadcrum .pop-box h2 a { + line-height: 1; + } + + .header-content .btn { + margin-left: 5px; + float: left; + margin-top: 3px; + } + .header-content .btn:last-child { + margin-right: 0; + } + +/* + * FOOTER + * --------------------------------------------- + */ +.footer { + font-size: 11px; + text-align: center; + margin-top: 10px; +} +.footer, .footer a { + color: #DDD; + text-decoration: none; +} +.js #powered-by.footer { + display: none; +} + +/* + * SUPER FIX MYSELF + * --------------------------------------------- + */ +.follow-scroll { + margin-left: auto; + margin-right: auto; +} + +.follow-scroll-wrapper { + left: 0; + right: 0; + z-index: 50; +} + +.follow-scroll-placeholder { + -webkit-backface-visibility: hidden; +} + +/* + * CONTENT TABS + * --------------------------------------------- + */ +.content-tabs { + /* clear: right; */ +} + + .tab-menu { + cursor: pointer; + line-height: 50px; + min-height: 50px; + + } + + .phablet .tab-menu { + float: left; + } + .tab-menu.current { + border-bottom: 1px solid transparent; + } + + /*.content-tabs { + border-top: 1px solid #E5E5E5; + } + .tone-dark .content-tabs { + border-color: #212121; + }*/ + .content-tabs a { + font-weight: normal; + color: #333; + text-decoration: none; + padding-left: 10px; + padding-right: 10px; + } + .tone-dark .content-tabs a { + color: #FFF; + } + + .content-tabs li.disabled a { + cursor: default; + } + .content-tabs li.current a, .content-tabs li.current a span, .tab-menu.current { + color: inherit; /* #00A7DA */ + } + + .content-tabs li { + float: left; + font-size: 1em; + } + + .phone .content-tabs li { + float: none; + border-bottom: 0; + } + .phone .content-tabs li a { + padding: 0; + } + + .content-tabs-vertical li { + float: none; + margin: 0; + border-left: 2px solid transparent; + } + /* + .content-tabs-vertical li:hover { + background: #F9F9F9; + } + .tone-dark .content-tabs-vertical li:hover { + background: #212121; + } + */ + .content-tabs-vertical li > * { + padding-right: 20px; + padding-left: 20px; + } + .header-content-right .content-tabs li { + margin-left: 10px; + margin-right: 0; + } + .content-tabs li, .content-tabs a { + height: 50px; + line-height: 50px; + display: block; + } + .content-tabs-vertical li, .content-tabs-vertical a { + height: 38px; + line-height: 38px; + } + .content-tabs li:hover, .content-tabs li.current, .content-tabs li.visited, .content-tabs li.visited:hover { + color: inherit; /* #00A7DA */ + border-color: #00A7DA; + border-style: solid; + border-bottom-width: 2px; + } + .content-tabs li.current a:hover { + color: inherit; + } + .content-tabs li:hover a { + color: #00A7DA; + } + .tone-dark .content-tabs li a, .tone-dark .content-tabs li:hover a { + color: #FFF; + } + .content-tabs li.disabled:hover { + border-bottom: 0; + } + + .content-tabs li.current { + border-color: #00A7DA; + } + + .content-tabs li.visited { + border-bottom-color: transparent; + } + + .content-tabs li.current.visited { + border-color: #D93600; + } + .content-tabs li.visited, .content-tabs li.visited a { + color: #D93600; + } + + .content-tabs-vertical li:hover, .content-tabs-vertical li.current { + border-bottom-width: 0; + border-left-width: 2px; + } + + .content-tabs .tab-count { + font-weight: normal; + color: #BBB; + } + + .content-tabs .tab-count-block { + font-weight: normal; + background: #D90000; + border-radius: 3px; + padding: 1px 4px; + position: relative; + top: -1px; + } + .content-tabs .tab-count-block, .content-tabs .current .tab-count-block { + color: #FFF; + } + + .content-tabs li.disabled * { + color: #CCC; + } + + .list-selection { + overflow: visible; + line-height: 50px; + } + .list-selection * { + line-height: normal; + } + .phone .list-selection { + border-top: 1px solid #E5E5E5; + } + .phone.tone-dark .list-selection { + border-top-color: #212121; + } + +/* Content being tabbed */ +#tabbed-content-group { + margin-top: 30px; + padding-bottom: 30px; +} +#content-listing-tabs #tabbed-content-group { + margin-top: 0; +} + /* hide the tabbed content */ + .tabbed-content { + display: none; + width: 100%; + overflow: auto; + } + .title { + font-size: 0.93em; + font-weight: bold; + margin-bottom: 5px; + } + .title.grid-columns { + margin-right: 10px; + text-align: right; + line-height: 2; + } + .phone .title.grid-columns, .phablet .title.grid-columns { + margin-right: 0 !important; + text-align: left; + } + + .tabbed-content-section { + overflow: auto; + } + + .tabbed-content-list { + line-height: 1.8; + } + +.tabbed-listing {} + .tabbed-listing .tabbed-content { + overflow: hidden; + } + +.table-li { + display: table; + width: 100%; +} + .table-li li { + padding: 8px 0; + border-bottom: 1px solid #E5E5E5; + list-style: none !important; + } + .tone-dark .table-li li { + border-bottom-color: #212121; + } + + .tabbed-content-list.table-li-hover > li:hover { + background: #F9F9F9; + } + .tone-dark .tabbed-content-list.table-li-hover > li:hover { + background: #1E1E1E; + } + + .tabbed-content-list .table-li-header { + font-weight: bold; + } + .tabbed-content-list.table-li-hover .table-li-header:hover, .tone-dark .tabbed-content-list.table-li-hover .table-li-header:hover { + background: none; + } + + .table-li ul { + } + .table-li ul li:last-child { + border-bottom: none; + } + .table-li ul li:hover { + /*background: #F6F6F6;*/ + } + .table-li ul li ul li:hover { + /*background: #F3F3F3;*/ + } + +/* + * VIEWER + * --------------------------------------------- + */ +.viewer-title { + font-size: 1.43em; + line-height: 1.43em; + margin: 10px 0; +} + +/* + * PANELS + * --------------------------------------------- + */ +/* description */ +.panel-description {} + + .panel-description .description-text { + font-size: 1em; + } + .panel-description .description-meta { + font-size: 0.93em; + } + + /*.panel-description p.meta a { + color: #BBB; + }*/ + .panel-description .exif-meta { + padding-left: 1.57em; /* 22px */ + position: relative; + } + .panel-description .exif-meta .camera-icon { + color: #CCC; + position: absolute; + left: 0; + top: 0.21em; /* 3px */ + font-size: 1.14em; + } + .panel-description .exif-meta .exif-data { + display: block; + font-size: 1em; + } + +/* thumb list */ +.panel-thumb-list {} + .panel-thumb-list li { + display: block; + float: left; + margin-right: 5px; + margin-bottom: 5px; + line-height: 76px; + font-size: 0.93em; + } + .phone .panel-thumb-list li.more-link, .phablet .panel-thumb-list li.more-link { + float: none; + clear: both; + line-height: 100%; + padding: 10px 0; + } + .panel-thumb-list img { + display: block; + width: 76px; + height: 76px; + } + .phone .panel-thumb-list img, .phablet .panel-thumb-list img { + width: 90px; + height: auto; + } + +/* share */ +.panel-share {} + + .panel-share-item { + margin-bottom: 30px; + } + .panel-share-item:last-child { + margin-bottom: 0; + } + + .panel-share-item h4.pre-title { + font-size: 0.93em; + color: #BBB; + border-bottom: 1px solid #E5E5E5; + padding-left: 200px; + line-height: 20px; + margin-bottom: 10px; + } + .tone-dark .panel-share-item h4.pre-title { + border-color: #212121; + } + .phone .panel-share-item h4.pre-title, .phablet .panel-share-item h4.pre-title { + padding-left: 0; + } + + .panel-share-item h4.title { + line-height: 32px; + } + + .panel-share-item .text-input { + *height: auto; + } + + .panel-share-item .grid-columns { + position: relative; + } + + .panel-share-input-label { + margin-bottom: 10px; + overflow: auto; + } + .panel-share-input-label:last-child { + margin-bottom: 0; + } + .panel-share-input { + position: relative; + } + +.panel-share-networks { + overflow: auto; +} + .panel-share-networks h4.title { + line-height: 32px; + } + .panel-share-networks li { + display: block; + float: left; + margin-right: 8px; + margin-bottom: 8px; + } + .panel-share-networks li a { + display: block; + width: 32px; + height: 32px; + } + +.panel-report {} + .panel-report h4.title { + line-height: 36px; + } + +/* + * TEXT CONTENT ELEMENTS + * --------------------------------------------- + */ +.text-content { + margin-bottom: 40px; + font-size: 16px; + font-size: 1.143rem; +} + + .text-content p, .text-content li { + line-height: 160%; + margin: 10px 0; + } + + .text-content h1, .text-content h2, .text-content h3, .text-content h4 { + margin: 40px 0 20px 0; + font-weight: normal; + line-height: 120%; + } + .text-content h1 { + font-size: 1.375em; /* 22/14 */ + } + .text-content h2 { + font-size: 1.25em; /* 20/16 */ + } + .text-content h3 { + font-size: 1.125em; /* 18/16 */ + } + .text-content h4 { + font-size: 1.07em; /* 17/16 */ + } + .text-content h5 { + font-size: 1em; /* 16/16 */ + } + .text-content h6 { + font-size: 1em; /* 16/16 */ + } + + .text-content ul, .text-content ol { + margin-left: 20px; + } + .text-content li { + list-style: disc outside; + margin-top: 0; + margin-bottom: 0; + } + +/* + * FORM CONTENT ELEMENTS + * --------------------------------------------- + */ +.form-content { + position: relative; +} + /* + .signup-services-column { + position: absolute; + right: 0; + top: 10px; + } + .form-content .or-separator { + float: left; + margin: 28px 30px; + } + */ + + .signup-services-column h2 { + font-size: 17px; + } + .signup-services-column ul { + margin: 10px 0; + } + .signup-services-column li:first-child { + margin-left: 0; + } + .signup-services-column li:last-child { + margin-right: 0; + } + + .form-content .content-tabs-vertical { + margin-right: 10px; + position: absolute; + left: 0; + top: 0; + } + .form-content .content-tabs-vertical.position-fixed { + position: fixed; + left: auto; + top: auto; + } + + .tabbed-input-column { + margin-left: 200px; + } + .phone .tabbed-input-column, .phablet .tabbed-input-column { + margin-left: 0; + } + + .account-link { + position: relative; + } + + .account-linked {} + a.account-linked-profile { + width: 48px; + height: 48px; + display: block; + } + a.account-linked-profile img { + width: 100%; + height: 100%; + display: block; + border: 0; + } + +/* + * MOBILE MENU + * --------------------------------------------- + */ + +html.menu-fullscreen-visible { + overflow: hidden; +} + html.menu-fullscreen-visible body { + width: 100%; + height: 100%; + overflow: hidden; + } + +#menu-fullscreen { + position: fixed; + left: 0; + top: 0; + background: #212121; + border-top-color: #212121; + border-top-style: solid; + height: 100%; + width: 100%; + overflow: auto; +} +.top-bar.white #menu-fullscreen { + border-top-color: #FFF; + background: #F2F2F2; +} + #menu-fullscreen > ul > li { + display: block; + float: none; + border-bottom: 0; + border-top: 1px solid #000; + margin: 0 !important; + position: relative; + } + .top-bar.white #menu-fullscreen > ul > li { + border-top: 1px solid #E5E5E5; + border-bottom: 1px solid #FFF; + background: #FFF; + } + #menu-fullscreen > ul > li .top-btn-text { + padding: 0 10px; + background: inherit; + } + #menu-fullscreen > ul > li .icon { + margin-right: 7px; + } + #menu-fullscreen > ul > li .input-search .icon { + margin-right: 0; + } + #menu-fullscreen > ul > li a { + text-decoration: none; + } + #menu-fullscreen .input-search { + margin: 0 10px; + top: 11px; + width: auto; + } + #menu-fullscreen .menu-fullscreen-show { + display: block; + } + #menu-fullscreen .menu-fullscreen-hide { + display: none; + } + +/* + * UPLOAD BOX + * --------------------------------------------- + */ +body.upload-box-visible { + margin-top: 300px; +} +body.upload-box-visible.no-margin-top { + margin-top: 280px; +} +body.upload-box-visible .upload-box { + display: block; +} + +.upload-box { + clear: both; + background: #FFF; + border-bottom: 1px solid #E5E5E5; +} +.tone-dark .upload-box { + border-color: #000; +} +.upload-box.fixed { + position: fixed; + top: 50px; /* nota: calcular */ + left: 0; + right: 0; + z-index: 200; + visibility: hidden; + background: #FFF; +} +.tone-dark .upload-box.fixed { + background: #101010; +} +.phone .upload-box.fixed { + top: 0; + z-index: 500; + max-height: 100%; + overflow-y: auto; + overflow-x: hidden; +} +.ios .upload-box.fixed { + /*position: absolute;*/ +} + + .upload-box-inner { + padding: 40px 0; + position: relative; + } + .upload-box-inner .position-absolute { + position: absolute; + text-transform: uppercase; + top: 20px; + + line-height: 20px; +} + + .upload-box-heading { + text-align: center; + } + .upload-box-heading .icon { + font-size: 100px; + width: 100px; + height: 100px; + font-size: 7.143rem; + width: 7.143rem; + height: 7.143rem; + color: #00A7DA; + display: inline-block; + text-decoration: none; + -webkit-tap-highlight-color: transparent; + } + .upload-box-heading h2, + .upload-box-heading .heading { + font-weight: lighter; + font-size: 26px; + margin: 10px 0; + display: block; + } + .upload-box-heading h2 a, + .upload-box-heading .heading a{ + color: inherit; + text-decoration: none; + } + + .upload-box-status-text { + font-size: 14px; + } + + .upload-box-allowed-files { + left: 0; + font-size: 11px; + font-size: 0.79rem; + color: #999; + } + .upload-box-allowed-files span { + margin-right: 5px; + } + + .upload-box-close { + text-decoration: none; + right: 0; + font-size: 11px; + line-height: 11px; + font-size: 0.79rem; + line-height: 1em; + color: #333; + } + .upload-box-close, .upload-box-close a { + } + .tone-dark .upload-box-close { + color: #CCC; + } + .upload-box-close:hover { + text-decoration: none; + } + .upload-box-close a { + color: inherit; + text-decoration: none; + } + .upload-box-close .btn-text:hover { + text-decoration: underline; + } + .upload-box-close .btn-icon { + font-size: 9px; + width: 9px; + display: inline; + } + +/* + * NOT FOUND 404 + * --------------------------------------------- + */ +.page-not-found { + background: #F2F2F2; + text-align: center; + padding: 30px; + font-size: 16px; + font-size: 1.143rem; +} +.tone-dark .page-not-found { + background: #101010; +} + .page-not-found h1 { + font-size: 30px; + font-size: 2.143rem; + margin-bottom: 10px; + margin-bottom: 0.714rem; + } + .page-not-found .input-search { + margin-left: auto; + margin-right: auto; + margin-top: 20px; + margin-top: 1.43rem; + } + .page-not-found .input-search .icon-search { + font-size: 20px; + font-size: 1.43rem; + left: 14px; + left: 1rem; + top: 8px; + top: 0.57rem; + } + .page-not-found .input-search .icon-close { + top: 6px; right: 5px; + top: 0.42rem; right: 0.36rem; + } + .page-not-found input.search { + height: 36px; + height: 2.57rem; + width: 100%; + font-size: 15px; + font-size: 1.07rem; + padding-right: 30px; + padding-right: 2.143rem; + padding-left: 40px; + padding-left: 2.86rem; + } + .ie7 .page-not-found input.search, .ie8 .page-not-found input.search, .ie9 .page-not-found input.search { + padding-right: 10px; + line-height: 36px; + } + + + +/* + * PINTERESQUE LISTINGS + * --------------------------------------------- + */ +.content-listing { + overflow: hidden; + position: relative; + clear: both; + /*font-size: 0;*/ +} + .pad-content-listing { + width: 105%; + margin-left: auto; + margin-right: auto; + position: relative; + } + .js .pad-content-listing { + /*visibility: hidden; + height: 0;*/ + } + + .list-item { + display: inline-block; + } + .js .list-item { + display: none; + } + + .list-item .disabled-mask { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + background: rgba(255,255,255,.5); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#80ffffff', endColorstr='#80ffffff'); /* IE */ + z-index: 1; + } + + .list-item:hover .hover-display, + .phone .list-item .hover-display, + .phablet .list-item .hover-display { + display: block; + } + .list-item.masked:hover .hover-display { + display: none; + } + + .list-item .hover-display { + opacity: 0; + -webkit-transition: all 250ms ease; + transition: all 250ms ease; + } + .list-item:hover .hover-display { + opacity: 1; + } + .phone .list-item .hover-display, + .phablet .list-item .hover-display { + opacity: 1; + -webkit-transition: none; + transition: none; + } + + .list-item-image { + position: relative; + display: block; + overflow: hidden; + min-height: 230px; /* chv */ + text-align: center; + background: #F6F6F6; + } + .tone-dark .list-item-image, .tone-dark .list-item-thumbs, .tone-dark .list-item-thumbs li { + background: #212121; + } + + .list-item-image .image-container { + display: inline-block; + text-align: center; + vertical-align: bottom; + text-decoration: none; + } + .js .list-item-image .image-container { + text-align: default; + } + .list-item-image .image-container img { + display: block; + position: relative; + width: 100%; + height: auto; + } + .js .list-item-image .image-container img { + width: auto; + } + .list-item-image .image-container .icon.empty { + width: 90px; + height: 90px; + font-size: 90px; + color: #E5E5E5; + text-decoration: none; + } + .tone-dark .list-item-image .image-container .icon.empty { + color: #444; + } + + .list-item-image-btn { + padding: 5px 8px 5px 28px; + font-size: 0.93em; + background: #FFF; + position: absolute; + top: 10px; + cursor: pointer; + border-radius: 2px; + } + .list-item-image-btn.list-image-like-btn { + left: 10px; + } + .list-item-image-btn span { + font-size: 15px; + position: absolute; + left: 8px; + top: 50%; + margin-top: -8px; + } + .ie7 .list-item-image-btn span { + left: 4px; + top: 2px; + } + .list-item-image-btn:hover span { + color: #00A7DA; + } + .list-item-image-btn.liked { + background: #00A7DA; + color: #FFF; + display: block; + } + .list-item-image-btn.liked:hover { + background: #D90000; + } + .list-item-image-btn.liked:hover span.icon-like { + font-size: 11px; + padding: 0; + left: 10px; + color: #FFF; + margin-top: -6px; + } + .list-item-image-btn.liked:hover span.icon-like:before { + content: "\e01f"; + } + + .list-item-desc, .list-item-card, .list-item-title { + background: #FFF; + border: 1px solid #EEE; + padding: 10px; + position: relative; + } + /* + .tone-dark .list-item-desc, .tone-dark .list-item-card, .tone-dark .list-item-title { + background: #101010; + border-color: transparent; + } + */ + + .list-item-desc-title { + font-size: 1.08em; + line-height: 1.08em; + font-weight: 600; + display: inline-block; + } + + .list-item-title { + padding-top: 0; + padding-bottom: 0; + font-weight: normal; + text-align: center; + height: 40px; + overflow: hidden; + } + .list-item-title, .list-item-title * { + font-size: 1em; + line-height: 40px; + } + .list-item-title a { + font-weight: normal; + color: #333; + } + + .list-item-alt { + background: #F2F2F2; + } + + /*.list-item-desc, .list-item-title { + color: #BBB; + } + + .tone-dark .list-item-desc, .list-item-title { + color: #888; + }*/ + + .list-item-desc-height { + height: 100%; + } + + .list-item-overflow { + height: 110%; + overflow: hidden; + } + + .list-item-desc { + font-size: 0.93em; + line-height: 130%; + height: 3.846em; /* 50/13 */ + box-shadow: 0 1px 0px rgba(0,0,0,.1),0 0 0 transparent; + border-bottom: 1px solid rgba(0,0,0,.2); + } + .phone .list-item-desc, .phablet .list-item-desc { + font-size: 1em; + } + .list-item-desc a, .list-item-desc strong, .list-item-desc b, .list-item.masked:hover .list-item-desc a, .list-item.masked:hover .list-item-title a { + /*font-weight: normal;*/ + color: #555; + } + + .tone-dark .list-item-desc a, .tone-dark .list-item-desc strong, .tone-dark .list-item-desc b, .tone-dark .list-item.masked:hover .list-item-desc a, .tone-dark .list-item.masked:hover .list-item-title a { + color: #FFF; + } + + .list-item:hover .list-item-desc a, .list-item:hover .list-item-title a { + color: #00A7DA; + } + + .list-item-desc .user, .list-item-desc a.user img { + border-radius: 100%; + } + .list-item-desc .user { + float: left; + margin-top: -20px; + margin-right: 8px; + padding: 3px; + background: #FFF; + width: 50px; + height: 50px; + } + + .tone-dark .list-item-desc .user { + background: #101010; + } + + .list-item-desc .user:hover { + background: #00A7DA; + } + .tone-dark .list-item-desc .user:hover { + background: inherit; + } + .list-item-desc .user img { + width: 44px; + height: 44px; + display: block; + } + + .phone .list-item-desc .user, .phablet .list-item-desc .user { + width: 62px; + height: 62px; + } + .phone .list-item-desc .user img, .phablet .list-item-desc .user img { + width: 56px; + height: 56px; + } + + .list-item-desc .user-image { + text-align: center; + position: relative; + } + .list-item-desc .user-image:hover { + background-color: #E5E5E5; + } + + .list-item-desc .user-image .icon-user { + color: #E5E5E5; + position: absolute; + font-size: 24px; + width: 24px; + height: 24px; + left: 50%; + top: 50%; + margin-left: -12px; + margin-top: -12px; + } + + .phone .list-item-desc .user-image .icon-user, .phablet .list-item-desc .user-image .icon-user { + font-size: 32px; + width: 32px; + height: 32px; + margin-left: -16px; + margin-top: -16px; + } + + .list-item-desc .user-image:hover .icon-user { + color: #FFF; + } + + .list-item-desc strong { + display: block; + } + + .list-item-card { + border-radius: 3px; + min-height: 82px; + } + .list-item-card .user-image { + display: block; + } + + .list-item-thumbs-container { + overflow: hidden; + } + + .list-item-thumbs { + overflow: auto; + background: #F2F2F2; + width: 101%; + margin-top: 2px; + margin-bottom: 0; + margin-left: -1px; + } + .list-item-thumbs li { + background: #F6F6F6; + border-right: 1px solid; + border-left: 1px solid; + border-color: #FFF; + float: left; + } + .tone-dark .list-item-thumbs li { + border-color: #0b0b0b; + } + + + .list-item-desc { + color: #FFF; + height: 3.846em; + margin-top: -3.846em; /* -4.17em @ 12px */ + background: transparent; + border: 0; + box-shadow: none; + text-shadow: 1px 1px 3px rgba(0,0,0,.7); + background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.35))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%); /* IE10+ */ + background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#59000000',GradientType=0 ); /* IE6-9 */ + opacity: 0; + -webkit-transition: all 250ms ease; + transition: all 250ms ease; + } + .list-item:hover .list-item-desc, + .phone .list-item .list-item-desc, + .phablet .list-item .list-item-desc, + .laptop .list-item .list-item-desc { + opacity: 1; + } + .list-item-desc *, + .list-item-desc a, + .list-item:hover .list-item-desc a { + color: #FFF; + } + + .list-item-desc .list-item-overflow { + bottom: 0; + left: 0; + padding: 10px; + position: absolute; + height: auto; + } + + +.content-listing-more, .content-listing-loading { + text-align: center; + margin: 20px 0; +} + +.content-listing-more { + display: none; +} + +.content-listing-loading { + height: 32px; +} + .content-listing-loading .loading-indicator { + position: static; + } + +.content-listing-pagination { + text-align: center; + font-size: 1em; + padding: 8px 0; + margin: 20px 0; + color: inherit; + font-weight: normal; +} +.js .content-listing-pagination { + display: none; +} + .content-listing-pagination li { + display: inline-block; + } + .content-listing-pagination a { + text-decoration: none; + font-weight: inherit; + color: inherit; + padding: 6px 10px; + display: block; + } + .content-listing-pagination a:hover { + color: #00A7DA; + } + .content-listing-pagination a:hover, + .content-listing-pagination a.current { + background: #F6F6F6; + } + .content-listing-pagination a.current { + color: inherit; + } + .tone-dark .content-listing-pagination a.current, .tone-dark .content-listing-pagination a:hover { + color: #FFF; + background: #1F1F1F; + } + +.content-empty { + text-align: center; + font-size: inherit; + font-color: #CCC; +} + .content-empty .icon { + color: #E5E5E5; + font-size: 90px; + width: 90px; + height: 90px; + display: inline-block; + } + .tone-dark .content-empty .icon { + color: #444; + } + .content-empty h2 { + font-size: 14px; + margin-top: 10px; + line-height: 160%; + } + .tone-dark .content-empty h2 { + color: #444; + } + +/* Sortable listings */ +.sort-listing { + display: none; +} + .sort-listing .selection-count:before { + content: " ("; + } + .sort-listing .selection-count:after { + content: ")"; + margin-right: 5px; + } + .disabled.sort-listing .selection-count:before, .disabled.sort-listing .selection-count:after { + display: none; + } + + +/* + * USER STYLES + * --------------------------------------------- + */ +.user-image { + display: inline-block; +} + .user-image img, img.user-image { + display: block; + border-radius: 3px; + } + +.default-user-image { + background: #E5E5E5; + color: #FFF; + text-align: center; + position: relative; +} +.tone-dark .default-user-image { + background: #555; +} + .default-user-image .icon { + color: #FFF; + font-size: 16px; + width: 16px; + height: 16px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -8px; + margin-top: -8px; + display: block; + line-height: 100%; + } + +/* user avatar sizes */ +img.user-image.size-70 , .default-user-image.size-70 { + width: 70px; + height: 70px; +} + .default-user-image.size-70 .icon { + font-size: 38px; + margin-left: -19px; + margin-top: -19px; + } + +img.user-image.size-60 , .default-user-image.size-60 { + width: 60px; + height: 60px; +} + .default-user-image.size-60 .icon { + font-size: 32px; + margin-left: -16px; + margin-top: -16px; + } + +img.user-image.size-40 , .default-user-image.size-40 { + width: 40px; + height: 40px; +} + .default-user-image.size-40 .icon { + font-size: 22px; + margin-left: -11px; + margin-top: -11px; + } + +.user-social-networks { + font-size: 1em; +} + .user-social-networks, .user-social-networks a { + text-decoration: none; + color: #BBB; + } + .user-social-networks a { + padding: 2px; + } + .user-social-networks a:hover { + color: #999; + } + +.no-margin-top .top-user { + min-height: 130px; + /* height: auto; */ +} + +.top-user { + position: relative; + height: 110px; + margin-top: 10px; + margin-bottom: 10px; + /* min-height: 100px; */ + height: auto; +} + .top-user > div { + position: absolute; + top: 0; + } + .top-user .top-user-credentials { + position: static; + padding-right: 220px; + clear: both; + overflow: visible; + } + .top-user.user-has-no-background .top-user-credentials { + overflow: auto; + } + .phone .top-user .top-user-credentials { + padding-right: 0; + padding-left: 0; + width: 100%; + margin-bottom: 10px; + text-align: center; + } + .phone .top-user .top-user-credentials > a { + display: inline-block; + } + + .top-user .header-content-right { + right: 0; + } + + .phone .top-user .header-content-right { + position: relative; + /* height: 28px; */ + /* line-height: 28px; */ + } + .phone .top-user .header-content-right > div { + margin: 10px auto; + + text-align: center; + width: 260px; +} + .phone .top-user .input-search { + position: relative; + top: auto; + /* width: 230px; */ + } + .phone .top-user .input-search form { + position: relative; + } + .phone .top-user .number-figures { + line-height: 28px; + } + + .top-user h1 { + font-size: 26px; + font-weight: bold; + margin-bottom: 2px; + margin-top: 10px; + color: #000; + } + .top-user.user-has-no-background h1 { + /*margin-top: 20px;*/ + } + + .tone-dark .top-user h1 { + color: #FFF; + } + .phone .top-user h1, .no-margin-top .top-user h1 { + margin-top: 0; + } + .top-user h1 a { + color: inherit; + text-decoration: none; + } + + .top-user .user-meta { + margin-bottom: 10px; + } + body.no-margin-top .top-user .user-image { + margin-top: -30px; + } + + .top-user .user-image { + width: 160px; + height: 160px; + border: 4px solid #FFF; + float: left; + margin-right: 10px; + border-radius: 100%; + } + .tone-dark .top-user .user-image { + border-color: #0b0b0b; + } + .phone .top-user .user-image { + float: none; + margin-left: auto; + margin-right: auto; + margin-bottom: 10px; + } + .phone body.no-margin-top .top-user .user-image { + /* margin-top: -90px; */ + } + + .top-user img.user-image { + background: #FFF; + } + .tone-dark .top-user img.user-image { + background: #0b0b0b; + } + + + .top-user .user-image.no-border { + border: none; + } + /*.top-user .user-image.default-user-image { + border-color: #F2F2F2; + }*/ + .tone-dark .top-user .user-image.default-user-image { + border-color: #0b0b0b; + } + .top-user .user-image.default-user-image .icon, .user-settings-avatar .user-image.default-user-image .icon { + font-size: 90px; + width: 90px; + height: 90px; + margin-left: -45px; + margin-top: -45px; + } + + .top-user .number-figures { + margin-top: 0; + } + .top-user .input-search { + position: absolute; + right: 0; + top: 30px; + } + + .user-card.avatar { + padding-left: 70px; + } + .user-card.no-avatar { + padding-left: 0; + } + .user-card .or-separator { + margin-top: 5px; + margin-bottom: 5px; + } + + .user-card .user-link { + font-size: 0.93em; + } + + .user-card-header h2 { + font-size: 15px; + font-weight: normal; + margin-top: 0; + margin-bottom: 2px; + } + .user-card-header h2 a { + color: inherit; + text-decoration: none; + } + .tone-dark .user-card-header h2 a { + color: #FFF; + } + .user-card-header div { + color: #BBB; + } + + .user-card-footer { + overflow: hidden; + } + .user-card-footer .user-social-networks { + margin-top: 3px; + } + +/* + * AD-SPACES + * --------------------------------------------- + */ +.ad-space { + text-align: center; +} +.ad-margin-vertical { + margin-top: 20px; + margin-bottom: 20px; +} +.ad-margin-horizontal { + margin-left: 20px; + margin-right: 20px; +} + +/* + * ARROW NAVIGATOR + * --------------------------------------------- + */ +.arrow-navigator {} + .arrow-navigator a { + display: block; + height: 100%; + text-decoration: none; + text-align: center; + color: #FFF; + text-shadow: 0 0 5px #000; + width: 40px; + height: 100%; + position: absolute; + top: 0; + opacity: .5; + } + .arrow-navigator a:hover { + opacity: .9; + } + .phone .arrow-navigator a, .phone .arrow-navigator a:hover, + .phablet .arrow-navigator a, .phablet .arrow-navigator a:hover { + opacity: 1; + } + .arrow-navigator a.disabled { + display: none; + } + .arrow-navigator a span { + display: inline-block; + font-size: 24px; + width: 40px; + position: absolute; + text-align: center; + left: 50%; + top: 50%; + margin-top: -12px; + margin-left: -20px; + } + +/* + * GROWL + * --------------------------------------------- + */ +.growl { + font-size: 14px; + font-size: 1rem; + background: #FFF5B3; + background: rgba(255,245,179,.95); + padding: 10px 30px; + text-align: center; + min-height: 36px; + height: auto; + width: 650px; + position: fixed; + left: 50%; + top: 55px; + margin-left: -325px; + line-height: 1.2; + z-index: 300; + box-shadow: 2px 2px 3px rgba(0,0,0,.1); + cursor: default; + color: #333; +} +.phone .growl { + top: 0; + left: 0; + border-radius: 0; + margin: 0; + width: 100%; + z-index: 1000; + background: #FFF5B3; + min-height: 50px; + line-height: 18px; + padding: 16px 36px; +} +.growl.static { + margin-left: auto; + position: relative; + width: auto; + top: 0; + left: 0; + padding-left: 10px; + padding-right: 10px; + box-shadow: none; + z-index: initial; +} +.growl.dark { + background: #000; + background: rgba(0,0,0,.8); + color: #CCC; +} + .growl .icon { + font-size: 10px; + position: absolute; + right: 2px; + top: 4px; + cursor: pointer; + padding: 10px; + opacity: .9; + } + .growl.dark .icon { + color: #FFF; + } + .phone .growl .icon { + top: 10px; + } + +/* + * FULL SCREENESQUE + * --------------------------------------------- + */ +.fullscreen { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: auto; + z-index: 1000; + opacity: 0; + -webkit-transition: opacity 250ms linear; + transition: opacity 250ms linear; +} +.fullscreen.black, .black-bkg { + background: rgba(0,0,0,.8); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#CC000000,endColorstr=#CC000000); +} +.fullscreen.soft-black, .soft-black-bkg { + background: rgba(0,0,0,.6); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000); +} +.fullscreen.white, .white-bkg { + background: rgba(255,255,255,.87); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#deffffff, endColorstr=#deffffff); +} +.fullscreen.soft-white, .soft-white-bkg { + background: rgba(255,255,255,.6); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7FFFFFFF, endColorstr=#7FFFFFFF); +} + +.ie9 .fullscreen { + filter: none; +} + +/* + * FULLSCREEN LOADER + * --------------------------------------------- + */ +.fullscreen-loader { + width: 150px; + height: 150px; + text-align: center; + border-radius: 10px; + color: #FFF; + margin-top: -75px; + margin-left: -75px; + position: absolute; + top: 50%; + left: 50%; + zoom: 1; +} + .loading-txt { + position: absolute; + bottom: 15px; + left: 0; + text-align: center; + width: 100%; + } + + +/* + * MODALS + * --------------------------------------------- + */ +#fullscreen-modal { + display: none; +} +.ie9 #fullscreen-modal { + filter: none; +} + #fullscreen-modal-box { + background: #FFF; + width: 650px; /* 650, but 652 for box-sizing bug */ + margin: 0 auto; + margin: 50px auto; + padding: 30px; + position: relative; + box-shadow: 0 0 50px 6px rgba(0, 0, 0, 0.25); + } + .tone-dark #fullscreen-modal-box, .tone-dark #fullscreen-modal-box .or-separator span { + background: #161616; + } + .phone #fullscreen-modal-box { + width: 100%; + margin: 0; + padding: 20px; + max-height: 100%; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + } + #fullscreen-modal-box h1, #fullscreen-modal-box .modal-box-title { + display: block; + border-bottom: 1px solid #E5E5E5; + padding-bottom: 10px; + margin-top: 0; + margin-bottom: 20px; + font-size: 20px; + line-height: 100%; + padding-right: 32px; + padding-right: 32px; + } + .tone-dark #fullscreen-modal-box h1, .tone-dark #fullscreen-modal-box .modal-box-title { + border-color: #212121; + } + .phone #fullscreen-modal-box h1, .phone #fullscreen-modal-box .modal-box-title { + font-size: 1.28em; + } + + #fullscreen-modal-box h2 { + font-size: 1.14em; + } + #fullscreen-modal-box h2 * { + font-weight: normal; + } + + #fullscreen-modal-box .or-separator { + margin-top: 16px; + } + + #fullscreen-modal-box p { + font-size: 1em; + line-height: 160%; + margin-top: 10px; + margin-bottom: 10px; + } + #fullscreen-modal-box p:firt-child { + margin-top: 0; + } + #fullscreen-modal-box .btn-container { + margin-bottom: 0; + } + .phone #fullscreen-modal-box .btn-container { + text-align: center; + } + + #fullscreen-modal-box .close-modal.icon-close { + position: absolute; + right: 20px; + top: 25px; + cursor: pointer; + font-size: 12px; + width: 32px; + height: 32px; + padding: 10px; + color: #CCC; + } + #fullscreen-modal-box .close-modal.icon-close:hover { + color: #BBB; + } + .phone #fullscreen-modal-box .close-modal.icon-close, .phone #fullscreen-modal-box .close-modal.icon-close:hover { + right: 10px; + top: 15px; + color: #333; + } + + .modal-form {} + .modal-form textarea { + height: 70px; + resize: none; + } + +/* Discard / commit changes */ + #fullscreen-changes-confirm { + background: #FFF; + padding: 40px 0; + margin-top: 75px; + position: absolute; + text-align: center; + top: 50%; + width: 100%; + box-shadow: 0 4px 16px rgba(0,0,0,.25); + } + .tone-dark #fullscreen-changes-confirm { + background: #1E1E1E; + } + #fullscreen-changes-confirm h2 { + font-size: 18px; + line-height: 18px; + color: inherit; + } + +/* + * FULL SCREEN VIEWER + * --------------------------------------------- + */ +.fullscreen-viewer { + background: #000; + background: rgba(0,0,0,.9); + color: #BBB; + display: none; +} + .fullscreen-viewer-top { + height: 50px; + width: 100%; + background: #000; + } + .fullscreen-viewer-top-user, .fullscreen-viewer-navigation { + margin-top: 8px; + } + + .fullscreen-viewer-top-user {} + .fullscreen-viewer-top-user img { + width: 34px; + height: 34px; + margin-right: 10px; + } + + .fullscreen-viewer-navigation { + font-size: 16px; + font-size: 1.143rem; + height: 26px; + position: relative; + z-index: 100; + + } + .fullscreen-viewer-navigation a { + display: inline-block; + color: #BBB; + color: rgba(255,255,255,.7); + text-decoration: none; + padding: 8px; + } + .fullscreen-viewer-navigation a:hover { + color: #FFF; + } + .fullscreen-viewer-navigation a.disabled { + color: #BBB; + color: rgba(255,255,255,.4); + cursor: default; + } + + .fullscreen-viewer-content { + text-align: center; + height: 100%; + position: relative; + display: none; + } + .js .fullscreen-viewer-content { + /*display: none;*/ + } + .fullscreen-viewer-content img { + max-width: 100%; + max-height: 100%; + box-shadow: 0 0 6px 0 #000000; + } + + +/* + * COOKIE LAW + * --------------------------------------------- + */ +#cookie-law-banner { + position: fixed; + padding: 10px; + width: 100%; + bottom: 0; + background: rgba(0,0,0,.8); + color: #FFF; + font-size: 0.93em; +} + #cookie-law-banner p { + padding-right: 20px; + } + a.cookie-law-close { + color: inherit; + text-decoration: none; + position: absolute; + right: 0; + top: 3px; + font-size: 0.72em; + opacity: .5; + } + a.cookie-law-close:hover { + opacity: 1; + } + +/* + * LAYOUT + * --------------------------------------------- + */ + +/* default grid is a 960 width 24cols (30px) | 10 gutter */ + + + +/* grid rows */ +.r1 { height: 30px; } +.r2 { height: 70px; } +.r3 { height: 110px; } +.r4 { height: 150px; } +.r5 { height: 190px; } +.r6 { height: 230px; } +.r7 { height: 270px; } +.r8 { height: 310px; } +.r9 { height: 350px; } +.r10 { height: 390px; } +.r11 { height: 430px; } +.r12 { height: 470px; } +.r13 { height: 510px; } +.r14 { height: 550px; } +.r15 { height: 590px; } +.r16 { height: 630px; } +.r17 { height: 670px; } +.r18 { height: 710px; } +.r19 { height: 750px; } +.r20 { height: 790px; } +.r11 { height: 830px; } +.r22 { height: 870px; } +.r23 { height: 910px; } +.r24 { height: 950px; } + +.columns-container { + overflow: auto; +} + +.grid-columns { + display: block; + float: left; +} + +.gutter-margin-right, +.gutter-margin-right-bottom { + margin-right: 10px; +} +.gutter-margin-bottom, +.gutter-margin-right-bottom, +.gutter-margin-left-bottom { + margin-bottom: 10px; +} +.gutter-margin-left, +.gutter-margin-left-bottom { + margin-left: 10px; +} + +.gutter-width { width: 10px; } + +/* + * RESPONSIVE + * --------------------------------------------- + */ + +@media (min-width: 480px) { + /*.content-width { + width: 100%; + }*/ +} + +@media (min-width: 768px) { + + /* grid columns */ + .c1 { width: 30px; } + .c2 { width: 70px; } + .c3 { width: 110px; } + .c4 { width: 150px; } + .c5 { width: 190px; } + .c6 { width: 230px; } + .c7 { width: 270px; } + .c8 { width: 310px; } + .c9 { width: 350px; } + .c10 { width: 390px; } + .c11 { width: 430px; } + .c12 { width: 470px; } + .c13 { width: 510px; } + .c14 { width: 550px; } + .c15 { width: 590px; } + .c16 { width: 630px; } + .c17 { width: 670px; } + .c18 { width: 710px; } + + /* fluid grid columns */ + .fluid-column.c1 { width: 3.157%; } + .fluid-column.c2 { width: 7.368%; } + .fluid-column.c3 { width: 11.578%; } + .fluid-column.c4 { width: 15.789%; } + .fluid-column.c5 { width: 20%; } + .fluid-column.c6 { width: 24.210%; } + .fluid-column.c7 { width: 28.421%; } + .fluid-column.c8 { width: 32.631%; } + .fluid-column.c9 { width: 36.842%; } + .fluid-column.c10 { width: 41.052%; } + .fluid-column.c11 { width: 45.263%; } + .fluid-column.c12 { width: 49.473%; } + .fluid-column.c13 { width: 53.684%; } + .fluid-column.c14 { width: 57.894%; } + .fluid-column.c15 { width: 62.105%; } + .fluid-column.c16 { width: 66.315%; } + .fluid-column.c17 { width: 70.526%; } + .fluid-column.c18 { width: 74.736%; } +} + +@media (min-width: 992px) { + .content-width { + width: 100%; + min-width: 970px; + } + + /* grid columns */ + .c19 { width: 750px; } + .c20 { width: 790px; } + .c21 { width: 830px; } + .c22 { width: 870px; } + .c23 { width: 910px; } + .c24 { width: 950px; } + + /* fluid grid columns */ + .fluid-column.c19 { width: 78.947%; } + .fluid-column.c20 { width: 83.157%; } + .fluid-column.c21 { width: 87.368%; } + .fluid-column.c22 { width: 91.578%; } + .fluid-column.c23 { width: 95.789%; } + .fluid-column.c24 { width: 100%; } + + .top-btn-text .btn-text { + /*display: inline;*/ + } + .top-btn-text .btn-text { + margin-left: 7px; + } + + /* pop arrow */ + .pop-box .arrow-up { + border-bottom-color: #FFF; + } + .pop-box .arrow-down { + border-top-color: #FFF; + } + .pop-box .arrow-up { + border-width: 0 6px 6px; + position: absolute; + top: -6px; + } + .pop-box .arrow-down { + border-width: 6px 6px 0 6px; + } + .pop-box .arrow-up, .pop-box.left-anchor .arrow-up { + left: 10px; + } + .pop-box.anchor-center .arrow-up { + left: 50%; + margin-left: -6px; + } + .pop-box.anchor-right .arrow-up { + left: auto; + right: 10px; + } + +} + +@media (min-width: 992px) and (max-width: 1920px) { + .content-width { + max-width: 1800px; + } +} +@media (min-width: 1921px) and (max-width: 2560px) { + .content-width { + max-width: 2440px; + } +} +@media (min-width: 3840px) { + .content-width { + max-width: 3720px; + } +} + +/* + * CSS HELPERS + * --------------------------------------------- + */ + +.color-white { color: #FFF !important; } +.color-black { color: #333 !important; } +.color-grey { color: #CCC !important; } +.color-green { color: #27AE61 !important; } +.color-red { color: #E84C3D !important; } +.color-blue { color: #2A80B9 !important; } +.color-orange { color: #FE771D !important; } +.color-inherit { color: inherit !important; } +.color-initial { color: initial !important; } + +.height-auto { height: auto; } +.width-auto { width: auto; } +.height-100p { height: 100%; } +.width-100p { width: 100%; } + +.opacity-10 { opacity: .1; } +.opacity-20 { opacity: .2; } +.opacity-30 { opacity: .3; } +.opacity-40 { opacity: .4; } +.opacity-50 { opacity: .5; } +.opacity-60 { opacity: .6; } +.opacity-70 { opacity: .7; } +.opacity-80 { opacity: .8; } +.opacity-90 { opacity: .9; } +.opacity-100 { opacity: 1; } + +.background-black { background: black !important; } +.background-white { background: white !important; } +.background-transparent { background: transparent !important; } + +.background-gradient-white-left { + background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,1) 100%); + background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(35%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,1))); + background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 35%,rgba(255,255,255,1) 100%); + background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 35%,rgba(255,255,255,1) 100%); + background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 35%,rgba(255,255,255,1) 100%); + background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 35%,rgba(255,255,255,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); +} +.background-gradient-white-right { + background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 80%, rgba(255,255,255,0) 100%); + background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,1)), color-stop(80%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); + background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 80%,rgba(255,255,255,0) 100%); + background: -o-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 80%,rgba(255,255,255,0) 100%); + background: -ms-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 80%,rgba(255,255,255,0) 100%); + background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 80%,rgba(255,255,255,0) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 ); +} + +.font-weight-bold { font-weight: bold !important; } +.font-weight-normal { font-weight: normal !important; } + +.cursor-pointer { cursor: pointer !important; } +.cursor-default { cursor: default !important; } +.cursor-zoom-in { + cursor: -moz-zoom-in; + cursor: -webkit-zoom-in; + cursor: zoom-in; +} +.cursor-zoom-out { + cursor: -moz-zoom-out; + cursor: -webkit-zoom-out; + cursor: zoom-out; +} + +.font-size-small { font-size: small !important; } +.font-size-medium { font-size: medium !important; } +.font-size-large { font-size: large !important; } +.font-size-inherit { font-size: inherit !important; } +.font-size-10 { font-size: 10px !important; } +.font-size-11 { font-size: 11px !important; } +.font-size-12 { font-size: 12px !important; } +.font-size-13 { font-size: 13px !important; } +.font-size-14 { font-size: 14px !important; } +.font-size-15 { font-size: 15px !important; } +.font-size-16 { font-size: 16px !important; } +.font-size-17 { font-size: 17px !important; } +.font-size-18 { font-size: 18px !important; } + +.height-100p { height: 100% !important; } +.height-120p { height: 120% !important; } + +.top-0 { top: 0px; } +.top-10 { top: 10px; } +.top-20 { top: 20px; } +.top-30 { top: 30px; } +.top-40 { top: 40px; } + +.right-0 { right: 0px; } +.right-10 { right: 10px; } +.right-20 { right: 20px; } +.right-30 { right: 30px; } +.right-40 { right: 40px; } + +.bottom-0 { bottom: 0px; } +.bottom-10 { bottom: 10px; } +.bottom-20 { bottom: 20px; } +.bottom-30 { bottom: 30px; } +.bottom-40 { bottom: 40px; } + +.left-0 { left: 0px; } +.left-10 { left: 10px; } +.left-20 { left: 20px; } +.left-30 { left: 30px; } +.left-40 { left: 40px; } + +.display-none { display: none; } +.display-none-forced { display: none !important; } +.display-block { display: block; } +.display-block-forced { display: block !important;} + +.visibility-hidden { + visibility: hidden; +} + +.clear-both { clear: both; } +.float-left { float: left; } +.float-right { float: right; } + +.border-0, .no-border { border: none; } +.border-top-0 { border-top: 0; } +.border-right-0 { border-right: 0; } +.border-bottom-0 { border-bottom: 0; } +.border-left-0 { border-left: 0; } + +.box-shadow-none { box-shadow: none; } + +.word-break-break-all { word-break: break-all; } +.word-break-break-word { word-break: break-word; } + +.margin-0 { margin: 0 !important; } +.margin-5 { margin: 5px !important; } +.margin-10 { margin: 10px !important; } +.margin-20 { margin: 20px !important; } +.margin-30 { margin: 20px !important; } +.margin-40 { margin: 20px !important; } + +.margin-top-0, .phone .phone-margin-top-0, .phablet .phablet-margin-top-0 { margin-top: 0 !important; } +.margin-top-5, .phone .phone-margin-top-5, .phablet .phablet-margin-top-5 { margin-top: 5px !important; } +.margin-top-10, .phone .phone-margin-top-10, .phablet .phablet-margin-top-10 { margin-top: 10px !important; } +.margin-top-20, .phone .phone-margin-top-20, .phablet .phablet-margin-top-20 { margin-top: 20px !important; } +.margin-top-30 { margin-top: 30px !important; } +.margin-top-40 { margin-top: 40px !important; } + +.margin-right-auto { margin-right: auto !important; } +.margin-right-0, .phone .phone-margin-right-0, .phablet .phablet-margin-right-0 { margin-right: 0 !important; } +.margin-right-5 { margin-right: 5px !important; } +.margin-right-10 { margin-right: 10px !important; } +.margin-right-20 { margin-right: 20px !important; } +.margin-right-30 { margin-right: 30px !important; } +.margin-right-40 { margin-right: 40px !important; } + +.margin-bottom-0, .phone .phone-margin-bottom-0, .phablet .phablet-margin-bottom-0 { margin-bottom: 0 !important; } +.margin-bottom-5 { margin-bottom: 5px !important; } +.margin-bottom-10, .phone .phone-margin-bottom-10, .phablet .phablet-margin-bottom-10 { margin-bottom: 10px !important; } +.margin-bottom-20, .phone .phone-margin-bottom-20, .phablet .phablet-margin-bottom-20 { margin-bottom: 20px !important; } +.margin-bottom-30 { margin-bottom: 30px !important; } +.margin-bottom-40 { margin-bottom: 40px !important; } + +.margin-left-auto { margin-left: auto !important; } +.margin-left-0, .phone .phone-margin-left-0, .phablet .phablet-margin-left-0 { margin-left: 0 !important; } +.margin-left-5 { margin-left: 5px !important;} +.margin-left-10 { margin-left: 10px !important; } +.margin-left-20 { margin-left: 20px !important; } +.margin-left-30 { margin-left: 30px !important; } +.margin-left-40 { margin-left: 40px !important; } + +.padding-5 { padding: 5px !important; } +.padding-10 { padding: 10px !important; } +.padding-20 { padding: 20px !important; } +.padding-30 { padding: 20px !important; } +.padding-40 { padding: 20px !important; } + +.padding-top-5 { padding-top: 5px !important; } +.padding-top-0 { padding-top: 0 !important; } +.padding-top-10 { padding-top: 10px !important; } +.padding-top-20 { padding-top: 20px !important; } +.padding-top-30 { padding-top: 30px !important; } +.padding-top-40 { padding-top: 40px !important; } + +.padding-right-5 { padding-right: 5px !important; } +.padding-right-0 { padding-right: 0 !important; } +.padding-right-10 { padding-right: 10px !important; } +.padding-right-20 { padding-right: 20px !important; } +.padding-right-30 { padding-right: 30px !important; } +.padding-right-40 { padding-right: 40px !important; } + +.padding-bottom-5 { padding-bottom: 5px !important; } +.padding-bottom-0 { padding-bottom: 0 !important; } +.padding-bottom-10 { padding-bottom: 10px !important; } +.padding-bottom-20 { padding-bottom: 20px !important; } +.padding-bottom-30 { padding-bottom: 30px !important; } +.padding-bottom-40 { padding-bottom: 40px !important; } + +.padding-left-5 { padding-left: 5px !important; } +.padding-left-0 { padding-left: 0 !important; } +.padding-left-10 { padding-left: 10px !important; } +.padding-left-20 { padding-left: 20px !important; } +.padding-left-30 { padding-left: 30px !important; } +.padding-left-40 { padding-left: 40px !important; } + +.position-static { position: static; } +.position-relative { position: relative; } +.position-absolute { position: absolute; } +.position-fixed { position: fixed; } + +.text-align-left { text-align: left; } +.text-align-center { text-align: center; } +.text-align-right { text-align: right; } +.text-align-justify { text-align: justify; } + +.text-decoration-none { text-decoration: none !important; } + +.display-block { display: block; } +.display-inline { display: inline; } +.display-inline-table { display: inline-table; } +.display-inline-block { display: inline-block; } +.display-table-cell { display: table-cell; } + +.word-break-break-all { + word-break: break-all; +} + +.list-style-position-inside li { list-style-position: inside !important; } +.list-style-position-outside li { list-style-position: outside !important; } +.list-style-type-disc li { list-style-type: disc !important; } +.list-style-type-decimal li { list-style-type: decimal !important; } + +.center-box { + margin-right: auto !important; + margin-left: auto !important; +} + +/* ie7 */ +.display-inline-block, +.display-table-cell { + *display: inline; + zoom: 1; +} + +.vertical-align-middle { vertical-align: middle !important; } + +.resize-vertical { resize: vertical !important; } +.no-resize, .resize-none { resize: none !important; } + +.overflow-auto { overflow: auto !important; } +.overflow-hidden { overflow: hidden !important; } +.overflow-visible { overflow: visible !important; } +.overflow-scroll { overflow: scroll !important; } + +.overflow-x-auto { overflow-x: auto !important; } +.overflow-y-auto { overflow-y: auto !important; } +.overflow-x-hidden { overflow-x: hidden !important; } +.overflow-y-hidden { overflow-y: hidden !important; } +.overflow-x-visible { overflow-x: visible !important; } +.overflow-y-visible { overflow-y: visible !important; } +.overflow-x-scroll { overflow-x: scroll !important; } +.overflow-y-scroll { overflow-y: scroll !important; } + +.text-transform-capitalize { + text-transform: capitalize; +} + +/* some defaults */ +.default-margin-top { margin-top: 20px; } +.default-margin-bottom { margin-bottom: 20px; } + + +.phone .content-width, .phablet .content-width { + padding-left: 10px !important; + padding-right: 10px !important; +} + +/* + * RESPONSIVE TOOLS + * --------------------------------------------- + */ +.phone .phone-hide, +.phablet .phablet-hide, +.tablet .tablet-hide, +.laptop .laptop-hide, +.desktop .desktop-hide, +.largescreen .desktop-hide { + display: none !important; +} + +.phone .phone-show, .phone .phone-display-block, +.phablet .phablet-show, .phablet .phablet-display-block, +.tablet .tablet-show, .tablet .tablet-display-block, +.laptop .laptop-show, .laptop .laptop-display-block, +.desktop .desktop-show, .desktop .desktop-display-block, +.largescreen .desktop-show, .largescreen .desktop-display-block { + display: block !important; +} + +.phone .phone-display-inline, +.phablet .phablet-display-inline, +.tablet .tablet-display-inline, +.laptop .laptop-display-inline, +.desktop .desktop-display-inline { + display: inline !important; +} + +.phone .phone-display-inline-block, +.phablet .phablet-display-inline-block, +.tablet .tablet-display-inline-block, +.laptop .laptop-display-inline-block, +.desktop .desktop-display-inline-block { + display: inline-block !important; +} + +.image-responsive { + max-width: 100% !important; + width: auto !important; +} + +.phone .phone-float-none, +.phablet .phablet-float-none, +.tablet .tablet-float-none, +.laptop .laptop-float-none, +.desktop .desktop-float-none { + float: none; + clear: both; +} + +.phone .grid-columns, .phablet .grid-columns { + float: none; + margin-left: 0; + margin-right: 0; +} + +.phone .phone-float-left, +.phablet .phablet-float-left { + float: left !important; +} + +.phone .phone-c1, .phablet .phablet-c1, +.phone .fluid-column.phone-c1, .phone .fluid-column.phablet-c1 { + width: 100%; +} + +.phone .phone-text-align-left, +.phablet .phablet-text-align-left { + text-align: left !important; +} + +.phone .phone-text-align-center, +.phablet .phablet-text-align-center { + text-align: center !important; +} + +/* + * TIPTIP + * --------------------------------------------- + */ +#tiptip_holder { + display: none; + position: absolute; + top: 0; + left: 0; + z-index: 99999; +} + +#tiptip_holder.tip_top { + padding-bottom: 5px; +} + +#tiptip_holder.tip_bottom { + padding-top: 5px; +} + +#tiptip_holder.tip_right { + padding-left: 5px; +} + +#tiptip_holder.tip_left { + padding-right: 5px; +} + +#tiptip_content { + font-size: 12px; + color: #FFF; + padding: 6px 8px; + background-color: #333; + background-color: rgba(0,0,0,.8); + word-break: break-word; +} +.tone-dark #tiptip_content { + color: #000; + background: #FFF5B3; + background: rgba(255,255,255,.95); +} + +#tiptip_arrow, #tiptip_arrow_inner { + position: absolute; + border-color: transparent; + border-style: solid; + border-width: 6px; + height: 0; + width: 0; +} + +#tiptip_holder.tip_top #tiptip_arrow_inner { + margin-top: -6px; + margin-left: -7px; + border-top-color: #333; + border-top-color: rgba(0,0,0,.8); +} +.tone-dark #tiptip_holder.tip_top #tiptip_arrow_inner { + border-top-color: #FFF; + border-top-color: rgba(255,255,255,.95); +} + +#tiptip_holder.tip_bottom #tiptip_arrow_inner { + margin-top: -6px; + margin-left: -7px; + border-bottom-color: #333; + border-bottom-color: rgba(0,0,0,.8); +} +.tone-dark #tiptip_holder.tip_bottom #tiptip_arrow_inner { + border-bottom-color: #FFF; + border-bottom-color: rgba(255,255,255,.95); +} + +#tiptip_holder.tip_right #tiptip_arrow_inner { + margin-top: -6px; + margin-left: -6px; + border-right-color: #333; + border-right-color: rgba(0,0,0,.8); +} +.tone-dark #tiptip_holder.tip_right #tiptip_arrow_inner { + border-right-color: #FFF; + border-right-color: rgba(255,255,255,.95); +} + +#tiptip_holder.tip_left #tiptip_arrow_inner { + margin-top: -6px; + margin-left: -6px; + border-left-color: #333; + border-left-color: rgba(0,0,0,.8); +} +.tone-dark #tiptip_holder.tip_left #tiptip_arrow_inner { + border-left-color: #FFF; + border-left-color: rgba(255,255,255,.95); +} + +/* + * ANTISCROLL + * --------------------------------------------- + */ +.antiscroll-wrap { + display: block; + position: relative; + overflow: hidden; +} + +.antiscroll-scrollbar { + background: gray; + background: rgba(0, 0, 0, 0.5); + border-radius: 7px; + box-shadow: 0 0 1px #fff; + position: absolute; + opacity: 0; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + -webkit-transition: linear 250ms opacity; + -moz-transition: linear 250ms opacity; + -o-transition: linear 250ms opacity; +} +.antiscroll-scrollbar-shown { + opacity: 1; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); +} +.antiscroll-scrollbar-horizontal { + height: 7px; + margin-left: 2px; + bottom: 2px; + left: 0; +} +.antiscroll-scrollbar-vertical { + width: 7px; + margin-top: 2px; + right: 2px; + top: 0; +} +.antiscroll-inner { + overflow: scroll; +} + +/** A bug in Chrome 25 on Lion requires each selector to have their own + blocks. E.g. the following: + + .antiscroll-inner::-webkit-scrollbar, .antiscroll-inner::scrollbar {...} + + causes the width and height rules to be ignored by the browser resulting + in both native and antiscroll scrollbars appearing at the same time. + */ +.antiscroll-inner::-webkit-scrollbar { + width: 0; + height: 0; +} +.antiscroll-inner::scrollbar { + width: 0; + height: 0; +} + +/* + * RECAPTCHA + * + */ +#recaptcha_table.recaptcha_theme_clean #recaptcha_image { + border: 0 !important; +} +#recaptcha_response_field { + height: auto; +} + +/* + * Copy button + */ +.copy-hover-display button.copy-input[data-action=copy] { + visibility: hidden; +} +.copy-hover-display:hover button.copy-input[data-action=copy] { + visibility: visible; +} + +button.copy-input[data-action=copy] { + position: absolute; + right: 7px; + top: .8181em; + background-color: #DEDEDE; + text-transform: uppercase; + cursor: pointer; + line-height: 1; + font-size: 11px; + padding: 4px 6px; + border-radius: 4px; + text-shadow: 0 1px 1px rgba(255,255,255, .5); + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* + * ICON SIZES + * --------------------------------------------- + */ + +.icon-16 { + font-size: 16px !important; + font-size: 1.143rem !important; + width: 16px !important; + width: 1.143rem !important; + height: 16px !important; + height: 1.143rem !important; +} + +/* + * ICOMOON + * --------------------------------------------- + */ +/* Icons (custom made + library) thanks to icomoon */ +@font-face { + font-family: 'icomoon'; + src:url('fonts/icomoon.eot?6plsos'); + src:url('fonts/icomoon.eot?#iefix6plsos') format('embedded-opentype'), + url('fonts/icomoon.woff?6plsos') format('woff'), + url('fonts/icomoon.ttf?6plsos') format('truetype'), + url('fonts/icomoon.svg?6plsos#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"], [class*=" icon-"] { + font-family: 'icomoon'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-vk:before { + content: "\e600"; +} +.icon-user:before { + content: "\e697"; + /*content: "\e601";*/ +} +.icon-url-loading:before { + content: "\e602"; +} +.icon-triangle-up:before { + content: "\e603"; +} +.icon-move:before { + content: "\e604"; +} +.icon-menu:before { + content: "\e605"; +} +.icon-loading:before { + content: "\e606"; +} +.icon-like:before { + content: "\e607"; +} +.icon-triangle-right:before { + content: "\e608"; +} +.icon-triangle-left:before { + content: "\e609"; +} +.icon-triangle-down:before { + content: "\e60a"; +} +.icon-shuffle:before { + content: "\e60b"; +} +.icon-share:before { + content: "\e60c"; +} +.icon-search:before { + content: "\e60d"; +} +.icon-reply-alt:before { + content: "\e60e"; +} +.icon-reply:before { + content: "\e60f"; +} +.icon-prev-alt:before { + content: "\e610"; +} +.icon-prev:before { + content: "\e611"; +} +.icon-people:before { + content: "\e612"; +} +.icon-paypal:before { + content: "\e613"; +} +.icon-ok:before { + content: "\e614"; +} +.icon-next-alt:before { + content: "\e615"; +} +.icon-next:before { + content: "\e616"; +} +.icon-junkstr-tag-disabled:before { + content: "\e617"; +} +.icon-junkstr-tag:before { + content: "\e618"; +} +.icon-junkstr:before { + content: "\e619"; +} +.icon-input-submit:before { + content: "\e61a"; +} +.icon-images:before { + content: "\e61b"; +} +.icon-hyphen:before { + content: "\e61c"; +} +.icon-globe:before { + content: "\e61d"; +} +.icon-edit:before { + content: "\e61e"; +} +.icon-download:before { + content: "\e61f"; +} +.icon-cross:before { + content: "\e620"; +} +.icon-cloud-upload:before { + content: "\e621"; +} +.icon-close-box:before { + content: "\e622"; +} +.icon-clock:before { + content: "\e623"; +} +.icon-circle:before { + content: "\e624"; +} +.icon-chevereto:before { + content: "\e625"; +} +.icon-camera:before { + content: "\e626"; +} +.icon-envelope:before { + content: "\e1ee"; +} +.icon-home:before { + content: "\e627"; +} +.icon-home2:before { + content: "\e628"; +} +.icon-home3:before { + content: "\e629"; +} +.icon-office:before { + content: "\e62a"; +} +.icon-newspaper:before { + content: "\e62b"; +} +.icon-pencil:before { + content: "\e62c"; +} +.icon-pencil2:before { + content: "\e62d"; +} +.icon-quill:before { + content: "\e62e"; +} +.icon-pen:before { + content: "\e62f"; +} +.icon-blog:before { + content: "\e630"; +} +.icon-droplet:before { + content: "\e631"; +} +.icon-paint-format:before { + content: "\e632"; +} +.icon-image:before { + content: "\e633"; +} +.icon-image2:before { + content: "\e634"; +} +.icon-images2:before { + content: "\e635"; +} +.icon-camera2:before { + content: "\e636"; +} +.icon-music:before { + content: "\e637"; +} +.icon-headphones:before { + content: "\e638"; +} +.icon-play:before { + content: "\e639"; +} +.icon-film:before { + content: "\e63a"; +} +.icon-camera3:before { + content: "\e63b"; +} +.icon-dice:before { + content: "\e63c"; +} +.icon-pacman:before { + content: "\e63d"; +} +.icon-spades:before { + content: "\e63e"; +} +.icon-clubs:before { + content: "\e63f"; +} +.icon-diamonds:before { + content: "\e640"; +} +.icon-pawn:before { + content: "\e641"; +} +.icon-bullhorn:before { + content: "\e642"; +} +.icon-connection:before { + content: "\e643"; +} +.icon-podcast:before { + content: "\e644"; +} +.icon-feed:before { + content: "\e645"; +} +.icon-book:before { + content: "\e646"; +} +.icon-books:before { + content: "\e647"; +} +.icon-library:before { + content: "\e648"; +} +.icon-file:before { + content: "\e649"; +} +.icon-profile:before { + content: "\e64a"; +} +.icon-file2:before { + content: "\e64b"; +} +.icon-file3:before { + content: "\e64c"; +} +.icon-file4:before { + content: "\e64d"; +} +.icon-copy:before { + content: "\e64e"; +} +.icon-copy2:before { + content: "\e64f"; +} +.icon-copy3:before { + content: "\e650"; +} +.icon-paste:before { + content: "\e651"; +} +.icon-paste2:before { + content: "\e652"; +} +.icon-paste3:before { + content: "\e653"; +} +.icon-stack:before { + content: "\e654"; +} +.icon-folder:before { + content: "\e655"; +} +.icon-folder-open:before { + content: "\e656"; +} +.icon-tag:before { + content: "\e657"; +} +.icon-tags:before { + content: "\e658"; +} +.icon-barcode:before { + content: "\e659"; +} +.icon-qrcode:before { + content: "\e65a"; +} +.icon-ticket:before { + content: "\e65b"; +} +.icon-cart:before { + content: "\e65c"; +} +.icon-cart2:before { + content: "\e65d"; +} +.icon-cart3:before { + content: "\e65e"; +} +.icon-coin:before { + content: "\e65f"; +} +.icon-credit:before { + content: "\e660"; +} +.icon-calculate:before { + content: "\e661"; +} +.icon-support:before { + content: "\e662"; +} +.icon-phone:before { + content: "\e663"; +} +.icon-phone-hang-up:before { + content: "\e664"; +} +.icon-address-book:before { + content: "\e665"; +} +.icon-notebook:before { + content: "\e666"; +} +.icon-pushpin:before { + content: "\e668"; +} +.icon-location:before { + content: "\e669"; +} +.icon-location2:before { + content: "\e66a"; +} +.icon-compass:before { + content: "\e66b"; +} +.icon-map:before { + content: "\e66c"; +} +.icon-map2:before { + content: "\e66d"; +} +.icon-history:before { + content: "\e66e"; +} +.icon-clock2:before { + content: "\e66f"; +} +.icon-clock3:before { + content: "\e670"; +} +.icon-alarm:before { + content: "\e671"; +} +.icon-alarm2:before { + content: "\e672"; +} +.icon-bell:before { + content: "\e673"; +} +.icon-stopwatch:before { + content: "\e674"; +} +.icon-calendar:before { + content: "\e675"; +} +.icon-calendar2:before { + content: "\e676"; +} +.icon-print:before { + content: "\e677"; +} +.icon-keyboard:before { + content: "\e678"; +} +.icon-screen:before { + content: "\e679"; +} +.icon-laptop:before { + content: "\e67a"; +} +.icon-mobile:before { + content: "\e67b"; +} +.icon-mobile2:before { + content: "\e67c"; +} +.icon-tablet:before { + content: "\e67d"; +} +.icon-tv:before { + content: "\e67e"; +} +.icon-cabinet:before { + content: "\e67f"; +} +.icon-drawer:before { + content: "\e680"; +} +.icon-drawer2:before { + content: "\e681"; +} +.icon-drawer3:before { + content: "\e682"; +} +.icon-box-add:before { + content: "\e683"; +} +.icon-box-remove:before { + content: "\e684"; +} +.icon-download2:before { + content: "\e685"; +} +.icon-upload:before { + content: "\e686"; +} +.icon-disk:before { + content: "\e687"; +} +.icon-storage:before { + content: "\e688"; +} +.icon-undo:before { + content: "\e689"; +} +.icon-redo:before { + content: "\e68a"; +} +.icon-flip:before { + content: "\e68b"; +} +.icon-flip2:before { + content: "\e68c"; +} +.icon-undo2:before { + content: "\e68d"; +} +.icon-redo2:before { + content: "\e68e"; +} +.icon-forward:before { + content: "\e68f"; +} +.icon-reply2:before { + content: "\e690"; +} +.icon-bubble:before { + content: "\e691"; +} +.icon-bubbles:before { + content: "\e692"; +} +.icon-bubbles2:before { + content: "\e693"; +} +.icon-bubble2:before { + content: "\e694"; +} +.icon-bubbles3:before { + content: "\e695"; +} +.icon-bubbles4:before { + content: "\e696"; +} +.icon-user2:before { + content: "\e697"; +} +.icon-users:before { + content: "\e698"; +} +.icon-user3:before { + content: "\e699"; +} +.icon-users2:before { + content: "\e69a"; +} +.icon-user4:before { + content: "\e69b"; +} +.icon-user5:before { + content: "\e69c"; +} +.icon-quotes-left:before { + content: "\e69d"; +} +.icon-busy:before { + content: "\e69e"; +} +.icon-spinner:before { + content: "\e69f"; +} +.icon-spinner2:before { + content: "\e6a0"; +} +.icon-spinner3:before { + content: "\e6a1"; +} +.icon-spinner4:before { + content: "\e6a2"; +} +.icon-spinner5:before { + content: "\e6a3"; +} +.icon-spinner6:before { + content: "\e6a4"; +} +.icon-binoculars:before { + content: "\e6a5"; +} +.icon-search2:before { + content: "\e6a6"; +} +.icon-zoom-in:before { + content: "\e6a7"; +} +.icon-zoom-out:before { + content: "\e6a8"; +} +.icon-expand:before { + content: "\e6a9"; +} +.icon-contract:before { + content: "\e6aa"; +} +.icon-expand2:before { + content: "\e6ab"; +} +.icon-bars:before { + content: "\e6ac"; +} +.icon-bars2:before { + content: "\e6ad"; +} +.icon-gift:before { + content: "\e6ae"; +} +.icon-trophy:before { + content: "\e6af"; +} +.icon-glass:before { + content: "\e6b0"; +} +.icon-mug:before { + content: "\e6b1"; +} +.icon-food:before { + content: "\e6b2"; +} +.icon-leaf:before { + content: "\e6b3"; +} +.icon-rocket:before { + content: "\e6b4"; +} +.icon-meter:before { + content: "\e6b5"; +} +.icon-meter2:before { + content: "\e6b6"; +} +.icon-dashboard:before { + content: "\e6b7"; +} +.icon-hammer:before { + content: "\e6b8"; +} +.icon-fire:before { + content: "\e6b9"; +} +.icon-lab:before { + content: "\e6ba"; +} +.icon-magnet:before { + content: "\e6bb"; +} +.icon-remove:before { + content: "\e6bc"; +} +.icon-remove2:before { + content: "\e6bd"; +} +.icon-briefcase:before { + content: "\e6be"; +} +.icon-airplane:before { + content: "\e6bf"; +} +.icon-truck:before { + content: "\e6c0"; +} +.icon-road:before { + content: "\e6c1"; +} +.icon-accessibility:before { + content: "\e6c2"; +} +.icon-target:before { + content: "\e6c3"; +} +.icon-shield:before { + content: "\e6c4"; +} +.icon-lightning:before { + content: "\e6c5"; +} +.icon-switch:before { + content: "\e6c6"; +} +.icon-power-cord:before { + content: "\e6c7"; +} +.icon-signup:before { + content: "\e6c8"; +} +.icon-list:before { + content: "\e6c9"; +} +.icon-list2:before { + content: "\e6ca"; +} +.icon-numbered-list:before { + content: "\e6cb"; +} +.icon-menu2:before { + content: "\e6cc"; +} +.icon-menu3:before { + content: "\e6cd"; +} +.icon-tree:before { + content: "\e6ce"; +} +.icon-cloud:before { + content: "\e6cf"; +} +.icon-cloud-download:before { + content: "\e6d0"; +} +.icon-cloud-upload2:before { + content: "\e6d1"; +} +.icon-download3:before { + content: "\e6d2"; +} +.icon-upload2:before { + content: "\e6d3"; +} +.icon-download4:before { + content: "\e6d4"; +} +.icon-upload3:before { + content: "\e6d5"; +} +.icon-globe2:before { + content: "\e6d6"; +} +.icon-earth:before { + content: "\e6d7"; +} +.icon-link:before { + content: "\e6d8"; +} +.icon-flag:before { + content: "\e6d9"; +} +.icon-attachment:before { + content: "\e6da"; +} +.icon-eye:before { + content: "\e6db"; +} +.icon-eye-blocked:before { + content: "\e6dc"; +} +.icon-eye2:before { + content: "\e6dd"; +} +.icon-bookmark:before { + content: "\e6de"; +} +.icon-bookmarks:before { + content: "\e6df"; +} +.icon-brightness-medium:before { + content: "\e6e0"; +} +.icon-brightness-contrast:before { + content: "\e6e1"; +} +.icon-contrast:before { + content: "\e6e2"; +} +.icon-star:before { + content: "\e6e3"; +} +.icon-star2:before { + content: "\e6e4"; +} +.icon-star3:before { + content: "\e6e5"; +} +.icon-heart:before { + content: "\e6e6"; +} +.icon-heart2:before { + content: "\e6e7"; +} +.icon-heart-broken:before { + content: "\e6e8"; +} +.icon-thumbs-up:before { + content: "\e6e9"; +} +.icon-thumbs-up2:before { + content: "\e6ea"; +} +.icon-happy:before { + content: "\e6eb"; +} +.icon-happy2:before { + content: "\e6ec"; +} +.icon-smiley:before { + content: "\e6ed"; +} +.icon-smiley2:before { + content: "\e6ee"; +} +.icon-tongue:before { + content: "\e6ef"; +} +.icon-tongue2:before { + content: "\e6f0"; +} +.icon-sad:before { + content: "\e6f1"; +} +.icon-sad2:before { + content: "\e6f2"; +} +.icon-wink:before { + content: "\e6f3"; +} +.icon-wink2:before { + content: "\e6f4"; +} +.icon-grin:before { + content: "\e6f5"; +} +.icon-grin2:before { + content: "\e6f6"; +} +.icon-cool:before { + content: "\e6f7"; +} +.icon-cool2:before { + content: "\e6f8"; +} +.icon-angry:before { + content: "\e6f9"; +} +.icon-angry2:before { + content: "\e6fa"; +} +.icon-evil:before { + content: "\e6fb"; +} +.icon-evil2:before { + content: "\e6fc"; +} +.icon-shocked:before { + content: "\e6fd"; +} +.icon-shocked2:before { + content: "\e6fe"; +} +.icon-confused:before { + content: "\e6ff"; +} +.icon-confused2:before { + content: "\e700"; +} +.icon-neutral:before { + content: "\e701"; +} +.icon-neutral2:before { + content: "\e702"; +} +.icon-wondering:before { + content: "\e703"; +} +.icon-wondering2:before { + content: "\e704"; +} +.icon-point-up:before { + content: "\e705"; +} +.icon-point-right:before { + content: "\e706"; +} +.icon-point-down:before { + content: "\e707"; +} +.icon-point-left:before { + content: "\e708"; +} +.icon-warning:before { + content: "\e709"; +} +.icon-notification:before { + content: "\e70a"; +} +.icon-question:before { + content: "\e70b"; +} +.icon-stats:before { + content: "\e70c"; +} +.icon-pie:before { + content: "\e70d"; +} +.icon-bug:before { + content: "\e70e"; +} +.icon-aid:before { + content: "\e70f"; +} +.icon-wand:before { + content: "\e710"; +} +.icon-hammer2:before { + content: "\e711"; +} +.icon-cog:before { + content: "\e712"; +} +.icon-cogs:before { + content: "\e713"; +} +.icon-cog2:before { + content: "\e714"; +} +.icon-equalizer:before { + content: "\e715"; +} +.icon-settings:before { + content: "\e716"; +} +.icon-wrench:before { + content: "\e717"; +} +.icon-unlocked:before { + content: "\e718"; +} +.icon-lock:before { + content: "\e719"; +} +.icon-lock2:before { + content: "\e71a"; +} +.icon-key:before { + content: "\e71b"; +} +.icon-key2:before { + content: "\e71c"; +} +.icon-contract2:before { + content: "\e71d"; +} +.icon-info:before { + content: "\e71e"; +} +.icon-info2:before { + content: "\e71f"; +} +.icon-blocked:before { + content: "\e720"; +} +.icon-cancel-circle:before { + content: "\e721"; +} +.icon-checkmark-circle:before { + content: "\e722"; +} +.icon-spam:before { + content: "\e723"; +} +.icon-close:before { + content: "\e724"; +} +.icon-checkmark:before { + content: "\e725"; +} +.icon-checkmark2:before { + content: "\e726"; +} +.icon-spell-check:before { + content: "\e727"; +} +.icon-minus:before { + content: "\e728"; +} +.icon-plus:before { + content: "\e729"; +} +.icon-enter:before { + content: "\e72a"; +} +.icon-exit:before { + content: "\e72b"; +} +.icon-play2:before { + content: "\e72c"; +} +.icon-pause:before { + content: "\e72d"; +} +.icon-stop:before { + content: "\e72e"; +} +.icon-backward:before { + content: "\e72f"; +} +.icon-forward2:before { + content: "\e730"; +} +.icon-play3:before { + content: "\e731"; +} +.icon-pause2:before { + content: "\e732"; +} +.icon-stop2:before { + content: "\e733"; +} +.icon-backward2:before { + content: "\e734"; +} +.icon-forward3:before { + content: "\e735"; +} +.icon-first:before { + content: "\e736"; +} +.icon-last:before { + content: "\e737"; +} +.icon-previous:before { + content: "\e738"; +} +.icon-next2:before { + content: "\e739"; +} +.icon-eject:before { + content: "\e73a"; +} +.icon-volume-high:before { + content: "\e73b"; +} +.icon-volume-medium:before { + content: "\e73c"; +} +.icon-volume-low:before { + content: "\e73d"; +} +.icon-volume-mute:before { + content: "\e73e"; +} +.icon-volume-mute2:before { + content: "\e73f"; +} +.icon-volume-increase:before { + content: "\e740"; +} +.icon-volume-decrease:before { + content: "\e741"; +} +.icon-loop:before { + content: "\e742"; +} +.icon-loop2:before { + content: "\e743"; +} +.icon-loop3:before { + content: "\e744"; +} +.icon-shuffle2:before { + content: "\e745"; +} +.icon-arrow-up-left:before { + content: "\e746"; +} +.icon-arrow-up:before { + content: "\e747"; +} +.icon-arrow-up-right:before { + content: "\e748"; +} +.icon-arrow-right:before { + content: "\e749"; +} +.icon-arrow-down-right:before { + content: "\e74a"; +} +.icon-arrow-down:before { + content: "\e74b"; +} +.icon-arrow-down-left:before { + content: "\e74c"; +} +.icon-arrow-left:before { + content: "\e74d"; +} +.icon-arrow-up-left2:before { + content: "\e74e"; +} +.icon-arrow-up2:before { + content: "\e74f"; +} +.icon-arrow-up-right2:before { + content: "\e750"; +} +.icon-arrow-right2:before { + content: "\e751"; +} +.icon-arrow-down-right2:before { + content: "\e752"; +} +.icon-arrow-down2:before { + content: "\e753"; +} +.icon-arrow-down-left2:before { + content: "\e754"; +} +.icon-arrow-left2:before { + content: "\e755"; +} +.icon-arrow-up-left3:before { + content: "\e756"; +} +.icon-arrow-up3:before { + content: "\e757"; +} +.icon-arrow-up-right3:before { + content: "\e758"; +} +.icon-arrow-right3:before { + content: "\e759"; +} +.icon-arrow-down-right3:before { + content: "\e75a"; +} +.icon-arrow-down3:before { + content: "\e75b"; +} +.icon-arrow-down-left3:before { + content: "\e75c"; +} +.icon-arrow-left3:before { + content: "\e75d"; +} +.icon-tab:before { + content: "\e75e"; +} +.icon-checkbox-checked:before { + content: "\e75f"; +} +.icon-checkbox-unchecked:before { + content: "\e760"; +} +.icon-checkbox-partial:before { + content: "\e761"; +} +.icon-radio-checked:before { + content: "\e762"; +} +.icon-radio-unchecked:before { + content: "\e763"; +} +.icon-crop:before { + content: "\e764"; +} +.icon-scissors:before { + content: "\e765"; +} +.icon-filter:before { + content: "\e766"; +} +.icon-filter2:before { + content: "\e767"; +} +.icon-font:before { + content: "\e768"; +} +.icon-text-height:before { + content: "\e769"; +} +.icon-text-width:before { + content: "\e76a"; +} +.icon-bold:before { + content: "\e76b"; +} +.icon-underline:before { + content: "\e76c"; +} +.icon-italic:before { + content: "\e76d"; +} +.icon-strikethrough:before { + content: "\e76e"; +} +.icon-omega:before { + content: "\e76f"; +} +.icon-sigma:before { + content: "\e770"; +} +.icon-table:before { + content: "\e771"; +} +.icon-table2:before { + content: "\e772"; +} +.icon-insert-template:before { + content: "\e773"; +} +.icon-pilcrow:before { + content: "\e774"; +} +.icon-left-toright:before { + content: "\e775"; +} +.icon-right-toleft:before { + content: "\e776"; +} +.icon-paragraph-left:before { + content: "\e777"; +} +.icon-paragraph-center:before { + content: "\e778"; +} +.icon-paragraph-right:before { + content: "\e779"; +} +.icon-paragraph-justify:before { + content: "\e77a"; +} +.icon-paragraph-left2:before { + content: "\e77b"; +} +.icon-paragraph-center2:before { + content: "\e77c"; +} +.icon-paragraph-right2:before { + content: "\e77d"; +} +.icon-paragraph-justify2:before { + content: "\e77e"; +} +.icon-indent-increase:before { + content: "\e77f"; +} +.icon-indent-decrease:before { + content: "\e780"; +} +.icon-new-tab:before { + content: "\e781"; +} +.icon-embed:before { + content: "\e782"; +} +.icon-code:before { + content: "\e783"; +} +.icon-console:before { + content: "\e784"; +} +.icon-share2:before { + content: "\e785"; +} +.icon-google:before { + content: "\e78a"; +} +.icon-google-plus:before { + content: "\e78b"; +} +.icon-google-drive:before { + content: "\e78f"; +} +.icon-file-word:before { + content: "\e790"; +} +.icon-file-openoffice:before { + content: "\e791"; +} +.icon-file-pdf:before { + content: "\e792"; +} +.icon-libreoffice:before { + content: "\e793"; +} +.icon-yelp:before { + content: "\e794"; +} +.icon-paypal2:before { + content: "\e795"; +} +.icon-paypal3:before { + content: "\e796"; +} +.icon-paypal4:before { + content: "\e797"; +} +.icon-foursquare:before { + content: "\e798"; +} +.icon-foursquare2:before { + content: "\e799"; +} +.icon-flattr:before { + content: "\e79a"; +} +.icon-pinterest2:before { + content: "\e79e"; +} +.icon-stackoverflow:before { + content: "\e79f"; +} +.icon-stumbleupon:before { + content: "\e7a0"; +} +.icon-delicious:before { + content: "\e7a2"; +} +.icon-lastfm2:before { + content: "\e7a4"; +} +.icon-linkedin:before { + content: "\e7a5"; +} +.icon-reddit:before { + content: "\e7a6"; +} +.icon-skype:before { + content: "\e7a7"; +} +.icon-soundcloud:before { + content: "\e7a8"; +} +.icon-soundcloud2:before { + content: "\e7a9"; +} +.icon-windows8:before { + content: "\e7aa"; +} +.icon-windows:before { + content: "\e7ab"; +} +.icon-android:before { + content: "\e7ac"; +} +.icon-finder:before { + content: "\e7ad"; +} +.icon-apple:before { + content: "\e7ae"; +} +.icon-tux:before { + content: "\e7af"; +} +.icon-yahoo:before { + content: "\e7b0"; +} +.icon-tumblr:before { + content: "\e7b2"; +} +.icon-joomla:before { + content: "\e7b5"; +} +.icon-wordpress2:before { + content: "\e7b7"; +} +.icon-github2:before { + content: "\e7b9"; +} +.icon-github3:before { + content: "\e7ba"; +} +.icon-github4:before { + content: "\e7bb"; +} +.icon-github5:before { + content: "\e7bc"; +} +.icon-steam:before { + content: "\e7bd"; +} +.icon-steam2:before { + content: "\e7be"; +} +.icon-deviantart:before { + content: "\e7bf"; +} +.icon-deviantart2:before { + content: "\e7c0"; +} +.icon-forrst:before { + content: "\e7c1"; +} +.icon-forrst2:before { + content: "\e7c2"; +} +.icon-dribbble:before { + content: "\e7c3"; +} +.icon-dribbble3:before { + content: "\e7c5"; +} +.icon-picassa2:before { + content: "\e7c7"; +} +.icon-flickr3:before { + content: "\e7ca"; +} +.icon-flickr4:before { + content: "\e7cb"; +} +.icon-lanyrd:before { + content: "\e7cc"; +} +.icon-vimeo3:before { + content: "\e7cf"; +} +.icon-youtube:before { + content: "\e7d0"; +} +.icon-youtube2:before { + content: "\e7d1"; +} +.icon-feed3:before { + content: "\e7d3"; +} +.icon-feed4:before { + content: "\e7d4"; +} +.icon-twitter3:before { + content: "\e7d7"; +} +.icon-instagram:before { + content: "\e7d8"; +} +.icon-facebook3:before { + content: "\e7db"; +} +.icon-IcoMoon:before { + content: "\e7dc"; +} +.icon-safari:before { + content: "\e7dd"; +} +.icon-opera:before { + content: "\e7de"; +} +.icon-IE:before { + content: "\e7df"; +} +.icon-firefox:before { + content: "\e7e0"; +} +.icon-chrome:before { + content: "\e7e1"; +} +.icon-css3:before { + content: "\e7e2"; +} +.icon-html5:before { + content: "\e7e3"; +} +.icon-html52:before { + content: "\e7e4"; +} +.icon-file-css:before { + content: "\e7e5"; +} +.icon-file-xml:before { + content: "\e7e6"; +} +.icon-file-powerpoint:before { + content: "\e7e7"; +} +.icon-file-zip:before { + content: "\e7e8"; +} +.icon-file-excel:before { + content: "\e7e9"; +} +.icon-blogger:before { + content: "\e7b4"; +} +.icon-phone2:before { + content: "\e787"; +} +.icon-mobile3:before { + content: "\e788"; +} +.icon-mouse:before { + content: "\e789"; +} +.icon-directions:before { + content: "\e78c"; +} +.icon-mail:before { + content: "\e78d"; +} +.icon-paperplane:before { + content: "\e78e"; +} +.icon-pencil3:before { + content: "\e79b"; +} +.icon-feather:before { + content: "\e79c"; +} +.icon-paperclip:before { + content: "\e79d"; +} +.icon-drawer4:before { + content: "\e7a1"; +} +.icon-reply3:before { + content: "\e7a3"; +} +.icon-reply-all:before { + content: "\e7b3"; +} +.icon-forward4:before { + content: "\e7b6"; +} +.icon-user6:before { + content: "\e7b8"; +} +.icon-users3:before { + content: "\e7c4"; +} +.icon-user-add:before { + content: "\e7c6"; +} +.icon-vcard:before { + content: "\e7c8"; +} +.icon-export:before { + content: "\e7c9"; +} +.icon-location3:before { + content: "\e7cd"; +} +.icon-map3:before { + content: "\e7ce"; +} +.icon-compass2:before { + content: "\e7d2"; +} +.icon-location4:before { + content: "\e7d5"; +} +.icon-target2:before { + content: "\e7d6"; +} +.icon-share3:before { + content: "\e7d9"; +} +.icon-sharable:before { + content: "\e7da"; +} +.icon-heart3:before { + content: "\e7ea"; +} +.icon-heart4:before { + content: "\e7eb"; +} +.icon-star4:before { + content: "\e7ec"; +} +.icon-star5:before { + content: "\e7ed"; +} +.icon-thumbs-up3:before { + content: "\e7ee"; +} +.icon-thumbs-down:before { + content: "\e7ef"; +} +.icon-chat:before { + content: "\e7f0"; +} +.icon-comment:before { + content: "\e7f1"; +} +.icon-quote:before { + content: "\e7f2"; +} +.icon-house:before { + content: "\e7f3"; +} +.icon-popup:before { + content: "\e7f4"; +} +.icon-search3:before { + content: "\e7f5"; +} +.icon-flashlight:before { + content: "\e7f6"; +} +.icon-printer:before { + content: "\e7f7"; +} +.icon-bell2:before { + content: "\e7f8"; +} +.icon-link2:before { + content: "\e7f9"; +} +.icon-flag2:before { + content: "\e7fa"; +} +.icon-cog3:before { + content: "\e7fb"; +} +.icon-tools:before { + content: "\e7fc"; +} +.icon-trophy2:before { + content: "\e7fd"; +} +.icon-tag2:before { + content: "\e7fe"; +} +.icon-camera4:before { + content: "\e7ff"; +} +.icon-megaphone:before { + content: "\e800"; +} +.icon-moon:before { + content: "\e801"; +} +.icon-palette:before { + content: "\e802"; +} +.icon-leaf2:before { + content: "\e803"; +} +.icon-music2:before { + content: "\e804"; +} +.icon-music3:before { + content: "\e805"; +} +.icon-new:before { + content: "\e806"; +} +.icon-graduation:before { + content: "\e807"; +} +.icon-book2:before { + content: "\e808"; +} +.icon-newspaper2:before { + content: "\e809"; +} +.icon-bag:before { + content: "\e80a"; +} +.icon-airplane2:before { + content: "\e80b"; +} +.icon-lifebuoy:before { + content: "\e80c"; +} +.icon-eye3:before { + content: "\e80d"; +} +.icon-clock4:before { + content: "\e80e"; +} +.icon-microphone:before { + content: "\e80f"; +} +.icon-calendar3:before { + content: "\e810"; +} +.icon-bolt:before { + content: "\e811"; +} +.icon-thunder:before { + content: "\e812"; +} +.icon-droplet2:before { + content: "\e813"; +} +.icon-cd:before { + content: "\e814"; +} +.icon-briefcase2:before { + content: "\e815"; +} +.icon-air:before { + content: "\e816"; +} +.icon-hourglass:before { + content: "\e817"; +} +.icon-gauge:before { + content: "\e818"; +} +.icon-language:before { + content: "\e819"; +} +.icon-network:before { + content: "\e81a"; +} +.icon-key3:before { + content: "\e81b"; +} +.icon-battery:before { + content: "\e81c"; +} +.icon-bucket:before { + content: "\e81d"; +} +.icon-magnet2:before { + content: "\e81e"; +} +.icon-drive:before { + content: "\e81f"; +} +.icon-cup:before { + content: "\e820"; +} +.icon-rocket2:before { + content: "\e821"; +} +.icon-brush:before { + content: "\e822"; +} +.icon-suitcase:before { + content: "\e823"; +} +.icon-cone:before { + content: "\e824"; +} +.icon-earth2:before { + content: "\e825"; +} +.icon-keyboard2:before { + content: "\e826"; +} +.icon-browser:before { + content: "\e827"; +} +.icon-publish:before { + content: "\e828"; +} +.icon-progress-3:before { + content: "\e829"; +} +.icon-progress-2:before { + content: "\e82a"; +} +.icon-brogress-1:before { + content: "\e82b"; +} +.icon-progress-0:before { + content: "\e82c"; +} +.icon-sun:before { + content: "\e82d"; +} +.icon-sun2:before { + content: "\e82e"; +} +.icon-adjust:before { + content: "\e82f"; +} +.icon-code2:before { + content: "\e830"; +} +.icon-screen2:before { + content: "\e831"; +} +.icon-infinity:before { + content: "\e832"; +} +.icon-light-bulb:before { + content: "\e833"; +} +.icon-credit-card:before { + content: "\e834"; +} +.icon-database:before { + content: "\e835"; +} +.icon-voicemail:before { + content: "\e836"; +} +.icon-clipboard:before { + content: "\e837"; +} +.icon-cart4:before { + content: "\e838"; +} +.icon-box:before { + content: "\e839"; +} +.icon-ticket2:before { + content: "\e83a"; +} +.icon-rss:before { + content: "\e83b"; +} +.icon-signal:before { + content: "\e83c"; +} +.icon-thermometer:before { + content: "\e83d"; +} +.icon-droplets:before { + content: "\e83e"; +} +.icon-uniE83F:before { + content: "\e83f"; +} +.icon-statistics:before { + content: "\e840"; +} +.icon-pie2:before { + content: "\e841"; +} +.icon-bars3:before { + content: "\e842"; +} +.icon-graph:before { + content: "\e843"; +} +.icon-lock3:before { + content: "\e844"; +} +.icon-lock-open:before { + content: "\e845"; +} +.icon-logout:before { + content: "\e846"; +} +.icon-login:before { + content: "\e847"; +} +.icon-checkmark3:before { + content: "\e848"; +} +.icon-cross2:before { + content: "\e849"; +} +.icon-minus2:before { + content: "\e84a"; +} +.icon-plus2:before { + content: "\e84b"; +} +.icon-cross3:before { + content: "\e84c"; +} +.icon-minus3:before { + content: "\e84d"; +} +.icon-plus3:before { + content: "\e84e"; +} +.icon-cross4:before { + content: "\e84f"; +} +.icon-minus4:before { + content: "\e850"; +} +.icon-plus4:before { + content: "\e851"; +} +.icon-erase:before { + content: "\e852"; +} +.icon-blocked2:before { + content: "\e853"; +} +.icon-info3:before { + content: "\e854"; +} +.icon-info4:before { + content: "\e855"; +} +.icon-question2:before { + content: "\e856"; +} +.icon-help:before { + content: "\e857"; +} +.icon-warning2:before { + content: "\e858"; +} +.icon-cycle:before { + content: "\e859"; +} +.icon-cw:before { + content: "\e85a"; +} +.icon-ccw:before { + content: "\e85b"; +} +.icon-shuffle3:before { + content: "\e85c"; +} +.icon-arrow:before { + content: "\e85d"; +} +.icon-arrow2:before { + content: "\e85e"; +} +.icon-retweet:before { + content: "\e85f"; +} +.icon-loop4:before { + content: "\e860"; +} +.icon-history2:before { + content: "\e861"; +} +.icon-back:before { + content: "\e862"; +} +.icon-switch2:before { + content: "\e863"; +} +.icon-list3:before { + content: "\e864"; +} +.icon-add-to-list:before { + content: "\e865"; +} +.icon-layout:before { + content: "\e866"; +} +.icon-list4:before { + content: "\e867"; +} +.icon-text:before { + content: "\e868"; +} +.icon-text2:before { + content: "\e869"; +} +.icon-document:before { + content: "\e86a"; +} +.icon-docs:before { + content: "\e86b"; +} +.icon-landscape:before { + content: "\e86c"; +} +.icon-pictures:before { + content: "\e86d"; +} +.icon-video:before { + content: "\e86e"; +} +.icon-music4:before { + content: "\e86f"; +} +.icon-folder2:before { + content: "\e870"; +} +.icon-archive:before { + content: "\e871"; +} +.icon-trash:before { + content: "\e872"; +} +.icon-upload4:before { + content: "\e873"; +} +.icon-download5:before { + content: "\e874"; +} +.icon-disk2:before { + content: "\e875"; +} +.icon-install:before { + content: "\e876"; +} +.icon-cloud2:before { + content: "\e877"; +} +.icon-upload5:before { + content: "\e878"; +} +.icon-bookmark2:before { + content: "\e879"; +} +.icon-bookmarks2:before { + content: "\e87a"; +} +.icon-book3:before { + content: "\e87b"; +} +.icon-play4:before { + content: "\e87c"; +} +.icon-pause3:before { + content: "\e87d"; +} +.icon-record:before { + content: "\e87e"; +} +.icon-stop3:before { + content: "\e87f"; +} +.icon-next3:before { + content: "\e880"; +} +.icon-previous2:before { + content: "\e881"; +} +.icon-first2:before { + content: "\e882"; +} +.icon-last2:before { + content: "\e883"; +} +.icon-resize-enlarge:before { + content: "\e884"; +} +.icon-resize-shrink:before { + content: "\e885"; +} +.icon-volume:before { + content: "\e886"; +} +.icon-sound:before { + content: "\e887"; +} +.icon-mute:before { + content: "\e888"; +} +.icon-flow-cascade:before { + content: "\e889"; +} +.icon-flow-branch:before { + content: "\e88a"; +} +.icon-flow-tree:before { + content: "\e88b"; +} +.icon-flow-line:before { + content: "\e88c"; +} +.icon-flow-parallel:before { + content: "\e88d"; +} +.icon-arrow-left4:before { + content: "\e88e"; +} +.icon-arrow-down4:before { + content: "\e88f"; +} +.icon-arrow-up--upload:before { + content: "\e890"; +} +.icon-arrow-right4:before { + content: "\e891"; +} +.icon-arrow-left5:before { + content: "\e892"; +} +.icon-arrow-down5:before { + content: "\e893"; +} +.icon-arrow-up4:before { + content: "\e894"; +} +.icon-arrow-right5:before { + content: "\e895"; +} +.icon-arrow-left6:before { + content: "\e896"; +} +.icon-arrow-down6:before { + content: "\e897"; +} +.icon-arrow-up5:before { + content: "\e898"; +} +.icon-arrow-right6:before { + content: "\e899"; +} +.icon-arrow-left7:before { + content: "\e89a"; +} +.icon-arrow-down7:before { + content: "\e89b"; +} +.icon-arrow-up6:before { + content: "\e89c"; +} +.icon-arrow-right7:before { + content: "\e89d"; +} +.icon-arrow-left8:before { + content: "\e89e"; +} +.icon-arrow-down8:before { + content: "\e89f"; +} +.icon-arrow-up7:before { + content: "\e8a0"; +} +.icon-arrow-right8:before { + content: "\e8a1"; +} +.icon-arrow-left9:before { + content: "\e8a2"; +} +.icon-arrow-down9:before { + content: "\e8a3"; +} +.icon-arrow-up8:before { + content: "\e8a4"; +} +.icon-arrow-right9:before { + content: "\e8a5"; +} +.icon-arrow-left10:before { + content: "\e8a6"; +} +.icon-arrow-down10:before { + content: "\e8a7"; +} +.icon-arrow-up9:before { + content: "\e8a8"; +} +.icon-uniE8A9:before { + content: "\e8a9"; +} +.icon-arrow-left11:before { + content: "\e8aa"; +} +.icon-arrow-down11:before { + content: "\e8ab"; +} +.icon-arrow-up10:before { + content: "\e8ac"; +} +.icon-arrow-right10:before { + content: "\e8ad"; +} +.icon-menu4:before { + content: "\e8ae"; +} +.icon-ellipsis:before { + content: "\e8af"; +} +.icon-dots:before { + content: "\e8b0"; +} +.icon-dot:before { + content: "\e8b1"; +} +.icon-cc:before { + content: "\e8b2"; +} +.icon-cc-by:before { + content: "\e8b3"; +} +.icon-cc-nc:before { + content: "\e8b4"; +} +.icon-cc-nc-eu:before { + content: "\e8b5"; +} +.icon-cc-nc-jp:before { + content: "\e8b6"; +} +.icon-cc-sa:before { + content: "\e8b7"; +} +.icon-cc-nd:before { + content: "\e8b8"; +} +.icon-cc-pd:before { + content: "\e8b9"; +} +.icon-cc-zero:before { + content: "\e8ba"; +} +.icon-cc-share:before { + content: "\e8bb"; +} +.icon-cc-share2:before { + content: "\e8bc"; +} +.icon-daniel-bruce:before { + content: "\e8bd"; +} +.icon-daniel-bruce2:before { + content: "\e8be"; +} +.icon-github:before { + content: "\e8bf"; +} +.icon-github6:before { + content: "\e8c0"; +} +.icon-flickr:before { + content: "\e8c1"; +} +.icon-flickr2:before { + content: "\e8c2"; +} +.icon-vimeo:before { + content: "\e8c3"; +} +.icon-vimeo2:before { + content: "\e8c4"; +} +.icon-twitter:before { + content: "\e8c5"; +} +.icon-twitter2:before { + content: "\e8c6"; +} +.icon-facebook:before { + content: "\e8c7"; +} +.icon-facebook2:before { + content: "\e8c8"; +} +.icon-facebook4:before { + content: "\e8c9"; +} +.icon-googleplus:before { + content: "\e8ca"; +} +.icon-googleplus2:before { + content: "\e8cb"; +} +.icon-pinterest:before { + content: "\e8cc"; +} +.icon-pinterest3:before { + content: "\e8cd"; +} +.icon-tumblr3:before { + content: "\e8ce"; +} +.icon-tumblr4:before { + content: "\e8cf"; +} +.icon-linkedin2:before { + content: "\e8d0"; +} +.icon-linkedin3:before { + content: "\e8d1"; +} +.icon-dribbble2:before { + content: "\e8d2"; +} +.icon-rdio:before { + content: "\e8d3"; +} +.icon-rdio2:before { + content: "\e8d4"; +} +.icon-spotify:before { + content: "\e8d5"; +} +.icon-spotify2:before { + content: "\e8d6"; +} +.icon-qq:before { + content: "\e8d7"; +} +.icon-instagram2:before { + content: "\e8d8"; +} +.icon-dropbox:before { + content: "\e8d9"; +} +.icon-evernote:before { + content: "\e8da"; +} +.icon-flattr2:before { + content: "\e8db"; +} +.icon-skype2:before { + content: "\e8dc"; +} +.icon-skype3:before { + content: "\e8dd"; +} +.icon-renren:before { + content: "\e8de"; +} +.icon-sina-weibo:before { + content: "\e8df"; +} +.icon-paypal5:before { + content: "\e8e0"; +} +.icon-picasa:before { + content: "\e8e1"; +} +.icon-soundcloud3:before { + content: "\e8e2"; +} +.icon-mixi:before { + content: "\e8e3"; +} +.icon-behance:before { + content: "\e8e4"; +} +.icon-circles:before { + content: "\e8e5"; +} +.icon-vk2:before { + content: "\e8e6"; +} +.icon-smashing:before { + content: "\e8e7"; +} +.icon-dribbble4:before { + content: "\e8e8"; +} +.icon-stumbleupon2:before { + content: "\e8e9"; +} +.icon-stumbleupon3:before { + content: "\e8ea"; +} +.icon-lastfm:before { + content: "\e8eb"; +} +.icon-lastfm3:before { + content: "\e8ec"; +} \ No newline at end of file diff --git a/deprecated/feras2.css b/deprecated/feras2.css new file mode 100644 index 0000000..2dc6dc3 --- /dev/null +++ b/deprecated/feras2.css @@ -0,0 +1,1064 @@ +/** +Theme Name: Peafowl +Theme URL: http://chevereto.com/ +Version: 3 +Author: Rodolfo Berrios +@Chevereto: 3.7.0 +@requires peafowl.css +*/ + +/* + * LAYOUT + * --------------------------------------------- + */ +body { + margin-top: 65px; + padding-bottom: 15px; + background: #FEFEFE; +} +body.landing { + height: 100%; + padding-bottom: 0; + margin: 0; +} +.js body.landing { + transform: scale(1.25); + overflow: hidden; + opacity: 0; +} +.js body.landing.load { + -webkit-transition: -webkit-transform 400ms ease, opacity 350ms linear; + transition: transform 400ms ease, opacity 350ms linear; + transform: scale(1); + opacity: 1; +} +.js body.landing.loaded { + overflow: auto; +} + +body.split { + margin-top: 0; +} + +.fluid .content-width, .content-width.fluid { + width: 100%; + /*max-width: 1620px;*/ +} + + +@media (min-width: 992px) { + .content-width.wide { + max-width: none; + } +} + +/* + * IMAGE VIEWER + * --------------------------------------------- + */ +.image-viewer { + text-align: center; + background: #F7F7F7; + position: relative; + min-height: 72px; + overflow: hidden; +} + .image-viewer-main { + display: inline-block; + vertical-align: middle; + } + .image-viewer-container { + display: block; + margin: 0 auto; + position: relative; + } + .image-viewer-container img { + display: block; + margin: 0 auto; + max-height: 100%; + width: auto; + } + + .js .image-viewer-container img { + position: absolute; + /*background: #000;*/ + width: 100%; + height: auto; + } + + .image-viewer .btn-download { + position: absolute; + top: 20px; + right: 20px; + z-index: 1; + } + + .image-viewer-navigation {} + .image-viewer-navigation a { + z-index: 3; + } + .image-viewer-navigation a:hover { + background-color: #AAA; + background-color: rgba(0,0,0,.3); + } + + #image-viewer-loading { + width: 30px; + height: 30px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -15px; + margin-top: -15px; + border-radius: 100%; + background: rgba(17,17,17,.9); + } + +.image-viewer.full-viewer, #image .top-bar-placeholder { + background: #111; +} +.top-bar-white .image-viewer.full-viewer, .top-bar-white #image .top-bar-placeholder { + background: #FFF; +} + +/* + * LIKE BUTTON + * -- + */ +.btn-like {} + .btn-like .btn.btn-liked, + .btn-like .btn.btn-unliked { + display: none; + } + .btn-like[data-liked="0"] .btn-unliked { + display: inline-block; + } + .btn-like[data-liked="1"] .btn-liked { + display: inline-block; + } + +/* + * FOLLOW BUTTON + * -- + */ +.btn-follow {} + .btn-follow .btn.btn-followed, + .btn-follow .btn.btn-unfollowed { + display: none; + } + .btn-follow[data-followed="0"] .btn-unfollowed { + display: inline-block; + } + .btn-follow[data-followed="1"] .btn-followed { + display: inline-block; + } + +/* + * UPLOAD BOX + * --------------------------------------------- + */ + +#fullscreen-uploader-mask { + z-index: 99; +} +.phone #fullscreen-uploader-mask { + z-index: 400; +} + +#anywhere-upload { + z-index: 100; + scroll: auto; + -webkit-overflow-scrolling: touch; + -webkit-transition: transform 250ms ease; + transition: transform 250ms ease; +} +#anywhere-upload.hidden-visibility {} + + #anywhere-upload.hidden-visibility iframe { /* example: adsense */ + visibility: hidden; + } + +.phone #anywhere-upload { + z-index: 500; +} + +#anywhere-upload-paste { + height: 0; + opacity: 0; + font-size: 0; +} + #anywhere-upload-paste * { + display: none; + } + +.upload-box { + border-bottom: 0; +} + + .upload-box-queue { + text-align: center; + /*width: 960px; /* nota: setear por js */ + font-size: 0; + margin-top: 40px; + margin-bottom: 30px; /* thumbs add 10 */ + } + .upload-box-queue li { + position: relative; + text-align: center; + display: inline-block; + background: red; + margin-right: 10px; + margin-bottom: 10px; + background: #EFEFEF; + box-shadow: inset 0px 2px 10px 0px rgba(0,0,0,.07); + } + .tone-dark .upload-box-queue li { + background: #222; + } + .upload-box-queue li, .upload-box-queue .block { + border-radius: 0; + } + .ios .upload-box-queue li, .ios .upload-box-queue .block, + .upload-box-queue .block.failed { + border-radius: 0; + } + + .upload-box-queue li, .upload-box-queue li.normal { + width: 300px; /* 110 -> 77 -> 55 */ + height: 300px; + font-size: 14px; + font-size: 1rem; + } + .upload-box-queue li.small { + width: 77px; + height: 77px; + font-size: 9px; + font-size: 0.643rem; + } + .upload-box-queue li.tiny { + width: 54px; + height: 54px; + font-size: 7px; + font-size: 0.5rem; + } + + .upload-box-queue .block { + width: 100%; + height: 100%; + top: 0; + left: 0; + overflow: hidden; + position: absolute; + } + + .upload-box-queue a.image-link { + display: none; + } + + .upload-box-queue .completed a.image-link { + display: block; + position: absolute; + overflow: hidden; + z-index: 1; + -webkit-transform: rotate(0.000001deg); /* workraround for webkit rounded:hover:overflow issue */ + } + + .upload-box-queue .queue-item .queue-item-button, + .upload-box-queue .queue-item .block.edit { + display: block; + position: absolute; + cursor: pointer; + z-index: 100; + } + + .upload-box-queue .queue-item.completed:hover .queue-item-button { + display: none; + } + + + /*.upload-box-queue .hover-display { + opacity: 0; + transition: opacity 300ms ease; + } + .upload-box-queue .queue-item:hover .hover-display { + opacity: 1; + }*/ + + .upload-box-queue .queue-item .queue-item-button { + font-size: 7px; + width: 21px; + height: 21px; + line-height: 23px; + background: #FFF; + color: #333; + border-radius: 200px; + left: -7px; + box-shadow: 1px 1px 4px 0px rgba(0,0,0,.5); + } + .tone-dark .upload-box-queue .queue-item .queue-item-button { + background: #333; + color: #FFF; + } + + .upload-box-queue .queue-item .queue-item-button.cancel { + top: -7px; + } + .upload-box-queue .queue-item .queue-item-button.edit { + top: 16px; + font-size: 9px; + } + + .upload-box-queue .big-icon { + position: absolute; + color: #DADADA; + font-size: 5.36em; + width: 1em; + height: 1em; + left: 50%; + top: 50%; + margin-left: -0.5em; + margin-top: -0.5em; + text-shadow: 1px 1px 0 rgba(255,255,255,.9); + } + + .tone-dark .upload-box-queue .big-icon { + color: #444; + text-shadow: 1px 1px 0 rgba(0,0,0,.9); + } + + .upload-box-queue .preview, .upload-box-queue .done { + position: relative; + overflow: hidden; + } + .upload-box-queue .preview .canvas { + position: absolute; + top: 50%; + left: 50%; + } + + .upload-box-queue .progress { + position: absolute; + } + + .upload-box-queue .progress-bar, .upload-box-queue .progress-percent { + height: 100%; + } + + .upload-box-queue .uploading .progress-percent { + display: block; + } + + .upload-box-queue .uploading.waiting .progress-percent { + display: none; + } + + .upload-box-queue .progress-percent { + font-family: arial, helvetica, sans-serif; + font-size: 2.86em; + font-weight: normal; + color: #FFF; + text-shadow: 2px 2px 10px rgba(0,0,0,.8); + text-align: center; + width: 100%; + height: 1em; + position: absolute; + top: 0.86em; + z-index: 1; + display: none; + } + .upload-box-queue .progress-percent b { + font-weight: bold; + } + .upload-box-queue .progress-percent span { + font-size: 0.5em; + font-weight: normal; + position: relative; + } + + .upload-box-queue .progress-bar { + float: right; + width: 100%; + display: none; + } + + .upload-box-queue .progress-bar, .upload-box-queue .failed .result { + background: rgba(255,255,255,.65); + } + + .upload-box-queue .uploading .progress-bar { + display: block; + } + + .upload-box-queue .completed .result.done, + .upload-box-queue .failed .result.failed { + display: block; + } + .upload-box-queue .result { + position: absolute; + z-index: 1; + display: none; + } + + .tone-dark .upload-box-queue .progress-bar, .tone-dark .upload-box-queue .failed .result { + background: rgba(0,0,0,.65); + } + + .upload-box-queue .result .icon { + position: absolute; + width: 1em; + font-size: 3.429em; + color: #FFF; + top: 50%; + left: 50%; + margin-top: -0.5em; + margin-left: -0.5em; + margin-left: -0.5em; + opacity: 0.92; + text-shadow: none; + } + .upload-box-queue .done .result .icon { + text-shadow: 2px 2px 6px rgba(0,0,0,.2); + } + .upload-box-queue .failed .result .icon { + color: #E84C3D; + font-size: 3.429em; /* 48 */ + } + + .upload-box-queue.queue-complete .cancel, + .upload-box-queue.queue-complete .edit { + display: none; + } + + #uploaded-embed-toggle-combo { + position: relative; + } + +/* + * USER BACKGROUND COVER + * --------------------------------------------- + */ +#background-cover { + height: 290px; + background-color: #000; + position: relative; +} +.phone #background-cover { + height: 230px; +} +#background-cover.no-background { + background-color: #F2F2F2; + background-image: none !important; + padding: 9px 0; + height: auto; + margin-top: 50px; +} +.tone-dark #background-cover.no-background { + background: #101010; +} + #background-cover-wrap { + height: 100%; + overflow: hidden; + position: relative; + } + #background-cover .content-width { + text-align: center; + } + + #change-background-cover { + position: absolute; + right: 10px; + bottom: 10px; + } + + #user-background-upload { + top: 0; + left: 0; + width: 1px; + height: 1px; + } + + #background-cover-src { + overflow: hidden; + background-position: center center; + background-size: cover; + } + + #background-cover-src, #background-cover .loading-placeholder { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + #background-cover .loading-placeholder { + background: rgba(0,0,0,.8); + } + +/* + * LIST STYLES + * --------------------------------------------- + */ +.list-item.privacy-public .list-item-privacy { + display: none; +} + +.list-item-thumbs li { + display: block; + height: auto; +} +.list-item-thumbs li:last-child { + +} + .list-item-thumbs li img { + width: 100%; + display: block; + } + +.input-copy { + position: relative; +} + .input-copy .btn-copy { + font-size: 10px; + position: absolute; + right: 2px; + top: 8px; + background: #FFF; + padding: 0 4px; + height: 18px; + line-height: 18px; + text-transform: uppercase; + cursor: pointer; + border-width: 0 4px; + border-style: solid; + border-color: #FFF; + display: none; + } + .input-copy .btn-copy:hover { + background: #E5E5E5; + } + +.list-item-image-tools { + position: absolute; + right: -2.4em; + top: 0; + opacity: 0; +} +.list-item:hover .hover-display.list-item-image-tools, +.phone .list-item .hover-display.list-item-image-tools, +.phablet .list-item .hover-display.list-item-image-tools { + right: 0; +} +.list-item.selected .list-item-image-tools, +.list-item.unsafe .list-item-image-tools { + opacity: 1; + right: 0; + display: block; +} + .list-item.selected .list-item-image-tools li, + .list-item.unsafe .list-item-image-tools li { + display: none; + } + + .phone .list-item .list-item-image-tools li, + .phablet .list-item .list-item-image-tools li { + display: block; + } + + .list-item.unsafe:hover .list-item-image-tools li { + display: block; + } + + .list-item.selected .list-item-image-tools li.tool-select, + .list-item.unsafe .list-item-image-tools li.tool-flag, + .list-item.selected:hover .list-item-image-tools li { + display: block; + } + .list-item.selected .list-item-image-tools li.tool-select .icon { + color: #FFF; + background: #27AE60; + } + + .list-item-image-tools li { + margin: 2px; + cursor: pointer; + position: relative; + height: 2.4em; /* 36 */ + line-height: 2.4em; + font-size: 1em; + } + .list-item-image-tools li, .list-item-image-tools li * { + display: block; + color: inherit; + } + + .list-item-image-tools li span { + float: right; + } + + .list-item-image-tools li .label { + font-size: 0.86em; + } + .list-item-image-tools li .btn-icon { + font-size: 1em; + } + + .list-item-image-tools li .label { + text-transform: uppercase; + padding-left: 1em; + padding-right: 0; + display: none; + height: 100%; + } + .list-item-image-tools li:hover .label { + display: block; + } + .small-cols .list-item-image-tools li:hover .label { + display: none; + } + + .list-item.unsafe li:hover .label-flag-unsafe, .list-item.safe li:hover .label-flag-safe { + display: none; + } + + .unsafe-blur-on .list-item.unsafe .list-item-image .image-container { + filter: blur(5px); + -webkit-filter: blur(5px); + transform: scale(1.04); + } + .unsafe-blur-on .list-item.unsafe:hover .list-item-image .image-container { + filter: none; + -webkit-filter: none; + } + + .list-item-image-tools li .btn-icon { + width: 2.4em; /* 36/15 */ + height: 2.4em; + line-height: 2.4em; + color: #FFF; + background: #000; + background: rgba(0,0,0,.2); + text-align: center; + } + .list-item-image-tools li:hover .btn-icon, + .list-item-image-tools li .label { + color: #FFF; + background: rgba(0,0,0,.4); + } + + .list-item.selected li.tool-select .btn-icon, + .list-item.unsafe li.tool-flag .btn-icon { + background: rgba(0,0,0,.4); + } + + .list-item-album .tool-flag { + display: none; + } + + .list-item-image-tools li .label { + text-shadow: 1px 1px 0 rgba(0,0,0,.1); + } + /* + .label-edit { + background: #2980B9; + } + .label-select { + background: #27AE60; + } + .label-move { + background: #F1C40F; + } + .label-delete { + background: #E74C3C; + } + .label-flag { + background: #333; + } + */ + + .list-item .list-item-avatar-cover, + .list-item .list-item-avatar-cover > * { + border-radius: 100%; + } + .list-item .list-item-avatar-cover { + width: 160px; + height: 160px; + border: 0; + background-color: #E5E5E5; + position: absolute; + left: 50%; + top: 50%; + /* margin-top: 0 !important; */ + margin-top: -80px !important; + margin-left: -80px !important; + transition: all 300ms; + } + .tone-dark .list-item .list-item-avatar-cover { + background: #555; + } + .list-item .list-item-avatar-cover > * { + width: 100px; + height: 100px; + } + .list-item .list-item-avatar-cover img { + height: auto; + box-shadow: 2px 2px 2px rgba(0,0,0,.3); + } + + .list-item .list-item-avatar-cover .icon.empty { + display: block; + top: 50%; + position: relative; + margin-top: -45px; + } + .list-item .list-item-avatar-cover .icon.empty, .tone-dark .list-item-image .list-item-avatar-cover .icon.empty { + color: #FFF; + } + + .list-item-privacy { + position: absolute; + left: 0; + top: 0; + width: 2.4em; + height: 2.4em; + line-height: 2.4em; + color: #FFF; + text-shadow: 1px 1px 5px rgba(0,0,0,.5); + } + .tone-dark .list-item-privacy { + background: rgba(0,0,0,.5); + color: #FFF; + } + + .list-item-like { + position: absolute; + height: 20px; + top: 50%; + margin-top: -8px; + right: 10px; + } + .list-item-like .btn-like { + font-size: 20px; + cursor: pointer; + display: none; + } + .list-item[data-liked="0"] .list-item-like .btn-like.btn-unliked { + display: block; + } + .list-item[data-liked="1"] .list-item-like .btn-like.btn-liked { + display: block; + } + + +/* settings */ +.settings-group { + display: none; +} +.settings-group-isolated { + display: block; +} + +/* stats */ +.stats-block, a.stats-block { + text-decoration: none; + color: inherit; + padding: 10px; +} +a.stats-block:hover { + background: #F9F9F9; +} +.tone-dark a.stats-block:hover { + background: #222; +} + + .text-align-center .stats-big-number { + text-align: center; + } + .stats-big-number .number { + font-size: 44px; + font-weight: 100; + } + .stats-big-number .number span { + font-size: 24px; + } + .stats-big-number .label { + display: block; + } + +.text-content {} + .text-content code { + background: #F2F2F2; + padding: 2px; + border: 1px solid #DDD; + } + .tone-dark .text-content code { + border-color: #222; + background: #111; + } + +#home-top-bar-placeholder { + margin-top: -65px; +} +#home-cover { + width: 100%; + background-position: center center; + background-color: #333; + background-size: cover; + color: #FFF; +} +body.landing #home-cover { + margin: 0; + padding: 0; + height: 100%; +} +body.split #home-cover { + margin: 0; + padding: 132px 0 100px 0; +} +.tone-dark #home-cover { + /*background: none;*/ +} + #home-cover-content { + text-align: center; + } + body.landing #home-cover-content { + top: 50%; + position: relative; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + } + #home-cover-content p, #home-cover-content h1 { + text-shadow: 1px 1px 2px rgba(0,0,0,.25) + } + /*#home-cover-content a { + color: #FFF; + }*/ + #home-cover-content h1 { + font-size: 2.4em; + line-height: 120%; + font-weight: 600; + } + @media (min-width: 768px) { + #home-cover-content h1 { + font-size: 2.7em; + } + } + @media (min-width: 992px) { + #home-cover-content h1 { + font-size: 3em; + } + } + + #home-cover-content p { + font-size: 22px; + margin: 20px 0; + font-weight: 100; + } + #home-cover-content .home-buttons { + margin: 30px 0 0 0; + } + +.home-buttons { + margin: 20px 0; + text-align: center; +} + .home-buttons a { + font-size: 16px; + text-transform: uppercase; + min-height: 50px; + line-height: 1.5; + height: auto; + text-align: center; + letter-spacing: 2px; + padding: 12px 30px; + } + +#home-pics-feature { + height: 700px; + overflow: hidden; + position: relative; + margin: 10px 0; +} +#home-pics-feature.empty { + height: 200px; +} + #home-pics-feature-overlay { + background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* IE10+ */ + background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */ + width: 100%; + height: 200px; + position: absolute; + bottom: 0; + z-index: 1; + } + + .tone-dark #home-pics-feature-overlay { + background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* IE10+ */ + background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */ + } + + #home-pics-feature.empty #home-pics-overlay { + display: none; + } + +#home-join { + margin: 40px 0; +} + #home-join h1 { + font-size: 38px; + font-weight: 100; + } + #home-join p { + margin: 20px 0; + font-size: 18px; + } + +/** + * BANNERS + */ +.ad-banner { + margin: 10px; + text-align: center; +} + .ad-banner img { + display: block; + margin: 0 auto; + } +/* sizes */ +.ad-banner-size-300x250 { + width: 300px; + height: 250px; +} +.ad-banner-size-336x280 { + width: 336px; + height: 280px; +} +.ad-banner-size-728x90 { + width: 728px; + height: 90px; +} +.ad-banner-size-300x600 { + width: 300px; + height: 600px; +} +.ad-banner-size-320x100 { + width: 320px; + height: 100px; +} +.ad-banner-size-320x50 { + width: 320px; + height: 50px; +} +.ad-banner-size-468x60 { + width: 468px; + height: 60px; +} +.ad-banner-size-234x60 { + width: 234px; + height: 60px; +} +.ad-banner-size-120x600 { + width: 120px; + height: 600px; +} +.ad-banner-size-120x240 { + width: 120px; + height: 240px; +} +.ad-banner-size-160x600 { + width: 160px; + height: 600px; +} +.ad-banner-size-300x1050 { + width: 300px; + height: 1050px; +} +.ad-banner-size-970x90 { + width: 970px; + height: 90px; +} +.ad-banner-size-970x250 { + width: 970px; + height: 250px; +} +.ad-banner-size-250x250 { + width: 250px; + height: 250px; +} +.ad-banner-size-200x200 { + width: 200px; + height: 200px; +} +.ad-banner-size-180x150 { + width: 180px; + height: 150px; +} +.ad-banner-size-125x125 { + width: 125px; + height: 125px; +} + +#banner_before_home_cover { + margin: 0; + padding: 10px; + background: #000; +} + +#banner_image_image-viewer_top, #banner_image_image-viewer_foot { + height: 90px; + margin-left: auto; + margin-right: auto; +} + +body#maintenance { + padding: 0; + margin: 0; + width: 100%; + height: 100%; +} +#maintenance-wrapper { + height: 100%; + background-position: center center; + background-color: #F2F2F2; + background-size: cover; +} + #maintenance-content { + color: #FFF; + background: rgba(0,0,0,.4); + padding: 10px 40px 40px; + text-align: center; + position: relative; + top: 20%; + } + #maintenance-content #logo { + position: relative; + top: -70px; + } + #maintenance-content #logo img { + height: 30px; + } + #maintenance-content h1 { + font-size: 2.5em; + margin-bottom: 20px; + } + #maintenance-content p { + font-size: 1.2em; + } + +#fullscreen-modal-box .image-preview .canvas { + border: 0; + display: block; + margin: 0 auto; + max-width: 100%; + max-height: 500px; +} \ No newline at end of file diff --git a/deprecated/indexbackup.php b/deprecated/indexbackup.php new file mode 100644 index 0000000..ae28bec --- /dev/null +++ b/deprecated/indexbackup.php @@ -0,0 +1,84 @@ + + + +Imeji Uploader v0.2 + + + + + + + +
+

I.C.A.R.U.S. Imeji Uploader

+


Accepted filetypes: JPG, JPEG, PNG, GIF.
Max filesize: 6MB

+


+
+ Select image to upload: +

+ + +

+ +

+
+
+ + +
+ +
+
+
I.C.A.R.U.S. Imeji Uploader v0.3
+
+ \ No newline at end of file diff --git a/deprecated/indexold.php b/deprecated/indexold.php new file mode 100644 index 0000000..8fbc48a --- /dev/null +++ b/deprecated/indexold.php @@ -0,0 +1,30 @@ + + +I.C.A.R.U.S. Imeji Uploader +

I.C.A.R.U.S. Imeji Uploader

+
+ + +
\ No newline at end of file diff --git a/deprecated/indexstyle.css b/deprecated/indexstyle.css new file mode 100644 index 0000000..4815b45 --- /dev/null +++ b/deprecated/indexstyle.css @@ -0,0 +1,20 @@ +body { + background-color: lightblue; +} + +h1 { + color: navy; + margin-left: 20px; +} + +input[type=button], input[type=submit], input[type=reset] { + background-color: #4CAF50; + border: none; + color: white; + padding: 16px 32px; + text-decoration: none; + margin: 4px 2px; + cursor: pointer; +} + +/* Tip: use width: 100% for full-width buttons */ \ No newline at end of file diff --git a/deprecated/neoindex.html b/deprecated/neoindex.html new file mode 100644 index 0000000..f5566b0 --- /dev/null +++ b/deprecated/neoindex.html @@ -0,0 +1,94 @@ + + + + + + + Custom File Inputs | Codrops + + + + + + + + + + + + + +
+
+ +

Custom File Inputs

+

Demo for the tutorial: Styling and Customizing File Inputs the Smart Way

+
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + +
+ + +
+ + + + + + + diff --git a/deprecated/opensans.css b/deprecated/opensans.css new file mode 100644 index 0000000..77eaf49 --- /dev/null +++ b/deprecated/opensans.css @@ -0,0 +1,560 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(./v13/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(./v13/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(./v13/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(./v13/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(./v13/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(./v13/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(./v13/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(./v13/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(./v13/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(./v13/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hq-j2U0lmluP9RWlSytm3ho.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hpX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hhWV49_lSm1NYrwo-zkhivY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hqaRobkAwv3vxw3jMhVENGA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hv8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hj0LW-43aMEzIO6XUTLjad8.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(./v13/EInbV5DfGHOiMmvb1Xr-hugdm0LZdjqr5-oayXSOefg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxhgVThLs8Y7ETJzDCYFCSLE.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxpiMaisvaUVUsYyVzOmndek.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxrBAWGjcah5Ky0jbCgIwDB8.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxv14vlcfyPYlAcQy2UfDRm4.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxqfJul7RR1X4poJgi27uS4w.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxqvyPXdneeGd26m9EmFSSWg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(./v13/PRmiXeptR36kaC0GEAetxko2lTMeWA_kmIyWrkNCwPc.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url(./v13/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxmgpAmOCqD37_tyH_8Ri5MM.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxsPNMTLbnS9uQzHQlYieHUU.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxgyhumQnPMBCoGYhRaNxyyY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxhUVAXEdVvYDDqrz3aeR0Yc.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxlf4y_3s5bcYyyLIFUSWYUU.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxnywqdtBbUHn3VPgzuFrCy8.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxl2umOyRU7PgRiv8DXcgJjk.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxp6iIh_FvlUHQwED9Yt5Kbw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxi_vZmeiCMnoWNN9rHBYaTc.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxiFaMxiho_5XQnyRZzQsrZs.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxgalQocB-__pDVGhF3uS2Ks.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxmhQUTDJGru-0vvUpABgH8I.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxujkDdvhIIFj_YMdgqpnSB0.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxolIZu-HDpmDIZMigmsroc4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxiU8QAtQT9M0M1_mbVWrUPc.woff2) format('woff2'); + unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; +} +/* cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxkNaUOL0oYRolx8sebiIY9k.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxooGEx1DzoxsbCRd2IM2afI.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxnPzCMEhbIaaYiFY6KPniws.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxmqi69zMYkLa7XwlUIemKB4.woff2) format('woff2'); + unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxowYyzpnB4tyYboSwKGmD2g.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(./v13/PRmiXeptR36kaC0GEAetxnibbpXgLHK_uTT48UMyjSM.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} \ No newline at end of file diff --git a/deprecated/script1.js b/deprecated/script1.js new file mode 100644 index 0000000..bd50941 --- /dev/null +++ b/deprecated/script1.js @@ -0,0 +1,67 @@ +/* Modernizr 2.6.2 (Custom Build) | MIT & BSD + * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load + */ +;window.Modernizr=function(a,b,c){function C(a){j.cssText=a}function D(a,b){return C(n.join(a+";")+(b||""))}function E(a,b){return typeof a===b}function F(a,b){return!!~(""+a).indexOf(b)}function G(a,b){for(var d in a){var e=a[d];if(!F(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function H(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:E(f,"function")?f.bind(d||b):f}return!1}function I(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return E(b,"string")||E(b,"undefined")?G(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),H(e,b,c))}function J(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=E(e[d],"function"),E(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),A={}.hasOwnProperty,B;!E(A,"undefined")&&!E(A.call,"undefined")?B=function(a,b){return A.call(a,b)}:B=function(a,b){return b in a&&E(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return I("flexWrap")},s.flexboxlegacy=function(){return I("boxDirection")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!E(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!I("indexedDB",a)},s.hashchange=function(){return z("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return C("background-color:rgba(150,255,150,.5)"),F(j.backgroundColor,"rgba")},s.hsla=function(){return C("background-color:hsla(120,40%,100%,.5)"),F(j.backgroundColor,"rgba")||F(j.backgroundColor,"hsla")},s.multiplebgs=function(){return C("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return I("backgroundSize")},s.borderimage=function(){return I("borderImage")},s.borderradius=function(){return I("borderRadius")},s.boxshadow=function(){return I("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return D("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return I("animationName")},s.csscolumns=function(){return I("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return C((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),F(j.backgroundImage,"gradient")},s.cssreflections=function(){return I("boxReflect")},s.csstransforms=function(){return!!I("transform")},s.csstransforms3d=function(){var a=!!I("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return I("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var K in s)B(s,K)&&(x=K.toLowerCase(),e[x]=s[K](),v.push((e[x]?"":"no-")+x));return e.input||J(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)B(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},C(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.hasEvent=z,e.testProp=function(a){return G([a])},e.testAllProps=I,e.testStyles=y,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f + +Highly inspired on the work of Rafael Lima http://rafael.adm.br/css_browser_selector/ +Powered by this Quirks's guide http://www.quirksmode.org/js/detect.html +*/ +function is_browser(e,t){return e==BrowserDetect.browser?"undefined"!=typeof t?t==BrowserDetect.version:!0:!1}function get_browser(){return BrowserDetect.browser}function get_browser_version(){return BrowserDetect.version}function get_browser_os(){return BrowserDetect.OS}var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser),this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion),this.shortversion=this.browser+this.version,this.OS=this.searchString(this.dataOS)},searchString:function(e){for(var t=0;t)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
t
",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},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(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("').bind("load",function(){var fileInputClones,paramNames=$.isArray(options.paramName)?options.paramName:[options.paramName];iframe.unbind("load").bind("load",function(){var response;try{response=iframe.contents();if(!response.length||!response[0].firstChild){throw new Error()}}catch(e){response=undefined}completeCallback(200,"success",{iframe:response});$('').appendTo(form);window.setTimeout(function(){form.remove()},0)});form.prop("target",iframe.prop("name")).prop("action",options.url).prop("method",options.type);if(options.formData){$.each(options.formData,function(index,field){$('').prop("name",field.name).val(field.value).appendTo(form)})}if(options.fileInput&&options.fileInput.length&&options.type==="POST"){fileInputClones=options.fileInput.clone();options.fileInput.after(function(index){return fileInputClones[index]});if(options.paramName){options.fileInput.each(function(index){$(this).prop("name",paramNames[index]||options.paramName)})}form.append(options.fileInput).prop("enctype","multipart/form-data").prop("encoding","multipart/form-data")}form.submit();if(fileInputClones&&fileInputClones.length){options.fileInput.each(function(index,input){var clone=$(fileInputClones[index]);$(input).prop("name",clone.prop("name"));clone.replaceWith(input)})}});form.append(iframe).appendTo(document.body)},abort:function(){if(iframe){iframe.unbind("load").prop("src","javascript".concat(":false;"))}if(form){form.remove()}}}}});$.ajaxSetup({converters:{"iframe text":function(iframe){return iframe&&$(iframe[0].body).text()},"iframe json":function(iframe){return iframe&&$.parseJSON($(iframe[0].body).text())},"iframe html":function(iframe){return iframe&&$(iframe[0].body).html()},"iframe xml":function(iframe){var xmlDoc=iframe&&iframe[0];return xmlDoc&&$.isXMLDoc(xmlDoc)?xmlDoc:$.parseXML((xmlDoc.XMLDocument&&xmlDoc.XMLDocument.xml)||$(xmlDoc.body).html())},"iframe script":function(iframe){return iframe&&$.globalEval($(iframe[0].body).text())}}})})); + +/** + * Copyright (c) 2011-2013 Felix Gnass + * Licensed under the MIT license + */ +//fgnass.github.com/spin.js#v1.3.2 +(function(root,factory){if(typeof exports=="object"){module.exports=factory()}else{if(typeof define=="function"&&define.amd){define(factory)}else{root.Spinner=factory()}}}(this,function(){var prefixes=["webkit","Moz","ms","O"],animations={},useCssAnimations;function createEl(tag,prop){var el=document.createElement(tag||"div"),n;for(n in prop){el[n]=prop[n]}return el}function ins(parent){for(var i=1,n=arguments.length;i>1):parseInt(o.left,10)+mid)+"px",top:(o.top=="auto"?tp.y-ep.y+(target.offsetHeight>>1):parseInt(o.top,10)+mid)+"px"})}el.setAttribute("role","progressbar");self.lines(el,self.opts);if(!useCssAnimations){var i=0,start=(o.lines-1)*(1-o.direction)/2,alpha,fps=o.fps,f=fps/o.speed,ostep=(1-o.opacity)/(f*o.trail/100),astep=f/o.lines;(function anim(){i++;for(var j=0;j>1)+"px"})}for(;i',attr)}sheet.addRule(".spin-vml","behavior:url(#default#VML)");Spinner.prototype.lines=function(el,o){var r=o.length+o.width,s=2*r;function grp(){return css(vml("group",{coordsize:s+" "+s,coordorigin:-r+" "+-r}),{width:s,height:s})}var margin=-(o.width+o.length)*2+"px",g=css(grp(),{position:"absolute",top:margin,left:margin}),i;function seg(i,dx,filter){ins(g,ins(css(grp(),{rotation:360/o.lines*i+"deg",left:~~dx}),ins(css(vml("roundrect",{arcsize:o.corners}),{width:r,height:o.width,left:o.radius,top:-o.width>>1,filter:filter}),vml("fill",{color:getColor(o.color,i),opacity:o.opacity}),vml("stroke",{opacity:0}))))}if(o.shadow){for(i=1;i<=o.lines;i++){seg(i,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)")}}for(i=1;i<=o.lines;i++){seg(i)}return ins(el,g)};Spinner.prototype.opacity=function(el,i,val,o){var c=el.firstChild;o=o.shadow&&o.lines||0;if(c&&i+ot.clientHeight?true:false;e.horizontal=t.scrollWidth>t.clientWidth?true:false;return e}})(jQuery); + +/** + * Antiscroll + * https://github.com/LearnBoost/antiscroll + */ +(function($){$.fn.antiscroll=function(options){return this.each(function(){if($(this).data("antiscroll"))$(this).data("antiscroll").destroy();$(this).data("antiscroll",new $.Antiscroll(this,options))})};$.Antiscroll=Antiscroll;function Antiscroll(el,opts){this.el=$(el);this.options=opts||{};this.x=false!==this.options.x||this.options.forceHorizontal;this.y=false!==this.options.y||this.options.forceVertical;this.autoHide=false!==this.options.autoHide;this.padding=undefined==this.options.padding?2: +this.options.padding;this.inner=this.el.find(".antiscroll-inner");this.inner.css({"width":"+="+(this.y?scrollbarSize():0),"height":"+="+(this.x?scrollbarSize():0)});this.refresh()}Antiscroll.prototype.refresh=function(){var needHScroll=this.inner.get(0).scrollWidth>this.el.width()+(this.y?scrollbarSize():0),needVScroll=this.inner.get(0).scrollHeight>this.el.height()+(this.x?scrollbarSize():0);if(this.x)if(!this.horizontal&&needHScroll)this.horizontal=new Scrollbar.Horizontal(this);else if(this.horizontal&& +!needHScroll){this.horizontal.destroy();this.horizontal=null}else if(this.horizontal)this.horizontal.update();if(this.y)if(!this.vertical&&needVScroll)this.vertical=new Scrollbar.Vertical(this);else if(this.vertical&&!needVScroll){this.vertical.destroy();this.vertical=null}else if(this.vertical)this.vertical.update()};Antiscroll.prototype.destroy=function(){if(this.horizontal){this.horizontal.destroy();this.horizontal=null}if(this.vertical){this.vertical.destroy();this.vertical=null}return this}; +Antiscroll.prototype.rebuild=function(){this.destroy();this.inner.attr("style","");Antiscroll.call(this,this.el,this.options);return this};function Scrollbar(pane){this.pane=pane;this.pane.el.append(this.el);this.innerEl=this.pane.inner.get(0);this.dragging=false;this.enter=false;this.shown=false;this.pane.el.mouseenter($.proxy(this,"mouseenter"));this.pane.el.mouseleave($.proxy(this,"mouseleave"));this.el.mousedown($.proxy(this,"mousedown"));this.innerPaneScrollListener=$.proxy(this,"scroll");this.pane.inner.scroll(this.innerPaneScrollListener); +this.innerPaneMouseWheelListener=$.proxy(this,"mousewheel");this.pane.inner.bind("mousewheel",this.innerPaneMouseWheelListener);var initialDisplay=this.pane.options.initialDisplay;if(initialDisplay!==false){this.show();if(this.pane.autoHide)this.hiding=setTimeout($.proxy(this,"hide"),parseInt(initialDisplay,10)||3E3)}}Scrollbar.prototype.destroy=function(){this.el.remove();this.pane.inner.unbind("scroll",this.innerPaneScrollListener);this.pane.inner.unbind("mousewheel",this.innerPaneMouseWheelListener); +return this};Scrollbar.prototype.mouseenter=function(){this.enter=true;this.show()};Scrollbar.prototype.mouseleave=function(){this.enter=false;if(!this.dragging)if(this.pane.autoHide)this.hide()};Scrollbar.prototype.scroll=function(){if(!this.shown){this.show();if(!this.enter&&!this.dragging)if(this.pane.autoHide)this.hiding=setTimeout($.proxy(this,"hide"),1500)}this.update()};Scrollbar.prototype.mousedown=function(ev){ev.preventDefault();this.dragging=true;this.startPageY=ev.pageY-parseInt(this.el.css("top"), +10);this.startPageX=ev.pageX-parseInt(this.el.css("left"),10);this.el[0].ownerDocument.onselectstart=function(){return false};var pane=this.pane,move=$.proxy(this,"mousemove"),self=this;$(this.el[0].ownerDocument).mousemove(move).mouseup(function(){self.dragging=false;this.onselectstart=null;$(this).unbind("mousemove",move);if(!self.enter)self.hide()})};Scrollbar.prototype.show=function(duration){if(!this.shown&&this.update()){this.el.addClass("antiscroll-scrollbar-shown");if(this.hiding){clearTimeout(this.hiding); +this.hiding=null}this.shown=true}};Scrollbar.prototype.hide=function(){if(this.pane.autoHide!==false&&this.shown){this.el.removeClass("antiscroll-scrollbar-shown");this.shown=false}};Scrollbar.Horizontal=function(pane){this.el=$('
',pane.el);Scrollbar.call(this,pane)};inherits(Scrollbar.Horizontal,Scrollbar);Scrollbar.Horizontal.prototype.update=function(){var paneWidth=this.pane.el.width(),trackWidth=paneWidth-this.pane.padding*2,innerEl= +this.pane.inner.get(0);this.el.css("width",trackWidth*paneWidth/innerEl.scrollWidth).css("left",trackWidth*innerEl.scrollLeft/innerEl.scrollWidth);return paneWidth0&&this.innerEl.scrollLeft+Math.ceil(this.pane.el.width())==this.innerEl.scrollWidth){ev.preventDefault();return false}};Scrollbar.Vertical=function(pane){this.el=$('
',pane.el);Scrollbar.call(this,pane)};inherits(Scrollbar.Vertical,Scrollbar);Scrollbar.Vertical.prototype.update=function(){var paneHeight=this.pane.el.height(), +trackHeight=paneHeight-this.pane.padding*2,innerEl=this.innerEl;var scrollbarHeight=trackHeight*paneHeight/innerEl.scrollHeight;scrollbarHeight=scrollbarHeight<20?20:scrollbarHeight;var topPos=trackHeight*innerEl.scrollTop/innerEl.scrollHeight;if(topPos+scrollbarHeight>trackHeight){var diff=topPos+scrollbarHeight-trackHeight;topPos=topPos-diff-3}this.el.css("height",scrollbarHeight).css("top",topPos);return paneHeight0&&0==this.innerEl.scrollTop||y<0&&this.innerEl.scrollTop+Math.ceil(this.pane.el.height())==this.innerEl.scrollHeight){ev.preventDefault();return false}};function inherits(ctorA, +ctorB){function f(){}f.prototype=ctorB.prototype;ctorA.prototype=new f}var size;function scrollbarSize(){if(size===undefined){var div=$('
'+"
");$("body").append(div);var w1=$(div).innerWidth();var w2=$("div",div).innerWidth();$(div).remove();size=w1-w2}return size}})(jQuery); + + +/** + * jQuery Mousewheel + * ! Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net) + * Licensed under the MIT License (LICENSE.txt). + * + * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. + * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. + * Thanks to: Seamus Leahy for adding deltaX and deltaY + * + * Version: 3.1.3 + * + * Requires: 1.2.2+ + */ +(function(factory){if(typeof define==="function"&&define.amd)define(["jquery"],factory);else if(typeof exports==="object")module.exports=factory;else factory(jQuery)})(function($){var toFix=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"];var toBind="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"];var lowestDelta,lowestDeltaXY;if($.event.fixHooks)for(var i=toFix.length;i;)$.event.fixHooks[toFix[--i]]=$.event.mouseHooks;$.event.special.mousewheel= +{setup:function(){if(this.addEventListener)for(var i=toBind.length;i;)this.addEventListener(toBind[--i],handler,false);else this.onmousewheel=handler},teardown:function(){if(this.removeEventListener)for(var i=toBind.length;i;)this.removeEventListener(toBind[--i],handler,false);else this.onmousewheel=null}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel")},unmousewheel:function(fn){return this.unbind("mousewheel",fn)}});function handler(event){var orgEvent= +event||window.event,args=[].slice.call(arguments,1),delta=0,deltaX=0,deltaY=0,absDelta=0,absDeltaXY=0,fn;event=$.event.fix(orgEvent);event.type="mousewheel";if(orgEvent.wheelDelta)delta=orgEvent.wheelDelta;if(orgEvent.detail)delta=orgEvent.detail*-1;if(orgEvent.deltaY){deltaY=orgEvent.deltaY*-1;delta=deltaY}if(orgEvent.deltaX){deltaX=orgEvent.deltaX;delta=deltaX*-1}if(orgEvent.wheelDeltaY!==undefined)deltaY=orgEvent.wheelDeltaY;if(orgEvent.wheelDeltaX!==undefined)deltaX=orgEvent.wheelDeltaX*-1;absDelta= +Math.abs(delta);if(!lowestDelta||absDelta0?"floor":"ceil";delta=Math[fn](delta/lowestDelta);deltaX=Math[fn](deltaX/lowestDeltaXY);deltaY=Math[fn](deltaY/lowestDeltaXY);args.unshift(event,delta,deltaX,deltaY);return($.event.dispatch||$.event.handle).apply(this,args)}}); + +/** +Delayed action +http://stackoverflow.com/a/7150496 +**/ +(function($) { + $.fn.delayedAction = function(options) + { + var settings = $.extend( + {}, + { + delayedAction : function(){}, + cancelledAction: function(){}, + hoverTime: 1000 + }, + options); + + return this.each(function(){ + var $this = $(this); + $this.hover(function(){ + $this.data('timerId', + setTimeout(function(){ + $this.data('hover',false); + settings.delayedAction($this); + },settings.hoverTime)); + $this.data('hover',true); + }, + function(){ + if($this.data('hover')){ + clearTimeout($this.data('timerId')); + settings.cancelledAction($this); + } + $this.data('hover',false); + } ); + }); + } +})(jQuery); + +/** +Created: 20060120 +Author: Steve Moitozo -- geekwisdom.com +License: MIT License (see below) +Copyright (c) 2006 Steve Moitozo + +Slightly modified for Peafowl + +*/ +function testPassword(e){var t=0,n="weak",r="",i=0;if(e.length<5){t=t+3;r=r+"3 points for length ("+e.length+")\n"}else if(e.length>4&&e.length<8){t=t+6;r=r+"6 points for length ("+e.length+")\n"}else if(e.length>7&&e.length<16){t=t+12;r=r+"12 points for length ("+e.length+")\n"}else if(e.length>15){t=t+18;r=r+"18 point for length ("+e.length+")\n"}if(e.match(/[a-z]/)){t=t+1;r=r+"1 point for at least one lower case char\n"}if(e.match(/[A-Z]/)){t=t+5;r=r+"5 points for at least one upper case char\n"}if(e.match(/\d+/)){t=t+5;r=r+"5 points for at least one number\n"}if(e.match(/(.*[0-9].*[0-9].*[0-9])/)){t=t+5;r=r+"5 points for at least three numbers\n"}if(e.match(/.[!,@,#,$,%,^,&,*,?,_,~]/)){t=t+5;r=r+"5 points for at least one special char\n"}if(e.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)){t=t+5;r=r+"5 points for at least two special chars\n"}if(e.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)){t=t+2;r=r+"2 combo points for upper and lower letters\n"}if(e.match(/([a-zA-Z])/)&&e.match(/([0-9])/)){t=t+2;r=r+"2 combo points for letters and numbers\n"}if(e.match(/([a-zA-Z0-9].*[!,@,#,$,%,^,&,*,?,_,~])|([!,@,#,$,%,^,&,*,?,_,~].*[a-zA-Z0-9])/)){t=t+2;r=r+"2 combo points for letters, numbers and special chars\n"}if(e.length==0){t=0}if(t<16){n="very weak"}else if(t>15&&t<25){n="weak"}else if(t>24&&t<35){n="average"}else if(t>34&&t<45){n="strong"}else{n="stronger"}i=Math.round(Math.min(100,100*t/45))/100;return{score:t,ratio:i,percent:i*100+"%",verdict:n,log:r}} + +// SparkMD5 +(function(factory){if(typeof exports==="object"){module.exports=factory()}else if(typeof define==="function"&&define.amd){define(factory)}else{var glob;try{glob=window}catch(e){glob=self}glob.SparkMD5=factory()}})(function(undefined){"use strict";var add32=function(a,b){return a+b&4294967295},hex_chr=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function cmn(q,a,b,x,s,t){a=add32(add32(a,q),add32(x,t));return add32(a<>>32-s,b)}function ff(a,b,c,d,x,s,t){return cmn(b&c|~b&d,a,b,x,s,t)}function gg(a,b,c,d,x,s,t){return cmn(b&d|c&~d,a,b,x,s,t)}function hh(a,b,c,d,x,s,t){return cmn(b^c^d,a,b,x,s,t)}function ii(a,b,c,d,x,s,t){return cmn(c^(b|~d),a,b,x,s,t)}function md5cycle(x,k){var a=x[0],b=x[1],c=x[2],d=x[3];a=ff(a,b,c,d,k[0],7,-680876936);d=ff(d,a,b,c,k[1],12,-389564586);c=ff(c,d,a,b,k[2],17,606105819);b=ff(b,c,d,a,k[3],22,-1044525330);a=ff(a,b,c,d,k[4],7,-176418897);d=ff(d,a,b,c,k[5],12,1200080426);c=ff(c,d,a,b,k[6],17,-1473231341);b=ff(b,c,d,a,k[7],22,-45705983);a=ff(a,b,c,d,k[8],7,1770035416);d=ff(d,a,b,c,k[9],12,-1958414417);c=ff(c,d,a,b,k[10],17,-42063);b=ff(b,c,d,a,k[11],22,-1990404162);a=ff(a,b,c,d,k[12],7,1804603682);d=ff(d,a,b,c,k[13],12,-40341101);c=ff(c,d,a,b,k[14],17,-1502002290);b=ff(b,c,d,a,k[15],22,1236535329);a=gg(a,b,c,d,k[1],5,-165796510);d=gg(d,a,b,c,k[6],9,-1069501632);c=gg(c,d,a,b,k[11],14,643717713);b=gg(b,c,d,a,k[0],20,-373897302);a=gg(a,b,c,d,k[5],5,-701558691);d=gg(d,a,b,c,k[10],9,38016083);c=gg(c,d,a,b,k[15],14,-660478335);b=gg(b,c,d,a,k[4],20,-405537848);a=gg(a,b,c,d,k[9],5,568446438);d=gg(d,a,b,c,k[14],9,-1019803690);c=gg(c,d,a,b,k[3],14,-187363961);b=gg(b,c,d,a,k[8],20,1163531501);a=gg(a,b,c,d,k[13],5,-1444681467);d=gg(d,a,b,c,k[2],9,-51403784);c=gg(c,d,a,b,k[7],14,1735328473);b=gg(b,c,d,a,k[12],20,-1926607734);a=hh(a,b,c,d,k[5],4,-378558);d=hh(d,a,b,c,k[8],11,-2022574463);c=hh(c,d,a,b,k[11],16,1839030562);b=hh(b,c,d,a,k[14],23,-35309556);a=hh(a,b,c,d,k[1],4,-1530992060);d=hh(d,a,b,c,k[4],11,1272893353);c=hh(c,d,a,b,k[7],16,-155497632);b=hh(b,c,d,a,k[10],23,-1094730640);a=hh(a,b,c,d,k[13],4,681279174);d=hh(d,a,b,c,k[0],11,-358537222);c=hh(c,d,a,b,k[3],16,-722521979);b=hh(b,c,d,a,k[6],23,76029189);a=hh(a,b,c,d,k[9],4,-640364487);d=hh(d,a,b,c,k[12],11,-421815835);c=hh(c,d,a,b,k[15],16,530742520);b=hh(b,c,d,a,k[2],23,-995338651);a=ii(a,b,c,d,k[0],6,-198630844);d=ii(d,a,b,c,k[7],10,1126891415);c=ii(c,d,a,b,k[14],15,-1416354905);b=ii(b,c,d,a,k[5],21,-57434055);a=ii(a,b,c,d,k[12],6,1700485571);d=ii(d,a,b,c,k[3],10,-1894986606);c=ii(c,d,a,b,k[10],15,-1051523);b=ii(b,c,d,a,k[1],21,-2054922799);a=ii(a,b,c,d,k[8],6,1873313359);d=ii(d,a,b,c,k[15],10,-30611744);c=ii(c,d,a,b,k[6],15,-1560198380);b=ii(b,c,d,a,k[13],21,1309151649);a=ii(a,b,c,d,k[4],6,-145523070);d=ii(d,a,b,c,k[11],10,-1120210379);c=ii(c,d,a,b,k[2],15,718787259);b=ii(b,c,d,a,k[9],21,-343485551);x[0]=add32(a,x[0]);x[1]=add32(b,x[1]);x[2]=add32(c,x[2]);x[3]=add32(d,x[3])}function md5blk(s){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=s.charCodeAt(i)+(s.charCodeAt(i+1)<<8)+(s.charCodeAt(i+2)<<16)+(s.charCodeAt(i+3)<<24)}return md5blks}function md5blk_array(a){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=a[i]+(a[i+1]<<8)+(a[i+2]<<16)+(a[i+3]<<24)}return md5blks}function md51(s){var n=s.length,state=[1732584193,-271733879,-1732584194,271733878],i,length,tail,tmp,lo,hi;for(i=64;i<=n;i+=64){md5cycle(state,md5blk(s.substring(i-64,i)))}s=s.substring(i-64);length=s.length;tail=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i>2]|=s.charCodeAt(i)<<(i%4<<3)}tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=n*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(state,tail);return state}function md51_array(a){var n=a.length,state=[1732584193,-271733879,-1732584194,271733878],i,length,tail,tmp,lo,hi;for(i=64;i<=n;i+=64){md5cycle(state,md5blk_array(a.subarray(i-64,i)))}a=i-64>2]|=a[i]<<(i%4<<3)}tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=n*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(state,tail);return state}function rhex(n){var s="",j;for(j=0;j<4;j+=1){s+=hex_chr[n>>j*8+4&15]+hex_chr[n>>j*8&15]}return s}function hex(x){var i;for(i=0;i>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}}function toUtf8(str){if(/[\u0080-\uFFFF]/.test(str)){str=unescape(encodeURIComponent(str))}return str}function utf8Str2ArrayBuffer(str,returnUInt8Array){var length=str.length,buff=new ArrayBuffer(length),arr=new Uint8Array(buff),i;for(i=0;i>2]|=buff.charCodeAt(i)<<(i%4<<3)}this._finish(tail,length);ret=!!raw?this._hash:hex(this._hash);this.reset();return ret};SparkMD5.prototype.reset=function(){this._buff="";this._length=0;this._hash=[1732584193,-271733879,-1732584194,271733878];return this};SparkMD5.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash}};SparkMD5.prototype.setState=function(state){this._buff=state.buff;this._length=state.length;this._hash=state.hash;return this};SparkMD5.prototype.destroy=function(){delete this._hash;delete this._buff;delete this._length};SparkMD5.prototype._finish=function(tail,length){var i=length,tmp,lo,hi;tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(this._hash,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=this._length*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(this._hash,tail)};SparkMD5.hash=function(str,raw){return SparkMD5.hashBinary(toUtf8(str),raw)};SparkMD5.hashBinary=function(content,raw){var hash=md51(content);return!!raw?hash:hex(hash)};SparkMD5.ArrayBuffer=function(){this.reset()};SparkMD5.ArrayBuffer.prototype.append=function(arr){var buff=concatenateArrayBuffers(this._buff.buffer,arr,true),length=buff.length,i;this._length+=arr.byteLength;for(i=64;i<=length;i+=64){md5cycle(this._hash,md5blk_array(buff.subarray(i-64,i)))}this._buff=i-64>2]|=buff[i]<<(i%4<<3)}this._finish(tail,length);ret=!!raw?this._hash:hex(this._hash);this.reset();return ret};SparkMD5.ArrayBuffer.prototype.reset=function(){this._buff=new Uint8Array(0);this._length=0;this._hash=[1732584193,-271733879,-1732584194,271733878];return this};SparkMD5.ArrayBuffer.prototype.getState=function(){var state=SparkMD5.prototype.getState.call(this);state.buff=arrayBuffer2Utf8Str(state.buff);return state};SparkMD5.ArrayBuffer.prototype.setState=function(state){state.buff=utf8Str2ArrayBuffer(state.buff,true);return SparkMD5.prototype.setState.call(this,state)};SparkMD5.ArrayBuffer.prototype.destroy=SparkMD5.prototype.destroy;SparkMD5.ArrayBuffer.prototype._finish=SparkMD5.prototype._finish;SparkMD5.ArrayBuffer.hash=function(arr,raw){var hash=md51_array(new Uint8Array(arr));return!!raw?hash:hex(hash)};return SparkMD5}); + +/*! + * clipboard.js v1.5.8 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT Ac Zeno Rocha + */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,r){function o(a,s){if(!n[a]){if(!e[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return o(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;ar;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;a>i;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},e.exports=r},{}],8:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var i=function(){function t(t,e){for(var n=0;n + + + Copyright (C) Rodolfo Berrios A. All rights reserved. + + BY USING THIS SOFTWARE YOU DECLARE TO ACCEPT THE CHEVERETO EULA + http://chevereto.com/license + + --------------------------------------------------------------------- */ + +$(function(){ + + // Window listeners + $(window).on("resize", function(){ + CHV.fn.uploader.boxSizer(); + if(typeof user_background_full_fix == "function") { + user_background_full_fix(); + } + CHV.fn.bindSelectableItems(); + }); + + // Landing fancy load + if($("body").hasClass("landing") && $("#home-cover, #maintenance-wrapper").css("background-image")) { + var $landing_el = $(!$("#maintenance-wrapper").exists() ? "#home-cover" : "#maintenance-wrapper"); + var landing_src = $landing_el.css("background-image").slice(4, -1).replace(/^\"|\"$/g, ""); + + function showHomeCover() { + $("body").addClass("load"); + setTimeout(function() { + $("body").addClass("loaded"); + }, 400 * 1.5); + } + if(landing_src) { + $("").attr("src", landing_src) + .on("load error", function() { + $(this).remove(); + showHomeCover(); + }); + } else { + showHomeCover(); + } + } + + // Set the anywhere objects, just for shorter calling in $. + var anywhere_upload = CHV.fn.uploader.selectors.root, + anywhere_upload_queue = CHV.fn.uploader.selectors.queue, + $anywhere_upload = $(anywhere_upload), + $anywhere_upload_queue = $(anywhere_upload_queue); + + // Toggle anywhere upload on/off + $(document).on("click", "[data-action=top-bar-upload]", function(e){ + CHV.fn.uploader.toggle(); + }); + + // Close upload box + $("[data-action=close-upload], [data-action=cancel-upload]", $anywhere_upload).click(function() { + if($anywhere_upload.is(":animated")) return; + $("[data-action=top-bar-upload]", "#top-bar").click(); + }); + + // Cancel remaining uploads + $("[data-action=cancel-upload-remaining]", $anywhere_upload).click(function() { + $("[data-action=cancel]", $anywhere_upload_queue).click(); + CHV.fn.uploader.is_uploading = false; + if(CHV.fn.uploader.results.success.length > 0) { + CHV.fn.uploader.displayResults(); + return; + } else { + CHV.fn.uploader.reset(); + } + }); + + // Toggle upload privacy + $(document).on("click", "[data-action=upload-privacy]:not(disabled)", function(e){ + if(e.isDefaultPrevented()) return; + current_privacy = $(this).data("privacy"); + target_privacy = current_privacy=="public" ? "private" : "public"; + this_lock = $(".icon", this).data("lock"); + this_unlock = $(".icon", this).data("unlock"); + $(".icon", this).removeClass(this_lock + " " + this_unlock).addClass(current_privacy=="public" ? this_lock : this_unlock); + $(this).data("privacy", target_privacy); + + $("[data-action=upload-privacy-copy]").html($("[data-action=upload-privacy]").html()); + + $upload_button = $("[data-action=upload]", $anywhere_upload); + $upload_button.text($upload_button.data(target_privacy)); + + $(this).tipTip("hide"); + }); + + // Do the thing when the fileupload changes + $(CHV.fn.uploader.selectors.file+", "+CHV.fn.uploader.selectors.camera).on("change", function(e){ + if(!$(CHV.fn.uploader.selectors.root).data("shown")) { + CHV.fn.uploader.toggle({callback: function(e) { + CHV.fn.uploader.add(e); + }}, e); + } else { + CHV.fn.uploader.add(e); + } + }).on("click", function(e) { + if($(this).data('login-needed') && !PF.fn.is_user_logged()) { + return; + } + }); + + function isFileTransfer(e) { + var e = e.originalEvent, + isFileTransfer = false; + if(e.dataTransfer.types) { + for(var i=0; i').css({width: "100%", height: "100%", position: "fixed",/* opacity: 0.5, background: "red",*/ zIndex: 1000, left: 0, top: 0})); + } + } + }); + $(document).on({ + dragover: function(e) { + e.preventDefault(); + if(!isFileTransfer(e)) { + return false; + } + if(!$(CHV.fn.uploader.selectors.root).data("shown")) { + CHV.fn.uploader.toggle({reset: false}); + } + }, + dragleave: function(e) { + $(CHV.fn.uploader.selectors.dropzone).remove(); + if($.isEmptyObject(CHV.fn.uploader.files)) { + CHV.fn.uploader.toggle(); + } + }, + drop: function(e) { + e.preventDefault(); + CHV.fn.uploader.add(e); + $(CHV.fn.uploader.selectors.dropzone).remove(); + }, + }, CHV.fn.uploader.selectors.dropzone); + } + + // + $(document).on("keyup change", "[data-action=resize-combo-input]", function(e) { + var $parent = $(this).closest("[data-action=resize-combo-input]"); + var $input_width = $("[name=form-width]", $parent); + var $input_height = $("[name=form-height]", $parent); + var ratio = $input_width.data("initial") / $input_height.data("initial"); + + if($(e.target).is($input_width)) { + $input_height.prop("value", Math.round(Math.round($input_width.prop("value")/ratio))); + } else { + $input_width.prop("value", Math.round(Math.round($input_height.prop("value")*ratio))); + } + + }) + + // Edit item from queue + $(document).on("click", anywhere_upload_queue +" [data-action=edit]", function() { + var $item = $(this).closest("li"), + $queue = $item.closest("ul"), + id = $item.data("id"), + file = CHV.fn.uploader.files[id]; + + var modal = PF.obj.modal.selectors.root; + var queueObject = $.extend({}, file.formValues || file.parsedMeta); + + // Attempt to inject the category id + if(typeof queueObject.category_id == typeof undefined) { + var upload_category = $("[name=upload-category-id]", CHV.fn.uploader.selectors.root).prop("value") || null; + queueObject.category_id = upload_category; + } + + // Attempt to inject the NSFW flag + if(typeof queueObject.nsfw == typeof undefined) { + var upload_nsfw = $("[name=upload-nsfw]:checked", CHV.fn.uploader.selectors.root).prop("value") || null; + queueObject.nsfw = upload_nsfw; + } + + // Resize before upload + /* + var canvas = $("")[0]; + canvas.width = 500; + canvas.height = 500; + var ctx = canvas.getContext("2d"); + ctx.drawImage(file.parsedMeta.canvas, 0, 0, canvas.width, canvas.height); + + var dataurl = canvas.toDataURL("image/jpeg"); + + console.log(dataurl); + */ + + PF.fn.modal.call({ + type: "html", + template: $("#anywhere-upload-edit-item").html(), + callback: function() { + + $.each(queueObject, function(i, v) { + + var name = "[name=form-" + i.replace(/_/g, "-") + "]"; + var $input = $(name, modal); + + if(!$input.exists()) return true; + + // Input handler + if($input.is(":checkbox")) { + $input.prop("checked", $input.attr("value") == v); + } else if($input.is("select")) { + var $option = $input.find("[value="+v+"]"); + if(!$option.exists()) { + $option = $input.find("option:first"); + } + $option.prop("selected", true); + } else { + $input.prop("value", v); + } + if(i == "width" || i == "height") { + $input.prop("max", file.parsedMeta[i]).data("initial", file.parsedMeta[i]); + } + }); + + // Warning on GIF images + if(file.parsedMeta.mimetype !== "image/gif") { + $("[ data-content=animated-gif-warning]", modal).remove(); + } + + // Canvas image preview + $(".image-preview", modal).append($('',{'class':'canvas'})); + + var source_canvas = $(".queue-item[data-id="+id+"] .preview .canvas")[0]; + var target_canvas = $(".image-preview .canvas", modal)[0]; + + target_canvas.width = source_canvas.width; + target_canvas.height = source_canvas.height; + + var target_canvas_ctx = target_canvas.getContext('2d'); + + target_canvas_ctx.drawImage(source_canvas, 0, 0); + + }, + confirm: function() { + + if(!PF.fn.form_modal_has_changed()){ + PF.fn.modal.close(); + return; + } + + // Validations (just in case) + var errors = false; + $.each(["width", "height"], function(i, v) { + var $input = $("[name=form-" + v + "]", modal); + var input_val = parseInt($input.val()); + var min_val = parseInt($input.attr("min")); + var max_val = parseInt($input.attr("max")); + if(input_val > max_val || input_val < min_val) { + $input.highlight(); + errors = true; + return true; + } + }); + + if(errors) { + PF.fn.growl.expirable(PF.fn._s("Check the errors in the form to continue.")); + return false; + } + + if(typeof file.formValues == typeof undefined) { + // Stock formvalues object + file.formValues = { + title: null, + category_id: null, + width: null, + height: null, + nsfw: null, + expiration: null, + description: null, + }; + } + + $(":input[name]", modal).each(function(i, v) { + var key = $(this).attr("name").replace("form-", "").replace(/-/g, "_"); + if(typeof file.formValues[key] == typeof undefined) return true; + file.formValues[key] = $(this).is(":checkbox") ? ($(this).is(":checked") ? $(this).prop("value") : null) : $(this).prop("value"); + }); + + CHV.fn.uploader.files[id].formValues = file.formValues; + + return true; + } + }); + + }); + + // Remove item from queue + $(document).on("click", anywhere_upload_queue +" [data-action=cancel]", function() { + var $item = $(this).closest("li"), + $queue = $item.closest("ul"), + id = $item.data("id"), + queue_height = $queue.height(), + item_xhr_cancel = false; + + if($item.hasClass("completed") || $item.hasClass("failed")) { + return; + } + + $("#tiptip_holder").hide(); + + $item.tipTip("destroy").remove(); + + if(queue_height !== $queue.height()) { + CHV.fn.uploader.boxSizer(); + } + if(!$("li", $anywhere_upload_queue).exists()){ + $("[data-group=upload-queue-ready], [data-group=upload-queue], [data-group=upload-queue-ready]", $anywhere_upload).css("display", ""); + } + + if(CHV.fn.uploader.files[id] && typeof CHV.fn.uploader.files[id].xhr !== "undefined") { + CHV.fn.uploader.files[id].xhr.abort(); + item_xhr_cancel = true; + } + + if(typeof CHV.fn.uploader.files[id] !== typeof undefined && typeof CHV.fn.uploader.files[id].fromClipboard !== typeof undefined) { + var c_md5 = CHV.fn.uploader.files[id].md5; + var c_index = CHV.fn.uploader.clipboardImages.indexOf(c_md5); + if (c_index > -1) { + CHV.fn.uploader.clipboardImages.splice(c_index, 1); + } + } + + delete CHV.fn.uploader.files[id]; + + + CHV.fn.uploader.queueSize(); + + if(Object.size(CHV.fn.uploader.files) == 0) { // No queue left + // Null result ? + if(CHV.fn.uploader.results.success.length == 0 && CHV.fn.uploader.results.error.length == 0) { + CHV.fn.uploader.reset(); + } + } else { + + // An abort was called, we need to process the next item? + if(item_xhr_cancel) { + if($("li.waiting", $queue).first().length !== 0) { + CHV.fn.uploader.upload($("li.waiting", $queue).first()); + } else if(CHV.fn.uploader.results.success.length !== 0 || CHV.fn.uploader.results.error.length !== 0) { + CHV.fn.uploader.displayResults(); + } + } + + } + + }); + + // Uploader + $(document).on("click", "[data-action=upload]", function(){ + + $("[data-group=upload], [data-group=upload-queue-ready]", $anywhere_upload).hide(); + $("[data-group=uploading]", $anywhere_upload).show(); + + CHV.fn.uploader.queueSize(); + CHV.fn.uploader.can_add = false; + + $queue_items = $("li", $anywhere_upload_queue); + $queue_items.addClass("uploading waiting"); + + CHV.fn.uploader.timestamp = new Date().getTime(); + CHV.fn.uploader.upload($queue_items.first("li")); + + }); + + /*CHV.obj.image_viewer.$container.swipe({ + swipe: function(event, direction, distance, duration, fingerCount) { + // right prev, left next + if(direction == "left" || direction == "right") { + var go = direction == "left" ? "next" : "prev", + $link = $("[data-action="+go+"]", ".image-viewer-navigation"); + if($link.exists()) { + window.location = $link.attr("href"); + return; + } + } + }, + threshold: 100, + excludedElements: ".noSwipe", + allowPageScroll: "vertical" + });*/ + + // User page + if($("body#user").exists()) { + if(PF.obj.listing.query_string.page > 1) { + var State = History.getState(); + console.log(State.data) + if(State.data && typeof State.data.scrollTop !== "undefined") { + if($(window).scrollTop() !== State.data.scrollTop) { + $(window).scrollTop(State.data.scrollTop); + } + } else { + //var scrollTop = $(".follow-scroll").offset().top - $(".follow-scroll").height(); + var scrollTop = $("#background-cover").height() - 160; + $("html, body").animate({scrollTop: scrollTop}, 0); + } + } + + } + + if(!PF.fn.isDevice('phone')) { + if($("#top-bar-shade").exists()) { + if($("#top-bar-shade").css("opacity")) { + $("#top-bar-shade").data("initial-opacity", Number($("#top-bar-shade").css("opacity"))); + } + } + $(window).scroll(function(){ + var Y = $(window).scrollTop(); + var is_slim_shady = $("#top-bar-shade").exists() && !$("html").hasClass("top-bar-box-shadow-none"); + + if(Y < 0) return; + + var $top_bar = $("#top-bar"); + var rate = Number(Y / ($("#background-cover, [data-content=follow-scroll-opacity]").height() - $top_bar.height())); + + if(rate > 1) rate = 1; + + if(is_slim_shady) { + if($("#top-bar-shade").data("initial-opacity")) { + rate += $("#top-bar-shade").data("initial-opacity"); + } + $("#top-bar-shade").css({opacity: rate}); + } + + if(rate == 1) return; + + $("#background-cover-src").css({ + transform: "translate(0, "+ Y*0.8 + "px"+")" + //transform: "scale("+(1+rate/16)+") translate(0, "+ Y*0.8 + "px"+")", + //transition: "all 1s" + }); + + }); + } + + // Selectable list items + CHV.fn.bindSelectableItems(); + + // Image viewer page + if($("body#image").exists()) { + + // Aux fn + var ImageZoomClass = function() { + if(CHV.obj.image_viewer.$container.hasClass("jscursor-zoom-in")) { + CHV.obj.image_viewer.$container.addClass("cursor-zoom-in").removeClass("jscursor-zoom-in"); + } + } + + // Data load detected + if($(CHV.obj.image_viewer.selector + " [data-load=full]").length > 0) { + + if(CHV.obj.image_viewer.$loading.exists()) { + CHV.obj.image_viewer.$loading.removeClass("soft-hidden").css({zIndex: 2}); + PF.fn.loading.inline(CHV.obj.image_viewer.$loading, {color: "white", size: "small", center: true, valign: true}); + CHV.obj.image_viewer.$loading.hide().fadeIn("slow"); + } + + CHV.obj.image_viewer.image.html = CHV.obj.image_viewer.$container.html(); + CHV.obj.image_viewer.$container.prepend($(CHV.obj.image_viewer.image.html).css({top: 0, zIndex: 0})); + CHV.obj.image_viewer.$container.find("img").eq(0).css("zIndex", 1); + CHV.obj.image_viewer.$container.find("img").eq(1).attr("src", CHV.obj.image_viewer.image.url).css({ + width: CHV.obj.image_viewer.$container.find("img")[0].getBoundingClientRect().width, // getBoundingClientRect -> get the real decimal width + height: CHV.obj.image_viewer.$container.find("img")[0].getBoundingClientRect().height + }); + CHV.obj.image_viewer.$container.find("img").eq(1).imagesLoaded(function(){ + CHV.obj.image_viewer.$container.find("img").eq(1).css({width: "", height: ""}); + CHV.obj.image_viewer.$container.find("img").eq(0).remove(); + PF.fn.loading.destroy(CHV.obj.image_viewer.$loading); + ImageZoomClass(); + }); + + // Fix viewer width when height changes and boom! a wild scrollbar appears + $(document).bind("DOMSubtreeModified", function() { + if($("html").height() > $(window).innerHeight() && !$("html").hasClass("scrollbar-y")) { + $("html").addClass("scrollbar-y"); + $(document).data({ + width: $(this).width(), + height: $(this).height() + }); + CHV.fn.image_viewer_full_fix(); + } + }); + + $(window).on("resize", function() { + CHV.fn.image_viewer_full_fix(); + }); + + // Viewer navigation + $(document).on("keyup", function(e) { + var $this = $(e.target), + key = e.charCode || e.keyCode; + if($this.is(":input")) { + return; + } else { + // Next 39, Prev 37 + if(CHV.obj.image_viewer.$navigation.exists() && (key==37 || key==39)) { + var navigation_jump_url = $("[data-action="+ (key==37 ? "prev" : "next") +"]", CHV.obj.image_viewer.$navigation).attr("href"); + if(typeof navigation_jump_url !== "undefined" && navigation_jump_url !== "") { + window.location = $("[data-action="+ (key==37 ? "prev" : "next") +"]", CHV.obj.image_viewer.$navigation).attr("href"); + } + } + } + }); + + } else { + ImageZoomClass(); + } + + } + + $(document).on("click", CHV.obj.image_viewer.container, function(e) { + + var zoom = $(this).hasClass("cursor-zoom-in") || $(this).hasClass("cursor-zoom-out"); + if(!zoom) return; + + if(zoom && PF.fn.isDevice(["phone", "phablet"])) { + //window.location = $("img[data-load=full]", this).attr("src"); + //return; + } + + var zoom_in = $(this).hasClass("cursor-zoom-in"); + + $(this).removeClass("cursor-zoom-in cursor-zoom-out"); + + if(zoom_in) { + // We use getBoundingClientRect to get the not rounded value + var width = $(this)[0].getBoundingClientRect().width, + height = $(this)[0].getBoundingClientRect().height, + ratio = $("img", this).attr("width")/$("img", this).attr("height"), + new_width; + + $(this).data({dimentions: {width: width, height: height}, ratio: ratio}); + + if($("img", this).attr("width") > $(window).width()) { + $(this).css({width: "100%"}); + new_width = $(this).width(); + $(this).css({width: width}); + } else { + new_width = $("img", this).attr("width"); + } + + $(this).addClass("cursor-zoom-out").css({width: new_width, height: (new_width/ratio) + "px"}); + + } else { + $(this).addClass("cursor-zoom-in").css($(this).data("dimentions")); + } + + e.preventDefault(); + + }).on("contextmenu", CHV.obj.image_viewer.container, function(e) { + if(!CHV.obj.config.image.right_click) { + e.preventDefault(); + return false; + } + }); + + $(document).on("click", "[data-action=test-email]", function(e){ + e.preventDefault(); + var $email = $("input[name=test-email]"); + if($email.prop("disabled")) { + return; + } + var $parent = $(this).closest(".input-label"); + var email = $email.val(); + if(!email.isEmail()) { + PF.fn.growl.expirable(PF.fn._s("Please provide a valid email address")); + return; + } + $email.prop("disabled", true); + PF.fn.loading.inline($('.loading', $parent), {size: "small", valign: "middle"}); + $parent.find(".btn .text").hide(); + $.ajax({ + data: {action: "test", test: {object: "email"}, email: email}, + cache: false + }) + .complete(function(XHR) { + var response = XHR.responseJSON; + $email.prop("disabled", false); + $('.loading', $parent).empty(); + $parent.find(".btn .text").show(); + PF.fn.growl.call(response[response.status_code == 200 ? "success" : "error"].message); + }); + + }); + + /* + // Input copy + $(document).on("mouseenter mouseleave", ".input-copy", function(e){ + if(navigator.userAgent.match(/(iPad|iPhone|iPod)/i)) { + return; + } + $(".btn-copy", this)[e.type == "mouseenter" ? "show" : "hide"](); + }); + + $(document).on("click", ".input-copy .btn-copy", function(){ + var $input = $(this).closest(".input-copy").find("input"); + $(this).hide(); + $input.highlight(); + }); + */ + + /** + * USER SIDE LISTING EDITOR + * ------------------------------------------------------------------------------------------------- + */ + + $(document).on("click", ".list-item, [data-action=list-tools] [data-action]", function(e) { + var $this = $(e.target), + $list_item = $this.closest(".list-item"); + if($list_item && $list_item.find("[data-action=select]").exists() && (e.ctrlKey || e.metaKey) && e.altKey) { + CHV.fn.list_editor.toggleSelectItem($list_item, !$list_item.hasClass("selected")); + e.preventDefault(); + e.stopPropagation(); + } + }); + + // On listing ajax, clear the "Clear selection" toggle + PF.fn.listing.ajax.callback = function(XHR) { + if(XHR.status !== 200) return; + CHV.fn.list_editor.listMassActionSet("select"); + }; + + // Select all + $(document).on("click", "[data-action=list-select-all]", function() { + CHV.fn.list_editor.selectItem($(".list-item:visible:not(.selected)")); + CHV.fn.list_editor.listMassActionSet("clear"); + }); + // Clear all + $(document).on("click", "[data-action=list-clear-all]", function() { + PF.fn.close_pops(); + CHV.fn.list_editor.clearSelection(); + }); + + // List item tools action (single) + $(document).on("click", "[data-action=list-tools] [data-action]", function(e){ + + if(e.isPropagationStopped()) return false; + + var $this_list_item = $(this).closest(PF.obj.listing.selectors.list_item), + $this_list_item_tools = $(this).closest("[data-action=list-tools]"); + + var $this_icon, this_add_class, this_remove_class, this_label_text, dealing_with; + + if(typeof $this_list_item.data("type") !== "undefined"){ + dealing_with = $this_list_item.data("type"); + } else { + console.log("Error: data-type not defined"); + return; + } + + switch($(this).data("action")){ + + case "select": + CHV.fn.list_editor.toggleSelectItem($this_list_item, !$this_list_item.hasClass("selected")); + break; + + case "edit": + + var modal_source = "[data-modal=form-edit-single]"; + + // Populate the modal before casting it + switch(dealing_with) { + case "image": + $("[name=form-image-title]", modal_source).attr("value", $this_list_item.data("title")); + $("[name=form-image-description]", modal_source).html(PF.fn.htmlEncode($this_list_item.data("description"))); + + $("[name=form-album-id]", modal_source).find("option").removeAttr("selected"); + $("[name=form-album-id]", modal_source).find("[value="+$this_list_item.data(dealing_with == "image" ? "album-id" : "id")+"]").attr("selected", true); + + $("[name=form-category-id]", modal_source).find("option").removeAttr("selected"); + $("[name=form-category-id]", modal_source).find("[value="+$this_list_item.data("category-id") + "]").attr("selected", true); + + $("[name=form-nsfw]", modal_source).attr("checked", $this_list_item.data("flag") == "unsafe"); + + // Just in case... + $("[name=form-album-name]", modal_source).attr("value", ""); + $("[name=form-album-description]", modal_source).html(""); + $("[name=form-privacy]", modal_source).find("option").removeAttr("selected"); + + break; + case "album": + $("[data-action=album-switch]", modal_source).remove(); + $("[name=form-album-name]", modal_source).attr("value", $this_list_item.data("name")); + $("[name=form-album-description]", modal_source).html(PF.fn.htmlEncode($this_list_item.data("description"))); + $("[name=form-privacy]", modal_source).find("option").removeAttr("selected"); + $("[name=form-privacy]", modal_source).find("[value="+$this_list_item.data('privacy')+"]").attr("selected", true); + break; + } + + PF.fn.modal.call({ + type: "html", + template: $(modal_source).html(), + ajax: { + url: PF.obj.config.json_api, + deferred: { + success: function(XHR) { + CHV.fn.list_editor.updateItem("[data-id="+$this_list_item.data("id")+"]", XHR.responseJSON[dealing_with], "edit"); + } + } + }, + confirm: function() { + + var $modal = $(PF.obj.modal.selectors.root); + + if((dealing_with == "image" || dealing_with == "album") && $("[data-content=form-new-album]", $modal).is(":visible") && $("[name=form-album-name]", $modal).val() == "") { + PF.fn.growl.call(PF.fn._s("You must enter the album name.")); + $("[name=form-album-name]", $modal).highlight(); + return false; + } + + if(!PF.fn.form_modal_has_changed()){ + PF.fn.modal.close(); + return; + } + + PF.obj.modal.form_data = { + action: "edit", // use the same method applied in viewer + edit: $this_list_item.data("type"), + single: true, + owner: CHV.obj.resource.user.id, + editing: { + id: $this_list_item.data("id"), + description: $("[name=form-" + dealing_with + "-description]", $modal).val() + } + }; + + switch(dealing_with) { + case "image": + PF.obj.modal.form_data.editing.title = $("[name=form-image-title]", $modal).val(); + PF.obj.modal.form_data.editing.category_id = $("[name=form-category-id]", $modal).val() || null; + PF.obj.modal.form_data.editing.nsfw = $("[name=form-nsfw]", $modal).prop("checked") ? 1 : 0; + break; + case "album": + PF.obj.modal.form_data.editing.name = $("[name=form-album-name]", $modal).val(); + PF.obj.modal.form_data.editing.privacy = $("[name=form-privacy]", $modal).val(); + break; + } + + PF.obj.modal.form_data.editing.new_album = $("[data-content=form-new-album]", $modal).is(":visible"); + + if(PF.obj.modal.form_data.editing.new_album) { + PF.obj.modal.form_data.editing.album_name = $("[name=form-album-name]", $modal).val(); + PF.obj.modal.form_data.editing.album_privacy = $("[name=form-privacy]", $modal).val(); + PF.obj.modal.form_data.editing.album_description = $("[name=form-album-description]", $modal).val(); + } else { + PF.obj.modal.form_data.editing.album_id = $("[name=form-album-id]", $modal).val(); + } + + return true; + } + }); + break; + + case "move": // Move or create album + + var modal_source = "[data-modal=form-move-single]"; + + // Fool the selected album + $("[name=form-album-id]", modal_source).find("option").removeAttr("selected"); + $("[name=form-album-id]", modal_source).find("[value="+$this_list_item.data(dealing_with == "image" ? "album-id" : "id")+"]").attr("selected", true); + + // Just in case... + $("[name=form-album-name]", modal_source).attr("value", ""); + $("[name=form-album-description]", modal_source).html(""); + $("[name=form-privacy]", modal_source).find("option").removeAttr("selected"); + + PF.fn.modal.call({ + type: "html", + template: $(modal_source).html(), + ajax: { + url: PF.obj.config.json_api, + deferred: { + success: function(XHR) { + CHV.fn.list_editor.updateMoveItemLists(XHR.responseJSON, dealing_with, $this_list_item); + } + } + }, + confirm: function() { + + var $modal = $(PF.obj.modal.selectors.root); + + if($("[data-content=form-new-album]", $modal).is(":visible") && $("[name=form-album-name]", $modal).val() == "") { + PF.fn.growl.call(PF.fn._s("You must enter the album name.")); + $("[name=form-album-name]", $modal).highlight(); + return false; + } + + if(!PF.fn.form_modal_has_changed()){ + PF.fn.modal.close(); + return; + } + + PF.obj.modal.form_data = { + action: "edit", // use the same method applied in viewer + edit: $this_list_item.data("type"), + single: true, + owner: CHV.obj.resource.user.id, + editing: { + id: $this_list_item.data("id") + } + }; + + PF.obj.modal.form_data.editing.new_album = $("[data-content=form-new-album]", $modal).is(":visible"); + + if(PF.obj.modal.form_data.editing.new_album) { + PF.obj.modal.form_data.editing.album_name = $("[name=form-album-name]", $modal).val(); + PF.obj.modal.form_data.editing.album_privacy = $("[name=form-privacy]", $modal).val(); + PF.obj.modal.form_data.editing.album_description = $("[name=form-album-description]", $modal).val(); + } else { + PF.obj.modal.form_data.editing.album_id = $("[name=form-album-id]", $modal).val(); + } + + return true; + + } + }); + + break; + + case "delete": + + PF.fn.modal.call({ + type: "html", + template: $("[data-modal=form-delete-single]").html(), + button_submit: PF.fn._s("Confirm"), + ajax: { + url: PF.obj.config.json_api, + deferred: { + success: function(XHR) { + if(dealing_with == "album") { + $("[name=form-album-id]", "[data-modal]").find("[value="+$this_list_item.data("id")+"]").remove(); + CHV.fn.list_editor.updateUserCounters("image", XHR.responseJSON.success.affected, "-"); + } + CHV.fn.list_editor.deleteFromList($this_list_item); + CHV.fn.queuePixel(); + } + } + }, + confirm: function() { + + PF.obj.modal.form_data = { + action: "delete", + single: true, + delete: $this_list_item.data("type"), + deleting: { + id: $this_list_item.data("id") + } + }; + + return true; + } + }); + + break; + + case "flag": + $.ajax({ + type: "POST", + data: {action: 'edit', edit: 'image', single: true, editing: {id: $this_list_item.data("id"), nsfw: $this_list_item.data("flag") == "unsafe" ? 0 : 1}} + }).complete(function(XHR){ + var response = XHR.responseJSON, + flag = response.image.nsfw == 1 ? "unsafe" : "safe"; + $this_list_item.removeClass("safe unsafe").addClass(flag).attr("data-flag", flag).data("flag", flag); + // Remember me gansito + CHV.fn.list_editor.selectionCount(); + }); + break; + + } + + }); + + // Item action (multiple) + $(".pop-box-menu a", "[data-content=list-selection]").click(function(e){ + + var $content_listing = $(PF.obj.listing.selectors.content_listing_visible); + + if(typeof $content_listing.data("list") !== "undefined"){ + dealing_with = $content_listing.data("list"); + } else { + console.log("Error: data-list not defined"); + return; + } + + var $targets = $(PF.obj.listing.selectors.list_item+".selected", $content_listing), + ids = $.map($targets, function(e,i) { + return $(e).data("id"); + }); + + $(this).closest(".pop-btn").click(); + + switch($(this).data("action")){ + + case "get-embed-codes": + + // Prepare the HTML + var template = "[data-modal=form-embed-codes]"; + $("textarea", template).html(""), + objects = []; + + // Build the object + $targets.each(function() { + objects.push({image: $.parseJSON(decodeURIComponent($(this).data("object")))}); + }); + + CHV.fn.fillEmbedCodes(objects, template, "html"); + + PF.fn.modal.call({ + type: "html", + template: $(template).html(), + buttons: false + }); + + break; + + case "clear": + CHV.fn.list_editor.clearSelection(); + e.stopPropagation(); + break; + + case "move": + case "create-album": + + var template = $(this).data("action") == "move" ? "form-move-multiple" : "form-create-album", + modal_source = "[data-modal="+template+"]", + dealing_id_data = (/image/.test(dealing_with) ? "album-id" : "id"); + + $("[name=form-album-id]", modal_source).find("[value=null]").remove(); + + // Fool the album selection + $("[name=form-album-id]", modal_source).find("option").removeAttr("selected"); + + // Just in case... + $("[name=form-album-name]", modal_source).attr("value", ""); + $("[name=form-album-description]", modal_source).html(""); + $("[name=form-privacy]", modal_source).find("option").removeAttr("selected"); + + // This is an extra step... + var album_id = $targets.first().data(dealing_id_data), + same_album = true; + + $targets.each(function() { + if($(this).data(dealing_id_data) !== album_id) { + same_album = false; + return false; + } + }); + + if(!same_album) { + $("[name=form-album-id]", modal_source).prepend(''); + } + + $("[name=form-album-id]", modal_source).find("[value="+(same_album ? $targets.first().data(dealing_id_data) : "null")+"]").attr("selected", true); + + PF.fn.modal.call({ + type: "html", + template: $(modal_source).html(), + ajax: { + url: PF.obj.config.json_api, + deferred: { + success: function(XHR) { + CHV.fn.list_editor.updateMoveItemLists(XHR.responseJSON, dealing_with, $targets); + } + } + }, + confirm: function() { + + var $modal = $(PF.obj.modal.selectors.root), + new_album = false; + + if($("[data-content=form-new-album]", $modal).is(":visible") && $("[name=form-album-name]", $modal).val() == "") { + PF.fn.growl.call(PF.fn._s("You must enter the album name.")); + $("[name=form-album-name]", $modal).highlight(); + return false; + } + + if($("[data-content=form-new-album]", $modal).is(":visible")) { + new_album = true; + } + + if(!PF.fn.form_modal_has_changed()){ + PF.fn.modal.close(); + return; + } + + var album_object = new_album ? "creating" : "moving"; + + PF.obj.modal.form_data = { + action: new_album ? "create-album" : "move", + type: dealing_with, + owner: CHV.obj.resource.user.id, + multiple: true, + album: { + ids: ids, + "new": new_album + } + }; + + if(new_album) { + PF.obj.modal.form_data.album.name = $("[name=form-album-name]", $modal).val(); + PF.obj.modal.form_data.album.privacy = $("[name=form-privacy]", $modal).val(); + PF.obj.modal.form_data.album.description = $("[name=form-album-description]", $modal).val(); + } else { + PF.obj.modal.form_data.album.id = $("[name=form-album-id]", $modal).val(); + } + + return true; + + } + }); + + break; + + case "delete": + + PF.fn.modal.call({ + template: $("[data-modal=form-delete-multiple]").html(), + button_submit: PF.fn._s("Confirm"), + ajax: { + url: PF.obj.config.json_api, + deferred: { + success: function(XHR) { + // unificar + if(dealing_with == "albums") { + $targets.each(function() { + $("[name=form-album-id]", "[data-modal]").find("[value="+$(this).data("id")+"]").remove(); + }); + CHV.fn.list_editor.updateUserCounters("image", XHR.responseJSON.success.affected, "-"); + } + CHV.fn.list_editor.deleteFromList($targets); + CHV.fn.queuePixel(); + } + } + }, + confirm: function() { + + PF.obj.modal.form_data = { + action: "delete", + from: "list", + "delete": dealing_with, + multiple: true, + deleting: { + ids: ids + } + }; + + return true; + } + }); + + break; + + case "assign-category": + + var category_id = $targets.first().data("category-id"), + same_category = true; + + $targets.each(function() { + if($(this).data("category-id") !== category_id) { + same_category = false; + return false; + } + }); + + PF.fn.modal.call({ + type: "html", + template: $("[data-modal=form-assign-category]").html(), + forced: true, + ajax: { + url: PF.obj.config.json_api, + deferred: { + success: function(XHR) { + $targets.each(function() { + var response = XHR.responseJSON; + $(this).data("category-id", response.category_id) + }); + CHV.fn.list_editor.clearSelection(); + } + } + }, + confirm: function() { + var $modal = $(PF.obj.modal.selectors.root), + form_category = $("[name=form-category-id]", $modal).val() || null; + + if(same_category && category_id == form_category) { + PF.fn.modal.close(function() { + CHV.fn.list_editor.clearSelection(); + }); + return false; + } + + PF.obj.modal.form_data = { + action: "edit-category", + from: "list", + multiple: true, + editing: { + ids: ids, + category_id: form_category + } + }; + return true; + } + }); + break; + + case "flag-safe": + case "flag-unsafe": + + var action = $(this).data("action"), + flag = action == "flag-safe" ? "safe" : "unsafe"; + + PF.fn.modal.call({ + template: $("[data-modal=form-" + action + "]").html(), + button_submit: PF.fn._s("Confirm"), + ajax: { + url: PF.obj.config.json_api, + deferred: { + success: function(XHR) { + $targets.each(function() { + $(this).removeClass("safe unsafe").addClass(flag).removeAttr("data-flag").attr("data-flag", flag).data("flag", flag); + }); + CHV.fn.list_editor.clearSelection(); + } + } + }, + confirm: function() { + PF.obj.modal.form_data = { + action: action, + from: "list", + multiple: true, + editing: { + ids: ids, + nsfw: action == "flag-safe" ? 0 : 1 + } + }; + + return true; + } + }); + + break; + } + + if(PF.fn.isDevice(["phone", "phablet"])) { + return false; + } + + }); + + // Image page + if($("body#image").exists()) { + $(window).scroll(function(){ + CHV.obj.topBar.transparencyScrollToggle(); + }); + } + + $(document).on("click", "[data-action=disconnect]", function() { + var $this = $(this), + connection = $this.data("connection"); + + PF.fn.modal.confirm({ + message: $this.data("confirm-message"), + ajax: { + data: {action: 'disconnect', disconnect: connection, user_id: CHV.obj.resource.user.id}, + deferred: { + success: function(XHR) { + var response = XHR.responseJSON; + $("[data-connection="+connection+"]").fadeOut(function() { + $($("[data-connect="+connection+"]")).fadeIn(); + $(this).remove(); + if($("[data-connection]").length == 0) { + $("[data-content=empty-message]").show(); + } + PF.fn.growl.expirable(response.success.message); + }); + }, + error: function(XHR) { + var response = XHR.responseJSON; + PF.fn.growl.call(response.error.message); + } + } + } + }); + }); + + $(document).on("click", "[data-action=delete-avatar]", function() { + var $parent = $(".user-settings-avatar"), + $loading = $(".loading-placeholder", $parent), + $top = $("#top-bar"); + + $loading.removeClass("hidden"); + + PF.fn.loading.inline($loading, {center: true}); + + $.ajax({ + type: "POST", + data: {action: "delete", delete: "avatar", owner: CHV.obj.resource.user.id} + }).complete(function(XHR){ + $loading.addClass("hidden").empty(); + if(XHR.status == 200) { + if(CHV.obj.logged_user.id == CHV.obj.resource.user.id) { + $("img.user-image", $top).hide(); + $(".default-user-image", $top).removeClass("hidden"); + } + $(".default-user-image", $parent).removeClass("hidden").css({opacity: 0}); + $(".btn-alt", $parent).closest("div").hide(); + $("img.user-image", $parent).fadeOut(function() { + $(".default-user-image", $parent).animate({opacity: 1}); + }); + } else { + PF.fn.growl.expirable(PF.fn._s("An error occurred. Please try again later.")); + } + }); + + }); + + $(document).on("change", "[data-content=user-avatar-upload-input]", function(e) { + + e.preventDefault(); + e.stopPropagation(); + + var $this = $(this), + $parent = $(".user-settings-avatar"), + $loading = $(".loading-placeholder", ".user-settings-avatar"), + $top = $("#top-bar"), + user_avatar_file = $(this)[0].files[0]; + + if($this.data("uploading")) { + return; + } + + if(/^image\/.*$/.test(user_avatar_file.type) == false) { + PF.fn.growl.call(PF.fn._s("Please select a valid image file type.")); + return; + } + + if(user_avatar_file.size > CHV.obj.config.user.avatar_max_filesize.getBytes()) { + PF.fn.growl.call(PF.fn._s("Please select a picture of at most %s size.", CHV.obj.config.user.avatar_max_filesize)); + return; + } + + $loading.removeClass("hidden"); + + PF.fn.loading.inline($loading, {center: true}); + + $this.data("uploading", true); + + // HTML5 method + var user_avatar_fd = new FormData(); + + user_avatar_fd.append("source", user_avatar_file); + user_avatar_fd.append("action", "upload"); + user_avatar_fd.append("type", "file"); + user_avatar_fd.append("what", "avatar"); + user_avatar_fd.append("owner", CHV.obj.resource.user.id); + user_avatar_fd.append("auth_token", PF.obj.config.auth_token); + + avatarXHR = new XMLHttpRequest(); + avatarXHR.open("POST", PF.obj.config.json_api, true); + avatarXHR.send(user_avatar_fd); + avatarXHR.onreadystatechange = function(){ + if(this.readyState == 4){ + var response = this.responseType !== "json" ? JSON.parse(this.response) : this.response, + image = response.success.image; + + $loading.addClass("hidden").empty(); + + if(this.status == 200) { + change_avatar = function(parent) { + $("img.user-image", parent).attr("src", image.url).removeClass("hidden").show(); + }; + hide_default = function(parent) { + $(".default-user-image", parent).addClass("hidden"); + }; + + // Form + hide_default($parent); + $(".btn-alt", $parent).closest("div").show(); + change_avatar($parent); + // Top + if(CHV.obj.logged_user.id == CHV.obj.resource.user.id) { + change_avatar($top); + hide_default($top); + } + PF.fn.growl.expirable(PF.fn._s("Profile image updated.")); + } else { + PF.fn.growl.expirable(PF.fn._s("An error occurred. Please try again later.")); + } + + $this.data("uploading", false); + } + + } + }); + + $(document).on("change", "[data-content=user-background-upload-input]", function(e) { + + e.preventDefault(); + e.stopPropagation(); + + var $this = $(this), + $parent = $("[data-content=user-background-cover]"), + $src = $("[data-content=user-background-cover-src]"), + $loading = $(".loading-placeholder", $parent), + $top = $("#top-bar"), + user_file = $(this)[0].files[0]; + + if($this.data("uploading")) { + return; + } + + if(/^image\/.*$/.test(user_file.type) == false) { + PF.fn.growl.call(PF.fn._s("Please select a valid image file type.")); + return; + } + + if(user_file.size > CHV.obj.config.user.background_max_filesize.getBytes()) { + PF.fn.growl.call(PF.fn._s("Please select a picture of at most %s size.", CHV.obj.config.user.background_max_filesize)); + return; + } + + $loading.removeClass("hidden"); + + PF.fn.loading.inline($loading, {center: true, size: 'big', color: '#FFF'}); + + $this.data("uploading", true); + + // HTML5 method + var user_picture_fd = new FormData(); + + user_picture_fd.append("source", user_file); + user_picture_fd.append("action", "upload"); + user_picture_fd.append("type", "file"); + user_picture_fd.append("what", "background"); + user_picture_fd.append("owner", CHV.obj.resource.user.id); + user_picture_fd.append("auth_token", PF.obj.config.auth_token); + + avatarXHR = new XMLHttpRequest(); + avatarXHR.open("POST", PF.obj.config.json_api, true); + avatarXHR.send(user_picture_fd); + avatarXHR.onreadystatechange = function(){ + if(this.readyState == 4){ + var response = this.responseType !== "json" ? JSON.parse(this.response) : this.response, + image = response.success.image; + + if(this.status == 200) { + var $img = $(""); + $img.attr('src', image.url).imagesLoaded(function(){ + $loading.addClass("hidden").empty(); + $src.css("background-image", "url("+image.url+")").hide().fadeIn(); + $("[data-content=user-change-background]", $parent).removeClass("hidden"); + $parent.removeClass("no-background"); + $("[data-content=user-upload-background]").hide(); + $("[data-content=user-change-background]").show(); + PF.fn.growl.expirable(PF.fn._s("Profile background image updated.")); + $img.remove(); + if(typeof user_background_full_fix == "function") { + user_background_full_fix(); + //PF.fn.follow_scroll_update(); + } + }); + + } else { + $loading.addClass("hidden").empty(); + PF.fn.growl.expirable(PF.fn._s("An error occurred. Please try again later.")); + } + + $this.data("uploading", false); + } + + } + }); + /* + $(document).on("click", "[data-action=disconnect]", function() { + var $this = $(this), + connection = $this.data("connection"); + + PF.fn.modal.confirm({ + message: $this.data("confirm-message"), + ajax: { + data: {action: 'disconnect', disconnect: connection, user_id: CHV.obj.resource.user.id}, + deferred: { + success: function(XHR) { + var response = XHR.responseJSON; + $("[data-connection="+connection+"]").fadeOut(function() { + $($("[data-connect="+connection+"]")).fadeIn(); + $(this).remove(); + if($("[data-connection]").length == 0) { + $("[data-content=empty-message]").show(); + } + PF.fn.growl.expirable(response.success.message); + }); + }, + error: function(XHR) { + var response = XHR.responseJSON; + PF.fn.growl.expirable(response.error.message); + } + } + } + }); + }); + */ + + CHV.fn.user_background = { + delete : { + submit: function() { + PF.obj.modal.form_data = { + action: "delete", + delete: "background", + owner: CHV.obj.resource.user.id + }; + return true; + }, + deferred: { + success: { + before: function(XHR) { + $("[data-content=user-background-cover-src]").css("background-image", "none"); + $("[data-content=user-background-cover]").addClass("no-background").height(""); + $("[data-content=user-upload-background]").removeClass("hidden").show(); + $("[data-content=user-change-background]").hide(); + $("#top-bar").removeClass("transparent background-transparent"); + $("#top-bar-shade").remove(); + //PF.fn.follow_scroll_update(); + }, + done: function(XHR) { + PF.fn.modal.close(function(){ + PF.fn.growl.expirable(PF.fn._s("Profile background image deleted.")); + }); + } + }, + error: function(XHR) { + PF.fn.growl.expirable(PF.fn._s("Error deleting profile background image.")); + } + } + } + }; + + // Form things + CHV.str.mainform = "[data-content=main-form]"; + CHV.obj.timezone = { + 'selector' : "[data-content=timezone]", + 'input' : "#timezone-region" + }; + + // Detect form changes + $(document).on("keyup change", CHV.str.mainform + " :input", function() { + if($(this).is("[name=username]")) { + $("[data-text=username]").text($(this).val()); + } + }); + + // Timezone handler + $(document).on("change", CHV.obj.timezone.input, function(){ + var value = $(this).val(), + $timezone_combo = $("#timezone-combo-"+value); + $timezone_combo.find("option:first").prop("selected", true); + $(CHV.obj.timezone.selector).val($timezone_combo.val()).change(); + }); + $(document).on("change", "[id^=timezone-combo-]", function(){ + var value = $(this).val(); + $(CHV.obj.timezone.selector).val(value).change(); + }); + + // Password match + $(document).on("keyup change blur", "[name^=new-password]", function() { + var $new_password = $("[name=new-password]"), + $new_password_confirm = $("[name=new-password-confirm]"), + hide = $new_password.val() == $new_password_confirm.val(), + $warning = $new_password_confirm.closest(".input-password").find(".input-warning"); + + if($(this).is($new_password_confirm)) { + $new_password_confirm.data("touched", true); + } + + if($new_password_confirm.data("touched")) { + $warning.text(!hide ? $warning.data("text") : "")[!hide ? 'removeClass' : 'addClass']('hidden-visibility'); + } + }); + + // Submit form + $(document).on("submit", CHV.obj.mainform, function() { + switch($(this).data("type")) { + case "password": + var $p1 = $("[name=new-password]", this), + $p2 = $("[name=new-password-confirm]", this); + if($p1.val() !== "" || $p2.val() !== "") { + if($p1.val() !== $p2.val()) { + $p1.highlight(); + $p2.highlight(); + PF.fn.growl.expirable(PF.fn._s("Passwords don't match")); + return false; + } + } + break; + } + }); + + $(document).on("change", "[name=theme_tone]", function() { + $("html")[0].className = $("html")[0].className.replace(/\btone-[\w-]+\b/g, ''); + $("html").addClass("tone-"+$(this).val()); + }); + $(document).on("change", "[name=theme_top_bar_color]", function() { + //$("html")[0].className = $("html")[0].className.replace(/\btone-[\w-]+\b/g, ''); + $("#top-bar, .top-bar").removeClass("black white").addClass($(this).val()); + }); + + $(document).on("click", "[data-action=check-for-updates]", function() { + PF.fn.loading.fullscreen(); + CHV.fn.system.checkUpdates(function(XHR) { + PF.fn.loading.destroy("fullscreen"); + + if(XHR.status !== 200) { + PF.fn.growl.call(PF.fn._s("An error occurred. Please try again later.")); + return; + } + + var data = XHR.responseJSON.software; + + if(PF.fn.versionCompare(CHV.obj.system_info.version, data.current_version) == -1) { + PF.fn.modal.simple({ + title: PF.fn._s("Update available v%s", data.current_version), + message: '

' + PF.fn._s('There is an update available for your system. You can automatic download and install this update or go to %s to proceed to download the file.', 'chevereto.com') + '

' + PF.fn._s('The release notes for this update are:') + '

' + '' + '', + html: true + }); + } else { + PF.fn.growl.call(PF.fn._s("Your website is running the latest version of Chevereto.")); + } + + }); + }); + + // Topbar native js thing + if($("body#image").exists() && window.scrollY > 0) { + $("#top-bar").removeClass("transparent"); + } + + // Storage form + $(document).on("click", "[data-action=toggle-storage-https]", function() { + CHV.fn.storage.toggleHttps($(this).closest("[data-content=storage]").data('storage-id')); + }); + $(document).on("click", "[data-action=toggle-storage-active]", function() { + CHV.fn.storage.toggleActive($(this).closest("[data-content=storage]").data('storage-id')); + }); + + // Detect paste image event + if($(CHV.fn.uploader.selectors.root).exists()) { + + CHV.fn.uploader.$pasteCatcher = $("
", {contenteditable: "true", id: CHV.fn.uploader.selectors.paste.replace(/#/, "")}); + $("body").append(CHV.fn.uploader.$pasteCatcher); + + // Hack Ctrl/Cmd+V to focus pasteCatcher + $(document).keydown(function(e) { + var key = e.keyCode; + var ctrlDown = e.ctrlKey || e.metaKey; // Mac support + if(ctrlDown && key==86 && !$(e.target).is(":input")) { // Paste detected on "body" + CHV.fn.uploader.$pasteCatcher.focus(); + } + }); + // Add the paste event listener + window.addEventListener("paste", CHV.fn.uploader.pasteImageHandler); + } + + /* LIKE BUTTON */ + $(document).on("click", "[data-action=like]", function() { + + if(!PF.fn.is_user_logged()) { + PF.fn.modal.call({type: "login"}); + return; + } + + var $this = $(this); + // Block ajax while this thing is still working... + if($this.data("XHR")) return; + $this.data("XHR", true); + + var $object = $(this).is("[data-liked]") ? $(this) : $(this).closest("[data-liked]"); + var isSingle = !$object.closest("[data-list]").exists() && typeof CHV.obj.resource !== typeof undefined; + var liked = $object.is("[data-liked=1]"); + var action = !liked ? 'like' : 'dislike'; + var content = { + id: isSingle ? CHV.obj.resource.id : $(this).closest("[data-id]").data("id"), + type: isSingle ? CHV.obj.resource.type : $(this).closest("[data-type]").data("type") + }; + var ajax = { + data: {action: action}, + cache: false + }; + ajax.data[action] = { + object: content.type, + id: content.id, + }; + $.ajax(ajax) + .complete(function(XHR) { + var response = XHR.responseJSON; + $this.data("XHR", false); + if(response.status_code !== 200) { + PF.fn.growl.expirable(PF.fn._s("An error occurred. Please try again later.")); + return; + } + if(isSingle && typeof response.content !== typeof undefined) { + $("[data-text=likes-count]").html(response.content.likes); + } + $object.attr("data-liked", liked ? 0 : 1); // Toggle indicator + }); + + }); + + /* FOLLOW BUTTON */ + $(document).on("click", "[data-action=follow]", function() { + + if(!PF.fn.is_user_logged()) { + PF.fn.modal.call({type: "login"}); + return; + } + + var $this = $(this); + // Block ajax while this thing is still working... + if($this.data("XHR")) return; + $this.data("XHR", true); + + var $object = $(this).is("[data-followed]") ? $(this) : $(this).closest("[data-followed]"); + var isSingle = typeof CHV.obj.resource !== typeof undefined; + var followed = $object.is("[data-followed=1]"); + var action = !followed ? 'follow' : 'unfollow'; + var content = { + id: isSingle ? CHV.obj.resource.id : $(this).closest("[data-id]").data("id"), + type: isSingle ? CHV.obj.resource.type : $(this).closest("[data-type]").data("type") + }; + var ajax = { + data: {action: action}, + cache: false + }; + ajax.data[action] = { + object: content.type, + id: content.id, + }; + $.ajax(ajax) + .complete(function(XHR) { + var response = XHR.responseJSON; + $this.data("XHR", false); + if(response.status_code !== 200) { + PF.fn.growl.expirable(PF.fn._s("An error occurred. Please try again later.")); + return; + } + if(isSingle) { + if(typeof response.user_followed !== typeof undefined) { + var $followersLabel = $("[data-text=followers-label]"); + var label = { + single: $followersLabel.data('label-single'), + plural: $followersLabel.data('label-plural') + }; + $("[data-text=followers-count]").html(response.user_followed.followers); + $followersLabel.html(PF.fn._n(label.single, label.plural, response.user_followed.followers)); + } + } + $object.attr("data-followed", followed ? 0 : 1); // Toggle indicator + }); + }); + + // Notifications antiscroll. Must be called on visible elements. + function notifications_scroll() { + if(PF.fn.isDevice(["phone", "phablet"])) return; + var $visible_list = $(".top-bar-notifications-list ul", ".top-bar:visible"); + var height; + var height_auto; + $visible_list.css("height", ""); // Reset any change + height = $visible_list.height(); + $visible_list.data("height", height).css("height", "auto"); + height_auto = $visible_list.height(); + if(height_auto > height){ + $visible_list.height(height); + $visible_list.closest(".antiscroll-wrap").antiscroll(); + } + } + + // Notifications list + $(document).on("click", "[data-action=top-bar-notifications]", function(e) { + var _this = this; + var $this = $(this); + + var $container = $(".top-bar-notifications-container", $this); + var $list = $(".top-bar-notifications-list", $this); + var $ul = $("ul", $list); + var $loading = $(".loading", $container); + + if($this.data("XHR")) { + return; + } else { + $loading.removeClass("hidden"); + PF.fn.loading.inline($loading, {size: "small", message: PF.fn._s("loading")}); + } + + $.ajax({data: {action: "notifications"}, cache: false}) + .complete(function(XHR) { + var response = XHR.responseJSON; + if(response.status_code !== 200) { + PF.fn.growl.expirable(PF.fn._s("An error occurred. Please try again later.")); + $this.data("XHR", false); + $loading.addClass("hidden").html(""); + return; + } + $this.data("XHR", true); + $loading.remove(); + if(!response.html) { + $(".empty", $container).removeClass("hidden"); + return; + } + $list.removeClass("hidden"); + $ul.html(response.html); + notifications_scroll(); + var $li = $("li.new", $ul); + $li.addClass("transition"); + setTimeout(function() { + $li.removeClass("new"); + $("[data-content=notifications-counter]", _this).removeClass("on").html("0"); + setTimeout(function() { + $li.removeClass("transition"); + }, 150); + }, 1500); + }) + + + }); + + if($("#g-recaptcha").is(':empty') && CHV.obj.config.recaptcha.enabled && CHV.obj.config.recaptcha.sitekey) { + reCaptchaCallback = function() { + grecaptcha.render("g-recaptcha", { + "sitekey" : CHV.obj.config.recaptcha.sitekey + }); + } + $.getScript("https://www.google.com/recaptcha/api.js?onload=reCaptchaCallback&render=explicit"); + } + +}); + +if(typeof CHV == "undefined") { + CHV = {obj: {}, fn: {}, str:{}}; +} + +CHV.obj.image_viewer = { + selector: "#image-viewer", + container: "#image-viewer-container", + navigation: ".image-viewer-navigation", + loading: "#image-viewer-loading" +}; +CHV.obj.image_viewer.$container = $(CHV.obj.image_viewer.container); +CHV.obj.image_viewer.$navigation = $(CHV.obj.image_viewer.navigation); +CHV.obj.image_viewer.$loading = $(CHV.obj.image_viewer.loading); + +CHV.fn.system = { + checkUpdates: function(callback) { + $.ajax({ + url: "https://chevereto.com/api/get/info/", + data: null, + cache: false + }) + .always(function(data, status, XHR) { + if(typeof callback == "function") { + callback(XHR); + } + }); + } +}; + +CHV.fn.bindSelectableItems = function() { + var el = 'content-listing-wrapper'; + if(!$("#" + el).exists()) { + $("[data-content=list-selection]").closest(".content-width").wrap("
"); + } + + if(!$("[data-content=list-selection]").exists() || PF.fn.isDevice(["phone", "phablet"])) { + return; + } + $("#content-listing-wrapper").selectable({ + filter: PF.obj.listing.selectors.list_item, + cancel: ".viewer-title, .header-link, .top-bar, .content-listing-pagination *, #fullscreen-modal, #top-user, #background-cover, .list-item-desc, .list-item-image-tools", + delay: 5, // Avoids unattended click reset + selecting: function(event, ui) { + var $this = $(ui.selecting); + var unselect = $this.hasClass("selected"); + CHV.fn.list_editor[(unselect ? "unselect" : "select") + "Item"]($this); + }, + unselecting: function(event, ui) { + CHV.fn.list_editor.unselectItem($(ui.unselecting)); + } + }); +}; + +// this is just an stock if the fn isn't defined in /image +/*CHV.fn.image_viewer_full_fix = function() { + + if(!$(".image-viewer.full-viewer").exists()) return; + + var canvas = { + height: Math.max($(window).height() - $("#top-bar").height(), parseInt($(".image-viewer").css("minHeight"))), + width: $(window).width() + }, + img = { + width: CHV.obj.image_viewer.image.width, + height: CHV.obj.image_viewer.image.height + }, + ratio = CHV.obj.image_viewer.image.ratio; + + if(img.height > canvas.height && (img.height/img.width) < 3) { + img.height = canvas.height; + } + + if(img.height == canvas.height) { + img.width = Math.round(img.height * ratio); + } + + if(PF.fn.isDevice('phone') || PF.fn.isDevice('phablet')) { + if(img.width > canvas.width) { + img.width = canvas.width; + } + img.height = Math.round(img.width/ratio); + + } else { + if(img.height > canvas.height && (img.height/img.width) < 3) { + img.height = canvas.height; + } + + if(img.height == canvas.height) { + img.width = Math.round(img.height * ratio); + } + } + + if(img.width > canvas.width) { + img.width = canvas.width; + img.height = Math.round(img.width / CHV.obj.image_viewer.image.ratio); + } else if((img.height/img.width) > 3) { // wow, very tall. such heights + img = imgSource; + if(img.width > canvas.width) { + img.width = canvas.width * 0.8; + } + img.height = Math.round(img.width/ratio); + } + + $(".image-viewer.full-viewer").height(img.height); + img.display = "block"; + $(".image-viewer-container").css(img); + +};*/ + +CHV.obj.embed_tpl = {}; + +CHV.obj.topBar = { + transparencyScrollToggle: function() { + var Y = $(window).scrollTop(); + $("#top-bar")[(Y > 0 ? "remove" : "add") + "Class"]("transparent"); + } +}; + +CHV.fn.uploader = { + + options: { + image_types: ["png", "jpg", "jpeg", "gif", "bmp"], + max_filesize: "2 MB" + }, + + selectors: { + root: "#anywhere-upload", + queue: "#anywhere-upload-queue", + queue_complete: ".queue-complete", + queue_item: ".queue-item", + close_cancel: "[data-button=close-cancel]", + file: "#anywhere-upload-input", + camera: "#anywhere-upload-input-camera", + upload_item_template: "#anywhere-upload-item-template", + item_progress_bar: "[data-content=progress-bar]", + item_progress_percent: "[data-text=progress-percent]", + failed_result: "[data-content=failed-upload-result]", + fullscreen_mask: "#fullscreen-uploader-mask", + dropzone: "#uploader-dropzone", + paste: "#anywhere-upload-paste", + }, + + is_uploading: false, + can_add: true, + queue_status : "ready", + + files: {}, + results: {success: [], error: []}, + + toggleWorking: 0, + + toggle: function(options, args) { + + var $switch = $("[data-action=top-bar-upload]", ".top-bar"); + var show = !$(CHV.fn.uploader.selectors.root).data("shown"); + + var options = $.extend({callback: null, reset: true}, options); + + PF.fn.growl.close(true); + PF.fn.close_pops(); + + if(this.toggleWorking == 1 || $(CHV.fn.uploader.selectors.root).is(":animated") || CHV.fn.uploader.is_uploading || ($switch.data('login-needed') && !PF.fn.is_user_logged())) return; + + this.toggleWorking = 1; + + var uploadBoxHeight = $(CHV.fn.uploader.selectors.root).outerHeight() + "px"; + var uploadBoxTop = $(CHV.fn.uploader.selectors.root).css("top"); + var uploadBoxPush = (parseInt(uploadBoxHeight) + parseInt(uploadBoxTop)) + "px"; + + var animation = { + core: !show ? ("-" + uploadBoxPush) : uploadBoxPush, + time: 500, + }, + callbacks = function() { + if(options.reset) { + CHV.fn.uploader.reset(); + } + if(PF.obj.follow_scroll.$node.exists()) { + PF.obj.follow_scroll.$node.removeClass("fixed"); + PF.obj.follow_scroll.set(); + } + if(!show) { + $(CHV.fn.uploader.selectors.root).css({visibility: "hidden"}).addClass("hidden-visibility"); + } + PF.fn.topMenu.hide(); + if(typeof options.callback == "function") { + options.callback(args); + } + CHV.fn.uploader.boxSizer(); + CHV.fn.uploader.toggleWorking = 0; + }; + + if(show) { + $(CHV.fn.uploader.selectors.root).data("initial-height", uploadBoxHeight); + + $("html").data({ + "followed-scroll": $("html").hasClass("followed-scroll"), + "top-bar-box-shadow-prevent": true + }).removeClass("followed-scroll").addClass("top-bar-box-shadow-none"); + + $("#top-bar").data({ + "stock_classes": $("#top-bar").attr("class") + }); + + var top_bar_color = $("#top-bar").hasClass("white") ? "white" : "black"; + var is_slim_shady = $("#top-bar-shade").exists(); + + //if($("#top-bar").hasClass("transparent")) { + if(!is_slim_shady) { + $("
", { + id: "top-bar-shade", + "class": "top-bar " + top_bar_color + }).insertBefore("#top-bar"); + } + //$("#top-bar").attr("class", "top-bar").addClass(top_bar_color); + //} + var shade_target_opacity = 1; + if($("body").hasClass("landing") || $("body").hasClass("split_landing")) { + shade_target_opacity = 0; + } + if(PF.fn.isDevice("phone")) { + $("#top-bar-shade").css({opacity: shade_target_opacity}); + } else { + $("#top-bar-shade").animate({opacity: shade_target_opacity}, animation.time/2, animation.easing); + } + + $(".current[data-nav]", ".top-bar").each(function(){ + if($(this).is("[data-action=top-bar-menu-full]")) return; + $(this).removeClass("current").attr("data-current", 1); + }); + $(CHV.fn.uploader.selectors.root).removeClass("hidden-visibility").css({visibility: "visible", top: "-" + uploadBoxHeight}); + if(PF.fn.isDevice("mobile")) { + var $upload_heading = $(".upload-box-heading", $(CHV.fn.uploader.selectors.root)); + $upload_heading.css({position: "relative", top: 0.5*($(window).height() - $upload_heading.height())+"px"}); + } + + $(CHV.fn.uploader.selectors.root).css({ + transform: "translate(0,"+animation.core+")" + }); + + CHV.fn.uploader.focus(function() { + setTimeout(function() { + callbacks(); + if(PF.fn.isDevice(["phone", "phablet"])) { + $("html").addClass("overflow-hidden"); + } + }, animation.time); + }); + } else { // hide + $("[data-nav][data-current=1]", ".top-bar").each(function(){ + $(this).addClass("current"); + }); + + var fade_slim_shady = function() { + if(PF.fn.isDevice("phone")) { + $("#top-bar-shade").remove(); + return; + } + $("#top-bar-shade").animate({opacity: 0}, animation.time, animation.easing, function() { + if(!is_slim_shady) { + $(this).remove(); + } + }); + } + + if(!$("#top-bar").hasClass("transparent")) { + fade_slim_shady() + } + + $(CHV.fn.uploader.selectors.fullscreen_mask).css({opacity: 0}); + setTimeout(function() { + $(CHV.fn.uploader.selectors.fullscreen_mask).remove(); + if($("html").data("followed-scroll")) { + $("html").addClass("followed-scroll"); + } + }, 250); + + var _uploadBoxHeight = $(CHV.fn.uploader.selectors.root).outerHeight(); + var _uploadBoxPush = (_uploadBoxHeight - parseInt($(CHV.fn.uploader.selectors.root).data("initial-height"))) + "px"; + $(CHV.fn.uploader.selectors.root).css({ + transform: "translate(0,-"+_uploadBoxPush+")" + }); + + setTimeout(function() { + $("#top-bar").attr("class", $("#top-bar").data("stock_classes")); + $("html").removeClass(($(".follow-scroll-wrapper.position-fixed").exists() ? "" : "top-bar-box-shadow-none")); + }, animation.time * 1/3); + + setTimeout(function() { + $(CHV.fn.uploader.selectors.root).css({top: ""}); + if($("#top-bar-shade").exists()) { + fade_slim_shady() + } + + if($("body#image").exists()) { + CHV.obj.topBar.transparencyScrollToggle(); + } + callbacks(); + $("html") + .removeClass("overflow-hidden") + .data({"top-bar-box-shadow-prevent": false}); + }, animation.time); + + } + + $(CHV.fn.uploader.selectors.root).data("shown", show); + + $switch.toggleClass("current").removeClass("opened"); + }, + + reset: function() { + + this.files = {}; + this.is_uploading = false; + this.can_add = true; + this.results = {success: [], error: []}; + this.queue_status = "ready"; + + $("li", this.selectors.queue).remove(); + $(this.selectors.anywhere).height("").css({"overflow-y": "", "overflow-x": ""}); + + $(this.selectors.queue).removeClass(this.selectors.queue_complete.substring(1)); + + $("[data-group=upload-result] textarea", this.selectors.anywhere).prop("value", ""); + $.each(['upload-queue-ready', 'uploading', 'upload-result', 'upload-queue-ready', 'upload-queue'], function(i,v) { + $("[data-group="+v+"]").hide(); + }); + //$("[data-group=upload-queue-ready], [data-group=uploading], [data-group=upload-result], [data-group=upload-queue-ready], [data-group=upload-queue]", this.selectors.anywhere).hide(); + $("[data-group=upload]", this.selectors.anywhere).show(); + $("[name=upload-category-id]", this.selectors.root).val(""); + $("[name=upload-nsfw]", this.selectors.root).prop("checked", this.defaultChecked); + + $(this.selectors.close_cancel, this.selectors.anywhere).hide().each(function() { + if($(this).data("action") == "close-upload") $(this).show(); + }); + + this.boxSizer(true); + }, + + focus: function(callback) { + if($(this.selectors.fullscreen_mask).exists()) return; + $("body").append($("
", { + id: (this.selectors.fullscreen_mask.replace("#", "")), + class: "fullscreen soft-black", + }).css({ + top: PF.fn.isDevice("phone") ? 0 : $(CHV.fn.uploader.selectors.root).data("top") + })); + setTimeout(function() { + $(CHV.fn.uploader.selectors.fullscreen_mask).css({opacity: 1}) + setTimeout(function() { + if(typeof callback == "function") { + callback(); + } + }, PF.fn.isDevice(["phone", "phablet"]) ? 0 : 250); + }, 1); + }, + + boxSizer: function(forced) { + + if($(this.selectors.root).css("visibility") == "visible") { + $("html")[(PF.fn.isDevice(["phone", "phablet"]) ? "add" : "remove") + "Class"]("overflow-hidden"); + } + + var doit = $(this.selectors.root).css("visibility") == "visible" || forced; + + if(!doit) return; + + $(this.selectors.root).height(""); + + if($(this.selectors.root).height() + $("#top-bar").outerHeight(true) > $(window).height()) { + + $(this.selectors.root).height($(window).height() - $("#top-bar").outerHeight(true)).css({"overflow-y": "scroll", "overflow-x": "auto"}); + $("body").addClass("overflow-hidden"); + + } else { + $(this.selectors.root).css("overflow-y", ""); + $("body").removeClass("overflow-hidden"); + } + }, + + pasteURL: function() { + var urlvalues = $("[name=urls]", "#fullscreen-modal").val(); + if(urlvalues) { + CHV.fn.uploader.add({}, urlvalues); + } + }, + + pasteImageHandler: function(e) { + // Leave the inputs alone + if($(e.target).is(":input")) { + return; + } + // Get the items from the clipboard + if(typeof e.clipboardData !== typeof undefined && e.clipboardData.items) { + var items = e.clipboardData.items; + } else { // Get the items from the contenteditable catcher + setTimeout(function() { // Hack to get the items after paste + e.clipboardData = {}; + e.clipboardData.items = []; + $.each($("img", CHV.fn.uploader.$pasteCatcher), function(i,v) { + e.clipboardData.items.push(PF.fn.dataURItoBlob($(this).attr("src"))); + }); + $(CHV.fn.uploader.selectors.paste).html(""); + return CHV.fn.uploader.pasteImageHandler(e); + }, 1); + } + if (items) { + // Loop through all items, looking for any kind of image + for (var i = 0; i < items.length; i++) { + if (items[i].type.indexOf("image") !== -1) { + var file = items[i] instanceof Blob ? items[i] : items[i].getAsFile(); + var reader = new FileReader(); + reader.onload = function(evt) { + var uploaderIsVisible = $(CHV.fn.uploader.selectors.root).data("shown"); + // Give a name to this clipboard image + file.name = PF.fn._s('Clipboard image') + ' ' + PF.fn.getDateTime(); + // Mimic file select event + var file_evt = { + originalEvent: { + dataTransfer: {files: [file]}, + preventDefault: function() {}, + stopPropagation: function() {}, + clipboard: true, + dataURL: evt.target.result, + name: file.name + } + }; + if(!uploaderIsVisible) { + CHV.fn.uploader.toggle({callback: function() { + CHV.fn.uploader.add(file_evt); + }}); + } else { + CHV.fn.uploader.add(file_evt); + } + }; + reader.readAsDataURL(file); + } + } + } + }, + + item_add_id : 0, + clipboardImages : [], + add: function(e, urls) { + + var md5; + + if(typeof CHV.obj.config !== "undefined" && typeof CHV.obj.config.image !== "undefined" && CHV.obj.config.image.max_filesize !== "undefined") { + this.options.max_filesize = CHV.obj.config.image.max_filesize; + } + + // Prevent add items ? + if(!this.can_add) { + var e = e.originalEvent; + e.preventDefault(); + e.stopPropagation(); + return false; + }; + + $fileinput = $(this.selectors.file); + $fileinput.replaceWith($fileinput = $fileinput.clone(true)); + + var item_queue_template = $(this.selectors.upload_item_template).html(), + files; + + if(typeof urls == typeof undefined) { // Local files + var e = e.originalEvent; + e.preventDefault(); + e.stopPropagation(); + files = e.dataTransfer || e.target; + files = $.makeArray(files.files); + + // Keep a map for the clipboard images + if(e.clipboard) { + md5 = PF.fn.md5(e.dataURL); + if($.inArray(md5, this.clipboardImages) != -1) { + return null; + } + this.clipboardImages.push(md5); + } + + // Filter non images + var failed_files = []; + files = $.map(files, function(file, i){ + var image_type_str; + + if(typeof file.type == "undefined" || file.type == "") { // Some browsers (Android) don't set the correct file.type + image_type_str = file.name.substr(file.name.lastIndexOf('.') + 1).toLowerCase(); + } else { + image_type_str = file.type.replace("image/", ""); + } + // And yes... Android can output shit like image:10 as the full file name so ignore this filter + if(CHV.fn.uploader.options.image_types.indexOf(image_type_str) == -1 && /android/i.test(navigator.userAgent) == false) { + failed_files.push({id: i, name: file.name.truncate_middle() + " - " + PF.fn._s("Invalid or unsupported file format.")}); + return null; + } + if(file.size > CHV.obj.config.image.max_filesize.getBytes()){ + failed_files.push({id: i, name: file.name.truncate_middle() + " - " + PF.fn._s("File too big.")}); + return null; + } + + file.fromClipboard = e.clipboard == true; + + if(md5) { + file.md5 = md5; + } + + return file; + }); + + if(failed_files.length > 0 && files.length == 0) { + var failed_message = ''; + for(var i = 0; i < failed_files.length; i++){ + failed_message += "
  • " + failed_files[i].name + "
  • "; + } + PF.fn.modal.simple({title: PF.fn._s("Some files couldn't be added"), message: "
      " + "
    • " + failed_message + "
    "}); + return; + } + + if(files.length == 0) return; + + } else { // Remote files + files = urls.match_image_urls(); + if(!files) return; + files = files.array_unique(); + files = $.map(files, function(file,i){ + return {name: file, url: file}; + }); + } + + // Empty current files object? + if($.isEmptyObject(this.files)) { + for(var i=0; i img_h || img_w == img_h){ // Landscape + var queue_img_h = img_h < queue_item_h ? img_h : queue_item_h; + if(img_w > img_h){ + $img.height(queue_img_h).width(queue_img_h*img_r); + } + } + if(img_w < img_h || img_w == img_h){ // Portrait + var queue_img_w = img_w < queue_item_w ? img_w : queue_item_w; + if(img_w < img_h){ + $img.width(queue_img_w).height(queue_img_w/img_r); + } + } + if(img_w == img_h) { + $img.height(queue_img_h).width(queue_img_w); + } + + $img.css({marginTop: - $img.height()/2, marginLeft: - $img.width()/2}).show(); + + } + + // Last one + if(j == files.length) { + + if(typeof failed_before !== "undefined") { + failed_files = failed_files.concat(failed_before); + } + + if(failed_files.length > 0) { + var failed_message = ""; + for(var i = 0; i < failed_files.length; i++){ + failed_message += "
  • " + failed_files[i].name + "
  • "; + delete CHV.fn.uploader.files[failed_files[i].id]; + $("li[data-id="+ failed_files[i].id +"]", CHV.fn.uploader.selectors.queue).find("[data-action=cancel]").click() + } + PF.fn.modal.simple({title: PF.fn._s("Some files couldn't be added"), message: '
      '+failed_message+'
    '}); + } else { + CHV.fn.uploader.focus(); + } + + CHV.fn.uploader.boxSizer(); + } + + }, $.extend({}, default_options, {orientation: data.exif ? data.exif.get("Orientation") : 1})); + + }); + + }); + + }, + + queueSize: function() { + $("[data-text=queue-objects]", this.selectors.root).text(PF.fn._n("image", "images", Object.size(this.files))); + $("[data-text=queue-size]", this.selectors.root).text(Object.size(this.files)); + }, + + queueProgress: function(e) { + var total_queue_items_done = $("> .completed, > .failed", this.selectors.queue).length, + total_queue_items = $(this.selectors.queue).children().length, + total_queueProgress = parseInt(100 * (parseFloat(total_queue_items_done/total_queue_items) + parseFloat((e.loaded / e.total)/total_queue_items))); + + $("[data-text=queue-progress]", this.selectors.root).text(total_queueProgress); + }, + + upload: function($queue_item) { + + var id = $queue_item.data("id"), + f = this.files[id], + queue_is_url = typeof f.url !== "undefined"; + + var source = queue_is_url ? f.url : f; + var hasForm = typeof f.formValues !== typeof undefined; + + if(typeof f == "undefined") { + if($queue_item.next().exists()) { + this.upload($queue_item.next()); + } + return; + } + + $(this.selectors.close_cancel, this.selectors.root).hide().each(function() { + if($(this).data("action") == "cancel-upload") $(this).show(); + }); + + this.is_uploading = true; + + // Client side resizing + if(!queue_is_url && f.parsedMeta.mimetype !== "image/gif" && typeof f.formValues !== typeof undefined && f.formValues.width !== f.parsedMeta.width) { + isBlob = true; + var canvas = $("")[0]; + canvas.width = f.formValues.width; + canvas.height = f.formValues.height; + var ctx = canvas.getContext("2d"); + ctx.drawImage(f.parsedMeta.canvas, 0, 0, canvas.width, canvas.height); + source = PF.fn.dataURItoBlob(canvas.toDataURL(f.parsedMeta.mimetype)); + }; + + // HTML5 form + var form = new FormData(); + var formData = { + //source: source, + type: queue_is_url ? "url" : "file", + action: "upload", + privacy: $("[data-privacy]", this.selectors.root).first().data("privacy"), + timestamp: this.timestamp, + auth_token: PF.obj.config.auth_token, + category_id: $("[name=upload-category-id]", this.selectors.root).val() || null, + nsfw: $("[name=upload-nsfw]", this.selectors.root).prop("checked") ? 1 : 0 + }; + if(queue_is_url) { + formData.source = source; + } + if(hasForm) { // Merge with each queue item form data + $.each(f.formValues, function(i,v) { + formData[i.replace(/image_/g, "")] = v; + }); + }; + $.each(formData, function(i,v) { + form.append(i, v); + }); + if(typeof formData.source == typeof undefined) { + form.append("source", source, f.name); + } + + this.files[id].xhr = new XMLHttpRequest(); + + $queue_item.removeClass("waiting"); + + if(!queue_is_url) { + this.files[id].xhr.upload.onprogress = function(e) { + + if(e.lengthComputable) { + + CHV.fn.uploader.queueProgress(e); + + percentComplete = parseInt((e.loaded / e.total) * 100); + + $(CHV.fn.uploader.selectors.item_progress_percent, $queue_item).text(percentComplete); + $(CHV.fn.uploader.selectors.item_progress_bar, $queue_item).width(100 - percentComplete + "%"); + + if(percentComplete == 100) { + $(CHV.fn.uploader.selectors.item_progress_percent, $queue_item).text(""); + CHV.fn.uploader.itemLoading($queue_item); + } + } + + } + } else { + this.queueSize(); + this.queueProgress({loaded: 1, total: 1}); + this.itemLoading($queue_item); + } + + this.files[id].xhr.onreadystatechange = function(){ + + var is_error = false; + + if(this.readyState == 4 && typeof CHV.fn.uploader.files[id].xhr !== "undefined" && CHV.fn.uploader.files[id].xhr.status !== 0) { + + $(".loading-indicator", $queue_item).remove(); + $queue_item.removeClass("waiting uploading"); + + try { + // Parse the json response + var JSONresponse = this.responseType !== "json" ? JSON.parse(this.response) : this.response; + + if(typeof JSONresponse !== "undefined" && this.status == 200) { + $("[data-group=image-link]", $queue_item).attr("href", JSONresponse.image.url_viewer); + } else { + if(JSONresponse.error.context == "PDOException") { + JSONresponse.error.message = "Database error"; + } + JSONresponse.error.message = CHV.fn.uploader.files[id].name.truncate_middle() + " - " + JSONresponse.error.message; + } + + // Save the server responses + CHV.fn.uploader.results[this.status == 200 ? "success" : "error"].push(JSONresponse); + + if(this.status !== 200) is_error = true; + + } catch(err) { + + is_error = true; + + var err_handle; + + if(typeof JSONresponse == "undefined") { + // Server epic error + err_handle = { + status: 500, + statusText: "Internal server error" + } + } else { + err_handle = { + status: 400, + statusText: JSONresponse.error.message + } + } + + JSONresponse = { + status_code: err_handle.status, + error: { + message: CHV.fn.uploader.files[id].name.truncate_middle() + " - Server error (" + err_handle.statusText + ")", + code: err_handle.status, + context: "XMLHttpRequest" + }, + status_txt: err_handle.statusText + }; + + CHV.fn.uploader.results.error.push(JSONresponse); + console.log("server error", JSONresponse); + + } + + $queue_item.addClass(!is_error ? "completed" : "failed"); + + if(typeof JSONresponse.error !== "undefined" && typeof JSONresponse.error.message !== "undefined") { + $queue_item.attr("rel", "tooltip").data("tiptip", "top").attr("title", JSONresponse.error.message); + PF.fn.bindtipTip($queue_item); + } + + if($queue_item.next().exists()) { + CHV.fn.uploader.upload($queue_item.next()); + $(CHV.fn.uploader.selectors.close_cancel, CHV.fn.uploader.selectors.root).hide().each(function() { + if($(this).data("action") == "cancel-upload-remaining") $(this).show(); + }); + } else { + CHV.fn.uploader.is_uploading = false; + CHV.fn.uploader.displayResults(); + } + $(".done", $queue_item).fadeOut(); + } + + }; + + this.files[id].xhr.open("POST", PF.obj.config.json_api, true); + this.files[id].xhr.setRequestHeader("Accept", "application/json"); + this.files[id].xhr.send(form); + }, + + itemLoading: function($queue_item) { + PF.fn.loading.inline($(".progress", $queue_item), {color: "#FFF", size: "normal", center: true, position: "absolute", shadow: true}); + $("[data-action=cancel], [data-action=edit]", $queue_item).hide(); + }, + + displayResults: function() { + + var group_result = "[data-group=upload-result][data-result=%RESULT%]", + result_types = ["error", "mixed", "success"], + results = {}; + + for(var i=0; i 0) { + var error_files = []; + for(var i = 0; i < this.results.error.length; i++) { + error_files.push(this.results.error[i].error.message); + } + if(Object.size(error_files) > 0) { + $(this.selectors.failed_result).html("
  • " + error_files.join("
  • ") + "
  • "); + } + } else { + $(results.error, this.selectors.root).hide(); + } + + // Append the embed codes + if(this.results.success.length > 0 && $("[data-group=upload-result] textarea", this.selectors.root).exists()) { + CHV.fn.fillEmbedCodes(this.results.success, CHV.fn.uploader.selectors.root, "val"); + } + + if(this.results.success.length > 0 && this.results.error.length > 0) { + $(results.mixed+", "+results.success, this.selectors.root).show(); + } else if(this.results.success.length > 0) { + $(results.success, this.selectors.root).show(); + } else if(this.results.error.length > 0) { + $(results.error, this.selectors.root).show(); + } + + if($(results.success, this.selectors.root).is(":visible")) { + $(results.success, this.selectors.root).find("[data-group=user], [data-group=guest]").hide(); + $(results.success, this.selectors.root).find("[data-group=" + (PF.fn.is_user_logged() ? "user" : "guest") + "]").show(); + if(typeof this.results.success[0].image.album !== "undefined") { + $("[data-text=upload-target]").text(this.results.success[0].image.album.name); + $("[data-link=upload-target]").attr("href", this.results.success[0].image.album.url); + } + } + + this.boxSizer(); + this.queue_status = "done"; + + } + +}; + +CHV.fn.fillEmbedCodes = function(elements, parent, fn) { + + if(typeof fn == "undefined") { + fn = "val"; + } + + $.each(elements, function(key, value) { + + var image = value.image; + + if(!image.medium) { // Medium doesn't exists + image.medium = {}; + var imageProp = ["filename", "name", "width", "height", "ratio", "bits", "channels", "extension", "filename", "height", "mime", "name", "ratio", "size", "size_formatted", "url", "width"]; + for(var i=0; i 0) { + $.each(CHV.obj.categories, function(i,v){ + if(typeof id !== "undefined" && v.id == id) return true; + if(v.url_key == $("[name=form-category-url_key]", modal).val()) { + used_url_key = true; + return false; + } + }); + } + if(used_url_key) { + PF.fn.growl.call(PF.fn._s("Category URL key already being used.")); + $("[name=form-category-url_key]", modal).highlight(); + return false; + } + + return true; + }, + edit: { + before: function(e) { + var $this = $(e.target), + id = $this.data("category-id"), + category = CHV.obj.categories[id], + modal_source = "[data-modal=" + $this.data("target") + "]"; + $.each(CHV.fn.category.formFields , function(i, v) { + var i = "form-category-" + v, + v = category[v], + $input = $("[name=" + i +"]", modal_source); + if($input.is("textarea")) { + $input.html(PF.fn.htmlEncode(v)); + } else { + $input.attr("value", v); + } + }); + }, + submit: function() { + var modal = PF.obj.modal.selectors.root, + id = $("[name=form-category-id]", modal).val(); + + if(!CHV.fn.category.validateForm(id)) { + return false; + } + + PF.obj.modal.form_data = { + action: "edit", + edit: "category", + editing: {} + }; + $.each(CHV.fn.category.formFields, function(i,v) { + PF.obj.modal.form_data.editing[v] = $("[name=form-category-"+v+"]", modal).val(); + }); + + return true; + }, + complete: { + success: function(XHR) { + var category = XHR.responseJSON.category, + parent = "[data-content=category][data-category-id=" + category.id + "]"; + + $.each(category, function(i,v) { + $("[data-content=category-" + i + "]", parent).html(PF.fn.htmlEncode(v)); + }); + + $("[data-link=category-url]").attr("href", category.url); + + CHV.obj.categories[category.id] = category; + + } + } + }, + delete: { + before: function(e) { + var $this = $(e.target), + id = $this.data("category-id"), + category = CHV.obj.categories[id]; + $this.attr("data-confirm", $this.attr("data-confirm").replace("%s", '"' + category.name + '"')); + }, + submit: function(id) { + PF.obj.modal.form_data = { + action: "delete", + delete: "category", + deleting: { + id: id + } + }; + return true; + }, + complete: { + success: function(XHR) { + PF.fn.growl.expirable(PF.fn._s("Category successfully deleted.")); + var id = XHR.responseJSON.request.deleting.id; + $("[data-content=category][data-category-id=" + id + "]").remove(); + + delete CHV.obj.categories[id]; + } + } + }, + add: { + submit: function() { + + var modal = PF.obj.modal.selectors.root; + + if(!CHV.fn.category.validateForm()) { + return false; + } + + PF.obj.modal.form_data = { + action: "add-category", + category: {} + }; + $.each(CHV.fn.category.formFields, function(i,v) { + if(v=="id") return; + PF.obj.modal.form_data.category[v] = $("[name=form-category-"+v+"]", modal).val(); + }); + + return true; + }, + complete: { + success: function(XHR) { + var category = XHR.responseJSON.category, + list = "[data-content=dashboard-categories-list]", + html = $("[data-content=category-dashboard-template]").html(), + replaces = {}; + + $.each(category, function(i,v) { + html = html.replace(new RegExp("%" + i.toUpperCase() + "%", "g"), v ? v : ""); + }); + + $(list).append(html); + + if(Object.size(CHV.obj.categories) == 0) { + CHV.obj.categories = {}; + } + CHV.obj.categories[category.id] = category; + + PF.fn.growl.call(PF.fn._s("Category %s added.", '"'+ category.name + '"')); + } + } + } +}; + +// IP ban edit +CHV.fn.ip_ban = { + formFields: ["id", "ip", "expires", "message"], + validateForm: function(id) { + + var modal = PF.obj.modal.selectors.root, + submit = true, + already_banned = false, + ip = $("[name=form-ip_ban-ip]", modal).val(); + + if(!CHV.fn.common.validateForm(modal)) { + return false; + } + + if($("[name=form-ip_ban-expires]", modal).val() !== "" && /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test($("[name=form-ip_ban-expires]", modal).val()) == false) { + PF.fn.growl.call(PF.fn._s("Invalid expiration date.")); + $("[name=form-ip_ban-expires]", modal).highlight(); + return false; + } + + if(Object.size(CHV.obj.ip_bans) > 0) { + $.each(CHV.obj.ip_bans, function(i,v){ + if(typeof id !== "undefined" && v.id == id) return true; + if(v.ip == ip) { + already_banned = true; + return false; + } + }); + } + if(already_banned) { + PF.fn.growl.call(PF.fn._s("IP %s already banned.", ip)); + $("[name=form-ip_ban-ip]", modal).highlight(); + return false; + } + + return true; + }, + + add: { + submit: function() { + + var modal = PF.obj.modal.selectors.root; + + if(!CHV.fn.ip_ban.validateForm()) { + return false; + } + + PF.obj.modal.form_data = { + action: "add-ip_ban", + ip_ban: {} + }; + $.each(CHV.fn.ip_ban.formFields, function(i,v) { + if(v=="id") return; + PF.obj.modal.form_data.ip_ban[v] = $("[name=form-ip_ban-"+v+"]", modal).val(); + }); + + return true; + }, + complete: { + success: function(XHR) { + + var ip_ban = XHR.responseJSON.ip_ban, + list = "[data-content=dashboard-ip_bans-list]", + html = $("[data-content=ip_ban-dashboard-template]").html(), + replaces = {}; + + if(typeof html !== "undefined") { + $.each(ip_ban, function(i,v) { + html = html.replace(new RegExp("%" + i.toUpperCase() + "%", "g"), v ? v : ""); + }); + $(list).append(html); + } + + if(Object.size(CHV.obj.ip_bans) == 0) { + CHV.obj.ip_bans = {}; + } + CHV.obj.ip_bans[ip_ban.id] = ip_ban; + + $("[data-content=ban_uploader_ip]").hide(); + $("[data-content=banned_uploader_ip]").show(); + + PF.fn.growl.call(PF.fn._s("IP %s banned.", ip_ban.ip)); + + }, + error: function(XHR) { // experimental + var error = XHR.responseJSON.error; + PF.fn.growl.call(PF.fn._s(error.message)); + } + } + }, + + edit: { + before: function(e) { + var $this = $(e.target), + id = $this.data("ip_ban-id"), + target = CHV.obj.ip_bans[id], + modal_source = "[data-modal=" + $this.data("target") + "]"; + $.each(CHV.fn.ip_ban.formFields , function(i, v) { + var i = "form-ip_ban-" + v, + v = target[v], + $input = $("[name=" + i +"]", modal_source); + if($input.is("textarea")) { + $input.html(PF.fn.htmlEncode(v)); + } else { + $input.attr("value", v); + } + }); + }, + submit: function() { + var modal = PF.obj.modal.selectors.root, + id = $("[name=form-ip_ban-id]", modal).val(); + + if(!CHV.fn.ip_ban.validateForm(id)) { + return false; + } + + PF.obj.modal.form_data = { + action: "edit", + edit: "ip_ban", + editing: {} + }; + $.each(CHV.fn.ip_ban.formFields, function(i,v) { + PF.obj.modal.form_data.editing[v] = $("[name=form-ip_ban-"+v+"]", modal).val(); + }); + + return true; + }, + complete: { + success: function(XHR) { + var ip_ban = XHR.responseJSON.ip_ban, + parent = "[data-content=ip_ban][data-ip_ban-id=" + ip_ban.id + "]"; + + $.each(ip_ban, function(i,v) { + $("[data-content=ip_ban-" + i + "]", parent).html(PF.fn.htmlEncode(v)); + }); + + CHV.obj.ip_bans[ip_ban.id] = ip_ban; + + } + } + }, + + delete: { + before: function(e) { + var $this = $(e.target), + id = $this.data("ip_ban-id"), + ip_ban = CHV.obj.ip_bans[id]; + $this.attr("data-confirm", $this.attr("data-confirm").replace("%s", ip_ban.ip)); + }, + submit: function(id) { + PF.obj.modal.form_data = { + action: "delete", + delete: "ip_ban", + deleting: { + id: id + } + }; + return true; + }, + complete: { + success: function(XHR) { + PF.fn.growl.expirable(PF.fn._s("IP ban successfully deleted.")); + var id = XHR.responseJSON.request.deleting.id; + $("[data-content=ip_ban][data-ip_ban-id=" + id + "]").remove(); + + delete CHV.obj.ip_bans[id]; + } + } + } +}; + +// Storage edit +CHV.fn.storage = { + formFields: ["id", "name", "api_id", "bucket", "server", "capacity", "region", "key", "secret", "url", "account_id", "account_name"], + calling: false, + validateForm: function() { + + var modal = PF.obj.modal.selectors.root, + id = $("[name=form-storage-id]", modal).val(), + submit = true; + + $.each($(":input", modal), function(i,v) { + if($(this).is(":hidden")) { + if($(this).attr("required")) { + $(this).removeAttr("required").attr("data-required", 1); + } + } else { + if($(this).attr("data-required") == 1) { + $(this).attr("required", "required"); + } + } + if($(this).is(":visible") && $(this).val() == "" && $(this).attr("required")) { + $(this).highlight(); + submit = false; + } + }); + + if(!submit) { + PF.fn.growl.call(PF.fn._s("Please fill all the required fields.")); + return false; + } + + // Validate storage capacity + var $storage_capacity = $("[name=form-storage-capacity]", modal), + storage_capacity = $storage_capacity.val(), + capacity_error_msg; + + if(storage_capacity !== "") { + if(/^[\d\.]+\s*[A-Za-z]{2}$/.test(storage_capacity) == false || typeof storage_capacity.getBytes() == "undefined") { + capacity_error_msg = PF.fn._s("Invalid storage capacity value. Make sure to use a valid format."); + } else if(typeof CHV.obj.storages[id] !== "undefined" && storage_capacity.getBytes() < CHV.obj.storages[id].space_used) { + capacity_error_msg = PF.fn._s("Storage capacity can't be lower than its current usage (%s).", CHV.obj.storages[id].space_used.formatBytes()); + } + if(capacity_error_msg) { + PF.fn.growl.call(capacity_error_msg); + $storage_capacity.highlight(); + return false; + } + } + + if(/^https?:\/\/.+$/.test($("[name=form-storage-url]", modal).val()) == false) { + PF.fn.growl.call(PF.fn._s("Invalid URL.")); + $("[name=form-storage-url]", modal).highlight(); + return false; + } + return true; + }, + toggleHttps: function(id) { + this.toggleBool(id, "https"); + }, + toggleActive: function(id) { + this.toggleBool(id, "active"); + }, + toggleBool: function(id, string) { + + if(this.calling) return; + + this.calling = true; + + var $root = $("[data-storage-id="+id+"]"), + $parent = $("[data-content=storage-" + string + "]", $root), + $el = $("[data-checkbox]", $parent), + checked = CHV.obj.storages[id]["is_" + string], + toggle = checked == 0 ? 1 : 0, + data = { + action: "edit", + edit: "storage", + editing: { + id: id + } + }; + data.editing["is_" + string] = toggle; + if(string == "https") { + data.editing.url = CHV.obj.storages[id].url; + } + + PF.fn.loading.fullscreen(); + + $.ajax({data: data}) + .always(function(data, status, XHR) { + + CHV.fn.storage.calling = false; + PF.fn.loading.destroy("fullscreen"); + + if(typeof data.storage == "undefined") { + PF.fn.growl.call(data.responseJSON.error.message); + return; + } + + var storage = data.storage; + CHV.obj.storages[storage.id] = storage; + + PF.fn.growl.expirable(PF.fn._s("Storage successfully edited.")); + + switch(string) { + case "https": + $("[data-content=storage-url]", $root).html(storage.url); + break; + } + + CHV.fn.storage.toggleBoolDisplay($el, toggle); + + CHV.fn.queuePixel(); // For the lulz + }); + }, + edit: { + before: function(e) { + var $this = $(e.target), + id = $this.data("storage-id"), + storage = CHV.obj.storages[id], + modal_source = "[data-modal=" + $this.data("target") + "]", + combo = "[data-combo-value~=" + storage['api_id'] + "]"; + + $.each(CHV.fn.storage.formFields, function(i, v) { + var i = "form-storage-" + v, + v = storage[v], + $combo_input = $(combo + " [name=" + i +"]", modal_source), + $global_input = $("[name=" + i +"]", modal_source), + $input = $combo_input.exists() ? $combo_input : $global_input; + if($input.is("textarea")) { + $input.html(PF.fn.htmlEncode(v)); + } else if($input.is("select")) { + $("option", $input).removeAttr("selected"); + $("option", $input).each(function() { + if($(this).attr("value") == v) { + $(this).attr("selected", "selected"); + return false; + } + }); + } else { + if($input.is("[name=form-storage-capacity]") && typeof v !== "undefined" && v > 0) { + v = v.formatBytes(2); + } + $input.attr("value", v); + } + }); + + // Co-combo breaker + $("[data-combo-value]").addClass("soft-hidden"); + $(combo).removeClass("soft-hidden"); + + }, + submit: function() { + var modal = PF.obj.modal.selectors.root, + id = $("[name=form-storage-id]", modal).val(), + used_url_key = false; + + if(!CHV.fn.storage.validateForm()) { + return false; + } + + PF.obj.modal.form_data = { + action: "edit", + edit: "storage", + editing: {} + }; + $.each(CHV.fn.storage.formFields, function(i,v) { + var sel; + sel = "[name=form-storage-"+v+"]"; + if($(sel, modal).attr("type") !== "hidden") { + sel += ":visible" + } + PF.obj.modal.form_data.editing[v] = $(sel, modal).val(); + }); + + return true; + + }, + complete: { + success: function(XHR) { + var storage = XHR.responseJSON.storage, + parent = "[data-content=storage][data-storage-id=" + storage.id + "]", + $el = $("[data-action=toggle-storage-https]", parent); + $.each(storage, function(i,v) { + $("[data-content=storage-" + i + "]", parent).html(PF.fn.htmlEncode(v)); + }); + CHV.obj.storages[storage.id] = storage; + CHV.fn.storage.toggleBoolDisplay($el, storage['is_https'] == 1); + CHV.fn.queuePixel(); // For the lulz + }, + error: function(XHR) { + var response = XHR.responseJSON, + message = response.error.message; + PF.fn.growl.call(message); + } + } + }, + add: { + submit: function() { + if(!CHV.fn.storage.validateForm()) { + return false; + } + var modal = PF.obj.modal.selectors.root; + + PF.obj.modal.form_data = { + action: "add-storage", + storage: {} + }; + $.each(CHV.fn.storage.formFields, function(i,v) { + if(v=="id") return; + var sel; + sel = "[name=form-storage-"+v+"]"; + if($(sel, modal).attr("type") !== "hidden") { + sel += ":visible" + } + PF.obj.modal.form_data.storage[v] = $(sel, modal).val(); + }); + + return true; + }, + complete: { + success: function(XHR) { + var storage = XHR.responseJSON.storage, + list = "[data-content=dashboard-storages-list]", + html = $("[data-content=storage-dashboard-template]").html(), + replaces = {}; + + $.each(storage, function(i,v) { + var upper = i.toUpperCase(); + if(i == "is_https" || i == "is_active") { + var v = CHV.obj.storageTemplate.icon.replace("%TITLE%", CHV.obj.storageTemplate.messages[i]).replace("%ICON%", CHV.obj.storageTemplate.checkboxes[v]).replace("%PROP%", i.replace("is_", "")); + } + html = html.replace(new RegExp("%" + upper + "%", "g"), v ? v : ""); + }); + + $(list).append(html); + + PF.fn.bindtipTip($("[data-storage-id="+storage.id+"]")); + + if(CHV.obj.storages.length == 0) { + CHV.obj.storages = {}; + } + CHV.obj.storages[storage.id] = storage; + + CHV.fn.queuePixel(); // For the lulz + + }, + error: function(XHR) { + var response = XHR.responseJSON, + message = response.error.message; + PF.fn.growl.call(message); + } + } + }, + toggleBoolDisplay: function($el, toggle) { + var icons = { + 0: $el.data("unchecked-icon"), + 1: $el.data("checked-icon") + }; + $el.removeClass(icons[0] + " " + icons[1]).addClass(icons[toggle ? 1 : 0]); + } +}; + +CHV.fn.common = { + validateForm: function(modal) { + if(typeof modal == "undefined") { + var modal = PF.obj.modal.selectors.root + } + + var submit = true; + + $.each($(":input:visible", modal), function(i,v) { + if($(this).val() == "" && $(this).attr("required")) { + $(this).highlight(); + submit = false; + } + }); + if(!submit) { + PF.fn.growl.call(PF.fn._s("Please fill all the required fields.")); + return false; + } + + return true; + }, + updateDoctitle: function(pre_doctitle) { + if(typeof CHV.obj.page_info !== typeof undefined) { + CHV.obj.page_info.pre_doctitle = pre_doctitle; + CHV.obj.page_info.doctitle = CHV.obj.page_info.pre_doctitle + CHV.obj.page_info.pos_doctitle; + document.title = CHV.obj.page_info.doctitle; + } + } +}; + +CHV.fn.user = { + add: { + submit: function() { + var $modal = $(PF.obj.modal.selectors.root), + submit = true; + + $.each($(":input", $modal), function(i,v) { + if($(this).val() == "" && $(this).attr("required")) { + $(this).highlight(); + submit = false; + } + }); + + if(!submit) { + PF.fn.growl.call(PF.fn._s("Please fill all the required fields.")); + return false; + } + + PF.obj.modal.form_data = { + action: "add-user", + user: { + username: $("[name=form-username]", $modal).val(), + email: $("[name=form-email]", $modal).val(), + password: $("[name=form-password]", $modal).val(), + role: $("[name=form-role]", $modal).val() + } + }; + + return true; + }, + complete: { + success: function(XHR) { + var response = XHR.responseJSON; + PF.fn.growl.expirable(PF.fn._s("User added successfully.")); + }, + error: function(XHR) { + var response = XHR.responseJSON; + PF.fn.growl.call(PF.fn._s(response.error.message)); + } + } + }, + delete: { + submit: function() { + PF.obj.modal.form_data = { + action: "delete", + delete: "user", + owner: CHV.obj.resource.user.id, + deleting: CHV.obj.resource.user + }; + return true; + } + } +}; + +// Resource delete +CHV.fn.submit_resource_delete = function() { + PF.obj.modal.form_data = { + action: "delete", + delete: CHV.obj.resource.type, + from: "resource", + owner: typeof CHV.obj.resource.user !== "undefined" ? CHV.obj.resource.user.id : null, + deleting: CHV.obj.resource + }; + return true; +}; +CHV.fn.complete_resource_delete = { + success: function(XHR) { + var response = XHR.responseJSON; + $("body").fadeOut("normal", function() { + var redir; + if(CHV.obj.resource.type == "album" || CHV.obj.resource.type == "image") { + redir = CHV.obj.resource.parent_url; + } else { + redir = CHV.obj.resource.user ? CHV.obj.resource.user.url : CHV.obj.resource.url; + } + if(typeof redir !== "undefined") { + window.location = redir + "?deleted"; + } + }); + } +}; + +CHV.fn.list_editor = { + + // Update all the selection counts + selectionCount: function() { + + var $content_listing = $(PF.obj.listing.selectors.content_listing); + + $content_listing.each(function() { + + var $listing_options = $("[data-content=pop-selection]", "[data-content=list-selection][data-tab=" + $(this).attr("id") + "]"), + selection_count = $(PF.obj.listing.selectors.list_item+".selected", this).length; + all_count = $(PF.obj.listing.selectors.list_item, this).length; + + $listing_options[selection_count > 0 ? "removeClass" : "addClass"]("disabled"); + $("[data-text=selection-count]", $listing_options).text(selection_count > 0 ? selection_count : ""); + + // Sensitive display + if($content_listing.data('list') == 'images' && selection_count > 0) { + var has_sfw = $(PF.obj.listing.selectors.list_item+".selected[data-flag=safe]", this).length > 0, + has_nsfw = $(PF.obj.listing.selectors.list_item+".selected[data-flag=unsafe]", this).length > 0; + $("[data-action=flag-safe]", $listing_options)[(has_nsfw ? "remove" : "add") + "Class"]("hidden"); + $("[data-action=flag-unsafe]", $listing_options)[(has_sfw ? "remove" : "add") + "Class"]("hidden"); + } + + if($(this).is(":visible")) { + CHV.fn.list_editor.listMassActionSet(all_count == selection_count ? "clear" : "select"); + } + }); + + }, + + // Remove (delete or move) items from list + removeFromList: function($target, msg) { + + if(typeof $target == "undefined") return; + + var $target = $target instanceof jQuery == false ? $($target) : $target, + $content_listing = $(PF.obj.listing.selectors.content_listing_visible), + target_size = $target.length; + + $target.fadeOut("fast"); // Promise + + // Update counts + var type = $target.first().data("type"), + new_count = parseInt($("[data-text="+type+"-count]").text()) - target_size; + + CHV.fn.list_editor.updateUserCounters($target.first().data("type"), target_size, "-"); + + $target.promise().done(function() { + + // Get count related to each list + var affected_content_lists = {}; + $target.each(function() { + $("[data-id="+$(this).data("id")+"]").each(function(){ + var list_id = $(this).closest(PF.obj.listing.selectors.content_listing).attr("id"); + + if(!affected_content_lists[list_id]) { + affected_content_lists[list_id] = 0; + } + + affected_content_lists[list_id] += 1; + }); + }); + + if(target_size == 1) { + $("[data-id="+$(this).data("id")+"]").remove(); + } else { + $target.each(function(){ + $("[data-id="+$(this).data("id")+"]").remove(); + }); + } + + PF.fn.listing.columnizerQueue(); + PF.fn.listing.refresh(); + + CHV.fn.list_editor.selectionCount(); + + if(typeof msg !== "undefined" && typeof msg == "string") { + PF.fn.growl.expirable(msg); + } + + // Update offset list (+stock) + for(var k in affected_content_lists) { + var $list = $("#"+k), + stock_offset = $list.data("offset"), + offset = - affected_content_lists[k];; + + stock_offset = (typeof stock_offset == "undefined") ? 0 : parseInt(stock_offset); + + $list.data("offset", stock_offset + offset); + } + + if(!$(PF.obj.listing.selectors.content_listing_pagination, $content_listing).exists() && $(".list-item", $content_listing).length == 0) { + new_count = 0; + } + + // On zero add the empty template + if(new_count == 0) { + $content_listing.html(PF.obj.listing.template.empty); + // Reset ajaxed status of all + $(PF.obj.listing.selectors.content_listing+":not("+PF.obj.listing.selectors.content_listing_visible+")").data({empty: null, load: "ajax"}); + $("[data-content=list-selection][data-tab="+$content_listing.attr("id")+"]").addClass("disabled"); + } else { + // Count isn't zero.. But the view? + if($(PF.obj.listing.selectors.list_item, $content_listing).length == 0) { + $(PF.obj.listing.selectors.pad_content).height(0); + $content_listing.find("[data-action=load-more]").click(); + PF.obj.listing.recolumnize = true; + } + + } + + }); + }, + + deleteFromList: function($target) { + if(typeof growl == "undefined") { + var growl = true; + } + var $target = $target instanceof jQuery == false ? $($target) : $target; + this.removeFromList($target, growl ? PF.fn._s("The content has been deleted.") : null); + }, + + moveFromList: function($target, growl) { + if(typeof growl == "undefined") { + var growl = true; + } + var $target = $target instanceof jQuery == false ? $($target) : $target; + this.removeFromList($target, growl ? PF.fn._s("The content has been moved.") : null); + }, + + toggleSelectItem: function($list_item, select) { + if(typeof select !== "boolean") { + var select = true; + } + var $icon = $("[data-action=select] .btn-icon", $list_item), + add_class, remove_class, label_text; + + if(!select){ + $list_item.removeClass("selected").find(".list-item-image-tools").css("display", "none"); + add_class = $icon.data("icon-unselected"); + remove_class = $icon.data("icon-selected"); + label_text = PF.fn._s("Select"); + setTimeout(function() { // Nifty hack to prevent flicker + $list_item.find(".list-item-image-tools").css("display", ""); + }, 0); + } else { + $list_item.addClass("selected"); + add_class = $icon.data("icon-selected"); + remove_class = $icon.data("icon-unselected"); + label_text = PF.fn._s("Unselect"); + } + + $("[data-action=select] .label", $list_item).text(label_text); + $icon.removeClass(remove_class).addClass(add_class); + + CHV.fn.list_editor.selectionCount(); + }, + selectItem: function($list_item) { + this.toggleSelectItem($list_item, true); + }, + unselectItem: function($list_item) { + this.toggleSelectItem($list_item, false); + }, + + clearSelection: function(all) { + var $targets = $(PF.obj.listing.selectors.list_item+".selected", PF.obj.listing.selectors[all ? "content_listing" : "content_listing_visible"]); + this.unselectItem($targets); + this.listMassActionSet("select"); + }, + + listMassActionSet: function(action) { + var current = action == "select" ? "clear" : "select"; + var $target = $("[data-action=list-" + current + "-all]:visible"); + var text = $target.data("text-" + action + "-all"); + $target.text(text).attr("data-action", "list-" + action + "-all"); + }, + + updateItem: function($target, response, action, growl) { + if($target instanceof jQuery == false) { + var $target = $($target); + } + + var dealing_with = $target.data("type"), + album = dealing_with == "image" ? response.album : response; + + this.addAlbumtoModals(album); + + $("option[value="+album.id_encoded+"]","[name=form-album-id]").html(PF.fn.htmlEncode(album.name)); + + if(typeof action == "undefined") { + var action = "edit"; + } + + if(action == "edit" || action == "move") { + if(action == "move" && CHV.obj.resource.type == "album") { + CHV.fn.list_editor.moveFromList($target, growl); + return + } + $target.data("description", response.description); + + if(dealing_with == "image") { + if(typeof response.title !== typeof undefined) { + $target.data("title", response.title); + $target.find("[title]").attr("title", response.title); + $("[data-text=image-title]", $target).html(PF.fn.htmlEncode(response.title)); + } + if(typeof response.title_truncated !== typeof undefined) { + $("[data-text=image-title-truncated]", $target).html(PF.fn.htmlEncode(response.title_truncated)); + } + if(typeof response.category_id !== typeof undefined) { + $target.data("category-id", response.category_id); + } + $target.data({"album-id": album.id_encoded, flag: response.nsfw == 1 ? "unsafe" : "safe"}).removeClass("safe unsafe").addClass(response.nsfw == 1 ? "unsafe" : "safe"); + $("[data-content=album-link]", $target).attr("href", album.url); + } else { + $target.data("privacy", album.privacy); + $target.data("name", album.name); + } + $target.removeClass("privacy-public privacy-private").addClass("privacy-" + album.privacy); + $("[data-text=album-name]", $target).html(PF.fn.htmlEncode(album.name)); + + PF.fn.growl.expirable(action == "edit" ? PF.fn._s("The content has been edited.") : PF.fn._s("The content has been moved.")); + } + }, + + addAlbumtoModals: function(album) { + var added = false; + $("[name=form-album-id]", "[data-modal]").each(function(){ + if(album.id_encoded && !$("option[value=" + album.id_encoded + "]", this).exists()) { + $(this).append(''); + added = true; + } + }); + if(added) { + CHV.fn.list_editor.updateUserCounters("album", 1, "+"); + } + }, + + updateAlbum: function(album) { + $("[data-id="+album.id_encoded+"]").each(function() { + if(album.html !== "") { + $(this).after(album.html); + $(this).remove(); + } + }); + }, + + updateUserCounters: function(counter, number, operation) { + + if(typeof operation == "undefined") { + var operation = "+"; + } + + // Current resource counter + var $count = $("[data-text="+counter+"-count]"), + $count_label = $("[data-text="+counter+"-label]"), + number = parseInt(number), + old_count = parseInt($count.html()), + new_count, + delta; + + switch(operation) { + case "+": + new_count = old_count + number; + break; + case "-": + new_count = old_count - number; + break; + case "=": + new_count = number; + break; + } + + delta = new_count - old_count; + + // Total counter + var $total_count = $("[data-text=total-"+$count.data("text")+"]"), + $total_count_label = $("[data-text="+$total_count.data("text")+"-label]"), + old_total_count = parseInt($total_count.html()), + new_total_count = old_total_count + delta; + + $count.text(new_count); + $total_count.text(new_total_count); + $count_label.text($count_label.data(new_count == 1 ? "label-single" : "label-plural")); + $total_count_label.text($count_label.data(new_total_count == 1 ? "label-single" : "label-plural")); + + }, + + updateMoveItemLists: function(response, dealing_with, $targets) { + + CHV.fn.list_editor.clearSelection(); + + if(/image/.test(dealing_with)) { + + /*if( (response.request.editing && response.request.editing.new_album == "true") || (response.request.album && response.request.album.new == "true")) { + //CHV.fn.list_editor.updateUserCounters("album", 1); + }*/ + + if(dealing_with == "image") { // single + CHV.fn.list_editor.updateItem("[data-id="+$targets.data("id")+"]", response.image, "move"); + } else { + $targets.each(function() { + CHV.fn.list_editor.updateItem("[data-id="+$(this).data("id")+"]", response, "move", false); + }); + PF.fn.growl.expirable(PF.fn._s("The content has been moved.")); + } + + } else { + + // /album? + if(CHV.obj.resource.type == "album") { + CHV.fn.list_editor.moveFromList($targets); + } else { + PF.fn.growl.expirable(PF.fn._s("The content has been moved.")); + } + + if(typeof response.albums_old !== "undefined") { + for(var i=0; i'; + $("body").append(img); +} \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..3c6a2f2 Binary files /dev/null and b/favicon.ico differ diff --git a/googlec03066224d0b0ecd.html b/googlec03066224d0b0ecd.html new file mode 100644 index 0000000..ddd96a7 --- /dev/null +++ b/googlec03066224d0b0ecd.html @@ -0,0 +1 @@ +google-site-verification: googlec03066224d0b0ecd.html \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..19b84d1 --- /dev/null +++ b/index.php @@ -0,0 +1,74 @@ + + + + + + + + + + Icarus Imeji Uploader v1.2a + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    I.C.A.R.U.S. Imeji Uploader

    +

    By Yandols ZeonX
    Accepted filetypes: JPG, JPEG, PNG, GIF.
    Max filesize: 6MB

    +
    +
    +
    +
    + + +

    + + +
    + +
    +
    + + + + + + + \ No newline at end of file diff --git a/password_protect.php b/password_protect.php new file mode 100644 index 0000000..e71210a --- /dev/null +++ b/password_protect.php @@ -0,0 +1,176 @@ +Logout +# +############################################################### + +/* +------------------------------------------------------------------- +SAMPLE if you only want to request login and password on login form. +Each row represents different user. + +$LOGIN_INFORMATION = array( + 'zubrag' => 'root', + 'test' => 'testpass', + 'admin' => 'passwd' +); + +-------------------------------------------------------------------- +SAMPLE if you only want to request only password on login form. +Note: only passwords are listed + +$LOGIN_INFORMATION = array( + 'root', + 'testpass', + 'passwd' +); + +-------------------------------------------------------------------- +*/ + +################################################################## +# SETTINGS START +################################################################## + +// Add login/password pairs below, like described above +// NOTE: all rows except last must have comma "," at the end of line +$LOGIN_INFORMATION = array( + 'zubrag' => 'root', + 'admin' => 'adminpass' +); + +// request login? true - show login and password boxes, false - password box only +define('USE_USERNAME', true); + +// User will be redirected to this page after logout +define('LOGOUT_URL', 'http://www.example.com/'); + +// time out after NN minutes of inactivity. Set to 0 to not timeout +define('TIMEOUT_MINUTES', 0); + +// This parameter is only useful when TIMEOUT_MINUTES is not zero +// true - timeout time from last activity, false - timeout time from login +define('TIMEOUT_CHECK_ACTIVITY', true); + +################################################################## +# SETTINGS END +################################################################## + + +/////////////////////////////////////////////////////// +// do not change code below +/////////////////////////////////////////////////////// + +// show usage example +if(isset($_GET['help'])) { + die('Include following code into every page you would like to protect, at the very beginning (first line):
    <?php include("' . str_replace('\\','\\\\',__FILE__) . '"); ?>'); +} + +// timeout in seconds +$timeout = (TIMEOUT_MINUTES == 0 ? 0 : time() + TIMEOUT_MINUTES * 60); + +// logout? +if(isset($_GET['logout'])) { + setcookie("verify", '', $timeout, '/'); // clear password; + header('Location: ' . LOGOUT_URL); + exit(); +} + +if(!function_exists('showLoginPasswordProtect')) { + +// show login form +function showLoginPasswordProtect($error_msg) { +?> + + + Please enter password to access this page + + + + + +
    +
    +

    Please enter password to access this page

    +
    +
    Password:
    '; ?> +

    + +
    + Powered by Password Protect +
    + + + +$val) { + $lp = (USE_USERNAME ? $key : '') .'%'.$val; + if ($_COOKIE['verify'] == md5($lp)) { + $found = true; + // prolong timeout + if (TIMEOUT_CHECK_ACTIVITY) { + setcookie("verify", md5($lp), $timeout, '/'); + } + break; + } + } + if (!$found) { + showLoginPasswordProtect(""); + } + +} + +?> diff --git a/ptest.php b/ptest.php new file mode 100644 index 0000000..2b3214c --- /dev/null +++ b/ptest.php @@ -0,0 +1,90 @@ + password +$users = array('admin1' => 'discord', 'admin2' => 'access4icarus'); + + +if (empty($_SERVER['PHP_AUTH_DIGEST'])) { + header('HTTP/1.1 401 Unauthorized'); + header('WWW-Authenticate: Digest realm="'.$realm. + '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"'); + + die('401 Unauthorized: Operation Cancelled!'); +} + + +// analyze the PHP_AUTH_DIGEST variable +if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) || + !isset($users[$data['username']])) + die('401 Unauthorized: Invalid Credentials!'); + + +// generate the valid response +$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]); +$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']); +$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2); + +if ($data['response'] != $valid_response) + die('401 Unauthorized: Invalid Credentials!'); + +// ok, valid username & password +echo 'Authenticated as: ' . $data['username']; + + +// function to parse the http auth header +function http_digest_parse($txt) +{ + // protect against missing data + $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1); + $data = array(); + $keys = implode('|', array_keys($needed_parts)); + + preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER); + + foreach ($matches as $m) { + $data[$m[1]] = $m[3] ? $m[3] : $m[4]; + unset($needed_parts[$m[1]]); + } + + return $needed_parts ? false : $data; +} +?> + +Uploaded Files Listing + + 0) + {echo "Error: " . $_FILES["file"]["error"] . "
    ";} + else + {echo "Stored file:".$_FILES["file"]["name"]."
    Size:".($_FILES["file"]["size"]/1024)." kB
    "; + move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]); + } +} + + // open this directory + $myDirectory = opendir("."); + // get each entry + while($entryName = readdir($myDirectory)) {$dirArray[] = $entryName;} closedir($myDirectory); + $indexCount = count($dirArray); + echo "
    $indexCount files
    "; + sort($dirArray); + + echo "
    \n"; + + for($index=0; $index < $indexCount; $index++) + { + if (substr("$dirArray[$index]", 0, 1) != ".") + { + echo " + + + + "; + } + } + echo ""; + ?> \ No newline at end of file diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..f8e5ad9 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,22 @@ +# Standard Declaration Procedures for Imeji System +ErrorDocument 403 /403.php +ErrorDocument 404 /404.php +IndexOptions +FancyIndexing +IndexIgnore *.php *.html *.css *.js + +# HTTPS Redirection +RewriteEngine On +RewriteCond %{HTTPS} off +RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] + +# Force Uploaded Imejis to load via HTTP instead of HTTPS due to backwards compatibility problem on some platforms. +# SHOULD no longer be needed after the switch to LetsEncrypt on 31/07/2016 +#RewriteCond %{HTTPS} on +#ReWriteCond %{REQUEST_URI} \w(\.png|\.jpeg|\.jpg|\.gif)$ +#RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] + +# Hackerbots Prevention +RewriteEngine on +RewriteCond %{HTTP_USER_AGENT} ^ZmEu [OR] +RewriteCond %{HTTP_USER_AGENT} (.*)Msqq(.*) +RewriteRule .* http://www.urbandictionary.com/define.php?term=fuck+you [R=301,L] diff --git a/public/.htaccessbackup b/public/.htaccessbackup new file mode 100644 index 0000000..ab50211 --- /dev/null +++ b/public/.htaccessbackup @@ -0,0 +1,16 @@ +# Standard Declaration Procedures for Imeji System +ErrorDocument 403 /403.php +ErrorDocument 404 /404.php +IndexOptions +FancyIndexing +IndexIgnore *.php *.html *.css *.js + +# Force Uploaded Imejis to load via HTTP instead of HTTPS due to backwards compatibility problem on some platforms. +RewriteCond %{HTTPS} on +ReWriteCond %{REQUEST_URI} \w(\.png|\.jpeg|\.jpg|\.gif)$ +RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] + +# Hackerbots Prevention +RewriteEngine on +RewriteCond %{HTTP_USER_AGENT} ^ZmEu [OR] +RewriteCond %{HTTP_USER_AGENT} (.*)Msqq(.*) +RewriteRule .* http://www.urbandictionary.com/define.php?term=fuck+you [R=301,L] diff --git a/public/403.php b/public/403.php new file mode 100644 index 0000000..1b68e05 --- /dev/null +++ b/public/403.php @@ -0,0 +1,60 @@ + + + + + + + + + Imeji Uploader - Error + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    I.C.A.R.U.S. Imeji Uploader

    +

    403 - Unfortunately the file you are looking for isn't something you can access.

    +
    +
    + + + + + +
    +
    +
    + Copyright © 2016 Locaria Technologies. +
    +
    + + + \ No newline at end of file diff --git a/public/404.php b/public/404.php new file mode 100644 index 0000000..3233aab --- /dev/null +++ b/public/404.php @@ -0,0 +1,60 @@ + + + + + + + + + Imeji Uploader - Error + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    I.C.A.R.U.S. Imeji Uploader

    +

    404 - Unfortunately the file you are looking for could not be found.

    +
    +
    + + + + + +
    +
    +
    + Copyright © 2016 Locaria Technologies. +
    +
    + + + \ No newline at end of file diff --git a/public/index.php b/public/index.php new file mode 100644 index 0000000..3e56e27 --- /dev/null +++ b/public/index.php @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/public/list.php b/public/list.php new file mode 100644 index 0000000..4e55975 --- /dev/null +++ b/public/list.php @@ -0,0 +1,90 @@ + password +$users = array('admin' => 'sekihou4imeji'); + + +if (empty($_SERVER['PHP_AUTH_DIGEST'])) { + header('HTTP/1.1 401 Unauthorized'); + header('WWW-Authenticate: Digest realm="'.$realm. + '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"'); + + die('401 Unauthorized: Operation Cancelled!'); +} + + +// analyze the PHP_AUTH_DIGEST variable +if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) || + !isset($users[$data['username']])) + die('401 Unauthorized: Invalid Credentials!'); + + +// generate the valid response +$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]); +$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']); +$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2); + +if ($data['response'] != $valid_response) + die('401 Unauthorized: Invalid Credentials!'); + +// ok, valid username & password +echo 'Authenticated as: ' . $data['username']; + + +// function to parse the http auth header +function http_digest_parse($txt) +{ + // protect against missing data + $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1); + $data = array(); + $keys = implode('|', array_keys($needed_parts)); + + preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER); + + foreach ($matches as $m) { + $data[$m[1]] = $m[3] ? $m[3] : $m[4]; + unset($needed_parts[$m[1]]); + } + + return $needed_parts ? false : $data; +} +?> + +Public Uploaded Files Listing + + 0) + {echo "Error: " . $_FILES["file"]["error"] . "
    ";} + else + {echo "Stored file:".$_FILES["file"]["name"]."
    Size:".($_FILES["file"]["size"]/1024)." kB
    "; + move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]); + } +} + + // open this directory + $myDirectory = opendir("."); + // get each entry + while($entryName = readdir($myDirectory)) {$dirArray[] = $entryName;} closedir($myDirectory); + $indexCount = count($dirArray); + echo "$indexCount files
    "; + sort($dirArray); + + echo "\n"; + + for($index=0; $index < $indexCount; $index++) + { + if (substr("$dirArray[$index]", 0, 1) != ".") + { + echo " + + + + "; + } + } + echo ""; + ?> \ No newline at end of file diff --git a/public/list_tester.php b/public/list_tester.php new file mode 100644 index 0000000..018fe24 --- /dev/null +++ b/public/list_tester.php @@ -0,0 +1,91 @@ + password +$users = array('admin' => 'sekihou4imeji'); + + +if (empty($_SERVER['PHP_AUTH_DIGEST'])) { + header('HTTP/1.1 401 Unauthorized'); + header('WWW-Authenticate: Digest realm="'.$realm. + '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"'); + + die('401 Unauthorized: Operation Cancelled!'); +} + + +// analyze the PHP_AUTH_DIGEST variable +if (!($data = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) || + !isset($users[$data['username']])) + die('401 Unauthorized: Invalid Credentials!'); + + +// generate the valid response +$A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]); +$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$data['uri']); +$valid_response = md5($A1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$A2); + +if ($data['response'] != $valid_response) + die('401 Unauthorized: Invalid Credentials!'); + +// ok, valid username & password +echo 'Authenticated as: ' . $data['username']; + + +// function to parse the http auth header +function http_digest_parse($txt) +{ + // protect against missing data + $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1); + $data = array(); + $keys = implode('|', array_keys($needed_parts)); + + preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER); + + foreach ($matches as $m) { + $data[$m[1]] = $m[3] ? $m[3] : $m[4]; + unset($needed_parts[$m[1]]); + } + + return $needed_parts ? false : $data; +} +?> + +Public Uploaded Files Listing + + 0) + {echo "Error: " . $_FILES["file"]["error"] . "
    ";} + else + {echo "Stored file:".$_FILES["file"]["name"]."
    Size:".($_FILES["file"]["size"]/1024)." kB
    "; + move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]); + } +} + + // open this directory + $myDirectory = opendir("."); + // get each entry + while($entryName = readdir($myDirectory)) {$dirArray[] = $entryName;} closedir($myDirectory); + $indexCount = count($dirArray); + echo "$indexCount files
    "; + sort($dirArray); + + echo "\n"; + + for($index=0; $index < $indexCount; $index++) + { + if (substr("$dirArray[$index]", 0, 1) != ".") + { + echo " + + + + + "; + } + } + echo ""; + ?> \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..1f53798 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..062f10b --- /dev/null +++ b/robots.txt @@ -0,0 +1,19 @@ +User-agent: * +Disallow: /deprecated +Disallow: /deprecated/ +Disallow: /private +Disallow: /private/ +Disallow: /public +Disallow: /public/ +Disallow: /styler +Disallow: /styler/ +Disallow: /list.php +Disallow: /listprivate.php +Disallow: /password_protect.php +Disallow: /ptest.php +Disallow: /secret.php +Disallow: /uploadfailed.php +Disallow: /uploadfailedr1.php +Disallow: /uploadfailedr2.php +Disallow: /uploads.log +Disallow: /uploadsecret.php diff --git a/secret.php b/secret.php new file mode 100644 index 0000000..efbacbb --- /dev/null +++ b/secret.php @@ -0,0 +1,69 @@ + + + + + + + + Zeon Secret Uploader + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Zeon Secret Uploader

    +

    Max filesize: 6MB

    +
    +
    +
    +
    + + +

    + + +

    + +
    +
    +
    +
    +
    Zeon Secret Uploader v0.2 + + + +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/styler/additional.css b/styler/additional.css new file mode 100644 index 0000000..257db2a --- /dev/null +++ b/styler/additional.css @@ -0,0 +1,384 @@ +/* +Theme Name: I.C.A.R.U.S. Imeji Uploader - Additional +Theme URL: http://zxicar.us/ +Version: 0.4 +Author: Yandols Z'eon X +*/ +/* + * BUTTONS + * --------------------------------------------- + */ +.btn-container { + margin-top: 20px; + margin-bottom: 20px; + position: relative; +} +.phone .btn-container { + text-align: center; +} + +.btn { + height: 36px; + line-height: 36px; + font-family: inherit; + font-size: 1em; + font-weight: normal; + padding: 0 10px; + border-radius: 3px; + cursor: pointer; + display: inline-block; + text-decoration: none; +} +.btn, .btn:hover, .btn:active, .btn:focus { + text-decoration: none; +} + +.btn:active, .btn.default:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.tone-dark .btn:active, .tone-dark .btn.default:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2); +} + +/* Button contents */ +.btn-icon { + font-size: 14px; + width: 14px; + display: inline-block; +} +.btn-text { + margin-left: 4px; +} + +/* button sizes */ +.btn-big { + font-size: 16px; + font-size: 1.143rem; + height: 38px; + line-height: 38px; + padding-left: 1em; + padding-right: 1em; +} + +.btn-small { + height: 30px; + line-height: 30px; + padding-left: 15px; + padding-right: 15px; + font-size: 0.92em; +} +.btn-input { + font-weight: 600; + font-size: 0.93em; + padding-left: 20px; + padding-right: 20px; +} + +.btn-32 { + width: 32px; + height: 32px; + text-align: center; + display: inline-block; +} + .btn-32 .btn-icon { + width: 18px; + height: 18px; + font-size: 18px; + margin-top: 7px; + } + +/* capsule button */ +.btn-capsule { + border-radius: 100px; + border-color: rgba(255,255,255,.5); + background-color: rgba(0,0,0,.5); + background-image: none; + height: auto; + color: #FFF; + text-shadow: none; + font-size: 0.93em; + height: 28px; + line-height: 28px; + font-weight: normal; + padding: 0 15px; + box-shadow: none; + filter: none; +} +.btn-capsule:hover { + background-color: rgba(0,0,0,.7); +} +.no-rgba .btn-capsule { + border-color: #666; + background-color: none; + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000); + zoom: 1; +} +.no-rgba .btn-capsule:hover { + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#B2000000,endColorstr=#B2000000); +} +.btn-capsule:active { + box-shadow: none; +} + .btn-capsule .btn-icon { + font-size: 0.93em; + } + + +/* button colors */ + +.btn.default { + color: #333; + border: 1px solid #CCC; + background-color: #EEE; + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); + box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 1px 2px rgba(0,0,0,.05); +} +.tone-dark .btn.default { + color: #CCC; + background-color: #2f2f2f; + box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.05); +} +.btn.default:hover { + background-color: #E9E9E9; +} +.tone-dark .btn.default:hover { + background-color: #363636; +} + +.btn.default.outline { + color: #00A7DA; + border-color: #00A7DA; + box-shadow: none; +} + +.btn.disabled, .btn.disabled:hover { + color: #999; + background-color: #F6F6F6; + background-image: none; + box-shadow: none; + cursor: default; +} +.tone-dark .btn.disabled, .tone-dark .btn.disabled:hover { + color: #666; + background-color: #212121; +} +.btn.disabled.outline, .btn.disabled.outline:hover { + color: #BBB; + border-color: #CCC; +} + +/* "plain" color (no color at all) */ +.btn.plain, .btn.plain:hover { + background: none; + text-shadow: none; + border-color: transparent; + box-shadow: none; + padding: 0; + color: inherit; +} +.tone-dark .btn.plain, .tone-dark .btn.plain:hover { + background: none; +} +.btn.plain:active { + box-shadow: none; +} + +.btn.active { + background-image: none; + background-color: #00A7DA; + border-color: #00A7DA; + filter: none; +} + +.btn.grey, .btn.grey.off:hover { + border-color: #EEE; + background-color: #EEE; +} +.btn.grey:hover { + background-color: #E9E9E9; +} +.btn.grey.outline { + color: #EEE; +} + +.btn.orange, .btn.orange.off:hover { + border-color: #FE771D; + background-color: #FE771D; +} +.btn.orange:hover { + background-color: #FE6B0A; +} +.btn.orange.outline { + color: #FE771D; +} + +.btn.blue, .btn.blue.off:hover { + border-color: #2A80B9; + background-color: #2A80B9; +} +.btn.blue:hover { + background-color: #2879B0; +} +.btn.blue.outline { + color: #2A80B9; +} + +.btn.green, .btn.green.off:hover { + border-color: #27AE61; + background-color: #27AE61; +} +.btn.green:hover { + background-color: #25A55C; +} +.btn.green.outline { + color: #27AE61; +} + +.btn.red, .btn.red.off:hover { + border-color: #E84C3D; + background-color: #E84C3D; +} +.btn.red:hover { + background-color: #DC483A; +} +.btn.red.outline { + color: #E84C3D; +} + +.btn.white, .btn.white.off:hover { + border-color: #FFF; + background-color: #FFF; +} +.btn.white:hover { + background-color: #FFF; +} +.btn.white.outline { + color: #FFF; +} + +.btn.black, .btn.black.off:hover { + border-color: #3A3A3A; + background-color: #3A3A3A; +} +.btn.black:hover { + background-color: #343434; +} +.btn.black.outline { + color: #3A3A3A; +} + +.btn.active, .btn.orange, .btn.blue, .btn.green, .btn.red, .btn.black { + color: #FFF; + border: 1px solid transparent; +} +.btn.grey, .btn.white { + color: #333; +} + +.btn.off { + cursor: default; +} +.btn.off:active { + box-shadow: none; +} + +/* Social networks buttons */ +/* hover are usually .95 */ +.btn-social { + color: #FFF; + background-image: none; + box-shadow: none; + border: 1px solid transparent; +} +.btn-social, .btn-social:hover { + text-decoration: none; + text-shadow: none; + background: #333; +} + +.btn-twitter, .link-twitter span { + background: #00ACEE; +} +.btn-twitter:hover, .link-twitter:hover span { + background: #02A5E3; +} + +.btn-facebook, .link-facebook span { + background: #3C5998; +} +.btn-facebook:hover, .link-facebook:hover span { + background: #374F8A; +} + +.btn-google, .link-google span, +.btn-google-plus, .link-google-plus span { + background: #D74836; +} +.btn-google:hover, .link-google:hover span, +.btn-google-plus:hover, .link-google-plus:hover span { + background: #CD3C2A; +} + +.btn-mail { + background: #CCC; + color: #333; +} + .btn-mail span { + color: #333; + } +.btn-mail:hover { + background: #BBB; +} + +.btn-tumblr { + background: #39536C; +} +.btn-tumblr:hover { + background: #2C4762; +} + +.btn-pinterest { + background: #CB2027; +} +.btn-pinterest:hover { + background: #B61A21; +} + +.btn-stumbleupon { + background: #EA4B24; +} +.btn-stumbleupon:hover { + background: #DF421F; +} + +.btn-blogger { + background: #F5821F; +} +.btn-blogger:hover { + background: #E97B1D; +} + +.btn-reddit { + background: #CEE3F8; +} +.btn-reddit:hover { + background: #C0DBF5; +} + .btn-reddit .btn-icon { + color: #333; + } + +.btn-vk, .link-vk span { + background: #587EA3; +} +.btn-vk:hover, .link-vk:hover span { + background: #4E6F93; +} + +/* Outlines */ +.btn.outline, .btn.outline:hover { + background: none; + border: 1px solid; + box-shadow: none; +} diff --git a/styler/additional_secret.css b/styler/additional_secret.css new file mode 100644 index 0000000..7331b78 --- /dev/null +++ b/styler/additional_secret.css @@ -0,0 +1,384 @@ +/* +Theme Name: Zeon Secret Uploader - Additional +Theme URL: http://zxicar.us/ +Version: 0.1 +Author: Yandols Z'eon X +*/ +/* + * BUTTONS + * --------------------------------------------- + */ +.btn-container { + margin-top: 20px; + margin-bottom: 20px; + position: relative; +} +.phone .btn-container { + text-align: center; +} + +.btn { + height: 36px; + line-height: 36px; + font-family: inherit; + font-size: 1em; + font-weight: normal; + padding: 0 10px; + border-radius: 3px; + cursor: pointer; + display: inline-block; + text-decoration: none; +} +.btn, .btn:hover, .btn:active, .btn:focus { + text-decoration: none; +} + +.btn:active, .btn.default:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.tone-dark .btn:active, .tone-dark .btn.default:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2); +} + +/* Button contents */ +.btn-icon { + font-size: 14px; + width: 14px; + display: inline-block; +} +.btn-text { + margin-left: 4px; +} + +/* button sizes */ +.btn-big { + font-size: 16px; + font-size: 1.143rem; + height: 38px; + line-height: 38px; + padding-left: 1em; + padding-right: 1em; +} + +.btn-small { + height: 30px; + line-height: 30px; + padding-left: 15px; + padding-right: 15px; + font-size: 0.92em; +} +.btn-input { + font-weight: 600; + font-size: 0.93em; + padding-left: 20px; + padding-right: 20px; +} + +.btn-32 { + width: 32px; + height: 32px; + text-align: center; + display: inline-block; +} + .btn-32 .btn-icon { + width: 18px; + height: 18px; + font-size: 18px; + margin-top: 7px; + } + +/* capsule button */ +.btn-capsule { + border-radius: 100px; + border-color: rgba(255,255,255,.5); + background-color: rgba(0,0,0,.5); + background-image: none; + height: auto; + color: #FFF; + text-shadow: none; + font-size: 0.93em; + height: 28px; + line-height: 28px; + font-weight: normal; + padding: 0 15px; + box-shadow: none; + filter: none; +} +.btn-capsule:hover { + background-color: rgba(0,0,0,.7); +} +.no-rgba .btn-capsule { + border-color: #666; + background-color: none; + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000); + zoom: 1; +} +.no-rgba .btn-capsule:hover { + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#B2000000,endColorstr=#B2000000); +} +.btn-capsule:active { + box-shadow: none; +} + .btn-capsule .btn-icon { + font-size: 0.93em; + } + + +/* button colors */ + +.btn.default { + color: #333; + border: 1px solid #CCC; + background-color: #EEE; + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); + box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 1px 2px rgba(0,0,0,.05); +} +.tone-dark .btn.default { + color: #CCC; + background-color: #2f2f2f; + box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(0,0,0,.05); +} +.btn.default:hover { + background-color: #E9E9E9; +} +.tone-dark .btn.default:hover { + background-color: #363636; +} + +.btn.default.outline { + color: #00A7DA; + border-color: #00A7DA; + box-shadow: none; +} + +.btn.disabled, .btn.disabled:hover { + color: #999; + background-color: #F6F6F6; + background-image: none; + box-shadow: none; + cursor: default; +} +.tone-dark .btn.disabled, .tone-dark .btn.disabled:hover { + color: #666; + background-color: #212121; +} +.btn.disabled.outline, .btn.disabled.outline:hover { + color: #BBB; + border-color: #CCC; +} + +/* "plain" color (no color at all) */ +.btn.plain, .btn.plain:hover { + background: none; + text-shadow: none; + border-color: transparent; + box-shadow: none; + padding: 0; + color: inherit; +} +.tone-dark .btn.plain, .tone-dark .btn.plain:hover { + background: none; +} +.btn.plain:active { + box-shadow: none; +} + +.btn.active { + background-image: none; + background-color: #00A7DA; + border-color: #00A7DA; + filter: none; +} + +.btn.grey, .btn.grey.off:hover { + border-color: #EEE; + background-color: #EEE; +} +.btn.grey:hover { + background-color: #E9E9E9; +} +.btn.grey.outline { + color: #EEE; +} + +.btn.orange, .btn.orange.off:hover { + border-color: #FE771D; + background-color: #FE771D; +} +.btn.orange:hover { + background-color: #FE6B0A; +} +.btn.orange.outline { + color: #FE771D; +} + +.btn.blue, .btn.blue.off:hover { + border-color: #2A80B9; + background-color: #2A80B9; +} +.btn.blue:hover { + background-color: #2879B0; +} +.btn.blue.outline { + color: #2A80B9; +} + +.btn.green, .btn.green.off:hover { + border-color: #27AE61; + background-color: #27AE61; +} +.btn.green:hover { + background-color: #25A55C; +} +.btn.green.outline { + color: #27AE61; +} + +.btn.red, .btn.red.off:hover { + border-color: #E84C3D; + background-color: #E84C3D; +} +.btn.red:hover { + background-color: #DC483A; +} +.btn.red.outline { + color: #E84C3D; +} + +.btn.white, .btn.white.off:hover { + border-color: #FFF; + background-color: #FFF; +} +.btn.white:hover { + background-color: #FFF; +} +.btn.white.outline { + color: #FFF; +} + +.btn.black, .btn.black.off:hover { + border-color: #3A3A3A; + background-color: #3A3A3A; +} +.btn.black:hover { + background-color: #343434; +} +.btn.black.outline { + color: #3A3A3A; +} + +.btn.active, .btn.orange, .btn.blue, .btn.green, .btn.red, .btn.black { + color: #FFF; + border: 1px solid transparent; +} +.btn.grey, .btn.white { + color: #333; +} + +.btn.off { + cursor: default; +} +.btn.off:active { + box-shadow: none; +} + +/* Social networks buttons */ +/* hover are usually .95 */ +.btn-social { + color: #FFF; + background-image: none; + box-shadow: none; + border: 1px solid transparent; +} +.btn-social, .btn-social:hover { + text-decoration: none; + text-shadow: none; + background: #333; +} + +.btn-twitter, .link-twitter span { + background: #00ACEE; +} +.btn-twitter:hover, .link-twitter:hover span { + background: #02A5E3; +} + +.btn-facebook, .link-facebook span { + background: #3C5998; +} +.btn-facebook:hover, .link-facebook:hover span { + background: #374F8A; +} + +.btn-google, .link-google span, +.btn-google-plus, .link-google-plus span { + background: #D74836; +} +.btn-google:hover, .link-google:hover span, +.btn-google-plus:hover, .link-google-plus:hover span { + background: #CD3C2A; +} + +.btn-mail { + background: #CCC; + color: #333; +} + .btn-mail span { + color: #333; + } +.btn-mail:hover { + background: #BBB; +} + +.btn-tumblr { + background: #39536C; +} +.btn-tumblr:hover { + background: #2C4762; +} + +.btn-pinterest { + background: #CB2027; +} +.btn-pinterest:hover { + background: #B61A21; +} + +.btn-stumbleupon { + background: #EA4B24; +} +.btn-stumbleupon:hover { + background: #DF421F; +} + +.btn-blogger { + background: #F5821F; +} +.btn-blogger:hover { + background: #E97B1D; +} + +.btn-reddit { + background: #CEE3F8; +} +.btn-reddit:hover { + background: #C0DBF5; +} + .btn-reddit .btn-icon { + color: #333; + } + +.btn-vk, .link-vk span { + background: #587EA3; +} +.btn-vk:hover, .link-vk:hover span { + background: #4E6F93; +} + +/* Outlines */ +.btn.outline, .btn.outline:hover { + background: none; + border: 1px solid; + box-shadow: none; +} diff --git a/styler/codropsicons/codropsicons.eot b/styler/codropsicons/codropsicons.eot new file mode 100644 index 0000000..f46c7f4 Binary files /dev/null and b/styler/codropsicons/codropsicons.eot differ diff --git a/styler/codropsicons/codropsicons.svg b/styler/codropsicons/codropsicons.svg new file mode 100644 index 0000000..d202d21 --- /dev/null +++ b/styler/codropsicons/codropsicons.svg @@ -0,0 +1,24 @@ + + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/styler/codropsicons/codropsicons.ttf b/styler/codropsicons/codropsicons.ttf new file mode 100644 index 0000000..72bed1f Binary files /dev/null and b/styler/codropsicons/codropsicons.ttf differ diff --git a/styler/codropsicons/codropsicons.woff b/styler/codropsicons/codropsicons.woff new file mode 100644 index 0000000..1003218 Binary files /dev/null and b/styler/codropsicons/codropsicons.woff differ diff --git a/styler/codropsicons/license.txt b/styler/codropsicons/license.txt new file mode 100644 index 0000000..88a5cbc --- /dev/null +++ b/styler/codropsicons/license.txt @@ -0,0 +1,6 @@ +Icon Set: Font Awesome -- http://fortawesome.github.com/Font-Awesome/ +License: SIL -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL + + +Icon Set: Eco Ico -- http://dribbble.com/shots/665585-Eco-Ico +License: CC0 -- http://creativecommons.org/publicdomain/zero/1.0/ \ No newline at end of file diff --git a/styler/component.css b/styler/component.css new file mode 100644 index 0000000..c756bcd --- /dev/null +++ b/styler/component.css @@ -0,0 +1,250 @@ +.js .inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + z-index: -1; +} + +.inputfile + label { + max-width: 80%; + font-size: 1.25rem; + /* 20px */ + font-weight: 700; + text-overflow: ellipsis; + white-space: nowrap; + cursor: pointer; + display: inline-block; + overflow: hidden; + padding: 0.625rem 1.25rem; + /* 10px 20px */ +} + +.no-js .inputfile + label { + display: none; +} + +.inputfile:focus + label, +.inputfile.has-focus + label { + outline: 1px dotted #000; + outline: -webkit-focus-ring-color auto 5px; +} + +.inputfile + label * { + /* pointer-events: none; */ + /* in case of FastClick lib use */ +} + +.inputfile + label svg { + width: 1em; + height: 1em; + vertical-align: middle; + fill: currentColor; + margin-top: -0.25em; + /* 4px */ + margin-right: 0.25em; + /* 4px */ +} + + +/* style 1 */ + +.inputfile-1 + label { + color: #f1e5e6; + background-color: #d3394c; +} + +.inputfile-1:focus + label, +.inputfile-1.has-focus + label, +.inputfile-1 + label:hover { + background-color: #722040; +} + + +/* style 2 */ + +.inputfile-2 + label { + color: #d3394c; + border: 2px solid currentColor; +} + +.inputfile-2:focus + label, +.inputfile-2.has-focus + label, +.inputfile-2 + label:hover { + color: #722040; +} + +.inputfileToUpload + label { + color: #d3394c; + border: 2px solid currentColor; +} + +.inputfileToUpload:focus + label, +.inputfileToUpload.has-focus + label, +.inputfileToUpload + label:hover { + color: #722040; +} + + +/* style 3 */ + +.inputfile-3 + label { + color: #d3394c; +} + +.inputfile-3:focus + label, +.inputfile-3.has-focus + label, +.inputfile-3 + label:hover { + color: #722040; +} + + +/* style 4 */ + +.inputfile-4 + label { + color: #d3394c; +} + +.inputfile-4:focus + label, +.inputfile-4.has-focus + label, +.inputfile-4 + label:hover { + color: #722040; +} + +.inputfile-4 + label figure { + width: 100px; + height: 100px; + border-radius: 50%; + background-color: #d3394c; + display: block; + padding: 20px; + margin: 0 auto 10px; +} + +.inputfile-4:focus + label figure, +.inputfile-4.has-focus + label figure, +.inputfile-4 + label:hover figure { + background-color: #722040; +} + +.inputfile-4 + label svg { + width: 100%; + height: 100%; + fill: #f1e5e6; +} + + +/* style 5 */ + +.inputfile-5 + label { + color: #d3394c; +} + +.inputfile-5:focus + label, +.inputfile-5.has-focus + label, +.inputfile-5 + label:hover { + color: #722040; +} + +.inputfile-5 + label figure { + width: 100px; + height: 135px; + background-color: #d3394c; + display: block; + position: relative; + padding: 30px; + margin: 0 auto 10px; +} + +.inputfile-5:focus + label figure, +.inputfile-5.has-focus + label figure, +.inputfile-5 + label:hover figure { + background-color: #722040; +} + +.inputfile-5 + label figure::before, +.inputfile-5 + label figure::after { + width: 0; + height: 0; + content: ''; + position: absolute; + top: 0; + right: 0; +} + +.inputfile-5 + label figure::before { + border-top: 20px solid #dfc8ca; + border-left: 20px solid transparent; +} + +.inputfile-5 + label figure::after { + border-bottom: 20px solid #722040; + border-right: 20px solid transparent; +} + +.inputfile-5:focus + label figure::after, +.inputfile-5.has-focus + label figure::after, +.inputfile-5 + label:hover figure::after { + border-bottom-color: #d3394c; +} + +.inputfile-5 + label svg { + width: 100%; + height: 100%; + fill: #f1e5e6; +} + + +/* style 6 */ + +.inputfile-6 + label { + color: #d3394c; +} + +.inputfile-6 + label { + border: 1px solid #d3394c; + background-color: #f1e5e6; + padding: 0; +} + +.inputfile-6:focus + label, +.inputfile-6.has-focus + label, +.inputfile-6 + label:hover { + border-color: #722040; +} + +.inputfile-6 + label span, +.inputfile-6 + label strong { + padding: 0.625rem 1.25rem; + /* 10px 20px */ +} + +.inputfile-6 + label span { + width: 200px; + min-height: 2em; + display: inline-block; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + vertical-align: top; +} + +.inputfile-6 + label strong { + height: 100%; + color: #f1e5e6; + background-color: #d3394c; + display: inline-block; +} + +.inputfile-6:focus + label strong, +.inputfile-6.has-focus + label strong, +.inputfile-6 + label:hover strong { + background-color: #722040; +} + +@media screen and (max-width: 50em) { + .inputfile-6 + label strong { + display: block; + } +} diff --git a/styler/component_secret.css b/styler/component_secret.css new file mode 100644 index 0000000..a13114d --- /dev/null +++ b/styler/component_secret.css @@ -0,0 +1,250 @@ +.js .inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + z-index: -1; +} + +.inputfile + label { + max-width: 80%; + font-size: 1.25rem; + /* 20px */ + font-weight: 700; + text-overflow: ellipsis; + white-space: nowrap; + cursor: pointer; + display: inline-block; + overflow: hidden; + padding: 0.625rem 1.25rem; + /* 10px 20px */ +} + +.no-js .inputfile + label { + display: none; +} + +.inputfile:focus + label, +.inputfile.has-focus + label { + outline: 1px dotted #000; + outline: -webkit-focus-ring-color auto 5px; +} + +.inputfile + label * { + /* pointer-events: none; */ + /* in case of FastClick lib use */ +} + +.inputfile + label svg { + width: 1em; + height: 1em; + vertical-align: middle; + fill: currentColor; + margin-top: -0.25em; + /* 4px */ + margin-right: 0.25em; + /* 4px */ +} + + +/* style 1 */ + +.inputfile-1 + label { + color: #cccccc; + background-color: #722040; +} + +.inputfile-1:focus + label, +.inputfile-1.has-focus + label, +.inputfile-1 + label:hover { + background-color: #7b1968; +} + + +/* style 2 */ + +.inputfile-2 + label { + color: #d3394c; + border: 2px solid currentColor; +} + +.inputfile-2:focus + label, +.inputfile-2.has-focus + label, +.inputfile-2 + label:hover { + color: #722040; +} + +.inputfileToUpload + label { + color: #d3394c; + border: 2px solid currentColor; +} + +.inputfileToUpload:focus + label, +.inputfileToUpload.has-focus + label, +.inputfileToUpload + label:hover { + color: #722040; +} + + +/* style 3 */ + +.inputfile-3 + label { + color: #d3394c; +} + +.inputfile-3:focus + label, +.inputfile-3.has-focus + label, +.inputfile-3 + label:hover { + color: #722040; +} + + +/* style 4 */ + +.inputfile-4 + label { + color: #d3394c; +} + +.inputfile-4:focus + label, +.inputfile-4.has-focus + label, +.inputfile-4 + label:hover { + color: #722040; +} + +.inputfile-4 + label figure { + width: 100px; + height: 100px; + border-radius: 50%; + background-color: #d3394c; + display: block; + padding: 20px; + margin: 0 auto 10px; +} + +.inputfile-4:focus + label figure, +.inputfile-4.has-focus + label figure, +.inputfile-4 + label:hover figure { + background-color: #722040; +} + +.inputfile-4 + label svg { + width: 100%; + height: 100%; + fill: #f1e5e6; +} + + +/* style 5 */ + +.inputfile-5 + label { + color: #d3394c; +} + +.inputfile-5:focus + label, +.inputfile-5.has-focus + label, +.inputfile-5 + label:hover { + color: #722040; +} + +.inputfile-5 + label figure { + width: 100px; + height: 135px; + background-color: #d3394c; + display: block; + position: relative; + padding: 30px; + margin: 0 auto 10px; +} + +.inputfile-5:focus + label figure, +.inputfile-5.has-focus + label figure, +.inputfile-5 + label:hover figure { + background-color: #722040; +} + +.inputfile-5 + label figure::before, +.inputfile-5 + label figure::after { + width: 0; + height: 0; + content: ''; + position: absolute; + top: 0; + right: 0; +} + +.inputfile-5 + label figure::before { + border-top: 20px solid #dfc8ca; + border-left: 20px solid transparent; +} + +.inputfile-5 + label figure::after { + border-bottom: 20px solid #722040; + border-right: 20px solid transparent; +} + +.inputfile-5:focus + label figure::after, +.inputfile-5.has-focus + label figure::after, +.inputfile-5 + label:hover figure::after { + border-bottom-color: #d3394c; +} + +.inputfile-5 + label svg { + width: 100%; + height: 100%; + fill: #f1e5e6; +} + + +/* style 6 */ + +.inputfile-6 + label { + color: #cccccc; +} + +.inputfile-6 + label { + border: 1px solid #93394c; + background-color: #722040; + padding: 0; +} + +.inputfile-6:focus + label, +.inputfile-6.has-focus + label, +.inputfile-6 + label:hover { + border-color: #823050; +} + +.inputfile-6 + label span, +.inputfile-6 + label strong { + padding: 0.625rem 1.25rem; + /* 10px 20px */ +} + +.inputfile-6 + label span { + width: 200px; + min-height: 2em; + display: inline-block; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + vertical-align: top; +} + +.inputfile-6 + label strong { + height: 100%; + color: #f1e5e6; + background-color: #d3394c; + display: inline-block; +} + +.inputfile-6:focus + label strong, +.inputfile-6.has-focus + label strong, +.inputfile-6 + label:hover strong { + background-color: #722040; +} + +@media screen and (max-width: 50em) { + .inputfile-6 + label strong { + display: block; + } +} diff --git a/styler/custom-file-input.js b/styler/custom-file-input.js new file mode 100644 index 0000000..8942e16 --- /dev/null +++ b/styler/custom-file-input.js @@ -0,0 +1,34 @@ +/* + By Osvaldas Valutis, www.osvaldas.info + Available for use under the MIT License +*/ + +'use strict'; + +;( function ( document, window, index ) +{ + var inputs = document.querySelectorAll( '.inputfile' ); + Array.prototype.forEach.call( inputs, function( input ) + { + var label = input.nextElementSibling, + labelVal = label.innerHTML; + + input.addEventListener( 'change', function( e ) + { + var fileName = ''; + if( this.files && this.files.length > 1 ) + fileName = ( this.getAttribute( 'data-multiple-caption' ) || '' ).replace( '{count}', this.files.length ); + else + fileName = e.target.value.split( '\\' ).pop(); + + if( fileName ) + label.querySelector( 'span' ).innerHTML = fileName; + else + label.innerHTML = labelVal; + }); + + // Firefox bug fix + input.addEventListener( 'focus', function(){ input.classList.add( 'has-focus' ); }); + input.addEventListener( 'blur', function(){ input.classList.remove( 'has-focus' ); }); + }); +}( document, window, 0 )); \ No newline at end of file diff --git a/styler/demo.css b/styler/demo.css new file mode 100644 index 0000000..6e320bc --- /dev/null +++ b/styler/demo.css @@ -0,0 +1,226 @@ +/* +Theme: Codrops Red Demo +Author: Codrops +*/ + +@font-face { + font-weight: normal; + font-style: normal; + font-family: 'codropsicons'; + src: url('./codropsicons/codropsicons.eot'); + src: url('./codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'), url('../fonts/codropsicons/codropsicons.woff') format('woff'), url('../fonts/codropsicons/codropsicons.ttf') format('truetype'), url('../fonts/codropsicons/codropsicons.svg#codropsicons') format('svg'); +} + +*, +*:after, +*:before { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.clearfix:before, +.clearfix:after { + display: table; + content: ''; +} + +.clearfix:after { + clear: both; +} + +body { + font-family: Avenir, 'Helvetica Neue', 'Lato', 'Segoe UI', Helvetica, Arial, sans-serif; + color: #4b0f31; + background-color: #f1e5e6; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + outline: none; + color: #d3394c; + text-decoration: none; +} + +a:hover, +a:focus { + color: #722040; +} + +.hidden { + position: absolute; + overflow: hidden; + width: 0; + height: 0; + pointer-events: none; +} + + +/* Header */ + +.codrops-header { + padding: 2em 1em 3em; + text-align: center; +} + +.codrops-header h1 { + margin: 0.5em 0 0; + letter-spacing: -1px; + font-size: 3em; + line-height: 1; +} + +.codrops-header h1 span { + display: block; + padding: 0.5em 0 1em; + color: #999; + font-weight: normal; + font-size: 0.45em; +} + + +/* Top Navigation Style */ + +.codrops-links { + position: relative; + display: inline-block; + text-align: center; + white-space: nowrap; +} + +.codrops-links::after { + position: absolute; + top: 0; + left: 50%; + width: 1px; + height: 100%; + background: rgba(0, 0, 0, 0.1); + content: ''; + -webkit-transform: rotate3d(0, 0, 1, 22.5deg); + transform: rotate3d(0, 0, 1, 22.5deg); +} + +.codrops-icon { + display: inline-block; + margin: 0.5em; + padding: 0em 0; + width: 1.5em; + text-decoration: none; +} + +.codrops-icon span { + display: none; +} + +.codrops-icon:before { + margin: 0 5px; + text-transform: none; + font-weight: normal; + font-style: normal; + font-variant: normal; + font-family: 'codropsicons'; + line-height: 1; + speak: none; + -webkit-font-smoothing: antialiased; +} + +.codrops-icon--drop:before { + content: "\e001"; +} + +.codrops-icon--prev:before { + content: "\e004"; +} + + +/* Demo links */ + +.codrops-demos { + margin: 2em 0 0; +} + +.codrops-demos a { + display: inline-block; + margin: 0 0.5em; +} + +.codrops-demos a.current-demo { + color: #333; +} + + +/* Content */ + +.content { + width: 100%; + max-width: 800px; + text-align: center; + margin: 0 auto; + padding: 0 0 2em 0; +} + +.content footer { + color: #b39295; + margin-top: 40px; +} + +.content footer a:hover, +.content footer a:focus { + color: #4b0f31; +} + +.box { + background-color: #dfc8ca; + padding: 4.25rem 1.25rem; +} + +.box + .box { + margin-top: 2.5rem; +} + + +/* Related demos */ + +.content--related { + text-align: center; + font-weight: bold; + padding-top: 4em; +} + +.media-item { + display: inline-block; + padding: 1em; + vertical-align: top; + -webkit-transition: color 0.3s; + transition: color 0.3s; +} + +.media-item__img { + max-width: 100%; + opacity: 0.6; + -webkit-transition: opacity 0.3s; + transition: opacity 0.3s; +} + +.media-item:hover .media-item__img, +.media-item:focus .media-item__img { + opacity: 1; +} + +.media-item__title { + margin: 0; + padding: 0.5em; + font-size: 1em; +} + +@media screen and (max-width: 50em) { + .codrops-header { + padding: 3em 10% 4em; + } +} + +@media screen and (max-width: 40em) { + .codrops-header h1 { + font-size: 2.8em; + } +} diff --git a/styler/demo_secret.css b/styler/demo_secret.css new file mode 100644 index 0000000..e45c959 --- /dev/null +++ b/styler/demo_secret.css @@ -0,0 +1,221 @@ +@font-face { + font-weight: normal; + font-style: normal; + font-family: 'codropsicons'; + src: url('./codropsicons/codropsicons.eot'); + src: url('./codropsicons/codropsicons.eot?#iefix') format('embedded-opentype'), url('../codropsicons/codropsicons.woff') format('woff'), url('../codropsicons/codropsicons.ttf') format('truetype'), url('../codropsicons/codropsicons.svg#codropsicons') format('svg'); +} + +*, +*:after, +*:before { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.clearfix:before, +.clearfix:after { + display: table; + content: ''; +} + +.clearfix:after { + clear: both; +} + +body { + font-family: Avenir, 'Helvetica Neue', 'Lato', 'Segoe UI', Helvetica, Arial, sans-serif; + color: #777777; + background-color: #4b0f31; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + outline: none; + color: #722040; + text-decoration: none; +} + +a:hover, +a:focus { + color: #7b1968; +} + +.hidden { + position: absolute; + overflow: hidden; + width: 0; + height: 0; + pointer-events: none; +} + + +/* Header */ + +.codrops-header { + padding: 2em 1em 3em; + text-align: center; +} + +.codrops-header h1 { + margin: 0.5em 0 0; + letter-spacing: -1px; + font-size: 3em; + line-height: 1; +} + +.codrops-header h1 span { + display: block; + padding: 0.5em 0 1em; + color: #999; + font-weight: normal; + font-size: 0.45em; +} + + +/* Top Navigation Style */ + +.codrops-links { + position: relative; + display: inline-block; + text-align: center; + white-space: nowrap; +} + +.codrops-links::after { + position: absolute; + top: 0; + left: 50%; + width: 1px; + height: 100%; + background: rgba(0, 0, 0, 0.1); + content: ''; + -webkit-transform: rotate3d(0, 0, 1, 22.5deg); + transform: rotate3d(0, 0, 1, 22.5deg); +} + +.codrops-icon { + display: inline-block; + margin: 0.5em; + padding: 0em 0; + width: 1.5em; + text-decoration: none; +} + +.codrops-icon span { + display: none; +} + +.codrops-icon:before { + margin: 0 5px; + text-transform: none; + font-weight: normal; + font-style: normal; + font-variant: normal; + font-family: 'codropsicons'; + line-height: 1; + speak: none; + -webkit-font-smoothing: antialiased; +} + +.codrops-icon--drop:before { + content: "\e001"; +} + +.codrops-icon--prev:before { + content: "\e004"; +} + + +/* Demo links */ + +.codrops-demos { + margin: 2em 0 0; +} + +.codrops-demos a { + display: inline-block; + margin: 0 0.5em; +} + +.codrops-demos a.current-demo { + color: #333; +} + + +/* Content */ + +.content { + width: 100%; + max-width: 800px; + text-align: center; + margin: 0 auto; + padding: 0 0 2em 0; +} + +.content footer { + color: #b39295; + margin-top: 40px; +} + +.content footer a:hover, +.content footer a:focus { + color: #4b0f31; +} + +.box { + background-color: #3b0c32; + padding: 3.25rem 1.25rem; +} + +.box + .box { + margin-top: 2.5rem; +} + + +/* Related demos */ + +.content--related { + text-align: center; + font-weight: bold; + padding-top: 4em; +} + +.media-item { + display: inline-block; + padding: 1em; + vertical-align: top; + -webkit-transition: color 0.3s; + transition: color 0.3s; +} + +.media-item__img { + max-width: 100%; + opacity: 0.6; + -webkit-transition: opacity 0.3s; + transition: opacity 0.3s; +} + +.media-item:hover .media-item__img, +.media-item:focus .media-item__img { + opacity: 1; +} + +.media-item__title { + margin: 0; + padding: 0.5em; + font-size: 1em; +} + +@media screen and (max-width: 50em) { + .codrops-header { + padding: 3em 10% 4em; + } +} + +@media screen and (max-width: 40em) { + .codrops-header h1 { + font-size: 2.8em; + } +} diff --git a/styler/jquery-v1.min.js b/styler/jquery-v1.min.js new file mode 100644 index 0000000..d3a4400 --- /dev/null +++ b/styler/jquery-v1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
    a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:k.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("