A search interface for the Performing Patents Otherwise publication as part of the Politics of Patents case study (part of Copim WP6): this parses data from the archive of RTF files and provides additional data from the European Patent Office OPS API. https://patents.copim.ac.uk
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

633 lines
12KB

  1. /*
  2. # @name: custom.css
  3. # @creation_date: 2022-09-07
  4. # @license: The MIT License <https://opensource.org/licenses/MIT>
  5. # @author: Simon Bowie <ad7588@coventry.ac.uk>
  6. # @author: Joana Chicau <web@joanachicau.com>
  7. # @purpose: Custom CSS to override Bootstrap 5 defaults
  8. # @acknowledgements:
  9. # Bootstrap 5.1.3: https://getbootstrap.com/
  10. */
  11. /* NEW STYLE by Joana Chicau */
  12. /* FONTS*/
  13. @font-face {
  14. font-family: "MetaAccanthis";
  15. src: url(fonts/MetaAccanthis_regular.ttf) format('truetype');
  16. font-weight: bold;
  17. }
  18. @font-face {
  19. font-family: "MetaAccanthisAlternate";
  20. src: url(fonts/MetaAccanthisAlternate.ttf) format('truetype');
  21. font-weight: normal;
  22. }
  23. @font-face {
  24. font-family: "Cmunobi";
  25. src: url(fonts/cmunobi.ttf) format('opentype');
  26. font-weight: normal;
  27. }
  28. @font-face {
  29. font-family: "Compagnon";
  30. src: url(fonts/Compagnon-Roman.otf) format('opentype');
  31. font-weight: normal;
  32. }
  33. @font-face {
  34. font-family: "Compagnon-B";
  35. src: url(fonts/Compagnon-Bold.otf) format('opentype');
  36. font-weight: bolder;
  37. }
  38. @font-face {
  39. font-family: "Compagnon-M";
  40. src: url(fonts/Compagnon-Medium.otf) format('opentype');
  41. font-weight: bold;
  42. }
  43. @font-face {
  44. font-family: "Compagnon-L";
  45. src: url(fonts/Compagnon-Light.otf) format('opentype');
  46. font-weight: lighter;
  47. }
  48. @font-face {
  49. font-family: "Compagnon-T";
  50. src: url(fonts/Compagnon-LightItalic.otf) format('opentype');
  51. font-weight: bold;
  52. }
  53. :root {
  54. --color-dark: #0c2039;
  55. --color-whitish: #fcfbff;
  56. --color-lightyellow: #ffff99;
  57. --color-gray: #edecec;
  58. --color-blue: #4f1dff;
  59. --color-pink: #c00041;
  60. --title-font: "Compagnon-T"; /* Cmunobi */
  61. --body-font: "Compagnon";
  62. /*@media screen and (min-width: 320px)*/
  63. --title-fontsize: calc(2rem + 1.5vw) !important;
  64. --body-fontsize: calc(14px + 6 * (100vw - 320px) / 1600) !important;
  65. --button-fontsize: calc(16px + 6 * (100vw - 320px) / 1600) !important;
  66. --button-fontsize-s: calc(14px + 6 * (100vw - 320px) / 1600) !important;
  67. --body-fontsize-s: calc(11px + 6 * (100vw - 320px) / 1600) !important;
  68. }
  69. ::selection {
  70. background-color: var(--color-lightyellow);
  71. }
  72. body {
  73. color: var(--color-dark);
  74. font-family: var(--body-font) !important;
  75. font-size: var(--body-fontsize) !important;
  76. cursor: crosshair;
  77. background-color: var(--color-whitish) !important;
  78. }
  79. .background-random{
  80. background-position: center center;
  81. background-size: cover;
  82. background-repeat: no-repeat;
  83. }
  84. h1, .h1 {
  85. font-family: var(--title-font) !important;
  86. font-size: var(--title-fontsize) !important;
  87. -webkit-text-stroke-width: 0.08rem;
  88. -webkit-text-stroke-color: black;
  89. letter-spacing: -0.05rem;
  90. }
  91. a.h1 {
  92. text-decoration: none;
  93. }
  94. a, a:visited {
  95. cursor: cell;
  96. color: var(--color-dark) !important;
  97. overflow-wrap: break-word;
  98. word-wrap: break-word;
  99. -ms-word-break: break-all;
  100. word-break: break-all;
  101. word-break: break-word;
  102. /* adds a hyphen where the word breaks, if supported (No Blink) */
  103. -ms-hyphens: auto;
  104. -moz-hyphens: auto;
  105. -webkit-hyphens: auto;
  106. hyphens: auto;
  107. }
  108. a:hover {
  109. text-shadow: 1px 1px 10px var(--color-lightyellow);
  110. }
  111. p {
  112. margin-top: 0;
  113. margin-bottom: 0rem !important;
  114. }
  115. .contrast {
  116. color: var(--color-lightyellow) !important;
  117. -webkit-text-stroke-width: 0.08rem;
  118. -webkit-text-stroke-color: var(--color-lightyellow) !important;
  119. }
  120. /* overwrite */
  121. .p-5 {
  122. padding: 3.5rem !important;
  123. }
  124. /* INDEX */
  125. .border, .border-dark {
  126. border-color: var(--color-dark) !important;
  127. border-radius: 0.25rem;
  128. }
  129. .border-glow, hr {
  130. box-shadow: 1px 1px 4px var(--color-lightyellow);
  131. }
  132. input#inputsearch, select#searchopt, select#sort, input#submit {
  133. background: var(--color-dark) !important;
  134. color: var(--color-lightyellow) !important;
  135. border: none !important;
  136. border-radius: 0.25rem !important;
  137. margin: 0.25rem;
  138. padding-bottom: 0.35rem;
  139. }
  140. select#searchopt{
  141. padding: 0.25rem 0.5rem;
  142. }
  143. input#inputsearch {
  144. width: 350px;
  145. }
  146. input#submit:hover {
  147. box-shadow: 0.25rem 0.25rem 0.5rem var(--color-lightyellow) !important;
  148. }
  149. .button-search a, .button-search input, .button-search select, .button-search button {
  150. font-size: var(--button-fontsize);
  151. text-decoration: none;
  152. border-radius: 0.25rem;
  153. padding: 0.25rem 0.5rem;
  154. border: 0px;
  155. }
  156. .random-interferences a {
  157. font-size: var(--button-fontsize-s);
  158. color: var(--color-dark) !important;
  159. background: var(--color-lightyellow);
  160. padding-bottom: 0.45rem;
  161. }
  162. .random-interferences a:hover {
  163. box-shadow: inset 0.25rem 0.25rem 0.5rem var(--color-gray) !important;
  164. }
  165. .button-hidden-off a, .button-hidden-off button {
  166. color: var(--color-dark) !important;
  167. background: var(--color-gray);
  168. text-decoration: none;
  169. padding-bottom: 0.5rem;
  170. }
  171. .button-hidden-off a:hover, .button-hidden-off button:hover {
  172. box-shadow: 0.25rem 0.25rem 0.5rem var(--color-dark) !important;
  173. text-shadow: 1px 1px 10px var(--color-lightyellow);
  174. }
  175. .search-back {
  176. position: fixed;
  177. left: 0;
  178. margin: 0.5rem;
  179. font-size: var(--body-fontsize-s) !important;
  180. text-decoration: none;
  181. background: transparent;
  182. color: var(--color-dark) !important;
  183. border: 0.1rem solid var(--color-dark);
  184. border-radius: 2rem 2.5rem !important;
  185. padding: 0.2rem 0.3rem;
  186. }
  187. .search-back:hover {
  188. background: var(--color-dark) !important;
  189. color: var(--color-lightyellow) !important;
  190. }
  191. .action {
  192. margin: 1.5rem 3rem;
  193. z-index: 999;
  194. position: fixed;
  195. top: 0;
  196. right: 0;
  197. }
  198. .action button {
  199. color: var(--color-pink) !important;
  200. font-size: 2rem;
  201. background-color: transparent;
  202. border: none;
  203. }
  204. .action button:hover {
  205. color: var(--color-dark) !important;
  206. }
  207. #random-img-page .action button:hover {
  208. color: var(--color-whitish) !important;
  209. }
  210. button#notes-operations{
  211. position: fixed;
  212. top: 0;
  213. right:0;
  214. margin: 0.25rem 0.75rem;
  215. font-size: 2rem;
  216. color: var(--color-pink);
  217. background: transparent;
  218. border: 0.1rem solid var(--color-pink);
  219. border-radius: 5rem 3rem;
  220. height: 2rem;
  221. width: 2rem;
  222. line-height: 0.1rem;
  223. }
  224. button#notes-operations:hover {
  225. color: var(--color-dark) !important;
  226. }
  227. .info {
  228. font-family: var(--body-font) !important;
  229. color: var(--color-pink) !important;
  230. }
  231. .code {
  232. line-height: 1.2rem;
  233. font-size: var(--body-fontsize-s);
  234. margin: 0.5rem 1rem;
  235. }
  236. .operations {
  237. font-size: var(--body-fontsize-s);
  238. }
  239. .w-6 {
  240. max-width: 75%;
  241. }
  242. .mb-10{
  243. margin-bottom: 10rem;
  244. }
  245. .note-veritcal {
  246. font-size: var(--body-fontsize-s);
  247. position: absolute;
  248. right: 0;
  249. z-index: 200;
  250. margin: 0.5rem;
  251. border-radius: 0.25rem;
  252. padding: 0.15rem 0.25rem;
  253. writing-mode: vertical-rl;
  254. text-orientation: mixed;
  255. }
  256. .note-interference span {
  257. display: inline-flex;
  258. background-color: var(--color-lightyellow);
  259. width: 2rem;
  260. height: 1rem;
  261. }
  262. p.about-text {
  263. margin: 10% ;
  264. }
  265. .index-row {
  266. display: flex;
  267. width: 100%;
  268. flex-wrap: wrap;
  269. justify-content: space-evenly;
  270. flex-direction: row;
  271. align-items: center;
  272. }
  273. /* SEARCH */
  274. .search-links {
  275. font-size: var(--body-fontsize-s);
  276. }
  277. .emphasis {
  278. border-bottom: 0.10rem var(--color-lightyellow) solid;
  279. }
  280. .search_term {
  281. background: var(--color-lightyellow);
  282. }
  283. .ID-link-search {
  284. background: var(--color-lightyellow);
  285. }
  286. /* PAGE —> RANDOM IMAGES */
  287. body#random-img-page{
  288. background-color: var(--color-dark) !important;
  289. }
  290. #random-img-page .img-fluid {
  291. flex-shrink: 1;
  292. flex-basis: 10px;
  293. height: 50vh;
  294. box-shadow: 1px 1px 10px #fff6af;
  295. border-radius: 100%;
  296. transition: all 1s ease-in-out;
  297. }
  298. #random-img-page .img-fluid:hover {
  299. transform: scale(2.0);
  300. border-radius: 0.15rem;
  301. transform-origin: top left;
  302. opacity: 0.85;
  303. }
  304. /* PAGE —> RANDOM TITLES */
  305. #page-titles a, #page-titles span {
  306. font-size: 3.5vw; /* should be converted to calc */
  307. }
  308. .joint {
  309. padding:0rem 2.5rem ;
  310. }
  311. /* COMPARE —> 2 RANDOM PATENTS */
  312. .skewY {
  313. transform: skewY(-20deg);
  314. }
  315. .compare {
  316. display: flex;
  317. flex-wrap: wrap;
  318. flex-direction: row;
  319. justify-content: space-between;
  320. }
  321. .compare > div {
  322. width: 48%;
  323. }
  324. /* COMPARE —> 10 ABSTRACTS */
  325. #rdn-abstracts #alltext p::first-letter {
  326. font-size: 5rem;
  327. }
  328. #rdn-abstracts #alltext p {
  329. margin: 0% 20%;
  330. line-height: 1.8rem;
  331. font-size: var(--body-fontsize);
  332. }
  333. /* DATA */
  334. canvas > * {
  335. font-family: var(--body-font) !important;
  336. }
  337. .anchordata {
  338. margin: 1rem 2rem;
  339. z-index: 999;
  340. position: fixed;
  341. right: 0;
  342. transform: skewY(10deg);
  343. }
  344. .anchordata a {
  345. text-decoration: none;
  346. border-bottom: 0.20rem var(--color-lightyellow) solid;
  347. }
  348. #time {
  349. margin-top: 2.5rem;
  350. }
  351. #geo {
  352. margin-top: 2.5rem;
  353. }
  354. /* THEMES */
  355. .themes {
  356. margin: 0% 20%;
  357. }
  358. .themes h1 {
  359. text-align: center;
  360. }
  361. .themes p {
  362. margin: 2rem 0rem;
  363. }
  364. .allThemes {
  365. display: flex;
  366. width: 100%;
  367. justify-content: space-around;
  368. flex-wrap: wrap;
  369. }
  370. .allThemes a {
  371. text-decoration: none;
  372. padding: 3rem 1rem;
  373. margin: 2rem 0rem;
  374. border-radius: 10rem;
  375. background-color: var(--color-lightyellow);
  376. }
  377. .allThemes a:hover {
  378. background-color: var(--color-light-gray);
  379. }
  380. .themeResults {
  381. margin: 2rem 0rem;
  382. width: 100%;
  383. display: grid;
  384. grid-column-gap: 0px;
  385. grid-template-columns: 33.3% 33.3% 33.3%;
  386. }
  387. .eachthemeResult {
  388. text-align: center;
  389. margin: 0.5rem 0rem;
  390. padding: 1rem;
  391. border-radius: 50rem;
  392. background-color: var(--color-lightyellow);
  393. }
  394. .eachthemeResult a {
  395. text-decoration: none;
  396. }
  397. .eachthemeResult p {
  398. margin: 0rem !important;
  399. }
  400. .eachthemeResult:nth-child(even) {
  401. margin: 0.5rem 0.5rem;
  402. }
  403. .eachthemeResult:hover {
  404. background-color: var(--color-light-gray);
  405. }
  406. /* TEXT PAGES LIKE ARCHIVAL CONVERSATIONS AND MAKING OF */
  407. .text {
  408. margin: 0% 20%;
  409. }
  410. .text h1 {
  411. text-align: center;
  412. }
  413. .text p {
  414. margin: 2rem 0rem;
  415. }
  416. .text img {
  417. width: 100%;
  418. }
  419. .text h2, .text h3 {
  420. margin: 2rem 0rem;
  421. padding: 0rem 1rem;
  422. }
  423. .text h2 {
  424. font-size: 2.25 rem;
  425. background-color: var(--color-lightyellow);
  426. border-radius: 0.5rem;
  427. }
  428. .text h3 {
  429. border-bottom: 0.25rem dashed var(--color-lightyellow);
  430. }
  431. .text li {
  432. }
  433. code {
  434. display: flex;
  435. flex-direction: column;
  436. flex-wrap: wrap;
  437. }
  438. p code {
  439. margin: 1rem 0rem !important;
  440. }
  441. img + em {
  442. text-align: center;
  443. font-size: .8rem;
  444. }
  445. /***************** SMALL DEVICES ****************/
  446. @media screen and (min-width:0px) and (max-width: 768px) {
  447. /* overwrite */
  448. .p-5 {
  449. padding: 0.5rem !important;
  450. }
  451. .action {
  452. margin: 1.5rem 3rem 1.5rem 4rem;
  453. }
  454. /* INDEX SEARCH */
  455. input#inputsearch {
  456. width: 250px;
  457. }
  458. .w100-s {
  459. width: 100%;
  460. }
  461. /* SEARCH */
  462. #result {
  463. padding-top: 3.5rem;
  464. }
  465. /* RANDOM TITLES */
  466. .action button {
  467. font-size: 1rem;
  468. }
  469. .h1-s {
  470. margin-top: 3.5rem;
  471. }
  472. /* RANDOM IMAGES */
  473. #random-img-page .img-fluid:hover {
  474. transform: none;
  475. border-radius: 0.15rem;
  476. opacity: 1;
  477. }
  478. body#random-img-page .h1 {
  479. margin-top: 3.5rem;
  480. }
  481. #image_container {
  482. justify-content: center !important;
  483. }
  484. /* COMPARE —> 2 RANDOM PATENTS */
  485. .compare > div {
  486. width: 100%;
  487. }
  488. .col {
  489. flex: auto !important;
  490. }
  491. /* TEXT PAGES LIKE ARCHIVAL CONVERSATIONS AND MAKING OF */
  492. .text {
  493. margin: 0% 10%;
  494. }
  495. }
  496. @media screen and (min-width:0px) and (max-width: 414px) {
  497. /* changing layout to column on phones */
  498. .index-row {
  499. display: flex;
  500. width: 100%;
  501. flex-wrap: wrap;
  502. justify-content: space-evenly;
  503. flex-direction: column;
  504. align-items: center;
  505. }
  506. }