responsive.css 18 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015
  1. /* Tablets */
  2. input[type="submit"], button {
  3. -webkit-appearance: none;
  4. appearance: none;
  5. }
  6. @media (max-width: 1024px) {
  7. /* Basic */
  8. html {
  9. -webkit-text-size-adjust: 100%;
  10. }
  11. td, th {
  12. padding: 10px;
  13. font-size: 0.875rem;
  14. }
  15. .small {
  16. font-size: 0.75rem;
  17. }
  18. /* Layout */
  19. #container {
  20. min-width: 0;
  21. }
  22. #content {
  23. padding: 15px 20px 20px;
  24. }
  25. div.breadcrumbs {
  26. padding: 10px 30px;
  27. }
  28. /* Header */
  29. #header {
  30. flex-direction: column;
  31. padding: 15px 30px;
  32. justify-content: flex-start;
  33. }
  34. #branding h1 {
  35. margin: 0 0 8px;
  36. line-height: 1.2;
  37. }
  38. #user-tools {
  39. margin: 0;
  40. font-weight: 400;
  41. line-height: 1.85;
  42. text-align: left;
  43. }
  44. #user-tools a {
  45. display: inline-block;
  46. line-height: 1.4;
  47. }
  48. /* Dashboard */
  49. .dashboard #content {
  50. width: auto;
  51. }
  52. #content-related {
  53. margin-right: -290px;
  54. }
  55. .colSM #content-related {
  56. margin-left: -290px;
  57. }
  58. .colMS {
  59. margin-right: 290px;
  60. }
  61. .colSM {
  62. margin-left: 290px;
  63. }
  64. .dashboard .module table td a {
  65. padding-right: 0;
  66. }
  67. td .changelink, td .addlink {
  68. font-size: 0.8125rem;
  69. }
  70. /* Changelist */
  71. #toolbar {
  72. border: none;
  73. padding: 15px;
  74. }
  75. #changelist-search > div {
  76. display: flex;
  77. flex-wrap: nowrap;
  78. max-width: 480px;
  79. }
  80. #changelist-search label {
  81. line-height: 22px;
  82. }
  83. #toolbar form #searchbar {
  84. flex: 1 0 auto;
  85. width: 0;
  86. height: 22px;
  87. margin: 0 10px 0 6px;
  88. }
  89. #toolbar form input[type=submit] {
  90. flex: 0 1 auto;
  91. }
  92. #changelist-search .quiet {
  93. width: 0;
  94. flex: 1 0 auto;
  95. margin: 5px 0 0 25px;
  96. }
  97. #changelist .actions {
  98. display: flex;
  99. flex-wrap: wrap;
  100. padding: 15px 0;
  101. }
  102. #changelist .actions label {
  103. display: flex;
  104. }
  105. #changelist .actions select {
  106. background: var(--body-bg);
  107. }
  108. #changelist .actions .button {
  109. min-width: 48px;
  110. margin: 0 10px;
  111. }
  112. #changelist .actions span.all,
  113. #changelist .actions span.clear,
  114. #changelist .actions span.question,
  115. #changelist .actions span.action-counter {
  116. font-size: 0.6875rem;
  117. margin: 0 10px 0 0;
  118. }
  119. #changelist-filter {
  120. flex-basis: 200px;
  121. }
  122. .change-list .filtered .results,
  123. .change-list .filtered .paginator,
  124. .filtered #toolbar,
  125. .filtered .actions,
  126. #changelist .paginator {
  127. border-top-color: var(--hairline-color); /* XXX Is this used at all? */
  128. }
  129. #changelist .results + .paginator {
  130. border-top: none;
  131. }
  132. /* Forms */
  133. label {
  134. font-size: 0.875rem;
  135. }
  136. .form-row input[type=text],
  137. .form-row input[type=password],
  138. .form-row input[type=email],
  139. .form-row input[type=url],
  140. .form-row input[type=tel],
  141. .form-row input[type=number],
  142. .form-row textarea,
  143. .form-row select,
  144. .form-row .vTextField {
  145. box-sizing: border-box;
  146. margin: 0;
  147. padding: 6px 8px;
  148. min-height: 36px;
  149. font-size: 0.875rem;
  150. }
  151. .form-row select {
  152. height: 36px;
  153. }
  154. .form-row select[multiple] {
  155. height: auto;
  156. min-height: 0;
  157. }
  158. fieldset .fieldBox {
  159. float: none;
  160. margin: 0 -10px;
  161. padding: 0 10px;
  162. }
  163. fieldset .fieldBox + .fieldBox {
  164. margin-top: 10px;
  165. padding-top: 10px;
  166. border-top: 1px solid var(--hairline-color);
  167. }
  168. textarea {
  169. max-width: 100%;
  170. max-height: 120px;
  171. }
  172. .aligned label {
  173. padding-top: 6px;
  174. }
  175. .aligned .related-lookup,
  176. .aligned .datetimeshortcuts,
  177. .aligned .related-lookup + strong {
  178. align-self: center;
  179. margin-left: 15px;
  180. }
  181. form .aligned div.radiolist {
  182. margin-left: 2px;
  183. }
  184. .submit-row {
  185. padding: 8px 8px 3px 8px;
  186. }
  187. .submit-row a.deletelink {
  188. padding: 10px 7px;
  189. }
  190. .submit-row input.default {
  191. margin: 0 0 5px 5px;
  192. }
  193. .button, input[type=submit], input[type=button], .submit-row input, a.button {
  194. padding: 7px;
  195. }
  196. /* Related widget */
  197. .related-widget-wrapper {
  198. float: none;
  199. }
  200. .related-widget-wrapper-link + .selector {
  201. max-width: calc(100% - 30px);
  202. margin-right: 15px;
  203. }
  204. select + .related-widget-wrapper-link,
  205. .related-widget-wrapper-link + .related-widget-wrapper-link {
  206. margin-left: 10px;
  207. }
  208. /* Selector */
  209. .selector {
  210. display: flex;
  211. width: 100%;
  212. }
  213. .selector .selector-filter {
  214. display: flex;
  215. align-items: center;
  216. }
  217. .selector .selector-filter label {
  218. margin: 0 8px 0 0;
  219. }
  220. .selector .selector-filter input {
  221. width: auto;
  222. min-height: 0;
  223. flex: 1 1;
  224. }
  225. .selector-available, .selector-chosen {
  226. width: auto;
  227. flex: 1 1;
  228. display: flex;
  229. flex-direction: column;
  230. }
  231. .selector select {
  232. width: 100%;
  233. flex: 1 0 auto;
  234. margin-bottom: 5px;
  235. }
  236. .selector ul.selector-chooser {
  237. width: 26px;
  238. height: 52px;
  239. padding: 2px 0;
  240. margin: auto 15px;
  241. border-radius: 20px;
  242. transform: translateY(-10px);
  243. }
  244. .selector-add, .selector-remove {
  245. width: 20px;
  246. height: 20px;
  247. background-size: 20px auto;
  248. }
  249. .selector-add {
  250. background-position: 0 -120px;
  251. }
  252. .selector-remove {
  253. background-position: 0 -80px;
  254. }
  255. a.selector-chooseall, a.selector-clearall {
  256. align-self: center;
  257. }
  258. .stacked {
  259. flex-direction: column;
  260. max-width: 480px;
  261. }
  262. .stacked > * {
  263. flex: 0 1 auto;
  264. }
  265. .stacked select {
  266. margin-bottom: 0;
  267. }
  268. .stacked .selector-available, .stacked .selector-chosen {
  269. width: auto;
  270. }
  271. .stacked ul.selector-chooser {
  272. width: 52px;
  273. height: 26px;
  274. padding: 0 2px;
  275. margin: 15px auto;
  276. transform: none;
  277. }
  278. .stacked .selector-chooser li {
  279. padding: 3px;
  280. }
  281. .stacked .selector-add, .stacked .selector-remove {
  282. background-size: 20px auto;
  283. }
  284. .stacked .selector-add {
  285. background-position: 0 -40px;
  286. }
  287. .stacked .active.selector-add {
  288. background-position: 0 -40px;
  289. }
  290. .active.selector-add:focus, .active.selector-add:hover {
  291. background-position: 0 -140px;
  292. }
  293. .stacked .active.selector-add:focus, .stacked .active.selector-add:hover {
  294. background-position: 0 -60px;
  295. }
  296. .stacked .selector-remove {
  297. background-position: 0 0;
  298. }
  299. .stacked .active.selector-remove {
  300. background-position: 0 0;
  301. }
  302. .active.selector-remove:focus, .active.selector-remove:hover {
  303. background-position: 0 -100px;
  304. }
  305. .stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover {
  306. background-position: 0 -20px;
  307. }
  308. .help-tooltip, .selector .help-icon {
  309. display: none;
  310. }
  311. form .form-row p.datetime {
  312. width: 100%;
  313. }
  314. .datetime input {
  315. width: 50%;
  316. max-width: 120px;
  317. }
  318. .datetime span {
  319. font-size: 0.8125rem;
  320. }
  321. .datetime .timezonewarning {
  322. display: block;
  323. font-size: 0.6875rem;
  324. color: var(--body-quiet-color);
  325. }
  326. .datetimeshortcuts {
  327. color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */
  328. }
  329. .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
  330. width: 75%;
  331. }
  332. .inline-group {
  333. overflow: auto;
  334. }
  335. /* Messages */
  336. ul.messagelist li {
  337. padding-left: 55px;
  338. background-position: 30px 12px;
  339. }
  340. ul.messagelist li.error {
  341. background-position: 30px 12px;
  342. }
  343. ul.messagelist li.warning {
  344. background-position: 30px 14px;
  345. }
  346. /* Login */
  347. .login #header {
  348. padding: 15px 20px;
  349. }
  350. .login #branding h1 {
  351. margin: 0;
  352. }
  353. /* GIS */
  354. div.olMap {
  355. max-width: calc(100vw - 30px);
  356. max-height: 300px;
  357. }
  358. .olMap + .clear_features {
  359. display: block;
  360. margin-top: 10px;
  361. }
  362. /* Docs */
  363. .module table.xfull {
  364. width: 100%;
  365. }
  366. pre.literal-block {
  367. overflow: auto;
  368. }
  369. }
  370. /* Mobile */
  371. @media (max-width: 767px) {
  372. /* Layout */
  373. #header, #content, #footer {
  374. padding: 15px;
  375. }
  376. #footer:empty {
  377. padding: 0;
  378. }
  379. div.breadcrumbs {
  380. padding: 10px 15px;
  381. }
  382. /* Dashboard */
  383. .colMS, .colSM {
  384. margin: 0;
  385. }
  386. #content-related, .colSM #content-related {
  387. width: 100%;
  388. margin: 0;
  389. }
  390. #content-related .module {
  391. margin-bottom: 0;
  392. }
  393. #content-related .module h2 {
  394. padding: 10px 15px;
  395. font-size: 1rem;
  396. }
  397. /* Changelist */
  398. #changelist {
  399. align-items: stretch;
  400. flex-direction: column;
  401. }
  402. #toolbar {
  403. padding: 10px;
  404. }
  405. #changelist-filter {
  406. margin-left: 0;
  407. }
  408. #changelist .actions label {
  409. flex: 1 1;
  410. }
  411. #changelist .actions select {
  412. flex: 1 0;
  413. width: 100%;
  414. }
  415. #changelist .actions span {
  416. flex: 1 0 100%;
  417. }
  418. #changelist-filter {
  419. position: static;
  420. width: auto;
  421. margin-top: 30px;
  422. }
  423. .object-tools {
  424. float: none;
  425. margin: 0 0 15px;
  426. padding: 0;
  427. overflow: hidden;
  428. }
  429. .object-tools li {
  430. height: auto;
  431. margin-left: 0;
  432. }
  433. .object-tools li + li {
  434. margin-left: 15px;
  435. }
  436. /* Forms */
  437. .form-row {
  438. padding: 15px 0;
  439. }
  440. .aligned .form-row,
  441. .aligned .form-row > div {
  442. display: flex;
  443. flex-wrap: wrap;
  444. max-width: 100vw;
  445. }
  446. .aligned .form-row > div {
  447. width: calc(100vw - 30px);
  448. }
  449. textarea {
  450. max-width: none;
  451. }
  452. .vURLField {
  453. width: auto;
  454. }
  455. fieldset .fieldBox + .fieldBox {
  456. margin-top: 15px;
  457. padding-top: 15px;
  458. }
  459. fieldset.collapsed .form-row {
  460. display: none;
  461. }
  462. .aligned label {
  463. width: 100%;
  464. padding: 0 0 10px;
  465. }
  466. .aligned label:after {
  467. max-height: 0;
  468. }
  469. .aligned .form-row input,
  470. .aligned .form-row select,
  471. .aligned .form-row textarea {
  472. flex: 1 1 auto;
  473. max-width: 100%;
  474. }
  475. .aligned .checkbox-row {
  476. align-items: center;
  477. }
  478. .aligned .checkbox-row input {
  479. flex: 0 1 auto;
  480. margin: 0;
  481. }
  482. .aligned .vCheckboxLabel {
  483. flex: 1 0;
  484. padding: 1px 0 0 5px;
  485. }
  486. .aligned label + p,
  487. .aligned label + div.help,
  488. .aligned label + div.readonly {
  489. padding: 0;
  490. margin-left: 0;
  491. }
  492. .aligned p.file-upload {
  493. margin-left: 0;
  494. font-size: 0.8125rem;
  495. }
  496. span.clearable-file-input {
  497. margin-left: 15px;
  498. }
  499. span.clearable-file-input label {
  500. font-size: 0.8125rem;
  501. padding-bottom: 0;
  502. }
  503. .aligned .timezonewarning {
  504. flex: 1 0 100%;
  505. margin-top: 5px;
  506. }
  507. form .aligned .form-row div.help {
  508. width: 100%;
  509. margin: 5px 0 0;
  510. padding: 0;
  511. }
  512. form .aligned ul {
  513. margin-left: 0;
  514. padding-left: 0;
  515. }
  516. form .aligned div.radiolist {
  517. margin-top: 5px;
  518. margin-right: 15px;
  519. margin-bottom: -3px;
  520. }
  521. form .aligned div.radiolist:not(.inline) div + div {
  522. margin-top: 5px;
  523. }
  524. /* Related widget */
  525. .related-widget-wrapper {
  526. width: 100%;
  527. display: flex;
  528. align-items: flex-start;
  529. }
  530. .related-widget-wrapper .selector {
  531. order: 1;
  532. }
  533. .related-widget-wrapper > a {
  534. order: 2;
  535. }
  536. .related-widget-wrapper .radiolist ~ a {
  537. align-self: flex-end;
  538. }
  539. .related-widget-wrapper > select ~ a {
  540. align-self: center;
  541. }
  542. select + .related-widget-wrapper-link,
  543. .related-widget-wrapper-link + .related-widget-wrapper-link {
  544. margin-left: 15px;
  545. }
  546. /* Selector */
  547. .selector {
  548. flex-direction: column;
  549. }
  550. .selector > * {
  551. float: none;
  552. }
  553. .selector-available, .selector-chosen {
  554. margin-bottom: 0;
  555. flex: 1 1 auto;
  556. }
  557. .selector select {
  558. max-height: 96px;
  559. }
  560. .selector ul.selector-chooser {
  561. display: block;
  562. float: none;
  563. width: 52px;
  564. height: 26px;
  565. padding: 0 2px;
  566. margin: 15px auto 20px;
  567. transform: none;
  568. }
  569. .selector ul.selector-chooser li {
  570. float: left;
  571. }
  572. .selector-remove {
  573. background-position: 0 0;
  574. }
  575. .active.selector-remove:focus, .active.selector-remove:hover {
  576. background-position: 0 -20px;
  577. }
  578. .selector-add {
  579. background-position: 0 -40px;
  580. }
  581. .active.selector-add:focus, .active.selector-add:hover {
  582. background-position: 0 -60px;
  583. }
  584. /* Inlines */
  585. .inline-group[data-inline-type="stacked"] .inline-related {
  586. border: 1px solid var(--hairline-color);
  587. border-radius: 4px;
  588. margin-top: 15px;
  589. overflow: auto;
  590. }
  591. .inline-group[data-inline-type="stacked"] .inline-related > * {
  592. box-sizing: border-box;
  593. }
  594. .inline-group[data-inline-type="stacked"] .inline-related .module {
  595. padding: 0 10px;
  596. }
  597. .inline-group[data-inline-type="stacked"] .inline-related .module .form-row {
  598. border-top: 1px solid var(--hairline-color);
  599. border-bottom: none;
  600. }
  601. .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child {
  602. border-top: none;
  603. }
  604. .inline-group[data-inline-type="stacked"] .inline-related h3 {
  605. padding: 10px;
  606. border-top-width: 0;
  607. border-bottom-width: 2px;
  608. display: flex;
  609. flex-wrap: wrap;
  610. align-items: center;
  611. }
  612. .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label {
  613. margin-right: auto;
  614. }
  615. .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete {
  616. float: none;
  617. flex: 1 1 100%;
  618. margin-top: 5px;
  619. }
  620. .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) {
  621. width: 100%;
  622. }
  623. .inline-group[data-inline-type="stacked"] .aligned label {
  624. width: 100%;
  625. }
  626. .inline-group[data-inline-type="stacked"] div.add-row {
  627. margin-top: 15px;
  628. border: 1px solid var(--hairline-color);
  629. border-radius: 4px;
  630. }
  631. .inline-group div.add-row,
  632. .inline-group .tabular tr.add-row td {
  633. padding: 0;
  634. }
  635. .inline-group div.add-row a,
  636. .inline-group .tabular tr.add-row td a {
  637. display: block;
  638. padding: 8px 10px 8px 26px;
  639. background-position: 8px 9px;
  640. }
  641. /* Submit row */
  642. .submit-row {
  643. padding: 10px 10px 5px;
  644. margin: 0 0 15px;
  645. display: flex;
  646. flex-direction: column;
  647. }
  648. .submit-row > * {
  649. width: 100%;
  650. }
  651. .submit-row input, .submit-row input.default, .submit-row a, .submit-row a.closelink {
  652. float: none;
  653. margin: 0 0 10px;
  654. text-align: center;
  655. }
  656. .submit-row a.closelink {
  657. padding: 10px 0;
  658. }
  659. .submit-row p.deletelink-box {
  660. order: 4;
  661. }
  662. /* Messages */
  663. ul.messagelist li {
  664. padding-left: 40px;
  665. background-position: 15px 12px;
  666. }
  667. ul.messagelist li.error {
  668. background-position: 15px 12px;
  669. }
  670. ul.messagelist li.warning {
  671. background-position: 15px 14px;
  672. }
  673. /* Paginator */
  674. .paginator .this-page, .paginator a:link, .paginator a:visited {
  675. padding: 4px 10px;
  676. }
  677. /* Login */
  678. body.login {
  679. padding: 0 15px;
  680. }
  681. .login #container {
  682. width: auto;
  683. max-width: 480px;
  684. margin: 50px auto;
  685. }
  686. .login #header,
  687. .login #content {
  688. padding: 15px;
  689. }
  690. .login #content-main {
  691. float: none;
  692. }
  693. .login .form-row {
  694. padding: 0;
  695. }
  696. .login .form-row + .form-row {
  697. margin-top: 15px;
  698. }
  699. .login .form-row label {
  700. margin: 0 0 5px;
  701. line-height: 1.2;
  702. }
  703. .login .submit-row {
  704. padding: 15px 0 0;
  705. }
  706. .login br {
  707. display: none;
  708. }
  709. .login .submit-row input {
  710. margin: 0;
  711. text-transform: uppercase;
  712. }
  713. .errornote {
  714. margin: 0 0 20px;
  715. padding: 8px 12px;
  716. font-size: 0.8125rem;
  717. }
  718. /* Calendar and clock */
  719. .calendarbox, .clockbox {
  720. position: fixed !important;
  721. top: 50% !important;
  722. left: 50% !important;
  723. transform: translate(-50%, -50%);
  724. margin: 0;
  725. border: none;
  726. overflow: visible;
  727. }
  728. .calendarbox:before, .clockbox:before {
  729. content: '';
  730. position: fixed;
  731. top: 50%;
  732. left: 50%;
  733. width: 100vw;
  734. height: 100vh;
  735. background: rgba(0, 0, 0, 0.75);
  736. transform: translate(-50%, -50%);
  737. }
  738. .calendarbox > *, .clockbox > * {
  739. position: relative;
  740. z-index: 1;
  741. }
  742. .calendarbox > div:first-child {
  743. z-index: 2;
  744. }
  745. .calendarbox .calendar, .clockbox h2 {
  746. border-radius: 4px 4px 0 0;
  747. overflow: hidden;
  748. }
  749. .calendarbox .calendar-cancel, .clockbox .calendar-cancel {
  750. border-radius: 0 0 4px 4px;
  751. overflow: hidden;
  752. }
  753. .calendar-shortcuts {
  754. padding: 10px 0;
  755. font-size: 0.75rem;
  756. line-height: 12px;
  757. }
  758. .calendar-shortcuts a {
  759. margin: 0 4px;
  760. }
  761. .timelist a {
  762. background: var(--body-bg);
  763. padding: 4px;
  764. }
  765. .calendar-cancel {
  766. padding: 8px 10px;
  767. }
  768. .clockbox h2 {
  769. padding: 8px 15px;
  770. }
  771. .calendar caption {
  772. padding: 10px;
  773. }
  774. .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
  775. z-index: 1;
  776. top: 10px;
  777. }
  778. /* History */
  779. table#change-history tbody th, table#change-history tbody td {
  780. font-size: 0.8125rem;
  781. word-break: break-word;
  782. }
  783. table#change-history tbody th {
  784. width: auto;
  785. }
  786. /* Docs */
  787. table.model tbody th, table.model tbody td {
  788. font-size: 0.8125rem;
  789. word-break: break-word;
  790. }
  791. }