/* * SearXNG, A privacy-respecting, hackable metasearch engine * * To convert "style.less" to "style.css" run: $make styles */ // stylelint-disable no-descending-specificity @import "../../__common__/less/new_issue.less"; @import "../../__common__/less/stats.less"; @import "../../__common__/less/result_templates.less"; @import (inline) "../../node_modules/normalize.css/normalize.css"; @import "../generated/ion.less"; @import "definitions.less"; @import "mixins.less"; @import "code.less"; @import "toolkit.less"; @import "autocomplete.less"; // for index.html template @import "index.less"; // for preferences.html template @import "preferences.less"; // Search-Field @import "search.less"; // ion-icon .ion-icon-big { .ion-icon; font-size: 149%; } // Main LESS-Code html { font-family: sans-serif; font-size: 0.9em; .text-size-adjust; color: var(--color-base-font); background-color: var(--color-base-background); padding: 0; margin: 0; } body, main { padding: 0; margin: 0; } body { display: flex; flex-direction: column; height: 100vh; margin: 0; } main { width: 100%; margin-bottom: 2rem; flex: 1; } #main_preferences, #main_about, #main_stats { margin: 2em auto; width: 85em; } footer { clear: both; min-height: 4rem; padding: 1rem 0; width: 100%; text-align: center; background-color: var(--color-footer-background); border-top: 1px solid var(--color-footer-border); overflow: hidden; p { font-size: 0.9em; } } #main_preferences h1, #main_stats h1 { background: url('../img/searx.png') no-repeat; background-size: auto 75%; min-height: 40px; margin: 0 auto; span { visibility: hidden; } } input[type="submit"], #results button[type="submit"] { padding: 0.7rem; display: inline-block; background: var(--color-btn-background); color: var(--color-btn-font); .rounded-corners; border: 0; cursor: pointer; } a { text-decoration: none; color: var(--color-url-font); &:visited { color: var(--color-url-visited-font); .highlight { color: var(--color-url-visited-font); } } } article[data-vim-selected] { background: var(--color-result-vim-selected); } article[data-vim-selected]::before { position: absolute; left: (@results-offset - 2rem); padding: 2px; content: ">"; font-weight: bold; color: var(--color-result-vim-arrow); } article.result-images[data-vim-selected] { background: var(--color-result-vim-arrow); } article.result-images[data-vim-selected]::before { display: none; content: ""; } .result { margin: @results-margin 0; padding: 0; h3 { font-size: 1.1em; word-wrap: break-word; margin: 5px 0 1px 0; padding: 0; margin-bottom: 0; a { color: var(--color-result-link-font); font-weight: normal; font-size: 1.1em; &:visited { color: var(--color-result-link-visited-font); } &:focus, &:hover { text-decoration: underline; border: none; -webkit-box-shadow: none; box-shadow: none; outline: none; } } } .cache_link, .proxyfied_link { font-size: 0.9em !important; } .content, .stat, .altlink { font-size: 0.9em; margin: 0; padding: 0; max-width: 54em; word-wrap: break-word; line-height: 1.24; .highlight { color: var(--color-result-description-highlight-font); background: inherit; font-weight: bold; } } .codelines { .highlight { color: inherit; background: inherit; font-weight: normal; } } .url { font-size: 0.9em; margin: 0 0 3px 0; padding: 0; max-width: 54em; word-wrap: break-word; color: var(--color-result-url-font); } .published_date { font-size: 0.8em; color: var(--color-result-publishdate-font); } img { &.thumbnail { float: left; padding: 0 5px 10px 0; width: 20em; min-width: 20em; min-height: 8em; } &.image { float: left; padding: 0 5px 10px 0; width: 100px; max-height: 100px; object-fit: scale-down; object-position: right top; } } .break { clear: both; } } .category-social .image { width: auto !important; min-width: 48px; min-height: 48px; padding: 0 5px 25px 0 !important; } .result-videos .content { overflow: hidden; } .engines { float: right; color: var(--color-result-engines-font); span { font-size: smaller; margin: 0 0.5em 0 0; } } .small_font { font-size: 0.8em; } .highlight { color: var(--color-result-link-font-highlight); background: inherit; } .result-images { display: inline-block; margin: 0; padding: 0; position: relative; max-height: 200px; img { float: inherit; margin: 0; padding: 0; border: none; max-height: 200px; background: var(--color-result-image-background); } span a { display: none; color: var(--color-result-image-span-font); } &:hover span a { display: block; position: absolute; bottom: 0; right: 0; padding: 4px; margin: 0 0 4px 4px; background-color: var(--color-result-image-span-background-hover); font-size: 0.7em; } } .result-map { img.image { float: right !important; height: 100px !important; width: auto !important; } table { font-size: 0.9em; width: auto; border-collapse: separate; border-spacing: 0 0.35rem; th { font-weight: inherit; width: 17rem; vertical-align: top; text-align: left; } td { vertical-align: top; text-align: left; } } } .hidden { display: none !important; } #results { margin: 2rem 2rem 0 @results-offset; display: grid; grid-template-columns: @results-width 25rem; grid-template-rows: min-content min-content 1fr min-content; gap: 0 @results-gap; grid-template-areas: "corrections sidebar" "answers sidebar" "urls sidebar" "pagination sidebar"; } #results #answers *:first-child, #results #sidebar *:first-child, #results #urls *:first-child { margin-top: 0; } #urls { padding: 0; grid-area: urls; } #suggestions { .wrapper { display: flex; flex-flow: row wrap; justify-content: flex-end; form { display: inline-block; flex: 1 1 50%; } } } #suggestions, #answers, #infoboxes, #corrections { input { padding: 0; margin: 3px; font-size: 0.9em; display: inline-block; background: transparent; color: var(--color-result-search-url-font); cursor: pointer; } input[type="submit"], .infobox .url a { color: var(--color-result-link-font); text-decoration: none; font-size: 0.9rem; &:hover { text-decoration: underline; } } } #corrections { grid-area: corrections; display: flex; flex-flow: row wrap; margin: 0 0 1em 0; h4, input[type="submit"] { display: inline-block; margin: 0 0.5em 0 0; } input[type="submit"]::after { content: ", "; } } #suggestions .title, #search_url .title, #apis .title { margin: 2em 0 0.5em 0; color: var(--color-base-font); } #answers { grid-area: answers; border: 1px solid var(--color-answer-border); padding: 0.9em; margin-bottom: @results-margin; color: var(--color-answer-font); .rounded-corners; h4 { display: none; } .answer { display: block; font-size: 1.2em; font-weight: bold; } } #answers, #infoboxes { form { min-width: 210px; } } #sidebar { grid-area: sidebar; word-wrap: break-word; color: var(--color-sidebar-font); .infobox { margin: 10px 0 10px; border: 1px solid var(--color-sidebar-border); padding: 0.9em; font-size: 0.9em; .rounded-corners; h2 { margin: 0 0 0.5em 0; } img { max-width: 100%; max-height: 12em; display: block; margin: 0; padding: 0; } dl { margin: 0.5em 0; } dt { display: inline; margin: 0.5em 0.25em 0.5em 0; padding: 0; font-weight: bold; } dd { display: inline; margin: 0.5em 0; padding: 0; } input { font-size: 1em; } br { clear: both; } .attributes, .urls { clear: both; } } } #search_url { margin-top: 8px; div.selectable_url { pre { width: 200em; } } } #linkto_preferences { position: absolute; right: 10px; top: 0.9em; padding: 0; border: 0; display: block; font-size: 1.2em; color: var(--color-search-font); a:link *, a:hover *, a:visited *, a:active * { color: var(--color-search-font); } } #pagination { grid-area: pagination; br { clear: both; } } #apis { margin-top: 8px; clear: both; } #backToTop { border: 1px solid var(--color-backtotop-border); margin: 0; padding: 0; font-size: 1em; box-shadow: 0 0 5px var(--color-backtotop-shadow); background: var(--color-backtotop-background); position: fixed; bottom: 8rem; left: @results-width + @results-offset + (0.5 * @results-gap - 1.2em); transition: opacity 0.5s; opacity: 0; .rounded-corners; a { display: block; margin: 0; padding: 0.7em; } } @media screen and (max-width: 80em) { #main_preferences, #main_about, #main_stats { margin: 2rem 0.5rem; width: auto; } #infoboxes { position: inherit; max-width: inherit; .infobox { clear: both; img { float: left; max-width: 10em; margin: 0.5em 0.5em 0.5em 0; } } } #sidebar { margin-bottom: @results-margin; padding: 0; float: none; border: none; width: auto; input { border: 0; } } #apis { display: none; } #search_url { display: none; } .result { h3 { margin: 0 0 1px 0; } .thumbnail { max-width: 98%; } .url { span.url { display: block; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 100%; } a { float: right; padding: 0 0.5em; } } .engines { float: right; padding: 0 0 3px 0; } } .result-images { border-bottom: none !important; } .image_result { max-width: 98%; img { max-width: 98%; } } #backToTop { display: none; } #pagination { margin: 2rem 0 0 0 !important; } #main_results div#results { margin: 2rem @results-tablet-offset 0 @results-tablet-offset; display: grid; grid-template-columns: @results-width; grid-template-rows: min-content min-content min-content 1fr min-content min-content; gap: 0; grid-template-areas: "corrections" "answers" "sidebar" "urls" "pagination"; } article[data-vim-selected]::before { left: 0; } } #main_results div#results.only_template_images { margin: 2rem @results-tablet-offset 0 @results-tablet-offset; display: grid; grid-template-columns: 100%; grid-template-rows: min-content min-content 1fr min-content min-content; gap: 0; grid-template-areas: "corrections" "urls" "answers" "sidebar" "pagination"; #urls { width: inherit; margin: 0; } #backToTop { left: auto; right: 2rem; } #pagination { margin-right: 4rem; } } @media screen and (max-width: 50em) { #main_results div#results { grid-template-columns: 100%; margin: 2rem 0 0 0; } article[data-vim-selected]::before { display: none; content: ""; } #linkto_preferences { display: none; position: fixed !important; top: 100px; right: 0; } #sidebar { margin: 0 5px 2px 5px; } .infobox { box-shadow: 0 0 5px var(--color-result-shadow); } #corrections, #answers { margin: 0 5px 1em 5px; box-shadow: 0 0 5px var(--color-result-shadow); } #results { margin: 0; padding: 0; } #pagination { margin: 2rem 1rem 0 1rem !important; } .result { padding: 8px 10px 6px 10px; margin: @results-tablet-offset; border: 1px solid var(--color-result-border); box-shadow: 0 0 5px var(--color-result-shadow); .rounded-corners; } .result-images { margin: 0; padding: 0; border: none; box-shadow: none; } } @media screen and (max-width: 35em) { .result-videos { img.thumbnail { float: none !important; } .content { overflow: inherit; } } } pre code { white-space: pre-wrap; }