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