Greasy Fork is available in English.

Gplex - Old Google Frontend

2011-2019 Google frontend (public beta release)

  1. // ==UserScript==
  2. // @name Gplex - Old Google Frontend
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.7.1.6
  5. // @description 2011-2019 Google frontend (public beta release)
  6. // @author lightbeam24
  7. // @match *://www.google.com/search*
  8. // @match *://www.google.com/
  9. // @match *://www.google.com/webhp*
  10. // @match *://www.google.com/gplex
  11. // @match *://www.google.com/Gplex
  12. // @exclude *://*/*!!!*
  13. // @exclude *://www.google.com/maps*
  14. // @exclude *://www.google.com/preferences
  15. // @exclude *://www.google.com/advanced
  16. // @exclude *://www.google.com/sorry
  17. // @exclude *://www.google.com/recaptcha
  18. // @exclude *://www.google.com/finance
  19. // @exclude *://www.google.com/imghp
  20. // @exclude *://www.google.com/videohp
  21. // @icon https://www.google.com/s2/favicons?sz=64&domain=google.com
  22. // @grant GM_getValue
  23. // @grant GM_setValue
  24. // @grant GM_deleteValue
  25. // @grant GM_registerMenuCommand
  26. // @license MIT
  27. // @require https://openuserjs.org/src/libs/sizzle/GM_config.js
  28. // @run-at document-body
  29. // ==/UserScript==
  30. function showMenu(){
  31. window.location = "https://www.google.com/gplex";
  32. }
  33. GM_registerMenuCommand("Go to Gplex settings page", showMenu);
  34. (function() {
  35. 'use strict';
  36. document.querySelector("html").setAttribute("gplex","loading");
  37. window["trusted_policy"] = window["trustedTypes"] ? (window["trustedTypes"].createPolicy("gplex-policy", {
  38. createHTML: function(a){
  39. return a;
  40. }
  41. })) : {
  42. createHTML: function(a){
  43. return a;
  44. }
  45. };
  46. let styleHTML = `
  47. <style>
  48. [layout="2018"] svg[style="display: none"],
  49. [layout="2016C"] svg[style="display: none"],
  50. [layout="2019"] svg[style="display: none"] {
  51. display: block !important;
  52. }
  53. @keyframes roll {
  54. 100% {
  55. transform:rotate(360deg)
  56. }
  57. }
  58. .ugf-x4link {
  59. background: green;
  60. }
  61. html:not([disabled]) body > c-wiz,
  62. html:not([disabled]) body > span:not(#ugf),
  63. html:not([disabled]) body > div:not(#ugf) {
  64. display: none;
  65. }
  66. html {
  67. font-family: arial;
  68. }
  69. [layout="2012"],
  70. [layout="2013"] {
  71. --topbar-height-total: 72px;
  72. }
  73. [layout="2013L"],
  74. [layout="2015L"],
  75. [layout="2016L"],
  76. [layout="2019"] {
  77. --topbar-height-total: 72px;
  78. }
  79. [layout="2014"],
  80. [layout="2015"],
  81. [layout="2016"] {
  82. --topbar-height-total: 59px;
  83. }
  84. [layout="2016C"],
  85. [layout="2018"] {
  86. --topbar-height-total: 64px;
  87. }
  88. /*#ugf-top {
  89. position: fixed;
  90. top: 0;
  91. width: 100%;
  92. }
  93. #ugf-content {
  94. display: flex;
  95. margin-top: 80px;
  96. }
  97. #ugf-top {
  98. position: fixed;
  99. width: 100%;
  100. top: 0;
  101. }
  102. #ugf-content {
  103. margin-top: 120px;
  104. }*/
  105. html body {
  106. font-family: arial !important;
  107. }
  108. [layout="2016C"] body {
  109. background: #f9f9f9 !important;
  110. }
  111. #ugf-topbar {
  112. padding: 8px;
  113. padding: 10px 8px 8px;
  114. background: #f1f1f1;
  115. border-bottom: 1px solid #e5e5e5;
  116. height: 43px;
  117. height: 41px;
  118. min-width: 980px;
  119. }
  120. [layout="2012"] #ugf-topbar,
  121. [layout="2013"] #ugf-topbar,
  122. [layout="2013L"] #ugf-topbar,
  123. [layout="2015L"] #ugf-topbar,
  124. [layout="2016L"] #ugf-topbar {
  125. height: 51px;
  126. padding: 14px 8px 6px;
  127. }
  128. [layout="2018"] #ugf-topbar {
  129. background: #fafafa;
  130. border-bottom: none;
  131. padding: 20px 8px 3px;
  132. }
  133. [layout="2016C"] #ugf-topbar {
  134. background: #f9f9f9;
  135. border-bottom: none;
  136. padding: 20px 8px 3px;
  137. }
  138. [layout="2019"] #ugf-topbar {
  139. background: #fff;
  140. border-bottom: none;
  141. padding: 24px 8px 3px;
  142. }
  143. .flex {
  144. display: flex;
  145. }
  146. #ugf-topbar-inner,
  147. #ugf-search,
  148. #ugf-navbar-inner,
  149. #ugf-navbar-middle,
  150. .ugf-tab,
  151. .ugf-tab-inner,
  152. .flex-bar {
  153. display: flex;
  154. align-items: center;
  155. }
  156. #ugf-navbar {
  157. min-width: 1000px;
  158. }
  159. [layout="2013L"] #ugf-navbar-middle,
  160. [layout="2012"]:not([location="gplex"]) #ugf-navbar {
  161. display: none;
  162. }
  163. #ugf-navbar-inner {
  164. background: #fff;
  165. border-bottom: 1px solid #e5e5e5;
  166. height: 59px;
  167. }
  168. [layout="2013"] #ugf-navbar-inner {
  169. height: 40px;
  170. }
  171. [layout="2016C"] #ugf-navbar-inner {
  172. background: #f9f9f9;
  173. border-bottom: none;
  174. }
  175. [layout="2018"] #ugf-navbar-inner {
  176. background: #fafafa;
  177. border-bottom: 1px solid #ebebeb;
  178. }
  179. [layout="2019"] #ugf-navbar-inner {
  180. height: 54px;
  181. }
  182. [location="gplex"] #ugf-navbar-inner {
  183. border-bottom: 1px solid #e5e5e5 !important;
  184. height: 59px !important;
  185. }
  186. #ugf-navbar-left {
  187. width: 120px;
  188. opacity: 0;
  189. }
  190. [location="gplex"] #ugf-navbar-left {
  191. width: 150px;
  192. opacity: 1;
  193. padding-left: 18px;
  194. color: #dd4b39;
  195. font: 20px "Arial";
  196. white-space: nowrap;
  197. }
  198. [layout="2013L"] #ugf-navbar-left {
  199. opacity: 1;
  200. padding-left: 18px;
  201. color: #dd4b39;
  202. font: 20px "Arial";
  203. }
  204. [layout="2016C"] #ugf-navbar-left,
  205. [layout="2018"] #ugf-navbar-left {
  206. width: 150px;
  207. }
  208. [layout="2019"] #ugf-navbar-left {
  209. width: 154px;
  210. }
  211. #ugf-navbar-middle {
  212. height: 100%;
  213. width: 629px;
  214. }
  215. [location="gplex"] #ugf-top-right,
  216. [location="gplex"] #ugf-navbar-middle,
  217. [location="gplex"] #ugf-navbar-right {
  218. display: none;
  219. }
  220. .ugf-tab {
  221. margin: 0 8px;
  222. padding: 3px 8px 0 8px;
  223. color: #777 !important;
  224. text-decoration: none !important;
  225. font-size: 13px;
  226. border-bottom: 3px solid transparent;
  227. height: 53px;
  228. cursor: pointer;
  229. }
  230. .ugf-tab:hover {
  231. color: #222 !important;
  232. }
  233. .ugf-tab.active {
  234. border-bottom: 3px solid #4285f4;
  235. color: #4285f4 !important;
  236. font-weight: bold;
  237. }
  238. [layout="2013"] .ugf-tab.active,
  239. [layout="2014"] .ugf-tab.active,
  240. [layout="2015"] .ugf-tab.active,
  241. [layout="2015L"] .ugf-tab.active,
  242. [layout="2016L"] .ugf-tab.active {
  243. color: #dd4b39 !important;
  244. border-bottom-color: #dd4b39;
  245. }
  246. .ugf-sidebar-tab {
  247. padding: 5px 0 5px 15px;
  248. color: #333 !important;
  249. text-decoration: none !important;
  250. font-size: 15px;
  251. cursor: pointer;
  252. display: block;
  253. }
  254. [layout="2012"] .ugf-sidebar-tab {
  255. widthL 160px;
  256. }
  257. [layout="2013L"] .ugf-sidebar-tab {
  258. padding: 6px 0 6px 11px;
  259. font-size: 13px;
  260. color: #222 !important;
  261. border-left: 5px solid transparent;
  262. }
  263. [layout="2012"] .ugf-sidebar-tab:hover {
  264. background: #eee;
  265. }
  266. .ugf-sidebar-tab:not(.active):hover {
  267. background: #eee;
  268. }
  269. .ugf-sidebar-tab.active {
  270. color: #dd4b39 !important;
  271. border-left-color: #dd4b39;
  272. }
  273. [layout="2013L"] .ugf-sidebar-tab.active {
  274. border-left: 5px solid #dd4b39;
  275. }
  276. .ugf-sidebar-tab .ugf-tab-icon {
  277. background: url(https://www.google.com/images/nav_logo124.png);
  278. width: 20px;
  279. height: 20px;
  280. background-position: 0 -131px;
  281. margin-right: 9px;
  282. }
  283. [layout="2013L"] .ugf-sidebar-tab .ugf-tab-icon {
  284. display: none;
  285. }
  286. #ugf-all-item .ugf-tab-icon {
  287. background-position: 0 -131px;
  288. }
  289. #ugf-all-item.active .ugf-tab-icon {
  290. background-position: -20px -131px;
  291. }
  292. #ugf-images-item .ugf-tab-icon {
  293. background-position: -40px -131px;
  294. }
  295. #ugf-images-item.active .ugf-tab-icon {
  296. background-position: -60px -131px;
  297. }
  298. #ugf-videos-item .ugf-tab-icon {
  299. background-position: -80px -131px;
  300. }
  301. #ugf-videos-item.active .ugf-tab-icon {
  302. background-position: -100px -131px;
  303. }
  304. #ugf-news-item .ugf-tab-icon {
  305. background-position: -120px -131px;
  306. }
  307. #ugf-news-item.active .ugf-tab-icon {
  308. background-position: -140px -131px;
  309. }
  310. #ugf-maps-item .ugf-tab-icon {
  311. background-position: -80px -151px;
  312. }
  313. #ugf-maps-item.active .ugf-tab-icon {
  314. background-position: -100px -151px;
  315. }
  316. html:not([layout="2013"]):not([layout="2013L"]):not([layout="2014"]):not([layout="2015"]):not([layout="2015L"]) #ugf-web-text {
  317. display: none;
  318. }
  319. html:not([layout="2012"]) #ugf-everything-text {
  320. display: none;
  321. }
  322. html:not([layout="2016"]):not([layout="2016C"]):not([layout="2016L"]):not([layout="2018"]):not([layout="2019"]):not([layout="retro"]) #ugf-all-text {
  323. display: none;
  324. }
  325. [layout="2013"] .ugf-tab {
  326. height: 35px;
  327. margin: 0 8px;
  328. padding: 2px 8px 0;
  329. }
  330. [layout="2016C"] .ugf-tab,
  331. [layout="2018"] .ugf-tab {
  332. height: 40px;
  333. margin: 16px 0 0;
  334. padding: 0 16px;
  335. }
  336. [layout="2019"] .ugf-tab {
  337. height: 40px;
  338. margin: 11px 0 0;
  339. padding: 0 16px;
  340. }
  341. [layout="2018"] .ugf-tab.active,
  342. [layout="2019"] .ugf-tab.active {
  343. color: #1A73E8 !important;
  344. border-bottom-color: #1A73E8;
  345. }
  346. [layout="2016C"] .ugf-tab {
  347. border-bottom-color: transparent !important;
  348. }
  349. [layout="retro"] .ugf-tab {
  350. color: #00f !important;
  351. text-decoration: underline !important;
  352. font-size: 18px;
  353. border-bottom: none !important;
  354. }
  355. [layout="retro"] .ugf-tab.active {
  356. color: #000 !important;
  357. text-decoration: none !important;
  358. }
  359. #ugf-settings-item,
  360. #ugf-settings-tab {
  361. margin-left: auto;
  362. display: none;
  363. }
  364. [layout="2016C"] #ugf-settings-tab,
  365. [layout="2018"] #ugf-settings-tab,
  366. [layout="2019"] #ugf-settings-tab {
  367. display: flex;
  368. }
  369. [layout="2013L"] #ugf-settings-button,
  370. [layout="2015L"] #ugf-settings-button,
  371. [layout="2016L"] #ugf-settings-button,
  372. [layout="2016C"] #ugf-settings-button,
  373. [layout="2018"] #ugf-settings-button,
  374. [layout="2019"] #ugf-settings-button {
  375. display: none;
  376. }
  377. [legacy-gbar] .ugf-hide-on-legacy {
  378. display: none !important;
  379. }
  380. #ugf-navbar-right {
  381. margin-left: auto;
  382. margin-right: 30px;
  383. }
  384. #ugf-personal-buttons {
  385. margin-right: 16px;
  386. }
  387. html:not([logged-in="true"]) #ugf-personal-buttons,
  388. [legacy-gbar] #ugf-personal-buttons,
  389. html[layout="2016C"] #ugf-personal-buttons,
  390. html[layout="2018"] #ugf-personal-buttons,
  391. html[layout="2019"] #ugf-personal-buttons {
  392. display: none;
  393. }
  394. #ugf-personal-button {
  395. border-radius: 2px 0 0 2px !important;
  396. }
  397. #ugf-non-personal-button {
  398. border-radius: 0 2px 2px 0 !important;
  399. }
  400. .ugf-button-active,
  401. .ugf-button-active:hover,
  402. .ugf-button-active:active,
  403. .ugf-button-active:focus {
  404. box-shadow: inset 0 1px 2px rgba(0,0,0,0.1) !important;
  405. border: 1px solid #ccc !important;
  406. background: linear-gradient(to bottom,#eee,#e0e0e0) !important;
  407. }
  408. #ugf-personal-buttons .ugf-button-icon {
  409. background-position: -26px -328px;
  410. height: 14px;
  411. width: 14px;
  412. background-image: url(https://www.google.com/images/nav_logo114.png);
  413. }
  414. #ugf-non-personal-button .ugf-button-icon {
  415. background-position: -40px -328px;
  416. }
  417. #ugf-personal-buttons .ugf-button,
  418. #ugf-settings-button,
  419. [layout="2012"] #ugf-hp-buttons a,
  420. [layout="2013"] #ugf-hp-buttons a,
  421. [layout="2014"] #ugf-hp-buttons a,
  422. [layout="2015"] #ugf-hp-buttons a {
  423. background-image: linear-gradient(to bottom,#f5f5f5,#f1f1f1);
  424. border: 1px solid rgba(0,0,0,0.1);
  425. color: #444;
  426. padding: 0 8px;
  427. min-width: 54px;
  428. border-radius: 2px;
  429. cursor: default;
  430. display: flex;
  431. align-items: center;
  432. font-size: 11px;
  433. font-weight: bold;
  434. height: 27px;
  435. line-height: 27px;
  436. width: fit-content;
  437. /*transition: all 0.218s;*/
  438. }
  439. #ugf-personal-buttons .ugf-button:hover,
  440. #ugf-settings-button:hover,
  441. [layout="2012"] #ugf-hp-buttons a:hover,
  442. [layout="2013"] #ugf-hp-buttons a:hover,
  443. [layout="2014"] #ugf-hp-buttons a:hover,
  444. [layout="2015"] #ugf-hp-buttons a:hover {
  445. border: 1px solid #c6c6c6;
  446. background: linear-gradient(to bottom,#f8f8f8,#f1f1f1);
  447. box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  448. color: #222;
  449. }
  450. #ugf-personal-buttons .ugf-button:active,
  451. #ugf-settings-button:active,
  452. [layout="2012"] #ugf-hp-buttons a:active,
  453. [layout="2013"] #ugf-hp-buttons a:active,
  454. [layout="2014"] #ugf-hp-buttons a:active,
  455. [layout="2015"] #ugf-hp-buttons a:active {
  456. background: linear-gradient(to bottom,#f6f6f6,#f1f1f1);
  457. box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  458. color: #333;
  459. }
  460. #ugf-personal-buttons .ugf-buttofn:focus,
  461. #ugf-settings-button:focus,
  462. [layout="2012"] #ugf-hp-buttons a:active,
  463. [layout="2013"] #ugf-hp-buttons a:active,
  464. [layout="2014"] #ugf-hp-buttons a:active,
  465. [layout="2015"] #ugf-hp-buttons a:active {
  466. border: 1px solid #4d90fe;
  467. }
  468. #ugf-personal-buttons .ugf-button {
  469. min-width: 26px;
  470. }
  471. #ugf-personal-buttons .ugf-button-icon {
  472. display: block;
  473. }
  474. #ugf-personal-buttons .ugf-button-inner,
  475. #ugf-settings-button .ugf-button-inner {
  476. margin: 0 auto;
  477. }
  478. #ugf-settings-button .ugf-button-icon {
  479. background: url(https://www.google.com/images/nav_logo242.png) no-repeat;
  480. opacity: 0.667;
  481. vertical-align: middle;
  482. display: block;
  483. background-position: -42px -259px;
  484. width: 17px;
  485. height: 17px;
  486. margin: 0 auto;
  487. }
  488. #ugf-settings-button:hover .ugf-button-icon {
  489. opacity: 0.9;
  490. }
  491. #ugf-content {
  492. display: flex;
  493. }
  494. html:not([location="images"]) #ugf-left {
  495. width: 130px;
  496. min-width: 130px;
  497. }
  498. [layout="retro"]:not([location="images"]) #ugf-left {
  499. width: 0;
  500. min-width: 0;
  501. }
  502. [layout="2013"] #ugf-left,
  503. [layout="2013L"] #ugf-left,
  504. [layout="2015L"] #ugf-left,
  505. [layout="2016L"] #ugf-left {
  506. width: 130px;
  507. min-width: 130px;
  508. }
  509. [layout="2012"] #ugf-left {
  510. width: 175px !important;
  511. min-width: 175px !important;
  512. padding-left: 28px;
  513. margin-right: 18px;
  514. }
  515. html[layout="2016C"] #ugf-left,
  516. html[layout="2018"]:not([location="images"]) #ugf-left {
  517. width: 150px;
  518. min-width: 150px;
  519. }
  520. html[layout="2019"]:not([location="images"]) #ugf-left {
  521. width: 158px;
  522. min-width: 158px;
  523. }
  524. [layout="2015L"] #ugf-sidebar,
  525. [layout="2016L"] #ugf-sidebar {
  526. padding-top: 43px;
  527. padding-left: 16px;
  528. }
  529. [layout="2012"] #ugf-sidebar,
  530. [layout="2013L"] #ugf-sidebar {
  531. padding-top: 20px;
  532. }
  533. html:not([layout="2010"]):not([layout="2011"]):not([layout="2012"]):not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]) .ugf-sidebar-tools,
  534. html:not([layout="2010"]):not([layout="2011"]):not([layout="2012"]):not([layout="2013L"]) #ugf-sidebar-nav {
  535. display: none;
  536. }
  537. .ugf-sidebar-section {
  538. margin-bottom: 13px;
  539. }
  540. .ugf-sidebar-tool {
  541. font-size: 13px;
  542. padding-bottom: 3px;
  543. }
  544. .ugf-sidebar-tool a {
  545. color: #222;
  546. }
  547. .ugf-sidebar-tool.active {
  548. cursor: text;
  549. font-weight: bold;
  550. }
  551. [layout="2012"] .ugf-sidebar-tool a {
  552. color: #777;
  553. }
  554. .ugf-sidebar-tool.active a {
  555. pointer-events: none;
  556. color: #dd4b39;
  557. }
  558. [layout="2012"] .ugf-sidebar-tools {
  559. padding: 0 24px;
  560. }
  561. [layout="2013L"] .ugf-sidebar-tools {
  562. padding: 0 16px;
  563. }
  564.  
  565. #ugf-search-results {
  566. max-width: 512px;
  567. }
  568. [layout="retro"] #ugf-search-results {
  569. max-width: 100vw;
  570. }
  571. [layout="2016C"] #ugf-search-results {
  572. max-width: 638px;
  573. }
  574. [layout="2012"] #ugf-search-results,
  575. [layout="2013L"] #ugf-search-results {
  576. margin-top: 20px;
  577. }
  578. #ugf-search-results-header {
  579. color: #808080;
  580. padding-left: 8px;
  581. padding-top: 2px;
  582. padding-bottom: 0;
  583. padding-right: 8px;
  584. font-size: 13px;
  585. height: 43px;
  586. }
  587. [layout="2012"] #ugf-search-results-header {
  588. position: absolute;
  589. top: 66px;
  590. color: #000;
  591. font-size: 11px;
  592. margin-left: 2px;
  593. }
  594. [layout="2013L"] #ugf-search-results-header {
  595. position: absolute;
  596. top: 113px;
  597. }
  598. [layout="2013L"] #ugf-search-results-header,
  599. [layout="2015L"] #ugf-search-results-header,
  600. [layout="2016L"] #ugf-search-results-header {
  601. padding-top: 0;
  602. }
  603. #ugf-search-results-container {
  604. padding: 0 8px;
  605. }
  606. [layout="2019"] #ugf-search-results-container {
  607. padding: 0 12px;
  608. }
  609. #ugf-search-results-reserved-top {
  610. padding: 0 8px;
  611. }
  612. #ugf-search-results-reserved-fake-iframe {
  613. padding: 0 8px;
  614. margin-bottom: 20px;
  615. display: none;
  616. }
  617. [has-fake-iframe] #ugf-search-results-reserved-fake-iframe {
  618. display: block;
  619. }
  620. #ugf-search-results-reserved-fake-iframe block-component > div > div {
  621. border-radius: 2px;
  622. }
  623. block-component > div {
  624. display: block;
  625. max-width: 550px;
  626. }
  627. .ugf-search-result {
  628. padding: 8px 0;
  629. }
  630. [layout="2012"] .ugf-search-result,
  631. [layout="2013L"] .ugf-search-result,
  632. [layout="2015L"] .ugf-search-result,
  633. [layout="2016L"] .ugf-search-result {
  634. padding: 0;
  635. margin-bottom: 23px;
  636. }
  637. [layout="2019"] .ugf-search-result {
  638. padding: 0;
  639. margin-bottom: 26px;
  640. }
  641. [layout="2019"] .ugf-search-result:first-of-type {
  642. margin-top: 6px;
  643. }
  644. [layout="2016C"] .ugf-search-result {
  645. padding: 15px;
  646. margin-bottom: 15px;
  647. box-shadow: 0px 1px 4px 0px rgba(0,0,0,0.2);
  648. background: #fff;
  649. }
  650. .ugf-search-result-inner {
  651. display: flex;
  652. flex-direction: column;
  653. }
  654. .ugf-search-result-title {
  655. color: #1a0dab;
  656. font-size: 18px;
  657. line-height: 22px;
  658. }
  659. [layout="2012"] .ugf-search-result-title,
  660. [layout="2013"] .ugf-search-result-title,
  661. [layout="2013L"] .ugf-search-result-title {
  662. color: #12c;
  663. font-size: 16px;
  664. text-decoration: underline;
  665. }
  666. [layout="2015L"] .ugf-search-result-title,
  667. [layout="2016L"] .ugf-search-result-title {
  668. font-size: 16px;
  669. text-decoration: underline;
  670. }
  671. [layout="retro"] .ugf-search-result-title {
  672. font-size: 14px;
  673. text-decoration: underline;
  674. color: #00f;
  675. }
  676. .ugf-search-result-title:visited {
  677. color: #681da8;
  678. }
  679. [layout="retro"] .ugf-search-result-title:visited {
  680. color: #f00;
  681. }
  682. [layout="2012"] .ugf-keyword,
  683. [layout="2013"] .ugf-keyword,
  684. [layout="2013L"] .ugf-keyword,
  685. [layout="2014"] .ugf-keyword,
  686. [layout="2015L"] .ugf-keyword,
  687. [layout="2016L"] .ugf-keyword {
  688. font-weight: bold;
  689. }
  690. .ugf-search-result-link {
  691. color: #006621 !important;
  692. font-size: 13px;
  693. margin: 2px 0;
  694. white-space: nowrap;
  695. overflow: hidden;
  696. text-overflow: ellipsis;
  697. }
  698. [layout="2012"] .ugf-search-result-link,
  699. [layout="2013"] .ugf-search-result-link,
  700. [layout="2013L"] .ugf-search-result-link {
  701. color: #093 !important;
  702. }
  703. [layout="2019"] .ugf-search-result-link {
  704. font-size: 14px;
  705. margin: 3px 0;
  706. }
  707. .ugf-search-result-desc,
  708. .ugf-search-result-desc span,
  709. .ugf-search-result-desc div,
  710. .ugf-search-result-desc div > span:nth-of-type(2),
  711. .ugf-search-result-desc em {
  712. font-size: 13px !important;
  713. color: #545454 !important;
  714. }
  715. [layout="2012"] .ugf-search-result-desc div > span:nth-of-type(2),
  716. [layout="2012"] .ugf-search-result-desc em,
  717. [layout="2013"] .ugf-search-result-desc div > span:nth-of-type(2),
  718. [layout="2013"] .ugf-search-result-desc em,
  719. [layout="2013L"] .ugf-search-result-desc div > span:nth-of-type(2),
  720. [layout="2013L"] .ugf-search-result-desc em {
  721. color: #222 !important;
  722. }
  723. #ugf-logo-cont {
  724. padding-left: 5px;
  725. padding-right: 18px;
  726. margin-top: -2px;
  727. padding-top: 2px;
  728. margin-top: -4px;
  729. }
  730. [layout="2016C"] #ugf-logo-cont,
  731. [layout="2018"] #ugf-logo-cont {
  732. padding-left: 5px;
  733. padding-right: 17px;
  734. margin-top: 2px;
  735. }
  736. [layout="2019"] #ugf-logo-cont {
  737. padding-left: 22px;
  738. padding-right: 25px;
  739. padding-top: 7px;
  740. }
  741. [layout="2012"] #ugf-logo-cont {
  742. padding-right: 78px;
  743. padding-left: 27px;
  744. padding-right: 54px;
  745. padding-left: 36px;
  746. padding-right: 62px;
  747. padding-top: 3px;
  748. }
  749. [layout="2013L"] #ugf-logo-cont {
  750. padding-right: 21px;
  751. padding-left: 10px;
  752. }
  753. #ugf-logo {
  754. display: block;
  755. height: 37px;
  756. width: 95px;
  757. overflow: hidden;
  758. position: relative;
  759. }
  760. [layout="2012"] #ugf-logo-cont,
  761. [layout="2013"] #ugf-logo-cont,
  762. [layout="2013L"] #ugf-logo-cont,
  763. [layout="2014"] #ugf-logo-cont,
  764. [layout="2015"] #ugf-logo-cont,
  765. [layout="2015L"] #ugf-logo-cont {
  766. margin-top: 0px;
  767. }
  768. [layout="2016C"] #ugf-logo,
  769. [layout="2018"] #ugf-logo {
  770. display: block;
  771. height: 44px;
  772. width: 120px;
  773. overflow: hidden;
  774. position: relative;
  775. }
  776. [layout="2012"] #ugf-logo {
  777. display: block;
  778. height: 41px;
  779. width: 114px;
  780. }
  781. [layout="retro"] #ugf-logo {
  782. display: block;
  783. height: 41px;
  784. width: 300px;
  785. }
  786. [layout="2012"] #ugf-logo img,
  787. [layout="2013"] #ugf-logo img,
  788. [layout="2013L"] #ugf-logo img,
  789. [layout="2014"] #ugf-logo img,
  790. [layout="2015"] #ugf-logo img,
  791. [layout="2015L"] #ugf-logo img,
  792. [layout="2016"] #ugf-logo img,
  793. [layout="2016L"] #ugf-logo img {
  794. border: 0;
  795. left: 0;
  796. position: absolute;
  797. top: -41px;
  798. }
  799. html:not([layout="retro"]) #retro-logo,
  800. html:not([layout="2012"]) #jfk-logo,
  801. html:not([layout="2012"]):not([layout="2013"]):not([layout="2013L"]) #melvin-hp-logo,
  802. html:not([layout="2013"]):not([layout="2013L"]) #melvin-logo,
  803. html:not([layout="2014"]):not([layout="2015"]):not([layout="2015L"]) #chopper-old-logo,
  804. html:not([layout="2016"]):not([layout="2016L"]) #chopper-logo,
  805. html:not([layout="2016"]):not([layout="2016L"]):not([layout="2016C"]):not([layout="2018"]):not([layout="2017"]):not([layout="2019"]) #modern-logo,
  806. html:not([layout="2016C"]):not([layout="2018"]):not([layout="2017"]) #shira-logo,
  807. html:not([layout="2019"]) #mazira-logo {
  808. display: none;
  809. }
  810. #ugf-search {
  811. margin-top: -1px;
  812. position: relative;
  813. }
  814. [layout="2013"] #ugf-search,
  815. [layout="2013L"] #ugf-search,
  816. [layout="2014"] #ugf-search,
  817. [layout="2015"] #ugf-search,
  818. [layout="2015L"] #ugf-search,
  819. [layout="2016L"] #ugf-search {
  820. margin-top: 1px;
  821. }
  822. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"]) #ugf-searchbar {
  823. border: 1px solid rgb(217, 217, 217);
  824. background: #fff;
  825. height: 38px;
  826. font-size: 16px;
  827. width: 577px;
  828. width: 588px;
  829. margin-top: 1px;
  830. margin-top: 0;
  831. height: 38.25px;
  832. transition-duration: 0.3s;
  833. transition-duration: 0s;
  834. }
  835. html:not([layout="2012"]):not([layout="2013"]):not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]):not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"]):not([location="home"]) #ugf-searchbar {
  836. border-right: none !important;
  837. }
  838. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"]) #ugf-searchbar:hover {
  839. border: 1px solid rgb(180,180,180);
  840. }
  841. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"])[search-focus="hard"] #ugf-searchbar {
  842. border: 1px solid #08c;
  843. border: 1px solid #4d90fe;
  844. box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  845. box-shadow: none;
  846. }
  847. html:not([layout="2012"]):not([layout="2013"]):not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]):not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"])[search-focus="hard"]:has(.ugf-search-prediction) #ugf-searchbar {
  848. border-bottom: 1px solid transparent;
  849. transition: all 0.3s, border-bottom 0s;
  850. }
  851. #ugf-searchbar,
  852. #ugf-search-btn {
  853. position: relative;
  854. z-index: 51;
  855. }
  856. [layout="2016C"] #ugf-search,
  857. [layout="2018"] #ugf-search {
  858. background: #fff;
  859. height: 44px;
  860. width: 632px;
  861. box-shadow: 0 2px 2px 0 rgba(0,0,0,0.16),0 0 0 1px rgba(0,0,0,0.08);
  862. border-radius: 2px;
  863. margin-top: -4px;
  864. }
  865. [layout="2019"] #ugf-search {
  866. background: #fff;
  867. height: 44px;
  868. width: 632px;
  869. border-radius: 24px;
  870. margin-top: -4px;
  871. border: 1px solid #dfe1e5;
  872. }
  873. [layout="2016C"][search-focus] #ugf-search,
  874. [layout="2018"][search-focus] #ugf-search {
  875. box-shadow: 0 2.35px 5px 0 rgba(0,0,0,0.18),0 0 0 1px rgba(0,0,0,0.08);
  876. }
  877. [layout="2016C"] #ugf-search:hover,
  878. [layout="2018"] #ugf-search:hover {
  879. box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2),0 0 0 1px rgba(0,0,0,0.08);
  880. }
  881. [layout="2019"][search-focus="hard"] #ugf-search,
  882. [layout="2019"] #ugf-search:hover,
  883. [layout="retro"] #ugf-search:hover {
  884. box-shadow: 0 1px 6px 0 rgba(32,33,36,0.28);
  885. border-color: transparent;
  886. }
  887. [layout="2019"][search-focus]:has(.ugf-search-prediction) #ugf-search {
  888. border-radius: 24px 24px 0 0;
  889. }
  890. [layout="2016C"] #ugf-searchbar,
  891. [layout="2018"] #ugf-searchbar,
  892. [layout="2019"] #ugf-searchbar {
  893. width: 588px;
  894. height: 42px;
  895. margin-top: -2px;
  896. }
  897. [layout="2012"] #ugf-searchbar,
  898. [layout="2013"] #ugf-searchbar,
  899. [layout="2013L"]:not([location="home"]) #ugf-searchbar,
  900. [layout="2014"] #ugf-searchbar,
  901. [layout="2015"] #ugf-searchbar,
  902. [layout="2015L"]:not([location="home"]) #ugf-searchbar,
  903. [layout="2016L"]:not([location="home"]) #ugf-searchbar {
  904. height: 28px !important;
  905. }
  906. [layout="2012"]:not([location="home"]):not([search-focus="hard"]) #ugf-searchbar:not(:hover),
  907. [layout="2013"]:not([location="home"]):not([search-focus="hard"]) #ugf-searchbar:not(:hover),
  908. [layout="2013L"]:not([location="home"]):not([search-focus="hard"]) #ugf-searchbar:not(:hover),
  909. [layout="2014"]:not([location="home"]):not([search-focus="hard"]) #ugf-searchbar:not(:hover),
  910. [layout="2015"]:not([location="home"]):not([search-focus="hard"]) #ugf-searchbar:not(:hover),
  911. [layout="2015L"]:not([location="home"]):not([search-focus="hard"]) #ugf-searchbar:not(:hover),
  912. [layout="2016L"]:not([location="home"]):not([search-focus="hard"]) #ugf-searchbar:not(:hover) {
  913. border-color: 1px solid #d9d9d9 !important;
  914. border-top-color: #c0c0c0 !important;
  915. }
  916. #ugf-search-value {
  917. height: 100%;
  918. width: 97%;
  919. outline: none;
  920. border: none;
  921. background: none;
  922. font-size: 16px;
  923. padding-left: 9px;
  924. }
  925. [layout="2016C"] #ugf-search-value,
  926. [layout="2018"] #ugf-search-value {
  927. padding-left: 16px;
  928. }
  929. [layout="2019"] #ugf-search-value {
  930. padding-left: 20px;
  931. }
  932. [layout="2012"] #ugf-search-value {
  933. font-size: 18px;
  934. }
  935. #ugf-search-btn {
  936. cursor: pointer;
  937. }
  938. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"]):not([layout="retro"]) #ugf-search-btn {
  939. background-color: #4285f4 !important;
  940. background-image: none !important;
  941. height: 40px !important;
  942. width: 40px !important;
  943. margin-right: 0 !important;
  944. border-radius: 0 2px 2px 0;
  945. }
  946. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"]) #ugf-search-btn:hover {
  947. background-color: #3b78e7 !important;
  948. box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  949. }
  950. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"]) #ugf-search-btn:active {
  951. background-color: #3367d6 !important;
  952. }
  953. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"]) #ugf-search-btn::after {
  954. content: "";
  955. /*background-image: url(https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fwww.google.ie%2Fimages%2Fnav_logo242.png&sp=1696043460Tea6a03ff1af40fa838a22e88fa1f9ce69dad31290a7013d531dd22b762bc4d28) !important;*/
  956. background-image: url("data:image/png;base64,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");
  957. background-position: -106px -53.5px !important;
  958. background-size: auto;
  959. margin-right: 0;
  960. height: 26px;
  961. width: 26px;
  962. margin-top: 6px;
  963. margin-left: 7px;
  964. border-radius: 0 2px 2px 0;
  965. display: block;
  966. }
  967. [layout="2012"] #ugf-search #ugf-search-btn::after {
  968. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDJCNEUwNzM4OTY0MTFFMEE0MDNEODlCOThCNUNBOTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDJCNEUwNzQ4OTY0MTFFMEE0MDNEODlCOThCNUNBOTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MkI0RTA3MTg5NjQxMUUwQTQwM0Q4OUI5OEI1Q0E5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0MkI0RTA3Mjg5NjQxMUUwQTQwM0Q4OUI5OEI1Q0E5OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po7ONFMAAADISURBVHjanFJBCsIwEFzrF7z04h9E/Efx5MEHePHmr4T6hFLwF6G/sKW0lLixEwh1AtGB6SaZne22G7HWCrhT1sqXneHiE+fC6BcX5Wg5RujU7CoPSDTKs3KLaHA+sA7co0JCE2mvgV4xcwuxiJgL6C0zTxDziDmHPi21TER6mbEXDn/efykYT8o316ztQzAm93dPyg2iCUZ2/WfOIe7M7DtwN6pDYof9LVZAYldvwZIVSDXTApmk46h8BPv16vP631D6Ym8BBgAsamp63yCdlAAAAABJRU5ErkJggg==") !important;
  969. background-position: 0 0 !important;
  970. width: 15px;
  971. height: 15px;
  972. margin-top: 7px;
  973. margin-left: 26px;
  974. }
  975. [layout="2014"] #ugf-search #ugf-search-btn::after,
  976. [layout="2015"] #ugf-search #ugf-search-btn::after {
  977. background: url(https://www.google.com/images/nav_logo225.png) no-repeat -113px -61px !important;
  978. background-position: -113px -61px !important;
  979. color: transparent;
  980. display: inline-block;
  981. height: 18px !important;
  982. margin-top: 5px !important;
  983. margin-left: 20px !important;
  984. width: 18px !important;
  985. }
  986. [layout="retro"] #ugf-search #ugf-search-btn::after,
  987. [layout="2013"] #ugf-search #ugf-search-btn::after,
  988. [layout="2013L"] #ugf-search #ugf-search-btn::after,
  989. [layout="2015L"] #ugf-search #ugf-search-btn::after,
  990. [layout="2016L"] #ugf-search #ugf-search-btn::after {
  991. background: url(http://www.google.com/images/nav_logo124.png) no-repeat -36px -111px !important;
  992. background-position: -36px -111px !important;
  993. height: 14px;
  994. width: 13px;
  995. margin-top: 9px !important;
  996. margin-left: 27px !important;
  997. }
  998. [layout="retro"] #ugf-program #ugf-search #ugf-search-btn,
  999. [layout="2012"] #ugf-program #ugf-search #ugf-search-btn,
  1000. [layout="2013"] #ugf-program #ugf-search #ugf-search-btn,
  1001. [layout="2013L"] #ugf-program #ugf-search #ugf-search-btn,
  1002. [layout="2015L"] #ugf-program #ugf-search #ugf-search-btn,
  1003. [layout="2016L"] #ugf-program #ugf-search #ugf-search-btn {
  1004. background-image: linear-gradient(to bottom,#4d90fe,#4787ed) !important;
  1005. border: 1px solid #3079ed;
  1006. height: 28px !important;
  1007. width: 68px !important;
  1008. margin-left: 17px;
  1009. border-radius: 2px;
  1010. }
  1011. [layout="2014"] #ugf-program #ugf-search #ugf-search-btn,
  1012. [layout="2015"] #ugf-program #ugf-search #ugf-search-btn {
  1013. background-image: linear-gradient(to bottom,#4d90fe,#4787ed) !important;
  1014. border: 1px solid #3079ed;
  1015. height: 28px !important;
  1016. width: 58px !important;
  1017. }
  1018. [layout="2012"] #ugf-program #ugf-search #ugf-search-btn:hover,
  1019. [layout="2013"] #ugf-program #ugf-search #ugf-search-btn:hover,
  1020. [layout="2013L"] #ugf-program #ugf-search #ugf-search-btn:hover,
  1021. [layout="2014"] #ugf-program #ugf-search #ugf-search-btn:hover,
  1022. [layout="2015"] #ugf-program #ugf-search #ugf-search-btn:hover,
  1023. [layout="2015L"] #ugf-program #ugf-search #ugf-search-btn:hover,
  1024. [layout="2016L"] #ugf-program #ugf-search #ugf-search-btn:hover {
  1025. background-image: linear-gradient(to bottom,#4d90fe,#357ae8);
  1026. border: 1px solid #2f5bb7;
  1027. box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  1028. }
  1029. [layout="2012"] #ugf-program #ugf-search #ugf-search-btn:active,
  1030. [layout="2013"] #ugf-program #ugf-search #ugf-search-btn:active,
  1031. [layout="2013L"] #ugf-program #ugf-search #ugf-search-btn:active,
  1032. [layout="2014"] #ugf-program #ugf-search #ugf-search-btn:active,
  1033. [layout="2015"] #ugf-program #ugf-search #ugf-search-btn:active,
  1034. [layout="2015L"] #ugf-program #ugf-search #ugf-search-btn:active,
  1035. [layout="2016L"] #ugf-program #ugf-search #ugf-search-btn:active {
  1036. box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  1037. }
  1038. [layout="2016C"] #ugf-search-btn,
  1039. [layout="2018"] #ugf-search-btn,
  1040. [layout="2019"] #ugf-search-btn {
  1041. height: 44px;
  1042. width: 31px;
  1043. border-radius: 0 2px 2px 0;
  1044. display: flex;
  1045. align-items: center;
  1046. padding-right: 13px;
  1047. }
  1048. [layout="2016C"] #ugf-search-btn-inner,
  1049. [layout="2018"] #ugf-search-btn-inner,
  1050. [layout="2019"] #ugf-search-btn-inner {
  1051. width: 24px;
  1052. height: 24px;
  1053. margin: 0 auto;
  1054. }
  1055. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"]) #ugf-search-btn svg {
  1056. display: none;
  1057. }
  1058. #ugf-search-btn svg {
  1059. width: 100%;
  1060. height: 100%;
  1061. fill: #4285f4;
  1062. }
  1063. [layout="2016C"] #ugf-search-btn svg {
  1064. width: 100%;
  1065. height: 100%;
  1066. fill: #777;
  1067. }
  1068. #ugf-search-predictions-container {
  1069. position: absolute;
  1070. top: 30px;
  1071. width: 589px;
  1072. z-index: 50;
  1073. }
  1074. [layout="2010"] #ugf-search-predictions-container,
  1075. [layout="2011"] #ugf-search-predictions-container,
  1076. [layout="2012"] #ugf-search-predictions-container,
  1077. [layout="2013"] #ugf-search-predictions-container,
  1078. [layout="2013L"] #ugf-search-predictions-container,
  1079. [layout="2015L"] #ugf-search-predictions-container,
  1080. [layout="2016L"] #ugf-search-predictions-container {
  1081. top: 34px;
  1082. width: 589px;
  1083. }
  1084. [layout="2016"] #ugf-search-predictions-container {
  1085. top: 39px;
  1086. width: 589px;
  1087. z-index: 50;
  1088. }
  1089. [layout="2016C"] #ugf-search-predictions-container,
  1090. [layout="2018"] #ugf-search-predictions-container {
  1091. top: 42px;
  1092. width: 632px;
  1093. }
  1094. [layout="2019"] #ugf-search-predictions-container {
  1095. top: 42px;
  1096. width: 634px;
  1097. margin-left: -1px;
  1098. }
  1099. [location="home"][layout="2012"] #ugf-search-predictions-container,
  1100. [location="home"][layout="2013"] #ugf-search-predictions-container,
  1101. [location="home"][layout="2014"] #ugf-search-predictions-container,
  1102. [location="home"][layout="2015"] #ugf-search-predictions-container {
  1103. width: 568px;
  1104. }
  1105. [location="home"][layout="2010"] #ugf-search-predictions-container,
  1106. [location="home"][layout="2011"] #ugf-search-predictions-container,
  1107. [location="home"][layout="2013L"] #ugf-search-predictions-container,
  1108. [location="home"][layout="2015L"] #ugf-search-predictions-container,
  1109. [location="home"][layout="2016L"] #ugf-search-predictions-container {
  1110. width: 516px;
  1111. }
  1112. [location="home"][layout="2016C"] #ugf-search-predictions-container,
  1113. [location="home"][layout="2018"] #ugf-search-predictions-container,
  1114. [location="home"][layout="2019"] #ugf-search-predictions-container {
  1115. width: 584px;
  1116. }
  1117. html:not([search-focus]) #ugf-search-predictions-container {
  1118. display: none;
  1119. }
  1120. #ugf-search-predictions {
  1121. background: #fff;
  1122. }
  1123. [layout="2010"] #ugf-search-predictions,
  1124. [layout="2011"] #ugf-search-predictions,
  1125. [layout="2012"] #ugf-search-predictions,
  1126. [layout="2013"] #ugf-search-predictions,
  1127. [layout="2013L"] #ugf-search-predictions,
  1128. [layout="2015L"] #ugf-search-predictions,
  1129. [layout="2016L"] #ugf-search-predictions {
  1130. border: 1px solid #ccc !important;
  1131. border-top-color: #d9d9d9 !important;
  1132. box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  1133. }
  1134. [layout="2014"] #ugf-search-predictions,
  1135. [layout="2015"] #ugf-search-predictions {
  1136. border: 1px solid #ccc;
  1137. border-top-color: transparent;
  1138. box-shadow: 0px 2px 4px rgba(0,0,0,.2);
  1139. }
  1140. [layout="2016"] #ugf-search-predictions {
  1141. border: 1px solid rgba(0,0,0,.2);
  1142. box-shadow: 0px 2px 4px rgba(0,0,0,.2);
  1143. }
  1144. [layout="2016C"] #ugf-search-predictions,
  1145. [layout="2018"] #ugf-search-predictions {
  1146. box-shadow: 0 4px 6px rgba(32,33,36,.28);
  1147. border-radius: 0 0 2px 2px;
  1148. padding: 0 0 8px;
  1149. }
  1150. [layout="2019"] #ugf-search-predictions {
  1151. box-shadow: 0 4px 6px rgba(32,33,36,.28);
  1152. border-radius: 0 0 24px 24px;
  1153. padding: 0 0 16px;
  1154. }
  1155. #ugf-search-predictions-inner {
  1156. position: relative;
  1157. z-index: 51;
  1158. }
  1159. .ugf-search-prediction {
  1160. padding: 2px 8px;
  1161. font-size: 16px;
  1162. line-height: 20px;
  1163. display: block;
  1164. color: #222;
  1165. text-decoration: none !important;
  1166. }
  1167. .ugf-search-prediction:hover {
  1168. background: #c6dafc;
  1169. }
  1170. [layout="2010"] .ugf-search-prediction,
  1171. [layout="2011"] .ugf-search-prediction,
  1172. [layout="2012"] .ugf-search-prediction,
  1173. [layout="2013"] .ugf-search-prediction,
  1174. [layout="2013L"] .ugf-search-prediction,
  1175. [layout="2015L"] .ugf-search-prediction,
  1176. [layout="2016L"] .ugf-search-prediction {
  1177. padding: 1px 10px;
  1178. font-weight: bold;
  1179. }
  1180. [layout="2010"] .ugf-search-prediction b,
  1181. [layout="2011"] .ugf-search-prediction b,
  1182. [layout="2012"] .ugf-search-prediction b,
  1183. [layout="2013"] .ugf-search-prediction b,
  1184. [layout="2013L"] .ugf-search-prediction b,
  1185. [layout="2015L"] .ugf-search-prediction b,
  1186. [layout="2016L"] .ugf-search-prediction b {
  1187. font-weight: 700;
  1188. }
  1189. [layout="2016C"] .ugf-search-prediction,
  1190. [layout="2018"] .ugf-search-prediction {
  1191. padding: 3px 16px;
  1192. }
  1193. [layout="2019"] .ugf-search-prediction {
  1194. padding: 3px 22px;
  1195. }
  1196. [layout="2019"] .ugf-search-prediction:first-of-type {
  1197. padding-top: 0;
  1198. }
  1199. [layout="2019"] .ugf-search-prediction:first-of-type .ugf-search-prediction-inner {
  1200. border-top: 1px solid #e8eaed;
  1201. padding-top: 3px;
  1202. }
  1203. [layout="2016C"] .ugf-search-prediction:not(:visited),
  1204. [layout="2018"] .ugf-search-prediction:not(:visited),
  1205. [layout="2019"] .ugf-search-prediction:not(:visited) {
  1206. color: #000;
  1207. }
  1208. [layout="2013"] .ugf-search-prediction:hover {
  1209. background: #eee;
  1210. }
  1211. [layout="2016C"] .ugf-search-prediction:hover,
  1212. [layout="2018"] .ugf-search-prediction:hover,
  1213. [layout="2019"] .ugf-search-prediction:hover {
  1214. background: #f7f8f9;
  1215. }
  1216. #ugf-search-predictions-fence {
  1217. position: fixed;
  1218. width: 100vw;
  1219. height: 100vh;
  1220. left: 0;
  1221. top: 0;
  1222. z-index: 50;
  1223. }
  1224.  
  1225.  
  1226. [present="false"] {
  1227. display: none;
  1228. }
  1229. #ugf-page-multistate[state="images"] [state-id="all"] {
  1230. display: none;
  1231. }
  1232. #ugf-page-multistate:not([state="images"]) [state-id="images"] {
  1233. display: none;
  1234. }
  1235. [logged-in="true"] #ugf-sign-in,
  1236. [logged-in="false"] #ugf-account-button {
  1237. display: none;
  1238. }
  1239.  
  1240.  
  1241. #ugf-top {
  1242. position: relative;
  1243. }
  1244. #ugf-top-right {
  1245. margin-left: auto;
  1246. margin-right: 22px;
  1247. }
  1248. #ugf-sign-in {
  1249. border: 1px solid #4285f4;
  1250. font-weight: bold;
  1251. outline: none;
  1252. background: #4285f4;
  1253. background: linear-gradient(to bottom,#4387fd,#4683ea);
  1254. text-decoration: none !important;
  1255. display: inline-block;
  1256. line-height: 28px;
  1257. padding: 0 12px;
  1258. border-radius: 2px;
  1259. color: #fff;
  1260. cursor: pointer;
  1261. font-size: 13px;
  1262. }
  1263. #ugf-sign-in:hover {
  1264. box-shadow: 0 1px 0 rgba(0,0,0,.15);
  1265. }
  1266. #ugf-sign-in:active {
  1267. box-shadow: inset 0 2px 0 rgba(0,0,0,.15);
  1268. background: -webkit-linear-gradient(top,#3c7ae4,#3f76d3);
  1269. }
  1270. [layout="2013"] #ugf-sign-in {
  1271. background: linear-gradient(to bottom,#dd4b39,#d14836);
  1272. text-transform: uppercase;
  1273. border-color: transparent;
  1274. font-size: 11px;
  1275. box-shadow: 0 1px rgba(0,0,0,0.1);
  1276. padding: 0 16px;
  1277. }
  1278. [layout="2013"] #ugf-sign-in:hover {
  1279. box-shadow: 0 1px 1px rgba(0,0,0,0.2);
  1280. background-image: linear-gradient(to bottom,#dd4b39,#c53727);
  1281. border: 1px solid #b0281a;
  1282. border-bottom-color: #af301f;
  1283. }
  1284. [layout="2013"] #ugf-sign-in:active {
  1285. box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  1286. background-image: linear-gradient(to bottom,#dd4b39,#b0281a);
  1287. border: 1px solid #992a1b;
  1288. border-top: 1px solid #992a1b;
  1289. }
  1290.  
  1291.  
  1292. #ugf-side-info {
  1293. width: 454px;
  1294. background: #fff;
  1295. box-shadow: 0px 1px 4px 0px rgba(0,0,0,0.2);
  1296. margin-top: 50px;
  1297. margin-left: 61px;
  1298. }
  1299. [layout="2019"] #ugf-side-info {
  1300. box-shadow: none;
  1301. border: 1px solid #dfe1e5;
  1302. border-radius: 8px;
  1303. }
  1304. [layout="2010"] #ugf-side-info,
  1305. [layout="2011"] #ugf-side-info,
  1306. [layout="2013L"] #ugf-side-info,
  1307. [layout="2015L"] #ugf-side-info,
  1308. [layout="2016L"] #ugf-side-info {
  1309. width: 280px;
  1310. box-shadow: none;
  1311. border: 1px solid #e0e0e0;
  1312. }
  1313. [layout="2016C"] #ugf-side-info {
  1314. margin-top: 45px;
  1315. }
  1316. #ugf-side-info-top {
  1317. display: flex;
  1318. align-items: center;
  1319. padding: 15px;
  1320. }
  1321. [layout="2010"] #ugf-side-info-top,
  1322. [layout="2011"] #ugf-side-info-top,
  1323. [layout="2013L"] #ugf-side-info-top,
  1324. [layout="2015L"] #ugf-side-info-top,
  1325. [layout="2016L"] #ugf-side-info-top {
  1326. padding: 10px 10px 0;
  1327. }
  1328. #ugf-side-info-title {
  1329. color: rgba(0,0,0,.87);
  1330. font-size: 30px;
  1331. max-width: 292px;
  1332. }
  1333. [layout="2010"] #ugf-side-info-title,
  1334. [layout="2011"] #ugf-side-info-title,
  1335. [layout="2013L"] #ugf-side-info-title,
  1336. [layout="2015L"] #ugf-side-info-title,
  1337. [layout="2016L"] #ugf-side-info-title {
  1338. font-size: 22px;
  1339. max-width: 270px;
  1340. }
  1341. #ugf-side-info-subtitle {
  1342. color: #777;
  1343. font-size: 13px;
  1344. }
  1345. [layout="2010"] #ugf-side-info-image img,
  1346. [layout="2011"] #ugf-side-info-image img,
  1347. [layout="2013L"] #ugf-side-info-image img,
  1348. [layout="2015L"] #ugf-side-info-image img,
  1349. [layout="2016L"] #ugf-side-info-image img {
  1350. max-width: 100px;
  1351. }
  1352. #ugf-side-info-body {
  1353. font-size: 13px;
  1354. border-top: 1px solid #EBEBEB;
  1355. padding: 15px;
  1356. }
  1357. [layout="2010"] #ugf-side-info-body,
  1358. [layout="2011"] #ugf-side-info-body,
  1359. [layout="2013L"] #ugf-side-info-body,
  1360. [layout="2015L"] #ugf-side-info-body,
  1361. [layout="2016L"] #ugf-side-info-body {
  1362. font-size: 15px;
  1363. border-top: none;
  1364. padding: 10px;
  1365. }
  1366. #ugf-side-info-kay-sees-and-ess-esses,
  1367. #ugf-side-info-kay-sees-and-ess-esses a {
  1368. font-size: 13px;
  1369. }
  1370. #ugf-side-info-kay-sees-and-ess-esses div {
  1371. white-space: normal;
  1372. }
  1373. [layout="2010"] #ugf-side-info-kay-sees-and-ess-esses,
  1374. [layout="2011"] #ugf-side-info-kay-sees-and-ess-esses,
  1375. [layout="2013L"] #ugf-side-info-kay-sees-and-ess-esses,
  1376. [layout="2015L"] #ugf-side-info-kay-sees-and-ess-esses,
  1377. [layout="2016L"] #ugf-side-info-kay-sees-and-ess-esses {
  1378. padding-bottom: 10px;
  1379. }
  1380. #ugf-side-info-top-right {
  1381. margin-left: auto;
  1382. }
  1383.  
  1384. #ugf-image-results {
  1385. padding-top: 13px;
  1386. background: #f1f1f1;
  1387. }
  1388. [layout="2019"] #ugf-image-results {
  1389. background: #fff;
  1390. }
  1391. [noton-images][location="images"] #ugf-main-inner {
  1392. display: none;
  1393. }
  1394. [noton-images][location="images"] #main,
  1395. [noton-images][location="images"] .T1diZc.KWE8qe,
  1396. [noton-images][location="images"] #TWfxFb {
  1397. display: block !important;
  1398. }
  1399. [noton-images][location="images"] body > div > c-wiz > div:not(.mJxzWe),
  1400. [noton-images][location="images"] #main > div > div:not(#rcnt) {
  1401. display: none;
  1402. }
  1403. [noton-images] .WaWKOe.RfPPs {
  1404. height: 100vh !important;
  1405. }
  1406. [noton-images][location="images"][layout="2012"] #main div,
  1407. [noton-images][location="images"][layout="2013L"] #main div,
  1408. [noton-images][location="images"][layout="2015L"] #main div,
  1409. [noton-images][location="images"][layout="2016L"] #main div {
  1410. background-color: transparent;
  1411. max-width: calc(100vw - 180px) !important;
  1412. min-width: unset !important;
  1413. }
  1414. [noton-images][location="images"] #main div {
  1415. background-color: transparent;
  1416. }
  1417. [noton-images][location="images"][layout="2012"] #main div {
  1418. background-color: transparent;
  1419. max-width: calc(100vw - 230px) !important;
  1420. min-width: unset !important;
  1421. }
  1422. /* image border radius noton style */
  1423. .F0uyec,
  1424. .eA0Zlc.mkpRId {
  1425. border-radius: 0 !important;
  1426. }
  1427. [noton-images][layout="2012"] #rcnt,
  1428. [noton-images][layout="2013L"] #rcnt,
  1429. [noton-images][layout="2015L"] #rcnt,
  1430. [noton-images][layout="2016L"] #rcnt {
  1431. width: calc(100% - 130px) !important;
  1432. right: unset !important;
  1433. left: 130px;
  1434. position: absolute;
  1435. top: 176px;
  1436. }
  1437. [noton-images][layout="2012"] #rcnt {
  1438. width: calc(100% - 210px) !important;
  1439. right: unset !important;
  1440. left: 210px;
  1441. position: absolute;
  1442. top: 110px;
  1443. }
  1444. [noton-images][layout="2012"] .islrc,
  1445. [noton-images][layout="2013L"] .islrc,
  1446. [noton-images][layout="2015L"] .islrc,
  1447. [noton-images][layout="2016L"] .islrc {
  1448. max-width: calc(100vw - 130px);
  1449. margin-left: 110px;
  1450. width: auto !important;
  1451. min-width: 0 !important;
  1452. }
  1453. [noton-images][layout="2012"] .islrc {
  1454. max-width: calc(100vw - 170px);
  1455. margin-left: 150px;
  1456. }
  1457. [noton-images][location="images"] #ugf-left {
  1458. position: absolute;
  1459. z-index: 99;
  1460. }
  1461. [layout="2012"] #ugf-image-results,
  1462. [layout="2013"] #ugf-image-results,
  1463. [layout="2013L"] #ugf-image-results,
  1464. [layout="2015L"] #ugf-image-results,
  1465. [layout="2016L"] #ugf-image-results {
  1466. background: #fff;
  1467. width: 827px;
  1468. }
  1469. #ugf-image-results-container {
  1470. display: flex;
  1471. flex-wrap: wrap;
  1472. }
  1473. /*
  1474. #ugf-side-info-kay-sees-and-ess-esses g-img {
  1475. display: none;
  1476. }
  1477. */
  1478. #ugf-side-info-kay-sees-and-ess-esses > span {
  1479. margin-top: 7px;
  1480. display: block;
  1481. }
  1482. [layout="2013L"] .ugf-kc,
  1483. [layout="2015L"] .ugf-kc,
  1484. [layout="2016L"] .ugf-kc {
  1485. margin-top: -13px;
  1486. }
  1487. #ugf-side-info-kay-sees-and-ess-esses #ugf-kc1 {
  1488. margin-top: 13px;
  1489. }
  1490. #ugf-side-info-kay-sees-and-ess-esses div > span:first-of-type a {
  1491. font-weight: bold;
  1492. color: #222;
  1493. }
  1494.  
  1495.  
  1496.  
  1497. .ugf-image-result {
  1498. margin: 0 10px 10px;
  1499. padding: 0 4px;
  1500. max-width: 250px;
  1501. width: fit-content;
  1502. margin-bottom: 10px;
  1503. display: flex;
  1504. align-items: center;
  1505. }
  1506. .ugf-image-result:not(:nth-last-child(1)):not(:nth-last-child(2)):not(:nth-last-child(3)):not(:nth-last-child(4)):not(:nth-last-child(5)):not(:nth-last-child(6)):not(:nth-last-child(7)):not(:nth-last-child(8)) {
  1507. margin: 0 auto 10px;
  1508. }
  1509. [layout="2012"] .ugf-image-result,
  1510. [layout="2013"] .ugf-image-result,
  1511. [layout="2013L"] .ugf-image-result,
  1512. [layout="2015L"] .ugf-image-result,
  1513. [layout="2016L"] .ugf-image-result {
  1514. width: 204px !important;
  1515. padding: 0 !important;
  1516. margin: 0 0 10px 0 !important;
  1517. }
  1518. .ugf-image-result img {
  1519. margin: 0 auto;
  1520. max-width: 250px;
  1521. max-height: 205px;
  1522. height: auto;
  1523. width: auto;
  1524. display: block;
  1525. }
  1526. [layout="2012"] .ugf-image-result img,
  1527. [layout="2013"] .ugf-image-result img,
  1528. [layout="2013L"] .ugf-image-result img,
  1529. [layout="2015L"] .ugf-image-result img,
  1530. [layout="2016L"] .ugf-image-result img {
  1531. border: 1px solid #ccc;
  1532. padding: 1px;
  1533. max-width: 150px !important;
  1534. max-height: 150px !important;
  1535. margin: 0;
  1536. }
  1537. .ugf-image-result-inner {
  1538. position: relative;
  1539. }
  1540. [layout="2012"] .ugf-image-result-inner,
  1541. [layout="2013"] .ugf-image-result-inner,
  1542. [layout="2013L"] .ugf-image-result-inner,
  1543. [layout="2015L"] .ugf-image-result-inner,
  1544. [layout="2016L"] .ugf-image-result-inner {
  1545. text-decoration: none !important;
  1546. width: 100%;
  1547. }
  1548. [layout="2012"] .ugf-image-result-hoverstats,
  1549. [layout="2013"] .ugf-image-result-hoverstats,
  1550. [layout="2013L"] .ugf-image-result-hoverstats,
  1551. [layout="2015L"] .ugf-image-result-hoverstats,
  1552. [layout="2016L"] .ugf-image-result-hoverstats {
  1553. font-size: 13px;
  1554. color: #000;
  1555. max-width: 90%;
  1556. }
  1557. html:not([layout="2012"]):not([layout="2013"]):not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]) .ugf-image-result-hoverstats {
  1558. opacity: 0;
  1559. position: absolute;
  1560. bottom: 0;
  1561. white-space: nowrap;
  1562. overflow: hidden;
  1563. font-size: 11px;
  1564. color: #fff;
  1565. width: calc(100% - 8px);
  1566. background: rgba(51,51,51,0.8);
  1567. padding: 2px 4px;
  1568. }
  1569. .ugf-image-result-inner:hover .ugf-image-result-hoverstats {
  1570. opacity: 1 !important;
  1571. }
  1572. [layout="2012"] .ugf-image-result-domain,
  1573. [layout="2013"] .ugf-image-result-domain,
  1574. [layout="2013L"] .ugf-image-result-domain,
  1575. [layout="2015L"] .ugf-image-result-domain,
  1576. [layout="2016L"] .ugf-image-result-domain {
  1577. color: #006621;
  1578. display: block;
  1579. margin: 2px 0 0;
  1580. }
  1581. [layout="2012"] .ugf-image-result-size-first,
  1582. [layout="2013"] .ugf-image-result-size-first,
  1583. [layout="2013L"] .ugf-image-result-size-first,
  1584. [layout="2015L"] .ugf-image-result-size-first,
  1585. [layout="2016L"] .ugf-image-result-size-first,
  1586. html:not([layout="2012"]):not([layout="2013"]):not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]) .ugf-image-result-size-second {
  1587. display: none;
  1588. }
  1589. .ugf-image-result-size-second {
  1590. display: block;
  1591. }
  1592. #ugf-image-viewer {
  1593. position: fixed;
  1594. width: 100%;
  1595. height: 100%;
  1596. top: 0;
  1597. display: flex;
  1598. align-items: center;
  1599. pointer-events: none;
  1600. }
  1601. #ugf-image-viewer-inner {
  1602. background: #222;
  1603. height: 500px;
  1604. width: 100%;
  1605. pointer-events: all;
  1606. }
  1607. #ugf-image-iframe {
  1608. position: fixed;
  1609. width: 100%;
  1610. height: 100vh;
  1611. z-index: -1;
  1612. top: 0;
  1613. left: 0;
  1614. display: flex;
  1615. align-items: center;
  1616. pointer-events: none;
  1617. }
  1618. #ugf-image-iframe iframe {
  1619. width: 100%;
  1620. height: 500px;
  1621. border: none;
  1622. pointer-events: all !important;
  1623. }
  1624.  
  1625. .ugf-video-result:not([thumb-url="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="]) .ugf-video-result-thumbnail img {
  1626. width: 118px;
  1627. height: 67px;
  1628. }
  1629. .ugf-video-result-thumbnail {
  1630. margin-top: 4px;
  1631. margin-right: 8px;
  1632. position: relative;
  1633. }
  1634. [thumb-url="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="] .ugf-video-result-thumbnail {
  1635. display: none;
  1636. }
  1637. .ugf-search-result-duration {
  1638. background-color: rgba(0,0,0,.7);
  1639. color: #fff;
  1640. padding: 1px 3px;
  1641. font-size: 11px;
  1642. font-weight: bold;
  1643. position: absolute;
  1644. bottom: 3px;
  1645. right: 0;
  1646. line-height: 20px;
  1647. }
  1648.  
  1649.  
  1650. .ugf-instant-answer {
  1651. box-shadow: 0px 1px 4px 0px rgba(0,0,0,0.2);
  1652. padding: 20px;
  1653. margin-bottom: 10px;
  1654. }
  1655. [lizard] .ugf-instant-answer:not(.ugf-easter-egg),
  1656. [lizard] .ugf-instant-answer-list {
  1657. display: none;
  1658. }
  1659. .ugf-instant-answer-supertext {
  1660. font-size: 13px;
  1661. color: #777;
  1662. }
  1663. .ugf-instant-answer-supertext {
  1664. margin-bottom: 10px;
  1665. }
  1666. .ugf-instant-answer-heading {
  1667. color: rgba(0,0,0,.87);
  1668. font-size: 30px;
  1669. margin-bottom: 10px;
  1670. }
  1671. .ugf-instant-answer .ugf-search-result {
  1672. padding-bottom: 0;
  1673. padding-top: 10px;
  1674. margin-bottom: 0;
  1675. }
  1676. .ugf-instant-answer-list {
  1677. padding: 15px 20px 0;
  1678. }
  1679.  
  1680.  
  1681. .ugf-correction {
  1682. font-weight: bold !important;
  1683. font-size: 16px;
  1684. margin-bottom: 10px;
  1685. color: #c00;
  1686. }
  1687. .ugf-correction span {
  1688. color: #c00;
  1689. }
  1690. .ugf-correction a {
  1691. color: #1a0dab !important;
  1692. font-weight: bold;
  1693. font-style: italic;
  1694. font-size: 16px;
  1695. }
  1696. .ugf-correction-blue {
  1697. margin-bottom: 10px;
  1698. }
  1699. .ugf-correction-blue .ugf-correction-inner {
  1700. font-size: 16px;
  1701. }
  1702.  
  1703. html:not([layout-dd-open]) #ugf-layout-dd,
  1704. html:not([layout-dd-open]) #ugf-layout-fence,
  1705. html:not([noton-dd-open]) #ugf-noton-dd,
  1706. html:not([noton-dd-open]) #ugf-noton-fence,
  1707. html:not([forceload-dd-open]) #ugf-forceload-dd,
  1708. html:not([forceload-dd-open]) #ugf-forceload-fence,
  1709. html:not([settings-display-dd-open]) #ugf-settings-display-dd,
  1710. html:not([settings-display-dd-open]) #ugf-settings-display-fence,
  1711. html:not([name-email-dd-open]) #ugf-name-email-dd,
  1712. html:not([name-email-dd-open]) #ugf-name-email-fence,
  1713. html:not([apps-dd-open]) #gp-apps-dd,
  1714. html:not([apps-dd-open]) #beyond-the-fence,
  1715. html:not([account-dd-open]) #ugf-account-dd,
  1716. html:not([account-dd-open]) #beyond-the-fence-2,
  1717. html:not([notifs-dd-open]) #ugf-notifs-dd,
  1718. html:not([notifs-dd-open]) #beyond-the-fence-3 {
  1719. z-index: -1;
  1720. pointer-events: none;
  1721. opacity: 0;
  1722. }
  1723. #gp-apps-dd {
  1724. position: absolute;
  1725. z-index: 1918;
  1726. margin-left: -212px;
  1727. margin-left: -129px;
  1728. margin-left: -143px;
  1729. margin-top: 44px;
  1730. margin-top: 15px;
  1731. margin-left: -190px;
  1732. cursor: auto;
  1733. opacity: 1;
  1734. }
  1735. [logged-in="true"] #gp-apps-dd {
  1736. margin-left: -224px;
  1737. }
  1738. [apps-dd-open] #gp-apps-dd {
  1739. transition-duration: 0.2s;
  1740. }
  1741. #triangle {
  1742. border-color: transparent;
  1743. border-bottom-color: transparent;
  1744. border-bottom-color: transparent;
  1745. border-style: dashed dashed solid;
  1746. border-width: 0 8.5px 8.5px;
  1747. position: absolute;
  1748. right: 72px;
  1749. right: 94px;
  1750. z-index: 1921;
  1751. height: 0;
  1752. width: 0;
  1753. -webkit-animation: gb__a .2s;
  1754. animation: gb__a .2s;
  1755. border-bottom-color: #ccc;
  1756. border-bottom-color: rgba(0,0,0,.2);
  1757. top: -8px;
  1758. right: 109px;
  1759. }
  1760. #triangle-2 {
  1761. border-color: transparent;
  1762. border-bottom-color: transparent;
  1763. border-bottom-color: transparent;
  1764. border-style: dashed dashed solid;
  1765. border-width: 0 8.5px 8.5px;
  1766. position: absolute;
  1767. right: 72px;
  1768. right: 94px;
  1769. z-index: 1921;
  1770. height: 0;
  1771. width: 0;
  1772. -webkit-animation: gb__a .2s;
  1773. animation: gb__a .2s;
  1774. border-bottom-color: #fff;
  1775. top: -7px;
  1776. right: 109px;
  1777. }
  1778. [logged-in="true"] #triangle,
  1779. [logged-in="true"] #triangle-2 {
  1780. right: 75px;
  1781. }
  1782. [not-gecko] #triangle,
  1783. [not-gecko] #triangle-2 {
  1784. right: 84px;
  1785. }
  1786. #triangle-5 {
  1787. position: absolute;
  1788. top: -22px;
  1789. right: 23px;
  1790. left: auto;
  1791. bottom: auto;
  1792. width: 0;
  1793. height: 0;
  1794. vertical-align: top;
  1795. background: none repeat scroll 0 0 transparent;
  1796. border: 12px solid transparent;
  1797. border-bottom-color: transparent;
  1798. right: 62px;
  1799. border-bottom-color: #e5e5e5;
  1800. }
  1801. #gp-apps-dd-card {
  1802. scrollbar-width: none;
  1803. background: #fff;
  1804. padding: 28px;
  1805. padding-bottom: 12px;
  1806. border: 1px solid rgba(0,0,0,.2);
  1807. box-shadow: 0 2px 10px rgba(0,0,0,.2);
  1808. cursor: auto;
  1809. overflow-y: scroll;
  1810. overscroll-behavior: contain;
  1811. width: 320px;
  1812. width: 264px;
  1813. height: 442px;
  1814. }
  1815. [not-gecko] #gp-apps-dd-card {
  1816. width: 332px;
  1817. }
  1818. .ugf-fence,
  1819. #beyond-the-fence,
  1820. #beyond-the-fence-2,
  1821. #beyond-the-fence-3 {
  1822. position: fixed;
  1823. z-index: 1917;
  1824. width: 100vw;
  1825. height: 100vh;
  1826. background: transparent;
  1827. top: 0;
  1828. left: 0;
  1829. }
  1830. /*
  1831. #gp-apps-dd-inner {
  1832. display: flex;
  1833. flex-wrap: wrap;
  1834. }
  1835. */
  1836. .sector {
  1837. display: flex;
  1838. flex-wrap: wrap;
  1839. }
  1840. .sector:nth-child(1) {
  1841. padding-bottom: 28px;
  1842. border-bottom: 1px solid #ebebeb;
  1843. }
  1844. .sector:nth-child(2),
  1845. .sector:nth-child(3) {
  1846. padding-top: 28px;
  1847. }
  1848. #even-more {
  1849. color: #737373 !important;
  1850. font-size: 13px;
  1851. font-family: arial, sans-serif !important;
  1852. text-decoration: none !important;
  1853. margin: 0 auto;
  1854. }
  1855. #even-more:hover {
  1856. text-decoration: underline !important;
  1857. }
  1858. .gp-app {
  1859. width: 86px;
  1860. height: 100px;
  1861. font-size: 13px;
  1862. font-family: arial, sans-serif !important;
  1863. padding: 1px;
  1864. }
  1865. .gp-app-inner {
  1866. text-decoration: none !important;
  1867. margin: 7px 0;
  1868. height: 86px;
  1869. display: block;
  1870. border: 1px solid transparent;
  1871. border-radius: 2px;
  1872. }
  1873. .gp-app:hover .gp-app-inner {
  1874. border: 1px solid #e5e5e5;
  1875. background: rgba(255,255,255,.9);
  1876. }
  1877. .gp-app-icon {
  1878. background-image: url(https://ssl.gstatic.com/gb/images/v1_76783e20.png);
  1879. -webkit-background-size: 92px 2541px;
  1880. background-size: 92px 2541px;
  1881. }
  1882. #myaccount .gp-app-icon {
  1883. background-position: 0 -1451px;
  1884. }
  1885. #google-search .gp-app-icon {
  1886. background-position: -17px -207px;
  1887. }
  1888. #maps .gp-app-icon {
  1889. background-position: 0 -450px;
  1890. }
  1891. #youtube .gp-app-icon {
  1892. background-position: 0 0;
  1893. }
  1894. #play .gp-app-icon {
  1895. background-position: 0 -1779px;
  1896. }
  1897. #news .gp-app-icon {
  1898. background-position: 0 -1990px;
  1899. }
  1900. #envelope .gp-app-icon {
  1901. background-position: 0 -1710px;
  1902. }
  1903. #drive .gp-app-icon {
  1904. background-position: 0 -138px;
  1905. }
  1906. #calendar .gp-app-icon {
  1907. background-position: 0 -2059px;
  1908. }
  1909. #plus .gp-app-icon {
  1910. background-position: 0 -938px;
  1911. }
  1912. #translate .gp-app-icon {
  1913. background-position: 0 -693px;
  1914. }
  1915. #photos .gp-app-icon {
  1916. background-position: 0 -1145px;
  1917. }
  1918. #shopping .gp-app-icon {
  1919. background-position: 0 -1352px;
  1920. }
  1921. #wallet .gp-app-icon,
  1922. #finance .gp-app-icon {
  1923. background-image: url(https://ssl.gstatic.com/gb/images/p1_a4541be8.png);
  1924. -webkit-background-size: 64px 2065px;
  1925. background-size: 64px 2065px;
  1926. background-position: 0 -966px;
  1927. }
  1928. #finance .gp-app-icon {
  1929. background-position: 0 -1725px;
  1930. }
  1931. #docs .gp-app-icon {
  1932. background-position: 0 -1214px;
  1933. }
  1934. #books .gp-app-icon {
  1935. background-position: 0 -554px;
  1936. }
  1937. #blogger .gp-app-icon {
  1938. background-position: 0 -1007px;
  1939. }
  1940. #contacts .gp-app-icon {
  1941. background-position: 0 -69px;
  1942. }
  1943. #hangouts .gp-app-icon {
  1944. background-position: 0 -2335px;
  1945. }
  1946. #firefox .gp-app-icon {
  1947. background-image: url(https://upload.wikimedia.org/wikipedia/commons/thumb/7/76/Mozilla_Firefox_logo_2013.svg/1200px-Mozilla_Firefox_logo_2013.svg.png);
  1948. background-size: 56px 56px;
  1949. margin-top: 8px;
  1950. width: 56px !important;
  1951. height: 56px !important;
  1952. }
  1953. .gp-app-icon {
  1954. margin: 0 auto;
  1955. height: 64px;
  1956. width: 64px;
  1957. }
  1958. .gp-app-title {
  1959. width: fit-content;
  1960. margin: 0 auto;
  1961. color: #404040 !important;
  1962. text-decoration: none !important;
  1963. }
  1964. html:not([settings-display]) #ugf-gplex-settings-btn {
  1965. display: none;
  1966. }
  1967. #ugf-gplex-settings-btn {
  1968. height: 30px;
  1969. display: flex;
  1970. align-items: center;
  1971. padding-left: 15px;
  1972. }
  1973. html[settings-display="topbar-hover"] #ugf-gplex-settings-btn a {
  1974. opacity: 0;
  1975. transition-duration: 0.2s;
  1976. }
  1977. html[settings-display="topbar-hover"] #ugf-gplex-settings-btn:hover a {
  1978. opacity: 1;
  1979. transition-duration: 0s !important;
  1980. }
  1981. #waffle {
  1982. height: 30px;
  1983. display: flex;
  1984. padding: 0 15px 0 0;
  1985. }
  1986. [layout="2010"] #ugf-apps,
  1987. [layout="2011"] #ugf-apps,
  1988. [layout="2012"] #ugf-apps,
  1989. [layout="2013"] #ugf-apps,
  1990. [layout="2013L"] #ugf-apps,
  1991. [layout="2015L"] #ugf-apps,
  1992. [layout="2016L"] #ugf-apps {
  1993. display: none;
  1994. }
  1995. #waffle .gp-icon {
  1996. background-image: url('https://ssl.gstatic.com/gb/images/i1_1967ca6a.png');
  1997. background-size: 528px 68px;
  1998. background-position: -132px -38px;
  1999. opacity: .55;
  2000. width: 30px;
  2001. }
  2002. #waffle:hover .gp-icon {
  2003. opacity: .85;
  2004. }
  2005.  
  2006. [logged-in="tbd"] .ugf-logged-in-out {
  2007. display: none !important;
  2008. }
  2009. html:not([logged-in="true"]) .ugf-plus-buttons,
  2010. html:not([layout="2013"]):not([layout="2014"]) .ugf-plus-buttons {
  2011. display: none;
  2012. }
  2013. .ugf-plus-buttons {
  2014. position: relative;
  2015. }
  2016. .ugf-plus-buttons a,
  2017. .ugf-plus-button {
  2018. margin-right: 15px;
  2019. color: #666;
  2020. font-size: 13px;
  2021. }
  2022. [name-email="email"] #ugf-username-button,
  2023. [name-email="name"] #ugf-email-button {
  2024. display: none;
  2025. }
  2026. html:not([layout="2014"]) #ugf-fake-notifs-button,
  2027. #ugf-fake-share-button {
  2028. background: linear-gradient(to bottom,#f8f8f8,#ececec);
  2029. border: 1px solid #c6c6c6;
  2030. font-size: 14px;
  2031. font-weight: bold;
  2032. color: #999;
  2033. padding: 0 10px;
  2034. height: 27px;
  2035. border-radius: 2px;
  2036. cursor: pointer;
  2037. }
  2038. html:not([layout="2014"]) #ugf-fake-notifs-button:hover,
  2039. #ugf-fake-share-button:hover {
  2040. background: linear-gradient(to bottom,#ffffff,#ececec);
  2041. border: 1px solid #bbb;
  2042. }
  2043. html:not([layout="2014"]) #ugf-fake-notifs-button:active,
  2044. #ugf-fake-share-button:active {
  2045. background: linear-gradient(to bottom,#ffffff,#ececec);
  2046. border: 1px solid #b6b6b6;
  2047. box-shadow: inset 0 1px 2px rgba(0,0,0,.2);
  2048. }
  2049. #ugf-fake-notifs-button .ugf-plus-button-icon {
  2050. background-image: url('https://ssl.gstatic.com/gb/images/i1_3d265689.png');
  2051. background-size: 333px 147px;
  2052. opacity: .55;
  2053. height: 30px;
  2054. width: 30px;
  2055. background-position: 0 -70px; /* -257px -47px filled */
  2056. }
  2057. html[layout="2014"] #ugf-fake-notifs-button .ugf-plus-button-text,
  2058. html:not([layout="2014"]) #ugf-fake-notifs-button .ugf-plus-button-icon {
  2059. display: none;
  2060. }
  2061. #ugf-fake-notifs-button:hover .ugf-plus-button-icon {
  2062. opacity: .7;
  2063. }
  2064. #ugf-fake-share-button {
  2065. font-weight: normal;
  2066. font-size: 13px;
  2067. color: #666;
  2068. position: relative;
  2069. }
  2070. [layout="2014"] #ugf-fake-share-button {
  2071. background: rgba(0,0,0,.04);
  2072. border: none;
  2073. width: 60px;
  2074. height: 30px;
  2075. padding: 0;
  2076. display: flex;
  2077. align-items: center;
  2078. text-align: center;
  2079. border-radius: 0;
  2080. color: #404040;
  2081. box-shadow: none;
  2082. }
  2083. [layout="2014"] #ugf-fake-share-button:hover {
  2084. background: rgba(0,0,0,.08);
  2085. }
  2086. [layout="2014"] #ugf-fake-share-button .ugf-plus-button-text {
  2087. width: fit-content;
  2088. margin: 0 auto;
  2089. }
  2090. #ugf-account-button,
  2091. #ugf-account-button img {
  2092. width: 32px;
  2093. height: 32px;
  2094. position: relative;
  2095. }
  2096. [layout="2013"] #ugf-account-button,
  2097. [layout="2013"] #ugf-account-button img {
  2098. width: 27px;
  2099. height: 27px;
  2100. }
  2101. [layout="2013"] #ugf-account-button {
  2102. border: 1px solid #c6c6c6;
  2103. border-radius: 2px;
  2104. margin-right: 15px;
  2105. }
  2106. [layout="2013"] #ugf-account-button::after {
  2107. content: "";
  2108. background-image: url('https://ssl.gstatic.com/gb/images/k1_a31af7ac.png');
  2109. background-size: 294px 45px;
  2110. background-position: -163px -40px;
  2111. opacity: .8;
  2112. height: 4px;
  2113. width: 7px;
  2114. display: block;
  2115. position: absolute;
  2116. right: -13px;
  2117. top: 13px;
  2118. }
  2119. [layout="2013"] #ugf-fake-share-button::before {
  2120. content: "";
  2121. background-image: url('https://ssl.gstatic.com/gb/images/k1_a31af7ac.png');
  2122. background-size: 294px 45px;
  2123. background-position: -163px 0;
  2124. opacity: .8;
  2125. height: 10px;
  2126. width: 10px;
  2127. display: block;
  2128. margin-right: 8px;
  2129. margin-top: -2px;
  2130. }
  2131. [layout="2013"] #ugf-fake-share-button::after {
  2132. content: "";
  2133. background-image: url('https://ssl.gstatic.com/gb/images/k1_a31af7ac.png');
  2134. background-size: 294px 45px;
  2135. background-position: -163px -15px;
  2136. opacity: .8;
  2137. height: 11px;
  2138. width: 10px;
  2139. display: block;
  2140. position: absolute;
  2141. right: -10px;
  2142. top: 8px;
  2143. }
  2144. [layout="2013"] #ugf-account-button:hover::after,
  2145. [layout="2013"] #ugf-fake-share-button:hover::before,
  2146. [layout="2013"] #ugf-fake-share-button:hover::after {
  2147. opacity: 1;
  2148. }
  2149. html:not([layout="2013"]):not([layout="retro"]) #ugf-account-button img {
  2150. border-radius: 50%;
  2151. }
  2152. #ugf-notifs-dd {
  2153. position: absolute;
  2154. top: var(--topbar-height-total);
  2155. right: 120px;
  2156. background-color: #e5e5e5;
  2157. box-shadow: 0 2px 1px #aaa;
  2158. z-index: 2000;
  2159. right: 45px;
  2160. top: 53px;
  2161. }
  2162. [layout="2014"] #ugf-notifs-dd {
  2163. right: 34px;
  2164. top: 45px;
  2165. }
  2166. #ugf-notifs-dd-card {
  2167. width: 400px;
  2168. box-shadow: 0 0 5px #bbb;
  2169. border: 1px solid #bbb;
  2170. }
  2171. #ugf-notifs-dd-top {
  2172. height: 40px;
  2173. padding: 4px 20px;
  2174. }
  2175. #ugf-notifs-dd-top-left {
  2176. display: inline-block;
  2177. line-height: 40px;
  2178. margin-left: 40px;
  2179. text-align: center;
  2180. width: 280px;
  2181. vertical-align: top;
  2182. white-space: nowrap;
  2183. text-overflow: ellipsis;
  2184. overflow: hidden;
  2185. }
  2186. #ugf-notifs-dd-top-left a {
  2187. color: #404040;
  2188. margin-left: 14px;
  2189. }
  2190. #ugf-notifs-dd-read-button {
  2191. padding: 12px;
  2192. opacity: 0.27;
  2193. cursor: pointer;
  2194. }
  2195. #ugf-notifs-dd-read-button:hover {
  2196. opacity: 0.55;
  2197. }
  2198. #ugf-notifs-dd-read-button-icon {
  2199. background: no-repeat url(https://ssl.gstatic.com/s2/oz/images/sprites/notsg-eb27f5870940f5aacf4b28805c7d5ad3.png) -18px -82px;
  2200. height: 16px;
  2201. width: 16px;
  2202. }
  2203. #ugf-notifs-dd-jingles {
  2204. width: fit-content;
  2205. margin: 0 auto;
  2206. padding-bottom: 20px;
  2207. min-height: 256px;
  2208. }
  2209. #ugf-notifs-dd-caught-up {
  2210. -webkit-border-radius: 3px;
  2211. border-radius: 3px;
  2212. -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
  2213. box-shadow: 0 1px 2px rgba(0,0,0,.2);
  2214. background-color: white;
  2215. color: #aaa;
  2216. display: inline-block;
  2217. font-size: 13px;
  2218. padding: 15px 20px;
  2219. position: relative;
  2220. text-align: center;
  2221. margin-top: 50px;
  2222. }
  2223. html:not([notifs-dd-open]) #ugf-mr-jingles {
  2224. display: none;
  2225. }
  2226. #ugf-mr-jingles {
  2227. margin: 0 auto;
  2228. width: fit-content;
  2229. }
  2230. [gplus-notif-status="loading"] #ugf-notifs-dd-prev {
  2231. visibility: hidden;
  2232. }
  2233. #ugf-notifs-dd-prev {
  2234. border-radius: 3px 3px 0 0;
  2235. background: #ebebeb;
  2236. cursor: pointer;
  2237. line-height: 14px;
  2238. margin: 0 0 0 20px;
  2239. padding: 17px 0;
  2240. text-align: center;
  2241. width: 360px;
  2242. outline: none;
  2243. color: #737373;
  2244. font-size: 13px;
  2245. }
  2246. #ugf-notifs-dd-prev:hover {
  2247. background: #f1f1f1;
  2248. }
  2249. #ugf-notifs-dd-prev-text {
  2250. margin-left: auto;
  2251. width: fit-content;
  2252. }
  2253. #ugf-notifs-dd-prev-icon {
  2254. background: no-repeat url(https://ssl.gstatic.com/s2/oz/images/sprites/notsg-eb27f5870940f5aacf4b28805c7d5ad3.png) -82px -100px;
  2255. height: 12px;
  2256. width: 12px;
  2257. opacity: .55;
  2258. display: inline-block;
  2259. margin: 0 auto 0 10px;
  2260. vertical-align: bottom;
  2261. }
  2262. #ugf-notifs-dd-prev:hover #ugf-notifs-dd-prev-icon {
  2263. opacity: 0.7;
  2264. }
  2265. #ugf-notifs-opening {
  2266. padding-top: 90px;
  2267. min-height: 186px;
  2268. }
  2269. #ugf-notifs-circle {
  2270. height: 32px;
  2271. width: 32px;
  2272. margin: 0 auto;
  2273. background-image: url(https://ssl.gstatic.com/s2/oz/images/notifications/spinner_32_041dcfce66a2d43215abb96b38313ba0.gif);
  2274. }
  2275. #ugf-notifs-opening-text {
  2276. color: #aaa;
  2277. font: 16px Arial,sans-serif;
  2278. padding: 40px 0;
  2279. position: relative;
  2280. width: fit-content;
  2281. margin: 0 auto;
  2282. }
  2283. html[gplus-notif-status="failed"] #ugf-notifs-dd-loading,
  2284. html[gplus-notif-status="loading"] #ugf-notifs-dd-cant,
  2285. html[gplus-notif-status="none"] #ugf-notifs-dd-banner,
  2286. html[gplus-notif-status="none"] #ugf-notifs-opening,
  2287. html[gplus-notif-status="none"] #ugf-notifs-dd-banner,
  2288. html[gplus-notif-status="loading"] #ugf-notifs-dd-jingles,
  2289. html[gplus-notif-status="failed"] #ugf-notifs-opening {
  2290. display: none;
  2291. }
  2292. #ugf-notifs-dd-banner {
  2293. box-shadow: 0 1px 3px rgba(0,0,0,.2);
  2294. font-size: 13px;
  2295. height: 24px;
  2296. min-width: 200px;
  2297. padding: 9px 15px 0 15px;
  2298. }
  2299. #ugf-notifs-dd-banner {
  2300. background: #fff1a8;
  2301. border-color: #fff1a8;
  2302. color: #000;
  2303. }
  2304. #ugf-notifs-dd-banner {
  2305. font-weight: bold;
  2306. text-align: center;
  2307. width: 236px;
  2308. position: absolute;
  2309. left: 65px;
  2310. }
  2311. #ugf-notifs-dd-banner {
  2312. border: 3px solid transparent;
  2313. border-top-color: transparent;
  2314. border-right-color: transparent;
  2315. border-bottom-color: transparent;
  2316. border-left-color: transparent;
  2317. border-radius: 3px;
  2318. -webkit-border-radius: 3px;
  2319. }
  2320. #ugf-account-dd {
  2321. position: absolute;
  2322. top: var(--topbar-height-total);
  2323. right: 7px;
  2324. background: #f5f5f5;
  2325. box-shadow: 0 2px 4px rgba(0,0,0,.2);
  2326. border: 1px solid #bebebe;
  2327. z-index: 2000;
  2328. }
  2329. #ugf-account-dd-account {
  2330. background: #fff;
  2331. border-bottom: 1px solid #bebebe;
  2332. box-shadow: 0 2px 4px rgba(0,0,0,.12);
  2333. padding: 20px;
  2334. }
  2335. #ugf-account-dd-account a {
  2336. display: block;
  2337. }
  2338. #ugf-account-pfp {
  2339. text-decoration: none !important;
  2340. position: relative;
  2341. height: 96px;
  2342. }
  2343. #ugf-account-normal-pfp {
  2344. display: none;
  2345. }
  2346. #ugf-account-pfp-change {
  2347. display: flex;
  2348. align-items: center;
  2349. text-decoration: none !important;
  2350. position: absolute;
  2351. bottom: 0;
  2352. opacity: 0;
  2353. width: 100%;
  2354. }
  2355. #ugf-account-pfp-change span {
  2356. color: #fff;
  2357. font-size: 9px;
  2358. font-weight: bold;
  2359. width: fit-content;
  2360. display: block;
  2361. margin: 0 auto;
  2362. padding: 6px 0;
  2363. opacity: 0;
  2364. transition: opacity .218s ease-in-out;
  2365. }
  2366. #ugf-account-dd:hover #ugf-account-pfp-change {
  2367. background: #4d90fe;
  2368. opacity: 0.8;
  2369. }
  2370. #ugf-account-dd:hover #ugf-account-pfp-change span {
  2371. background: #4d90fe;
  2372. opacity: 1;
  2373. }
  2374. #ugf-account-right {
  2375. margin-left: 20px;
  2376. font-size: 13px;
  2377. padding-right: 50px;
  2378. color: #666;
  2379. }
  2380. #ugf-account-username {
  2381. color: #000;
  2382. font-weight: bold;
  2383. margin-bottom: 2px;
  2384. }
  2385. #ugf-account-links {
  2386. color: #ccc;
  2387. margin: 6px 0 9px;
  2388. }
  2389. #ugf-account-links a {
  2390. color: #36c !important;
  2391. }
  2392. #ugf-account-links span {
  2393. margin: 0 10px;
  2394. }
  2395. #ugf-account-profile {
  2396. border: 1px solid #3079ed;
  2397. color: #fff !important;
  2398. width: fit-content;
  2399. background: linear-gradient(to bottom,#4d90fe,#4787ed);
  2400. -moz-border-radius: 2px;
  2401. -webkit-border-radius: 2px;
  2402. border-radius: 2px;
  2403. cursor: default !important;
  2404. display: inline-block;
  2405. font-weight: bold;
  2406. height: 29px;
  2407. line-height: 29px;
  2408. min-width: 54px;
  2409. *min-width: 70px;
  2410. padding: 0 8px;
  2411. text-align: center;
  2412. text-decoration: none !important;
  2413. -moz-user-select: none;
  2414. -webkit-user-select: none;
  2415. }
  2416. #ugf-account-profile:hover {
  2417. border-color: #2f5bb7;
  2418. background: linear-gradient(to bottom,#4d90fe,#357ae8);
  2419. box-shadow: 0 1px 1px rgba(0,0,0,.1);
  2420. }
  2421. #ugf-account-profile:focus {
  2422. background: linear-gradient(to bottom,#4d90fe,#357ae8);
  2423. border-color: #2f5bb7;
  2424. box-shadow: inset 0 0 0 1px #fff,0 1px 1px rgba(0,0,0,.1);
  2425. }
  2426. #ugf-account-profile:active {
  2427. box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
  2428. }
  2429. #ugf-account-dd-bottom {
  2430. padding: 10px 0;
  2431. }
  2432. .ugf-account-dd-button {
  2433. -moz-border-radius: 2px;
  2434. -webkit-border-radius: 2px;
  2435. border-radius: 2px;
  2436. cursor: default !important;
  2437. display: inline-block;
  2438. font-weight: bold;
  2439. height: 29px;
  2440. line-height: 29px;
  2441. min-width: 54px;
  2442. *min-width: 70px;
  2443. padding: 0 8px;
  2444. text-align: center;
  2445. text-decoration: none !important;
  2446. -moz-user-select: none;
  2447. -webkit-user-select: none;
  2448. border: 1px solid #dcdcdc;
  2449. border-color: rgba(0,0,0,.1);
  2450. color: #444 !important;
  2451. font-size: 11px;
  2452. background: linear-gradient(to bottom,#fff,#fbfbfb);
  2453. margin: 0 20px;
  2454. }
  2455. .ugf-account-dd-button:hover {
  2456. border-color: #c6c6c6;
  2457. box-shadow: 0 1px 1px rgba(0,0,0,.1);
  2458. color: #222 !important;
  2459. background: linear-gradient(to bottom,#fff,#f8f8f8);
  2460. }
  2461. .ugf-account-dd-button:focus {
  2462. box-shadow: inset 0 0 0 1px #fff,0 1px 1px rgba(0,0,0,.1);
  2463. border: 1px solid #4d90fe;
  2464. }
  2465. .ugf-account-dd-button:active {
  2466. border-color: #c6c6c6;
  2467. box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
  2468. color: #222 !important;
  2469. background: linear-gradient(to bottom,#fff,#f8f8f8);
  2470. }
  2471. #ugf-sign-out {
  2472. margin-left: auto;
  2473. }
  2474.  
  2475.  
  2476.  
  2477. [location="structured-home"]::after {
  2478. background: #f4f4f4;
  2479. content: "";
  2480. position: fixed;
  2481. z-index: -1;
  2482. top: 0;
  2483. left: 0;
  2484. width: 100vw;
  2485. height: 100vh;
  2486. }
  2487. #ugf-structured-hp-cards {
  2488. width: 100vw;
  2489. }
  2490. .ugf-hp-card-double-list {
  2491. width: 1000px;
  2492. padding-top: 15px;
  2493. margin: 0 auto;
  2494. display: flex;
  2495. flex-wrap: wrap;
  2496. }
  2497. .ugf-hp-card {
  2498. height: 150px;
  2499. background: #fff;
  2500. box-shadow: 0 2px 2px 0 rgba(0,0,0,0.16),0 0 0 1px rgba(0,0,0,0.08);
  2501. width: 490px;
  2502. margin-bottom: 20px;
  2503. text-decoration: none !important;
  2504. }
  2505. .ugf-hp-card:nth-child(2n - 1) {
  2506. margin-right: auto;
  2507. }
  2508. .ugf-hp-card:nth-child(2n) {
  2509. margin-left: auto;
  2510. }
  2511. .ugf-hp-card-left {
  2512. padding: 4px;
  2513. background: #f1f1f1;
  2514. height: 142px;
  2515. display: flex;
  2516. align-items: center;
  2517. border-right: 1px solid #ddd;
  2518. width: 140px;
  2519. min-width: 140px;
  2520. }
  2521. .ugf-hp-card img {
  2522. width: 120px;
  2523. margin: 0 auto;
  2524. }
  2525. #ugf-photos img {
  2526. width: 135px;
  2527. margin: 0 auto 0 0;
  2528. }
  2529. #ugf-drive img {
  2530. width: 135px;
  2531. margin: 0 auto;
  2532. }
  2533. .ugf-hp-card-right {
  2534. padding: 10px 15px;
  2535. height: 129px;
  2536. width: 312px;
  2537. display: flex;
  2538. align-items: center;
  2539. }
  2540. .ugf-hp-card:hover .ugf-hp-card-right {
  2541. box-shadow: inset 8px 0 16px rgba(0,0,0,0.1);
  2542. }
  2543. .ugf-hp-card:active .ugf-hp-card-right {
  2544. box-shadow: inset 16px 0 32px rgba(0,0,0,0.15);
  2545. }
  2546. .ugf-hp-card-title {
  2547. font-size: 26px;
  2548. margin-bottom: 4px;
  2549. color: #222;
  2550. width: fit-content;
  2551. }
  2552. .ugf-hp-card-sub {
  2553. color: #777;
  2554. font-size: 13px;
  2555. }
  2556.  
  2557. #ugf-hp-footer,
  2558. #ugf-structured-hp-footer {
  2559. margin-top: 20px;
  2560. background: #f2f2f2;
  2561. border-top: 1px solid #e4e4e4;
  2562. width: 100%;
  2563. line-height: 40px;
  2564. }
  2565. #ugf-structured-hp-footer-right {
  2566. margin-left: auto;
  2567. margin-right: 30px;
  2568. }
  2569. .ugf-structured-hp-footer-link {
  2570. padding-left: 31px;
  2571. color: #666 !important;
  2572. font-size: 13px;
  2573. }
  2574. @media only screen and (min-height: 850px) {
  2575. #ugf-structured-hp-footer {
  2576. position: fixed;
  2577. bottom: 0;
  2578. }
  2579. }
  2580. #ugf-hp-footer {
  2581. position: fixed;
  2582. bottom: 0;
  2583. }
  2584.  
  2585. [location="home"] #ugf-topbar,
  2586. [layout="2016"][location="home"] #ugf-topbar,
  2587. [layout="2016C"][location="home"] #ugf-topbar,
  2588. [layout="2018"][location="home"] #ugf-topbar,
  2589. [layout="2019"][location="home"] #ugf-topbar {
  2590. background: none;
  2591. height: 30px;
  2592. padding: 12px 3px;
  2593. border-bottom: none;
  2594. }
  2595. [location="home"] #ugf-navbar {
  2596. display: none;
  2597. }
  2598. [location="home"] #ugf-logo-cont {
  2599. display: none;
  2600. }
  2601. html:not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]) #ugf-hp-search-links,
  2602. [layout="2012"] #ugf-homepage-links,
  2603. [layout="2013"] #ugf-homepage-links,
  2604. [layout="2013L"] #ugf-homepage-links,
  2605. [layout="2015L"] #ugf-homepage-links,
  2606. [layout="2016L"] #ugf-homepage-links,
  2607. html:not([location="home"]) #ugf-homepage-links {
  2608. display: none;
  2609. }
  2610. .ugf-homepage-link {
  2611. color: rgba(0,0,0,0.87) !important;
  2612. font-size: 13px;
  2613. margin-right: 15px;
  2614. }
  2615. .ugf-homepage-link:hover {
  2616. opacity: .85;
  2617. text-decoration: underline;
  2618. }
  2619. #ugf-hp {
  2620. width: 584px;
  2621. margin: 0 auto;
  2622. }
  2623. html:not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]) #ugf-hp-inner {
  2624. margin-top: 144px;
  2625. }
  2626. [layout="2016C"] #ugf-hp #ugf-search,
  2627. [layout="2018"] #ugf-hp #ugf-search,
  2628. [layout="2019"] #ugf-hp #ugf-search {
  2629. width: 584px;
  2630. }
  2631. #ugf-hp-logo {
  2632. width: 272px;
  2633. height: 92px;
  2634. margin: 0 auto;
  2635. }
  2636. #ugf-hp-logo img {
  2637. width: 272px;
  2638. height: 92px;
  2639. }
  2640. [layout="2012"] #ugf-hp-logo img,
  2641. [layout="2013"] #ugf-hp-logo img,
  2642. [layout="2014"] #ugf-hp-logo img,
  2643. [layout="2015"] #ugf-hp-logo img {
  2644. width: 269px;
  2645. height: 95px;
  2646. }
  2647. #ugf-hp-search {
  2648. margin-top: 31px;
  2649. margin-left: 6px;
  2650. }
  2651. [layout="2013L"] #ugf-hp-search,
  2652. [layout="2015L"] #ugf-hp-search,
  2653. [layout="2016L"] #ugf-hp-search {
  2654. margin-top: 36px;
  2655. margin-left: 36px;
  2656. }
  2657. [layout="2012"] #ugf-hp-search,
  2658. [layout="2013"] #ugf-hp-search,
  2659. [layout="2014"] #ugf-hp-search,
  2660. [layout="2015"] #ugf-hp-search {
  2661. margin-top: 23px;
  2662. max-width: 568px;
  2663. }
  2664. [layout="2012"] #ugf-hp-search #ugf-search,
  2665. [layout="2013"] #ugf-hp-search #ugf-search,
  2666. [layout="2014"] #ugf-hp-search #ugf-search,
  2667. [layout="2015"] #ugf-hp-search #ugf-search {
  2668. max-width: 568px;
  2669. }
  2670. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"])[location="home"] #ugf-search-btn {
  2671. display: none;
  2672. }
  2673. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"])[location="home"] #ugf-searchbar {
  2674. border-right: 1px solid rgb(217, 217, 217) !important;
  2675. }
  2676. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"])[location="home"][search-focus="soft"] #ugf-searchbar {
  2677. border: 1px solid rgb(217, 217, 217) !important;
  2678. box-shadow: none;
  2679. }
  2680. html:not([layout="2016C"]):not([layout="2017"]):not([layout="2018"]):not([layout="2019"])[location="home"][search-focus="hard"] #ugf-searchbar {
  2681. border-right: 1px solid #08c !important;
  2682. border-right: 1px solid #4d90fe !important;
  2683. }
  2684. [layout="2013L"][location="home"] #ugf-search #ugf-searchbar,
  2685. [layout="2015L"][location="home"] #ugf-search #ugf-searchbar,
  2686. [layout="2016L"][location="home"] #ugf-search #ugf-searchbar {
  2687. height: 32px;
  2688. width: 514px;
  2689. border: 1px solid #8f8f9d !important;
  2690. border-radius: 2px;
  2691. }
  2692. [layout="2013L"][location="home"] #ugf-search #ugf-searchbar:hover,
  2693. [layout="2015L"][location="home"] #ugf-search #ugf-searchbar:hover,
  2694. [layout="2016L"][location="home"] #ugf-search #ugf-searchbar:hover {
  2695. border: 1px solid #676774 !important;
  2696. }
  2697. [layout="2013L"][location="home"][search-focus="hard"] #ugf-search #ugf-searchbar,
  2698. [layout="2015L"][location="home"][search-focus="hard"] #ugf-search #ugf-searchbar,
  2699. [layout="2016L"][location="home"][search-focus="hard"] #ugf-search #ugf-searchbar {
  2700. border: 1px solid #484851 !important;
  2701. }
  2702. .ugf-hp-search-link {
  2703. color: #36c !important;
  2704. display: block;
  2705. margin: 2px 0;
  2706. margin-left: 0px;
  2707. margin-left: 13px;
  2708. font-size: 11px;
  2709. width: 106px;
  2710. }
  2711. #ugf-hp-buttons-row {
  2712. margin-top: 20px;
  2713. }
  2714. [layout="2012"] #ugf-hp-buttons-row,
  2715. [layout="2013"] #ugf-hp-buttons-row,
  2716. [layout="2014"] #ugf-hp-buttons-row,
  2717. [layout="2015"] #ugf-hp-buttons-row {
  2718. margin-top: 5px;
  2719. }
  2720. [layout="2013L"] #ugf-hp-buttons-row,
  2721. [layout="2015L"] #ugf-hp-buttons-row,
  2722. [layout="2016L"] #ugf-hp-buttons-row {
  2723. margin-top: 6px;
  2724. }
  2725. #ugf-hp-buttons {
  2726. width: fit-content;
  2727. margin: 0 auto;
  2728. }
  2729. #ugf-hp-buttons a {
  2730. background: -webkit-linear-gradient(top,#f5f5f5,#f1f1f1);
  2731. -webkit-user-select: none;
  2732. background-color: #f2f2f2;
  2733. border: 1px solid #f2f2f2;
  2734. border-radius: 2px;
  2735. color: #757575;
  2736. cursor: default;
  2737. font-family: arial,sans-serif;
  2738. font-size: 13px;
  2739. font-weight: bold;
  2740. margin: 11px 4px;
  2741. min-width: 54px;
  2742. padding: 0 16px;
  2743. text-align: center;
  2744. height: 36px;
  2745. line-height: 27px;
  2746. display: flex;
  2747. align-items: center;
  2748. text-decoration: none !important;
  2749. }
  2750. #ugf-hp-buttons a:hover {
  2751. background-image: -webkit-linear-gradient(top,#f8f8f8,#f1f1f1);
  2752. border: 1px solid #c6c6c6;
  2753. box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  2754. color: #222;
  2755. }
  2756. #ugf-hp-buttons a:active,
  2757. #ugf-hp-buttons a:focus {
  2758. border: 1px solid #4d90fe;
  2759. outline: none;
  2760. }
  2761. [layout="2013L"] #ugf-hp-buttons a,
  2762. [layout="2015L"] #ugf-hp-buttons a,
  2763. [layout="2016L"] #ugf-hp-buttons a {
  2764. background: url(https://www.google.com/images/srpr/nav_logo80.png) 0 -258px repeat-x;
  2765. color: #000;
  2766. cursor: pointer;
  2767. height: 30px;
  2768. margin: 0 0 0 4px;
  2769. outline: 0;
  2770. font: 15px arial,sans-serif;
  2771. border: 1px solid;
  2772. border-color: #ccc #999 #999 #ccc;
  2773. padding: 0 4px;
  2774. }
  2775. [layout="2013L"] #ugf-hp-buttons a:hover,
  2776. [layout="2015L"] #ugf-hp-buttons a:hover,
  2777. [layout="2016L"] #ugf-hp-buttons a:hover {
  2778. border-color: #ddd #aaa #aaa #ddd;
  2779. }
  2780. [layout="2013L"] #ugf-hp-buttons a:active,
  2781. [layout="2015L"] #ugf-hp-buttons a:active,
  2782. [layout="2016L"] #ugf-hp-buttons a:active {
  2783. background: #ccc;
  2784. }
  2785. [layout="2012"] #ugf-hp-buttons a,
  2786. [layout="2013"] #ugf-hp-buttons a,
  2787. [layout="2014"] #ugf-hp-buttons a,
  2788. [layout="2015"] #ugf-hp-buttons a {
  2789. margin: 11px 8px;
  2790. }
  2791.  
  2792. html[fake-spa] #ugf-main-inner {
  2793. transition: opacity 0.1s linear;
  2794. }
  2795. html[fake-spa]:not([results-arrived]) #ugf-main-inner {
  2796. opacity: 0;
  2797. }
  2798. html[fake-spa][results-arrived][hide-results="true"] #ugf-main-inner {
  2799. opacity: 0;
  2800. }
  2801.  
  2802.  
  2803. #ugf-footer {
  2804. margin-bottom: 40px;
  2805. }
  2806. html:not([legacy-footer]) #ugf-footer-links {
  2807. display: none;
  2808. }
  2809. .ugf-footer-links {
  2810. width: fit-content;
  2811. margin: 0 auto;
  2812. }
  2813. #ugf-footer-links-upper,
  2814. #ugf-footer-links-middle {
  2815. margin-top: 19px;
  2816. }
  2817. .ugf-footer-link {
  2818. margin: 0 12px;
  2819. color: #12c !important;
  2820. text-decoration: none !important;
  2821. font-size: 13px;
  2822. }
  2823.  
  2824.  
  2825.  
  2826. #ugf-load-now-container {
  2827. margin-top: 10px;
  2828. display: flex;
  2829. }
  2830. #ugf-load-now {
  2831. margin-left: 5px;
  2832. color: #12c;
  2833. cursor: pointer;
  2834. }
  2835. [noton-images][location="images"] #ugf-load-now-container,
  2836. [results-arrived] #ugf-load-now-container {
  2837. display: none;
  2838. }
  2839. #ugf-load-now:hover {
  2840. text-decoration: underline;
  2841. }
  2842.  
  2843. [location="images"]:not([layout="2010"]):not([layout="2011"]):not([layout="2012"]):not([layout="2013"]):not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]):not([layout="2019"]) body {
  2844. background: #f1f1f1;
  2845. }
  2846.  
  2847.  
  2848.  
  2849. .ugf-gplex-section:not(:first-of-type) {
  2850. border-top: 1px solid #ebebeb;
  2851. }
  2852. .ugf-gplex-section {
  2853. max-width: 1140px;
  2854. min-width: 200px;
  2855. width: 96%;
  2856. padding: 18px 0;
  2857. margin-left: 20px;
  2858. }
  2859. .ugf-gplex-section-title {
  2860. font-size: 16px;
  2861. min-height: 42px;
  2862. font-weight: 500;
  2863. color: #333;
  2864. }
  2865. .ugf-gplex-option {
  2866. position: relative;
  2867. }
  2868. .ugf-dropdown-button {
  2869. background: linear-gradient(to bottom,#f5f5f5,#f1f1f1);
  2870. border: 1px solid #dcdcdc;
  2871. color: #444;
  2872. cursor: default;
  2873. font-size: 11px;
  2874. font-weight: bold;
  2875. line-height: 27px;
  2876. list-style: none;
  2877. margin: 0 2px;
  2878. border-radius: 2px;
  2879. display: block;
  2880. white-space: nowrap;
  2881. padding: 0 8px;
  2882. position: relative;
  2883. width: 554px;
  2884. -webkit-user-select: none;
  2885. max-height: 27px;
  2886. cursor: pointer;
  2887. }
  2888. .ugf-dropdown-button::after {
  2889. content: "";
  2890. display: inline-block;
  2891. border-color: #777 transparent;
  2892. border-style: solid;
  2893. border-width: 4px 4px 0 4px;
  2894. height: 0;
  2895. width: 0;
  2896. position: absolute;
  2897. right: 5px;
  2898. top: 12px;
  2899. }
  2900. [layout-dd-open] #ugf-layout-dd-btn::after,
  2901. [noton-dd-open] #ugf-noton-dd-btn::after,
  2902. .ugf-dropdown-button:hover::after {
  2903. border-color: #595959 transparent;
  2904. }
  2905. .ugf-dropdown-button:hover {
  2906. background-image: linear-gradient(to bottom,#f8f8f8,#f1f1f1);
  2907. box-shadow: 0 1px 1px rgba(0,0,0,.1);
  2908. border-color: #c6c6c6;
  2909. color: #333;
  2910. }
  2911. [layout-dd-open] #ugf-layout-dd-btn,
  2912. [noton-dd-open] #ugf-noton-dd-btn,
  2913. .ugf-dropdown-button:active {
  2914. background-image: linear-gradient(to bottom,#eee,#e0e0e0);
  2915. box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
  2916. border-color: #ccc;
  2917. color: #333;
  2918. }
  2919. .ugf-dropdown-button:focus {
  2920. border-color: #4d90f3;
  2921. }
  2922. .ugf-dropdown {
  2923. position: absolute;
  2924. z-index: 1918;
  2925. top: 29px;
  2926. box-shadow: 0 2px 4px rgba(0,0,0,.2);
  2927. border: 1px solid rgba(0,0,0,.2);
  2928. width: 570px;
  2929. background: #fff;
  2930. padding: 6px 0;
  2931. font-size: 13px;
  2932. left: 2px;
  2933. }
  2934. .ugf-dropdown-item {
  2935. display: block;
  2936. padding: 6px 104px 6px 30px;
  2937. padding: 6px 20px 6px 20px;
  2938. color: #333;
  2939. -webkit-user-select: none;
  2940. cursor: pointer;
  2941. }
  2942. .ugf-dropdown-item:hover {
  2943. background: #eee;
  2944. }
  2945. .ugf-gplex-text {
  2946. color: #555;
  2947. font-size: 11px;
  2948. margin-left: 8px;
  2949. max-width: 550px;
  2950. }
  2951. .ugf-input input {
  2952. width: 552px;
  2953. height: 29px;
  2954. padding: 0 8px;
  2955. background: #fff;
  2956. border: 1px solid #ccc;
  2957. border-top: 1px solid #c0c0c0;
  2958. border-radius: 0;
  2959. outline: none;
  2960. }
  2961. .ugf-input input:focus {
  2962. box-shadow: inset 0 1px 2px rgba(0,0,0,.3);
  2963. border: 1px solid #4d90fe;
  2964. }
  2965. [unsaved="error"] .ugf-input input {
  2966. background: #fcc;
  2967. }
  2968. .ugf-input .ugf-input-below {
  2969. font-size: 13px;
  2970. color: #c00;
  2971. margin-top: 2px;
  2972. }
  2973. .ugf-input .ugf-input-unsaved,
  2974. .ugf-input .ugf-input-error {
  2975. display: none;
  2976. }
  2977. [unsaved="error"] .ugf-input .ugf-input-error {
  2978. display: block;
  2979. }
  2980. [unsaved="true"] .ugf-input .ugf-input-unsaved {
  2981. display: block;
  2982. }
  2983. </style>
  2984. `;
  2985. class SearchResultAPI {
  2986. href;
  2987. title;
  2988. unmoddedTitle;
  2989. itemNo;
  2990. description;
  2991. src;
  2992. width;
  2993. height;
  2994. iframeUrl;
  2995. doc;
  2996. refdoc;
  2997. heading;
  2998. medium;
  2999. link;
  3000. domain;
  3001. bigSrc;
  3002. list;
  3003. thumbnail;
  3004. duration;
  3005. constructor(item, type) {
  3006. if (type == "result") {
  3007. this.href = item.href;
  3008. this.title = item.title;
  3009. this.unmoddedTitle = item.unmoddedTitle;
  3010. this.itemNo = item.itemNo;
  3011. this.description = item.description;
  3012. }
  3013. if (type == "video") {
  3014. this.href = item.href;
  3015. this.title = item.title;
  3016. this.unmoddedTitle = item.unmoddedTitle;
  3017. this.itemNo = item.itemNo;
  3018. this.description = item.description;
  3019. this.thumbnail = item.thumbnail;
  3020. this.duration = item.duration;
  3021. }
  3022. if (type == "image") {
  3023. this.itemNo = item.itemNo;
  3024. this.src = item.src;
  3025. this.width = item.width;
  3026. this.height = item.height;
  3027. this.iframeUrl = item.iframeUrl;
  3028. this.refdoc = item.refdocid;
  3029. this.doc = item.docid;
  3030. this.link = item.link;
  3031. this.title = item.title;
  3032. this.domain = item.domain;
  3033. this.bigSrc = item.bigSrc;
  3034. }
  3035. if (type == "block") {
  3036. this.itemNo = item.itemNo;
  3037. if (item.title) {
  3038. this.title = item.title;
  3039. }
  3040. if (item.heading) {
  3041. this.heading = item.heading;
  3042. }
  3043. if (item.medium) {
  3044. this.medium = item.medium;
  3045. }
  3046. if (item.list) {
  3047. this.list = item.list;
  3048. }
  3049. }
  3050. }
  3051. }
  3052. class SearchSidebarAPI {
  3053. title;
  3054. sub;
  3055. img;
  3056. desc;
  3057. kc1;
  3058. kc2;
  3059. kc3;
  3060. kc4;
  3061. kc5;
  3062. kc6;
  3063. kc7;
  3064. kc8;
  3065. kc9;
  3066. kc10;
  3067. kc11;
  3068. kc12;
  3069. constructor(tit, subtit, img, desc, kc1, kc2, kc3, kc4, kc5, kc6, kc7, kc8, kc9, kc10, kc11, kc12) {
  3070. if (tit != null) {
  3071. this.title = tit;
  3072. this.sub = subtit;
  3073. this.img = img;
  3074. this.desc = desc;
  3075. this.kc1 = kc1;
  3076. this.kc2 = kc2;
  3077. this.kc3 = kc3;
  3078. this.kc4 = kc4;
  3079. this.kc5 = kc5;
  3080. this.kc6 = kc6;
  3081. this.kc7 = kc7;
  3082. this.kc8 = kc8;
  3083. this.kc9 = kc9;
  3084. this.kc10 = kc10;
  3085. this.kc11 = kc11;
  3086. this.kc12 = kc12;
  3087. }
  3088. }
  3089. }
  3090. let UImessages = {
  3091. "l2019": "2019",
  3092. "l2018": "2017-2018",
  3093. "l2016": "2016",
  3094. "l2016C": "2016 (Cardified experiment)",
  3095. "l2016L": "2016 (Legacy/old browser version)",
  3096. "l2015": "2015",
  3097. "l2015L": "2014-2015 (Legacy/old browser version)",
  3098. "l2014": "2014",
  3099. "l2013": "Late 2012-2013",
  3100. "l2013L": "2013 (Legacy/old browser version)",
  3101. "l2012": "Late 2011-Early 2012",
  3102. "notonOn": "On",
  3103. "notonOff": "Off (compatible with the Google Images Restored extension)",
  3104. "forceLoadMsgOn": "On",
  3105. "forceLoadMsgOff": "Off",
  3106. "forceLoadMsgFast": "Off (experimental fast mode, not recommended)",
  3107. "NEname": "Username",
  3108. "NEemail": "Email",
  3109. "NEnone": 'None (it will say "account" instead)',
  3110. "SDnone": "Never show",
  3111. "SDtopbar": "Always show",
  3112. "SDtopbarHover": "Show on hover"
  3113. };
  3114. let linkList = [];
  3115. let searchValue;
  3116. let searchValueV;
  3117. let hasSidebar = false;
  3118. let sidebarInfoList = [];
  3119. let SB = new SearchSidebarAPI(null);
  3120. let loggedIn = "tbd";
  3121. let pfp;
  3122. let pfp96;
  3123. let username;
  3124. let email;
  3125. let tempSidebarList = [];
  3126. let tempUpbarList;
  3127. let firstLinkBelongsToBlock = false;
  3128. let hasCorrection = false;
  3129. let correction;
  3130. let insteadLink;
  3131. let resultCount;
  3132. let url = window.location.href;
  3133. let tbs;
  3134. let page = 1;
  3135. let navbarText = "Search";
  3136. let tempQuery = window.location.href.split("q=");
  3137. let location = "all";
  3138. let layout = localStorage.getItem("UGF_LAYOUT");
  3139. let structuredHP = localStorage.getItem("UGF_STRUCTURED_HOMEPAGE");
  3140. let notOnImages = localStorage.getItem("UGF_NOTON_IMAGES");
  3141. let forceLoadMsg = localStorage.getItem("UGF_FORCE_LOAD_MSG");
  3142. let nameEmail = localStorage.getItem("UGF_NAME_EMAIL");
  3143. let settingsDisplay = localStorage.getItem("UGF_SETTINGS_DISPLAY");
  3144. let gPlusLink = localStorage.getItem("UGF_PLUS_LINK");
  3145. if (url.includes("&tbs=")) {
  3146. tbs = window.location.href.split("&tbs=")[1];
  3147. if (tbs.includes("&")) {
  3148. tbs = tbs.split("&")[0];
  3149. }
  3150. }
  3151. switch (layout) {
  3152. case '2010':
  3153. document.querySelector("html").setAttribute("layout","2010");
  3154. break;
  3155. case '2011':
  3156. document.querySelector("html").setAttribute("layout","2011");
  3157. break;
  3158. case '2012':
  3159. document.querySelector("html").setAttribute("layout","2012");
  3160. document.querySelector("html").setAttribute("legacy-images","");
  3161. document.querySelector("html").setAttribute("legacy-gbar","");
  3162. document.querySelector("html").setAttribute("legacy-footer","");
  3163. break;
  3164. case '2013':
  3165. document.querySelector("html").setAttribute("layout","2013");
  3166. document.querySelector("html").setAttribute("legacy-footer","");
  3167. //document.querySelector("html").setAttribute("fake-spa","");
  3168. break;
  3169. case '2013L':
  3170. document.querySelector("html").setAttribute("layout","2013L");
  3171. document.querySelector("html").setAttribute("legacy-images","");
  3172. document.querySelector("html").setAttribute("legacy-gbar","");
  3173. document.querySelector("html").setAttribute("legacy-footer","");
  3174. break;
  3175. case '2014':
  3176. document.querySelector("html").setAttribute("layout","2014");
  3177. //document.querySelector("html").setAttribute("fake-spa","");
  3178. break;
  3179. case '2015':
  3180. document.querySelector("html").setAttribute("layout","2015");
  3181. //document.querySelector("html").setAttribute("fake-spa","");
  3182. break;
  3183. case '2015L':
  3184. document.querySelector("html").setAttribute("layout","2015L");
  3185. document.querySelector("html").setAttribute("legacy-images","");
  3186. document.querySelector("html").setAttribute("legacy-gbar","");
  3187. document.querySelector("html").setAttribute("legacy-footer","");
  3188. break;
  3189. case '2016':
  3190. document.querySelector("html").setAttribute("layout","2016");
  3191. //document.querySelector("html").setAttribute("fake-spa","");
  3192. break;
  3193. case "2016C":
  3194. document.querySelector("html").setAttribute("layout","2016C");
  3195. break;
  3196. case '2016L':
  3197. document.querySelector("html").setAttribute("layout","2016L");
  3198. document.querySelector("html").setAttribute("legacy-images","");
  3199. document.querySelector("html").setAttribute("legacy-gbar","");
  3200. document.querySelector("html").setAttribute("legacy-footer","");
  3201. break;
  3202. case "2018":
  3203. document.querySelector("html").setAttribute("layout","2018");
  3204. break;
  3205. case "2019":
  3206. document.querySelector("html").setAttribute("layout","2019");
  3207. break;
  3208. default:
  3209. document.querySelector("html").setAttribute("layout","2015");
  3210. localStorage.setItem("UGF_LAYOUT","2015");
  3211. }
  3212. if (structuredHP == null) {
  3213. localStorage.setItem("UGF_STRUCTURED_HOMEPAGE","false");
  3214. structuredHP = "false";
  3215. }
  3216. if (notOnImages == null) {
  3217. localStorage.setItem("UGF_NOTON_IMAGES","false");
  3218. notOnImages = "false";
  3219. }
  3220. if (forceLoadMsg == null) {
  3221. localStorage.setItem("UGF_FORCE_LOAD_MSG","true");
  3222. forceLoadMsg = "true";
  3223. }
  3224. if (nameEmail == null) {
  3225. localStorage.setItem("UGF_NAME_EMAIL","name");
  3226. nameEmail = "name";
  3227. }
  3228. if (settingsDisplay == null) {
  3229. localStorage.setItem("UGF_SETTINGS_DISPLAY","topbar");
  3230. settingsDisplay = "topbar";
  3231. }
  3232. if (gPlusLink == null) {
  3233. localStorage.setItem("UGF_PLUS_LINK","https://plus.google.com/");
  3234. gPlusLink = "https://plus.google.com/";
  3235. }
  3236. switch (notOnImages) {
  3237. case "false":
  3238. break;
  3239. case 'true':
  3240. document.querySelector("html").setAttribute("noton-images","");
  3241. break;
  3242. }
  3243. switch (nameEmail) {
  3244. case "name":
  3245. document.querySelector("html").setAttribute("name-email","name");
  3246. break;
  3247. case 'email':
  3248. document.querySelector("html").setAttribute("name-email","email");
  3249. break;
  3250. }
  3251. switch (settingsDisplay) {
  3252. case "none":
  3253. break;
  3254. case "topbar":
  3255. document.querySelector("html").setAttribute("settings-display","topbar");
  3256. break;
  3257. case 'topbar-hover':
  3258. document.querySelector("html").setAttribute("settings-display","topbar-hover");
  3259. break;
  3260. }
  3261. document.querySelector("html").setAttribute("location","all");
  3262. if (
  3263. url.includes("tbm=isch") ||
  3264. url.includes("udm=2")
  3265. ) {
  3266. location = "images";
  3267. document.querySelector("html").setAttribute("location","images");
  3268. }
  3269. if (
  3270. url.includes("tbm=vid")
  3271. ) {
  3272. location = "videos";
  3273. document.querySelector("html").setAttribute("location","videos");
  3274. }
  3275. if (
  3276. url.includes("tbm=bks") ||
  3277. url.includes("tbm=shop") ||
  3278. url.includes("tbm=nws")
  3279. ) {
  3280. location = "news";
  3281. document.querySelector("html").setAttribute("location","news");
  3282. document.querySelector("html").setAttribute("disabled","");
  3283. }
  3284. if (
  3285. url.includes("https://www.google.com/gplex") ||
  3286. url.includes("https://www.google.com/Gplex")
  3287. ) {
  3288. location = "gplex";
  3289. document.querySelector("html").setAttribute("location","gplex");
  3290. }
  3291. if (structuredHP == "false") {
  3292. if (
  3293. url.includes("www.google.com/webhp") ||
  3294. url == "https://www.google.com/"
  3295. ) {
  3296.  
  3297. location = "home";
  3298. document.querySelector("html").setAttribute("location","home");
  3299. }
  3300. } else {
  3301. if (
  3302. url.includes("www.google.com/webhp") ||
  3303. url.includes("www.google.com/imghp") ||
  3304. url.includes("www.google.com/videohp") ||
  3305. url == "https://www.google.com/"
  3306. ) {
  3307.  
  3308. location = "structured-home";
  3309. document.querySelector("html").setAttribute("location","structured-home");
  3310. }
  3311. }
  3312.  
  3313. if (
  3314. url.includes("&start=10")
  3315. ) {
  3316. page = 2;
  3317. }
  3318. if (
  3319. url.includes("&start=20") ||
  3320. url.includes("&start=11")
  3321. ) {
  3322. page = 3;
  3323. }
  3324. if (
  3325. url.includes("&start=30") ||
  3326. url.includes("&start=21")
  3327. ) {
  3328. page = 4;
  3329. }
  3330. if (
  3331. url.includes("&start=40") ||
  3332. url.includes("&start=31")
  3333. ) {
  3334. page = 5;
  3335. }
  3336. if (
  3337. url.includes("&start=50") ||
  3338. url.includes("&start=41")
  3339. ) {
  3340. page = 6;
  3341. }
  3342. if (
  3343. url.includes("&start=60") ||
  3344. url.includes("&start=51")
  3345. ) {
  3346. page = 7;
  3347. }
  3348. if (
  3349. url.includes("&start=70") ||
  3350. url.includes("&start=61")
  3351. ) {
  3352. page = 8;
  3353. }
  3354. if (
  3355. url.includes("&start=80") ||
  3356. url.includes("&start=71")
  3357. ) {
  3358. page = 9;
  3359. }
  3360. if (
  3361. url.includes("&start=90") ||
  3362. url.includes("&start=81")
  3363. ) {
  3364. page = 10;
  3365. }
  3366. if (
  3367. url.includes("do") &&
  3368. url.includes("a") &&
  3369. url.includes("barrel") &&
  3370. url.includes("roll") &&
  3371. url.includes("x") ||
  3372. url.includes("%20times")
  3373. ) {
  3374. let times;
  3375. if (url.includes("%20times")) {
  3376. times = url.split("times")[0];
  3377. times = times.split("roll%20")[1];
  3378. times = times.split("%20")[0];
  3379. } else {
  3380. times = url.split("x")[1];
  3381. }
  3382. if (times.includes("&")) {
  3383. times = times.split("&")[0];
  3384. }
  3385. if (times.includes("#")) {
  3386. times = times.split("#")[0];
  3387. }
  3388. document.querySelector("body").style.animationDuration = "2s";
  3389. if (times >= 10) {
  3390. document.querySelector("body").style.animationTimingFunction = "linear";
  3391. }
  3392. if (times >= 50) {
  3393. document.querySelector("body").style.animationDuration = "1s";
  3394. }
  3395. if (times >= 500) {
  3396. document.querySelector("body").style.animationDuration = "0.5s";
  3397. }
  3398. document.querySelector("body").style.animationName = "roll";
  3399. document.querySelector("body").style.animationIterationCount = times;
  3400. document.querySelector("body").style.animationTimingFunction = "linear";
  3401. if (
  3402. url.includes("%20reverse") ||
  3403. url.includes("%20backwards")
  3404. ) {
  3405. document.querySelector("body").style.animationDirection = "reverse";
  3406. }
  3407. }
  3408. if (location == "gplex") {
  3409. navbarText = "Gplex Settings";
  3410. }
  3411. var canGo = false;
  3412. function timeout(durationMs) {
  3413. return new Promise((resolve, reject) => {
  3414. setTimeout(function() {
  3415. resolve();
  3416. }, durationMs);
  3417. });
  3418. }
  3419. async function waitForElement(elm) {
  3420. while (null == document.querySelector(elm)) {
  3421. await new Promise(r => requestAnimationFrame(r));
  3422. }
  3423. await timeout(300).then(function() {
  3424. canGo = true;
  3425. return document.querySelector(elm);
  3426. });
  3427. }
  3428. async function waitForElement500(elm) {
  3429. while (null == document.querySelector(elm)) {
  3430. await new Promise(r => requestAnimationFrame(r));
  3431. }
  3432. await timeout(500).then(function() {
  3433. canGo = true;
  3434. return document.querySelector(elm);
  3435. });
  3436. }
  3437. async function waitForElement10(elm) {
  3438. while (null == document.querySelector(elm)) {
  3439. await new Promise(r => requestAnimationFrame(r));
  3440. }
  3441. await timeout(10).then(function() {
  3442. canGo = true;
  3443. return document.querySelector(elm);
  3444. });
  3445. }
  3446. async function waitForElement10M(elm, parent) {
  3447. while (null == elm) {
  3448. await new Promise(r => requestAnimationFrame(r));
  3449. }
  3450. await timeout(10).then(function() {
  3451. canGo = true;
  3452. return parent.querySelector(elm);
  3453. });
  3454. }
  3455. async function waitForElement1000M(elm, parent) {
  3456. while (null == elm) {
  3457. await new Promise(r => requestAnimationFrame(r));
  3458. }
  3459. await timeout(100).then(function() {
  3460. canGo = true;
  3461. return parent.querySelector(elm);
  3462. });
  3463. }
  3464. async function waitForElement100(elm) {
  3465. while (null == document.querySelector(elm)) {
  3466. await new Promise(r => requestAnimationFrame(r));
  3467. }
  3468. await timeout(10).then(function() {
  3469. canGo = true;
  3470. return document.querySelector(elm);
  3471. });
  3472. }
  3473. function capitalizeFirstLetter(string) {
  3474. return string.charAt(0).toUpperCase() + string.slice(1);
  3475. }
  3476. let gPlexHTML = `
  3477. <div id="ugf-program">
  3478. <div id="ugf-layout-fence" class="ugf-fence">
  3479. </div>
  3480. <div id="ugf-noton-fence" class="ugf-fence">
  3481. </div>
  3482. <div id="ugf-forceload-fence" class="ugf-fence">
  3483. </div>
  3484. <div id="ugf-settings-display-fence" class="ugf-fence">
  3485. </div>
  3486. <div id="ugf-name-email-fence" class="ugf-fence">
  3487. </div>
  3488. <div id="ugf-gplex-settings">
  3489. <div id="ugf-top-container">
  3490. </div>
  3491. <div id="ugf-gplex">
  3492. <div id="ugf-gplex-inner">
  3493. <div class="ugf-gplex-section">
  3494. <div class="ugf-gplex-section-inner">
  3495. <div class="ugf-gplex-section-title">
  3496. <span>Layout</span>
  3497. </div>
  3498. <div class="ugf-gplex-section-content">
  3499. <div id="ugf-option-layout" class="ugf-gplex-option flex-bar" value="${layout}">
  3500. <a class="ugf-dropdown-button" id="ugf-layout-dd-btn">
  3501. <span>${UImessages.l2018}</span>
  3502. </a>
  3503. <div class="ugf-gplex-text">
  3504. <span>You can also change this setting by searching for "Google in [year]".</span>
  3505. </div>
  3506. <div class="ugf-dropdown" id="ugf-layout-dd">
  3507. <div class="ugf-dropdown-inner">
  3508. <a id="UGF_SET_LAYOUT_2019" class="ugf-dropdown-item" value="2019">
  3509. <span>${UImessages.l2019}</span>
  3510. </a>
  3511. <a id="UGF_SET_LAYOUT_2018" class="ugf-dropdown-item" value="2018">
  3512. <span>${UImessages.l2018}</span>
  3513. </a>
  3514. <a id="UGF_SET_LAYOUT_2016L" class="ugf-dropdown-item" value="2016L">
  3515. <span>${UImessages.l2016L}</span>
  3516. </a>
  3517. <a id="UGF_SET_LAYOUT_2016C" class="ugf-dropdown-item" value="2016C">
  3518. <span>${UImessages.l2016C}</span>
  3519. </a>
  3520. <a id="UGF_SET_LAYOUT_2016" class="ugf-dropdown-item" value="2016">
  3521. <span>${UImessages.l2016}</span>
  3522. </a>
  3523. <a id="UGF_SET_LAYOUT_2015L" class="ugf-dropdown-item" value="2015L">
  3524. <span>${UImessages.l2015L}</span>
  3525. </a>
  3526. <a id="UGF_SET_LAYOUT_2015" class="ugf-dropdown-item" value="2015">
  3527. <span>${UImessages.l2015}</span>
  3528. </a>
  3529. <a id="UGF_SET_LAYOUT_2014" class="ugf-dropdown-item" value="2014">
  3530. <span>${UImessages.l2014}</span>
  3531. </a>
  3532. <a id="UGF_SET_LAYOUT_2013L" class="ugf-dropdown-item" value="2013L">
  3533. <span>${UImessages.l2013L}</span>
  3534. </a>
  3535. <a id="UGF_SET_LAYOUT_2013" class="ugf-dropdown-item" value="2013">
  3536. <span>${UImessages.l2013}</span>
  3537. </a>
  3538. <a id="UGF_SET_LAYOUT_2012" class="ugf-dropdown-item" value="2012">
  3539. <span>${UImessages.l2012}</span>
  3540. </a>
  3541. </div>
  3542. </div>
  3543. </div>
  3544. </div>
  3545. </div>
  3546. </div>
  3547. <div class="ugf-gplex-section">
  3548. <div class="ugf-gplex-section-inner">
  3549. <div class="ugf-gplex-section-title">
  3550. <span>Custom Image Page</span>
  3551. </div>
  3552. <div class="ugf-gplex-section-content">
  3553. <div id="ugf-option-noton" class="ugf-gplex-option flex" value="${notOnImages}">
  3554. <a class="ugf-dropdown-button" id="ugf-noton-dd-btn">
  3555. <span>${UImessages.notonOn}</span>
  3556. </a>
  3557. <div class="ugf-gplex-text">
  3558. <span><b>On:</b> Gplex creates it's own image page, which can have some bugs.</span>
  3559. <br>
  3560. <span><b>Off:</b> Gplex uses the regular Google image page, which has better functionality, but isn't styled according to the layout.</span>
  3561. </div>
  3562. <div class="ugf-dropdown" id="ugf-noton-dd">
  3563. <div class="ugf-dropdown-inner">
  3564. <a id="" class="ugf-dropdown-item" value="false">
  3565. <span>${UImessages.notonOn}</span>
  3566. </a>
  3567. <a id="" class="ugf-dropdown-item" value="true">
  3568. <span>${UImessages.notonOff}</span>
  3569. </a>
  3570. </div>
  3571. </div>
  3572. </div>
  3573. </div>
  3574. </div>
  3575. </div>
  3576. <div class="ugf-gplex-section">
  3577. <div class="ugf-gplex-section-inner">
  3578. <div class="ugf-gplex-section-title">
  3579. <span>"Force load results" message</span>
  3580. </div>
  3581. <div class="ugf-gplex-section-content">
  3582. <div id="ugf-option-forceload" class="ugf-gplex-option flex" value="${forceLoadMsg}">
  3583. <a class="ugf-dropdown-button" id="ugf-forceload-dd-btn">
  3584. <span>${UImessages.forceLoadMsgOn}</span>
  3585. </a>
  3586. <div class="ugf-gplex-text">
  3587. <span><b>On:</b> When Gplex can't find enough results in the page, it will stall for a few seconds in hopes of finding more results, and show a message with an option to force load the results early. Theoretically more reliable on slow connections.</span>
  3588. <br>
  3589. <span><b>Off:</b> When Gplex would normally show the message, it will instead force load the results automatically.</span>
  3590. </div>
  3591. <div class="ugf-dropdown" id="ugf-forceload-dd">
  3592. <div class="ugf-dropdown-inner">
  3593. <a id="" class="ugf-dropdown-item" value="true">
  3594. <span>${UImessages.forceLoadMsgOn}</span>
  3595. </a>
  3596. <a id="" class="ugf-dropdown-item" value="false">
  3597. <span>${UImessages.forceLoadMsgOff}</span>
  3598. </a>
  3599. <a id="" style="display: none" class="ugf-dropdown-item" value="fast">
  3600. <span>${UImessages.forceLoadMsgFast}</span>
  3601. </a>
  3602. </div>
  3603. </div>
  3604. </div>
  3605. </div>
  3606. </div>
  3607. </div>
  3608. <div class="ugf-gplex-section">
  3609. <div class="ugf-gplex-section-inner">
  3610. <div class="ugf-gplex-section-title">
  3611. <span>Gplex Settings button</span>
  3612. </div>
  3613. <div class="ugf-gplex-section-content">
  3614. <div id="ugf-option-settings-display" class="ugf-gplex-option flex" value="${settingsDisplay}">
  3615. <a class="ugf-dropdown-button" id="ugf-settings-display-dd-btn">
  3616. <span>${UImessages.SDtopbar}</span>
  3617. </a>
  3618. <div class="ugf-gplex-text">
  3619. <span>Choose whether or not to display a link to this page on the topbar.</span>
  3620. </div>
  3621. <div class="ugf-dropdown" id="ugf-settings-display-dd">
  3622. <div class="ugf-dropdown-inner">
  3623. <a id="" class="ugf-dropdown-item" value="topbar">
  3624. <span>${UImessages.SDtopbar}</span>
  3625. </a>
  3626. <a id="" class="ugf-dropdown-item" value="topbar-hover">
  3627. <span>${UImessages.SDtopbarHover}</span>
  3628. </a>
  3629. <a id="" class="ugf-dropdown-item" value="none">
  3630. <span>${UImessages.SDnone}</span>
  3631. </a>
  3632. </div>
  3633. </div>
  3634. </div>
  3635. </div>
  3636. </div>
  3637. </div>
  3638. <div class="ugf-gplex-section">
  3639. <div class="ugf-gplex-section-inner">
  3640. <div class="ugf-gplex-section-title">
  3641. <span>Display name</span>
  3642. </div>
  3643. <div class="ugf-gplex-section-content">
  3644. <div id="ugf-option-name-email" class="ugf-gplex-option flex" value="${nameEmail}">
  3645. <a class="ugf-dropdown-button" id="ugf-name-email-dd-btn">
  3646. <span>${UImessages.NEname}</span>
  3647. </a>
  3648. <div class="ugf-gplex-text">
  3649. <span>Some layouts have a display name (older layouts generally speaking). Your email address was originally displayed, but you can choose to display your username instead. This will not affect account menus.</span>
  3650. </div>
  3651. <div class="ugf-dropdown" id="ugf-name-email-dd">
  3652. <div class="ugf-dropdown-inner">
  3653. <a id="" class="ugf-dropdown-item" value="name">
  3654. <span>${UImessages.NEname}</span>
  3655. </a>
  3656. <a id="" class="ugf-dropdown-item" value="email">
  3657. <span>${UImessages.NEemail}</span>
  3658. </a>
  3659. <!--a id="" class="ugf-dropdown-item" value="none">
  3660. <span>${UImessages.NEnone}</span>
  3661. </a-->
  3662. </div>
  3663. </div>
  3664. </div>
  3665. </div>
  3666. </div>
  3667. </div>
  3668. <div class="ugf-gplex-section">
  3669. <div class="ugf-gplex-section-inner">
  3670. <div class="ugf-gplex-section-title">
  3671. <span>Google+ custom link</span>
  3672. </div>
  3673. <div class="ugf-gplex-section-content">
  3674. <div id="ugf-option-plus-link" class="ugf-gplex-option flex">
  3675. <div class="ugf-input">
  3676. <input value="${gPlusLink}"></input>
  3677. <div class="ugf-input-below">
  3678. <span class="ugf-input-error">Invalid URL.</span>
  3679. <span class="ugf-input-unsaved">You have unsaved changes. Press enter to save.</span>
  3680. </div>
  3681. </div>
  3682. <div class="ugf-gplex-text">
  3683. <span>Custom link for Google+ buttons, such as the +You on the gbar, or the topbar on certain layouts. Defaults to <b>https://plus.google.com/</b>, which redirects to a notice that Google+ has been discontinued.</span>
  3684. </div>
  3685. </div>
  3686. </div>
  3687. </div>
  3688. </div>
  3689. <div class="ugf-gplex-section" style="display: none">
  3690. <div class="ugf-gplex-section-inner">
  3691. <div class="ugf-gplex-section-content">
  3692. <div class="ugf-fake-save-button" title="Settings are automatically saved. There is no need to manually save.">
  3693. <span>Save Settings</span>
  3694. </div>
  3695. </div>
  3696. </div>
  3697. </div>
  3698. </div>
  3699. </div>
  3700. </div>
  3701. </div>
  3702. `;
  3703. let normalHTML = ` <div id="ugf-program">
  3704. <div id="ugf-top-container">
  3705. </div>
  3706. <div id="ugf-page-multistate" state="all">
  3707. <div id="ugf-content">
  3708. <div id="ugf-left">
  3709. <div id="ugf-left-inner">
  3710. <div id="ugf-sidebar">
  3711. <div id="ugf-sidebar-nav" class="ugf-sidebar-section">
  3712. <a class="ugf-sidebar-tab active" id="ugf-all-item">
  3713. <div class="ugf-tab-inner">
  3714. <div class="ugf-tab-icon">
  3715. </div>
  3716. <span id="ugf-everything-text">Everything</span>
  3717. <span id="ugf-web-text">Web</span>
  3718. </div>
  3719. </a>
  3720. <a class="ugf-sidebar-tab" id="ugf-images-item">
  3721. <div class="ugf-tab-inner">
  3722. <div class="ugf-tab-icon">
  3723. </div>
  3724. <span>Images</span>
  3725. </div>
  3726. </a>
  3727. <a class="ugf-sidebar-tab" id="ugf-videos-item">
  3728. <div class="ugf-tab-inner">
  3729. <div class="ugf-tab-icon">
  3730. </div>
  3731. <span>Videos</span>
  3732. </div>
  3733. </a>
  3734. <a class="ugf-sidebar-tab" id="ugf-news-item">
  3735. <div class="ugf-tab-inner">
  3736. <div class="ugf-tab-icon">
  3737. </div>
  3738. <span>News</span>
  3739. </div>
  3740. </a>
  3741. <a class="ugf-sidebar-tab" id="ugf-maps-item">
  3742. <div class="ugf-tab-inner">
  3743. <div class="ugf-tab-icon">
  3744. </div>
  3745. <span>Maps</span>
  3746. </div>
  3747. </a>
  3748. <a class="ugf-sidebar-tab" id="ugf-settings-item" href="https://www.google.com/preferences">
  3749. <div class="ugf-tab-inner">
  3750. <div class="ugf-tab-icon">
  3751. </div>
  3752. <span>Settings</span>
  3753. </div>
  3754. </a>
  3755. </div>
  3756. <div id="ugf-sidebar-range-tools" class="ugf-sidebar-section ugf-sidebar-tools">
  3757. <div id="ugf-any-time-tool" class="ugf-sidebar-tool">
  3758. <a class="ugf-sidebar-tool-inner" href="https://www.google.com/search?q=TEMP_REPLACEME">
  3759. <span>Any time</span>
  3760. </a>
  3761. </div>
  3762. <div id="ugf-hour-tool" class="ugf-sidebar-tool">
  3763. <a class="ugf-sidebar-tool-inner" href="https://www.google.com/search?q=TEMP_REPLACEME&tbs=qdr:h">
  3764. <span>Past hour</span>
  3765. </a>
  3766. </div>
  3767. <div id="ugf-day-tool" class="ugf-sidebar-tool">
  3768. <a class="ugf-sidebar-tool-inner" href="https://www.google.com/search?q=TEMP_REPLACEME&tbs=qdr:d">
  3769. <span>Past day</span>
  3770. </a>
  3771. </div>
  3772. <div id="ugf-week-tool" class="ugf-sidebar-tool">
  3773. <a class="ugf-sidebar-tool-inner" href="https://www.google.com/search?q=TEMP_REPLACEME&tbs=qdr:w">
  3774. <span>Past week</span>
  3775. </a>
  3776. </div>
  3777. <div id="ugf-month-tool" class="ugf-sidebar-tool">
  3778. <a class="ugf-sidebar-tool-inner" href="https://www.google.com/search?q=TEMP_REPLACEME&tbs=qdr:m">
  3779. <span>Past month</span>
  3780. </a>
  3781. </div>
  3782. <div id="ugf-year-tool" class="ugf-sidebar-tool">
  3783. <a class="ugf-sidebar-tool-inner" href="https://www.google.com/search?q=TEMP_REPLACEME&tbs=qdr:y">
  3784. <span>Past year</span>
  3785. </a>
  3786. </div>
  3787. </div>
  3788. <div id="ugf-sidebar-specifity-tools" class="ugf-sidebar-section ugf-sidebar-tools">
  3789. <div id="ugf-all-results-tool" class="ugf-sidebar-tool">
  3790. <a class="ugf-sidebar-tool-inner" href="https://www.google.com/search?q=TEMP_REPLACEME">
  3791. <span>All results</span>
  3792. </a>
  3793. </div>
  3794. <div id="ugf-verbatim-tool" class="ugf-sidebar-tool">
  3795. <a class="ugf-sidebar-tool-inner" href="https://www.google.com/search?q=TEMP_REPLACEME&tbs=li:1">
  3796. <span>Verbatim</span>
  3797. </a>
  3798. </div>
  3799. </div>
  3800. </div>
  3801. </div>
  3802. </div>
  3803. <div id="ugf-main">
  3804. <div id="ugf-main-inner">
  3805. <div id="ugf-search-results" state-id="all">
  3806. <div id="ugf-search-results-header" class="flex-bar">
  3807. <span>
  3808. <span title="You have an experiment that gets rid of Google result counts. This is just here for decoration.">About 1,000,000 results (0.5 seconds)</span>
  3809. </span>
  3810. </div>
  3811. <div id="ugf-search-results-reserved-fake-iframe">
  3812. </div>
  3813. <div id="ugf-search-results-reserved-top">
  3814. </div>
  3815. <div id="ugf-search-results-container">
  3816. </div>
  3817. </div>
  3818. <div id="ugf-image-results" state-id="images">
  3819. <div id="ugf-image-results-container">
  3820. </div>
  3821. <div id="ugf-image-viewer">
  3822. </div>
  3823. <div id="ugf-image-iframe">
  3824. <iframe></iframe>
  3825. </div>
  3826. </div>
  3827. <div id="ugf-footer">
  3828. <style>
  3829. #gp-pagination {
  3830. margin: 0 auto;
  3831. position: relative;
  3832. width: fit-content;
  3833. }
  3834. html:not([layout="2015L"]):not([layout="2016L"]) #gp-pagination {
  3835. margin-top: 15px;
  3836. }
  3837. #gp-pagination-inner,
  3838. #gp-page-numbers {
  3839. display: flex;
  3840. }
  3841. .gp-pagination {
  3842. cursor: pointer;
  3843. font-size: 13px;
  3844. text-decoration: none;
  3845. text-align: center;
  3846. color: #4285f4;
  3847. }
  3848. [layout="2014"] .gp-pagination,
  3849. [layout="2015"] .gp-pagination,
  3850. [layout="2015L"] .gp-pagination,
  3851. [layout="2016L"] .gp-pagination {
  3852. color: #1a0dab;
  3853. }
  3854. [layout="2010"] .gp-pagination,
  3855. [layout="2011"] .gp-pagination,
  3856. [layout="2012"] .gp-pagination,
  3857. [layout="2013L"] .gp-pagination {
  3858. color: #12c;
  3859. }
  3860. .gp-pagination:not(.active):hover span {
  3861. text-decoration: underline;
  3862. }
  3863. [layout="2013L"] .gp-pagination-np,
  3864. [layout="2015L"] .gp-pagination-np,
  3865. [layout="2016L"] .gp-pagination-np {
  3866. text-decoration: underline;
  3867. }
  3868. .gp-pagination.active {
  3869. color: rgba(0,0,0,0.87);
  3870. cursor: default;
  3871. }
  3872. .gp-pagination .gp-image {
  3873. background: url(https://www.google.com/images/nav_logo242.png);
  3874. width: 20px;
  3875. height: 40px;
  3876. background-position: -74px 0;
  3877. }
  3878. [layout="2014"] .gp-pagination .gp-image,
  3879. [layout="2015"] .gp-pagination .gp-image,
  3880. [layout="2015L"] .gp-pagination .gp-image {
  3881. background: no-repeat url("https://www.google.com/images/nav_logo225.png");
  3882. width: 20px;
  3883. height: 40px;
  3884. background-position: -74px 0;
  3885. }
  3886. [layout="2010"] .gp-pagination .gp-image,
  3887. [layout="2011"] .gp-pagination .gp-image,
  3888. [layout="2012"] .gp-pagination .gp-image,
  3889. [layout="2013"] .gp-pagination .gp-image,
  3890. [layout="2013L"] .gp-pagination .gp-image {
  3891. background: no-repeat url("https://www.google.com/images/nav_logo124.png");
  3892. width: 20px;
  3893. height: 40px;
  3894. background-position: -74px 0;
  3895. }
  3896. .gp-pagination.active .gp-image {
  3897. background-position: -53px 0;
  3898. }
  3899. #gp-pagination-prev .gp-image {
  3900. width: 28px;
  3901. height: 40px;
  3902. background-position: -24px 0;
  3903. }
  3904. #gp-pagination-prev.has-prev .gp-image {
  3905. width: 53px;
  3906. background-position: 0 0;
  3907. }
  3908. #gp-pagination-prev:not(.has-prev) {
  3909. cursor: default;
  3910. pointer-events: none;
  3911. }
  3912. #gp-pagination-prev:not(.has-prev) span {
  3913. display: none;
  3914. }
  3915. #gp-pagination-next .gp-image {
  3916. width: 71px;
  3917. background-position: -96px 0;
  3918. }
  3919. #gp-pagination-prev span {
  3920. display: block;
  3921. position: absolute;
  3922. left: -8px;
  3923. }
  3924. #gp-pagination-next span {
  3925. display: block;
  3926. margin-left: 53px;
  3927. }
  3928. [layout="2012"] .gp-pagination-np span,
  3929. [layout="2013"] .gp-pagination-np span,
  3930. [layout="2013L"] .gp-pagination-np span,
  3931. [layout="2014"] .gp-pagination-np span,
  3932. [layout="2015"] .gp-pagination-np span,
  3933. [layout="2015L"] .gp-pagination-np span,
  3934. [layout="2016L"] .gp-pagination-np span {
  3935. font-weight: bold;
  3936. }
  3937. </style>
  3938. <div id="gp-pagination">
  3939. <div id="gp-pagination-inner">
  3940. <a id="gp-pagination-prev" class="gp-pagination gp-pagination-np" href="https://www.google.com/search?q=TEMP_REPLACEME">
  3941. <div class="gp-pagination-inner">
  3942. <div class="gp-image"></div>
  3943. <span>Prev</span>
  3944. </div>
  3945. </a>
  3946. <div id="gp-page-numbers">
  3947. <a id="gp-pagination-1" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME">
  3948. <div class="gp-pagination-inner">
  3949. <div class="gp-image"></div>
  3950. <span>1</span>
  3951. </div>
  3952. </a>
  3953. <a id="gp-pagination-2" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=10">
  3954. <div class="gp-pagination-inner">
  3955. <div class="gp-image"></div>
  3956. <span>2</span>
  3957. </div>
  3958. </a>
  3959. <a id="gp-pagination-3" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=20">
  3960. <div class="gp-pagination-inner">
  3961. <div class="gp-image"></div>
  3962. <span>3</span>
  3963. </div>
  3964. </a>
  3965. <a id="gp-pagination-4" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=30">
  3966. <div class="gp-pagination-inner">
  3967. <div class="gp-image"></div>
  3968. <span>4</span>
  3969. </div>
  3970. </a>
  3971. <a id="gp-pagination-5" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=40">
  3972. <div class="gp-pagination-inner">
  3973. <div class="gp-image"></div>
  3974. <span>5</span>
  3975. </div>
  3976. </a>
  3977. <a id="gp-pagination-6" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=50">
  3978. <div class="gp-pagination-inner">
  3979. <div class="gp-image"></div>
  3980. <span>6</span>
  3981. </div>
  3982. </a>
  3983. <a id="gp-pagination-7" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=60">
  3984. <div class="gp-pagination-inner">
  3985. <div class="gp-image"></div>
  3986. <span>7</span>
  3987. </div>
  3988. </a>
  3989. <a id="gp-pagination-8" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=70">
  3990. <div class="gp-pagination-inner">
  3991. <div class="gp-image"></div>
  3992. <span>8</span>
  3993. </div>
  3994. </a>
  3995. <a id="gp-pagination-9" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=80">
  3996. <div class="gp-pagination-inner">
  3997. <div class="gp-image"></div>
  3998. <span>9</span>
  3999. </div>
  4000. </a>
  4001. <a id="gp-pagination-10" class="gp-pagination" href="https://www.google.com/search?q=TEMP_REPLACEME&start=90">
  4002. <div class="gp-pagination-inner">
  4003. <div class="gp-image"></div>
  4004. <span>10</span>
  4005. </div>
  4006. </a>
  4007. </div>
  4008. <a id="gp-pagination-next" class="gp-pagination gp-pagination-np" href="https://www.google.com/search?q=TEMP_REPLACEME&start=10">
  4009. <div class="gp-pagination-inner">
  4010. <div class="gp-image"></div>
  4011. <span>Next</span>
  4012. </div>
  4013. </a>
  4014. </div>
  4015. </div>
  4016. <div id="ugf-footer-links">
  4017. <div id="ugf-footer-links-upper" class="flex-bar ugf-footer-links">
  4018. <a class="ugf-footer-link" href="https://www.google.com/advanced_search">Advanced search</a>
  4019. <a class="ugf-footer-link" href="https://support.google.com/websearch/answer/134479">Search Help</a>
  4020. <a class="ugf-footer-link" href="https://www.google.com/tools/feedback/survey/html?productId=196">Send feedback</a>
  4021. </div>
  4022. <div id="ugf-footer-links-middle" class="flex-bar ugf-footer-links">
  4023. <a class="ugf-footer-link" href="https://www.google.com/">Google Home</a>
  4024. <a class="ugf-footer-link" href="https://www.google.com/intl/en/ads">Advertising Programs</a>
  4025. <a class="ugf-footer-link" href="https://www.google.com/services">Business Solutions</a>
  4026. <a class="ugf-footer-link" href="https://www.google.com/intl/en/policies/">Privacy & Terms</a>
  4027. </div>
  4028. <div id="ugf-footer-links-lower" class="flex-bar ugf-footer-links">
  4029. <a class="ugf-footer-link" href="https://www.google.com/intl/en/about.html">About Google</a>
  4030. </div>
  4031. </div>
  4032. </div>
  4033. </div>
  4034. </div>
  4035. <div id="ugf-right">
  4036. <div id="ugf-right-inner">
  4037. </div>
  4038. </div>
  4039. </div>
  4040. </div>
  4041. </div>
  4042. `;
  4043. let homepageHTML = `
  4044. <div id="ugf-program">
  4045. <div id="ugf-homepage">
  4046. <div id="ugf-top-container">
  4047. </div>
  4048. <div id="ugf-hp">
  4049. <div id="ugf-hp-inner">
  4050. <div id="ugf-hp-logo">
  4051. <div id="ugf-hp-logo-inner">
  4052. <img id="melvin-hp-logo" src="data:image/png;base64,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"></img>
  4053. <img id="chopper-old-logo" src="https://www.google.com/images/srpr/logo11w.png"></img>
  4054. <img id="modern-logo" src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"></img>
  4055. </div>
  4056. <div id="ugf-hp-logo-companion">
  4057. </div>
  4058. </div>
  4059. <div id="ugf-hp-search" class="flex">
  4060. <div id="ugf-search-outer">
  4061. <div id="ugf-search">
  4062. <div id="ugf-searchbar">
  4063. <input id="ugf-search-value" autocomplete="off" autofocus></input>
  4064. </div>
  4065. <a id="ugf-search-btn">
  4066. <div id="ugf-search-btn-inner">
  4067. <span></span>
  4068. <svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>
  4069. </div>
  4070. </a>
  4071. <div id="ugf-search-predictions-container">
  4072. </div>
  4073. </div>
  4074. </div>
  4075. <div id="ugf-hp-search-links">
  4076. <a class="ugf-hp-search-link" href="https://www.google.com/advanced_search">
  4077. <span>Advanced search</span>
  4078. </a>
  4079. <a class="ugf-hp-search-link" href="https://www.google.com/language-tools">
  4080. <span>Language tools</span>
  4081. </a>
  4082. </div>
  4083. </div>
  4084. <div id="ugf-hp-buttons-row">
  4085. <div id="ugf-hp-buttons" class="flex-bar">
  4086. <a id="ugf-search-btn-2">
  4087. <span>Google Search</span>
  4088. </a>
  4089. <a id="ugf-lucky-btn">
  4090. <span>I'm Feeling Lucky</span>
  4091. </a>
  4092. </div>
  4093. </div>
  4094. </div>
  4095. </div>
  4096. <div id="ugf-hp-footer" class="flex">
  4097. <div id="ugf-structured-hp-footer-left" class="flex-bar">
  4098. <a class="ugf-structured-hp-footer-link" href="https://www.google.com/intl/en/ads/">Advertising</a>
  4099. <a class="ugf-structured-hp-footer-link" href="https://www.google.com/services/">Business</a>
  4100. <a class="ugf-structured-hp-footer-link" href="https://www.about.google/">About</a>
  4101. </div>
  4102. <div id="ugf-structured-hp-footer-right" class="flex-bar">
  4103. <a class="ugf-structured-hp-footer-link" href="https://www.google.com/intl/en/policies/privacy/">Privacy</a>
  4104. <a class="ugf-structured-hp-footer-link" href="https://www.google.com/intl/en/policies/terms/">Terms</a>
  4105. <a class="ugf-structured-hp-footer-link" href="https://www.google.com/preferences">Settings</a>
  4106. </div>
  4107. </div>
  4108. </div>
  4109. </div>
  4110. `;
  4111. let topHTML = `
  4112. <div id="ugf-ultratop">
  4113. <div id="gp-gbar" class="ugf-gbar">
  4114. <!-- GPGBAR Version 3.0 -->
  4115. <style>
  4116. #gp-gbar:not(.ugf-gbar) {
  4117. display: none;
  4118. }
  4119. [location="ads"] #gp-gbar,
  4120. [location="image-viewer"] #gp-gbar,
  4121. [layout="google-2015"] #gp-gbar,
  4122. [layout="google-2016"] #gp-gbar,
  4123. [layout="google-2017"] #gp-gbar,
  4124. [layout="google-2018"] #gp-gbar,
  4125. [layout="google-2019"] #gp-gbar {
  4126. display: none;
  4127. }
  4128. #gp-gbar {
  4129. position: relative;
  4130. z-index: 999;
  4131. font-family: arial !important;
  4132. }
  4133. html:not([gbar-dd-open]) #gp-gbar {
  4134. z-index: unset;
  4135. }
  4136. #gp-gbar-inner {
  4137. display: flex;
  4138. align-items: center;
  4139. height: 29px;
  4140. background: #2d2d2d;
  4141. }
  4142. .gp-gbar-link {
  4143. text-decoration: none !important;
  4144. color: #bbb !important;
  4145. font-weight: bold;
  4146. font-size: 13px;
  4147. height: 100%;
  4148. display: flex;
  4149. align-items: center;
  4150. cursor: pointer;
  4151. }
  4152. .gp-gbar-link-inner {
  4153. padding: 0 9px;
  4154. height: 100%;
  4155. display: flex;
  4156. align-items: center;
  4157. }
  4158. .gp-gbar-link:hover,
  4159. .gp-gbar-link.active {
  4160. color: #fff !important;
  4161. }
  4162. html:not([gbar-dd-open]) #gp-gbar-dd-fence,
  4163. html:not([gbar-dd-open]) #gp-gbar-dd {
  4164. display: none;
  4165. }
  4166. #gp-gbar-dd-fence {
  4167. width: 100vw;
  4168. height: 100vh;
  4169. left: 0;
  4170. top: 0;
  4171. position: fixed;
  4172. }
  4173. [options-dd-open] #gp-gbar {
  4174. pointer-events: none;
  4175. opacity: 0.33;
  4176. }
  4177. #gp-gbar-more {
  4178. position: relative;
  4179. }
  4180. #gp-gbar-more .arrow {
  4181. content: "";
  4182. position: relative;
  4183. top: 2px;
  4184. border-style: solid dashed dashed;
  4185. border-color: transparent;;
  4186. display: inline-block;
  4187. font-size: 0;
  4188. height: 0;
  4189. line-height: 0;
  4190. width: 0;
  4191. border-width: 3px 3px 0;
  4192. padding-top: 3px;
  4193. left: 4px;
  4194. border-top-color: #aaa;
  4195. }
  4196. #gp-gbar-more:hover .arrow {
  4197. border-top-color: #fff;
  4198. }
  4199. [gbar-dd-open] #gp-gbar-more .gp-gbar-link-inner {
  4200. background: #fff;
  4201. border: 1px solid #bebebe;
  4202. color: #000;
  4203. position: relative;
  4204. z-index: 111029;
  4205. border-bottom: none;
  4206. }
  4207. [gbar-dd-open] #gp-gbar-more .arrow {
  4208. border-top-color: #000;
  4209. }
  4210. #gp-gbar-dd {
  4211. left: 580px;
  4212. top: 27px;
  4213. left: 0;
  4214. position: absolute;
  4215. background: #fff;
  4216. border: 1px solid #bebebe;
  4217. box-shadow: 0 2px 4px rgba(0,0,0,.2);
  4218. z-index: 300;
  4219. white-space: nowrap;
  4220. cursor: default;
  4221. }
  4222. [not-gecko] #gp-gbar-dd {
  4223. left: 571px;
  4224. }
  4225. .gbar-dd-section {
  4226. padding: 10px 0;
  4227. }
  4228. .gbar-dd-section-link {
  4229. padding: 5px 20px;
  4230. line-height: 17px;
  4231. display: block;
  4232. color: #000 !important;
  4233. font-weight: bold;
  4234. text-decoration: none !important;
  4235. cursor: pointer;
  4236. }
  4237. .gbar-dd-section-link:hover {
  4238. background: #eee;
  4239. }
  4240. .gbar-dd-section:last-of-type {
  4241. border-top: 1px solid #bebebe;
  4242. }
  4243. #gp-gbar-right {
  4244. margin-left: auto;
  4245. margin-right: 4px;
  4246. }
  4247. #gp-gbar-account,
  4248. #gp-gbar-sign-in {
  4249. font-weight: bold;
  4250. }
  4251. [name-email="name"] #gp-gbar-email,
  4252. [name-email="email"] #gp-gbar-account,
  4253. html[logged-in="false"] #gp-gbar-account,
  4254. html[logged-in="true"] #gp-gbar-sign-in {
  4255. display: none;
  4256. }
  4257. #gp-gbar-settings-button {
  4258. margin-right: 4px;
  4259. padding: 0 5px;
  4260. }
  4261. html:not([layout="2010"]):not([layout="2011"]):not([layout="2012"]):not([layout="2013"]):not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]) #gp-gbar,
  4262. html:not([layout="2010"]):not([layout="2011"]):not([layout="2012"]):not([layout="2013L"]):not([layout="2015L"]):not([layout="2016L"]) #gp-gbar-right {
  4263. display: none;
  4264. }
  4265. #gp-gbar-settings-icon {
  4266. background: url(https://ssl.gstatic.com/gb/images/b_8d5afc09.png);
  4267. background-position: 0 0;
  4268. display: block;
  4269. font-size: 0;
  4270. height: 17px;
  4271. width: 16px;
  4272. }
  4273. [layout="2010"] #gp-gbar-inner,
  4274. [layout="2011"] #gp-gbar-inner,
  4275. [layout="2012"] #gp-gbar-inner,
  4276. [layout="2013L"] #gp-gbar-inner,
  4277. [layout="2015L"] #gp-gbar-inner,
  4278. [layout="2016L"] #gp-gbar-inner {
  4279. background: #2d2d2d;
  4280. padding-left: 4px;
  4281. }
  4282. [layout="2010"] .gp-gbar-link,
  4283. [layout="2011"] .gp-gbar-link,
  4284. [layout="2012"] .gp-gbar-link,
  4285. [layout="2013L"] .gp-gbar-link,
  4286. [layout="2015L"] .gp-gbar-link,
  4287. [layout="2016L"] .gp-gbar-link {
  4288. border-top: 2px solid transparent !important;
  4289. font-weight: normal;
  4290. padding-bottom: 1px;
  4291. height: 26px;
  4292. }
  4293. [layout="2010"] .gp-gbar-link-inner,
  4294. [layout="2011"] .gp-gbar-link-inner,
  4295. [layout="2012"] .gp-gbar-link-inner,
  4296. [layout="2013L"] .gp-gbar-link-inner,
  4297. [layout="2015L"] .gp-gbar-link-inner,
  4298. [layout="2016L"] .gp-gbar-link-inner {
  4299. padding: 0 5px;
  4300. }
  4301. [layout="2010"] .gp-gbar-link:not(.active):hover,
  4302. [layout="2011"] .gp-gbar-link:not(.active):hover,
  4303. [layout="2012"] .gp-gbar-link:not(.active):hover,
  4304. [layout="2013L"] .gp-gbar-link:not(.active):hover,
  4305. [layout="2015L"] .gp-gbar-link:not(.active):hover,
  4306. [layout="2016L"] .gp-gbar-link:not(.active):hover {
  4307. background: #4c4c4c;
  4308. }
  4309. [layout="2010"] .gp-gbar-link.active,
  4310. [layout="2011"] .gp-gbar-link.active,
  4311. [layout="2012"] .gp-gbar-link.active,
  4312. [layout="2013L"] .gp-gbar-link.active,
  4313. [layout="2015L"] .gp-gbar-link.active,
  4314. [layout="2016L"] .gp-gbar-link.active {
  4315. border-top: 2px solid #dd4b39 !important;
  4316. font-weight: bold;
  4317. }
  4318. [layout="2010"] #gp-gbar-plusyou,
  4319. [layout="2011"] #gp-gbar-plusyou,
  4320. [layout="2012"] #gp-gbar-plusyou,
  4321. [layout="2013L"] #gp-gbar-plusyou,
  4322. [layout="2015L"] #gp-gbar-plusyou,
  4323. [layout="2016L"] #gp-gbar-plusyou {
  4324. display: none;
  4325. }
  4326. </style>
  4327. <div id="gp-gbar-inner">
  4328. <a id="gp-gbar-plusyou" class="gp-gbar-link" href="${gPlusLink}">
  4329. <div class="gp-gbar-link-inner">
  4330. <span>+You</span>
  4331. </div>
  4332. </a>
  4333. <a id="gp-gbar-search" class="gp-gbar-link active" href="https://www.google.com">
  4334. <div class="gp-gbar-link-inner">
  4335. <span>Search</span>
  4336. </div>
  4337. </a>
  4338. <a id="gp-gbar-images" class="gp-gbar-link" href="https://images.google.com">
  4339. <div class="gp-gbar-link-inner">
  4340. <span>Images</span>
  4341. </div>
  4342. </a>
  4343. <a id="gp-gbar-maps" class="gp-gbar-link" href="https://maps.google.com">
  4344. <div class="gp-gbar-link-inner">
  4345. <span>Maps</span>
  4346. </div>
  4347. </a>
  4348. <a id="gp-gbar-play" class="gp-gbar-link" href="https://play.google.com">
  4349. <div class="gp-gbar-link-inner">
  4350. <span>Play</span>
  4351. </div>
  4352. </a>
  4353. <a id="gp-gbar-youtube" class="gp-gbar-link" href="https://www.youtube.com">
  4354. <div class="gp-gbar-link-inner">
  4355. <span>YouTube</span>
  4356. </div>
  4357. </a>
  4358. <a id="gp-gbar-news" class="gp-gbar-link" href="https://news.google.com">
  4359. <div class="gp-gbar-link-inner">
  4360. <span>News</span>
  4361. </div>
  4362. </a>
  4363. <a id="gp-gbar-gmail" class="gp-gbar-link" href="https://mail.google.com">
  4364. <div class="gp-gbar-link-inner">
  4365. <span>Gmail</span>
  4366. </div>
  4367. </a>
  4368. <a id="gp-gbar-drive" class="gp-gbar-link" href="https://drive.google.com">
  4369. <div class="gp-gbar-link-inner">
  4370. <span>Drive</span>
  4371. </div>
  4372. </a>
  4373. <a id="gp-gbar-calendar" class="gp-gbar-link" href="https://calendar.google.com">
  4374. <div class="gp-gbar-link-inner">
  4375. <span>Calendar</span>
  4376. </div>
  4377. </a>
  4378. <div id="gp-gbar-more" class="gp-gbar-link" onclick='document.querySelector("html").setAttribute("gbar-dd-open","");'>
  4379. <div class="gp-gbar-link-inner">
  4380. <span>More</span>
  4381. <span class="arrow"></span>
  4382. </div>
  4383. <div id="gp-gbar-dd">
  4384. <div id="gp-gbar-dd-inner">
  4385. <div class="gbar-dd-section">
  4386. <a class="gbar-dd-section-link" href="https://translate.google.com">
  4387. <span>Translate</span>
  4388. </a>
  4389. </div>
  4390. <div class="gbar-dd-section">
  4391. <a class="gbar-dd-section-link" href="https://www.google.com/intl/en/options">
  4392. <span>Even More</span>
  4393. </a>
  4394. </div>
  4395. </div>
  4396. </div>
  4397. </div>
  4398. <div id="gp-gbar-right" class="flex-bar">
  4399. <a id="gp-gbar-sign-in" class="gp-gbar-link ugf-logged-in-out" href="https://accounts.google.com">
  4400. <div class="gp-gbar-link-inner">
  4401. <span>Sign in</span>
  4402. </div>
  4403. </a>
  4404. <a id="gp-gbar-account" class="gp-gbar-link ugf-logged-in-out" href="https://accounts.google.com">
  4405. <div class="gp-gbar-link-inner">
  4406. <span>Account</span>
  4407. </div>
  4408. </a>
  4409. <a id="gp-gbar-email" class="gp-gbar-link ugf-logged-in-out" href="https://accounts.google.com">
  4410. <div class="gp-gbar-link-inner">
  4411. <span>Email</span>
  4412. </div>
  4413. </a>
  4414. <a id="gp-gbar-settings-button" class="gp-gbar-link" href="https://www.google.com/preferences" title="options">
  4415. <div id="gp-gbar-settings-icon">
  4416. </div>
  4417. </a>
  4418. </div>
  4419. </div>
  4420. <div id="gp-gbar-dd-fence" onclick='document.querySelector("html").removeAttribute("gbar-dd-open");'>
  4421. </div>
  4422. </div>
  4423. </div>
  4424. <div id="ugf-top">
  4425. <div id="ugf-topbar">
  4426. <div id="ugf-topbar-inner">
  4427. <div id="ugf-logo-cont">
  4428. <a id="ugf-logo" href="https://www.google.com">
  4429. <img id="retro-logo" src="https://static.wikia.nocookie.net/logopedia/images/a/a0/Google_1997.svg/revision/latest?cb=20240216165247" height="30"></img>
  4430. <img id="jfk-logo" src="https://www.google.com/images/nav_logo82.png"></img>
  4431. <img id="melvin-logo" src="https://www.google.com/images/nav_logo124.png"></img>
  4432. <img id="chopper-old-logo" src="https://www.google.com/images/nav_logo225.png"></img>
  4433. <img id="chopper-logo" src="https://www.google.com/images/nav_logo242.png"></img>
  4434. <img id="shira-logo" src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png" width="120" height="44"></img>
  4435. <img id="mazira-logo" src="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png" width="92" height="30"></img>
  4436. </a>
  4437. </div>
  4438. <div id="ugf-search-outer">
  4439. <div id="ugf-search">
  4440. <div id="ugf-searchbar">
  4441. <input id="ugf-search-value" autocomplete="off"></input>
  4442. </div>
  4443. <a id="ugf-search-btn">
  4444. <div id="ugf-search-btn-inner">
  4445. <span></span>
  4446. <svg style="display: none" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>
  4447. </div>
  4448. </a>
  4449. <div id="ugf-search-predictions-container">
  4450. </div>
  4451. </div>
  4452. </div>
  4453. <div id="ugf-top-right" class="flex-bar">
  4454. <div id="beyond-the-fence-2" onclick="document.querySelector('html').removeAttribute('options-dd-open');">
  4455. </div>
  4456. <div id="beyond-the-fence-3">
  4457. </div>
  4458. <div id="ugf-gplex-settings-btn">
  4459. <a class="ugf-homepage-link" href="https://www.google.com/gplex">
  4460. <span>Gplex Settings</span>
  4461. </a>
  4462. </div>
  4463. <div class="ugf-plus-buttons flex-bar ugf-logged-in-out ugf-hide-on-legacy">
  4464. <a id="ugf-email-button" href="${gPlusLink}">
  4465. <div class="ugf-plus-button-text">
  4466. <span>Account</span>
  4467. </div>
  4468. </a>
  4469. <a id="ugf-username-button" href="${gPlusLink}">
  4470. <div class="ugf-plus-button-text">
  4471. <span>Account</span>
  4472. </div>
  4473. </a>
  4474. </div>
  4475. <div id="ugf-homepage-links" class="flex-bar ugf-hide-on-legacy">
  4476. <a class="ugf-homepage-link" href="https://mail.google.com">
  4477. <span>Gmail</span>
  4478. </a>
  4479. <a class="ugf-homepage-link" href="https://www.google.com/imghp">
  4480. <span>Images</span>
  4481. </a>
  4482. </div>
  4483. <div id="ugf-apps" class="ugf-hide-on-legacy">
  4484. <div id="waffle">
  4485. <div class="gp-icon"></div>
  4486. </div>
  4487. <div id="beyond-the-fence" onclick="document.querySelector('html').removeAttribute('apps-dd-open');">
  4488. </div>
  4489. <div id="gp-apps-dd">
  4490. <div id="triangle"></div>
  4491. <div id="triangle-2"></div>
  4492. <div id="gp-apps-dd-card">
  4493. <div id="gp-apps-dd-inner">
  4494. <div class="sector">
  4495. <div class="gp-app" id="myaccount">
  4496. <a class="gp-app-inner" href="https://www.myaccount.google.com">
  4497. <div class="gp-app-icon">
  4498. </div>
  4499. <div class="gp-app-title">
  4500. My Account
  4501. </div>
  4502. </a>
  4503. </div>
  4504. <div class="gp-app" id="google-search">
  4505. <a class="gp-app-inner" href="https://www.google.com">
  4506. <div class="gp-app-icon">
  4507. </div>
  4508. <div class="gp-app-title">
  4509. Search
  4510. </div>
  4511. </a>
  4512. </div>
  4513. <div class="gp-app" id="maps">
  4514. <a class="gp-app-inner" href="https://maps.google.com">
  4515. <div class="gp-app-icon">
  4516. </div>
  4517. <div class="gp-app-title">
  4518. Maps
  4519. </div>
  4520. </a>
  4521. </div>
  4522. <div class="gp-app" id="youtube">
  4523. <a class="gp-app-inner" href="https://youtube.com">
  4524. <div class="gp-app-icon">
  4525. </div>
  4526. <div class="gp-app-title">
  4527. YouTube
  4528. </div>
  4529. </a>
  4530. </div>
  4531. <div class="gp-app" id="play">
  4532. <a class="gp-app-inner" href="https://translate.google.com">
  4533. <div class="gp-app-icon">
  4534. </div>
  4535. <div class="gp-app-title">
  4536. Play
  4537. </div>
  4538. </a>
  4539. </div>
  4540. <div class="gp-app" id="news">
  4541. <a class="gp-app-inner" href="https://news.google.com">
  4542. <div class="gp-app-icon">
  4543. </div>
  4544. <div class="gp-app-title">
  4545. News
  4546. </div>
  4547. </a>
  4548. </div>
  4549. <div class="gp-app" id="envelope">
  4550. <a class="gp-app-inner" href="https://mail.google.com">
  4551. <div class="gp-app-icon">
  4552. </div>
  4553. <div class="gp-app-title">
  4554. Gmail
  4555. </div>
  4556. </a>
  4557. </div>
  4558. <div class="gp-app" id="drive">
  4559. <a class="gp-app-inner" href="https://drive.google.com">
  4560. <div class="gp-app-icon">
  4561. </div>
  4562. <div class="gp-app-title">
  4563. Drive
  4564. </div>
  4565. </a>
  4566. </div>
  4567. <div class="gp-app" id="calendar">
  4568. <a class="gp-app-inner" href="https://google.com/calendar">
  4569. <div class="gp-app-icon">
  4570. </div>
  4571. <div class="gp-app-title">
  4572. Calendar
  4573. </div>
  4574. </a>
  4575. </div>
  4576. <div class="gp-app" id="plus">
  4577. <a class="gp-app-inner" href="https://plus.google.com/">
  4578. <div class="gp-app-icon">
  4579. </div>
  4580. <div class="gp-app-title">
  4581. Google+
  4582. </div>
  4583. </a>
  4584. </div>
  4585. <div class="gp-app" id="translate">
  4586. <a class="gp-app-inner" href="https://translate.google.com">
  4587. <div class="gp-app-icon">
  4588. </div>
  4589. <div class="gp-app-title">
  4590. Translate
  4591. </div>
  4592. </a>
  4593. </div>
  4594. <div class="gp-app" id="photos">
  4595. <a class="gp-app-inner" href="https://photos.google.com">
  4596. <div class="gp-app-icon">
  4597. </div>
  4598. <div class="gp-app-title">
  4599. Photos
  4600. </div>
  4601. </a>
  4602. </div>
  4603. </div>
  4604. <div class="sector">
  4605. <div class="gp-app" id="shopping">
  4606. <a class="gp-app-inner" href="https://www.google.com/shopping">
  4607. <div class="gp-app-icon">
  4608. </div>
  4609. <div class="gp-app-title">
  4610. Shopping
  4611. </div>
  4612. </a>
  4613. </div>
  4614. <div class="gp-app" id="wallet">
  4615. <a class="gp-app-inner" href="https://wallet.google.com">
  4616. <div class="gp-app-icon">
  4617. </div>
  4618. <div class="gp-app-title">
  4619. Wallet
  4620. </div>
  4621. </a>
  4622. </div>
  4623. <div class="gp-app" id="finance">
  4624. <a class="gp-app-inner" href="https://www.google.com/finance">
  4625. <div class="gp-app-icon">
  4626. </div>
  4627. <div class="gp-app-title">
  4628. Finance
  4629. </div>
  4630. </a>
  4631. </div>
  4632. <div class="gp-app" id="docs">
  4633. <a class="gp-app-inner" href="https://docs.google.com">
  4634. <div class="gp-app-icon">
  4635. </div>
  4636. <div class="gp-app-title">
  4637. Docs
  4638. </div>
  4639. </a>
  4640. </div>
  4641. <div class="gp-app" id="books">
  4642. <a class="gp-app-inner" href="https://books.google.com">
  4643. <div class="gp-app-icon">
  4644. </div>
  4645. <div class="gp-app-title">
  4646. Books
  4647. </div>
  4648. </a>
  4649. </div>
  4650. <div class="gp-app" id="blogger">
  4651. <a class="gp-app-inner" href="https://www.blogger.com">
  4652. <div class="gp-app-icon">
  4653. </div>
  4654. <div class="gp-app-title">
  4655. Blogger
  4656. </div>
  4657. </a>
  4658. </div>
  4659. <div class="gp-app" id="contacts">
  4660. <a class="gp-app-inner" href="https://www.google.com/contacts">
  4661. <div class="gp-app-icon">
  4662. </div>
  4663. <div class="gp-app-title">
  4664. Contacts
  4665. </div>
  4666. </a>
  4667. </div>
  4668. <div class="gp-app" id="hangouts">
  4669. <a class="gp-app-inner" href="https://hangouts.google.com">
  4670. <div class="gp-app-icon">
  4671. </div>
  4672. <div class="gp-app-title">
  4673. Hangouts
  4674. </div>
  4675. </a>
  4676. </div>
  4677. <div class="gp-app" id="firefox">
  4678. <a class="gp-app-inner" href="https://firefox.com">
  4679. <div class="gp-app-icon">
  4680. </div>
  4681. <div class="gp-app-title">
  4682. Firefox
  4683. </div>
  4684. </a>
  4685. </div>
  4686. </div>
  4687. <div class="sector">
  4688. <a id="even-more" href="https://www.google.com/intl/en/options">Even more from Google</a>
  4689. </div>
  4690. </div>
  4691. </div>
  4692. </div>
  4693. </div>
  4694. <div class="ugf-plus-buttons flex-bar ugf-logged-in-out ugf-hide-on-legacy">
  4695. <div id="ugf-fake-notifs-button" class="ugf-plus-button flex-bar" title="All caught up!">
  4696. <div class="ugf-plus-button-text">
  4697. <span>0</span>
  4698. </div>
  4699. <div class="ugf-plus-button-icon">
  4700. </div>
  4701. </div>
  4702. <div id="ugf-notifs-dd" class="ugf-hide-on-legacy">
  4703. <div id="triangle-5"></div>
  4704. <div id="ugf-notifs-dd-card">
  4705. <div id="ugf-notifs-dd-inner">
  4706. <div id="ugf-notifs-dd-banner">
  4707. <div id="ugf-notifs-dd-loading">
  4708. <span>Loading...</span>
  4709. </div>
  4710. <div id="ugf-notifs-dd-cant">
  4711. <span>Cannot connect to Google+.</span>
  4712. </div>
  4713. </div>
  4714. <div id="ugf-notifs-dd-top" class="flex-bar">
  4715. <div id="ugf-notifs-dd-top-left">
  4716. <a href="${gPlusLink}">Google+ notifications</a>
  4717. </div>
  4718. <div id="ugf-notifs-dd-top-right">
  4719. <div id="ugf-notifs-dd-read-button">
  4720. <div id="ugf-notifs-dd-read-button-icon">
  4721. </div>
  4722. </div>
  4723. </div>
  4724. </div>
  4725. <div id="ugf-notifs-dd-middle">
  4726. <div id="ugf-notifs-opening">
  4727. <div id="ugf-notifs-circle">
  4728. </div>
  4729. <div id="ugf-notifs-opening-text">
  4730. <span>Opening...</span>
  4731. </div>
  4732. </div>
  4733. <div id="ugf-notifs-dd-jingles">
  4734. <div id="ugf-notifs-dd-caught-up">
  4735. <span>All caught up!</span>
  4736. </div>
  4737. <div id="ugf-mr-jingles">
  4738. <div id="ugf-mr-jingles-gif" class="ugf-jingles-img">
  4739. <img src="https://ssl.gstatic.com/s2/oz/images/notifications/jingles_gif_2x_f3cc6d214824b9711a0e8c1a75d285ff.gif" width="96">
  4740. </div>
  4741. </div>
  4742. </div>
  4743. </div>
  4744. <div id="ugf-notifs-dd-bottom">
  4745. <div id="ugf-notifs-dd-prev" class="flex-bar">
  4746. <div id="ugf-notifs-dd-prev-text">
  4747. <span>Previously read</span>
  4748. </div>
  4749. <div id="ugf-notifs-dd-prev-icon">
  4750. </div>
  4751. </div>
  4752. </div>
  4753. </div>
  4754. </div>
  4755. </div>
  4756. <div id="ugf-fake-share-button" class="ugf-plus-button flex-bar">
  4757. <div class="ugf-plus-button-icon">
  4758. </div>
  4759. <div class="ugf-plus-button-text">
  4760. <span>Share</span>
  4761. </div>
  4762. </div>
  4763. </div>
  4764. <a id="ugf-sign-in" class="ugf-logged-in-out ugf-hide-on-legacy" href="https://accounts.google.com">Sign in</a>
  4765. <div id="ugf-account-button" class="ugf-logged-in-out ugf-hide-on-legacy">
  4766. <img src="${pfp}"></img>
  4767. </div>
  4768. <div id="ugf-account-dd" class="ugf-hide-on-legacy">
  4769. <div id="triangle-3"></div>
  4770. <div id="triangle-4"></div>
  4771. <div id="ugf-account-dd-card">
  4772. <div id="ugf-account-dd-account" class="flex">
  4773. <div id="ugf-account-left">
  4774. <a id="ugf-account-pfp" href="https://myaccount.google.com">
  4775. <img src="${pfp96}"></img>
  4776. <div id="ugf-account-pfp-change">
  4777. <span>Change photo</span>
  4778. </div>
  4779. </a>
  4780. <div id="ugf-account-normal-pfp">
  4781. <img src="${pfp96}"></img>
  4782. </div>
  4783. </div>
  4784. <div id="ugf-account-right">
  4785. <div id="ugf-account-username">
  4786. <span>Account</span>
  4787. </div>
  4788. <div id="ugf-account-email">
  4789. <span>Email</span>
  4790. </div>
  4791. <div id="ugf-account-links" class="flex-bar">
  4792. <a href="https://myaccount.google.com">Account</a>
  4793. <span>–</span>
  4794. <a href="/preferences">Privacy</a>
  4795. </div>
  4796. <a id="ugf-account-profile" href="${gPlusLink}">Your profile</a>
  4797. </div>
  4798. </div>
  4799. <div id="ugf-account-dd-bottom" class="flex-bar">
  4800. <a id="ugf-add-account" class="ugf-account-dd-button" href="https://accounts.google.com/AddSession">Add account</a>
  4801. <a id="ugf-sign-out" class="ugf-account-dd-button" href="https://accounts.google.com/Logout">Sign out</a>
  4802. </div>
  4803. </div>
  4804. </div>
  4805. </div>
  4806. </div>
  4807. </div>
  4808. <div id="ugf-navbar">
  4809. <div id="ugf-navbar-inner">
  4810. <div id="ugf-navbar-left">
  4811. <span>${navbarText}</span>
  4812. </div>
  4813. <div id="ugf-navbar-middle">
  4814. <a class="ugf-tab active" id="ugf-all-tab">
  4815. <div class="ugf-tab-inner">
  4816. <span id="ugf-all-text">All</span>
  4817. <span id="ugf-web-text">Web</span>
  4818. </div>
  4819. </a>
  4820. <a class="ugf-tab" id="ugf-images-tab">
  4821. <div class="ugf-tab-inner">
  4822. <span>Images</span>
  4823. </div>
  4824. </a>
  4825. <a class="ugf-tab" id="ugf-videos-tab">
  4826. <div class="ugf-tab-inner">
  4827. <span>Videos</span>
  4828. </div>
  4829. </a>
  4830. <a class="ugf-tab" id="ugf-news-tab">
  4831. <div class="ugf-tab-inner">
  4832. <span>News</span>
  4833. </div>
  4834. </a>
  4835. <a class="ugf-tab" id="ugf-maps-tab">
  4836. <div class="ugf-tab-inner">
  4837. <span>Maps</span>
  4838. </div>
  4839. </a>
  4840. <a class="ugf-tab" id="ugf-settings-tab" href="https://www.google.com/preferences">
  4841. <div class="ugf-tab-inner">
  4842. <span>Settings</span>
  4843. </div>
  4844. </a>
  4845. </div>
  4846. <div id="ugf-navbar-right" class="flex-bar">
  4847. <div class="flex-bar" id="ugf-personal-buttons">
  4848. <a class="ugf-button ugf-adaptive-button-style ugf-button-active" id="ugf-personal-button" title="Currently showing personal results">
  4849. <div class="ugf-button-inner">
  4850. <span class="ugf-button-icon"></span>
  4851. </div>
  4852. </a>
  4853. <a class="ugf-button ugf-adaptive-button-style" id="ugf-non-personal-button" title="Hide personal results">
  4854. <div class="ugf-button-inner">
  4855. <span class="ugf-button-icon"></span>
  4856. </div>
  4857. </a>
  4858. </div>
  4859. <a class="ugf-button ugf-adaptive-button-style" id="ugf-settings-button" href="https://www.google.com/preferences">
  4860. <div class="ugf-button-inner">
  4861. <span class="ugf-button-icon"></span>
  4862. </div>
  4863. </a>
  4864. </div>
  4865. </div>
  4866. </div>
  4867. </div>`;
  4868. if (
  4869. !window.location.href.includes("https://www.google.com/sorry") &&
  4870. !window.location.href.includes("https://www.google.com/recaptcha") &&
  4871. !window.location.href.includes("imgres") &&
  4872. !window.location.href.includes("tbm=nws") &&
  4873. !window.location.href.includes("tbm=shop") &&
  4874. !window.location.href.includes("tbm=bks")
  4875. ) {
  4876. doSetup(location);
  4877. }
  4878. if (location == "gplex") {
  4879. createCSS();
  4880. setTimeout(function() {
  4881. createCSS();
  4882. }, 100);
  4883. setTimeout(function() {
  4884. createCSS();
  4885. }, 500);
  4886. setTimeout(function() {
  4887. createCSS();
  4888. }, 3000);
  4889. setTimeout(function() {
  4890. createCSS();
  4891. }, 10000);
  4892. } else {
  4893. createCSS();
  4894. }
  4895. async function putThroughPaces(item) {
  4896. return new Promise((resolve, reject) => {
  4897. if (item.tagName == "BLOCK-COMPONENT") {
  4898. resolve("block");
  4899. }
  4900. let i = 0;
  4901. // for (i = 0; i < 9; i++) {
  4902. if (item.parentNode) {
  4903. if (item.parentNode.tagName == "SPAN") {
  4904. if (item.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.class = ".MjjYud") {
  4905. resolve(item);
  4906. } else {
  4907. resolve(item);
  4908. }
  4909. } else {
  4910. resolve("Nope");
  4911. }
  4912. } else {
  4913. resolve("Nope");
  4914. }
  4915. // }
  4916. }
  4917. )};
  4918. let asArray;
  4919. let started = false;
  4920. let timeoutNumber = 1204;
  4921. document.querySelector("html").setAttribute("logged-in","tbd");
  4922. function doSetup(location) {
  4923. createPageShell(location).then(function(result) {
  4924. if (forceLoadMsg == "fast") {
  4925. timeoutNumber = 150;
  4926. }
  4927. if (document.querySelector("body[data-dt='1']")) {
  4928. /*alert("Please disable dark theme in Google Search settings to use Gplex.");
  4929. window.location = "https://www.google.com/preferences#tabVal=1";*/
  4930. }
  4931. if (location == "images" && notOnImages == "true") {
  4932. parseHTMLNeo(location);
  4933. }
  4934. else if (location == "images") {
  4935. let doInterval1 = setInterval(function() {
  4936. let scripts = document.querySelectorAll("script");
  4937. //console.log(scripts);
  4938. scripts.forEach(itemRoot => {
  4939. if (itemRoot.innerHTML.includes("AF_initDataCallback({key: 'ds:1',")) {
  4940. itemRoot.id = "the-script";
  4941. clearInterval(doInterval1);
  4942. }
  4943. });
  4944. }, 10);
  4945. }
  4946. let doInterval = setInterval(function() {
  4947. asArray = document.querySelectorAll("#rso span > a");
  4948. if (location != "images") {
  4949. if (asArray.length >= 10) {
  4950. parseHTMLNeo(location);
  4951. clearInterval(doInterval);
  4952. }
  4953. if (
  4954. asArray.length >= 8 &&
  4955. url.includes("barrel")
  4956. ) {
  4957. parseHTMLNeo(location);
  4958. clearInterval(doInterval);
  4959. }
  4960. } else if (location == "images") {
  4961. if (asArray.length >= 30) {
  4962. parseHTMLNeo(location);
  4963. clearInterval(doInterval);
  4964. }
  4965. } else {
  4966. clearInterval(doInterval);
  4967. }
  4968. }, 10);
  4969. setTimeout(function() {
  4970. if (forceLoadMsg == "true") {
  4971. if (
  4972. started == false &&
  4973. location !== "gplex" &&
  4974. location !== "home"
  4975. ) {
  4976. let container = document.querySelector("#ugf-main");
  4977. let newElem = document.createElement("div");
  4978. newElem.id = "ugf-load-now-container";
  4979. newElem.innerHTML = `
  4980. <span>Not enough results found. Results will load in a few seconds...</span>
  4981. <div id="ugf-load-now">
  4982. Force-load results now
  4983. </div>
  4984. `;
  4985. container.insertBefore(newElem, container.children[0]);
  4986. newElem.querySelector("#ugf-load-now").addEventListener("click", function() {
  4987. parseHTMLNeo(location);
  4988. clearInterval(doInterval);
  4989. newElem.remove();
  4990. });
  4991. }
  4992. } else {
  4993. clearInterval(doInterval);
  4994. if (
  4995. started == false &&
  4996. location !== "home" &&
  4997. location !== "gplex"
  4998. ) {
  4999. parseHTMLNeo(location);
  5000. }
  5001. }
  5002. }, timeoutNumber);
  5003. setTimeout(function() {
  5004. clearInterval(doInterval);
  5005. if (
  5006. started == false &&
  5007. location !== "home" &&
  5008. location !== "gplex"
  5009. ) {
  5010. parseHTMLNeo(location);
  5011. }
  5012. }, 5000);
  5013. });
  5014. }
  5015. function parseHTMLNeo(location) {
  5016. if (started == false) {
  5017. started = true;
  5018. if (location == "images") {
  5019. let newImagesExp = false;
  5020. let tempImageList;
  5021. if (document.querySelector("body > c-wiz")) {
  5022. newImagesExp = true;
  5023. tempImageList = document.querySelectorAll("a > div > img");
  5024. } else {
  5025. tempImageList = document.querySelectorAll("h3 img");
  5026. }
  5027. let check = 0;
  5028. let itemNo = 0;
  5029. tempImageList.forEach(itemRoot => {
  5030. let alt = itemRoot.getAttribute('alt');
  5031. itemRoot.classList.add("ugf-image-parse");
  5032. if (alt === null) {
  5033. // not there
  5034. } else if (alt === '') {
  5035. // empty
  5036. // check if it is height 12 for favicon later on
  5037. } else if (alt === 'Google') {
  5038. // google, ignore
  5039. } else if (itemRoot.getAttribute("src") == "data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==") {
  5040. // pixel, ignore
  5041. } else {
  5042. let forIframe;
  5043. if (newImagesExp) {
  5044. if (document.querySelector("#the-script")) {
  5045. // setTimeout(function() {
  5046. let topdog = itemRoot.parentNode.parentNode.parentNode;
  5047. // topdog.querySelector("a").click();
  5048. // var imgved = topdog.getAttribute("data-ved");*/
  5049. var imgdoc = topdog.getAttribute("data-id");
  5050. // search script
  5051. var imgfind = document.querySelector("#the-script").innerHTML.split(imgdoc)[1];
  5052. //alert(imgfind);
  5053. imgfind = imgfind.split('"2008": ')[0];
  5054. //console.log(imgfind);
  5055. imgfind = imgfind.split('"2003":[null,"')[1];
  5056. //alert(imgfind);
  5057. imgfind = imgfind.split('"')[0];
  5058. //console.log(imgfind);
  5059. var mera = topdog.querySelector("a:nth-of-type(2)");
  5060. var domain;
  5061. if (mera.querySelector("div")) {
  5062. var link = mera.getAttribute("href");
  5063. var title = mera.querySelector("div:nth-child(2)").textContent;
  5064. domain = link.split("//")[1];
  5065. domain = domain.split("/")[0];
  5066. if (domain.includes("www.")) {
  5067. domain = domain.split("www.")[1];
  5068. }
  5069. }
  5070. forIframe = "https://www.google.com/imgres?q=" + searchValue + "&docid=" + imgfind + "&tbnid=" + imgdoc;
  5071. linkList.push({imageResult: {
  5072. itemNo: itemNo,
  5073. type: "image",
  5074. iframeUrl: forIframe,
  5075. width: itemRoot.getAttribute("width"),
  5076. height: itemRoot.getAttribute("height"),
  5077. refdocid: imgfind,
  5078. docid: imgdoc,
  5079. link: link,
  5080. title: title,
  5081. domain: domain,
  5082. src: itemRoot.getAttribute("src")
  5083. }});
  5084. //console.log(linkList);
  5085. createItem(linkList[itemNo], "imageResult");
  5086. itemNo++;
  5087. } else {
  5088. var elm = "#the-script";
  5089. waitForElement10(elm).then(function(elm) {
  5090. if (canGo != false) {
  5091. // setTimeout(function() {
  5092. let topdog = itemRoot.parentNode.parentNode.parentNode;
  5093. // topdog.querySelector("a").click();
  5094. // var imgved = topdog.getAttribute("data-ved");*/
  5095. var imgdoc = topdog.getAttribute("data-id");
  5096. // search script
  5097. var imgfind = document.querySelector("#the-script").innerHTML.split(imgdoc)[1];
  5098. //alert(imgfind);
  5099. imgfind = imgfind.split('"2008": ')[0];
  5100. //console.log(imgfind);
  5101. imgfind = imgfind.split('"2003":[null,"')[1];
  5102. //alert(imgfind);
  5103. imgfind = imgfind.split('"')[0];
  5104. //console.log(imgfind);
  5105. var mera = topdog.querySelector("a:nth-of-type(2)");
  5106. var domain;
  5107. if (mera.querySelector("div")) {
  5108. var link = mera.getAttribute("href");
  5109. var title = mera.querySelector("div:nth-child(2)").textContent;
  5110. domain = link.split("//")[1];
  5111. domain = domain.split("/")[0];
  5112. if (domain.includes("www.")) {
  5113. domain = domain.split("www.")[1];
  5114. }
  5115. }
  5116. forIframe = "https://www.google.com/imgres?q=" + searchValue + "&docid=" + imgfind + "&tbnid=" + imgdoc;
  5117. linkList.push({imageResult: {
  5118. itemNo: itemNo,
  5119. type: "image",
  5120. iframeUrl: forIframe,
  5121. width: itemRoot.getAttribute("width"),
  5122. height: itemRoot.getAttribute("height"),
  5123. refdocid: imgfind,
  5124. docid: imgdoc,
  5125. link: link,
  5126. title: title,
  5127. domain: domain,
  5128. src: itemRoot.getAttribute("src")
  5129. }});
  5130. //console.log(linkList);
  5131. createItem(linkList[itemNo], "imageResult");
  5132. itemNo++;
  5133. }
  5134. });
  5135. }
  5136. } else {
  5137. var refdoc = itemRoot.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.getAttribute("data-ref-docid");
  5138. var imgdoc = itemRoot.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.getAttribute("data-docid");
  5139. var mera = itemRoot.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector("div:nth-child(3)");
  5140. var domain;
  5141. if (mera.querySelector("a")) {
  5142. var link = mera.querySelector("a").getAttribute("href");
  5143. var title = mera.querySelector("a").textContent;
  5144. domain = link.split("//")[1];
  5145. domain = domain.split("/")[0];
  5146. if (domain.includes("www.")) {
  5147. domain = domain.split("www.")[1];
  5148. }
  5149. } else {
  5150. //var elm = document.querySelectorAll(".ugf-image-parse")[itemNo];
  5151. var elm = mera.querySelector("a");
  5152. waitForElement10M(elm).then(function(elm) {
  5153. if (canGo != false) {
  5154. var link = mera.querySelector("a").getAttribute("href");
  5155. var title = mera.querySelector("a > div:nth-of-type(2)").textContent;
  5156. domain = link.split("//")[1];
  5157. domain = domain.split("/")[0];
  5158. if (domain.includes("www.")) {
  5159. domain = domain.split("www.")[1];
  5160. }
  5161. }
  5162. });
  5163. }
  5164. forIframe = "https://www.google.com/imgres?q=" + searchValue + "&docid=" + refdoc + "&tbnid=" + imgdoc;
  5165. linkList.push({imageResult: {
  5166. itemNo: itemNo,
  5167. type: "image",
  5168. iframeUrl: forIframe,
  5169. width: itemRoot.getAttribute("width"),
  5170. height: itemRoot.getAttribute("height"),
  5171. refdocid: refdoc,
  5172. docid: imgdoc,
  5173. link: link,
  5174. title: title,
  5175. domain: domain,
  5176. src: itemRoot.getAttribute("src")
  5177. }});
  5178. createItem(linkList[itemNo], "imageResult");
  5179. itemNo++;
  5180. }
  5181. }
  5182. check++;
  5183. });
  5184. // document.querySelector("html").setAttribute("disabled","");
  5185. }
  5186. else {
  5187. let searchValueArray = searchValue.split(" ");
  5188. let tempLinkList = document.querySelectorAll("a");
  5189. let tempBCList = document.querySelectorAll("block-component");
  5190. let check = 0;
  5191. let itemNo = 0;
  5192. tempLinkList.forEach(itemRoot => {
  5193. itemRoot.classList.add("ugf-parse-item"); // [role="heading"].parentNode x4
  5194. });
  5195. tempBCList.forEach(itemRoot => {
  5196. itemRoot.classList.add("ugf-parse-item"); // [role="heading"].parentNode x4
  5197. });
  5198. tempLinkList = document.querySelectorAll(".ugf-parse-item");
  5199. tempLinkList.forEach(itemRoot => {
  5200. putThroughPaces(itemRoot).then(function(result) {
  5201. if (result == "Nope") {
  5202. } else if (result == "block") {
  5203. let title;
  5204. let heading;
  5205. let medium;
  5206. let list;
  5207. if (itemRoot.querySelector('[role="heading"][aria-level="2"]')) {
  5208. title = itemRoot.querySelector('[role="heading"]').innerHTML;
  5209. title.style.background = "red";
  5210. let nextElem = itemRoot.querySelector('[role="heading"]').parentNode.nextSibling;
  5211. nextElem.style.background = "blue";
  5212. heading = nextElem.textContent;
  5213. } else if (itemRoot.querySelector('[data-attrid="wa:/description"]') == null) {
  5214. medium = itemRoot.querySelector('[role="heading"]').innerHTML;
  5215. if (itemRoot.querySelector('[role="heading"]').nextSibling) {
  5216. list = itemRoot.querySelector('[role="heading"]').nextSibling.innerHTML;
  5217. }
  5218. }
  5219. if (itemRoot.querySelector('[data-attrid="wa:/description"]')) {
  5220. medium = itemRoot.querySelector('[data-attrid="wa:/description"]').innerHTML;
  5221. }
  5222. if (itemRoot.querySelector("a")) {
  5223. firstLinkBelongsToBlock = true;
  5224. }
  5225. if (heading && medium && heading.textContent == medium.textContent) {
  5226. //...
  5227. heading = title;
  5228. title = "";
  5229. }
  5230. linkList.push({searchInfoBlock: {
  5231. itemNo: itemNo,
  5232. type: "block",
  5233. title: title,
  5234. heading: heading,
  5235. medium: medium,
  5236. list: list
  5237. }});
  5238. createItem(linkList[itemNo], "searchBlock");
  5239. itemNo++;
  5240. } else {
  5241. let link = result.href;
  5242. let title;
  5243. let unmoddedTitle;
  5244. let description = "<i></i>";
  5245. if (result.querySelector("h3")) {
  5246. title = result.querySelector("h3").innerHTML;
  5247. unmoddedTitle = result.querySelector("h3").textContent;
  5248. searchValueArray.forEach(itemRoot => {
  5249. if (
  5250. itemRoot == "to" ||
  5251. itemRoot == "in" ||
  5252. itemRoot == "the" ||
  5253. itemRoot == "a" ||
  5254. itemRoot == "of" ||
  5255. itemRoot == "an" ||
  5256. itemRoot == "span" ||
  5257. itemRoot == "class" ||
  5258. itemRoot == "=" ||
  5259. itemRoot == "-" ||
  5260. itemRoot == "or" ||
  5261. itemRoot == "pan" ||
  5262. itemRoot == "sp" ||
  5263. itemRoot == "spa" ||
  5264. itemRoot == "cl" ||
  5265. itemRoot == "cla" ||
  5266. itemRoot == "clas" ||
  5267. itemRoot == "as" ||
  5268. itemRoot == "ass" ||
  5269. itemRoot == "lass" ||
  5270. itemRoot == "las" ||
  5271. itemRoot == "ugf" ||
  5272. itemRoot == "ugf-keyword" ||
  5273. itemRoot == "keyword" ||
  5274. itemRoot == "rd" ||
  5275. itemRoot == "ord" ||
  5276. itemRoot == "word" ||
  5277. itemRoot == "yword" ||
  5278. itemRoot == "eyword" ||
  5279. itemRoot == "ey" ||
  5280. itemRoot == "ke" ||
  5281. itemRoot == "key" ||
  5282. itemRoot == "keyw" ||
  5283. itemRoot == "keywo" ||
  5284. itemRoot == "keywor" ||
  5285. itemRoot == "a" ||
  5286. itemRoot == "A" ||
  5287. itemRoot == "b" ||
  5288. itemRoot == "B" ||
  5289. itemRoot == "c" ||
  5290. itemRoot == "C" ||
  5291. itemRoot == "d" ||
  5292. itemRoot == "D" ||
  5293. itemRoot == "e" ||
  5294. itemRoot == "E" ||
  5295. itemRoot == "f" ||
  5296. itemRoot == "F" ||
  5297. itemRoot == "g" ||
  5298. itemRoot == "G" ||
  5299. itemRoot == "h" ||
  5300. itemRoot == "H" ||
  5301. itemRoot == "i" ||
  5302. itemRoot == "I" ||
  5303. itemRoot == "j" ||
  5304. itemRoot == "J" ||
  5305. itemRoot == "k" ||
  5306. itemRoot == "K" ||
  5307. itemRoot == "l" ||
  5308. itemRoot == "L" ||
  5309. itemRoot == "m" ||
  5310. itemRoot == "M" ||
  5311. itemRoot == "n" ||
  5312. itemRoot == "N" ||
  5313. itemRoot == "o" ||
  5314. itemRoot == "O" ||
  5315. itemRoot == "p" ||
  5316. itemRoot == "p" ||
  5317. itemRoot == "q" ||
  5318. itemRoot == "Q" ||
  5319. itemRoot == "r" ||
  5320. itemRoot == "R" ||
  5321. itemRoot == "s" ||
  5322. itemRoot == "S" ||
  5323. itemRoot == "t" ||
  5324. itemRoot == "T" ||
  5325. itemRoot == "u" ||
  5326. itemRoot == "U" ||
  5327. itemRoot == "v" ||
  5328. itemRoot == "V" ||
  5329. itemRoot == "w" ||
  5330. itemRoot == "W" ||
  5331. itemRoot == "x" ||
  5332. itemRoot == "X" ||
  5333. itemRoot == "y" ||
  5334. itemRoot == "Y" ||
  5335. itemRoot == "z" ||
  5336. itemRoot == "Z"
  5337. ) {
  5338. } else {
  5339. title = title.replaceAll(itemRoot,"<span class='ugf-keyword'>" + itemRoot + "</span>");
  5340. let lowerCaseValue = itemRoot.toLowerCase();
  5341. title = title.replaceAll(lowerCaseValue,"<span class='ugf-keyword'>" + lowerCaseValue + "</span>");
  5342. let upperCaseValue = itemRoot.toUpperCase();
  5343. title = title.replaceAll(upperCaseValue,"<span class='ugf-keyword'>" + upperCaseValue + "</span>");
  5344. let normalCaseValue = capitalizeFirstLetter(itemRoot);
  5345. title = title.replaceAll(normalCaseValue,"<span class='ugf-keyword'>" + normalCaseValue + "</span>");
  5346. }
  5347. });
  5348. }
  5349. if (result.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector('[data-sncf="1"]')) {
  5350. description = result.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector('[data-sncf="1"]').innerHTML;
  5351. } else if (result.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector('[data-sncf="2"]')) {
  5352. description = result.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector('[data-sncf="2"]').innerHTML;
  5353. } else if (result.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector('[data-sncf="3"]')) {
  5354. description = result.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector('[data-sncf="3"]').innerHTML;
  5355. }
  5356. let isVideo = false;
  5357. if (
  5358. result.parentNode.parentNode.parentNode.parentNode.nextSibling &&
  5359. result.parentNode.parentNode.parentNode.parentNode.nextSibling.querySelector("img")
  5360. ) {
  5361. isVideo = true;
  5362. } else if (
  5363. location == "videos" &&
  5364. result.parentNode.parentNode.parentNode.parentNode.nextSibling &&
  5365. result.parentNode.parentNode.parentNode.parentNode.nextSibling.querySelector("img")
  5366. ) {
  5367. isVideo = true;
  5368. }
  5369. if (
  5370. isVideo == true &&
  5371. result.parentNode.parentNode.parentNode.parentNode.nextSibling.querySelector("[role='presentation'] span")
  5372. ) {
  5373. let nextElem = result.parentNode.parentNode.parentNode.parentNode.nextSibling;
  5374. let thumbnail = nextElem.querySelector("img").src;
  5375. let duration = "361:97";
  5376. if (nextElem.querySelector("[role='presentation'] span")) {
  5377. duration = nextElem.querySelector("[role='presentation'] span").textContent;
  5378. }
  5379. if (nextElem.querySelector("a + div > div")) {
  5380. description = nextElem.querySelector("a + div > div").innerHTML;
  5381. }
  5382. linkList.push({videoResult: {
  5383. itemNo: itemNo,
  5384. type: "video",
  5385. href: link,
  5386. title: title,
  5387. unmoddedTitle: unmoddedTitle,
  5388. description: description,
  5389. thumbnail: thumbnail,
  5390. duration: duration
  5391. }});
  5392. createItem(linkList[itemNo], "videoResult");
  5393. document.querySelector("html").setAttribute("results-arrived","");
  5394. itemNo++;
  5395. } else if (title != null) {
  5396. linkList.push({searchResult: {
  5397. itemNo: itemNo,
  5398. type: "result",
  5399. href: link,
  5400. title: title,
  5401. unmoddedTitle: unmoddedTitle,
  5402. description: description
  5403. }});
  5404. createItem(linkList[itemNo], "searchResult");
  5405. document.querySelector("html").setAttribute("results-arrived","");
  5406. itemNo++;
  5407. }
  5408. }
  5409. });
  5410. check++;
  5411. });
  5412. if (
  5413. document.querySelector('[role="complementary"]') &&
  5414. document.querySelector('body > div > div > div [data-attrid]')
  5415. ) {
  5416. hasSidebar = true;
  5417. if (document.querySelector('body > div > div > div > div[data-hveid]:not([role="complementary"]) [data-attrid]')) {
  5418. tempUpbarList = document.querySelector('body > div > div > div> div[data-hveid]').querySelectorAll("[data-attrid]");
  5419. var elm = "[data-attrid='description']";
  5420. waitForElement(elm).then(function(elm) {
  5421. if (canGo != false) {
  5422. doSidebar(2);
  5423. }
  5424. });
  5425. } else {
  5426. doSidebar(1);
  5427. }
  5428. }
  5429. if (document.querySelector("omnient-visibility-control")) {
  5430. if (
  5431. document.querySelector("omnient-visibility-control location-permission-button") ||
  5432. document.querySelector("omnient-visibility-control g-dialog")
  5433. ) {
  5434. } else if (document.querySelector("omnient-visibility-control div") == null) {
  5435. if (document.querySelectorAll("omnient-visibility-control a")[1] == null) {
  5436. hasCorrection = "type1legacy";
  5437. correction = document.querySelector("omnient-visibility-control a").outerHTML;
  5438. } else {
  5439. hasCorrection = "type2legacy";
  5440. correction = document.querySelector("omnient-visibility-control a").outerHTML;
  5441. insteadLink = document.querySelectorAll("omnient-visibility-control a")[1].outerHTML;
  5442. }
  5443. } else {
  5444. if (document.querySelector("omnient-visibility-control span span:nth-of-type(3)")) {
  5445. hasCorrection = "type2";
  5446. insteadLink = document.querySelector("omnient-visibility-control span span:nth-of-type(3)").querySelector("a").getAttribute("href");
  5447. } else {
  5448. hasCorrection = "type1";
  5449. }
  5450. correction = document.querySelector("omnient-visibility-control span span:nth-of-type(2)").innerHTML;
  5451. }
  5452. }
  5453. if (document.querySelector('#rso .card-section')) {
  5454. let newISHHome = document.querySelector("#ugf-search-results-reserved-fake-iframe");
  5455. let toBeMoved;
  5456. if (
  5457. searchValue.includes(" to ") ||
  5458. searchValue.includes("unit") ||
  5459. searchValue.includes("converter")
  5460. ) {
  5461. toBeMoved = document.querySelector('#rso .card-section').parentNode.parentNode;
  5462. } else {
  5463. toBeMoved = document.querySelector('#rso .card-section');
  5464. }
  5465. newISHHome.appendChild(toBeMoved);
  5466. document.querySelector("html").setAttribute("has-fake-iframe","");
  5467. }
  5468. if (
  5469. document.querySelector('#rso g-lightbox') &&
  5470. document.querySelector('#rso block-component')
  5471. ) {
  5472. let newISHHome = document.querySelector("#ugf-search-results-reserved-fake-iframe");
  5473. let toBeMoved = document.querySelector('#rso block-component');
  5474. newISHHome.appendChild(toBeMoved);
  5475. document.querySelector("html").setAttribute("has-fake-iframe","");
  5476. }
  5477. if (
  5478. document.querySelector('#rso [data-md="2"]')
  5479. ) {
  5480. let newISHHome = document.querySelector("#ugf-search-results-reserved-fake-iframe");
  5481. let toBeMoved = document.querySelector('#rso [data-md="2"]');
  5482. newISHHome.appendChild(toBeMoved);
  5483. document.querySelector("html").setAttribute("has-fake-iframe","");
  5484. }
  5485. if (hasCorrection == "type1") {
  5486. createCorrection(correction);
  5487. }
  5488. if (hasCorrection == "type2") {
  5489. createCorrection2(correction);
  5490. }
  5491. if (hasCorrection == "type1legacy") {
  5492. createCorrection1l(correction);
  5493. }
  5494. if (hasCorrection == "type2legacy") {
  5495. createCorrection2l(correction);
  5496. }
  5497. if (
  5498. location == "all" &&
  5499. !searchValue.includes(" x ") &&
  5500. !searchValue.includes(" X ") &&
  5501. searchValue.includes("twitter") ||
  5502. searchValue.includes("Twitter") ||
  5503. searchValue.includes("TWITTER")
  5504. ) {
  5505. bringForthJustice();
  5506. }
  5507. if (
  5508. searchValue == "Is Mark Zuckerberg a lizard" ||
  5509. searchValue == "Is mark zuckerberg a lizard" ||
  5510. searchValue == "is mark zuckerberg a lizard" ||
  5511. searchValue == "is Mark Zuckerberg a lizard"
  5512. ) {
  5513. createItem("zucc");
  5514. document.querySelector("html").setAttribute("lizard","");
  5515. }
  5516. }
  5517. }
  5518. }
  5519. function doSidebar(mode) {
  5520. if (
  5521. mode == 2 &&
  5522. document.querySelectorAll('[role="complementary"]')[2]
  5523. ) {
  5524. tempSidebarList = document.querySelectorAll('[role="complementary"]')[2].querySelectorAll("[data-attrid]");
  5525. } else {
  5526. tempSidebarList = document.querySelector('[role="complementary"]').querySelectorAll("[data-attrid]");
  5527. }
  5528. let sidebarTitle;
  5529. let sidebarSubtitle = "";
  5530. let sbImg = "";
  5531. let sbDesc = "";
  5532. let sbKc1 = "";
  5533. let sbKc2 = "";
  5534. let sbKc3 = "";
  5535. let sbKc4 = "";
  5536. let sbKc5 = "";
  5537. let sbKc6 = "";
  5538. let sbKc7 = "";
  5539. let sbKc8 = "";
  5540. let sbKc9 = "";
  5541. let sbKc10 = "";
  5542. let sbKc11 = "";
  5543. let sbKc12 = "";
  5544. tempSidebarList.forEach(itemRoot => {
  5545. var itemId = itemRoot.getAttribute("data-attrid");
  5546. if (itemId == "title") {
  5547. sidebarTitle = itemRoot.innerHTML;
  5548. }
  5549. if (itemId == "subtitle") {
  5550. sidebarSubtitle = itemRoot.innerHTML;
  5551. }
  5552. if (itemId == "image") {
  5553. sbImg = itemRoot.querySelector("img").getAttribute("src");
  5554. }
  5555. if (
  5556. itemId == "description"
  5557. ) {
  5558. sbDesc = itemRoot.innerHTML;
  5559. }
  5560. /*if (
  5561. document.querySelector("[data-attrid='description']")
  5562. ) {
  5563. sbDesc = document.querySelector("[data-attrid='description']").innerHTML;
  5564. }*/
  5565. if (
  5566. !itemId.includes("kc:/ugc:user_reviews") &&
  5567. !itemId.includes("kc:/film/film:media_actions_wholepage") &&
  5568. !itemId.includes("kc:/ugc:thumbs_up") &&
  5569. itemId.includes("kc:/") ||
  5570. itemId.includes("ss:/")
  5571. ) {
  5572. if (sbKc1 === "") {
  5573. sbKc1 = itemRoot.innerHTML;
  5574. } else if (sbKc2 === "") {
  5575. sbKc2 = itemRoot.innerHTML;
  5576. } else if (sbKc3 === "") {
  5577. sbKc3 = itemRoot.innerHTML;
  5578. } else if (sbKc4 === "") {
  5579. sbKc4 = itemRoot.innerHTML;
  5580. } else if (sbKc5 === "") {
  5581. sbKc5 = itemRoot.innerHTML;
  5582. } else if (sbKc6 === "") {
  5583. sbKc6 = itemRoot.innerHTML;
  5584. } else if (sbKc7 === "") {
  5585. sbKc7 = itemRoot.innerHTML;
  5586. } else if (sbKc8 === "") {
  5587. sbKc8 = itemRoot.innerHTML;
  5588. } else if (sbKc9 === "") {
  5589. sbKc9 = itemRoot.innerHTML;
  5590. } else if (sbKc10 === "") {
  5591. sbKc10 = itemRoot.innerHTML;
  5592. } else if (sbKc11 === "") {
  5593. sbKc11 = itemRoot.innerHTML;
  5594. } else if (sbKc12 === "") {
  5595. sbKc12 = itemRoot.innerHTML;
  5596. }
  5597. }
  5598. });
  5599. if (mode == 2) {
  5600. tempUpbarList.forEach(itemRoot => {
  5601. var itemId = itemRoot.getAttribute("data-attrid");
  5602. if (itemId == "title") {
  5603. sidebarTitle = itemRoot.textContent;
  5604. }
  5605. if (itemId == "subtitle") {
  5606. sidebarSubtitle = itemRoot.textContent;
  5607. }
  5608. });
  5609. }
  5610. if (sidebarTitle.includes("See results about")) {
  5611.  
  5612. } else {
  5613. SB = new SearchSidebarAPI(sidebarTitle, sidebarSubtitle, sbImg, sbDesc, sbKc1, sbKc2, sbKc3, sbKc4, sbKc5, sbKc6, sbKc7, sbKc8, sbKc9, sbKc10, sbKc11, sbKc12);
  5614. if (document.querySelector("#ugf-right-inner")) {
  5615. createSidebar();
  5616. } else {
  5617. var elm = "#ugf-right-inner";
  5618. waitForElement10(elm).then(function(elm) {
  5619. if (canGo != false) {
  5620. createSidebar();
  5621. }
  5622. });
  5623. }
  5624. }
  5625. }
  5626. function createCSS() {
  5627. if (document.querySelector("#ugf-styles")) {
  5628. } else {
  5629. let container = document.querySelector("body");
  5630. let newElem = document.createElement("div");
  5631. newElem.id = "ugf-styles";
  5632. newElem.innerHTML = trusted_policy.createHTML(styleHTML);
  5633. container.insertBefore(newElem, container.children[0]);
  5634. }
  5635. }
  5636. async function createPageShell(location) {
  5637. document.querySelector("html").setAttribute("gplex","");
  5638. return new Promise((resolve, reject) => {
  5639. let container = document.querySelector("body");
  5640. let newElem = document.createElement("div");
  5641. newElem.id = "ugf";
  5642. if (location == "gplex") {
  5643. container = document.querySelector("html");
  5644. container.setAttribute("confirmed-sv","");
  5645. container.innerHTML = ``;
  5646. newElem.innerHTML = trusted_policy.createHTML(gPlexHTML);
  5647. } else if (location !== "home") {
  5648. newElem.innerHTML = trusted_policy.createHTML(normalHTML);
  5649. } else {
  5650. newElem.innerHTML = trusted_policy.createHTML(homepageHTML);
  5651. }
  5652. container.insertBefore(newElem, container.children[0]);
  5653. if (location == "home") {
  5654. document.querySelector("#ugf-hp-search input").focus();
  5655. document.querySelector("html").setAttribute("search-focus","hard");
  5656. }
  5657. if (location == "gplex") {
  5658. document.title = "Gplex Settings";
  5659. document.querySelector("#ugf-layout-dd-btn").addEventListener("click",function() {
  5660. document.querySelector("html").setAttribute("layout-dd-open","");
  5661. document.title = "Gplex Settings";
  5662. });
  5663. document.querySelector("#ugf-noton-dd-btn").addEventListener("click",function() {
  5664. document.querySelector("html").setAttribute("noton-dd-open","");
  5665. document.title = "Gplex Settings";
  5666. });
  5667. document.querySelector("#ugf-forceload-dd-btn").addEventListener("click",function() {
  5668. document.querySelector("html").setAttribute("forceload-dd-open","");
  5669. document.title = "Gplex Settings";
  5670. });
  5671. document.querySelector("#ugf-settings-display-dd-btn").addEventListener("click",function() {
  5672. document.querySelector("html").setAttribute("settings-display-dd-open","");
  5673. document.title = "Gplex Settings";
  5674. });
  5675. document.querySelector("#ugf-name-email-dd-btn").addEventListener("click",function() {
  5676. document.querySelector("html").setAttribute("name-email-dd-open","");
  5677. document.title = "Gplex Settings";
  5678. });
  5679. document.querySelector("#ugf-layout-fence").addEventListener("click",function() {
  5680. document.querySelector("html").removeAttribute("layout-dd-open");
  5681. });
  5682. document.querySelector("#ugf-noton-fence").addEventListener("click",function() {
  5683. document.querySelector("html").removeAttribute("noton-dd-open");
  5684. });
  5685. document.querySelector("#ugf-forceload-fence").addEventListener("click",function() {
  5686. document.querySelector("html").removeAttribute("forceload-dd-open");
  5687. });
  5688. document.querySelector("#ugf-settings-display-fence").addEventListener("click",function() {
  5689. document.querySelector("html").removeAttribute("settings-display-dd-open");
  5690. });
  5691. document.querySelector("#ugf-name-email-fence").addEventListener("click",function() {
  5692. document.querySelector("html").removeAttribute("name-email-dd-open");
  5693. });
  5694. let layoutBtns = document.querySelectorAll("#ugf-option-layout .ugf-dropdown-item");
  5695. layoutBtns.forEach(itemRoot => {
  5696. itemRoot.addEventListener("click",function() {
  5697. let value = itemRoot.getAttribute("value");
  5698. document.querySelector("html").setAttribute("layout",value);
  5699. localStorage.setItem("UGF_LAYOUT",value);
  5700. layout = value;
  5701. doGplexDropdowns("layout");
  5702. document.querySelector("html").removeAttribute("layout-dd-open");
  5703. });
  5704. });
  5705. let notonBtns = document.querySelectorAll("#ugf-option-noton .ugf-dropdown-item");
  5706. notonBtns.forEach(itemRoot => {
  5707. itemRoot.addEventListener("click",function() {
  5708. let value = itemRoot.getAttribute("value");
  5709. localStorage.setItem("UGF_NOTON_IMAGES",value);
  5710. notOnImages = value;
  5711. doGplexDropdowns("noton");
  5712. document.querySelector("html").removeAttribute("noton-dd-open");
  5713. });
  5714. });
  5715. let forceloadBtns = document.querySelectorAll("#ugf-option-forceload .ugf-dropdown-item");
  5716. forceloadBtns.forEach(itemRoot => {
  5717. itemRoot.addEventListener("click",function() {
  5718. let value = itemRoot.getAttribute("value");
  5719. localStorage.setItem("UGF_FORCE_LOAD_MSG",value);
  5720. forceLoadMsg = value;
  5721. doGplexDropdowns("forceload");
  5722. document.querySelector("html").removeAttribute("forceload-dd-open");
  5723. });
  5724. });
  5725. let settingsDisplayBtns = document.querySelectorAll("#ugf-option-settings-display .ugf-dropdown-item");
  5726. settingsDisplayBtns.forEach(itemRoot => {
  5727. itemRoot.addEventListener("click",function() {
  5728. let value = itemRoot.getAttribute("value");
  5729. localStorage.setItem("UGF_SETTINGS_DISPLAY",value);
  5730. settingsDisplay = value;
  5731. doGplexDropdowns("settings-display");
  5732. document.querySelector("html").removeAttribute("settings-display-dd-open");
  5733. });
  5734. });
  5735. let nameEmailBtns = document.querySelectorAll("#ugf-option-name-email .ugf-dropdown-item");
  5736. nameEmailBtns.forEach(itemRoot => {
  5737. itemRoot.addEventListener("click",function() {
  5738. let value = itemRoot.getAttribute("value");
  5739. localStorage.setItem("UGF_NAME_EMAIL",value);
  5740. nameEmail = value;
  5741. doGplexDropdowns("name-email");
  5742. document.querySelector("html").removeAttribute("name-email-dd-open");
  5743. });
  5744. });
  5745. document.querySelector("#ugf-option-plus-link input").addEventListener("keydown", function() {
  5746. let key = event.key;
  5747. if (key == "Enter") {
  5748. var value = document.querySelector("#ugf-option-plus-link input").value;
  5749. localStorage.setItem("UGF_PLUS_LINK",value);
  5750. gPlusLink = value;
  5751. document.querySelector("#ugf-option-plus-link").setAttribute("unsaved","false");
  5752. } else {
  5753. setTimeout(function() {
  5754. var value = document.querySelector("#ugf-option-plus-link input").value;
  5755. /*if (
  5756. !value.includes("http") ||
  5757. !value.includes("://")
  5758. ) {
  5759. //document.querySelector("#ugf-option-plus-link").setAttribute("unsaved","error");
  5760. } else*/ if (value == gPlusLink) {
  5761. document.querySelector("#ugf-option-plus-link").setAttribute("unsaved","false");
  5762. } else {
  5763. document.querySelector("#ugf-option-plus-link").setAttribute("unsaved","true");
  5764. }
  5765. }, 10);
  5766. }
  5767. });
  5768. doGplexDropdowns("all");
  5769. }
  5770. if (document.querySelector("textarea")) {
  5771. searchValue = document.querySelector("textarea").value;
  5772. document.querySelector("html").setAttribute("confirmed-sv","");
  5773. } else if (document.querySelector("input")) {
  5774. searchValue = document.querySelector("input").getAttribute("value");
  5775. document.querySelector("html").setAttribute("confirmed-sv","");
  5776. /*} else if (location == "images") {
  5777. var elm = "input";
  5778. waitForElement10(elm).then(function(elm) {
  5779. if (canGo != false) {
  5780. searchValue = document.querySelector("input").getAttribute("value");
  5781. document.querySelector("html").setAttribute("confirmed-sv","");
  5782. }
  5783. });*/
  5784. } else {
  5785. var elm = "textarea";
  5786. waitForElement10(elm).then(function(elm) {
  5787. if (canGo != false) {
  5788. searchValue = document.querySelector("textarea").value;
  5789. document.querySelector("html").setAttribute("confirmed-sv","");
  5790. }
  5791. });
  5792. }
  5793. var elm = "[confirmed-sv]";
  5794. waitForElement10(elm).then(function(elm) {
  5795. if (canGo != false) {
  5796. doSearchValueStuff();
  5797. resolve("done");
  5798. }
  5799. });
  5800. if (document.querySelector("#result-stats nobr")) {
  5801. resultCount = document.querySelector("#result-stats").innerHTML;
  5802. document.querySelector("#ugf-search-results-header span").innerHTML = resultCount;
  5803. } else {
  5804. var elm = "#result-stats";
  5805. waitForElement10(elm).then(function(elm) {
  5806. if (canGo != false) {
  5807. if (document.querySelector("#result-stats nobr")) {
  5808. resultCount = document.querySelector("#result-stats").innerHTML;
  5809. document.querySelector("#ugf-search-results-header span").innerHTML = resultCount;
  5810. }
  5811. }
  5812. });
  5813. }
  5814. });
  5815. }
  5816. function doGplexDropdowns(setting) {
  5817. if (setting == "layout" || setting == "all") {
  5818. let layoutBtnSpan = document.querySelector("#ugf-option-layout .ugf-dropdown-button span");
  5819. switch (layout) {
  5820. case '2010':
  5821. layoutBtnSpan.textContent = UImessages.l2012;
  5822. break;
  5823. case '2011':
  5824. layoutBtnSpan.textContent = UImessages.l2012;
  5825. break;
  5826. case '2012':
  5827. layoutBtnSpan.textContent = UImessages.l2012;
  5828. break;
  5829. case '2013':
  5830. layoutBtnSpan.textContent = UImessages.l2013;
  5831. break;
  5832. case '2013L':
  5833. layoutBtnSpan.textContent = UImessages.l2013L;
  5834. break;
  5835. case '2014':
  5836. layoutBtnSpan.textContent = UImessages.l2014;
  5837. break;
  5838. case '2015':
  5839. layoutBtnSpan.textContent = UImessages.l2015;
  5840. break;
  5841. case '2015L':
  5842. layoutBtnSpan.textContent = UImessages.l2015L;
  5843. break;
  5844. case '2016':
  5845. layoutBtnSpan.textContent = UImessages.l2016;
  5846. break;
  5847. case "2016C":
  5848. layoutBtnSpan.textContent = UImessages.l2016C;
  5849. break;
  5850. case '2016L':
  5851. layoutBtnSpan.textContent = UImessages.l2016L;
  5852. break;
  5853. case "2018":
  5854. layoutBtnSpan.textContent = UImessages.l2018;
  5855. break;
  5856. case "2019":
  5857. layoutBtnSpan.textContent = UImessages.l2019;
  5858. break;
  5859. }
  5860. }
  5861. if (setting == "noton" || setting == "all") {
  5862. let notonBtnSpan = document.querySelector("#ugf-option-noton .ugf-dropdown-button span");
  5863. switch (notOnImages) {
  5864. case 'false':
  5865. notonBtnSpan.textContent = UImessages.notonOn;
  5866. break;
  5867. case 'true':
  5868. notonBtnSpan.textContent = UImessages.notonOff;
  5869. break;
  5870. }
  5871. }
  5872. if (setting == "forceload" || setting == "all") {
  5873. let forceloadBtnSpan = document.querySelector("#ugf-option-forceload .ugf-dropdown-button span");
  5874. switch (forceLoadMsg) {
  5875. case 'false':
  5876. forceloadBtnSpan.textContent = UImessages.forceLoadMsgOff;
  5877. break;
  5878. case 'true':
  5879. forceloadBtnSpan.textContent = UImessages.forceLoadMsgOn;
  5880. break;
  5881. case 'fast':
  5882. forceloadBtnSpan.textContent = UImessages.forceLoadMsgFast;
  5883. break;
  5884. }
  5885. }
  5886. if (setting == "settings-display" || setting == "all") {
  5887. let settingsDisplayBtnSpan = document.querySelector("#ugf-option-settings-display .ugf-dropdown-button span");
  5888. switch (settingsDisplay) {
  5889. case 'topbar':
  5890. settingsDisplayBtnSpan.textContent = UImessages.SDtopbar;
  5891. break;
  5892. case 'topbar-hover':
  5893. settingsDisplayBtnSpan.textContent = UImessages.SDtopbarHover;
  5894. break;
  5895. case 'none':
  5896. settingsDisplayBtnSpan.textContent = UImessages.SDnone;
  5897. break;
  5898. }
  5899. }
  5900. if (setting == "name-email" || setting == "all") {
  5901. let nameEmailBtnSpan = document.querySelector("#ugf-option-name-email .ugf-dropdown-button span");
  5902. switch (nameEmail) {
  5903. case 'name':
  5904. nameEmailBtnSpan.textContent = UImessages.NEname;
  5905. break;
  5906. case 'email':
  5907. nameEmailBtnSpan.textContent = UImessages.NEemail;
  5908. break;
  5909. case 'none':
  5910. nameEmailBtnSpan.textContent = UImessages.NEnone;
  5911. break;
  5912. }
  5913. }
  5914. }
  5915. function doSearchValueStuff() {
  5916. if (
  5917. location !== "home" &&
  5918. location !== "gplex"
  5919. ) {
  5920. fixSidebar();
  5921. }
  5922. setLayout();
  5923. createTop();
  5924. }
  5925. function fixSidebar() {
  5926. let sidebarTools = document.querySelectorAll(".ugf-sidebar-tool-inner");
  5927. sidebarTools.forEach(itemRoot => {
  5928. let newHref = itemRoot.getAttribute("href").replaceAll("TEMP_REPLACEME",searchValue);
  5929. itemRoot.setAttribute("href",newHref);
  5930. });
  5931. }
  5932. function fixPagination() {
  5933. let pages = document.querySelectorAll(".gp-pagination");
  5934. let PRcheck = 0;
  5935. /*if (loggedIn == true) {
  5936. let href = document.querySelector("#gp-pagination-2").getAttribute("href");
  5937. document.querySelector("#gp-pagination-2").setAttribute("href",href.replaceAll("&start=10","&start=10"));
  5938. href = document.querySelector("#gp-pagination-3").getAttribute("href");
  5939. document.querySelector("#gp-pagination-3").setAttribute("href",href.replaceAll("&start=20","&start=110"));
  5940. href = document.querySelector("#gp-pagination-4").getAttribute("href");
  5941. document.querySelector("#gp-pagination-4").setAttribute("href",href.replaceAll("&start=30","&start=210"));
  5942. href = document.querySelector("#gp-pagination-5").getAttribute("href");
  5943. document.querySelector("#gp-pagination-5").setAttribute("href",href.replaceAll("&start=40","&start=310"));
  5944. href = document.querySelector("#gp-pagination-6").getAttribute("href");
  5945. document.querySelector("#gp-pagination-6").setAttribute("href",href.replaceAll("&start=50","&start=410"));
  5946. href = document.querySelector("#gp-pagination-7").getAttribute("href");
  5947. document.querySelector("#gp-pagination-7").setAttribute("href",href.replaceAll("&start=60","&start=510"));
  5948. href = document.querySelector("#gp-pagination-8").getAttribute("href");
  5949. document.querySelector("#gp-pagination-8").setAttribute("href",href.replaceAll("&start=70","&start=610"));
  5950. href = document.querySelector("#gp-pagination-9").getAttribute("href");
  5951. document.querySelector("#gp-pagination-9").setAttribute("href",href.replaceAll("&start=80","&start=710"));
  5952. href = document.querySelector("#gp-pagination-10").getAttribute("href");
  5953. document.querySelector("#gp-pagination-10").setAttribute("href",href.replaceAll("&start=90","&start=810"));
  5954. }*/
  5955. pages.forEach(itemRoot => {
  5956. let newHref;
  5957. if (location == "images") {
  5958. newHref = itemRoot.getAttribute("href").replaceAll("TEMP_REPLACEME",searchValue + "&udm=2");
  5959. } else if (location == "videos") {
  5960. newHref = itemRoot.getAttribute("href").replaceAll("TEMP_REPLACEME",searchValue + "&tbm=vid");
  5961. } else {
  5962. newHref = itemRoot.getAttribute("href").replaceAll("TEMP_REPLACEME",searchValue);
  5963. }
  5964. itemRoot.setAttribute("href",newHref);
  5965. PRcheck++;
  5966. });
  5967. let newPrevHref;
  5968. let newNextHref;
  5969. let prevNumb = page - 2;
  5970. let currNumb = page - 1;
  5971. document.querySelectorAll("#gp-page-numbers .gp-pagination")[currNumb].classList.add("active");
  5972. if (document.querySelectorAll("#gp-page-numbers .gp-pagination")[prevNumb]) {
  5973. newPrevHref = document.querySelectorAll("#gp-page-numbers .gp-pagination")[prevNumb].getAttribute("href");
  5974. }
  5975. if (document.querySelectorAll("#gp-page-numbers .gp-pagination")[page]) {
  5976. newNextHref = document.querySelectorAll("#gp-page-numbers .gp-pagination")[page].getAttribute("href");
  5977. }
  5978. document.querySelector("#gp-pagination-prev").setAttribute("href",newPrevHref);
  5979. document.querySelector("#gp-pagination-next").setAttribute("href",newNextHref);
  5980. if (page != 1) {
  5981. document.querySelector("#gp-pagination-prev").classList.add("has-prev");
  5982. }
  5983. }
  5984. function setLayout() {
  5985. if (searchValue == null) {
  5986. searchValue = "";
  5987. }
  5988. if (
  5989. searchValue.includes("SO RETRO")
  5990. ) {
  5991. document.querySelector("html").setAttribute("layout","retro");
  5992. }
  5993. if (
  5994. searchValue == "Google in 2019" ||
  5995. searchValue == "google in 2019"
  5996. ) {
  5997. document.querySelector("html").setAttribute("layout","2019");
  5998. localStorage.setItem("UGF_LAYOUT","2019");
  5999. setTimeout(function() {
  6000. checkProperty("legacy-gbar",false);
  6001. checkProperty("legacy-footer",false);
  6002. }, 1000);
  6003. }
  6004. if (
  6005. searchValue == "Google in 2017" ||
  6006. searchValue == "google in 2017" ||
  6007. searchValue == "Google in 2018" ||
  6008. searchValue == "google in 2018"
  6009. ) {
  6010. document.querySelector("html").setAttribute("layout","2018");
  6011. localStorage.setItem("UGF_LAYOUT","2018");
  6012. setTimeout(function() {
  6013. checkProperty("legacy-gbar",false);
  6014. checkProperty("legacy-footer",false);
  6015. }, 1000);
  6016. }
  6017. if (
  6018. searchValue == "Google in 2016" ||
  6019. searchValue == "google in 2016"
  6020. ) {
  6021. document.querySelector("html").setAttribute("layout","2016");
  6022. localStorage.setItem("UGF_LAYOUT","2016");
  6023. setTimeout(function() {
  6024. checkProperty("legacy-gbar",false);
  6025. checkProperty("legacy-footer",false);
  6026. }, 1000);
  6027. //document.querySelector("html").setAttribute("fake-spa","");
  6028. }
  6029. if (
  6030. searchValue == "Google in 2016C" ||
  6031. searchValue == "google in 2016C"
  6032. ) {
  6033. document.querySelector("html").setAttribute("layout","2016C");
  6034. localStorage.setItem("UGF_LAYOUT","2016C");
  6035. setTimeout(function() {
  6036. checkProperty("legacy-gbar",false);
  6037. checkProperty("legacy-footer",false);
  6038. }, 1000);
  6039. }
  6040. if (
  6041. searchValue == "Google in 2016L" ||
  6042. searchValue == "google in 2016L"
  6043. ) {
  6044. document.querySelector("html").setAttribute("layout","2016L");
  6045. localStorage.setItem("UGF_LAYOUT","2016L");
  6046. setTimeout(function() {
  6047. checkProperty("legacy-gbar",true);
  6048. checkProperty("legacy-footer",true);
  6049. }, 1000);
  6050. }
  6051. if (
  6052. searchValue == "Google in 2015" ||
  6053. searchValue == "google in 2015"
  6054. ) {
  6055. document.querySelector("html").setAttribute("layout","2015");
  6056. localStorage.setItem("UGF_LAYOUT","2015");
  6057. setTimeout(function() {
  6058. checkProperty("legacy-gbar",false);
  6059. checkProperty("legacy-footer",false);
  6060. }, 1000);
  6061. //document.querySelector("html").setAttribute("fake-spa","");
  6062. }
  6063. if (
  6064. searchValue == "Google in 2015L" ||
  6065. searchValue == "google in 2015L"
  6066. ) {
  6067. document.querySelector("html").setAttribute("layout","2015L");
  6068. localStorage.setItem("UGF_LAYOUT","2015L");
  6069. setTimeout(function() {
  6070. checkProperty("legacy-gbar",true);
  6071. checkProperty("legacy-footer",true);
  6072. }, 1000);
  6073. }
  6074. if (
  6075. searchValue == "Google in 2014" ||
  6076. searchValue == "google in 2014"
  6077. ) {
  6078. document.querySelector("html").setAttribute("layout","2014");
  6079. localStorage.setItem("UGF_LAYOUT","2014");
  6080. setTimeout(function() {
  6081. checkProperty("legacy-gbar",false);
  6082. checkProperty("legacy-footer",false);
  6083. }, 1000);
  6084. //document.querySelector("html").setAttribute("fake-spa","");
  6085. }
  6086. if (
  6087. searchValue == "Google in 2013" ||
  6088. searchValue == "google in 2013"
  6089. ) {
  6090. document.querySelector("html").setAttribute("layout","2013");
  6091. localStorage.setItem("UGF_LAYOUT","2013");
  6092. // timeouts are bad. fix this later.
  6093. setTimeout(function() {
  6094. checkProperty("legacy-gbar",false);
  6095. checkProperty("legacy-footer",true);
  6096. }, 1000);
  6097. //document.querySelector("html").setAttribute("fake-spa","");
  6098. }
  6099. if (
  6100. searchValue == "Google in 2013L" ||
  6101. searchValue == "google in 2013L"
  6102. ) {
  6103. document.querySelector("html").setAttribute("layout","2013L");
  6104. localStorage.setItem("UGF_LAYOUT","2013L");
  6105. setTimeout(function() {
  6106. checkProperty("legacy-gbar",true);
  6107. checkProperty("legacy-footer",true);
  6108. }, 1000);
  6109. }
  6110. if (
  6111. searchValue == "Google in 2011" ||
  6112. searchValue == "google in 2011" ||
  6113. searchValue == "Google in 2012" ||
  6114. searchValue == "google in 2012"
  6115. ) {
  6116. document.querySelector("html").setAttribute("layout","2012");
  6117. localStorage.setItem("UGF_LAYOUT","2012");
  6118. setTimeout(function() {
  6119. checkProperty("legacy-gbar",true);
  6120. checkProperty("legacy-footer",true);
  6121. }, 1000);
  6122. }
  6123. /*if (
  6124. searchValue == "Google in 2011" ||
  6125. searchValue == "google in 2011"
  6126. ) {
  6127. document.querySelector("html").setAttribute("layout","2011");
  6128. localStorage.setItem("UGF_LAYOUT","2011");
  6129. }
  6130. if (
  6131. searchValue == "Google in 2010" ||
  6132. searchValue == "google in 2010"
  6133. ) {
  6134. document.querySelector("html").setAttribute("layout","2010");
  6135. localStorage.setItem("UGF_LAYOUT","2010");
  6136. }*/
  6137. }
  6138. function checkProperty(property, shouldHave) {
  6139. if (document.querySelector("[" + property + "]")) {
  6140. if (shouldHave == false) {
  6141. document.querySelector("html").removeAttribute(property);
  6142.  
  6143. }
  6144. } else if (shouldHave == true) {
  6145. document.querySelector("html").setAttribute(property,"");
  6146. }
  6147. }
  6148. function bringForthJustice() {
  6149. let xValue = searchValue.replaceAll("twitter","<i>x</i>");
  6150. let safeXValue = searchValue.replaceAll("twitter","x");
  6151. xValue = xValue.replaceAll("Twitter","<i>X</i>");
  6152. safeXValue = safeXValue.replaceAll("Twitter","X");
  6153. xValue = xValue.replaceAll("TWITTER","<i>𝕏</i>");
  6154. safeXValue = safeXValue.replaceAll("TWITTER","𝕏");
  6155. let container = document.querySelector("#ugf-search-results-reserved-top");
  6156. let newElem = document.createElement("div");
  6157. newElem.classList.add("ugf-correction");
  6158. newElem.classList.add("ugf-easter-egg");
  6159. newElem.innerHTML = `
  6160. <div class="ugf-correction-inner">
  6161. <span>Did you mean: </span>
  6162. <a href="https://www.google.com/search?q=${safeXValue}">${xValue}</a>
  6163. </div>
  6164. `;
  6165. container.insertBefore(newElem, container.children[0]);
  6166. }
  6167. function createCorrection(value) {
  6168. let container = document.querySelector("#ugf-search-results-reserved-top");
  6169. let newElem = document.createElement("div");
  6170. newElem.classList.add("ugf-correction");
  6171. newElem.innerHTML = `
  6172. <div class="ugf-correction-inner">${value}</div>
  6173. `;
  6174. container.insertBefore(newElem, container.children[0]);
  6175. }
  6176. function createCorrection1l(value) {
  6177. let container = document.querySelector("#ugf-search-results-reserved-top");
  6178. let newElem = document.createElement("div");
  6179. newElem.classList.add("ugf-correction");
  6180. newElem.innerHTML = `
  6181. <div class="ugf-correction-inner">
  6182. <span>Did you mean:</span>
  6183. <span>${value}</span>
  6184. </div>
  6185. `;
  6186. container.insertBefore(newElem, container.children[0]);
  6187. }
  6188. function createCorrection2(value) {
  6189. let container = document.querySelector("#ugf-search-results-reserved-top");
  6190. let newElem = document.createElement("div");
  6191. newElem.classList.add("ugf-correction-blue");
  6192. newElem.innerHTML = `
  6193. <div class="ugf-correction-inner">${value}</div>
  6194. <div class="ugf-correction-instead">
  6195. <span>Search instead for </span>
  6196. <a href='${insteadLink}'>"${searchValue}"</a>
  6197. </div>
  6198. `;
  6199. container.insertBefore(newElem, container.children[0]);
  6200. }
  6201. function createCorrection2l(value) {
  6202. let container = document.querySelector("#ugf-search-results-reserved-top");
  6203. let newElem = document.createElement("div");
  6204. newElem.classList.add("ugf-correction-blue");
  6205. newElem.innerHTML = `
  6206. <div class="ugf-correction-inner">
  6207. <span>Showing results for</span>
  6208. <span>${value}</span>
  6209. </div>
  6210. <div class="ugf-correction-instead">
  6211. <span>Search instead for </span>
  6212. <span>"${insteadLink}"</span>
  6213. </div>
  6214. `;
  6215. container.insertBefore(newElem, container.children[0]);
  6216. }
  6217. function createSidebar() {
  6218. let container = document.querySelector("#ugf-right-inner");
  6219. let newElem = document.createElement("div");
  6220. newElem.id = "ugf-side-info-container";
  6221. newElem.innerHTML = `
  6222. <div id="ugf-side-info" present="${hasSidebar}">
  6223. <div id="ugf-side-info-top" class="flex-bar">
  6224. <div id="ugf-side-info-top-left">
  6225. <div id="ugf-side-info-title">
  6226. <span>${SB.title}</span>
  6227. </div>
  6228. <div id="ugf-side-info-subtitle">
  6229. <span>${SB.sub}</span>
  6230. </div>
  6231. </div>
  6232. <div id="ugf-side-info-top-right">
  6233. <div id="ugf-side-info-image">
  6234. <img src='${SB.img}'></img>
  6235. </div>
  6236. </div>
  6237. </div>
  6238. <div id="ugf-side-info-body">
  6239. <div id="ugf-side-info-desc">
  6240. <span>${SB.desc}</span>
  6241. </div>
  6242. <div id="ugf-side-info-kay-sees-and-ess-esses">
  6243. <span id="ugf-kc1" class="ugf-kc">${SB.kc1}</span>
  6244. <span id="ugf-kc2" class="ugf-kc">${SB.kc2}</span>
  6245. <span id="ugf-kc3" class="ugf-kc">${SB.kc3}</span>
  6246. <span id="ugf-kc4" class="ugf-kc">${SB.kc4}</span>
  6247. <span id="ugf-kc5" class="ugf-kc">${SB.kc5}</span>
  6248. <span id="ugf-kc6" class="ugf-kc">${SB.kc6}</span>
  6249. <span id="ugf-kc7" class="ugf-kc">${SB.kc7}</span>
  6250. <span id="ugf-kc8" class="ugf-kc">${SB.kc8}</span>
  6251. <span id="ugf-kc9" class="ugf-kc">${SB.kc9}</span>
  6252. <span id="ugf-kc10" class="ugf-kc">${SB.kc10}</span>
  6253. <span id="ugf-kc11" class="ugf-kc">${SB.kc11}</span>
  6254. <span id="ugf-kc12" class="ugf-kc">${SB.kc12}</span>
  6255. </div>
  6256. </div>
  6257. </div>
  6258. `;
  6259. container.insertBefore(newElem, container.children[0]);
  6260. }
  6261. let searchPredictsAPI = [];
  6262. function fetchPredicts(value) {
  6263. fetch("https://www.google.com/complete/search?q=" + value + "&cp=" + value + "&client=gws-wiz&xssi=t&gs_pcrt=undefined&hl=en-CA&authuser=0&dpr=1", {
  6264. "accept": "*/*",
  6265. "accept-encoding": "gzip, deflate, br",
  6266. "connection": "keep-alive",
  6267. "host": "www.google.com",
  6268. "referrer": "https://www.google.com/",
  6269. "referrerPolicy": "strict-origin-when-cross-origin",
  6270. "sec-fetch-dest": "empty",
  6271. "sec-fetch-mode": "cors",
  6272. "sec-fetch-site": "same-origin",
  6273. "method": "GET"
  6274. }).then(response => response.text()).then(data => {
  6275. var cutString1 = data.split(")]}'");
  6276. var used = cutString1[1];
  6277. data = JSON.parse(used);
  6278. var list = data[0];
  6279. parsePredicts(list);
  6280. });
  6281. }
  6282. function parsePredicts(list) {
  6283. //API
  6284. searchPredictsAPI = [];
  6285. let itemNo = 0;
  6286. list.forEach(itemRoot => {
  6287. let text = itemRoot[0];
  6288. searchPredictsAPI.push({searchPrediction: {
  6289. content: text,
  6290. itemNo: itemNo
  6291. }});
  6292. itemNo++;
  6293. });
  6294. createPredicts(searchPredictsAPI);
  6295. }
  6296. function createPredicts(SPAPI) {
  6297. if (document.querySelector("#ugf-search-predictions")) {
  6298. document.querySelector("#ugf-search-predictions").remove();
  6299. }
  6300. let container = document.querySelector("#ugf-search-predictions-container");
  6301. let newElem = document.createElement("div");
  6302. newElem.id = "ugf-search-predictions";
  6303. newElem.innerHTML = `
  6304. <div id="ugf-search-predictions-inner">
  6305. </div>
  6306. <div id="ugf-search-predictions-fence">
  6307. </div>
  6308. `;
  6309. container.insertBefore(newElem, container.children[0]);
  6310. document.querySelector("#ugf-search-predictions-fence").addEventListener("click", function() {
  6311. document.querySelector("html").removeAttribute("search-focus");
  6312. });
  6313. SPAPI.forEach(itemRoot => {
  6314. createPrediction(itemRoot.searchPrediction);
  6315. });
  6316. }
  6317. function createPrediction(item) {
  6318. let container = document.querySelector("#ugf-search-predictions-inner");
  6319. let newElem = document.createElement("a");
  6320. newElem.classList.add("ugf-search-prediction");
  6321. newElem.innerHTML = `
  6322. <div class="ugf-search-prediction-inner">
  6323. <div class="ugf-search-prediction-left">
  6324. </div>
  6325. <div class="ugf-search-prediction-right">
  6326. <span>${item.content}</span>
  6327. </div>
  6328. </div>
  6329. `;
  6330. container.insertBefore(newElem, container.children[item.itemNo]);
  6331. let a = newElem.textContent;
  6332. a = a.trim();
  6333. if (location == "images") {
  6334. newElem.setAttribute("href","https://www.google.com/search?q=" + a + "&udm=2");
  6335. } else {
  6336. newElem.setAttribute("href","https://www.google.com/search?q=" + a);
  6337. }
  6338. /*newElem.addEventListener("click", function() {
  6339. var value = newElem.textContent;
  6340. if (location == "images") {
  6341. window.location = "https://www.google.com/search?q=" + value + "&udm=2";
  6342. } else {
  6343. window.location = "https://www.google.com/search?q=" + value;
  6344. }
  6345. });*/
  6346. }
  6347. function doImageViewer(item) {
  6348. document.querySelector("#ugf-image-viewer").innerHTML = ``;
  6349. let container = document.querySelector("#ugf-image-viewer");
  6350. let newElem = document.createElement("div");
  6351. newElem.id = "ugf-image-viewer-inner";
  6352. newElem.innerHTML = `
  6353. <div id="ugf-image-viewer-top">
  6354. </div>
  6355. <div id="ugf-image-viewer-content" class="flex">
  6356. <div id="ugf-image-viewer-left">
  6357. <div id="ugf-image-viewer-image">
  6358. <img src="${item.querySelector('img').getAttribute('src')}"></img>
  6359. </div>
  6360. </div>
  6361. <div id="ugf-image-viewer-right">
  6362. <a id="ugf-image-viewer-title">
  6363. <span></span>
  6364. </a>
  6365. </div>
  6366. </div>
  6367. `;
  6368. container.insertBefore(newElem, container.children[0]);
  6369. }
  6370. function createTop() {
  6371. let container = document.querySelector("#ugf-top-container");
  6372. let newElem = document.createElement("div");
  6373. newElem.id = "ugf-top-container-inner";
  6374. newElem.innerHTML = trusted_policy.createHTML(topHTML);
  6375. container.insertBefore(newElem, container.children[0]);
  6376. document.querySelector("#gp-gbar-more").addEventListener("click", function() {
  6377. document.querySelector("html").setAttribute("gbar-dd-open","");
  6378. });
  6379. document.querySelector("#gp-gbar-dd-fence").addEventListener("click", function() {
  6380. document.querySelector("html").removeAttribute("gbar-dd-open");
  6381. });
  6382. if (location == "home") {
  6383. document.querySelector("#ugf-top #ugf-search").remove();
  6384. document.querySelector("#ugf-search-btn-2").addEventListener("click", function() {
  6385. document.querySelector("#ugf-search-btn").click();
  6386. });
  6387. document.querySelector("#ugf-lucky-btn").addEventListener("click", function() {
  6388. var value = document.querySelector("#ugf-search-value").value;
  6389. value = value.replaceAll("(","%28");
  6390. value = value.replaceAll(")","%29");
  6391. value = value.replaceAll("+","%2B");
  6392. value = value.replaceAll("-","%2D");
  6393. value = value.replaceAll("/","%2F");
  6394. window.location = "https://www.google.com/search?q=" + value + "&btnI=I%27m+Feeling+Lucky&iflsig=ANes7DEAAAAAZhR3OR8bkupN1D63NUfgJj5erQigfDUN";
  6395. });
  6396. }
  6397. var elm = "[href^='https://accounts.google.com/S']";
  6398. waitForElement10(elm).then(function(elm) {
  6399. if (canGo != false) {
  6400. if (document.querySelector("[href^='https://accounts.google.com/ServiceLogin']")) {
  6401. loggedIn = false;
  6402. document.querySelector("html").setAttribute("logged-in","false");
  6403. }
  6404. if (document.querySelector("[href^='https://accounts.google.com/SignOutOptions']")) {
  6405. loggedIn = true;
  6406. document.querySelector("html").setAttribute("logged-in","true");
  6407. pfp = document.querySelector("[href^='https://accounts.google.com/SignOutOptions'] img").getAttribute("src");
  6408. pfp96 = pfp.replace("s32","s96");
  6409. let cutIt = document.querySelector("[href^='https://accounts.google.com/SignOutOptions']").getAttribute("aria-label").split(": ");
  6410. cutIt = cutIt[1];
  6411. cutIt = cutIt.split(" \n");
  6412. username = cutIt[0];
  6413. let firstName = username.split(" ")[0];
  6414. email = cutIt[1];
  6415. email = email.split("(");
  6416. email = email[1];
  6417. email = email.split(")");
  6418. email = email[0];
  6419. document.querySelector("#gp-gbar-account span").textContent = firstName;
  6420. document.querySelector("#gp-gbar-email span").textContent = email;
  6421. document.querySelector("#ugf-account-username span").textContent = username;
  6422. document.querySelector("#ugf-account-email span").textContent = email;
  6423. document.querySelector("#ugf-username-button span").textContent = "+" + firstName;
  6424. document.querySelector("#ugf-email-button span").textContent = email;
  6425. document.querySelector("#ugf-account-button img").src = pfp;
  6426. document.querySelector("#ugf-account-pfp img").src = pfp96;
  6427. document.querySelector("#ugf-account-normal-pfp img").src = pfp96;
  6428. document.querySelector("#gp-gbar-plusyou span").textContent = "+" + firstName;
  6429. }
  6430. fixPagination();
  6431. }
  6432. });
  6433. if (location == "images") {
  6434. document.querySelector("#ugf-all-tab").classList.remove("active");
  6435. document.querySelector("#ugf-images-tab").classList.add("active");
  6436. document.querySelector("#ugf-page-multistate").setAttribute("state","images");
  6437. document.querySelector("#ugf-all-item").classList.remove("active");
  6438. document.querySelector("#ugf-images-item").classList.add("active");
  6439. document.querySelector("#gp-gbar-search").classList.remove("active");
  6440. document.querySelector("#gp-gbar-images").classList.add("active");
  6441. }
  6442. if (location == "videos") {
  6443. document.querySelector("#ugf-all-tab").classList.remove("active");
  6444. document.querySelector("#ugf-videos-tab").classList.add("active");
  6445. document.querySelector("#ugf-all-item").classList.remove("active");
  6446. document.querySelector("#ugf-videos-item").classList.add("active");
  6447. }
  6448. if (
  6449. location !== "home" &&
  6450. location !== "gplex"
  6451. ) {
  6452. switch (tbs) {
  6453. case 'qdr:h':
  6454. document.querySelector("#ugf-hour-tool").classList.add("active");
  6455. document.querySelector("#ugf-all-results-tool").classList.add("active");
  6456. break;
  6457. case 'qdr:d':
  6458. document.querySelector("#ugf-day-tool").classList.add("active");
  6459. document.querySelector("#ugf-all-results-tool").classList.add("active");
  6460. break;
  6461. case 'qdr:w':
  6462. document.querySelector("#ugf-week-tool").classList.add("active");
  6463. document.querySelector("#ugf-all-results-tool").classList.add("active");
  6464. break;
  6465. case 'qdr:m':
  6466. document.querySelector("#ugf-month-tool").classList.add("active");
  6467. document.querySelector("#ugf-all-results-tool").classList.add("active");
  6468. break;
  6469. case 'qdr:y':
  6470. document.querySelector("#ugf-year-tool").classList.add("active");
  6471. document.querySelector("#ugf-all-results-tool").classList.add("active");
  6472. break;
  6473. case 'li:1':
  6474. document.querySelector("#ugf-any-time-tool").classList.add("active");
  6475. document.querySelector("#ugf-verbatim-tool").classList.add("active");
  6476. break;
  6477. default:
  6478. document.querySelector("#ugf-any-time-tool").classList.add("active");
  6479. document.querySelector("#ugf-all-results-tool").classList.add("active");
  6480. }
  6481. document.querySelector("#ugf-search-value").value = searchValue;
  6482. document.querySelector("#ugf-all-tab").href = "https://www.google.com/search?q=" + searchValue;
  6483. document.querySelector("#ugf-images-tab").href = "https://www.google.com/search?q=" + searchValue + "&udm=2";
  6484. document.querySelector("#ugf-videos-tab").href = "https://www.google.com/search?q=" + searchValue + "&tbm=vid";
  6485. document.querySelector("#ugf-news-tab").href = "https://www.google.com/search?q=" + searchValue + "&tbm=nws";
  6486. document.querySelector("#ugf-maps-tab").href = "https://maps.google.com/maps?q=" + searchValue;
  6487. document.querySelector("#ugf-all-item").href = "https://www.google.com/search?q=" + searchValue;
  6488. document.querySelector("#ugf-images-item").href = "https://www.google.com/search?q=" + searchValue + "&udm=2";
  6489. document.querySelector("#ugf-videos-item").href = "https://www.google.com/search?q=" + searchValue + "&tbm=vid";
  6490. document.querySelector("#ugf-news-item").href = "https://www.google.com/search?q=" + searchValue + "&tbm=nws";
  6491. document.querySelector("#ugf-maps-item").href = "https://maps.google.com/maps?q=" + searchValue;
  6492. linkList.forEach(itemRoot => {
  6493. if (itemRoot.searchResult) {
  6494. createItem(itemRoot, "searchResult");
  6495. }
  6496. if (itemRoot.videoResult) {
  6497. createItem(itemRoot, "videoResult");
  6498. }
  6499. if (itemRoot.imageResult) {
  6500. createItem(itemRoot, "imageResult");
  6501. }
  6502. if (itemRoot.searchInfoBlock) {
  6503. createItem(itemRoot, "searchBlock");
  6504. }
  6505. });
  6506. }
  6507. document.querySelector("#waffle").addEventListener("click", function() {
  6508. document.querySelector("html").setAttribute("apps-dd-open","");
  6509. });
  6510. document.querySelector("#ugf-account-button").addEventListener("click", function() {
  6511. document.querySelector("html").setAttribute("account-dd-open","");
  6512. });
  6513. document.querySelector("#ugf-fake-notifs-button").addEventListener("click", function() {
  6514. document.querySelector("html").setAttribute("notifs-dd-open","");
  6515. document.querySelector("html").setAttribute("gplus-notif-status","none");
  6516. setTimeout(function() {
  6517. document.querySelector("#ugf-mr-jingles img").setAttribute("src","https://ssl.gstatic.com/s2/oz/images/notifications/jingles_gif_2x_f3cc6d214824b9711a0e8c1a75d285ff.gif");
  6518. }, 250);
  6519. });
  6520. /*document.querySelector("#ugf-mr-jingles").addEventListener("click", function() {
  6521. document.querySelector("#ugf-mr-jingles img").setAttribute("src","https://ssl.gstatic.com/s2/oz/images/notifications/jingles_gif_2x_f3cc6d214824b9711a0e8c1a75d285ff.gif");
  6522. });*/
  6523. document.querySelector("#ugf-notifs-dd-prev").addEventListener("click", function() {
  6524. document.querySelector("html").setAttribute("gplus-notif-status","loading");
  6525. setTimeout(function() {
  6526. document.querySelector("html").setAttribute("gplus-notif-status","failed");
  6527. }, 1000);
  6528. });
  6529. document.querySelector("#beyond-the-fence").addEventListener("click", function() {
  6530. document.querySelector("html").removeAttribute("apps-dd-open");
  6531. });
  6532. document.querySelector("#beyond-the-fence-2").addEventListener("click", function() {
  6533. document.querySelector("html").removeAttribute("account-dd-open");
  6534. });
  6535. document.querySelector("#beyond-the-fence-3").addEventListener("click", function() {
  6536. document.querySelector("html").removeAttribute("notifs-dd-open");
  6537. document.querySelector("html").setAttribute("gplus-notif-status","none");
  6538. });
  6539. document.querySelector("#ugf-search-value").addEventListener("focus", function() {
  6540. document.querySelector("html").setAttribute("search-focus","hard");
  6541. });
  6542. document.querySelector("#ugf-search-value").addEventListener("blur", function() {
  6543. document.querySelector("html").setAttribute("search-focus","soft");
  6544. document.querySelector("html").setAttribute("hide-results","false");
  6545. });
  6546. document.querySelector("#ugf-search-btn").addEventListener("click", function() {
  6547. var value = document.querySelector("#ugf-search-value").value;
  6548. value = value.replaceAll("(","%28");
  6549. value = value.replaceAll(")","%29");
  6550. value = value.replaceAll("+","%2B");
  6551. value = value.replaceAll("-","%2D");
  6552. value = value.replaceAll("/","%2F");
  6553. if (value == "StructuredHomepageOn") {
  6554. localStorage.setItem("UGF_STRUCTURED_HOMEPAGE","true");
  6555. window.location.replace("https://www.google.com/");
  6556. } else if (value == "StructuredHomepageOff") {
  6557. localStorage.setItem("UGF_STRUCTURED_HOMEPAGE","false");
  6558. window.location.replace("https://www.google.com/");
  6559. }
  6560. if (value == "CustomImagePageOn") {
  6561. localStorage.setItem("UGF_NOTON_IMAGES","false");
  6562. alert("Command accepted");
  6563. window.location.replace("https://www.google.com/");
  6564. } else if (value == "CustomImagePageOff") {
  6565. localStorage.setItem("UGF_NOTON_IMAGES","true");
  6566. alert("Command accepted");
  6567. window.location.replace("https://www.google.com/");
  6568. }
  6569. else {
  6570. window.location = "https://www.google.com/search?q=" + value;
  6571. if (location == "images") {
  6572. window.location = "https://www.google.com/search?q=" + value + "&udm=2";
  6573. } else if (location == "videos") {
  6574. window.location = "https://www.google.com/search?q=" + value + "&tbm=vid";
  6575. } else if (location == "news") {
  6576. window.location = "https://www.google.com/search?q=" + value + "&tbm=nws";
  6577. } else if (location == "maps") {
  6578. window.location = "https://maps.google.com/maps?q=" + value;
  6579. } else {
  6580. window.location = "https://www.google.com/search?q=" + value;
  6581. }
  6582. }
  6583. });
  6584. document.querySelector("#ugf-search-value").addEventListener("keydown", function() {
  6585. document.querySelector("html").setAttribute("hide-results","true");
  6586. let key = event.key;
  6587. if (key == "Enter") {
  6588. var value = document.querySelector("#ugf-search-value").value;
  6589. value = value.replaceAll("(","%28");
  6590. value = value.replaceAll(")","%29");
  6591. value = value.replaceAll("+","%2B");
  6592. value = value.replaceAll("-","%2D");
  6593. value = value.replaceAll("/","%2F");
  6594. if (value == "StructuredHomepageOn") {
  6595. localStorage.setItem("UGF_STRUCTURED_HOMEPAGE","true");
  6596. window.location.replace("https://www.google.com/");
  6597. } else if (value == "StructuredHomepageOff") {
  6598. localStorage.setItem("UGF_STRUCTURED_HOMEPAGE","false");
  6599. window.location.replace("https://www.google.com/");
  6600. }
  6601. if (value == "CustomImagePageOn") {
  6602. localStorage.setItem("UGF_NOTON_IMAGES","false");
  6603. alert("Command accepted");
  6604. window.location.replace("https://www.google.com/");
  6605. } else if (value == "CustomImagePageOff") {
  6606. localStorage.setItem("UGF_NOTON_IMAGES","true");
  6607. alert("Command accepted");
  6608. window.location.replace("https://www.google.com/");
  6609. }
  6610. else {
  6611. window.location = "https://www.google.com/search?q=" + value;
  6612. if (location == "images") {
  6613. window.location = "https://www.google.com/search?q=" + value + "&udm=2";
  6614. } else if (location == "videos") {
  6615. window.location = "https://www.google.com/search?q=" + value + "&tbm=vid";
  6616. } else if (location == "news") {
  6617. window.location = "https://www.google.com/search?q=" + value + "&tbm=nws";
  6618. } else if (location == "maps") {
  6619. window.location = "https://maps.google.com/maps?q=" + value;
  6620. } else {
  6621. window.location = "https://www.google.com/search?q=" + value;
  6622. }
  6623. }
  6624. } else {
  6625. setTimeout(function() { // delay so it gets updated value
  6626. var value = document.querySelector("#ugf-search-value").value;
  6627. fetchPredicts(value);
  6628. }, 50);
  6629. }
  6630. });
  6631. }
  6632. function createItem(itemGet, itemType) {
  6633. let item;
  6634. let type;
  6635. let SRA;
  6636. if (itemGet == "zucc") {
  6637. type = "block";
  6638. }
  6639. if (itemType == "searchResult") {
  6640. item = itemGet.searchResult;
  6641. type = item.type;
  6642. SRA = new SearchResultAPI(item, type);
  6643. }
  6644. if (itemType == "videoResult") {
  6645. item = itemGet.videoResult;
  6646. type = item.type;
  6647. SRA = new SearchResultAPI(item, type);
  6648. }
  6649. if (itemType == "imageResult") {
  6650. item = itemGet.imageResult;
  6651. type = item.type;
  6652. SRA = new SearchResultAPI(item, type);
  6653. }
  6654. if (itemType == "searchBlock") {
  6655. item = itemGet.searchInfoBlock;
  6656. type = item.type;
  6657. SRA = new SearchResultAPI(item, type);
  6658. }
  6659. if (type == "result") {
  6660. let container = document.querySelector("#ugf-search-results-container");
  6661. let newElem = document.createElement("div");
  6662. newElem.classList.add("ugf-search-result");
  6663. newElem.innerHTML = `
  6664. <div class="ugf-search-result-inner">
  6665. <a class="ugf-search-result-title" title='${SRA.unmoddedTitle}' href="${SRA.href}">
  6666. <span>${SRA.title}</span>
  6667. </a>
  6668. <a class="ugf-search-result-link" title="${SRA.href}" href="${SRA.href}">
  6669. <span>${SRA.href}</span>
  6670. </a>
  6671. <div class="ugf-search-result-desc">
  6672. <span>${SRA.description}</span>
  6673. </div>
  6674. </div>
  6675. `;
  6676. container.insertBefore(newElem, container.children[SRA.itemNo]);
  6677. }
  6678. if (type == "video") {
  6679. let container = document.querySelector("#ugf-search-results-container");
  6680. let newElem = document.createElement("div");
  6681. newElem.classList.add("ugf-search-result");
  6682. newElem.classList.add("ugf-video-result");
  6683. newElem.setAttribute("thumb-url",SRA.thumbnail);
  6684. newElem.innerHTML = `
  6685. <div class="ugf-search-result-inner">
  6686. <a class="ugf-search-result-title" title='${SRA.unmoddedTitle}' href="${SRA.href}">
  6687. <span>${SRA.title}</span>
  6688. </a>
  6689. <div class="ugf-video-result-details flex">
  6690. <a class="ugf-video-result-thumbnail" href="${SRA.href}">
  6691. <div class="ugf-video-result-thumbnail-inner">
  6692. <img src="${SRA.thumbnail}">
  6693. </div>
  6694. <div class="ugf-search-result-duration">
  6695. <span>▶ ${SRA.duration}</span>
  6696. </div>
  6697. </a>
  6698. <div class="ugf-video-result-right">
  6699. <a class="ugf-search-result-link" title="${SRA.href}" href="${SRA.href}">
  6700. <span>${SRA.href}</span>
  6701. </a>
  6702. <div class="ugf-search-result-desc">
  6703. <span>${SRA.description}</span>
  6704. </div>
  6705. </div>
  6706. </div>
  6707. </div>
  6708. `;
  6709. container.insertBefore(newElem, container.children[SRA.itemNo]);
  6710. }
  6711. if (type == "image") {
  6712. let container = document.querySelector("#ugf-image-results-container");
  6713. let newElem = document.createElement("div");
  6714. newElem.classList.add("ugf-image-result");
  6715. newElem.setAttribute("iframe-url",SRA.iframeUrl);
  6716. newElem.setAttribute("href",SRA.iframeUrl);
  6717. newElem.innerHTML = `
  6718. <a class="ugf-image-result-inner" href="${SRA.iframeUrl}">
  6719. <img src="${SRA.src}" width="${SRA.width}" height="${SRA.height}"></img>
  6720. <div class="ugf-image-result-hoverstats">
  6721. <!--span>${SRA.width}</span>
  6722. <span class="ugf-image-result-x">x</span>
  6723. <span>${SRA.height}</span-->
  6724. <span class="ugf-image-result-size-first" title="Size of the preview image. Actual image size may be larger.">
  6725. <span>${SRA.width}</span>
  6726. <span class="ugf-image-result-x">x</span>
  6727. <span>${SRA.height}</span>
  6728. </span>
  6729. <span class="ugf-image-result-domain">${SRA.domain}</span>
  6730. <span class="ugf-image-result-title">${SRA.title}</span>
  6731. <span class="ugf-image-result-size-second" title="Size of the preview image. Actual image size may be larger.">
  6732. <span>${SRA.width}</span>
  6733. <span class="ugf-image-result-x">x</span>
  6734. <span>${SRA.height}</span>
  6735. </span>
  6736. </div>
  6737. </a>
  6738. `;
  6739. container.insertBefore(newElem, container.children[SRA.itemNo]);
  6740. newElem.addEventListener("click", function() {
  6741. var iurl = newElem.getAttribute('iframe-url');
  6742. document.querySelector("#ugf-image-iframe iframe").setAttribute("src",iurl);
  6743. //doImageViewer(newElem);
  6744. });
  6745. if (newElem.querySelector("img").getAttribute("src") == "null") {
  6746. newElem.remove();
  6747. }
  6748. }
  6749. if (type == "block") {
  6750. let container = document.querySelector("#ugf-search-results-reserved-top");
  6751. let newElem = document.createElement("div");
  6752. newElem.classList.add("ugf-instant-answer");
  6753. let blockTitle;
  6754. let blockHeading;
  6755. let blockMedium;
  6756. let blockList;
  6757. if (itemGet == "zucc") {
  6758. newElem.classList.add("ugf-easter-egg");
  6759. blockTitle = "";
  6760. blockHeading = "Yes";
  6761. blockMedium = "";
  6762. blockList = "";
  6763. } else {
  6764. blockTitle = SRA.title;
  6765. blockHeading = SRA.heading;
  6766. blockMedium = SRA.medium;
  6767. blockList = SRA.list;
  6768. }
  6769. newElem.innerHTML = `
  6770. <div class="ugf-instant-answer-inner">
  6771. <div class="ugf-instant-answer-supertext">
  6772. <span>${blockTitle}</span>
  6773. </div>
  6774. <div class="ugf-instant-answer-heading">
  6775. <span>${blockHeading}</span>
  6776. </div>
  6777. <div class="ugf-instant-answer-medium">
  6778. <span>${blockMedium}</span>
  6779. </div>
  6780. <div class="ugf-instant-answer-list">
  6781. <span>${blockList}</span>
  6782. </div>
  6783. <div class="ugf-instant-answer-link">
  6784. </div>
  6785. </div>
  6786. `;
  6787. container.insertBefore(newElem, container.children[0]);
  6788. if (blockTitle == null) {
  6789. newElem.querySelector(".ugf-instant-answer-supertext").remove();
  6790. }
  6791. if (blockHeading == null) {
  6792. newElem.querySelector(".ugf-instant-answer-heading").remove();
  6793. }
  6794. if (blockMedium == null) {
  6795. newElem.querySelector(".ugf-instant-answer-medium").remove();
  6796. }
  6797. if (blockList == null) {
  6798. newElem.querySelector(".ugf-instant-answer-list").remove();
  6799. }
  6800. if (firstLinkBelongsToBlock == true) {
  6801. var elm = ".ugf-search-result";
  6802. waitForElement10(elm).then(function(elm) {
  6803. if (canGo != false) {
  6804. newElem.appendChild(document.querySelector(".ugf-search-result"));
  6805. }
  6806. });
  6807. }
  6808. }
  6809. }
  6810. })();