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.

586 lines
11KB

  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. }
  98. a:hover {
  99. text-shadow: 1px 1px 10px var(--color-lightyellow);
  100. }
  101. p {
  102. margin-top: 0;
  103. margin-bottom: 0rem !important;
  104. }
  105. .contrast {
  106. color: var(--color-lightyellow) !important;
  107. -webkit-text-stroke-width: 0.08rem;
  108. -webkit-text-stroke-color: var(--color-lightyellow) !important;
  109. }
  110. /* overwrite */
  111. .p-5 {
  112. padding: 3.5rem !important;
  113. }
  114. /* INDEX */
  115. .border, .border-dark {
  116. border-color: var(--color-dark) !important;
  117. border-radius: 0.25rem;
  118. }
  119. .border-glow, hr {
  120. box-shadow: 1px 1px 4px var(--color-lightyellow);
  121. }
  122. input#inputsearch, select#searchopt, select#sort, input#submit {
  123. background: var(--color-dark) !important;
  124. color: var(--color-lightyellow) !important;
  125. border: none !important;
  126. border-radius: 0.25rem !important;
  127. margin: 0.25rem;
  128. padding-bottom: 0.35rem;
  129. }
  130. select#searchopt{
  131. padding: 0.25rem 0.5rem;
  132. }
  133. input#inputsearch {
  134. width: 350px;
  135. }
  136. input#submit:hover {
  137. box-shadow: 0.25rem 0.25rem 0.5rem var(--color-lightyellow) !important;
  138. }
  139. .button-search a, .button-search input, .button-search select, .button-search button {
  140. font-size: var(--button-fontsize);
  141. text-decoration: none;
  142. border-radius: 0.25rem;
  143. padding: 0.25rem 0.5rem;
  144. border: 0px;
  145. }
  146. .random-interferences a {
  147. font-size: var(--button-fontsize-s);
  148. color: var(--color-dark) !important;
  149. background: var(--color-lightyellow);
  150. padding-bottom: 0.45rem;
  151. }
  152. .random-interferences a:hover {
  153. box-shadow: inset 0.25rem 0.25rem 0.5rem var(--color-gray) !important;
  154. }
  155. .button-hidden-off a, .button-hidden-off button {
  156. color: var(--color-dark) !important;
  157. background: var(--color-gray);
  158. text-decoration: none;
  159. padding-bottom: 0.5rem;
  160. }
  161. .button-hidden-off a:hover, .button-hidden-off button:hover {
  162. box-shadow: 0.25rem 0.25rem 0.5rem var(--color-dark) !important;
  163. text-shadow: 1px 1px 10px var(--color-lightyellow);
  164. }
  165. .search-back {
  166. position: fixed;
  167. left: 0;
  168. margin: 0.5rem;
  169. font-size: var(--body-fontsize-s) !important;
  170. text-decoration: none;
  171. background: transparent;
  172. color: var(--color-dark) !important;
  173. border: 0.1rem solid var(--color-dark);
  174. border-radius: 2rem 2.5rem !important;
  175. padding: 0.2rem 0.3rem;
  176. }
  177. .search-back:hover {
  178. background: var(--color-dark) !important;
  179. color: var(--color-lightyellow) !important;
  180. }
  181. .action {
  182. margin: 1.5rem 3rem;
  183. z-index: 999;
  184. position: fixed;
  185. top: 0;
  186. right: 0;
  187. }
  188. .action button {
  189. color: var(--color-pink) !important;
  190. font-size: 2rem;
  191. background-color: transparent;
  192. border: none;
  193. }
  194. .action button:hover {
  195. color: var(--color-dark) !important;
  196. }
  197. #random-img-page .action button:hover {
  198. color: var(--color-whitish) !important;
  199. }
  200. button#notes-operations{
  201. position: fixed;
  202. top: 0;
  203. right:0;
  204. margin: 0.25rem 0.75rem;
  205. font-size: 2rem;
  206. color: var(--color-pink);
  207. background: transparent;
  208. border: 0.1rem solid var(--color-pink);
  209. border-radius: 5rem 3rem;
  210. height: 2rem;
  211. width: 2rem;
  212. line-height: 0.1rem;
  213. }
  214. button#notes-operations:hover {
  215. color: var(--color-dark) !important;
  216. }
  217. .info {
  218. font-family: var(--body-font) !important;
  219. color: var(--color-pink) !important;
  220. }
  221. .code {
  222. line-height: 1.2rem;
  223. font-size: var(--body-fontsize-s);
  224. margin: 0.5rem 1rem;
  225. }
  226. .operations {
  227. font-size: var(--body-fontsize-s);
  228. }
  229. .w-6 {
  230. max-width: 75%;
  231. }
  232. .mb-10{
  233. margin-bottom: 10rem;
  234. }
  235. .note-veritcal {
  236. font-size: var(--body-fontsize-s);
  237. position: absolute;
  238. right: 0;
  239. z-index: 200;
  240. margin: 0.5rem;
  241. border-radius: 0.25rem;
  242. padding: 0.15rem 0.25rem;
  243. writing-mode: vertical-rl;
  244. text-orientation: mixed;
  245. }
  246. .note-interference span {
  247. display: inline-flex;
  248. background-color: var(--color-lightyellow);
  249. width: 2rem;
  250. height: 1rem;
  251. }
  252. p.about-text {
  253. margin: 10% ;
  254. }
  255. .index-row {
  256. display: flex;
  257. width: 100%;
  258. flex-wrap: wrap;
  259. justify-content: space-evenly;
  260. flex-direction: row;
  261. align-items: center;
  262. }
  263. /* SEARCH */
  264. .search-links {
  265. font-size: var(--body-fontsize-s);
  266. }
  267. .emphasis {
  268. border-bottom: 0.10rem var(--color-lightyellow) solid;
  269. }
  270. .search_term {
  271. background: var(--color-lightyellow);
  272. }
  273. .ID-link-search {
  274. background: var(--color-lightyellow);
  275. }
  276. /* PAGE —> RANDOM IMAGES */
  277. body#random-img-page{
  278. background-color: var(--color-dark) !important;
  279. }
  280. #random-img-page .img-fluid {
  281. flex-shrink: 1;
  282. flex-basis: 10px;
  283. height: 50vh;
  284. box-shadow: 1px 1px 10px #fff6af;
  285. border-radius: 100%;
  286. transition: all 1s ease-in-out;
  287. }
  288. #random-img-page .img-fluid:hover {
  289. transform: scale(2.0);
  290. border-radius: 0.15rem;
  291. transform-origin: top left;
  292. opacity: 0.85;
  293. }
  294. /* PAGE —> RANDOM TITLES */
  295. #page-titles a, #page-titles span {
  296. font-size: 3.5vw; /* should be converted to calc */
  297. }
  298. .joint {
  299. padding:0rem 2.5rem ;
  300. }
  301. /* COMPARE —> 2 RANDOM PATENTS */
  302. .skewY {
  303. transform: skewY(-20deg);
  304. }
  305. .compare {
  306. display: flex;
  307. flex-wrap: wrap;
  308. flex-direction: row;
  309. justify-content: space-between;
  310. }
  311. .compare > div {
  312. width: 48%;
  313. }
  314. /* COMPARE —> 10 ABSTRACTS */
  315. #rdn-abstracts #alltext p::first-letter {
  316. font-size: 5rem;
  317. }
  318. #rdn-abstracts #alltext p {
  319. margin: 0% 20%;
  320. line-height: 1.8rem;
  321. font-size: var(--body-fontsize);
  322. }
  323. /* DATA */
  324. canvas > * {
  325. font-family: var(--body-font) !important;
  326. }
  327. .anchordata {
  328. margin: 1rem 2rem;
  329. z-index: 999;
  330. position: fixed;
  331. right: 0;
  332. transform: skewY(10deg);
  333. }
  334. .anchordata a {
  335. text-decoration: none;
  336. border-bottom: 0.20rem var(--color-lightyellow) solid;
  337. }
  338. /* THEMES */
  339. .themes {
  340. margin: 0% 20%;
  341. }
  342. .themes h1 {
  343. text-align: center;
  344. }
  345. .themes p {
  346. margin: 2rem 0rem;
  347. }
  348. .allThemes {
  349. display: flex;
  350. width: 100%;
  351. justify-content: space-around;
  352. flex-wrap: wrap;
  353. }
  354. .allThemes a {
  355. text-decoration: none;
  356. padding: 3rem 1rem;
  357. margin: 2rem 0rem;
  358. border-radius: 10rem;
  359. background-color: var(--color-lightyellow);
  360. }
  361. .allThemes a:hover {
  362. background-color: var(--color-light-gray);
  363. }
  364. .themeResults {
  365. margin: 2rem 0rem;
  366. width: 100%;
  367. display: grid;
  368. grid-column-gap: 0px;
  369. grid-template-columns: 33.3% 33.3% 33.3%;
  370. }
  371. .eachthemeResult {
  372. text-align: center;
  373. margin: 0.5rem 0rem;
  374. padding: 1rem;
  375. border-radius: 50rem;
  376. background-color: var(--color-lightyellow);
  377. }
  378. .eachthemeResult a {
  379. text-decoration: none;
  380. }
  381. .eachthemeResult p {
  382. margin: 0rem !important;
  383. }
  384. .eachthemeResult:nth-child(even) {
  385. margin: 0.5rem 0.5rem;
  386. }
  387. .eachthemeResult:hover {
  388. background-color: var(--color-light-gray);
  389. }
  390. /* TEXT PAGES LIKE ARCHIVAL CONVERSATIONS AND MAKING OF */
  391. .text {
  392. margin: 0% 20%;
  393. }
  394. .text h1 {
  395. text-align: center;
  396. }
  397. .text p {
  398. margin: 2rem 0rem;
  399. }
  400. .text img {
  401. width: 100%;
  402. }
  403. .text h2, .text h3 {
  404. margin: 2rem 0rem;
  405. padding: 0rem 1rem;
  406. }
  407. .text h2 {
  408. font-size: 2.25 rem;
  409. background-color: var(--color-lightyellow);
  410. border-radius: 0.5rem;
  411. }
  412. .text h3 {
  413. border-bottom: 0.25rem dashed var(--color-lightyellow);
  414. }
  415. .text li {
  416. }
  417. code {
  418. display: flex;
  419. flex-direction: column;
  420. flex-wrap: wrap;
  421. }
  422. p code {
  423. margin: 1rem 0rem !important;
  424. }
  425. img + em {
  426. text-align: center;
  427. font-size: .8rem;
  428. }
  429. /***************** SMALL DEVICES ****************/
  430. @media screen and (min-width:0px) and (max-width: 768px) {
  431. /* overwrite */
  432. .p-5 {
  433. padding: 0.5rem !important;
  434. }
  435. .search-back {
  436. margin: -1rem 0.5rem;
  437. }
  438. /* INDEX SEARCH */
  439. input#inputsearch {
  440. width: 250px;
  441. }
  442. /* RANDOM TITLES */
  443. .action button {
  444. font-size: 1rem;
  445. }
  446. /* RANDOM IMAGES */
  447. #random-img-page .img-fluid:hover {
  448. transform: none;
  449. border-radius: 0.15rem;
  450. opacity: 1;
  451. }
  452. /* COMPARE —> 2 RANDOM PATENTS */
  453. .compare > div {
  454. width: 100%;
  455. }
  456. .col {
  457. flex: auto !important;
  458. }
  459. }
  460. @media screen and (min-width:0px) and (max-width: 414px) {
  461. /* changing layout to column on phones */
  462. .index-row {
  463. display: flex;
  464. width: 100%;
  465. flex-wrap: wrap;
  466. justify-content: space-evenly;
  467. flex-direction: column;
  468. align-items: center;
  469. }
  470. }