boardsList.css 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828
  1. @import url("../../../css/reset.css") print, screen;
  2. /* Board List Header with Zoom Controls */
  3. .board-list-header {
  4. display: flex;
  5. justify-content: center;
  6. margin: 1vh 0 2vh 0;
  7. padding: 1vh 0;
  8. }
  9. .zoom-controls {
  10. display: flex;
  11. align-items: center;
  12. gap: 0.5vw;
  13. background: rgba(255, 255, 255, 0.9);
  14. padding: 0.5vh 1vw;
  15. border-radius: 0.5vw;
  16. box-shadow: 0 0.2vh 0.5vh rgba(0,0,0,0.1);
  17. }
  18. .zoom-controls .board-header-btn {
  19. padding: 0.5vh 0.8vw !important;
  20. border-radius: 0.3vw !important;
  21. background: #fff !important;
  22. border: 1px solid #000 !important;
  23. transition: all 0.2s ease !important;
  24. text-decoration: none !important;
  25. color: #000 !important;
  26. display: flex !important;
  27. align-items: center !important;
  28. gap: 0.3vw !important;
  29. height: auto !important;
  30. line-height: normal !important;
  31. margin: 0 !important;
  32. float: none !important;
  33. overflow: visible !important;
  34. }
  35. .zoom-controls .board-header-btn i {
  36. color: #000 !important;
  37. float: none !important;
  38. display: inline !important;
  39. line-height: normal !important;
  40. margin: 0 !important;
  41. }
  42. .zoom-controls .board-header-btn:hover {
  43. background: #000 !important;
  44. border-color: #000 !important;
  45. color: #fff !important;
  46. }
  47. .zoom-controls .board-header-btn:hover i {
  48. color: #fff !important;
  49. }
  50. .zoom-controls .board-header-btn.is-active {
  51. background: #0079bf;
  52. color: white;
  53. border-color: #005a8a;
  54. }
  55. .zoom-controls .board-header-btn.is-active i {
  56. color: white;
  57. }
  58. .zoom-level {
  59. font-weight: bold;
  60. color: #333;
  61. min-width: 3vw;
  62. text-align: center;
  63. font-size: clamp(12px, 2vw, 14px);
  64. cursor: pointer;
  65. padding: 0.3vh 0.5vw;
  66. border-radius: 0.3vw;
  67. transition: all 0.2s ease;
  68. }
  69. .zoom-level:hover {
  70. background: #f0f0f0;
  71. color: #000;
  72. }
  73. .board-list {
  74. margin: 0 8px;
  75. }
  76. .board-list li {
  77. float: left;
  78. width: 20%;
  79. box-sizing: border-box;
  80. position: relative;
  81. }
  82. .board-list li.placeholder:after {
  83. content: '';
  84. display: block;
  85. background: #ccc;
  86. border-radius: 3px;
  87. height: 106px;
  88. margin: 8px;
  89. }
  90. .board-list li.ui-sortable-helper {
  91. cursor: grabbing;
  92. transform: rotate(4deg);
  93. display: block !important;
  94. }
  95. .board-list li.starred .fa-star,
  96. .board-list li.starred .fa-star-o {
  97. opacity: 1;
  98. }
  99. .board-list .board-list-item {
  100. overflow: hidden;
  101. background-color: #999;
  102. color: #f6f6f6;
  103. min-height: 100px;
  104. font-size: 16px;
  105. line-height: 22px;
  106. border-radius: 3px;
  107. display: block;
  108. font-weight: 700;
  109. padding: 8px;
  110. margin: 8px;
  111. position: relative;
  112. text-decoration: none;
  113. word-wrap: break-word;
  114. }
  115. .board-list .board-list-item.template-container {
  116. border: 4px solid #fff;
  117. }
  118. .board-list .board-list-item.tile {
  119. background-size: auto;
  120. background-repeat: repeat;
  121. }
  122. .board-list .board-list-item-sub-name {
  123. color: rgba(255,255,255,0.5);
  124. display: block;
  125. font-size: 14px;
  126. font-weight: 400;
  127. line-height: 22px;
  128. }
  129. .board-list .board-list-item-desc {
  130. color: #fff;
  131. display: block;
  132. font-size: 14px;
  133. font-weight: 400;
  134. line-height: 18px;
  135. }
  136. .board-list .js-add-board {
  137. text-align: center;
  138. }
  139. .board-list .js-add-board .label {
  140. font-weight: normal;
  141. line-height: 56px;
  142. }
  143. .board-list .js-add-board :hover {
  144. background-color: #939393;
  145. }
  146. .board-list .fa-star,
  147. .board-list .fa-star-o {
  148. bottom: 0;
  149. font-size: 14px;
  150. height: 18px;
  151. line-height: 18px;
  152. opacity: 0;
  153. padding: 9px 9px;
  154. position: absolute;
  155. right: 0;
  156. top: 0;
  157. transition-duration: 0.15s;
  158. transition-property: color, font-size, background;
  159. }
  160. .board-list .fa-circle {
  161. bottom: 0;
  162. font-size: 10px;
  163. height: 10px;
  164. line-height: 10px;
  165. padding: 9px 9px;
  166. position: absolute;
  167. right: 0;
  168. transition-duration: 0.15s;
  169. transition-property: color, font-size, background;
  170. }
  171. .board-list .has-overtime-card-active {
  172. color: #eb4646 !important;
  173. }
  174. .board-list .no-overtime-card-active {
  175. color: #3cb500 !important;
  176. }
  177. .board-list .is-star-active {
  178. color: #fff;
  179. }
  180. .board-list .fa-clone {
  181. position: absolute;
  182. bottom: 0;
  183. font-size: 14px;
  184. height: 18px;
  185. line-height: 18px;
  186. opacity: 0;
  187. right: 0;
  188. padding: 9px 9px;
  189. transition-duration: 0.15s;
  190. transition-property: color, font-size, background;
  191. }
  192. .board-list .fa-archive {
  193. position: absolute;
  194. bottom: 0;
  195. font-size: 14px;
  196. height: 18px;
  197. line-height: 18px;
  198. opacity: 0;
  199. left: 0;
  200. padding: 9px 9px;
  201. transition-duration: 0.15s;
  202. transition-property: color, font-size, background;
  203. }
  204. .board-list li:hover a:hover .fa-star,
  205. .board-list li:hover a:hover .fa-clone,
  206. .board-list li:hover a:hover .fa-archive,
  207. .board-list li:hover a:hover .fa-star-o {
  208. color: #fff;
  209. }
  210. .board-list li:hover a .fa-star,
  211. .board-list li:hover a .fa-clone,
  212. .board-list li:hover a .fa-archive,
  213. .board-list li:hover a .fa-star-o {
  214. color: #fff;
  215. opacity: 0.75;
  216. }
  217. .board-list li:hover a .fa-star:hover,
  218. .board-list li:hover a .fa-clone:hover,
  219. .board-list li:hover a .fa-archive:hover,
  220. .board-list li:hover a .fa-star-o:hover {
  221. font-size: 18px;
  222. opacity: 1;
  223. }
  224. .board-list li:hover a .fa-star.is-star-active,
  225. .board-list li:hover a .fa-clone.is-star-active,
  226. .board-list li:hover a .fa-archive.is-star-active,
  227. .board-list li:hover a .fa-star-o.is-star-active {
  228. opacity: 1;
  229. }
  230. .board-backgrounds-list .board-background-select {
  231. box-sizing: border-box;
  232. display: block;
  233. float: left;
  234. width: 50%;
  235. padding-top: 12px;
  236. position: relative;
  237. z-index: 1;
  238. }
  239. .board-backgrounds-list .board-background-select:nth-child(-n + 2) {
  240. padding-top: 0;
  241. }
  242. .board-backgrounds-list .board-background-select:nth-child(2n) {
  243. padding-left: 6px;
  244. }
  245. .board-backgrounds-list .board-background-select:nth-child(2n+1) {
  246. padding-right: 6px;
  247. }
  248. .board-backgrounds-list .board-background-select .background-box {
  249. color: #fff;
  250. border-radius: 3px;
  251. background-size: cover;
  252. display: block;
  253. height: 74px;
  254. position: relative;
  255. width: 100%;
  256. cursor: pointer;
  257. display: flex;
  258. align-items: center;
  259. justify-content: center;
  260. }
  261. .board-backgrounds-list .board-background-select .background-box i.fa-check {
  262. font-size: 25px;
  263. color: #fff;
  264. }
  265. /* Mobile view styles - applied when isMiniScreen is true (iPhone, etc.) */
  266. .board-list.mobile-view {
  267. height: calc(100vh - 120px);
  268. overflow-y: scroll !important;
  269. overflow-x: hidden;
  270. padding: 0 1rem;
  271. margin: 0;
  272. scrollbar-width: auto !important;
  273. scrollbar-color: #888 #f1f1f1;
  274. }
  275. .board-list.mobile-view li {
  276. width: 100%;
  277. float: none;
  278. display: block;
  279. margin-bottom: 1rem;
  280. padding-right: 50px; /* Space for drag handle */
  281. }
  282. .board-list.mobile-view .board-list-item {
  283. overflow: visible;
  284. height: 8rem;
  285. width: 100%;
  286. margin: 0;
  287. padding-right: 50px; /* Ensure content doesn't overlap with drag handle */
  288. }
  289. .board-list.mobile-view .board-list-item .details {
  290. padding-right: 50px; /* Extra space for drag handle */
  291. width: 100%;
  292. box-sizing: border-box;
  293. }
  294. .board-list.mobile-view .board-list-item-sub-name {
  295. position: relative;
  296. top: -100px;
  297. left: -100px;
  298. }
  299. .board-list.mobile-view .board-handle {
  300. position: absolute;
  301. padding: 7px;
  302. top: 50%;
  303. transform: translateY(-50%);
  304. right: 10px;
  305. font-size: 24px;
  306. color: #fff;
  307. background: rgba(0,0,0,0.3);
  308. border-radius: 50%;
  309. width: 40px;
  310. height: 40px;
  311. display: flex;
  312. align-items: center;
  313. justify-content: center;
  314. z-index: 10;
  315. transition: background-color 0.2s ease;
  316. }
  317. .board-list.mobile-view .board-handle:hover {
  318. background: rgba(255, 255, 0, 0.8) !important; /* Yellow hover */
  319. }
  320. /* Force scrollbar to be visible on mobile view */
  321. .board-list.mobile-view::-webkit-scrollbar {
  322. width: 12px !important;
  323. display: block !important;
  324. visibility: visible !important;
  325. }
  326. .board-list.mobile-view::-webkit-scrollbar-track {
  327. background: #f1f1f1 !important;
  328. border-radius: 6px !important;
  329. display: block !important;
  330. visibility: visible !important;
  331. }
  332. .board-list.mobile-view::-webkit-scrollbar-thumb {
  333. background: #888 !important;
  334. border-radius: 6px !important;
  335. display: block !important;
  336. visibility: visible !important;
  337. }
  338. .board-list.mobile-view::-webkit-scrollbar-thumb:hover {
  339. background: #555 !important;
  340. }
  341. /* Force mobile view to have scrollable content */
  342. .board-list.mobile-view {
  343. min-height: 100vh; /* Force content to be tall enough to scroll */
  344. }
  345. .board-list.mobile-view::after {
  346. content: '';
  347. display: block;
  348. height: 100px;
  349. }
  350. @media screen and (max-width: 800px),
  351. screen and (max-device-width: 800px),
  352. screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 800px),
  353. screen and (max-width: 800px) and (orientation: portrait),
  354. screen and (max-width: 800px) and (orientation: landscape) {
  355. .board-list {
  356. height: 100%;
  357. overflow-y: auto;
  358. overflow-x: hidden;
  359. padding: 0 1rem;
  360. margin: 0;
  361. }
  362. .board-list li {
  363. width: 100%;
  364. float: none;
  365. display: block;
  366. margin-bottom: 1rem;
  367. padding-right: 50px; /* Space for drag handle */
  368. }
  369. .board-list .board-list-item {
  370. overflow: visible;
  371. height: 8rem;
  372. width: 100%;
  373. margin: 0;
  374. padding-right: 50px; /* Ensure content doesn't overlap with drag handle */
  375. }
  376. .board-list .board-list-item .details {
  377. padding-right: 50px; /* Extra space for drag handle */
  378. width: 100%;
  379. box-sizing: border-box;
  380. }
  381. .board-list .board-list-item-sub-name {
  382. position: relative;
  383. top: -100px;
  384. left: -100px;
  385. }
  386. .board-list .board-handle {
  387. position: absolute;
  388. padding: 7px;
  389. top: 50%;
  390. transform: translateY(-50%);
  391. right: 10px;
  392. font-size: 24px;
  393. color: #fff;
  394. background: rgba(0,0,0,0.3);
  395. border-radius: 50%;
  396. width: 40px;
  397. height: 40px;
  398. display: flex;
  399. align-items: center;
  400. justify-content: center;
  401. z-index: 10;
  402. transition: background-color 0.2s ease;
  403. }
  404. .board-list .board-handle:hover {
  405. background: rgba(255, 255, 0, 0.8) !important; /* Yellow hover */
  406. }
  407. }
  408. /* Very small screens - ensure one board per row */
  409. @media screen and (max-width: 360px) {
  410. .board-list li {
  411. width: 100% !important;
  412. float: none !important;
  413. display: block !important;
  414. }
  415. .board-list .board-handle {
  416. position: absolute;
  417. padding: 7px;
  418. top: 50%;
  419. transform: translateY(-50%);
  420. right: 10px;
  421. font-size: 24px;
  422. color: #fff;
  423. background: rgba(0,0,0,0.3);
  424. border-radius: 50%;
  425. width: 40px;
  426. height: 40px;
  427. display: flex;
  428. align-items: center;
  429. justify-content: center;
  430. }
  431. }
  432. /* Mobile - make all text and icons 2x bigger above #content on All Boards page */
  433. @media screen and (max-width: 800px),
  434. screen and (max-device-width: 800px),
  435. screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 800px),
  436. screen and (max-width: 800px) and (orientation: portrait),
  437. screen and (max-width: 800px) and (orientation: landscape) {
  438. .wrapper {
  439. font-size: 2em !important; /* 2x bigger base font size for All Boards page */
  440. }
  441. .wrapper * {
  442. font-size: inherit !important; /* Inherit the 2x scaling */
  443. }
  444. .wrapper .fa, .wrapper .icon {
  445. font-size: 2em !important; /* 2x bigger icons */
  446. }
  447. .board-list-header {
  448. font-size: 1em !important; /* Use inherited 2x scaling */
  449. }
  450. .board-list-header h1 {
  451. font-size: 1em !important; /* Use inherited 2x scaling */
  452. }
  453. .AllBoardTeamsOrgs {
  454. font-size: 1em !important; /* Use inherited 2x scaling */
  455. }
  456. .AllBoardTeamsOrgs select {
  457. font-size: 1em !important; /* Use inherited 2x scaling */
  458. }
  459. .AllBoardTeamsOrgs input {
  460. font-size: 1em !important; /* Use inherited 2x scaling */
  461. }
  462. .AllBoardTeamsOrgs .fa {
  463. font-size: 1em !important; /* Use inherited 2x scaling */
  464. }
  465. .board-list {
  466. font-size: 1em !important; /* Use inherited 2x scaling */
  467. }
  468. .board-list .board-list-item {
  469. font-size: 1em !important; /* Use inherited 2x scaling */
  470. }
  471. .board-list .board-list-item-name {
  472. font-size: 1em !important; /* Use inherited 2x scaling */
  473. }
  474. .board-list .board-list-item-desc {
  475. font-size: 1em !important; /* Use inherited 2x scaling */
  476. }
  477. .board-list .minicard-members {
  478. font-size: 1em !important; /* Use inherited 2x scaling */
  479. }
  480. .board-list .minicard-lists {
  481. font-size: 1em !important; /* Use inherited 2x scaling */
  482. }
  483. .board-list .fa {
  484. font-size: 1em !important; /* Use inherited 2x scaling */
  485. }
  486. .board-list .board-handle {
  487. font-size: 1em !important; /* Use inherited 2x scaling */
  488. }
  489. }
  490. /* Fallback for iPhone devices using JavaScript detection - All Boards page */
  491. .iphone-device .wrapper {
  492. font-size: 2em !important; /* 2x bigger base font size for All Boards page */
  493. }
  494. .iphone-device .wrapper * {
  495. font-size: inherit !important; /* Inherit the 2x scaling */
  496. }
  497. .iphone-device .wrapper .fa, .iphone-device .wrapper .icon {
  498. font-size: 2em !important; /* 2x bigger icons */
  499. }
  500. .iphone-device .board-list-header {
  501. font-size: 1em !important; /* Use inherited 2x scaling */
  502. }
  503. .iphone-device .board-list-header h1 {
  504. font-size: 1em !important; /* Use inherited 2x scaling */
  505. }
  506. .iphone-device .AllBoardTeamsOrgs {
  507. font-size: 1em !important; /* Use inherited 2x scaling */
  508. }
  509. .iphone-device .AllBoardTeamsOrgs select {
  510. font-size: 1em !important; /* Use inherited 2x scaling */
  511. }
  512. .iphone-device .AllBoardTeamsOrgs input {
  513. font-size: 1em !important; /* Use inherited 2x scaling */
  514. }
  515. .iphone-device .AllBoardTeamsOrgs .fa {
  516. font-size: 1em !important; /* Use inherited 2x scaling */
  517. }
  518. .iphone-device .board-list {
  519. font-size: 1em !important; /* Use inherited 2x scaling */
  520. }
  521. .iphone-device .board-list .board-list-item {
  522. font-size: 1em !important; /* Use inherited 2x scaling */
  523. }
  524. .iphone-device .board-list .board-list-item-name {
  525. font-size: 1em !important; /* Use inherited 2x scaling */
  526. }
  527. .iphone-device .board-list .board-list-item-desc {
  528. font-size: 1em !important; /* Use inherited 2x scaling */
  529. }
  530. .iphone-device .board-list .minicard-members {
  531. font-size: 1em !important; /* Use inherited 2x scaling */
  532. }
  533. .iphone-device .board-list .minicard-lists {
  534. font-size: 1em !important; /* Use inherited 2x scaling */
  535. }
  536. .iphone-device .board-list .fa {
  537. font-size: 1em !important; /* Use inherited 2x scaling */
  538. }
  539. .iphone-device .board-list .board-handle {
  540. font-size: 1em !important; /* Use inherited 2x scaling */
  541. }
  542. /* iPhone 12 Mini and very small screens - make everything much larger */
  543. @media screen and (max-width: 400px) and (max-height: 900px) {
  544. .board-list {
  545. height: calc(100vh - 120px) !important;
  546. overflow-y: scroll !important;
  547. overflow-x: hidden !important;
  548. -webkit-overflow-scrolling: touch;
  549. padding: 0 0.5rem;
  550. }
  551. .board-list li {
  552. width: 100% !important;
  553. float: none !important;
  554. display: block !important;
  555. margin-bottom: 1.5rem !important;
  556. }
  557. .board-list .board-list-item {
  558. height: 12rem !important; /* Much taller */
  559. width: 100% !important;
  560. margin: 0 !important;
  561. padding: 1rem !important; /* More padding */
  562. font-size: 18px !important; /* Much larger text */
  563. line-height: 1.4 !important;
  564. }
  565. .board-list .board-list-item .board-list-item-name {
  566. font-size: 20px !important; /* Larger board names */
  567. font-weight: bold !important;
  568. margin-bottom: 0.5rem !important;
  569. }
  570. .board-list .board-list-item .board-list-item-desc {
  571. font-size: 16px !important; /* Larger descriptions */
  572. line-height: 1.3 !important;
  573. }
  574. .board-list .board-list-item .minicard-members {
  575. font-size: 14px !important; /* Larger member avatars */
  576. }
  577. .board-list .board-list-item .minicard-lists {
  578. font-size: 14px !important; /* Larger list counters */
  579. }
  580. .board-list .board-handle {
  581. position: absolute;
  582. padding: 10px !important;
  583. top: 50%;
  584. transform: translateY(-50%);
  585. right: 15px !important;
  586. font-size: 28px !important; /* Much larger drag handle */
  587. color: #fff;
  588. background: rgba(0,0,0,0.4) !important;
  589. border-radius: 50%;
  590. width: 50px !important; /* Larger handle */
  591. height: 50px !important;
  592. display: flex;
  593. align-items: center;
  594. justify-content: center;
  595. z-index: 10;
  596. transition: background-color 0.2s ease;
  597. }
  598. .board-list .board-handle:hover {
  599. background: rgba(255, 255, 0, 0.8) !important; /* Yellow hover */
  600. }
  601. /* Force scrollbar to be visible and larger */
  602. .board-list::-webkit-scrollbar {
  603. width: 16px !important; /* Much wider scrollbar */
  604. display: block !important;
  605. visibility: visible !important;
  606. }
  607. .board-list::-webkit-scrollbar-track {
  608. background: #f1f1f1 !important;
  609. border-radius: 8px !important;
  610. display: block !important;
  611. visibility: visible !important;
  612. }
  613. .board-list::-webkit-scrollbar-thumb {
  614. background: #666 !important; /* Darker for better visibility */
  615. border-radius: 8px !important;
  616. display: block !important;
  617. visibility: visible !important;
  618. min-height: 50px !important; /* Minimum thumb size */
  619. }
  620. .board-list::-webkit-scrollbar-thumb:hover {
  621. background: #333 !important;
  622. }
  623. /* Ensure scrollbar is always visible */
  624. .board-list {
  625. scrollbar-gutter: stable;
  626. scrollbar-width: auto !important;
  627. min-height: 100vh !important;
  628. }
  629. .board-list::after {
  630. content: '';
  631. display: block;
  632. height: 200px !important; /* More space to ensure scrolling */
  633. }
  634. }
  635. .AllBoardTeamsOrgs {
  636. list-style-type: none;
  637. overflow: hidden;
  638. }
  639. .AllBoardTeams,
  640. .AllBoardOrgs,
  641. .AllBoardBtns {
  642. float: left;
  643. }
  644. .js-AllBoardOrgs {
  645. margin-left: 16px;
  646. }
  647. .AllBoardTeams {
  648. margin-left: 16px;
  649. }
  650. .AllBoardButtonsContainer {
  651. margin: 16px;
  652. }
  653. #filterBtn,
  654. #resetBtn {
  655. display: inline;
  656. }
  657. .js-board {
  658. display: block;
  659. }
  660. .minicard-members {
  661. padding: 6px 0 6px 8px;
  662. width: 100%;
  663. margin-bottom: 2px;
  664. margin-left: -4px;
  665. display: inline-block;
  666. }
  667. .minicard-lists {
  668. margin: 0 auto;
  669. max-width: 95%;
  670. height: 100%;
  671. }
  672. .flex {
  673. display: flex;
  674. }
  675. .flex-wrap {
  676. flex-wrap: wrap;
  677. }
  678. .flex-wrap .item {
  679. margin: 2px;
  680. padding-right: 6px;
  681. text-align: center;
  682. }
  683. /* Fix multiple scrollbars issue on mobile */
  684. @media screen and (max-width: 800px),
  685. screen and (max-device-width: 800px),
  686. screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 800px),
  687. screen and (max-width: 800px) and (orientation: portrait),
  688. screen and (max-width: 800px) and (orientation: landscape) {
  689. .wrapper {
  690. overflow: hidden;
  691. height: 100vh;
  692. }
  693. .board-list {
  694. overflow-y: scroll !important;
  695. overflow-x: hidden !important;
  696. -webkit-overflow-scrolling: touch;
  697. scrollbar-width: thin;
  698. scrollbar-color: #888 #f1f1f1;
  699. height: calc(100vh - 120px); /* Ensure there's content to scroll */
  700. }
  701. /* Force scrollbar to always be visible */
  702. .board-list::-webkit-scrollbar {
  703. width: 12px !important;
  704. display: block !important;
  705. visibility: visible !important;
  706. }
  707. .board-list::-webkit-scrollbar-track {
  708. background: #f1f1f1 !important;
  709. border-radius: 6px !important;
  710. display: block !important;
  711. visibility: visible !important;
  712. }
  713. .board-list::-webkit-scrollbar-thumb {
  714. background: #888 !important;
  715. border-radius: 6px !important;
  716. display: block !important;
  717. visibility: visible !important;
  718. }
  719. .board-list::-webkit-scrollbar-thumb:hover {
  720. background: #555 !important;
  721. }
  722. /* Ensure scrollbar is always visible */
  723. .board-list::-webkit-scrollbar-corner {
  724. background: #f1f1f1 !important;
  725. }
  726. /* Force scrollbar to be visible */
  727. .board-list {
  728. scrollbar-gutter: stable;
  729. scrollbar-width: auto !important;
  730. min-height: 100vh; /* Force content to be tall enough to scroll */
  731. }
  732. /* Ensure there's always content to scroll */
  733. .board-list::after {
  734. content: '';
  735. display: block;
  736. height: 100px;
  737. }
  738. /* Ensure only one scrollbar is visible */
  739. body {
  740. overflow: hidden;
  741. }
  742. #content {
  743. overflow: hidden;
  744. }
  745. }