Merge pull request #105 from pointhi/template_oscar
new template: oscar
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						| @ -45,6 +45,8 @@ minimal: bin/buildout minimal.cfg setup.py | |||||||
| 
 | 
 | ||||||
| styles: | styles: | ||||||
| 	@lessc -x searx/static/default/less/style.less > searx/static/default/css/style.css | 	@lessc -x searx/static/default/less/style.less > searx/static/default/css/style.css | ||||||
|  | 	@lessc -x searx/static/oscar/less/bootstrap/bootstrap.less > searx/static/oscar/css/bootstrap.min.css | ||||||
|  | 	@lessc -x searx/static/oscar/less/oscar/oscar.less > searx/static/oscar/css/oscar.min.css | ||||||
| 
 | 
 | ||||||
| locales: | locales: | ||||||
| 	@pybabel compile -d searx/translations | 	@pybabel compile -d searx/translations | ||||||
|  | |||||||
| @ -69,11 +69,7 @@ def response(resp): | |||||||
| 
 | 
 | ||||||
|         if result['media$group']['media$thumbnail']: |         if result['media$group']['media$thumbnail']: | ||||||
|             thumbnail = result['media$group']['media$thumbnail'][0]['url'] |             thumbnail = result['media$group']['media$thumbnail'][0]['url'] | ||||||
|             content += '<a href="{0}" title="{0}" ><img src="{1}" /></a>'.format(url, thumbnail)  # noqa |  | ||||||
| 
 | 
 | ||||||
|         if content: |  | ||||||
|             content += '<br />' + result['content']['$t'] |  | ||||||
|         else: |  | ||||||
|         content = result['content']['$t'] |         content = result['content']['$t'] | ||||||
| 
 | 
 | ||||||
|         # append result |         # append result | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								searx/static/courgette/img/icon_dailymotion.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/courgette/img/icon_deviantart.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/default/img/icon_dailymotion.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/default/img/icon_deviantart.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/css/bootstrap.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/css/oscar.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/fonts/glyphicons-halflings-regular.eot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/fonts/glyphicons-halflings-regular.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 62 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/fonts/glyphicons-halflings-regular.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/fonts/glyphicons-halflings-regular.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/favicon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.1 KiB | 
							
								
								
									
										2
									
								
								searx/static/oscar/img/icons/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,2 @@ | |||||||
|  | Source: http://www.iconspedia.com/pack/flat-gradient-social-icons-4384/ | ||||||
|  | License: Free for non commercial use. | ||||||
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/amazon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/dailymotion.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/deviantart.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/facebook.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/flickr.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/github.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.3 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/soundcloud.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/stackoverflow.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/twitter.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/vimeo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/wikipedia.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/icons/youtube.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/img/searx_logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 23 KiB | 
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/js/bootstrap.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/js/html5shiv.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/js/jquery-1.11.1.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/js/respond.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										64
									
								
								searx/static/oscar/js/scripts.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,64 @@ | |||||||
