From ab630bd21d1355552ea7a2e36cb64d7db6829b8f Mon Sep 17 00:00:00 2001 From: Zixaphir Date: Thu, 30 May 2013 14:42:21 -0700 Subject: [PATCH] This is going to take awhile. --- Gruntfile.coffee | 8 ++ builds/appchan-x.js | 86 +++++++++------ builds/appchan-x.user.js | 86 +++++++++------ builds/crx/script.js | 86 +++++++++------ src/General/Settings.coffee | 4 +- src/General/css/dynamic.css | 43 ++++++++ src/General/css/icons.vert.css | 2 +- src/General/css/jscolor.css | 4 +- src/General/css/layout.css | 176 +++++++++++++++++-------------- src/General/css/theme.css | 10 +- src/General/css/themeoptions.css | 2 +- src/Theming/JSColor.coffee | 1 - src/Theming/Mascots.coffee | 4 +- src/Theming/Style.coffee | 73 ++++++++++--- 14 files changed, 384 insertions(+), 201 deletions(-) create mode 100644 src/General/css/dynamic.css diff --git a/Gruntfile.coffee b/Gruntfile.coffee index f9cf972d9..50ccc842c 100644 --- a/Gruntfile.coffee +++ b/Gruntfile.coffee @@ -154,6 +154,14 @@ module.exports = (grunt) -> grunt.registerTask 'set-build', 'Set the build type variable', (type) -> pkg.type = type; + pkg.agent = if type is 'crx' + '-webkit-' + else + '-moz-' + pkg.sizing = if type is 'crx' + 'box-sizing' + else + '-moz-box-sizing' grunt.log.ok 'pkg.type = %s', type grunt.registerTask 'build', [ diff --git a/builds/appchan-x.js b/builds/appchan-x.js index c361e6ca6..3f8104bc2 100644 --- a/builds/appchan-x.js +++ b/builds/appchan-x.js @@ -10599,10 +10599,7 @@ JSColor = { css: function() { - var agent; - - agent = Style.agent; - return ".jscBox {\nwidth: 251px;\nheight: 155px;\n}\n.jscBoxB,\n.jscPadB,\n.jscPadM,\n.jscSldB,\n.jscSldM,\n.jscBtn {\nposition: absolute;\nclear: both;\n}\n.jscBoxB {\nleft: 320px;\nbottom: 20px;\nz-index: 30;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\nbackground: ThreeDFace;\n}\n.jscPad {\nwidth: 181px;\nheight: 101px;\nbackground-image: " + agent + "linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)), " + agent + "linear-gradient(left, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);\nbackground-repeat: no-repeat;\nbackground-position: 0 0;\n}\n.jscPadB {\nleft: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscPadM {\nleft: 0;\ntop: 0;\nwidth: 200px;\nheight: 121px;\ncursor: crosshair;\nbackground-image: url('data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=');\nbackground-repeat: no-repeat;\n}\n.jscSld {\nwidth: 16px;\nheight: 101px;\nbackground-image: " + agent + "linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));\n}\n.jscSldB {\nright: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscSldM {\nright: 0;\ntop: 0;\nwidth: 36px;\nheight: 121px;\ncursor: pointer;\nbackground-image: url('data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7');\nbackground-repeat: no-repeat;\n}\n.jscBtn {\nright: 10px;\nbottom: 10px;\npadding: 0 15px;\nheight: 18px;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\ncolor: ButtonText;\ntext-align: center;\ncursor: pointer;\n}\n.jscBtnS {\nline-height: 10px;\n}"; + return ".jscBox {\nwidth: 251px;\nheight: 155px;\n}\n.jscBoxB,\n.jscPadB,\n.jscPadM,\n.jscSldB,\n.jscSldM,\n.jscBtn {\nposition: absolute;\nclear: both;\n}\n.jscBoxB {\nleft: 320px;\nbottom: 20px;\nz-index: 30;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\nbackground: ThreeDFace;\n}\n.jscPad {\nwidth: 181px;\nheight: 101px;\nbackground-image: -moz-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)), -moz-linear-gradient(left, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);\nbackground-repeat: no-repeat;\nbackground-position: 0 0;\n}\n.jscPadB {\nleft: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscPadM {\nleft: 0;\ntop: 0;\nwidth: 200px;\nheight: 121px;\ncursor: crosshair;\nbackground-image: url('data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=');\nbackground-repeat: no-repeat;\n}\n.jscSld {\nwidth: 16px;\nheight: 101px;\nbackground-image: -moz-linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));\n}\n.jscSldB {\nright: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscSldM {\nright: 0;\ntop: 0;\nwidth: 36px;\nheight: 121px;\ncursor: pointer;\nbackground-image: url('data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7');\nbackground-repeat: no-repeat;\n}\n.jscBtn {\nright: 10px;\nbottom: 10px;\npadding: 0 15px;\nheight: 18px;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\ncolor: ButtonText;\ntext-align: center;\ncursor: pointer;\n}\n.jscBtnS {\nline-height: 10px;\n}"; }, bind: function(el) { if (!el.color) { @@ -10968,7 +10965,7 @@ if (Conf["Grayscale Mascots"]) { filters.push(''); } - return Style.mascot.textContent = "#mascot img {\n position: fixed;\n z-index: " + (Conf['Mascots Overlap Posts'] ? '3' : '-1') + ";\n " + (Style.sidebarLocation[0] === "left" ? "" + Style.agent + "transform: scaleX(-1);" : "") + "\n bottom: " + (mascot.position === 'top' ? 'auto' : Conf['Mascot Position'] === 'middle' ? '50%' : (mascot.position === 'bottom' && Conf['Mascot Position'] === 'default') || !$.id('postForm') ? '0' : position) + ";\n " + location + ": " + ((mascot.hOffset || 0) + (Conf['Sidebar'] === 'large' && mascot.center ? 25 : 0)) + "px;\n top: " + (mascot.position === 'top' ? '0' : 'auto') + ";\n height: " + (mascot.height && isNaN(parseFloat(mascot.height)) ? mascot.height : mascot.height ? parseInt(mascot.height, 10) + 'px' : 'auto') + ";\n width: " + (mascot.width && isNaN(parseFloat(mascot.width)) ? mascot.width : mascot.width ? parseInt(mascot.width, 10) + 'px' : 'auto') + ";\n margin-" + location + ": " + (mascot.hOffset || 0) + "px;\n margin-bottom: " + (mascot.vOffset || 0) + "px;\n opacity: " + Conf['Mascot Opacity'] + ";\n pointer-events: none;\n " + (filters.length > 0 ? "filter: url('data:image/svg+xml," + filters.join("") + "#filters');" : "") + "\n " + (Conf['Mascot Position'] === 'middle' ? "" + Style.agent + "transform: translateY(50%);" : '') + "\n}"; + return Style.mascot.textContent = "#mascot img {\n position: fixed;\n z-index: " + (Conf['Mascots Overlap Posts'] ? '3' : '-1') + ";\n " + (Style.sidebarLocation[0] === "left" ? "-moz-box-sizingtransform: scaleX(-1);" : "") + "\n bottom: " + (mascot.position === 'top' ? 'auto' : Conf['Mascot Position'] === 'middle' ? '50%' : (mascot.position === 'bottom' && Conf['Mascot Position'] === 'default') || !$.id('postForm') ? '0' : position) + ";\n " + location + ": " + ((mascot.hOffset || 0) + (Conf['Sidebar'] === 'large' && mascot.center ? 25 : 0)) + "px;\n top: " + (mascot.position === 'top' ? '0' : 'auto') + ";\n height: " + (mascot.height && isNaN(parseFloat(mascot.height)) ? mascot.height : mascot.height ? parseInt(mascot.height, 10) + 'px' : 'auto') + ";\n width: " + (mascot.width && isNaN(parseFloat(mascot.width)) ? mascot.width : mascot.width ? parseInt(mascot.width, 10) + 'px' : 'auto') + ";\n margin-" + location + ": " + (mascot.hOffset || 0) + "px;\n margin-bottom: " + (mascot.vOffset || 0) + "px;\n opacity: " + Conf['Mascot Opacity'] + ";\n pointer-events: none;\n " + (filters.length > 0 ? "filter: url('data:image/svg+xml," + filters.join("") + "#filters');" : "") + "\n " + (Conf['Mascot Position'] === 'middle' ? "-moz-box-sizingtransform: translateY(50%);" : '') + "\n}"; }, categories: ['Anime', 'Ponies', 'Questionable', 'Silhouette', 'Western'], dialog: function(key) { @@ -11384,13 +11381,13 @@ if (setting[2] === 'text') { continue; } - hyphenated = ("" + name + " " + Conf[name]).toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + name + " " + Conf[name]).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); $.addClass(doc, hyphenated); } else { if (!Conf[name]) { continue; } - hyphenated = ("" + name).toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + name).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); $.addClass(doc, hyphenated); } } @@ -11446,8 +11443,6 @@ } }, 500); }, - agent: "-o-", - sizing: "box-sizing", setup: function() { var theme; @@ -11457,7 +11452,8 @@ themeCSS: $.addStyle(Style.theme(theme), 'theme'), icons: $.addStyle("", 'icons'), paddingSheet: $.addStyle("", 'padding'), - mascot: $.addStyle("", 'mascotSheet') + mascot: $.addStyle("", 'mascotSheet'), + dynamic: $.addStyle(Style.dynamic(), 'dynamic') }); $.addStyle(JSColor.css(), 'jsColor'); if (d.head) { @@ -11551,10 +11547,9 @@ return "filter: url(\"data:image/svg+xml,#filters\");"; }, layout: function() { - var agent, css, editSpace, width, xOffset, _conf; + var css, editSpace, width, xOffset, _conf; _conf = Conf; - agent = Style.agent; xOffset = _conf["Sidebar Location"] === "left" ? '-' : ''; Style.pfOffset = _conf['4chan SS Navigation'] && ((_conf['Bottom Header'] && _conf['Fixed Header']) || (g.VIEW === 'index' && _conf['Pagination'] === 'sticky bottom')) ? 1.5 : 0; Style.sidebar = { @@ -11577,14 +11572,14 @@ }; } Style.replyMargin = _conf["Post Spacing"]; - return css = "/* Cleanup */\n#absbot,\n#boardNavDesktop,\n#delPassword,\n#delform > hr:last-of-type,\n#navbotright,\n#postForm,\n#search-label,\n#search-label-bottom,\n#styleSwitcher,\n#togglePostForm,\n.boardBanner > div,\n.mobile,\n.next form,\n.next span,\n.postingMode,\n.prev form,\n.prev span,\n.riced,\n.sideArrows,\n.stylechanger,\nbody > br,\nbody > div[style^=\"text-align\"],\nbody > hr {\n display: none;\n}\n/* Empties */\n#qr .warning:empty,\n#qr-thread-select:empty {\n display: none;\n}\n/* File Name Trunctuate */\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull {\n display: none;\n}\n/* Unnecessary */\n#qp input,\n#qp .rice,\n.inline .rice {\n display: none !important;\n}\n/* Hidden Content */\n.forwarded,\n.hidden,\n.hidden_thread ~ div,\n.hidden_thread ~ a,\n.replyContainer .stub ~ div,\n.replyContainer .stub ~ a,\n.stub + div,\n.thread > .stub:first-child ~ .postContainer,\n.thread > .stub:first-child ~ .summary,\n[hidden] {\n display: none !important;\n}\n/* Hidden UI */\n#catalog,\n#navlinks,\n#navtopright,\n.cataloglink,\n.navLinks,\na[style=\"cursor: pointer; float: right;\"] {\n z-index: 7;\n position: fixed;\n top: 100%;\n left: 100%;\n}\n/* Hide last horizontal rule, keep clear functionality. */\n.board > hr:last-of-type {\n visibility: hidden;\n}\n/* Fappe Tyme */\n.fappeTyme .thread > .noFile,\n.fappeTyme .threadContainer > .noFile {\n display: none;\n}\n/* Defaults */\na {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n outline: none;\n}\nbody,\nhtml {\n min-height: 100%;\n " + Style.sizing + ": border-box;\n}\nbody {\n outline: none;\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n font-family: " + _conf["Font"] + ";\n min-height: 100%;\n margin-top: 0;\n margin-bottom: 0;\n margin-" + Style.sidebarLocation[0] + ": " + (/^boards\.4chan\.org$/.test(location.hostname) ? Style.sidebar : '2') + "px;\n margin-" + Style.sidebarLocation[1] + ": 2px;\n padding: 0 " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px 0 " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"]) + "px;\n}\nbody.unscroll {\n overflow: hidden;\n}\n" + (_conf["4chan SS Sidebar"] && /^boards\.4chan\.org$/.test(location.hostname) ? "body::before { content: ''; position: fixed; top: 0; bottom: 0; " + Style.sidebarLocation[0] + ": 0; width: " + (_conf['Sidebar'] === 'large' ? 305 : _conf['Sidebar'] === 'normal' ? 254 : _conf['Sidebar'] === 'minimal' ? 27 : 0) + "px; z-index: 1; " + Style.sizing + ": border-box; display: block;}body { padding-" + Style.sidebarLocation[0] + ": 2px;}" : "") + "\nbutton,\ninput,\ntextarea {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n font-family: " + _conf["Font"] + ";\n}\nhr {\n clear: both;\n border: 0;\n padding: 0;\n margin: 0 0 1px;\n " + (_conf['Hide Horizontal Rules'] ? 'visibility: hidden;' : '') + "\n}\nth {\n text-align: left;\n}\n.center {\n text-align: center;\n}\n.disabled {\n opacity: 0.5;\n}\n.pointer {\n cursor: pointer;\n}\n/* Symbols */\n.drop-marker {\n vertical-align: middle;\n display: inline-block;\n margin: 2px 2px 3px;\n border-top: .5em solid;\n border-right: .3em solid transparent;\n border-left: .3em solid transparent;\n}\n.brackets-wrap::before {\n content: \" [\";\n}\n.brackets-wrap::after {\n content: \"] \";\n}\n/* Thread / Reply Nav */\n#navlinks a {\n position: fixed;\n z-index: 12;\n opacity: 0.5;\n display: inline-block;\n border-right: 6px solid transparent;\n border-left: 6px solid transparent;\n margin: 1.5px;\n}\n/* Header */\n#header-bar {\n z-index: 6;\n border-width: 1px;\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 2px;" : "") + "\n text-align: " + _conf["Navigation Alignment"] + ";\n}\n#shortcuts {\n float: right;\n}\n.fixed #header-bar.autohide {\n z-index: 24;\n}\n.fixed #header-bar {\n position: fixed;\n}\n.top #header-bar {\n top: 0;\n border-top-width: 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : "") + "\"\n}\n.fixed.bottom #header-bar {\n bottom: 0;\n border-bottom-width: 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\"\n}\n.hide #header-bar {\n position: fixed;\n top: 110%;\n bottom: auto;\n}\n/* Header Autohide */\n.fixed #header-bar.autohide:not(:hover) {\n box-shadow: none;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar.autohide:not(:hover) {\n margin-bottom: -1em;\n " + agent + "transform: translateY(-100%);\n}\n.fixed.bottom #header-bar.autohide:not(:hover) {\n " + agent + "transform: translateY(100%);\n}\n#scroll-marker {\n left: 0;\n right: 0;\n height: 10px;\n position: absolute;\n}\n#header-bar #scroll-marker {\n display: none;\n}\n.fixed #header-bar #scroll-marker {\n display: block;\n}\n.fixed.top header-bar #scroll-marker {\n top: 100%;\n}\n.fixed.bottom #header-bar #scroll-marker {\n bottom: 100%;\n}\n/* Notifications */\n#notifications {\n position: fixed;\n top: 0;\n text-align: center;\n right: 0;\n left: 0;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar #notifications {\n position: absolute;\n top: 100%;\n}\n.notification {\n font-family: " + _conf["Font"] + ";\n font-size: " + (parseInt(_conf["Font Size"], 10)) + ";\n color: #fff;\n font-weight: 700;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .5);\n box-shadow: 0 1px 2px rgba(0, 0, 0, .15);\n border-radius: 2px;\n margin: 1px auto;\n width: 500px;\n max-width: 100%;\n position: relative;\n transition: all .25s ease-in-out;\n}\n.notification.error {\n background-color: hsla(0, 100%, 38%, .9);\n}\n.notification.warning {\n background-color: hsla(36, 100%, 38%, .9);\n}\n.notification.info {\n background-color: hsla(200, 100%, 38%, .9);\n}\n.notification.success {\n background-color: hsla(104, 100%, 38%, .9);\n}\n.notification a {\n color: #fff;\n}\n.notification > .close {\n padding: 6px;\n top: 0;\n right: 5px;\n position: absolute;\n color: #fff;\n}\n.message {\n " + Style.sizing + ": border-box;\n padding: 6px 20px;\n max-height: 200px;\n width: 100%;\n overflow: auto;\n}\n/* Main Menu */\n#main-menu {\n margin: 0;\n border: 2px solid;\n border-radius: 10px;\n height: 14px;\n width: 14px;\n " + Style.sizing + ": border-box;\n border-color: rgb(130,130,130);\n color: rgb(130,130,130);\n}\n#main-menu::after {\n content: '';\n font-size: 10px;\n position: absolute;\n top: 50%;\n left: 50%;\n " + agent + "transform: translate(-60%, -50%);\n display: block;\n border-top: 5px solid rgb(130, 130, 130);\n border-left: 3px solid transparent;\n border-right: 3px solid transparent;\n width: 7px;\n " + Style.sizing + ": border-box;\n}\n/* Updater / Thread Stats */\n.float #thread-stats,\n.float #updater {\n position: fixed;\n}\n#update-status.new::after {\n content: ', ';\n}\n/* Pagination */\n.pagelist {\n border-width: 1px;\n text-align: " + _conf["Pagination Alignment"] + ";\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + { + return css = "/* Cleanup */\n#absbot,\n#boardNavDesktop,\n#delPassword,\n#delform > hr:last-of-type,\n#navbotright,\n#postForm,\n#search-label,\n#search-label-bottom,\n#styleSwitcher,\n#togglePostForm,\n.boardBanner > div,\n.mobile,\n.next form,\n.next span,\n.postingMode,\n.prev form,\n.prev span,\n.riced,\n.sideArrows,\n.stylechanger,\nbody > br,\nbody > div[style^=\"text-align\"],\nbody > hr {\n display: none;\n}\n/* Empties */\n#qr .warning:empty,\n#qr-thread-select:empty {\n display: none;\n}\n/* File Name Trunctuate */\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull {\n display: none;\n}\n/* Unnecessary */\n#qp input,\n#qp .rice,\n.inline .rice {\n display: none !important;\n}\n/* Hidden Content */\n.forwarded,\n.hidden,\n.hidden_thread ~ div,\n.hidden_thread ~ a,\n.replyContainer .stub ~ div,\n.replyContainer .stub ~ a,\n.stub + div,\n.thread > .stub:first-child ~ .postContainer,\n.thread > .stub:first-child ~ .summary,\n[hidden] {\n display: none !important;\n}\n/* Hidden UI */\n#catalog,\n#navlinks,\n#navtopright,\n.cataloglink,\n.navLinks,\na[style=\"cursor: pointer; float: right;\"] {\n z-index: 7;\n position: fixed;\n top: 100%;\n left: 100%;\n}\n/* Hide last horizontal rule, keep clear functionality. */\n.board > hr:last-of-type {\n visibility: hidden;\n}\n/* Fappe Tyme */\n.fappeTyme .thread > .noFile,\n.fappeTyme .threadContainer > .noFile {\n display: none;\n}\n/* Defaults */\na {\n text-decoration: none;\n outline: none;\n}\n.underline-links a {\n text-decoration: underline;\n}\nbody,\nhtml {\n min-height: 100%;\n -moz-box-sizing: border-box;\n}\nbody {\n outline: none;\n min-height: 100%;\n}\n.sidebar-hide body {\n margin: 0 2px;\n}\n.sidebar-minimal body {\n margin: 0 20px;\n}\n.sidebar-normal body {\n margin: 0 252px\n}\n.sidebar-large body {\n margin: 0 303px;\n}\n.sidebar-location-right body {\n margin-left: 2px;\n}\n.sidebar-location-left body {\n margin-right: 2px;\n}\nbody.unscroll {\n overflow: hidden;\n}\n.fourchan-ss-sidebar body::before {\n content: '';\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: 1;\n -moz-box-sizing: border-box;\n display: block;\n}\n.sidebar-right body::before {\n right: 0;\n}\nsidebar-left body::before {\n left: 0;\n}\n.fourchan-ss-sidebar.sidebar-right body {\n padding-right: 2px;\n}\n.fourchan-ss-sidebar.sidebar-left body {\n padding-left: 2px;\n}\nhr {\n clear: both;\n border: 0;\n padding: 0;\n margin: 0 0 1px;\n}\n.hide-horizontal-rules hr {\n visibility: hidden;\n}\nth {\n text-align: left;\n}\n.center {\n text-align: center;\n}\n.disabled {\n opacity: 0.5;\n}\n.pointer {\n cursor: pointer;\n}\n/* Symbols */\n.drop-marker {\n vertical-align: middle;\n display: inline-block;\n margin: 2px 2px 3px;\n border-top: .5em solid;\n border-right: .3em solid transparent;\n border-left: .3em solid transparent;\n}\n.brackets-wrap::before {\n content: \" [\";\n}\n.brackets-wrap::after {\n content: \"] \";\n}\n/* Thread / Reply Nav */\n#navlinks a {\n position: fixed;\n z-index: 12;\n opacity: 0.5;\n display: inline-block;\n border-right: 6px solid transparent;\n border-left: 6px solid transparent;\n margin: 1.5px;\n}\n/* Header */\n#header-bar {\n z-index: 6;\n border-width: 1px;\n}\n.navigation-alignment-center #header-bar {\n text-align: center;\n}\n.navigation-alignment-right #header-bar {\n text-align: right;\n}\n.fourchan-ss-navigation #header-bar {\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n border-radius: 0 !important;\n}\n.hide-navigation-decorations #header-bar {\n font-size: 0;\n color: transparent;\n word-spacing: 2px;\n}\n#shortcuts {\n float: right;\n}\n.fixed #header-bar.autohide {\n z-index: 24;\n}\n.fixed #header-bar {\n position: fixed;\n}\n.top #header-bar {\n top: 0;\n border-top-width: 0;\n}\n.rounded-edges.top #header-bar {\n border-radius: 0 0 3px 3px;\n}\n.fixed.bottom #header-bar {\n bottom: 0;\n border-bottom-width: 0;\n}\n.rounded-edges.bottom #header-bar {\n border-radius: 3px 3px 0 0;\n}\n.hide #header-bar {\n position: fixed;\n top: 110%;\n bottom: auto;\n}\n/* Header Autohide */\n.fixed #header-bar.autohide:not(:hover) {\n box-shadow: none;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar.autohide:not(:hover) {\n margin-bottom: -1em;\n -moz-transform: translateY(-100%);\n}\n.fixed.bottom #header-bar.autohide:not(:hover) {\n -moz-transform: translateY(100%);\n}\n#scroll-marker {\n left: 0;\n right: 0;\n height: 10px;\n position: absolute;\n}\n#header-bar #scroll-marker {\n display: none;\n}\n.fixed #header-bar #scroll-marker {\n display: block;\n}\n.fixed.top header-bar #scroll-marker {\n top: 100%;\n}\n.fixed.bottom #header-bar #scroll-marker {\n bottom: 100%;\n}\n/* Notifications */\n#notifications {\n position: fixed;\n top: 0;\n text-align: center;\n right: 0;\n left: 0;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar #notifications {\n position: absolute;\n top: 100%;\n}\n.notification {\n font-family: " + _conf["Font"] + ";\n font-size: " + (parseInt(_conf["Font Size"], 10)) + ";\n color: #fff;\n font-weight: 700;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .5);\n box-shadow: 0 1px 2px rgba(0, 0, 0, .15);\n border-radius: 2px;\n margin: 1px auto;\n width: 500px;\n max-width: 100%;\n position: relative;\n transition: all .25s ease-in-out;\n}\n.notification.error {\n background-color: hsla(0, 100%, 38%, .9);\n}\n.notification.warning {\n background-color: hsla(36, 100%, 38%, .9);\n}\n.notification.info {\n background-color: hsla(200, 100%, 38%, .9);\n}\n.notification.success {\n background-color: hsla(104, 100%, 38%, .9);\n}\n.notification a {\n color: #fff;\n}\n.notification > .close {\n padding: 6px;\n top: 0;\n right: 5px;\n position: absolute;\n color: #fff;\n}\n.message {\n -moz-box-sizing: border-box;\n padding: 6px 20px;\n max-height: 200px;\n width: 100%;\n overflow: auto;\n}\n/* Main Menu */\n#main-menu {\n margin: 0;\n border: 2px solid;\n border-radius: 10px;\n height: 14px;\n width: 14px;\n -moz-box-sizing: border-box;\n border-color: rgb(130,130,130);\n color: rgb(130,130,130);\n}\n#main-menu::after {\n content: '';\n font-size: 10px;\n position: absolute;\n top: 50%;\n left: 50%;\n -moz-transform: translate(-60%, -50%);\n display: block;\n border-top: 5px solid rgb(130, 130, 130);\n border-left: 3px solid transparent;\n border-right: 3px solid transparent;\n width: 7px;\n -moz-box-sizing: border-box;\n}\n/* Updater / Thread Stats */\n.float #thread-stats,\n.float #updater {\n position: fixed;\n}\n#update-status.new::after {\n content: ', ';\n}\n/* Pagination */\n.pagelist {\n border-width: 1px;\n text-align: " + _conf["Pagination Alignment"] + ";\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + { "sticky top": " position: fixed; top: 0; border-top-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : ""), "sticky bottom": " position: fixed; bottom: 0; border-bottom-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : ""), "top": " position: static; border-top-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : ""), "bottom": " position: static; " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : ""), "hide": " display: none;", - "on side": " position: fixed; padding: 0; top: auto; bottom: " + (['fixed', 'transparent fade'].contains(_conf['Post Form Style']) ? 21.6 + (Conf['Show Post Form Header'] ? 1.5 : 0) + (Conf['Post Form Decorations'] ? 0.2 : 0) : .5) + "em; " + Style.sidebarLocation[1] + ": auto; " + Style.sidebarLocation[0] + ": " + (Style.sidebar - 2) + "px; position: fixed;" + (Style.sidebarLocation[0] === 'right' ? " " + agent + "transform: rotate(90deg); " + agent + "transform-origin: bottom right;" : " " + agent + "transform: rotate(-90deg); " + agent + "transform-origin: bottom left;") + " z-index: 6; margin: 0; background: none transparent !important; border: 0 none !important; text-align: right;" - }[_conf['Pagination']] + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 0;" : "") + "\n z-index: 6;\n}\n.pagelist input,\n.pagelist div {\n vertical-align: middle;\n}\n#header-bar a {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n}\n" + (_conf["Hide Navigation Decorations"] ? ".pages a { margin: 0 1px; font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;}" : "") + "\n.next,\n.pages,\n.prev {\n display: inline-block;\n margin: 0 3px;\n}\n/* Banner */\n.boardBanner {\n line-height: 0;\n}\n" + (_conf["Faded 4chan Banner"] ? ".boardBanner { opacity: 0.5; " + agent + "transition: opacity 0.3s ease-in-out .5s;}.boardBanner:hover { opacity: 1; " + agent + "transition: opacity 0.3s ease-in;}" : "") + "\n" + (_conf["4chan Banner Reflection"] ? "/* From 4chan SS / OneeChan */.gecko .boardBanner::after { background-image: -moz-element(#Banner); bottom: -100%; content: ''; left: 0; mask: url(\"data:image/svg+xml, #mask\"); opacity: 0.3; position: absolute; right: 0; top: 100%; -moz-transform: scaleY(-1); z-index: -1;}.webkit #Banner { -webkit-box-reflect: below 0 -webkit-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0) 10%, rgba(255,255,255,.5));}" : "") + "\n" + { + "on side": " position: fixed; padding: 0; top: auto; bottom: " + (['fixed', 'transparent fade'].contains(_conf['Post Form Style']) ? 21.6 + (Conf['Show Post Form Header'] ? 1.5 : 0) + (Conf['Post Form Decorations'] ? 0.2 : 0) : .5) + "em; " + Style.sidebarLocation[1] + ": auto; " + Style.sidebarLocation[0] + ": " + (Style.sidebar - 2) + "px; position: fixed;" + (Style.sidebarLocation[0] === 'right' ? " -moz-transform: rotate(90deg); -moz-transform-origin: bottom right;" : " -moz-transform: rotate(-90deg); -moz-transform-origin: bottom left;") + " z-index: 6; margin: 0; background: none transparent !important; border: 0 none !important; text-align: right;" + }[_conf['Pagination']] + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 0;" : "") + "\n z-index: 6;\n}\n.pagelist input,\n.pagelist div {\n vertical-align: middle;\n}\n#header-bar a {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n}\n" + (_conf["Hide Navigation Decorations"] ? ".pages a { margin: 0 1px; font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;}" : "") + "\n.next,\n.pages,\n.prev {\n display: inline-block;\n margin: 0 3px;\n}\n/* Banner */\n.boardBanner {\n line-height: 0;\n}\n" + (_conf["Faded 4chan Banner"] ? ".boardBanner { opacity: 0.5; -moz-transition: opacity 0.3s ease-in-out .5s;}.boardBanner:hover { opacity: 1; -moz-transition: opacity 0.3s ease-in;}" : "") + "\n" + (_conf["4chan Banner Reflection"] ? "/* From 4chan SS / OneeChan */.gecko .boardBanner::after { background-image: -moz-element(#Banner); bottom: -100%; content: ''; left: 0; mask: url(\"data:image/svg+xml, #mask\"); opacity: 0.3; position: absolute; right: 0; top: 100%; -moz-transform: scaleY(-1); z-index: -1;}.webkit #Banner { -webkit-box-reflect: below 0 -webkit-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0) 10%, rgba(255,255,255,.5));}" : "") + "\n" + { "at sidebar top": ".boardBanner { position: fixed; top: 16px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", "at sidebar bottom": ".boardBanner { position: fixed; bottom: 270px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", "under post form": " .boardBanner { position: fixed; bottom: 130px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", @@ -11596,36 +11591,63 @@ "under post form": " position: fixed; " + Style.sidebarLocation[0] + ": 2px; bottom: 140px; width: " + width + "px;", "at top": " margin: 12px 0;", "hide": " display: none;" - }[_conf["Board Title"]] + "\n}\n.boardTitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) + 10) + "px;\n}\n.boardSubtitle,\n.boardSubtitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) - 1) + "px;\n}\n" + (!_conf['Board Subtitle'] ? ".boardSubtitle { display: none; }" : "") + "\n/* Dialogs */\n.move {\n cursor: pointer;\n}\n#ihover {\n position: fixed;\n max-height: 97%;\n max-width: 75%;\n padding: 10px;\n z-index: 22;\n}\n#qp {\n position: fixed;\n z-index: 22;\n}\n#qp .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n#qp .full-image {\n max-height: 300px;\n max-width: 500px;\n}\n#menu {\n position: fixed;\n outline: none;\n z-index: 22;\n}\n/* Image Expansion */\n.fit-width .full-image {\n max-width: 100%;\n width: 100%;\n}\n" + (_conf['Images Overlap Post Form'] ? ".full-image { position: relative; z-index: 21;}" : "") + "\n/* Delete Buttons */\n" + (_conf['Hide Delete UI'] ? ".deleteform,.post:not(#exlinks-options) .rice { display: none;}.postInfo { padding: 0 0 0 3px;}" : ".deleteform { position: fixed; z-index: 18; width: 0; bottom: 0; right: 0; border-width: 1px 0 0 1px; border-style: solid; font-size: 0; color: transparent;}.deleteform:hover { width: auto;}.deleteform::before { z-index: 18; border-width: 1px 0 0 1px; border-style: solid; content: 'X'; display: block; position: fixed; bottom: 0; right: 0; font-size: " + _conf['Font Size'] + "px; " + Style.sizing + ": border-box; height: 1.6em; width: 1.4em; text-align: center;}.deleteform:hover::before { display: none;}.deleteform input { margin: 0 1px 0 0;}") + "\n/* Slideout Navigation */\n#boardNavDesktopFoot {\n position: fixed;\n width: " + width + "px;\n " + Style.sidebarLocation[0] + ": 2px;\n text-align: center;\n font-size: 0;\n color: transparent;\n overflow: hidden;\n " + Style.sizing + ": border-box;\n}\n#boardNavDesktopFoot a,\n#boardNavDesktopFoot a::after,\n#boardNavDesktopFoot a::before {\n font-size: " + _conf['Font Size'] + "px;\n}\n#boardNavDesktopFoot:hover {\n overflow-y: auto;\n padding: 2px;\n}\n#boardNavDesktopFoot:not(:hover) {\n border-color: transparent;\n background-color: transparent;\n height: 0;\n overflow: hidden;\n padding: 0;\n border: 0 none;\n}\n" + { + }[_conf["Board Title"]] + "\n}\n.boardTitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) + 10) + "px;\n}\n.boardSubtitle,\n.boardSubtitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) - 1) + "px;\n}\n" + (!_conf['Board Subtitle'] ? ".boardSubtitle { display: none; }" : "") + "\n/* Dialogs */\n.move {\n cursor: pointer;\n}\n#ihover {\n position: fixed;\n max-height: 97%;\n max-width: 75%;\n padding: 10px;\n z-index: 22;\n}\n#qp {\n position: fixed;\n z-index: 22;\n}\n#qp .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n#qp .full-image {\n max-height: 300px;\n max-width: 500px;\n}\n#menu {\n position: fixed;\n outline: none;\n z-index: 22;\n}\n/* Image Expansion */\n.fit-width .full-image {\n max-width: 100%;\n width: 100%;\n}\n" + (_conf['Images Overlap Post Form'] ? ".full-image { position: relative; z-index: 21;}" : "") + "\n/* Delete Buttons */\n" + (_conf['Hide Delete UI'] ? ".deleteform,.post:not(#exlinks-options) .rice { display: none;}.postInfo { padding: 0 0 0 3px;}" : ".deleteform { position: fixed; z-index: 18; width: 0; bottom: 0; right: 0; border-width: 1px 0 0 1px; border-style: solid; font-size: 0; color: transparent;}.deleteform:hover { width: auto;}.deleteform::before { z-index: 18; border-width: 1px 0 0 1px; border-style: solid; content: 'X'; display: block; position: fixed; bottom: 0; right: 0; font-size: " + _conf['Font Size'] + "px; -moz-box-sizing: border-box; height: 1.6em; width: 1.4em; text-align: center;}.deleteform:hover::before { display: none;}.deleteform input { margin: 0 1px 0 0;}") + "\n/* Slideout Navigation */\n#boardNavDesktopFoot {\n position: fixed;\n width: " + width + "px;\n " + Style.sidebarLocation[0] + ": 2px;\n text-align: center;\n font-size: 0;\n color: transparent;\n overflow: hidden;\n -moz-box-sizing: border-box;\n}\n#boardNavDesktopFoot a,\n#boardNavDesktopFoot a::after,\n#boardNavDesktopFoot a::before {\n font-size: " + _conf['Font Size'] + "px;\n}\n#boardNavDesktopFoot:hover {\n overflow-y: auto;\n padding: 2px;\n}\n#boardNavDesktopFoot:not(:hover) {\n border-color: transparent;\n background-color: transparent;\n height: 0;\n overflow: hidden;\n padding: 0;\n border: 0 none;\n}\n" + { compact: "#boardNavDesktopFoot { word-spacing: 1px;}", list: "#boardNavDesktopFoot a { display: block;}#boardNavDesktopFoot:hover { max-height: 400px;}#boardNavDesktopFoot a::after { content: ' - ' attr(title);}#boardNavDesktopFoot a[href*='//boards.4chan.org/']::after,#boardNavDesktopFoot a[href*='//rs.4chan.org/']::after { content: '/ - ' attr(title);}#boardNavDesktopFoot a[href*='//boards.4chan.org/']::before,#boardNavDesktopFoot a[href*='//rs.4chan.org/']::before { content: '/';}", hide: "#boardNavDesktopFoot { display: none;}" - }[_conf["Slideout Navigation"]] + "\n/* Watcher */\n#watcher {\n position: fixed;\n z-index: 14;\n padding: 2px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#watcher > div {\n max-height: 1.3em;\n overflow: hidden;\n}\n" + (_conf['Slideout Watcher'] ? "#watcher { width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; " + Style.sizing + ": border-box;}#watcher .move { cursor: default; text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";}#watcher > div { overflow: hidden;}#watcher:hover { overflow-y: auto;}#watcher:not(:hover) { height: 0; overflow: hidden; border: 0 none; padding: 0;}" : "#watcher { width: 200px;}#watcher:not(:hover) { max-height: 200px; overflow: hidden;}") + "\n.watch-thread-link {\n padding-top: 18px;\n width: 18px;\n height: 0px;\n display: inline-block;\n background-repeat: no-repeat;\n opacity: 0.2;\n position: relative;\n top: 1px;\n}\n.watch-thread-link.watched {\n opacity: 1;\n} \n/* Announcements */\n#globalMessage {\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n" + ({ - 'slideout': "#globalMessage { position: fixed; padding: 2px; width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important;}#globalMessage h3 { margin: 0;}#globalMessage:hover { " + Style.sizing + ": border-box; overflow-y: auto;}#globalMessage:not(:hover) { height: 0; overflow: hidden; padding: 0; border: 0 none;}", + }[_conf["Slideout Navigation"]] + "\n/* Watcher */\n#watcher {\n position: fixed;\n z-index: 14;\n padding: 2px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#watcher > div {\n max-height: 1.3em;\n overflow: hidden;\n}\n" + (_conf['Slideout Watcher'] ? "#watcher { width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; -moz-box-sizing: border-box;}#watcher .move { cursor: default; text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";}#watcher > div { overflow: hidden;}#watcher:hover { overflow-y: auto;}#watcher:not(:hover) { height: 0; overflow: hidden; border: 0 none; padding: 0;}" : "#watcher { width: 200px;}#watcher:not(:hover) { max-height: 200px; overflow: hidden;}") + "\n.watch-thread-link {\n padding-top: 18px;\n width: 18px;\n height: 0px;\n display: inline-block;\n background-repeat: no-repeat;\n opacity: 0.2;\n position: relative;\n top: 1px;\n}\n.watch-thread-link.watched {\n opacity: 1;\n} \n/* Announcements */\n#globalMessage {\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n" + ({ + 'slideout': "#globalMessage { position: fixed; padding: 2px; width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important;}#globalMessage h3 { margin: 0;}#globalMessage:hover { -moz-box-sizing: border-box; overflow-y: auto;}#globalMessage:not(:hover) { height: 0; overflow: hidden; padding: 0; border: 0 none;}", 'hide': "#globalMessage { display: none !important;}" - }[_conf['Announcements']] || "") + "\n/* Threads */\n.thread {\n margin: " + (parseInt(_conf["Top Thread Padding"], 10)) + "px 0 " + (parseInt(_conf["Bottom Thread Padding"], 10)) + "px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 4px;" : "") + "\n}\n/* Thread Clearfix */\n.thread > div:last-of-type::after {\n display: block;\n content: ' ';\n clear: both;\n}\n/* Posts */\n.expanding {\n opacity: .5;\n}\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull,\n.expanded-image > .post > .file > .fileThumb > img[data-md5],\n.post > .file > .fileThumb > .full-image {\n display: none;\n}\n.expanded-image > .post > .file > .fileThumb > .full-image {\n display: block;\n}\n.post,\n.summary,\n.threadContainer {\n margin-bottom: " + Style.replyMargin + "px;\n}\n.replyContainer:last-of-type .post {\n margin-bottom: 0;\n}\n.menu-button {\n position: relative;\n}\n.stub .menu-button,\n.post .menu-button,\n.hide-thread-button,\n.show-thread-button span,\n.hide-reply-button,\n.show-reply-button span {\n float: right;\n}\n.post .menu-button,\n.hide-thread-button,\n.hide-reply-button {\n margin: 0 3px;\n opacity: 0;\n " + agent + "transition: opacity .3s ease-out 0s;\n}\n.post:hover .hide-reply-button,\n.post:hover .menu-button,\n.post:hover .hide-thread-button,\n.hidden_thread .hide-thread-button,\n.hidden_thread .menu-button,\n.inline .hide-reply-button,\n.inline .menu-button {\n opacity: 1;\n}\n.hidden_thread {\n text-align: right;\n}\n" + (_conf['Color user IDs'] ? ".posteruid .hand { padding: .1em .3em; border-radius: 1em; font-size: 80%;}" : "") + "\n.postInfo > span {\n vertical-align: bottom;\n}\n.subject,\n.name {\n " + (_conf["Bolds"] ? 'font-weight: 600;' : '') + "\n}\n.postertrip {\n " + (_conf["Italics"] ? 'font-style: italic;' : '') + "\n}\n.replylink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.fileInfo {\n padding: 0 3px;\n}\n.fileThumb {\n float: left;\n margin: 3px 20px;\n outline: none;\n}\n.reply.post {\n " + Style.sizing + ": border-box;\n}\n" + (_conf["Fit Width Replies"] ? ".reply.post { display: block; overflow: hidden;}.expanded-image .reply.post,.hasInline .reply.post { width: 100%;}" : ".reply.post { display: inline-block;}") + "\n" + (_conf["Indent Replies"] ? ".thread > .replyContainer,.threadContainer > .replyContainer { margin-left: 2em;}" : '') + "\n.expanded-image .reply.post,\n.hasInline .reply.post {\n display: inline-block;\n overflow: visible;\n clear: both;\n}\n.post {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.postMessage {\n margin: " + _conf['Vertical Post Padding'] + "px " + _conf['Horizontal Post Padding'] + "px;\n}\n.spoiler,\ns {\n text-decoration: none;\n}\n/* Reply Clearfix */\n.reply.post .postMessage {\n clear: right;\n}\n" + (_conf['Force Reply Break'] || _conf["OP Background"] ? ".op.post .postMessage::after { display: block; content: ' '; clear: both;}" : "") + "\n/* OP */\n.favicon {\n vertical-align: bottom;\n}\n" + (_conf["OP Background"] ? ".op.post { " + Style.sizing + ": border-box;}" : "") + "\n/* Summary */\n" + (_conf["Force Reply Break"] ? ".summary { clear: both;}" : "") + "\n/* Inlined */\n.inline {\n margin: 2px 8px 2px 2px;\n}\n.post .inline {\n margin: 2px;\n}\n.inline .replyContainer {\n display: inline-block;\n}\n/* Inlined Clearfix */\n.inline .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n/* Quotes */\n.inlined {\n opacity: .5;\n}\n.quotelink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.filtered,\n.quotelink.filtered {\n text-decoration: underline;\n text-decoration: line-through !important;\n}\n.inline + .hashlink {\n display: none;\n}\n/* Quote Threading */\n.threadContainer {\n " + (_conf["Indent Replies"] ? "margin" : "padding") + "-left: 2em;\n border-left: 1px solid;\n}\n.threadOP {\n clear: both;\n}\n/* Backlinks */\n.backlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.backlink.dead {\n text-decoration: none;\n}\n" + (_conf["Filtered Backlinks"] ? ".filtered.backlink { display: none;}" : void 0) + "\n" + { + }[_conf['Announcements']] || "") + "\n/* Threads */\n.thread {\n margin: " + (parseInt(_conf["Top Thread Padding"], 10)) + "px 0 " + (parseInt(_conf["Bottom Thread Padding"], 10)) + "px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 4px;" : "") + "\n}\n/* Thread Clearfix */\n.thread > div:last-of-type::after {\n display: block;\n content: ' ';\n clear: both;\n}\n/* Posts */\n.expanding {\n opacity: .5;\n}\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull,\n.expanded-image > .post > .file > .fileThumb > img[data-md5],\n.post > .file > .fileThumb > .full-image {\n display: none;\n}\n.expanded-image > .post > .file > .fileThumb > .full-image {\n display: block;\n}\n.post,\n.summary,\n.threadContainer {\n margin-bottom: " + Style.replyMargin + "px;\n}\n.replyContainer:last-of-type .post {\n margin-bottom: 0;\n}\n.menu-button {\n position: relative;\n}\n.stub .menu-button,\n.post .menu-button,\n.hide-thread-button,\n.show-thread-button span,\n.hide-reply-button,\n.show-reply-button span {\n float: right;\n}\n.post .menu-button,\n.hide-thread-button,\n.hide-reply-button {\n margin: 0 3px;\n opacity: 0;\n -moz-transition: opacity .3s ease-out 0s;\n}\n.post:hover .hide-reply-button,\n.post:hover .menu-button,\n.post:hover .hide-thread-button,\n.hidden_thread .hide-thread-button,\n.hidden_thread .menu-button,\n.inline .hide-reply-button,\n.inline .menu-button {\n opacity: 1;\n}\n.hidden_thread {\n text-align: right;\n}\n" + (_conf['Color user IDs'] ? ".posteruid .hand { padding: .1em .3em; border-radius: 1em; font-size: 80%;}" : "") + "\n.postInfo > span {\n vertical-align: bottom;\n}\n.subject,\n.name {\n " + (_conf["Bolds"] ? 'font-weight: 600;' : '') + "\n}\n.postertrip {\n " + (_conf["Italics"] ? 'font-style: italic;' : '') + "\n}\n.replylink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.fileInfo {\n padding: 0 3px;\n}\n.fileThumb {\n float: left;\n margin: 3px 20px;\n outline: none;\n}\n.reply.post {\n -moz-box-sizing: border-box;\n}\n" + (_conf["Fit Width Replies"] ? ".reply.post { display: block; overflow: hidden;}.expanded-image .reply.post,.hasInline .reply.post { width: 100%;}" : ".reply.post { display: inline-block;}") + "\n" + (_conf["Indent Replies"] ? ".thread > .replyContainer,.threadContainer > .replyContainer { margin-left: 2em;}" : '') + "\n.expanded-image .reply.post,\n.hasInline .reply.post {\n display: inline-block;\n overflow: visible;\n clear: both;\n}\n.post {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.postMessage {\n margin: " + _conf['Vertical Post Padding'] + "px " + _conf['Horizontal Post Padding'] + "px;\n}\n.spoiler,\ns {\n text-decoration: none;\n}\n/* Reply Clearfix */\n.reply.post .postMessage {\n clear: right;\n}\n" + (_conf['Force Reply Break'] || _conf["OP Background"] ? ".op.post .postMessage::after { display: block; content: ' '; clear: both;}" : "") + "\n/* OP */\n.favicon {\n vertical-align: bottom;\n}\n" + (_conf["OP Background"] ? ".op.post { -moz-box-sizing: border-box;}" : "") + "\n/* Summary */\n" + (_conf["Force Reply Break"] ? ".summary { clear: both;}" : "") + "\n/* Inlined */\n.inline {\n margin: 2px 8px 2px 2px;\n}\n.post .inline {\n margin: 2px;\n}\n.inline .replyContainer {\n display: inline-block;\n}\n/* Inlined Clearfix */\n.inline .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n/* Quotes */\n.inlined {\n opacity: .5;\n}\n.quotelink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.filtered,\n.quotelink.filtered {\n text-decoration: underline;\n text-decoration: line-through !important;\n}\n.inline + .hashlink {\n display: none;\n}\n/* Quote Threading */\n.threadContainer {\n " + (_conf["Indent Replies"] ? "margin" : "padding") + "-left: 2em;\n border-left: 1px solid;\n}\n.threadOP {\n clear: both;\n}\n/* Backlinks */\n.backlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.backlink.dead {\n text-decoration: none;\n}\n" + (_conf["Filtered Backlinks"] ? ".filtered.backlink { display: none;}" : void 0) + "\n" + { "lower left": ".container { padding: 0 5px; max-width: 100%;}.reply.quoted { position: relative; padding-bottom: 1.7em;}.reply .container { position: absolute; left: 0; bottom: 0; padding: 0 5px;}.reply .container::before { content: 'REPLIES: ';}#qp .container { position: static; max-width: 100%;}#qp .container::before { content: '';}.inline .container { position: static; max-width: 100%;}.inline .container::before { content: '';}", 'lower right': ".reply.quoted { position: relative; padding-bottom: 1.7em;}.reply .container { position: absolute; right: 0; bottom: 0;}.container::before { content: 'REPLIES: ';}.container { max-width: 100%; padding: 0 5px;}#qp .container { position: static; max-width: 100%;}#qp .container::before { content: '';}.inline .container { position: static; float: none;}.inline .container::before { content: '';}", 'default': "" - }[_conf["Backlinks Position"]] + "\n/* Code */\n.prettyprint {\n " + Style.sizing + ": border-box;\n font-family: monospace;\n display: inline-block;\n margin-right: auto;\n white-space: pre-wrap;\n border-radius: 2px;\n overflow-x: auto;\n padding: 3px;\n max-width: 100%;\n}\n/* Menu */\n.entry {\n border-bottom: 1px solid rgba(0,0,0,.25);\n cursor: pointer;\n display: block;\n outline: none;\n padding: 3px 1em 3px 7px;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n}\n.entry:last-child {\n border-bottom: 0;\n}\n.has-submenu::after {\n content: \"\";\n border-left: .5em solid;\n border-top: .3em solid transparent;\n border-bottom: .3em solid transparent;\n display: inline-block;\n margin: .3em;\n position: absolute;\n right: 0;\n}\n.submenu {\n display: none;\n position: absolute;\n top: -1px;\n}\n.focused .submenu {\n display: block;\n}\n/* Stubs */\n" + (_conf['Fit Width Replies'] ? ".stub { display: block; text-align: right;}" : "") + "\n/* Emoji */\n" + (_conf["Emoji"] !== "disable" ? Emoji.css(_conf["Emoji Position"]) : "") + "\n/* Element Replacing */\n/* Checkboxes */\n.rice {\n cursor: pointer;\n width: 9px;\n height: 9px;\n margin: 2px 3px 3px;\n display: inline-block;\n vertical-align: bottom;\n " + (_conf["Rounded Edges"] ? "border-radius: 2px;" : "") + "\n " + (_conf["Circle Checkboxes"] ? "border-radius: 6px;" : "") + "\n}\ninput:checked + .rice {\n background-attachment: scroll;\n background-repeat: no-repeat;\n background-position: bottom right;\n}\n/* Selects */\n.selectrice {\n position: relative;\n cursor: default;\n overflow: hidden;\n text-align: left;\n}\n#settings .selectrice {\n display: inline-block;\n}\n.selectrice::after {\n content: \"\";\n border-right: .25em solid transparent;\n border-left: .25em solid transparent;\n position: absolute;\n right: .4em;\n top: .5em;\n}\n.selectrice::before {\n content: \"\";\n height: 1.6em;\n position: absolute;\n right: 1.3em;\n top: 0;\n}\n/* Select Dropdown */\n#selectrice {\n padding: 0;\n margin: 0;\n position: fixed;\n max-height: 120px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 32;\n}\n#selectrice:empty {\n display: none;\n}\n/* Post Form Shortcut */\n.qr-shortcut.on-page {\n font-size: 250%;\n}\n/* Post Form */\n#qr {\n z-index: 20;\n position: fixed;\n padding: 1px;\n border: 1px solid transparent;\n min-width: " + width + "px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n#qrtab {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n\n" + ({ + }[_conf["Backlinks Position"]] + "\n/* Code */\n.prettyprint {\n -moz-box-sizing: border-box;\n font-family: monospace;\n display: inline-block;\n margin-right: auto;\n white-space: pre-wrap;\n border-radius: 2px;\n overflow-x: auto;\n padding: 3px;\n max-width: 100%;\n}\n/* Menu */\n.entry {\n border-bottom: 1px solid rgba(0,0,0,.25);\n cursor: pointer;\n display: block;\n outline: none;\n padding: 3px 1em 3px 7px;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n}\n.entry:last-child {\n border-bottom: 0;\n}\n.has-submenu::after {\n content: \"\";\n border-left: .5em solid;\n border-top: .3em solid transparent;\n border-bottom: .3em solid transparent;\n display: inline-block;\n margin: .3em;\n position: absolute;\n right: 0;\n}\n.submenu {\n display: none;\n position: absolute;\n top: -1px;\n}\n.focused .submenu {\n display: block;\n}\n/* Stubs */\n" + (_conf['Fit Width Replies'] ? ".stub { display: block; text-align: right;}" : "") + "\n/* Emoji */\n" + (_conf["Emoji"] !== "disable" ? Emoji.css(_conf["Emoji Position"]) : "") + "\n/* Element Replacing */\n/* Checkboxes */\n.rice {\n cursor: pointer;\n width: 9px;\n height: 9px;\n margin: 2px 3px 3px;\n display: inline-block;\n vertical-align: bottom;\n " + (_conf["Rounded Edges"] ? "border-radius: 2px;" : "") + "\n " + (_conf["Circle Checkboxes"] ? "border-radius: 6px;" : "") + "\n}\ninput:checked + .rice {\n background-attachment: scroll;\n background-repeat: no-repeat;\n background-position: bottom right;\n}\n/* Selects */\n.selectrice {\n position: relative;\n cursor: default;\n overflow: hidden;\n text-align: left;\n}\n#settings .selectrice {\n display: inline-block;\n}\n.selectrice::after {\n content: \"\";\n border-right: .25em solid transparent;\n border-left: .25em solid transparent;\n position: absolute;\n right: .4em;\n top: .5em;\n}\n.selectrice::before {\n content: \"\";\n height: 1.6em;\n position: absolute;\n right: 1.3em;\n top: 0;\n}\n/* Select Dropdown */\n#selectrice {\n padding: 0;\n margin: 0;\n position: fixed;\n max-height: 120px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 32;\n}\n#selectrice:empty {\n display: none;\n}\n/* Post Form Shortcut */\n.qr-shortcut.on-page {\n font-size: 250%;\n}\n/* Post Form */\n#qr {\n z-index: 20;\n position: fixed;\n padding: 1px;\n border: 1px solid transparent;\n min-width: " + width + "px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n#qrtab {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n\n" + ({ "fixed": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important;}", - "slideout": "#qrtab input,#qrtab .rice { display: none;}#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; " + agent + "transform: translateX(" + xOffset + "93%);}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transform: translate(0);}", - "tabbed slideout": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; " + agent + "transform: translateX(" + xOffset + "100%);}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transform: translateX(0);}#qrtab { " + agent + "transform: rotate(" + (Style.sidebarLocation[0] === "left" ? "" : "-") + "90deg); " + agent + "transform-origin: bottom " + Style.sidebarLocation[0] + "; position: absolute; top: 0; " + Style.sidebarLocation[0] + ": 100%; width: 110px; text-align: center; border-width: 1px 1px 0 1px; cursor: default;}#qr:hover #qrtab,#qr.has-focus #qrtab,#qr.dump #qrtab { opacity: 0;}#qrtab input,#qrtab .close,#qrtab .rice,#qrtab .selectrice,#qrtab span { display: none;}", - "transparent fade": "#qr { overflow: visible; top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; opacity: 0.2; " + agent + "transition: opacity .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { opacity: 1; " + agent + "transition: opacity .3s linear;}" - }[_conf['Post Form Style']] || "") + "\n\n" + (_conf['Post Form Style'] !== 'tabbed slideout' ? (!(_conf['Post Form Style'] === 'float' || _conf['Show Post Form Header']) ? "#qrtab { display: none; }" : _conf['Post Form Style'] !== 'slideout' ? ".autohide:not(:hover):not(.has-focus) > form { display: none !important; }" : "") + "#qrtab { margin-bottom: 1px; }" : "") + "\n\n" + (_conf['Post Form Style'] !== 'float' && _conf["Post Form Slideout Transitions"] ? "#qr { " + agent + "transition: " + agent + "transform .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transition: " + agent + "transform .3s linear;}#qrtab { " + agent + "transition: opacity .3s ease-in-out 1s;}#qr:hover #qrtab { " + agent + "transition: opacity .3s linear;}" : "") + "\n\n#qr .close {\n float: right;\n padding: 0 3px;\n}\n#qr .warning {\n min-height: 1.6em;\n vertical-align: middle;\n padding: 0 1px;\n border-width: 1px;\n border-style: solid;\n}\n.persona {\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n" + (_conf['Compact Post Form Inputs'] ? ".persona input.field { width: 33%;}.persona input.field:not(:first-child) { margin: 0 0 0 0.5%;}#qr textarea.field { height: 14.9em; min-height: 9em;}#qr.has-captcha textarea.field { height: 9em;}" : ".persona input.field { width: 100%;}#qr textarea.field { height: 11.6em; min-height: 6em;}#qr.has-captcha textarea.field { height: 6em;}") + "\n\n" + (_conf["Tripcode Hider"] ? ".tripped:not(:hover):not(:focus) { opacity: 0;}" : "") + "\n\n#qr textarea {\n resize: " + _conf['Textarea Resize'] + ";\n}\n.captcha-img {\n margin: 1px 0 0;\n text-align: center;\n line-height: 0;\n}\n.captcha-img img {\n width: 100%;\n height: 4em;\n width: 246px;\n}\n.captcha-input {\n width: 100%;\n margin: 1px 0 0;\n}\n.field,\n.selectrice,\nbutton,\ninput:not([type=radio]) {\n " + Style.sizing + ": border-box;\n font-size: " + (parseInt(_conf['Font Size'], 10)) + "px;\n height: 1.6em;\n margin: 1px 0 0;\n vertical-align: bottom;\n padding: 0 1px;\n}\n.selectrice {\n padding-right: 1.6em;\n}\n#qr textarea {\n min-width: 100%;\n}\n#qr [type='submit'] {\n width: 25%;\n}\n[type='file'] {\n position: absolute;\n opacity: 0;\n z-index: -1;\n}\n/* Fake File Input */\n#qr-filename,\n#qr-filerm,\n.has-file #qr-no-file {\n display: none;\n}\n#qr-no-file,\n.has-file #qr-filename {\n display: block;\n}\n.has-file #qr-filerm {\n display: inline-block;\n}\n#qr-extras-container {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n}\n#qr-extras-container > label,\n#qr-extras-container > a {\n cursor: pointer;\n margin-right: 3px;\n}\n#qr-filename-container {\n " + Style.sizing + ": border-box;\n display: inline-block;\n position: relative;\n width: 100px;\n min-width: 74.6%;\n max-width: 74.6%;\n margin-right: 0.4%;\n overflow: hidden;\n padding: 2px 1px 0;\n}\n/* Thread Select */\n#qr-thread-select,\n#qr-thread-select .selectrice div {\n display: inline;\n}\n#qr-thread-select .selectrice {\n cursor: pointer;\n display: inline-block;\n width: 120px;\n border: none;\n background: none transparent;\n padding: 0;\n margin: 0;\n height: auto;\n}\n#qr-thread-select .selectrice::before,\n#qr-thread-select .selectrice::after {\n display: none;\n}\n/* Dumping UI */\n.dump #dump-list-container {\n display: block;\n}\n#dump-list-container {\n display: none;\n position: relative;\n overflow-y: hidden;\n margin-top: 1px;\n}\n#dump-list {\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n#dump-list:hover {\n overflow-x: auto;\n}\n.qr-preview {\n " + Style.sizing + ": border-box;\n counter-increment: thumbnails;\n cursor: move;\n display: inline-block;\n height: 90px;\n width: 90px;\n padding: 2px;\n opacity: .5;\n overflow: hidden;\n position: relative;\n text-shadow: 0 1px 1px #000;\n " + agent + "transition: opacity .25s ease-in-out;\n vertical-align: top;\n}\n.qr-preview:hover,\n.qr-preview:focus {\n opacity: .9;\n}\n.qr-preview::before {\n content: counter(thumbnails);\n color: #fff;\n position: absolute;\n top: 3px;\n right: 3px;\n text-shadow: 0 0 3px #000, 0 0 8px #000;\n}\n.qr-preview#selected {\n opacity: 1;\n}\n.qr-preview.drag {\n box-shadow: 0 0 10px rgba(0,0,0,.5);\n}\n.qr-preview.over {\n border-color: #fff;\n}\n.qr-preview > span {\n color: #fff;\n}\n.remove {\n background: none;\n color: #e00;\n font-weight: 700;\n padding: 3px;\n}\na:only-of-type > .remove {\n display: none;\n}\n.remove:hover::after {\n content: \" Remove\";\n}\n.qr-preview > label {\n background: rgba(0,0,0,.5);\n color: #fff;\n right: 0; bottom: 0; left: 0;\n position: absolute;\n text-align: center;\n}\n.qr-preview > label > input {\n margin: 0;\n}\n#add-post {\n cursor: pointer;\n font-size: 2em;\n position: absolute;\n top: 50%;\n right: 10px;\n " + agent + "transform: translateY(-50%);\n}\n/* Ads */\n.topad img,\n.middlead img,\n.bottomad img {\n opacity: 0.3;\n " + agent + "transition: opacity .3s linear;\n}\n.topad img:hover,\n.middlead img:hover,\n.bottomad img:hover {\n opacity: 1;\n}\n" + (_conf["Block Ads"] ? "/* AdBlock Minus */.bottomad + hr,.topad,.middlead,.bottomad { display: none;}" : "") + "\n" + (_conf["Shrink Ads"] ? ".topad a img,.middlead a img,.bottomad a img { width: 500px; height: auto;}" : "") + "\n/* Options */\n#overlay {\n position: fixed;\n z-index: 30;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: rgba(0,0,0,.5);\n}\n#appchanx-settings {\n width: auto;\n left: 15%;\n right: 15%;\n top: 15%;\n bottom: 15%;\n position: fixed;\n z-index: 31;\n padding: .3em;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.description {\n display: none;\n}\n#appchanx-settings h3,\n.section-keybinds,\n.section-mascots,\n.section-script,\n.style {\n text-align: center;\n}\n.section-keybinds table,\n.section-script fieldset,\n.section-style fieldset {\n text-align: left;\n}\n.section-keybinds table {\n margin: auto;\n}\n#appchanx-settings fieldset {\n padding: 5px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n vertical-align: top;\n " + (_conf["Single Column Mode"] ? "margin: 0 auto 6px;" : "margin: 0 3px 6px;\n display: inline-block;") + "\n border: 0;\n}\n#appchanx-settings .section-advanced fieldset {\n display: block;\n margin: 0 auto 6px;\n}\n.section-advanced .archive-cell {\n min-width: 200px;\n}\n.section-advanced .selectrice {\n display: inline-block;\n clear: both;\n}\n.section-container {\n overflow: auto;\n position: absolute;\n top: 1.7em;\n right: 5px;\n bottom: 5px;\n left: 5px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.sections-list {\n padding: 0 3px;\n float: left;\n}\n.sections-list > a {\n cursor: pointer;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n position: relative;\n padding: 0 4px;\n z-index: 1;\n height: 1.4em;\n display: inline-block;\n border-width: 1px 1px 0 1px;\n border-color: transparent;\n border-style: solid;\n}\n.credits {\n float: right;\n}\n#appchanx-settings h3 {\n margin: 0;\n}\n.section-script fieldset > div,\n.section-style fieldset > div,\n.section-advanced fieldset > div {\n overflow: visible;\n padding: 0 5px 0 7px;\n}\n#appchanx-settings tr:nth-of-type(2n+1),\n.section-script fieldset > div:nth-of-type(2n+1),\n.section-advanced fieldset > div:nth-of-type(2n+1),\n.section-style fieldset > div:nth-of-type(2n+1),\n.section-keybinds tr:nth-of-type(2n+1),\n#selectrice li:nth-of-type(2n+1) {\n background-color: rgba(0, 0, 0, 0.05);\n}\narticle li {\n margin: 10px 0 10px 2em;\n}\n#appchanx-settings .option {\n width: 50%;\n display: inline-block;\n vertical-align: bottom;\n}\n.option input {\n width: 100%;\n}\n.optionlabel {\n padding-left: 18px;\n}\n.rice + .optionlabel {\n padding-left: 0;\n}\n.section-script fieldset,\n.styleoption {\n text-align: left;\n}\n.section-style fieldset {\n width: 370px;\n}\n.section-script fieldset {\n width: 200px;\n}\n#mascotcontent,\n#themecontent,\n.suboptions {\n overflow: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 1.7em;\n left: 0;\n}\n#themecontent {\n top: 1.8em;\n}\n.mAlign {\n height: 250px;\n vertical-align: bottom;\n display: table-cell;\n line-height: 0;\n}\n#save,\n.stylesettings {\n position: absolute;\n right: 10px;\n bottom: 0;\n}\n.section-style .suboptions {\n bottom: 0;\n}\n.section-container textarea {\n font-family: monospace;\n min-height: 150px;\n resize: vertical;\n width: 100%;\n}\n/* Hover Functionality */\n#mouseover {\n z-index: 33;\n position: fixed;\n max-width: 70%;\n}\n#mouseover:empty {\n display: none;\n}\n/* Mascot Tab */\n#mascot_hide {\n padding: 3px;\n position: absolute;\n top: 2px;\n right: 18px;\n}\n#mascot_hide .rice {\n float: left;\n}\n#mascot_hide > div {\n height: 0;\n text-align: right;\n overflow: hidden;\n}\n#mascot_hide:hover > div {\n height: auto;\n}\n#mascot_hide label {\n width: 100%;\n display: block;\n clear: both;\n text-decoration: none;\n}\n.mascots-container {\n padding: 0;\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.mascot,\n.mascotcontainer {\n overflow: hidden;\n}\n.mascot {\n position: relative;\n border: none;\n margin: 5px;\n padding: 0;\n width: 200px;\n display: inline-block;\n background-color: transparent;\n}\n.mascotcontainer {\n height: 250px;\n border: 0;\n margin: 0;\n max-height: 250px;\n cursor: pointer;\n bottom: 0;\n border-width: 0 1px 1px;\n border-style: solid;\n border-color: transparent;\n overflow: hidden;\n}\n.mascot img {\n max-width: 200px;\n}\n.export-button,\n.mascotname,\n#mascot-options {\n " + Style.sizing + ": border-box;\n padding: 0;\n width: 100%;\n}\n#mascot-options {\n opacity: 0;\n " + agent + "transition: opacity .3s linear;\n}\n.mascot:hover #mascot-options {\n opacity: 1;\n}\n#mascot-options {\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n}\n.export-button {\n position: absolute;\n bottom: 1.7em;\n right: 0;\n left: 0;\n text-align: center;\n}\n#mascot-options a {\n display: inline-block;\n width: 33%;\n}\n#upload {\n position: absolute;\n width: 100px;\n left: 50%;\n margin-left: -50px;\n text-align: center;\n bottom: 0;\n}\n#mascots_batch {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Themes Tab */\n#themes h1 {\n position: absolute;\n right: 300px;\n bottom: 10px;\n margin: 0;\n " + agent + "transition: all .2s ease-in-out;\n opacity: 0;\n}\n#themes .selectedtheme h1 {\n right: 11px;\n opacity: 1;\n}\n#addthemes {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n.theme {\n margin: 1em;\n}\n/* Theme Editor */\n#themeConf {\n position: fixed;\n " + Style.sidebarLocation[1] + ": 2px;\n " + Style.sidebarLocation[0] + ": auto;\n top: 0;\n bottom: 0;\n width: 296px;\n z-index: 10;\n}\n#themebar input {\n width: 30%;\n}\n.option .color {\n width: 10%;\n border-left: none !important;\n color: transparent !important;\n}\n.option .colorfield {\n width: 90%;\n}\n.themevar textarea {\n min-width: 100%;\n max-width: 100%;\n height: 20em;\n resize: vertical;\n}\n/* Mascot Editor */\n#mascotConf {\n position: fixed;\n height: 17em;\n bottom: 0;\n left: 50%;\n width: 500px;\n margin-left: -250px;\n overflow: auto;\n z-index: 10;\n}\n#mascotConf .option,\n#mascotConf .optionlabel {\n " + Style.sizing + ": border-box;\n width: 50%;\n display: inline-block;\n vertical-align: middle;\n}\n#mascotConf .option input {\n width: 100%;\n}\n#close {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Catalog */\n#content .navLinks,\n#info .navLinks,\n.btn-wrap {\n display: block;\n}\n.navLinks > .btn-wrap:not(:first-of-type)::before {\n content: ' - ';\n}\n.button {\n cursor: pointer;\n}\n#content .btn-wrap,\n#info .btn-wrap {\n display: inline-block;\n}\n#post-preview {\n position: absolute;\n z-index: 22;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#settings,\n#threads,\n#info .navLinks,\n#content .navLinks {\n text-align: center;\n}\n#threads .thread {\n vertical-align: top;\n display: inline-block;\n word-wrap: break-word;\n overflow: hidden;\n margin-top: 5px;\n padding: 5px 0 3px;\n text-align: center;\n}\n.extended-small .thread,\n.small .thread {\n width: 165px;\n max-height: 320px;\n}\n.small .teaser,\n.large .teaser {\n display: none;\n}\n.extended-large .thread,\n.large .thread {\n width: 270px;\n max-height: 410px;\n}\n.extended-small .thumb,\n.small .thumb {\n max-width: 150px;\n max-height: 150px;\n}\n.panel {\n position: fixed;\n top: 50% !important;\n left: 50%;\n " + agent + "transform: translate(-50%, -50%);\n}\n.icon::after {\n display: inline-block;\n float: right;\n width: 1em;\n cursor: pointer;\n}\n.helpIcon::after {\n content: '?';\n}\n.closeIcon::after {\n content: '×';\n}\n/* Front Page */\n#logo {\n text-align: center;\n}\n#doc {\n margin: 0 auto;\n width: 1000px;\n position: relative;\n}\n#boards .boxcontent {\n vertical-align: top;\n text-align: center;\n}\n#filter-container,\n#options-container {\n float: right;\n position: relative;\n}\n#optionssmenu {\n top: 100% !important;\n left: 0 !important;\n}\n#boards .column {\n " + Style.sizing + ": border-box;\n display: inline-block;\n width: 16em;\n text-align: left;\n vertical-align: top;\n}\n.bd ul,\n.boxcontent ul {\n vertical-align: top;\n padding: 0;\n}\n.right-box .boxcontent ul {\n padding: 0 10px;\n}\n.yuimenuitem,\n.boxcontent li {\n list-style-type: none;\n}\n.bd ul {\n margin: 0;\n}\n.yuimenuitem::before {\n content: \" [ ] \";\n font-family: monospace;\n}\n.yuimenuitem-checked::before {\n content: \" [x] \"\n}\n.yui-u {\n display: inline-block;\n vertical-align: top;\n width: 475px;\n margin: 10px;\n}\n#recent-images .boxcontent {\n text-align: center;\n}\n#ft {\n text-align: center;\n}\n#ft ul {\n padding: 0;\n}\n#ft li {\n list-style-type: none;\n display: inline-block;\n width: 100px;\n}\n#preview-tooltip-nws,\n#preview-tooltip-ws,\n#ft .fill,\n.clear-bug {\n display: none;\n}"; + "slideout": "#qrtab input,#qrtab .rice { display: none;}#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; -moz-transform: translateX(" + xOffset + "93%);}#qr:hover,#qr.has-focus,#qr.dump { -moz-transform: translate(0);}", + "tabbed slideout": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; -moz-transform: translateX(" + xOffset + "100%);}#qr:hover,#qr.has-focus,#qr.dump { -moz-transform: translateX(0);}#qrtab { -moz-transform: rotate(" + (Style.sidebarLocation[0] === "left" ? "" : "-") + "90deg); -moz-transform-origin: bottom " + Style.sidebarLocation[0] + "; position: absolute; top: 0; " + Style.sidebarLocation[0] + ": 100%; width: 110px; text-align: center; border-width: 1px 1px 0 1px; cursor: default;}#qr:hover #qrtab,#qr.has-focus #qrtab,#qr.dump #qrtab { opacity: 0;}#qrtab input,#qrtab .close,#qrtab .rice,#qrtab .selectrice,#qrtab span { display: none;}", + "transparent fade": "#qr { overflow: visible; top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; opacity: 0.2; -moz-transition: opacity .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { opacity: 1; -moz-transition: opacity .3s linear;}" + }[_conf['Post Form Style']] || "") + "\n\n" + (_conf['Post Form Style'] !== 'tabbed slideout' ? (!(_conf['Post Form Style'] === 'float' || _conf['Show Post Form Header']) ? "#qrtab { display: none; }" : _conf['Post Form Style'] !== 'slideout' ? ".autohide:not(:hover):not(.has-focus) > form { display: none !important; }" : "") + "#qrtab { margin-bottom: 1px; }" : "") + "\n\n" + (_conf['Post Form Style'] !== 'float' && _conf["Post Form Slideout Transitions"] ? "#qr { -moz-transition: -moz-transform .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { -moz-transition: -moz-transform .3s linear;}#qrtab { -moz-transition: opacity .3s ease-in-out 1s;}#qr:hover #qrtab { -moz-transition: opacity .3s linear;}" : "") + "\n\n#qr .close {\n float: right;\n padding: 0 3px;\n}\n#qr .warning {\n min-height: 1.6em;\n vertical-align: middle;\n padding: 0 1px;\n border-width: 1px;\n border-style: solid;\n}\n.persona {\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n" + (_conf['Compact Post Form Inputs'] ? ".persona input.field { width: 33%;}.persona input.field:not(:first-child) { margin: 0 0 0 0.5%;}#qr textarea.field { height: 14.9em; min-height: 9em;}#qr.has-captcha textarea.field { height: 9em;}" : ".persona input.field { width: 100%;}#qr textarea.field { height: 11.6em; min-height: 6em;}#qr.has-captcha textarea.field { height: 6em;}") + "\n\n" + (_conf["Tripcode Hider"] ? ".tripped:not(:hover):not(:focus) { opacity: 0;}" : "") + "\n\n#qr textarea {\n resize: " + _conf['Textarea Resize'] + ";\n}\n.captcha-img {\n margin: 1px 0 0;\n text-align: center;\n line-height: 0;\n}\n.captcha-img img {\n width: 100%;\n height: 4em;\n width: 246px;\n}\n.captcha-input {\n width: 100%;\n margin: 1px 0 0;\n}\n.field,\n.selectrice,\nbutton,\ninput:not([type=radio]) {\n -moz-box-sizing: border-box;\n font-size: " + (parseInt(_conf['Font Size'], 10)) + "px;\n height: 1.6em;\n margin: 1px 0 0;\n vertical-align: bottom;\n padding: 0 1px;\n}\n.selectrice {\n padding-right: 1.6em;\n}\n#qr textarea {\n min-width: 100%;\n}\n#qr [type='submit'] {\n width: 25%;\n}\n[type='file'] {\n position: absolute;\n opacity: 0;\n z-index: -1;\n}\n/* Fake File Input */\n#qr-filename,\n#qr-filerm,\n.has-file #qr-no-file {\n display: none;\n}\n#qr-no-file,\n.has-file #qr-filename {\n display: block;\n}\n.has-file #qr-filerm {\n display: inline-block;\n}\n#qr-extras-container {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n}\n#qr-extras-container > label,\n#qr-extras-container > a {\n cursor: pointer;\n margin-right: 3px;\n}\n#qr-filename-container {\n -moz-box-sizing: border-box;\n display: inline-block;\n position: relative;\n width: 100px;\n min-width: 74.6%;\n max-width: 74.6%;\n margin-right: 0.4%;\n overflow: hidden;\n padding: 2px 1px 0;\n}\n/* Thread Select */\n#qr-thread-select,\n#qr-thread-select .selectrice div {\n display: inline;\n}\n#qr-thread-select .selectrice {\n cursor: pointer;\n display: inline-block;\n width: 120px;\n border: none;\n background: none transparent;\n padding: 0;\n margin: 0;\n height: auto;\n}\n#qr-thread-select .selectrice::before,\n#qr-thread-select .selectrice::after {\n display: none;\n}\n/* Dumping UI */\n.dump #dump-list-container {\n display: block;\n}\n#dump-list-container {\n display: none;\n position: relative;\n overflow-y: hidden;\n margin-top: 1px;\n}\n#dump-list {\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n#dump-list:hover {\n overflow-x: auto;\n}\n.qr-preview {\n -moz-box-sizing: border-box;\n counter-increment: thumbnails;\n cursor: move;\n display: inline-block;\n height: 90px;\n width: 90px;\n padding: 2px;\n opacity: .5;\n overflow: hidden;\n position: relative;\n text-shadow: 0 1px 1px #000;\n -moz-transition: opacity .25s ease-in-out;\n vertical-align: top;\n}\n.qr-preview:hover,\n.qr-preview:focus {\n opacity: .9;\n}\n.qr-preview::before {\n content: counter(thumbnails);\n color: #fff;\n position: absolute;\n top: 3px;\n right: 3px;\n text-shadow: 0 0 3px #000, 0 0 8px #000;\n}\n.qr-preview#selected {\n opacity: 1;\n}\n.qr-preview.drag {\n box-shadow: 0 0 10px rgba(0,0,0,.5);\n}\n.qr-preview.over {\n border-color: #fff;\n}\n.qr-preview > span {\n color: #fff;\n}\n.remove {\n background: none;\n color: #e00;\n font-weight: 700;\n padding: 3px;\n}\na:only-of-type > .remove {\n display: none;\n}\n.remove:hover::after {\n content: \" Remove\";\n}\n.qr-preview > label {\n background: rgba(0,0,0,.5);\n color: #fff;\n right: 0; bottom: 0; left: 0;\n position: absolute;\n text-align: center;\n}\n.qr-preview > label > input {\n margin: 0;\n}\n#add-post {\n cursor: pointer;\n font-size: 2em;\n position: absolute;\n top: 50%;\n right: 10px;\n -moz-transform: translateY(-50%);\n}\n/* Ads */\n.topad img,\n.middlead img,\n.bottomad img {\n opacity: 0.3;\n -moz-transition: opacity .3s linear;\n}\n.topad img:hover,\n.middlead img:hover,\n.bottomad img:hover {\n opacity: 1;\n}\n" + (_conf["Block Ads"] ? "/* AdBlock Minus */.bottomad + hr,.topad,.middlead,.bottomad { display: none;}" : "") + "\n" + (_conf["Shrink Ads"] ? ".topad a img,.middlead a img,.bottomad a img { width: 500px; height: auto;}" : "") + "\n/* Options */\n#overlay {\n position: fixed;\n z-index: 30;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: rgba(0,0,0,.5);\n}\n#appchanx-settings {\n width: auto;\n left: 15%;\n right: 15%;\n top: 15%;\n bottom: 15%;\n position: fixed;\n z-index: 31;\n padding: .3em;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.description {\n display: none;\n}\n#appchanx-settings h3,\n.section-keybinds,\n.section-mascots,\n.section-script,\n.style {\n text-align: center;\n}\n.section-keybinds table,\n.section-script fieldset,\n.section-style fieldset {\n text-align: left;\n}\n.section-keybinds table {\n margin: auto;\n}\n#appchanx-settings fieldset {\n padding: 5px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n vertical-align: top;\n " + (_conf["Single Column Mode"] ? "margin: 0 auto 6px;" : "margin: 0 3px 6px;\n display: inline-block;") + "\n border: 0;\n}\n#appchanx-settings .section-advanced fieldset {\n display: block;\n margin: 0 auto 6px;\n}\n.section-advanced .archive-cell {\n min-width: 200px;\n}\n.section-advanced .selectrice {\n display: inline-block;\n clear: both;\n}\n.section-container {\n overflow: auto;\n position: absolute;\n top: 1.7em;\n right: 5px;\n bottom: 5px;\n left: 5px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.sections-list {\n padding: 0 3px;\n float: left;\n}\n.sections-list > a {\n cursor: pointer;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n position: relative;\n padding: 0 4px;\n z-index: 1;\n height: 1.4em;\n display: inline-block;\n border-width: 1px 1px 0 1px;\n border-color: transparent;\n border-style: solid;\n}\n.credits {\n float: right;\n}\n#appchanx-settings h3 {\n margin: 0;\n}\n.section-script fieldset > div,\n.section-style fieldset > div,\n.section-advanced fieldset > div {\n overflow: visible;\n padding: 0 5px 0 7px;\n}\n#appchanx-settings tr:nth-of-type(2n+1),\n.section-script fieldset > div:nth-of-type(2n+1),\n.section-advanced fieldset > div:nth-of-type(2n+1),\n.section-style fieldset > div:nth-of-type(2n+1),\n.section-keybinds tr:nth-of-type(2n+1),\n#selectrice li:nth-of-type(2n+1) {\n background-color: rgba(0, 0, 0, 0.05);\n}\narticle li {\n margin: 10px 0 10px 2em;\n}\n#appchanx-settings .option {\n width: 50%;\n display: inline-block;\n vertical-align: bottom;\n}\n.option input {\n width: 100%;\n}\n.optionlabel {\n padding-left: 18px;\n}\n.rice + .optionlabel {\n padding-left: 0;\n}\n.section-script fieldset,\n.styleoption {\n text-align: left;\n}\n.section-style fieldset {\n width: 370px;\n}\n.section-script fieldset {\n width: 200px;\n}\n#mascotcontent,\n#themecontent,\n.suboptions {\n overflow: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 1.7em;\n left: 0;\n}\n#themecontent {\n top: 1.8em;\n}\n.mAlign {\n height: 250px;\n vertical-align: bottom;\n display: table-cell;\n line-height: 0;\n}\n#save,\n.stylesettings {\n position: absolute;\n right: 10px;\n bottom: 0;\n}\n.section-style .suboptions {\n bottom: 0;\n}\n.section-container textarea {\n font-family: monospace;\n min-height: 150px;\n resize: vertical;\n width: 100%;\n}\n/* Hover Functionality */\n#mouseover {\n z-index: 33;\n position: fixed;\n max-width: 70%;\n}\n#mouseover:empty {\n display: none;\n}\n/* Mascot Tab */\n#mascot_hide {\n padding: 3px;\n position: absolute;\n top: 2px;\n right: 18px;\n}\n#mascot_hide .rice {\n float: left;\n}\n#mascot_hide > div {\n height: 0;\n text-align: right;\n overflow: hidden;\n}\n#mascot_hide:hover > div {\n height: auto;\n}\n#mascot_hide label {\n width: 100%;\n display: block;\n clear: both;\n text-decoration: none;\n}\n.mascots-container {\n padding: 0;\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.mascot,\n.mascotcontainer {\n overflow: hidden;\n}\n.mascot {\n position: relative;\n border: none;\n margin: 5px;\n padding: 0;\n width: 200px;\n display: inline-block;\n background-color: transparent;\n}\n.mascotcontainer {\n height: 250px;\n border: 0;\n margin: 0;\n max-height: 250px;\n cursor: pointer;\n bottom: 0;\n border-width: 0 1px 1px;\n border-style: solid;\n border-color: transparent;\n overflow: hidden;\n}\n.mascot img {\n max-width: 200px;\n}\n.export-button,\n.mascotname,\n#mascot-options {\n -moz-box-sizing: border-box;\n padding: 0;\n width: 100%;\n}\n#mascot-options {\n opacity: 0;\n -moz-transition: opacity .3s linear;\n}\n.mascot:hover #mascot-options {\n opacity: 1;\n}\n#mascot-options {\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n}\n.export-button {\n position: absolute;\n bottom: 1.7em;\n right: 0;\n left: 0;\n text-align: center;\n}\n#mascot-options a {\n display: inline-block;\n width: 33%;\n}\n#upload {\n position: absolute;\n width: 100px;\n left: 50%;\n margin-left: -50px;\n text-align: center;\n bottom: 0;\n}\n#mascots_batch {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Themes Tab */\n#themes h1 {\n position: absolute;\n right: 300px;\n bottom: 10px;\n margin: 0;\n -moz-transition: all .2s ease-in-out;\n opacity: 0;\n}\n#themes .selectedtheme h1 {\n right: 11px;\n opacity: 1;\n}\n#addthemes {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n.theme {\n margin: 1em;\n}\n/* Theme Editor */\n#themeConf {\n position: fixed;\n " + Style.sidebarLocation[1] + ": 2px;\n " + Style.sidebarLocation[0] + ": auto;\n top: 0;\n bottom: 0;\n width: 296px;\n z-index: 10;\n}\n#themebar input {\n width: 30%;\n}\n.option .color {\n width: 10%;\n border-left: none !important;\n color: transparent !important;\n}\n.option .colorfield {\n width: 90%;\n}\n.themevar textarea {\n min-width: 100%;\n max-width: 100%;\n height: 20em;\n resize: vertical;\n}\n/* Mascot Editor */\n#mascotConf {\n position: fixed;\n height: 17em;\n bottom: 0;\n left: 50%;\n width: 500px;\n margin-left: -250px;\n overflow: auto;\n z-index: 10;\n}\n#mascotConf .option,\n#mascotConf .optionlabel {\n -moz-box-sizing: border-box;\n width: 50%;\n display: inline-block;\n vertical-align: middle;\n}\n#mascotConf .option input {\n width: 100%;\n}\n#close {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Catalog */\n#content .navLinks,\n#info .navLinks,\n.btn-wrap {\n display: block;\n}\n.navLinks > .btn-wrap:not(:first-of-type)::before {\n content: ' - ';\n}\n.button {\n cursor: pointer;\n}\n#content .btn-wrap,\n#info .btn-wrap {\n display: inline-block;\n}\n#post-preview {\n position: absolute;\n z-index: 22;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#settings,\n#threads,\n#info .navLinks,\n#content .navLinks {\n text-align: center;\n}\n#threads .thread {\n vertical-align: top;\n display: inline-block;\n word-wrap: break-word;\n overflow: hidden;\n margin-top: 5px;\n padding: 5px 0 3px;\n text-align: center;\n}\n.extended-small .thread,\n.small .thread {\n width: 165px;\n max-height: 320px;\n}\n.small .teaser,\n.large .teaser {\n display: none;\n}\n.extended-large .thread,\n.large .thread {\n width: 270px;\n max-height: 410px;\n}\n.extended-small .thumb,\n.small .thumb {\n max-width: 150px;\n max-height: 150px;\n}\n.panel {\n position: fixed;\n top: 50% !important;\n left: 50%;\n -moz-transform: translate(-50%, -50%);\n}\n.icon::after {\n display: inline-block;\n float: right;\n width: 1em;\n cursor: pointer;\n}\n.helpIcon::after {\n content: '?';\n}\n.closeIcon::after {\n content: '×';\n}\n/* Front Page */\n#logo {\n text-align: center;\n}\n#doc {\n margin: 0 auto;\n width: 1000px;\n position: relative;\n}\n#boards .boxcontent {\n vertical-align: top;\n text-align: center;\n}\n#filter-container,\n#options-container {\n float: right;\n position: relative;\n}\n#optionssmenu {\n top: 100% !important;\n left: 0 !important;\n}\n#boards .column {\n -moz-box-sizing: border-box;\n display: inline-block;\n width: 16em;\n text-align: left;\n vertical-align: top;\n}\n.bd ul,\n.boxcontent ul {\n vertical-align: top;\n padding: 0;\n}\n.right-box .boxcontent ul {\n padding: 0 10px;\n}\n.yuimenuitem,\n.boxcontent li {\n list-style-type: none;\n}\n.bd ul {\n margin: 0;\n}\n.yuimenuitem::before {\n content: \" [ ] \";\n font-family: monospace;\n}\n.yuimenuitem-checked::before {\n content: \" [x] \"\n}\n.yui-u {\n display: inline-block;\n vertical-align: top;\n width: 475px;\n margin: 10px;\n}\n#recent-images .boxcontent {\n text-align: center;\n}\n#ft {\n text-align: center;\n}\n#ft ul {\n padding: 0;\n}\n#ft li {\n list-style-type: none;\n display: inline-block;\n width: 100px;\n}\n#preview-tooltip-nws,\n#preview-tooltip-ws,\n#ft .fill,\n.clear-bug {\n display: none;\n}"; }, - theme: function(theme) { - var agent, background, backgroundC, bgColor, css, fileHeading, icons, replyHeading, _conf; + dynamic: function() { + var css, editSpace, width, xOffset, _conf; + + _conf = Conf; + xOffset = _conf["Sidebar Location"] === "left" ? '-' : ''; + Style.pfOffset = _conf['4chan SS Navigation'] && ((_conf['Bottom Header'] && _conf['Fixed Header']) || (g.VIEW === 'index' && _conf['Pagination'] === 'sticky bottom')) ? 1.5 : 0; + Style.sidebar = { + minimal: 20, + hide: 2, + normal: 252, + large: 303 + }[_conf['Sidebar']]; + Style.logoOffset = _conf["4chan Banner"] === "at sidebar top" ? _conf["Sidebar"] === "large" ? 100 : 83 : 0; + width = _conf["Sidebar"] === "large" ? 299 : 248; + Style.sidebarLocation = _conf["Sidebar Location"] === "left" ? ["left", "right"] : ["right", "left"]; + if (_conf['editMode'] === "theme") { + editSpace = {}; + editSpace[Style.sidebarLocation[1]] = 300; + editSpace[Style.sidebarLocation[0]] = 0; + } else { + editSpace = { + left: 0, + right: 0 + }; + } + Style.replyMargin = _conf["Post Spacing"]; + return css = "body {\nfont-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\nfont-family: " + _conf["Font"] + ";\npadding: 0 " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px 0 " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"]) + "px;\n}\nbutton,\ninput,\ntextarea {\nfont-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\nfont-family: " + _conf["Font"] + ";\n}\n.sidebar-location-left.sidebar-large #header-bar {\nleft: " + (303 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-normal #header-bar {\nleft: " + (248 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-minimal #header-bar {\nleft: " + (20 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-hide #header-bar {\nleft: " + (2 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-large #header-bar {\nright: " + (303 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-normal #header-bar {\nright: " + (248 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-minimal #header-bar {\nright: " + (20 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-hide #header-bar {\nright: " + (2 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}"; + }, + theme: function(theme) { + var background, backgroundC, bgColor, css, fileHeading, icons, replyHeading, _conf; _conf = Conf; - agent = Style.agent; bgColor = new Style.color(Style.colorToHex(backgroundC = theme["Background Color"]) || 'aaaaaa'); Style.lightTheme = bgColor.isLight(); icons = "data:image/png;base64," + Icons[_conf["Icons"]]; - css = ".hide_thread_button span > span,\n.hide_reply_button span > span {\n background-color: " + theme["Links"] + ";\n}\n#mascot_hide label {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\n#content .thumb {\n box-shadow: 0 0 5px " + theme["Reply Border"] + ";\n}\n.export-button,\n.mascotname,\n#mascot-options {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.highlight-you .opContainer.quotesYou,\n.highlight-own .opContainer.yourPost,\n.opContainer.filter-highlight {\n box-shadow: inset 5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\n.highlight-you .quotesYou > .reply,\n.highlight-own .yourPost > .reply,\n.filter-highlight > .reply {\n box-shadow: -5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\nhr {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\nhr#unread-line {\n border-bottom: 1px solid " + theme["Reply Background"] + ";\n visibility: visible;\n}\n.threadContainer {\n border-color: " + theme["Reply Border"] + " !important;\n}\nhtml {\n background: " + (backgroundC || '') + ";\n background-image: " + (theme["Background Image"] || '') + ";\n background-repeat: " + (theme["Background Repeat"] || '') + ";\n background-attachment: " + (theme["Background Attachment"] || '') + ";\n background-position: " + (theme["Background Position"] || '') + ";\n}\n.panel,\n.section-container,\n#exlinks-options-content,\n#mascotcontent,\n#themecontent {\n background: " + backgroundC + ";\n border: 1px solid " + theme["Reply Border"] + ";\n padding: 5px;\n}\n.sections-list > a.tab-selected {\n background: " + backgroundC + ";\n border-color: " + theme["Reply Border"] + ";\n border-style: solid;\n}\n.captcha-img img {\n " + (Style.filter(theme["Text"], theme["Input Background"])) + "\n}\n#boardTitle,\n" + (!_conf["Post Form Decorations"] ? '#spoilerLabel' : '') + " {\n text-shadow:\n 1px 1px " + backgroundC + ",\n -1px -1px " + backgroundC + ",\n 1px -1px " + backgroundC + ",\n -1px 1px " + backgroundC + "\n " + (_conf["Sidebar Glow"] ? ", 0 2px 4px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.6);" : ";") + "\n}\n/* Fixes text spoilers */\n" + (_conf['Remove Spoilers'] && _conf['Indicate Spoilers'] ? ".spoiler::before,s::before { content: '[spoiler]';}.spoiler::after,s::after { content: '[/spoiler]';}" : !_conf['Remove Spoilers'] ? ".spoiler:not(:hover) *,s:not(:hover) * { color: rgb(0,0,0) !important; text-shadow: none !important;}.spoiler:not(:hover),s:not(:hover) { background-color: rgb(0,0,0); color: rgb(0,0,0) !important; text-shadow: none !important;}" : "") + "\n#exlinks-options,\n#appchanx-settings,\n#qrtab,\n" + (_conf["Post Form Decorations"] ? "#qr," : "") + "\ninput[type=\"submit\"],\ninput[value=\"Report\"],\nspan[style=\"left: 5px; position: absolute;\"] a {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.enabled .mascotcontainer {\n background: " + theme["Buttons Background"] + ";\n border-color: " + theme["Buttons Border"] + ";\n}\n#dump,\n#qr-filename-container,\n#appchanx-settings input,\n.captcha-img,\n.dump #dump,\n.qr-preview,\n.selectrice,\nbutton,\ninput,\ntextarea {\n background: " + theme["Input Background"] + ";\n border: 1px solid " + theme["Input Border"] + ";\n}\n.has-file #qr-extras-container {\n background: " + theme["Input Background"] + ";\n}\n#dump:hover,\n#qr-filename-container:hover,\n.selectrice:hover,\n#selectrice li:hover,\n#selectrice li:nth-of-type(2n+1):hover,\ninput:hover,\ntextarea:hover {\n background: " + theme["Hovered Input Background"] + ";\n border-color: " + theme["Hovered Input Border"] + ";\n}\n.has-file #qr-filename-container:hover #qr-extras-container {\n background: " + theme["Hovered Input Background"] + ";\n}\n#dump:active,\n#dump:focus,\n#selectrice li:focus,\n.selectrice:focus,\n#qr-filename-container:active,\n#qr-filename-container:focus,\ninput:focus,\ntextarea:focus,\ntextarea.field:focus {\n background: " + theme["Focused Input Background"] + ";\n border-color: " + theme["Focused Input Border"] + ";\n color: " + theme["Inputs"] + ";\n outline: none;\n}\n.has-file #qr-filename-container:active #qr-extras-container,\n.has-file #qr-filename-container:focus #qr-extras-container {\n background: " + theme["Focused Input Background"] + ";\n}\n#mouseover,\n#post-preview,\n#qp .post,\n#xupdater,\n.reply.post {\n border-width: 1px;\n border-style: solid;\n border-color: " + theme["Reply Border"] + ";\n background: " + theme["Reply Background"] + ";\n}\n.thread > .replyContainer > .reply.post {\n border-width: " + (_conf['Post Spacing'] === "0" ? "1px 1px 0 1px" : '1px') + ";\n}\n.exblock.reply,\n.reply.post.highlight,\n.reply.post:target {\n background: " + theme["Highlighted Reply Background"] + ";\n border: 1px solid " + theme["Highlighted Reply Border"] + ";\n}\n#header-bar,\n.pagelist {\n background: " + theme["Navigation Background"] + ";\n border-style: solid;\n border-color: " + theme["Navigation Border"] + ";\n}\n.thread {\n background: " + theme["Thread Wrapper Background"] + ";\n border: 1px solid " + theme["Thread Wrapper Border"] + ";\n}\n#boardNavDesktopFoot,\n#mascotConf,\n#mascot_hide,\n#menu,\n#selectrice,\n#themeConf,\n#watcher,\n#watcher:hover,\n.dialog,\n.submenu,\na[style=\"cursor: pointer; float: right;\"] ~ div[style^=\"width: 100%;\"] > table {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Dialog Border"] + ";\n}\n.watch-thread-link {\n background-image: url(\"data:image/svg+xml,\");\n} \n.deleteform::before,\n.deleteform,\n#qr .warning {\n background: " + theme["Input Background"] + ";\n border-color: " + theme["Input Border"] + ";\n}\n.disabledwarning,\n.warning {\n color: " + theme["Warnings"] + ";\n}\n#navlinks a:first-of-type {\n border-bottom: 11px solid rgb(130,130,130);\n}\n#navlinks a:last-of-type {\n border-top: 11px solid rgb(130,130,130);\n}\n#charCount {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.7)" : "rgba(255,255,255,0.7)") + ";\n}\n.postNum a {\n color: " + theme["Post Numbers"] + ";\n}\n.subject {\n color: " + theme["Subjects"] + " !important;\n}\n.dateTime,\n.post-ago {\n color: " + theme["Timestamps"] + " !important;\n}\n#fs_status a,\n#updater #update-status:not(.new)::after,\n#showQR,\n.abbr,\n.boxbar,\n.boxcontent,\n.deleteform::before,\n.pages strong,\n.pln,\n.reply,\n.reply.highlight,\n.summary,\nbody,\nbutton,\nspan[style=\"left: 5px; position: absolute;\"] a,\ninput,\ntextarea {\n color: " + theme["Text"] + ";\n}\n#exlinks-options-content > table,\n#appchanx-settings fieldset,\n#selectrice {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n box-shadow: inset " + theme["Shadow Color"] + " 0 0 5px;\n}\n.quote + .spoiler:hover,\n.quote {\n color: " + theme["Greentext"] + ";\n}\n.forwardlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n border-bottom: 1px dashed " + theme["Backlinks"] + ";\n}\n.container::before {\n color: " + theme["Timestamps"] + ";\n}\n#menu,\n#post-preview,\n#qp .opContainer,\n#qp .replyContainer,\n.submenu {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.rice {\n background: " + theme["Checkbox Background"] + ";\n border: 1px solid " + theme["Checkbox Border"] + ";\n}\n.selectrice::before {\n border-left: 1px solid " + theme["Input Border"] + ";\n}\n.selectrice::after {\n border-top: .45em solid " + theme["Inputs"] + ";\n}\n.bd {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.pages a,\n#header-bar a {\n color: " + theme["Navigation Links"] + ";\n}\ninput[type=checkbox]:checked + .rice {\n position: relative;\n}\ninput[type=checkbox]:checked + .rice::after {\n content: \"\";\n display: block;\n width: 4px;\n height: 10px;\n border: solid " + theme["Inputs"] + ";\n border-width: 0 3px 3px 0;\n " + agent + "transform: rotate(45deg);\n position: absolute;\n left: 2px;\n bottom: -1px;\n}\n#addReply,\n#dump,\n.button,\n.entry,\n.replylink,\na {\n color: " + theme["Links"] + ";\n}\n.backlink {\n color: " + theme["Backlinks"] + ";\n}\n.qiQuote,\n.quotelink {\n color: " + theme["Quotelinks"] + ";\n}\n#addReply:hover,\n#dump:hover,\n.entry:hover,\n.replylink:hover,\n.qiQuote:hover,\n.quotelink:hover,\na .name:hover,\na .postertrip:hover,\na:hover {\n color: " + theme["Hovered Links"] + ";\n}\n#header-bar a:hover,\n#boardTitle a:hover {\n color: " + theme["Hovered Navigation Links"] + ";\n}\n#boardTitle {\n color: " + theme["Board Title"] + ";\n}\n.name,\n.post-author {\n color: " + theme["Names"] + " !important;\n}\n.post-tripcode,\n.postertrip,\n.trip {\n color: " + theme["Tripcodes"] + " !important;\n}\na .postertrip,\na .name {\n color: " + theme["Emails"] + ";\n}\n.post.reply.qphl,\n.post.op.qphl {\n border-color: " + theme["Backlinked Reply Outline"] + ";\n background: " + theme["Highlighted Reply Background"] + ";\n}\n.inline .post {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.placeholder,\n#qr input::" + agent + "placeholder,\n#qr textarea::" + agent + "placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#qr input:" + agent + "placeholder,\n#qr textarea:" + agent + "placeholder,\n.placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#appchanx-settings fieldset,\n.boxcontent dd,\n.selectrice ul {\n border-color: " + (Style.lightTheme ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)") + ";\n}\n#appchanx-settings li,\n#selectrice li:not(:first-of-type) {\n border-top: 1px solid " + (Style.lightTheme ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.025)") + ";\n}\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n.navLinks > a:first-of-type::after,\n#watcher::after,\n#globalMessage::after,\n#boardNavDesktopFoot::after,\na[style=\"cursor: pointer; float: right;\"]::after,\n#img-controls,\n#catalog::after,\n#fappeTyme {\n background-image: url('" + icons + "');\n" + (!Style.lightTheme ? "filter: url(\"data:image/svg+xml,#filters\");" : "") + "\n}\n" + theme["Custom CSS"]; + css = ".hide_thread_button span > span,\n.hide_reply_button span > span {\n background-color: " + theme["Links"] + ";\n}\n#mascot_hide label {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\n#content .thumb {\n box-shadow: 0 0 5px " + theme["Reply Border"] + ";\n}\n.export-button,\n.mascotname,\n#mascot-options {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.highlight-you .opContainer.quotesYou,\n.highlight-own .opContainer.yourPost,\n.opContainer.filter-highlight {\n box-shadow: inset 5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\n.highlight-you .quotesYou > .reply,\n.highlight-own .yourPost > .reply,\n.filter-highlight > .reply {\n box-shadow: -5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\nhr {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\nhr#unread-line {\n border-bottom: 1px solid " + theme["Reply Background"] + ";\n visibility: visible;\n}\n.threadContainer {\n border-color: " + theme["Reply Border"] + " !important;\n}\nhtml {\n background: " + (backgroundC || '') + ";\n background-image: " + (theme["Background Image"] || '') + ";\n background-repeat: " + (theme["Background Repeat"] || '') + ";\n background-attachment: " + (theme["Background Attachment"] || '') + ";\n background-position: " + (theme["Background Position"] || '') + ";\n}\n.panel,\n.section-container,\n#exlinks-options-content,\n#mascotcontent,\n#themecontent {\n background: " + backgroundC + ";\n border: 1px solid " + theme["Reply Border"] + ";\n padding: 5px;\n}\n.sections-list > a.tab-selected {\n background: " + backgroundC + ";\n border-color: " + theme["Reply Border"] + ";\n border-style: solid;\n}\n.captcha-img img {\n " + (Style.filter(theme["Text"], theme["Input Background"])) + "\n}\n#boardTitle,\n" + (!_conf["Post Form Decorations"] ? '#spoilerLabel' : '') + " {\n text-shadow:\n 1px 1px " + backgroundC + ",\n -1px -1px " + backgroundC + ",\n 1px -1px " + backgroundC + ",\n -1px 1px " + backgroundC + "\n " + (_conf["Sidebar Glow"] ? ", 0 2px 4px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.6);" : ";") + "\n}\n/* Fixes text spoilers */\n" + (_conf['Remove Spoilers'] && _conf['Indicate Spoilers'] ? ".spoiler::before,s::before { content: '[spoiler]';}.spoiler::after,s::after { content: '[/spoiler]';}" : !_conf['Remove Spoilers'] ? ".spoiler:not(:hover) *,s:not(:hover) * { color: rgb(0,0,0) !important; text-shadow: none !important;}.spoiler:not(:hover),s:not(:hover) { background-color: rgb(0,0,0); color: rgb(0,0,0) !important; text-shadow: none !important;}" : "") + "\n#exlinks-options,\n#appchanx-settings,\n#qrtab,\n" + (_conf["Post Form Decorations"] ? "#qr," : "") + "\ninput[type=\"submit\"],\ninput[value=\"Report\"],\nspan[style=\"left: 5px; position: absolute;\"] a {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.enabled .mascotcontainer {\n background: " + theme["Buttons Background"] + ";\n border-color: " + theme["Buttons Border"] + ";\n}\n#dump,\n#qr-filename-container,\n#appchanx-settings input,\n.captcha-img,\n.dump #dump,\n.qr-preview,\n.selectrice,\nbutton,\ninput,\ntextarea {\n background: " + theme["Input Background"] + ";\n border: 1px solid " + theme["Input Border"] + ";\n}\n.has-file #qr-extras-container {\n background: " + theme["Input Background"] + ";\n}\n#dump:hover,\n#qr-filename-container:hover,\n.selectrice:hover,\n#selectrice li:hover,\n#selectrice li:nth-of-type(2n+1):hover,\ninput:hover,\ntextarea:hover {\n background: " + theme["Hovered Input Background"] + ";\n border-color: " + theme["Hovered Input Border"] + ";\n}\n.has-file #qr-filename-container:hover #qr-extras-container {\n background: " + theme["Hovered Input Background"] + ";\n}\n#dump:active,\n#dump:focus,\n#selectrice li:focus,\n.selectrice:focus,\n#qr-filename-container:active,\n#qr-filename-container:focus,\ninput:focus,\ntextarea:focus,\ntextarea.field:focus {\n background: " + theme["Focused Input Background"] + ";\n border-color: " + theme["Focused Input Border"] + ";\n color: " + theme["Inputs"] + ";\n outline: none;\n}\n.has-file #qr-filename-container:active #qr-extras-container,\n.has-file #qr-filename-container:focus #qr-extras-container {\n background: " + theme["Focused Input Background"] + ";\n}\n#mouseover,\n#post-preview,\n#qp .post,\n#xupdater,\n.reply.post {\n border-width: 1px;\n border-style: solid;\n border-color: " + theme["Reply Border"] + ";\n background: " + theme["Reply Background"] + ";\n}\n.thread > .replyContainer > .reply.post {\n border-width: " + (_conf['Post Spacing'] === "0" ? "1px 1px 0 1px" : '1px') + ";\n}\n.exblock.reply,\n.reply.post.highlight,\n.reply.post:target {\n background: " + theme["Highlighted Reply Background"] + ";\n border: 1px solid " + theme["Highlighted Reply Border"] + ";\n}\n#header-bar,\n.pagelist {\n background: " + theme["Navigation Background"] + ";\n border-style: solid;\n border-color: " + theme["Navigation Border"] + ";\n}\n.thread {\n background: " + theme["Thread Wrapper Background"] + ";\n border: 1px solid " + theme["Thread Wrapper Border"] + ";\n}\n#boardNavDesktopFoot,\n#mascotConf,\n#mascot_hide,\n#menu,\n#selectrice,\n#themeConf,\n#watcher,\n#watcher:hover,\n.dialog,\n.submenu,\na[style=\"cursor: pointer; float: right;\"] ~ div[style^=\"width: 100%;\"] > table {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Dialog Border"] + ";\n}\n.watch-thread-link {\n background-image: url(\"data:image/svg+xml,\");\n} \n.deleteform::before,\n.deleteform,\n#qr .warning {\n background: " + theme["Input Background"] + ";\n border-color: " + theme["Input Border"] + ";\n}\n.disabledwarning,\n.warning {\n color: " + theme["Warnings"] + ";\n}\n#navlinks a:first-of-type {\n border-bottom: 11px solid rgb(130,130,130);\n}\n#navlinks a:last-of-type {\n border-top: 11px solid rgb(130,130,130);\n}\n#charCount {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.7)" : "rgba(255,255,255,0.7)") + ";\n}\n.postNum a {\n color: " + theme["Post Numbers"] + ";\n}\n.subject {\n color: " + theme["Subjects"] + " !important;\n}\n.dateTime,\n.post-ago {\n color: " + theme["Timestamps"] + " !important;\n}\n#fs_status a,\n#updater #update-status:not(.new)::after,\n#showQR,\n.abbr,\n.boxbar,\n.boxcontent,\n.deleteform::before,\n.pages strong,\n.pln,\n.reply,\n.reply.highlight,\n.summary,\nbody,\nbutton,\nspan[style=\"left: 5px; position: absolute;\"] a,\ninput,\ntextarea {\n color: " + theme["Text"] + ";\n}\n#exlinks-options-content > table,\n#appchanx-settings fieldset,\n#selectrice {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n box-shadow: inset " + theme["Shadow Color"] + " 0 0 5px;\n}\n.quote + .spoiler:hover,\n.quote {\n color: " + theme["Greentext"] + ";\n}\n.forwardlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n border-bottom: 1px dashed " + theme["Backlinks"] + ";\n}\n.container::before {\n color: " + theme["Timestamps"] + ";\n}\n#menu,\n#post-preview,\n#qp .opContainer,\n#qp .replyContainer,\n.submenu {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.rice {\n background: " + theme["Checkbox Background"] + ";\n border: 1px solid " + theme["Checkbox Border"] + ";\n}\n.selectrice::before {\n border-left: 1px solid " + theme["Input Border"] + ";\n}\n.selectrice::after {\n border-top: .45em solid " + theme["Inputs"] + ";\n}\n.bd {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.pages a,\n#header-bar a {\n color: " + theme["Navigation Links"] + ";\n}\ninput[type=checkbox]:checked + .rice {\n position: relative;\n}\ninput[type=checkbox]:checked + .rice::after {\n content: \"\";\n display: block;\n width: 4px;\n height: 10px;\n border: solid " + theme["Inputs"] + ";\n border-width: 0 3px 3px 0;\n -moz-transform: rotate(45deg);\n position: absolute;\n left: 2px;\n bottom: -1px;\n}\n#addReply,\n#dump,\n.button,\n.entry,\n.replylink,\na {\n color: " + theme["Links"] + ";\n}\n.backlink {\n color: " + theme["Backlinks"] + ";\n}\n.qiQuote,\n.quotelink {\n color: " + theme["Quotelinks"] + ";\n}\n#addReply:hover,\n#dump:hover,\n.entry:hover,\n.replylink:hover,\n.qiQuote:hover,\n.quotelink:hover,\na .name:hover,\na .postertrip:hover,\na:hover {\n color: " + theme["Hovered Links"] + ";\n}\n#header-bar a:hover,\n#boardTitle a:hover {\n color: " + theme["Hovered Navigation Links"] + ";\n}\n#boardTitle {\n color: " + theme["Board Title"] + ";\n}\n.name,\n.post-author {\n color: " + theme["Names"] + " !important;\n}\n.post-tripcode,\n.postertrip,\n.trip {\n color: " + theme["Tripcodes"] + " !important;\n}\na .postertrip,\na .name {\n color: " + theme["Emails"] + ";\n}\n.post.reply.qphl,\n.post.op.qphl {\n border-color: " + theme["Backlinked Reply Outline"] + ";\n background: " + theme["Highlighted Reply Background"] + ";\n}\n.inline .post {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.placeholder,\n#qr input::-moz-placeholder,\n#qr textarea::-moz-placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#qr input:-moz-placeholder,\n#qr textarea:-moz-placeholder,\n.placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#appchanx-settings fieldset,\n.boxcontent dd,\n.selectrice ul {\n border-color: " + (Style.lightTheme ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)") + ";\n}\n#appchanx-settings li,\n#selectrice li:not(:first-of-type) {\n border-top: 1px solid " + (Style.lightTheme ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.025)") + ";\n}\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n.navLinks > a:first-of-type::after,\n#watcher::after,\n#globalMessage::after,\n#boardNavDesktopFoot::after,\na[style=\"cursor: pointer; float: right;\"]::after,\n#img-controls,\n#catalog::after,\n#fappeTyme {\n background-image: url('" + icons + "');\n" + (!Style.lightTheme ? "filter: url(\"data:image/svg+xml,#filters\");" : "") + "\n}\n" + theme["Custom CSS"]; css += (Style.lightTheme ? ".prettyprint {\n background-color: #e7e7e7;\n border: 1px solid #dcdcdc;\n}\n.com {\n color: #dd0000;\n}\n.str,\n.atv {\n color: #7fa61b;\n}\n.pun {\n color: #61663a;\n}\n.tag {\n color: #117743;\n}\n.kwd {\n color: #5a6F9e;\n}\n.typ,\n.atn {\n color: #9474bd;\n}\n.lit {\n color: #368c72;\n}\n" : ".prettyprint {\n background-color: rgba(0,0,0,.1);\n border: 1px solid rgba(0,0,0,0.5);\n}\n.tag {\n color: #96562c;\n}\n.pun {\n color: #5b6f2a;\n}\n.com {\n color: #a34443;\n}\n.str,\n.atv {\n color: #8ba446;\n}\n.kwd {\n color: #987d3e;\n}\n.typ,\n.atn {\n color: #897399;\n}\n.lit {\n color: #558773;\n}\n"); if (_conf["Alternate Post Colors"]) { - css += ".replyContainer:not(.hidden):nth-of-type(2n+1) .post {\n background-image: " + agent + "linear-gradient(" + (Style.lightTheme ? "rgba(0,0,0,0.05), rgba(0,0,0,0.05)" : "rgba(255,255,255,0.02), rgba(255,255,255,0.02)") + ");\n}\n"; + css += ".replyContainer:not(.hidden):nth-of-type(2n+1) .post {\n background-image: -moz-linear-gradient(" + (Style.lightTheme ? "rgba(0,0,0,0.05), rgba(0,0,0,0.05)" : "rgba(255,255,255,0.02), rgba(255,255,255,0.02)") + ");\n}\n"; } if (_conf["Color Reply Headings"]) { css += ".postInfo {\n background: " + ((replyHeading = new Style.color(Style.colorToHex(theme["Reply Background"]))) ? "rgba(" + (replyHeading.shiftRGB(-12, false)) + ",0.8)" : "rgba(0,0,0,0.1)") + ";\n border-bottom: 1px solid " + theme["Reply Border"] + "\n}\n"; @@ -11682,7 +11704,7 @@ } else { position = aligner(2 + (_conf["4chan Banner"] === "at sidebar top" ? Style.logoOffset + 19 : 0), [notEither && _conf['Image Expansion'], true, true, _conf['Slideout Navigation'] !== 'hide', _conf['Announcements'] === 'slideout' && (psa = $('#globalMessage', d.body)) && !psa.hidden, _conf['Thread Watcher'] && _conf['Slideout Watcher'], notCatalog && $('body > a[style="cursor: pointer; float: right;"]', d.body), $('#navtopright .exlinksOptionsLink', d.body), notEither, g.VIEW === 'thread', notEither && _conf['Fappe Tyme'], navlinks = ((g.VIEW !== 'thread' && _conf['Index Navigation']) || (g.VIEW === 'thread' && _conf['Reply Navigation'])) && notCatalog, navlinks]); iconOffset = (20 + (g.VIEW === 'thread' && _conf['Updater Position'] === 'top' ? 100 : 0)) - (_conf['4chan SS Navigation'] ? 0 : Style.sidebar + parseInt(_conf[align.capitalize() + " Thread Padding"], 10)); - css += "/* Expand Images */\n#img-controls {\n top: " + position[i++] + "px;\n}\n/* Main Menu */\n#main-menu {\n top: " + position[i++] + "px;\n}\n/* 4chan X Options */\n#appchanOptions {\n top: " + position[i++] + "px;\n}\n/* Slideout Navigation */\n#boardNavDesktopFoot,\n#boardNavDesktopFoot::after {\n top: " + position[i++] + "px;\n}\n/* Global Message */\n#globalMessage,\n#globalMessage::after {\n top: " + position[i++] + "px;\n}\n/* Watcher */\n" + (_conf["Slideout Watcher"] ? "#watcher, #watcher::after" : "") + " {\n top: " + position[i++] + "px !important;\n}\n/* 4sight */\nbody > a[style=\"cursor: pointer; float: right;\"]::after {\n top: " + position[i++] + "px;\n}\n/* ExLinks */\n#navtopright .exlinksOptionsLink::after {\n top: " + position[i++] + "px;\n}\n/* 4chan Catalog */\n#catalog::after {\n top: " + position[i++] + "px;\n}\n/* Back */\ndiv.navLinks > a:first-of-type::after {\n top: " + position[i++] + "px;\n}\n/* Fappe Tyme */\n#fappeTyme {\n top: " + position[i++] + "px;\n}\n/* Thread Navigation Links */\n#navlinks a:first-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a:last-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a,\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n#boardNavDesktopFoot::after,\n#globalMessage::after,\n#img-controls,\n#main-menu,\n#fappeTyme,\n" + (_conf["Slideout Watcher"] ? "#watcher::after," : "") + "\nbody > a[style=\"cursor: pointer; float: right;\"]::after,\n#catalog::after,\ndiv.navLinks > a:first-of-type::after {\n " + align + ": 3px !important;\n}\n#boardNavDesktopFoot,\n#globalMessage,\n#watcher {\n " + Style.sizing + ": border-box;\n width: " + (Style.sidebar - 18) + "px !important;\n min-width: 230px;\n " + align + ": 18px !important;\n}\n.fixed.top #header-bar" + (_conf['Pagination'] === 'top' || _conf['Pagination'] === 'sticky top' ? ',\n.pagelist' : '') + " {\n " + (_conf['4chan SS Navigation'] ? "padding-" + align + ": " + iconOffset + "px;" : "margin-" + align + ": " + iconOffset + "px;") + "\n}"; + css += "/* Expand Images */\n#img-controls {\n top: " + position[i++] + "px;\n}\n/* Main Menu */\n#main-menu {\n top: " + position[i++] + "px;\n}\n/* 4chan X Options */\n#appchanOptions {\n top: " + position[i++] + "px;\n}\n/* Slideout Navigation */\n#boardNavDesktopFoot,\n#boardNavDesktopFoot::after {\n top: " + position[i++] + "px;\n}\n/* Global Message */\n#globalMessage,\n#globalMessage::after {\n top: " + position[i++] + "px;\n}\n/* Watcher */\n" + (_conf["Slideout Watcher"] ? "#watcher, #watcher::after" : "") + " {\n top: " + position[i++] + "px !important;\n}\n/* 4sight */\nbody > a[style=\"cursor: pointer; float: right;\"]::after {\n top: " + position[i++] + "px;\n}\n/* ExLinks */\n#navtopright .exlinksOptionsLink::after {\n top: " + position[i++] + "px;\n}\n/* 4chan Catalog */\n#catalog::after {\n top: " + position[i++] + "px;\n}\n/* Back */\ndiv.navLinks > a:first-of-type::after {\n top: " + position[i++] + "px;\n}\n/* Fappe Tyme */\n#fappeTyme {\n top: " + position[i++] + "px;\n}\n/* Thread Navigation Links */\n#navlinks a:first-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a:last-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a,\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n#boardNavDesktopFoot::after,\n#globalMessage::after,\n#img-controls,\n#main-menu,\n#fappeTyme,\n" + (_conf["Slideout Watcher"] ? "#watcher::after," : "") + "\nbody > a[style=\"cursor: pointer; float: right;\"]::after,\n#catalog::after,\ndiv.navLinks > a:first-of-type::after {\n " + align + ": 3px !important;\n}\n#boardNavDesktopFoot,\n#globalMessage,\n#watcher {\n -moz-box-sizing: border-box;\n width: " + (Style.sidebar - 18) + "px !important;\n min-width: 230px;\n " + align + ": 18px !important;\n}\n.fixed.top #header-bar" + (_conf['Pagination'] === 'top' || _conf['Pagination'] === 'sticky top' ? ',\n.pagelist' : '') + " {\n " + (_conf['4chan SS Navigation'] ? "padding-" + align + ": " + iconOffset + "px;" : "margin-" + align + ": " + iconOffset + "px;") + "\n}"; } return Style.icons.textContent = css; }, @@ -14412,7 +14434,7 @@ var hyphenated; $.cb.checked.call(this); - hyphenated = this.name.toLowerCase().replace(/\s+/g, '-'); + hyphenated = this.name.toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); return (this.checked ? $.addClass : $.rmClass)(doc, hyphenated); }, value: function() { @@ -14427,7 +14449,7 @@ _results = []; for (_i = 0, _len = _ref.length; _i < _len; _i++) { option = _ref[_i]; - hyphenated = ("" + this.name + " {option.value}").toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + this.name + " " + option.value).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); _results.push((option.value === this.value ? $.addClass : $.rmClass)(doc, hyphenated)); } return _results; diff --git a/builds/appchan-x.user.js b/builds/appchan-x.user.js index 0cd0957d2..29c8ae1bc 100644 --- a/builds/appchan-x.user.js +++ b/builds/appchan-x.user.js @@ -10593,10 +10593,7 @@ JSColor = { css: function() { - var agent; - - agent = Style.agent; - return ".jscBox {\nwidth: 251px;\nheight: 155px;\n}\n.jscBoxB,\n.jscPadB,\n.jscPadM,\n.jscSldB,\n.jscSldM,\n.jscBtn {\nposition: absolute;\nclear: both;\n}\n.jscBoxB {\nleft: 320px;\nbottom: 20px;\nz-index: 30;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\nbackground: ThreeDFace;\n}\n.jscPad {\nwidth: 181px;\nheight: 101px;\nbackground-image: " + agent + "linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)), " + agent + "linear-gradient(left, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);\nbackground-repeat: no-repeat;\nbackground-position: 0 0;\n}\n.jscPadB {\nleft: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscPadM {\nleft: 0;\ntop: 0;\nwidth: 200px;\nheight: 121px;\ncursor: crosshair;\nbackground-image: url('data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=');\nbackground-repeat: no-repeat;\n}\n.jscSld {\nwidth: 16px;\nheight: 101px;\nbackground-image: " + agent + "linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));\n}\n.jscSldB {\nright: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscSldM {\nright: 0;\ntop: 0;\nwidth: 36px;\nheight: 121px;\ncursor: pointer;\nbackground-image: url('data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7');\nbackground-repeat: no-repeat;\n}\n.jscBtn {\nright: 10px;\nbottom: 10px;\npadding: 0 15px;\nheight: 18px;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\ncolor: ButtonText;\ntext-align: center;\ncursor: pointer;\n}\n.jscBtnS {\nline-height: 10px;\n}"; + return ".jscBox {\nwidth: 251px;\nheight: 155px;\n}\n.jscBoxB,\n.jscPadB,\n.jscPadM,\n.jscSldB,\n.jscSldM,\n.jscBtn {\nposition: absolute;\nclear: both;\n}\n.jscBoxB {\nleft: 320px;\nbottom: 20px;\nz-index: 30;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\nbackground: ThreeDFace;\n}\n.jscPad {\nwidth: 181px;\nheight: 101px;\nbackground-image: -moz-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)), -moz-linear-gradient(left, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);\nbackground-repeat: no-repeat;\nbackground-position: 0 0;\n}\n.jscPadB {\nleft: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscPadM {\nleft: 0;\ntop: 0;\nwidth: 200px;\nheight: 121px;\ncursor: crosshair;\nbackground-image: url('data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=');\nbackground-repeat: no-repeat;\n}\n.jscSld {\nwidth: 16px;\nheight: 101px;\nbackground-image: -moz-linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));\n}\n.jscSldB {\nright: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscSldM {\nright: 0;\ntop: 0;\nwidth: 36px;\nheight: 121px;\ncursor: pointer;\nbackground-image: url('data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7');\nbackground-repeat: no-repeat;\n}\n.jscBtn {\nright: 10px;\nbottom: 10px;\npadding: 0 15px;\nheight: 18px;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\ncolor: ButtonText;\ntext-align: center;\ncursor: pointer;\n}\n.jscBtnS {\nline-height: 10px;\n}"; }, bind: function(el) { if (!el.color) { @@ -10962,7 +10959,7 @@ if (Conf["Grayscale Mascots"]) { filters.push(''); } - return Style.mascot.textContent = "#mascot img {\n position: fixed;\n z-index: " + (Conf['Mascots Overlap Posts'] ? '3' : '-1') + ";\n " + (Style.sidebarLocation[0] === "left" ? "" + Style.agent + "transform: scaleX(-1);" : "") + "\n bottom: " + (mascot.position === 'top' ? 'auto' : Conf['Mascot Position'] === 'middle' ? '50%' : (mascot.position === 'bottom' && Conf['Mascot Position'] === 'default') || !$.id('postForm') ? '0' : position) + ";\n " + location + ": " + ((mascot.hOffset || 0) + (Conf['Sidebar'] === 'large' && mascot.center ? 25 : 0)) + "px;\n top: " + (mascot.position === 'top' ? '0' : 'auto') + ";\n height: " + (mascot.height && isNaN(parseFloat(mascot.height)) ? mascot.height : mascot.height ? parseInt(mascot.height, 10) + 'px' : 'auto') + ";\n width: " + (mascot.width && isNaN(parseFloat(mascot.width)) ? mascot.width : mascot.width ? parseInt(mascot.width, 10) + 'px' : 'auto') + ";\n margin-" + location + ": " + (mascot.hOffset || 0) + "px;\n margin-bottom: " + (mascot.vOffset || 0) + "px;\n opacity: " + Conf['Mascot Opacity'] + ";\n pointer-events: none;\n " + (filters.length > 0 ? "filter: url('data:image/svg+xml," + filters.join("") + "#filters');" : "") + "\n " + (Conf['Mascot Position'] === 'middle' ? "" + Style.agent + "transform: translateY(50%);" : '') + "\n}"; + return Style.mascot.textContent = "#mascot img {\n position: fixed;\n z-index: " + (Conf['Mascots Overlap Posts'] ? '3' : '-1') + ";\n " + (Style.sidebarLocation[0] === "left" ? "-moz-box-sizingtransform: scaleX(-1);" : "") + "\n bottom: " + (mascot.position === 'top' ? 'auto' : Conf['Mascot Position'] === 'middle' ? '50%' : (mascot.position === 'bottom' && Conf['Mascot Position'] === 'default') || !$.id('postForm') ? '0' : position) + ";\n " + location + ": " + ((mascot.hOffset || 0) + (Conf['Sidebar'] === 'large' && mascot.center ? 25 : 0)) + "px;\n top: " + (mascot.position === 'top' ? '0' : 'auto') + ";\n height: " + (mascot.height && isNaN(parseFloat(mascot.height)) ? mascot.height : mascot.height ? parseInt(mascot.height, 10) + 'px' : 'auto') + ";\n width: " + (mascot.width && isNaN(parseFloat(mascot.width)) ? mascot.width : mascot.width ? parseInt(mascot.width, 10) + 'px' : 'auto') + ";\n margin-" + location + ": " + (mascot.hOffset || 0) + "px;\n margin-bottom: " + (mascot.vOffset || 0) + "px;\n opacity: " + Conf['Mascot Opacity'] + ";\n pointer-events: none;\n " + (filters.length > 0 ? "filter: url('data:image/svg+xml," + filters.join("") + "#filters');" : "") + "\n " + (Conf['Mascot Position'] === 'middle' ? "-moz-box-sizingtransform: translateY(50%);" : '') + "\n}"; }, categories: ['Anime', 'Ponies', 'Questionable', 'Silhouette', 'Western'], dialog: function(key) { @@ -11378,13 +11375,13 @@ if (setting[2] === 'text') { continue; } - hyphenated = ("" + name + " " + Conf[name]).toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + name + " " + Conf[name]).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); $.addClass(doc, hyphenated); } else { if (!Conf[name]) { continue; } - hyphenated = ("" + name).toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + name).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); $.addClass(doc, hyphenated); } } @@ -11440,8 +11437,6 @@ } }, 500); }, - agent: "-moz-", - sizing: "-moz-box-sizing", setup: function() { var theme; @@ -11451,7 +11446,8 @@ themeCSS: $.addStyle(Style.theme(theme), 'theme'), icons: $.addStyle("", 'icons'), paddingSheet: $.addStyle("", 'padding'), - mascot: $.addStyle("", 'mascotSheet') + mascot: $.addStyle("", 'mascotSheet'), + dynamic: $.addStyle(Style.dynamic(), 'dynamic') }); $.addStyle(JSColor.css(), 'jsColor'); if (d.head) { @@ -11545,10 +11541,9 @@ return "filter: url(\"data:image/svg+xml,#filters\");"; }, layout: function() { - var agent, css, editSpace, width, xOffset, _conf; + var css, editSpace, width, xOffset, _conf; _conf = Conf; - agent = Style.agent; xOffset = _conf["Sidebar Location"] === "left" ? '-' : ''; Style.pfOffset = _conf['4chan SS Navigation'] && ((_conf['Bottom Header'] && _conf['Fixed Header']) || (g.VIEW === 'index' && _conf['Pagination'] === 'sticky bottom')) ? 1.5 : 0; Style.sidebar = { @@ -11571,14 +11566,14 @@ }; } Style.replyMargin = _conf["Post Spacing"]; - return css = "/* Cleanup */\n#absbot,\n#boardNavDesktop,\n#delPassword,\n#delform > hr:last-of-type,\n#navbotright,\n#postForm,\n#search-label,\n#search-label-bottom,\n#styleSwitcher,\n#togglePostForm,\n.boardBanner > div,\n.mobile,\n.next form,\n.next span,\n.postingMode,\n.prev form,\n.prev span,\n.riced,\n.sideArrows,\n.stylechanger,\nbody > br,\nbody > div[style^=\"text-align\"],\nbody > hr {\n display: none;\n}\n/* Empties */\n#qr .warning:empty,\n#qr-thread-select:empty {\n display: none;\n}\n/* File Name Trunctuate */\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull {\n display: none;\n}\n/* Unnecessary */\n#qp input,\n#qp .rice,\n.inline .rice {\n display: none !important;\n}\n/* Hidden Content */\n.forwarded,\n.hidden,\n.hidden_thread ~ div,\n.hidden_thread ~ a,\n.replyContainer .stub ~ div,\n.replyContainer .stub ~ a,\n.stub + div,\n.thread > .stub:first-child ~ .postContainer,\n.thread > .stub:first-child ~ .summary,\n[hidden] {\n display: none !important;\n}\n/* Hidden UI */\n#catalog,\n#navlinks,\n#navtopright,\n.cataloglink,\n.navLinks,\na[style=\"cursor: pointer; float: right;\"] {\n z-index: 7;\n position: fixed;\n top: 100%;\n left: 100%;\n}\n/* Hide last horizontal rule, keep clear functionality. */\n.board > hr:last-of-type {\n visibility: hidden;\n}\n/* Fappe Tyme */\n.fappeTyme .thread > .noFile,\n.fappeTyme .threadContainer > .noFile {\n display: none;\n}\n/* Defaults */\na {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n outline: none;\n}\nbody,\nhtml {\n min-height: 100%;\n " + Style.sizing + ": border-box;\n}\nbody {\n outline: none;\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n font-family: " + _conf["Font"] + ";\n min-height: 100%;\n margin-top: 0;\n margin-bottom: 0;\n margin-" + Style.sidebarLocation[0] + ": " + (/^boards\.4chan\.org$/.test(location.hostname) ? Style.sidebar : '2') + "px;\n margin-" + Style.sidebarLocation[1] + ": 2px;\n padding: 0 " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px 0 " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"]) + "px;\n}\nbody.unscroll {\n overflow: hidden;\n}\n" + (_conf["4chan SS Sidebar"] && /^boards\.4chan\.org$/.test(location.hostname) ? "body::before { content: ''; position: fixed; top: 0; bottom: 0; " + Style.sidebarLocation[0] + ": 0; width: " + (_conf['Sidebar'] === 'large' ? 305 : _conf['Sidebar'] === 'normal' ? 254 : _conf['Sidebar'] === 'minimal' ? 27 : 0) + "px; z-index: 1; " + Style.sizing + ": border-box; display: block;}body { padding-" + Style.sidebarLocation[0] + ": 2px;}" : "") + "\nbutton,\ninput,\ntextarea {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n font-family: " + _conf["Font"] + ";\n}\nhr {\n clear: both;\n border: 0;\n padding: 0;\n margin: 0 0 1px;\n " + (_conf['Hide Horizontal Rules'] ? 'visibility: hidden;' : '') + "\n}\nth {\n text-align: left;\n}\n.center {\n text-align: center;\n}\n.disabled {\n opacity: 0.5;\n}\n.pointer {\n cursor: pointer;\n}\n/* Symbols */\n.drop-marker {\n vertical-align: middle;\n display: inline-block;\n margin: 2px 2px 3px;\n border-top: .5em solid;\n border-right: .3em solid transparent;\n border-left: .3em solid transparent;\n}\n.brackets-wrap::before {\n content: \" [\";\n}\n.brackets-wrap::after {\n content: \"] \";\n}\n/* Thread / Reply Nav */\n#navlinks a {\n position: fixed;\n z-index: 12;\n opacity: 0.5;\n display: inline-block;\n border-right: 6px solid transparent;\n border-left: 6px solid transparent;\n margin: 1.5px;\n}\n/* Header */\n#header-bar {\n z-index: 6;\n border-width: 1px;\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 2px;" : "") + "\n text-align: " + _conf["Navigation Alignment"] + ";\n}\n#shortcuts {\n float: right;\n}\n.fixed #header-bar.autohide {\n z-index: 24;\n}\n.fixed #header-bar {\n position: fixed;\n}\n.top #header-bar {\n top: 0;\n border-top-width: 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : "") + "\"\n}\n.fixed.bottom #header-bar {\n bottom: 0;\n border-bottom-width: 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\"\n}\n.hide #header-bar {\n position: fixed;\n top: 110%;\n bottom: auto;\n}\n/* Header Autohide */\n.fixed #header-bar.autohide:not(:hover) {\n box-shadow: none;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar.autohide:not(:hover) {\n margin-bottom: -1em;\n " + agent + "transform: translateY(-100%);\n}\n.fixed.bottom #header-bar.autohide:not(:hover) {\n " + agent + "transform: translateY(100%);\n}\n#scroll-marker {\n left: 0;\n right: 0;\n height: 10px;\n position: absolute;\n}\n#header-bar #scroll-marker {\n display: none;\n}\n.fixed #header-bar #scroll-marker {\n display: block;\n}\n.fixed.top header-bar #scroll-marker {\n top: 100%;\n}\n.fixed.bottom #header-bar #scroll-marker {\n bottom: 100%;\n}\n/* Notifications */\n#notifications {\n position: fixed;\n top: 0;\n text-align: center;\n right: 0;\n left: 0;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar #notifications {\n position: absolute;\n top: 100%;\n}\n.notification {\n font-family: " + _conf["Font"] + ";\n font-size: " + (parseInt(_conf["Font Size"], 10)) + ";\n color: #fff;\n font-weight: 700;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .5);\n box-shadow: 0 1px 2px rgba(0, 0, 0, .15);\n border-radius: 2px;\n margin: 1px auto;\n width: 500px;\n max-width: 100%;\n position: relative;\n transition: all .25s ease-in-out;\n}\n.notification.error {\n background-color: hsla(0, 100%, 38%, .9);\n}\n.notification.warning {\n background-color: hsla(36, 100%, 38%, .9);\n}\n.notification.info {\n background-color: hsla(200, 100%, 38%, .9);\n}\n.notification.success {\n background-color: hsla(104, 100%, 38%, .9);\n}\n.notification a {\n color: #fff;\n}\n.notification > .close {\n padding: 6px;\n top: 0;\n right: 5px;\n position: absolute;\n color: #fff;\n}\n.message {\n " + Style.sizing + ": border-box;\n padding: 6px 20px;\n max-height: 200px;\n width: 100%;\n overflow: auto;\n}\n/* Main Menu */\n#main-menu {\n margin: 0;\n border: 2px solid;\n border-radius: 10px;\n height: 14px;\n width: 14px;\n " + Style.sizing + ": border-box;\n border-color: rgb(130,130,130);\n color: rgb(130,130,130);\n}\n#main-menu::after {\n content: '';\n font-size: 10px;\n position: absolute;\n top: 50%;\n left: 50%;\n " + agent + "transform: translate(-60%, -50%);\n display: block;\n border-top: 5px solid rgb(130, 130, 130);\n border-left: 3px solid transparent;\n border-right: 3px solid transparent;\n width: 7px;\n " + Style.sizing + ": border-box;\n}\n/* Updater / Thread Stats */\n.float #thread-stats,\n.float #updater {\n position: fixed;\n}\n#update-status.new::after {\n content: ', ';\n}\n/* Pagination */\n.pagelist {\n border-width: 1px;\n text-align: " + _conf["Pagination Alignment"] + ";\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + { + return css = "/* Cleanup */\n#absbot,\n#boardNavDesktop,\n#delPassword,\n#delform > hr:last-of-type,\n#navbotright,\n#postForm,\n#search-label,\n#search-label-bottom,\n#styleSwitcher,\n#togglePostForm,\n.boardBanner > div,\n.mobile,\n.next form,\n.next span,\n.postingMode,\n.prev form,\n.prev span,\n.riced,\n.sideArrows,\n.stylechanger,\nbody > br,\nbody > div[style^=\"text-align\"],\nbody > hr {\n display: none;\n}\n/* Empties */\n#qr .warning:empty,\n#qr-thread-select:empty {\n display: none;\n}\n/* File Name Trunctuate */\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull {\n display: none;\n}\n/* Unnecessary */\n#qp input,\n#qp .rice,\n.inline .rice {\n display: none !important;\n}\n/* Hidden Content */\n.forwarded,\n.hidden,\n.hidden_thread ~ div,\n.hidden_thread ~ a,\n.replyContainer .stub ~ div,\n.replyContainer .stub ~ a,\n.stub + div,\n.thread > .stub:first-child ~ .postContainer,\n.thread > .stub:first-child ~ .summary,\n[hidden] {\n display: none !important;\n}\n/* Hidden UI */\n#catalog,\n#navlinks,\n#navtopright,\n.cataloglink,\n.navLinks,\na[style=\"cursor: pointer; float: right;\"] {\n z-index: 7;\n position: fixed;\n top: 100%;\n left: 100%;\n}\n/* Hide last horizontal rule, keep clear functionality. */\n.board > hr:last-of-type {\n visibility: hidden;\n}\n/* Fappe Tyme */\n.fappeTyme .thread > .noFile,\n.fappeTyme .threadContainer > .noFile {\n display: none;\n}\n/* Defaults */\na {\n text-decoration: none;\n outline: none;\n}\n.underline-links a {\n text-decoration: underline;\n}\nbody,\nhtml {\n min-height: 100%;\n -moz-box-sizing: border-box;\n}\nbody {\n outline: none;\n min-height: 100%;\n}\n.sidebar-hide body {\n margin: 0 2px;\n}\n.sidebar-minimal body {\n margin: 0 20px;\n}\n.sidebar-normal body {\n margin: 0 252px\n}\n.sidebar-large body {\n margin: 0 303px;\n}\n.sidebar-location-right body {\n margin-left: 2px;\n}\n.sidebar-location-left body {\n margin-right: 2px;\n}\nbody.unscroll {\n overflow: hidden;\n}\n.fourchan-ss-sidebar body::before {\n content: '';\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: 1;\n -moz-box-sizing: border-box;\n display: block;\n}\n.sidebar-right body::before {\n right: 0;\n}\nsidebar-left body::before {\n left: 0;\n}\n.fourchan-ss-sidebar.sidebar-right body {\n padding-right: 2px;\n}\n.fourchan-ss-sidebar.sidebar-left body {\n padding-left: 2px;\n}\nhr {\n clear: both;\n border: 0;\n padding: 0;\n margin: 0 0 1px;\n}\n.hide-horizontal-rules hr {\n visibility: hidden;\n}\nth {\n text-align: left;\n}\n.center {\n text-align: center;\n}\n.disabled {\n opacity: 0.5;\n}\n.pointer {\n cursor: pointer;\n}\n/* Symbols */\n.drop-marker {\n vertical-align: middle;\n display: inline-block;\n margin: 2px 2px 3px;\n border-top: .5em solid;\n border-right: .3em solid transparent;\n border-left: .3em solid transparent;\n}\n.brackets-wrap::before {\n content: \" [\";\n}\n.brackets-wrap::after {\n content: \"] \";\n}\n/* Thread / Reply Nav */\n#navlinks a {\n position: fixed;\n z-index: 12;\n opacity: 0.5;\n display: inline-block;\n border-right: 6px solid transparent;\n border-left: 6px solid transparent;\n margin: 1.5px;\n}\n/* Header */\n#header-bar {\n z-index: 6;\n border-width: 1px;\n}\n.navigation-alignment-center #header-bar {\n text-align: center;\n}\n.navigation-alignment-right #header-bar {\n text-align: right;\n}\n.fourchan-ss-navigation #header-bar {\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n border-radius: 0 !important;\n}\n.hide-navigation-decorations #header-bar {\n font-size: 0;\n color: transparent;\n word-spacing: 2px;\n}\n#shortcuts {\n float: right;\n}\n.fixed #header-bar.autohide {\n z-index: 24;\n}\n.fixed #header-bar {\n position: fixed;\n}\n.top #header-bar {\n top: 0;\n border-top-width: 0;\n}\n.rounded-edges.top #header-bar {\n border-radius: 0 0 3px 3px;\n}\n.fixed.bottom #header-bar {\n bottom: 0;\n border-bottom-width: 0;\n}\n.rounded-edges.bottom #header-bar {\n border-radius: 3px 3px 0 0;\n}\n.hide #header-bar {\n position: fixed;\n top: 110%;\n bottom: auto;\n}\n/* Header Autohide */\n.fixed #header-bar.autohide:not(:hover) {\n box-shadow: none;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar.autohide:not(:hover) {\n margin-bottom: -1em;\n -moz-transform: translateY(-100%);\n}\n.fixed.bottom #header-bar.autohide:not(:hover) {\n -moz-transform: translateY(100%);\n}\n#scroll-marker {\n left: 0;\n right: 0;\n height: 10px;\n position: absolute;\n}\n#header-bar #scroll-marker {\n display: none;\n}\n.fixed #header-bar #scroll-marker {\n display: block;\n}\n.fixed.top header-bar #scroll-marker {\n top: 100%;\n}\n.fixed.bottom #header-bar #scroll-marker {\n bottom: 100%;\n}\n/* Notifications */\n#notifications {\n position: fixed;\n top: 0;\n text-align: center;\n right: 0;\n left: 0;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar #notifications {\n position: absolute;\n top: 100%;\n}\n.notification {\n font-family: " + _conf["Font"] + ";\n font-size: " + (parseInt(_conf["Font Size"], 10)) + ";\n color: #fff;\n font-weight: 700;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .5);\n box-shadow: 0 1px 2px rgba(0, 0, 0, .15);\n border-radius: 2px;\n margin: 1px auto;\n width: 500px;\n max-width: 100%;\n position: relative;\n transition: all .25s ease-in-out;\n}\n.notification.error {\n background-color: hsla(0, 100%, 38%, .9);\n}\n.notification.warning {\n background-color: hsla(36, 100%, 38%, .9);\n}\n.notification.info {\n background-color: hsla(200, 100%, 38%, .9);\n}\n.notification.success {\n background-color: hsla(104, 100%, 38%, .9);\n}\n.notification a {\n color: #fff;\n}\n.notification > .close {\n padding: 6px;\n top: 0;\n right: 5px;\n position: absolute;\n color: #fff;\n}\n.message {\n -moz-box-sizing: border-box;\n padding: 6px 20px;\n max-height: 200px;\n width: 100%;\n overflow: auto;\n}\n/* Main Menu */\n#main-menu {\n margin: 0;\n border: 2px solid;\n border-radius: 10px;\n height: 14px;\n width: 14px;\n -moz-box-sizing: border-box;\n border-color: rgb(130,130,130);\n color: rgb(130,130,130);\n}\n#main-menu::after {\n content: '';\n font-size: 10px;\n position: absolute;\n top: 50%;\n left: 50%;\n -moz-transform: translate(-60%, -50%);\n display: block;\n border-top: 5px solid rgb(130, 130, 130);\n border-left: 3px solid transparent;\n border-right: 3px solid transparent;\n width: 7px;\n -moz-box-sizing: border-box;\n}\n/* Updater / Thread Stats */\n.float #thread-stats,\n.float #updater {\n position: fixed;\n}\n#update-status.new::after {\n content: ', ';\n}\n/* Pagination */\n.pagelist {\n border-width: 1px;\n text-align: " + _conf["Pagination Alignment"] + ";\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + { "sticky top": " position: fixed; top: 0; border-top-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : ""), "sticky bottom": " position: fixed; bottom: 0; border-bottom-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : ""), "top": " position: static; border-top-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : ""), "bottom": " position: static; " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : ""), "hide": " display: none;", - "on side": " position: fixed; padding: 0; top: auto; bottom: " + (['fixed', 'transparent fade'].contains(_conf['Post Form Style']) ? 21.6 + (Conf['Show Post Form Header'] ? 1.5 : 0) + (Conf['Post Form Decorations'] ? 0.2 : 0) : .5) + "em; " + Style.sidebarLocation[1] + ": auto; " + Style.sidebarLocation[0] + ": " + (Style.sidebar - 2) + "px; position: fixed;" + (Style.sidebarLocation[0] === 'right' ? " " + agent + "transform: rotate(90deg); " + agent + "transform-origin: bottom right;" : " " + agent + "transform: rotate(-90deg); " + agent + "transform-origin: bottom left;") + " z-index: 6; margin: 0; background: none transparent !important; border: 0 none !important; text-align: right;" - }[_conf['Pagination']] + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 0;" : "") + "\n z-index: 6;\n}\n.pagelist input,\n.pagelist div {\n vertical-align: middle;\n}\n#header-bar a {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n}\n" + (_conf["Hide Navigation Decorations"] ? ".pages a { margin: 0 1px; font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;}" : "") + "\n.next,\n.pages,\n.prev {\n display: inline-block;\n margin: 0 3px;\n}\n/* Banner */\n.boardBanner {\n line-height: 0;\n}\n" + (_conf["Faded 4chan Banner"] ? ".boardBanner { opacity: 0.5; " + agent + "transition: opacity 0.3s ease-in-out .5s;}.boardBanner:hover { opacity: 1; " + agent + "transition: opacity 0.3s ease-in;}" : "") + "\n" + (_conf["4chan Banner Reflection"] ? "/* From 4chan SS / OneeChan */.gecko .boardBanner::after { background-image: -moz-element(#Banner); bottom: -100%; content: ''; left: 0; mask: url(\"data:image/svg+xml, #mask\"); opacity: 0.3; position: absolute; right: 0; top: 100%; -moz-transform: scaleY(-1); z-index: -1;}.webkit #Banner { -webkit-box-reflect: below 0 -webkit-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0) 10%, rgba(255,255,255,.5));}" : "") + "\n" + { + "on side": " position: fixed; padding: 0; top: auto; bottom: " + (['fixed', 'transparent fade'].contains(_conf['Post Form Style']) ? 21.6 + (Conf['Show Post Form Header'] ? 1.5 : 0) + (Conf['Post Form Decorations'] ? 0.2 : 0) : .5) + "em; " + Style.sidebarLocation[1] + ": auto; " + Style.sidebarLocation[0] + ": " + (Style.sidebar - 2) + "px; position: fixed;" + (Style.sidebarLocation[0] === 'right' ? " -moz-transform: rotate(90deg); -moz-transform-origin: bottom right;" : " -moz-transform: rotate(-90deg); -moz-transform-origin: bottom left;") + " z-index: 6; margin: 0; background: none transparent !important; border: 0 none !important; text-align: right;" + }[_conf['Pagination']] + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 0;" : "") + "\n z-index: 6;\n}\n.pagelist input,\n.pagelist div {\n vertical-align: middle;\n}\n#header-bar a {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n}\n" + (_conf["Hide Navigation Decorations"] ? ".pages a { margin: 0 1px; font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;}" : "") + "\n.next,\n.pages,\n.prev {\n display: inline-block;\n margin: 0 3px;\n}\n/* Banner */\n.boardBanner {\n line-height: 0;\n}\n" + (_conf["Faded 4chan Banner"] ? ".boardBanner { opacity: 0.5; -moz-transition: opacity 0.3s ease-in-out .5s;}.boardBanner:hover { opacity: 1; -moz-transition: opacity 0.3s ease-in;}" : "") + "\n" + (_conf["4chan Banner Reflection"] ? "/* From 4chan SS / OneeChan */.gecko .boardBanner::after { background-image: -moz-element(#Banner); bottom: -100%; content: ''; left: 0; mask: url(\"data:image/svg+xml, #mask\"); opacity: 0.3; position: absolute; right: 0; top: 100%; -moz-transform: scaleY(-1); z-index: -1;}.webkit #Banner { -webkit-box-reflect: below 0 -webkit-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0) 10%, rgba(255,255,255,.5));}" : "") + "\n" + { "at sidebar top": ".boardBanner { position: fixed; top: 16px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", "at sidebar bottom": ".boardBanner { position: fixed; bottom: 270px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", "under post form": " .boardBanner { position: fixed; bottom: 130px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", @@ -11590,36 +11585,63 @@ "under post form": " position: fixed; " + Style.sidebarLocation[0] + ": 2px; bottom: 140px; width: " + width + "px;", "at top": " margin: 12px 0;", "hide": " display: none;" - }[_conf["Board Title"]] + "\n}\n.boardTitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) + 10) + "px;\n}\n.boardSubtitle,\n.boardSubtitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) - 1) + "px;\n}\n" + (!_conf['Board Subtitle'] ? ".boardSubtitle { display: none; }" : "") + "\n/* Dialogs */\n.move {\n cursor: pointer;\n}\n#ihover {\n position: fixed;\n max-height: 97%;\n max-width: 75%;\n padding: 10px;\n z-index: 22;\n}\n#qp {\n position: fixed;\n z-index: 22;\n}\n#qp .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n#qp .full-image {\n max-height: 300px;\n max-width: 500px;\n}\n#menu {\n position: fixed;\n outline: none;\n z-index: 22;\n}\n/* Image Expansion */\n.fit-width .full-image {\n max-width: 100%;\n width: 100%;\n}\n" + (_conf['Images Overlap Post Form'] ? ".full-image { position: relative; z-index: 21;}" : "") + "\n/* Delete Buttons */\n" + (_conf['Hide Delete UI'] ? ".deleteform,.post:not(#exlinks-options) .rice { display: none;}.postInfo { padding: 0 0 0 3px;}" : ".deleteform { position: fixed; z-index: 18; width: 0; bottom: 0; right: 0; border-width: 1px 0 0 1px; border-style: solid; font-size: 0; color: transparent;}.deleteform:hover { width: auto;}.deleteform::before { z-index: 18; border-width: 1px 0 0 1px; border-style: solid; content: 'X'; display: block; position: fixed; bottom: 0; right: 0; font-size: " + _conf['Font Size'] + "px; " + Style.sizing + ": border-box; height: 1.6em; width: 1.4em; text-align: center;}.deleteform:hover::before { display: none;}.deleteform input { margin: 0 1px 0 0;}") + "\n/* Slideout Navigation */\n#boardNavDesktopFoot {\n position: fixed;\n width: " + width + "px;\n " + Style.sidebarLocation[0] + ": 2px;\n text-align: center;\n font-size: 0;\n color: transparent;\n overflow: hidden;\n " + Style.sizing + ": border-box;\n}\n#boardNavDesktopFoot a,\n#boardNavDesktopFoot a::after,\n#boardNavDesktopFoot a::before {\n font-size: " + _conf['Font Size'] + "px;\n}\n#boardNavDesktopFoot:hover {\n overflow-y: auto;\n padding: 2px;\n}\n#boardNavDesktopFoot:not(:hover) {\n border-color: transparent;\n background-color: transparent;\n height: 0;\n overflow: hidden;\n padding: 0;\n border: 0 none;\n}\n" + { + }[_conf["Board Title"]] + "\n}\n.boardTitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) + 10) + "px;\n}\n.boardSubtitle,\n.boardSubtitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) - 1) + "px;\n}\n" + (!_conf['Board Subtitle'] ? ".boardSubtitle { display: none; }" : "") + "\n/* Dialogs */\n.move {\n cursor: pointer;\n}\n#ihover {\n position: fixed;\n max-height: 97%;\n max-width: 75%;\n padding: 10px;\n z-index: 22;\n}\n#qp {\n position: fixed;\n z-index: 22;\n}\n#qp .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n#qp .full-image {\n max-height: 300px;\n max-width: 500px;\n}\n#menu {\n position: fixed;\n outline: none;\n z-index: 22;\n}\n/* Image Expansion */\n.fit-width .full-image {\n max-width: 100%;\n width: 100%;\n}\n" + (_conf['Images Overlap Post Form'] ? ".full-image { position: relative; z-index: 21;}" : "") + "\n/* Delete Buttons */\n" + (_conf['Hide Delete UI'] ? ".deleteform,.post:not(#exlinks-options) .rice { display: none;}.postInfo { padding: 0 0 0 3px;}" : ".deleteform { position: fixed; z-index: 18; width: 0; bottom: 0; right: 0; border-width: 1px 0 0 1px; border-style: solid; font-size: 0; color: transparent;}.deleteform:hover { width: auto;}.deleteform::before { z-index: 18; border-width: 1px 0 0 1px; border-style: solid; content: 'X'; display: block; position: fixed; bottom: 0; right: 0; font-size: " + _conf['Font Size'] + "px; -moz-box-sizing: border-box; height: 1.6em; width: 1.4em; text-align: center;}.deleteform:hover::before { display: none;}.deleteform input { margin: 0 1px 0 0;}") + "\n/* Slideout Navigation */\n#boardNavDesktopFoot {\n position: fixed;\n width: " + width + "px;\n " + Style.sidebarLocation[0] + ": 2px;\n text-align: center;\n font-size: 0;\n color: transparent;\n overflow: hidden;\n -moz-box-sizing: border-box;\n}\n#boardNavDesktopFoot a,\n#boardNavDesktopFoot a::after,\n#boardNavDesktopFoot a::before {\n font-size: " + _conf['Font Size'] + "px;\n}\n#boardNavDesktopFoot:hover {\n overflow-y: auto;\n padding: 2px;\n}\n#boardNavDesktopFoot:not(:hover) {\n border-color: transparent;\n background-color: transparent;\n height: 0;\n overflow: hidden;\n padding: 0;\n border: 0 none;\n}\n" + { compact: "#boardNavDesktopFoot { word-spacing: 1px;}", list: "#boardNavDesktopFoot a { display: block;}#boardNavDesktopFoot:hover { max-height: 400px;}#boardNavDesktopFoot a::after { content: ' - ' attr(title);}#boardNavDesktopFoot a[href*='//boards.4chan.org/']::after,#boardNavDesktopFoot a[href*='//rs.4chan.org/']::after { content: '/ - ' attr(title);}#boardNavDesktopFoot a[href*='//boards.4chan.org/']::before,#boardNavDesktopFoot a[href*='//rs.4chan.org/']::before { content: '/';}", hide: "#boardNavDesktopFoot { display: none;}" - }[_conf["Slideout Navigation"]] + "\n/* Watcher */\n#watcher {\n position: fixed;\n z-index: 14;\n padding: 2px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#watcher > div {\n max-height: 1.3em;\n overflow: hidden;\n}\n" + (_conf['Slideout Watcher'] ? "#watcher { width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; " + Style.sizing + ": border-box;}#watcher .move { cursor: default; text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";}#watcher > div { overflow: hidden;}#watcher:hover { overflow-y: auto;}#watcher:not(:hover) { height: 0; overflow: hidden; border: 0 none; padding: 0;}" : "#watcher { width: 200px;}#watcher:not(:hover) { max-height: 200px; overflow: hidden;}") + "\n.watch-thread-link {\n padding-top: 18px;\n width: 18px;\n height: 0px;\n display: inline-block;\n background-repeat: no-repeat;\n opacity: 0.2;\n position: relative;\n top: 1px;\n}\n.watch-thread-link.watched {\n opacity: 1;\n} \n/* Announcements */\n#globalMessage {\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n" + ({ - 'slideout': "#globalMessage { position: fixed; padding: 2px; width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important;}#globalMessage h3 { margin: 0;}#globalMessage:hover { " + Style.sizing + ": border-box; overflow-y: auto;}#globalMessage:not(:hover) { height: 0; overflow: hidden; padding: 0; border: 0 none;}", + }[_conf["Slideout Navigation"]] + "\n/* Watcher */\n#watcher {\n position: fixed;\n z-index: 14;\n padding: 2px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#watcher > div {\n max-height: 1.3em;\n overflow: hidden;\n}\n" + (_conf['Slideout Watcher'] ? "#watcher { width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; -moz-box-sizing: border-box;}#watcher .move { cursor: default; text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";}#watcher > div { overflow: hidden;}#watcher:hover { overflow-y: auto;}#watcher:not(:hover) { height: 0; overflow: hidden; border: 0 none; padding: 0;}" : "#watcher { width: 200px;}#watcher:not(:hover) { max-height: 200px; overflow: hidden;}") + "\n.watch-thread-link {\n padding-top: 18px;\n width: 18px;\n height: 0px;\n display: inline-block;\n background-repeat: no-repeat;\n opacity: 0.2;\n position: relative;\n top: 1px;\n}\n.watch-thread-link.watched {\n opacity: 1;\n} \n/* Announcements */\n#globalMessage {\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n" + ({ + 'slideout': "#globalMessage { position: fixed; padding: 2px; width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important;}#globalMessage h3 { margin: 0;}#globalMessage:hover { -moz-box-sizing: border-box; overflow-y: auto;}#globalMessage:not(:hover) { height: 0; overflow: hidden; padding: 0; border: 0 none;}", 'hide': "#globalMessage { display: none !important;}" - }[_conf['Announcements']] || "") + "\n/* Threads */\n.thread {\n margin: " + (parseInt(_conf["Top Thread Padding"], 10)) + "px 0 " + (parseInt(_conf["Bottom Thread Padding"], 10)) + "px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 4px;" : "") + "\n}\n/* Thread Clearfix */\n.thread > div:last-of-type::after {\n display: block;\n content: ' ';\n clear: both;\n}\n/* Posts */\n.expanding {\n opacity: .5;\n}\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull,\n.expanded-image > .post > .file > .fileThumb > img[data-md5],\n.post > .file > .fileThumb > .full-image {\n display: none;\n}\n.expanded-image > .post > .file > .fileThumb > .full-image {\n display: block;\n}\n.post,\n.summary,\n.threadContainer {\n margin-bottom: " + Style.replyMargin + "px;\n}\n.replyContainer:last-of-type .post {\n margin-bottom: 0;\n}\n.menu-button {\n position: relative;\n}\n.stub .menu-button,\n.post .menu-button,\n.hide-thread-button,\n.show-thread-button span,\n.hide-reply-button,\n.show-reply-button span {\n float: right;\n}\n.post .menu-button,\n.hide-thread-button,\n.hide-reply-button {\n margin: 0 3px;\n opacity: 0;\n " + agent + "transition: opacity .3s ease-out 0s;\n}\n.post:hover .hide-reply-button,\n.post:hover .menu-button,\n.post:hover .hide-thread-button,\n.hidden_thread .hide-thread-button,\n.hidden_thread .menu-button,\n.inline .hide-reply-button,\n.inline .menu-button {\n opacity: 1;\n}\n.hidden_thread {\n text-align: right;\n}\n" + (_conf['Color user IDs'] ? ".posteruid .hand { padding: .1em .3em; border-radius: 1em; font-size: 80%;}" : "") + "\n.postInfo > span {\n vertical-align: bottom;\n}\n.subject,\n.name {\n " + (_conf["Bolds"] ? 'font-weight: 600;' : '') + "\n}\n.postertrip {\n " + (_conf["Italics"] ? 'font-style: italic;' : '') + "\n}\n.replylink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.fileInfo {\n padding: 0 3px;\n}\n.fileThumb {\n float: left;\n margin: 3px 20px;\n outline: none;\n}\n.reply.post {\n " + Style.sizing + ": border-box;\n}\n" + (_conf["Fit Width Replies"] ? ".reply.post { display: block; overflow: hidden;}.expanded-image .reply.post,.hasInline .reply.post { width: 100%;}" : ".reply.post { display: inline-block;}") + "\n" + (_conf["Indent Replies"] ? ".thread > .replyContainer,.threadContainer > .replyContainer { margin-left: 2em;}" : '') + "\n.expanded-image .reply.post,\n.hasInline .reply.post {\n display: inline-block;\n overflow: visible;\n clear: both;\n}\n.post {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.postMessage {\n margin: " + _conf['Vertical Post Padding'] + "px " + _conf['Horizontal Post Padding'] + "px;\n}\n.spoiler,\ns {\n text-decoration: none;\n}\n/* Reply Clearfix */\n.reply.post .postMessage {\n clear: right;\n}\n" + (_conf['Force Reply Break'] || _conf["OP Background"] ? ".op.post .postMessage::after { display: block; content: ' '; clear: both;}" : "") + "\n/* OP */\n.favicon {\n vertical-align: bottom;\n}\n" + (_conf["OP Background"] ? ".op.post { " + Style.sizing + ": border-box;}" : "") + "\n/* Summary */\n" + (_conf["Force Reply Break"] ? ".summary { clear: both;}" : "") + "\n/* Inlined */\n.inline {\n margin: 2px 8px 2px 2px;\n}\n.post .inline {\n margin: 2px;\n}\n.inline .replyContainer {\n display: inline-block;\n}\n/* Inlined Clearfix */\n.inline .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n/* Quotes */\n.inlined {\n opacity: .5;\n}\n.quotelink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.filtered,\n.quotelink.filtered {\n text-decoration: underline;\n text-decoration: line-through !important;\n}\n.inline + .hashlink {\n display: none;\n}\n/* Quote Threading */\n.threadContainer {\n " + (_conf["Indent Replies"] ? "margin" : "padding") + "-left: 2em;\n border-left: 1px solid;\n}\n.threadOP {\n clear: both;\n}\n/* Backlinks */\n.backlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.backlink.dead {\n text-decoration: none;\n}\n" + (_conf["Filtered Backlinks"] ? ".filtered.backlink { display: none;}" : void 0) + "\n" + { + }[_conf['Announcements']] || "") + "\n/* Threads */\n.thread {\n margin: " + (parseInt(_conf["Top Thread Padding"], 10)) + "px 0 " + (parseInt(_conf["Bottom Thread Padding"], 10)) + "px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 4px;" : "") + "\n}\n/* Thread Clearfix */\n.thread > div:last-of-type::after {\n display: block;\n content: ' ';\n clear: both;\n}\n/* Posts */\n.expanding {\n opacity: .5;\n}\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull,\n.expanded-image > .post > .file > .fileThumb > img[data-md5],\n.post > .file > .fileThumb > .full-image {\n display: none;\n}\n.expanded-image > .post > .file > .fileThumb > .full-image {\n display: block;\n}\n.post,\n.summary,\n.threadContainer {\n margin-bottom: " + Style.replyMargin + "px;\n}\n.replyContainer:last-of-type .post {\n margin-bottom: 0;\n}\n.menu-button {\n position: relative;\n}\n.stub .menu-button,\n.post .menu-button,\n.hide-thread-button,\n.show-thread-button span,\n.hide-reply-button,\n.show-reply-button span {\n float: right;\n}\n.post .menu-button,\n.hide-thread-button,\n.hide-reply-button {\n margin: 0 3px;\n opacity: 0;\n -moz-transition: opacity .3s ease-out 0s;\n}\n.post:hover .hide-reply-button,\n.post:hover .menu-button,\n.post:hover .hide-thread-button,\n.hidden_thread .hide-thread-button,\n.hidden_thread .menu-button,\n.inline .hide-reply-button,\n.inline .menu-button {\n opacity: 1;\n}\n.hidden_thread {\n text-align: right;\n}\n" + (_conf['Color user IDs'] ? ".posteruid .hand { padding: .1em .3em; border-radius: 1em; font-size: 80%;}" : "") + "\n.postInfo > span {\n vertical-align: bottom;\n}\n.subject,\n.name {\n " + (_conf["Bolds"] ? 'font-weight: 600;' : '') + "\n}\n.postertrip {\n " + (_conf["Italics"] ? 'font-style: italic;' : '') + "\n}\n.replylink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.fileInfo {\n padding: 0 3px;\n}\n.fileThumb {\n float: left;\n margin: 3px 20px;\n outline: none;\n}\n.reply.post {\n -moz-box-sizing: border-box;\n}\n" + (_conf["Fit Width Replies"] ? ".reply.post { display: block; overflow: hidden;}.expanded-image .reply.post,.hasInline .reply.post { width: 100%;}" : ".reply.post { display: inline-block;}") + "\n" + (_conf["Indent Replies"] ? ".thread > .replyContainer,.threadContainer > .replyContainer { margin-left: 2em;}" : '') + "\n.expanded-image .reply.post,\n.hasInline .reply.post {\n display: inline-block;\n overflow: visible;\n clear: both;\n}\n.post {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.postMessage {\n margin: " + _conf['Vertical Post Padding'] + "px " + _conf['Horizontal Post Padding'] + "px;\n}\n.spoiler,\ns {\n text-decoration: none;\n}\n/* Reply Clearfix */\n.reply.post .postMessage {\n clear: right;\n}\n" + (_conf['Force Reply Break'] || _conf["OP Background"] ? ".op.post .postMessage::after { display: block; content: ' '; clear: both;}" : "") + "\n/* OP */\n.favicon {\n vertical-align: bottom;\n}\n" + (_conf["OP Background"] ? ".op.post { -moz-box-sizing: border-box;}" : "") + "\n/* Summary */\n" + (_conf["Force Reply Break"] ? ".summary { clear: both;}" : "") + "\n/* Inlined */\n.inline {\n margin: 2px 8px 2px 2px;\n}\n.post .inline {\n margin: 2px;\n}\n.inline .replyContainer {\n display: inline-block;\n}\n/* Inlined Clearfix */\n.inline .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n/* Quotes */\n.inlined {\n opacity: .5;\n}\n.quotelink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.filtered,\n.quotelink.filtered {\n text-decoration: underline;\n text-decoration: line-through !important;\n}\n.inline + .hashlink {\n display: none;\n}\n/* Quote Threading */\n.threadContainer {\n " + (_conf["Indent Replies"] ? "margin" : "padding") + "-left: 2em;\n border-left: 1px solid;\n}\n.threadOP {\n clear: both;\n}\n/* Backlinks */\n.backlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.backlink.dead {\n text-decoration: none;\n}\n" + (_conf["Filtered Backlinks"] ? ".filtered.backlink { display: none;}" : void 0) + "\n" + { "lower left": ".container { padding: 0 5px; max-width: 100%;}.reply.quoted { position: relative; padding-bottom: 1.7em;}.reply .container { position: absolute; left: 0; bottom: 0; padding: 0 5px;}.reply .container::before { content: 'REPLIES: ';}#qp .container { position: static; max-width: 100%;}#qp .container::before { content: '';}.inline .container { position: static; max-width: 100%;}.inline .container::before { content: '';}", 'lower right': ".reply.quoted { position: relative; padding-bottom: 1.7em;}.reply .container { position: absolute; right: 0; bottom: 0;}.container::before { content: 'REPLIES: ';}.container { max-width: 100%; padding: 0 5px;}#qp .container { position: static; max-width: 100%;}#qp .container::before { content: '';}.inline .container { position: static; float: none;}.inline .container::before { content: '';}", 'default': "" - }[_conf["Backlinks Position"]] + "\n/* Code */\n.prettyprint {\n " + Style.sizing + ": border-box;\n font-family: monospace;\n display: inline-block;\n margin-right: auto;\n white-space: pre-wrap;\n border-radius: 2px;\n overflow-x: auto;\n padding: 3px;\n max-width: 100%;\n}\n/* Menu */\n.entry {\n border-bottom: 1px solid rgba(0,0,0,.25);\n cursor: pointer;\n display: block;\n outline: none;\n padding: 3px 1em 3px 7px;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n}\n.entry:last-child {\n border-bottom: 0;\n}\n.has-submenu::after {\n content: \"\";\n border-left: .5em solid;\n border-top: .3em solid transparent;\n border-bottom: .3em solid transparent;\n display: inline-block;\n margin: .3em;\n position: absolute;\n right: 0;\n}\n.submenu {\n display: none;\n position: absolute;\n top: -1px;\n}\n.focused .submenu {\n display: block;\n}\n/* Stubs */\n" + (_conf['Fit Width Replies'] ? ".stub { display: block; text-align: right;}" : "") + "\n/* Emoji */\n" + (_conf["Emoji"] !== "disable" ? Emoji.css(_conf["Emoji Position"]) : "") + "\n/* Element Replacing */\n/* Checkboxes */\n.rice {\n cursor: pointer;\n width: 9px;\n height: 9px;\n margin: 2px 3px 3px;\n display: inline-block;\n vertical-align: bottom;\n " + (_conf["Rounded Edges"] ? "border-radius: 2px;" : "") + "\n " + (_conf["Circle Checkboxes"] ? "border-radius: 6px;" : "") + "\n}\ninput:checked + .rice {\n background-attachment: scroll;\n background-repeat: no-repeat;\n background-position: bottom right;\n}\n/* Selects */\n.selectrice {\n position: relative;\n cursor: default;\n overflow: hidden;\n text-align: left;\n}\n#settings .selectrice {\n display: inline-block;\n}\n.selectrice::after {\n content: \"\";\n border-right: .25em solid transparent;\n border-left: .25em solid transparent;\n position: absolute;\n right: .4em;\n top: .5em;\n}\n.selectrice::before {\n content: \"\";\n height: 1.6em;\n position: absolute;\n right: 1.3em;\n top: 0;\n}\n/* Select Dropdown */\n#selectrice {\n padding: 0;\n margin: 0;\n position: fixed;\n max-height: 120px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 32;\n}\n#selectrice:empty {\n display: none;\n}\n/* Post Form Shortcut */\n.qr-shortcut.on-page {\n font-size: 250%;\n}\n/* Post Form */\n#qr {\n z-index: 20;\n position: fixed;\n padding: 1px;\n border: 1px solid transparent;\n min-width: " + width + "px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n#qrtab {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n\n" + ({ + }[_conf["Backlinks Position"]] + "\n/* Code */\n.prettyprint {\n -moz-box-sizing: border-box;\n font-family: monospace;\n display: inline-block;\n margin-right: auto;\n white-space: pre-wrap;\n border-radius: 2px;\n overflow-x: auto;\n padding: 3px;\n max-width: 100%;\n}\n/* Menu */\n.entry {\n border-bottom: 1px solid rgba(0,0,0,.25);\n cursor: pointer;\n display: block;\n outline: none;\n padding: 3px 1em 3px 7px;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n}\n.entry:last-child {\n border-bottom: 0;\n}\n.has-submenu::after {\n content: \"\";\n border-left: .5em solid;\n border-top: .3em solid transparent;\n border-bottom: .3em solid transparent;\n display: inline-block;\n margin: .3em;\n position: absolute;\n right: 0;\n}\n.submenu {\n display: none;\n position: absolute;\n top: -1px;\n}\n.focused .submenu {\n display: block;\n}\n/* Stubs */\n" + (_conf['Fit Width Replies'] ? ".stub { display: block; text-align: right;}" : "") + "\n/* Emoji */\n" + (_conf["Emoji"] !== "disable" ? Emoji.css(_conf["Emoji Position"]) : "") + "\n/* Element Replacing */\n/* Checkboxes */\n.rice {\n cursor: pointer;\n width: 9px;\n height: 9px;\n margin: 2px 3px 3px;\n display: inline-block;\n vertical-align: bottom;\n " + (_conf["Rounded Edges"] ? "border-radius: 2px;" : "") + "\n " + (_conf["Circle Checkboxes"] ? "border-radius: 6px;" : "") + "\n}\ninput:checked + .rice {\n background-attachment: scroll;\n background-repeat: no-repeat;\n background-position: bottom right;\n}\n/* Selects */\n.selectrice {\n position: relative;\n cursor: default;\n overflow: hidden;\n text-align: left;\n}\n#settings .selectrice {\n display: inline-block;\n}\n.selectrice::after {\n content: \"\";\n border-right: .25em solid transparent;\n border-left: .25em solid transparent;\n position: absolute;\n right: .4em;\n top: .5em;\n}\n.selectrice::before {\n content: \"\";\n height: 1.6em;\n position: absolute;\n right: 1.3em;\n top: 0;\n}\n/* Select Dropdown */\n#selectrice {\n padding: 0;\n margin: 0;\n position: fixed;\n max-height: 120px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 32;\n}\n#selectrice:empty {\n display: none;\n}\n/* Post Form Shortcut */\n.qr-shortcut.on-page {\n font-size: 250%;\n}\n/* Post Form */\n#qr {\n z-index: 20;\n position: fixed;\n padding: 1px;\n border: 1px solid transparent;\n min-width: " + width + "px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n#qrtab {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n\n" + ({ "fixed": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important;}", - "slideout": "#qrtab input,#qrtab .rice { display: none;}#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; " + agent + "transform: translateX(" + xOffset + "93%);}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transform: translate(0);}", - "tabbed slideout": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; " + agent + "transform: translateX(" + xOffset + "100%);}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transform: translateX(0);}#qrtab { " + agent + "transform: rotate(" + (Style.sidebarLocation[0] === "left" ? "" : "-") + "90deg); " + agent + "transform-origin: bottom " + Style.sidebarLocation[0] + "; position: absolute; top: 0; " + Style.sidebarLocation[0] + ": 100%; width: 110px; text-align: center; border-width: 1px 1px 0 1px; cursor: default;}#qr:hover #qrtab,#qr.has-focus #qrtab,#qr.dump #qrtab { opacity: 0;}#qrtab input,#qrtab .close,#qrtab .rice,#qrtab .selectrice,#qrtab span { display: none;}", - "transparent fade": "#qr { overflow: visible; top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; opacity: 0.2; " + agent + "transition: opacity .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { opacity: 1; " + agent + "transition: opacity .3s linear;}" - }[_conf['Post Form Style']] || "") + "\n\n" + (_conf['Post Form Style'] !== 'tabbed slideout' ? (!(_conf['Post Form Style'] === 'float' || _conf['Show Post Form Header']) ? "#qrtab { display: none; }" : _conf['Post Form Style'] !== 'slideout' ? ".autohide:not(:hover):not(.has-focus) > form { display: none !important; }" : "") + "#qrtab { margin-bottom: 1px; }" : "") + "\n\n" + (_conf['Post Form Style'] !== 'float' && _conf["Post Form Slideout Transitions"] ? "#qr { " + agent + "transition: " + agent + "transform .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transition: " + agent + "transform .3s linear;}#qrtab { " + agent + "transition: opacity .3s ease-in-out 1s;}#qr:hover #qrtab { " + agent + "transition: opacity .3s linear;}" : "") + "\n\n#qr .close {\n float: right;\n padding: 0 3px;\n}\n#qr .warning {\n min-height: 1.6em;\n vertical-align: middle;\n padding: 0 1px;\n border-width: 1px;\n border-style: solid;\n}\n.persona {\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n" + (_conf['Compact Post Form Inputs'] ? ".persona input.field { width: 33%;}.persona input.field:not(:first-child) { margin: 0 0 0 0.5%;}#qr textarea.field { height: 14.9em; min-height: 9em;}#qr.has-captcha textarea.field { height: 9em;}" : ".persona input.field { width: 100%;}#qr textarea.field { height: 11.6em; min-height: 6em;}#qr.has-captcha textarea.field { height: 6em;}") + "\n\n" + (_conf["Tripcode Hider"] ? ".tripped:not(:hover):not(:focus) { opacity: 0;}" : "") + "\n\n#qr textarea {\n resize: " + _conf['Textarea Resize'] + ";\n}\n.captcha-img {\n margin: 1px 0 0;\n text-align: center;\n line-height: 0;\n}\n.captcha-img img {\n width: 100%;\n height: 4em;\n width: 246px;\n}\n.captcha-input {\n width: 100%;\n margin: 1px 0 0;\n}\n.field,\n.selectrice,\nbutton,\ninput:not([type=radio]) {\n " + Style.sizing + ": border-box;\n font-size: " + (parseInt(_conf['Font Size'], 10)) + "px;\n height: 1.6em;\n margin: 1px 0 0;\n vertical-align: bottom;\n padding: 0 1px;\n}\n.selectrice {\n padding-right: 1.6em;\n}\n#qr textarea {\n min-width: 100%;\n}\n#qr [type='submit'] {\n width: 25%;\n}\n[type='file'] {\n position: absolute;\n opacity: 0;\n z-index: -1;\n}\n/* Fake File Input */\n#qr-filename,\n#qr-filerm,\n.has-file #qr-no-file {\n display: none;\n}\n#qr-no-file,\n.has-file #qr-filename {\n display: block;\n}\n.has-file #qr-filerm {\n display: inline-block;\n}\n#qr-extras-container {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n}\n#qr-extras-container > label,\n#qr-extras-container > a {\n cursor: pointer;\n margin-right: 3px;\n}\n#qr-filename-container {\n " + Style.sizing + ": border-box;\n display: inline-block;\n position: relative;\n width: 100px;\n min-width: 74.6%;\n max-width: 74.6%;\n margin-right: 0.4%;\n overflow: hidden;\n padding: 2px 1px 0;\n}\n/* Thread Select */\n#qr-thread-select,\n#qr-thread-select .selectrice div {\n display: inline;\n}\n#qr-thread-select .selectrice {\n cursor: pointer;\n display: inline-block;\n width: 120px;\n border: none;\n background: none transparent;\n padding: 0;\n margin: 0;\n height: auto;\n}\n#qr-thread-select .selectrice::before,\n#qr-thread-select .selectrice::after {\n display: none;\n}\n/* Dumping UI */\n.dump #dump-list-container {\n display: block;\n}\n#dump-list-container {\n display: none;\n position: relative;\n overflow-y: hidden;\n margin-top: 1px;\n}\n#dump-list {\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n#dump-list:hover {\n overflow-x: auto;\n}\n.qr-preview {\n " + Style.sizing + ": border-box;\n counter-increment: thumbnails;\n cursor: move;\n display: inline-block;\n height: 90px;\n width: 90px;\n padding: 2px;\n opacity: .5;\n overflow: hidden;\n position: relative;\n text-shadow: 0 1px 1px #000;\n " + agent + "transition: opacity .25s ease-in-out;\n vertical-align: top;\n}\n.qr-preview:hover,\n.qr-preview:focus {\n opacity: .9;\n}\n.qr-preview::before {\n content: counter(thumbnails);\n color: #fff;\n position: absolute;\n top: 3px;\n right: 3px;\n text-shadow: 0 0 3px #000, 0 0 8px #000;\n}\n.qr-preview#selected {\n opacity: 1;\n}\n.qr-preview.drag {\n box-shadow: 0 0 10px rgba(0,0,0,.5);\n}\n.qr-preview.over {\n border-color: #fff;\n}\n.qr-preview > span {\n color: #fff;\n}\n.remove {\n background: none;\n color: #e00;\n font-weight: 700;\n padding: 3px;\n}\na:only-of-type > .remove {\n display: none;\n}\n.remove:hover::after {\n content: \" Remove\";\n}\n.qr-preview > label {\n background: rgba(0,0,0,.5);\n color: #fff;\n right: 0; bottom: 0; left: 0;\n position: absolute;\n text-align: center;\n}\n.qr-preview > label > input {\n margin: 0;\n}\n#add-post {\n cursor: pointer;\n font-size: 2em;\n position: absolute;\n top: 50%;\n right: 10px;\n " + agent + "transform: translateY(-50%);\n}\n/* Ads */\n.topad img,\n.middlead img,\n.bottomad img {\n opacity: 0.3;\n " + agent + "transition: opacity .3s linear;\n}\n.topad img:hover,\n.middlead img:hover,\n.bottomad img:hover {\n opacity: 1;\n}\n" + (_conf["Block Ads"] ? "/* AdBlock Minus */.bottomad + hr,.topad,.middlead,.bottomad { display: none;}" : "") + "\n" + (_conf["Shrink Ads"] ? ".topad a img,.middlead a img,.bottomad a img { width: 500px; height: auto;}" : "") + "\n/* Options */\n#overlay {\n position: fixed;\n z-index: 30;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: rgba(0,0,0,.5);\n}\n#appchanx-settings {\n width: auto;\n left: 15%;\n right: 15%;\n top: 15%;\n bottom: 15%;\n position: fixed;\n z-index: 31;\n padding: .3em;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.description {\n display: none;\n}\n#appchanx-settings h3,\n.section-keybinds,\n.section-mascots,\n.section-script,\n.style {\n text-align: center;\n}\n.section-keybinds table,\n.section-script fieldset,\n.section-style fieldset {\n text-align: left;\n}\n.section-keybinds table {\n margin: auto;\n}\n#appchanx-settings fieldset {\n padding: 5px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n vertical-align: top;\n " + (_conf["Single Column Mode"] ? "margin: 0 auto 6px;" : "margin: 0 3px 6px;\n display: inline-block;") + "\n border: 0;\n}\n#appchanx-settings .section-advanced fieldset {\n display: block;\n margin: 0 auto 6px;\n}\n.section-advanced .archive-cell {\n min-width: 200px;\n}\n.section-advanced .selectrice {\n display: inline-block;\n clear: both;\n}\n.section-container {\n overflow: auto;\n position: absolute;\n top: 1.7em;\n right: 5px;\n bottom: 5px;\n left: 5px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.sections-list {\n padding: 0 3px;\n float: left;\n}\n.sections-list > a {\n cursor: pointer;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n position: relative;\n padding: 0 4px;\n z-index: 1;\n height: 1.4em;\n display: inline-block;\n border-width: 1px 1px 0 1px;\n border-color: transparent;\n border-style: solid;\n}\n.credits {\n float: right;\n}\n#appchanx-settings h3 {\n margin: 0;\n}\n.section-script fieldset > div,\n.section-style fieldset > div,\n.section-advanced fieldset > div {\n overflow: visible;\n padding: 0 5px 0 7px;\n}\n#appchanx-settings tr:nth-of-type(2n+1),\n.section-script fieldset > div:nth-of-type(2n+1),\n.section-advanced fieldset > div:nth-of-type(2n+1),\n.section-style fieldset > div:nth-of-type(2n+1),\n.section-keybinds tr:nth-of-type(2n+1),\n#selectrice li:nth-of-type(2n+1) {\n background-color: rgba(0, 0, 0, 0.05);\n}\narticle li {\n margin: 10px 0 10px 2em;\n}\n#appchanx-settings .option {\n width: 50%;\n display: inline-block;\n vertical-align: bottom;\n}\n.option input {\n width: 100%;\n}\n.optionlabel {\n padding-left: 18px;\n}\n.rice + .optionlabel {\n padding-left: 0;\n}\n.section-script fieldset,\n.styleoption {\n text-align: left;\n}\n.section-style fieldset {\n width: 370px;\n}\n.section-script fieldset {\n width: 200px;\n}\n#mascotcontent,\n#themecontent,\n.suboptions {\n overflow: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 1.7em;\n left: 0;\n}\n#themecontent {\n top: 1.8em;\n}\n.mAlign {\n height: 250px;\n vertical-align: bottom;\n display: table-cell;\n line-height: 0;\n}\n#save,\n.stylesettings {\n position: absolute;\n right: 10px;\n bottom: 0;\n}\n.section-style .suboptions {\n bottom: 0;\n}\n.section-container textarea {\n font-family: monospace;\n min-height: 150px;\n resize: vertical;\n width: 100%;\n}\n/* Hover Functionality */\n#mouseover {\n z-index: 33;\n position: fixed;\n max-width: 70%;\n}\n#mouseover:empty {\n display: none;\n}\n/* Mascot Tab */\n#mascot_hide {\n padding: 3px;\n position: absolute;\n top: 2px;\n right: 18px;\n}\n#mascot_hide .rice {\n float: left;\n}\n#mascot_hide > div {\n height: 0;\n text-align: right;\n overflow: hidden;\n}\n#mascot_hide:hover > div {\n height: auto;\n}\n#mascot_hide label {\n width: 100%;\n display: block;\n clear: both;\n text-decoration: none;\n}\n.mascots-container {\n padding: 0;\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.mascot,\n.mascotcontainer {\n overflow: hidden;\n}\n.mascot {\n position: relative;\n border: none;\n margin: 5px;\n padding: 0;\n width: 200px;\n display: inline-block;\n background-color: transparent;\n}\n.mascotcontainer {\n height: 250px;\n border: 0;\n margin: 0;\n max-height: 250px;\n cursor: pointer;\n bottom: 0;\n border-width: 0 1px 1px;\n border-style: solid;\n border-color: transparent;\n overflow: hidden;\n}\n.mascot img {\n max-width: 200px;\n}\n.export-button,\n.mascotname,\n#mascot-options {\n " + Style.sizing + ": border-box;\n padding: 0;\n width: 100%;\n}\n#mascot-options {\n opacity: 0;\n " + agent + "transition: opacity .3s linear;\n}\n.mascot:hover #mascot-options {\n opacity: 1;\n}\n#mascot-options {\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n}\n.export-button {\n position: absolute;\n bottom: 1.7em;\n right: 0;\n left: 0;\n text-align: center;\n}\n#mascot-options a {\n display: inline-block;\n width: 33%;\n}\n#upload {\n position: absolute;\n width: 100px;\n left: 50%;\n margin-left: -50px;\n text-align: center;\n bottom: 0;\n}\n#mascots_batch {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Themes Tab */\n#themes h1 {\n position: absolute;\n right: 300px;\n bottom: 10px;\n margin: 0;\n " + agent + "transition: all .2s ease-in-out;\n opacity: 0;\n}\n#themes .selectedtheme h1 {\n right: 11px;\n opacity: 1;\n}\n#addthemes {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n.theme {\n margin: 1em;\n}\n/* Theme Editor */\n#themeConf {\n position: fixed;\n " + Style.sidebarLocation[1] + ": 2px;\n " + Style.sidebarLocation[0] + ": auto;\n top: 0;\n bottom: 0;\n width: 296px;\n z-index: 10;\n}\n#themebar input {\n width: 30%;\n}\n.option .color {\n width: 10%;\n border-left: none !important;\n color: transparent !important;\n}\n.option .colorfield {\n width: 90%;\n}\n.themevar textarea {\n min-width: 100%;\n max-width: 100%;\n height: 20em;\n resize: vertical;\n}\n/* Mascot Editor */\n#mascotConf {\n position: fixed;\n height: 17em;\n bottom: 0;\n left: 50%;\n width: 500px;\n margin-left: -250px;\n overflow: auto;\n z-index: 10;\n}\n#mascotConf .option,\n#mascotConf .optionlabel {\n " + Style.sizing + ": border-box;\n width: 50%;\n display: inline-block;\n vertical-align: middle;\n}\n#mascotConf .option input {\n width: 100%;\n}\n#close {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Catalog */\n#content .navLinks,\n#info .navLinks,\n.btn-wrap {\n display: block;\n}\n.navLinks > .btn-wrap:not(:first-of-type)::before {\n content: ' - ';\n}\n.button {\n cursor: pointer;\n}\n#content .btn-wrap,\n#info .btn-wrap {\n display: inline-block;\n}\n#post-preview {\n position: absolute;\n z-index: 22;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#settings,\n#threads,\n#info .navLinks,\n#content .navLinks {\n text-align: center;\n}\n#threads .thread {\n vertical-align: top;\n display: inline-block;\n word-wrap: break-word;\n overflow: hidden;\n margin-top: 5px;\n padding: 5px 0 3px;\n text-align: center;\n}\n.extended-small .thread,\n.small .thread {\n width: 165px;\n max-height: 320px;\n}\n.small .teaser,\n.large .teaser {\n display: none;\n}\n.extended-large .thread,\n.large .thread {\n width: 270px;\n max-height: 410px;\n}\n.extended-small .thumb,\n.small .thumb {\n max-width: 150px;\n max-height: 150px;\n}\n.panel {\n position: fixed;\n top: 50% !important;\n left: 50%;\n " + agent + "transform: translate(-50%, -50%);\n}\n.icon::after {\n display: inline-block;\n float: right;\n width: 1em;\n cursor: pointer;\n}\n.helpIcon::after {\n content: '?';\n}\n.closeIcon::after {\n content: '×';\n}\n/* Front Page */\n#logo {\n text-align: center;\n}\n#doc {\n margin: 0 auto;\n width: 1000px;\n position: relative;\n}\n#boards .boxcontent {\n vertical-align: top;\n text-align: center;\n}\n#filter-container,\n#options-container {\n float: right;\n position: relative;\n}\n#optionssmenu {\n top: 100% !important;\n left: 0 !important;\n}\n#boards .column {\n " + Style.sizing + ": border-box;\n display: inline-block;\n width: 16em;\n text-align: left;\n vertical-align: top;\n}\n.bd ul,\n.boxcontent ul {\n vertical-align: top;\n padding: 0;\n}\n.right-box .boxcontent ul {\n padding: 0 10px;\n}\n.yuimenuitem,\n.boxcontent li {\n list-style-type: none;\n}\n.bd ul {\n margin: 0;\n}\n.yuimenuitem::before {\n content: \" [ ] \";\n font-family: monospace;\n}\n.yuimenuitem-checked::before {\n content: \" [x] \"\n}\n.yui-u {\n display: inline-block;\n vertical-align: top;\n width: 475px;\n margin: 10px;\n}\n#recent-images .boxcontent {\n text-align: center;\n}\n#ft {\n text-align: center;\n}\n#ft ul {\n padding: 0;\n}\n#ft li {\n list-style-type: none;\n display: inline-block;\n width: 100px;\n}\n#preview-tooltip-nws,\n#preview-tooltip-ws,\n#ft .fill,\n.clear-bug {\n display: none;\n}"; + "slideout": "#qrtab input,#qrtab .rice { display: none;}#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; -moz-transform: translateX(" + xOffset + "93%);}#qr:hover,#qr.has-focus,#qr.dump { -moz-transform: translate(0);}", + "tabbed slideout": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; -moz-transform: translateX(" + xOffset + "100%);}#qr:hover,#qr.has-focus,#qr.dump { -moz-transform: translateX(0);}#qrtab { -moz-transform: rotate(" + (Style.sidebarLocation[0] === "left" ? "" : "-") + "90deg); -moz-transform-origin: bottom " + Style.sidebarLocation[0] + "; position: absolute; top: 0; " + Style.sidebarLocation[0] + ": 100%; width: 110px; text-align: center; border-width: 1px 1px 0 1px; cursor: default;}#qr:hover #qrtab,#qr.has-focus #qrtab,#qr.dump #qrtab { opacity: 0;}#qrtab input,#qrtab .close,#qrtab .rice,#qrtab .selectrice,#qrtab span { display: none;}", + "transparent fade": "#qr { overflow: visible; top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; opacity: 0.2; -moz-transition: opacity .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { opacity: 1; -moz-transition: opacity .3s linear;}" + }[_conf['Post Form Style']] || "") + "\n\n" + (_conf['Post Form Style'] !== 'tabbed slideout' ? (!(_conf['Post Form Style'] === 'float' || _conf['Show Post Form Header']) ? "#qrtab { display: none; }" : _conf['Post Form Style'] !== 'slideout' ? ".autohide:not(:hover):not(.has-focus) > form { display: none !important; }" : "") + "#qrtab { margin-bottom: 1px; }" : "") + "\n\n" + (_conf['Post Form Style'] !== 'float' && _conf["Post Form Slideout Transitions"] ? "#qr { -moz-transition: -moz-transform .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { -moz-transition: -moz-transform .3s linear;}#qrtab { -moz-transition: opacity .3s ease-in-out 1s;}#qr:hover #qrtab { -moz-transition: opacity .3s linear;}" : "") + "\n\n#qr .close {\n float: right;\n padding: 0 3px;\n}\n#qr .warning {\n min-height: 1.6em;\n vertical-align: middle;\n padding: 0 1px;\n border-width: 1px;\n border-style: solid;\n}\n.persona {\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n" + (_conf['Compact Post Form Inputs'] ? ".persona input.field { width: 33%;}.persona input.field:not(:first-child) { margin: 0 0 0 0.5%;}#qr textarea.field { height: 14.9em; min-height: 9em;}#qr.has-captcha textarea.field { height: 9em;}" : ".persona input.field { width: 100%;}#qr textarea.field { height: 11.6em; min-height: 6em;}#qr.has-captcha textarea.field { height: 6em;}") + "\n\n" + (_conf["Tripcode Hider"] ? ".tripped:not(:hover):not(:focus) { opacity: 0;}" : "") + "\n\n#qr textarea {\n resize: " + _conf['Textarea Resize'] + ";\n}\n.captcha-img {\n margin: 1px 0 0;\n text-align: center;\n line-height: 0;\n}\n.captcha-img img {\n width: 100%;\n height: 4em;\n width: 246px;\n}\n.captcha-input {\n width: 100%;\n margin: 1px 0 0;\n}\n.field,\n.selectrice,\nbutton,\ninput:not([type=radio]) {\n -moz-box-sizing: border-box;\n font-size: " + (parseInt(_conf['Font Size'], 10)) + "px;\n height: 1.6em;\n margin: 1px 0 0;\n vertical-align: bottom;\n padding: 0 1px;\n}\n.selectrice {\n padding-right: 1.6em;\n}\n#qr textarea {\n min-width: 100%;\n}\n#qr [type='submit'] {\n width: 25%;\n}\n[type='file'] {\n position: absolute;\n opacity: 0;\n z-index: -1;\n}\n/* Fake File Input */\n#qr-filename,\n#qr-filerm,\n.has-file #qr-no-file {\n display: none;\n}\n#qr-no-file,\n.has-file #qr-filename {\n display: block;\n}\n.has-file #qr-filerm {\n display: inline-block;\n}\n#qr-extras-container {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n}\n#qr-extras-container > label,\n#qr-extras-container > a {\n cursor: pointer;\n margin-right: 3px;\n}\n#qr-filename-container {\n -moz-box-sizing: border-box;\n display: inline-block;\n position: relative;\n width: 100px;\n min-width: 74.6%;\n max-width: 74.6%;\n margin-right: 0.4%;\n overflow: hidden;\n padding: 2px 1px 0;\n}\n/* Thread Select */\n#qr-thread-select,\n#qr-thread-select .selectrice div {\n display: inline;\n}\n#qr-thread-select .selectrice {\n cursor: pointer;\n display: inline-block;\n width: 120px;\n border: none;\n background: none transparent;\n padding: 0;\n margin: 0;\n height: auto;\n}\n#qr-thread-select .selectrice::before,\n#qr-thread-select .selectrice::after {\n display: none;\n}\n/* Dumping UI */\n.dump #dump-list-container {\n display: block;\n}\n#dump-list-container {\n display: none;\n position: relative;\n overflow-y: hidden;\n margin-top: 1px;\n}\n#dump-list {\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n#dump-list:hover {\n overflow-x: auto;\n}\n.qr-preview {\n -moz-box-sizing: border-box;\n counter-increment: thumbnails;\n cursor: move;\n display: inline-block;\n height: 90px;\n width: 90px;\n padding: 2px;\n opacity: .5;\n overflow: hidden;\n position: relative;\n text-shadow: 0 1px 1px #000;\n -moz-transition: opacity .25s ease-in-out;\n vertical-align: top;\n}\n.qr-preview:hover,\n.qr-preview:focus {\n opacity: .9;\n}\n.qr-preview::before {\n content: counter(thumbnails);\n color: #fff;\n position: absolute;\n top: 3px;\n right: 3px;\n text-shadow: 0 0 3px #000, 0 0 8px #000;\n}\n.qr-preview#selected {\n opacity: 1;\n}\n.qr-preview.drag {\n box-shadow: 0 0 10px rgba(0,0,0,.5);\n}\n.qr-preview.over {\n border-color: #fff;\n}\n.qr-preview > span {\n color: #fff;\n}\n.remove {\n background: none;\n color: #e00;\n font-weight: 700;\n padding: 3px;\n}\na:only-of-type > .remove {\n display: none;\n}\n.remove:hover::after {\n content: \" Remove\";\n}\n.qr-preview > label {\n background: rgba(0,0,0,.5);\n color: #fff;\n right: 0; bottom: 0; left: 0;\n position: absolute;\n text-align: center;\n}\n.qr-preview > label > input {\n margin: 0;\n}\n#add-post {\n cursor: pointer;\n font-size: 2em;\n position: absolute;\n top: 50%;\n right: 10px;\n -moz-transform: translateY(-50%);\n}\n/* Ads */\n.topad img,\n.middlead img,\n.bottomad img {\n opacity: 0.3;\n -moz-transition: opacity .3s linear;\n}\n.topad img:hover,\n.middlead img:hover,\n.bottomad img:hover {\n opacity: 1;\n}\n" + (_conf["Block Ads"] ? "/* AdBlock Minus */.bottomad + hr,.topad,.middlead,.bottomad { display: none;}" : "") + "\n" + (_conf["Shrink Ads"] ? ".topad a img,.middlead a img,.bottomad a img { width: 500px; height: auto;}" : "") + "\n/* Options */\n#overlay {\n position: fixed;\n z-index: 30;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: rgba(0,0,0,.5);\n}\n#appchanx-settings {\n width: auto;\n left: 15%;\n right: 15%;\n top: 15%;\n bottom: 15%;\n position: fixed;\n z-index: 31;\n padding: .3em;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.description {\n display: none;\n}\n#appchanx-settings h3,\n.section-keybinds,\n.section-mascots,\n.section-script,\n.style {\n text-align: center;\n}\n.section-keybinds table,\n.section-script fieldset,\n.section-style fieldset {\n text-align: left;\n}\n.section-keybinds table {\n margin: auto;\n}\n#appchanx-settings fieldset {\n padding: 5px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n vertical-align: top;\n " + (_conf["Single Column Mode"] ? "margin: 0 auto 6px;" : "margin: 0 3px 6px;\n display: inline-block;") + "\n border: 0;\n}\n#appchanx-settings .section-advanced fieldset {\n display: block;\n margin: 0 auto 6px;\n}\n.section-advanced .archive-cell {\n min-width: 200px;\n}\n.section-advanced .selectrice {\n display: inline-block;\n clear: both;\n}\n.section-container {\n overflow: auto;\n position: absolute;\n top: 1.7em;\n right: 5px;\n bottom: 5px;\n left: 5px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.sections-list {\n padding: 0 3px;\n float: left;\n}\n.sections-list > a {\n cursor: pointer;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n position: relative;\n padding: 0 4px;\n z-index: 1;\n height: 1.4em;\n display: inline-block;\n border-width: 1px 1px 0 1px;\n border-color: transparent;\n border-style: solid;\n}\n.credits {\n float: right;\n}\n#appchanx-settings h3 {\n margin: 0;\n}\n.section-script fieldset > div,\n.section-style fieldset > div,\n.section-advanced fieldset > div {\n overflow: visible;\n padding: 0 5px 0 7px;\n}\n#appchanx-settings tr:nth-of-type(2n+1),\n.section-script fieldset > div:nth-of-type(2n+1),\n.section-advanced fieldset > div:nth-of-type(2n+1),\n.section-style fieldset > div:nth-of-type(2n+1),\n.section-keybinds tr:nth-of-type(2n+1),\n#selectrice li:nth-of-type(2n+1) {\n background-color: rgba(0, 0, 0, 0.05);\n}\narticle li {\n margin: 10px 0 10px 2em;\n}\n#appchanx-settings .option {\n width: 50%;\n display: inline-block;\n vertical-align: bottom;\n}\n.option input {\n width: 100%;\n}\n.optionlabel {\n padding-left: 18px;\n}\n.rice + .optionlabel {\n padding-left: 0;\n}\n.section-script fieldset,\n.styleoption {\n text-align: left;\n}\n.section-style fieldset {\n width: 370px;\n}\n.section-script fieldset {\n width: 200px;\n}\n#mascotcontent,\n#themecontent,\n.suboptions {\n overflow: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 1.7em;\n left: 0;\n}\n#themecontent {\n top: 1.8em;\n}\n.mAlign {\n height: 250px;\n vertical-align: bottom;\n display: table-cell;\n line-height: 0;\n}\n#save,\n.stylesettings {\n position: absolute;\n right: 10px;\n bottom: 0;\n}\n.section-style .suboptions {\n bottom: 0;\n}\n.section-container textarea {\n font-family: monospace;\n min-height: 150px;\n resize: vertical;\n width: 100%;\n}\n/* Hover Functionality */\n#mouseover {\n z-index: 33;\n position: fixed;\n max-width: 70%;\n}\n#mouseover:empty {\n display: none;\n}\n/* Mascot Tab */\n#mascot_hide {\n padding: 3px;\n position: absolute;\n top: 2px;\n right: 18px;\n}\n#mascot_hide .rice {\n float: left;\n}\n#mascot_hide > div {\n height: 0;\n text-align: right;\n overflow: hidden;\n}\n#mascot_hide:hover > div {\n height: auto;\n}\n#mascot_hide label {\n width: 100%;\n display: block;\n clear: both;\n text-decoration: none;\n}\n.mascots-container {\n padding: 0;\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.mascot,\n.mascotcontainer {\n overflow: hidden;\n}\n.mascot {\n position: relative;\n border: none;\n margin: 5px;\n padding: 0;\n width: 200px;\n display: inline-block;\n background-color: transparent;\n}\n.mascotcontainer {\n height: 250px;\n border: 0;\n margin: 0;\n max-height: 250px;\n cursor: pointer;\n bottom: 0;\n border-width: 0 1px 1px;\n border-style: solid;\n border-color: transparent;\n overflow: hidden;\n}\n.mascot img {\n max-width: 200px;\n}\n.export-button,\n.mascotname,\n#mascot-options {\n -moz-box-sizing: border-box;\n padding: 0;\n width: 100%;\n}\n#mascot-options {\n opacity: 0;\n -moz-transition: opacity .3s linear;\n}\n.mascot:hover #mascot-options {\n opacity: 1;\n}\n#mascot-options {\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n}\n.export-button {\n position: absolute;\n bottom: 1.7em;\n right: 0;\n left: 0;\n text-align: center;\n}\n#mascot-options a {\n display: inline-block;\n width: 33%;\n}\n#upload {\n position: absolute;\n width: 100px;\n left: 50%;\n margin-left: -50px;\n text-align: center;\n bottom: 0;\n}\n#mascots_batch {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Themes Tab */\n#themes h1 {\n position: absolute;\n right: 300px;\n bottom: 10px;\n margin: 0;\n -moz-transition: all .2s ease-in-out;\n opacity: 0;\n}\n#themes .selectedtheme h1 {\n right: 11px;\n opacity: 1;\n}\n#addthemes {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n.theme {\n margin: 1em;\n}\n/* Theme Editor */\n#themeConf {\n position: fixed;\n " + Style.sidebarLocation[1] + ": 2px;\n " + Style.sidebarLocation[0] + ": auto;\n top: 0;\n bottom: 0;\n width: 296px;\n z-index: 10;\n}\n#themebar input {\n width: 30%;\n}\n.option .color {\n width: 10%;\n border-left: none !important;\n color: transparent !important;\n}\n.option .colorfield {\n width: 90%;\n}\n.themevar textarea {\n min-width: 100%;\n max-width: 100%;\n height: 20em;\n resize: vertical;\n}\n/* Mascot Editor */\n#mascotConf {\n position: fixed;\n height: 17em;\n bottom: 0;\n left: 50%;\n width: 500px;\n margin-left: -250px;\n overflow: auto;\n z-index: 10;\n}\n#mascotConf .option,\n#mascotConf .optionlabel {\n -moz-box-sizing: border-box;\n width: 50%;\n display: inline-block;\n vertical-align: middle;\n}\n#mascotConf .option input {\n width: 100%;\n}\n#close {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Catalog */\n#content .navLinks,\n#info .navLinks,\n.btn-wrap {\n display: block;\n}\n.navLinks > .btn-wrap:not(:first-of-type)::before {\n content: ' - ';\n}\n.button {\n cursor: pointer;\n}\n#content .btn-wrap,\n#info .btn-wrap {\n display: inline-block;\n}\n#post-preview {\n position: absolute;\n z-index: 22;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#settings,\n#threads,\n#info .navLinks,\n#content .navLinks {\n text-align: center;\n}\n#threads .thread {\n vertical-align: top;\n display: inline-block;\n word-wrap: break-word;\n overflow: hidden;\n margin-top: 5px;\n padding: 5px 0 3px;\n text-align: center;\n}\n.extended-small .thread,\n.small .thread {\n width: 165px;\n max-height: 320px;\n}\n.small .teaser,\n.large .teaser {\n display: none;\n}\n.extended-large .thread,\n.large .thread {\n width: 270px;\n max-height: 410px;\n}\n.extended-small .thumb,\n.small .thumb {\n max-width: 150px;\n max-height: 150px;\n}\n.panel {\n position: fixed;\n top: 50% !important;\n left: 50%;\n -moz-transform: translate(-50%, -50%);\n}\n.icon::after {\n display: inline-block;\n float: right;\n width: 1em;\n cursor: pointer;\n}\n.helpIcon::after {\n content: '?';\n}\n.closeIcon::after {\n content: '×';\n}\n/* Front Page */\n#logo {\n text-align: center;\n}\n#doc {\n margin: 0 auto;\n width: 1000px;\n position: relative;\n}\n#boards .boxcontent {\n vertical-align: top;\n text-align: center;\n}\n#filter-container,\n#options-container {\n float: right;\n position: relative;\n}\n#optionssmenu {\n top: 100% !important;\n left: 0 !important;\n}\n#boards .column {\n -moz-box-sizing: border-box;\n display: inline-block;\n width: 16em;\n text-align: left;\n vertical-align: top;\n}\n.bd ul,\n.boxcontent ul {\n vertical-align: top;\n padding: 0;\n}\n.right-box .boxcontent ul {\n padding: 0 10px;\n}\n.yuimenuitem,\n.boxcontent li {\n list-style-type: none;\n}\n.bd ul {\n margin: 0;\n}\n.yuimenuitem::before {\n content: \" [ ] \";\n font-family: monospace;\n}\n.yuimenuitem-checked::before {\n content: \" [x] \"\n}\n.yui-u {\n display: inline-block;\n vertical-align: top;\n width: 475px;\n margin: 10px;\n}\n#recent-images .boxcontent {\n text-align: center;\n}\n#ft {\n text-align: center;\n}\n#ft ul {\n padding: 0;\n}\n#ft li {\n list-style-type: none;\n display: inline-block;\n width: 100px;\n}\n#preview-tooltip-nws,\n#preview-tooltip-ws,\n#ft .fill,\n.clear-bug {\n display: none;\n}"; }, - theme: function(theme) { - var agent, background, backgroundC, bgColor, css, fileHeading, icons, replyHeading, _conf; + dynamic: function() { + var css, editSpace, width, xOffset, _conf; + + _conf = Conf; + xOffset = _conf["Sidebar Location"] === "left" ? '-' : ''; + Style.pfOffset = _conf['4chan SS Navigation'] && ((_conf['Bottom Header'] && _conf['Fixed Header']) || (g.VIEW === 'index' && _conf['Pagination'] === 'sticky bottom')) ? 1.5 : 0; + Style.sidebar = { + minimal: 20, + hide: 2, + normal: 252, + large: 303 + }[_conf['Sidebar']]; + Style.logoOffset = _conf["4chan Banner"] === "at sidebar top" ? _conf["Sidebar"] === "large" ? 100 : 83 : 0; + width = _conf["Sidebar"] === "large" ? 299 : 248; + Style.sidebarLocation = _conf["Sidebar Location"] === "left" ? ["left", "right"] : ["right", "left"]; + if (_conf['editMode'] === "theme") { + editSpace = {}; + editSpace[Style.sidebarLocation[1]] = 300; + editSpace[Style.sidebarLocation[0]] = 0; + } else { + editSpace = { + left: 0, + right: 0 + }; + } + Style.replyMargin = _conf["Post Spacing"]; + return css = "body {\nfont-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\nfont-family: " + _conf["Font"] + ";\npadding: 0 " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px 0 " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"]) + "px;\n}\nbutton,\ninput,\ntextarea {\nfont-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\nfont-family: " + _conf["Font"] + ";\n}\n.sidebar-location-left.sidebar-large #header-bar {\nleft: " + (303 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-normal #header-bar {\nleft: " + (248 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-minimal #header-bar {\nleft: " + (20 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-hide #header-bar {\nleft: " + (2 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-large #header-bar {\nright: " + (303 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-normal #header-bar {\nright: " + (248 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-minimal #header-bar {\nright: " + (20 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-hide #header-bar {\nright: " + (2 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}"; + }, + theme: function(theme) { + var background, backgroundC, bgColor, css, fileHeading, icons, replyHeading, _conf; _conf = Conf; - agent = Style.agent; bgColor = new Style.color(Style.colorToHex(backgroundC = theme["Background Color"]) || 'aaaaaa'); Style.lightTheme = bgColor.isLight(); icons = "data:image/png;base64," + Icons[_conf["Icons"]]; - css = ".hide_thread_button span > span,\n.hide_reply_button span > span {\n background-color: " + theme["Links"] + ";\n}\n#mascot_hide label {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\n#content .thumb {\n box-shadow: 0 0 5px " + theme["Reply Border"] + ";\n}\n.export-button,\n.mascotname,\n#mascot-options {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.highlight-you .opContainer.quotesYou,\n.highlight-own .opContainer.yourPost,\n.opContainer.filter-highlight {\n box-shadow: inset 5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\n.highlight-you .quotesYou > .reply,\n.highlight-own .yourPost > .reply,\n.filter-highlight > .reply {\n box-shadow: -5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\nhr {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\nhr#unread-line {\n border-bottom: 1px solid " + theme["Reply Background"] + ";\n visibility: visible;\n}\n.threadContainer {\n border-color: " + theme["Reply Border"] + " !important;\n}\nhtml {\n background: " + (backgroundC || '') + ";\n background-image: " + (theme["Background Image"] || '') + ";\n background-repeat: " + (theme["Background Repeat"] || '') + ";\n background-attachment: " + (theme["Background Attachment"] || '') + ";\n background-position: " + (theme["Background Position"] || '') + ";\n}\n.panel,\n.section-container,\n#exlinks-options-content,\n#mascotcontent,\n#themecontent {\n background: " + backgroundC + ";\n border: 1px solid " + theme["Reply Border"] + ";\n padding: 5px;\n}\n.sections-list > a.tab-selected {\n background: " + backgroundC + ";\n border-color: " + theme["Reply Border"] + ";\n border-style: solid;\n}\n.captcha-img img {\n " + (Style.filter(theme["Text"], theme["Input Background"])) + "\n}\n#boardTitle,\n" + (!_conf["Post Form Decorations"] ? '#spoilerLabel' : '') + " {\n text-shadow:\n 1px 1px " + backgroundC + ",\n -1px -1px " + backgroundC + ",\n 1px -1px " + backgroundC + ",\n -1px 1px " + backgroundC + "\n " + (_conf["Sidebar Glow"] ? ", 0 2px 4px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.6);" : ";") + "\n}\n/* Fixes text spoilers */\n" + (_conf['Remove Spoilers'] && _conf['Indicate Spoilers'] ? ".spoiler::before,s::before { content: '[spoiler]';}.spoiler::after,s::after { content: '[/spoiler]';}" : !_conf['Remove Spoilers'] ? ".spoiler:not(:hover) *,s:not(:hover) * { color: rgb(0,0,0) !important; text-shadow: none !important;}.spoiler:not(:hover),s:not(:hover) { background-color: rgb(0,0,0); color: rgb(0,0,0) !important; text-shadow: none !important;}" : "") + "\n#exlinks-options,\n#appchanx-settings,\n#qrtab,\n" + (_conf["Post Form Decorations"] ? "#qr," : "") + "\ninput[type=\"submit\"],\ninput[value=\"Report\"],\nspan[style=\"left: 5px; position: absolute;\"] a {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.enabled .mascotcontainer {\n background: " + theme["Buttons Background"] + ";\n border-color: " + theme["Buttons Border"] + ";\n}\n#dump,\n#qr-filename-container,\n#appchanx-settings input,\n.captcha-img,\n.dump #dump,\n.qr-preview,\n.selectrice,\nbutton,\ninput,\ntextarea {\n background: " + theme["Input Background"] + ";\n border: 1px solid " + theme["Input Border"] + ";\n}\n.has-file #qr-extras-container {\n background: " + theme["Input Background"] + ";\n}\n#dump:hover,\n#qr-filename-container:hover,\n.selectrice:hover,\n#selectrice li:hover,\n#selectrice li:nth-of-type(2n+1):hover,\ninput:hover,\ntextarea:hover {\n background: " + theme["Hovered Input Background"] + ";\n border-color: " + theme["Hovered Input Border"] + ";\n}\n.has-file #qr-filename-container:hover #qr-extras-container {\n background: " + theme["Hovered Input Background"] + ";\n}\n#dump:active,\n#dump:focus,\n#selectrice li:focus,\n.selectrice:focus,\n#qr-filename-container:active,\n#qr-filename-container:focus,\ninput:focus,\ntextarea:focus,\ntextarea.field:focus {\n background: " + theme["Focused Input Background"] + ";\n border-color: " + theme["Focused Input Border"] + ";\n color: " + theme["Inputs"] + ";\n outline: none;\n}\n.has-file #qr-filename-container:active #qr-extras-container,\n.has-file #qr-filename-container:focus #qr-extras-container {\n background: " + theme["Focused Input Background"] + ";\n}\n#mouseover,\n#post-preview,\n#qp .post,\n#xupdater,\n.reply.post {\n border-width: 1px;\n border-style: solid;\n border-color: " + theme["Reply Border"] + ";\n background: " + theme["Reply Background"] + ";\n}\n.thread > .replyContainer > .reply.post {\n border-width: " + (_conf['Post Spacing'] === "0" ? "1px 1px 0 1px" : '1px') + ";\n}\n.exblock.reply,\n.reply.post.highlight,\n.reply.post:target {\n background: " + theme["Highlighted Reply Background"] + ";\n border: 1px solid " + theme["Highlighted Reply Border"] + ";\n}\n#header-bar,\n.pagelist {\n background: " + theme["Navigation Background"] + ";\n border-style: solid;\n border-color: " + theme["Navigation Border"] + ";\n}\n.thread {\n background: " + theme["Thread Wrapper Background"] + ";\n border: 1px solid " + theme["Thread Wrapper Border"] + ";\n}\n#boardNavDesktopFoot,\n#mascotConf,\n#mascot_hide,\n#menu,\n#selectrice,\n#themeConf,\n#watcher,\n#watcher:hover,\n.dialog,\n.submenu,\na[style=\"cursor: pointer; float: right;\"] ~ div[style^=\"width: 100%;\"] > table {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Dialog Border"] + ";\n}\n.watch-thread-link {\n background-image: url(\"data:image/svg+xml,\");\n} \n.deleteform::before,\n.deleteform,\n#qr .warning {\n background: " + theme["Input Background"] + ";\n border-color: " + theme["Input Border"] + ";\n}\n.disabledwarning,\n.warning {\n color: " + theme["Warnings"] + ";\n}\n#navlinks a:first-of-type {\n border-bottom: 11px solid rgb(130,130,130);\n}\n#navlinks a:last-of-type {\n border-top: 11px solid rgb(130,130,130);\n}\n#charCount {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.7)" : "rgba(255,255,255,0.7)") + ";\n}\n.postNum a {\n color: " + theme["Post Numbers"] + ";\n}\n.subject {\n color: " + theme["Subjects"] + " !important;\n}\n.dateTime,\n.post-ago {\n color: " + theme["Timestamps"] + " !important;\n}\n#fs_status a,\n#updater #update-status:not(.new)::after,\n#showQR,\n.abbr,\n.boxbar,\n.boxcontent,\n.deleteform::before,\n.pages strong,\n.pln,\n.reply,\n.reply.highlight,\n.summary,\nbody,\nbutton,\nspan[style=\"left: 5px; position: absolute;\"] a,\ninput,\ntextarea {\n color: " + theme["Text"] + ";\n}\n#exlinks-options-content > table,\n#appchanx-settings fieldset,\n#selectrice {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n box-shadow: inset " + theme["Shadow Color"] + " 0 0 5px;\n}\n.quote + .spoiler:hover,\n.quote {\n color: " + theme["Greentext"] + ";\n}\n.forwardlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n border-bottom: 1px dashed " + theme["Backlinks"] + ";\n}\n.container::before {\n color: " + theme["Timestamps"] + ";\n}\n#menu,\n#post-preview,\n#qp .opContainer,\n#qp .replyContainer,\n.submenu {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.rice {\n background: " + theme["Checkbox Background"] + ";\n border: 1px solid " + theme["Checkbox Border"] + ";\n}\n.selectrice::before {\n border-left: 1px solid " + theme["Input Border"] + ";\n}\n.selectrice::after {\n border-top: .45em solid " + theme["Inputs"] + ";\n}\n.bd {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.pages a,\n#header-bar a {\n color: " + theme["Navigation Links"] + ";\n}\ninput[type=checkbox]:checked + .rice {\n position: relative;\n}\ninput[type=checkbox]:checked + .rice::after {\n content: \"\";\n display: block;\n width: 4px;\n height: 10px;\n border: solid " + theme["Inputs"] + ";\n border-width: 0 3px 3px 0;\n " + agent + "transform: rotate(45deg);\n position: absolute;\n left: 2px;\n bottom: -1px;\n}\n#addReply,\n#dump,\n.button,\n.entry,\n.replylink,\na {\n color: " + theme["Links"] + ";\n}\n.backlink {\n color: " + theme["Backlinks"] + ";\n}\n.qiQuote,\n.quotelink {\n color: " + theme["Quotelinks"] + ";\n}\n#addReply:hover,\n#dump:hover,\n.entry:hover,\n.replylink:hover,\n.qiQuote:hover,\n.quotelink:hover,\na .name:hover,\na .postertrip:hover,\na:hover {\n color: " + theme["Hovered Links"] + ";\n}\n#header-bar a:hover,\n#boardTitle a:hover {\n color: " + theme["Hovered Navigation Links"] + ";\n}\n#boardTitle {\n color: " + theme["Board Title"] + ";\n}\n.name,\n.post-author {\n color: " + theme["Names"] + " !important;\n}\n.post-tripcode,\n.postertrip,\n.trip {\n color: " + theme["Tripcodes"] + " !important;\n}\na .postertrip,\na .name {\n color: " + theme["Emails"] + ";\n}\n.post.reply.qphl,\n.post.op.qphl {\n border-color: " + theme["Backlinked Reply Outline"] + ";\n background: " + theme["Highlighted Reply Background"] + ";\n}\n.inline .post {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.placeholder,\n#qr input::" + agent + "placeholder,\n#qr textarea::" + agent + "placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#qr input:" + agent + "placeholder,\n#qr textarea:" + agent + "placeholder,\n.placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#appchanx-settings fieldset,\n.boxcontent dd,\n.selectrice ul {\n border-color: " + (Style.lightTheme ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)") + ";\n}\n#appchanx-settings li,\n#selectrice li:not(:first-of-type) {\n border-top: 1px solid " + (Style.lightTheme ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.025)") + ";\n}\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n.navLinks > a:first-of-type::after,\n#watcher::after,\n#globalMessage::after,\n#boardNavDesktopFoot::after,\na[style=\"cursor: pointer; float: right;\"]::after,\n#img-controls,\n#catalog::after,\n#fappeTyme {\n background-image: url('" + icons + "');\n" + (!Style.lightTheme ? "filter: url(\"data:image/svg+xml,#filters\");" : "") + "\n}\n" + theme["Custom CSS"]; + css = ".hide_thread_button span > span,\n.hide_reply_button span > span {\n background-color: " + theme["Links"] + ";\n}\n#mascot_hide label {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\n#content .thumb {\n box-shadow: 0 0 5px " + theme["Reply Border"] + ";\n}\n.export-button,\n.mascotname,\n#mascot-options {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.highlight-you .opContainer.quotesYou,\n.highlight-own .opContainer.yourPost,\n.opContainer.filter-highlight {\n box-shadow: inset 5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\n.highlight-you .quotesYou > .reply,\n.highlight-own .yourPost > .reply,\n.filter-highlight > .reply {\n box-shadow: -5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\nhr {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\nhr#unread-line {\n border-bottom: 1px solid " + theme["Reply Background"] + ";\n visibility: visible;\n}\n.threadContainer {\n border-color: " + theme["Reply Border"] + " !important;\n}\nhtml {\n background: " + (backgroundC || '') + ";\n background-image: " + (theme["Background Image"] || '') + ";\n background-repeat: " + (theme["Background Repeat"] || '') + ";\n background-attachment: " + (theme["Background Attachment"] || '') + ";\n background-position: " + (theme["Background Position"] || '') + ";\n}\n.panel,\n.section-container,\n#exlinks-options-content,\n#mascotcontent,\n#themecontent {\n background: " + backgroundC + ";\n border: 1px solid " + theme["Reply Border"] + ";\n padding: 5px;\n}\n.sections-list > a.tab-selected {\n background: " + backgroundC + ";\n border-color: " + theme["Reply Border"] + ";\n border-style: solid;\n}\n.captcha-img img {\n " + (Style.filter(theme["Text"], theme["Input Background"])) + "\n}\n#boardTitle,\n" + (!_conf["Post Form Decorations"] ? '#spoilerLabel' : '') + " {\n text-shadow:\n 1px 1px " + backgroundC + ",\n -1px -1px " + backgroundC + ",\n 1px -1px " + backgroundC + ",\n -1px 1px " + backgroundC + "\n " + (_conf["Sidebar Glow"] ? ", 0 2px 4px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.6);" : ";") + "\n}\n/* Fixes text spoilers */\n" + (_conf['Remove Spoilers'] && _conf['Indicate Spoilers'] ? ".spoiler::before,s::before { content: '[spoiler]';}.spoiler::after,s::after { content: '[/spoiler]';}" : !_conf['Remove Spoilers'] ? ".spoiler:not(:hover) *,s:not(:hover) * { color: rgb(0,0,0) !important; text-shadow: none !important;}.spoiler:not(:hover),s:not(:hover) { background-color: rgb(0,0,0); color: rgb(0,0,0) !important; text-shadow: none !important;}" : "") + "\n#exlinks-options,\n#appchanx-settings,\n#qrtab,\n" + (_conf["Post Form Decorations"] ? "#qr," : "") + "\ninput[type=\"submit\"],\ninput[value=\"Report\"],\nspan[style=\"left: 5px; position: absolute;\"] a {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.enabled .mascotcontainer {\n background: " + theme["Buttons Background"] + ";\n border-color: " + theme["Buttons Border"] + ";\n}\n#dump,\n#qr-filename-container,\n#appchanx-settings input,\n.captcha-img,\n.dump #dump,\n.qr-preview,\n.selectrice,\nbutton,\ninput,\ntextarea {\n background: " + theme["Input Background"] + ";\n border: 1px solid " + theme["Input Border"] + ";\n}\n.has-file #qr-extras-container {\n background: " + theme["Input Background"] + ";\n}\n#dump:hover,\n#qr-filename-container:hover,\n.selectrice:hover,\n#selectrice li:hover,\n#selectrice li:nth-of-type(2n+1):hover,\ninput:hover,\ntextarea:hover {\n background: " + theme["Hovered Input Background"] + ";\n border-color: " + theme["Hovered Input Border"] + ";\n}\n.has-file #qr-filename-container:hover #qr-extras-container {\n background: " + theme["Hovered Input Background"] + ";\n}\n#dump:active,\n#dump:focus,\n#selectrice li:focus,\n.selectrice:focus,\n#qr-filename-container:active,\n#qr-filename-container:focus,\ninput:focus,\ntextarea:focus,\ntextarea.field:focus {\n background: " + theme["Focused Input Background"] + ";\n border-color: " + theme["Focused Input Border"] + ";\n color: " + theme["Inputs"] + ";\n outline: none;\n}\n.has-file #qr-filename-container:active #qr-extras-container,\n.has-file #qr-filename-container:focus #qr-extras-container {\n background: " + theme["Focused Input Background"] + ";\n}\n#mouseover,\n#post-preview,\n#qp .post,\n#xupdater,\n.reply.post {\n border-width: 1px;\n border-style: solid;\n border-color: " + theme["Reply Border"] + ";\n background: " + theme["Reply Background"] + ";\n}\n.thread > .replyContainer > .reply.post {\n border-width: " + (_conf['Post Spacing'] === "0" ? "1px 1px 0 1px" : '1px') + ";\n}\n.exblock.reply,\n.reply.post.highlight,\n.reply.post:target {\n background: " + theme["Highlighted Reply Background"] + ";\n border: 1px solid " + theme["Highlighted Reply Border"] + ";\n}\n#header-bar,\n.pagelist {\n background: " + theme["Navigation Background"] + ";\n border-style: solid;\n border-color: " + theme["Navigation Border"] + ";\n}\n.thread {\n background: " + theme["Thread Wrapper Background"] + ";\n border: 1px solid " + theme["Thread Wrapper Border"] + ";\n}\n#boardNavDesktopFoot,\n#mascotConf,\n#mascot_hide,\n#menu,\n#selectrice,\n#themeConf,\n#watcher,\n#watcher:hover,\n.dialog,\n.submenu,\na[style=\"cursor: pointer; float: right;\"] ~ div[style^=\"width: 100%;\"] > table {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Dialog Border"] + ";\n}\n.watch-thread-link {\n background-image: url(\"data:image/svg+xml,\");\n} \n.deleteform::before,\n.deleteform,\n#qr .warning {\n background: " + theme["Input Background"] + ";\n border-color: " + theme["Input Border"] + ";\n}\n.disabledwarning,\n.warning {\n color: " + theme["Warnings"] + ";\n}\n#navlinks a:first-of-type {\n border-bottom: 11px solid rgb(130,130,130);\n}\n#navlinks a:last-of-type {\n border-top: 11px solid rgb(130,130,130);\n}\n#charCount {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.7)" : "rgba(255,255,255,0.7)") + ";\n}\n.postNum a {\n color: " + theme["Post Numbers"] + ";\n}\n.subject {\n color: " + theme["Subjects"] + " !important;\n}\n.dateTime,\n.post-ago {\n color: " + theme["Timestamps"] + " !important;\n}\n#fs_status a,\n#updater #update-status:not(.new)::after,\n#showQR,\n.abbr,\n.boxbar,\n.boxcontent,\n.deleteform::before,\n.pages strong,\n.pln,\n.reply,\n.reply.highlight,\n.summary,\nbody,\nbutton,\nspan[style=\"left: 5px; position: absolute;\"] a,\ninput,\ntextarea {\n color: " + theme["Text"] + ";\n}\n#exlinks-options-content > table,\n#appchanx-settings fieldset,\n#selectrice {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n box-shadow: inset " + theme["Shadow Color"] + " 0 0 5px;\n}\n.quote + .spoiler:hover,\n.quote {\n color: " + theme["Greentext"] + ";\n}\n.forwardlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n border-bottom: 1px dashed " + theme["Backlinks"] + ";\n}\n.container::before {\n color: " + theme["Timestamps"] + ";\n}\n#menu,\n#post-preview,\n#qp .opContainer,\n#qp .replyContainer,\n.submenu {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.rice {\n background: " + theme["Checkbox Background"] + ";\n border: 1px solid " + theme["Checkbox Border"] + ";\n}\n.selectrice::before {\n border-left: 1px solid " + theme["Input Border"] + ";\n}\n.selectrice::after {\n border-top: .45em solid " + theme["Inputs"] + ";\n}\n.bd {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.pages a,\n#header-bar a {\n color: " + theme["Navigation Links"] + ";\n}\ninput[type=checkbox]:checked + .rice {\n position: relative;\n}\ninput[type=checkbox]:checked + .rice::after {\n content: \"\";\n display: block;\n width: 4px;\n height: 10px;\n border: solid " + theme["Inputs"] + ";\n border-width: 0 3px 3px 0;\n -moz-transform: rotate(45deg);\n position: absolute;\n left: 2px;\n bottom: -1px;\n}\n#addReply,\n#dump,\n.button,\n.entry,\n.replylink,\na {\n color: " + theme["Links"] + ";\n}\n.backlink {\n color: " + theme["Backlinks"] + ";\n}\n.qiQuote,\n.quotelink {\n color: " + theme["Quotelinks"] + ";\n}\n#addReply:hover,\n#dump:hover,\n.entry:hover,\n.replylink:hover,\n.qiQuote:hover,\n.quotelink:hover,\na .name:hover,\na .postertrip:hover,\na:hover {\n color: " + theme["Hovered Links"] + ";\n}\n#header-bar a:hover,\n#boardTitle a:hover {\n color: " + theme["Hovered Navigation Links"] + ";\n}\n#boardTitle {\n color: " + theme["Board Title"] + ";\n}\n.name,\n.post-author {\n color: " + theme["Names"] + " !important;\n}\n.post-tripcode,\n.postertrip,\n.trip {\n color: " + theme["Tripcodes"] + " !important;\n}\na .postertrip,\na .name {\n color: " + theme["Emails"] + ";\n}\n.post.reply.qphl,\n.post.op.qphl {\n border-color: " + theme["Backlinked Reply Outline"] + ";\n background: " + theme["Highlighted Reply Background"] + ";\n}\n.inline .post {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.placeholder,\n#qr input::-moz-placeholder,\n#qr textarea::-moz-placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#qr input:-moz-placeholder,\n#qr textarea:-moz-placeholder,\n.placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#appchanx-settings fieldset,\n.boxcontent dd,\n.selectrice ul {\n border-color: " + (Style.lightTheme ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)") + ";\n}\n#appchanx-settings li,\n#selectrice li:not(:first-of-type) {\n border-top: 1px solid " + (Style.lightTheme ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.025)") + ";\n}\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n.navLinks > a:first-of-type::after,\n#watcher::after,\n#globalMessage::after,\n#boardNavDesktopFoot::after,\na[style=\"cursor: pointer; float: right;\"]::after,\n#img-controls,\n#catalog::after,\n#fappeTyme {\n background-image: url('" + icons + "');\n" + (!Style.lightTheme ? "filter: url(\"data:image/svg+xml,#filters\");" : "") + "\n}\n" + theme["Custom CSS"]; css += (Style.lightTheme ? ".prettyprint {\n background-color: #e7e7e7;\n border: 1px solid #dcdcdc;\n}\n.com {\n color: #dd0000;\n}\n.str,\n.atv {\n color: #7fa61b;\n}\n.pun {\n color: #61663a;\n}\n.tag {\n color: #117743;\n}\n.kwd {\n color: #5a6F9e;\n}\n.typ,\n.atn {\n color: #9474bd;\n}\n.lit {\n color: #368c72;\n}\n" : ".prettyprint {\n background-color: rgba(0,0,0,.1);\n border: 1px solid rgba(0,0,0,0.5);\n}\n.tag {\n color: #96562c;\n}\n.pun {\n color: #5b6f2a;\n}\n.com {\n color: #a34443;\n}\n.str,\n.atv {\n color: #8ba446;\n}\n.kwd {\n color: #987d3e;\n}\n.typ,\n.atn {\n color: #897399;\n}\n.lit {\n color: #558773;\n}\n"); if (_conf["Alternate Post Colors"]) { - css += ".replyContainer:not(.hidden):nth-of-type(2n+1) .post {\n background-image: " + agent + "linear-gradient(" + (Style.lightTheme ? "rgba(0,0,0,0.05), rgba(0,0,0,0.05)" : "rgba(255,255,255,0.02), rgba(255,255,255,0.02)") + ");\n}\n"; + css += ".replyContainer:not(.hidden):nth-of-type(2n+1) .post {\n background-image: -moz-linear-gradient(" + (Style.lightTheme ? "rgba(0,0,0,0.05), rgba(0,0,0,0.05)" : "rgba(255,255,255,0.02), rgba(255,255,255,0.02)") + ");\n}\n"; } if (_conf["Color Reply Headings"]) { css += ".postInfo {\n background: " + ((replyHeading = new Style.color(Style.colorToHex(theme["Reply Background"]))) ? "rgba(" + (replyHeading.shiftRGB(-12, false)) + ",0.8)" : "rgba(0,0,0,0.1)") + ";\n border-bottom: 1px solid " + theme["Reply Border"] + "\n}\n"; @@ -11676,7 +11698,7 @@ } else { position = aligner(2 + (_conf["4chan Banner"] === "at sidebar top" ? Style.logoOffset + 19 : 0), [notEither && _conf['Image Expansion'], true, true, _conf['Slideout Navigation'] !== 'hide', _conf['Announcements'] === 'slideout' && (psa = $('#globalMessage', d.body)) && !psa.hidden, _conf['Thread Watcher'] && _conf['Slideout Watcher'], notCatalog && $('body > a[style="cursor: pointer; float: right;"]', d.body), $('#navtopright .exlinksOptionsLink', d.body), notEither, g.VIEW === 'thread', notEither && _conf['Fappe Tyme'], navlinks = ((g.VIEW !== 'thread' && _conf['Index Navigation']) || (g.VIEW === 'thread' && _conf['Reply Navigation'])) && notCatalog, navlinks]); iconOffset = (20 + (g.VIEW === 'thread' && _conf['Updater Position'] === 'top' ? 100 : 0)) - (_conf['4chan SS Navigation'] ? 0 : Style.sidebar + parseInt(_conf[align.capitalize() + " Thread Padding"], 10)); - css += "/* Expand Images */\n#img-controls {\n top: " + position[i++] + "px;\n}\n/* Main Menu */\n#main-menu {\n top: " + position[i++] + "px;\n}\n/* 4chan X Options */\n#appchanOptions {\n top: " + position[i++] + "px;\n}\n/* Slideout Navigation */\n#boardNavDesktopFoot,\n#boardNavDesktopFoot::after {\n top: " + position[i++] + "px;\n}\n/* Global Message */\n#globalMessage,\n#globalMessage::after {\n top: " + position[i++] + "px;\n}\n/* Watcher */\n" + (_conf["Slideout Watcher"] ? "#watcher, #watcher::after" : "") + " {\n top: " + position[i++] + "px !important;\n}\n/* 4sight */\nbody > a[style=\"cursor: pointer; float: right;\"]::after {\n top: " + position[i++] + "px;\n}\n/* ExLinks */\n#navtopright .exlinksOptionsLink::after {\n top: " + position[i++] + "px;\n}\n/* 4chan Catalog */\n#catalog::after {\n top: " + position[i++] + "px;\n}\n/* Back */\ndiv.navLinks > a:first-of-type::after {\n top: " + position[i++] + "px;\n}\n/* Fappe Tyme */\n#fappeTyme {\n top: " + position[i++] + "px;\n}\n/* Thread Navigation Links */\n#navlinks a:first-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a:last-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a,\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n#boardNavDesktopFoot::after,\n#globalMessage::after,\n#img-controls,\n#main-menu,\n#fappeTyme,\n" + (_conf["Slideout Watcher"] ? "#watcher::after," : "") + "\nbody > a[style=\"cursor: pointer; float: right;\"]::after,\n#catalog::after,\ndiv.navLinks > a:first-of-type::after {\n " + align + ": 3px !important;\n}\n#boardNavDesktopFoot,\n#globalMessage,\n#watcher {\n " + Style.sizing + ": border-box;\n width: " + (Style.sidebar - 18) + "px !important;\n min-width: 230px;\n " + align + ": 18px !important;\n}\n.fixed.top #header-bar" + (_conf['Pagination'] === 'top' || _conf['Pagination'] === 'sticky top' ? ',\n.pagelist' : '') + " {\n " + (_conf['4chan SS Navigation'] ? "padding-" + align + ": " + iconOffset + "px;" : "margin-" + align + ": " + iconOffset + "px;") + "\n}"; + css += "/* Expand Images */\n#img-controls {\n top: " + position[i++] + "px;\n}\n/* Main Menu */\n#main-menu {\n top: " + position[i++] + "px;\n}\n/* 4chan X Options */\n#appchanOptions {\n top: " + position[i++] + "px;\n}\n/* Slideout Navigation */\n#boardNavDesktopFoot,\n#boardNavDesktopFoot::after {\n top: " + position[i++] + "px;\n}\n/* Global Message */\n#globalMessage,\n#globalMessage::after {\n top: " + position[i++] + "px;\n}\n/* Watcher */\n" + (_conf["Slideout Watcher"] ? "#watcher, #watcher::after" : "") + " {\n top: " + position[i++] + "px !important;\n}\n/* 4sight */\nbody > a[style=\"cursor: pointer; float: right;\"]::after {\n top: " + position[i++] + "px;\n}\n/* ExLinks */\n#navtopright .exlinksOptionsLink::after {\n top: " + position[i++] + "px;\n}\n/* 4chan Catalog */\n#catalog::after {\n top: " + position[i++] + "px;\n}\n/* Back */\ndiv.navLinks > a:first-of-type::after {\n top: " + position[i++] + "px;\n}\n/* Fappe Tyme */\n#fappeTyme {\n top: " + position[i++] + "px;\n}\n/* Thread Navigation Links */\n#navlinks a:first-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a:last-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a,\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n#boardNavDesktopFoot::after,\n#globalMessage::after,\n#img-controls,\n#main-menu,\n#fappeTyme,\n" + (_conf["Slideout Watcher"] ? "#watcher::after," : "") + "\nbody > a[style=\"cursor: pointer; float: right;\"]::after,\n#catalog::after,\ndiv.navLinks > a:first-of-type::after {\n " + align + ": 3px !important;\n}\n#boardNavDesktopFoot,\n#globalMessage,\n#watcher {\n -moz-box-sizing: border-box;\n width: " + (Style.sidebar - 18) + "px !important;\n min-width: 230px;\n " + align + ": 18px !important;\n}\n.fixed.top #header-bar" + (_conf['Pagination'] === 'top' || _conf['Pagination'] === 'sticky top' ? ',\n.pagelist' : '') + " {\n " + (_conf['4chan SS Navigation'] ? "padding-" + align + ": " + iconOffset + "px;" : "margin-" + align + ": " + iconOffset + "px;") + "\n}"; } return Style.icons.textContent = css; }, @@ -14408,7 +14430,7 @@ var hyphenated; $.cb.checked.call(this); - hyphenated = this.name.toLowerCase().replace(/\s+/g, '-'); + hyphenated = this.name.toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); return (this.checked ? $.addClass : $.rmClass)(doc, hyphenated); }, value: function() { @@ -14423,7 +14445,7 @@ _results = []; for (_i = 0, _len = _ref.length; _i < _len; _i++) { option = _ref[_i]; - hyphenated = ("" + this.name + " {option.value}").toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + this.name + " " + option.value).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); _results.push((option.value === this.value ? $.addClass : $.rmClass)(doc, hyphenated)); } return _results; diff --git a/builds/crx/script.js b/builds/crx/script.js index 6c6d771be..cbd958951 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -10576,10 +10576,7 @@ JSColor = { css: function() { - var agent; - - agent = Style.agent; - return ".jscBox {\nwidth: 251px;\nheight: 155px;\n}\n.jscBoxB,\n.jscPadB,\n.jscPadM,\n.jscSldB,\n.jscSldM,\n.jscBtn {\nposition: absolute;\nclear: both;\n}\n.jscBoxB {\nleft: 320px;\nbottom: 20px;\nz-index: 30;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\nbackground: ThreeDFace;\n}\n.jscPad {\nwidth: 181px;\nheight: 101px;\nbackground-image: " + agent + "linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)), " + agent + "linear-gradient(left, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);\nbackground-repeat: no-repeat;\nbackground-position: 0 0;\n}\n.jscPadB {\nleft: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscPadM {\nleft: 0;\ntop: 0;\nwidth: 200px;\nheight: 121px;\ncursor: crosshair;\nbackground-image: url('data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=');\nbackground-repeat: no-repeat;\n}\n.jscSld {\nwidth: 16px;\nheight: 101px;\nbackground-image: " + agent + "linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));\n}\n.jscSldB {\nright: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscSldM {\nright: 0;\ntop: 0;\nwidth: 36px;\nheight: 121px;\ncursor: pointer;\nbackground-image: url('data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7');\nbackground-repeat: no-repeat;\n}\n.jscBtn {\nright: 10px;\nbottom: 10px;\npadding: 0 15px;\nheight: 18px;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\ncolor: ButtonText;\ntext-align: center;\ncursor: pointer;\n}\n.jscBtnS {\nline-height: 10px;\n}"; + return ".jscBox {\nwidth: 251px;\nheight: 155px;\n}\n.jscBoxB,\n.jscPadB,\n.jscPadM,\n.jscSldB,\n.jscSldM,\n.jscBtn {\nposition: absolute;\nclear: both;\n}\n.jscBoxB {\nleft: 320px;\nbottom: 20px;\nz-index: 30;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\nbackground: ThreeDFace;\n}\n.jscPad {\nwidth: 181px;\nheight: 101px;\nbackground-image: -webkit-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)), -webkit-linear-gradient(left, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00);\nbackground-repeat: no-repeat;\nbackground-position: 0 0;\n}\n.jscPadB {\nleft: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscPadM {\nleft: 0;\ntop: 0;\nwidth: 200px;\nheight: 121px;\ncursor: crosshair;\nbackground-image: url('data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=');\nbackground-repeat: no-repeat;\n}\n.jscSld {\nwidth: 16px;\nheight: 101px;\nbackground-image: -webkit-linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));\n}\n.jscSldB {\nright: 10px;\ntop: 10px;\nborder: 1px solid;\nborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n}\n.jscSldM {\nright: 0;\ntop: 0;\nwidth: 36px;\nheight: 121px;\ncursor: pointer;\nbackground-image: url('data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7');\nbackground-repeat: no-repeat;\n}\n.jscBtn {\nright: 10px;\nbottom: 10px;\npadding: 0 15px;\nheight: 18px;\nborder: 1px solid;\nborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\ncolor: ButtonText;\ntext-align: center;\ncursor: pointer;\n}\n.jscBtnS {\nline-height: 10px;\n}"; }, bind: function(el) { if (!el.color) { @@ -10945,7 +10942,7 @@ if (Conf["Grayscale Mascots"]) { filters.push(''); } - return Style.mascot.textContent = "#mascot img {\n position: fixed;\n z-index: " + (Conf['Mascots Overlap Posts'] ? '3' : '-1') + ";\n " + (Style.sidebarLocation[0] === "left" ? "" + Style.agent + "transform: scaleX(-1);" : "") + "\n bottom: " + (mascot.position === 'top' ? 'auto' : Conf['Mascot Position'] === 'middle' ? '50%' : (mascot.position === 'bottom' && Conf['Mascot Position'] === 'default') || !$.id('postForm') ? '0' : position) + ";\n " + location + ": " + ((mascot.hOffset || 0) + (Conf['Sidebar'] === 'large' && mascot.center ? 25 : 0)) + "px;\n top: " + (mascot.position === 'top' ? '0' : 'auto') + ";\n height: " + (mascot.height && isNaN(parseFloat(mascot.height)) ? mascot.height : mascot.height ? parseInt(mascot.height, 10) + 'px' : 'auto') + ";\n width: " + (mascot.width && isNaN(parseFloat(mascot.width)) ? mascot.width : mascot.width ? parseInt(mascot.width, 10) + 'px' : 'auto') + ";\n margin-" + location + ": " + (mascot.hOffset || 0) + "px;\n margin-bottom: " + (mascot.vOffset || 0) + "px;\n opacity: " + Conf['Mascot Opacity'] + ";\n pointer-events: none;\n " + (filters.length > 0 ? "filter: url('data:image/svg+xml," + filters.join("") + "#filters');" : "") + "\n " + (Conf['Mascot Position'] === 'middle' ? "" + Style.agent + "transform: translateY(50%);" : '') + "\n}"; + return Style.mascot.textContent = "#mascot img {\n position: fixed;\n z-index: " + (Conf['Mascots Overlap Posts'] ? '3' : '-1') + ";\n " + (Style.sidebarLocation[0] === "left" ? "box-sizingtransform: scaleX(-1);" : "") + "\n bottom: " + (mascot.position === 'top' ? 'auto' : Conf['Mascot Position'] === 'middle' ? '50%' : (mascot.position === 'bottom' && Conf['Mascot Position'] === 'default') || !$.id('postForm') ? '0' : position) + ";\n " + location + ": " + ((mascot.hOffset || 0) + (Conf['Sidebar'] === 'large' && mascot.center ? 25 : 0)) + "px;\n top: " + (mascot.position === 'top' ? '0' : 'auto') + ";\n height: " + (mascot.height && isNaN(parseFloat(mascot.height)) ? mascot.height : mascot.height ? parseInt(mascot.height, 10) + 'px' : 'auto') + ";\n width: " + (mascot.width && isNaN(parseFloat(mascot.width)) ? mascot.width : mascot.width ? parseInt(mascot.width, 10) + 'px' : 'auto') + ";\n margin-" + location + ": " + (mascot.hOffset || 0) + "px;\n margin-bottom: " + (mascot.vOffset || 0) + "px;\n opacity: " + Conf['Mascot Opacity'] + ";\n pointer-events: none;\n " + (filters.length > 0 ? "filter: url('data:image/svg+xml," + filters.join("") + "#filters');" : "") + "\n " + (Conf['Mascot Position'] === 'middle' ? "box-sizingtransform: translateY(50%);" : '') + "\n}"; }, categories: ['Anime', 'Ponies', 'Questionable', 'Silhouette', 'Western'], dialog: function(key) { @@ -11362,13 +11359,13 @@ if (setting[2] === 'text') { continue; } - hyphenated = ("" + name + " " + Conf[name]).toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + name + " " + Conf[name]).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); $.addClass(doc, hyphenated); } else { if (!Conf[name]) { continue; } - hyphenated = ("" + name).toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + name).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); $.addClass(doc, hyphenated); } } @@ -11424,8 +11421,6 @@ } }, 500); }, - agent: "-webkit-", - sizing: "box-sizing", setup: function() { var theme; @@ -11435,7 +11430,8 @@ themeCSS: $.addStyle(Style.theme(theme), 'theme'), icons: $.addStyle("", 'icons'), paddingSheet: $.addStyle("", 'padding'), - mascot: $.addStyle("", 'mascotSheet') + mascot: $.addStyle("", 'mascotSheet'), + dynamic: $.addStyle(Style.dynamic(), 'dynamic') }); $.addStyle(JSColor.css(), 'jsColor'); if (d.head) { @@ -11529,10 +11525,9 @@ return "filter: url(\"data:image/svg+xml,#filters\");"; }, layout: function() { - var agent, css, editSpace, width, xOffset, _conf; + var css, editSpace, width, xOffset, _conf; _conf = Conf; - agent = Style.agent; xOffset = _conf["Sidebar Location"] === "left" ? '-' : ''; Style.pfOffset = _conf['4chan SS Navigation'] && ((_conf['Bottom Header'] && _conf['Fixed Header']) || (g.VIEW === 'index' && _conf['Pagination'] === 'sticky bottom')) ? 1.5 : 0; Style.sidebar = { @@ -11555,14 +11550,14 @@ }; } Style.replyMargin = _conf["Post Spacing"]; - return css = "/* Cleanup */\n#absbot,\n#boardNavDesktop,\n#delPassword,\n#delform > hr:last-of-type,\n#navbotright,\n#postForm,\n#search-label,\n#search-label-bottom,\n#styleSwitcher,\n#togglePostForm,\n.boardBanner > div,\n.mobile,\n.next form,\n.next span,\n.postingMode,\n.prev form,\n.prev span,\n.riced,\n.sideArrows,\n.stylechanger,\nbody > br,\nbody > div[style^=\"text-align\"],\nbody > hr {\n display: none;\n}\n/* Empties */\n#qr .warning:empty,\n#qr-thread-select:empty {\n display: none;\n}\n/* File Name Trunctuate */\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull {\n display: none;\n}\n/* Unnecessary */\n#qp input,\n#qp .rice,\n.inline .rice {\n display: none !important;\n}\n/* Hidden Content */\n.forwarded,\n.hidden,\n.hidden_thread ~ div,\n.hidden_thread ~ a,\n.replyContainer .stub ~ div,\n.replyContainer .stub ~ a,\n.stub + div,\n.thread > .stub:first-child ~ .postContainer,\n.thread > .stub:first-child ~ .summary,\n[hidden] {\n display: none !important;\n}\n/* Hidden UI */\n#catalog,\n#navlinks,\n#navtopright,\n.cataloglink,\n.navLinks,\na[style=\"cursor: pointer; float: right;\"] {\n z-index: 7;\n position: fixed;\n top: 100%;\n left: 100%;\n}\n/* Hide last horizontal rule, keep clear functionality. */\n.board > hr:last-of-type {\n visibility: hidden;\n}\n/* Fappe Tyme */\n.fappeTyme .thread > .noFile,\n.fappeTyme .threadContainer > .noFile {\n display: none;\n}\n/* Defaults */\na {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n outline: none;\n}\nbody,\nhtml {\n min-height: 100%;\n " + Style.sizing + ": border-box;\n}\nbody {\n outline: none;\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n font-family: " + _conf["Font"] + ";\n min-height: 100%;\n margin-top: 0;\n margin-bottom: 0;\n margin-" + Style.sidebarLocation[0] + ": " + (/^boards\.4chan\.org$/.test(location.hostname) ? Style.sidebar : '2') + "px;\n margin-" + Style.sidebarLocation[1] + ": 2px;\n padding: 0 " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px 0 " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"]) + "px;\n}\nbody.unscroll {\n overflow: hidden;\n}\n" + (_conf["4chan SS Sidebar"] && /^boards\.4chan\.org$/.test(location.hostname) ? "body::before { content: ''; position: fixed; top: 0; bottom: 0; " + Style.sidebarLocation[0] + ": 0; width: " + (_conf['Sidebar'] === 'large' ? 305 : _conf['Sidebar'] === 'normal' ? 254 : _conf['Sidebar'] === 'minimal' ? 27 : 0) + "px; z-index: 1; " + Style.sizing + ": border-box; display: block;}body { padding-" + Style.sidebarLocation[0] + ": 2px;}" : "") + "\nbutton,\ninput,\ntextarea {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n font-family: " + _conf["Font"] + ";\n}\nhr {\n clear: both;\n border: 0;\n padding: 0;\n margin: 0 0 1px;\n " + (_conf['Hide Horizontal Rules'] ? 'visibility: hidden;' : '') + "\n}\nth {\n text-align: left;\n}\n.center {\n text-align: center;\n}\n.disabled {\n opacity: 0.5;\n}\n.pointer {\n cursor: pointer;\n}\n/* Symbols */\n.drop-marker {\n vertical-align: middle;\n display: inline-block;\n margin: 2px 2px 3px;\n border-top: .5em solid;\n border-right: .3em solid transparent;\n border-left: .3em solid transparent;\n}\n.brackets-wrap::before {\n content: \" [\";\n}\n.brackets-wrap::after {\n content: \"] \";\n}\n/* Thread / Reply Nav */\n#navlinks a {\n position: fixed;\n z-index: 12;\n opacity: 0.5;\n display: inline-block;\n border-right: 6px solid transparent;\n border-left: 6px solid transparent;\n margin: 1.5px;\n}\n/* Header */\n#header-bar {\n z-index: 6;\n border-width: 1px;\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 2px;" : "") + "\n text-align: " + _conf["Navigation Alignment"] + ";\n}\n#shortcuts {\n float: right;\n}\n.fixed #header-bar.autohide {\n z-index: 24;\n}\n.fixed #header-bar {\n position: fixed;\n}\n.top #header-bar {\n top: 0;\n border-top-width: 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : "") + "\"\n}\n.fixed.bottom #header-bar {\n bottom: 0;\n border-bottom-width: 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\"\n}\n.hide #header-bar {\n position: fixed;\n top: 110%;\n bottom: auto;\n}\n/* Header Autohide */\n.fixed #header-bar.autohide:not(:hover) {\n box-shadow: none;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar.autohide:not(:hover) {\n margin-bottom: -1em;\n " + agent + "transform: translateY(-100%);\n}\n.fixed.bottom #header-bar.autohide:not(:hover) {\n " + agent + "transform: translateY(100%);\n}\n#scroll-marker {\n left: 0;\n right: 0;\n height: 10px;\n position: absolute;\n}\n#header-bar #scroll-marker {\n display: none;\n}\n.fixed #header-bar #scroll-marker {\n display: block;\n}\n.fixed.top header-bar #scroll-marker {\n top: 100%;\n}\n.fixed.bottom #header-bar #scroll-marker {\n bottom: 100%;\n}\n/* Notifications */\n#notifications {\n position: fixed;\n top: 0;\n text-align: center;\n right: 0;\n left: 0;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar #notifications {\n position: absolute;\n top: 100%;\n}\n.notification {\n font-family: " + _conf["Font"] + ";\n font-size: " + (parseInt(_conf["Font Size"], 10)) + ";\n color: #fff;\n font-weight: 700;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .5);\n box-shadow: 0 1px 2px rgba(0, 0, 0, .15);\n border-radius: 2px;\n margin: 1px auto;\n width: 500px;\n max-width: 100%;\n position: relative;\n transition: all .25s ease-in-out;\n}\n.notification.error {\n background-color: hsla(0, 100%, 38%, .9);\n}\n.notification.warning {\n background-color: hsla(36, 100%, 38%, .9);\n}\n.notification.info {\n background-color: hsla(200, 100%, 38%, .9);\n}\n.notification.success {\n background-color: hsla(104, 100%, 38%, .9);\n}\n.notification a {\n color: #fff;\n}\n.notification > .close {\n padding: 6px;\n top: 0;\n right: 5px;\n position: absolute;\n color: #fff;\n}\n.message {\n " + Style.sizing + ": border-box;\n padding: 6px 20px;\n max-height: 200px;\n width: 100%;\n overflow: auto;\n}\n/* Main Menu */\n#main-menu {\n margin: 0;\n border: 2px solid;\n border-radius: 10px;\n height: 14px;\n width: 14px;\n " + Style.sizing + ": border-box;\n border-color: rgb(130,130,130);\n color: rgb(130,130,130);\n}\n#main-menu::after {\n content: '';\n font-size: 10px;\n position: absolute;\n top: 50%;\n left: 50%;\n " + agent + "transform: translate(-60%, -50%);\n display: block;\n border-top: 5px solid rgb(130, 130, 130);\n border-left: 3px solid transparent;\n border-right: 3px solid transparent;\n width: 7px;\n " + Style.sizing + ": border-box;\n}\n/* Updater / Thread Stats */\n.float #thread-stats,\n.float #updater {\n position: fixed;\n}\n#update-status.new::after {\n content: ', ';\n}\n/* Pagination */\n.pagelist {\n border-width: 1px;\n text-align: " + _conf["Pagination Alignment"] + ";\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + { + return css = "/* Cleanup */\n#absbot,\n#boardNavDesktop,\n#delPassword,\n#delform > hr:last-of-type,\n#navbotright,\n#postForm,\n#search-label,\n#search-label-bottom,\n#styleSwitcher,\n#togglePostForm,\n.boardBanner > div,\n.mobile,\n.next form,\n.next span,\n.postingMode,\n.prev form,\n.prev span,\n.riced,\n.sideArrows,\n.stylechanger,\nbody > br,\nbody > div[style^=\"text-align\"],\nbody > hr {\n display: none;\n}\n/* Empties */\n#qr .warning:empty,\n#qr-thread-select:empty {\n display: none;\n}\n/* File Name Trunctuate */\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull {\n display: none;\n}\n/* Unnecessary */\n#qp input,\n#qp .rice,\n.inline .rice {\n display: none !important;\n}\n/* Hidden Content */\n.forwarded,\n.hidden,\n.hidden_thread ~ div,\n.hidden_thread ~ a,\n.replyContainer .stub ~ div,\n.replyContainer .stub ~ a,\n.stub + div,\n.thread > .stub:first-child ~ .postContainer,\n.thread > .stub:first-child ~ .summary,\n[hidden] {\n display: none !important;\n}\n/* Hidden UI */\n#catalog,\n#navlinks,\n#navtopright,\n.cataloglink,\n.navLinks,\na[style=\"cursor: pointer; float: right;\"] {\n z-index: 7;\n position: fixed;\n top: 100%;\n left: 100%;\n}\n/* Hide last horizontal rule, keep clear functionality. */\n.board > hr:last-of-type {\n visibility: hidden;\n}\n/* Fappe Tyme */\n.fappeTyme .thread > .noFile,\n.fappeTyme .threadContainer > .noFile {\n display: none;\n}\n/* Defaults */\na {\n text-decoration: none;\n outline: none;\n}\n.underline-links a {\n text-decoration: underline;\n}\nbody,\nhtml {\n min-height: 100%;\n box-sizing: border-box;\n}\nbody {\n outline: none;\n min-height: 100%;\n}\n.sidebar-hide body {\n margin: 0 2px;\n}\n.sidebar-minimal body {\n margin: 0 20px;\n}\n.sidebar-normal body {\n margin: 0 252px\n}\n.sidebar-large body {\n margin: 0 303px;\n}\n.sidebar-location-right body {\n margin-left: 2px;\n}\n.sidebar-location-left body {\n margin-right: 2px;\n}\nbody.unscroll {\n overflow: hidden;\n}\n.fourchan-ss-sidebar body::before {\n content: '';\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: 1;\n box-sizing: border-box;\n display: block;\n}\n.sidebar-right body::before {\n right: 0;\n}\nsidebar-left body::before {\n left: 0;\n}\n.fourchan-ss-sidebar.sidebar-right body {\n padding-right: 2px;\n}\n.fourchan-ss-sidebar.sidebar-left body {\n padding-left: 2px;\n}\nhr {\n clear: both;\n border: 0;\n padding: 0;\n margin: 0 0 1px;\n}\n.hide-horizontal-rules hr {\n visibility: hidden;\n}\nth {\n text-align: left;\n}\n.center {\n text-align: center;\n}\n.disabled {\n opacity: 0.5;\n}\n.pointer {\n cursor: pointer;\n}\n/* Symbols */\n.drop-marker {\n vertical-align: middle;\n display: inline-block;\n margin: 2px 2px 3px;\n border-top: .5em solid;\n border-right: .3em solid transparent;\n border-left: .3em solid transparent;\n}\n.brackets-wrap::before {\n content: \" [\";\n}\n.brackets-wrap::after {\n content: \"] \";\n}\n/* Thread / Reply Nav */\n#navlinks a {\n position: fixed;\n z-index: 12;\n opacity: 0.5;\n display: inline-block;\n border-right: 6px solid transparent;\n border-left: 6px solid transparent;\n margin: 1.5px;\n}\n/* Header */\n#header-bar {\n z-index: 6;\n border-width: 1px;\n}\n.navigation-alignment-center #header-bar {\n text-align: center;\n}\n.navigation-alignment-right #header-bar {\n text-align: right;\n}\n.fourchan-ss-navigation #header-bar {\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n border-radius: 0 !important;\n}\n.hide-navigation-decorations #header-bar {\n font-size: 0;\n color: transparent;\n word-spacing: 2px;\n}\n#shortcuts {\n float: right;\n}\n.fixed #header-bar.autohide {\n z-index: 24;\n}\n.fixed #header-bar {\n position: fixed;\n}\n.top #header-bar {\n top: 0;\n border-top-width: 0;\n}\n.rounded-edges.top #header-bar {\n border-radius: 0 0 3px 3px;\n}\n.fixed.bottom #header-bar {\n bottom: 0;\n border-bottom-width: 0;\n}\n.rounded-edges.bottom #header-bar {\n border-radius: 3px 3px 0 0;\n}\n.hide #header-bar {\n position: fixed;\n top: 110%;\n bottom: auto;\n}\n/* Header Autohide */\n.fixed #header-bar.autohide:not(:hover) {\n box-shadow: none;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar.autohide:not(:hover) {\n margin-bottom: -1em;\n -webkit-transform: translateY(-100%);\n}\n.fixed.bottom #header-bar.autohide:not(:hover) {\n -webkit-transform: translateY(100%);\n}\n#scroll-marker {\n left: 0;\n right: 0;\n height: 10px;\n position: absolute;\n}\n#header-bar #scroll-marker {\n display: none;\n}\n.fixed #header-bar #scroll-marker {\n display: block;\n}\n.fixed.top header-bar #scroll-marker {\n top: 100%;\n}\n.fixed.bottom #header-bar #scroll-marker {\n bottom: 100%;\n}\n/* Notifications */\n#notifications {\n position: fixed;\n top: 0;\n text-align: center;\n right: 0;\n left: 0;\n transition: all .8s .6s cubic-bezier(.55, .055, .675, .19);\n}\n.fixed.top #header-bar #notifications {\n position: absolute;\n top: 100%;\n}\n.notification {\n font-family: " + _conf["Font"] + ";\n font-size: " + (parseInt(_conf["Font Size"], 10)) + ";\n color: #fff;\n font-weight: 700;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .5);\n box-shadow: 0 1px 2px rgba(0, 0, 0, .15);\n border-radius: 2px;\n margin: 1px auto;\n width: 500px;\n max-width: 100%;\n position: relative;\n transition: all .25s ease-in-out;\n}\n.notification.error {\n background-color: hsla(0, 100%, 38%, .9);\n}\n.notification.warning {\n background-color: hsla(36, 100%, 38%, .9);\n}\n.notification.info {\n background-color: hsla(200, 100%, 38%, .9);\n}\n.notification.success {\n background-color: hsla(104, 100%, 38%, .9);\n}\n.notification a {\n color: #fff;\n}\n.notification > .close {\n padding: 6px;\n top: 0;\n right: 5px;\n position: absolute;\n color: #fff;\n}\n.message {\n box-sizing: border-box;\n padding: 6px 20px;\n max-height: 200px;\n width: 100%;\n overflow: auto;\n}\n/* Main Menu */\n#main-menu {\n margin: 0;\n border: 2px solid;\n border-radius: 10px;\n height: 14px;\n width: 14px;\n box-sizing: border-box;\n border-color: rgb(130,130,130);\n color: rgb(130,130,130);\n}\n#main-menu::after {\n content: '';\n font-size: 10px;\n position: absolute;\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-60%, -50%);\n display: block;\n border-top: 5px solid rgb(130, 130, 130);\n border-left: 3px solid transparent;\n border-right: 3px solid transparent;\n width: 7px;\n box-sizing: border-box;\n}\n/* Updater / Thread Stats */\n.float #thread-stats,\n.float #updater {\n position: fixed;\n}\n#update-status.new::after {\n content: ', ';\n}\n/* Pagination */\n.pagelist {\n border-width: 1px;\n text-align: " + _conf["Pagination Alignment"] + ";\n" + (_conf['4chan SS Navigation'] ? " left: 0; right: 0; border-left: 0; border-right: 0; border-radius: 0 !important;" : " " + Style.sidebarLocation[0] + ": " + (Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px; " + Style.sidebarLocation[1] + ": " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;") + "\n" + { "sticky top": " position: fixed; top: 0; border-top-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : ""), "sticky bottom": " position: fixed; bottom: 0; border-bottom-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : ""), "top": " position: static; border-top-width: 0; " + (_conf["Rounded Edges"] ? "border-radius: 0 0 3px 3px;" : ""), "bottom": " position: static; " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : ""), "hide": " display: none;", - "on side": " position: fixed; padding: 0; top: auto; bottom: " + (['fixed', 'transparent fade'].contains(_conf['Post Form Style']) ? 21.6 + (Conf['Show Post Form Header'] ? 1.5 : 0) + (Conf['Post Form Decorations'] ? 0.2 : 0) : .5) + "em; " + Style.sidebarLocation[1] + ": auto; " + Style.sidebarLocation[0] + ": " + (Style.sidebar - 2) + "px; position: fixed;" + (Style.sidebarLocation[0] === 'right' ? " " + agent + "transform: rotate(90deg); " + agent + "transform-origin: bottom right;" : " " + agent + "transform: rotate(-90deg); " + agent + "transform-origin: bottom left;") + " z-index: 6; margin: 0; background: none transparent !important; border: 0 none !important; text-align: right;" - }[_conf['Pagination']] + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 0;" : "") + "\n z-index: 6;\n}\n.pagelist input,\n.pagelist div {\n vertical-align: middle;\n}\n#header-bar a {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n}\n" + (_conf["Hide Navigation Decorations"] ? ".pages a { margin: 0 1px; font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;}" : "") + "\n.next,\n.pages,\n.prev {\n display: inline-block;\n margin: 0 3px;\n}\n/* Banner */\n.boardBanner {\n line-height: 0;\n}\n" + (_conf["Faded 4chan Banner"] ? ".boardBanner { opacity: 0.5; " + agent + "transition: opacity 0.3s ease-in-out .5s;}.boardBanner:hover { opacity: 1; " + agent + "transition: opacity 0.3s ease-in;}" : "") + "\n" + (_conf["4chan Banner Reflection"] ? "/* From 4chan SS / OneeChan */.gecko .boardBanner::after { background-image: -moz-element(#Banner); bottom: -100%; content: ''; left: 0; mask: url(\"data:image/svg+xml, #mask\"); opacity: 0.3; position: absolute; right: 0; top: 100%; -moz-transform: scaleY(-1); z-index: -1;}.webkit #Banner { -webkit-box-reflect: below 0 -webkit-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0) 10%, rgba(255,255,255,.5));}" : "") + "\n" + { + "on side": " position: fixed; padding: 0; top: auto; bottom: " + (['fixed', 'transparent fade'].contains(_conf['Post Form Style']) ? 21.6 + (Conf['Show Post Form Header'] ? 1.5 : 0) + (Conf['Post Form Decorations'] ? 0.2 : 0) : .5) + "em; " + Style.sidebarLocation[1] + ": auto; " + Style.sidebarLocation[0] + ": " + (Style.sidebar - 2) + "px; position: fixed;" + (Style.sidebarLocation[0] === 'right' ? " -webkit-transform: rotate(90deg); -webkit-transform-origin: bottom right;" : " -webkit-transform: rotate(-90deg); -webkit-transform-origin: bottom left;") + " z-index: 6; margin: 0; background: none transparent !important; border: 0 none !important; text-align: right;" + }[_conf['Pagination']] + "\n" + (_conf["Hide Navigation Decorations"] ? " font-size: 0; color: transparent; word-spacing: 0;" : "") + "\n z-index: 6;\n}\n.pagelist input,\n.pagelist div {\n vertical-align: middle;\n}\n#header-bar a {\n font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\n}\n" + (_conf["Hide Navigation Decorations"] ? ".pages a { margin: 0 1px; font-size: " + (parseInt(_conf["Font Size"], 10)) + "px;}" : "") + "\n.next,\n.pages,\n.prev {\n display: inline-block;\n margin: 0 3px;\n}\n/* Banner */\n.boardBanner {\n line-height: 0;\n}\n" + (_conf["Faded 4chan Banner"] ? ".boardBanner { opacity: 0.5; -webkit-transition: opacity 0.3s ease-in-out .5s;}.boardBanner:hover { opacity: 1; -webkit-transition: opacity 0.3s ease-in;}" : "") + "\n" + (_conf["4chan Banner Reflection"] ? "/* From 4chan SS / OneeChan */.gecko .boardBanner::after { background-image: -moz-element(#Banner); bottom: -100%; content: ''; left: 0; mask: url(\"data:image/svg+xml, #mask\"); opacity: 0.3; position: absolute; right: 0; top: 100%; -moz-transform: scaleY(-1); z-index: -1;}.webkit #Banner { -webkit-box-reflect: below 0 -webkit-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0) 10%, rgba(255,255,255,.5));}" : "") + "\n" + { "at sidebar top": ".boardBanner { position: fixed; top: 16px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", "at sidebar bottom": ".boardBanner { position: fixed; bottom: 270px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", "under post form": " .boardBanner { position: fixed; bottom: 130px; " + Style.sidebarLocation[0] + ": 2px;}.boardBanner img { width: " + width + "px;}", @@ -11574,36 +11569,63 @@ "under post form": " position: fixed; " + Style.sidebarLocation[0] + ": 2px; bottom: 140px; width: " + width + "px;", "at top": " margin: 12px 0;", "hide": " display: none;" - }[_conf["Board Title"]] + "\n}\n.boardTitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) + 10) + "px;\n}\n.boardSubtitle,\n.boardSubtitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) - 1) + "px;\n}\n" + (!_conf['Board Subtitle'] ? ".boardSubtitle { display: none; }" : "") + "\n/* Dialogs */\n.move {\n cursor: pointer;\n}\n#ihover {\n position: fixed;\n max-height: 97%;\n max-width: 75%;\n padding: 10px;\n z-index: 22;\n}\n#qp {\n position: fixed;\n z-index: 22;\n}\n#qp .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n#qp .full-image {\n max-height: 300px;\n max-width: 500px;\n}\n#menu {\n position: fixed;\n outline: none;\n z-index: 22;\n}\n/* Image Expansion */\n.fit-width .full-image {\n max-width: 100%;\n width: 100%;\n}\n" + (_conf['Images Overlap Post Form'] ? ".full-image { position: relative; z-index: 21;}" : "") + "\n/* Delete Buttons */\n" + (_conf['Hide Delete UI'] ? ".deleteform,.post:not(#exlinks-options) .rice { display: none;}.postInfo { padding: 0 0 0 3px;}" : ".deleteform { position: fixed; z-index: 18; width: 0; bottom: 0; right: 0; border-width: 1px 0 0 1px; border-style: solid; font-size: 0; color: transparent;}.deleteform:hover { width: auto;}.deleteform::before { z-index: 18; border-width: 1px 0 0 1px; border-style: solid; content: 'X'; display: block; position: fixed; bottom: 0; right: 0; font-size: " + _conf['Font Size'] + "px; " + Style.sizing + ": border-box; height: 1.6em; width: 1.4em; text-align: center;}.deleteform:hover::before { display: none;}.deleteform input { margin: 0 1px 0 0;}") + "\n/* Slideout Navigation */\n#boardNavDesktopFoot {\n position: fixed;\n width: " + width + "px;\n " + Style.sidebarLocation[0] + ": 2px;\n text-align: center;\n font-size: 0;\n color: transparent;\n overflow: hidden;\n " + Style.sizing + ": border-box;\n}\n#boardNavDesktopFoot a,\n#boardNavDesktopFoot a::after,\n#boardNavDesktopFoot a::before {\n font-size: " + _conf['Font Size'] + "px;\n}\n#boardNavDesktopFoot:hover {\n overflow-y: auto;\n padding: 2px;\n}\n#boardNavDesktopFoot:not(:hover) {\n border-color: transparent;\n background-color: transparent;\n height: 0;\n overflow: hidden;\n padding: 0;\n border: 0 none;\n}\n" + { + }[_conf["Board Title"]] + "\n}\n.boardTitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) + 10) + "px;\n}\n.boardSubtitle,\n.boardSubtitle a {\n font-size: " + (parseInt(_conf["Font Size"], 10) - 1) + "px;\n}\n" + (!_conf['Board Subtitle'] ? ".boardSubtitle { display: none; }" : "") + "\n/* Dialogs */\n.move {\n cursor: pointer;\n}\n#ihover {\n position: fixed;\n max-height: 97%;\n max-width: 75%;\n padding: 10px;\n z-index: 22;\n}\n#qp {\n position: fixed;\n z-index: 22;\n}\n#qp .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n#qp .full-image {\n max-height: 300px;\n max-width: 500px;\n}\n#menu {\n position: fixed;\n outline: none;\n z-index: 22;\n}\n/* Image Expansion */\n.fit-width .full-image {\n max-width: 100%;\n width: 100%;\n}\n" + (_conf['Images Overlap Post Form'] ? ".full-image { position: relative; z-index: 21;}" : "") + "\n/* Delete Buttons */\n" + (_conf['Hide Delete UI'] ? ".deleteform,.post:not(#exlinks-options) .rice { display: none;}.postInfo { padding: 0 0 0 3px;}" : ".deleteform { position: fixed; z-index: 18; width: 0; bottom: 0; right: 0; border-width: 1px 0 0 1px; border-style: solid; font-size: 0; color: transparent;}.deleteform:hover { width: auto;}.deleteform::before { z-index: 18; border-width: 1px 0 0 1px; border-style: solid; content: 'X'; display: block; position: fixed; bottom: 0; right: 0; font-size: " + _conf['Font Size'] + "px; box-sizing: border-box; height: 1.6em; width: 1.4em; text-align: center;}.deleteform:hover::before { display: none;}.deleteform input { margin: 0 1px 0 0;}") + "\n/* Slideout Navigation */\n#boardNavDesktopFoot {\n position: fixed;\n width: " + width + "px;\n " + Style.sidebarLocation[0] + ": 2px;\n text-align: center;\n font-size: 0;\n color: transparent;\n overflow: hidden;\n box-sizing: border-box;\n}\n#boardNavDesktopFoot a,\n#boardNavDesktopFoot a::after,\n#boardNavDesktopFoot a::before {\n font-size: " + _conf['Font Size'] + "px;\n}\n#boardNavDesktopFoot:hover {\n overflow-y: auto;\n padding: 2px;\n}\n#boardNavDesktopFoot:not(:hover) {\n border-color: transparent;\n background-color: transparent;\n height: 0;\n overflow: hidden;\n padding: 0;\n border: 0 none;\n}\n" + { compact: "#boardNavDesktopFoot { word-spacing: 1px;}", list: "#boardNavDesktopFoot a { display: block;}#boardNavDesktopFoot:hover { max-height: 400px;}#boardNavDesktopFoot a::after { content: ' - ' attr(title);}#boardNavDesktopFoot a[href*='//boards.4chan.org/']::after,#boardNavDesktopFoot a[href*='//rs.4chan.org/']::after { content: '/ - ' attr(title);}#boardNavDesktopFoot a[href*='//boards.4chan.org/']::before,#boardNavDesktopFoot a[href*='//rs.4chan.org/']::before { content: '/';}", hide: "#boardNavDesktopFoot { display: none;}" - }[_conf["Slideout Navigation"]] + "\n/* Watcher */\n#watcher {\n position: fixed;\n z-index: 14;\n padding: 2px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#watcher > div {\n max-height: 1.3em;\n overflow: hidden;\n}\n" + (_conf['Slideout Watcher'] ? "#watcher { width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; " + Style.sizing + ": border-box;}#watcher .move { cursor: default; text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";}#watcher > div { overflow: hidden;}#watcher:hover { overflow-y: auto;}#watcher:not(:hover) { height: 0; overflow: hidden; border: 0 none; padding: 0;}" : "#watcher { width: 200px;}#watcher:not(:hover) { max-height: 200px; overflow: hidden;}") + "\n.watch-thread-link {\n padding-top: 18px;\n width: 18px;\n height: 0px;\n display: inline-block;\n background-repeat: no-repeat;\n opacity: 0.2;\n position: relative;\n top: 1px;\n}\n.watch-thread-link.watched {\n opacity: 1;\n} \n/* Announcements */\n#globalMessage {\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n" + ({ - 'slideout': "#globalMessage { position: fixed; padding: 2px; width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important;}#globalMessage h3 { margin: 0;}#globalMessage:hover { " + Style.sizing + ": border-box; overflow-y: auto;}#globalMessage:not(:hover) { height: 0; overflow: hidden; padding: 0; border: 0 none;}", + }[_conf["Slideout Navigation"]] + "\n/* Watcher */\n#watcher {\n position: fixed;\n z-index: 14;\n padding: 2px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#watcher > div {\n max-height: 1.3em;\n overflow: hidden;\n}\n" + (_conf['Slideout Watcher'] ? "#watcher { width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; box-sizing: border-box;}#watcher .move { cursor: default; text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";}#watcher > div { overflow: hidden;}#watcher:hover { overflow-y: auto;}#watcher:not(:hover) { height: 0; overflow: hidden; border: 0 none; padding: 0;}" : "#watcher { width: 200px;}#watcher:not(:hover) { max-height: 200px; overflow: hidden;}") + "\n.watch-thread-link {\n padding-top: 18px;\n width: 18px;\n height: 0px;\n display: inline-block;\n background-repeat: no-repeat;\n opacity: 0.2;\n position: relative;\n top: 1px;\n}\n.watch-thread-link.watched {\n opacity: 1;\n} \n/* Announcements */\n#globalMessage {\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n" + ({ + 'slideout': "#globalMessage { position: fixed; padding: 2px; width: " + width + "px; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important;}#globalMessage h3 { margin: 0;}#globalMessage:hover { box-sizing: border-box; overflow-y: auto;}#globalMessage:not(:hover) { height: 0; overflow: hidden; padding: 0; border: 0 none;}", 'hide': "#globalMessage { display: none !important;}" - }[_conf['Announcements']] || "") + "\n/* Threads */\n.thread {\n margin: " + (parseInt(_conf["Top Thread Padding"], 10)) + "px 0 " + (parseInt(_conf["Bottom Thread Padding"], 10)) + "px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 4px;" : "") + "\n}\n/* Thread Clearfix */\n.thread > div:last-of-type::after {\n display: block;\n content: ' ';\n clear: both;\n}\n/* Posts */\n.expanding {\n opacity: .5;\n}\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull,\n.expanded-image > .post > .file > .fileThumb > img[data-md5],\n.post > .file > .fileThumb > .full-image {\n display: none;\n}\n.expanded-image > .post > .file > .fileThumb > .full-image {\n display: block;\n}\n.post,\n.summary,\n.threadContainer {\n margin-bottom: " + Style.replyMargin + "px;\n}\n.replyContainer:last-of-type .post {\n margin-bottom: 0;\n}\n.menu-button {\n position: relative;\n}\n.stub .menu-button,\n.post .menu-button,\n.hide-thread-button,\n.show-thread-button span,\n.hide-reply-button,\n.show-reply-button span {\n float: right;\n}\n.post .menu-button,\n.hide-thread-button,\n.hide-reply-button {\n margin: 0 3px;\n opacity: 0;\n " + agent + "transition: opacity .3s ease-out 0s;\n}\n.post:hover .hide-reply-button,\n.post:hover .menu-button,\n.post:hover .hide-thread-button,\n.hidden_thread .hide-thread-button,\n.hidden_thread .menu-button,\n.inline .hide-reply-button,\n.inline .menu-button {\n opacity: 1;\n}\n.hidden_thread {\n text-align: right;\n}\n" + (_conf['Color user IDs'] ? ".posteruid .hand { padding: .1em .3em; border-radius: 1em; font-size: 80%;}" : "") + "\n.postInfo > span {\n vertical-align: bottom;\n}\n.subject,\n.name {\n " + (_conf["Bolds"] ? 'font-weight: 600;' : '') + "\n}\n.postertrip {\n " + (_conf["Italics"] ? 'font-style: italic;' : '') + "\n}\n.replylink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.fileInfo {\n padding: 0 3px;\n}\n.fileThumb {\n float: left;\n margin: 3px 20px;\n outline: none;\n}\n.reply.post {\n " + Style.sizing + ": border-box;\n}\n" + (_conf["Fit Width Replies"] ? ".reply.post { display: block; overflow: hidden;}.expanded-image .reply.post,.hasInline .reply.post { width: 100%;}" : ".reply.post { display: inline-block;}") + "\n" + (_conf["Indent Replies"] ? ".thread > .replyContainer,.threadContainer > .replyContainer { margin-left: 2em;}" : '') + "\n.expanded-image .reply.post,\n.hasInline .reply.post {\n display: inline-block;\n overflow: visible;\n clear: both;\n}\n.post {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.postMessage {\n margin: " + _conf['Vertical Post Padding'] + "px " + _conf['Horizontal Post Padding'] + "px;\n}\n.spoiler,\ns {\n text-decoration: none;\n}\n/* Reply Clearfix */\n.reply.post .postMessage {\n clear: right;\n}\n" + (_conf['Force Reply Break'] || _conf["OP Background"] ? ".op.post .postMessage::after { display: block; content: ' '; clear: both;}" : "") + "\n/* OP */\n.favicon {\n vertical-align: bottom;\n}\n" + (_conf["OP Background"] ? ".op.post { " + Style.sizing + ": border-box;}" : "") + "\n/* Summary */\n" + (_conf["Force Reply Break"] ? ".summary { clear: both;}" : "") + "\n/* Inlined */\n.inline {\n margin: 2px 8px 2px 2px;\n}\n.post .inline {\n margin: 2px;\n}\n.inline .replyContainer {\n display: inline-block;\n}\n/* Inlined Clearfix */\n.inline .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n/* Quotes */\n.inlined {\n opacity: .5;\n}\n.quotelink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.filtered,\n.quotelink.filtered {\n text-decoration: underline;\n text-decoration: line-through !important;\n}\n.inline + .hashlink {\n display: none;\n}\n/* Quote Threading */\n.threadContainer {\n " + (_conf["Indent Replies"] ? "margin" : "padding") + "-left: 2em;\n border-left: 1px solid;\n}\n.threadOP {\n clear: both;\n}\n/* Backlinks */\n.backlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.backlink.dead {\n text-decoration: none;\n}\n" + (_conf["Filtered Backlinks"] ? ".filtered.backlink { display: none;}" : void 0) + "\n" + { + }[_conf['Announcements']] || "") + "\n/* Threads */\n.thread {\n margin: " + (parseInt(_conf["Top Thread Padding"], 10)) + "px 0 " + (parseInt(_conf["Bottom Thread Padding"], 10)) + "px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 4px;" : "") + "\n}\n/* Thread Clearfix */\n.thread > div:last-of-type::after {\n display: block;\n content: ' ';\n clear: both;\n}\n/* Posts */\n.expanding {\n opacity: .5;\n}\n.fileText:hover .fntrunc,\n.fileText:not(:hover) .fnfull,\n.expanded-image > .post > .file > .fileThumb > img[data-md5],\n.post > .file > .fileThumb > .full-image {\n display: none;\n}\n.expanded-image > .post > .file > .fileThumb > .full-image {\n display: block;\n}\n.post,\n.summary,\n.threadContainer {\n margin-bottom: " + Style.replyMargin + "px;\n}\n.replyContainer:last-of-type .post {\n margin-bottom: 0;\n}\n.menu-button {\n position: relative;\n}\n.stub .menu-button,\n.post .menu-button,\n.hide-thread-button,\n.show-thread-button span,\n.hide-reply-button,\n.show-reply-button span {\n float: right;\n}\n.post .menu-button,\n.hide-thread-button,\n.hide-reply-button {\n margin: 0 3px;\n opacity: 0;\n -webkit-transition: opacity .3s ease-out 0s;\n}\n.post:hover .hide-reply-button,\n.post:hover .menu-button,\n.post:hover .hide-thread-button,\n.hidden_thread .hide-thread-button,\n.hidden_thread .menu-button,\n.inline .hide-reply-button,\n.inline .menu-button {\n opacity: 1;\n}\n.hidden_thread {\n text-align: right;\n}\n" + (_conf['Color user IDs'] ? ".posteruid .hand { padding: .1em .3em; border-radius: 1em; font-size: 80%;}" : "") + "\n.postInfo > span {\n vertical-align: bottom;\n}\n.subject,\n.name {\n " + (_conf["Bolds"] ? 'font-weight: 600;' : '') + "\n}\n.postertrip {\n " + (_conf["Italics"] ? 'font-style: italic;' : '') + "\n}\n.replylink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.fileInfo {\n padding: 0 3px;\n}\n.fileThumb {\n float: left;\n margin: 3px 20px;\n outline: none;\n}\n.reply.post {\n box-sizing: border-box;\n}\n" + (_conf["Fit Width Replies"] ? ".reply.post { display: block; overflow: hidden;}.expanded-image .reply.post,.hasInline .reply.post { width: 100%;}" : ".reply.post { display: inline-block;}") + "\n" + (_conf["Indent Replies"] ? ".thread > .replyContainer,.threadContainer > .replyContainer { margin-left: 2em;}" : '') + "\n.expanded-image .reply.post,\n.hasInline .reply.post {\n display: inline-block;\n overflow: visible;\n clear: both;\n}\n.post {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.postMessage {\n margin: " + _conf['Vertical Post Padding'] + "px " + _conf['Horizontal Post Padding'] + "px;\n}\n.spoiler,\ns {\n text-decoration: none;\n}\n/* Reply Clearfix */\n.reply.post .postMessage {\n clear: right;\n}\n" + (_conf['Force Reply Break'] || _conf["OP Background"] ? ".op.post .postMessage::after { display: block; content: ' '; clear: both;}" : "") + "\n/* OP */\n.favicon {\n vertical-align: bottom;\n}\n" + (_conf["OP Background"] ? ".op.post { box-sizing: border-box;}" : "") + "\n/* Summary */\n" + (_conf["Force Reply Break"] ? ".summary { clear: both;}" : "") + "\n/* Inlined */\n.inline {\n margin: 2px 8px 2px 2px;\n}\n.post .inline {\n margin: 2px;\n}\n.inline .replyContainer {\n display: inline-block;\n}\n/* Inlined Clearfix */\n.inline .postMessage::after {\n clear: both;\n display: block;\n content: \"\";\n}\n/* Quotes */\n.inlined {\n opacity: .5;\n}\n.quotelink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.filtered,\n.quotelink.filtered {\n text-decoration: underline;\n text-decoration: line-through !important;\n}\n.inline + .hashlink {\n display: none;\n}\n/* Quote Threading */\n.threadContainer {\n " + (_conf["Indent Replies"] ? "margin" : "padding") + "-left: 2em;\n border-left: 1px solid;\n}\n.threadOP {\n clear: both;\n}\n/* Backlinks */\n.backlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n}\n.backlink.dead {\n text-decoration: none;\n}\n" + (_conf["Filtered Backlinks"] ? ".filtered.backlink { display: none;}" : void 0) + "\n" + { "lower left": ".container { padding: 0 5px; max-width: 100%;}.reply.quoted { position: relative; padding-bottom: 1.7em;}.reply .container { position: absolute; left: 0; bottom: 0; padding: 0 5px;}.reply .container::before { content: 'REPLIES: ';}#qp .container { position: static; max-width: 100%;}#qp .container::before { content: '';}.inline .container { position: static; max-width: 100%;}.inline .container::before { content: '';}", 'lower right': ".reply.quoted { position: relative; padding-bottom: 1.7em;}.reply .container { position: absolute; right: 0; bottom: 0;}.container::before { content: 'REPLIES: ';}.container { max-width: 100%; padding: 0 5px;}#qp .container { position: static; max-width: 100%;}#qp .container::before { content: '';}.inline .container { position: static; float: none;}.inline .container::before { content: '';}", 'default': "" - }[_conf["Backlinks Position"]] + "\n/* Code */\n.prettyprint {\n " + Style.sizing + ": border-box;\n font-family: monospace;\n display: inline-block;\n margin-right: auto;\n white-space: pre-wrap;\n border-radius: 2px;\n overflow-x: auto;\n padding: 3px;\n max-width: 100%;\n}\n/* Menu */\n.entry {\n border-bottom: 1px solid rgba(0,0,0,.25);\n cursor: pointer;\n display: block;\n outline: none;\n padding: 3px 1em 3px 7px;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n}\n.entry:last-child {\n border-bottom: 0;\n}\n.has-submenu::after {\n content: \"\";\n border-left: .5em solid;\n border-top: .3em solid transparent;\n border-bottom: .3em solid transparent;\n display: inline-block;\n margin: .3em;\n position: absolute;\n right: 0;\n}\n.submenu {\n display: none;\n position: absolute;\n top: -1px;\n}\n.focused .submenu {\n display: block;\n}\n/* Stubs */\n" + (_conf['Fit Width Replies'] ? ".stub { display: block; text-align: right;}" : "") + "\n/* Emoji */\n" + (_conf["Emoji"] !== "disable" ? Emoji.css(_conf["Emoji Position"]) : "") + "\n/* Element Replacing */\n/* Checkboxes */\n.rice {\n cursor: pointer;\n width: 9px;\n height: 9px;\n margin: 2px 3px 3px;\n display: inline-block;\n vertical-align: bottom;\n " + (_conf["Rounded Edges"] ? "border-radius: 2px;" : "") + "\n " + (_conf["Circle Checkboxes"] ? "border-radius: 6px;" : "") + "\n}\ninput:checked + .rice {\n background-attachment: scroll;\n background-repeat: no-repeat;\n background-position: bottom right;\n}\n/* Selects */\n.selectrice {\n position: relative;\n cursor: default;\n overflow: hidden;\n text-align: left;\n}\n#settings .selectrice {\n display: inline-block;\n}\n.selectrice::after {\n content: \"\";\n border-right: .25em solid transparent;\n border-left: .25em solid transparent;\n position: absolute;\n right: .4em;\n top: .5em;\n}\n.selectrice::before {\n content: \"\";\n height: 1.6em;\n position: absolute;\n right: 1.3em;\n top: 0;\n}\n/* Select Dropdown */\n#selectrice {\n padding: 0;\n margin: 0;\n position: fixed;\n max-height: 120px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 32;\n}\n#selectrice:empty {\n display: none;\n}\n/* Post Form Shortcut */\n.qr-shortcut.on-page {\n font-size: 250%;\n}\n/* Post Form */\n#qr {\n z-index: 20;\n position: fixed;\n padding: 1px;\n border: 1px solid transparent;\n min-width: " + width + "px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n#qrtab {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n\n" + ({ + }[_conf["Backlinks Position"]] + "\n/* Code */\n.prettyprint {\n box-sizing: border-box;\n font-family: monospace;\n display: inline-block;\n margin-right: auto;\n white-space: pre-wrap;\n border-radius: 2px;\n overflow-x: auto;\n padding: 3px;\n max-width: 100%;\n}\n/* Menu */\n.entry {\n border-bottom: 1px solid rgba(0,0,0,.25);\n cursor: pointer;\n display: block;\n outline: none;\n padding: 3px 1em 3px 7px;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n}\n.entry:last-child {\n border-bottom: 0;\n}\n.has-submenu::after {\n content: \"\";\n border-left: .5em solid;\n border-top: .3em solid transparent;\n border-bottom: .3em solid transparent;\n display: inline-block;\n margin: .3em;\n position: absolute;\n right: 0;\n}\n.submenu {\n display: none;\n position: absolute;\n top: -1px;\n}\n.focused .submenu {\n display: block;\n}\n/* Stubs */\n" + (_conf['Fit Width Replies'] ? ".stub { display: block; text-align: right;}" : "") + "\n/* Emoji */\n" + (_conf["Emoji"] !== "disable" ? Emoji.css(_conf["Emoji Position"]) : "") + "\n/* Element Replacing */\n/* Checkboxes */\n.rice {\n cursor: pointer;\n width: 9px;\n height: 9px;\n margin: 2px 3px 3px;\n display: inline-block;\n vertical-align: bottom;\n " + (_conf["Rounded Edges"] ? "border-radius: 2px;" : "") + "\n " + (_conf["Circle Checkboxes"] ? "border-radius: 6px;" : "") + "\n}\ninput:checked + .rice {\n background-attachment: scroll;\n background-repeat: no-repeat;\n background-position: bottom right;\n}\n/* Selects */\n.selectrice {\n position: relative;\n cursor: default;\n overflow: hidden;\n text-align: left;\n}\n#settings .selectrice {\n display: inline-block;\n}\n.selectrice::after {\n content: \"\";\n border-right: .25em solid transparent;\n border-left: .25em solid transparent;\n position: absolute;\n right: .4em;\n top: .5em;\n}\n.selectrice::before {\n content: \"\";\n height: 1.6em;\n position: absolute;\n right: 1.3em;\n top: 0;\n}\n/* Select Dropdown */\n#selectrice {\n padding: 0;\n margin: 0;\n position: fixed;\n max-height: 120px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 32;\n}\n#selectrice:empty {\n display: none;\n}\n/* Post Form Shortcut */\n.qr-shortcut.on-page {\n font-size: 250%;\n}\n/* Post Form */\n#qr {\n z-index: 20;\n position: fixed;\n padding: 1px;\n border: 1px solid transparent;\n min-width: " + width + "px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n#qrtab {\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n}\n\n" + ({ "fixed": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important;}", - "slideout": "#qrtab input,#qrtab .rice { display: none;}#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; " + agent + "transform: translateX(" + xOffset + "93%);}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transform: translate(0);}", - "tabbed slideout": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; " + agent + "transform: translateX(" + xOffset + "100%);}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transform: translateX(0);}#qrtab { " + agent + "transform: rotate(" + (Style.sidebarLocation[0] === "left" ? "" : "-") + "90deg); " + agent + "transform-origin: bottom " + Style.sidebarLocation[0] + "; position: absolute; top: 0; " + Style.sidebarLocation[0] + ": 100%; width: 110px; text-align: center; border-width: 1px 1px 0 1px; cursor: default;}#qr:hover #qrtab,#qr.has-focus #qrtab,#qr.dump #qrtab { opacity: 0;}#qrtab input,#qrtab .close,#qrtab .rice,#qrtab .selectrice,#qrtab span { display: none;}", - "transparent fade": "#qr { overflow: visible; top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; opacity: 0.2; " + agent + "transition: opacity .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { opacity: 1; " + agent + "transition: opacity .3s linear;}" - }[_conf['Post Form Style']] || "") + "\n\n" + (_conf['Post Form Style'] !== 'tabbed slideout' ? (!(_conf['Post Form Style'] === 'float' || _conf['Show Post Form Header']) ? "#qrtab { display: none; }" : _conf['Post Form Style'] !== 'slideout' ? ".autohide:not(:hover):not(.has-focus) > form { display: none !important; }" : "") + "#qrtab { margin-bottom: 1px; }" : "") + "\n\n" + (_conf['Post Form Style'] !== 'float' && _conf["Post Form Slideout Transitions"] ? "#qr { " + agent + "transition: " + agent + "transform .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { " + agent + "transition: " + agent + "transform .3s linear;}#qrtab { " + agent + "transition: opacity .3s ease-in-out 1s;}#qr:hover #qrtab { " + agent + "transition: opacity .3s linear;}" : "") + "\n\n#qr .close {\n float: right;\n padding: 0 3px;\n}\n#qr .warning {\n min-height: 1.6em;\n vertical-align: middle;\n padding: 0 1px;\n border-width: 1px;\n border-style: solid;\n}\n.persona {\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n" + (_conf['Compact Post Form Inputs'] ? ".persona input.field { width: 33%;}.persona input.field:not(:first-child) { margin: 0 0 0 0.5%;}#qr textarea.field { height: 14.9em; min-height: 9em;}#qr.has-captcha textarea.field { height: 9em;}" : ".persona input.field { width: 100%;}#qr textarea.field { height: 11.6em; min-height: 6em;}#qr.has-captcha textarea.field { height: 6em;}") + "\n\n" + (_conf["Tripcode Hider"] ? ".tripped:not(:hover):not(:focus) { opacity: 0;}" : "") + "\n\n#qr textarea {\n resize: " + _conf['Textarea Resize'] + ";\n}\n.captcha-img {\n margin: 1px 0 0;\n text-align: center;\n line-height: 0;\n}\n.captcha-img img {\n width: 100%;\n height: 4em;\n width: 246px;\n}\n.captcha-input {\n width: 100%;\n margin: 1px 0 0;\n}\n.field,\n.selectrice,\nbutton,\ninput:not([type=radio]) {\n " + Style.sizing + ": border-box;\n font-size: " + (parseInt(_conf['Font Size'], 10)) + "px;\n height: 1.6em;\n margin: 1px 0 0;\n vertical-align: bottom;\n padding: 0 1px;\n}\n.selectrice {\n padding-right: 1.6em;\n}\n#qr textarea {\n min-width: 100%;\n}\n#qr [type='submit'] {\n width: 25%;\n}\n[type='file'] {\n position: absolute;\n opacity: 0;\n z-index: -1;\n}\n/* Fake File Input */\n#qr-filename,\n#qr-filerm,\n.has-file #qr-no-file {\n display: none;\n}\n#qr-no-file,\n.has-file #qr-filename {\n display: block;\n}\n.has-file #qr-filerm {\n display: inline-block;\n}\n#qr-extras-container {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n}\n#qr-extras-container > label,\n#qr-extras-container > a {\n cursor: pointer;\n margin-right: 3px;\n}\n#qr-filename-container {\n " + Style.sizing + ": border-box;\n display: inline-block;\n position: relative;\n width: 100px;\n min-width: 74.6%;\n max-width: 74.6%;\n margin-right: 0.4%;\n overflow: hidden;\n padding: 2px 1px 0;\n}\n/* Thread Select */\n#qr-thread-select,\n#qr-thread-select .selectrice div {\n display: inline;\n}\n#qr-thread-select .selectrice {\n cursor: pointer;\n display: inline-block;\n width: 120px;\n border: none;\n background: none transparent;\n padding: 0;\n margin: 0;\n height: auto;\n}\n#qr-thread-select .selectrice::before,\n#qr-thread-select .selectrice::after {\n display: none;\n}\n/* Dumping UI */\n.dump #dump-list-container {\n display: block;\n}\n#dump-list-container {\n display: none;\n position: relative;\n overflow-y: hidden;\n margin-top: 1px;\n}\n#dump-list {\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n#dump-list:hover {\n overflow-x: auto;\n}\n.qr-preview {\n " + Style.sizing + ": border-box;\n counter-increment: thumbnails;\n cursor: move;\n display: inline-block;\n height: 90px;\n width: 90px;\n padding: 2px;\n opacity: .5;\n overflow: hidden;\n position: relative;\n text-shadow: 0 1px 1px #000;\n " + agent + "transition: opacity .25s ease-in-out;\n vertical-align: top;\n}\n.qr-preview:hover,\n.qr-preview:focus {\n opacity: .9;\n}\n.qr-preview::before {\n content: counter(thumbnails);\n color: #fff;\n position: absolute;\n top: 3px;\n right: 3px;\n text-shadow: 0 0 3px #000, 0 0 8px #000;\n}\n.qr-preview#selected {\n opacity: 1;\n}\n.qr-preview.drag {\n box-shadow: 0 0 10px rgba(0,0,0,.5);\n}\n.qr-preview.over {\n border-color: #fff;\n}\n.qr-preview > span {\n color: #fff;\n}\n.remove {\n background: none;\n color: #e00;\n font-weight: 700;\n padding: 3px;\n}\na:only-of-type > .remove {\n display: none;\n}\n.remove:hover::after {\n content: \" Remove\";\n}\n.qr-preview > label {\n background: rgba(0,0,0,.5);\n color: #fff;\n right: 0; bottom: 0; left: 0;\n position: absolute;\n text-align: center;\n}\n.qr-preview > label > input {\n margin: 0;\n}\n#add-post {\n cursor: pointer;\n font-size: 2em;\n position: absolute;\n top: 50%;\n right: 10px;\n " + agent + "transform: translateY(-50%);\n}\n/* Ads */\n.topad img,\n.middlead img,\n.bottomad img {\n opacity: 0.3;\n " + agent + "transition: opacity .3s linear;\n}\n.topad img:hover,\n.middlead img:hover,\n.bottomad img:hover {\n opacity: 1;\n}\n" + (_conf["Block Ads"] ? "/* AdBlock Minus */.bottomad + hr,.topad,.middlead,.bottomad { display: none;}" : "") + "\n" + (_conf["Shrink Ads"] ? ".topad a img,.middlead a img,.bottomad a img { width: 500px; height: auto;}" : "") + "\n/* Options */\n#overlay {\n position: fixed;\n z-index: 30;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: rgba(0,0,0,.5);\n}\n#appchanx-settings {\n width: auto;\n left: 15%;\n right: 15%;\n top: 15%;\n bottom: 15%;\n position: fixed;\n z-index: 31;\n padding: .3em;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.description {\n display: none;\n}\n#appchanx-settings h3,\n.section-keybinds,\n.section-mascots,\n.section-script,\n.style {\n text-align: center;\n}\n.section-keybinds table,\n.section-script fieldset,\n.section-style fieldset {\n text-align: left;\n}\n.section-keybinds table {\n margin: auto;\n}\n#appchanx-settings fieldset {\n padding: 5px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n vertical-align: top;\n " + (_conf["Single Column Mode"] ? "margin: 0 auto 6px;" : "margin: 0 3px 6px;\n display: inline-block;") + "\n border: 0;\n}\n#appchanx-settings .section-advanced fieldset {\n display: block;\n margin: 0 auto 6px;\n}\n.section-advanced .archive-cell {\n min-width: 200px;\n}\n.section-advanced .selectrice {\n display: inline-block;\n clear: both;\n}\n.section-container {\n overflow: auto;\n position: absolute;\n top: 1.7em;\n right: 5px;\n bottom: 5px;\n left: 5px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.sections-list {\n padding: 0 3px;\n float: left;\n}\n.sections-list > a {\n cursor: pointer;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n position: relative;\n padding: 0 4px;\n z-index: 1;\n height: 1.4em;\n display: inline-block;\n border-width: 1px 1px 0 1px;\n border-color: transparent;\n border-style: solid;\n}\n.credits {\n float: right;\n}\n#appchanx-settings h3 {\n margin: 0;\n}\n.section-script fieldset > div,\n.section-style fieldset > div,\n.section-advanced fieldset > div {\n overflow: visible;\n padding: 0 5px 0 7px;\n}\n#appchanx-settings tr:nth-of-type(2n+1),\n.section-script fieldset > div:nth-of-type(2n+1),\n.section-advanced fieldset > div:nth-of-type(2n+1),\n.section-style fieldset > div:nth-of-type(2n+1),\n.section-keybinds tr:nth-of-type(2n+1),\n#selectrice li:nth-of-type(2n+1) {\n background-color: rgba(0, 0, 0, 0.05);\n}\narticle li {\n margin: 10px 0 10px 2em;\n}\n#appchanx-settings .option {\n width: 50%;\n display: inline-block;\n vertical-align: bottom;\n}\n.option input {\n width: 100%;\n}\n.optionlabel {\n padding-left: 18px;\n}\n.rice + .optionlabel {\n padding-left: 0;\n}\n.section-script fieldset,\n.styleoption {\n text-align: left;\n}\n.section-style fieldset {\n width: 370px;\n}\n.section-script fieldset {\n width: 200px;\n}\n#mascotcontent,\n#themecontent,\n.suboptions {\n overflow: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 1.7em;\n left: 0;\n}\n#themecontent {\n top: 1.8em;\n}\n.mAlign {\n height: 250px;\n vertical-align: bottom;\n display: table-cell;\n line-height: 0;\n}\n#save,\n.stylesettings {\n position: absolute;\n right: 10px;\n bottom: 0;\n}\n.section-style .suboptions {\n bottom: 0;\n}\n.section-container textarea {\n font-family: monospace;\n min-height: 150px;\n resize: vertical;\n width: 100%;\n}\n/* Hover Functionality */\n#mouseover {\n z-index: 33;\n position: fixed;\n max-width: 70%;\n}\n#mouseover:empty {\n display: none;\n}\n/* Mascot Tab */\n#mascot_hide {\n padding: 3px;\n position: absolute;\n top: 2px;\n right: 18px;\n}\n#mascot_hide .rice {\n float: left;\n}\n#mascot_hide > div {\n height: 0;\n text-align: right;\n overflow: hidden;\n}\n#mascot_hide:hover > div {\n height: auto;\n}\n#mascot_hide label {\n width: 100%;\n display: block;\n clear: both;\n text-decoration: none;\n}\n.mascots-container {\n padding: 0;\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.mascot,\n.mascotcontainer {\n overflow: hidden;\n}\n.mascot {\n position: relative;\n border: none;\n margin: 5px;\n padding: 0;\n width: 200px;\n display: inline-block;\n background-color: transparent;\n}\n.mascotcontainer {\n height: 250px;\n border: 0;\n margin: 0;\n max-height: 250px;\n cursor: pointer;\n bottom: 0;\n border-width: 0 1px 1px;\n border-style: solid;\n border-color: transparent;\n overflow: hidden;\n}\n.mascot img {\n max-width: 200px;\n}\n.export-button,\n.mascotname,\n#mascot-options {\n " + Style.sizing + ": border-box;\n padding: 0;\n width: 100%;\n}\n#mascot-options {\n opacity: 0;\n " + agent + "transition: opacity .3s linear;\n}\n.mascot:hover #mascot-options {\n opacity: 1;\n}\n#mascot-options {\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n}\n.export-button {\n position: absolute;\n bottom: 1.7em;\n right: 0;\n left: 0;\n text-align: center;\n}\n#mascot-options a {\n display: inline-block;\n width: 33%;\n}\n#upload {\n position: absolute;\n width: 100px;\n left: 50%;\n margin-left: -50px;\n text-align: center;\n bottom: 0;\n}\n#mascots_batch {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Themes Tab */\n#themes h1 {\n position: absolute;\n right: 300px;\n bottom: 10px;\n margin: 0;\n " + agent + "transition: all .2s ease-in-out;\n opacity: 0;\n}\n#themes .selectedtheme h1 {\n right: 11px;\n opacity: 1;\n}\n#addthemes {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n.theme {\n margin: 1em;\n}\n/* Theme Editor */\n#themeConf {\n position: fixed;\n " + Style.sidebarLocation[1] + ": 2px;\n " + Style.sidebarLocation[0] + ": auto;\n top: 0;\n bottom: 0;\n width: 296px;\n z-index: 10;\n}\n#themebar input {\n width: 30%;\n}\n.option .color {\n width: 10%;\n border-left: none !important;\n color: transparent !important;\n}\n.option .colorfield {\n width: 90%;\n}\n.themevar textarea {\n min-width: 100%;\n max-width: 100%;\n height: 20em;\n resize: vertical;\n}\n/* Mascot Editor */\n#mascotConf {\n position: fixed;\n height: 17em;\n bottom: 0;\n left: 50%;\n width: 500px;\n margin-left: -250px;\n overflow: auto;\n z-index: 10;\n}\n#mascotConf .option,\n#mascotConf .optionlabel {\n " + Style.sizing + ": border-box;\n width: 50%;\n display: inline-block;\n vertical-align: middle;\n}\n#mascotConf .option input {\n width: 100%;\n}\n#close {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Catalog */\n#content .navLinks,\n#info .navLinks,\n.btn-wrap {\n display: block;\n}\n.navLinks > .btn-wrap:not(:first-of-type)::before {\n content: ' - ';\n}\n.button {\n cursor: pointer;\n}\n#content .btn-wrap,\n#info .btn-wrap {\n display: inline-block;\n}\n#post-preview {\n position: absolute;\n z-index: 22;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#settings,\n#threads,\n#info .navLinks,\n#content .navLinks {\n text-align: center;\n}\n#threads .thread {\n vertical-align: top;\n display: inline-block;\n word-wrap: break-word;\n overflow: hidden;\n margin-top: 5px;\n padding: 5px 0 3px;\n text-align: center;\n}\n.extended-small .thread,\n.small .thread {\n width: 165px;\n max-height: 320px;\n}\n.small .teaser,\n.large .teaser {\n display: none;\n}\n.extended-large .thread,\n.large .thread {\n width: 270px;\n max-height: 410px;\n}\n.extended-small .thumb,\n.small .thumb {\n max-width: 150px;\n max-height: 150px;\n}\n.panel {\n position: fixed;\n top: 50% !important;\n left: 50%;\n " + agent + "transform: translate(-50%, -50%);\n}\n.icon::after {\n display: inline-block;\n float: right;\n width: 1em;\n cursor: pointer;\n}\n.helpIcon::after {\n content: '?';\n}\n.closeIcon::after {\n content: '×';\n}\n/* Front Page */\n#logo {\n text-align: center;\n}\n#doc {\n margin: 0 auto;\n width: 1000px;\n position: relative;\n}\n#boards .boxcontent {\n vertical-align: top;\n text-align: center;\n}\n#filter-container,\n#options-container {\n float: right;\n position: relative;\n}\n#optionssmenu {\n top: 100% !important;\n left: 0 !important;\n}\n#boards .column {\n " + Style.sizing + ": border-box;\n display: inline-block;\n width: 16em;\n text-align: left;\n vertical-align: top;\n}\n.bd ul,\n.boxcontent ul {\n vertical-align: top;\n padding: 0;\n}\n.right-box .boxcontent ul {\n padding: 0 10px;\n}\n.yuimenuitem,\n.boxcontent li {\n list-style-type: none;\n}\n.bd ul {\n margin: 0;\n}\n.yuimenuitem::before {\n content: \" [ ] \";\n font-family: monospace;\n}\n.yuimenuitem-checked::before {\n content: \" [x] \"\n}\n.yui-u {\n display: inline-block;\n vertical-align: top;\n width: 475px;\n margin: 10px;\n}\n#recent-images .boxcontent {\n text-align: center;\n}\n#ft {\n text-align: center;\n}\n#ft ul {\n padding: 0;\n}\n#ft li {\n list-style-type: none;\n display: inline-block;\n width: 100px;\n}\n#preview-tooltip-nws,\n#preview-tooltip-ws,\n#ft .fill,\n.clear-bug {\n display: none;\n}"; + "slideout": "#qrtab input,#qrtab .rice { display: none;}#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; -webkit-transform: translateX(" + xOffset + "93%);}#qr:hover,#qr.has-focus,#qr.dump { -webkit-transform: translate(0);}", + "tabbed slideout": "#qr { top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 0 !important; " + Style.sidebarLocation[1] + ": auto !important; -webkit-transform: translateX(" + xOffset + "100%);}#qr:hover,#qr.has-focus,#qr.dump { -webkit-transform: translateX(0);}#qrtab { -webkit-transform: rotate(" + (Style.sidebarLocation[0] === "left" ? "" : "-") + "90deg); -webkit-transform-origin: bottom " + Style.sidebarLocation[0] + "; position: absolute; top: 0; " + Style.sidebarLocation[0] + ": 100%; width: 110px; text-align: center; border-width: 1px 1px 0 1px; cursor: default;}#qr:hover #qrtab,#qr.has-focus #qrtab,#qr.dump #qrtab { opacity: 0;}#qrtab input,#qrtab .close,#qrtab .rice,#qrtab .selectrice,#qrtab span { display: none;}", + "transparent fade": "#qr { overflow: visible; top: auto !important; bottom: " + Style.pfOffset + "em !important; " + Style.sidebarLocation[0] + ": 2px !important; " + Style.sidebarLocation[1] + ": auto !important; opacity: 0.2; -webkit-transition: opacity .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { opacity: 1; -webkit-transition: opacity .3s linear;}" + }[_conf['Post Form Style']] || "") + "\n\n" + (_conf['Post Form Style'] !== 'tabbed slideout' ? (!(_conf['Post Form Style'] === 'float' || _conf['Show Post Form Header']) ? "#qrtab { display: none; }" : _conf['Post Form Style'] !== 'slideout' ? ".autohide:not(:hover):not(.has-focus) > form { display: none !important; }" : "") + "#qrtab { margin-bottom: 1px; }" : "") + "\n\n" + (_conf['Post Form Style'] !== 'float' && _conf["Post Form Slideout Transitions"] ? "#qr { -webkit-transition: -webkit-transform .3s ease-in-out 1s;}#qr:hover,#qr.has-focus,#qr.dump { -webkit-transition: -webkit-transform .3s linear;}#qrtab { -webkit-transition: opacity .3s ease-in-out 1s;}#qr:hover #qrtab { -webkit-transition: opacity .3s linear;}" : "") + "\n\n#qr .close {\n float: right;\n padding: 0 3px;\n}\n#qr .warning {\n min-height: 1.6em;\n vertical-align: middle;\n padding: 0 1px;\n border-width: 1px;\n border-style: solid;\n}\n.persona {\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n" + (_conf['Compact Post Form Inputs'] ? ".persona input.field { width: 33%;}.persona input.field:not(:first-child) { margin: 0 0 0 0.5%;}#qr textarea.field { height: 14.9em; min-height: 9em;}#qr.has-captcha textarea.field { height: 9em;}" : ".persona input.field { width: 100%;}#qr textarea.field { height: 11.6em; min-height: 6em;}#qr.has-captcha textarea.field { height: 6em;}") + "\n\n" + (_conf["Tripcode Hider"] ? ".tripped:not(:hover):not(:focus) { opacity: 0;}" : "") + "\n\n#qr textarea {\n resize: " + _conf['Textarea Resize'] + ";\n}\n.captcha-img {\n margin: 1px 0 0;\n text-align: center;\n line-height: 0;\n}\n.captcha-img img {\n width: 100%;\n height: 4em;\n width: 246px;\n}\n.captcha-input {\n width: 100%;\n margin: 1px 0 0;\n}\n.field,\n.selectrice,\nbutton,\ninput:not([type=radio]) {\n box-sizing: border-box;\n font-size: " + (parseInt(_conf['Font Size'], 10)) + "px;\n height: 1.6em;\n margin: 1px 0 0;\n vertical-align: bottom;\n padding: 0 1px;\n}\n.selectrice {\n padding-right: 1.6em;\n}\n#qr textarea {\n min-width: 100%;\n}\n#qr [type='submit'] {\n width: 25%;\n}\n[type='file'] {\n position: absolute;\n opacity: 0;\n z-index: -1;\n}\n/* Fake File Input */\n#qr-filename,\n#qr-filerm,\n.has-file #qr-no-file {\n display: none;\n}\n#qr-no-file,\n.has-file #qr-filename {\n display: block;\n}\n.has-file #qr-filerm {\n display: inline-block;\n}\n#qr-extras-container {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 2;\n}\n#qr-extras-container > label,\n#qr-extras-container > a {\n cursor: pointer;\n margin-right: 3px;\n}\n#qr-filename-container {\n box-sizing: border-box;\n display: inline-block;\n position: relative;\n width: 100px;\n min-width: 74.6%;\n max-width: 74.6%;\n margin-right: 0.4%;\n overflow: hidden;\n padding: 2px 1px 0;\n}\n/* Thread Select */\n#qr-thread-select,\n#qr-thread-select .selectrice div {\n display: inline;\n}\n#qr-thread-select .selectrice {\n cursor: pointer;\n display: inline-block;\n width: 120px;\n border: none;\n background: none transparent;\n padding: 0;\n margin: 0;\n height: auto;\n}\n#qr-thread-select .selectrice::before,\n#qr-thread-select .selectrice::after {\n display: none;\n}\n/* Dumping UI */\n.dump #dump-list-container {\n display: block;\n}\n#dump-list-container {\n display: none;\n position: relative;\n overflow-y: hidden;\n margin-top: 1px;\n}\n#dump-list {\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n width: 248px;\n max-width: 100%;\n min-width: 100%;\n}\n#dump-list:hover {\n overflow-x: auto;\n}\n.qr-preview {\n box-sizing: border-box;\n counter-increment: thumbnails;\n cursor: move;\n display: inline-block;\n height: 90px;\n width: 90px;\n padding: 2px;\n opacity: .5;\n overflow: hidden;\n position: relative;\n text-shadow: 0 1px 1px #000;\n -webkit-transition: opacity .25s ease-in-out;\n vertical-align: top;\n}\n.qr-preview:hover,\n.qr-preview:focus {\n opacity: .9;\n}\n.qr-preview::before {\n content: counter(thumbnails);\n color: #fff;\n position: absolute;\n top: 3px;\n right: 3px;\n text-shadow: 0 0 3px #000, 0 0 8px #000;\n}\n.qr-preview#selected {\n opacity: 1;\n}\n.qr-preview.drag {\n box-shadow: 0 0 10px rgba(0,0,0,.5);\n}\n.qr-preview.over {\n border-color: #fff;\n}\n.qr-preview > span {\n color: #fff;\n}\n.remove {\n background: none;\n color: #e00;\n font-weight: 700;\n padding: 3px;\n}\na:only-of-type > .remove {\n display: none;\n}\n.remove:hover::after {\n content: \" Remove\";\n}\n.qr-preview > label {\n background: rgba(0,0,0,.5);\n color: #fff;\n right: 0; bottom: 0; left: 0;\n position: absolute;\n text-align: center;\n}\n.qr-preview > label > input {\n margin: 0;\n}\n#add-post {\n cursor: pointer;\n font-size: 2em;\n position: absolute;\n top: 50%;\n right: 10px;\n -webkit-transform: translateY(-50%);\n}\n/* Ads */\n.topad img,\n.middlead img,\n.bottomad img {\n opacity: 0.3;\n -webkit-transition: opacity .3s linear;\n}\n.topad img:hover,\n.middlead img:hover,\n.bottomad img:hover {\n opacity: 1;\n}\n" + (_conf["Block Ads"] ? "/* AdBlock Minus */.bottomad + hr,.topad,.middlead,.bottomad { display: none;}" : "") + "\n" + (_conf["Shrink Ads"] ? ".topad a img,.middlead a img,.bottomad a img { width: 500px; height: auto;}" : "") + "\n/* Options */\n#overlay {\n position: fixed;\n z-index: 30;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: rgba(0,0,0,.5);\n}\n#appchanx-settings {\n width: auto;\n left: 15%;\n right: 15%;\n top: 15%;\n bottom: 15%;\n position: fixed;\n z-index: 31;\n padding: .3em;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.description {\n display: none;\n}\n#appchanx-settings h3,\n.section-keybinds,\n.section-mascots,\n.section-script,\n.style {\n text-align: center;\n}\n.section-keybinds table,\n.section-script fieldset,\n.section-style fieldset {\n text-align: left;\n}\n.section-keybinds table {\n margin: auto;\n}\n#appchanx-settings fieldset {\n padding: 5px 0;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n vertical-align: top;\n " + (_conf["Single Column Mode"] ? "margin: 0 auto 6px;" : "margin: 0 3px 6px;\n display: inline-block;") + "\n border: 0;\n}\n#appchanx-settings .section-advanced fieldset {\n display: block;\n margin: 0 auto 6px;\n}\n.section-advanced .archive-cell {\n min-width: 200px;\n}\n.section-advanced .selectrice {\n display: inline-block;\n clear: both;\n}\n.section-container {\n overflow: auto;\n position: absolute;\n top: 1.7em;\n right: 5px;\n bottom: 5px;\n left: 5px;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.sections-list {\n padding: 0 3px;\n float: left;\n}\n.sections-list > a {\n cursor: pointer;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px 3px 0 0;" : "") + "\n position: relative;\n padding: 0 4px;\n z-index: 1;\n height: 1.4em;\n display: inline-block;\n border-width: 1px 1px 0 1px;\n border-color: transparent;\n border-style: solid;\n}\n.credits {\n float: right;\n}\n#appchanx-settings h3 {\n margin: 0;\n}\n.section-script fieldset > div,\n.section-style fieldset > div,\n.section-advanced fieldset > div {\n overflow: visible;\n padding: 0 5px 0 7px;\n}\n#appchanx-settings tr:nth-of-type(2n+1),\n.section-script fieldset > div:nth-of-type(2n+1),\n.section-advanced fieldset > div:nth-of-type(2n+1),\n.section-style fieldset > div:nth-of-type(2n+1),\n.section-keybinds tr:nth-of-type(2n+1),\n#selectrice li:nth-of-type(2n+1) {\n background-color: rgba(0, 0, 0, 0.05);\n}\narticle li {\n margin: 10px 0 10px 2em;\n}\n#appchanx-settings .option {\n width: 50%;\n display: inline-block;\n vertical-align: bottom;\n}\n.option input {\n width: 100%;\n}\n.optionlabel {\n padding-left: 18px;\n}\n.rice + .optionlabel {\n padding-left: 0;\n}\n.section-script fieldset,\n.styleoption {\n text-align: left;\n}\n.section-style fieldset {\n width: 370px;\n}\n.section-script fieldset {\n width: 200px;\n}\n#mascotcontent,\n#themecontent,\n.suboptions {\n overflow: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 1.7em;\n left: 0;\n}\n#themecontent {\n top: 1.8em;\n}\n.mAlign {\n height: 250px;\n vertical-align: bottom;\n display: table-cell;\n line-height: 0;\n}\n#save,\n.stylesettings {\n position: absolute;\n right: 10px;\n bottom: 0;\n}\n.section-style .suboptions {\n bottom: 0;\n}\n.section-container textarea {\n font-family: monospace;\n min-height: 150px;\n resize: vertical;\n width: 100%;\n}\n/* Hover Functionality */\n#mouseover {\n z-index: 33;\n position: fixed;\n max-width: 70%;\n}\n#mouseover:empty {\n display: none;\n}\n/* Mascot Tab */\n#mascot_hide {\n padding: 3px;\n position: absolute;\n top: 2px;\n right: 18px;\n}\n#mascot_hide .rice {\n float: left;\n}\n#mascot_hide > div {\n height: 0;\n text-align: right;\n overflow: hidden;\n}\n#mascot_hide:hover > div {\n height: auto;\n}\n#mascot_hide label {\n width: 100%;\n display: block;\n clear: both;\n text-decoration: none;\n}\n.mascots-container {\n padding: 0;\n text-align: center;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n.mascot,\n.mascotcontainer {\n overflow: hidden;\n}\n.mascot {\n position: relative;\n border: none;\n margin: 5px;\n padding: 0;\n width: 200px;\n display: inline-block;\n background-color: transparent;\n}\n.mascotcontainer {\n height: 250px;\n border: 0;\n margin: 0;\n max-height: 250px;\n cursor: pointer;\n bottom: 0;\n border-width: 0 1px 1px;\n border-style: solid;\n border-color: transparent;\n overflow: hidden;\n}\n.mascot img {\n max-width: 200px;\n}\n.export-button,\n.mascotname,\n#mascot-options {\n box-sizing: border-box;\n padding: 0;\n width: 100%;\n}\n#mascot-options {\n opacity: 0;\n -webkit-transition: opacity .3s linear;\n}\n.mascot:hover #mascot-options {\n opacity: 1;\n}\n#mascot-options {\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n}\n.export-button {\n position: absolute;\n bottom: 1.7em;\n right: 0;\n left: 0;\n text-align: center;\n}\n#mascot-options a {\n display: inline-block;\n width: 33%;\n}\n#upload {\n position: absolute;\n width: 100px;\n left: 50%;\n margin-left: -50px;\n text-align: center;\n bottom: 0;\n}\n#mascots_batch {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Themes Tab */\n#themes h1 {\n position: absolute;\n right: 300px;\n bottom: 10px;\n margin: 0;\n -webkit-transition: all .2s ease-in-out;\n opacity: 0;\n}\n#themes .selectedtheme h1 {\n right: 11px;\n opacity: 1;\n}\n#addthemes {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n.theme {\n margin: 1em;\n}\n/* Theme Editor */\n#themeConf {\n position: fixed;\n " + Style.sidebarLocation[1] + ": 2px;\n " + Style.sidebarLocation[0] + ": auto;\n top: 0;\n bottom: 0;\n width: 296px;\n z-index: 10;\n}\n#themebar input {\n width: 30%;\n}\n.option .color {\n width: 10%;\n border-left: none !important;\n color: transparent !important;\n}\n.option .colorfield {\n width: 90%;\n}\n.themevar textarea {\n min-width: 100%;\n max-width: 100%;\n height: 20em;\n resize: vertical;\n}\n/* Mascot Editor */\n#mascotConf {\n position: fixed;\n height: 17em;\n bottom: 0;\n left: 50%;\n width: 500px;\n margin-left: -250px;\n overflow: auto;\n z-index: 10;\n}\n#mascotConf .option,\n#mascotConf .optionlabel {\n box-sizing: border-box;\n width: 50%;\n display: inline-block;\n vertical-align: middle;\n}\n#mascotConf .option input {\n width: 100%;\n}\n#close {\n position: absolute;\n left: 10px;\n bottom: 0;\n}\n/* Catalog */\n#content .navLinks,\n#info .navLinks,\n.btn-wrap {\n display: block;\n}\n.navLinks > .btn-wrap:not(:first-of-type)::before {\n content: ' - ';\n}\n.button {\n cursor: pointer;\n}\n#content .btn-wrap,\n#info .btn-wrap {\n display: inline-block;\n}\n#post-preview {\n position: absolute;\n z-index: 22;\n " + (_conf["Rounded Edges"] ? "border-radius: 3px;" : "") + "\n}\n#settings,\n#threads,\n#info .navLinks,\n#content .navLinks {\n text-align: center;\n}\n#threads .thread {\n vertical-align: top;\n display: inline-block;\n word-wrap: break-word;\n overflow: hidden;\n margin-top: 5px;\n padding: 5px 0 3px;\n text-align: center;\n}\n.extended-small .thread,\n.small .thread {\n width: 165px;\n max-height: 320px;\n}\n.small .teaser,\n.large .teaser {\n display: none;\n}\n.extended-large .thread,\n.large .thread {\n width: 270px;\n max-height: 410px;\n}\n.extended-small .thumb,\n.small .thumb {\n max-width: 150px;\n max-height: 150px;\n}\n.panel {\n position: fixed;\n top: 50% !important;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n}\n.icon::after {\n display: inline-block;\n float: right;\n width: 1em;\n cursor: pointer;\n}\n.helpIcon::after {\n content: '?';\n}\n.closeIcon::after {\n content: '×';\n}\n/* Front Page */\n#logo {\n text-align: center;\n}\n#doc {\n margin: 0 auto;\n width: 1000px;\n position: relative;\n}\n#boards .boxcontent {\n vertical-align: top;\n text-align: center;\n}\n#filter-container,\n#options-container {\n float: right;\n position: relative;\n}\n#optionssmenu {\n top: 100% !important;\n left: 0 !important;\n}\n#boards .column {\n box-sizing: border-box;\n display: inline-block;\n width: 16em;\n text-align: left;\n vertical-align: top;\n}\n.bd ul,\n.boxcontent ul {\n vertical-align: top;\n padding: 0;\n}\n.right-box .boxcontent ul {\n padding: 0 10px;\n}\n.yuimenuitem,\n.boxcontent li {\n list-style-type: none;\n}\n.bd ul {\n margin: 0;\n}\n.yuimenuitem::before {\n content: \" [ ] \";\n font-family: monospace;\n}\n.yuimenuitem-checked::before {\n content: \" [x] \"\n}\n.yui-u {\n display: inline-block;\n vertical-align: top;\n width: 475px;\n margin: 10px;\n}\n#recent-images .boxcontent {\n text-align: center;\n}\n#ft {\n text-align: center;\n}\n#ft ul {\n padding: 0;\n}\n#ft li {\n list-style-type: none;\n display: inline-block;\n width: 100px;\n}\n#preview-tooltip-nws,\n#preview-tooltip-ws,\n#ft .fill,\n.clear-bug {\n display: none;\n}"; }, - theme: function(theme) { - var agent, background, backgroundC, bgColor, css, fileHeading, icons, replyHeading, _conf; + dynamic: function() { + var css, editSpace, width, xOffset, _conf; + + _conf = Conf; + xOffset = _conf["Sidebar Location"] === "left" ? '-' : ''; + Style.pfOffset = _conf['4chan SS Navigation'] && ((_conf['Bottom Header'] && _conf['Fixed Header']) || (g.VIEW === 'index' && _conf['Pagination'] === 'sticky bottom')) ? 1.5 : 0; + Style.sidebar = { + minimal: 20, + hide: 2, + normal: 252, + large: 303 + }[_conf['Sidebar']]; + Style.logoOffset = _conf["4chan Banner"] === "at sidebar top" ? _conf["Sidebar"] === "large" ? 100 : 83 : 0; + width = _conf["Sidebar"] === "large" ? 299 : 248; + Style.sidebarLocation = _conf["Sidebar Location"] === "left" ? ["left", "right"] : ["right", "left"]; + if (_conf['editMode'] === "theme") { + editSpace = {}; + editSpace[Style.sidebarLocation[1]] = 300; + editSpace[Style.sidebarLocation[0]] = 0; + } else { + editSpace = { + left: 0, + right: 0 + }; + } + Style.replyMargin = _conf["Post Spacing"]; + return css = "body {\nfont-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\nfont-family: " + _conf["Font"] + ";\npadding: 0 " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px 0 " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"]) + "px;\n}\nbutton,\ninput,\ntextarea {\nfont-size: " + (parseInt(_conf["Font Size"], 10)) + "px;\nfont-family: " + _conf["Font"] + ";\n}\n.sidebar-location-left.sidebar-large #header-bar {\nleft: " + (303 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-normal #header-bar {\nleft: " + (248 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-minimal #header-bar {\nleft: " + (20 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-left.sidebar-hide #header-bar {\nleft: " + (2 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]) + "px;\nright: " + (parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-large #header-bar {\nright: " + (303 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-normal #header-bar {\nright: " + (248 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-minimal #header-bar {\nright: " + (20 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}\n.sidebar-location-right.sidebar-hide #header-bar {\nright: " + (2 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]) + "px;\nleft: " + (parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2) + "px;\"\n}"; + }, + theme: function(theme) { + var background, backgroundC, bgColor, css, fileHeading, icons, replyHeading, _conf; _conf = Conf; - agent = Style.agent; bgColor = new Style.color(Style.colorToHex(backgroundC = theme["Background Color"]) || 'aaaaaa'); Style.lightTheme = bgColor.isLight(); icons = "data:image/png;base64," + Icons[_conf["Icons"]]; - css = ".hide_thread_button span > span,\n.hide_reply_button span > span {\n background-color: " + theme["Links"] + ";\n}\n#mascot_hide label {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\n#content .thumb {\n box-shadow: 0 0 5px " + theme["Reply Border"] + ";\n}\n.export-button,\n.mascotname,\n#mascot-options {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.highlight-you .opContainer.quotesYou,\n.highlight-own .opContainer.yourPost,\n.opContainer.filter-highlight {\n box-shadow: inset 5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\n.highlight-you .quotesYou > .reply,\n.highlight-own .yourPost > .reply,\n.filter-highlight > .reply {\n box-shadow: -5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\nhr {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\nhr#unread-line {\n border-bottom: 1px solid " + theme["Reply Background"] + ";\n visibility: visible;\n}\n.threadContainer {\n border-color: " + theme["Reply Border"] + " !important;\n}\nhtml {\n background: " + (backgroundC || '') + ";\n background-image: " + (theme["Background Image"] || '') + ";\n background-repeat: " + (theme["Background Repeat"] || '') + ";\n background-attachment: " + (theme["Background Attachment"] || '') + ";\n background-position: " + (theme["Background Position"] || '') + ";\n}\n.panel,\n.section-container,\n#exlinks-options-content,\n#mascotcontent,\n#themecontent {\n background: " + backgroundC + ";\n border: 1px solid " + theme["Reply Border"] + ";\n padding: 5px;\n}\n.sections-list > a.tab-selected {\n background: " + backgroundC + ";\n border-color: " + theme["Reply Border"] + ";\n border-style: solid;\n}\n.captcha-img img {\n " + (Style.filter(theme["Text"], theme["Input Background"])) + "\n}\n#boardTitle,\n" + (!_conf["Post Form Decorations"] ? '#spoilerLabel' : '') + " {\n text-shadow:\n 1px 1px " + backgroundC + ",\n -1px -1px " + backgroundC + ",\n 1px -1px " + backgroundC + ",\n -1px 1px " + backgroundC + "\n " + (_conf["Sidebar Glow"] ? ", 0 2px 4px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.6);" : ";") + "\n}\n/* Fixes text spoilers */\n" + (_conf['Remove Spoilers'] && _conf['Indicate Spoilers'] ? ".spoiler::before,s::before { content: '[spoiler]';}.spoiler::after,s::after { content: '[/spoiler]';}" : !_conf['Remove Spoilers'] ? ".spoiler:not(:hover) *,s:not(:hover) * { color: rgb(0,0,0) !important; text-shadow: none !important;}.spoiler:not(:hover),s:not(:hover) { background-color: rgb(0,0,0); color: rgb(0,0,0) !important; text-shadow: none !important;}" : "") + "\n#exlinks-options,\n#appchanx-settings,\n#qrtab,\n" + (_conf["Post Form Decorations"] ? "#qr," : "") + "\ninput[type=\"submit\"],\ninput[value=\"Report\"],\nspan[style=\"left: 5px; position: absolute;\"] a {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.enabled .mascotcontainer {\n background: " + theme["Buttons Background"] + ";\n border-color: " + theme["Buttons Border"] + ";\n}\n#dump,\n#qr-filename-container,\n#appchanx-settings input,\n.captcha-img,\n.dump #dump,\n.qr-preview,\n.selectrice,\nbutton,\ninput,\ntextarea {\n background: " + theme["Input Background"] + ";\n border: 1px solid " + theme["Input Border"] + ";\n}\n.has-file #qr-extras-container {\n background: " + theme["Input Background"] + ";\n}\n#dump:hover,\n#qr-filename-container:hover,\n.selectrice:hover,\n#selectrice li:hover,\n#selectrice li:nth-of-type(2n+1):hover,\ninput:hover,\ntextarea:hover {\n background: " + theme["Hovered Input Background"] + ";\n border-color: " + theme["Hovered Input Border"] + ";\n}\n.has-file #qr-filename-container:hover #qr-extras-container {\n background: " + theme["Hovered Input Background"] + ";\n}\n#dump:active,\n#dump:focus,\n#selectrice li:focus,\n.selectrice:focus,\n#qr-filename-container:active,\n#qr-filename-container:focus,\ninput:focus,\ntextarea:focus,\ntextarea.field:focus {\n background: " + theme["Focused Input Background"] + ";\n border-color: " + theme["Focused Input Border"] + ";\n color: " + theme["Inputs"] + ";\n outline: none;\n}\n.has-file #qr-filename-container:active #qr-extras-container,\n.has-file #qr-filename-container:focus #qr-extras-container {\n background: " + theme["Focused Input Background"] + ";\n}\n#mouseover,\n#post-preview,\n#qp .post,\n#xupdater,\n.reply.post {\n border-width: 1px;\n border-style: solid;\n border-color: " + theme["Reply Border"] + ";\n background: " + theme["Reply Background"] + ";\n}\n.thread > .replyContainer > .reply.post {\n border-width: " + (_conf['Post Spacing'] === "0" ? "1px 1px 0 1px" : '1px') + ";\n}\n.exblock.reply,\n.reply.post.highlight,\n.reply.post:target {\n background: " + theme["Highlighted Reply Background"] + ";\n border: 1px solid " + theme["Highlighted Reply Border"] + ";\n}\n#header-bar,\n.pagelist {\n background: " + theme["Navigation Background"] + ";\n border-style: solid;\n border-color: " + theme["Navigation Border"] + ";\n}\n.thread {\n background: " + theme["Thread Wrapper Background"] + ";\n border: 1px solid " + theme["Thread Wrapper Border"] + ";\n}\n#boardNavDesktopFoot,\n#mascotConf,\n#mascot_hide,\n#menu,\n#selectrice,\n#themeConf,\n#watcher,\n#watcher:hover,\n.dialog,\n.submenu,\na[style=\"cursor: pointer; float: right;\"] ~ div[style^=\"width: 100%;\"] > table {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Dialog Border"] + ";\n}\n.watch-thread-link {\n background-image: url(\"data:image/svg+xml,\");\n} \n.deleteform::before,\n.deleteform,\n#qr .warning {\n background: " + theme["Input Background"] + ";\n border-color: " + theme["Input Border"] + ";\n}\n.disabledwarning,\n.warning {\n color: " + theme["Warnings"] + ";\n}\n#navlinks a:first-of-type {\n border-bottom: 11px solid rgb(130,130,130);\n}\n#navlinks a:last-of-type {\n border-top: 11px solid rgb(130,130,130);\n}\n#charCount {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.7)" : "rgba(255,255,255,0.7)") + ";\n}\n.postNum a {\n color: " + theme["Post Numbers"] + ";\n}\n.subject {\n color: " + theme["Subjects"] + " !important;\n}\n.dateTime,\n.post-ago {\n color: " + theme["Timestamps"] + " !important;\n}\n#fs_status a,\n#updater #update-status:not(.new)::after,\n#showQR,\n.abbr,\n.boxbar,\n.boxcontent,\n.deleteform::before,\n.pages strong,\n.pln,\n.reply,\n.reply.highlight,\n.summary,\nbody,\nbutton,\nspan[style=\"left: 5px; position: absolute;\"] a,\ninput,\ntextarea {\n color: " + theme["Text"] + ";\n}\n#exlinks-options-content > table,\n#appchanx-settings fieldset,\n#selectrice {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n box-shadow: inset " + theme["Shadow Color"] + " 0 0 5px;\n}\n.quote + .spoiler:hover,\n.quote {\n color: " + theme["Greentext"] + ";\n}\n.forwardlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n border-bottom: 1px dashed " + theme["Backlinks"] + ";\n}\n.container::before {\n color: " + theme["Timestamps"] + ";\n}\n#menu,\n#post-preview,\n#qp .opContainer,\n#qp .replyContainer,\n.submenu {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.rice {\n background: " + theme["Checkbox Background"] + ";\n border: 1px solid " + theme["Checkbox Border"] + ";\n}\n.selectrice::before {\n border-left: 1px solid " + theme["Input Border"] + ";\n}\n.selectrice::after {\n border-top: .45em solid " + theme["Inputs"] + ";\n}\n.bd {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.pages a,\n#header-bar a {\n color: " + theme["Navigation Links"] + ";\n}\ninput[type=checkbox]:checked + .rice {\n position: relative;\n}\ninput[type=checkbox]:checked + .rice::after {\n content: \"\";\n display: block;\n width: 4px;\n height: 10px;\n border: solid " + theme["Inputs"] + ";\n border-width: 0 3px 3px 0;\n " + agent + "transform: rotate(45deg);\n position: absolute;\n left: 2px;\n bottom: -1px;\n}\n#addReply,\n#dump,\n.button,\n.entry,\n.replylink,\na {\n color: " + theme["Links"] + ";\n}\n.backlink {\n color: " + theme["Backlinks"] + ";\n}\n.qiQuote,\n.quotelink {\n color: " + theme["Quotelinks"] + ";\n}\n#addReply:hover,\n#dump:hover,\n.entry:hover,\n.replylink:hover,\n.qiQuote:hover,\n.quotelink:hover,\na .name:hover,\na .postertrip:hover,\na:hover {\n color: " + theme["Hovered Links"] + ";\n}\n#header-bar a:hover,\n#boardTitle a:hover {\n color: " + theme["Hovered Navigation Links"] + ";\n}\n#boardTitle {\n color: " + theme["Board Title"] + ";\n}\n.name,\n.post-author {\n color: " + theme["Names"] + " !important;\n}\n.post-tripcode,\n.postertrip,\n.trip {\n color: " + theme["Tripcodes"] + " !important;\n}\na .postertrip,\na .name {\n color: " + theme["Emails"] + ";\n}\n.post.reply.qphl,\n.post.op.qphl {\n border-color: " + theme["Backlinked Reply Outline"] + ";\n background: " + theme["Highlighted Reply Background"] + ";\n}\n.inline .post {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.placeholder,\n#qr input::" + agent + "placeholder,\n#qr textarea::" + agent + "placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#qr input:" + agent + "placeholder,\n#qr textarea:" + agent + "placeholder,\n.placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#appchanx-settings fieldset,\n.boxcontent dd,\n.selectrice ul {\n border-color: " + (Style.lightTheme ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)") + ";\n}\n#appchanx-settings li,\n#selectrice li:not(:first-of-type) {\n border-top: 1px solid " + (Style.lightTheme ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.025)") + ";\n}\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n.navLinks > a:first-of-type::after,\n#watcher::after,\n#globalMessage::after,\n#boardNavDesktopFoot::after,\na[style=\"cursor: pointer; float: right;\"]::after,\n#img-controls,\n#catalog::after,\n#fappeTyme {\n background-image: url('" + icons + "');\n" + (!Style.lightTheme ? "filter: url(\"data:image/svg+xml,#filters\");" : "") + "\n}\n" + theme["Custom CSS"]; + css = ".hide_thread_button span > span,\n.hide_reply_button span > span {\n background-color: " + theme["Links"] + ";\n}\n#mascot_hide label {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\n#content .thumb {\n box-shadow: 0 0 5px " + theme["Reply Border"] + ";\n}\n.export-button,\n.mascotname,\n#mascot-options {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.highlight-you .opContainer.quotesYou,\n.highlight-own .opContainer.yourPost,\n.opContainer.filter-highlight {\n box-shadow: inset 5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\n.highlight-you .quotesYou > .reply,\n.highlight-own .yourPost > .reply,\n.filter-highlight > .reply {\n box-shadow: -5px 0 " + theme["Backlinked Reply Outline"] + ";\n}\nhr {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n}\nhr#unread-line {\n border-bottom: 1px solid " + theme["Reply Background"] + ";\n visibility: visible;\n}\n.threadContainer {\n border-color: " + theme["Reply Border"] + " !important;\n}\nhtml {\n background: " + (backgroundC || '') + ";\n background-image: " + (theme["Background Image"] || '') + ";\n background-repeat: " + (theme["Background Repeat"] || '') + ";\n background-attachment: " + (theme["Background Attachment"] || '') + ";\n background-position: " + (theme["Background Position"] || '') + ";\n}\n.panel,\n.section-container,\n#exlinks-options-content,\n#mascotcontent,\n#themecontent {\n background: " + backgroundC + ";\n border: 1px solid " + theme["Reply Border"] + ";\n padding: 5px;\n}\n.sections-list > a.tab-selected {\n background: " + backgroundC + ";\n border-color: " + theme["Reply Border"] + ";\n border-style: solid;\n}\n.captcha-img img {\n " + (Style.filter(theme["Text"], theme["Input Background"])) + "\n}\n#boardTitle,\n" + (!_conf["Post Form Decorations"] ? '#spoilerLabel' : '') + " {\n text-shadow:\n 1px 1px " + backgroundC + ",\n -1px -1px " + backgroundC + ",\n 1px -1px " + backgroundC + ",\n -1px 1px " + backgroundC + "\n " + (_conf["Sidebar Glow"] ? ", 0 2px 4px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.6);" : ";") + "\n}\n/* Fixes text spoilers */\n" + (_conf['Remove Spoilers'] && _conf['Indicate Spoilers'] ? ".spoiler::before,s::before { content: '[spoiler]';}.spoiler::after,s::after { content: '[/spoiler]';}" : !_conf['Remove Spoilers'] ? ".spoiler:not(:hover) *,s:not(:hover) * { color: rgb(0,0,0) !important; text-shadow: none !important;}.spoiler:not(:hover),s:not(:hover) { background-color: rgb(0,0,0); color: rgb(0,0,0) !important; text-shadow: none !important;}" : "") + "\n#exlinks-options,\n#appchanx-settings,\n#qrtab,\n" + (_conf["Post Form Decorations"] ? "#qr," : "") + "\ninput[type=\"submit\"],\ninput[value=\"Report\"],\nspan[style=\"left: 5px; position: absolute;\"] a {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.enabled .mascotcontainer {\n background: " + theme["Buttons Background"] + ";\n border-color: " + theme["Buttons Border"] + ";\n}\n#dump,\n#qr-filename-container,\n#appchanx-settings input,\n.captcha-img,\n.dump #dump,\n.qr-preview,\n.selectrice,\nbutton,\ninput,\ntextarea {\n background: " + theme["Input Background"] + ";\n border: 1px solid " + theme["Input Border"] + ";\n}\n.has-file #qr-extras-container {\n background: " + theme["Input Background"] + ";\n}\n#dump:hover,\n#qr-filename-container:hover,\n.selectrice:hover,\n#selectrice li:hover,\n#selectrice li:nth-of-type(2n+1):hover,\ninput:hover,\ntextarea:hover {\n background: " + theme["Hovered Input Background"] + ";\n border-color: " + theme["Hovered Input Border"] + ";\n}\n.has-file #qr-filename-container:hover #qr-extras-container {\n background: " + theme["Hovered Input Background"] + ";\n}\n#dump:active,\n#dump:focus,\n#selectrice li:focus,\n.selectrice:focus,\n#qr-filename-container:active,\n#qr-filename-container:focus,\ninput:focus,\ntextarea:focus,\ntextarea.field:focus {\n background: " + theme["Focused Input Background"] + ";\n border-color: " + theme["Focused Input Border"] + ";\n color: " + theme["Inputs"] + ";\n outline: none;\n}\n.has-file #qr-filename-container:active #qr-extras-container,\n.has-file #qr-filename-container:focus #qr-extras-container {\n background: " + theme["Focused Input Background"] + ";\n}\n#mouseover,\n#post-preview,\n#qp .post,\n#xupdater,\n.reply.post {\n border-width: 1px;\n border-style: solid;\n border-color: " + theme["Reply Border"] + ";\n background: " + theme["Reply Background"] + ";\n}\n.thread > .replyContainer > .reply.post {\n border-width: " + (_conf['Post Spacing'] === "0" ? "1px 1px 0 1px" : '1px') + ";\n}\n.exblock.reply,\n.reply.post.highlight,\n.reply.post:target {\n background: " + theme["Highlighted Reply Background"] + ";\n border: 1px solid " + theme["Highlighted Reply Border"] + ";\n}\n#header-bar,\n.pagelist {\n background: " + theme["Navigation Background"] + ";\n border-style: solid;\n border-color: " + theme["Navigation Border"] + ";\n}\n.thread {\n background: " + theme["Thread Wrapper Background"] + ";\n border: 1px solid " + theme["Thread Wrapper Border"] + ";\n}\n#boardNavDesktopFoot,\n#mascotConf,\n#mascot_hide,\n#menu,\n#selectrice,\n#themeConf,\n#watcher,\n#watcher:hover,\n.dialog,\n.submenu,\na[style=\"cursor: pointer; float: right;\"] ~ div[style^=\"width: 100%;\"] > table {\n background: " + theme["Dialog Background"] + ";\n border: 1px solid " + theme["Dialog Border"] + ";\n}\n.watch-thread-link {\n background-image: url(\"data:image/svg+xml,\");\n} \n.deleteform::before,\n.deleteform,\n#qr .warning {\n background: " + theme["Input Background"] + ";\n border-color: " + theme["Input Border"] + ";\n}\n.disabledwarning,\n.warning {\n color: " + theme["Warnings"] + ";\n}\n#navlinks a:first-of-type {\n border-bottom: 11px solid rgb(130,130,130);\n}\n#navlinks a:last-of-type {\n border-top: 11px solid rgb(130,130,130);\n}\n#charCount {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.7)" : "rgba(255,255,255,0.7)") + ";\n}\n.postNum a {\n color: " + theme["Post Numbers"] + ";\n}\n.subject {\n color: " + theme["Subjects"] + " !important;\n}\n.dateTime,\n.post-ago {\n color: " + theme["Timestamps"] + " !important;\n}\n#fs_status a,\n#updater #update-status:not(.new)::after,\n#showQR,\n.abbr,\n.boxbar,\n.boxcontent,\n.deleteform::before,\n.pages strong,\n.pln,\n.reply,\n.reply.highlight,\n.summary,\nbody,\nbutton,\nspan[style=\"left: 5px; position: absolute;\"] a,\ninput,\ntextarea {\n color: " + theme["Text"] + ";\n}\n#exlinks-options-content > table,\n#appchanx-settings fieldset,\n#selectrice {\n border-bottom: 1px solid " + theme["Reply Border"] + ";\n box-shadow: inset " + theme["Shadow Color"] + " 0 0 5px;\n}\n.quote + .spoiler:hover,\n.quote {\n color: " + theme["Greentext"] + ";\n}\n.forwardlink {\n text-decoration: " + (_conf["Underline Links"] ? "underline" : "none") + ";\n border-bottom: 1px dashed " + theme["Backlinks"] + ";\n}\n.container::before {\n color: " + theme["Timestamps"] + ";\n}\n#menu,\n#post-preview,\n#qp .opContainer,\n#qp .replyContainer,\n.submenu {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.rice {\n background: " + theme["Checkbox Background"] + ";\n border: 1px solid " + theme["Checkbox Border"] + ";\n}\n.selectrice::before {\n border-left: 1px solid " + theme["Input Border"] + ";\n}\n.selectrice::after {\n border-top: .45em solid " + theme["Inputs"] + ";\n}\n.bd {\n background: " + theme["Buttons Background"] + ";\n border: 1px solid " + theme["Buttons Border"] + ";\n}\n.pages a,\n#header-bar a {\n color: " + theme["Navigation Links"] + ";\n}\ninput[type=checkbox]:checked + .rice {\n position: relative;\n}\ninput[type=checkbox]:checked + .rice::after {\n content: \"\";\n display: block;\n width: 4px;\n height: 10px;\n border: solid " + theme["Inputs"] + ";\n border-width: 0 3px 3px 0;\n -webkit-transform: rotate(45deg);\n position: absolute;\n left: 2px;\n bottom: -1px;\n}\n#addReply,\n#dump,\n.button,\n.entry,\n.replylink,\na {\n color: " + theme["Links"] + ";\n}\n.backlink {\n color: " + theme["Backlinks"] + ";\n}\n.qiQuote,\n.quotelink {\n color: " + theme["Quotelinks"] + ";\n}\n#addReply:hover,\n#dump:hover,\n.entry:hover,\n.replylink:hover,\n.qiQuote:hover,\n.quotelink:hover,\na .name:hover,\na .postertrip:hover,\na:hover {\n color: " + theme["Hovered Links"] + ";\n}\n#header-bar a:hover,\n#boardTitle a:hover {\n color: " + theme["Hovered Navigation Links"] + ";\n}\n#boardTitle {\n color: " + theme["Board Title"] + ";\n}\n.name,\n.post-author {\n color: " + theme["Names"] + " !important;\n}\n.post-tripcode,\n.postertrip,\n.trip {\n color: " + theme["Tripcodes"] + " !important;\n}\na .postertrip,\na .name {\n color: " + theme["Emails"] + ";\n}\n.post.reply.qphl,\n.post.op.qphl {\n border-color: " + theme["Backlinked Reply Outline"] + ";\n background: " + theme["Highlighted Reply Background"] + ";\n}\n.inline .post {\n box-shadow: " + (_conf['Quote Shadows'] ? "5px 5px 5px " + theme['Shadow Color'] : "") + ";\n}\n.placeholder,\n#qr input::-webkit-placeholder,\n#qr textarea::-webkit-placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#qr input:-webkit-placeholder,\n#qr textarea:-webkit-placeholder,\n.placeholder {\n color: " + (Style.lightTheme ? "rgba(0,0,0,0.3)" : "rgba(255,255,255,0.2)") + " !important;\n}\n#appchanx-settings fieldset,\n.boxcontent dd,\n.selectrice ul {\n border-color: " + (Style.lightTheme ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)") + ";\n}\n#appchanx-settings li,\n#selectrice li:not(:first-of-type) {\n border-top: 1px solid " + (Style.lightTheme ? "rgba(0,0,0,0.05)" : "rgba(255,255,255,0.025)") + ";\n}\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n.navLinks > a:first-of-type::after,\n#watcher::after,\n#globalMessage::after,\n#boardNavDesktopFoot::after,\na[style=\"cursor: pointer; float: right;\"]::after,\n#img-controls,\n#catalog::after,\n#fappeTyme {\n background-image: url('" + icons + "');\n" + (!Style.lightTheme ? "filter: url(\"data:image/svg+xml,#filters\");" : "") + "\n}\n" + theme["Custom CSS"]; css += (Style.lightTheme ? ".prettyprint {\n background-color: #e7e7e7;\n border: 1px solid #dcdcdc;\n}\n.com {\n color: #dd0000;\n}\n.str,\n.atv {\n color: #7fa61b;\n}\n.pun {\n color: #61663a;\n}\n.tag {\n color: #117743;\n}\n.kwd {\n color: #5a6F9e;\n}\n.typ,\n.atn {\n color: #9474bd;\n}\n.lit {\n color: #368c72;\n}\n" : ".prettyprint {\n background-color: rgba(0,0,0,.1);\n border: 1px solid rgba(0,0,0,0.5);\n}\n.tag {\n color: #96562c;\n}\n.pun {\n color: #5b6f2a;\n}\n.com {\n color: #a34443;\n}\n.str,\n.atv {\n color: #8ba446;\n}\n.kwd {\n color: #987d3e;\n}\n.typ,\n.atn {\n color: #897399;\n}\n.lit {\n color: #558773;\n}\n"); if (_conf["Alternate Post Colors"]) { - css += ".replyContainer:not(.hidden):nth-of-type(2n+1) .post {\n background-image: " + agent + "linear-gradient(" + (Style.lightTheme ? "rgba(0,0,0,0.05), rgba(0,0,0,0.05)" : "rgba(255,255,255,0.02), rgba(255,255,255,0.02)") + ");\n}\n"; + css += ".replyContainer:not(.hidden):nth-of-type(2n+1) .post {\n background-image: -webkit-linear-gradient(" + (Style.lightTheme ? "rgba(0,0,0,0.05), rgba(0,0,0,0.05)" : "rgba(255,255,255,0.02), rgba(255,255,255,0.02)") + ");\n}\n"; } if (_conf["Color Reply Headings"]) { css += ".postInfo {\n background: " + ((replyHeading = new Style.color(Style.colorToHex(theme["Reply Background"]))) ? "rgba(" + (replyHeading.shiftRGB(-12, false)) + ",0.8)" : "rgba(0,0,0,0.1)") + ";\n border-bottom: 1px solid " + theme["Reply Border"] + "\n}\n"; @@ -11660,7 +11682,7 @@ } else { position = aligner(2 + (_conf["4chan Banner"] === "at sidebar top" ? Style.logoOffset + 19 : 0), [notEither && _conf['Image Expansion'], true, true, _conf['Slideout Navigation'] !== 'hide', _conf['Announcements'] === 'slideout' && (psa = $('#globalMessage', d.body)) && !psa.hidden, _conf['Thread Watcher'] && _conf['Slideout Watcher'], notCatalog && $('body > a[style="cursor: pointer; float: right;"]', d.body), $('#navtopright .exlinksOptionsLink', d.body), notEither, g.VIEW === 'thread', notEither && _conf['Fappe Tyme'], navlinks = ((g.VIEW !== 'thread' && _conf['Index Navigation']) || (g.VIEW === 'thread' && _conf['Reply Navigation'])) && notCatalog, navlinks]); iconOffset = (20 + (g.VIEW === 'thread' && _conf['Updater Position'] === 'top' ? 100 : 0)) - (_conf['4chan SS Navigation'] ? 0 : Style.sidebar + parseInt(_conf[align.capitalize() + " Thread Padding"], 10)); - css += "/* Expand Images */\n#img-controls {\n top: " + position[i++] + "px;\n}\n/* Main Menu */\n#main-menu {\n top: " + position[i++] + "px;\n}\n/* 4chan X Options */\n#appchanOptions {\n top: " + position[i++] + "px;\n}\n/* Slideout Navigation */\n#boardNavDesktopFoot,\n#boardNavDesktopFoot::after {\n top: " + position[i++] + "px;\n}\n/* Global Message */\n#globalMessage,\n#globalMessage::after {\n top: " + position[i++] + "px;\n}\n/* Watcher */\n" + (_conf["Slideout Watcher"] ? "#watcher, #watcher::after" : "") + " {\n top: " + position[i++] + "px !important;\n}\n/* 4sight */\nbody > a[style=\"cursor: pointer; float: right;\"]::after {\n top: " + position[i++] + "px;\n}\n/* ExLinks */\n#navtopright .exlinksOptionsLink::after {\n top: " + position[i++] + "px;\n}\n/* 4chan Catalog */\n#catalog::after {\n top: " + position[i++] + "px;\n}\n/* Back */\ndiv.navLinks > a:first-of-type::after {\n top: " + position[i++] + "px;\n}\n/* Fappe Tyme */\n#fappeTyme {\n top: " + position[i++] + "px;\n}\n/* Thread Navigation Links */\n#navlinks a:first-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a:last-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a,\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n#boardNavDesktopFoot::after,\n#globalMessage::after,\n#img-controls,\n#main-menu,\n#fappeTyme,\n" + (_conf["Slideout Watcher"] ? "#watcher::after," : "") + "\nbody > a[style=\"cursor: pointer; float: right;\"]::after,\n#catalog::after,\ndiv.navLinks > a:first-of-type::after {\n " + align + ": 3px !important;\n}\n#boardNavDesktopFoot,\n#globalMessage,\n#watcher {\n " + Style.sizing + ": border-box;\n width: " + (Style.sidebar - 18) + "px !important;\n min-width: 230px;\n " + align + ": 18px !important;\n}\n.fixed.top #header-bar" + (_conf['Pagination'] === 'top' || _conf['Pagination'] === 'sticky top' ? ',\n.pagelist' : '') + " {\n " + (_conf['4chan SS Navigation'] ? "padding-" + align + ": " + iconOffset + "px;" : "margin-" + align + ": " + iconOffset + "px;") + "\n}"; + css += "/* Expand Images */\n#img-controls {\n top: " + position[i++] + "px;\n}\n/* Main Menu */\n#main-menu {\n top: " + position[i++] + "px;\n}\n/* 4chan X Options */\n#appchanOptions {\n top: " + position[i++] + "px;\n}\n/* Slideout Navigation */\n#boardNavDesktopFoot,\n#boardNavDesktopFoot::after {\n top: " + position[i++] + "px;\n}\n/* Global Message */\n#globalMessage,\n#globalMessage::after {\n top: " + position[i++] + "px;\n}\n/* Watcher */\n" + (_conf["Slideout Watcher"] ? "#watcher, #watcher::after" : "") + " {\n top: " + position[i++] + "px !important;\n}\n/* 4sight */\nbody > a[style=\"cursor: pointer; float: right;\"]::after {\n top: " + position[i++] + "px;\n}\n/* ExLinks */\n#navtopright .exlinksOptionsLink::after {\n top: " + position[i++] + "px;\n}\n/* 4chan Catalog */\n#catalog::after {\n top: " + position[i++] + "px;\n}\n/* Back */\ndiv.navLinks > a:first-of-type::after {\n top: " + position[i++] + "px;\n}\n/* Fappe Tyme */\n#fappeTyme {\n top: " + position[i++] + "px;\n}\n/* Thread Navigation Links */\n#navlinks a:first-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a:last-of-type {\n top: " + position[i++] + "px !important;\n}\n#navlinks a,\n#navtopright .exlinksOptionsLink::after,\n#appchanOptions,\n#boardNavDesktopFoot::after,\n#globalMessage::after,\n#img-controls,\n#main-menu,\n#fappeTyme,\n" + (_conf["Slideout Watcher"] ? "#watcher::after," : "") + "\nbody > a[style=\"cursor: pointer; float: right;\"]::after,\n#catalog::after,\ndiv.navLinks > a:first-of-type::after {\n " + align + ": 3px !important;\n}\n#boardNavDesktopFoot,\n#globalMessage,\n#watcher {\n box-sizing: border-box;\n width: " + (Style.sidebar - 18) + "px !important;\n min-width: 230px;\n " + align + ": 18px !important;\n}\n.fixed.top #header-bar" + (_conf['Pagination'] === 'top' || _conf['Pagination'] === 'sticky top' ? ',\n.pagelist' : '') + " {\n " + (_conf['4chan SS Navigation'] ? "padding-" + align + ": " + iconOffset + "px;" : "margin-" + align + ": " + iconOffset + "px;") + "\n}"; } return Style.icons.textContent = css; }, @@ -14390,7 +14412,7 @@ var hyphenated; $.cb.checked.call(this); - hyphenated = this.name.toLowerCase().replace(/\s+/g, '-'); + hyphenated = this.name.toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); return (this.checked ? $.addClass : $.rmClass)(doc, hyphenated); }, value: function() { @@ -14405,7 +14427,7 @@ _results = []; for (_i = 0, _len = _ref.length; _i < _len; _i++) { option = _ref[_i]; - hyphenated = ("" + this.name + " {option.value}").toLowerCase().replace(/\s+/g, '-'); + hyphenated = ("" + this.name + " " + option.value).toLowerCase().replace(/^4/, 'four').replace(/\s+/g, '-'); _results.push((option.value === this.value ? $.addClass : $.rmClass)(doc, hyphenated)); } return _results; diff --git a/src/General/Settings.coffee b/src/General/Settings.coffee index 9906296a7..d4966c0a7 100644 --- a/src/General/Settings.coffee +++ b/src/General/Settings.coffee @@ -800,7 +800,7 @@ Settings = style: checked: -> $.cb.checked.call @ - hyphenated = @name.toLowerCase().replace /\s+/g, '-' + hyphenated = @name.toLowerCase().replace(/^4/, 'four').replace /\s+/g, '-' (if @checked then $.addClass else $.rmClass) doc, hyphenated value: -> $.cb.value.call @ @@ -808,7 +808,7 @@ Settings = select: -> $.cb.value.call @ for option in @options - hyphenated = "#{@name} {option.value}".toLowerCase().replace /\s+/g, '-' + hyphenated = "#{@name} #{option.value}".toLowerCase().replace(/^4/, 'four').replace /\s+/g, '-' (if option.value is @value then $.addClass else $.rmClass) doc, hyphenated mascot: diff --git a/src/General/css/dynamic.css b/src/General/css/dynamic.css new file mode 100644 index 000000000..604fea167 --- /dev/null +++ b/src/General/css/dynamic.css @@ -0,0 +1,43 @@ +body { + font-size: #{parseInt _conf["Font Size"], 10}px; + font-family: #{_conf["Font"]}; + padding: 0 #{parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]}px 0 #{parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"]}px; +} +button, +input, +textarea { + font-size: #{parseInt _conf["Font Size"], 10}px; + font-family: #{_conf["Font"]}; +} +.sidebar-location-left.sidebar-large #header-bar { + left: #{303 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]}px; + right: #{parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2}px;" +} +.sidebar-location-left.sidebar-normal #header-bar { + left: #{248 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]}px; + right: #{parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2}px;" +} +.sidebar-location-left.sidebar-minimal #header-bar { + left: #{20 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]}px; + right: #{parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2}px;" +} +.sidebar-location-left.sidebar-hide #header-bar { + left: #{2 + parseInt(_conf["Left Thread Padding"], 10) + editSpace["right"]}px; + right: #{parseInt(_conf["Right Thread Padding"], 10) + editSpace["left"] + 2}px;" +} +.sidebar-location-right.sidebar-large #header-bar { + right: #{303 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]}px; + left: #{parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2}px;" +} +.sidebar-location-right.sidebar-normal #header-bar { + right: #{248 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]}px; + left: #{parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2}px;" +} +.sidebar-location-right.sidebar-minimal #header-bar { + right: #{20 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]}px; + left: #{parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2}px;" +} +.sidebar-location-right.sidebar-hide #header-bar { + right: #{2 + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]}px; + left: #{parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2}px;" +} \ No newline at end of file diff --git a/src/General/css/icons.vert.css b/src/General/css/icons.vert.css index a847aa548..2acecad48 100644 --- a/src/General/css/icons.vert.css +++ b/src/General/css/icons.vert.css @@ -69,7 +69,7 @@ div.navLinks > a:first-of-type::after { #boardNavDesktopFoot, #globalMessage, #watcher { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; width: #{Style.sidebar - 18}px !important; min-width: 230px; #{align}: 18px !important; diff --git a/src/General/css/jscolor.css b/src/General/css/jscolor.css index f1d39d90c..3b9661c0e 100644 --- a/src/General/css/jscolor.css +++ b/src/General/css/jscolor.css @@ -22,7 +22,7 @@ .jscPad { width: 181px; height: 101px; - background-image: #{agent}linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)), #{agent}linear-gradient(left, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00); + background-image: <%= agent %>linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)), <%= agent %>linear-gradient(left, #f00, #ff0, #0f0, #0ff, #00f, #f0f, #f00); background-repeat: no-repeat; background-position: 0 0; } @@ -44,7 +44,7 @@ .jscSld { width: 16px; height: 101px; - background-image: #{agent}linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1)); + background-image: <%= agent %>linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1)); } .jscSldB { right: 10px; diff --git a/src/General/css/layout.css b/src/General/css/layout.css index 54721cd5e..f8cbc6787 100644 --- a/src/General/css/layout.css +++ b/src/General/css/layout.css @@ -76,56 +76,71 @@ a[style="cursor: pointer; float: right;"] { } /* Defaults */ a { - text-decoration: #{if _conf["Underline Links"] then "underline" else "none"}; + text-decoration: none; outline: none; } +.underline-links a { + text-decoration: underline; +} body, html { min-height: 100%; - #{Style.sizing}: border-box; + <%= sizing %>: border-box; } body { outline: none; - font-size: #{parseInt _conf["Font Size"], 10}px; - font-family: #{_conf["Font"]}; min-height: 100%; - margin-top: 0; - margin-bottom: 0; - margin-#{Style.sidebarLocation[0]}: #{if /^boards\.4chan\.org$/.test(location.hostname) then Style.sidebar else '2'}px; - margin-#{Style.sidebarLocation[1]}: 2px; - padding: 0 #{parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]}px 0 #{parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"]}px; +} +.sidebar-hide body { + margin: 0 2px; +} +.sidebar-minimal body { + margin: 0 20px; +} +.sidebar-normal body { + margin: 0 252px +} +.sidebar-large body { + margin: 0 303px; +} +.sidebar-location-right body { + margin-left: 2px; +} +.sidebar-location-left body { + margin-right: 2px; } body.unscroll { overflow: hidden; } -#{if _conf["4chan SS Sidebar"] and /^boards\.4chan\.org$/.test location.hostname then " -body::before { +.fourchan-ss-sidebar body::before { content: ''; position: fixed; top: 0; bottom: 0; - #{Style.sidebarLocation[0]}: 0; - width: #{if _conf['Sidebar'] is 'large' then 305 else if _conf['Sidebar'] is 'normal' then 254 else if _conf['Sidebar'] is 'minimal' then 27 else 0}px; z-index: 1; - #{Style.sizing}: border-box; + <%= sizing %>: border-box; display: block; } -body { - padding-#{Style.sidebarLocation[0]}: 2px; +.sidebar-right body::before { + right: 0; } -" else ""} -button, -input, -textarea { - font-size: #{parseInt _conf["Font Size"], 10}px; - font-family: #{_conf["Font"]}; +sidebar-left body::before { + left: 0; +} +.fourchan-ss-sidebar.sidebar-right body { + padding-right: 2px; +} +.fourchan-ss-sidebar.sidebar-left body { + padding-left: 2px; } hr { clear: both; border: 0; padding: 0; margin: 0 0 1px; - #{if _conf['Hide Horizontal Rules'] then 'visibility: hidden;' else ''} +} +.hide-horizontal-rules hr { + visibility: hidden; } th { text-align: left; @@ -168,23 +183,24 @@ th { #header-bar { z-index: 6; border-width: 1px; -#{ -if _conf['4chan SS Navigation'] then " +} +.navigation-alignment-center #header-bar { + text-align: center; +} +.navigation-alignment-right #header-bar { + text-align: right; +} +.fourchan-ss-navigation #header-bar { left: 0; right: 0; border-left: 0; border-right: 0; - border-radius: 0 !important;" -else " - #{Style.sidebarLocation[0]}: #{Style.sidebar + parseInt(_conf["Right Thread Padding"], 10) + editSpace["right"]}px; - #{Style.sidebarLocation[1]}: #{parseInt(_conf["Left Thread Padding"], 10) + editSpace["left"] + 2}px;" + border-radius: 0 !important; } -#{if _conf["Hide Navigation Decorations"] then " +.hide-navigation-decorations #header-bar { font-size: 0; color: transparent; word-spacing: 2px; -" else ""} - text-align: #{_conf["Navigation Alignment"]}; } #shortcuts { float: right; @@ -198,12 +214,16 @@ else " .top #header-bar { top: 0; border-top-width: 0; - #{if _conf["Rounded Edges"] then "border-radius: 0 0 3px 3px;" else ""}" +} +.rounded-edges.top #header-bar { + border-radius: 0 0 3px 3px; } .fixed.bottom #header-bar { bottom: 0; border-bottom-width: 0; - #{if _conf["Rounded Edges"] then "border-radius: 3px 3px 0 0;" else ""}" +} +.rounded-edges.bottom #header-bar { + border-radius: 3px 3px 0 0; } .hide #header-bar { position: fixed; @@ -217,10 +237,10 @@ else " } .fixed.top #header-bar.autohide:not(:hover) { margin-bottom: -1em; - #{agent}transform: translateY(-100%); + <%= agent %>transform: translateY(-100%); } .fixed.bottom #header-bar.autohide:not(:hover) { - #{agent}transform: translateY(100%); + <%= agent %>transform: translateY(100%); } #scroll-marker { left: 0; @@ -290,7 +310,7 @@ else " color: #fff; } .message { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; padding: 6px 20px; max-height: 200px; width: 100%; @@ -303,7 +323,7 @@ else " border-radius: 10px; height: 14px; width: 14px; - #{Style.sizing}: border-box; + <%= sizing %>: border-box; border-color: rgb(130,130,130); color: rgb(130,130,130); } @@ -313,13 +333,13 @@ else " position: absolute; top: 50%; left: 50%; - #{agent}transform: translate(-60%, -50%); + <%= agent %>transform: translate(-60%, -50%); display: block; border-top: 5px solid rgb(130, 130, 130); border-left: 3px solid transparent; border-right: 3px solid transparent; width: 7px; - #{Style.sizing}: border-box; + <%= sizing %>: border-box; } /* Updater / Thread Stats */ .float #thread-stats, @@ -378,11 +398,11 @@ else " #{Style.sidebarLocation[0]}: #{Style.sidebar - 2}px; position: fixed; #{if Style.sidebarLocation[0] is 'right' then " - #{agent}transform: rotate(90deg); - #{agent}transform-origin: bottom right;" + <%= agent %>transform: rotate(90deg); + <%= agent %>transform-origin: bottom right;" else " - #{agent}transform: rotate(-90deg); - #{agent}transform-origin: bottom left; + <%= agent %>transform: rotate(-90deg); + <%= agent %>transform-origin: bottom left; "} z-index: 6; margin: 0; @@ -423,11 +443,11 @@ else " #{if _conf["Faded 4chan Banner"] then " .boardBanner { opacity: 0.5; - #{agent}transition: opacity 0.3s ease-in-out .5s; + <%= agent %>transition: opacity 0.3s ease-in-out .5s; } .boardBanner:hover { opacity: 1; - #{agent}transition: opacity 0.3s ease-in; + <%= agent %>transition: opacity 0.3s ease-in; } " else ""} #{if _conf["4chan Banner Reflection"] then " @@ -609,7 +629,7 @@ else " bottom: 0; right: 0; font-size: #{_conf['Font Size']}px; - #{Style.sizing}: border-box; + <%= sizing %>: border-box; height: 1.6em; width: 1.4em; text-align: center; @@ -629,7 +649,7 @@ else " font-size: 0; color: transparent; overflow: hidden; - #{Style.sizing}: border-box; + <%= sizing %>: border-box; } #boardNavDesktopFoot a, #boardNavDesktopFoot a::after, @@ -693,7 +713,7 @@ hide: " width: #{width}px; #{Style.sidebarLocation[0]}: 2px !important; #{Style.sidebarLocation[1]}: auto !important; - #{Style.sizing}: border-box; + <%= sizing %>: border-box; } #watcher .move { cursor: default; @@ -750,7 +770,7 @@ hide: " margin: 0; } #globalMessage:hover { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; overflow-y: auto; } #globalMessage:not(:hover) { @@ -812,7 +832,7 @@ hide: " .hide-reply-button { margin: 0 3px; opacity: 0; - #{agent}transition: opacity .3s ease-out 0s; + <%= agent %>transition: opacity .3s ease-out 0s; } .post:hover .hide-reply-button, .post:hover .menu-button, @@ -854,7 +874,7 @@ hide: " outline: none; } .reply.post { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; } #{if _conf["Fit Width Replies"] then " .reply.post { @@ -909,7 +929,7 @@ s { } #{if _conf["OP Background"] then " .op.post { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; }" else ""} /* Summary */ #{ @@ -1038,7 +1058,7 @@ if _conf["Filtered Backlinks"] then " 'default': ""}[_conf["Backlinks Position"]]} /* Code */ .prettyprint { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; font-family: monospace; display: inline-block; margin-right: auto; @@ -1179,12 +1199,12 @@ input:checked + .rice { bottom: #{Style.pfOffset}em !important; #{Style.sidebarLocation[0]}: 0 !important; #{Style.sidebarLocation[1]}: auto !important; - #{agent}transform: translateX(#{xOffset}93%); + <%= agent %>transform: translateX(#{xOffset}93%); } #qr:hover, #qr.has-focus, #qr.dump { - #{agent}transform: translate(0); + <%= agent %>transform: translate(0); }" "tabbed slideout": " @@ -1193,16 +1213,16 @@ input:checked + .rice { bottom: #{Style.pfOffset}em !important; #{Style.sidebarLocation[0]}: 0 !important; #{Style.sidebarLocation[1]}: auto !important; - #{agent}transform: translateX(#{xOffset}100%); + <%= agent %>transform: translateX(#{xOffset}100%); } #qr:hover, #qr.has-focus, #qr.dump { - #{agent}transform: translateX(0); + <%= agent %>transform: translateX(0); } #qrtab { - #{agent}transform: rotate(#{(if Style.sidebarLocation[0] is "left" then "" else "-")}90deg); - #{agent}transform-origin: bottom #{Style.sidebarLocation[0]}; + <%= agent %>transform: rotate(#{(if Style.sidebarLocation[0] is "left" then "" else "-")}90deg); + <%= agent %>transform-origin: bottom #{Style.sidebarLocation[0]}; position: absolute; top: 0; #{Style.sidebarLocation[0]}: 100%; @@ -1232,13 +1252,13 @@ input:checked + .rice { #{Style.sidebarLocation[0]}: 2px !important; #{Style.sidebarLocation[1]}: auto !important; opacity: 0.2; - #{agent}transition: opacity .3s ease-in-out 1s; + <%= agent %>transition: opacity .3s ease-in-out 1s; } #qr:hover, #qr.has-focus, #qr.dump { opacity: 1; - #{agent}transition: opacity .3s linear; + <%= agent %>transition: opacity .3s linear; }" }[_conf['Post Form Style']] or ""} @@ -1256,18 +1276,18 @@ else ""} #{ if _conf['Post Form Style'] isnt 'float' and _conf["Post Form Slideout Transitions"] then " #qr { - #{agent}transition: #{agent}transform .3s ease-in-out 1s; + <%= agent %>transition: <%= agent %>transform .3s ease-in-out 1s; } #qr:hover, #qr.has-focus, #qr.dump { - #{agent}transition: #{agent}transform .3s linear; + <%= agent %>transition: <%= agent %>transform .3s linear; } #qrtab { - #{agent}transition: opacity .3s ease-in-out 1s; + <%= agent %>transition: opacity .3s ease-in-out 1s; } #qr:hover #qrtab { - #{agent}transition: opacity .3s linear; + <%= agent %>transition: opacity .3s linear; }" else "" } @@ -1345,7 +1365,7 @@ if _conf["Tripcode Hider"] then " .selectrice, button, input:not([type=radio]) { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; font-size: #{parseInt _conf['Font Size'], 10}px; height: 1.6em; margin: 1px 0 0; @@ -1391,7 +1411,7 @@ input:not([type=radio]) { margin-right: 3px; } #qr-filename-container { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; display: inline-block; position: relative; width: 100px; @@ -1442,7 +1462,7 @@ input:not([type=radio]) { overflow-x: auto; } .qr-preview { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; counter-increment: thumbnails; cursor: move; display: inline-block; @@ -1453,7 +1473,7 @@ input:not([type=radio]) { overflow: hidden; position: relative; text-shadow: 0 1px 1px #000; - #{agent}transition: opacity .25s ease-in-out; + <%= agent %>transition: opacity .25s ease-in-out; vertical-align: top; } .qr-preview:hover, @@ -1508,14 +1528,14 @@ a:only-of-type > .remove { position: absolute; top: 50%; right: 10px; - #{agent}transform: translateY(-50%); + <%= agent %>transform: translateY(-50%); } /* Ads */ .topad img, .middlead img, .bottomad img { opacity: 0.3; - #{agent}transition: opacity .3s linear; + <%= agent %>transition: opacity .3s linear; } .topad img:hover, .middlead img:hover, @@ -1771,13 +1791,13 @@ article li { .export-button, .mascotname, #mascot-options { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; padding: 0; width: 100%; } #mascot-options { opacity: 0; - #{agent}transition: opacity .3s linear; + <%= agent %>transition: opacity .3s linear; } .mascot:hover #mascot-options { opacity: 1; @@ -1818,7 +1838,7 @@ article li { right: 300px; bottom: 10px; margin: 0; - #{agent}transition: all .2s ease-in-out; + <%= agent %>transition: all .2s ease-in-out; opacity: 0; } #themes .selectedtheme h1 { @@ -1873,7 +1893,7 @@ article li { } #mascotConf .option, #mascotConf .optionlabel { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; width: 50%; display: inline-block; vertical-align: middle; @@ -1945,7 +1965,7 @@ article li { position: fixed; top: 50% !important; left: 50%; - #{agent}transform: translate(-50%, -50%); + <%= agent %>transform: translate(-50%, -50%); } .icon::after { display: inline-block; @@ -1982,7 +2002,7 @@ article li { left: 0 !important; } #boards .column { - #{Style.sizing}: border-box; + <%= sizing %>: border-box; display: inline-block; width: 16em; text-align: left; diff --git a/src/General/css/theme.css b/src/General/css/theme.css index 34c9ec1b5..c4fd2d0a4 100644 --- a/src/General/css/theme.css +++ b/src/General/css/theme.css @@ -297,7 +297,7 @@ input[type=checkbox]:checked + .rice::after { height: 10px; border: solid #{theme["Inputs"]}; border-width: 0 3px 3px 0; - #{agent}transform: rotate(45deg); + <%= agent %>transform: rotate(45deg); position: absolute; left: 2px; bottom: -1px; @@ -357,12 +357,12 @@ a .name { box-shadow: #{if _conf['Quote Shadows'] then "5px 5px 5px #{theme['Shadow Color']}" else ""}; } .placeholder, -#qr input::#{agent}placeholder, -#qr textarea::#{agent}placeholder { +#qr input::<%= agent %>placeholder, +#qr textarea::<%= agent %>placeholder { color: #{if Style.lightTheme then "rgba(0,0,0,0.3)" else "rgba(255,255,255,0.2)"} !important; } -#qr input:#{agent}placeholder, -#qr textarea:#{agent}placeholder, +#qr input:<%= agent %>placeholder, +#qr textarea:<%= agent %>placeholder, .placeholder { color: #{if Style.lightTheme then "rgba(0,0,0,0.3)" else "rgba(255,255,255,0.2)"} !important; } diff --git a/src/General/css/themeoptions.css b/src/General/css/themeoptions.css index efcc945ee..5e81fce0c 100644 --- a/src/General/css/themeoptions.css +++ b/src/General/css/themeoptions.css @@ -60,7 +60,7 @@ if _conf["Alternate Post Colors"] css += """ .replyContainer:not(.hidden):nth-of-type(2n+1) .post { - background-image: #{agent}linear-gradient(#{if Style.lightTheme then "rgba(0,0,0,0.05), rgba(0,0,0,0.05)" else "rgba(255,255,255,0.02), rgba(255,255,255,0.02)"}); + background-image: <%= agent %>linear-gradient(#{if Style.lightTheme then "rgba(0,0,0,0.05), rgba(0,0,0,0.05)" else "rgba(255,255,255,0.02), rgba(255,255,255,0.02)"}); }\n """ diff --git a/src/Theming/JSColor.coffee b/src/Theming/JSColor.coffee index 5ffb75492..cf238be40 100644 --- a/src/Theming/JSColor.coffee +++ b/src/Theming/JSColor.coffee @@ -1,6 +1,5 @@ JSColor = css: -> - agent = Style.agent """<%= grunt.file.read('src/General/css/jscolor.css') %>""" bind: (el) -> diff --git a/src/Theming/Mascots.coffee b/src/Theming/Mascots.coffee index 3aeabf051..e0f6480a2 100644 --- a/src/Theming/Mascots.coffee +++ b/src/Theming/Mascots.coffee @@ -62,7 +62,7 @@ MascotTools = else '-1' }; - #{if Style.sidebarLocation[0] is "left" then "#{Style.agent}transform: scaleX(-1);" else ""} + #{if Style.sidebarLocation[0] is "left" then "<%= sizing %>transform: scaleX(-1);" else ""} bottom: #{ if mascot.position is 'top' 'auto' @@ -108,7 +108,7 @@ MascotTools = opacity: #{Conf['Mascot Opacity']}; pointer-events: none; #{if filters.length > 0 then "filter: url('data:image/svg+xml," + filters.join("") + "#filters');" else ""} - #{if Conf['Mascot Position'] is 'middle' then "#{Style.agent}transform: translateY(50%);" else ''} + #{if Conf['Mascot Position'] is 'middle' then "<%= sizing %>transform: translateY(50%);" else ''} } """ diff --git a/src/Theming/Style.coffee b/src/Theming/Style.coffee index bc2e23d31..b39e03eb0 100644 --- a/src/Theming/Style.coffee +++ b/src/Theming/Style.coffee @@ -19,11 +19,11 @@ Style = for name, setting of cat if setting[2] continue if setting[2] is 'text' - hyphenated = "#{name} #{Conf[name]}".toLowerCase().replace /\s+/g, '-' + hyphenated = "#{name} #{Conf[name]}".toLowerCase().replace(/^4/, 'four').replace /\s+/g, '-' $.addClass doc, hyphenated else continue unless Conf[name] - hyphenated = "#{name}".toLowerCase().replace /\s+/g, '-' + hyphenated = "#{name}".toLowerCase().replace(/^4/, 'four').replace /\s+/g, '-' $.addClass doc, hyphenated MascotTools.init() @@ -67,18 +67,15 @@ Style = setTimeout Rice.nodes, 100 , 500 - agent: "<% if (type === 'crx') { %>-webkit-<% } else if (type === 'userscript') { %>-moz-<% } else { %>-o-<% } %>" - - sizing: "<% if (type === 'userscript') { %>-moz-<% } else { %><% } %>box-sizing" - setup: -> theme = Themes[Conf['theme']] $.extend Style, - layoutCSS: $.addStyle Style.layout(), 'layout' - themeCSS: $.addStyle Style.theme(theme), 'theme' - icons: $.addStyle "", 'icons' - paddingSheet: $.addStyle "", 'padding' - mascot: $.addStyle "", 'mascotSheet' + layoutCSS: $.addStyle Style.layout(), 'layout' + themeCSS: $.addStyle Style.theme(theme), 'theme' + icons: $.addStyle "", 'icons' + paddingSheet: $.addStyle "", 'padding' + mascot: $.addStyle "", 'mascotSheet' + dynamic: $.addStyle Style.dynamic(), 'dynamic' # Non-customizable $.addStyle JSColor.css(), 'jsColor' @@ -163,8 +160,8 @@ Style = return """filter: url("data:image/svg+xml,#filters");""" layout: -> + # Remove after classes rewrite _conf = Conf - agent = Style.agent xOffset = if _conf["Sidebar Location"] is "left" then '-' else '' Style.pfOffset = if _conf['4chan SS Navigation'] and @@ -213,10 +210,60 @@ Style = Style.replyMargin = _conf["Post Spacing"] css = """<%= grunt.file.read('src/General/css/layout.css') %>""" + + dynamic: -> + _conf = Conf + xOffset = if _conf["Sidebar Location"] is "left" then '-' else '' + + Style.pfOffset = if _conf['4chan SS Navigation'] and + ((_conf['Bottom Header'] and _conf['Fixed Header']) or + (g.VIEW is 'index' and _conf['Pagination'] is 'sticky bottom')) + 1.5 + else + 0 + + Style.sidebar = { + minimal: 20 + hide: 2 + normal: 252 + large: 303 + }[_conf['Sidebar']] + + Style.logoOffset = + if _conf["4chan Banner"] is "at sidebar top" + if _conf["Sidebar"] is "large" + 100 + else + 83 + else + 0 + + width = + if _conf["Sidebar"] is "large" + 299 + else + 248 + + Style.sidebarLocation = if _conf["Sidebar Location"] is "left" + ["left", "right"] + else + ["right", "left" ] + + if _conf['editMode'] is "theme" + editSpace = {} + editSpace[Style.sidebarLocation[1]] = 300 + editSpace[Style.sidebarLocation[0]] = 0 + else + editSpace = + left: 0 + right: 0 + + Style.replyMargin = _conf["Post Spacing"] + + css = """<%= grunt.file.read('src/General/css/dynamic.css') %>""" theme: (theme) -> _conf = Conf - agent = Style.agent bgColor = new Style.color(Style.colorToHex(backgroundC = theme["Background Color"]) or 'aaaaaa')