You are here

panels_ipe.css in Panels 8.3

Contains all CSS for the Panels In-Place Editor.

File

panels_ipe/css/panels_ipe.css
View source
  1. /**
  2. * @file
  3. * Contains all CSS for the Panels In-Place Editor.
  4. */
  5. /* Define our icon font, which is generated from the SVGs in /images. */
  6. @font-face {
  7. font-family: PanelsIPEIcon;
  8. src: url(../fonts/ipeicons.woff);
  9. }
  10. .ipe-icon {
  11. display: inline-block;
  12. vertical-align: middle;
  13. font-family: PanelsIPEIcon;
  14. font-size: 24px;
  15. }
  16. .ipe-action-list .ipe-icon {
  17. height: 24px;
  18. margin-top: -10px;
  19. display: block;
  20. }
  21. .ipe-icon.ipe-icon-up:before {
  22. content: "\e900";
  23. }
  24. .ipe-icon.ipe-icon-down:before {
  25. content: "\e901";
  26. }
  27. .ipe-icon.ipe-icon-warning:before {
  28. content: "\e902";
  29. }
  30. .ipe-icon.ipe-icon-change_layout:before {
  31. content: "\e903";
  32. }
  33. .ipe-icon.ipe-icon-edit:before {
  34. content: "\e904";
  35. }
  36. .ipe-icon.ipe-icon-manage_content:before {
  37. content: "\e905";
  38. }
  39. .ipe-icon.ipe-icon-create_content:before {
  40. content: "\e90b";
  41. }
  42. .ipe-icon.ipe-icon-save:before {
  43. content: "\e906";
  44. }
  45. .ipe-icon.ipe-icon-loading:before {
  46. display: inline-block;
  47. content: "\e907";
  48. animation: ipe-spin 1s infinite linear;
  49. }
  50. .ipe-icon.ipe-icon-remove {
  51. /* Normalize font size as the "X" is quite large. */
  52. font-size: 20px;
  53. }
  54. .ipe-icon.ipe-icon-remove:before {
  55. content: "\e90c";
  56. }
  57. .ipe-icon.ipe-icon-configure:before {
  58. content: "\e909";
  59. }
  60. .ipe-icon.ipe-icon-cancel:before {
  61. content: "\e90a";
  62. }
  63. .ipe-icon.ipe-icon-search:before {
  64. content: "\e90d";
  65. }
  66. .ipe-icon.ipe-icon-configure {
  67. font-size: 20px;
  68. }
  69. @keyframes ipe-spin {
  70. from {
  71. transform: rotate(360deg);
  72. }
  73. to {
  74. transform: rotate(0deg);
  75. }
  76. }
  77. /* Fix the output of the AppView to the bottom of the screen. */
  78. #panels-ipe-tray {
  79. position: fixed;
  80. /* One below jQuery.ui dialogs. */
  81. z-index: 100;
  82. width: 100%;
  83. bottom: 0;
  84. left: 0;
  85. text-align: center;
  86. }
  87. /* Force text to render as a sans-serif web-safe font. */
  88. #panels-ipe-tray,
  89. #panels-ipe-tray a,
  90. #panels-ipe-tray p {
  91. font-family: Arial, Helvetica, sans-serif;
  92. margin: 0;
  93. }
  94. /* Remove focus outlines on known elements, if they are otherwise indicated. */
  95. .ipe-tabs-content:focus,
  96. .ipe-tab a:focus,
  97. .ipe-category:focus,
  98. a.ipe-layout:focus,
  99. .ipe-blockpicker-item a:focus,
  100. .ipe-category-picker-bottom:focus {
  101. outline: none;
  102. }
  103. /* Add a box shadow to the IPE tabs. */
  104. .ipe-tabs-content {
  105. box-shadow: 3px -1px 2px 0 rgba(0, 0, 0, 0.3333);
  106. }
  107. /* Remove list styling from the output of the TabsView. */
  108. .ipe-tabs {
  109. list-style: none;
  110. margin: 0;
  111. padding: 0;
  112. }
  113. /* Display tabs inline and slightly on top of .ipe-tabs-content. */
  114. .ipe-tab {
  115. overflow: hidden;
  116. position: relative;
  117. display: inline-block;
  118. vertical-align: bottom;
  119. margin-bottom: -1px;
  120. background-color: white;
  121. border-top: 1px solid darkgray;
  122. box-shadow: 3px -1px 2px 0 rgba(0, 0, 0, 0.3333);
  123. }
  124. html[dir="rtl"] .ipe-tab {
  125. box-shadow: -3px -1px 2px 0 rgba(0, 0, 0, 0.3333);
  126. }
  127. .ipe-tab:first-child {
  128. border-left: 1px solid darkgray;
  129. border-top-left-radius: 5px;
  130. box-shadow: -2px -1px 2px rgba(0, 0, 0, 0.3333);
  131. right: -5px;
  132. }
  133. html[dir="rtl"] .ipe-tab:first-child {
  134. border-left: 0 none;
  135. border-top-left-radius: 0;
  136. border-right: 1px solid darkgray;
  137. border-top-right-radius: 5px;
  138. box-shadow: 2px -1px 2px rgba(0, 0, 0, 0.3333);
  139. right: auto;
  140. left: -5px;
  141. }
  142. .ipe-tab:last-child {
  143. border-right: 1px solid darkgray;
  144. border-top-right-radius: 5px;
  145. box-shadow: 2px -1px 2px rgba(0, 0, 0, 0.3333);
  146. }
  147. html[dir="rtl"] .ipe-tab:last-child {
  148. border-right: 0 none;
  149. border-top-right-radius: 0;
  150. border-left: 1px solid darkgray;
  151. border-top-left-radius: 5px;
  152. box-shadow: -2px -1px 2px rgba(0, 0, 0, 0.3333);
  153. }
  154. .ipe-tab a {
  155. font-size: 13px;
  156. text-transform: capitalize;
  157. color: black;
  158. padding: 10px 15px 12px 5px;
  159. display: block;
  160. vertical-align: top;
  161. border: none;
  162. cursor: pointer;
  163. transition: .2s;
  164. transition-property: color, border-color;
  165. border-bottom: 1px solid darkgray;
  166. }
  167. .ipe-tab.active a,
  168. .ipe-tab a:hover {
  169. padding-bottom: 10px;
  170. color: rgb(67, 125, 33);
  171. border: none;
  172. border-bottom: 3px solid rgb(67, 125, 33);
  173. }
  174. /* Indicate the cancel button. */
  175. [data-tab-id="cancel"] a:hover,
  176. [data-tab-id="cancel"].active a {
  177. color: #7d0000;
  178. border-color: #7d0000;
  179. }
  180. .ipe-tab a::selection {
  181. background: none;
  182. }
  183. /* Provide default styles and a minimum height for tab content. */
  184. .ipe-tab-content {
  185. display: none;
  186. min-height: 100px;
  187. padding: 20px 5px 10px 5px;
  188. background-color: white;
  189. border-top: 1px solid darkgray;
  190. }
  191. .ipe-tab-content.active {
  192. display: block;
  193. }
  194. /* Styles for the Layout selector. */
  195. .ipe-current-layout,
  196. .ipe-all-layouts {
  197. display: inline-block;
  198. }
  199. .layout-wrapper {
  200. display: flex;
  201. justify-content: center;
  202. }
  203. .ipe-current-layout {
  204. vertical-align: top;
  205. padding-right: 10px;
  206. white-space: nowrap;
  207. }
  208. /* Remove
      list styling and make list scrollable. */
    • .ipe-layouts {
    • vertical-align: top;
    • list-style: none;
    • margin: 0;
    • padding: 0;
    • white-space: nowrap;
    • }
    • /* Show layouts as clickable things. */
    • .ipe-layout {
    • cursor: pointer;
    • position: relative;
    • display: inline-block;
    • margin-right: 10px;
    • vertical-align: top;
    • }
    • /* Reset anchor tag styles. */
    • .ipe-layout,
    • .ipe-layout:hover {
    • border: none;
    • }
    • /* Show the layout's label on hover. */
    • .ipe-layout-label {
    • display: block;
    • position: absolute;
    • top: 5px;
    • font-weight: bold;
    • color: white;
    • text-shadow: 0 0 5px black, 1px 1px black;
    • opacity: 0;
    • transition: .2s;
    • }
    • .ipe-layout:hover .ipe-layout-label {
    • opacity: 100;
    • }
    • /* Make sure image icons aren't t0o big */
    • .ipe-layout-image {
    • width: 75px;
    • height: 112px;
    • }
    • /* Style the block/region headers. */
    • div.ipe-actions {
    • display: flex;
    • justify-content: space-between;
    • min-height: 20px;
    • border-radius: 5px 5px 0 0;
    • background-color: rgb(222, 222, 222);
    • padding: 5px;
    • margin-top: 1px;
    • clear: both;
    • }
    • div.ipe-actions-block {
    • background-color: rgb(243, 243, 243);
    • }
    • .ipe-actions ul.ipe-action-list {
    • list-style: none;
    • margin: 0;
    • padding: 0;
    • }
    • .ipe-actions h5,
    • .ipe-actions li {
    • font-family: Arial, Helvetica, sans-serif;
    • font-size: 12px;
    • text-transform: uppercase;
    • font-weight: bold;
    • margin: 0;
    • }
    • .ipe-actions a {
    • color: black;
    • display: block;
    • text-transform: uppercase;
    • border: none;
    • cursor: pointer;
    • transition: .2s;
    • }
    • .ipe-actions a:hover {
    • color: #bebebe;
    • border: none;
    • }
    • .ipe-actions *::selection {
    • background: none;
    • }
    • .ipe-action-list li {
    • display: inline-block;
    • vertical-align: middle;
    • }
    • .ipe-action-list [data-action-id="move"] select {
    • font-size: 14px;
    • margin: 0;
    • background: transparent;
    • border: none;
    • text-transform: uppercase;
    • }
    • .ipe-action-list [data-action-id="move"] option {
    • font-size: 14px;
    • }
    • /* Fix contextual links hovering over action links. */
    • [data-block-id] [data-contextual-id].contextual {
    • /* Top is normally hard-set at 6px, this puts it below the action bar. */
    • top: 35px;
    • }
    • /* Indicate that blocks are draggable */
    • [data-block-id].active {
    • cursor: move;
    • border: 1px dashed transparent;
    • }
    • [data-block-id].active:hover {
    • border: 1px dashed #3c3c3c;
    • }
    • /* Indicate an HTML request if a block is syncing. */
    • [data-block-id].syncing:before {
    • float: left;
    • vertical-align: middle;
    • font-family: PanelsIPEIcon;
    • font-size: 24px;
    • content: "\e907";
    • animation: ipe-spin 1s infinite linear;
    • }
    • /* This is used for highlighting new content on screen. */
    • .ipe-highlight {
    • animation: ipe-blink .4s ease-in-out 2;
    • }
    • @keyframes ipe-blink {
    • from,
    • to {
    • box-shadow: 0 0 0 1px transparent;
    • }
    • 50% {
    • box-shadow: 0 0 0 2px rgba(88, 160, 44, 0.70);
    • }
    • }
    • /* Drag/drop styles for blocks. */
    • .ipe-droppable {
    • display: none;
    • width: 100%;
    • height: 30px;
    • margin: 5px 0 5px;
    • background-color: transparent;
    • border: 1px dashed #3c3c3c;
    • transition: .2s;
    • }
    • .ipe-droppable.active {
    • display: block;
    • }
    • .ipe-droppable.hover {
    • background-color: rgba(88, 160, 44, 0.70);
    • border-color: rgb(67, 125, 33);
    • }
    • /* Style the BlockPicker. */
    • .ipe-category-picker-bottom {
    • overflow-x: scroll;
    • white-space: nowrap;
    • margin: auto;
    • padding: 20px 20px 0 20px;
    • min-height: 70px;
    • }
    • .ipe-category-picker-bottom.top-open {
    • border-top: 1px solid darkgray;
    • }
    • .ipe-category-picker-top {
    • display: none;
    • overflow-y: scroll;
    • }
    • .ipe-category-picker-top.active {
    • display: block;
    • padding: 10px 0 10px 0;
    • max-height: 100%;
    • }
    • .ipe-category-picker-search {
    • border-bottom: 1px solid lightgray;
    • padding-bottom: 5px;
    • }
    • .ipe-category-picker-search input {
    • display: inline-block;
    • width: inherit;
    • margin-left: 5px;
    • }
    • .ipe-category-picker-search input[type="submit"] {
    • display: none;
    • background: white;
    • color: black;
    • border: 1px solid lightgray;
    • border-radius: 5px;
    • padding: 6px;
    • transition: .2s;
    • }
    • #panels-ipe-tray .ipe-category {
    • margin-right: 5px;
    • }
    • .ipe-category {
    • position: relative;
    • color: black;
    • display: inline-block;
    • padding: 10px;
    • text-transform: capitalize;
    • font-size: 15px;
    • border: 1px solid transparent;
    • border-radius: 5px;
    • transition: .2s;
    • cursor: pointer;
    • }
    • .ipe-category h4,
    • .ipe-category h5 {
    • margin: 0;
    • }
    • .ipe-category h4 {
    • font-size: 18px;
    • }
    • .ipe-category p {
    • text-transform: none;
    • font-weight: normal;
    • }
    • .ipe-category:hover,
    • .ipe-category.active {
    • border-color: rgb(67, 125, 33);
    • color: inherit;
    • }
    • /* Indicate an active block category with an arrow. */
    • .ipe-category.active:after {
    • bottom: 100%;
    • left: 50%;
    • border: solid transparent;
    • content: " ";
    • height: 0;
    • width: 0;
    • position: absolute;
    • pointer-events: none;
    • }
    • .ipe-category.active:after {
    • border-color: transparent;
    • border-bottom-color: rgb(67, 125, 33);
    • border-width: 10px;
    • margin-left: -10px;
    • }
    • /* Style the create button a bit differently than other categories. */
    • .ipe-create-category {
    • border: 1px solid lightgray;
    • background: #fbfbfb;
    • }
    • .ipe-create-category:hover {
    • background: white;
    • }
    • .ipe-category-count {
    • color: white;
    • background: black;
    • border-radius: 50%;
    • margin-left: 5px;
    • font-size: 10px;
    • height: 20px;
    • width: 20px;
    • line-height: 20px;
    • display: inline-block;
    • vertical-align: middle;
    • }
    • /* Display block picker elements in a flex grid. */
    • .ipe-block-picker-list .ipe-category-picker-top.active {
    • display: inline-flex;
    • flex-flow: row wrap;
    • justify-content: center;
    • }
    • .ipe-category-picker-top.active.form-displayed {
    • display: block;
    • }
    • .ipe-blockpicker-item {
    • flex-basis: 240px;
    • width: 240px;
    • margin-left: 10px;
    • margin-top: 10px;
    • text-align: left;
    • }
    • .ipe-blockpicker-item-info {
    • font-size: 12px;
    • }
    • .ipe-blockpicker-item h5 {
    • position: relative;
    • bottom: 0;
    • margin: 0;
    • display: inline-block;
    • padding: 10px 20px 10px 10px;
    • font-size: 12px;
    • line-height: 1.5em;
    • font-weight: bold;
    • text-transform: capitalize;
    • }
    • .ipe-blockpicker-item p {
    • font-size: 12px;
    • }
    • .ipe-blockpicker-item a {
    • border: 1px solid #333;
    • background: #fbfbfb;
    • display: flex;
    • flex-direction: column;
    • position: relative;
    • height: 100%;
    • border-radius: 0;
    • padding: 0;
    • transition: .2s;
    • color: inherit;
    • cursor: pointer;
    • }
    • .ipe-blockpicker-item a:after {
    • content: "+";
    • display: inline-block;
    • position: absolute;
    • right: 10px;
    • top: 20%;
    • font-size: 16px;
    • }
    • .ipe-blockpicker-item a:hover {
    • background: white;
    • border-color: rgb(67, 125, 33);
    • color: rgb(67, 125, 33);
    • }
    • .ipe-block-content-type-info p {
    • padding: 0 10px 10px 10px;
    • }
    • /* Theme the category view. */
    • .ipe-category-picker-top > h4 {
    • text-transform: uppercase;
    • display: block;
    • width: 100%;
    • border-bottom: 1px solid darkgray;
    • padding: 5px;
    • margin: 0 0 10px 0;
    • font-size: 18px;
    • }
    • /* Theme the block plugin and layout forms. */
    • .ipe-block-form,
    • .ipe-layout-form {
    • text-align: left;
    • margin: 0 auto;
    • display: inline-block;
    • }
    • .ipe-form label {
    • display: inline-block;
    • text-transform: uppercase;
    • margin-right: 5px;
    • }
    • .ipe-form summary {
    • text-transform: uppercase;
    • background: transparent;
    • }
    • .ipe-form .ipe-icon-loading {
    • text-align: center;
    • width: 100%;
    • }
    • .ipe-form input[type="submit"] {
    • text-transform: uppercase;
    • margin: 0;
    • background: white;
    • color: black;
    • border-radius: 5px;
    • display: inline-block;
    • transition: .2s;
    • }
    • .ipe-form input[type="submit"]:hover {
    • border-color: rgb(67, 125, 33);
    • color: black;
    • background: white;
    • }
    • .ipe-form {
    • max-width: 650px;
    • padding: 5px;
    • }
    • /* Vertical-tabs specific styling. */
    • .ipe-form .vertical-tabs__menu {
    • margin: 0;
    • }
    • .ipe-form .vertical-tabs__menu-item > a {
    • margin: inherit;
    • display: block !important;
    • }
    • .ipe-form .vertical-tabs__menu-item-summary {
    • display: block !important;
    • }
    • /* Styles required to do the card-flip affect. */
    • /* Credit to https://davidwalsh.name/css-flip for the original CSS. */
    • .ipe-block-form .flip-container {
    • perspective: 1000;
    • }
    • /* flip the pane when hovered */
    • .ipe-block-form.flipped .flipper,
    • .ipe-block-form.flipped .flipper {
    • transform: rotateY(180deg);
    • }
    • /* flip speed goes here */
    • .ipe-block-form .flipper {
    • transition: 0.6s;
    • transform-style: preserve-3d;
    • position: relative;
    • }
    • /* hide back of pane during swap */
    • .ipe-block-form .front,
    • .ipe-block-form .back {
    • backface-visibility: hidden;
    • background: white;
    • overflow: hidden;
    • }
    • /* front pane, placed above back */
    • .ipe-block-form .front {
    • z-index: 2;
    • /* for firefox 31 */
    • transform: rotateY(0deg);
    • }
    • /* back, initially hidden pane */
    • .ipe-block-form .back {
    • transform: rotateY(180deg);
    • position: absolute;
    • top: 0;
    • right: 0;
    • }
    • /* Mobile specific styles. */
    • @media screen and (max-width: 40em) {
    • /* Only display the search "button" on mobile. */
    • .ipe-category-picker-search input[type="submit"] {
    • display: inline-block;
    • }
    • /* Hide tab titles on mobile. */
    • .ipe-tab-title {
    • display: none;
    • }
    • /* Increase tab padding on mobile. */
    • .ipe-tab a {
    • padding: 10px 15px 12px 15px;
    • }
    • /* Show block plugins in one column. */
    • .ipe-blockpicker-item {
    • display: block;
    • width: inherit;
    • }
    • /* Increase font size on block plugins. */
    • .ipe-blockpicker-item h5 {
    • font-size: 16px;
    • }
    • /* Put the actions below the block title. */
    • div.ipe-actions {
    • display: block;
    • }
    • /* Put actions to the right of the bar. */
    • .ipe-actions ul.ipe-action-list {
    • text-align: right;
    • }
    • }