From 425ec3b70738e693922755b4ee8a8a73642b7fee Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Wed, 5 Mar 2014 15:20:30 +0100 Subject: [PATCH] Using .less instead of .css to generate the .css file from the .less file run: $make styles --- .travis.yml | 3 +- Makefile | 7 +- searx/static/css/definitions.less | 92 +++++ searx/static/css/mixins.less | 27 ++ searx/static/css/style.css | 291 ++++------------ searx/static/css/style.less | 556 ++++++++++++++++++++++++++++++ 6 files changed, 749 insertions(+), 227 deletions(-) create mode 100644 searx/static/css/definitions.less create mode 100644 searx/static/css/mixins.less create mode 100644 searx/static/css/style.less diff --git a/.travis.yml b/.travis.yml index 29d1401a0..42cb092f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,10 +5,11 @@ before_install: - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" install: - - "make" + - "make node-less" script: - "make tests" - "make robot" + - "make styles" notifications: irc: channels: diff --git a/Makefile b/Makefile index cc5967581..051cad36e 100644 --- a/Makefile +++ b/Makefile @@ -43,11 +43,14 @@ production: bin/buildout production.cfg setup.py minimal: bin/buildout minimal.cfg setup.py bin/buildout -c minimal.cfg $(options) +styles: + @lessc -x searx/static/css/style.less > searx/static/css/style.css + locales: @pybabel compile -d searx/translations clean: @rm -rf .installed.cfg .mr.developer.cfg bin parts develop-eggs \ - searx.egg-info lib include .coverage coverage + searx.egg-info lib include .coverage coverage searx/static/css/*.css -.PHONY: all tests robot flake8 coverage production minimal locales clean +.PHONY: all tests robot flake8 coverage production minimal styles locales clean diff --git a/searx/static/css/definitions.less b/searx/static/css/definitions.less new file mode 100644 index 000000000..a7d892303 --- /dev/null +++ b/searx/static/css/definitions.less @@ -0,0 +1,92 @@ +/* + * searx, A privacy-respecting, hackable metasearch engine + * + * To change the colors of the site, simple edit this variables + */ + +/// Basic Colors + +@color-base: #3498DB; +@color-base-dark: #2980B9; +@color-base-light: #ECF0F1; + + +/// General + +@color-font: #444; + +@color-url-font: #1a11be; +@color-url-visited-font: #8E44AD; + + +/// Start-Screen + +// hmarg +@color-hmarg-border: @color-base; +@color-hmarg-font: @color-base; +@color-hmarg-font-hover: @color-base; + + +/// Search-Input + +@color-search-border: @color-base; +@color-search-background: #FFF; +@color-search-font: #222; + +/// Categories + +@color-categories-item-selected: @color-base; +@font-color-categories-item-selected: #FFF; + +@color-categories-item-border-selected: @color-base-dark; +@color-categories-item-border-unselected: #E8E7E6; +@color-categories-item-border-unselected-hover: @color-base; + + +/// Results + +@color-suggestions-button-background: @color-base; +@color-suggestions-button-font: #FFF; + +@color-download-button-background: @color-base; +@color-download-button-font: #FFF; + +@color-result-search-background: @color-base-light; + +@color-result-definition-border: gray; +@color-result-torrent-border: lightgray; +@color-result-top-border: #E8E7E6; + +// Link to result +@color-result-link-font: @color-base-dark; +@color-result-link-visited-font: @color-url-visited-font; + +// Url to result +@color-result-url-font: #C0392B; + +// Images +@color-result-image-span-background-hover: rgba(0, 0, 0, 0.6); +@color-result-image-span-font: #FFF; + +// Search-URL +@color-result-search-url-border: #888; +@color-result-search-url-font: #444; + + +/// Settings + +@color-settings-fieldset: @color-base; +@color-settings-tr-hover: #DDD; + +// Labels +@color-settings-label-allowed-background: #E74C3C; +@color-settings-label-allowed-font: #FFF; + +@color-settings-label-deny-background: #2ECC71; +@color-settings-label-deny-font: @color-font; + + +/// Other + +@color-engines-font: #888; +@color-percentage-div-background: #444; diff --git a/searx/static/css/mixins.less b/searx/static/css/mixins.less new file mode 100644 index 000000000..dbccce6e3 --- /dev/null +++ b/searx/static/css/mixins.less @@ -0,0 +1,27 @@ +/* + * searx, A privacy-respecting, hackable metasearch engine + */ + +// Mixins + +.text-size-adjust (@property: 100%) { + -webkit-text-size-adjust: @property; + -ms-text-size-adjust: @property; + -moz-text-size-adjust: @property; + text-size-adjust: @property; +} + +.rounded-corners (@radius: 4px) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; +} + +.user-select () { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} diff --git a/searx/static/css/style.css b/searx/static/css/style.css index 4b2d3c36d..59c5c1436 100644 --- a/searx/static/css/style.css +++ b/searx/static/css/style.css @@ -1,224 +1,67 @@ -html { - font-family: sans-serif; - font-size: 0.9em; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -moz-text-size-adjust: 100%; - color: #444444; - padding: 0; - margin: 0; -} - -body, #container { - padding: 0; - margin: 0; -} - -#container { - width: 100%; - position: absolute; - top: 0; -} - -.row { max-width: 800px; margin: auto; text-align: justify; } -.row h1 { font-size: 3em; margin-top: 50px; } -.row p { padding: 0 10px; max-width: 700px; } -.row h3,ul { margin: 4px 8px;} - -.hmarg { - margin: 0 20px; - border: 1px solid #3498DB; - padding: 4px 10px; -} - -a:link.hmarg { color: #3498DB; } -a:visited.hmarg { color: #3498DB; } -a:active.hmarg { color: #3498DB; } -a:hover.hmarg { color: #3498DB; } - -.top_margin { margin-top: 60px; } - -.center { text-align: center; } - -h1 { font-size: 5em; } - -div.title { background: url('/static/img/searx.png') no-repeat; width: 100%; background-position: center; } -div.title h1 { visibility: hidden; } - -input[type="submit"] { padding: 2px 6px; margin: 2px 4px; display: inline-block; background: #3498DB; color: #FFFFFF; border-radius: 4px; border: 0; cursor: pointer; } - -input[type="checkbox"] { visibility: hidden; } - -fieldset { margin: 8px; border: 1px solid #3498DB; } - -#categories { margin: 0 10px; } - -.checkbox_container { display: inline-block; position: relative; margin: 0 3px; padding: 0px; } -.checkbox_container input { - display: none; -} -.checkbox_container label, .engine_checkbox label { - cursor: pointer; - padding: 4px 10px; - margin: 0; - display: block; - text-transform: capitalize; - - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.checkbox_container input[type="checkbox"]:checked + label { background: #3498DB; color: #FFFFFF; } -.search .checkbox_container label { border-bottom: 4px solid #e8e7e6; } -.search .checkbox_container label:hover { border-bottom: 4px solid #3498DB; } -.search .checkbox_container input[type="checkbox"]:checked + label { border-bottom: 4px solid #2980B9; } - -.engine_checkbox { padding: 4px; } -label.allow { background: #E74C3C; color: #FFFFFF; padding: 4px 8px; display: none; } -label.deny { background: #2ECC71; padding: 4px 8px; display: inline; } -.engine_checkbox input[type="checkbox"]:checked + label:nth-child(2) + label { display: none; } -.engine_checkbox input[type="checkbox"]:checked + label.allow { display: inline; } - -a { text-decoration: none; color: #1a11be; } -a:visited { color: #8E44AD; } - -.result { margin: 19px 0 18px 0; padding: 0; max-width: 55em; clear: both; } -.result_title { margin-bottom: 0; } -.result_title a { color: #1168CC; font-weight: normal; font-size: 1.1em; } -.result_title a:hover { text-decoration: underline; } -.result_title a:visited { color: #8E44AD } -.result h3 { font-size: 1em; word-wrap:break-word; margin: 5px 0 1px 0; padding: 0 } -.result .content { font-size: 0.8em; margin: 0; padding: 0; max-width: 54em; word-wrap:break-word; line-height: 1.24; } -.result .url { font-size: 0.8em; margin: 3px 0 0 0; padding: 0; max-width: 54em; word-wrap:break-word; color: #C0392B; } - -.q { width: 30em; } - -.engines { color: #888888; } - -.small_font { font-size: 0.8em; } - -.small p { margin: 2px 0; } - -.search { background: #ECF0F1; padding: 0; margin: 0 } - -.right { float: right; } - -.invisible { display: none; } - -.left { float: left; } - -.image_result { float: left; margin: 10px 10px; position: relative; height: 160px;} -.image_result img { border: 0; height: 160px;} -.image_result p { margin: 0; padding: 0; } -.image_result p span a { display: none; } -.image_result p span a { color: #FFFFFF; } -.image_result p:hover span a { display: block; position: absolute; bottom: 0; right: 0; padding: 4px; background-color: rgba(0, 0, 0, 0.6); font-size: 0.7em; } - -.torrent_result { border-left: 10px solid lightgray; padding-left: 3px; } -.torrent_result p { margin: 3px; font-size: 0.8em; } - -.definition_result { border-left: 10px solid gray; padding-left: 3px; } - -.percentage { position: relative; width: 300px; } -.percentage div { background: #444444; } -table { width: 100%; } -td { padding: 0 4px; } -tr:hover { background: #DDDDDD; } - -#search_wrapper { position: relative; max-width: 600px; padding: 10px; } -.center #search_wrapper { margin-left: auto; margin-right: auto; } -.q { - background: none repeat scroll 0 0 #FFFFFF; - border: 1px solid #3498DB; - color: #222222; - font-size: 16px; - height: 28px; - margin: 0; - outline: medium none; - padding: 2px; - padding-left: 8px; - padding-right: 0px !important; - width: 100%; - z-index: 2; -} -#search_submit { - position: absolute; - top: 13px; - right: 1px; - padding: 0; - border: 0; - background: url('/static/img/search-icon.png') no-repeat; - background-size: 24px 24px; - opacity: 0.8; - width: 24px; - height: 30px; - font-size: 0; -} - -#results { margin: 10px; padding: 0; margin-bottom: 20px; } - -#sidebar { position: absolute; left: 54em; width: 12em; margin: 0 2px 5px 5px; padding: 0 2px 2px 2px; } -#suggestions span { display: block; margin: 0 2px 2px 2px; padding: 0; } -#suggestions form { display: block; } -#suggestions input { padding: 2px 6px; margin: 2px 4px; font-size: 0.8em; display: inline-block; background: #3498DB; color: #FFFFFF; border-radius: 4px; border: 0; cursor: pointer; } -#search_url { margin-top: 8px; } -#search_url input { border: 1px solid #888888; padding: 4px; color: #444444; width: 20em; display: block; margin: 4px; } - -#preferences { - top: 10px; - padding: 0; - border: 0; - background: url('/static/img/preference-icon.png') no-repeat; - background-size: 28px 28px; - opacity: 0.8; - width: 28px; - height: 30px; - display: block; -} - -#preferences * { - display: none; -} - -#pagination { - clear: both; -} - -#apis { - margin-top: 8px; - clear: both; -} - -@media screen and (max-width: 60em) { - - #sidebar { position: static; max-width: 50em; margin: 0 0 2px 0; padding: 0; float: none; border: none; width: auto } - #suggestions span { display: inline; font-size: 0.8em } - #suggestions form { display: inline; } - #suggestions input { padding: 2px 6px; margin: 2px 4px; font-size: 0.8em; display: inline-block; border-radius: 4px; border: 0; cursor: pointer; } - -} - -@media screen and (max-width: 680px) { - - #search_wrapper { width: 90%; clear:both; overflow: hidden } - - .right { display: none; postion: fixed !important; top: 100px; right: 0px; } - - #apis { display: none; } - - #categories { font-size: 80%; clear: both; } - - #categories .checkbox_container { margin-top: 2px; margin: 0 2px; } - .checkbox_container { display: block; width: 100%; float: left; } - .checkbox_container label { border-bottom: 0; } - - .result { border-top: 1px solid #e8e7e6; margin: 7px 0 6px 0; } - - .result img { max-width: 90%; width: auto; height: auto } -} - -.favicon { float: left; margin-right: 4px; margin-top: 2px; } +html{font-family:sans-serif;font-size:.9em;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:#444;padding:0;margin:0} +body,#container{padding:0;margin:0} +#container{width:100%;position:absolute;top:0} +.row{max-width:800px;margin:auto;text-align:justify}.row h1{font-size:3em;margin-top:50px} +.row p{padding:0 10px;max-width:700px} +.row h3,.row ul{margin:4px 8px} +.hmarg{margin:0 20px;border:1px solid #3498db;padding:4px 10px} +a:link.hmarg{color:#3498db} +a:visited.hmarg{color:#3498db} +a:active.hmarg{color:#3498db} +a:hover.hmarg{color:#3498db} +.top_margin{margin-top:60px} +.center{text-align:center} +h1{font-size:5em} +div.title{background:url('/static/img/searx.png') no-repeat;width:100%;background-position:center}div.title h1{visibility:hidden} +input[type="submit"]{padding:2px 6px;margin:2px 4px;display:inline-block;background:#3498db;color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer} +input[type="checkbox"]{visibility:hidden} +fieldset{margin:8px;border:1px solid #3498db} +#categories{margin:0 10px} +.checkbox_container{display:inline-block;position:relative;margin:0 3px;padding:0}.checkbox_container input{display:none} +.checkbox_container label,.engine_checkbox label{cursor:pointer;padding:4px 10px;margin:0;display:block;text-transform:capitalize;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.checkbox_container input[type="checkbox"]:checked+label{background:#3498db;color:#fff} +.search .checkbox_container label{border-bottom:4px solid #e8e7e6} +.search .checkbox_container label:hover{border-bottom:4px solid #3498db} +.search .checkbox_container input[type="checkbox"]:checked+label{border-bottom:4px solid #2980b9} +.engine_checkbox{padding:4px} +label.allow{background:#e74c3c;padding:4px 8px;color:#fff;display:none} +label.deny{background:#2ecc71;padding:4px 8px;color:#444;display:inline} +.engine_checkbox input[type="checkbox"]:checked+label:nth-child(2)+label{display:none} +.engine_checkbox input[type="checkbox"]:checked+label.allow{display:inline} +a{text-decoration:none;color:#1a11be}a:visited{color:#8e44ad} +.result{margin:19px 0 18px 0;padding:0;max-width:55em;clear:both} +.result_title{margin-bottom:0}.result_title a{color:#2980b9;font-weight:normal;font-size:1.1em}.result_title a:hover{text-decoration:underline} +.result_title a:visited{color:#8e44ad} +.result h3{font-size:1em;word-wrap:break-word;margin:5px 0 1px 0;padding:0} +.result .content{font-size:.8em;margin:0;padding:0;max-width:54em;word-wrap:break-word;line-height:1.24} +.result .url{font-size:.8em;margin:3px 0 0 0;padding:0;max-width:54em;word-wrap:break-word;color:#c0392b} +.engines{color:#888} +.small_font{font-size:.8em} +.small p{margin:2px 0} +.search{background:#ecf0f1;padding:0;margin:0} +.right{float:right} +.invisible{display:none} +.left{float:left} +.image_result{float:left;margin:10px 10px;position:relative;height:160px}.image_result img{border:0;height:160px} +.image_result p{margin:0;padding:0}.image_result p span a{display:none;color:#fff} +.image_result p:hover span a{display:block;position:absolute;bottom:0;right:0;padding:4px;background-color:rgba(0,0,0,0.6);font-size:.7em} +.torrent_result{border-left:10px solid #d3d3d3;padding-left:3px}.torrent_result p{margin:3px;font-size:.8em} +.definition_result{border-left:10px solid #808080;padding-left:3px} +.percentage{position:relative;width:300px}.percentage div{background:#444} +table{width:100%} +td{padding:0 4px} +tr:hover{background:#ddd} +#search_wrapper{position:relative;max-width:600px;padding:10px} +.center #search_wrapper{margin-left:auto;margin-right:auto} +.q{background:none repeat scroll 0 0 #fff;border:1px solid #3498db;color:#222;font-size:16px;height:28px;margin:0;outline:medium none;padding:2px;padding-left:8px;padding-right:0 !important;width:100%;z-index:2} +#search_submit{position:absolute;top:13px;right:1px;padding:0;border:0;background:url('/static/img/search-icon.png') no-repeat;background-size:24px 24px;opacity:.8;width:24px;height:30px;font-size:0} +#results{margin:10px;padding:0;margin-bottom:20px} +#sidebar{position:absolute;left:54em;width:15em;margin:0 2px 5px 5px;padding:0 2px 2px 2px} +#suggestions span{display:block;margin:0 2px 2px 2px;padding:0} +#suggestions form{display:block} +#suggestions input{padding:2px 6px;margin:2px 4px;font-size:.8em;display:inline-block;background:#3498db;color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer} +#search_url{margin-top:8px}#search_url input{border:1px solid #888;padding:4px;color:#444;width:20em;display:block;margin:4px} +#preferences{top:10px;padding:0;border:0;background:url('/static/img/preference-icon.png') no-repeat;background-size:28px 28px;opacity:.8;width:28px;height:30px;display:block}#preferences *{display:none} +#pagination{clear:both} +#apis{margin-top:8px;clear:both} +@media screen and (max-width:60em){#sidebar{position:static;max-width:50em;margin:0 0 2px 0;padding:0;float:none;border:none;width:auto} #suggestions span{display:inline;font-size:.8em} #suggestions form{display:inline} #suggestions input{padding:2px 6px;margin:2px 4px;font-size:.8em;display:inline-block;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0;cursor:pointer}}@media screen and (max-width:680px){#search_wrapper{width:90%;clear:both;overflow:hidden} .right{display:none;postion:fixed !important;top:100px;right:0} #apis{display:none} #categories{font-size:80%;clear:both}#categories .checkbox_container{margin-top:2px;margin:0 2px} .checkbox_container{display:block;width:100%;float:left}.checkbox_container label{border-bottom:0} .result{border-top:1px solid #e8e7e6;margin:7px 0 6px 0}.result img{max-width:90%;width:auto;height:auto}}.favicon{float:left;margin-right:4px;margin-top:2px} diff --git a/searx/static/css/style.less b/searx/static/css/style.less new file mode 100644 index 000000000..c34587322 --- /dev/null +++ b/searx/static/css/style.less @@ -0,0 +1,556 @@ +/* + * searx, A privacy-respecting, hackable metasearch engine + * + * To convert "style.less" to "style.css" run: $make styles + */ + +@import "definitions.less"; + +@import "mixins.less"; + +// Main LESS-Code + +html { + font-family: sans-serif; + font-size: 0.9em; + .text-size-adjust; + color: @color-font; + padding: 0; + margin: 0; +} + +body, #container { + padding: 0; + margin: 0; +} + +#container { + width: 100%; + position: absolute; + top: 0; +} + +.row { + max-width: 800px; + margin: auto; + text-align: justify; + + h1 { + font-size: 3em; + margin-top: 50px; + } + + p { + padding: 0 10px; + max-width: 700px; + } + + h3,ul { + margin: 4px 8px; + } +} + +.hmarg { + margin: 0 20px; + border: 1px solid @color-hmarg-border; + padding: 4px 10px; +} + +a { + &:link.hmarg { + color: @color-hmarg-font; + } + + &:visited.hmarg { + color: @color-hmarg-font; + } + + &:active.hmarg { + color: @color-hmarg-font-hover; + } + + &:hover.hmarg { + color: @color-hmarg-font-hover; + } +} + +.top_margin { + margin-top: 60px; +} + +.center { + text-align: center; +} + +h1 { + font-size: 5em; +} + +div.title { + background: url('/static/img/searx.png') no-repeat; + width: 100%; + background-position: center; + + h1 { + visibility: hidden; + } +} + +input[type="submit"] { + padding: 2px 6px; + margin: 2px 4px; + display: inline-block; + background: @color-download-button-background; + color: @color-download-button-font; + .rounded-corners; + border: 0; + cursor: pointer; +} + +input[type="checkbox"] { + visibility: hidden; +} + +fieldset { + margin: 8px; + border: 1px solid @color-settings-fieldset; +} + +#categories { + margin: 0 10px; +} + +.checkbox_container { + display: inline-block; + position: relative; + margin: 0 3px; + padding: 0px; + + input { + display: none; + } +} + +.checkbox_container label, .engine_checkbox label { + cursor: pointer; + padding: 4px 10px; + margin: 0; + display: block; + text-transform: capitalize; + .user-select; +} + +.checkbox_container input[type="checkbox"]:checked + label { + background: @color-categories-item-selected; + color: @font-color-categories-item-selected; +} + +.search { + .checkbox_container label { + border-bottom: 4px solid @color-categories-item-border-unselected; + } + + .checkbox_container label:hover { + border-bottom: 4px solid @color-categories-item-border-unselected-hover; + } + + .checkbox_container input[type="checkbox"]:checked + label { + border-bottom: 4px solid @color-categories-item-border-selected; + } +} + +.engine_checkbox { + padding: 4px; +} + +label { + &.allow { + background: @color-settings-label-allowed-background; + padding: 4px 8px; + color: @color-settings-label-allowed-font; + display: none; + } + + &.deny { + background: @color-settings-label-deny-background; + padding: 4px 8px; + color: @color-settings-label-deny-font; + display: inline; + } +} + +.engine_checkbox input[type="checkbox"]:checked + label { + &:nth-child(2) + label { + display: none; + } + + &.allow { + display: inline; + } +} + +a { + text-decoration: none; + color: @color-url-font; + + &:visited { + color: @color-url-visited-font; + } +} + +.result { + margin: 19px 0 18px 0; + padding: 0; + max-width: 55em; + clear: both; +} + +.result_title { + margin-bottom: 0; + + a { + color: @color-result-link-font; + font-weight: normal; + font-size: 1.1em; + + &:hover { + text-decoration: underline; + } + + &:visited { + color: @color-result-link-visited-font; + } + } +} + +.result { + h3 { + font-size: 1em; + word-wrap:break-word; + margin: 5px 0 1px 0; + padding: 0 + } + + .content { + font-size: 0.8em; + margin: 0; + padding: 0; + max-width: 54em; + word-wrap:break-word; + line-height: 1.24; + } + + .url { + font-size: 0.8em; + margin: 3px 0 0 0; + padding: 0; + max-width: 54em; + word-wrap:break-word; + color: @color-result-url-font; + } +} + +.engines { + color: @color-engines-font; +} + +.small_font { + font-size: 0.8em; +} + +.small p { + margin: 2px 0; +} + +.search { + background: @color-result-search-background; + padding: 0; + margin: 0 +} + +.right { + float: right; +} + +.invisible { + display: none; +} + +.left { + float: left; +} + +.image_result { + float: left; + margin: 10px 10px; + position: relative; + height: 160px; + + img { + border: 0; + height: 160px; + } + + p { + margin: 0; + padding: 0; + + span a { + display: none; + color: @color-result-image-span-font; + } + + &:hover span a { + display: block; + position: absolute; + bottom: 0; + right: 0; + padding: 4px; + background-color: @color-result-image-span-background-hover; + font-size: 0.7em; + } + } +} + +.torrent_result { + border-left: 10px solid @color-result-torrent-border; + padding-left: 3px; + + p { + margin: 3px; + font-size: 0.8em; + } +} + +.definition_result { + border-left: 10px solid @color-result-definition-border; + padding-left: 3px; +} + +.percentage { + position: relative; + width: 300px; + + div { + background: @color-percentage-div-background; + } +} + +table { + width: 100%; +} + +td { + padding: 0 4px; +} + +tr { + &:hover { + background: @color-settings-tr-hover; + } +} + +#search_wrapper { + position: relative; + max-width: 600px; + padding: 10px; +} + +.center #search_wrapper { + margin-left: auto; + margin-right: auto; +} + +.q { + background: none repeat scroll 0 0 @color-search-background; + border: 1px solid @color-search-border; + color: @color-search-font; + font-size: 16px; + height: 28px; + margin: 0; + outline: medium none; + padding: 2px; + padding-left: 8px; + padding-right: 0px !important; + width: 100%; + z-index: 2; +} + +#search_submit { + position: absolute; + top: 13px; + right: 1px; + padding: 0; + border: 0; + background: url('/static/img/search-icon.png') no-repeat; + background-size: 24px 24px; + opacity: 0.8; + width: 24px; + height: 30px; + font-size: 0; +} + +#results { + margin: 10px; + padding: 0; + margin-bottom: 20px; +} + +#sidebar { + position: absolute; + left: 54em; + width: 15em; + margin: 0 2px 5px 5px; + padding: 0 2px 2px 2px; +} + +#suggestions { + span { + display: block; + margin: 0 2px 2px 2px; + padding: 0; + } + + form { + display: block; + } + + input { + padding: 2px 6px; + margin: 2px 4px; + font-size: 0.8em; + display: inline-block; + background: @color-suggestions-button-background; + color: @color-suggestions-button-font; + .rounded-corners; + border: 0; + cursor: pointer; + } +} + +#search_url { + margin-top: 8px; + + input { + border: 1px solid @color-result-search-url-border; + padding: 4px; + color: @color-result-search-url-font; + width: 20em; + display: block; + margin: 4px; + } +} + +#preferences { + top: 10px; + padding: 0; + border: 0; + background: url('/static/img/preference-icon.png') no-repeat; + background-size: 28px 28px; + opacity: 0.8; + width: 28px; + height: 30px; + display: block; + + * { + display: none; + } +} + +#pagination { + clear: both; +} + +#apis { + margin-top: 8px; + clear: both; +} + +@media screen and (max-width: 60em) { + #sidebar { + position: static; + max-width: 50em; + margin: 0 0 2px 0; + padding: 0; + float: none; + border: none; + width: auto + } + + #suggestions { + span { + display: inline; + font-size: 0.8em + } + + form { + display: inline; + } + + input { + padding: 2px 6px; + margin: 2px 4px; + font-size: 0.8em; + display: inline-block; + .rounded-corners; + border: 0; + cursor: pointer; + } + } +} + +@media screen and (max-width: 680px) { + #search_wrapper { + width: 90%; + clear:both; + overflow: hidden + } + + .right { + display: none; + postion: fixed !important; + top: 100px; + right: 0px; + } + + #apis { + display: none; + } + + #categories { + font-size: 80%; + clear: both; + + .checkbox_container { + margin-top: 2px; + margin: 0 2px; + } + } + + .checkbox_container { + display: block; + width: 100%; + float: left; + + label { + border-bottom: 0; + } + } + + .result { + border-top: 1px solid @color-result-top-border; + margin: 7px 0 6px 0; + + img { + max-width: 90%; + width: auto; + height: auto + } + } +} + +.favicon { + float: left; + margin-right: 4px; + margin-top: 2px; +}