responsive.css 18 KB

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