|  | /** | ||||||
|  |  _                 _       _                   | ||||||
|  | | |__   ___   ___ | |_ ___| |_ _ __ __ ___  __ | ||||||
|  | | '_ \ / _ \ / _ \| __/ __| __| '__/ _` \ \/ /
 | ||||||
|  | | |_) | (_) | (_) | |_\__ | |_| | | (_| |>  <  | ||||||
|  | |_.__/ \___/ \___/ \__|___/\__|_|  \__,_/_/\_\.js | ||||||
|  | 
 | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | if(searx.autocompleter) { | ||||||
|  |     searx.searchResults = new Bloodhound({ | ||||||
|  |         datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), | ||||||
|  |         queryTokenizer: Bloodhound.tokenizers.whitespace, | ||||||
|  |         remote: '/autocompleter?q=%QUERY' | ||||||
|  |     }); | ||||||
|  |     searx.searchResults.initialize(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | $(document).ready(function(){ | ||||||
|  |     $('.btn-toggle .btn').click(function() { | ||||||
|  |         var btnClass = 'btn-' + $(this).data('btn-class'); | ||||||
|  |         var btnLabelDefault = $(this).data('btn-label-default'); | ||||||
|  |         var btnLabelToggled = $(this).data('btn-label-toggled'); | ||||||
|  |         if(btnLabelToggled != '') { | ||||||
|  |             if($(this).hasClass('btn-default')) { | ||||||
|  |                  | ||||||
|  |                 var html = $(this).html().replace(btnLabelDefault, btnLabelToggled); | ||||||
|  |             } else { | ||||||
|  |                 var html = $(this).html().replace(btnLabelToggled, btnLabelDefault); | ||||||
|  |             } | ||||||
|  |             $(this).html(html); | ||||||
|  |         } | ||||||
|  |         $(this).toggleClass(btnClass); | ||||||
|  |         $(this).toggleClass('btn-default'); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     $('.btn-collapse').click(function() { | ||||||
|  |         var btnTextCollapsed = $(this).data('btn-text-collapsed'); | ||||||
|  |         var btnTextNotCollapsed = $(this).data('btn-text-not-collapsed'); | ||||||
|  |          | ||||||
|  |         if(btnTextCollapsed != '' && btnTextNotCollapsed != '') { | ||||||
|  |             if($(this).hasClass('collapsed')) { | ||||||
|  |                 var html = $(this).html().replace(btnTextCollapsed, btnTextNotCollapsed); | ||||||
|  |             } else { | ||||||
|  |                 var html = $(this).html().replace(btnTextNotCollapsed, btnTextCollapsed); | ||||||
|  |             } | ||||||
|  |             $(this).html(html); | ||||||
|  |         } | ||||||
|  |     }); | ||||||
|  |      | ||||||
|  |     $(".select-all-on-click").click(function () { | ||||||
|  |         $(this).select(); | ||||||
|  |     }); | ||||||
|  |      | ||||||
|  |     if(searx.autocompleter) { | ||||||
|  |         $('#q').typeahead(null, { | ||||||
|  |             name: 'search-results', | ||||||
|  |             displayKey: function(result) { | ||||||
|  |                 return result; | ||||||
|  |             }, | ||||||
|  |             source: searx.searchResults.ttAdapter() | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  | });   | ||||||
							
								
								
									
										
											BIN
										
									
								
								searx/static/oscar/js/typeahead.bundle.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										297
									
								
								searx/static/oscar/less/bootstrap/.csscomb.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,297 @@ | |||||||
|  | { | ||||||
|  |   "always-semicolon": true, | ||||||
|  |   "block-indent": 2, | ||||||
|  |   "colon-space": [0, 1], | ||||||
|  |   "color-case": "lower", | ||||||
|  |   "color-shorthand": true, | ||||||
|  |   "combinator-space": true, | ||||||
|  |   "element-case": "lower", | ||||||
|  |   "eof-newline": true, | ||||||
|  |   "leading-zero": false, | ||||||
|  |   "remove-empty-rulesets": true, | ||||||
|  |   "rule-indent": 2, | ||||||
|  |   "stick-brace": " ", | ||||||
|  |   "strip-spaces": true, | ||||||
|  |   "unitless-zero": true, | ||||||
|  |   "vendor-prefix-align": true, | ||||||
|  |   "sort-order": [ | ||||||
|  |     [ | ||||||
|  |       "position", | ||||||
|  |       "top", | ||||||
|  |       "right", | ||||||
|  |       "bottom", | ||||||
|  |       "left", | ||||||
|  |       "z-index", | ||||||
|  |       "display", | ||||||
|  |       "float", | ||||||
|  |       "width", | ||||||
|  |       "min-width", | ||||||
|  |       "max-width", | ||||||
|  |       "height", | ||||||
|  |       "min-height", | ||||||
|  |       "max-height", | ||||||
|  |       "-webkit-box-sizing", | ||||||
|  |       "-moz-box-sizing", | ||||||
|  |       "box-sizing", | ||||||
|  |       "-webkit-appearance", | ||||||
|  |       "padding", | ||||||
|  |       "padding-top", | ||||||
|  |       "padding-right", | ||||||
|  |       "padding-bottom", | ||||||
|  |       "padding-left", | ||||||
|  |       "margin", | ||||||
|  |       "margin-top", | ||||||
|  |       "margin-right", | ||||||
|  |       "margin-bottom", | ||||||
|  |       "margin-left", | ||||||
|  |       "overflow", | ||||||
|  |       "overflow-x", | ||||||
|  |       "overflow-y", | ||||||
|  |       "-webkit-overflow-scrolling", | ||||||
|  |       "-ms-overflow-x", | ||||||
|  |       "-ms-overflow-y", | ||||||
|  |       "-ms-overflow-style", | ||||||
|  |       "clip", | ||||||
|  |       "clear", | ||||||
|  |       "font", | ||||||
|  |       "font-family", | ||||||
|  |       "font-size", | ||||||
|  |       "font-style", | ||||||
|  |       "font-weight", | ||||||
|  |       "font-variant", | ||||||
|  |       "font-size-adjust", | ||||||
|  |       "font-stretch", | ||||||
|  |       "font-effect", | ||||||
|  |       "font-emphasize", | ||||||
|  |       "font-emphasize-position", | ||||||
|  |       "font-emphasize-style", | ||||||
|  |       "font-smooth", | ||||||
|  |       "-webkit-hyphens", | ||||||
|  |       "-moz-hyphens", | ||||||
|  |       "hyphens", | ||||||
|  |       "line-height", | ||||||
|  |       "color", | ||||||
|  |       "text-align", | ||||||
|  |       "-webkit-text-align-last", | ||||||
|  |       "-moz-text-align-last", | ||||||
|  |       "-ms-text-align-last", | ||||||
|  |       "text-align-last", | ||||||
|  |       "text-emphasis", | ||||||
|  |       "text-emphasis-color", | ||||||
|  |       "text-emphasis-style", | ||||||
|  |       "text-emphasis-position", | ||||||
|  |       "text-decoration", | ||||||
|  |       "text-indent", | ||||||
|  |       "text-justify", | ||||||
|  |       "text-outline", | ||||||
|  |       "-ms-text-overflow", | ||||||
|  |       "text-overflow", | ||||||
|  |       "text-overflow-ellipsis", | ||||||
|  |       "text-overflow-mode", | ||||||
|  |       "text-shadow", | ||||||
|  |       "text-transform", | ||||||
|  |       "text-wrap", | ||||||
|  |       "-webkit-text-size-adjust", | ||||||
|  |       "-ms-text-size-adjust", | ||||||
|  |       "letter-spacing", | ||||||
|  |       "-ms-word-break", | ||||||
|  |       "word-break", | ||||||
|  |       "word-spacing", | ||||||
|  |       "-ms-word-wrap", | ||||||
|  |       "word-wrap", | ||||||
|  |       "-moz-tab-size", | ||||||
|  |       "-o-tab-size", | ||||||
|  |       "tab-size", | ||||||
|  |       "white-space", | ||||||
|  |       "vertical-align", | ||||||
|  |       "list-style", | ||||||
|  |       "list-style-position", | ||||||
|  |       "list-style-type", | ||||||
|  |       "list-style-image", | ||||||
|  |       "pointer-events", | ||||||
|  |       "cursor", | ||||||
|  |       "visibility", | ||||||
|  |       "zoom", | ||||||
|  |       "flex-direction", | ||||||
|  |       "flex-order", | ||||||
|  |       "flex-pack", | ||||||
|  |       "flex-align", | ||||||
|  |       "table-layout", | ||||||
|  |       "empty-cells", | ||||||
|  |       "caption-side", | ||||||
|  |       "border-spacing", | ||||||
|  |       "border-collapse", | ||||||
|  |       "content", | ||||||
|  |       "quotes", | ||||||
|  |       "counter-reset", | ||||||
|  |       "counter-increment", | ||||||
|  |       "resize", | ||||||
|  |       "-webkit-user-select", | ||||||
|  |       "-moz-user-select", | ||||||
|  |       "-ms-user-select", | ||||||
|  |       "-o-user-select", | ||||||
|  |       "user-select", | ||||||
|  |       "nav-index", | ||||||
|  |       "nav-up", | ||||||
|  |       "nav-right", | ||||||
|  |       "nav-down", | ||||||
|  |       "nav-left", | ||||||
|  |       "background", | ||||||
|  |       "background-color", | ||||||
|  |       "background-image", | ||||||
|  |       "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient", | ||||||
|  |       "filter:progid:DXImageTransform.Microsoft.gradient", | ||||||
|  |       "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader", | ||||||
|  |       "filter", | ||||||
|  |       "background-repeat", | ||||||
|  |       "background-attachment", | ||||||
|  |       "background-position", | ||||||
|  |       "background-position-x", | ||||||
|  |       "background-position-y", | ||||||
|  |       "-webkit-background-clip", | ||||||
|  |       "-moz-background-clip", | ||||||
|  |       "background-clip", | ||||||
|  |       "background-origin", | ||||||
|  |       "-webkit-background-size", | ||||||
|  |       "-moz-background-size", | ||||||
|  |       "-o-background-size", | ||||||
|  |       "background-size", | ||||||
|  |       "border", | ||||||
|  |       "border-color", | ||||||
|  |       "border-style", | ||||||
|  |       "border-width", | ||||||
|  |       "border-top", | ||||||
|  |       "border-top-color", | ||||||
|  |       "border-top-style", | ||||||
|  |       "border-top-width", | ||||||
|  |       "border-right", | ||||||
|  |       "border-right-color", | ||||||
|  |       "border-right-style", | ||||||
|  |       "border-right-width", | ||||||
|  |       "border-bottom", | ||||||
|  |       "border-bottom-color", | ||||||
|  |       "border-bottom-style", | ||||||
|  |       "border-bottom-width", | ||||||
|  |       "border-left", | ||||||
|  |       "border-left-color", | ||||||
|  |       "border-left-style", | ||||||
|  |       "border-left-width", | ||||||
|  |       "border-radius", | ||||||
|  |       "border-top-left-radius", | ||||||
|  |       "border-top-right-radius", | ||||||
|  |       "border-bottom-right-radius", | ||||||
|  |       "border-bottom-left-radius", | ||||||
|  |       "-webkit-border-image", | ||||||
|  |       "-moz-border-image", | ||||||
|  |       "-o-border-image", | ||||||
|  |       "border-image", | ||||||
|  |       "-webkit-border-image-source", | ||||||
|  |       "-moz-border-image-source", | ||||||
|  |       "-o-border-image-source", | ||||||
|  |       "border-image-source", | ||||||
|  |       "-webkit-border-image-slice", | ||||||
|  |       "-moz-border-image-slice", | ||||||
|  |       "-o-border-image-slice", | ||||||
|  |       "border-image-slice", | ||||||
|  |       "-webkit-border-image-width", | ||||||
|  |       "-moz-border-image-width", | ||||||
|  |       "-o-border-image-width", | ||||||
|  |       "border-image-width", | ||||||
|  |       "-webkit-border-image-outset", | ||||||
|  |       "-moz-border-image-outset", | ||||||
|  |       "-o-border-image-outset", | ||||||
|  |       "border-image-outset", | ||||||
|  |       "-webkit-border-image-repeat", | ||||||
|  |       "-moz-border-image-repeat", | ||||||
|  |       "-o-border-image-repeat", | ||||||
|  |       "border-image-repeat", | ||||||
|  |       "outline", | ||||||
|  |       "outline-width", | ||||||
|  |       "outline-style", | ||||||
|  |       "outline-color", | ||||||
|  |       "outline-offset", | ||||||
|  |       "-webkit-box-shadow", | ||||||
|  |       "-moz-box-shadow", | ||||||
|  |       "box-shadow", | ||||||
|  |       "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity", | ||||||
|  |       "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha", | ||||||
|  |       "opacity", | ||||||
|  |       "-ms-interpolation-mode", | ||||||
|  |       "-webkit-transition", | ||||||
|  |       "-moz-transition", | ||||||
|  |       "-ms-transition", | ||||||
|  |       "-o-transition", | ||||||
|  |       "transition", | ||||||
|  |       "-webkit-transition-delay", | ||||||
|  |       "-moz-transition-delay", | ||||||
|  |       "-ms-transition-delay", | ||||||
|  |       "-o-transition-delay", | ||||||
|  |       "transition-delay", | ||||||
|  |       "-webkit-transition-timing-function", | ||||||
|  |       "-moz-transition-timing-function", | ||||||
|  |       "-ms-transition-timing-function", | ||||||
|  |       "-o-transition-timing-function", | ||||||
|  |       "transition-timing-function", | ||||||
|  |       "-webkit-transition-duration", | ||||||
|  |       "-moz-transition-duration", | ||||||
|  |       "-ms-transition-duration", | ||||||
|  |       "-o-transition-duration", | ||||||
|  |       "transition-duration", | ||||||
|  |       "-webkit-transition-property", | ||||||
|  |       "-moz-transition-property", | ||||||
|  |       "-ms-transition-property", | ||||||
|  |       "-o-transition-property", | ||||||
|  |       "transition-property", | ||||||
|  |       "-webkit-transform", | ||||||
|  |       "-moz-transform", | ||||||
|  |       "-ms-transform", | ||||||
|  |       "-o-transform", | ||||||
|  |       "transform", | ||||||
|  |       "-webkit-transform-origin", | ||||||
|  |       "-moz-transform-origin", | ||||||
|  |       "-ms-transform-origin", | ||||||
|  |       "-o-transform-origin", | ||||||
|  |       "transform-origin", | ||||||
|  |       "-webkit-animation", | ||||||
|  |       "-moz-animation", | ||||||
|  |       "-ms-animation", | ||||||
|  |       "-o-animation", | ||||||
|  |       "animation", | ||||||
|  |       "-webkit-animation-name", | ||||||
|  |       "-moz-animation-name", | ||||||
|  |       "-ms-animation-name", | ||||||
|  |       "-o-animation-name", | ||||||
|  |       "animation-name", | ||||||
|  |       "-webkit-animation-duration", | ||||||
|  |       "-moz-animation-duration", | ||||||
|  |       "-ms-animation-duration", | ||||||
|  |       "-o-animation-duration", | ||||||
|  |       "animation-duration", | ||||||
|  |       "-webkit-animation-play-state", | ||||||
|  |       "-moz-animation-play-state", | ||||||
|  |       "-ms-animation-play-state", | ||||||
|  |       "-o-animation-play-state", | ||||||
|  |       "animation-play-state", | ||||||
|  |       "-webkit-animation-timing-function", | ||||||
|  |       "-moz-animation-timing-function", | ||||||
|  |       "-ms-animation-timing-function", | ||||||
|  |       "-o-animation-timing-function", | ||||||
|  |       "animation-timing-function", | ||||||
|  |       "-webkit-animation-delay", | ||||||
|  |       "-moz-animation-delay", | ||||||
|  |       "-ms-animation-delay", | ||||||
|  |       "-o-animation-delay", | ||||||
|  |       "animation-delay", | ||||||
|  |       "-webkit-animation-iteration-count", | ||||||
|  |       "-moz-animation-iteration-count", | ||||||
|  |       "-ms-animation-iteration-count", | ||||||
|  |       "-o-animation-iteration-count", | ||||||
|  |       "animation-iteration-count", | ||||||
|  |       "-webkit-animation-direction", | ||||||
|  |       "-moz-animation-direction", | ||||||
|  |       "-ms-animation-direction", | ||||||
|  |       "-o-animation-direction", | ||||||
|  |       "animation-direction" | ||||||
|  |     ] | ||||||
|  |   ] | ||||||
|  | } | ||||||
							
								
								
									
										19
									
								
								searx/static/oscar/less/bootstrap/.csslintrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,19 @@ | |||||||
|  | { | ||||||
|  |   "adjoining-classes": false, | ||||||
|  |   "box-sizing": false, | ||||||
|  |   "box-model": false, | ||||||
|  |   "compatible-vendor-prefixes": false, | ||||||
|  |   "floats": false, | ||||||
|  |   "font-sizes": false, | ||||||
|  |   "gradients": false, | ||||||
|  |   "important": false, | ||||||
|  |   "known-properties": false, | ||||||
|  |   "outline-none": false, | ||||||
|  |   "qualified-headings": false, | ||||||
|  |   "regex-selectors": false, | ||||||
|  |   "shorthand": false, | ||||||
|  |   "text-indent": false, | ||||||
|  |   "unique-headings": false, | ||||||
|  |   "universal-selector": false, | ||||||
|  |   "unqualified-attributes": false | ||||||
|  | } | ||||||
							
								
								
									
										68
									
								
								searx/static/oscar/less/bootstrap/alerts.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,68 @@ | |||||||
|  | // | ||||||
|  | // Alerts | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Base styles | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | .alert { | ||||||
|  |   padding: @alert-padding; | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  |   border: 1px solid transparent; | ||||||
|  |   border-radius: @alert-border-radius; | ||||||
|  | 
 | ||||||
|  |   // Headings for larger alerts | ||||||
|  |   h4 { | ||||||
|  |     margin-top: 0; | ||||||
|  |     // Specified for the h4 to prevent conflicts of changing @headings-color | ||||||
|  |     color: inherit; | ||||||
|  |   } | ||||||
|  |   // Provide class for links that match alerts | ||||||
|  |   .alert-link { | ||||||
|  |     font-weight: @alert-link-font-weight; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Improve alignment and spacing of inner content | ||||||
|  |   > p, | ||||||
|  |   > ul { | ||||||
|  |     margin-bottom: 0; | ||||||
|  |   } | ||||||
|  |   > p + p { | ||||||
|  |     margin-top: 5px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Dismissible alerts | ||||||
|  | // | ||||||
|  | // Expand the right padding and account for the close button's positioning. | ||||||
|  | 
 | ||||||
|  | .alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. | ||||||
|  | .alert-dismissible { | ||||||
|  |   padding-right: (@alert-padding + 20); | ||||||
|  | 
 | ||||||
|  |   // Adjust close link position | ||||||
|  |   .close { | ||||||
|  |     position: relative; | ||||||
|  |     top: -2px; | ||||||
|  |     right: -21px; | ||||||
|  |     color: inherit; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Alternate styles | ||||||
|  | // | ||||||
|  | // Generate contextual modifier classes for colorizing the alert. | ||||||
|  | 
 | ||||||
|  | .alert-success { | ||||||
|  |   .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); | ||||||
|  | } | ||||||
|  | .alert-info { | ||||||
|  |   .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); | ||||||
|  | } | ||||||
|  | .alert-warning { | ||||||
|  |   .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); | ||||||
|  | } | ||||||
|  | .alert-danger { | ||||||
|  |   .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); | ||||||
|  | } | ||||||
							
								
								
									
										55
									
								
								searx/static/oscar/less/bootstrap/badges.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,55 @@ | |||||||
|  | // | ||||||
|  | // Badges | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Base class | ||||||
|  | .badge { | ||||||
|  |   display: inline-block; | ||||||
|  |   min-width: 10px; | ||||||
|  |   padding: 3px 7px; | ||||||
|  |   font-size: @font-size-small; | ||||||
|  |   font-weight: @badge-font-weight; | ||||||
|  |   color: @badge-color; | ||||||
|  |   line-height: @badge-line-height; | ||||||
|  |   vertical-align: baseline; | ||||||
|  |   white-space: nowrap; | ||||||
|  |   text-align: center; | ||||||
|  |   background-color: @badge-bg; | ||||||
|  |   border-radius: @badge-border-radius; | ||||||
|  | 
 | ||||||
|  |   // Empty badges collapse automatically (not available in IE8) | ||||||
|  |   &:empty { | ||||||
|  |     display: none; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Quick fix for badges in buttons | ||||||
|  |   .btn & { | ||||||
|  |     position: relative; | ||||||
|  |     top: -1px; | ||||||
|  |   } | ||||||
|  |   .btn-xs & { | ||||||
|  |     top: 0; | ||||||
|  |     padding: 1px 5px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Hover state, but only for links | ||||||
|  |   a& { | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       color: @badge-link-hover-color; | ||||||
|  |       text-decoration: none; | ||||||
|  |       cursor: pointer; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Account for badges in navs | ||||||
|  |   a.list-group-item.active > &, | ||||||
|  |   .nav-pills > .active > a > & { | ||||||
|  |     color: @badge-active-color; | ||||||
|  |     background-color: @badge-active-bg; | ||||||
|  |   } | ||||||
|  |   .nav-pills > li > a > & { | ||||||
|  |     margin-left: 3px; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										53
									
								
								searx/static/oscar/less/bootstrap/bootstrap.less
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,53 @@ | |||||||
|  | // Core variables and mixins | ||||||
|  | @import "variables.less"; | ||||||
|  | @import "mixins.less"; | ||||||
|  | 
 | ||||||
|  | // Reset and dependencies | ||||||
|  | @import "normalize.less"; | ||||||
|  | @import "print.less"; | ||||||
|  | @import "glyphicons.less"; | ||||||
|  | 
 | ||||||
|  | // Core CSS | ||||||
|  | @import "scaffolding.less"; | ||||||
|  | @import "type.less"; | ||||||
|  | @import "code.less"; | ||||||
|  | @import "grid.less"; | ||||||
|  | @import "tables.less"; | ||||||
|  | @import "forms.less"; | ||||||
|  | @import "buttons.less"; | ||||||
|  | 
 | ||||||
|  | // Components | ||||||
|  | @import "component-animations.less"; | ||||||
|  | @import "dropdowns.less"; | ||||||
|  | @import "button-groups.less"; | ||||||
|  | @import "input-groups.less"; | ||||||
|  | @import "navs.less"; | ||||||
|  | @import "navbar.less"; | ||||||
|  | @import "breadcrumbs.less"; | ||||||
|  | @import "pagination.less"; | ||||||
|  | @import "pager.less"; | ||||||
|  | @import "labels.less"; | ||||||
|  | @import "badges.less"; | ||||||
|  | @import "jumbotron.less"; | ||||||
|  | @import "thumbnails.less"; | ||||||
|  | @import "alerts.less"; | ||||||
|  | @import "progress-bars.less"; | ||||||
|  | @import "media.less"; | ||||||
|  | @import "list-group.less"; | ||||||
|  | @import "panels.less"; | ||||||
|  | @import "responsive-embed.less"; | ||||||
|  | @import "wells.less"; | ||||||
|  | @import "close.less"; | ||||||
|  | 
 | ||||||
|  | // Components w/ JavaScript | ||||||
|  | @import "modals.less"; | ||||||
|  | @import "tooltip.less"; | ||||||
|  | @import "popovers.less"; | ||||||
|  | @import "carousel.less"; | ||||||
|  | 
 | ||||||
|  | // Utility classes | ||||||
|  | @import "utilities.less"; | ||||||
|  | @import "responsive-utilities.less"; | ||||||
|  | 
 | ||||||
|  | // own additions | ||||||
|  | @import "typeahead.less"; | ||||||
							
								
								
									
										26
									
								
								searx/static/oscar/less/bootstrap/breadcrumbs.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,26 @@ | |||||||
|  | // | ||||||
|  | // Breadcrumbs | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .breadcrumb { | ||||||
|  |   padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  |   list-style: none; | ||||||
|  |   background-color: @breadcrumb-bg; | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  | 
 | ||||||
|  |   > li { | ||||||
|  |     display: inline-block; | ||||||
|  | 
 | ||||||
|  |     + li:before { | ||||||
|  |       content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space | ||||||
|  |       padding: 0 5px; | ||||||
|  |       color: @breadcrumb-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .active { | ||||||
|  |     color: @breadcrumb-active-color; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										240
									
								
								searx/static/oscar/less/bootstrap/button-groups.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,240 @@ | |||||||
|  | // | ||||||
|  | // Button groups | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Make the div behave like a button | ||||||
|  | .btn-group, | ||||||
|  | .btn-group-vertical { | ||||||
|  |   position: relative; | ||||||
|  |   display: inline-block; | ||||||
|  |   vertical-align: middle; // match .btn alignment given font-size hack above | ||||||
|  |   > .btn { | ||||||
|  |     position: relative; | ||||||
|  |     float: left; | ||||||
|  |     // Bring the "active" button to the front | ||||||
|  |     &:hover, | ||||||
|  |     &:focus, | ||||||
|  |     &:active, | ||||||
|  |     &.active { | ||||||
|  |       z-index: 2; | ||||||
|  |     } | ||||||
|  |     &:focus { | ||||||
|  |       // Remove focus outline when dropdown JS adds it after closing the menu | ||||||
|  |       outline: 0; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Prevent double borders when buttons are next to each other | ||||||
|  | .btn-group { | ||||||
|  |   .btn + .btn, | ||||||
|  |   .btn + .btn-group, | ||||||
|  |   .btn-group + .btn, | ||||||
|  |   .btn-group + .btn-group { | ||||||
|  |     margin-left: -1px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Optional: Group multiple button groups together for a toolbar | ||||||
|  | .btn-toolbar { | ||||||
|  |   margin-left: -5px; // Offset the first child's margin | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  | 
 | ||||||
|  |   .btn-group, | ||||||
|  |   .input-group { | ||||||
|  |     float: left; | ||||||
|  |   } | ||||||
|  |   > .btn, | ||||||
|  |   > .btn-group, | ||||||
|  |   > .input-group { | ||||||
|  |     margin-left: 5px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { | ||||||
|  |   border-radius: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match | ||||||
|  | .btn-group > .btn:first-child { | ||||||
|  |   margin-left: 0; | ||||||
|  |   &:not(:last-child):not(.dropdown-toggle) { | ||||||
|  |     .border-right-radius(0); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it | ||||||
|  | .btn-group > .btn:last-child:not(:first-child), | ||||||
|  | .btn-group > .dropdown-toggle:not(:first-child) { | ||||||
|  |   .border-left-radius(0); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) | ||||||
|  | .btn-group > .btn-group { | ||||||
|  |   float: left; | ||||||
|  | } | ||||||
|  | .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { | ||||||
|  |   border-radius: 0; | ||||||
|  | } | ||||||
|  | .btn-group > .btn-group:first-child { | ||||||
|  |   > .btn:last-child, | ||||||
|  |   > .dropdown-toggle { | ||||||
|  |     .border-right-radius(0); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .btn-group > .btn-group:last-child > .btn:first-child { | ||||||
|  |   .border-left-radius(0); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // On active and open, don't show outline | ||||||
|  | .btn-group .dropdown-toggle:active, | ||||||
|  | .btn-group.open .dropdown-toggle { | ||||||
|  |   outline: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Sizing | ||||||
|  | // | ||||||
|  | // Remix the default button sizing classes into new ones for easier manipulation. | ||||||
|  | 
 | ||||||
|  | .btn-group-xs > .btn { &:extend(.btn-xs); } | ||||||
|  | .btn-group-sm > .btn { &:extend(.btn-sm); } | ||||||
|  | .btn-group-lg > .btn { &:extend(.btn-lg); } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Split button dropdowns | ||||||
|  | // ---------------------- | ||||||
|  | 
 | ||||||
|  | // Give the line between buttons some depth | ||||||
|  | .btn-group > .btn + .dropdown-toggle { | ||||||
|  |   padding-left: 8px; | ||||||
|  |   padding-right: 8px; | ||||||
|  | } | ||||||
|  | .btn-group > .btn-lg + .dropdown-toggle { | ||||||
|  |   padding-left: 12px; | ||||||
|  |   padding-right: 12px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // The clickable button for toggling the menu | ||||||
|  | // Remove the gradient and set the same inset shadow as the :active state | ||||||
|  | .btn-group.open .dropdown-toggle { | ||||||
|  |   .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); | ||||||
|  | 
 | ||||||
|  |   // Show no shadow for `.btn-link` since it has no other button styles. | ||||||
|  |   &.btn-link { | ||||||
|  |     .box-shadow(none); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Reposition the caret | ||||||
|  | .btn .caret { | ||||||
|  |   margin-left: 0; | ||||||
|  | } | ||||||
|  | // Carets in other button sizes | ||||||
|  | .btn-lg .caret { | ||||||
|  |   border-width: @caret-width-large @caret-width-large 0; | ||||||
|  |   border-bottom-width: 0; | ||||||
|  | } | ||||||
|  | // Upside down carets for .dropup | ||||||
|  | .dropup .btn-lg .caret { | ||||||
|  |   border-width: 0 @caret-width-large @caret-width-large; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Vertical button groups | ||||||
|  | // ---------------------- | ||||||
|  | 
 | ||||||
|  | .btn-group-vertical { | ||||||
|  |   > .btn, | ||||||
|  |   > .btn-group, | ||||||
|  |   > .btn-group > .btn { | ||||||
|  |     display: block; | ||||||
|  |     float: none; | ||||||
|  |     width: 100%; | ||||||
|  |     max-width: 100%; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Clear floats so dropdown menus can be properly placed | ||||||
|  |   > .btn-group { | ||||||
|  |     &:extend(.clearfix all); | ||||||
|  |     > .btn { | ||||||
|  |       float: none; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .btn + .btn, | ||||||
|  |   > .btn + .btn-group, | ||||||
|  |   > .btn-group + .btn, | ||||||
|  |   > .btn-group + .btn-group { | ||||||
|  |     margin-top: -1px; | ||||||
|  |     margin-left: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .btn-group-vertical > .btn { | ||||||
|  |   &:not(:first-child):not(:last-child) { | ||||||
|  |     border-radius: 0; | ||||||
|  |   } | ||||||
|  |   &:first-child:not(:last-child) { | ||||||
|  |     border-top-right-radius: @border-radius-base; | ||||||
|  |     .border-bottom-radius(0); | ||||||
|  |   } | ||||||
|  |   &:last-child:not(:first-child) { | ||||||
|  |     border-bottom-left-radius: @border-radius-base; | ||||||
|  |     .border-top-radius(0); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { | ||||||
|  |   border-radius: 0; | ||||||
|  | } | ||||||
|  | .btn-group-vertical > .btn-group:first-child:not(:last-child) { | ||||||
|  |   > .btn:last-child, | ||||||
|  |   > .dropdown-toggle { | ||||||
|  |     .border-bottom-radius(0); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { | ||||||
|  |   .border-top-radius(0); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Justified button groups | ||||||
|  | // ---------------------- | ||||||
|  | 
 | ||||||
|  | .btn-group-justified { | ||||||
|  |   display: table; | ||||||
|  |   width: 100%; | ||||||
|  |   table-layout: fixed; | ||||||
|  |   border-collapse: separate; | ||||||
|  |   > .btn, | ||||||
|  |   > .btn-group { | ||||||
|  |     float: none; | ||||||
|  |     display: table-cell; | ||||||
|  |     width: 1%; | ||||||
|  |   } | ||||||
|  |   > .btn-group .btn { | ||||||
|  |     width: 100%; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .btn-group .dropdown-menu { | ||||||
|  |     left: auto; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Checkbox and radio options | ||||||
|  | // | ||||||
|  | // In order to support the browser's form validation feedback, powered by the | ||||||
|  | // `required` attribute, we have to "hide" the inputs via `opacity`. We cannot | ||||||
|  | // use `display: none;` or `visibility: hidden;` as that also hides the popover. | ||||||
|  | // This way, we ensure a DOM element is visible to position the popover from. | ||||||
|  | // | ||||||
|  | // See https://github.com/twbs/bootstrap/pull/12794 for more. | ||||||
|  | 
 | ||||||
|  | [data-toggle="buttons"] > .btn > input[type="radio"], | ||||||
|  | [data-toggle="buttons"] > .btn > input[type="checkbox"] { | ||||||
|  |   position: absolute; | ||||||
|  |   z-index: -1; | ||||||
|  |   .opacity(0); | ||||||
|  | } | ||||||
							
								
								
									
										157
									
								
								searx/static/oscar/less/bootstrap/buttons.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,157 @@ | |||||||
|  | // | ||||||
|  | // Buttons | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Base styles | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .btn { | ||||||
|  |   display: inline-block; | ||||||
|  |   margin-bottom: 0; // For input.btn | ||||||
|  |   font-weight: @btn-font-weight; | ||||||
|  |   text-align: center; | ||||||
|  |   vertical-align: middle; | ||||||
|  |   cursor: pointer; | ||||||
|  |   background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 | ||||||
|  |   border: 1px solid transparent; | ||||||
|  |   white-space: nowrap; | ||||||
|  |   .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base); | ||||||
|  |   .user-select(none); | ||||||
|  | 
 | ||||||
|  |   &, | ||||||
|  |   &:active, | ||||||
|  |   &.active { | ||||||
|  |     &:focus { | ||||||
|  |       .tab-focus(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     color: @btn-default-color; | ||||||
|  |     text-decoration: none; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &:active, | ||||||
|  |   &.active { | ||||||
|  |     outline: 0; | ||||||
|  |     background-image: none; | ||||||
|  |     .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &.disabled, | ||||||
|  |   &[disabled], | ||||||
|  |   fieldset[disabled] & { | ||||||
|  |     cursor: not-allowed; | ||||||
|  |     pointer-events: none; // Future-proof disabling of clicks | ||||||
|  |     .opacity(.65); | ||||||
|  |     .box-shadow(none); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Alternate buttons | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .btn-default { | ||||||
|  |   .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); | ||||||
|  | } | ||||||
|  | .btn-primary { | ||||||
|  |   .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); | ||||||
|  | } | ||||||
|  | // Success appears as green | ||||||
|  | .btn-success { | ||||||
|  |   .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); | ||||||
|  | } | ||||||
|  | // Info appears as blue-green | ||||||
|  | .btn-info { | ||||||
|  |   .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); | ||||||
|  | } | ||||||
|  | // Warning appears as orange | ||||||
|  | .btn-warning { | ||||||
|  |   .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); | ||||||
|  | } | ||||||
|  | // Danger and error appear as red | ||||||
|  | .btn-danger { | ||||||
|  |   .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Link buttons | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | // Make a button look and behave like a link | ||||||
|  | .btn-link { | ||||||
|  |   color: @link-color; | ||||||
|  |   font-weight: normal; | ||||||
|  |   cursor: pointer; | ||||||
|  |   border-radius: 0; | ||||||
|  | 
 | ||||||
|  |   &, | ||||||
|  |   &:active, | ||||||
|  |   &[disabled], | ||||||
|  |   fieldset[disabled] & { | ||||||
|  |     background-color: transparent; | ||||||
|  |     .box-shadow(none); | ||||||
|  |   } | ||||||
|  |   &, | ||||||
|  |   &:hover, | ||||||
|  |   &:focus, | ||||||
|  |   &:active { | ||||||
|  |     border-color: transparent; | ||||||
|  |   } | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     color: @link-hover-color; | ||||||
|  |     text-decoration: underline; | ||||||
|  |     background-color: transparent; | ||||||
|  |   } | ||||||
|  |   &[disabled], | ||||||
|  |   fieldset[disabled] & { | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       color: @btn-link-disabled-color; | ||||||
|  |       text-decoration: none; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Button Sizes | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .btn-lg { | ||||||
|  |   // line-height: ensure even-numbered height of button next to large input | ||||||
|  |   .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); | ||||||
|  | } | ||||||
|  | .btn-sm { | ||||||
|  |   // line-height: ensure proper height of button next to small input | ||||||
|  |   .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); | ||||||
|  | } | ||||||
|  | .btn-xs { | ||||||
|  |   .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Block button | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .btn-block { | ||||||
|  |   display: block; | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Vertically space out multiple block buttons | ||||||
|  | .btn-block + .btn-block { | ||||||
|  |   margin-top: 5px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Specificity overrides | ||||||
|  | input[type="submit"], | ||||||
|  | input[type="reset"], | ||||||
|  | input[type="button"] { | ||||||
|  |   &.btn-block { | ||||||
|  |     width: 100%; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										243
									
								
								searx/static/oscar/less/bootstrap/carousel.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,243 @@ | |||||||
|  | // | ||||||
|  | // Carousel | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Wrapper for the slide container and indicators | ||||||
|  | .carousel { | ||||||
|  |   position: relative; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .carousel-inner { | ||||||
|  |   position: relative; | ||||||
|  |   overflow: hidden; | ||||||
|  |   width: 100%; | ||||||
|  | 
 | ||||||
|  |   > .item { | ||||||
|  |     display: none; | ||||||
|  |     position: relative; | ||||||
|  |     .transition(.6s ease-in-out left); | ||||||
|  | 
 | ||||||
|  |     // Account for jankitude on images | ||||||
|  |     > img, | ||||||
|  |     > a > img { | ||||||
|  |       &:extend(.img-responsive); | ||||||
|  |       line-height: 1; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .active, | ||||||
|  |   > .next, | ||||||
|  |   > .prev { | ||||||
|  |     display: block; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .active { | ||||||
|  |     left: 0; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .next, | ||||||
|  |   > .prev { | ||||||
|  |     position: absolute; | ||||||
|  |     top: 0; | ||||||
|  |     width: 100%; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .next { | ||||||
|  |     left: 100%; | ||||||
|  |   } | ||||||
|  |   > .prev { | ||||||
|  |     left: -100%; | ||||||
|  |   } | ||||||
|  |   > .next.left, | ||||||
|  |   > .prev.right { | ||||||
|  |     left: 0; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .active.left { | ||||||
|  |     left: -100%; | ||||||
|  |   } | ||||||
|  |   > .active.right { | ||||||
|  |     left: 100%; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Left/right controls for nav | ||||||
|  | // --------------------------- | ||||||
|  | 
 | ||||||
|  | .carousel-control { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 0; | ||||||
|  |   left: 0; | ||||||
|  |   bottom: 0; | ||||||
|  |   width: @carousel-control-width; | ||||||
|  |   .opacity(@carousel-control-opacity); | ||||||
|  |   font-size: @carousel-control-font-size; | ||||||
|  |   color: @carousel-control-color; | ||||||
|  |   text-align: center; | ||||||
|  |   text-shadow: @carousel-text-shadow; | ||||||
|  |   // We can't have this transition here because WebKit cancels the carousel | ||||||
|  |   // animation if you trip this while in the middle of another animation. | ||||||
|  | 
 | ||||||
|  |   // Set gradients for backgrounds | ||||||
|  |   &.left { | ||||||
|  |     #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001)); | ||||||
|  |   } | ||||||
|  |   &.right { | ||||||
|  |     left: auto; | ||||||
|  |     right: 0; | ||||||
|  |     #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5)); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Hover/focus state | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     outline: 0; | ||||||
|  |     color: @carousel-control-color; | ||||||
|  |     text-decoration: none; | ||||||
|  |     .opacity(.9); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Toggles | ||||||
|  |   .icon-prev, | ||||||
|  |   .icon-next, | ||||||
|  |   .glyphicon-chevron-left, | ||||||
|  |   .glyphicon-chevron-right { | ||||||
|  |     position: absolute; | ||||||
|  |     top: 50%; | ||||||
|  |     z-index: 5; | ||||||
|  |     display: inline-block; | ||||||
|  |   } | ||||||
|  |   .icon-prev, | ||||||
|  |   .glyphicon-chevron-left { | ||||||
|  |     left: 50%; | ||||||
|  |     margin-left: -10px; | ||||||
|  |   } | ||||||
|  |   .icon-next, | ||||||
|  |   .glyphicon-chevron-right { | ||||||
|  |     right: 50%; | ||||||
|  |     margin-right: -10px; | ||||||
|  |   } | ||||||
|  |   .icon-prev, | ||||||
|  |   .icon-next { | ||||||
|  |     width:  20px; | ||||||
|  |     height: 20px; | ||||||
|  |     margin-top: -10px; | ||||||
|  |     font-family: serif; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   .icon-prev { | ||||||
|  |     &:before { | ||||||
|  |       content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   .icon-next { | ||||||
|  |     &:before { | ||||||
|  |       content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Optional indicator pips | ||||||
|  | // | ||||||
|  | // Add an unordered list with the following class and add a list item for each | ||||||
|  | // slide your carousel holds. | ||||||
|  | 
 | ||||||
|  | .carousel-indicators { | ||||||
|  |   position: absolute; | ||||||
|  |   bottom: 10px; | ||||||
|  |   left: 50%; | ||||||
|  |   z-index: 15; | ||||||
|  |   width: 60%; | ||||||
|  |   margin-left: -30%; | ||||||
|  |   padding-left: 0; | ||||||
|  |   list-style: none; | ||||||
|  |   text-align: center; | ||||||
|  | 
 | ||||||
|  |   li { | ||||||
|  |     display: inline-block; | ||||||
|  |     width:  10px; | ||||||
|  |     height: 10px; | ||||||
|  |     margin: 1px; | ||||||
|  |     text-indent: -999px; | ||||||
|  |     border: 1px solid @carousel-indicator-border-color; | ||||||
|  |     border-radius: 10px; | ||||||
|  |     cursor: pointer; | ||||||
|  | 
 | ||||||
|  |     // IE8-9 hack for event handling | ||||||
|  |     // | ||||||
|  |     // Internet Explorer 8-9 does not support clicks on elements without a set | ||||||
|  |     // `background-color`. We cannot use `filter` since that's not viewed as a | ||||||
|  |     // background color by the browser. Thus, a hack is needed. | ||||||
|  |     // | ||||||
|  |     // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we | ||||||
|  |     // set alpha transparency for the best results possible. | ||||||
|  |     background-color: #000 \9; // IE8 | ||||||
|  |     background-color: rgba(0,0,0,0); // IE9 | ||||||
|  |   } | ||||||
|  |   .active { | ||||||
|  |     margin: 0; | ||||||
|  |     width:  12px; | ||||||
|  |     height: 12px; | ||||||
|  |     background-color: @carousel-indicator-active-bg; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Optional captions | ||||||
|  | // ----------------------------- | ||||||
|  | // Hidden by default for smaller viewports | ||||||
|  | .carousel-caption { | ||||||
|  |   position: absolute; | ||||||
|  |   left: 15%; | ||||||
|  |   right: 15%; | ||||||
|  |   bottom: 20px; | ||||||
|  |   z-index: 10; | ||||||
|  |   padding-top: 20px; | ||||||
|  |   padding-bottom: 20px; | ||||||
|  |   color: @carousel-caption-color; | ||||||
|  |   text-align: center; | ||||||
|  |   text-shadow: @carousel-text-shadow; | ||||||
|  |   & .btn { | ||||||
|  |     text-shadow: none; // No shadow for button elements in carousel-caption | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Scale up controls for tablets and up | ||||||
|  | @media screen and (min-width: @screen-sm-min) { | ||||||
|  | 
 | ||||||
|  |   // Scale up the controls a smidge | ||||||
|  |   .carousel-control { | ||||||
|  |     .glyphicon-chevron-left, | ||||||
|  |     .glyphicon-chevron-right, | ||||||
|  |     .icon-prev, | ||||||
|  |     .icon-next { | ||||||
|  |       width: 30px; | ||||||
|  |       height: 30px; | ||||||
|  |       margin-top: -15px; | ||||||
|  |       font-size: 30px; | ||||||
|  |     } | ||||||
|  |     .glyphicon-chevron-left, | ||||||
|  |     .icon-prev { | ||||||
|  |       margin-left: -15px; | ||||||
|  |     } | ||||||
|  |     .glyphicon-chevron-right, | ||||||
|  |     .icon-next { | ||||||
|  |       margin-right: -15px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Show and left align the captions | ||||||
|  |   .carousel-caption { | ||||||
|  |     left: 20%; | ||||||
|  |     right: 20%; | ||||||
|  |     padding-bottom: 30px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Move up the indicators | ||||||
|  |   .carousel-indicators { | ||||||
|  |     bottom: 20px; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										33
									
								
								searx/static/oscar/less/bootstrap/close.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,33 @@ | |||||||
|  | // | ||||||
|  | // Close icons | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .close { | ||||||
|  |   float: right; | ||||||
|  |   font-size: (@font-size-base * 1.5); | ||||||
|  |   font-weight: @close-font-weight; | ||||||
|  |   line-height: 1; | ||||||
|  |   color: @close-color; | ||||||
|  |   text-shadow: @close-text-shadow; | ||||||
|  |   .opacity(.2); | ||||||
|  | 
 | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     color: @close-color; | ||||||
|  |     text-decoration: none; | ||||||
|  |     cursor: pointer; | ||||||
|  |     .opacity(.5); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Additional properties for button version | ||||||
|  |   // iOS requires the button element instead of an anchor tag. | ||||||
|  |   // If you want the anchor version, it requires `href="#"`. | ||||||
|  |   button& { | ||||||
|  |     padding: 0; | ||||||
|  |     cursor: pointer; | ||||||
|  |     background: transparent; | ||||||
|  |     border: 0; | ||||||
|  |     -webkit-appearance: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										68
									
								
								searx/static/oscar/less/bootstrap/code.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,68 @@ | |||||||
|  | // | ||||||
|  | // Code (inline and block) | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Inline and block code styles | ||||||
|  | code, | ||||||
|  | kbd, | ||||||
|  | pre, | ||||||
|  | samp { | ||||||
|  |   font-family: @font-family-monospace; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Inline code | ||||||
|  | code { | ||||||
|  |   padding: 2px 4px; | ||||||
|  |   font-size: 90%; | ||||||
|  |   color: @code-color; | ||||||
|  |   background-color: @code-bg; | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // User input typically entered via keyboard | ||||||
|  | kbd { | ||||||
|  |   padding: 2px 4px; | ||||||
|  |   font-size: 90%; | ||||||
|  |   color: @kbd-color; | ||||||
|  |   background-color: @kbd-bg; | ||||||
|  |   border-radius: @border-radius-small; | ||||||
|  |   box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); | ||||||
|  | 
 | ||||||
|  |   kbd { | ||||||
|  |     padding: 0; | ||||||
|  |     font-size: 100%; | ||||||
|  |     box-shadow: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Blocks of code | ||||||
|  | pre { | ||||||
|  |   display: block; | ||||||
|  |   padding: ((@line-height-computed - 1) / 2); | ||||||
|  |   margin: 0 0 (@line-height-computed / 2); | ||||||
|  |   font-size: (@font-size-base - 1); // 14px to 13px | ||||||
|  |   line-height: @line-height-base; | ||||||
|  |   word-break: break-all; | ||||||
|  |   word-wrap: break-word; | ||||||
|  |   color: @pre-color; | ||||||
|  |   background-color: @pre-bg; | ||||||
|  |   border: 1px solid @pre-border-color; | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  | 
 | ||||||
|  |   // Account for some code outputs that place code tags in pre tags | ||||||
|  |   code { | ||||||
|  |     padding: 0; | ||||||
|  |     font-size: inherit; | ||||||
|  |     color: inherit; | ||||||
|  |     white-space: pre-wrap; | ||||||
|  |     background-color: transparent; | ||||||
|  |     border-radius: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Enable scrollable blocks of code | ||||||
|  | .pre-scrollable { | ||||||
|  |   max-height: @pre-scrollable-max-height; | ||||||
|  |   overflow-y: scroll; | ||||||
|  | } | ||||||
							
								
								
									
										31
									
								
								searx/static/oscar/less/bootstrap/component-animations.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,31 @@ | |||||||
|  | // | ||||||
|  | // Component animations | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Heads up! | ||||||
|  | // | ||||||
|  | // We don't use the `.opacity()` mixin here since it causes a bug with text | ||||||
|  | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. | ||||||
|  | 
 | ||||||
|  | .fade { | ||||||
|  |   opacity: 0; | ||||||
|  |   .transition(opacity .15s linear); | ||||||
|  |   &.in { | ||||||
|  |     opacity: 1; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .collapse { | ||||||
|  |   display: none; | ||||||
|  | 
 | ||||||
|  |   &.in      { display: block; } | ||||||
|  |   tr&.in    { display: table-row; } | ||||||
|  |   tbody&.in { display: table-row-group; } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .collapsing { | ||||||
|  |   position: relative; | ||||||
|  |   height: 0; | ||||||
|  |   overflow: hidden; | ||||||
|  |   .transition(height .35s ease); | ||||||
|  | } | ||||||
							
								
								
									
										215
									
								
								searx/static/oscar/less/bootstrap/dropdowns.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,215 @@ | |||||||
|  | // | ||||||
|  | // Dropdown menus | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Dropdown arrow/caret | ||||||
|  | .caret { | ||||||
|  |   display: inline-block; | ||||||
|  |   width: 0; | ||||||
|  |   height: 0; | ||||||
|  |   margin-left: 2px; | ||||||
|  |   vertical-align: middle; | ||||||
|  |   border-top:   @caret-width-base solid; | ||||||
|  |   border-right: @caret-width-base solid transparent; | ||||||
|  |   border-left:  @caret-width-base solid transparent; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // The dropdown wrapper (div) | ||||||
|  | .dropdown { | ||||||
|  |   position: relative; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Prevent the focus on the dropdown toggle when closing dropdowns | ||||||
|  | .dropdown-toggle:focus { | ||||||
|  |   outline: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // The dropdown menu (ul) | ||||||
|  | .dropdown-menu { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 100%; | ||||||
|  |   left: 0; | ||||||
|  |   z-index: @zindex-dropdown; | ||||||
|  |   display: none; // none by default, but block on "open" of the menu | ||||||
|  |   float: left; | ||||||
|  |   min-width: 160px; | ||||||
|  |   padding: 5px 0; | ||||||
|  |   margin: 2px 0 0; // override default ul | ||||||
|  |   list-style: none; | ||||||
|  |   font-size: @font-size-base; | ||||||
|  |   text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) | ||||||
|  |   background-color: @dropdown-bg; | ||||||
|  |   border: 1px solid @dropdown-fallback-border; // IE8 fallback | ||||||
|  |   border: 1px solid @dropdown-border; | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  |   .box-shadow(0 6px 12px rgba(0,0,0,.175)); | ||||||
|  |   background-clip: padding-box; | ||||||
|  | 
 | ||||||
|  |   // Aligns the dropdown menu to right | ||||||
|  |   // | ||||||
|  |   // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` | ||||||
|  |   &.pull-right { | ||||||
|  |     right: 0; | ||||||
|  |     left: auto; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Dividers (basically an hr) within the dropdown | ||||||
|  |   .divider { | ||||||
|  |     .nav-divider(@dropdown-divider-bg); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Links within the dropdown menu | ||||||
|  |   > li > a { | ||||||
|  |     display: block; | ||||||
|  |     padding: 3px 20px; | ||||||
|  |     clear: both; | ||||||
|  |     font-weight: normal; | ||||||
|  |     line-height: @line-height-base; | ||||||
|  |     color: @dropdown-link-color; | ||||||
|  |     white-space: nowrap; // prevent links from randomly breaking onto new lines | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Hover/Focus state | ||||||
|  | .dropdown-menu > li > a { | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     text-decoration: none; | ||||||
|  |     color: @dropdown-link-hover-color; | ||||||
|  |     background-color: @dropdown-link-hover-bg; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Active state | ||||||
|  | .dropdown-menu > .active > a { | ||||||
|  |   &, | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     color: @dropdown-link-active-color; | ||||||
|  |     text-decoration: none; | ||||||
|  |     outline: 0; | ||||||
|  |     background-color: @dropdown-link-active-bg; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Disabled state | ||||||
|  | // | ||||||
|  | // Gray out text and ensure the hover/focus state remains gray | ||||||
|  | 
 | ||||||
|  | .dropdown-menu > .disabled > a { | ||||||
|  |   &, | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     color: @dropdown-link-disabled-color; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // Nuke hover/focus effects | ||||||
|  | .dropdown-menu > .disabled > a { | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     text-decoration: none; | ||||||
|  |     background-color: transparent; | ||||||
|  |     background-image: none; // Remove CSS gradient | ||||||
|  |     .reset-filter(); | ||||||
|  |     cursor: not-allowed; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Open state for the dropdown | ||||||
|  | .open { | ||||||
|  |   // Show the menu | ||||||
|  |   > .dropdown-menu { | ||||||
|  |     display: block; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Remove the outline when :focus is triggered | ||||||
|  |   > a { | ||||||
|  |     outline: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Menu positioning | ||||||
|  | // | ||||||
|  | // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown | ||||||
|  | // menu with the parent. | ||||||
|  | .dropdown-menu-right { | ||||||
|  |   left: auto; // Reset the default from `.dropdown-menu` | ||||||
|  |   right: 0; | ||||||
|  | } | ||||||
|  | // With v3, we enabled auto-flipping if you have a dropdown within a right | ||||||
|  | // aligned nav component. To enable the undoing of that, we provide an override | ||||||
|  | // to restore the default dropdown menu alignment. | ||||||
|  | // | ||||||
|  | // This is only for left-aligning a dropdown menu within a `.navbar-right` or | ||||||
|  | // `.pull-right` nav component. | ||||||
|  | .dropdown-menu-left { | ||||||
|  |   left: 0; | ||||||
|  |   right: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Dropdown section headers | ||||||
|  | .dropdown-header { | ||||||
|  |   display: block; | ||||||
|  |   padding: 3px 20px; | ||||||
|  |   font-size: @font-size-small; | ||||||
|  |   line-height: @line-height-base; | ||||||
|  |   color: @dropdown-header-color; | ||||||
|  |   white-space: nowrap; // as with > li > a | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Backdrop to catch body clicks on mobile, etc. | ||||||
|  | .dropdown-backdrop { | ||||||
|  |   position: fixed; | ||||||
|  |   left: 0; | ||||||
|  |   right: 0; | ||||||
|  |   bottom: 0; | ||||||
|  |   top: 0; | ||||||
|  |   z-index: (@zindex-dropdown - 10); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Right aligned dropdowns | ||||||
|  | .pull-right > .dropdown-menu { | ||||||
|  |   right: 0; | ||||||
|  |   left: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Allow for dropdowns to go bottom up (aka, dropup-menu) | ||||||
|  | // | ||||||
|  | // Just add .dropup after the standard .dropdown class and you're set, bro. | ||||||
|  | // TODO: abstract this so that the navbar fixed styles are not placed here? | ||||||
|  | 
 | ||||||
|  | .dropup, | ||||||
|  | .navbar-fixed-bottom .dropdown { | ||||||
|  |   // Reverse the caret | ||||||
|  |   .caret { | ||||||
|  |     border-top: 0; | ||||||
|  |     border-bottom: @caret-width-base solid; | ||||||
|  |     content: ""; | ||||||
|  |   } | ||||||
|  |   // Different positioning for bottom up menu | ||||||
|  |   .dropdown-menu { | ||||||
|  |     top: auto; | ||||||
|  |     bottom: 100%; | ||||||
|  |     margin-bottom: 1px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Component alignment | ||||||
|  | // | ||||||
|  | // Reiterate per navbar.less and the modified component alignment there. | ||||||
|  | 
 | ||||||
|  | @media (min-width: @grid-float-breakpoint) { | ||||||
|  |   .navbar-right { | ||||||
|  |     .dropdown-menu { | ||||||
|  |       .dropdown-menu-right(); | ||||||
|  |     } | ||||||
|  |     // Necessary for overrides of the default right aligned menu. | ||||||
|  |     // Will remove come v4 in all likelihood. | ||||||
|  |     .dropdown-menu-left { | ||||||
|  |       .dropdown-menu-left(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
							
								
								
									
										540
									
								
								searx/static/oscar/less/bootstrap/forms.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,540 @@ | |||||||
|  | // | ||||||
|  | // Forms | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Normalize non-controls | ||||||
|  | // | ||||||
|  | // Restyle and baseline non-control form elements. | ||||||
|  | 
 | ||||||
|  | fieldset { | ||||||
|  |   padding: 0; | ||||||
|  |   margin: 0; | ||||||
|  |   border: 0; | ||||||
|  |   // Chrome and Firefox set a `min-width: min-content;` on fieldsets, | ||||||
|  |   // so we reset that to ensure it behaves more like a standard block element. | ||||||
|  |   // See https://github.com/twbs/bootstrap/issues/12359. | ||||||
|  |   min-width: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | legend { | ||||||
|  |   display: block; | ||||||
|  |   width: 100%; | ||||||
|  |   padding: 0; | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  |   font-size: (@font-size-base * 1.5); | ||||||
|  |   line-height: inherit; | ||||||
|  |   color: @legend-color; | ||||||
|  |   border: 0; | ||||||
|  |   border-bottom: 1px solid @legend-border-color; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | label { | ||||||
|  |   display: inline-block; | ||||||
|  |   max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) | ||||||
|  |   margin-bottom: 5px; | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Normalize form controls | ||||||
|  | // | ||||||
|  | // While most of our form styles require extra classes, some basic normalization | ||||||
|  | // is required to ensure optimum display with or without those classes to better | ||||||
|  | // address browser inconsistencies. | ||||||
|  | 
 | ||||||
|  | // Override content-box in Normalize (* isn't specific enough) | ||||||
|  | input[type="search"] { | ||||||
|  |   .box-sizing(border-box); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Position radios and checkboxes better | ||||||
|  | input[type="radio"], | ||||||
|  | input[type="checkbox"] { | ||||||
|  |   margin: 4px 0 0; | ||||||
|  |   margin-top: 1px \9; // IE8-9 | ||||||
|  |   line-height: normal; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Set the height of file controls to match text inputs | ||||||
|  | input[type="file"] { | ||||||
|  |   display: block; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Make range inputs behave like textual form controls | ||||||
|  | input[type="range"] { | ||||||
|  |   display: block; | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Make multiple select elements height not fixed | ||||||
|  | select[multiple], | ||||||
|  | select[size] { | ||||||
|  |   height: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Focus for file, radio, and checkbox | ||||||
|  | input[type="file"]:focus, | ||||||
|  | input[type="radio"]:focus, | ||||||
|  | input[type="checkbox"]:focus { | ||||||
|  |   .tab-focus(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Adjust output element | ||||||
|  | output { | ||||||
|  |   display: block; | ||||||
|  |   padding-top: (@padding-base-vertical + 1); | ||||||
|  |   font-size: @font-size-base; | ||||||
|  |   line-height: @line-height-base; | ||||||
|  |   color: @input-color; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Common form controls | ||||||
|  | // | ||||||
|  | // Shared size and type resets for form controls. Apply `.form-control` to any | ||||||
|  | // of the following form controls: | ||||||
|  | // | ||||||
|  | // select | ||||||
|  | // textarea | ||||||
|  | // input[type="text"] | ||||||
|  | // input[type="password"] | ||||||
|  | // input[type="datetime"] | ||||||
|  | // input[type="datetime-local"] | ||||||
|  | // input[type="date"] | ||||||
|  | // input[type="month"] | ||||||
|  | // input[type="time"] | ||||||
|  | // input[type="week"] | ||||||
|  | // input[type="number"] | ||||||
|  | // input[type="email"] | ||||||
|  | // input[type="url"] | ||||||
|  | // input[type="search"] | ||||||
|  | // input[type="tel"] | ||||||
|  | // input[type="color"] | ||||||
|  | 
 | ||||||
|  | .form-control { | ||||||
|  |   display: block; | ||||||
|  |   width: 100%; | ||||||
|  |   height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) | ||||||
|  |   padding: @padding-base-vertical @padding-base-horizontal; | ||||||
|  |   font-size: @font-size-base; | ||||||
|  |   line-height: @line-height-base; | ||||||
|  |   color: @input-color; | ||||||
|  |   background-color: @input-bg; | ||||||
|  |   background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 | ||||||
|  |   border: 1px solid @input-border; | ||||||
|  |   border-radius: @input-border-radius; | ||||||
|  |   .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); | ||||||
|  |   .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); | ||||||
|  | 
 | ||||||
|  |   // Customize the `:focus` state to imitate native WebKit styles. | ||||||
|  |   .form-control-focus(); | ||||||
|  | 
 | ||||||
|  |   // Placeholder | ||||||
|  |   .placeholder(); | ||||||
|  | 
 | ||||||
|  |   // Disabled and read-only inputs | ||||||
|  |   // | ||||||
|  |   // HTML5 says that controls under a fieldset > legend:first-child won't be | ||||||
|  |   // disabled if the fieldset is disabled. Due to implementation difficulty, we | ||||||
|  |   // don't honor that edge case; we style them as disabled anyway. | ||||||
|  |   &[disabled], | ||||||
|  |   &[readonly], | ||||||
|  |   fieldset[disabled] & { | ||||||
|  |     cursor: not-allowed; | ||||||
|  |     background-color: @input-bg-disabled; | ||||||
|  |     opacity: 1; // iOS fix for unreadable disabled content | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Reset height for `textarea`s | ||||||
|  |   textarea& { | ||||||
|  |     height: auto; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Search inputs in iOS | ||||||
|  | // | ||||||
|  | // This overrides the extra rounded corners on search inputs in iOS so that our | ||||||
|  | // `.form-control` class can properly style them. Note that this cannot simply | ||||||
|  | // be added to `.form-control` as it's not specific enough. For details, see | ||||||
|  | // https://github.com/twbs/bootstrap/issues/11586. | ||||||
|  | 
 | ||||||
|  | input[type="search"] { | ||||||
|  |   -webkit-appearance: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Special styles for iOS temporal inputs | ||||||
|  | // | ||||||
|  | // In Mobile Safari, setting `display: block` on temporal inputs causes the | ||||||
|  | // text within the input to become vertically misaligned. | ||||||
|  | // As a workaround, we set a pixel line-height that matches the | ||||||
|  | // given height of the input. Since this fucks up everything else, we have to | ||||||
|  | // appropriately reset it for Internet Explorer and the size variations. | ||||||
|  | 
 | ||||||
|  | input[type="date"], | ||||||
|  | input[type="time"], | ||||||
|  | input[type="datetime-local"], | ||||||
|  | input[type="month"] { | ||||||
|  |   line-height: @input-height-base; | ||||||
|  |   // IE8+ misaligns the text within date inputs, so we reset | ||||||
|  |   line-height: @line-height-base ~"\0"; | ||||||
|  | 
 | ||||||
|  |   &.input-sm { | ||||||
|  |     line-height: @input-height-small; | ||||||
|  |   } | ||||||
|  |   &.input-lg { | ||||||
|  |     line-height: @input-height-large; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Form groups | ||||||
|  | // | ||||||
|  | // Designed to help with the organization and spacing of vertical forms. For | ||||||
|  | // horizontal forms, use the predefined grid classes. | ||||||
|  | 
 | ||||||
|  | .form-group { | ||||||
|  |   margin-bottom: 15px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Checkboxes and radios | ||||||
|  | // | ||||||
|  | // Indent the labels to position radios/checkboxes as hanging controls. | ||||||
|  | 
 | ||||||
|  | .radio, | ||||||
|  | .checkbox { | ||||||
|  |   position: relative; | ||||||
|  |   display: block; | ||||||
|  |   min-height: @line-height-computed; // clear the floating input if there is no label text | ||||||
|  |   margin-top: 10px; | ||||||
|  |   margin-bottom: 10px; | ||||||
|  | 
 | ||||||
|  |   label { | ||||||
|  |     padding-left: 20px; | ||||||
|  |     margin-bottom: 0; | ||||||
|  |     font-weight: normal; | ||||||
|  |     cursor: pointer; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .radio input[type="radio"], | ||||||
|  | .radio-inline input[type="radio"], | ||||||
|  | .checkbox input[type="checkbox"], | ||||||
|  | .checkbox-inline input[type="checkbox"] { | ||||||
|  |   position: absolute; | ||||||
|  |   margin-left: -20px; | ||||||
|  |   margin-top: 4px \9; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .radio + .radio, | ||||||
|  | .checkbox + .checkbox { | ||||||
|  |   margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Radios and checkboxes on same line | ||||||
|  | .radio-inline, | ||||||
|  | .checkbox-inline { | ||||||
|  |   display: inline-block; | ||||||
|  |   padding-left: 20px; | ||||||
|  |   margin-bottom: 0; | ||||||
|  |   vertical-align: middle; | ||||||
|  |   font-weight: normal; | ||||||
|  |   cursor: pointer; | ||||||
|  | } | ||||||
|  | .radio-inline + .radio-inline, | ||||||
|  | .checkbox-inline + .checkbox-inline { | ||||||
|  |   margin-top: 0; | ||||||
|  |   margin-left: 10px; // space out consecutive inline controls | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Apply same disabled cursor tweak as for inputs | ||||||
|  | // Some special care is needed because <label>s don't inherit their parent's `cursor`. | ||||||
|  | // | ||||||
|  | // Note: Neither radios nor checkboxes can be readonly. | ||||||
|  | input[type="radio"], | ||||||
|  | input[type="checkbox"] { | ||||||
|  |   &[disabled], | ||||||
|  |   &.disabled, | ||||||
|  |   fieldset[disabled] & { | ||||||
|  |     cursor: not-allowed; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // These classes are used directly on <label>s | ||||||
|  | .radio-inline, | ||||||
|  | .checkbox-inline { | ||||||
|  |   &.disabled, | ||||||
|  |   fieldset[disabled] & { | ||||||
|  |     cursor: not-allowed; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // These classes are used on elements with <label> descendants | ||||||
|  | .radio, | ||||||
|  | .checkbox { | ||||||
|  |   &.disabled, | ||||||
|  |   fieldset[disabled] & { | ||||||
|  |     label { | ||||||
|  |       cursor: not-allowed; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Static form control text | ||||||
|  | // | ||||||
|  | // Apply class to a `p` element to make any string of text align with labels in | ||||||
|  | // a horizontal form layout. | ||||||
|  | 
 | ||||||
|  | .form-control-static { | ||||||
|  |   // Size it appropriately next to real form controls | ||||||
|  |   padding-top: (@padding-base-vertical + 1); | ||||||
|  |   padding-bottom: (@padding-base-vertical + 1); | ||||||
|  |   // Remove default margin from `p` | ||||||
|  |   margin-bottom: 0; | ||||||
|  | 
 | ||||||
|  |   &.input-lg, | ||||||
|  |   &.input-sm { | ||||||
|  |     padding-left: 0; | ||||||
|  |     padding-right: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Form control sizing | ||||||
|  | // | ||||||
|  | // Build on `.form-control` with modifier classes to decrease or increase the | ||||||
|  | // height and font-size of form controls. | ||||||
|  | 
 | ||||||
|  | .input-sm { | ||||||
|  |   .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .input-lg { | ||||||
|  |   .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Form control feedback states | ||||||
|  | // | ||||||
|  | // Apply contextual and semantic states to individual form controls. | ||||||
|  | 
 | ||||||
|  | .has-feedback { | ||||||
|  |   // Enable absolute positioning | ||||||
|  |   position: relative; | ||||||
|  | 
 | ||||||
|  |   // Ensure icons don't overlap text | ||||||
|  |   .form-control { | ||||||
|  |     padding-right: (@input-height-base * 1.25); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // Feedback icon (requires .glyphicon classes) | ||||||
|  | .form-control-feedback { | ||||||
|  |   position: absolute; | ||||||
|  |   top: (@line-height-computed + 5); // Height of the `label` and its margin | ||||||
|  |   right: 0; | ||||||
|  |   z-index: 2; // Ensure icon is above input groups | ||||||
|  |   display: block; | ||||||
|  |   width: @input-height-base; | ||||||
|  |   height: @input-height-base; | ||||||
|  |   line-height: @input-height-base; | ||||||
|  |   text-align: center; | ||||||
|  | } | ||||||
|  | .input-lg + .form-control-feedback { | ||||||
|  |   width: @input-height-large; | ||||||
|  |   height: @input-height-large; | ||||||
|  |   line-height: @input-height-large; | ||||||
|  | } | ||||||
|  | .input-sm + .form-control-feedback { | ||||||
|  |   width: @input-height-small; | ||||||
|  |   height: @input-height-small; | ||||||
|  |   line-height: @input-height-small; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Feedback states | ||||||
|  | .has-success { | ||||||
|  |   .form-control-validation(@state-success-text; @state-success-text; @state-success-bg); | ||||||
|  | } | ||||||
|  | .has-warning { | ||||||
|  |   .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg); | ||||||
|  | } | ||||||
|  | .has-error { | ||||||
|  |   .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Reposition feedback icon if label is hidden with "screenreader only" state | ||||||
|  | .has-feedback label.sr-only ~ .form-control-feedback { | ||||||
|  |   top: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Help text | ||||||
|  | // | ||||||
|  | // Apply to any element you wish to create light text for placement immediately | ||||||
|  | // below a form control. Use for general help, formatting, or instructional text. | ||||||
|  | 
 | ||||||
|  | .help-block { | ||||||
|  |   display: block; // account for any element using help-block | ||||||
|  |   margin-top: 5px; | ||||||
|  |   margin-bottom: 10px; | ||||||
|  |   color: lighten(@text-color, 25%); // lighten the text some for contrast | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Inline forms | ||||||
|  | // | ||||||
|  | // Make forms appear inline(-block) by adding the `.form-inline` class. Inline | ||||||
|  | // forms begin stacked on extra small (mobile) devices and then go inline when | ||||||
|  | // viewports reach <768px. | ||||||
|  | // | ||||||
|  | // Requires wrapping inputs and labels with `.form-group` for proper display of | ||||||
|  | // default HTML form controls and our custom form controls (e.g., input groups). | ||||||
|  | // | ||||||
|  | // Heads up! This is mixin-ed into `.navbar-form` in navbars.less. | ||||||
|  | 
 | ||||||
|  | .form-inline { | ||||||
|  | 
 | ||||||
|  |   // Kick in the inline | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     // Inline-block all the things for "inline" | ||||||
|  |     .form-group { | ||||||
|  |       display: inline-block; | ||||||
|  |       margin-bottom: 0; | ||||||
|  |       vertical-align: middle; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // In navbar-form, allow folks to *not* use `.form-group` | ||||||
|  |     .form-control { | ||||||
|  |       display: inline-block; | ||||||
|  |       width: auto; // Prevent labels from stacking above inputs in `.form-group` | ||||||
|  |       vertical-align: middle; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .input-group { | ||||||
|  |       display: inline-table; | ||||||
|  |       vertical-align: middle; | ||||||
|  | 
 | ||||||
|  |       .input-group-addon, | ||||||
|  |       .input-group-btn, | ||||||
|  |       .form-control { | ||||||
|  |         width: auto; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Input groups need that 100% width though | ||||||
|  |     .input-group > .form-control { | ||||||
|  |       width: 100%; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .control-label { | ||||||
|  |       margin-bottom: 0; | ||||||
|  |       vertical-align: middle; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Remove default margin on radios/checkboxes that were used for stacking, and | ||||||
|  |     // then undo the floating of radios and checkboxes to match (which also avoids | ||||||
|  |     // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969). | ||||||
|  |     .radio, | ||||||
|  |     .checkbox { | ||||||
|  |       display: inline-block; | ||||||
|  |       margin-top: 0; | ||||||
|  |       margin-bottom: 0; | ||||||
|  |       vertical-align: middle; | ||||||
|  | 
 | ||||||
|  |       label { | ||||||
|  |         padding-left: 0; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     .radio input[type="radio"], | ||||||
|  |     .checkbox input[type="checkbox"] { | ||||||
|  |       position: relative; | ||||||
|  |       margin-left: 0; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Validation states | ||||||
|  |     // | ||||||
|  |     // Reposition the icon because it's now within a grid column and columns have | ||||||
|  |     // `position: relative;` on them. Also accounts for the grid gutter padding. | ||||||
|  |     .has-feedback .form-control-feedback { | ||||||
|  |       top: 0; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Horizontal forms | ||||||
|  | // | ||||||
|  | // Horizontal forms are built on grid classes and allow you to create forms with | ||||||
|  | // labels on the left and inputs on the right. | ||||||
|  | 
 | ||||||
|  | .form-horizontal { | ||||||
|  | 
 | ||||||
|  |   // Consistent vertical alignment of radios and checkboxes | ||||||
|  |   // | ||||||
|  |   // Labels also get some reset styles, but that is scoped to a media query below. | ||||||
|  |   .radio, | ||||||
|  |   .checkbox, | ||||||
|  |   .radio-inline, | ||||||
|  |   .checkbox-inline { | ||||||
|  |     margin-top: 0; | ||||||
|  |     margin-bottom: 0; | ||||||
|  |     padding-top: (@padding-base-vertical + 1); // Default padding plus a border | ||||||
|  |   } | ||||||
|  |   // Account for padding we're adding to ensure the alignment and of help text | ||||||
|  |   // and other content below items | ||||||
|  |   .radio, | ||||||
|  |   .checkbox { | ||||||
|  |     min-height: (@line-height-computed + (@padding-base-vertical + 1)); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Make form groups behave like rows | ||||||
|  |   .form-group { | ||||||
|  |     .make-row(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Reset spacing and right align labels, but scope to media queries so that | ||||||
|  |   // labels on narrow viewports stack the same as a default form example. | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     .control-label { | ||||||
|  |       text-align: right; | ||||||
|  |       margin-bottom: 0; | ||||||
|  |       padding-top: (@padding-base-vertical + 1); // Default padding plus a border | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Validation states | ||||||
|  |   // | ||||||
|  |   // Reposition the icon because it's now within a grid column and columns have | ||||||
|  |   // `position: relative;` on them. Also accounts for the grid gutter padding. | ||||||
|  |   .has-feedback .form-control-feedback { | ||||||
|  |     top: 0; | ||||||
|  |     right: (@grid-gutter-width / 2); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Form group sizes | ||||||
|  |   // | ||||||
|  |   // Quick utility class for applying `.input-lg` and `.input-sm` styles to the | ||||||
|  |   // inputs and labels within a `.form-group`. | ||||||
|  |   .form-group-lg { | ||||||
|  |     @media (min-width: @screen-sm-min) { | ||||||
|  |       .control-label { | ||||||
|  |         padding-top: ((@padding-large-vertical * @line-height-large) + 1); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     .form-control { | ||||||
|  |       &:extend(.input-lg); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   .form-group-sm { | ||||||
|  |     @media (min-width: @screen-sm-min) { | ||||||
|  |       .control-label { | ||||||
|  |         padding-top: (@padding-small-vertical + 1); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     .form-control { | ||||||
|  |       &:extend(.input-sm); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										233
									
								
								searx/static/oscar/less/bootstrap/glyphicons.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,233 @@ | |||||||
|  | // | ||||||
|  | // Glyphicons for Bootstrap | ||||||
|  | // | ||||||
|  | // Since icons are fonts, they can be placed anywhere text is placed and are | ||||||
|  | // thus automatically sized to match the surrounding child. To use, create an | ||||||
|  | // inline element with the appropriate classes, like so: | ||||||
|  | // | ||||||
|  | // <a href="#"><span class="glyphicon glyphicon-star"></span> Star</a> | ||||||
|  | 
 | ||||||
|  | // Import the fonts | ||||||
|  | @font-face { | ||||||
|  |   font-family: 'Glyphicons Halflings'; | ||||||
|  |   src: url('@{icon-font-path}@{icon-font-name}.eot'); | ||||||
|  |   src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'), | ||||||
|  |        url('@{icon-font-path}@{icon-font-name}.woff') format('woff'), | ||||||
|  |        url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'), | ||||||
|  |        url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg'); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Catchall baseclass | ||||||
|  | .glyphicon { | ||||||
|  |   position: relative; | ||||||
|  |   top: 1px; | ||||||
|  |   display: inline-block; | ||||||
|  |   font-family: 'Glyphicons Halflings'; | ||||||
|  |   font-style: normal; | ||||||
|  |   font-weight: normal; | ||||||
|  |   line-height: 1; | ||||||
|  |   -webkit-font-smoothing: antialiased; | ||||||
|  |   -moz-osx-font-smoothing: grayscale; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Individual icons | ||||||
|  | .glyphicon-asterisk               { &:before { content: "\2a"; } } | ||||||
|  | .glyphicon-plus                   { &:before { content: "\2b"; } } | ||||||
|  | .glyphicon-euro                   { &:before { content: "\20ac"; } } | ||||||
|  | .glyphicon-minus                  { &:before { content: "\2212"; } } | ||||||
|  | .glyphicon-cloud                  { &:before { content: "\2601"; } } | ||||||
|  | .glyphicon-envelope               { &:before { content: "\2709"; } } | ||||||
|  | .glyphicon-pencil                 { &:before { content: "\270f"; } } | ||||||
|  | .glyphicon-glass                  { &:before { content: "\e001"; } } | ||||||
|  | .glyphicon-music                  { &:before { content: "\e002"; } } | ||||||
|  | .glyphicon-search                 { &:before { content: "\e003"; } } | ||||||
|  | .glyphicon-heart                  { &:before { content: "\e005"; } } | ||||||
|  | .glyphicon-star                   { &:before { content: "\e006"; } } | ||||||
|  | .glyphicon-star-empty             { &:before { content: "\e007"; } } | ||||||
|  | .glyphicon-user                   { &:before { content: "\e008"; } } | ||||||
|  | .glyphicon-film                   { &:before { content: "\e009"; } } | ||||||
|  | .glyphicon-th-large               { &:before { content: "\e010"; } } | ||||||
|  | .glyphicon-th                     { &:before { content: "\e011"; } } | ||||||
|  | .glyphicon-th-list                { &:before { content: "\e012"; } } | ||||||
|  | .glyphicon-ok                     { &:before { content: "\e013"; } } | ||||||
|  | .glyphicon-remove                 { &:before { content: "\e014"; } } | ||||||
|  | .glyphicon-zoom-in                { &:before { content: "\e015"; } } | ||||||
|  | .glyphicon-zoom-out               { &:before { content: "\e016"; } } | ||||||
|  | .glyphicon-off                    { &:before { content: "\e017"; } } | ||||||
|  | .glyphicon-signal                 { &:before { content: "\e018"; } } | ||||||
|  | .glyphicon-cog                    { &:before { content: "\e019"; } } | ||||||
|  | .glyphicon-trash                  { &:before { content: "\e020"; } } | ||||||
|  | .glyphicon-home                   { &:before { content: "\e021"; } } | ||||||
|  | .glyphicon-file                   { &:before { content: "\e022"; } } | ||||||
|  | .glyphicon-time                   { &:before { content: "\e023"; } } | ||||||
|  | .glyphicon-road                   { &:before { content: "\e024"; } } | ||||||
|  | .glyphicon-download-alt           { &:before { content: "\e025"; } } | ||||||
|  | .glyphicon-download               { &:before { content: "\e026"; } } | ||||||
|  | .glyphicon-upload                 { &:before { content: "\e027"; } } | ||||||
|  | .glyphicon-inbox                  { &:before { content: "\e028"; } } | ||||||
|  | .glyphicon-play-circle            { &:before { content: "\e029"; } } | ||||||
|  | .glyphicon-repeat                 { &:before { content: "\e030"; } } | ||||||
|  | .glyphicon-refresh                { &:before { content: "\e031"; } } | ||||||
|  | .glyphicon-list-alt               { &:before { content: "\e032"; } } | ||||||
|  | .glyphicon-lock                   { &:before { content: "\e033"; } } | ||||||
|  | .glyphicon-flag                   { &:before { content: "\e034"; } } | ||||||
|  | .glyphicon-headphones             { &:before { content: "\e035"; } } | ||||||
|  | .glyphicon-volume-off             { &:before { content: "\e036"; } } | ||||||
|  | .glyphicon-volume-down            { &:before { content: "\e037"; } } | ||||||
|  | .glyphicon-volume-up              { &:before { content: "\e038"; } } | ||||||
|  | .glyphicon-qrcode                 { &:before { content: "\e039"; } } | ||||||
|  | .glyphicon-barcode                { &:before { content: "\e040"; } } | ||||||
|  | .glyphicon-tag                    { &:before { content: "\e041"; } } | ||||||
|  | .glyphicon-tags                   { &:before { content: "\e042"; } } | ||||||
|  | .glyphicon-book                   { &:before { content: "\e043"; } } | ||||||
|  | .glyphicon-bookmark               { &:before { content: "\e044"; } } | ||||||
|  | .glyphicon-print                  { &:before { content: "\e045"; } } | ||||||
|  | .glyphicon-camera                 { &:before { content: "\e046"; } } | ||||||
|  | .glyphicon-font                   { &:before { content: "\e047"; } } | ||||||
|  | .glyphicon-bold                   { &:before { content: "\e048"; } } | ||||||
|  | .glyphicon-italic                 { &:before { content: "\e049"; } } | ||||||
|  | .glyphicon-text-height            { &:before { content: "\e050"; } } | ||||||
|  | .glyphicon-text-width             { &:before { content: "\e051"; } } | ||||||
|  | .glyphicon-align-left             { &:before { content: "\e052"; } } | ||||||
|  | .glyphicon-align-center           { &:before { content: "\e053"; } } | ||||||
|  | .glyphicon-align-right            { &:before { content: "\e054"; } } | ||||||
|  | .glyphicon-align-justify          { &:before { content: "\e055"; } } | ||||||
|  | .glyphicon-list                   { &:before { content: "\e056"; } } | ||||||
|  | .glyphicon-indent-left            { &:before { content: "\e057"; } } | ||||||
|  | .glyphicon-indent-right           { &:before { content: "\e058"; } } | ||||||
|  | .glyphicon-facetime-video         { &:before { content: "\e059"; } } | ||||||
|  | .glyphicon-picture                { &:before { content: "\e060"; } } | ||||||
|  | .glyphicon-map-marker             { &:before { content: "\e062"; } } | ||||||
|  | .glyphicon-adjust                 { &:before { content: "\e063"; } } | ||||||
|  | .glyphicon-tint                   { &:before { content: "\e064"; } } | ||||||
|  | .glyphicon-edit                   { &:before { content: "\e065"; } } | ||||||
|  | .glyphicon-share                  { &:before { content: "\e066"; } } | ||||||
|  | .glyphicon-check                  { &:before { content: "\e067"; } } | ||||||
|  | .glyphicon-move                   { &:before { content: "\e068"; } } | ||||||
|  | .glyphicon-step-backward          { &:before { content: "\e069"; } } | ||||||
|  | .glyphicon-fast-backward          { &:before { content: "\e070"; } } | ||||||
|  | .glyphicon-backward               { &:before { content: "\e071"; } } | ||||||
|  | .glyphicon-play                   { &:before { content: "\e072"; } } | ||||||
|  | .glyphicon-pause                  { &:before { content: "\e073"; } } | ||||||
|  | .glyphicon-stop                   { &:before { content: "\e074"; } } | ||||||
|  | .glyphicon-forward                { &:before { content: "\e075"; } } | ||||||
|  | .glyphicon-fast-forward           { &:before { content: "\e076"; } } | ||||||
|  | .glyphicon-step-forward           { &:before { content: "\e077"; } } | ||||||
|  | .glyphicon-eject                  { &:before { content: "\e078"; } } | ||||||
|  | .glyphicon-chevron-left           { &:before { content: "\e079"; } } | ||||||
|  | .glyphicon-chevron-right          { &:before { content: "\e080"; } } | ||||||
|  | .glyphicon-plus-sign              { &:before { content: "\e081"; } } | ||||||
|  | .glyphicon-minus-sign             { &:before { content: "\e082"; } } | ||||||
|  | .glyphicon-remove-sign            { &:before { content: "\e083"; } } | ||||||
|  | .glyphicon-ok-sign                { &:before { content: "\e084"; } } | ||||||
|  | .glyphicon-question-sign          { &:before { content: "\e085"; } } | ||||||
|  | .glyphicon-info-sign              { &:before { content: "\e086"; } } | ||||||
|  | .glyphicon-screenshot             { &:before { content: "\e087"; } } | ||||||
|  | .glyphicon-remove-circle          { &:before { content: "\e088"; } } | ||||||
|  | .glyphicon-ok-circle              { &:before { content: "\e089"; } } | ||||||
|  | .glyphicon-ban-circle             { &:before { content: "\e090"; } } | ||||||
|  | .glyphicon-arrow-left             { &:before { content: "\e091"; } } | ||||||
|  | .glyphicon-arrow-right            { &:before { content: "\e092"; } } | ||||||
|  | .glyphicon-arrow-up               { &:before { content: "\e093"; } } | ||||||
|  | .glyphicon-arrow-down             { &:before { content: "\e094"; } } | ||||||
|  | .glyphicon-share-alt              { &:before { content: "\e095"; } } | ||||||
|  | .glyphicon-resize-full            { &:before { content: "\e096"; } } | ||||||
|  | .glyphicon-resize-small           { &:before { content: "\e097"; } } | ||||||
|  | .glyphicon-exclamation-sign       { &:before { content: "\e101"; } } | ||||||
|  | .glyphicon-gift                   { &:before { content: "\e102"; } } | ||||||
|  | .glyphicon-leaf                   { &:before { content: "\e103"; } } | ||||||
|  | .glyphicon-fire                   { &:before { content: "\e104"; } } | ||||||
|  | .glyphicon-eye-open               { &:before { content: "\e105"; } } | ||||||
|  | .glyphicon-eye-close              { &:before { content: "\e106"; } } | ||||||
|  | .glyphicon-warning-sign           { &:before { content: "\e107"; } } | ||||||
|  | .glyphicon-plane                  { &:before { content: "\e108"; } } | ||||||
|  | .glyphicon-calendar               { &:before { content: "\e109"; } } | ||||||
|  | .glyphicon-random                 { &:before { content: "\e110"; } } | ||||||
|  | .glyphicon-comment                { &:before { content: "\e111"; } } | ||||||
|  | .glyphicon-magnet                 { &:before { content: "\e112"; } } | ||||||
|  | .glyphicon-chevron-up             { &:before { content: "\e113"; } } | ||||||
|  | .glyphicon-chevron-down           { &:before { content: "\e114"; } } | ||||||
|  | .glyphicon-retweet                { &:before { content: "\e115"; } } | ||||||
|  | .glyphicon-shopping-cart          { &:before { content: "\e116"; } } | ||||||
|  | .glyphicon-folder-close           { &:before { content: "\e117"; } } | ||||||
|  | .glyphicon-folder-open            { &:before { content: "\e118"; } } | ||||||
|  | .glyphicon-resize-vertical        { &:before { content: "\e119"; } } | ||||||
|  | .glyphicon-resize-horizontal      { &:before { content: "\e120"; } } | ||||||
|  | .glyphicon-hdd                    { &:before { content: "\e121"; } } | ||||||
|  | .glyphicon-bullhorn               { &:before { content: "\e122"; } } | ||||||
|  | .glyphicon-bell                   { &:before { content: "\e123"; } } | ||||||
|  | .glyphicon-certificate            { &:before { content: "\e124"; } } | ||||||
|  | .glyphicon-thumbs-up              { &:before { content: "\e125"; } } | ||||||
|  | .glyphicon-thumbs-down            { &:before { content: "\e126"; } } | ||||||
|  | .glyphicon-hand-right             { &:before { content: "\e127"; } } | ||||||
|  | .glyphicon-hand-left              { &:before { content: "\e128"; } } | ||||||
|  | .glyphicon-hand-up                { &:before { content: "\e129"; } } | ||||||
|  | .glyphicon-hand-down              { &:before { content: "\e130"; } } | ||||||
|  | .glyphicon-circle-arrow-right     { &:before { content: "\e131"; } } | ||||||
|  | .glyphicon-circle-arrow-left      { &:before { content: "\e132"; } } | ||||||
|  | .glyphicon-circle-arrow-up        { &:before { content: "\e133"; } } | ||||||
|  | .glyphicon-circle-arrow-down      { &:before { content: "\e134"; } } | ||||||
|  | .glyphicon-globe                  { &:before { content: "\e135"; } } | ||||||
|  | .glyphicon-wrench                 { &:before { content: "\e136"; } } | ||||||
|  | .glyphicon-tasks                  { &:before { content: "\e137"; } } | ||||||
|  | .glyphicon-filter                 { &:before { content: "\e138"; } } | ||||||
|  | .glyphicon-briefcase              { &:before { content: "\e139"; } } | ||||||
|  | .glyphicon-fullscreen             { &:before { content: "\e140"; } } | ||||||
|  | .glyphicon-dashboard              { &:before { content: "\e141"; } } | ||||||
|  | .glyphicon-paperclip              { &:before { content: "\e142"; } } | ||||||
|  | .glyphicon-heart-empty            { &:before { content: "\e143"; } } | ||||||
|  | .glyphicon-link                   { &:before { content: "\e144"; } } | ||||||
|  | .glyphicon-phone                  { &:before { content: "\e145"; } } | ||||||
|  | .glyphicon-pushpin                { &:before { content: "\e146"; } } | ||||||
|  | .glyphicon-usd                    { &:before { content: "\e148"; } } | ||||||
|  | .glyphicon-gbp                    { &:before { content: "\e149"; } } | ||||||
|  | .glyphicon-sort                   { &:before { content: "\e150"; } } | ||||||
|  | .glyphicon-sort-by-alphabet       { &:before { content: "\e151"; } } | ||||||
|  | .glyphicon-sort-by-alphabet-alt   { &:before { content: "\e152"; } } | ||||||
|  | .glyphicon-sort-by-order          { &:before { content: "\e153"; } } | ||||||
|  | .glyphicon-sort-by-order-alt      { &:before { content: "\e154"; } } | ||||||
|  | .glyphicon-sort-by-attributes     { &:before { content: "\e155"; } } | ||||||
|  | .glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } } | ||||||
|  | .glyphicon-unchecked              { &:before { content: "\e157"; } } | ||||||
|  | .glyphicon-expand                 { &:before { content: "\e158"; } } | ||||||
|  | .glyphicon-collapse-down          { &:before { content: "\e159"; } } | ||||||
|  | .glyphicon-collapse-up            { &:before { content: "\e160"; } } | ||||||
|  | .glyphicon-log-in                 { &:before { content: "\e161"; } } | ||||||
|  | .glyphicon-flash                  { &:before { content: "\e162"; } } | ||||||
|  | .glyphicon-log-out                { &:before { content: "\e163"; } } | ||||||
|  | .glyphicon-new-window             { &:before { content: "\e164"; } } | ||||||
|  | .glyphicon-record                 { &:before { content: "\e165"; } } | ||||||
|  | .glyphicon-save                   { &:before { content: "\e166"; } } | ||||||
|  | .glyphicon-open                   { &:before { content: "\e167"; } } | ||||||
|  | .glyphicon-saved                  { &:before { content: "\e168"; } } | ||||||
|  | .glyphicon-import                 { &:before { content: "\e169"; } } | ||||||
|  | .glyphicon-export                 { &:before { content: "\e170"; } } | ||||||
|  | .glyphicon-send                   { &:before { content: "\e171"; } } | ||||||
|  | .glyphicon-floppy-disk            { &:before { content: "\e172"; } } | ||||||
|  | .glyphicon-floppy-saved           { &:before { content: "\e173"; } } | ||||||
|  | .glyphicon-floppy-remove          { &:before { content: "\e174"; } } | ||||||
|  | .glyphicon-floppy-save            { &:before { content: "\e175"; } } | ||||||
|  | .glyphicon-floppy-open            { &:before { content: "\e176"; } } | ||||||
|  | .glyphicon-credit-card            { &:before { content: "\e177"; } } | ||||||
|  | .glyphicon-transfer               { &:before { content: "\e178"; } } | ||||||
|  | .glyphicon-cutlery                { &:before { content: "\e179"; } } | ||||||
|  | .glyphicon-header                 { &:before { content: "\e180"; } } | ||||||
|  | .glyphicon-compressed             { &:before { content: "\e181"; } } | ||||||
|  | .glyphicon-earphone               { &:before { content: "\e182"; } } | ||||||
|  | .glyphicon-phone-alt              { &:before { content: "\e183"; } } | ||||||
|  | .glyphicon-tower                  { &:before { content: "\e184"; } } | ||||||
|  | .glyphicon-stats                  { &:before { content: "\e185"; } } | ||||||
|  | .glyphicon-sd-video               { &:before { content: "\e186"; } } | ||||||
|  | .glyphicon-hd-video               { &:before { content: "\e187"; } } | ||||||
|  | .glyphicon-subtitles              { &:before { content: "\e188"; } } | ||||||
|  | .glyphicon-sound-stereo           { &:before { content: "\e189"; } } | ||||||
|  | .glyphicon-sound-dolby            { &:before { content: "\e190"; } } | ||||||
|  | .glyphicon-sound-5-1              { &:before { content: "\e191"; } } | ||||||
|  | .glyphicon-sound-6-1              { &:before { content: "\e192"; } } | ||||||
|  | .glyphicon-sound-7-1              { &:before { content: "\e193"; } } | ||||||
|  | .glyphicon-copyright-mark         { &:before { content: "\e194"; } } | ||||||
|  | .glyphicon-registration-mark      { &:before { content: "\e195"; } } | ||||||
|  | .glyphicon-cloud-download         { &:before { content: "\e197"; } } | ||||||
|  | .glyphicon-cloud-upload           { &:before { content: "\e198"; } } | ||||||
|  | .glyphicon-tree-conifer           { &:before { content: "\e199"; } } | ||||||
|  | .glyphicon-tree-deciduous         { &:before { content: "\e200"; } } | ||||||
							
								
								
									
										84
									
								
								searx/static/oscar/less/bootstrap/grid.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,84 @@ | |||||||
|  | // | ||||||
|  | // Grid system | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Container widths | ||||||
|  | // | ||||||
|  | // Set the container width, and override it for fixed navbars in media queries. | ||||||
|  | 
 | ||||||
|  | .container { | ||||||
|  |   .container-fixed(); | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     width: @container-sm; | ||||||
|  |   } | ||||||
|  |   @media (min-width: @screen-md-min) { | ||||||
|  |     width: @container-md; | ||||||
|  |   } | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     width: @container-lg; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Fluid container | ||||||
|  | // | ||||||
|  | // Utilizes the mixin meant for fixed width containers, but without any defined | ||||||
|  | // width for fluid, full width layouts. | ||||||
|  | 
 | ||||||
|  | .container-fluid { | ||||||
|  |   .container-fixed(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Row | ||||||
|  | // | ||||||
|  | // Rows contain and clear the floats of your columns. | ||||||
|  | 
 | ||||||
|  | .row { | ||||||
|  |   .make-row(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Columns | ||||||
|  | // | ||||||
|  | // Common styles for small and large grid columns | ||||||
|  | 
 | ||||||
|  | .make-grid-columns(); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Extra small grid | ||||||
|  | // | ||||||
|  | // Columns, offsets, pushes, and pulls for extra small devices like | ||||||
|  | // smartphones. | ||||||
|  | 
 | ||||||
|  | .make-grid(xs); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Small grid | ||||||
|  | // | ||||||
|  | // Columns, offsets, pushes, and pulls for the small device range, from phones | ||||||
|  | // to tablets. | ||||||
|  | 
 | ||||||
|  | @media (min-width: @screen-sm-min) { | ||||||
|  |   .make-grid(sm); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Medium grid | ||||||
|  | // | ||||||
|  | // Columns, offsets, pushes, and pulls for the desktop device range. | ||||||
|  | 
 | ||||||
|  | @media (min-width: @screen-md-min) { | ||||||
|  |   .make-grid(md); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Large grid | ||||||
|  | // | ||||||
|  | // Columns, offsets, pushes, and pulls for the large desktop device range. | ||||||
|  | 
 | ||||||
|  | @media (min-width: @screen-lg-min) { | ||||||
|  |   .make-grid(lg); | ||||||
|  | } | ||||||
							
								
								
									
										166
									
								
								searx/static/oscar/less/bootstrap/input-groups.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,166 @@ | |||||||
|  | // | ||||||
|  | // Input groups | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Base styles | ||||||
|  | // ------------------------- | ||||||
|  | .input-group { | ||||||
|  |   position: relative; // For dropdowns | ||||||
|  |   display: table; | ||||||
|  |   border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table | ||||||
|  | 
 | ||||||
|  |   // Undo padding and float of grid classes | ||||||
|  |   &[class*="col-"] { | ||||||
|  |     float: none; | ||||||
|  |     padding-left: 0; | ||||||
|  |     padding-right: 0; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .form-control { | ||||||
|  |     // Ensure that the input is always above the *appended* addon button for | ||||||
|  |     // proper border colors. | ||||||
|  |     position: relative; | ||||||
|  |     z-index: 2; | ||||||
|  | 
 | ||||||
|  |     // IE9 fubars the placeholder attribute in text inputs and the arrows on | ||||||
|  |     // select elements in input groups. To fix it, we float the input. Details: | ||||||
|  |     // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855 | ||||||
|  |     float: left; | ||||||
|  | 
 | ||||||
|  |     width: 100%; | ||||||
|  |     margin-bottom: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Sizing options | ||||||
|  | // | ||||||
|  | // Remix the default form control sizing classes into new ones for easier | ||||||
|  | // manipulation. | ||||||
|  | 
 | ||||||
|  | .input-group-lg > .form-control, | ||||||
|  | .input-group-lg > .input-group-addon, | ||||||
|  | .input-group-lg > .input-group-btn > .btn { | ||||||
|  |   .input-lg(); | ||||||
|  | } | ||||||
|  | .input-group-sm > .form-control, | ||||||
|  | .input-group-sm > .input-group-addon, | ||||||
|  | .input-group-sm > .input-group-btn > .btn { | ||||||
|  |   .input-sm(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Display as table-cell | ||||||
|  | // ------------------------- | ||||||
|  | .input-group-addon, | ||||||
|  | .input-group-btn, | ||||||
|  | .input-group .form-control { | ||||||
|  |   display: table-cell; | ||||||
|  | 
 | ||||||
|  |   &:not(:first-child):not(:last-child) { | ||||||
|  |     border-radius: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // Addon and addon wrapper for buttons | ||||||
|  | .input-group-addon, | ||||||
|  | .input-group-btn { | ||||||
|  |   width: 1%; | ||||||
|  |   white-space: nowrap; | ||||||
|  |   vertical-align: middle; // Match the inputs | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Text input groups | ||||||
|  | // ------------------------- | ||||||
|  | .input-group-addon { | ||||||
|  |   padding: @padding-base-vertical @padding-base-horizontal; | ||||||
|  |   font-size: @font-size-base; | ||||||
|  |   font-weight: normal; | ||||||
|  |   line-height: 1; | ||||||
|  |   color: @input-color; | ||||||
|  |   text-align: center; | ||||||
|  |   background-color: @input-group-addon-bg; | ||||||
|  |   border: 1px solid @input-group-addon-border-color; | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  | 
 | ||||||
|  |   // Sizing | ||||||
|  |   &.input-sm { | ||||||
|  |     padding: @padding-small-vertical @padding-small-horizontal; | ||||||
|  |     font-size: @font-size-small; | ||||||
|  |     border-radius: @border-radius-small; | ||||||
|  |   } | ||||||
|  |   &.input-lg { | ||||||
|  |     padding: @padding-large-vertical @padding-large-horizontal; | ||||||
|  |     font-size: @font-size-large; | ||||||
|  |     border-radius: @border-radius-large; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Nuke default margins from checkboxes and radios to vertically center within. | ||||||
|  |   input[type="radio"], | ||||||
|  |   input[type="checkbox"] { | ||||||
|  |     margin-top: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Reset rounded corners | ||||||
|  | .input-group .form-control:first-child, | ||||||
|  | .input-group-addon:first-child, | ||||||
|  | .input-group-btn:first-child > .btn, | ||||||
|  | .input-group-btn:first-child > .btn-group > .btn, | ||||||
|  | .input-group-btn:first-child > .dropdown-toggle, | ||||||
|  | .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), | ||||||
|  | .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { | ||||||
|  |   .border-right-radius(0); | ||||||
|  | } | ||||||
|  | .input-group-addon:first-child { | ||||||
|  |   border-right: 0; | ||||||
|  | } | ||||||
|  | .input-group .form-control:last-child, | ||||||
|  | .input-group-addon:last-child, | ||||||
|  | .input-group-btn:last-child > .btn, | ||||||
|  | .input-group-btn:last-child > .btn-group > .btn, | ||||||
|  | .input-group-btn:last-child > .dropdown-toggle, | ||||||
|  | .input-group-btn:first-child > .btn:not(:first-child), | ||||||
|  | .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { | ||||||
|  |   .border-left-radius(0); | ||||||
|  | } | ||||||
|  | .input-group-addon:last-child { | ||||||
|  |   border-left: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Button input groups | ||||||
|  | // ------------------------- | ||||||
|  | .input-group-btn { | ||||||
|  |   position: relative; | ||||||
|  |   // Jankily prevent input button groups from wrapping with `white-space` and | ||||||
|  |   // `font-size` in combination with `inline-block` on buttons. | ||||||
|  |   font-size: 0; | ||||||
|  |   white-space: nowrap; | ||||||
|  | 
 | ||||||
|  |   // Negative margin for spacing, position for bringing hovered/focused/actived | ||||||
|  |   // element above the siblings. | ||||||
|  |   > .btn { | ||||||
|  |     position: relative; | ||||||
|  |     + .btn { | ||||||
|  |       margin-left: -1px; | ||||||
|  |     } | ||||||
|  |     // Bring the "active" button to the front | ||||||
|  |     &:hover, | ||||||
|  |     &:focus, | ||||||
|  |     &:active { | ||||||
|  |       z-index: 2; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Negative margin to only have a 1px border between the two | ||||||
|  |   &:first-child { | ||||||
|  |     > .btn, | ||||||
|  |     > .btn-group { | ||||||
|  |       margin-right: -1px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   &:last-child { | ||||||
|  |     > .btn, | ||||||
|  |     > .btn-group { | ||||||
|  |       margin-left: -1px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										48
									
								
								searx/static/oscar/less/bootstrap/jumbotron.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,48 @@ | |||||||
|  | // | ||||||
|  | // Jumbotron | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .jumbotron { | ||||||
|  |   padding: @jumbotron-padding; | ||||||
|  |   margin-bottom: @jumbotron-padding; | ||||||
|  |   color: @jumbotron-color; | ||||||
|  |   background-color: @jumbotron-bg; | ||||||
|  | 
 | ||||||
|  |   h1, | ||||||
|  |   .h1 { | ||||||
|  |     color: @jumbotron-heading-color; | ||||||
|  |   } | ||||||
|  |   p { | ||||||
|  |     margin-bottom: (@jumbotron-padding / 2); | ||||||
|  |     font-size: @jumbotron-font-size; | ||||||
|  |     font-weight: 200; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > hr { | ||||||
|  |     border-top-color: darken(@jumbotron-bg, 10%); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .container & { | ||||||
|  |     border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .container { | ||||||
|  |     max-width: 100%; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @media screen and (min-width: @screen-sm-min) { | ||||||
|  |     padding-top:    (@jumbotron-padding * 1.6); | ||||||
|  |     padding-bottom: (@jumbotron-padding * 1.6); | ||||||
|  | 
 | ||||||
|  |     .container & { | ||||||
|  |       padding-left:  (@jumbotron-padding * 2); | ||||||
|  |       padding-right: (@jumbotron-padding * 2); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     h1, | ||||||
|  |     .h1 { | ||||||
|  |       font-size: (@font-size-base * 4.5); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										64
									
								
								searx/static/oscar/less/bootstrap/labels.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,64 @@ | |||||||
|  | // | ||||||
|  | // Labels | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .label { | ||||||
|  |   display: inline; | ||||||
|  |   padding: .2em .6em .3em; | ||||||
|  |   font-size: 75%; | ||||||
|  |   font-weight: bold; | ||||||
|  |   line-height: 1; | ||||||
|  |   color: @label-color; | ||||||
|  |   text-align: center; | ||||||
|  |   white-space: nowrap; | ||||||
|  |   vertical-align: baseline; | ||||||
|  |   border-radius: .25em; | ||||||
|  | 
 | ||||||
|  |   // Add hover effects, but only for links | ||||||
|  |   a& { | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       color: @label-link-hover-color; | ||||||
|  |       text-decoration: none; | ||||||
|  |       cursor: pointer; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Empty labels collapse automatically (not available in IE8) | ||||||
|  |   &:empty { | ||||||
|  |     display: none; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Quick fix for labels in buttons | ||||||
|  |   .btn & { | ||||||
|  |     position: relative; | ||||||
|  |     top: -1px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Colors | ||||||
|  | // Contextual variations (linked labels get darker on :hover) | ||||||
|  | 
 | ||||||
|  | .label-default { | ||||||
|  |   .label-variant(@label-default-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .label-primary { | ||||||
|  |   .label-variant(@label-primary-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .label-success { | ||||||
|  |   .label-variant(@label-success-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .label-info { | ||||||
|  |   .label-variant(@label-info-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .label-warning { | ||||||
|  |   .label-variant(@label-warning-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .label-danger { | ||||||
|  |   .label-variant(@label-danger-bg); | ||||||
|  | } | ||||||
							
								
								
									
										131
									
								
								searx/static/oscar/less/bootstrap/list-group.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,131 @@ | |||||||
|  | // | ||||||
|  | // List groups | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Base class | ||||||
|  | // | ||||||
|  | // Easily usable on <ul>, <ol>, or <div>. | ||||||
|  | 
 | ||||||
|  | .list-group { | ||||||
|  |   // No need to set list-style: none; since .list-group-item is block level | ||||||
|  |   margin-bottom: 20px; | ||||||
|  |   padding-left: 0; // reset padding because ul and ol | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Individual list items | ||||||
|  | // | ||||||
|  | // Use on `li`s or `div`s within the `.list-group` parent. | ||||||
|  | 
 | ||||||
|  | .list-group-item { | ||||||
|  |   position: relative; | ||||||
|  |   display: block; | ||||||
|  |   padding: 10px 15px; | ||||||
|  |   // Place the border on the list items and negative margin up for better styling | ||||||
|  |   margin-bottom: -1px; | ||||||
|  |   background-color: @list-group-bg; | ||||||
|  |   border: 1px solid @list-group-border; | ||||||
|  | 
 | ||||||
|  |   // Round the first and last items | ||||||
|  |   &:first-child { | ||||||
|  |     .border-top-radius(@list-group-border-radius); | ||||||
|  |   } | ||||||
|  |   &:last-child { | ||||||
|  |     margin-bottom: 0; | ||||||
|  |     .border-bottom-radius(@list-group-border-radius); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Align badges within list items | ||||||
|  |   > .badge { | ||||||
|  |     float: right; | ||||||
|  |   } | ||||||
|  |   > .badge + .badge { | ||||||
|  |     margin-right: 5px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Linked list items | ||||||
|  | // | ||||||
|  | // Use anchor elements instead of `li`s or `div`s to create linked list items. | ||||||
|  | // Includes an extra `.active` modifier class for showing selected items. | ||||||
|  | 
 | ||||||
|  | a.list-group-item { | ||||||
|  |   color: @list-group-link-color; | ||||||
|  | 
 | ||||||
|  |   .list-group-item-heading { | ||||||
|  |     color: @list-group-link-heading-color; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Hover state | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     text-decoration: none; | ||||||
|  |     color: @list-group-link-hover-color; | ||||||
|  |     background-color: @list-group-hover-bg; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .list-group-item { | ||||||
|  |   // Disabled state | ||||||
|  |   &.disabled, | ||||||
|  |   &.disabled:hover, | ||||||
|  |   &.disabled:focus { | ||||||
|  |     background-color: @list-group-disabled-bg; | ||||||
|  |     color: @list-group-disabled-color; | ||||||
|  | 
 | ||||||
|  |     // Force color to inherit for custom content | ||||||
|  |     .list-group-item-heading { | ||||||
|  |       color: inherit; | ||||||
|  |     } | ||||||
|  |     .list-group-item-text { | ||||||
|  |       color: @list-group-disabled-text-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Active class on item itself, not parent | ||||||
|  |   &.active, | ||||||
|  |   &.active:hover, | ||||||
|  |   &.active:focus { | ||||||
|  |     z-index: 2; // Place active items above their siblings for proper border styling | ||||||
|  |     color: @list-group-active-color; | ||||||
|  |     background-color: @list-group-active-bg; | ||||||
|  |     border-color: @list-group-active-border; | ||||||
|  | 
 | ||||||
|  |     // Force color to inherit for custom content | ||||||
|  |     .list-group-item-heading, | ||||||
|  |     .list-group-item-heading > small, | ||||||
|  |     .list-group-item-heading > .small { | ||||||
|  |       color: inherit; | ||||||
|  |     } | ||||||
|  |     .list-group-item-text { | ||||||
|  |       color: @list-group-active-text-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Contextual variants | ||||||
|  | // | ||||||
|  | // Add modifier classes to change text and background color on individual items. | ||||||
|  | // Organizationally, this must come after the `:hover` states. | ||||||
|  | 
 | ||||||
|  | .list-group-item-variant(success; @state-success-bg; @state-success-text); | ||||||
|  | .list-group-item-variant(info; @state-info-bg; @state-info-text); | ||||||
|  | .list-group-item-variant(warning; @state-warning-bg; @state-warning-text); | ||||||
|  | .list-group-item-variant(danger; @state-danger-bg; @state-danger-text); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Custom content options | ||||||
|  | // | ||||||
|  | // Extra classes for creating well-formatted content within `.list-group-item`s. | ||||||
|  | 
 | ||||||
|  | .list-group-item-heading { | ||||||
|  |   margin-top: 0; | ||||||
|  |   margin-bottom: 5px; | ||||||
|  | } | ||||||
|  | .list-group-item-text { | ||||||
|  |   margin-bottom: 0; | ||||||
|  |   line-height: 1.3; | ||||||
|  | } | ||||||
							
								
								
									
										56
									
								
								searx/static/oscar/less/bootstrap/media.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,56 @@ | |||||||
|  | // Media objects | ||||||
|  | // Source: http://stubbornella.org/content/?p=497 | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Common styles | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | // Clear the floats | ||||||
|  | .media, | ||||||
|  | .media-body { | ||||||
|  |   overflow: hidden; | ||||||
|  |   zoom: 1; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Proper spacing between instances of .media | ||||||
|  | .media, | ||||||
|  | .media .media { | ||||||
|  |   margin-top: 15px; | ||||||
|  | } | ||||||
|  | .media:first-child { | ||||||
|  |   margin-top: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // For images and videos, set to block | ||||||
|  | .media-object { | ||||||
|  |   display: block; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Reset margins on headings for tighter default spacing | ||||||
|  | .media-heading { | ||||||
|  |   margin: 0 0 5px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Media image alignment | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | .media { | ||||||
|  |   > .pull-left { | ||||||
|  |     margin-right: 10px; | ||||||
|  |   } | ||||||
|  |   > .pull-right { | ||||||
|  |     margin-left: 10px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Media list variation | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | // Undo default ul/ol styles | ||||||
|  | .media-list { | ||||||
|  |   padding-left: 0; | ||||||
|  |   list-style: none; | ||||||
|  | } | ||||||
							
								
								
									
										39
									
								
								searx/static/oscar/less/bootstrap/mixins.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,39 @@ | |||||||
|  | // Mixins | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Utilities | ||||||
|  | @import "mixins/hide-text.less"; | ||||||
|  | @import "mixins/opacity.less"; | ||||||
|  | @import "mixins/image.less"; | ||||||
|  | @import "mixins/labels.less"; | ||||||
|  | @import "mixins/reset-filter.less"; | ||||||
|  | @import "mixins/resize.less"; | ||||||
|  | @import "mixins/responsive-visibility.less"; | ||||||
|  | @import "mixins/size.less"; | ||||||
|  | @import "mixins/tab-focus.less"; | ||||||
|  | @import "mixins/text-emphasis.less"; | ||||||
|  | @import "mixins/text-overflow.less"; | ||||||
|  | @import "mixins/vendor-prefixes.less"; | ||||||
|  | 
 | ||||||
|  | // Components | ||||||
|  | @import "mixins/alerts.less"; | ||||||
|  | @import "mixins/buttons.less"; | ||||||
|  | @import "mixins/panels.less"; | ||||||
|  | @import "mixins/pagination.less"; | ||||||
|  | @import "mixins/list-group.less"; | ||||||
|  | @import "mixins/nav-divider.less"; | ||||||
|  | @import "mixins/forms.less"; | ||||||
|  | @import "mixins/progress-bar.less"; | ||||||
|  | @import "mixins/table-row.less"; | ||||||
|  | 
 | ||||||
|  | // Skins | ||||||
|  | @import "mixins/background-variant.less"; | ||||||
|  | @import "mixins/border-radius.less"; | ||||||
|  | @import "mixins/gradients.less"; | ||||||
|  | 
 | ||||||
|  | // Layout | ||||||
|  | @import "mixins/clearfix.less"; | ||||||
|  | @import "mixins/center-block.less"; | ||||||
|  | @import "mixins/nav-vertical-align.less"; | ||||||
|  | @import "mixins/grid-framework.less"; | ||||||
|  | @import "mixins/grid.less"; | ||||||
							
								
								
									
										14
									
								
								searx/static/oscar/less/bootstrap/mixins/alerts.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,14 @@ | |||||||
|  | // Alerts | ||||||
|  | 
 | ||||||
|  | .alert-variant(@background; @border; @text-color) { | ||||||
|  |   background-color: @background; | ||||||
|  |   border-color: @border; | ||||||
|  |   color: @text-color; | ||||||
|  | 
 | ||||||
|  |   hr { | ||||||
|  |     border-top-color: darken(@border, 5%); | ||||||
|  |   } | ||||||
|  |   .alert-link { | ||||||
|  |     color: darken(@text-color, 10%); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,8 @@ | |||||||
|  | // Contextual backgrounds | ||||||
|  | 
 | ||||||
|  | .bg-variant(@color) { | ||||||
|  |   background-color: @color; | ||||||
|  |   a&:hover { | ||||||
|  |     background-color: darken(@color, 10%); | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										18
									
								
								searx/static/oscar/less/bootstrap/mixins/border-radius.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,18 @@ | |||||||
|  | // Single side border-radius | ||||||
|  | 
 | ||||||
|  | .border-top-radius(@radius) { | ||||||
|  |   border-top-right-radius: @radius; | ||||||
|  |    border-top-left-radius: @radius; | ||||||
|  | } | ||||||
|  | .border-right-radius(@radius) { | ||||||
|  |   border-bottom-right-radius: @radius; | ||||||
|  |      border-top-right-radius: @radius; | ||||||
|  | } | ||||||
|  | .border-bottom-radius(@radius) { | ||||||
|  |   border-bottom-right-radius: @radius; | ||||||
|  |    border-bottom-left-radius: @radius; | ||||||
|  | } | ||||||
|  | .border-left-radius(@radius) { | ||||||
|  |   border-bottom-left-radius: @radius; | ||||||
|  |      border-top-left-radius: @radius; | ||||||
|  | } | ||||||
							
								
								
									
										50
									
								
								searx/static/oscar/less/bootstrap/mixins/buttons.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,50 @@ | |||||||
|  | // Button variants | ||||||
|  | // | ||||||
|  | // Easily pump out default styles, as well as :hover, :focus, :active, | ||||||
|  | // and disabled options for all buttons | ||||||
|  | 
 | ||||||
|  | .button-variant(@color; @background; @border) { | ||||||
|  |   color: @color; | ||||||
|  |   background-color: @background; | ||||||
|  |   border-color: @border; | ||||||
|  | 
 | ||||||
|  |   &:hover, | ||||||
|  |   &:focus, | ||||||
|  |   &:active, | ||||||
|  |   &.active, | ||||||
|  |   .open > .dropdown-toggle& { | ||||||
|  |     color: @color; | ||||||
|  |     background-color: darken(@background, 10%); | ||||||
|  |         border-color: darken(@border, 12%); | ||||||
|  |   } | ||||||
|  |   &:active, | ||||||
|  |   &.active, | ||||||
|  |   .open > .dropdown-toggle& { | ||||||
|  |     background-image: none; | ||||||
|  |   } | ||||||
|  |   &.disabled, | ||||||
|  |   &[disabled], | ||||||
|  |   fieldset[disabled] & { | ||||||
|  |     &, | ||||||
|  |     &:hover, | ||||||
|  |     &:focus, | ||||||
|  |     &:active, | ||||||
|  |     &.active { | ||||||
|  |       background-color: @background; | ||||||
|  |           border-color: @border; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .badge { | ||||||
|  |     color: @background; | ||||||
|  |     background-color: @color; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Button sizes | ||||||
|  | .button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { | ||||||
|  |   padding: @padding-vertical @padding-horizontal; | ||||||
|  |   font-size: @font-size; | ||||||
|  |   line-height: @line-height; | ||||||
|  |   border-radius: @border-radius; | ||||||
|  | } | ||||||
| @ -0,0 +1,7 @@ | |||||||
|  | // Center-align a block level element | ||||||
|  | 
 | ||||||
|  | .center-block() { | ||||||
|  |   display: block; | ||||||
|  |   margin-left: auto; | ||||||
|  |   margin-right: auto; | ||||||
|  | } | ||||||
							
								
								
									
										22
									
								
								searx/static/oscar/less/bootstrap/mixins/clearfix.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,22 @@ | |||||||
|  | // Clearfix | ||||||
|  | // | ||||||
|  | // For modern browsers | ||||||
|  | // 1. The space content is one way to avoid an Opera bug when the | ||||||
|  | //    contenteditable attribute is included anywhere else in the document. | ||||||
|  | //    Otherwise it causes space to appear at the top and bottom of elements | ||||||
|  | //    that are clearfixed. | ||||||
|  | // 2. The use of `table` rather than `block` is only necessary if using | ||||||
|  | //    `:before` to contain the top-margins of child elements. | ||||||
|  | // | ||||||
|  | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ | ||||||
|  | 
 | ||||||
|  | .clearfix() { | ||||||
|  |   &:before, | ||||||
|  |   &:after { | ||||||
|  |     content: " "; // 1 | ||||||
|  |     display: table; // 2 | ||||||
|  |   } | ||||||
|  |   &:after { | ||||||
|  |     clear: both; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										81
									
								
								searx/static/oscar/less/bootstrap/mixins/forms.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,81 @@ | |||||||
|  | // Form validation states | ||||||
|  | // | ||||||
|  | // Used in forms.less to generate the form validation CSS for warnings, errors, | ||||||
|  | // and successes. | ||||||
|  | 
 | ||||||
|  | .form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) { | ||||||
|  |   // Color the label and help text | ||||||
|  |   .help-block, | ||||||
|  |   .control-label, | ||||||
|  |   .radio, | ||||||
|  |   .checkbox, | ||||||
|  |   .radio-inline, | ||||||
|  |   .checkbox-inline  { | ||||||
|  |     color: @text-color; | ||||||
|  |   } | ||||||
|  |   // Set the border and box shadow on specific inputs to match | ||||||
|  |   .form-control { | ||||||
|  |     border-color: @border-color; | ||||||
|  |     .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work | ||||||
|  |     &:focus { | ||||||
|  |       border-color: darken(@border-color, 10%); | ||||||
|  |       @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%); | ||||||
|  |       .box-shadow(@shadow); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   // Set validation states also for addons | ||||||
|  |   .input-group-addon { | ||||||
|  |     color: @text-color; | ||||||
|  |     border-color: @border-color; | ||||||
|  |     background-color: @background-color; | ||||||
|  |   } | ||||||
|  |   // Optional feedback icon | ||||||
|  |   .form-control-feedback { | ||||||
|  |     color: @text-color; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Form control focus state | ||||||
|  | // | ||||||
|  | // Generate a customized focus state and for any input with the specified color, | ||||||
|  | // which defaults to the `@input-border-focus` variable. | ||||||
|  | // | ||||||
|  | // We highly encourage you to not customize the default value, but instead use | ||||||
|  | // this to tweak colors on an as-needed basis. This aesthetic change is based on | ||||||
|  | // WebKit's default styles, but applicable to a wider range of browsers. Its | ||||||
|  | // usability and accessibility should be taken into account with any change. | ||||||
|  | // | ||||||
|  | // Example usage: change the default blue border and shadow to white for better | ||||||
|  | // contrast against a dark gray background. | ||||||
|  | .form-control-focus(@color: @input-border-focus) { | ||||||
|  |   @color-rgba: rgba(red(@color), green(@color), blue(@color), .6); | ||||||
|  |   &:focus { | ||||||
|  |     border-color: @color; | ||||||
|  |     outline: 0; | ||||||
|  |     .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}"); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Form control sizing | ||||||
|  | // | ||||||
|  | // Relative text size, padding, and border-radii changes for form controls. For | ||||||
|  | // horizontal sizing, wrap controls in the predefined grid classes. `<select>` | ||||||
|  | // element gets special love because it's special, and that's a fact! | ||||||
|  | .input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { | ||||||
|  |   height: @input-height; | ||||||
|  |   padding: @padding-vertical @padding-horizontal; | ||||||
|  |   font-size: @font-size; | ||||||
|  |   line-height: @line-height; | ||||||
|  |   border-radius: @border-radius; | ||||||
|  | 
 | ||||||
|  |   select& { | ||||||
|  |     height: @input-height; | ||||||
|  |     line-height: @input-height; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   textarea&, | ||||||
|  |   select[multiple]& { | ||||||
|  |     height: auto; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										59
									
								
								searx/static/oscar/less/bootstrap/mixins/gradients.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,59 @@ | |||||||
|  | // Gradients | ||||||
|  | 
 | ||||||
|  | #gradient { | ||||||
|  | 
 | ||||||
|  |   // Horizontal gradient, from left to right | ||||||
|  |   // | ||||||
|  |   // Creates two color stops, start and end, by specifying a color and position for each color stop. | ||||||
|  |   // Color stops are not available in IE9 and below. | ||||||
|  |   .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { | ||||||
|  |     background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+ | ||||||
|  |     background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12 | ||||||
|  |     background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ | ||||||
|  |     background-repeat: repeat-x; | ||||||
|  |     filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Vertical gradient, from top to bottom | ||||||
|  |   // | ||||||
|  |   // Creates two color stops, start and end, by specifying a color and position for each color stop. | ||||||
|  |   // Color stops are not available in IE9 and below. | ||||||
|  |   .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { | ||||||
|  |     background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+ | ||||||
|  |     background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12 | ||||||
|  |     background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ | ||||||
|  |     background-repeat: repeat-x; | ||||||
|  |     filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .directional(@start-color: #555; @end-color: #333; @deg: 45deg) { | ||||||
|  |     background-repeat: repeat-x; | ||||||
|  |     background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+ | ||||||
|  |     background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12 | ||||||
|  |     background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ | ||||||
|  |   } | ||||||
|  |   .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { | ||||||
|  |     background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color); | ||||||
|  |     background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color); | ||||||
|  |     background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color); | ||||||
|  |     background-repeat: no-repeat; | ||||||
|  |     filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback | ||||||
|  |   } | ||||||
|  |   .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { | ||||||
|  |     background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color); | ||||||
|  |     background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color); | ||||||
|  |     background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color); | ||||||
|  |     background-repeat: no-repeat; | ||||||
|  |     filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback | ||||||
|  |   } | ||||||
|  |   .radial(@inner-color: #555; @outer-color: #333) { | ||||||
|  |     background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color); | ||||||
|  |     background-image: radial-gradient(circle, @inner-color, @outer-color); | ||||||
|  |     background-repeat: no-repeat; | ||||||
|  |   } | ||||||
|  |   .striped(@color: rgba(255,255,255,.15); @angle: 45deg) { | ||||||
|  |     background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); | ||||||
|  |     background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); | ||||||
|  |     background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										91
									
								
								searx/static/oscar/less/bootstrap/mixins/grid-framework.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,91 @@ | |||||||
|  | // Framework grid generation | ||||||
|  | // | ||||||
|  | // Used only by Bootstrap to generate the correct number of grid classes given | ||||||
|  | // any value of `@grid-columns`. | ||||||
|  | 
 | ||||||
|  | .make-grid-columns() { | ||||||
|  |   // Common styles for all sizes of grid columns, widths 1-12 | ||||||
|  |   .col(@index) when (@index = 1) { // initial | ||||||
|  |     @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; | ||||||
|  |     .col((@index + 1), @item); | ||||||
|  |   } | ||||||
|  |   .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo | ||||||
|  |     @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; | ||||||
|  |     .col((@index + 1), ~"@{list}, @{item}"); | ||||||
|  |   } | ||||||
|  |   .col(@index, @list) when (@index > @grid-columns) { // terminal | ||||||
|  |     @{list} { | ||||||
|  |       position: relative; | ||||||
|  |       // Prevent columns from collapsing when empty | ||||||
|  |       min-height: 1px; | ||||||
|  |       // Inner gutter via padding | ||||||
|  |       padding-left:  (@grid-gutter-width / 2); | ||||||
|  |       padding-right: (@grid-gutter-width / 2); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   .col(1); // kickstart it | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .float-grid-columns(@class) { | ||||||
|  |   .col(@index) when (@index = 1) { // initial | ||||||
|  |     @item: ~".col-@{class}-@{index}"; | ||||||
|  |     .col((@index + 1), @item); | ||||||
|  |   } | ||||||
|  |   .col(@index, @list) when (@index =< @grid-columns) { // general | ||||||
|  |     @item: ~".col-@{class}-@{index}"; | ||||||
|  |     .col((@index + 1), ~"@{list}, @{item}"); | ||||||
|  |   } | ||||||
|  |   .col(@index, @list) when (@index > @grid-columns) { // terminal | ||||||
|  |     @{list} { | ||||||
|  |       float: left; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   .col(1); // kickstart it | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) { | ||||||
|  |   .col-@{class}-@{index} { | ||||||
|  |     width: percentage((@index / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) { | ||||||
|  |   .col-@{class}-push-@{index} { | ||||||
|  |     left: percentage((@index / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) { | ||||||
|  |   .col-@{class}-push-0 { | ||||||
|  |     left: auto; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) { | ||||||
|  |   .col-@{class}-pull-@{index} { | ||||||
|  |     right: percentage((@index / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) { | ||||||
|  |   .col-@{class}-pull-0 { | ||||||
|  |     right: auto; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .calc-grid-column(@index, @class, @type) when (@type = offset) { | ||||||
|  |   .col-@{class}-offset-@{index} { | ||||||
|  |     margin-left: percentage((@index / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Basic looping in LESS | ||||||
|  | .loop-grid-columns(@index, @class, @type) when (@index >= 0) { | ||||||
|  |   .calc-grid-column(@index, @class, @type); | ||||||
|  |   // next iteration | ||||||
|  |   .loop-grid-columns((@index - 1), @class, @type); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Create grid for specific class | ||||||
|  | .make-grid(@class) { | ||||||
|  |   .float-grid-columns(@class); | ||||||
|  |   .loop-grid-columns(@grid-columns, @class, width); | ||||||
|  |   .loop-grid-columns(@grid-columns, @class, pull); | ||||||
|  |   .loop-grid-columns(@grid-columns, @class, push); | ||||||
|  |   .loop-grid-columns(@grid-columns, @class, offset); | ||||||
|  | } | ||||||
							
								
								
									
										122
									
								
								searx/static/oscar/less/bootstrap/mixins/grid.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,122 @@ | |||||||
|  | // Grid system | ||||||
|  | // | ||||||
|  | // Generate semantic grid columns with these mixins. | ||||||
|  | 
 | ||||||
|  | // Centered container element | ||||||
|  | .container-fixed(@gutter: @grid-gutter-width) { | ||||||
|  |   margin-right: auto; | ||||||
|  |   margin-left: auto; | ||||||
|  |   padding-left:  (@gutter / 2); | ||||||
|  |   padding-right: (@gutter / 2); | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Creates a wrapper for a series of columns | ||||||
|  | .make-row(@gutter: @grid-gutter-width) { | ||||||
|  |   margin-left:  (@gutter / -2); | ||||||
|  |   margin-right: (@gutter / -2); | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Generate the extra small columns | ||||||
|  | .make-xs-column(@columns; @gutter: @grid-gutter-width) { | ||||||
|  |   position: relative; | ||||||
|  |   float: left; | ||||||
|  |   width: percentage((@columns / @grid-columns)); | ||||||
|  |   min-height: 1px; | ||||||
|  |   padding-left:  (@gutter / 2); | ||||||
|  |   padding-right: (@gutter / 2); | ||||||
|  | } | ||||||
|  | .make-xs-column-offset(@columns) { | ||||||
|  |   margin-left: percentage((@columns / @grid-columns)); | ||||||
|  | } | ||||||
|  | .make-xs-column-push(@columns) { | ||||||
|  |   left: percentage((@columns / @grid-columns)); | ||||||
|  | } | ||||||
|  | .make-xs-column-pull(@columns) { | ||||||
|  |   right: percentage((@columns / @grid-columns)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Generate the small columns | ||||||
|  | .make-sm-column(@columns; @gutter: @grid-gutter-width) { | ||||||
|  |   position: relative; | ||||||
|  |   min-height: 1px; | ||||||
|  |   padding-left:  (@gutter / 2); | ||||||
|  |   padding-right: (@gutter / 2); | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     float: left; | ||||||
|  |     width: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-sm-column-offset(@columns) { | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     margin-left: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-sm-column-push(@columns) { | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     left: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-sm-column-pull(@columns) { | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     right: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Generate the medium columns | ||||||
|  | .make-md-column(@columns; @gutter: @grid-gutter-width) { | ||||||
|  |   position: relative; | ||||||
|  |   min-height: 1px; | ||||||
|  |   padding-left:  (@gutter / 2); | ||||||
|  |   padding-right: (@gutter / 2); | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @screen-md-min) { | ||||||
|  |     float: left; | ||||||
|  |     width: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-md-column-offset(@columns) { | ||||||
|  |   @media (min-width: @screen-md-min) { | ||||||
|  |     margin-left: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-md-column-push(@columns) { | ||||||
|  |   @media (min-width: @screen-md-min) { | ||||||
|  |     left: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-md-column-pull(@columns) { | ||||||
|  |   @media (min-width: @screen-md-min) { | ||||||
|  |     right: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Generate the large columns | ||||||
|  | .make-lg-column(@columns; @gutter: @grid-gutter-width) { | ||||||
|  |   position: relative; | ||||||
|  |   min-height: 1px; | ||||||
|  |   padding-left:  (@gutter / 2); | ||||||
|  |   padding-right: (@gutter / 2); | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     float: left; | ||||||
|  |     width: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-lg-column-offset(@columns) { | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     margin-left: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-lg-column-push(@columns) { | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     left: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .make-lg-column-pull(@columns) { | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     right: percentage((@columns / @grid-columns)); | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										21
									
								
								searx/static/oscar/less/bootstrap/mixins/hide-text.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,21 @@ | |||||||
|  | // CSS image replacement | ||||||
|  | // | ||||||
|  | // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for | ||||||
|  | // mixins being reused as classes with the same name, this doesn't hold up. As | ||||||
|  | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. | ||||||
|  | // | ||||||
|  | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 | ||||||
|  | 
 | ||||||
|  | // Deprecated as of v3.0.1 (will be removed in v4) | ||||||
|  | .hide-text() { | ||||||
|  |   font: ~"0/0" a; | ||||||
|  |   color: transparent; | ||||||
|  |   text-shadow: none; | ||||||
|  |   background-color: transparent; | ||||||
|  |   border: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // New mixin to use as of v3.0.1 | ||||||
|  | .text-hide() { | ||||||
|  |   .hide-text(); | ||||||
|  | } | ||||||
							
								
								
									
										34
									
								
								searx/static/oscar/less/bootstrap/mixins/image.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,34 @@ | |||||||
|  | // Image Mixins | ||||||
|  | // - Responsive image | ||||||
|  | // - Retina image | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Responsive image | ||||||
|  | // | ||||||
|  | // Keep images from scaling beyond the width of their parents. | ||||||
|  | .img-responsive(@display: block) { | ||||||
|  |   display: @display; | ||||||
|  |   width: 100% \9; // Force IE10 and below to size SVG images correctly | ||||||
|  |   max-width: 100%; // Part 1: Set a maximum relative to the parent | ||||||
|  |   height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Retina image | ||||||
|  | // | ||||||
|  | // Short retina mixin for setting background-image and -size. Note that the | ||||||
|  | // spelling of `min--moz-device-pixel-ratio` is intentional. | ||||||
|  | .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) { | ||||||
|  |   background-image: url("@{file-1x}"); | ||||||
|  | 
 | ||||||
|  |   @media | ||||||
|  |   only screen and (-webkit-min-device-pixel-ratio: 2), | ||||||
|  |   only screen and (   min--moz-device-pixel-ratio: 2), | ||||||
|  |   only screen and (     -o-min-device-pixel-ratio: 2/1), | ||||||
|  |   only screen and (        min-device-pixel-ratio: 2), | ||||||
|  |   only screen and (                min-resolution: 192dpi), | ||||||
|  |   only screen and (                min-resolution: 2dppx) { | ||||||
|  |     background-image: url("@{file-2x}"); | ||||||
|  |     background-size: @width-1x @height-1x; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								searx/static/oscar/less/bootstrap/mixins/labels.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,12 @@ | |||||||
|  | // Labels | ||||||
|  | 
 | ||||||
|  | .label-variant(@color) { | ||||||
|  |   background-color: @color; | ||||||
|  |    | ||||||
|  |   &[href] { | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       background-color: darken(@color, 10%); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										29
									
								
								searx/static/oscar/less/bootstrap/mixins/list-group.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,29 @@ | |||||||
|  | // List Groups | ||||||
|  | 
 | ||||||
|  | .list-group-item-variant(@state; @background; @color) { | ||||||
|  |   .list-group-item-@{state} { | ||||||
|  |     color: @color; | ||||||
|  |     background-color: @background; | ||||||
|  | 
 | ||||||
|  |     a& { | ||||||
|  |       color: @color; | ||||||
|  | 
 | ||||||
|  |       .list-group-item-heading { | ||||||
|  |         color: inherit; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @color; | ||||||
|  |         background-color: darken(@background, 5%); | ||||||
|  |       } | ||||||
|  |       &.active, | ||||||
|  |       &.active:hover, | ||||||
|  |       &.active:focus { | ||||||
|  |         color: #fff; | ||||||
|  |         background-color: @color; | ||||||
|  |         border-color: @color; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								searx/static/oscar/less/bootstrap/mixins/nav-divider.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,10 @@ | |||||||
|  | // Horizontal dividers | ||||||
|  | // | ||||||
|  | // Dividers (basically an hr) within dropdowns and nav lists | ||||||
|  | 
 | ||||||
|  | .nav-divider(@color: #e5e5e5) { | ||||||
|  |   height: 1px; | ||||||
|  |   margin: ((@line-height-computed / 2) - 1) 0; | ||||||
|  |   overflow: hidden; | ||||||
|  |   background-color: @color; | ||||||
|  | } | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | // Navbar vertical align | ||||||
|  | // | ||||||
|  | // Vertically center elements in the navbar. | ||||||
|  | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. | ||||||
|  | 
 | ||||||
|  | .navbar-vertical-align(@element-height) { | ||||||
|  |   margin-top: ((@navbar-height - @element-height) / 2); | ||||||
|  |   margin-bottom: ((@navbar-height - @element-height) / 2); | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								searx/static/oscar/less/bootstrap/mixins/opacity.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,8 @@ | |||||||
|  | // Opacity | ||||||
|  | 
 | ||||||
|  | .opacity(@opacity) { | ||||||
|  |   opacity: @opacity; | ||||||
|  |   // IE8 filter | ||||||
|  |   @opacity-ie: (@opacity * 100); | ||||||
|  |   filter: ~"alpha(opacity=@{opacity-ie})"; | ||||||
|  | } | ||||||
							
								
								
									
										23
									
								
								searx/static/oscar/less/bootstrap/mixins/pagination.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,23 @@ | |||||||
|  | // Pagination | ||||||
|  | 
 | ||||||
|  | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) { | ||||||
|  |   > li { | ||||||
|  |     > a, | ||||||
|  |     > span { | ||||||
|  |       padding: @padding-vertical @padding-horizontal; | ||||||
|  |       font-size: @font-size; | ||||||
|  |     } | ||||||
|  |     &:first-child { | ||||||
|  |       > a, | ||||||
|  |       > span { | ||||||
|  |         .border-left-radius(@border-radius); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     &:last-child { | ||||||
|  |       > a, | ||||||
|  |       > span { | ||||||
|  |         .border-right-radius(@border-radius); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								searx/static/oscar/less/bootstrap/mixins/panels.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,24 @@ | |||||||
|  | // Panels | ||||||
|  | 
 | ||||||
|  | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { | ||||||
|  |   border-color: @border; | ||||||
|  | 
 | ||||||
|  |   & > .panel-heading { | ||||||
|  |     color: @heading-text-color; | ||||||
|  |     background-color: @heading-bg-color; | ||||||
|  |     border-color: @heading-border; | ||||||
|  | 
 | ||||||
|  |     + .panel-collapse > .panel-body { | ||||||
|  |       border-top-color: @border; | ||||||
|  |     } | ||||||
|  |     .badge { | ||||||
|  |       color: @heading-bg-color; | ||||||
|  |       background-color: @heading-text-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   & > .panel-footer { | ||||||
|  |     + .panel-collapse > .panel-body { | ||||||
|  |       border-bottom-color: @border; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								searx/static/oscar/less/bootstrap/mixins/progress-bar.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,10 @@ | |||||||
|  | // Progress bars | ||||||
|  | 
 | ||||||
|  | .progress-bar-variant(@color) { | ||||||
|  |   background-color: @color; | ||||||
|  | 
 | ||||||
|  |   // Deprecated parent class requirement as of v3.2.0 | ||||||
|  |   .progress-striped & { | ||||||
|  |     #gradient > .striped(); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,8 @@ | |||||||
|  | // Reset filters for IE | ||||||
|  | // | ||||||
|  | // When you need to remove a gradient background, do not forget to use this to reset | ||||||
|  | // the IE filter for IE9 and below. | ||||||
|  | 
 | ||||||
|  | .reset-filter() { | ||||||
|  |   filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); | ||||||
|  | } | ||||||
							
								
								
									
										6
									
								
								searx/static/oscar/less/bootstrap/mixins/resize.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,6 @@ | |||||||
|  | // Resize anything | ||||||
|  | 
 | ||||||
|  | .resizable(@direction) { | ||||||
|  |   resize: @direction; // Options: horizontal, vertical, both | ||||||
|  |   overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` | ||||||
|  | } | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | // Responsive utilities | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // More easily include all the states for responsive-utilities.less. | ||||||
|  | .responsive-visibility() { | ||||||
|  |   display: block !important; | ||||||
|  |   table&  { display: table; } | ||||||
|  |   tr&     { display: table-row !important; } | ||||||
|  |   th&, | ||||||
|  |   td&     { display: table-cell !important; } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .responsive-invisibility() { | ||||||
|  |   display: none !important; | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								searx/static/oscar/less/bootstrap/mixins/size.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,10 @@ | |||||||
|  | // Sizing shortcuts | ||||||
|  | 
 | ||||||
|  | .size(@width; @height) { | ||||||
|  |   width: @width; | ||||||
|  |   height: @height; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .square(@size) { | ||||||
|  |   .size(@size; @size); | ||||||
|  | } | ||||||
							
								
								
									
										9
									
								
								searx/static/oscar/less/bootstrap/mixins/tab-focus.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,9 @@ | |||||||
|  | // WebKit-style focus | ||||||
|  | 
 | ||||||
|  | .tab-focus() { | ||||||
|  |   // Default | ||||||
|  |   outline: thin dotted; | ||||||
|  |   // WebKit | ||||||
|  |   outline: 5px auto -webkit-focus-ring-color; | ||||||
|  |   outline-offset: -2px; | ||||||
|  | } | ||||||
							
								
								
									
										28
									
								
								searx/static/oscar/less/bootstrap/mixins/table-row.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,28 @@ | |||||||
|  | // Tables | ||||||
|  | 
 | ||||||
|  | .table-row-variant(@state; @background) { | ||||||
|  |   // Exact selectors below required to override `.table-striped` and prevent | ||||||
|  |   // inheritance to nested tables. | ||||||
|  |   .table > thead > tr, | ||||||
|  |   .table > tbody > tr, | ||||||
|  |   .table > tfoot > tr { | ||||||
|  |     > td.@{state}, | ||||||
|  |     > th.@{state}, | ||||||
|  |     &.@{state} > td, | ||||||
|  |     &.@{state} > th { | ||||||
|  |       background-color: @background; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Hover states for `.table-hover` | ||||||
|  |   // Note: this is not available for cells or rows within `thead` or `tfoot`. | ||||||
|  |   .table-hover > tbody > tr { | ||||||
|  |     > td.@{state}:hover, | ||||||
|  |     > th.@{state}:hover, | ||||||
|  |     &.@{state}:hover > td, | ||||||
|  |     &:hover > .@{state}, | ||||||
|  |     &.@{state}:hover > th { | ||||||
|  |       background-color: darken(@background, 5%); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,8 @@ | |||||||
|  | // Typography | ||||||
|  | 
 | ||||||
|  | .text-emphasis-variant(@color) { | ||||||
|  |   color: @color; | ||||||
|  |   a&:hover { | ||||||
|  |     color: darken(@color, 10%); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,8 @@ | |||||||
|  | // Text overflow | ||||||
|  | // Requires inline-block or block for proper styling | ||||||
|  | 
 | ||||||
|  | .text-overflow() { | ||||||
|  |   overflow: hidden; | ||||||
|  |   text-overflow: ellipsis; | ||||||
|  |   white-space: nowrap; | ||||||
|  | } | ||||||
							
								
								
									
										224
									
								
								searx/static/oscar/less/bootstrap/mixins/vendor-prefixes.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,224 @@ | |||||||
|  | // Vendor Prefixes | ||||||
|  | // | ||||||
|  | // All vendor mixins are deprecated as of v3.2.0 due to the introduction of | ||||||
|  | // Autoprefixer in our Gruntfile. They will be removed in v4. | ||||||
|  | 
 | ||||||
|  | // - Animations | ||||||
|  | // - Backface visibility | ||||||
|  | // - Box shadow | ||||||
|  | // - Box sizing | ||||||
|  | // - Content columns | ||||||
|  | // - Hyphens | ||||||
|  | // - Placeholder text | ||||||
|  | // - Transformations | ||||||
|  | // - Transitions | ||||||
|  | // - User Select | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Animations | ||||||
|  | .animation(@animation) { | ||||||
|  |   -webkit-animation: @animation; | ||||||
|  |        -o-animation: @animation; | ||||||
|  |           animation: @animation; | ||||||
|  | } | ||||||
|  | .animation-name(@name) { | ||||||
|  |   -webkit-animation-name: @name; | ||||||
|  |           animation-name: @name; | ||||||
|  | } | ||||||
|  | .animation-duration(@duration) { | ||||||
|  |   -webkit-animation-duration: @duration; | ||||||
|  |           animation-duration: @duration; | ||||||
|  | } | ||||||
|  | .animation-timing-function(@timing-function) { | ||||||
|  |   -webkit-animation-timing-function: @timing-function; | ||||||
|  |           animation-timing-function: @timing-function; | ||||||
|  | } | ||||||
|  | .animation-delay(@delay) { | ||||||
|  |   -webkit-animation-delay: @delay; | ||||||
|  |           animation-delay: @delay; | ||||||
|  | } | ||||||
|  | .animation-iteration-count(@iteration-count) { | ||||||
|  |   -webkit-animation-iteration-count: @iteration-count; | ||||||
|  |           animation-iteration-count: @iteration-count; | ||||||
|  | } | ||||||
|  | .animation-direction(@direction) { | ||||||
|  |   -webkit-animation-direction: @direction; | ||||||
|  |           animation-direction: @direction; | ||||||
|  | } | ||||||
|  | .animation-fill-mode(@fill-mode) { | ||||||
|  |   -webkit-animation-fill-mode: @fill-mode; | ||||||
|  |           animation-fill-mode: @fill-mode; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Backface visibility | ||||||
|  | // Prevent browsers from flickering when using CSS 3D transforms. | ||||||
|  | // Default value is `visible`, but can be changed to `hidden` | ||||||
|  | 
 | ||||||
|  | .backface-visibility(@visibility){ | ||||||
|  |   -webkit-backface-visibility: @visibility; | ||||||
|  |      -moz-backface-visibility: @visibility; | ||||||
|  |           backface-visibility: @visibility; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Drop shadows | ||||||
|  | // | ||||||
|  | // Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's | ||||||
|  | // supported browsers that have box shadow capabilities now support it. | ||||||
|  | 
 | ||||||
|  | .box-shadow(@shadow) { | ||||||
|  |   -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1 | ||||||
|  |           box-shadow: @shadow; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Box sizing | ||||||
|  | .box-sizing(@boxmodel) { | ||||||
|  |   -webkit-box-sizing: @boxmodel; | ||||||
|  |      -moz-box-sizing: @boxmodel; | ||||||
|  |           box-sizing: @boxmodel; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // CSS3 Content Columns | ||||||
|  | .content-columns(@column-count; @column-gap: @grid-gutter-width) { | ||||||
|  |   -webkit-column-count: @column-count; | ||||||
|  |      -moz-column-count: @column-count; | ||||||
|  |           column-count: @column-count; | ||||||
|  |   -webkit-column-gap: @column-gap; | ||||||
|  |      -moz-column-gap: @column-gap; | ||||||
|  |           column-gap: @column-gap; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Optional hyphenation | ||||||
|  | .hyphens(@mode: auto) { | ||||||
|  |   word-wrap: break-word; | ||||||
|  |   -webkit-hyphens: @mode; | ||||||
|  |      -moz-hyphens: @mode; | ||||||
|  |       -ms-hyphens: @mode; // IE10+ | ||||||
|  |        -o-hyphens: @mode; | ||||||
|  |           hyphens: @mode; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Placeholder text | ||||||
|  | .placeholder(@color: @input-color-placeholder) { | ||||||
|  |   &::-moz-placeholder           { color: @color;   // Firefox | ||||||
|  |                                   opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526 | ||||||
|  |   &:-ms-input-placeholder       { color: @color; } // Internet Explorer 10+ | ||||||
|  |   &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Transformations | ||||||
|  | .scale(@ratio) { | ||||||
|  |   -webkit-transform: scale(@ratio); | ||||||
|  |       -ms-transform: scale(@ratio); // IE9 only | ||||||
|  |        -o-transform: scale(@ratio); | ||||||
|  |           transform: scale(@ratio); | ||||||
|  | } | ||||||
|  | .scale(@ratioX; @ratioY) { | ||||||
|  |   -webkit-transform: scale(@ratioX, @ratioY); | ||||||
|  |       -ms-transform: scale(@ratioX, @ratioY); // IE9 only | ||||||
|  |        -o-transform: scale(@ratioX, @ratioY); | ||||||
|  |           transform: scale(@ratioX, @ratioY); | ||||||
|  | } | ||||||
|  | .scaleX(@ratio) { | ||||||
|  |   -webkit-transform: scaleX(@ratio); | ||||||
|  |       -ms-transform: scaleX(@ratio); // IE9 only | ||||||
|  |        -o-transform: scaleX(@ratio); | ||||||
|  |           transform: scaleX(@ratio); | ||||||
|  | } | ||||||
|  | .scaleY(@ratio) { | ||||||
|  |   -webkit-transform: scaleY(@ratio); | ||||||
|  |       -ms-transform: scaleY(@ratio); // IE9 only | ||||||
|  |        -o-transform: scaleY(@ratio); | ||||||
|  |           transform: scaleY(@ratio); | ||||||
|  | } | ||||||
|  | .skew(@x; @y) { | ||||||
|  |   -webkit-transform: skewX(@x) skewY(@y); | ||||||
|  |       -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ | ||||||
|  |        -o-transform: skewX(@x) skewY(@y); | ||||||
|  |           transform: skewX(@x) skewY(@y); | ||||||
|  | } | ||||||
|  | .translate(@x; @y) { | ||||||
|  |   -webkit-transform: translate(@x, @y); | ||||||
|  |       -ms-transform: translate(@x, @y); // IE9 only | ||||||
|  |        -o-transform: translate(@x, @y); | ||||||
|  |           transform: translate(@x, @y); | ||||||
|  | } | ||||||
|  | .translate3d(@x; @y; @z) { | ||||||
|  |   -webkit-transform: translate3d(@x, @y, @z); | ||||||
|  |           transform: translate3d(@x, @y, @z); | ||||||
|  | } | ||||||
|  | .rotate(@degrees) { | ||||||
|  |   -webkit-transform: rotate(@degrees); | ||||||
|  |       -ms-transform: rotate(@degrees); // IE9 only | ||||||
|  |        -o-transform: rotate(@degrees); | ||||||
|  |           transform: rotate(@degrees); | ||||||
|  | } | ||||||
|  | .rotateX(@degrees) { | ||||||
|  |   -webkit-transform: rotateX(@degrees); | ||||||
|  |       -ms-transform: rotateX(@degrees); // IE9 only | ||||||
|  |        -o-transform: rotateX(@degrees); | ||||||
|  |           transform: rotateX(@degrees); | ||||||
|  | } | ||||||
|  | .rotateY(@degrees) { | ||||||
|  |   -webkit-transform: rotateY(@degrees); | ||||||
|  |       -ms-transform: rotateY(@degrees); // IE9 only | ||||||
|  |        -o-transform: rotateY(@degrees); | ||||||
|  |           transform: rotateY(@degrees); | ||||||
|  | } | ||||||
|  | .perspective(@perspective) { | ||||||
|  |   -webkit-perspective: @perspective; | ||||||
|  |      -moz-perspective: @perspective; | ||||||
|  |           perspective: @perspective; | ||||||
|  | } | ||||||
|  | .perspective-origin(@perspective) { | ||||||
|  |   -webkit-perspective-origin: @perspective; | ||||||
|  |      -moz-perspective-origin: @perspective; | ||||||
|  |           perspective-origin: @perspective; | ||||||
|  | } | ||||||
|  | .transform-origin(@origin) { | ||||||
|  |   -webkit-transform-origin: @origin; | ||||||
|  |      -moz-transform-origin: @origin; | ||||||
|  |       -ms-transform-origin: @origin; // IE9 only | ||||||
|  |           transform-origin: @origin; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Transitions | ||||||
|  | 
 | ||||||
|  | .transition(@transition) { | ||||||
|  |   -webkit-transition: @transition; | ||||||
|  |        -o-transition: @transition; | ||||||
|  |           transition: @transition; | ||||||
|  | } | ||||||
|  | .transition-property(@transition-property) { | ||||||
|  |   -webkit-transition-property: @transition-property; | ||||||
|  |           transition-property: @transition-property; | ||||||
|  | } | ||||||
|  | .transition-delay(@transition-delay) { | ||||||
|  |   -webkit-transition-delay: @transition-delay; | ||||||
|  |           transition-delay: @transition-delay; | ||||||
|  | } | ||||||
|  | .transition-duration(@transition-duration) { | ||||||
|  |   -webkit-transition-duration: @transition-duration; | ||||||
|  |           transition-duration: @transition-duration; | ||||||
|  | } | ||||||
|  | .transition-timing-function(@timing-function) { | ||||||
|  |   -webkit-transition-timing-function: @timing-function; | ||||||
|  |           transition-timing-function: @timing-function; | ||||||
|  | } | ||||||
|  | .transition-transform(@transition) { | ||||||
|  |   -webkit-transition: -webkit-transform @transition; | ||||||
|  |      -moz-transition: -moz-transform @transition; | ||||||
|  |        -o-transition: -o-transform @transition; | ||||||
|  |           transition: transform @transition; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // User select | ||||||
|  | // For selecting text on the page | ||||||
|  | 
 | ||||||
|  | .user-select(@select) { | ||||||
|  |   -webkit-user-select: @select; | ||||||
|  |      -moz-user-select: @select; | ||||||
|  |       -ms-user-select: @select; // IE10+ | ||||||
|  |           user-select: @select; | ||||||
|  | } | ||||||
							
								
								
									
										150
									
								
								searx/static/oscar/less/bootstrap/modals.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,150 @@ | |||||||
|  | // | ||||||
|  | // Modals | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // .modal-open      - body class for killing the scroll | ||||||
|  | // .modal           - container to scroll within | ||||||
|  | // .modal-dialog    - positioning shell for the actual modal | ||||||
|  | // .modal-content   - actual modal w/ bg and corners and shit | ||||||
|  | 
 | ||||||
|  | // Kill the scroll on the body | ||||||
|  | .modal-open { | ||||||
|  |   overflow: hidden; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Container that the modal scrolls within | ||||||
|  | .modal { | ||||||
|  |   display: none; | ||||||
|  |   overflow: hidden; | ||||||
|  |   position: fixed; | ||||||
|  |   top: 0; | ||||||
|  |   right: 0; | ||||||
|  |   bottom: 0; | ||||||
|  |   left: 0; | ||||||
|  |   z-index: @zindex-modal; | ||||||
|  |   -webkit-overflow-scrolling: touch; | ||||||
|  | 
 | ||||||
|  |   // Prevent Chrome on Windows from adding a focus outline. For details, see | ||||||
|  |   // https://github.com/twbs/bootstrap/pull/10951. | ||||||
|  |   outline: 0; | ||||||
|  | 
 | ||||||
|  |   // When fading in the modal, animate it to slide down | ||||||
|  |   &.fade .modal-dialog { | ||||||
|  |     .translate3d(0, -25%, 0); | ||||||
|  |     .transition-transform(~"0.3s ease-out"); | ||||||
|  |   } | ||||||
|  |   &.in .modal-dialog { .translate3d(0, 0, 0) } | ||||||
|  | } | ||||||
|  | .modal-open .modal { | ||||||
|  |   overflow-x: hidden; | ||||||
|  |   overflow-y: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Shell div to position the modal with bottom padding | ||||||
|  | .modal-dialog { | ||||||
|  |   position: relative; | ||||||
|  |   width: auto; | ||||||
|  |   margin: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Actual modal | ||||||
|  | .modal-content { | ||||||
|  |   position: relative; | ||||||
|  |   background-color: @modal-content-bg; | ||||||
|  |   border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc) | ||||||
|  |   border: 1px solid @modal-content-border-color; | ||||||
|  |   border-radius: @border-radius-large; | ||||||
|  |   .box-shadow(0 3px 9px rgba(0,0,0,.5)); | ||||||
|  |   background-clip: padding-box; | ||||||
|  |   // Remove focus outline from opened modal | ||||||
|  |   outline: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Modal background | ||||||
|  | .modal-backdrop { | ||||||
|  |   position: fixed; | ||||||
|  |   top: 0; | ||||||
|  |   right: 0; | ||||||
|  |   bottom: 0; | ||||||
|  |   left: 0; | ||||||
|  |   z-index: @zindex-modal-background; | ||||||
|  |   background-color: @modal-backdrop-bg; | ||||||
|  |   // Fade for backdrop | ||||||
|  |   &.fade { .opacity(0); } | ||||||
|  |   &.in { .opacity(@modal-backdrop-opacity); } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Modal header | ||||||
|  | // Top section of the modal w/ title and dismiss | ||||||
|  | .modal-header { | ||||||
|  |   padding: @modal-title-padding; | ||||||
|  |   border-bottom: 1px solid @modal-header-border-color; | ||||||
|  |   min-height: (@modal-title-padding + @modal-title-line-height); | ||||||
|  | } | ||||||
|  | // Close icon | ||||||
|  | .modal-header .close { | ||||||
|  |   margin-top: -2px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Title text within header | ||||||
|  | .modal-title { | ||||||
|  |   margin: 0; | ||||||
|  |   line-height: @modal-title-line-height; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Modal body | ||||||
|  | // Where all modal content resides (sibling of .modal-header and .modal-footer) | ||||||
|  | .modal-body { | ||||||
|  |   position: relative; | ||||||
|  |   padding: @modal-inner-padding; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Footer (for actions) | ||||||
|  | .modal-footer { | ||||||
|  |   padding: @modal-inner-padding; | ||||||
|  |   text-align: right; // right align buttons | ||||||
|  |   border-top: 1px solid @modal-footer-border-color; | ||||||
|  |   &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons | ||||||
|  | 
 | ||||||
|  |   // Properly space out buttons | ||||||
|  |   .btn + .btn { | ||||||
|  |     margin-left: 5px; | ||||||
|  |     margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs | ||||||
|  |   } | ||||||
|  |   // but override that for button groups | ||||||
|  |   .btn-group .btn + .btn { | ||||||
|  |     margin-left: -1px; | ||||||
|  |   } | ||||||
|  |   // and override it for block buttons as well | ||||||
|  |   .btn-block + .btn-block { | ||||||
|  |     margin-left: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Measure scrollbar width for padding body during modal show/hide | ||||||
|  | .modal-scrollbar-measure { | ||||||
|  |   position: absolute; | ||||||
|  |   top: -9999px; | ||||||
|  |   width: 50px; | ||||||
|  |   height: 50px; | ||||||
|  |   overflow: scroll; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Scale up the modal | ||||||
|  | @media (min-width: @screen-sm-min) { | ||||||
|  |   // Automatically set modal's width for larger viewports | ||||||
|  |   .modal-dialog { | ||||||
|  |     width: @modal-md; | ||||||
|  |     margin: 30px auto; | ||||||
|  |   } | ||||||
|  |   .modal-content { | ||||||
|  |     .box-shadow(0 5px 15px rgba(0,0,0,.5)); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Modal sizes | ||||||
|  |   .modal-sm { width: @modal-sm; } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (min-width: @screen-md-min) { | ||||||
|  |   .modal-lg { width: @modal-lg; } | ||||||
|  | } | ||||||
							
								
								
									
										655
									
								
								searx/static/oscar/less/bootstrap/navbar.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,655 @@ | |||||||
|  | // | ||||||
|  | // Navbars | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Wrapper and base class | ||||||
|  | // | ||||||
|  | // Provide a static navbar from which we expand to create full-width, fixed, and | ||||||
|  | // other navbar variations. | ||||||
|  | 
 | ||||||
|  | .navbar { | ||||||
|  |   position: relative; | ||||||
|  |   min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode) | ||||||
|  |   margin-bottom: @navbar-margin-bottom; | ||||||
|  |   border: 1px solid transparent; | ||||||
|  | 
 | ||||||
|  |   // Prevent floats from breaking the navbar | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     border-radius: @navbar-border-radius; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Navbar heading | ||||||
|  | // | ||||||
|  | // Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy | ||||||
|  | // styling of responsive aspects. | ||||||
|  | 
 | ||||||
|  | .navbar-header { | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     float: left; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Navbar collapse (body) | ||||||
|  | // | ||||||
|  | // Group your navbar content into this for easy collapsing and expanding across | ||||||
|  | // various device sizes. By default, this content is collapsed when <768px, but | ||||||
|  | // will expand past that for a horizontal display. | ||||||
|  | // | ||||||
|  | // To start (on mobile devices) the navbar links, forms, and buttons are stacked | ||||||
|  | // vertically and include a `max-height` to overflow in case you have too much | ||||||
|  | // content for the user's viewport. | ||||||
|  | 
 | ||||||
|  | .navbar-collapse { | ||||||
|  |   overflow-x: visible; | ||||||
|  |   padding-right: @navbar-padding-horizontal; | ||||||
|  |   padding-left:  @navbar-padding-horizontal; | ||||||
|  |   border-top: 1px solid transparent; | ||||||
|  |   box-shadow: inset 0 1px 0 rgba(255,255,255,.1); | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  |   -webkit-overflow-scrolling: touch; | ||||||
|  | 
 | ||||||
|  |   &.in { | ||||||
|  |     overflow-y: auto; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     width: auto; | ||||||
|  |     border-top: 0; | ||||||
|  |     box-shadow: none; | ||||||
|  | 
 | ||||||
|  |     &.collapse { | ||||||
|  |       display: block !important; | ||||||
|  |       height: auto !important; | ||||||
|  |       padding-bottom: 0; // Override default setting | ||||||
|  |       overflow: visible !important; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     &.in { | ||||||
|  |       overflow-y: visible; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Undo the collapse side padding for navbars with containers to ensure | ||||||
|  |     // alignment of right-aligned contents. | ||||||
|  |     .navbar-fixed-top &, | ||||||
|  |     .navbar-static-top &, | ||||||
|  |     .navbar-fixed-bottom & { | ||||||
|  |       padding-left: 0; | ||||||
|  |       padding-right: 0; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .navbar-fixed-top, | ||||||
|  | .navbar-fixed-bottom { | ||||||
|  |   .navbar-collapse { | ||||||
|  |     max-height: @navbar-collapse-max-height; | ||||||
|  | 
 | ||||||
|  |     @media (max-width: @screen-xs-min) and (orientation: landscape) { | ||||||
|  |       max-height: 200px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Both navbar header and collapse | ||||||
|  | // | ||||||
|  | // When a container is present, change the behavior of the header and collapse. | ||||||
|  | 
 | ||||||
|  | .container, | ||||||
|  | .container-fluid { | ||||||
|  |   > .navbar-header, | ||||||
|  |   > .navbar-collapse { | ||||||
|  |     margin-right: -@navbar-padding-horizontal; | ||||||
|  |     margin-left:  -@navbar-padding-horizontal; | ||||||
|  | 
 | ||||||
|  |     @media (min-width: @grid-float-breakpoint) { | ||||||
|  |       margin-right: 0; | ||||||
|  |       margin-left:  0; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Navbar alignment options | ||||||
|  | // | ||||||
|  | // Display the navbar across the entirety of the page or fixed it to the top or | ||||||
|  | // bottom of the page. | ||||||
|  | 
 | ||||||
|  | // Static top (unfixed, but 100% wide) navbar | ||||||
|  | .navbar-static-top { | ||||||
|  |   z-index: @zindex-navbar; | ||||||
|  |   border-width: 0 0 1px; | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     border-radius: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Fix the top/bottom navbars when screen real estate supports it | ||||||
|  | .navbar-fixed-top, | ||||||
|  | .navbar-fixed-bottom { | ||||||
|  |   position: fixed; | ||||||
|  |   right: 0; | ||||||
|  |   left: 0; | ||||||
|  |   z-index: @zindex-navbar-fixed; | ||||||
|  |   .translate3d(0, 0, 0); | ||||||
|  | 
 | ||||||
|  |   // Undo the rounded corners | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     border-radius: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .navbar-fixed-top { | ||||||
|  |   top: 0; | ||||||
|  |   border-width: 0 0 1px; | ||||||
|  | } | ||||||
|  | .navbar-fixed-bottom { | ||||||
|  |   bottom: 0; | ||||||
|  |   margin-bottom: 0; // override .navbar defaults | ||||||
|  |   border-width: 1px 0 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Brand/project name | ||||||
|  | 
 | ||||||
|  | .navbar-brand { | ||||||
|  |   float: left; | ||||||
|  |   padding: @navbar-padding-vertical @navbar-padding-horizontal; | ||||||
|  |   font-size: @font-size-large; | ||||||
|  |   line-height: @line-height-computed; | ||||||
|  |   height: @navbar-height; | ||||||
|  | 
 | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     text-decoration: none; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     .navbar > .container &, | ||||||
|  |     .navbar > .container-fluid & { | ||||||
|  |       margin-left: -@navbar-padding-horizontal; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Navbar toggle | ||||||
|  | // | ||||||
|  | // Custom button for toggling the `.navbar-collapse`, powered by the collapse | ||||||
|  | // JavaScript plugin. | ||||||
|  | 
 | ||||||
|  | .navbar-toggle { | ||||||
|  |   position: relative; | ||||||
|  |   float: right; | ||||||
|  |   margin-right: @navbar-padding-horizontal; | ||||||
|  |   padding: 9px 10px; | ||||||
|  |   .navbar-vertical-align(34px); | ||||||
|  |   background-color: transparent; | ||||||
|  |   background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 | ||||||
|  |   border: 1px solid transparent; | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  | 
 | ||||||
|  |   // We remove the `outline` here, but later compensate by attaching `:hover` | ||||||
|  |   // styles to `:focus`. | ||||||
|  |   &:focus { | ||||||
|  |     outline: 0; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Bars | ||||||
|  |   .icon-bar { | ||||||
|  |     display: block; | ||||||
|  |     width: 22px; | ||||||
|  |     height: 2px; | ||||||
|  |     border-radius: 1px; | ||||||
|  |   } | ||||||
|  |   .icon-bar + .icon-bar { | ||||||
|  |     margin-top: 4px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     display: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Navbar nav links | ||||||
|  | // | ||||||
|  | // Builds on top of the `.nav` components with its own modifier class to make | ||||||
|  | // the nav the full height of the horizontal nav (above 768px). | ||||||
|  | 
 | ||||||
|  | .navbar-nav { | ||||||
|  |   margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal; | ||||||
|  | 
 | ||||||
|  |   > li > a { | ||||||
|  |     padding-top:    10px; | ||||||
|  |     padding-bottom: 10px; | ||||||
|  |     line-height: @line-height-computed; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @media (max-width: @grid-float-breakpoint-max) { | ||||||
|  |     // Dropdowns get custom display when collapsed | ||||||
|  |     .open .dropdown-menu { | ||||||
|  |       position: static; | ||||||
|  |       float: none; | ||||||
|  |       width: auto; | ||||||
|  |       margin-top: 0; | ||||||
|  |       background-color: transparent; | ||||||
|  |       border: 0; | ||||||
|  |       box-shadow: none; | ||||||
|  |       > li > a, | ||||||
|  |       .dropdown-header { | ||||||
|  |         padding: 5px 15px 5px 25px; | ||||||
|  |       } | ||||||
|  |       > li > a { | ||||||
|  |         line-height: @line-height-computed; | ||||||
|  |         &:hover, | ||||||
|  |         &:focus { | ||||||
|  |           background-image: none; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Uncollapse the nav | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     float: left; | ||||||
|  |     margin: 0; | ||||||
|  | 
 | ||||||
|  |     > li { | ||||||
|  |       float: left; | ||||||
|  |       > a { | ||||||
|  |         padding-top:    @navbar-padding-vertical; | ||||||
|  |         padding-bottom: @navbar-padding-vertical; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     &.navbar-right:last-child { | ||||||
|  |       margin-right: -@navbar-padding-horizontal; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Component alignment | ||||||
|  | // | ||||||
|  | // Repurpose the pull utilities as their own navbar utilities to avoid specificity | ||||||
|  | // issues with parents and chaining. Only do this when the navbar is uncollapsed | ||||||
|  | // though so that navbar contents properly stack and align in mobile. | ||||||
|  | 
 | ||||||
|  | @media (min-width: @grid-float-breakpoint) { | ||||||
|  |   .navbar-left  { .pull-left(); } | ||||||
|  |   .navbar-right { .pull-right(); } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Navbar form | ||||||
|  | // | ||||||
|  | // Extension of the `.form-inline` with some extra flavor for optimum display in | ||||||
|  | // our navbars. | ||||||
|  | 
 | ||||||
|  | .navbar-form { | ||||||
|  |   margin-left: -@navbar-padding-horizontal; | ||||||
|  |   margin-right: -@navbar-padding-horizontal; | ||||||
|  |   padding: 10px @navbar-padding-horizontal; | ||||||
|  |   border-top: 1px solid transparent; | ||||||
|  |   border-bottom: 1px solid transparent; | ||||||
|  |   @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); | ||||||
|  |   .box-shadow(@shadow); | ||||||
|  | 
 | ||||||
|  |   // Mixin behavior for optimum display | ||||||
|  |   .form-inline(); | ||||||
|  | 
 | ||||||
|  |   .form-group { | ||||||
|  |     @media (max-width: @grid-float-breakpoint-max) { | ||||||
|  |       margin-bottom: 5px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Vertically center in expanded, horizontal navbar | ||||||
|  |   .navbar-vertical-align(@input-height-base); | ||||||
|  | 
 | ||||||
|  |   // Undo 100% width for pull classes | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     width: auto; | ||||||
|  |     border: 0; | ||||||
|  |     margin-left: 0; | ||||||
|  |     margin-right: 0; | ||||||
|  |     padding-top: 0; | ||||||
|  |     padding-bottom: 0; | ||||||
|  |     .box-shadow(none); | ||||||
|  | 
 | ||||||
|  |     // Outdent the form if last child to line up with content down the page | ||||||
|  |     &.navbar-right:last-child { | ||||||
|  |       margin-right: -@navbar-padding-horizontal; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Dropdown menus | ||||||
|  | 
 | ||||||
|  | // Menu position and menu carets | ||||||
|  | .navbar-nav > li > .dropdown-menu { | ||||||
|  |   margin-top: 0; | ||||||
|  |   .border-top-radius(0); | ||||||
|  | } | ||||||
|  | // Menu position and menu caret support for dropups via extra dropup class | ||||||
|  | .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { | ||||||
|  |   .border-bottom-radius(0); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Buttons in navbars | ||||||
|  | // | ||||||
|  | // Vertically center a button within a navbar (when *not* in a form). | ||||||
|  | 
 | ||||||
|  | .navbar-btn { | ||||||
|  |   .navbar-vertical-align(@input-height-base); | ||||||
|  | 
 | ||||||
|  |   &.btn-sm { | ||||||
|  |     .navbar-vertical-align(@input-height-small); | ||||||
|  |   } | ||||||
|  |   &.btn-xs { | ||||||
|  |     .navbar-vertical-align(22); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Text in navbars | ||||||
|  | // | ||||||
|  | // Add a class to make any element properly align itself vertically within the navbars. | ||||||
|  | 
 | ||||||
|  | .navbar-text { | ||||||
|  |   .navbar-vertical-align(@line-height-computed); | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @grid-float-breakpoint) { | ||||||
|  |     float: left; | ||||||
|  |     margin-left: @navbar-padding-horizontal; | ||||||
|  |     margin-right: @navbar-padding-horizontal; | ||||||
|  | 
 | ||||||
|  |     // Outdent the form if last child to line up with content down the page | ||||||
|  |     &.navbar-right:last-child { | ||||||
|  |       margin-right: 0; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Alternate navbars | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Default navbar | ||||||
|  | .navbar-default { | ||||||
|  |   background-color: @navbar-default-bg; | ||||||
|  |   border-color: @navbar-default-border; | ||||||
|  | 
 | ||||||
|  |   .navbar-brand { | ||||||
|  |     color: @navbar-default-brand-color; | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       color: @navbar-default-brand-hover-color; | ||||||
|  |       background-color: @navbar-default-brand-hover-bg; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-text { | ||||||
|  |     color: @navbar-default-color; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-nav { | ||||||
|  |     > li > a { | ||||||
|  |       color: @navbar-default-link-color; | ||||||
|  | 
 | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @navbar-default-link-hover-color; | ||||||
|  |         background-color: @navbar-default-link-hover-bg; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     > .active > a { | ||||||
|  |       &, | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @navbar-default-link-active-color; | ||||||
|  |         background-color: @navbar-default-link-active-bg; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     > .disabled > a { | ||||||
|  |       &, | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @navbar-default-link-disabled-color; | ||||||
|  |         background-color: @navbar-default-link-disabled-bg; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-toggle { | ||||||
|  |     border-color: @navbar-default-toggle-border-color; | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       background-color: @navbar-default-toggle-hover-bg; | ||||||
|  |     } | ||||||
|  |     .icon-bar { | ||||||
|  |       background-color: @navbar-default-toggle-icon-bar-bg; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-collapse, | ||||||
|  |   .navbar-form { | ||||||
|  |     border-color: @navbar-default-border; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Dropdown menu items | ||||||
|  |   .navbar-nav { | ||||||
|  |     // Remove background color from open dropdown | ||||||
|  |     > .open > a { | ||||||
|  |       &, | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         background-color: @navbar-default-link-active-bg; | ||||||
|  |         color: @navbar-default-link-active-color; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @media (max-width: @grid-float-breakpoint-max) { | ||||||
|  |       // Dropdowns get custom display when collapsed | ||||||
|  |       .open .dropdown-menu { | ||||||
|  |         > li > a { | ||||||
|  |           color: @navbar-default-link-color; | ||||||
|  |           &:hover, | ||||||
|  |           &:focus { | ||||||
|  |             color: @navbar-default-link-hover-color; | ||||||
|  |             background-color: @navbar-default-link-hover-bg; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |         > .active > a { | ||||||
|  |           &, | ||||||
|  |           &:hover, | ||||||
|  |           &:focus { | ||||||
|  |             color: @navbar-default-link-active-color; | ||||||
|  |             background-color: @navbar-default-link-active-bg; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |         > .disabled > a { | ||||||
|  |           &, | ||||||
|  |           &:hover, | ||||||
|  |           &:focus { | ||||||
|  |             color: @navbar-default-link-disabled-color; | ||||||
|  |             background-color: @navbar-default-link-disabled-bg; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   // Links in navbars | ||||||
|  |   // | ||||||
|  |   // Add a class to ensure links outside the navbar nav are colored correctly. | ||||||
|  | 
 | ||||||
|  |   .navbar-link { | ||||||
|  |     color: @navbar-default-link-color; | ||||||
|  |     &:hover { | ||||||
|  |       color: @navbar-default-link-hover-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .btn-link { | ||||||
|  |     color: @navbar-default-link-color; | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       color: @navbar-default-link-hover-color; | ||||||
|  |     } | ||||||
|  |     &[disabled], | ||||||
|  |     fieldset[disabled] & { | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @navbar-default-link-disabled-color; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Inverse navbar | ||||||
|  | 
 | ||||||
|  | .navbar-inverse { | ||||||
|  |   background-color: @navbar-inverse-bg; | ||||||
|  |   border-color: @navbar-inverse-border; | ||||||
|  | 
 | ||||||
|  |   .navbar-brand { | ||||||
|  |     color: @navbar-inverse-brand-color; | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       color: @navbar-inverse-brand-hover-color; | ||||||
|  |       background-color: @navbar-inverse-brand-hover-bg; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-text { | ||||||
|  |     color: @navbar-inverse-color; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-nav { | ||||||
|  |     > li > a { | ||||||
|  |       color: @navbar-inverse-link-color; | ||||||
|  | 
 | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @navbar-inverse-link-hover-color; | ||||||
|  |         background-color: @navbar-inverse-link-hover-bg; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     > .active > a { | ||||||
|  |       &, | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @navbar-inverse-link-active-color; | ||||||
|  |         background-color: @navbar-inverse-link-active-bg; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     > .disabled > a { | ||||||
|  |       &, | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @navbar-inverse-link-disabled-color; | ||||||
|  |         background-color: @navbar-inverse-link-disabled-bg; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Darken the responsive nav toggle | ||||||
|  |   .navbar-toggle { | ||||||
|  |     border-color: @navbar-inverse-toggle-border-color; | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       background-color: @navbar-inverse-toggle-hover-bg; | ||||||
|  |     } | ||||||
|  |     .icon-bar { | ||||||
|  |       background-color: @navbar-inverse-toggle-icon-bar-bg; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-collapse, | ||||||
|  |   .navbar-form { | ||||||
|  |     border-color: darken(@navbar-inverse-bg, 7%); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Dropdowns | ||||||
|  |   .navbar-nav { | ||||||
|  |     > .open > a { | ||||||
|  |       &, | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         background-color: @navbar-inverse-link-active-bg; | ||||||
|  |         color: @navbar-inverse-link-active-color; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @media (max-width: @grid-float-breakpoint-max) { | ||||||
|  |       // Dropdowns get custom display | ||||||
|  |       .open .dropdown-menu { | ||||||
|  |         > .dropdown-header { | ||||||
|  |           border-color: @navbar-inverse-border; | ||||||
|  |         } | ||||||
|  |         .divider { | ||||||
|  |           background-color: @navbar-inverse-border; | ||||||
|  |         } | ||||||
|  |         > li > a { | ||||||
|  |           color: @navbar-inverse-link-color; | ||||||
|  |           &:hover, | ||||||
|  |           &:focus { | ||||||
|  |             color: @navbar-inverse-link-hover-color; | ||||||
|  |             background-color: @navbar-inverse-link-hover-bg; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |         > .active > a { | ||||||
|  |           &, | ||||||
|  |           &:hover, | ||||||
|  |           &:focus { | ||||||
|  |             color: @navbar-inverse-link-active-color; | ||||||
|  |             background-color: @navbar-inverse-link-active-bg; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |         > .disabled > a { | ||||||
|  |           &, | ||||||
|  |           &:hover, | ||||||
|  |           &:focus { | ||||||
|  |             color: @navbar-inverse-link-disabled-color; | ||||||
|  |             background-color: @navbar-inverse-link-disabled-bg; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-link { | ||||||
|  |     color: @navbar-inverse-link-color; | ||||||
|  |     &:hover { | ||||||
|  |       color: @navbar-inverse-link-hover-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .btn-link { | ||||||
|  |     color: @navbar-inverse-link-color; | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       color: @navbar-inverse-link-hover-color; | ||||||
|  |     } | ||||||
|  |     &[disabled], | ||||||
|  |     fieldset[disabled] & { | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @navbar-inverse-link-disabled-color; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										242
									
								
								searx/static/oscar/less/bootstrap/navs.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,242 @@ | |||||||
|  | // | ||||||
|  | // Navs | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Base class | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .nav { | ||||||
|  |   margin-bottom: 0; | ||||||
|  |   padding-left: 0; // Override default ul/ol | ||||||
|  |   list-style: none; | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  | 
 | ||||||
|  |   > li { | ||||||
|  |     position: relative; | ||||||
|  |     display: block; | ||||||
|  | 
 | ||||||
|  |     > a { | ||||||
|  |       position: relative; | ||||||
|  |       display: block; | ||||||
|  |       padding: @nav-link-padding; | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         text-decoration: none; | ||||||
|  |         background-color: @nav-link-hover-bg; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Disabled state sets text to gray and nukes hover/tab effects | ||||||
|  |     &.disabled > a { | ||||||
|  |       color: @nav-disabled-link-color; | ||||||
|  | 
 | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @nav-disabled-link-hover-color; | ||||||
|  |         text-decoration: none; | ||||||
|  |         background-color: transparent; | ||||||
|  |         cursor: not-allowed; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Open dropdowns | ||||||
|  |   .open > a { | ||||||
|  |     &, | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       background-color: @nav-link-hover-bg; | ||||||
|  |       border-color: @link-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Nav dividers (deprecated with v3.0.1) | ||||||
|  |   // | ||||||
|  |   // This should have been removed in v3 with the dropping of `.nav-list`, but | ||||||
|  |   // we missed it. We don't currently support this anywhere, but in the interest | ||||||
|  |   // of maintaining backward compatibility in case you use it, it's deprecated. | ||||||
|  |   .nav-divider { | ||||||
|  |     .nav-divider(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Prevent IE8 from misplacing imgs | ||||||
|  |   // | ||||||
|  |   // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 | ||||||
|  |   > li > a > img { | ||||||
|  |     max-width: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Tabs | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | // Give the tabs something to sit on | ||||||
|  | .nav-tabs { | ||||||
|  |   border-bottom: 1px solid @nav-tabs-border-color; | ||||||
|  |   > li { | ||||||
|  |     float: left; | ||||||
|  |     // Make the list-items overlay the bottom border | ||||||
|  |     margin-bottom: -1px; | ||||||
|  | 
 | ||||||
|  |     // Actual tabs (as links) | ||||||
|  |     > a { | ||||||
|  |       margin-right: 2px; | ||||||
|  |       line-height: @line-height-base; | ||||||
|  |       border: 1px solid transparent; | ||||||
|  |       border-radius: @border-radius-base @border-radius-base 0 0; | ||||||
|  |       &:hover { | ||||||
|  |         border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Active state, and its :hover to override normal :hover | ||||||
|  |     &.active > a { | ||||||
|  |       &, | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @nav-tabs-active-link-hover-color; | ||||||
|  |         background-color: @nav-tabs-active-link-hover-bg; | ||||||
|  |         border: 1px solid @nav-tabs-active-link-hover-border-color; | ||||||
|  |         border-bottom-color: transparent; | ||||||
|  |         cursor: default; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   // pulling this in mainly for less shorthand | ||||||
|  |   &.nav-justified { | ||||||
|  |     .nav-justified(); | ||||||
|  |     .nav-tabs-justified(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Pills | ||||||
|  | // ------------------------- | ||||||
|  | .nav-pills { | ||||||
|  |   > li { | ||||||
|  |     float: left; | ||||||
|  | 
 | ||||||
|  |     // Links rendered as pills | ||||||
|  |     > a { | ||||||
|  |       border-radius: @nav-pills-border-radius; | ||||||
|  |     } | ||||||
|  |     + li { | ||||||
|  |       margin-left: 2px; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Active state | ||||||
|  |     &.active > a { | ||||||
|  |       &, | ||||||
|  |       &:hover, | ||||||
|  |       &:focus { | ||||||
|  |         color: @nav-pills-active-link-hover-color; | ||||||
|  |         background-color: @nav-pills-active-link-hover-bg; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Stacked pills | ||||||
|  | .nav-stacked { | ||||||
|  |   > li { | ||||||
|  |     float: none; | ||||||
|  |     + li { | ||||||
|  |       margin-top: 2px; | ||||||
|  |       margin-left: 0; // no need for this gap between nav items | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Nav variations | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Justified nav links | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | .nav-justified { | ||||||
|  |   width: 100%; | ||||||
|  | 
 | ||||||
|  |   > li { | ||||||
|  |     float: none; | ||||||
|  |     > a { | ||||||
|  |       text-align: center; | ||||||
|  |       margin-bottom: 5px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .dropdown .dropdown-menu { | ||||||
|  |     top: auto; | ||||||
|  |     left: auto; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     > li { | ||||||
|  |       display: table-cell; | ||||||
|  |       width: 1%; | ||||||
|  |       > a { | ||||||
|  |         margin-bottom: 0; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Move borders to anchors instead of bottom of list | ||||||
|  | // | ||||||
|  | // Mixin for adding on top the shared `.nav-justified` styles for our tabs | ||||||
|  | .nav-tabs-justified { | ||||||
|  |   border-bottom: 0; | ||||||
|  | 
 | ||||||
|  |   > li > a { | ||||||
|  |     // Override margin from .nav-tabs | ||||||
|  |     margin-right: 0; | ||||||
|  |     border-radius: @border-radius-base; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .active > a, | ||||||
|  |   > .active > a:hover, | ||||||
|  |   > .active > a:focus { | ||||||
|  |     border: 1px solid @nav-tabs-justified-link-border-color; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @media (min-width: @screen-sm-min) { | ||||||
|  |     > li > a { | ||||||
|  |       border-bottom: 1px solid @nav-tabs-justified-link-border-color; | ||||||
|  |       border-radius: @border-radius-base @border-radius-base 0 0; | ||||||
|  |     } | ||||||
|  |     > .active > a, | ||||||
|  |     > .active > a:hover, | ||||||
|  |     > .active > a:focus { | ||||||
|  |       border-bottom-color: @nav-tabs-justified-active-link-border-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Tabbable tabs | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | // Hide tabbable panes to start, show them when `.active` | ||||||
|  | .tab-content { | ||||||
|  |   > .tab-pane { | ||||||
|  |     display: none; | ||||||
|  |   } | ||||||
|  |   > .active { | ||||||
|  |     display: block; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Dropdowns | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | // Specific dropdowns | ||||||
|  | .nav-tabs .dropdown-menu { | ||||||
|  |   // make dropdown border overlap tab border | ||||||
|  |   margin-top: -1px; | ||||||
|  |   // Remove the top rounded corners here since there is a hard edge above the menu | ||||||
|  |   .border-top-radius(0); | ||||||
|  | } | ||||||
							
								
								
									
										425
									
								
								searx/static/oscar/less/bootstrap/normalize.less
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,425 @@ | |||||||
|  | /*! normalize.css v3.0.1 | MIT License | git.io/normalize */ | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // 1. Set default font family to sans-serif. | ||||||
|  | // 2. Prevent iOS text size adjust after orientation change, without disabling | ||||||
|  | //    user zoom. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | html { | ||||||
|  |   font-family: sans-serif; // 1 | ||||||
|  |   -ms-text-size-adjust: 100%; // 2 | ||||||
|  |   -webkit-text-size-adjust: 100%; // 2 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Remove default margin. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | body { | ||||||
|  |   margin: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // HTML5 display definitions | ||||||
|  | // ========================================================================== | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Correct `block` display not defined for any HTML5 element in IE 8/9. | ||||||
|  | // Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. | ||||||
|  | // Correct `block` display not defined for `main` in IE 11. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | article, | ||||||
|  | aside, | ||||||
|  | details, | ||||||
|  | figcaption, | ||||||
|  | figure, | ||||||
|  | footer, | ||||||
|  | header, | ||||||
|  | hgroup, | ||||||
|  | main, | ||||||
|  | nav, | ||||||
|  | section, | ||||||
|  | summary { | ||||||
|  |   display: block; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // 1. Correct `inline-block` display not defined in IE 8/9. | ||||||
|  | // 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | audio, | ||||||
|  | canvas, | ||||||
|  | progress, | ||||||
|  | video { | ||||||
|  |   display: inline-block; // 1 | ||||||
|  |   vertical-align: baseline; // 2 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Prevent modern browsers from displaying `audio` without controls. | ||||||
|  | // Remove excess height in iOS 5 devices. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | audio:not([controls]) { | ||||||
|  |   display: none; | ||||||
|  |   height: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address `[hidden]` styling not present in IE 8/9/10. | ||||||
|  | // Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | [hidden], | ||||||
|  | template { | ||||||
|  |   display: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Links | ||||||
|  | // ========================================================================== | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Remove the gray background color from active links in IE 10. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | a { | ||||||
|  |   background: transparent; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Improve readability when focused and also mouse hovered in all browsers. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | a:active, | ||||||
|  | a:hover { | ||||||
|  |   outline: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Text-level semantics | ||||||
|  | // ========================================================================== | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address styling not present in IE 8/9/10/11, Safari, and Chrome. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | abbr[title] { | ||||||
|  |   border-bottom: 1px dotted; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address style set to `bolder` in Firefox 4+, Safari, and Chrome. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | b, | ||||||
|  | strong { | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address styling not present in Safari and Chrome. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | dfn { | ||||||
|  |   font-style: italic; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address variable `h1` font-size and margin within `section` and `article` | ||||||
|  | // contexts in Firefox 4+, Safari, and Chrome. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | h1 { | ||||||
|  |   font-size: 2em; | ||||||
|  |   margin: 0.67em 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address styling not present in IE 8/9. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | mark { | ||||||
|  |   background: #ff0; | ||||||
|  |   color: #000; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address inconsistent and variable font size in all browsers. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | small { | ||||||
|  |   font-size: 80%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Prevent `sub` and `sup` affecting `line-height` in all browsers. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | sub, | ||||||
|  | sup { | ||||||
|  |   font-size: 75%; | ||||||
|  |   line-height: 0; | ||||||
|  |   position: relative; | ||||||
|  |   vertical-align: baseline; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | sup { | ||||||
|  |   top: -0.5em; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | sub { | ||||||
|  |   bottom: -0.25em; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Embedded content | ||||||
|  | // ========================================================================== | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Remove border when inside `a` element in IE 8/9/10. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | img { | ||||||
|  |   border: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Correct overflow not hidden in IE 9/10/11. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | svg:not(:root) { | ||||||
|  |   overflow: hidden; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Grouping content | ||||||
|  | // ========================================================================== | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address margin not present in IE 8/9 and Safari. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | figure { | ||||||
|  |   margin: 1em 40px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address differences between Firefox and other browsers. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | hr { | ||||||
|  |   -moz-box-sizing: content-box; | ||||||
|  |   box-sizing: content-box; | ||||||
|  |   height: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Contain overflow in all browsers. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | pre { | ||||||
|  |   overflow: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address odd `em`-unit font size rendering in all browsers. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | code, | ||||||
|  | kbd, | ||||||
|  | pre, | ||||||
|  | samp { | ||||||
|  |   font-family: monospace, monospace; | ||||||
|  |   font-size: 1em; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Forms | ||||||
|  | // ========================================================================== | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Known limitation: by default, Chrome and Safari on OS X allow very limited | ||||||
|  | // styling of `select`, unless a `border` property is set. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // 1. Correct color not being inherited. | ||||||
|  | //    Known issue: affects color of disabled elements. | ||||||
|  | // 2. Correct font properties not being inherited. | ||||||
|  | // 3. Address margins set differently in Firefox 4+, Safari, and Chrome. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | button, | ||||||
|  | input, | ||||||
|  | optgroup, | ||||||
|  | select, | ||||||
|  | textarea { | ||||||
|  |   color: inherit; // 1 | ||||||
|  |   font: inherit; // 2 | ||||||
|  |   margin: 0; // 3 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address `overflow` set to `hidden` in IE 8/9/10/11. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | button { | ||||||
|  |   overflow: visible; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address inconsistent `text-transform` inheritance for `button` and `select`. | ||||||
|  | // All other form control elements do not inherit `text-transform` values. | ||||||
|  | // Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. | ||||||
|  | // Correct `select` style inheritance in Firefox. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | button, | ||||||
|  | select { | ||||||
|  |   text-transform: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` | ||||||
|  | //    and `video` controls. | ||||||
|  | // 2. Correct inability to style clickable `input` types in iOS. | ||||||
|  | // 3. Improve usability and consistency of cursor style between image-type | ||||||
|  | //    `input` and others. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | button, | ||||||
|  | html input[type="button"], // 1 | ||||||
|  | input[type="reset"], | ||||||
|  | input[type="submit"] { | ||||||
|  |   -webkit-appearance: button; // 2 | ||||||
|  |   cursor: pointer; // 3 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Re-set default cursor for disabled elements. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | button[disabled], | ||||||
|  | html input[disabled] { | ||||||
|  |   cursor: default; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Remove inner padding and border in Firefox 4+. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | button::-moz-focus-inner, | ||||||
|  | input::-moz-focus-inner { | ||||||
|  |   border: 0; | ||||||
|  |   padding: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Address Firefox 4+ setting `line-height` on `input` using `!important` in | ||||||
|  | // the UA stylesheet. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | input { | ||||||
|  |   line-height: normal; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // It's recommended that you don't attempt to style these elements. | ||||||
|  | // Firefox's implementation doesn't respect box-sizing, padding, or width. | ||||||
|  | // | ||||||
|  | // 1. Address box sizing set to `content-box` in IE 8/9/10. | ||||||
|  | // 2. Remove excess padding in IE 8/9/10. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | input[type="checkbox"], | ||||||
|  | input[type="radio"] { | ||||||
|  |   box-sizing: border-box; // 1 | ||||||
|  |   padding: 0; // 2 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Fix the cursor style for Chrome's increment/decrement buttons. For certain | ||||||
|  | // `font-size` values of the `input`, it causes the cursor style of the | ||||||
|  | // decrement button to change from `default` to `text`. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | input[type="number"]::-webkit-inner-spin-button, | ||||||
|  | input[type="number"]::-webkit-outer-spin-button { | ||||||
|  |   height: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // 1. Address `appearance` set to `searchfield` in Safari and Chrome. | ||||||
|  | // 2. Address `box-sizing` set to `border-box` in Safari and Chrome | ||||||
|  | //    (include `-moz` to future-proof). | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | input[type="search"] { | ||||||
|  |   -webkit-appearance: textfield; // 1 | ||||||
|  |   -moz-box-sizing: content-box; | ||||||
|  |   -webkit-box-sizing: content-box; // 2 | ||||||
|  |   box-sizing: content-box; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Remove inner padding and search cancel button in Safari and Chrome on OS X. | ||||||
|  | // Safari (but not Chrome) clips the cancel button when the search input has | ||||||
|  | // padding (and `textfield` appearance). | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | input[type="search"]::-webkit-search-cancel-button, | ||||||
|  | input[type="search"]::-webkit-search-decoration { | ||||||
|  |   -webkit-appearance: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Define consistent border, margin, and padding. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | fieldset { | ||||||
|  |   border: 1px solid #c0c0c0; | ||||||
|  |   margin: 0 2px; | ||||||
|  |   padding: 0.35em 0.625em 0.75em; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // 1. Correct `color` not being inherited in IE 8/9/10/11. | ||||||
|  | // 2. Remove padding so people aren't caught out if they zero out fieldsets. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | legend { | ||||||
|  |   border: 0; // 1 | ||||||
|  |   padding: 0; // 2 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Remove default vertical scrollbar in IE 8/9/10/11. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | textarea { | ||||||
|  |   overflow: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Don't inherit the `font-weight` (applied by a rule above). | ||||||
|  | // NOTE: the default cannot safely be changed in Chrome and Safari on OS X. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | optgroup { | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Tables | ||||||
|  | // ========================================================================== | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Remove most spacing between table cells. | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | table { | ||||||
|  |   border-collapse: collapse; | ||||||
|  |   border-spacing: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | td, | ||||||
|  | th { | ||||||
|  |   padding: 0; | ||||||
|  | } | ||||||
							
								
								
									
										55
									
								
								searx/static/oscar/less/bootstrap/pager.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,55 @@ | |||||||
|  | // | ||||||
|  | // Pager pagination | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .pager { | ||||||
|  |   padding-left: 0; | ||||||
|  |   margin: @line-height-computed 0; | ||||||
|  |   list-style: none; | ||||||
|  |   text-align: center; | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  |   li { | ||||||
|  |     display: inline; | ||||||
|  |     > a, | ||||||
|  |     > span { | ||||||
|  |       display: inline-block; | ||||||
|  |       padding: 5px 14px; | ||||||
|  |       background-color: @pager-bg; | ||||||
|  |       border: 1px solid @pager-border; | ||||||
|  |       border-radius: @pager-border-radius; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     > a:hover, | ||||||
|  |     > a:focus { | ||||||
|  |       text-decoration: none; | ||||||
|  |       background-color: @pager-hover-bg; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .next { | ||||||
|  |     > a, | ||||||
|  |     > span { | ||||||
|  |       float: right; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .previous { | ||||||
|  |     > a, | ||||||
|  |     > span { | ||||||
|  |       float: left; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .disabled { | ||||||
|  |     > a, | ||||||
|  |     > a:hover, | ||||||
|  |     > a:focus, | ||||||
|  |     > span { | ||||||
|  |       color: @pager-disabled-color; | ||||||
|  |       background-color: @pager-bg; | ||||||
|  |       cursor: not-allowed; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
							
								
								
									
										88
									
								
								searx/static/oscar/less/bootstrap/pagination.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,88 @@ | |||||||
|  | // | ||||||
|  | // Pagination (multiple pages) | ||||||
|  | // -------------------------------------------------- | ||||||
|  | .pagination { | ||||||
|  |   display: inline-block; | ||||||
|  |   padding-left: 0; | ||||||
|  |   margin: @line-height-computed 0; | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  | 
 | ||||||
|  |   > li { | ||||||
|  |     display: inline; // Remove list-style and block-level defaults | ||||||
|  |     > a, | ||||||
|  |     > span { | ||||||
|  |       position: relative; | ||||||
|  |       float: left; // Collapse white-space | ||||||
|  |       padding: @padding-base-vertical @padding-base-horizontal; | ||||||
|  |       line-height: @line-height-base; | ||||||
|  |       text-decoration: none; | ||||||
|  |       color: @pagination-color; | ||||||
|  |       background-color: @pagination-bg; | ||||||
|  |       border: 1px solid @pagination-border; | ||||||
|  |       margin-left: -1px; | ||||||
|  |     } | ||||||
|  |     &:first-child { | ||||||
|  |       > a, | ||||||
|  |       > span { | ||||||
|  |         margin-left: 0; | ||||||
|  |         .border-left-radius(@border-radius-base); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     &:last-child { | ||||||
|  |       > a, | ||||||
|  |       > span { | ||||||
|  |         .border-right-radius(@border-radius-base); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > li > a, | ||||||
|  |   > li > span { | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       color: @pagination-hover-color; | ||||||
|  |       background-color: @pagination-hover-bg; | ||||||
|  |       border-color: @pagination-hover-border; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .active > a, | ||||||
|  |   > .active > span { | ||||||
|  |     &, | ||||||
|  |     &:hover, | ||||||
|  |     &:focus { | ||||||
|  |       z-index: 2; | ||||||
|  |       color: @pagination-active-color; | ||||||
|  |       background-color: @pagination-active-bg; | ||||||
|  |       border-color: @pagination-active-border; | ||||||
|  |       cursor: default; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   > .disabled { | ||||||
|  |     > span, | ||||||
|  |     > span:hover, | ||||||
|  |     > span:focus, | ||||||
|  |     > a, | ||||||
|  |     > a:hover, | ||||||
|  |     > a:focus { | ||||||
|  |       color: @pagination-disabled-color; | ||||||
|  |       background-color: @pagination-disabled-bg; | ||||||
|  |       border-color: @pagination-disabled-border; | ||||||
|  |       cursor: not-allowed; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Sizing | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Large | ||||||
|  | .pagination-lg { | ||||||
|  |   .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Small | ||||||
|  | .pagination-sm { | ||||||
|  |   .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small); | ||||||
|  | } | ||||||
							
								
								
									
										243
									
								
								searx/static/oscar/less/bootstrap/panels.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,243 @@ | |||||||
|  | // | ||||||
|  | // Panels | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Base class | ||||||
|  | .panel { | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  |   background-color: @panel-bg; | ||||||
|  |   border: 1px solid transparent; | ||||||
|  |   border-radius: @panel-border-radius; | ||||||
|  |   .box-shadow(0 1px 1px rgba(0,0,0,.05)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Panel contents | ||||||
|  | .panel-body { | ||||||
|  |   padding: @panel-body-padding; | ||||||
|  |   &:extend(.clearfix all); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Optional heading | ||||||
|  | .panel-heading { | ||||||
|  |   padding: @panel-heading-padding; | ||||||
|  |   border-bottom: 1px solid transparent; | ||||||
|  |   .border-top-radius((@panel-border-radius - 1)); | ||||||
|  | 
 | ||||||
|  |   > .dropdown .dropdown-toggle { | ||||||
|  |     color: inherit; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Within heading, strip any `h*` tag of its default margins for spacing. | ||||||
|  | .panel-title { | ||||||
|  |   margin-top: 0; | ||||||
|  |   margin-bottom: 0; | ||||||
|  |   font-size: ceil((@font-size-base * 1.125)); | ||||||
|  |   color: inherit; | ||||||
|  | 
 | ||||||
|  |   > a { | ||||||
|  |     color: inherit; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Optional footer (stays gray in every modifier class) | ||||||
|  | .panel-footer { | ||||||
|  |   padding: @panel-footer-padding; | ||||||
|  |   background-color: @panel-footer-bg; | ||||||
|  |   border-top: 1px solid @panel-inner-border; | ||||||
|  |   .border-bottom-radius((@panel-border-radius - 1)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // List groups in panels | ||||||
|  | // | ||||||
|  | // By default, space out list group content from panel headings to account for | ||||||
|  | // any kind of custom content between the two. | ||||||
|  | 
 | ||||||
|  | .panel { | ||||||
|  |   > .list-group { | ||||||
|  |     margin-bottom: 0; | ||||||
|  | 
 | ||||||
|  |     .list-group-item { | ||||||
|  |       border-width: 1px 0; | ||||||
|  |       border-radius: 0; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Add border top radius for first one | ||||||
|  |     &:first-child { | ||||||
|  |       .list-group-item:first-child { | ||||||
|  |         border-top: 0; | ||||||
|  |         .border-top-radius((@panel-border-radius - 1)); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     // Add border bottom radius for last one | ||||||
|  |     &:last-child { | ||||||
|  |       .list-group-item:last-child { | ||||||
|  |         border-bottom: 0; | ||||||
|  |         .border-bottom-radius((@panel-border-radius - 1)); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | // Collapse space between when there's no additional content. | ||||||
|  | .panel-heading + .list-group { | ||||||
|  |   .list-group-item:first-child { | ||||||
|  |     border-top-width: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .list-group + .panel-footer { | ||||||
|  |   border-top-width: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Tables in panels | ||||||
|  | // | ||||||
|  | // Place a non-bordered `.table` within a panel (not within a `.panel-body`) and | ||||||
|  | // watch it go full width. | ||||||
|  | 
 | ||||||
|  | .panel { | ||||||
|  |   > .table, | ||||||
|  |   > .table-responsive > .table, | ||||||
|  |   > .panel-collapse > .table { | ||||||
|  |     margin-bottom: 0; | ||||||
|  |   } | ||||||
|  |   // Add border top radius for first one | ||||||
|  |   > .table:first-child, | ||||||
|  |   > .table-responsive:first-child > .table:first-child { | ||||||
|  |     .border-top-radius((@panel-border-radius - 1)); | ||||||
|  | 
 | ||||||
|  |     > thead:first-child, | ||||||
|  |     > tbody:first-child { | ||||||
|  |       > tr:first-child { | ||||||
|  |         td:first-child, | ||||||
|  |         th:first-child { | ||||||
|  |           border-top-left-radius: (@panel-border-radius - 1); | ||||||
|  |         } | ||||||
|  |         td:last-child, | ||||||
|  |         th:last-child { | ||||||
|  |           border-top-right-radius: (@panel-border-radius - 1); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   // Add border bottom radius for last one | ||||||
|  |   > .table:last-child, | ||||||
|  |   > .table-responsive:last-child > .table:last-child { | ||||||
|  |     .border-bottom-radius((@panel-border-radius - 1)); | ||||||
|  | 
 | ||||||
|  |     > tbody:last-child, | ||||||
|  |     > tfoot:last-child { | ||||||
|  |       > tr:last-child { | ||||||
|  |         td:first-child, | ||||||
|  |         th:first-child { | ||||||
|  |           border-bottom-left-radius: (@panel-border-radius - 1); | ||||||
|  |         } | ||||||
|  |         td:last-child, | ||||||
|  |         th:last-child { | ||||||
|  |           border-bottom-right-radius: (@panel-border-radius - 1); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   > .panel-body + .table, | ||||||
|  |   > .panel-body + .table-responsive { | ||||||
|  |     border-top: 1px solid @table-border-color; | ||||||
|  |   } | ||||||
|  |   > .table > tbody:first-child > tr:first-child th, | ||||||
|  |   > .table > tbody:first-child > tr:first-child td { | ||||||
|  |     border-top: 0; | ||||||
|  |   } | ||||||
|  |   > .table-bordered, | ||||||
|  |   > .table-responsive > .table-bordered { | ||||||
|  |     border: 0; | ||||||
|  |     > thead, | ||||||
|  |     > tbody, | ||||||
|  |     > tfoot { | ||||||
|  |       > tr { | ||||||
|  |         > th:first-child, | ||||||
|  |         > td:first-child { | ||||||
|  |           border-left: 0; | ||||||
|  |         } | ||||||
|  |         > th:last-child, | ||||||
|  |         > td:last-child { | ||||||
|  |           border-right: 0; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     > thead, | ||||||
|  |     > tbody { | ||||||
|  |       > tr:first-child { | ||||||
|  |         > td, | ||||||
|  |         > th { | ||||||
|  |           border-bottom: 0; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     > tbody, | ||||||
|  |     > tfoot { | ||||||
|  |       > tr:last-child { | ||||||
|  |         > td, | ||||||
|  |         > th { | ||||||
|  |           border-bottom: 0; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   > .table-responsive { | ||||||
|  |     border: 0; | ||||||
|  |     margin-bottom: 0; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Collapsable panels (aka, accordion) | ||||||
|  | // | ||||||
|  | // Wrap a series of panels in `.panel-group` to turn them into an accordion with | ||||||
|  | // the help of our collapse JavaScript plugin. | ||||||
|  | 
 | ||||||
|  | .panel-group { | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  | 
 | ||||||
|  |   // Tighten up margin so it's only between panels | ||||||
|  |   .panel { | ||||||
|  |     margin-bottom: 0; | ||||||
|  |     border-radius: @panel-border-radius; | ||||||
|  |     + .panel { | ||||||
|  |       margin-top: 5px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .panel-heading { | ||||||
|  |     border-bottom: 0; | ||||||
|  |     + .panel-collapse > .panel-body { | ||||||
|  |       border-top: 1px solid @panel-inner-border; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   .panel-footer { | ||||||
|  |     border-top: 0; | ||||||
|  |     + .panel-collapse .panel-body { | ||||||
|  |       border-bottom: 1px solid @panel-inner-border; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Contextual variations | ||||||
|  | .panel-default { | ||||||
|  |   .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border); | ||||||
|  | } | ||||||
|  | .panel-primary { | ||||||
|  |   .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border); | ||||||
|  | } | ||||||
|  | .panel-success { | ||||||
|  |   .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border); | ||||||
|  | } | ||||||
|  | .panel-info { | ||||||
|  |   .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border); | ||||||
|  | } | ||||||
|  | .panel-warning { | ||||||
|  |   .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border); | ||||||
|  | } | ||||||
|  | .panel-danger { | ||||||
|  |   .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border); | ||||||
|  | } | ||||||
							
								
								
									
										133
									
								
								searx/static/oscar/less/bootstrap/popovers.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,133 @@ | |||||||
|  | // | ||||||
|  | // Popovers | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .popover { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 0; | ||||||
|  |   left: 0; | ||||||
|  |   z-index: @zindex-popover; | ||||||
|  |   display: none; | ||||||
|  |   max-width: @popover-max-width; | ||||||
|  |   padding: 1px; | ||||||
|  |   text-align: left; // Reset given new insertion method | ||||||
|  |   background-color: @popover-bg; | ||||||
|  |   background-clip: padding-box; | ||||||
|  |   border: 1px solid @popover-fallback-border-color; | ||||||
|  |   border: 1px solid @popover-border-color; | ||||||
|  |   border-radius: @border-radius-large; | ||||||
|  |   .box-shadow(0 5px 10px rgba(0,0,0,.2)); | ||||||
|  | 
 | ||||||
|  |   // Overrides for proper insertion | ||||||
|  |   white-space: normal; | ||||||
|  | 
 | ||||||
|  |   // Offset the popover to account for the popover arrow | ||||||
|  |   &.top     { margin-top: -@popover-arrow-width; } | ||||||
|  |   &.right   { margin-left: @popover-arrow-width; } | ||||||
|  |   &.bottom  { margin-top: @popover-arrow-width; } | ||||||
|  |   &.left    { margin-left: -@popover-arrow-width; } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .popover-title { | ||||||
|  |   margin: 0; // reset heading margin | ||||||
|  |   padding: 8px 14px; | ||||||
|  |   font-size: @font-size-base; | ||||||
|  |   font-weight: normal; | ||||||
|  |   line-height: 18px; | ||||||
|  |   background-color: @popover-title-bg; | ||||||
|  |   border-bottom: 1px solid darken(@popover-title-bg, 5%); | ||||||
|  |   border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .popover-content { | ||||||
|  |   padding: 9px 14px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Arrows | ||||||
|  | // | ||||||
|  | // .arrow is outer, .arrow:after is inner | ||||||
|  | 
 | ||||||
|  | .popover > .arrow { | ||||||
|  |   &, | ||||||
|  |   &:after { | ||||||
|  |     position: absolute; | ||||||
|  |     display: block; | ||||||
|  |     width: 0; | ||||||
|  |     height: 0; | ||||||
|  |     border-color: transparent; | ||||||
|  |     border-style: solid; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .popover > .arrow { | ||||||
|  |   border-width: @popover-arrow-outer-width; | ||||||
|  | } | ||||||
|  | .popover > .arrow:after { | ||||||
|  |   border-width: @popover-arrow-width; | ||||||
|  |   content: ""; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .popover { | ||||||
|  |   &.top > .arrow { | ||||||
|  |     left: 50%; | ||||||
|  |     margin-left: -@popover-arrow-outer-width; | ||||||
|  |     border-bottom-width: 0; | ||||||
|  |     border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback | ||||||
|  |     border-top-color: @popover-arrow-outer-color; | ||||||
|  |     bottom: -@popover-arrow-outer-width; | ||||||
|  |     &:after { | ||||||
|  |       content: " "; | ||||||
|  |       bottom: 1px; | ||||||
|  |       margin-left: -@popover-arrow-width; | ||||||
|  |       border-bottom-width: 0; | ||||||
|  |       border-top-color: @popover-arrow-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   &.right > .arrow { | ||||||
|  |     top: 50%; | ||||||
|  |     left: -@popover-arrow-outer-width; | ||||||
|  |     margin-top: -@popover-arrow-outer-width; | ||||||
|  |     border-left-width: 0; | ||||||
|  |     border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback | ||||||
|  |     border-right-color: @popover-arrow-outer-color; | ||||||
|  |     &:after { | ||||||
|  |       content: " "; | ||||||
|  |       left: 1px; | ||||||
|  |       bottom: -@popover-arrow-width; | ||||||
|  |       border-left-width: 0; | ||||||
|  |       border-right-color: @popover-arrow-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   &.bottom > .arrow { | ||||||
|  |     left: 50%; | ||||||
|  |     margin-left: -@popover-arrow-outer-width; | ||||||
|  |     border-top-width: 0; | ||||||
|  |     border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback | ||||||
|  |     border-bottom-color: @popover-arrow-outer-color; | ||||||
|  |     top: -@popover-arrow-outer-width; | ||||||
|  |     &:after { | ||||||
|  |       content: " "; | ||||||
|  |       top: 1px; | ||||||
|  |       margin-left: -@popover-arrow-width; | ||||||
|  |       border-top-width: 0; | ||||||
|  |       border-bottom-color: @popover-arrow-color; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &.left > .arrow { | ||||||
|  |     top: 50%; | ||||||
|  |     right: -@popover-arrow-outer-width; | ||||||
|  |     margin-top: -@popover-arrow-outer-width; | ||||||
|  |     border-right-width: 0; | ||||||
|  |     border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback | ||||||
|  |     border-left-color: @popover-arrow-outer-color; | ||||||
|  |     &:after { | ||||||
|  |       content: " "; | ||||||
|  |       right: 1px; | ||||||
|  |       border-right-width: 0; | ||||||
|  |       border-left-color: @popover-arrow-color; | ||||||
|  |       bottom: -@popover-arrow-width; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
							
								
								
									
										101
									
								
								searx/static/oscar/less/bootstrap/print.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,101 @@ | |||||||
|  | // | ||||||
|  | // Basic print styles | ||||||
|  | // -------------------------------------------------- | ||||||
|  | // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css | ||||||
|  | 
 | ||||||
|  | @media print { | ||||||
|  | 
 | ||||||
|  |   * { | ||||||
|  |     text-shadow: none !important; | ||||||
|  |     color: #000 !important; // Black prints faster: h5bp.com/s | ||||||
|  |     background: transparent !important; | ||||||
|  |     box-shadow: none !important; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   a, | ||||||
|  |   a:visited { | ||||||
|  |     text-decoration: underline; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   a[href]:after { | ||||||
|  |     content: " (" attr(href) ")"; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   abbr[title]:after { | ||||||
|  |     content: " (" attr(title) ")"; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Don't show links for images, or javascript/internal links | ||||||
|  |   a[href^="javascript:"]:after, | ||||||
|  |   a[href^="#"]:after { | ||||||
|  |     content: ""; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   pre, | ||||||
|  |   blockquote { | ||||||
|  |     border: 1px solid #999; | ||||||
|  |     page-break-inside: avoid; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   thead { | ||||||
|  |     display: table-header-group; // h5bp.com/t | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   tr, | ||||||
|  |   img { | ||||||
|  |     page-break-inside: avoid; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   img { | ||||||
|  |     max-width: 100% !important; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   p, | ||||||
|  |   h2, | ||||||
|  |   h3 { | ||||||
|  |     orphans: 3; | ||||||
|  |     widows: 3; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   h2, | ||||||
|  |   h3 { | ||||||
|  |     page-break-after: avoid; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245 | ||||||
|  |   // Once fixed, we can just straight up remove this. | ||||||
|  |   select { | ||||||
|  |     background: #fff !important; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Bootstrap components | ||||||
|  |   .navbar { | ||||||
|  |     display: none; | ||||||
|  |   } | ||||||
|  |   .table { | ||||||
|  |     td, | ||||||
|  |     th { | ||||||
|  |       background-color: #fff !important; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   .btn, | ||||||
|  |   .dropup > .btn { | ||||||
|  |     > .caret { | ||||||
|  |       border-top-color: #000 !important; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   .label { | ||||||
|  |     border: 1px solid #000; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .table { | ||||||
|  |     border-collapse: collapse !important; | ||||||
|  |   } | ||||||
|  |   .table-bordered { | ||||||
|  |     th, | ||||||
|  |     td { | ||||||
|  |       border: 1px solid #ddd !important; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
							
								
								
									
										105
									
								
								searx/static/oscar/less/bootstrap/progress-bars.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,105 @@ | |||||||
|  | // | ||||||
|  | // Progress bars | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Bar animations | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | // WebKit | ||||||
|  | @-webkit-keyframes progress-bar-stripes { | ||||||
|  |   from  { background-position: 40px 0; } | ||||||
|  |   to    { background-position: 0 0; } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Spec and IE10+ | ||||||
|  | @keyframes progress-bar-stripes { | ||||||
|  |   from  { background-position: 40px 0; } | ||||||
|  |   to    { background-position: 0 0; } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Bar itself | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | // Outer container | ||||||
|  | .progress { | ||||||
|  |   overflow: hidden; | ||||||
|  |   height: @line-height-computed; | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  |   background-color: @progress-bg; | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  |   .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Bar of progress | ||||||
|  | .progress-bar { | ||||||
|  |   float: left; | ||||||
|  |   width: 0%; | ||||||
|  |   height: 100%; | ||||||
|  |   font-size: @font-size-small; | ||||||
|  |   line-height: @line-height-computed; | ||||||
|  |   color: @progress-bar-color; | ||||||
|  |   text-align: center; | ||||||
|  |   background-color: @progress-bar-bg; | ||||||
|  |   .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); | ||||||
|  |   .transition(width .6s ease); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Striped bars | ||||||
|  | // | ||||||
|  | // `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the | ||||||
|  | // `.progress-bar-striped` class, which you just add to an existing | ||||||
|  | // `.progress-bar`. | ||||||
|  | .progress-striped .progress-bar, | ||||||
|  | .progress-bar-striped { | ||||||
|  |   #gradient > .striped(); | ||||||
|  |   background-size: 40px 40px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Call animation for the active one | ||||||
|  | // | ||||||
|  | // `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the | ||||||
|  | // `.progress-bar.active` approach. | ||||||
|  | .progress.active .progress-bar, | ||||||
|  | .progress-bar.active { | ||||||
|  |   .animation(progress-bar-stripes 2s linear infinite); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Account for lower percentages | ||||||
|  | .progress-bar { | ||||||
|  |   &[aria-valuenow="1"], | ||||||
|  |   &[aria-valuenow="2"] { | ||||||
|  |     min-width: 30px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &[aria-valuenow="0"] { | ||||||
|  |     color: @gray-light; | ||||||
|  |     min-width: 30px; | ||||||
|  |     background-color: transparent; | ||||||
|  |     background-image: none; | ||||||
|  |     box-shadow: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Variations | ||||||
|  | // ------------------------- | ||||||
|  | 
 | ||||||
|  | .progress-bar-success { | ||||||
|  |   .progress-bar-variant(@progress-bar-success-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .progress-bar-info { | ||||||
|  |   .progress-bar-variant(@progress-bar-info-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .progress-bar-warning { | ||||||
|  |   .progress-bar-variant(@progress-bar-warning-bg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .progress-bar-danger { | ||||||
|  |   .progress-bar-variant(@progress-bar-danger-bg); | ||||||
|  | } | ||||||
							
								
								
									
										34
									
								
								searx/static/oscar/less/bootstrap/responsive-embed.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,34 @@ | |||||||
|  | // Embeds responsive | ||||||
|  | // | ||||||
|  | // Credit: Nicolas Gallagher and SUIT CSS. | ||||||
|  | 
 | ||||||
|  | .embed-responsive { | ||||||
|  |   position: relative; | ||||||
|  |   display: block; | ||||||
|  |   height: 0; | ||||||
|  |   padding: 0; | ||||||
|  |   overflow: hidden; | ||||||
|  | 
 | ||||||
|  |   .embed-responsive-item, | ||||||
|  |   iframe, | ||||||
|  |   embed, | ||||||
|  |   object { | ||||||
|  |     position: absolute; | ||||||
|  |     top: 0; | ||||||
|  |     left: 0; | ||||||
|  |     bottom: 0; | ||||||
|  |     height: 100%; | ||||||
|  |     width: 100%; | ||||||
|  |     border: 0; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Modifier class for 16:9 aspect ratio | ||||||
|  |   &.embed-responsive-16by9 { | ||||||
|  |     padding-bottom: 56.25%; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Modifier class for 4:3 aspect ratio | ||||||
|  |   &.embed-responsive-4by3 { | ||||||
|  |     padding-bottom: 75%; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										194
									
								
								searx/static/oscar/less/bootstrap/responsive-utilities.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,194 @@ | |||||||
|  | // | ||||||
|  | // Responsive: Utility classes | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // IE10 in Windows (Phone) 8 | ||||||
|  | // | ||||||
|  | // Support for responsive views via media queries is kind of borked in IE10, for | ||||||
|  | // Surface/desktop in split view and for Windows Phone 8. This particular fix | ||||||
|  | // must be accompanied by a snippet of JavaScript to sniff the user agent and | ||||||
|  | // apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at | ||||||
|  | // our Getting Started page for more information on this bug. | ||||||
|  | // | ||||||
|  | // For more information, see the following: | ||||||
|  | // | ||||||
|  | // Issue: https://github.com/twbs/bootstrap/issues/10497 | ||||||
|  | // Docs: http://getbootstrap.com/getting-started/#support-ie10-width | ||||||
|  | // Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/ | ||||||
|  | // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ | ||||||
|  | 
 | ||||||
|  | @-ms-viewport { | ||||||
|  |   width: device-width; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Visibility utilities | ||||||
|  | // Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0 | ||||||
|  | .visible-xs, | ||||||
|  | .visible-sm, | ||||||
|  | .visible-md, | ||||||
|  | .visible-lg { | ||||||
|  |   .responsive-invisibility(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .visible-xs-block, | ||||||
|  | .visible-xs-inline, | ||||||
|  | .visible-xs-inline-block, | ||||||
|  | .visible-sm-block, | ||||||
|  | .visible-sm-inline, | ||||||
|  | .visible-sm-inline-block, | ||||||
|  | .visible-md-block, | ||||||
|  | .visible-md-inline, | ||||||
|  | .visible-md-inline-block, | ||||||
|  | .visible-lg-block, | ||||||
|  | .visible-lg-inline, | ||||||
|  | .visible-lg-inline-block { | ||||||
|  |   display: none !important; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .visible-xs { | ||||||
|  |   @media (max-width: @screen-xs-max) { | ||||||
|  |     .responsive-visibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-xs-block { | ||||||
|  |   @media (max-width: @screen-xs-max) { | ||||||
|  |     display: block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-xs-inline { | ||||||
|  |   @media (max-width: @screen-xs-max) { | ||||||
|  |     display: inline !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-xs-inline-block { | ||||||
|  |   @media (max-width: @screen-xs-max) { | ||||||
|  |     display: inline-block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .visible-sm { | ||||||
|  |   @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { | ||||||
|  |     .responsive-visibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-sm-block { | ||||||
|  |   @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { | ||||||
|  |     display: block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-sm-inline { | ||||||
|  |   @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { | ||||||
|  |     display: inline !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-sm-inline-block { | ||||||
|  |   @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { | ||||||
|  |     display: inline-block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .visible-md { | ||||||
|  |   @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { | ||||||
|  |     .responsive-visibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-md-block { | ||||||
|  |   @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { | ||||||
|  |     display: block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-md-inline { | ||||||
|  |   @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { | ||||||
|  |     display: inline !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-md-inline-block { | ||||||
|  |   @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { | ||||||
|  |     display: inline-block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .visible-lg { | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     .responsive-visibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-lg-block { | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     display: block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-lg-inline { | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     display: inline !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-lg-inline-block { | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     display: inline-block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .hidden-xs { | ||||||
|  |   @media (max-width: @screen-xs-max) { | ||||||
|  |     .responsive-invisibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .hidden-sm { | ||||||
|  |   @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { | ||||||
|  |     .responsive-invisibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .hidden-md { | ||||||
|  |   @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { | ||||||
|  |     .responsive-invisibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .hidden-lg { | ||||||
|  |   @media (min-width: @screen-lg-min) { | ||||||
|  |     .responsive-invisibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Print utilities | ||||||
|  | // | ||||||
|  | // Media queries are placed on the inside to be mixin-friendly. | ||||||
|  | 
 | ||||||
|  | // Note: Deprecated .visible-print as of v3.2.0 | ||||||
|  | .visible-print { | ||||||
|  |   .responsive-invisibility(); | ||||||
|  | 
 | ||||||
|  |   @media print { | ||||||
|  |     .responsive-visibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-print-block { | ||||||
|  |   display: none !important; | ||||||
|  | 
 | ||||||
|  |   @media print { | ||||||
|  |     display: block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-print-inline { | ||||||
|  |   display: none !important; | ||||||
|  | 
 | ||||||
|  |   @media print { | ||||||
|  |     display: inline !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .visible-print-inline-block { | ||||||
|  |   display: none !important; | ||||||
|  | 
 | ||||||
|  |   @media print { | ||||||
|  |     display: inline-block !important; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .hidden-print { | ||||||
|  |   @media print { | ||||||
|  |     .responsive-invisibility(); | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										150
									
								
								searx/static/oscar/less/bootstrap/scaffolding.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,150 @@ | |||||||
|  | // | ||||||
|  | // Scaffolding | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Reset the box-sizing | ||||||
|  | // | ||||||
|  | // Heads up! This reset may cause conflicts with some third-party widgets. | ||||||
|  | // For recommendations on resolving such conflicts, see | ||||||
|  | // http://getbootstrap.com/getting-started/#third-box-sizing | ||||||
|  | * { | ||||||
|  |   .box-sizing(border-box); | ||||||
|  | } | ||||||
|  | *:before, | ||||||
|  | *:after { | ||||||
|  |   .box-sizing(border-box); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Body reset | ||||||
|  | 
 | ||||||
|  | html { | ||||||
|  |   font-size: 10px; | ||||||
|  |   -webkit-tap-highlight-color: rgba(0,0,0,0); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | body { | ||||||
|  |   font-family: @font-family-base; | ||||||
|  |   font-size: @font-size-base; | ||||||
|  |   line-height: @line-height-base; | ||||||
|  |   color: @text-color; | ||||||
|  |   background-color: @body-bg; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Reset fonts for relevant elements | ||||||
|  | input, | ||||||
|  | button, | ||||||
|  | select, | ||||||
|  | textarea { | ||||||
|  |   font-family: inherit; | ||||||
|  |   font-size: inherit; | ||||||
|  |   line-height: inherit; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Links | ||||||
|  | 
 | ||||||
|  | a { | ||||||
|  |   color: @link-color; | ||||||
|  |   text-decoration: none; | ||||||
|  | 
 | ||||||
|  |   &:hover, | ||||||
|  |   &:focus { | ||||||
|  |     color: @link-hover-color; | ||||||
|  |     text-decoration: underline; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &:focus { | ||||||
|  |     .tab-focus(); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Figures | ||||||
|  | // | ||||||
|  | // We reset this here because previously Normalize had no `figure` margins. This | ||||||
|  | // ensures we don't break anyone's use of the element. | ||||||
|  | 
 | ||||||
|  | figure { | ||||||
|  |   margin: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Images | ||||||
|  | 
 | ||||||
|  | img { | ||||||
|  |   vertical-align: middle; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Responsive images (ensure images don't scale beyond their parents) | ||||||
|  | .img-responsive { | ||||||
|  |   .img-responsive(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Rounded corners | ||||||
|  | .img-rounded { | ||||||
|  |   border-radius: @border-radius-large; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Image thumbnails | ||||||
|  | // | ||||||
|  | // Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`. | ||||||
|  | .img-thumbnail { | ||||||
|  |   padding: @thumbnail-padding; | ||||||
|  |   line-height: @line-height-base; | ||||||
|  |   background-color: @thumbnail-bg; | ||||||
|  |   border: 1px solid @thumbnail-border; | ||||||
|  |   border-radius: @thumbnail-border-radius; | ||||||
|  |   .transition(all .2s ease-in-out); | ||||||
|  | 
 | ||||||
|  |   // Keep them at most 100% wide | ||||||
|  |   .img-responsive(inline-block); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Perfect circle | ||||||
|  | .img-circle { | ||||||
|  |   border-radius: 50%; // set radius in percents | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Horizontal rules | ||||||
|  | 
 | ||||||
|  | hr { | ||||||
|  |   margin-top:    @line-height-computed; | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  |   border: 0; | ||||||
|  |   border-top: 1px solid @hr-border; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Only display content to screen readers | ||||||
|  | // | ||||||
|  | // See: http://a11yproject.com/posts/how-to-hide-content/ | ||||||
|  | 
 | ||||||
|  | .sr-only { | ||||||
|  |   position: absolute; | ||||||
|  |   width: 1px; | ||||||
|  |   height: 1px; | ||||||
|  |   margin: -1px; | ||||||
|  |   padding: 0; | ||||||
|  |   overflow: hidden; | ||||||
|  |   clip: rect(0,0,0,0); | ||||||
|  |   border: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Use in conjunction with .sr-only to only display content when it's focused. | ||||||
|  | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 | ||||||
|  | // Credit: HTML5 Boilerplate | ||||||
|  | 
 | ||||||
|  | .sr-only-focusable { | ||||||
|  |   &:active, | ||||||
|  |   &:focus { | ||||||
|  |     position: static; | ||||||
|  |     width: auto; | ||||||
|  |     height: auto; | ||||||
|  |     margin: 0; | ||||||
|  |     overflow: visible; | ||||||
|  |     clip: auto; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										233
									
								
								searx/static/oscar/less/bootstrap/tables.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,233 @@ | |||||||
|  | // | ||||||
|  | // Tables | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | table { | ||||||
|  |   background-color: @table-bg; | ||||||
|  | } | ||||||
|  | th { | ||||||
|  |   text-align: left; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Baseline styles | ||||||
|  | 
 | ||||||
|  | .table { | ||||||
|  |   width: 100%; | ||||||
|  |   max-width: 100%; | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  |   // Cells | ||||||
|  |   > thead, | ||||||
|  |   > tbody, | ||||||
|  |   > tfoot { | ||||||
|  |     > tr { | ||||||
|  |       > th, | ||||||
|  |       > td { | ||||||
|  |         padding: @table-cell-padding; | ||||||
|  |         line-height: @line-height-base; | ||||||
|  |         vertical-align: top; | ||||||
|  |         border-top: 1px solid @table-border-color; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   // Bottom align for column headings | ||||||
|  |   > thead > tr > th { | ||||||
|  |     vertical-align: bottom; | ||||||
|  |     border-bottom: 2px solid @table-border-color; | ||||||
|  |   } | ||||||
|  |   // Remove top border from thead by default | ||||||
|  |   > caption + thead, | ||||||
|  |   > colgroup + thead, | ||||||
|  |   > thead:first-child { | ||||||
|  |     > tr:first-child { | ||||||
|  |       > th, | ||||||
|  |       > td { | ||||||
|  |         border-top: 0; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   // Account for multiple tbody instances | ||||||
|  |   > tbody + tbody { | ||||||
|  |     border-top: 2px solid @table-border-color; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Nesting | ||||||
|  |   .table { | ||||||
|  |     background-color: @body-bg; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Condensed table w/ half padding | ||||||
|  | 
 | ||||||
|  | .table-condensed { | ||||||
|  |   > thead, | ||||||
|  |   > tbody, | ||||||
|  |   > tfoot { | ||||||
|  |     > tr { | ||||||
|  |       > th, | ||||||
|  |       > td { | ||||||
|  |         padding: @table-condensed-cell-padding; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Bordered version | ||||||
|  | // | ||||||
|  | // Add borders all around the table and between all the columns. | ||||||
|  | 
 | ||||||
|  | .table-bordered { | ||||||
|  |   border: 1px solid @table-border-color; | ||||||
|  |   > thead, | ||||||
|  |   > tbody, | ||||||
|  |   > tfoot { | ||||||
|  |     > tr { | ||||||
|  |       > th, | ||||||
|  |       > td { | ||||||
|  |         border: 1px solid @table-border-color; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   > thead > tr { | ||||||
|  |     > th, | ||||||
|  |     > td { | ||||||
|  |       border-bottom-width: 2px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Zebra-striping | ||||||
|  | // | ||||||
|  | // Default zebra-stripe styles (alternating gray and transparent backgrounds) | ||||||
|  | 
 | ||||||
|  | .table-striped { | ||||||
|  |   > tbody > tr:nth-child(odd) { | ||||||
|  |     > td, | ||||||
|  |     > th { | ||||||
|  |       background-color: @table-bg-accent; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Hover effect | ||||||
|  | // | ||||||
|  | // Placed here since it has to come after the potential zebra striping | ||||||
|  | 
 | ||||||
|  | .table-hover { | ||||||
|  |   > tbody > tr:hover { | ||||||
|  |     > td, | ||||||
|  |     > th { | ||||||
|  |       background-color: @table-bg-hover; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Table cell sizing | ||||||
|  | // | ||||||
|  | // Reset default table behavior | ||||||
|  | 
 | ||||||
|  | table col[class*="col-"] { | ||||||
|  |   position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) | ||||||
|  |   float: none; | ||||||
|  |   display: table-column; | ||||||
|  | } | ||||||
|  | table { | ||||||
|  |   td, | ||||||
|  |   th { | ||||||
|  |     &[class*="col-"] { | ||||||
|  |       position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) | ||||||
|  |       float: none; | ||||||
|  |       display: table-cell; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Table backgrounds | ||||||
|  | // | ||||||
|  | // Exact selectors below required to override `.table-striped` and prevent | ||||||
|  | // inheritance to nested tables. | ||||||
|  | 
 | ||||||
|  | // Generate the contextual variants | ||||||
|  | .table-row-variant(active; @table-bg-active); | ||||||
|  | .table-row-variant(success; @state-success-bg); | ||||||
|  | .table-row-variant(info; @state-info-bg); | ||||||
|  | .table-row-variant(warning; @state-warning-bg); | ||||||
|  | .table-row-variant(danger; @state-danger-bg); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Responsive tables | ||||||
|  | // | ||||||
|  | // Wrap your tables in `.table-responsive` and we'll make them mobile friendly | ||||||
|  | // by enabling horizontal scrolling. Only applies <768px. Everything above that | ||||||
|  | // will display normally. | ||||||
|  | 
 | ||||||
|  | .table-responsive { | ||||||
|  |   @media screen and (max-width: @screen-xs-max) { | ||||||
|  |     width: 100%; | ||||||
|  |     margin-bottom: (@line-height-computed * 0.75); | ||||||
|  |     overflow-y: hidden; | ||||||
|  |     overflow-x: auto; | ||||||
|  |     -ms-overflow-style: -ms-autohiding-scrollbar; | ||||||
|  |     border: 1px solid @table-border-color; | ||||||
|  |     -webkit-overflow-scrolling: touch; | ||||||
|  | 
 | ||||||
|  |     // Tighten up spacing | ||||||
|  |     > .table { | ||||||
|  |       margin-bottom: 0; | ||||||
|  | 
 | ||||||
|  |       // Ensure the content doesn't wrap | ||||||
|  |       > thead, | ||||||
|  |       > tbody, | ||||||
|  |       > tfoot { | ||||||
|  |         > tr { | ||||||
|  |           > th, | ||||||
|  |           > td { | ||||||
|  |             white-space: nowrap; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Special overrides for the bordered tables | ||||||
|  |     > .table-bordered { | ||||||
|  |       border: 0; | ||||||
|  | 
 | ||||||
|  |       // Nuke the appropriate borders so that the parent can handle them | ||||||
|  |       > thead, | ||||||
|  |       > tbody, | ||||||
|  |       > tfoot { | ||||||
|  |         > tr { | ||||||
|  |           > th:first-child, | ||||||
|  |           > td:first-child { | ||||||
|  |             border-left: 0; | ||||||
|  |           } | ||||||
|  |           > th:last-child, | ||||||
|  |           > td:last-child { | ||||||
|  |             border-right: 0; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       // Only nuke the last row's bottom-border in `tbody` and `tfoot` since | ||||||
|  |       // chances are there will be only one `tr` in a `thead` and that would | ||||||
|  |       // remove the border altogether. | ||||||
|  |       > tbody, | ||||||
|  |       > tfoot { | ||||||
|  |         > tr:last-child { | ||||||
|  |           > th, | ||||||
|  |           > td { | ||||||
|  |             border-bottom: 0; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										258
									
								
								searx/static/oscar/less/bootstrap/theme.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,258 @@ | |||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Load core variables and mixins | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | @import "variables.less"; | ||||||
|  | @import "mixins.less"; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Buttons | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Common styles | ||||||
|  | .btn-default, | ||||||
|  | .btn-primary, | ||||||
|  | .btn-success, | ||||||
|  | .btn-info, | ||||||
|  | .btn-warning, | ||||||
|  | .btn-danger { | ||||||
|  |   text-shadow: 0 -1px 0 rgba(0,0,0,.2); | ||||||
|  |   @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075); | ||||||
|  |   .box-shadow(@shadow); | ||||||
|  | 
 | ||||||
|  |   // Reset the shadow | ||||||
|  |   &:active, | ||||||
|  |   &.active { | ||||||
|  |     .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Mixin for generating new styles | ||||||
|  | .btn-styles(@btn-color: #555) { | ||||||
|  |   #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%)); | ||||||
|  |   .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners | ||||||
|  |   background-repeat: repeat-x; | ||||||
|  |   border-color: darken(@btn-color, 14%); | ||||||
|  | 
 | ||||||
|  |   &:hover, | ||||||
|  |   &:focus  { | ||||||
|  |     background-color: darken(@btn-color, 12%); | ||||||
|  |     background-position: 0 -15px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &:active, | ||||||
|  |   &.active { | ||||||
|  |     background-color: darken(@btn-color, 12%); | ||||||
|  |     border-color: darken(@btn-color, 14%); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &:disabled, | ||||||
|  |   &[disabled] { | ||||||
|  |     background-color: darken(@btn-color, 12%); | ||||||
|  |     background-image: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Common styles | ||||||
|  | .btn { | ||||||
|  |   // Remove the gradient for the pressed/active state | ||||||
|  |   &:active, | ||||||
|  |   &.active { | ||||||
|  |     background-image: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Apply the mixin to the buttons | ||||||
|  | .btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; } | ||||||
|  | .btn-primary { .btn-styles(@btn-primary-bg); } | ||||||
|  | .btn-success { .btn-styles(@btn-success-bg); } | ||||||
|  | .btn-info    { .btn-styles(@btn-info-bg); } | ||||||
|  | .btn-warning { .btn-styles(@btn-warning-bg); } | ||||||
|  | .btn-danger  { .btn-styles(@btn-danger-bg); } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Images | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .thumbnail, | ||||||
|  | .img-thumbnail { | ||||||
|  |   .box-shadow(0 1px 2px rgba(0,0,0,.075)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Dropdowns | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .dropdown-menu > li > a:hover, | ||||||
|  | .dropdown-menu > li > a:focus { | ||||||
|  |   #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%)); | ||||||
|  |   background-color: darken(@dropdown-link-hover-bg, 5%); | ||||||
|  | } | ||||||
|  | .dropdown-menu > .active > a, | ||||||
|  | .dropdown-menu > .active > a:hover, | ||||||
|  | .dropdown-menu > .active > a:focus { | ||||||
|  |   #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%)); | ||||||
|  |   background-color: darken(@dropdown-link-active-bg, 5%); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Navbar | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Default navbar | ||||||
|  | .navbar-default { | ||||||
|  |   #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg); | ||||||
|  |   .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered | ||||||
|  |   border-radius: @navbar-border-radius; | ||||||
|  |   @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075); | ||||||
|  |   .box-shadow(@shadow); | ||||||
|  | 
 | ||||||
|  |   .navbar-nav > .active > a { | ||||||
|  |     #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%)); | ||||||
|  |     .box-shadow(inset 0 3px 9px rgba(0,0,0,.075)); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .navbar-brand, | ||||||
|  | .navbar-nav > li > a { | ||||||
|  |   text-shadow: 0 1px 0 rgba(255,255,255,.25); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Inverted navbar | ||||||
|  | .navbar-inverse { | ||||||
|  |   #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg); | ||||||
|  |   .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered | ||||||
|  | 
 | ||||||
|  |   .navbar-nav > .active > a { | ||||||
|  |     #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%)); | ||||||
|  |     .box-shadow(inset 0 3px 9px rgba(0,0,0,.25)); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .navbar-brand, | ||||||
|  |   .navbar-nav > li > a { | ||||||
|  |     text-shadow: 0 -1px 0 rgba(0,0,0,.25); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Undo rounded corners in static and fixed navbars | ||||||
|  | .navbar-static-top, | ||||||
|  | .navbar-fixed-top, | ||||||
|  | .navbar-fixed-bottom { | ||||||
|  |   border-radius: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Alerts | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Common styles | ||||||
|  | .alert { | ||||||
|  |   text-shadow: 0 1px 0 rgba(255,255,255,.2); | ||||||
|  |   @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05); | ||||||
|  |   .box-shadow(@shadow); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Mixin for generating new styles | ||||||
|  | .alert-styles(@color) { | ||||||
|  |   #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%)); | ||||||
|  |   border-color: darken(@color, 15%); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Apply the mixin to the alerts | ||||||
|  | .alert-success    { .alert-styles(@alert-success-bg); } | ||||||
|  | .alert-info       { .alert-styles(@alert-info-bg); } | ||||||
|  | .alert-warning    { .alert-styles(@alert-warning-bg); } | ||||||
|  | .alert-danger     { .alert-styles(@alert-danger-bg); } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Progress bars | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Give the progress background some depth | ||||||
|  | .progress { | ||||||
|  |   #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Mixin for generating new styles | ||||||
|  | .progress-bar-styles(@color) { | ||||||
|  |   #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Apply the mixin to the progress bars | ||||||
|  | .progress-bar            { .progress-bar-styles(@progress-bar-bg); } | ||||||
|  | .progress-bar-success    { .progress-bar-styles(@progress-bar-success-bg); } | ||||||
|  | .progress-bar-info       { .progress-bar-styles(@progress-bar-info-bg); } | ||||||
|  | .progress-bar-warning    { .progress-bar-styles(@progress-bar-warning-bg); } | ||||||
|  | .progress-bar-danger     { .progress-bar-styles(@progress-bar-danger-bg); } | ||||||
|  | 
 | ||||||
|  | // Reset the striped class because our mixins don't do multiple gradients and | ||||||
|  | // the above custom styles override the new `.progress-bar-striped` in v3.2.0. | ||||||
|  | .progress-bar-striped { | ||||||
|  |   #gradient > .striped(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // List groups | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .list-group { | ||||||
|  |   border-radius: @border-radius-base; | ||||||
|  |   .box-shadow(0 1px 2px rgba(0,0,0,.075)); | ||||||
|  | } | ||||||
|  | .list-group-item.active, | ||||||
|  | .list-group-item.active:hover, | ||||||
|  | .list-group-item.active:focus { | ||||||
|  |   text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%); | ||||||
|  |   #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%)); | ||||||
|  |   border-color: darken(@list-group-active-border, 7.5%); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Panels | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | // Common styles | ||||||
|  | .panel { | ||||||
|  |   .box-shadow(0 1px 2px rgba(0,0,0,.05)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Mixin for generating new styles | ||||||
|  | .panel-heading-styles(@color) { | ||||||
|  |   #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Apply the mixin to the panel headings only | ||||||
|  | .panel-default > .panel-heading   { .panel-heading-styles(@panel-default-heading-bg); } | ||||||
|  | .panel-primary > .panel-heading   { .panel-heading-styles(@panel-primary-heading-bg); } | ||||||
|  | .panel-success > .panel-heading   { .panel-heading-styles(@panel-success-heading-bg); } | ||||||
|  | .panel-info > .panel-heading      { .panel-heading-styles(@panel-info-heading-bg); } | ||||||
|  | .panel-warning > .panel-heading   { .panel-heading-styles(@panel-warning-heading-bg); } | ||||||
|  | .panel-danger > .panel-heading    { .panel-heading-styles(@panel-danger-heading-bg); } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // | ||||||
|  | // Wells | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | .well { | ||||||
|  |   #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg); | ||||||
|  |   border-color: darken(@well-bg, 10%); | ||||||
|  |   @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1); | ||||||
|  |   .box-shadow(@shadow); | ||||||
|  | } | ||||||
							
								
								
									
										36
									
								
								searx/static/oscar/less/bootstrap/thumbnails.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,36 @@ | |||||||
|  | // | ||||||
|  | // Thumbnails | ||||||
|  | // -------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // Mixin and adjust the regular image class | ||||||
|  | .thumbnail { | ||||||
|  |   display: block; | ||||||
|  |   padding: @thumbnail-padding; | ||||||
|  |   margin-bottom: @line-height-computed; | ||||||
|  |   line-height: @line-height-base; | ||||||
|  |   background-color: @thumbnail-bg; | ||||||
|  |   border: 1px solid @thumbnail-border; | ||||||
|  |   border-radius: @thumbnail-border-radius; | ||||||
|  |   .transition(all .2s ease-in-out); | ||||||
|  | 
 | ||||||
|  |   > img, | ||||||
|  |   a > img { | ||||||
|  |     &:extend(.img-responsive); | ||||||
|  |     margin-left: auto; | ||||||
|  |     margin-right: auto; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Add a hover state for linked versions only | ||||||
|  |   a&:hover, | ||||||
|  |   a&:focus, | ||||||
|  |   a&.active { | ||||||
|  |     border-color: @link-color; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Image captions | ||||||
|  |   .caption { | ||||||
|  |     padding: @thumbnail-caption-padding; | ||||||
|  |     color: @thumbnail-caption-color; | ||||||
|  |   } | ||||||
|  | } | ||||||