diff --git a/test/test-login-success.html b/test/test-login-success.html index 2e18bd4..8b53e38 100755 --- a/test/test-login-success.html +++ b/test/test-login-success.html @@ -1,13 +1,14 @@ - - - - HTML Test Page - - - - - -

Login successful!
- - - + + + + + HTML Test Page + + + + + + +

Login successful!

+ + diff --git a/test/test-login.html b/test/test-login.html index 80c1d06..01a3c6d 100755 --- a/test/test-login.html +++ b/test/test-login.html @@ -1,19 +1,19 @@ - HTML Test Page - - - + HTML Test Page + + + - -
-

User name:
-

-

Password:
-

-

-

-
- + +
+

User name:
+

+

Password:
+

+

+

+
+ diff --git a/vivaldi/Mods/CSS/custom.css b/vivaldi/Mods/CSS/custom.css new file mode 100755 index 0000000..1612898 --- /dev/null +++ b/vivaldi/Mods/CSS/custom.css @@ -0,0 +1,119 @@ +/* CUSTOM CSS for Vivaldi */ + +/* Vivaldi logo */ +.vivaldi-v, .vivaldi-horizontal-icon {opacity: 1 !important;} +.vivaldi-v svg, .vivaldi-horizontal-icon svg {background: radial-gradient(white, white 50%, transparent 50%); fill: #383838;} + +/* SiteInfo hide text */ +.SiteInfoButton .siteinfo-text { + display: none; +} + +/* SiteInfo V logo */ +.SiteInfoButton.internal svg path, .SiteInfoButton.warning svg path { + d: path("M10.4 5c-.4-.8 0-1.8 1-2 .7 0 1.5.4 1.6 1.2a1.4 1.4 0 0 1-.2 1l-4 7c-.3.5-.7.8-1.2.8-.6 0-1-.2-1.3-.7L3.8 7.8 2.2 5c-.5-.8 0-2 1-2 .7 0 1 .2 1.4.7l1 2 1 1.4a2 2 0 0 0 1.7 1.5 2.2 2.2 0 0 0 2.3-2V6c0-.3 0-.6-.2-1z"); +} + +/* SiteInfo old style lock */ +.SiteInfoButton.secure svg path, .SiteInfoButton.certified svg path { + d: path("M12.2 6.7C12.2 4 10.5 2 8 2 5.8 2 3.8 4 3.8 6.7V7H3v7h10V7h-.8v-.3zM10.7 8H5.3V6.7c0-1.7 1.4-3 2.8-3 1.7 0 2.8 1.3 2.8 3V8z"); + fill: #00a100; +} + +/* SiteInfo secure background colour */ +.SiteInfoButton.secure, .SiteInfoButton.certified { + background-color: #004400; + height: 22px; + width: 22px; +} + +/* URL Bar scheme part */ +.UrlFragment--Lowlight:first-of-type { + color: var(--colorFgFadedMost); +} + +/* URL Bar host part */ +.UrlFragment-HostFragment-Subdomain, .UrlFragment-HostFragment-Basedomain, .UrlFragment-HostFragment-TLD { + color: var(--colorFgIntense) !important; + font-weight: bold; +} + +/* Hide AddressField stuff */ +.UrlBar-AddressField .permission-popup.is-blocking, +.UrlBar-AddressField .UrlBar-UrlObfuscationWarning, +.UrlBar-AddressField .ContentBlocker-Control, +.UrlBar-AddressField .ToolbarButton-Button[title^="Translate"] { + display: none; +} + +/* Extensions toggle button */ +.toolbar-extensions svg path { + d: path("M10 13l3.634-3.634c.504-.504 1.366-.147 1.366.566v6.137c0 .713-.862 1.07-1.366.566l-3.634-3.634z"); + opacity: .5; +} +/* Extensions buttons background */ +.ExtensionDropdownIcon, .ExtensionIcon { + background-color: var(--colorAccentBg) !important; +} + +/* Toolbar buttons keyboard focus */ +.button-toolbar:focus-within, .button-toolbar:hover { + background-color: var(--colorAccentBgDark) !important; + /* outline: 2px solid var(--colorHighlightBg); */ + /* outline-offset: -3px; */ +} + +/* Address + Search field icons dimmed */ +.toolbar-insideinput button { + opacity: 0.75; +} + +/* Trashcan dimmed */ +.button-toolbar.toggle-trash button { + transition: opacity 200ms; + opacity: 0.2; +} + +/* Bookmark button fill colour */ +.bookmark-animated-fill { + fill: var(--colorAccentBgFaded) !important; +} + +/* Panels switch buttons */ +#switch > button.panelbtn img { + filter: drop-shadow(0 0 1px white); +} + +/* Bookmarks Panel input width */ +.addbookmark-cardwrapper { + width: 100%; +} + +/* Bookmarks Panel thumbnails hide */ +.addbookmark-cardwrapper .preview { + display: none !important; +} + +/* Unread tabs bold font */ +.tab-strip .tab.unread { + font-weight: bold; +} + +/* Tab tooltip hide image */ +#vivaldi-tooltip .tooltip .tooltip-item .thumbnail-image { + display: none; +} + +/* Tab tooltip size */ +#vivaldi-tooltip .tooltip .tab-group .tooltip-item { + width: 250px; + height: auto; +} + +/* Hide Extension buttons */ +.button-toolbar.extensionId button[title="Spatial Navigation"] {display: none;} + +/* Temporary fix for url bar dropdown */ +.OmniLinkItem--Highlighted, OmniLinkItem:hover { + background-color: var(--colorHighlightBg) !important; +} diff --git a/vivaldi/Mods/CSS/find-in-page.css b/vivaldi/Mods/CSS/find-in-page.css new file mode 100755 index 0000000..a0b3f1c --- /dev/null +++ b/vivaldi/Mods/CSS/find-in-page.css @@ -0,0 +1,38 @@ +/* Find-in-page mod */ +.find-in-page { + position:absolute; + background-color: var(--colorBg); + border-radius: var(--radius); + max-width: fit-content; + margin: 0 auto; + top: 3px; + right: 0; + left: 0; + z-index:1; +} + +/* Find-in-page input wider */ +.find-in-page .fip-input-container { + width: 400px; + max-width: unset; +} + +/* Find-in-page transparent if not focused */ +.find-in-page:not(:focus-within):not(:hover) { + opacity: 0.8; +} + +/* Find-in-page background color for no matches */ +.find-in-page.fip-nomatches { + background: darkred; +} + +/* Find-in-page result numbers clearer */ +.find-in-page .fip-results { + opacity: 1 !important; +} + +/* Find-in-page no animation */ +.fip-active-hit { + display: none; +} diff --git a/vivaldi/Mods/CSS/hide-header.css b/vivaldi/Mods/CSS/hide-header.css new file mode 100755 index 0000000..69c1fec --- /dev/null +++ b/vivaldi/Mods/CSS/hide-header.css @@ -0,0 +1,39 @@ +/* Hide header when tabs not on top */ +#browser:not(.tabs-top) #header { + min-height: 0; +} + +/* Make sure buttons are in front */ +#browser:not(.tabs-top) .vivaldi, +#browser:not(.tabs-top) .window-buttongroup { + z-index: 10; +} + +/* Set UrlBar l/r padding */ +#browser:not(.tabs-top) .toolbar-mainbar { + padding-left: 30px; + padding-right: 130px +} + +/* Override V icon size */ +#browser .vivaldi svg { + height: 22px; + width: 22px; +} + +/* Reset header on windowed/minimal-ui/bottom-UrlBar/horizontal-menu */ +#browser.normal #header, +#browser.minimal-ui #header, +#browser.address-bottom #header +#browser.horizontal-menu #header { + min-height: 25px; +} + +/* Reset header on windowed/minimal-ui/bottom-UrlBar/horizontal-menu */ +#browser.normal .toolbar-mainbar, +#browser.minimal-ui .toolbar-mainbar, +#browser.address-bottom .toolbar-mainbar, +#browser.horizontal-menu .toolbar-mainbar { + padding-left: unset; + padding-right: unset; +} diff --git a/vivaldi/Mods/CSS/speed-dials.css b/vivaldi/Mods/CSS/speed-dials.css new file mode 100755 index 0000000..fc1ea6c --- /dev/null +++ b/vivaldi/Mods/CSS/speed-dials.css @@ -0,0 +1,40 @@ +/* Speed Dials Mods */ +.speeddial, .SpeedDialView-Head, .SpeedDialView-Head:empty { + margin-top: 1em; +} + +/* Speed Dials search field position (if shown) */ +.sdwrapper .iconmenu-container.SearchField { + margin: 1em auto 0; + background: var(--colorBgAlphaHeavy); +} + +/* Speed Dials look */ +.speeddial .dial { + opacity: 0.8 !important; + transition: opacity 0.2s linear; + background-color: var(--colorBgAlphaHeavy); +} + +/* Speed Dials opaque when hovering */ +.speeddial .dial:hover, .speeddial .dial:focus { + opacity: 1 !important; +} + +/* Speed Dials thumbnail */ +.speeddial .dial .thumbnail-image { + /* background: rgba(25,25,25,0.4); */ + padding: 1em; +} + +/* Speed Dials thumbnail fit container */ +.speeddial .dial .thumbnail-image img { + object-fit: contain; + object-position: center; +} + +/* Speed Dial background image fit */ +/*.startpage { + background-size: 100% 100% !important; + transition: none !important; +}*/ diff --git a/vivaldi/Mods/CSS/tabcycler.css b/vivaldi/Mods/CSS/tabcycler.css new file mode 100755 index 0000000..6bf802e --- /dev/null +++ b/vivaldi/Mods/CSS/tabcycler.css @@ -0,0 +1,19 @@ +/* Tabcycler hide image */ +.tabswitcher.list img.visual-list-preview { + visibility: collapse; + height: 0; + min-height: 0; +} + +/* Tabcycler list */ +.tabswitcher.list { + grid-template-columns: 0px 1fr; + grid-gap: unset; + width: 36em; + max-height: 80vh; +} + +/* Tabcycler hide scrollbar */ +.tabswitcher.list .listed-tabs::-webkit-scrollbar { + display: none; +} diff --git a/vivaldi/Mods/JS/backup_search_engines-old.js b/vivaldi/Mods/JS/backup_search_engines-old.js new file mode 100755 index 0000000..259c12b --- /dev/null +++ b/vivaldi/Mods/JS/backup_search_engines-old.js @@ -0,0 +1,114 @@ +// Backup Search Engines +// version 2021.10.0 +// https://forum.vivaldi.net/post/277594 +// Adds functionality to backup and restore search engines in +// vivaldi://settings/search. + +(function () { + function _msgSearch(pnt) { + clearTimeout(_msgTimeout); + if (pnt === "backup") { + _infoSearch.innerText = "Search engines backup copied to clipboard"; + } else if (pnt === "restore") { + _infoSearch.innerText = "Search engines restored"; + } else { + _infoSearch.innerText = "Search engines code error"; + } + _msgTimeout = setTimeout(function () { + _infoSearch.innerText = ""; + }, 5000); + } + + function _restoreSearch(e) { + e.preventDefault(); + e.stopPropagation(); + if (e.type === "paste") { + var clipboardData = e.clipboardData; + var engineCode = clipboardData.getData("text"); + } else { + var engineCode = e.dataTransfer.getData("text"); + } + try { + var engines = JSON.parse(engineCode); + } catch (err) { + _msgSearch("error"); + return; + } + if ( + "engines" in engines && + "default" in engines && + "defaultPrivate" in engines + ) { + chrome.storage.local.set( + { SEARCH_ENGINE_COLLECTION: engines }, + function () { + _msgSearch("restore"); + } + ); + } else { + _msgSearch("error"); + } + } + + function _backupSearch() { + chrome.storage.local.get({ SEARCH_ENGINE_COLLECTION: "" }, function (back) { + const collection = back.SEARCH_ENGINE_COLLECTION; + collection.engines = collection.engines.filter( + (engine) => engine.removed === false + ); + for (let i = 0; i < collection.engines.length; i++) { + collection.engines[i].historyId = i + 1; + } + collection.nextHistoryId = collection.engines.length + 1; + console.log(collection); + const engineCode = JSON.stringify(collection); + navigator.clipboard.writeText(engineCode); + _msgSearch("backup"); + }); + } + + function searchEngines() { + const styleCheck = document.getElementById("searchEngines"); + if (!styleCheck) { + const style = document.createElement("style"); + style.id = "searchEngines"; + style.innerHTML = + "#backupSearch, #restoreSearch {margin-left: 6px;}#restoreSearch{width: 130px;margin-top: 6px;}#restoreSearch::-webkit-input-placeholder {opacity: 1;color: var(--colorHighlightBg);text-align: center;}#msgConfirm{margin-left: 12px}"; + document.getElementsByTagName("head")[0].appendChild(style); + } + const modCheck = document.getElementById("backupSearch"); + if (!modCheck) { + const place = document.querySelector( + ".setting-section > div > .setting-group.unlimited > .setting-single" + ); + const backupBtn = document.createElement("input"); + backupBtn.setAttribute("type", "button"); + backupBtn.setAttribute("value", "Backup"); + backupBtn.id = "backupSearch"; + place.insertBefore(backupBtn, place.lastChild); + const restoreInput = document.createElement("input"); + restoreInput.setAttribute("type", "text"); + restoreInput.setAttribute("placeholder", "Restore Backup"); + restoreInput.id = "restoreSearch"; + place.insertBefore(restoreInput, place.lastChild); + _infoSearch = document.createElement("span"); + _infoSearch.id = "msgConfirm"; + place.insertBefore(_infoSearch, place.lastChild); + document + .getElementById("backupSearch") + .addEventListener("click", _backupSearch); + const restoreSearch = document.getElementById("restoreSearch"); + restoreSearch.addEventListener("paste", _restoreSearch); + restoreSearch.addEventListener("drop", _restoreSearch); + _msgTimeout = {}; + } + } + + const settingsUrl = + "chrome-extension://mpognobbkildjkofajifpdfhcoklimli/components/settings/settings.html?path="; + chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) { + if (changeInfo.url === `${settingsUrl}search`) { + setTimeout(searchEngines, 100); + } + }); +})(); \ No newline at end of file diff --git a/vivaldi/Mods/JS/backup_search_engines.js b/vivaldi/Mods/JS/backup_search_engines.js new file mode 100755 index 0000000..9d65e43 --- /dev/null +++ b/vivaldi/Mods/JS/backup_search_engines.js @@ -0,0 +1,177 @@ +// Backup Search Engines +// version 2022.3.3 +// https://forum.vivaldi.net/post/277594 +// Adds functionality to backup and restore search engines in +// vivaldi://settings/search. + +(function () { + function msg(print) { + clearTimeout(msgTimeout); + if (print === "backup") { + info.innerText = "Backup copied to clipboard"; + } else if (print === "restore") { + info.innerText = "Search engines restored"; + } else { + info.innerText = "Code error, aborted"; + } + msgTimeout = setTimeout(() => (info.innerText = ""), 5000); + } + + function lookup(n) { + const defaults = [n.defaultSearch, n.defaultPrivate, n.defaultImage]; + return defaults; + } + + function bringingItAllBackHome(remains) { + vivaldi.searchEngines.getTemplateUrls((engines) => { + for (i = 0; i < defaultsArray.length; i++) { + const getName = engines.templateUrls.map((e) => e.name); + const index = getName.lastIndexOf(defaultsArray[i][0]); + const id = engines.templateUrls[index].id.toString(); + const search = defaultsArray[i][1]; + if (search === 0) { + vivaldi.searchEngines.setDefault( + vivaldi.searchEngines.DefaultType.DEFAULT_SEARCH, + id, + ); + } else if (search === 1) { + vivaldi.searchEngines.setDefault( + vivaldi.searchEngines.DefaultType.DEFAULT_PRIVATE, + id, + ); + } else { + vivaldi.searchEngines.setDefault( + vivaldi.searchEngines.DefaultType.DEFAULT_IMAGE, + id, + ); + } + } + remains.forEach((remove) => { + vivaldi.searchEngines.removeTemplateUrl(remove); + }); + defaultsArray = []; + msg("restore"); + }); + } + + function exec(collection) { + vivaldi.searchEngines.getTemplateUrls((engines) => { + const oldDefaults = lookup(engines); + const newDefaults = lookup(collection); + engines.templateUrls.forEach((engine) => { + if (oldDefaults.indexOf(engine.id) === -1) { + vivaldi.searchEngines.removeTemplateUrl(engine.id); + } + }); + collection.templateUrls.forEach((collect) => { + vivaldi.searchEngines.addTemplateUrl(collect, () => { + if (newDefaults.indexOf(collect.id) > -1) { + const indeces = newDefaults + .map((e, i) => (e === collect.id ? i : "")) + .filter(String); + indeces.forEach((index) => { + const tunnel = [collect.name, index]; + defaultsArray.push(tunnel); + }); + } + }); + }); + const remains = [...new Set(oldDefaults)]; + bringingItAllBackHome(remains); + }); + } + + function restore(e) { + e.preventDefault(); + e.stopPropagation(); + let backupCode; + let collection; + if (e.type === "paste") { + const clipboardData = e.clipboardData; + backupCode = clipboardData.getData("text"); + } else { + backupCode = e.dataTransfer.getData("text"); + } + try { + collection = JSON.parse(backupCode); + } catch (err) { + msg("error"); + return; + } + if ( + "defaultImage" in collection && + "defaultPrivate" in collection && + "defaultSearch" in collection + ) { + exec(collection); + } else { + msg("error"); + } + } + + function backup() { + vivaldi.searchEngines.getTemplateUrls((engines) => { + const backupCode = JSON.stringify(engines); + navigator.clipboard.writeText(backupCode); + msg("backup"); + }); + } + + function ui() { + const check = document.getElementById("vm-backup"); + if (!check) { + const place = document.querySelector( + ".setting-section > div > .setting-group.unlimited > .setting-single" + ); + const btn = document.createElement("input"); + btn.setAttribute("type", "button"); + btn.setAttribute("value", "Backup"); + btn.id = "vm-backup"; + place.insertBefore(btn, place.lastChild); + btn.addEventListener("click", backup); + const input = document.createElement("input"); + input.setAttribute("type", "text"); + input.setAttribute("placeholder", "Restore Backup"); + input.id = "vm-restore"; + place.insertBefore(input, place.lastChild); + input.addEventListener("paste", restore); + input.addEventListener("drop", restore); + info = document.createElement("span"); + info.id = "vm-msg"; + place.insertBefore(info, place.lastChild); + } + } + + const css = ` + #vm-restore { + width: 130px; + margin-left: 6px; + margin-top: 6px; + } + #vm-restore::-webkit-input-placeholder { + opacity: 1; + color: var(--colorHighlightBg); + text-align: center; + } + #vm-msg { + margin-left: 12px; + } + `; + + let msgTimeout; + let defaultsArray = []; + const settingsUrl = + "chrome-extension://mpognobbkildjkofajifpdfhcoklimli/components/settings/settings.html?path="; + chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) { + if (changeInfo.url === `${settingsUrl}search`) { + setTimeout(ui, 100); + const check = document.getElementById("vm-engines"); + if (!check) { + const style = document.createElement("style"); + style.id = "vm-engines"; + style.innerHTML = css; + document.getElementsByTagName("head")[0].appendChild(style); + } + } + }); +})(); diff --git a/vivaldi/Mods/custom.css b/vivaldi/Mods/custom.css new file mode 100755 index 0000000..add1e65 --- /dev/null +++ b/vivaldi/Mods/custom.css @@ -0,0 +1,118 @@ +/* CUSTOM CSS for Vivaldi */ + +/* Vivaldi logo */ +.vivaldi-v, .vivaldi-horizontal-icon {opacity: 1 !important;} +.vivaldi-v svg, .vivaldi-horizontal-icon svg {background: radial-gradient(white, white 50%, transparent 50%); fill: #383838;} + +/* SiteInfo hide text */ +.SiteInfoButton .siteinfo-text { + display: none; +} + +/* SiteInfo V logo */ +.SiteInfoButton.internal svg path, .SiteInfoButton.warning svg path { + d: path("M10.4 5c-.4-.8 0-1.8 1-2 .7 0 1.5.4 1.6 1.2a1.4 1.4 0 0 1-.2 1l-4 7c-.3.5-.7.8-1.2.8-.6 0-1-.2-1.3-.7L3.8 7.8 2.2 5c-.5-.8 0-2 1-2 .7 0 1 .2 1.4.7l1 2 1 1.4a2 2 0 0 0 1.7 1.5 2.2 2.2 0 0 0 2.3-2V6c0-.3 0-.6-.2-1z"); +} + +/* SiteInfo old style lock */ +.SiteInfoButton.secure svg path, .SiteInfoButton.certified svg path { + d: path("M12.2 6.7C12.2 4 10.5 2 8 2 5.8 2 3.8 4 3.8 6.7V7H3v7h10V7h-.8v-.3zM10.7 8H5.3V6.7c0-1.7 1.4-3 2.8-3 1.7 0 2.8 1.3 2.8 3V8z"); + fill: #00a100; +} + +/* SiteInfo secure background colour */ +.SiteInfoButton.secure, .SiteInfoButton.certified { + background-color: #004400; + height: 22px; + width: 22px; +} + +/* URL Bar scheme part */ +.UrlFragment--Lowlight:first-of-type { + color: var(--colorFgFadedMost); +} + +/* URL Bar host part */ +.UrlFragment-HostFragment-Subdomain, .UrlFragment-HostFragment-Basedomain, .UrlFragment-HostFragment-TLD { + color: var(--colorFgIntense) !important; + font-weight: bold; +} + +/* Security blocked content warning hide */ +.UrlBar-AddressField .permission-popup.is-blocking { + display: none; +} + +/* Content blocker button hide */ +.UrlBar-AddressField .ContentBlocker-Control { + display: none; +} + +/* Translate button hide */ +.UrlBar-AddressField .ToolbarButton-Button[title^="Translate"] { + display: none; +} + +/* Toggle extension button */ +.toolbar-extensions svg path { + d: path("M10 13l3.634-3.634c.504-.504 1.366-.147 1.366.566v6.137c0 .713-.862 1.07-1.366.566l-3.634-3.634z"); + opacity: .5; +} + +/* Toolbar buttons keyboard focus */ +.toolbar-extensions .button-toolbar:focus-within, +.toolbar-mainbar .button-toolbar:focus-within { + background-color: var(--colorAccentBgDark); + /* outline: 2px solid var(--colorHighlightBg); */ + /* outline-offset: -3px; */ +} + +/* Address + Search field icons dimmed */ +.toolbar-insideinput button { + opacity: 0.75; +} + +/* Trashcan dimmed */ +.button-toolbar.toggle-trash button { + transition: opacity 200ms; + opacity: 0.2; +} + +/* Bookmark button fill colour */ +.bookmark-animated-fill { + fill: var(--colorAccentBgFaded) !important; +} + +/* Panels switch buttons */ +#switch > button.panelbtn img { + filter: drop-shadow(0 0 1px white); +} + +/* Bookmarks Panel input width */ +.addbookmark-cardwrapper { + width: 100%; +} + +/* Bookmarks Panel thumbnails hide */ +.addbookmark-cardwrapper .preview { + display: none !important; +} + +/* Unread tabs bold font */ +.tab-strip .tab.unread { + font-weight: bold; +} + +/* Tab tooltip hide image */ +#vivaldi-tooltip .tooltip .tooltip-item .thumbnail-image { + display: none; +} + +/* Tab tooltip size */ +#vivaldi-tooltip .tooltip .tab-group .tooltip-item { + width: 250px; + height: auto; +} + +/* Hide Extension buttons */ +.button-toolbar.extensionId button[title="Spatial Navigation"] {display: none;} diff --git a/vivaldi/Mods/custom.unused.css b/vivaldi/Mods/custom.unused.css new file mode 100755 index 0000000..b0eac9d --- /dev/null +++ b/vivaldi/Mods/custom.unused.css @@ -0,0 +1,48 @@ +/* Startup background colour */ +body { + background-color: #26272a !important; +} + +/* Hide synced tab button */ +.button-toolbar.synced-tabs-button { + display: none; +} + +/* Highlight expanded bookmark folder */ +.panel-bookmarks .tree-item[data-expanded] { + font-weight: bold; +} + +/* Vivaldi logo old style */ +.vivaldi-v {opacity: 1 !important;} +.vivaldi-v svg{background: radial-gradient(white, white 50%, transparent 50%, transparent); fill: #383838;} + +/* Hide trash can when empty */ +/* No longer works */ +.toggle-trash > button:disabled { + display: none; +} + +/* Scrollable web panels */ +#panels-container #switch { + overflow: scroll; +} +#panels-container #switch::-webkit-scrollbar, #panels-container #switch .addwebpanel-wrapper { + display: none; +} + +/* Tabcycler hide image */ +.tabswitcher.list img.visual-list-preview { + visibility: collapse; +} + +/* Tabcycler list */ +.tabswitcher.list { + grid-template-columns: 0px 1fr; + grid-gap: unset; + max-height: 80vh !important; +} +/* Tabcycler hide scrollbar */ +.tabswitcher.list .listed-tabs::-webkit-scrollbar { + display: none; +} diff --git a/vivaldi/Mods/hide-header.css b/vivaldi/Mods/hide-header.css new file mode 100755 index 0000000..953e1ec --- /dev/null +++ b/vivaldi/Mods/hide-header.css @@ -0,0 +1,31 @@ +/* Hide header when tabs not on top */ +#browser:not(.tabs-top) #header { + min-height: 0; +} + +/* Set UrlBar l/r padding */ +#browser:not(.tabs-top) .UrlBar { + padding-left: 30px; + padding-right: 130px +} + +/* Fix V icon size */ +#browser:not(.tabs-top) .vivaldi svg { + height: 22px; + width: 22px; +} + +/* Reset header on windowed/minimal-ui/bottom-UrlBar */ +#browser.normal #header, +#browser.minimal-ui #header, +#browser.address-bottom #header { + min-height: 25px; +} + +/* Reset UrlBar on windowed/minimal-ui/bottom-UrlBar */ +#browser.normal .UrlBar, +#browser.minimal-ui .UrlBar, +#browser.address-bottom .UrlBar { + padding-left: unset; + padding-right: unset; +} diff --git a/vivaldi/Mods/quick-command-tweaks.css b/vivaldi/Mods/quick-command-tweaks.css new file mode 100755 index 0000000..9f3342f --- /dev/null +++ b/vivaldi/Mods/quick-command-tweaks.css @@ -0,0 +1,30 @@ +/* QC Height and Width */ +.qc-modal {top: 20vh !important;} +.quick-command-container, .quick-command-container .quick-commands > div {width:60vw !important; } +.quick-command-container .quick-commands > div > div {max-width: 100% !important;} +.quick-commands {max-height: 100% !important;} +.quick-commands > div {height: 60vh !important;} + + +/* QC Transparency */ +.quick-commands, input.quick-command-search-hint { + background-color: transparent !important; +} + +.quick-commands .quick-command[data-selected] { + background-color: var(--colorHighlightBgAlpha) !important; +} +.qc-modal > div { + color: var(--colorFgIntense) !important; + background-color: var(--colorBgAlphaHeavy) !important; + backdrop-filter: blur(5px); + border: 2px solid var(--colorHighlightBgAlpha); +} + +.qc-modal ::-webkit-scrollbar-track, .qc-modal ::-webkit-scrollbar-thumb { + background-color: var(--colorBgAlphaHeavier) !important; +} + +.qc-modal ::-webkit-scrollbar-button { + display: none; +} diff --git a/vivaldi/Mods/tabcycler.css b/vivaldi/Mods/tabcycler.css new file mode 100755 index 0000000..6bf802e --- /dev/null +++ b/vivaldi/Mods/tabcycler.css @@ -0,0 +1,19 @@ +/* Tabcycler hide image */ +.tabswitcher.list img.visual-list-preview { + visibility: collapse; + height: 0; + min-height: 0; +} + +/* Tabcycler list */ +.tabswitcher.list { + grid-template-columns: 0px 1fr; + grid-gap: unset; + width: 36em; + max-height: 80vh; +} + +/* Tabcycler hide scrollbar */ +.tabswitcher.list .listed-tabs::-webkit-scrollbar { + display: none; +} diff --git a/vivaldi/Mods/window-panel-tweaks.css b/vivaldi/Mods/window-panel-tweaks.css new file mode 100755 index 0000000..17fde75 --- /dev/null +++ b/vivaldi/Mods/window-panel-tweaks.css @@ -0,0 +1,15 @@ +/* Vivaldi Window Panel tweaks */ + +/* Background unset for selected item/row */ +/*.vivaldi-tree .tree-item[data-lead], .vivaldi-tree .tree-row[data-selected] {background-color: unset; outline: none !important;}*/ + +/* Padding for active and undread titles */ +/*#window-panel .tree-row .title.active, #window-panel .tree-row .title.unread {padding: 0 5px;}*/ + +/* Active tab */ +#window-panel .tree-row .title.active:before {content: '\2B24';position: absolute; margin-left: -40px;} +#window-panel .tree-row .title.active {background-color: var(--colorAccentBorder); border-radius: var(--radius);} + +/* Unread tabs */ +#window-panel .tree-row .title.unread:before {content: '\25CB'; position: absolute; margin-left: -40px} +#window-panel .tree-row .title.unread {background-color: var(--colorHighlightBgAlpha); border-radius: var(--radius);} diff --git a/vivaldi/SDThumbs/1337x.png b/vivaldi/SDThumbs/1337x.png new file mode 100755 index 0000000..086a5fe Binary files /dev/null and b/vivaldi/SDThumbs/1337x.png differ diff --git a/vivaldi/SDThumbs/Aftenposten.png b/vivaldi/SDThumbs/Aftenposten.png new file mode 100755 index 0000000..f603888 Binary files /dev/null and b/vivaldi/SDThumbs/Aftenposten.png differ diff --git a/vivaldi/SDThumbs/BBC.png b/vivaldi/SDThumbs/BBC.png new file mode 100755 index 0000000..7101f1c Binary files /dev/null and b/vivaldi/SDThumbs/BBC.png differ diff --git a/vivaldi/SDThumbs/Feedly.png b/vivaldi/SDThumbs/Feedly.png new file mode 100755 index 0000000..1f5f6f4 Binary files /dev/null and b/vivaldi/SDThumbs/Feedly.png differ diff --git a/vivaldi/SDThumbs/GOG-old.png b/vivaldi/SDThumbs/GOG-old.png new file mode 100755 index 0000000..65c8380 Binary files /dev/null and b/vivaldi/SDThumbs/GOG-old.png differ diff --git a/vivaldi/SDThumbs/GOG.png b/vivaldi/SDThumbs/GOG.png new file mode 100755 index 0000000..9d5d65c Binary files /dev/null and b/vivaldi/SDThumbs/GOG.png differ diff --git a/vivaldi/SDThumbs/Google+.png b/vivaldi/SDThumbs/Google+.png new file mode 100755 index 0000000..21f2c53 Binary files /dev/null and b/vivaldi/SDThumbs/Google+.png differ diff --git a/vivaldi/SDThumbs/Hinterland.png b/vivaldi/SDThumbs/Hinterland.png new file mode 100755 index 0000000..4e99b5a Binary files /dev/null and b/vivaldi/SDThumbs/Hinterland.png differ diff --git a/vivaldi/SDThumbs/Inmatrix.png b/vivaldi/SDThumbs/Inmatrix.png new file mode 100755 index 0000000..c8f5e02 Binary files /dev/null and b/vivaldi/SDThumbs/Inmatrix.png differ diff --git a/vivaldi/SDThumbs/Jackboot.png b/vivaldi/SDThumbs/Jackboot.png new file mode 100755 index 0000000..b965e56 Binary files /dev/null and b/vivaldi/SDThumbs/Jackboot.png differ diff --git a/vivaldi/SDThumbs/NRK-TV.png b/vivaldi/SDThumbs/NRK-TV.png new file mode 100755 index 0000000..7902b9b Binary files /dev/null and b/vivaldi/SDThumbs/NRK-TV.png differ diff --git a/vivaldi/SDThumbs/NRK.png b/vivaldi/SDThumbs/NRK.png new file mode 100755 index 0000000..48724e4 Binary files /dev/null and b/vivaldi/SDThumbs/NRK.png differ diff --git a/vivaldi/SDThumbs/RPS-new.png b/vivaldi/SDThumbs/RPS-new.png new file mode 100755 index 0000000..38d1159 Binary files /dev/null and b/vivaldi/SDThumbs/RPS-new.png differ diff --git a/vivaldi/SDThumbs/RPS-old.png b/vivaldi/SDThumbs/RPS-old.png new file mode 100755 index 0000000..757c5a2 Binary files /dev/null and b/vivaldi/SDThumbs/RPS-old.png differ diff --git a/vivaldi/SDThumbs/RPS-transparent.png b/vivaldi/SDThumbs/RPS-transparent.png new file mode 100755 index 0000000..6b4a76b Binary files /dev/null and b/vivaldi/SDThumbs/RPS-transparent.png differ diff --git a/vivaldi/SDThumbs/RPS.png b/vivaldi/SDThumbs/RPS.png new file mode 100755 index 0000000..6b4a76b Binary files /dev/null and b/vivaldi/SDThumbs/RPS.png differ diff --git a/vivaldi/SDThumbs/Rock_Paper_Shotgun_logo.png b/vivaldi/SDThumbs/Rock_Paper_Shotgun_logo.png new file mode 100755 index 0000000..757c5a2 Binary files /dev/null and b/vivaldi/SDThumbs/Rock_Paper_Shotgun_logo.png differ diff --git a/vivaldi/SDThumbs/StartMe.png b/vivaldi/SDThumbs/StartMe.png new file mode 100755 index 0000000..e80aadb Binary files /dev/null and b/vivaldi/SDThumbs/StartMe.png differ diff --git a/vivaldi/SDThumbs/Steam.png b/vivaldi/SDThumbs/Steam.png new file mode 100755 index 0000000..f518f6c Binary files /dev/null and b/vivaldi/SDThumbs/Steam.png differ diff --git a/vivaldi/SDThumbs/TWCenter.png b/vivaldi/SDThumbs/TWCenter.png new file mode 100755 index 0000000..9003e9d Binary files /dev/null and b/vivaldi/SDThumbs/TWCenter.png differ diff --git a/vivaldi/SDThumbs/Telia-play.png b/vivaldi/SDThumbs/Telia-play.png new file mode 100755 index 0000000..128ec9b Binary files /dev/null and b/vivaldi/SDThumbs/Telia-play.png differ diff --git a/vivaldi/SDThumbs/TheRegister.png b/vivaldi/SDThumbs/TheRegister.png new file mode 100755 index 0000000..a850176 Binary files /dev/null and b/vivaldi/SDThumbs/TheRegister.png differ diff --git a/vivaldi/SDThumbs/TheRegister4.png b/vivaldi/SDThumbs/TheRegister4.png new file mode 100755 index 0000000..a850176 Binary files /dev/null and b/vivaldi/SDThumbs/TheRegister4.png differ diff --git a/vivaldi/SDThumbs/Tripwire.png b/vivaldi/SDThumbs/Tripwire.png new file mode 100755 index 0000000..bfd9c1d Binary files /dev/null and b/vivaldi/SDThumbs/Tripwire.png differ diff --git a/vivaldi/SDThumbs/Vivaldi.png b/vivaldi/SDThumbs/Vivaldi.png new file mode 100755 index 0000000..c5cfe09 Binary files /dev/null and b/vivaldi/SDThumbs/Vivaldi.png differ diff --git a/vivaldi/SDThumbs/Waxy.png b/vivaldi/SDThumbs/Waxy.png new file mode 100755 index 0000000..fff70fa Binary files /dev/null and b/vivaldi/SDThumbs/Waxy.png differ diff --git a/vivaldi/SDThumbs/Youtube.png b/vivaldi/SDThumbs/Youtube.png new file mode 100755 index 0000000..5dc0f88 Binary files /dev/null and b/vivaldi/SDThumbs/Youtube.png differ diff --git a/vivaldi/SDThumbs/igHome.png b/vivaldi/SDThumbs/igHome.png new file mode 100755 index 0000000..483314a Binary files /dev/null and b/vivaldi/SDThumbs/igHome.png differ diff --git a/vivaldi/Stians Theme.zip b/vivaldi/Stians Theme.zip new file mode 100755 index 0000000..e53481f Binary files /dev/null and b/vivaldi/Stians Theme.zip differ diff --git a/vivaldi/keyboard.html b/vivaldi/keyboard.html new file mode 100755 index 0000000..7ecd549 --- /dev/null +++ b/vivaldi/keyboard.html @@ -0,0 +1,845 @@ + + + + + Keyboard Cheat Sheet + + + +
+
+ + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ + +
+
+ +
+
+
+
+ + diff --git a/vivaldi/user_files/Emulate_text_browser.css b/vivaldi/user_files/Emulate_text_browser.css new file mode 100755 index 0000000..a53799f --- /dev/null +++ b/vivaldi/user_files/Emulate_text_browser.css @@ -0,0 +1,243 @@ +@charset "UTF-8"; +/* +Name: Emulate text browser +Version: 1.10 +Author: Opera Software ASA +Description: This is a "text browser" style sheet. Tables and forms are kept, but images are +not displayed. Only one font and one size is used, but spacing and bolding is used on headings. + +Copyright © 2003 Opera Software ASA. +*/ + +/* All elements */ + +* { + position: static !important; + + max-height: none !important; + min-height: 0px !important; + height: auto !important; + max-width: none !important; + min-width: 0px !important; + width: auto !important; + border: none !important; + outline: none !important; + + background: Blue !important; + color: White !important; + + font-family: "Fixedsys", "Courier New", "Courier", monospace !important; + +/* + This font may not scale well, so several alternative sizes have been provided. + Please apply the one that best fints your resolution. + + 1em is the font-size defined in File > Preferences > Fonts > Normal + 2em would be twice that and 0.5em would be half that +*/ + + font-size: 1em !important; +/* font-size: 16px !important; */ +/* font-size: 12px !important; */ +/* font-size: 10px !important; */ + + font-weight: normal !important; + font-style: normal !important; + line-height: 1em !important; + + text-align: left !important; + text-decoration: none !important; + letter-spacing: 0px !important; +} + +/* Form elements */ +input, textarea, select { + border-top: 2px solid Black !important; + border-right: 1px solid silver !important; + border-bottom: 1px solid silver !important; + border-left: 2px solid Black !important; + + background: White !important; + color: Black !important; + font-weight: normal !important; +} + +input[type="text"], input[type="password"] {min-height: 1.2em !important;} + +textarea {min-height: 4em !important;} + +button, input[type="file"], input[type="submit"], input[type="button"], input[type="reset"], input[type="image"] { + border: medium outset !important; + padding: 2px 3px 2px 3px !important; + min-width: 2em !important; + height: 1.2em !important; + + background: Silver !important; + color: Black !important; + text-align: center !important; +} + +button:active, input[type="file"]:active, input[type="submit"]:active, +input[type="button"]:active, input[type="reset"]:active, input[type="image"]:active { + border: medium inset !important; + padding: 2px 2px 2px 4px !important; +} + +input[type="radio"] {border: none !important;} + +/* Headings */ +h1, h2, h3, h4, h5, h6, th, caption { + font-weight: bold !important; + margin-top: 2em !important; +} + +h1 {text-transform: uppercase !important;} +h1, h2 {letter-spacing: 5px !important;} +h3 {letter-spacing: 3px !important;} +h4 {letter-spacing: 2px !important;} + +/* Nested lists */ +ol > li {list-style: decimal !important;} +ol ol > li {list-style: upper-alpha !important;} +ol ol ol > li {list-style: lower-alpha !important;} +ol ol ol ol > li {list-style: lower-roman !important;} + +ul > li {list-style: square !important;} +ul ul > li {list-style: circle !important;} + +/* Links */ +a, a[href], a[href]:link, span {font-weight: inherit !important;} +a[href]:visited {text-decoration: line-through !important;} +a[href], a[href]:link, a[href]:hover {text-decoration: underline !important;} +a[href]:active, a[href] img[alt]:active {text-decoration: none !important;} + +/* Other */ +kbd { + background: White !important; + color: Blue !important; + padding: 0px 2px !important; +} + +hr { + height: 0px !important; + border-top: medium dashed White !important; + margin: 4px 0px 4px 0px !important; +} + +@media screen, handheld, projection, tv { + +/* Display document title on screen */ +head, title {display: block !important;} + +title { + margin-bottom: 1em !important; + padding: 8px !important; + + background-color: White !important; + color: Blue !important; + + text-align: center !important; + font-weight: bold !important; +} + +body {padding-bottom: 3.5em !important;} + +a[target]:before, *[lang]:before,*[lang]:after, img, iframe { + padding: 0px 2px 1px 2px !important; + background: White !important; + color: Blue !important; + font-size: smaller !important; +} +a[target]:before, *[lang]:before, img {margin-right: 4px !important;} +a[target]:before {content: "Win:" !important;} +a[target="_blank"]:before {content: "New:" !important;} + +/* Display text language when given */ +*[lang]:before {content: "Lng " attr(lang) ":" !important;} + +*[lang]:after { + content: attr(lang) !important; + margin-left: 4px !important; + text-decoration: line-through !important; +} + +body:after, body[lang]:after { + display: block !important; + clear: both !important; + content: "Navigate: [Z] and [X] — Elements: [Shift+arrow keys] — Shortcuts: [Ctrl+B]" !important; + + position: fixed !important; + bottom: 0px !important; + + margin-left: auto !important; + margin-right: auto !important; + border-top: thin solid Black !important; + border-left: thin solid Black !important; + border-right: thin solid Black !important; + padding: 2px !important; + width: 100% !important; + height: auto !important; + + background: White !important; + color: Blue !important; + + text-align: center !important; + font-size: smaller !important; + text-decoration: none !important; +} + +img, iframe { + margin-left: 2px !important; + line-height: 1.5em !important; +} + +iframe {content: "IFRAME" !important;} +iframe[longdesc] {content: attr(longdesc) !important;} + +/* Change images to alternate text */ +img { + display: none !important; + content: "IMG" !important; +} + +img[alt], a[href] img {display: inline !important;} +input[type="image"] {content: "Submit" !important;} +img[alt], input[type="image"][alt] {content: attr(alt) !important;} + +} + +@media print { + +* { + background: white !important; + color: Black !important; + background: White !important; + color: Black !important; +} + +img { + display: none !important; + + margin-right: 4px !important; + padding: 0px 2px 1px 2px !important; + outline: thin solid Black !important; + + color: Gray !important; + background-color: White !important; + font-size: smaller !important; +} + +a[href]:visited {text-decoration: underline !important;} + +input[type="image"] {content: "Submit" !important;} +input[type="image"][alt] {content: attr(alt) !important;} + +img[alt] { + display: inline !important; + content: attr(alt) !important; + margin-left: 2px !important; + line-height: 1.5em !important; +} + +} + diff --git a/vivaldi/user_files/Nostalgia_C64.css b/vivaldi/user_files/Nostalgia_C64.css new file mode 100755 index 0000000..98f73b4 --- /dev/null +++ b/vivaldi/user_files/Nostalgia_C64.css @@ -0,0 +1,209 @@ +@charset "UTF-8"; +/* +Name: Nostalgia C64 +Version: 1.10 +Author: Opera Software ASA +Description: This style sheet attempts to simulate surfing the Web with a browser written in the early 1980s. + +Copyright © 2003 Opera Software ASA. +*/ + +* { + font-family: "Fixedsys", "Courier New", "Courier", monospace !important; + font-style: normal !important; + line-height: 1.3em !important; + letter-spacing: 0px !important; + + text-decoration: none !important; + text-align: left !important; + border: none !important; + outline: none !important; +} + +title, h1 {text-transform: uppercase !important;} + +h1, h2, h3, h4, h5, h6, th, caption {margin-top: 2em !important;} + +iframe {content: "IFRAME removed" !important;} +iframe[title] {content: attr(title) !important;} +iframe[longdesc] {content: attr(longdesc) !important;} + +img { + filter: contrast(1000%); + max-width: 96px !important; +} + +iframe, img[alt], img[title] { + padding: 0.2em !important; + max-width: 96px !important; + max-height: none !important; + width: auto !important; + height: auto !important; + background: Black !important; + color: White !important; +} + +img[title] {content: attr(title) !important;} +img[alt] {content: attr(alt) !important;} + +input, textarea, select { + background: White !important; + color: Black !important; +} + +input[type="text"], input[type="password"] {min-height: 1.2em !important;} + +textarea {min-height: 4em !important;} + +button, input[type="file"], input[type="submit"], input[type="button"], input[type="reset"], input[type="image"] { + height: 1.2em !important; + background: Silver !important; + color: Black !important; + text-align: center !important; + padding: 2px 3px 2px 3px !important; + min-width: 2em !important; +} + +button:active, input[type="file"]:active, input[type="submit"]:active, +input[type="button"]:active, input[type="reset"]:active, input[type="image"]:active {padding: 2px 2px 2px 4px !important;} + +hr { + height: 0px !important; + border-top: medium dashed #6C5EB5 !important; + margin: 4px 0px 4px 0px !important; +} + +@media screen, projection { + +* { + font-size: 22px !important; + font-weight: bold !important; + white-space: normal !important; + + background: #352879 !important; /*Blue*/ + color: #6C5EB5 !important; /*Light blue*/ + + position: static !important; + float: none !important; + max-width: 100% !important; + min-width: 0px !important; + width: auto !important; + max-height: none !important; + min-height: 0px !important; + height: auto !important; +} + +html { + border: 2.5em solid #6C5EB5 !important; /*Light blue*/ + width: 100% !important; + margin: 0em !important; + padding: 0em !important; + + background: #6C5EB5 !important; /*Light blue*/ + color: #352879 !important; /*Blue*/ +} + +html:after { + display: block !important; + clear: both !important; + margin: 0em !important; + padding: 0em 0em 0em 2px !important; + content: "\2588" !important; + + background: #352879 !important; /*Blue*/ + color: #6C5EB5 !important; /*Light blue*/ + text-decoration: blink !important; + text-align: left !important; +} + +head, title {display: block !important;} + +head:before, head:after, body:before, body:after { + display: block !important; + clear: both !important; + + background: #352879 !important; /*Blue*/ + color: #6C5EB5 !important; /*Light blue*/ + text-decoration: none !important; +} + +head:after, body:before, body:after {text-align: left !important;} + +head:before { + margin: 0em !important; + padding: 1em 0em 2em 0em !important; + content: "**** VIVALDI FOR 8-BIT COMPUTERS ****" !important; + text-align: center !important; +} + +head:after { + margin: 0em !important; + padding: 0em !important; + content: "READY." !important; +} + +body { + margin: 0px !important; + padding: 1em 12px 0.5em 2px !important; + text-align: left !important; +} + +body:before { + margin: 0em 0em 1em 0em !important; + padding: 0em !important; + content: "RUN" !important; +} + +body:after { + margin: 2em 0em 0em 0em !important; + padding: 0em !important; + content: "READY." !important; +} + +title { + margin: 0em !important; + padding: 0px 0px 0px 2px !important; +} + +title:before {content: 'LOAD "' !important;} + +title:after {white-space: pre-wrap; content: '",8 \A LOADING' !important;} + +table, caption, tr, thead, tfoot, tbody, th, td { + display: block !important; + text-align: left !important; +} + +pre {white-space: pre-wrap !important;} + +input, textarea, select {max-width: 38em !important;} + +kbd, em, b, i, strong, u { + padding: 0px 2px 0px 2px !important; + background: #6C5EB5 !important; /*Light blue*/ + color: #352879 !important; /*Blue*/ +} + +a[href], a[href]:link, a[href]:hover, a[href]:active { + color: #FFFFFF !important; /*White*/ + text-decoration: none !important; +} + +a[href]:visited { +/* color: #6F3D86 !important;*/ /*Purple */ + color: #9A6759 !important; /*Light red*/ + text-decoration: none !important; +} + +} + +@media print { + +* { + font-size: 12pt !important; + background: White !important; + color: Black !important; +} + +} +