
- NOTICE: config.default.php has changed, re-create your config.php!! - [fix] Footer no longer overlaps results - [fix] Search navigation no longer bunched up on smaller displays - [fix] Double search type when searching from start page - [new] Filter for additional/different headers per cURL request - [new] Image search via Openverse API (Access token and cronjob required, see installation instructions) - [new] Image search via Qwant API - [new] Web (recent news) search via Qwant API - [tweak] Merged 'cache' option into 'cache-type', see config.default.php for details - [tweak] Better filtering for duplicate web results - [tweak] File size formatting for images more uniform - [tweak] Optimized curl_multi_exec handling - [tweak] Improved SEO headers - [tweak] Layout tweaks and optimizations for search results, header and footer - [tweak] Removed redundant HTML, CSS and some PHP - [tweak] MagnetDL search disabled by default because of Cloudflare (Will probably be removed in future version) - [tweak] Removed non-functional magnet trackers - [tweak] Added 15 extra public magnet trackers - [change] Removed Ecosia support - [change] Removed Reddit support - [change] Removed 1337x support - [change] Removed MagnetDL support
234 lines
No EOL
14 KiB
CSS
234 lines
No EOL
14 KiB
CSS
/* ------------------------------------------------------------------------------------
|
|
* Goosle - A meta search engine for private and fast internet fun.
|
|
*
|
|
* COPYRIGHT NOTICE
|
|
* Copyright 2023-2024 Arnan de Gans. All Rights Reserved.
|
|
*
|
|
* COPYRIGHT NOTICES AND ALL THE COMMENTS SHOULD REMAIN INTACT.
|
|
* By using this code you agree to indemnify Arnan de Gans from any
|
|
* liability that might arise from its use.
|
|
------------------------------------------------------------------------------------ */
|
|
|
|
body { margin: 0; padding: 0; background-color: #fff; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: #222; line-height: 1.2; }
|
|
div { margin: 0; padding: 0; border: 0; vertical-align: baseline; }
|
|
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }
|
|
h2, h3, h4, h5, h6 { font-weight: normal; }
|
|
h2, h3, h4, h5, h6, p, ul, ol, blockquote { margin: 0; padding-top: .5em; padding-bottom: .5em; }
|
|
ol, ol > li { margin: 0; padding: 0; list-style: none; }
|
|
input, button { outline: none; }
|
|
button { cursor: pointer; }
|
|
p { font-size: 18px; color: #494949; }
|
|
a { text-decoration: none; color: #4495d4; }
|
|
small, sub, sup { padding: 5px 0; color: #666; font-size: 12px; }
|
|
sub, sup { font-style: italic; }
|
|
pre, code { word-wrap: break-word; overflow-wrap: break-word; }
|
|
a:hover { text-decoration: underline; }
|
|
input[type="text"]: invalid ~ input[type="submit"] { opacity: 0.5; pointer-events: none; }
|
|
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; -webkit-mask-image: url("data: image/svg+xml;utf8,<svg xmlns='http: //www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23777'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>"); }
|
|
|
|
/* Page structure */
|
|
body { min-height: 100vh; display: flex; flex-direction: column; }
|
|
.header { padding-top: 16px; width: 100%; }
|
|
.content { margin: 0 158px; padding: 15px 0; }
|
|
.footer { bottom: 0; margin-top: auto; padding: 0; width: 100%; }
|
|
|
|
/* Start page */
|
|
.startpage { background-color: #1f242b; color: #f0f6fc; }
|
|
.startpage-search, .password-generator { text-align: center; margin-top: 10%; }
|
|
.startpage-search h1 { font-size: 4rem; }
|
|
.startpage-search .search, .password-generator .password { padding: 10px 20px; width: 600px; color: #f0f6fc; background-color: #333333; font-size: 2rem; font-family: sans-serif; border: 1px solid #3C4043; border-radius: 10px; }
|
|
.startpage-search .search[type="search"]::-webkit-search-cancel-button { background-size: 28px 28px; height: 28px; width: 28px; background-color: #f0f6fc; }
|
|
.search-buttons button { margin: 30px 20px 10px 20px; padding: 13px 10px 13px 10px; min-width: 130px; color: #f0f6fc; background-color: #333333; font-size: 1rem; border: 1px solid #3C4043; border-radius: 6px; }
|
|
.startpage-search .search:focus, .password-generator .password:focus, .search-buttons button:hover { border: 1px solid #5f6368; }
|
|
|
|
.password-generator { margin: 30px auto; padding: 0; }
|
|
.password-generator .password { margin: 10px auto; width: 300px; text-align: center; font-size: 0.8rem; }
|
|
|
|
/* oAUTH page*/
|
|
.oauthpage { background-color: #1f242b; color: #f0f6fc; }
|
|
.oauth-form { text-align: center; margin-top: 20px; }
|
|
.oauth-form h1 { font-size: 4rem; }
|
|
.oauth-form p, .oauth-form small { margin-bottom: 15px; color: #f0f6fc; }
|
|
.oauth-form .field { padding: 5px 10px; width: 300px; color: #f0f6fc; background-color: #333333; font-size: 1rem; font-family: sans-serif; border: 1px solid #3C4043; border-radius: 10px; }
|
|
.oauth-buttons button { margin: 30px 20px 10px 20px; padding: 13px 10px 13px 10px; min-width: 130px; color: #f0f6fc; background-color: #333333; font-size: 1rem; border: 1px solid #3C4043; border-radius: 6px; }
|
|
.oauth-buttons button:hover { border: 1px solid #5f6368; }
|
|
|
|
/* Results page header */
|
|
.header { background-color: #1f242b; color: #f0f6fc; border-bottom: 2px solid #1fa4d1; }
|
|
.header .search, .header .button { position: relative; height: 40px; color: #f0f6fc; font-size: 1rem; font-weight: 400; }
|
|
.header .search { margin: 28px 0 28px 158px; padding: 5px 5px 5px 15px; width: 580px; background-color: #1f242b; border: 1px solid #5f6368; border-radius: 10px 0 0 10px; }
|
|
.header .search[type="search"]::-webkit-search-cancel-button { background-size: 20px 20px; height: 20px; width: 20px; background-color: #f0f6fc; }
|
|
.header .button { margin: 28px 10px 28px 0; padding: 5px 20px 5px 15px; background-color: #1fa4d1; border: none; border-radius: 0 10px 10px 0; }
|
|
|
|
.navigation { margin-left: 158px; margin-bottom: 10px; }
|
|
.navigation img { margin-right: 5px; height: 16px; vertical-align: middle; }
|
|
.navigation a { margin-right: 20px; border: none; font-size: 1rem; cursor: pointer; text-decoration: none; }
|
|
.navigation a:hover { color: #ebf3fa; }
|
|
.navigation a: visited { color: #1fa4d1; }
|
|
.navigation .active { padding-bottom: 8px; border-bottom: 4px solid #1fa4d1; }
|
|
|
|
/* Search results spacing */
|
|
.content .meta { padding: 10px 0 0 0; }
|
|
.content .sources { padding: 0 0 10px 0; font-size: 0.75rem; color: #666; }
|
|
.content .suggestion { padding: 15px 0; }
|
|
.content .result { margin: 0 0 25px 0; }
|
|
.content .result-special { margin: 15px 0 25px 0; padding: 10px; }
|
|
.content .result.image { margin: 0; }
|
|
|
|
/* Search results (web, image and magnet) */
|
|
.content .result { border: 1px solid #fefefe; border-radius: 8px; }
|
|
.content .result div.url, .content .result-special div.source { max-width: 100%; font-size: 1rem; line-height: 1.6; letter-spacing: .2px; white-space: nowrap; overflow: hidden; }
|
|
.content .result div.url a, .content .result-special div.source a { color: #3f6e35; cursor: pointer; text-decoration: none; }
|
|
.content .result div.title, .content .result-special div.title { margin-bottom: 5px; }
|
|
.content .result div.title h2 { padding: 0; position: relative; font-size: 1.46rem; letter-spacing: -.01px; }
|
|
.content .result div.title h2:hover { text-decoration: underline; }
|
|
.content .result div.title a { display: block; cursor: pointer; }
|
|
.content .result div.title a: visited { color: #6d59a3; }
|
|
.content .result div.description { line-height: 1.4; font-size: 1rem; color: #494949; }
|
|
.content .result div.engine { padding: 2px 0; font: 12px italic; color: #666; }
|
|
.content .result div.description .seeders { color: #518257; }
|
|
.content .result div.description .leechers { color: #c00; }
|
|
|
|
.content .result-special { position: relative; background-color: #fefefe; overflow: hidden; border: 1px solid #aeaeae; border-radius: 8px; color: #222; }
|
|
.content .result-special div.title h2 { padding: 0; font-size: 1.5rem; font-weight: 600; word-wrap: break-word; color: #222; }
|
|
.content .result-special div.title h2:hover { text-decoration: none; }
|
|
.content .result-special div.title a { display: block; color: #6c00a2; cursor: pointer; }
|
|
.content .result-special div.title a: visited { color: #6d59a3; }
|
|
.content .result-special div.text, .content .result-special div.source { position: relative; font-style: normal; }
|
|
|
|
/* Grids (image and magnet highlights) */
|
|
@supports (display: grid) {
|
|
.image-grid ol, .magnet-grid ol { display: grid; grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); grid-gap: 1rem; }
|
|
}
|
|
@supports not (display: grid) {
|
|
.image-grid ol > *, .magnet-grid ol > * { max-width: 8rem; margin-left: auto; margin-right: auto; }
|
|
.image-grid ol .result, .magnet-grid ol .result { display: inline-block; margin: .75rem; width: 12.5%; }
|
|
.image-grid ol > * + *, .magnet-grid ol > * + * { margin-top: 1rem; }
|
|
}
|
|
|
|
/* Image results */
|
|
.image-grid { width: 100%; margin: 25px 0; }
|
|
.image-grid ol .result .image-box { position: relative; }
|
|
.image-grid ol .result .image-box::after { display: block; padding-bottom: 100%; content: ""; }
|
|
.image-grid ol .result .image-box img { position: absolute; object-fit: cover; width: 100%; height: 100%; border-radius: 10px; }
|
|
.image-grid ol .result .image-box img:hover { outline: none; border-color: #3C4043; box-shadow: 0 0 10px #3C4043; }
|
|
.image-grid ol .result span { padding: 5px 0 0 0; color: #666; font-size: 0.75rem; }
|
|
|
|
/* Magnet highlights */
|
|
.magnet-grid { width: 100%; margin: 25px 0; }
|
|
.magnet-grid ol .result .magnet-box { position: relative; }
|
|
.magnet-grid ol .result .magnet-box::after { display: block; content: ""; }
|
|
.magnet-grid ol .result .magnet-box img { width: 100%; height: 100%; border-radius: 10px; }
|
|
.magnet-grid ol .result .magnet-box p { visibility: hidden; opacity: 0; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: #1f242b; transition: opacity .1s, visibility .1s; padding: 10px; line-height: 1.4; text-align: center; font-size: 0.8rem; color: #f0f6fc; }
|
|
.magnet-grid ol .result .magnet-box a { display: block; position: relative; margin: 5px 0 5px 0; padding: 5px 20px; background-color: #1fa4d1; border: 1px solid #466f82; border-radius: 10px; color: #f0f6fc; font-weight: 800; text-align: center; }
|
|
.magnet-grid ol .result .magnet-box a:hover { text-decoration: none; }
|
|
.magnet-grid ol .result .magnet-box:hover p { visibility: visible; opacity: .90; outline: none; border-color: #3C4043; border-radius: 10px; box-shadow: 0 0 10px #3C4043; }
|
|
|
|
/* Misc */
|
|
.logo { position: absolute; margin: 28px 18px; }
|
|
.logo a { color: #f0f6fc; cursor: pointer; }
|
|
.no-decoration, .no-decoration:hover { text-decoration: none; }
|
|
.hide { display: none; }
|
|
.G { color: #1fa4d1; }
|
|
.warning { position: relative; overflow: hidden; margin: 20px 0; padding: 10px; color: #db9900; background-color: #ffffe0; border: 1px solid #e6db55; border-radius: 10px; }
|
|
.error { position: relative; overflow: hidden; margin: 20px 0; padding: 10px; color: #c00; background-color: #ffebe8; border: 1px solid #c00; border-radius: 10px; }
|
|
.auth-success { margin-top: 15%; font-size: 1rem; text-align: center; color: #f0f6fc; }
|
|
.auth-error { margin-top: 15%; font-size: 2rem; text-align: center; color: #f0f6fc; }
|
|
a.update { color: #c90; font-weight: bold; }
|
|
|
|
/* Footer */
|
|
.footer { background-color: #161616; color: #f0f6fc; border-top: 1px solid #1fa4d1; }
|
|
.footer a { color: #f0f6fc; }
|
|
.footer-left, .footer-right { display: inline-block; padding: 10px; }
|
|
.footer-right { float: right; }
|
|
|
|
@media only screen and (max-width: 960px) { /* tablet, landscape iPad, lo-res/smaller laptops */
|
|
/* Page structure */
|
|
.content { position: relative; margin: 0 48px; }
|
|
.footer-left, .footer-right { display: block; padding: 5px 5px 0 5px; text-align: center; }
|
|
.footer-right { float: none; padding: 0px 5px 5px 5px; }
|
|
|
|
/* Start page */
|
|
.startpage-search { margin-top: 10%; }
|
|
.startpage-search .search { width: 80%; }
|
|
.search-buttons button { display: table-row; margin: 30px 0px 0px 0px; width: 80%; }
|
|
|
|
/* Search Results - Header */
|
|
.header { margin-left: auto; margin-right: auto; text-align: center; }
|
|
.header .search { margin: 10px 0px 28px 48px; width: 400px; }
|
|
.header .search, .header .button { margin: 10px 0px 28px 0px; }
|
|
|
|
/* Search results - Header Navigation */
|
|
.navigation { margin: 0 auto 10px auto; padding: 0; align-items: baseline; }
|
|
|
|
/* Misc */
|
|
.logo { position: relative; display: block;margin: 0 auto; float: none; padding: 10px; font-size: 1.75rem; }
|
|
}
|
|
|
|
@media only screen and (max-width: 640px) { /* portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */
|
|
/* Page structure */
|
|
.content { position: relative; margin: 0 10px; }
|
|
.footer-left, .footer-right { display: block; padding: 5px 5px 0 5px; text-align: center; }
|
|
.footer-right { float: none; padding: 0px 5px 5px 5px; }
|
|
|
|
/* Start page */
|
|
.startpage-search { margin-top: 10%; }
|
|
.startpage-search .search { width: 80%; }
|
|
.search-buttons button { display: table-row; margin: 30px 0px 0px 0px; width: 80%; }
|
|
|
|
/* Search Results - Header */
|
|
.header { margin-left: auto; margin-right: auto; text-align: center; }
|
|
.header .search, .header .button { margin: 0px 0px 10px 0px; width: 80%; border-radius: 25px; }
|
|
|
|
/* Search results - Header Navigation */
|
|
.navigation { margin: 0 auto 10px auto; padding: 0; align-items: baseline; }
|
|
|
|
/* Misc */
|
|
.logo { position: relative; display: block; float: none; margin: 0 auto; padding: 10px; font-size: 1.75rem; }
|
|
}
|
|
|
|
@media only screen and (max-width: 480px) { /* portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide. */
|
|
/* Page structure */
|
|
.content { position: relative; margin: 0 10px; }
|
|
.footer-left, .footer-right { display: block; padding: 5px 5px 0 5px; text-align: center; }
|
|
.footer-right { float: none; padding: 0px 5px 5px 5px; }
|
|
|
|
/* Start page */
|
|
.startpage-search { margin-top: 10%; }
|
|
.startpage-search h1 { font-size: 2.5rem; }
|
|
.startpage-search .search { width: 80%; }
|
|
.search-buttons button { display: table-row; margin: 30px 0px 0px 0px; width: 80%; }
|
|
|
|
/* Search Results - Header */
|
|
.header { margin-left: auto; margin-right: auto; text-align: center; }
|
|
.header .search, .header .button { margin: 0px 0px 10px 0px; width: 80%; border-radius: 25px; }
|
|
|
|
/* Search results - Header Navigation */
|
|
.navigation { margin: 0 auto 10px auto; padding: 0; align-items: baseline; }
|
|
|
|
/* Misc */
|
|
.logo { position: relative; display: block; float: none; margin: 0 auto; padding: 10px; font-size: 1.75rem; }
|
|
}
|
|
|
|
@media only screen and (max-width: 320px) { /* smartphones, iPhone, portrait 480x320 phones, split screen devices */
|
|
/* Page structure */
|
|
.content { position: relative; margin: 0 10px; }
|
|
.footer-left, .footer-right { display: block; padding: 5px 5px 0 5px; text-align: center; }
|
|
.footer-right { float: none; padding: 0px 5px 5px 5px; }
|
|
|
|
/* Start page */
|
|
.startpage-search { margin-top: 40px; }
|
|
.startpage-search h1 { font-size: 2.5rem; }
|
|
.startpage-search .search { width: 80%; }
|
|
.search-buttons button { display: table-row; margin: 20px 0px 0px 0px; width: 80%; }
|
|
|
|
/* Search Results - Header */
|
|
.header { margin-left: auto; margin-right: auto; text-align: center; }
|
|
.header .search, .header .button { margin: 0px 0px 10px 0px; width: 80%; border-radius: 25px; }
|
|
|
|
/* Search results - Header Navigation */
|
|
.navigation { margin: 0 auto 10px auto; padding: 0; align-items: baseline; }
|
|
|
|
/* Misc */
|
|
.logo { position: relative; float: none; display: block; margin: 0 auto; padding: 10px; font-size: 1.75rem; }
|
|
} |