subscription_manager.css 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. body {
  2. display: grid;
  3. grid-gap: 20px;
  4. grid-template-areas:
  5. "header"
  6. "main"
  7. "footer";
  8. /* Fix height */
  9. height: 100vh;
  10. grid-template-rows: auto 1fr auto;
  11. /* fix top and bottom */
  12. margin-left: 1rem;
  13. margin-right: 1rem;
  14. }
  15. img {
  16. width: 100%;
  17. height: auto;
  18. }
  19. a:link {
  20. color: var(--link);
  21. }
  22. a:visited {
  23. color: var(--link-visited);
  24. }
  25. input[type="text"],
  26. input[type="search"] {
  27. background: var(--background);
  28. border: 1px solid var(--button-border);
  29. padding: 0.4rem 0.4rem;
  30. font-size: 15px;
  31. color: var(--search-text);
  32. outline: none;
  33. box-shadow: none;
  34. }
  35. input[type='search'] {
  36. border-bottom: 1px solid var(--button-border);
  37. border-top: 0px;
  38. border-left: 0px;
  39. border-right: 0px;
  40. border-radius: 0px;
  41. }
  42. header {
  43. display: grid;
  44. grid-gap: 1px;
  45. grid-template-areas:
  46. "home"
  47. "form"
  48. "playlist";
  49. grid-area: header;
  50. }
  51. .home {
  52. grid-area: home;
  53. margin-left: auto;
  54. margin-right: auto;
  55. margin-bottom: 1rem;
  56. margin-top: 1rem;
  57. }
  58. .form {
  59. display: grid;
  60. grid-gap: 4px;
  61. grid-template-areas:
  62. "search-box"
  63. "search-button"
  64. "dropdown";
  65. grid-area: form;
  66. }
  67. .search-box {
  68. grid-area: search-box;
  69. }
  70. .search-button {
  71. grid-area: search-button;
  72. cursor: pointer;
  73. padding-bottom: 6px;
  74. padding-left: .75em;
  75. padding-right: .75em;
  76. padding-top: 6px;
  77. text-align: center;
  78. white-space: nowrap;
  79. background-color: var(--buttom);
  80. border: 1px solid var(--button-border);
  81. color: var(--buttom-text);
  82. border-radius: 5px;
  83. }
  84. .search-button:hover {
  85. background-color: var(--buttom-hover);
  86. }
  87. .dropdown {
  88. display: grid;
  89. grid-gap: 1px;
  90. grid-template-areas:
  91. "dropdown-label"
  92. "dropdown-content";
  93. grid-area: dropdown;
  94. }
  95. .dropdown-label {
  96. grid-area: dropdown-label;
  97. padding-bottom: 6px;
  98. padding-left: .75em;
  99. padding-right: .75em;
  100. padding-top: 6px;
  101. text-align: center;
  102. white-space: nowrap;
  103. background-color: var(--buttom);
  104. border: 1px solid var(--button-border);
  105. color: var(--buttom-text);
  106. border-radius: 5px;
  107. }
  108. .dropdown-label:hover {
  109. background-color: var(--buttom-hover);
  110. }
  111. /* ------------- Menu Mobile sin JS ---------------- */
  112. /* input hidden */
  113. .opt-box {
  114. display: none;
  115. }
  116. .dropdown-content {
  117. display: none;
  118. grid-area: dropdown-content;
  119. }
  120. label[for=options-toggle-cbox] {
  121. cursor: pointer;
  122. -webkit-touch-callout: none;
  123. -webkit-user-select: none;
  124. -khtml-user-select: none;
  125. -moz-user-select: none;
  126. -ms-user-select: none;
  127. user-select: none;
  128. }
  129. #options-toggle-cbox:checked ~ .dropdown-content {
  130. display: block;
  131. white-space: nowrap;
  132. background: var(--secondary-background);
  133. padding: 0.5rem 1rem;
  134. }
  135. /*- ----------- End Menu Mobile sin JS ------------- */
  136. .main {
  137. grid-area: main;
  138. display: grid;
  139. grid-row-gap: 1rem;
  140. }
  141. /* fix hr when is children of grid */
  142. hr {
  143. width: 100%;
  144. }
  145. .import-export {
  146. display: grid;
  147. grid-template-columns: 1fr;
  148. margin: auto;
  149. grid-template-areas:
  150. "subscriptions-import-form"
  151. "subscriptions-export-form";
  152. align-items: center;
  153. justify-items: center;
  154. justify-content: center;
  155. }
  156. .subscriptions-import-form {
  157. grid-area: subscriptions-import-form;
  158. text-align: center;
  159. }
  160. .subscriptions-import-options {
  161. display: grid;
  162. grid-template-columns: repeat(1, auto);
  163. margin: auto;
  164. }
  165. .subscriptions-export-form {
  166. grid-area: subscriptions-export-form;
  167. text-align: center;
  168. }
  169. .subscriptions-export-options {
  170. display: grid;
  171. grid-template-columns: repeat(1, auto);
  172. margin: auto;
  173. }
  174. .sub-list-controls {
  175. display: grid;
  176. grid-row-gap: 0.2rem;
  177. }
  178. .subscriptions-import-form input[type='submit'],
  179. .subscriptions-export-form input[type='submit'],
  180. .sub-list-controls button[type='submit'],
  181. .sub-list-controls input[type='reset'] {
  182. cursor: pointer;
  183. padding-bottom: 6px;
  184. padding-left: .75em;
  185. padding-right: .75em;
  186. padding-top: 6px;
  187. text-align: center;
  188. background-color: var(--buttom);
  189. border: 1px solid var(--button-border);
  190. color: var(--buttom-text);
  191. border-radius: 5px;
  192. }
  193. .tag-group-list {
  194. display: grid;
  195. grid-template-columns: 1fr;
  196. margin: auto;
  197. }
  198. .sub-list {
  199. display: grid;
  200. grid-template-columns: 1fr;
  201. margin: auto;
  202. }
  203. /* pagination */
  204. .main .pagination-container {
  205. display: grid;
  206. justify-content: center;
  207. }
  208. .main .pagination-container .pagination-list {
  209. display: flex;
  210. flex-direction: row;
  211. flex-wrap: wrap;
  212. justify-content: center;
  213. }
  214. .main .pagination-container .pagination-list .page-link {
  215. border-style: none;
  216. font-weight: bold;
  217. text-align: center;
  218. background: var(--secondary-focus);
  219. text-decoration: none;
  220. align-self: center;
  221. padding: .5rem;
  222. width: 1rem;
  223. }
  224. .main .pagination-container .pagination-list .page-link.is-current {
  225. background: var(--secondary-background);
  226. }
  227. /* /video list item */
  228. .footer {
  229. grid-area: footer;
  230. display: grid;
  231. grid-template-columns: auto;
  232. align-items: center;
  233. justify-content: center;
  234. margin: auto;
  235. text-align: center;
  236. }
  237. .footer > p {
  238. text-align: center;
  239. }
  240. @media (min-width: 480px) {
  241. .item-video {
  242. font-size: 0.85rem;
  243. }
  244. .info-box {
  245. grid-gap: 2px;
  246. }
  247. .title {
  248. font-size: 1rem;
  249. }
  250. .subscriptions-import-options {
  251. display: grid;
  252. grid-template-columns: repeat(2, auto);
  253. margin: auto;
  254. align-items: center;
  255. justify-items: center;
  256. justify-content: center;
  257. grid-column-gap: 0.5rem;
  258. }
  259. .subscriptions-export-options {
  260. display: grid;
  261. grid-template-columns: repeat(4, auto);
  262. margin: auto;
  263. align-items: center;
  264. justify-items: center;
  265. justify-content: center;
  266. grid-column-gap: 0.5rem;
  267. }
  268. }
  269. @media (min-width: 600px) {
  270. .video-container {
  271. display: grid;
  272. grid-row-gap: 0.5rem;
  273. grid-template-columns: 1fr 1fr;
  274. }
  275. }
  276. @media (min-width: 992px) {
  277. body {
  278. display: grid;
  279. grid-template-columns: 0.3fr 2fr 1fr 0.3fr;
  280. grid-template-rows: auto 1fr auto;
  281. grid-template-areas:
  282. "header header header header"
  283. "main main main main"
  284. "footer footer footer footer";
  285. }
  286. .form {
  287. display: grid;
  288. grid-gap: 1px;
  289. grid-template-columns: 1fr 1.4fr 0.3fr 1.3fr;
  290. grid-template-areas: ". search-box search-button dropdown";
  291. grid-area: form;
  292. position: relative;
  293. }
  294. .dropdown {
  295. display: grid;
  296. grid-gap: 1px;
  297. grid-template-columns: 100px auto;
  298. grid-template-areas:
  299. "dropdown-label"
  300. "dropdown-content";
  301. grid-area: dropdown;
  302. position: absolute;
  303. z-index: 1;
  304. }
  305. #options-toggle-cbox:checked ~ .dropdown-content {
  306. width: calc(100% + 100px);
  307. max-height: 80vh;
  308. overflow-y: scroll;
  309. }
  310. .import-export {
  311. max-width: 50vw;
  312. }
  313. .sub-list-controls {
  314. grid-template-columns: repeat(8, auto);
  315. max-height: 1rem;
  316. grid-column-gap: 0.5rem;
  317. justify-content: center;
  318. align-items: center;
  319. }
  320. .footer {
  321. display: grid;
  322. grid-template-columns: repeat(3, 1fr);
  323. grid-column-gap: 2rem;
  324. align-items: center;
  325. justify-content: center;
  326. text-align: center;
  327. margin-top: 1rem;
  328. margin-bottom: 1rem;
  329. }
  330. }