templates/bundles/EasyAdminBundle/css/easyadmin.css.twig line 1

Open in your IDE?
  1. {#  ========================================================================
  2.     EasyAdmin Default Theme | (c) 2015 Javier Eguiluz | MIT License
  3.     ======================================================================== #}
  4. {% set color_schemes = {
  5.     'dark': {
  6.         info: '#39A0ED',
  7.         warning: '#F0AD4E',
  8.         danger: '#D42124',
  9.         success: '#006B2E',
  10.         text: '#222222',
  11.         text_muted: '#737373',
  12.         link: '#205081',
  13.         black: '#111111',
  14.         white: '#FFFFFF',
  15.         gray_darker: '#252525',
  16.         gray_dark: '#444',
  17.         gray: '#AAA',
  18.         gray_light: '#CCC',
  19.         gray_lighter: '#F5F5F5',
  20.         page_background: '#F5F5F5',
  21.         table_header: '#EEE',
  22.         table_border: '#CCC',
  23.         table_row_border: '#DDD',
  24.     },
  25.     'light': {
  26.         info: '#39A0ED',
  27.         warning: '#F0AD4E',
  28.         danger: '#D42124',
  29.         success: '#006B2E',
  30.         text: '#444444',
  31.         text_muted: '#737373',
  32.         link: '#205081',
  33.         black: '#333333',
  34.         white: '#FFFFFF',
  35.         gray_darker: '#444',
  36.         gray_dark: '#AAA',
  37.         gray: '#CCC',
  38.         gray_light: '#ffffff',
  39.         gray_lighter: '#FAFAFA',
  40.         page_background: '#f3f4f9',
  41.         table_header: '#FAFAFA',
  42.         table_border: '#FFFFFF',
  43.         table_row_border: '#E5E5E5',
  44.     }
  45. } %}
  46. {% set colors = color_schemes[color_scheme] %}
  47. {% autoescape false %}
  48. {# -------------------------------------------------------------------------
  49.    RESET STYLES
  50.    ------------------------------------------------------------------------- #}
  51. {# make the Symfony Web Toolbar look nice by neutralizing the aliasing applied
  52.    globally by the AdminLTE template styles #}
  53. .sf-toolbarreset {
  54.     -webkit-font-smoothing: subpixel-antialiased;
  55.     -moz-osx-font-smoothing: auto;
  56. }
  57. {# -------------------------------------------------------------------------
  58.    BASIC STYLES
  59.    ------------------------------------------------------------------------- #}
  60. body {
  61.     font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
  62.     -webkit-font-smoothing: antialiased;
  63. }
  64. h1, h2, h3, h4, h5, h6 {
  65.     font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
  66. }
  67. {# Links
  68.    ------------------------------------------------------------------------- #}
  69. a        { color: {{ colors.link }}; }
  70. a:hover  { opacity: 0.9; }
  71. a:active { outline: 0; }
  72. #main a:active {
  73.     position: relative;
  74.     top: 1px;
  75. }
  76. a.text-primary,
  77. a.text-primary:focus {
  78.     color: {{ colors.link }};
  79. }
  80. a.text-danger,
  81. a.text-danger:focus {
  82.     color: {{ colors.danger }};
  83. }
  84. a.text-primary:hover,
  85. a.text-danger:hover {
  86.     opacity: 0.9;
  87. }
  88. {# Lists
  89.    ------------------------------------------------------------------------- #}
  90. ul, ol {
  91.     margin: 1em 0 1em 1em;
  92.     padding: 0;
  93. }
  94. li {
  95.     margin-bottom: 1em;
  96. }
  97. ul.inline {
  98.     list-style: none;
  99.     margin: 0;
  100. }
  101. ul.inline li {
  102.     margin: 0;
  103. }
  104. {# Flash messages
  105.    ------------------------------------------------------------------------- #}
  106. div.flash {
  107.     padding: .5em;
  108. }
  109. div.flash-success {
  110.     background: {{ colors.success }};
  111.     color: {{ colors.white }};
  112. }
  113. div.flash-error {
  114.     background: {{ colors.danger }};
  115.     color: {{ colors.white }};
  116. }
  117. div.flash-error strong {
  118.     padding-right: .5em;
  119. }
  120. {# Labels
  121.    ------------------------------------------------------------------------- #}
  122. {# this prevents overriding default styles for labels (label-info, label-primary, etc.) #}
  123. .label:not([class*=label-]) {
  124.     background: {{ colors.gray_darker }};
  125. }
  126. .label {
  127.     color: {{ colors.white }};
  128.     display: inline-block;
  129.     font-size: 11px;
  130.     padding: 4px;
  131.     text-transform: uppercase;
  132. }
  133. .label-success {
  134.     {# !important is required to override AdminLTE styles #}
  135.     background: {{ colors.success }} !important;
  136. }
  137. .label-danger {
  138.     {# !important is required to override AdminLTE styles #}
  139.     background: {{ colors.danger }} !important;
  140. }
  141. .label-empty {
  142.     background: transparent;
  143.     border: 2px dotted;
  144.     border-radius: 4px;
  145.     color: {{ colors.gray_light }};
  146.     padding: 4px 8px;
  147. }
  148. {# this makes boolean labels to be of the same width for most languages #}
  149. .boolean .label,
  150. .toggle .label {
  151.     min-width: 33px;
  152. }
  153. {# Switches / toggles
  154.    ------------------------------------------------------------------------- #}
  155. {# needed to neutralize the default .toggle styles applied by Bootstrap Toggle
  156.    which collide with the .toggle class applied to <th> too #}
  157. .toggle { position: initial; }
  158. .toggle:not(th) { position: relative; }
  159. .toggle.btn-xs {
  160.  width: 44px;
  161. }
  162. .toggle-group .btn,
  163. .toggle-group .btn:hover {
  164.    border-radius: 3px;
  165.    font-size: 10px;
  166.    font-weight: bold;
  167.    text-transform: uppercase;
  168. }
  169. .toggle-group .btn {
  170.    padding: 4px 6px;
  171. }
  172. .toggle-group .btn:hover {
  173.     border: 0;
  174. }
  175. .toggle-group .btn + .btn {
  176.     margin-left: 0;
  177. }
  178. .toggle-group .toggle-on,
  179. .toggle-group .toggle-on.btn-xs,
  180. .toggle-group .toggle-on:hover,
  181. .toggle-group .toggle-on:active,
  182. .toggle-group .toggle-on:active:hover {
  183.     padding: 4px 5px 4px 0;
  184.     border: 0;
  185. }
  186. .toggle-group .toggle-off,
  187. .toggle-group .toggle-off.btn-xs,
  188. .toggle-group .toggle-off:hover,
  189. .toggle-group .toggle-off:active,
  190. .toggle-group .toggle-off:active:hover {
  191.     padding: 4px 0 4px 5px;
  192.     border: 0;
  193. }
  194. .toggle-group .toggle-handle,
  195. .toggle-group .toggle-handle:hover,
  196. .toggle-group .toggle-handle:active,
  197. .toggle-group .toggle-handle:active:hover {
  198.     background: {{ colors.gray_lighter }};
  199.     border: 0;
  200.     border-radius: 2px;
  201.     height: 19px;
  202.     margin-top: 2px;
  203.     padding: 5px;
  204. }
  205. .toggle .btn-success .toggle-handle {
  206.     box-shadow: -2px 0 1px rgba(0, 0, 0, .2);
  207. }
  208. .toggle .btn-danger .toggle-handle {
  209.     box-shadow: 2px 0 1px rgba(0, 0, 0, .2);
  210. }
  211. {# Badges
  212.    ------------------------------------------------------------------------- #}
  213. span.badge {
  214.     background-color: {{ brand_color }};
  215. }
  216. {# Buttons
  217.    ------------------------------------------------------------------------- #}
  218. .btn:focus {
  219.     outline: none;
  220. }
  221. .btn + .btn {
  222.     margin-left: 5px;
  223. }
  224. button.btn:active {
  225.     position: relative;
  226.     top: 1px;
  227. }
  228. .btn,
  229. .btn:hover,
  230. .btn:active,
  231. .btn:focus,
  232. .btn:active:hover  {
  233. {% if 'dark' == color_scheme %}
  234.     background: {{ colors.gray_light }};
  235. {% elseif 'light' == color_scheme %}
  236.     background: {{ colors.gray }};
  237. {% endif %}
  238.     border: 1px solid transparent;
  239.     border-radius: 4px;
  240.     box-shadow: none;
  241.     color: {{ colors.text }};
  242.     display: inline-block;
  243.     line-height: 1.42857143;
  244.     opacity: 1;
  245.     outline: none;
  246.     padding: 6px 12px;
  247.     text-align: center;
  248. }
  249. .btn-xs,
  250. .btn-xs:hover,
  251. .btn-xs:active,
  252. .btn-xs:focus,
  253. .btn-xs:active:hover {
  254.     padding: 1px 5px;
  255. }
  256. .btn-default,
  257. .btn-default:hover,
  258. .btn-default:active,
  259. .btn-default:focus,
  260. .btn-default:active:hover {
  261.     border-color: transparent;
  262. }
  263. .btn-primary,
  264. .btn-primary:hover,
  265. .btn-primary:active,
  266. .btn-primary:focus,
  267. .btn-primary:active:hover {
  268.     background-color: {{ brand_color }};
  269.     border-color: transparent;
  270.     color: {{ colors.white }};
  271. }
  272. .btn-info,
  273. .btn-info:hover,
  274. .btn-info:active,
  275. .btn-info:focus,
  276. .btn-info:active:hover {
  277.     background-color: {{ colors.info }};
  278.     border-color: transparent;
  279.     color: {{ colors.white }};
  280. }
  281. .btn-warning,
  282. .btn-warning:hover,
  283. .btn-warning:active,
  284. .btn-warning:focus,
  285. .btn-warning:active:hover {
  286.     background-color: {{ colors.warning }};
  287.     border-color: transparent;
  288.     color: {{ colors.white }};
  289. }
  290. .btn-danger,
  291. .btn-danger:hover,
  292. .btn-danger:active,
  293. .btn-danger:focus,
  294. .btn-danger:active:hover {
  295.     background-color: {{ colors.danger }};
  296.     border-color: transparent;
  297.     color: {{ colors.white }};
  298. }
  299. .btn-success,
  300. .btn-success:hover,
  301. .btn-success:active,
  302. .btn-success:focus,
  303. .btn-success:active:hover {
  304.     background-color: {{ colors.success }};
  305.     border-color: transparent;
  306.     color: {{ colors.white }};
  307. }
  308. {# .bnt-secondary is for 'buttons' displayed as text links #}
  309. .btn-secondary,
  310. .btn-secondary:hover,
  311. .btn-secondary:active,
  312. .btn-secondary:focus,
  313. .btn-secondary:active:hover {
  314.     background: transparent;
  315.     color: {{ brand_color }};
  316.     text-decoration: underline;
  317. }
  318. .btn-secondary:hover {
  319.     text-decoration: none;
  320. }
  321. .btn-primary,
  322. .btn-warning,
  323. .btn-danger,
  324. .btn-success,
  325. .btn-info {
  326.     font-weight: bold;
  327. }
  328. .btn i {
  329.     font-size: 16px;
  330.     margin-right: 2px;
  331. }
  332. .btn-flat,
  333. .btn-flat:hover,
  334. .btn-flat:active,
  335. .btn-flat:focus,
  336. .btn-flat:active:hover {
  337.     border-radius: 0;
  338. }
  339. {# Forms
  340.    ------------------------------------------------------------------------- #}
  341. .form-inline .form-control {
  342.     margin-bottom: 5px;
  343. }
  344. .form-control,
  345. .form-inline .form-control {
  346.     border: 1px solid {{ colors.gray }};
  347.     border-radius: 0;
  348. {% if 'dark' == color_scheme %}
  349.     box-shadow: 0 0 3px rgba(0, 0, 0, .15);
  350. {% endif %}
  351.     color: {{ colors.text }};
  352.     -webkit-transition: none;
  353.     transition: none;
  354. }
  355. .form-control:focus {
  356. {% if 'dark' == color_scheme %}
  357.     border-color: {{ colors.gray_dark }};
  358.     box-shadow: 0 0 3px rgba(0, 0, 0, .15);
  359. {% elseif 'light' == color_scheme %}
  360.     border-color: {{ colors.gray_darker }};
  361. {% endif %}
  362. }
  363. .has-error .error-block {
  364.     color: {{ colors.danger }};
  365.     font-weight: bold;
  366.     padding-top: 5px;
  367. }
  368. .has-error .error-block .label-danger {
  369.     margin-right: 3px;
  370. }
  371. .has-error .error-block ul {
  372.     margin: .5em 0 .5em 1.5em;
  373. }
  374. .has-error .error-block ul li {
  375.     margin-bottom: .5em;
  376. }
  377. .help-block,
  378. .has-error .help-block {
  379.     color: {{ colors.text_muted }};
  380.     font-size: 13px;
  381. }
  382. .nullable-control {
  383.    padding-top: 5px;
  384. }
  385. .form-actions.stuck {
  386.     bottom: 0;
  387.     position: fixed;
  388. {% if 'dark' == color_scheme %}
  389.     background-color: {{ colors.gray_lighter }};
  390.     box-shadow: 0 -1px 4px {{ colors.gray_light }};
  391. {% elseif 'light' == color_scheme %}
  392.     background-color: {{ colors.gray_light }};
  393.     box-shadow: 0 -1px 4px {{ colors.gray }};
  394. {% endif %}
  395.     height: 52px;
  396.     padding-top: 10px;
  397. {% if kernel_debug|default(false) %}
  398.     height: 85px;
  399.     padding-bottom: 45px;
  400. {% endif %}
  401.     z-index: 9999;
  402. }
  403. .field-group .box-header a i {
  404.     font-size: 21px;
  405. }
  406. .field-group .box-header a[aria-expanded=true] .fa-plus-square-o {
  407.    display: none;
  408. }
  409. .field-group .box-header a[aria-expanded=false] .fa-minus-square-o {
  410.    display: none;
  411. }
  412. {# Field: collection
  413.    ------------------------------------------------------------------------- #}
  414. .field-collection .collection-empty {
  415.     margin: .5em 0;
  416. }
  417. {# Field: special Form Fields (dividers, groups, sections)
  418.    ------------------------------------------------------------------------- #}
  419. .field-divider hr {
  420.     margin-top: 15px;
  421.     margin-bottom: 26px;
  422.     border: 0;
  423.     border-top: 1px solid;
  424. {% if 'dark' == color_scheme %}
  425.     border-top-color: #DDD;
  426. {% elseif 'light' == color_scheme %}
  427.     border-top-color: {{ colors.gray_lighter }};
  428. {% endif %}
  429. }
  430. .field-group .field-divider hr {
  431. {% if 'dark' == color_scheme %}
  432.     border-top-color: #DDD;
  433. {% elseif 'light' == color_scheme %}
  434.     border-top-color: #EEE;
  435. {% endif %}
  436. }
  437. .field-section {
  438.     margin: 16px 0 15px;
  439. }
  440. .field-section h2 {
  441. {% if 'dark' == color_scheme %}
  442.     border-bottom: 1px solid {{ colors.gray_light }};
  443.     color: {{ colors.gray_dark }};
  444. {% elseif 'light' == color_scheme %}
  445.     border-bottom: 1px solid #EEE;
  446.     color: {{ colors.gray_darker }};
  447. {% endif %}
  448.     font-size: 16px;
  449.     padding-bottom: 6px;
  450. }
  451. .field-section h2 i {
  452. {% if 'dark' == color_scheme %}
  453.     color: #555;
  454. {% elseif 'light' == color_scheme %}
  455.     color: #777;
  456. {% endif %}
  457.     margin-right: 2px;
  458. }
  459. .field-section p.help-block {
  460.     margin: 8px 0 0;
  461. }
  462. .field-group .box {
  463. {% if 'dark' == color_scheme %}
  464.     border: 1px solid #DDD;
  465. {% elseif 'light' == color_scheme %}
  466.     border: 1px solid #EEE;
  467. {% endif %}
  468.     box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.05);
  469. }
  470. .field-group .box-header i {
  471. {% if 'dark' == color_scheme %}
  472.     color: #555;
  473. {% elseif 'light' == color_scheme %}
  474.     color: #777;
  475. {% endif %}
  476.     margin-right: 2px;
  477. }
  478. .field-group .box-header.with-border {
  479. {% if 'dark' == color_scheme %}
  480.     background: #F0F0F0;
  481.     border-bottom-color: #DDD;
  482. {% elseif 'light' == color_scheme %}
  483.     background: {{ colors.gray_light }};
  484.     border-bottom-color: #EEE;
  485.     color: {{ colors.gray_darker }};
  486. {% endif %}
  487.     padding: 11px 10px 9px;
  488. }
  489. {% if 'light' == color_scheme %}
  490. .field-group .box-header .box-title {
  491.     color: #777;
  492. }
  493. {% endif %}
  494. .field-group .box-body {
  495.     padding: 15px 15px 5px;
  496. }
  497. .field-group .box-body > .help-block {
  498.     margin-top: 0;
  499. }
  500. {# Select2 widget
  501.    ------------------------------------------------------------------------- #}
  502. {# these styles must be applied after loading the default select2 styles #}
  503. .select2-container {
  504.     width: 100% !important;
  505. }
  506. .select2-container--bootstrap .select2-selection {
  507.     border: 1px solid {{ colors.gray }};
  508.     border-radius: 0;
  509.     box-shadow: 0 0 3px rgba(0, 0, 0, .15);
  510.     color: {{ colors.text }};
  511.     -webkit-transition: none;
  512.     transition: none;
  513. }
  514. .select2-container--bootstrap .select2-selection .select2-search--inline {
  515.     margin: 0;
  516. }
  517. .select2-container--bootstrap .select2-selection--single .select2-selection__rendered {
  518.     color: {{ colors.text }};
  519.     padding-top: 4px;
  520. }
  521. .select2-container--bootstrap .select2-results__option {
  522.     margin-bottom: 0;
  523. }
  524. .select2-container--bootstrap .select2-results__option[aria-selected=true] {
  525.     background-color: {{ colors.gray_light }};
  526.     font-weight: bold;
  527. }
  528. .select2-container--bootstrap .select2-results__option--highlighted[aria-selected] {
  529.     background-color: {{ brand_color }};
  530. }
  531. .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
  532.     color: {{ colors.text }};
  533. }
  534. .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove {
  535.     color: {{ colors.danger }};
  536.     font-weight: bold;
  537.     position: relative;
  538.     top: -1px;
  539. }
  540. .select2-container--bootstrap .select2-search--dropdown .select2-search__field {
  541.     border: 1px solid {{ colors.gray_dark }};
  542.     border-radius: 0;
  543.     margin: 5px 10px;
  544.     padding: 6px;
  545.     width: 96%;
  546. }
  547. .select2-search--inline .select2-search__field:focus {
  548.     outline: 0;
  549.     border: 0;
  550. }
  551. {# VichUploaderBundle files and images
  552.    ------------------------------------------------------------------------- #}
  553. .easyadmin-vich-image img {
  554.     border: 3px solid {{ colors.white }};
  555.     box-shadow: 0 0 3px {{ colors.gray }};
  556.     max-height: 300px;
  557.     max-width: 400px;
  558. }
  559. .easyadmin-vich-image input[type="file"],
  560. .easyadmin-vich-file input[type="file"] {
  561.     padding-top: 7px;
  562. }
  563. .easyadmin-vich-file a {
  564.     display: inline-block;
  565.     padding-top: 7px;
  566. }
  567. {# the checkbox to delete the image/file #}
  568. .easyadmin-vich-file .field-checkbox {
  569.     margin-bottom: 0;
  570. }
  571. .easyadmin-vich-file .field-checkbox .col-sm-2,
  572. .easyadmin-vich-image .field-checkbox .col-sm-2 {
  573.     display: none;
  574. }
  575. {# Thumbnails and image lightbox
  576.    ------------------------------------------------------------------------- #}
  577. .easyadmin-thumbnail img {
  578.     border: 3px solid {{ colors.white }};
  579.     box-shadow: 0 0 3px {{ colors.gray }};
  580.     max-height: 100px;
  581.     max-width: 100%;
  582. }
  583. .easyadmin-thumbnail img:hover {
  584.     cursor: zoom-in;
  585. }
  586. .featherlight .easyadmin-lightbox:hover {
  587.     cursor: zoom-out;
  588. }
  589. .easyadmin-lightbox {
  590.     display: none;
  591. }
  592. .featherlight .easyadmin-lightbox {
  593.     display: block;
  594. }
  595. .easyadmin-lightbox img {
  596.     width: 100%;
  597.     max-width: 100%;
  598. }
  599. {# Modal windows
  600.    ------------------------------------------------------------------------- #}
  601. .modal-dialog .modal-content {
  602.     border-radius: 0;
  603. }
  604. .modal-dialog .modal-content .modal-body h4 {
  605.     font-size: 21px;
  606.     margin: .5em 0;
  607. }
  608. .modal-dialog .modal-footer {
  609.     background: {{ colors.gray_lighter }};
  610.     border-top: 1px solid {{ colors.gray_light }};
  611.     margin-top: 1.5em;
  612. }
  613. {# Utils
  614.    ------------------------------------------------------------------------- #}
  615. .newrow, .new-row {
  616.     clear: both;
  617.     display: block;
  618. }
  619. {# -------------------------------------------------------------------------
  620.    LAYOUT
  621.    ------------------------------------------------------------------------- #}
  622. {# Wrapper
  623.    ------------------------------------------------------------------------- #}
  624. .content-wrapper {
  625.     background: {{ colors.page_background }};
  626. }
  627. .fixed .content-wrapper {
  628.     padding-top: 50px;
  629. }
  630. {# Header
  631.    ------------------------------------------------------------------------- #}
  632. .main-header {
  633.     background: {{ brand_color }};
  634.     position: relative;
  635. }
  636. .main-header .logo {
  637.     color: {{ colors.white }};
  638.     font-family: Helvetica, "Helvetica Neue", Arial, sans-serif; {# needed to override AdminLTE styles #}
  639.     font-size: 18px;
  640.     font-weight: bold;
  641.     height: 45px;
  642.     line-height: 45px;
  643.     padding: 0;
  644. }
  645. .main-header .logo-long .logo-lg {
  646.     font-size: 16px;
  647. }
  648. .main-header .logo-lg {
  649.     overflow: hidden;
  650.     text-overflow: ellipsis;
  651.     white-space: nowrap;
  652. }
  653. .main-header #header-logo {
  654. }
  655. .main-header img {
  656.     margin-top: -2px;
  657.     max-height: 36px;
  658. }
  659. .main-header li {
  660.     margin-bottom: 0;
  661. }
  662. .main-header > .navbar {
  663.     background-color: {{ brand_color }};
  664.     color: rgba(255, 255, 255, 0.9);
  665.     margin-left: 0;
  666.     min-height: 40px;
  667. }
  668. .main-header .navbar .sidebar-toggle {
  669.     color: rgba(255, 255, 255, 0.8);
  670.     display: inline-block;
  671.     font-size: 16px;
  672.     height: 35px;
  673.     left: 0;
  674.     line-height: 35px;
  675.     padding: 0 15px;
  676.     position: absolute;
  677.     text-align: center;
  678.     top: 45px;
  679. }
  680. .sidebar-mini.sidebar-collapse .sidebar-toggle {
  681.     color: {{ colors.white }};
  682. }
  683. .navbar-custom-menu,
  684. .navbar-custom-menu ul.navbar-nav,
  685. .navbar-custom-menu ul.navbar-nav .user-menu {
  686.     float: none;
  687. }
  688. .navbar-custom-menu {
  689.     background: rgba(255, 255, 255, 0.1);
  690.     color: rgba(255, 255, 255, 0.8);
  691.     font-size: 13px;
  692.     font-weight: bold;
  693.     height: 35px;
  694.     line-height: 35px;
  695.     padding: 0 15px;
  696.     text-align: right;
  697.     width: 100%;
  698. }
  699. .main-header .navbar .user-menu .btn {
  700.     background: rgba(255, 255, 255, 0.05);
  701.     border-color: transparent;
  702.     color: #fff;
  703. }
  704. .main-header .navbar .user-menu .btn:active {
  705.     top: 0;
  706. }
  707. .main-header .navbar .user-menu .btn.dropdown-toggle {
  708.     padding: 6px 8px;
  709. }
  710. .main-header .navbar .user-menu .btn-group:hover .btn {
  711.     background: rgba(255, 255, 255, 0.1);
  712. }
  713. .main-header .navbar .user-menu .btn-group {
  714.     height: 35px;
  715. }
  716. .main-header .navbar .user-menu .btn-group .btn {
  717.     border-radius: 0;
  718. }
  719. .main-header .navbar .user-menu .dropdown-menu {
  720.     background: #fff;
  721.     box-shadow: 1px 1px 3px #ccc;
  722.     border-radius: 2px;
  723.     position: absolute;
  724.     left: auto;
  725.     right: 0;
  726. }
  727. .main-header .navbar .user-menu .dropdown-menu i {
  728.     margin: 0;
  729. }
  730. .main-header .navbar .user-menu .dropdown-menu a {
  731.     color: #777;
  732. }
  733. {# Main body
  734.    ------------------------------------------------------------------------- #}
  735. #content #main {
  736.     padding-bottom: 3em;
  737. }
  738. .content {
  739.     padding-top: 10px;
  740. }
  741. .content-header {
  742.     padding: 12px 15px 0 15px;
  743. }
  744. .content-header h1 {
  745.     margin: 0;
  746.     font-size: 24px;
  747. }
  748. {# Sidebar
  749.    ------------------------------------------------------------------------- #}
  750. .main-sidebar,
  751. .wrapper {
  752. {% if 'dark' == color_scheme %}
  753.     background-color: #333;
  754. {% elseif 'light' == color_scheme %}
  755.     background-color: {{ colors.gray_light }};
  756. {% endif %}
  757. }
  758. .main-sidebar {
  759.     padding-top: 80px;
  760. }
  761. .sidebar-menu li.header {
  762. {% if 'dark' == color_scheme %}
  763.     color: #777;
  764. {% elseif 'light' == color_scheme %}
  765.     color: {{ colors.gray_dark }};
  766. {% endif %}
  767.     font-size: 12px;
  768.     font-weight: bold;
  769.     text-transform: uppercase;
  770. }
  771. .treeview-menu > li.header {
  772. {% if 'dark' == color_scheme %}
  773.     background: #404040;
  774. {% elseif 'light' == color_scheme %}
  775.     background-color: {{ colors.gray_lighter }};
  776. {% endif %}
  777.     padding-left: 28px;
  778. }
  779. .sidebar-menu li a,
  780. .sidebar-menu li a span,
  781. .sidebar-menu li.header,
  782. .sidebar-mini.sidebar-collapse .sidebar-menu .treeview-menu a {
  783.     overflow: hidden;
  784.     text-overflow: ellipsis;
  785.     white-space: nowrap;
  786. }
  787. .sidebar-mini.sidebar-collapse .sidebar-menu li a {
  788.     overflow: visible;
  789. }
  790. .sidebar-menu > li > a,
  791. .sidebar-menu .treeview-menu > li > a {
  792. {% if 'dark' == color_scheme %}
  793.     background: #333;
  794.     color: #CCC;
  795. {% elseif 'light' == color_scheme %}
  796.     color: {{ colors.gray_darker }};
  797. {% endif %}
  798.     border-left: 3px solid transparent;
  799.     display: block;
  800.     font-weight: bold;
  801.     opacity: 1;
  802. }
  803. .sidebar-menu .treeview-menu > li > a {
  804. {% if 'dark' == color_scheme %}
  805.     background: #404040;
  806. {% elseif 'light' == color_scheme %}
  807.     background-color: {{ colors.gray_lighter }};
  808. {% endif %}
  809.     font-size: 13px;
  810.     padding: 8px 5px 8px 25px;
  811. }
  812. .sidebar-menu > li:hover > a,
  813. .sidebar-menu .treeview-menu > li:hover > a,
  814. .sidebar-menu > li.active > a,
  815. .sidebar-menu .treeview-menu > li.active > a,
  816. .sidebar-collapse .sidebar-menu > li.active.submenu-active > a,
  817. .sidebar-collapse .sidebar-menu > li:hover .treeview-menu > li.active > a {
  818. {% if 'dark' == color_scheme %}
  819.     color: {{ colors.white }};
  820.     background: #4D4D4D;
  821.     border-left-color: #BBB;
  822. {% elseif 'light' == color_scheme %}
  823.     background: #c8a2c7;
  824.     border-left-color: #69106a;
  825. {% endif %}
  826. }
  827. .sidebar-menu > li > a > .fa {
  828.     width: 22px;
  829. }
  830. .sidebar-menu .treeview-menu {
  831.     padding: 0;
  832. }
  833. {# when the sidebar is collapsed #}
  834. .sidebar-collapse .sidebar-menu > li > a {
  835.     padding: 12px 5px 12px 12px;
  836. }
  837. .sidebar-collapse .sidebar-menu > li .treeview-menu > li > a {
  838.     padding-left: 12px;
  839. }
  840. .sidebar-collapse .sidebar-menu > li > a > i.fa {
  841.     font-size: 18px;
  842. }
  843. .sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
  844.     padding: 0;
  845. }
  846. .sidebar-collapse .sidebar-menu > li:hover > a,
  847. .sidebar-collapse .sidebar-menu .treeview-menu > li:hover > a,
  848. .sidebar-menu > li.active.submenu-active > a,
  849. .sidebar-collapse .sidebar-menu > li.active.submenu-active:hover > a {
  850.     border-left-color: transparent;
  851. {% if 'dark' == color_scheme %}
  852.     background: #333;
  853. {% elseif 'light' == color_scheme %}
  854.     background: #c8a2c7;
  855. {% endif %}
  856. }
  857. {# when collapsed, menu dividers are displayed as a straight line #}
  858. .sidebar-mini.sidebar-collapse .sidebar-menu li.header {
  859. {% if 'dark' == color_scheme %}
  860.     border-bottom: 1px solid #777;
  861. {% elseif 'light' == color_scheme %}
  862.     border-bottom: 1px solid #BBB;
  863. {% endif %}
  864.     display: block !important;
  865.     font-size: 0;
  866.     height: 1px;
  867.     margin: 0;
  868.     padding: 0;
  869. }
  870. {# -------------------------------------------------------------------------
  871.    COMMON ADMIN PAGES
  872.    ------------------------------------------------------------------------- #}
  873. body.easyadmin h1.title {
  874.     margin-bottom: 10px;
  875. }
  876. .help-entity {
  877. {% if 'dark' == color_scheme %}
  878.     color: {{ colors.gray_dark }};
  879. {% elseif 'light' == color_scheme %}
  880.     border: 1px solid #EEE;
  881.     box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.05);
  882.     color: {{ colors.text_muted }};
  883. {% endif %}
  884.     margin: 10px 0 5px;
  885. }
  886. {# -------------------------------------------------------------------------
  887.    LIST PAGE
  888.    ------------------------------------------------------------------------- #}
  889. body.list .global-actions {
  890.     display: table;
  891.     width: 100%;
  892. }
  893. body.list .global-actions .button-action {
  894.     display: table-cell;
  895.     padding-left: 10px;
  896.     vertical-align: middle;
  897.     width: 120px;
  898. }
  899. body.list .global-actions .button-action a {
  900.     float: right;
  901. }
  902. body.list .global-actions .form-action {
  903.     display: table-cell;
  904.     width: 100%;
  905. }
  906. body.list .global-actions .form-action .input-group {
  907.     width: 100%;
  908. }
  909. body.list .global-actions .form-control {
  910.     box-shadow: none;
  911. }
  912. body.list .global-actions .input-group-btn > button.btn:not(:last-child) {
  913.     border-bottom-right-radius: 3px;
  914.     border-top-right-radius: 3px;
  915. }
  916. body.list .global-actions .input-group-btn a.btn {
  917.     border-radius: 3px;
  918.     margin-left: 10px;
  919. }
  920. {# Responsive tables
  921.    ------------------------------------------------------------------------- #}
  922. body.list .table-responsive,
  923. body.list table {
  924.     background: transparent;
  925.     border: 0;
  926. }
  927. body.list table thead {
  928.     display: none;
  929. }
  930. body.list .table tbody {
  931.     background: transparent;
  932.     border: 0;
  933. }
  934. body.list table tbody tr {
  935.     background: {{ colors.white }};
  936. {% if 'dark' == color_scheme %}
  937.     border: 1px solid {{ colors.gray_light }};
  938. {% elseif 'light' == color_scheme %}
  939.     border: 1px solid {{ colors.gray }};
  940. {% endif %}
  941.     display: block;
  942.     margin-bottom: 1em;
  943. }
  944. body.list table tbody td {
  945.     border-bottom: 1px solid {{ colors.table_row_border }};
  946.     border-top: 0;
  947.     display: block;
  948.     vertical-align: middle;
  949. }
  950. body.list table tbody td:last-child {
  951.     border-bottom: 0;
  952. }
  953. table td:before {
  954.     content: attr(data-label);
  955.     float: left;
  956.     font-weight: bold;
  957. }
  958. table td:after {
  959.     clear: both;
  960.     content: "";
  961.     display: block;
  962. }
  963. /* needed because the responsive tables require contents aligned to the right */
  964. body.list table td,
  965. body.list table .text-center,
  966. body.list table .text-left,
  967. body.list table .text-right {
  968.     text-align: right;
  969. }
  970. body.list table tbody td.image .easyadmin-thumbnail img {
  971.     border-width: 2px;
  972.     max-height: 50px;
  973.     max-width: 150px;
  974. }
  975. body.list table tbody td.association .badge {
  976.     font-size: 13px;
  977. }
  978. body.list table tbody td.actions a {
  979.     font-weight: bold;
  980.     margin-left: 10px;
  981. }
  982. {# Search results
  983.    ------------------------------------------------------------------------- #}
  984. body.list .table tbody span.highlight {
  985.     background: #FF9;
  986.     border-radius: 2px;
  987.     padding: 1px;
  988. }
  989. body.list .table tbody .no-results span.highlight,
  990. body.list .table tbody .actions span.highlight {
  991.     background: 0;
  992.     border-radius: 0;
  993. }
  994. {# Pagination
  995.    ------------------------------------------------------------------------- #}
  996. body.list .pagination {
  997.     float: right;
  998.     margin: 0;
  999. }
  1000. body.list .pagination > .disabled > span {
  1001.     background: transparent;
  1002.     border: 1px solid transparent;
  1003. {% if 'dark' == color_scheme %}
  1004.     color: {{ colors.text_muted }};
  1005. {% elseif 'light' == color_scheme %}
  1006.     color: {{ colors.gray }};
  1007. {% endif %}
  1008. }
  1009. body.list .pagination > li > a {
  1010.     background: {{ colors.white }};
  1011.     border-color: {{ colors.gray_light }};
  1012.     border-radius: 0;
  1013.     color: {{ colors.text }};
  1014. }
  1015. body.list .pagination > li > a:hover {
  1016.     background: {{ brand_color }};
  1017.     color: {{ colors.white }};
  1018. }
  1019. .pagination > li > a,
  1020. .pagination > li > span {
  1021.     padding: 6px 8px;
  1022. }
  1023. body.list .pagination > li i {
  1024.     padding: 0 3px;
  1025. }
  1026. {# this hack is needed to avoid the last pagination page from showing wrong
  1027.    borders for the second pagination element (we need to put this element above
  1028.    the third element) #}
  1029. body.list .pagination.last-page li:nth-child(2) {
  1030.     position: relative;
  1031.     z-index: 1;
  1032. }
  1033. {# -------------------------------------------------------------------------
  1034.    FORM PAGE
  1035.    ------------------------------------------------------------------------- #}
  1036. form label.control-label.required:after {
  1037.     content: "\00a0*";
  1038.     color: {{ colors.danger }};
  1039.     font-size: 16px;
  1040. }
  1041. {# -------------------------------------------------------------------------
  1042.    NEW PAGE
  1043.    ------------------------------------------------------------------------- #}
  1044. body.new textarea {
  1045.     min-height: 250px;
  1046. }
  1047. body.new .field-collection-action {
  1048.     margin: -15px 0 10px;
  1049. }
  1050. body.new .field-collection-item-action {
  1051.     margin: 5px 0 0;
  1052. }
  1053. body.new #form-actions-row button,
  1054. body.new #form-actions-row a.btn {
  1055.     margin-bottom: 10px;
  1056. }
  1057. body.new .form-horizontal #form-actions-row {
  1058.     padding-left: 15px;
  1059.     padding-right: 15px;
  1060. }
  1061. {# -------------------------------------------------------------------------
  1062.    EDIT PAGE
  1063.    ------------------------------------------------------------------------- #}
  1064. body.edit textarea {
  1065.     min-height: 250px;
  1066. }
  1067. body.edit .field-collection-action {
  1068.     margin: -15px 0 10px;
  1069. }
  1070. body.edit .field-collection-item-action {
  1071.     margin: 5px 0 0;
  1072. }
  1073. body.edit #form-actions-row button,
  1074. body.edit #form-actions-row a.btn {
  1075.     margin-bottom: 10px;
  1076. }
  1077. body.edit .form-horizontal #form-actions-row {
  1078.     padding-left: 15px;
  1079.     padding-right: 15px;
  1080. }
  1081. {# -------------------------------------------------------------------------
  1082.    SHOW PAGE
  1083.    ------------------------------------------------------------------------- #}
  1084. body.show .form-control {
  1085. {% if 'dark' == color_scheme %}
  1086.     background: {{ colors.white }};
  1087. {% elseif 'light' == color_scheme %}
  1088.     background: {{ colors.gray_lighter }};
  1089. {% endif %}
  1090.     border: 0;
  1091.     border-radius: 0;
  1092.     box-shadow: none;
  1093.     height: auto;
  1094. }
  1095. body.show .form-control.text {
  1096.     min-height: 34px;
  1097.     max-height: 250px;
  1098.     overflow-y: auto;
  1099. }
  1100. {# -------------------------------------------------------------------------
  1101.    ERROR PAGES
  1102.    ------------------------------------------------------------------------- #}
  1103. body.error .content-wrapper {
  1104.     align-items: center;
  1105.     display: flex;
  1106. }
  1107. body.error .error-description {
  1108.     background: {{ colors.white }};
  1109.     border: 1px solid {{ colors.gray_lighter }};
  1110.     box-shadow: 0 0 3px {{ colors.gray_light }};
  1111.     max-width: 96%;
  1112.     padding: 0;
  1113. }
  1114. body.error .error-description h1 {
  1115.     background: {{ colors.danger }};
  1116.     color: {{ colors.white }};
  1117.     font-size: 18px;
  1118.     font-weight: bold;
  1119.     margin: 0;
  1120.     padding: 10px;
  1121.     text-transform: uppercase;
  1122. }
  1123. body.error .error-message {
  1124.     font-size: 16px;
  1125.     padding: 45px 30px;
  1126.     text-align: center;
  1127. }
  1128. {# =========================================================================
  1129.    RESPONSIVE
  1130.    ========================================================================= #}
  1131. {# -------------------------------------------------------------------------
  1132.    VERTICAL TABLETS and LANDSCAPE SMARTPHONES
  1133.    ------------------------------------------------------------------------- #}
  1134. @media (min-width: 768px) {
  1135.     ul, ol {
  1136.         margin-left: 2em;
  1137.     }
  1138.     .main-header > .navbar {
  1139.       height: 80px;
  1140.     }
  1141.     .sidebar-mini.sidebar-collapse .main-header .navbar {
  1142.         margin-left: 0;
  1143.     }
  1144.     .main-header #header-logo {
  1145.         float: left;
  1146.     }
  1147.     .main-header .logo {
  1148.         font-size: 21px;
  1149.         height: 50px;
  1150.         line-height: 50px;
  1151.         text-align: left;
  1152.         transition: padding-left .3s linear;
  1153.     }
  1154.     .sidebar-mini.sidebar-collapse .main-header .logo {
  1155.         padding-left: 15px;
  1156.         width: auto; {# neutralizes AdminLTE styles #}
  1157.         transition: padding-left .3s linear;
  1158.     }
  1159.     .main-header .navbar .sidebar-toggle {
  1160.         height: 80px;
  1161.         line-height: 80px;
  1162.         position: static;
  1163.         padding: 0 12px 0 18px;
  1164.     }
  1165.     .sidebar-mini.sidebar-collapse .sidebar-toggle {
  1166.         background: rgba(0, 0, 0, 0.15);
  1167.         font-size: 18px;
  1168.         padding-left: 12px;
  1169.         width: 50px;
  1170.     }
  1171.     .navbar-custom-menu,
  1172.     .navbar-custom-menu ul.navbar-nav,
  1173.     .navbar-custom-menu ul.navbar-nav .user-menu {
  1174.         float: right;
  1175.     }
  1176.     .navbar-custom-menu {
  1177.         background: inherit;
  1178.         height: 50px;
  1179.         line-height: 50px;
  1180.         width: auto;
  1181.     }
  1182.     .navbar-custom-menu .user-menu i {
  1183.         padding-right: 4px;
  1184.     }
  1185.     .main-header .navbar .user-menu .btn {
  1186.         background: rgba(255, 255, 255, 0.1);
  1187.     }
  1188.     .main-header .navbar .user-menu .btn-group:hover .btn {
  1189.         background: rgba(255, 255, 255, 0.2);
  1190.     }
  1191.     .main-sidebar {
  1192.         padding-top: 80px;
  1193.     }
  1194.     .sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span {
  1195.         padding-left: 5px;
  1196.     }
  1197.     {# these table styles are needed to override the "responsive tables" styles #}
  1198.     body.list table {
  1199.         background: {{ colors.white }};
  1200.         border: 1px solid {{ colors.table_border }};
  1201.     }
  1202.     body.list table thead {
  1203.         display: table-header-group;
  1204.     }
  1205.     body.list table thead th {
  1206.         background: {{ colors.table_header }};
  1207.         padding: 0;
  1208.     }
  1209.     body.list table thead th i {
  1210.         color: {{ colors.gray }};
  1211.         padding: 0 3px;
  1212.     }
  1213.     body.list table thead th a,
  1214.     body.list table thead th span {
  1215.         color: {{ colors.text }};
  1216.         display: block;
  1217.         padding: 10px 6px;
  1218.         white-space: nowrap;
  1219.     }
  1220.     body.list table thead th a:hover {
  1221.         background: {{ colors.gray_light }};
  1222.         text-decoration: none;
  1223.     }
  1224.     body.list table thead th.sorted,
  1225.     body.list table thead th.sorted a {
  1226. {% if 'dark' == color_scheme %}
  1227.         background: {{ brand_color }};
  1228.         color: {{ colors.white }};
  1229. {% endif %}
  1230.     }
  1231.     body.list table thead th.sorted a:hover i,
  1232.     body.list table thead th.sorted i {
  1233. {% if 'dark' == color_scheme %}
  1234.         color: {{ colors.white }};
  1235. {% elseif 'light' == color_scheme %}
  1236.         color: {{ brand_color }};
  1237. {% endif %}
  1238.     }
  1239.     body.list th.boolean, body.list td.boolean,
  1240.     body.list th.toggle, body.list td.toggle,
  1241.     body.list td.image {
  1242.         text-align: center;
  1243.     }
  1244.     body.list .table thead tr th {
  1245.         border-bottom: 2px solid {{ colors.gray_light }};
  1246.     }
  1247.     body.list .table thead tr th.sorted {
  1248.         border-bottom: 2px outset {{ brand_color }};
  1249.     }
  1250.     {# these styles are needed to fix some visual glitches when the sort field is the first column #}
  1251.     body.list .table thead tr th:first-child.sorted {
  1252. {% if 'dark' == color_scheme %}
  1253.         border-left: 1px solid {{ brand_color }};
  1254.         border-top: 1px solid {{ brand_color }};
  1255. {% endif %}
  1256.     }
  1257.     body.list .table tbody {
  1258.         border-bottom: 2px double {{ colors.gray_light }};
  1259.     }
  1260.     body.list table tbody tr {
  1261.         border: 0;
  1262.         display: table-row;
  1263.         margin-bottom: 0;
  1264.     }
  1265.     body.list table tbody td {
  1266.         border-bottom: 0;
  1267.         border-top: 1px solid {{ colors.table_row_border }};
  1268.         display: table-cell;
  1269.     }
  1270.     body.list table tbody td:last-child {
  1271.         white-space: nowrap;
  1272.         width: 1%;
  1273.     }
  1274.     table td:before {
  1275.         content: none;
  1276.         float: none;
  1277.     }
  1278.     body.list table tbody td.sorted {
  1279.         background: {{ colors.gray_lighter }};
  1280.         border-color: {{ colors.table_row_border }};
  1281.     }
  1282.     body.list .table tbody tr:hover td {
  1283.         background: {{ colors.gray_lighter }};
  1284.     }
  1285.     body.list table tbody td.actions a {
  1286.         margin-left: 0;
  1287.         margin-right: 10px;
  1288.     }
  1289.     body.list table td { text-align: left; }
  1290.     body.list table .text-center { text-align: center; }
  1291.     body.list table .text-left   { text-align: left; }
  1292.     body.list table .text-right  { text-align: right; }
  1293.     .field-date select + select,
  1294.     .field-time select + select,
  1295.     .field-datetime select + select {
  1296.         margin-left: 2px;
  1297.     }
  1298.     body.error .error-description {
  1299.         max-width: 550px;
  1300.     }
  1301.     .pagination > li > a,
  1302.     .pagination > li > span {
  1303.         padding: 6px 12px;
  1304.     }
  1305.     .form-inline .form-control {
  1306.         margin-bottom: 0;
  1307.     }
  1308.     body.new .form-horizontal #form-actions-row {
  1309.         margin-left: 16.66666667%;
  1310.     }
  1311.     body.edit .form-horizontal #form-actions-row {
  1312.         margin-left: 16.66666667%;
  1313.     }
  1314.     {# Field: checkbox
  1315.        ------------------------------------------------------------------------- #}
  1316.     .form-vertical .field-checkbox label {
  1317.         padding-top: 23px;
  1318.     }
  1319.     .form-vertical .field-group .field-checkbox label {
  1320.         padding-top: 0;
  1321.     }
  1322. }
  1323. {% endautoescape %}