/**********************************************
* Colors
**********************************************/
@black: #1F1F1F;
@txtorange: #FF6600;
@txtblue: #2FA2E4;
@white: #FFFFFF;
@txtgreen: #22CC22;
@txtsubgrey: #575757;
@grey: #767676;
@backgroundgreen: #37A419;


// Default background for pages and other controls
@colorbackground: @white;
// Default foreground and border color
@colorforeground: @black;
@colortextselection: @txtgreen;
// Foreground color to single-out items of interest
@coloraccent: @txtorange;
@colorlink: @txtblue;

@colortextboxforeground: @colorforeground;
@colortextboxplaceholder: @txtsubgrey;
@colortextboxbackground: @colorbackground;

@colorheaderbackground: #085078;
@colorsubheaderbackground: #0E81C2;
@colorsubheaderlink: #f8fff3;

@colorfocus: #3388cc;
@colorblocklinkbackground: #e0e0e0;

@paneldarkerbackgroundcolor: @black;
@panelbackgroundcolor: lighten(@paneldarkerbackgroundcolor, 10%);

@panelcontextuallinkcolor: @colorforeground;
@panelcontextuallinkcolorbackground: @colorbackground;

@listboxbordercolor: rgba(0, 0, 0, 0.14902);

@radius: .325em;

// XXX BUG Generate wrong align on firefox smartphone
@headerheight: @smartphone-font-size * 2 + @margin-size;
@headerheight-smartphone: 2 * @headerheight + @margin-size + 1;
@headerheight-tablet: 2 * @headerheight + 2 * @margin-size + 1;

@main-margin-size-desktop: @quadruple-margin-size;
@main-margin-size-smartphone: @margin-size;

@headertitleleftlargemargin: @main-margin-size-desktop + @margin-size * 3;
@headertitleleftsmallmargin: @main-margin-size-smartphone + @main-margin-size-desktop;
@headertitlemiddlewidth: @double-margin-size;
@headertitleleftmiddlemargin: @main-margin-size-desktop;
@headertitlerightsmallmargin: @margin-size * 3 -  @headertitlemiddlewidth;

@headertitlespanleftlargemargin: @double-margin-size + 2;
@headertitlespanleftsmallmargin: @margin-size;
@headertitlespanleftlargepadding: @quadruple-margin-size;
@headertitlespanleftmiddlepadding: @triple-margin-size - 2;
@headertitlespanleftsmallpadding: @double-margin-size;

// XXX desktop: 12em
@panelwidth: @margin-size * 30;
// @panelwidth: 15em;

@smartphone: ~"not screen and (min-width: 45em)";
@tablet: ~"only screen and (min-width: 45em) and (max-width: 85em)";
@desktop: ~"not screen and (max-width: 85em)";


/**********************************************
* Fonts (font-family)
**********************************************/
@sans-serif: 'Open Sans', Helvetica, Arial, sans-serif;
@monospace: "Courier New", Courier, monospace;

/**********************************************
* Shared
**********************************************/
@font-family: @sans-serif;
// Increase font size to prevent IOS auto zooming when focusing input field
@smartphone-font-size: 12pt;
// Reduce font size on tablet/desktop,
// as users want to increase information's density on big screen
@tablet-font-size: 11pt;
@desktop-font-size: 10pt;
@font-weight: 400;

@line-height: 1.5;

@header-font-weight: 700;

@border-size: 1px;
@border-type: solid;
@border-transparency: .3;
@border-color: rgba(0, 0, 0, @border-transparency);
@border: @border-size @border-type @border-color;
@border-radius: @radius;
@box-shadow-transparency: .2;
@box-shadow: inset 0 @border-size 3px rgba(0, 0, 0, @box-shadow-transparency);

// #3388cc = rgba(51, 136, 204, 1)
@focus-border-color: #3388cc;
@focus-border: @border-size @border-type @focus-border-color;
@focus-box-shadow: 0 0 @double-margin-size @focus-border-color;

@invalid-border: @border-size @border-type @coloraccent;
@invalid-box-shadow: 0 0 @double-margin-size @coloraccent;

@quarter-margin-size: 1.5pt;
@half-margin-size: 3pt;
@margin-size: 6pt;
@double-margin-size: 12pt;
@triple-margin-size: 18pt;
@quadruple-margin-size: 24pt;

@transition-timing: .2s ease-out;

@sub-line-margin-size-desktop: @main-margin-size-desktop;
@sub-line-min-width-desktop: 5em;

///////////////////////////////////////////////
// Extend
///////////////////////////////////////////////

.hide_text(@width: 3em) {
  // https://css-tricks.com/forums/topic/hide-text-but-not-the-before-pseudo-class/
  & when (@width > 0) {
    width: @width;
  }
  overflow: hidden;
  text-indent: -9999px;
  white-space: nowrap;
}


























/**********************************************
* http://meyerweb.com/eric/tools/css/reset/ 
*   v2.0 | 20110126
*   License: none (public domain)
**********************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/**********************************************
* Default
**********************************************/

@font-face {
  font-family: 'FontAwesome';
  src: url('font-awesome/font-awesome-webfont.eot');
  src: url('font-awesome/font-awesome-webfont.eot') format('embedded-opentype'), url('font-awesome/font-awesome-webfont.woff2') format('woff2'), url('font-awesome/font-awesome-webfont.woff') format('woff'), url('font-awesome/font-awesome-webfont.ttf') format('truetype'), url('font-awesome/font-awesome-webfont.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

html {
  height: 100%;
  width: 100%;
  display: block;

  background-color: @colorbackground;

  // https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  height: 100%;
  width: 100%;
  display: block;

  color: @colorforeground;

  word-wrap: break-word;
}

body, button, input, textarea, select {
  font-family: @font-family;
  font-size: @smartphone-font-size;
  @media @tablet {
    font-size: @tablet-font-size;
  }
  @media @desktop {
    font-size: @desktop-font-size;
  }
  padding: 0;
  margin: 0;

  font-weight: @font-weight;
  line-height: @line-height;
}

/**********************************************
* Inline elements
**********************************************/

strong {
  font-weight: bold;
}

i, cite, em, var, address, dfn {
  font-style: italic;
}

strong, b {
  font-weight: bold;
}

u, ins {
  text-decoration: underline;
}

s, strike, del {
  text-decoration: line-through;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

small {
  font-size: smaller;
}

tt, code, kbd, samp {
  font-family: @monospace;
}

q {
  display: inline;
  &:before {
    content: open-quote;
  }
  &:after {
    content: close-quote;
  }
  quotes: initial;
}

mark {
  color: @colortextselection;
}

/**********************************************
* Link
**********************************************/
.link(@ccolor) {
  // XXX
  color: @ccolor;

  text-decoration: none;
  // TODO Animate underline by using outline?

  &[href=""] {
    color: @colorforeground;
  }
  &:hover {
    // This make links and button a bit different, and so,
    // it is easier to know which element can open a new tab
    text-decoration: underline;
  }
  &:focus {
    // XXX TODO
    outline-offset: -2px;
    outline: 2px @border-type @colorfocus;
  }
}

a {
  .link(@colorlink);

  @media @desktop {
    // Do not display access key if not physical keyboard
    &[accesskey]:after {
      content: " (" attr(accesskey) ") ";
    }
  }
}

/**********************************************
* Button
**********************************************/

.button() {
  padding: @margin-size;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: @border-radius;
  &::before{
    margin-right: @margin-size;
  }
  &:hover, &:active {
    background-color: @colorblocklinkbackground;
  }
}
.beforeHeaderButton() {
  margin-right: @margin-size;
  text-align: center;
  width: 1em;
}

/**********************************************
* Preformatted
**********************************************/

pre, xmp, plaintext, listing {
  display: block;
  white-space: pre-wrap;
}

/**********************************************
* hr
**********************************************/

hr {
  display: block;
  border-style: inset;
  border-width: @border-size;
  border-color: @coloraccent;
}

/**********************************************
* Text fields
**********************************************/

label {
  display: block;
}

input:not([type=submit]):not([type=file]):not([type=checkbox]):not([type=radio]):not([type=color]), textarea, select {
  width: 100%;

  padding: @half-margin-size;

  background-color: @colortextboxbackground;
  color: @colortextboxforeground;

  border: @border;
  border-radius: @border-radius;

  // BUG: transition is not triggered if there is a default box-shadow
  // probably a chrome bug. Disable for now.
  // box-shadow: @box-shadow;
  transition : border @transition-timing, box-shadow @transition-timing;

  &:active, &:focus {
    outline: none;
  }
  &:focus {
    border: @focus-border;
    box-shadow: @focus-box-shadow;
  }
  &:invalid {
    border: @invalid-border;
    &:focus {
      box-shadow: @invalid-box-shadow;
    }
  }
}

// Force safari to render search input as text
// https://stackoverflow.com/questions/34802552/safari-input-type-search-reset-normalize
input[type="search"] {
    -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

// http://kyusuf.com/post/completely-css-custom-checkbox-radio-buttons-and-select-boxes
select {
  cursor: pointer;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none;
  background-color: @colortextboxbackground;

  padding-right: @quadruple-margin-size;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='50px' height='50px'><polyline fill-opacity='0.5' points='46.139,15.518 25.166,36.49 4.193,15.519'/></svg>") right no-repeat;
  background-position: right @margin-size top 50%;
  background-size: @double-margin-size @double-margin-size;

  &:-moz-focusring {
    // Remove outline in Firefox
    // http://stackoverflow.com/a/18853002
    color: transparent;
    text-shadow: 0 0 0 #000;
  }
}

textarea {
  word-wrap: break-word;
  white-space: pre-wrap;
  // Fix inconsistent Textarea bottom margin in Firefox and Chrome
  // http://stackoverflow.com/a/26904480
  vertical-align: top;

  transition: height @transition-timing;

  // On smartphone, display the textarea small
  // and increase its size when focused
  // This behaviour should not be activated on bigscreen,
  // as it make it unusable (difficult to search text for example)
  @media @smartphone {
    height: 4em;
    &:focus {
      height: 20em;
    }
  }
  @media @tablet, @desktop {
    min-height: 10em;
  }
}

::-webkit-input-placeholder {
   color: @colortextboxplaceholder;
}

:-moz-placeholder { /* Firefox 18- */
   color: @colortextboxplaceholder;  
}

::-moz-placeholder {  /* Firefox 19+ */
   color: @colortextboxplaceholder;  
}

:-ms-input-placeholder {  
   color: @colortextboxplaceholder;  
}

input[type=submit], button {
  &::-moz-focus-inner {
    border : 0px;
    padding: 0px;
  }

  margin: 0;
  padding: 0;
  border: none;
  background:transparent;
  color: @colorforeground;

  &:hover, &:focus {
    outline: none;
  }

/*
  // XXX TODO
  // transition: background-color 0.2s ease-out;
  &:hover, &:focus {
    outline: none;
  }
  &:active {
    // box-shadow: inset 0 0 0 5px darken(@colorblocklinkbackground, 10%);
    background-color: darken(@colorblocklinkbackground, 20%);
  }
*/
  cursor: pointer;
}

/**********************************************
* Media
**********************************************/

img, iframe, video, svg {
  max-width: 100%;
}

svg {
  polyline {
    stroke: @colorforeground;
    fill: none;
  }
  text {
    stroke: @colorforeground;
    fill: @colorforeground;
  }
}

iframe {
  width: 100%;
  height: 20em;
  background-color: @colorbackground;
}

img {
  image-orientation: from-image;
}


.ui-info-error {
  color: red;
}

/**********************************************
* Gadget: panel
**********************************************/
div[data-gadget-scope='panel'] {

  background-color: @panelbackgroundcolor;

  @media @smartphone, @tablet {
    box-shadow: 5px 0 5px rgba(0,0,0,.15);
  }
  color: @white;

  width: @panelwidth;
  min-height: 100%;
  max-height: 100%;
  overflow-y: auto;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  z-index: 2000;

  transition: transform 200ms ease-out;
  transform: translate3d(0, 0, 0);

  @media @smartphone, @tablet {
    left: -@panelwidth - @margin-size;
    &.visible {
      transform: translate3d(@panelwidth + @margin-size, 0, 0);
    }
  }

  div[data-role="header"] {
    display: flex;
    justify-content: flex-start;

    .panel_img {
      text-align: center;
      flex: 1;
      height: @headerheight;
    }
    button, a {

      .hide_text();
      background-color: @panelbackgroundcolor;

      &::before {
        float: left;
        text-indent: 0;
        margin-left: @double-margin-size;
      }

      @media @desktop {
        div[data-role='page']:not(.desktop-panel-hidden) &[data-i18n="Close"] {
          display: none;
        }
      }

      display: block;

      line-height: @headerheight;
      color: @white;
    }
  }

  div[data-gadget-scope='erp5_searchfield'] {
    padding: @half-margin-size @double-margin-size;
    button {
      color: @white;
    }
    input[type="search"] {
      color: @white !important;
      background-color: @grey !important;
    }
  }

  img {
    text-align: left;
    height: 100%;
  }

  div[data-gadget-scope="erp5_checkbox"] {
    padding: @half-margin-size;
    padding-left: @double-margin-size;

    label, span, input {
      cursor: pointer;
    }

    span {
      width: @quadruple-margin-size;
      display: inline-block;
    }
  }

  .alignwithicon() {
    padding: @quarter-margin-size;
    padding-left: @double-margin-size;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;

    &::before {
      // Use width instead of padding-right
      // To keep text aligned
      width: @quadruple-margin-size;
    }
  }

  .alignwithouticon() {
    .alignwithicon();
    padding-left: @double-margin-size + @quadruple-margin-size;
  }

  .linkpanel(@linkpanelhovercolor: @white, @linkpanelhoverbackgroundcolor: @paneldarkerbackgroundcolor) {
    color: @white;
    display: block;
    // Define .active before :hover to ensure it hover is displayed
    // for the .active entry
    &.active {
      color: @panelcontextuallinkcolor;
      background-color: @panelcontextuallinkcolorbackground;
    }
    &:hover, &:active {
      color: @linkpanelhovercolor;
      background-color: @linkpanelhoverbackgroundcolor;
    }
  }

  ul {
    &:first-child {
      margin-top: @headerheight;
    }
    li {
      a {
        .linkpanel();
        .alignwithicon();
      }
    }
  }

  dl {
    background-color: @grey;
    color: @black;

    // Animate when content is added
    transform-origin: 50% 0;
    transform: scaleY(0);
    &:not(:empty) {
      transform: scaleY(1);
    }
    transition: transform @transition-timing;

    dt {
      .alignwithicon();
      text-transform: uppercase;
    }

    dd {
        a {
          .linkpanel(@panelcontextuallinkcolor, @panelcontextuallinkcolorbackground);
          .alignwithouticon();
        }
    }
  }

}

/**********************************************
* Gadget: editor panel
**********************************************/

div[data-gadget-scope='editor_panel'] {

  background-color: @colorbackground;

  width: @panelwidth;
  min-height: 100%;
  max-height: 100%;
  overflow-y: auto;
  position: fixed;
  top: 0;
  display: block;
  z-index: 3000;

  @media @desktop {
    left: -@panelwidth - @margin-size;
    transition: transform 200ms ease-out;
    transform: translate3d(0, 0, 0);
    &.visible {
      transform: translate3d(@panelwidth + @margin-size, 0, 0);
    }
    box-shadow: 5px 0 5px rgba(0,0,0,.15);
  }
  @media @smartphone, @tablet {
    right: -@panelwidth - @margin-size;
    transition: transform 200ms ease-out;
    transform: translate3d(0, 0, 0);
    &.visible {
      transform: translate3d(-@panelwidth - @margin-size, 0, 0);
    }
    box-shadow: -5px 0 5px rgba(0,0,0,.15);
  }



  div[data-role="header"] {

    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;

    h1 {
      text-align: left;
      line-height: @headerheight;
      max-height: @headerheight;
    }

    button, a {

      .hide_text();

      &::before {
        float: left;
        text-indent: 0;
        margin-left: @double-margin-size;
      }

      display: block;

      line-height: @headerheight;
    }
  }

  section {
    padding: @double-margin-size;

    fieldset {
      & > div {
        display: inline-block;
      }
      label {
        display: inline-block;
        text-align: center;
        // font-size: 0.8em;
      }
      input[type="radio"] {
        display: inline-block;
      }
    }

    .filter_item_container, .sort_item_container, .column_item_container {
      & > div {
        display: flex;
        align-items: flex-start;
        padding: @margin-size 0;

        .filter_item, .sort_item, .column_item {
          flex: 1;
        }
      }
    }

    button {

      // Copy pasted from listbox buttons
      padding: @half-margin-size @margin-size;
      border: 1px solid rgba(0, 0, 0, 0.14);
      border-radius: @radius;

      margin-right: @margin-size;
      &:last-of-type {
        margin-right: 0;
      }

      .hide_text(@width: 2em);

      &::before {
        margin-right: @margin-size;

        float: left;
        text-indent: 0;
      }

      &.trash {
        float: right;
      }

    }
  }

}


/**********************************************
* Gadget: header
**********************************************/
.renderDesktopSubLink() {
  div[data-role='page']:not(.desktop-panel-hidden) & {
    padding-left: @sub-line-margin-size-desktop;
    padding-right: @sub-line-margin-size-desktop;
    min-width: @sub-line-min-width-desktop;
  }
}

.renderTabletSubLink() {
  padding-top: @half-margin-size;
  padding-bottom: @half-margin-size;
  line-height: inherit;
  white-space: nowrap;
  overflow: hidden;
  &::before {
    font-size: 1.2em;
    display: block;
  }
}

.renderTabletSubListElement() {
  flex: 1;
  // XXX TODO Hardcoded color
  border-left: 1px solid rgba(0, 0, 0, 0.55);
  &:first-child {
    border-left: none;
  }

  a {
    display: block;
  }
}

.renderTabletNotALinkTitle() {
  padding-left: @headertitlespanleftmiddlepadding;
  &::before {
    margin-right:@headertitlespanleftlargemargin;
  }
}

.renderTabletHeaderButton() {
  // https://css-tricks.com/forums/topic/hide-text-but-not-the-before-pseudo-class/
  // Default size
  background-color: @colorheaderbackground;
  width: 8em;
}

div[data-gadget-scope='header'] .ui-header {
  position: fixed;
  z-index: 1000;
  text-align: center;

  display: flex;
  flex-flow: row wrap;
  // Prevent the header to have a width higher than the screen
  width: 100%;

  @media @desktop {
    transition: transform 200ms ease-out;
    transform: translate3d(@panelwidth, 0, 0);
  }

  color: @white;
  background-color: @colorsubheaderbackground;

  button, a {
    color: @white;
    transition: background-color @transition-timing;
    &:hover, &:active {
      background-color: lighten(@colorheaderbackground, 20%);
    }
  }

  .ui-controlgroup-controls {
    // Left, right button next to the page title

    button, a {
      display: block;

      @media @desktop {
        background-color: @colorsubheaderbackground;
      }
      @media @smartphone {
        background-color: @colorheaderbackground;
        .hide_text();
      }

      transition: background-color @transition-timing;
      &:hover, &:active {
        background-color: lighten(@colorheaderbackground, 20%);
      }

      line-height: @headerheight;

      @media @tablet {
        .renderTabletHeaderButton();
      }

      &::before {
        @media @tablet, @desktop {
          .beforeHeaderButton()
        }

        @media @smartphone {
          float: left;
          text-indent: 0;
          margin-left: @double-margin-size;
        }
      }

      div[data-role='page']:not(.desktop-panel-hidden) &[name="panel"] {
        @media @desktop {
          display: none;
        }
      }

    }
  }

  // XXX TODO: restore border to separate title from button/links
  & > .ui-btn-left {
    button, a {
      border-right: 1px solid rgba(255, 255, 255, 0.55);
    }
  }

  & > .ui-btn-right {
    button, a {
      // background-color: #F60;
      @media @smartphone, @tablet {
        border-left: 1px solid rgba(255, 255, 255, 0.55);
      }
      @media @desktop {
        .renderDesktopSubLink();
      }
      &.ui-icon-warning {
        background-color: @coloraccent;
      }
    }
  }

  h1 {
    text-align: left;
    line-height: @headerheight;
    flex: 1;
    @media @desktop {
      div[data-role='page']:not(.desktop-panel-hidden) & {
        flex: 1 100%;
      }
    }

    background-color: @colorheaderbackground;

    // Restore border?
    // border-left: 1px solid rgba(255, 255, 255, 0.55);
    // border-right: 1px solid rgba(255, 255, 255, 0.55);

    // Do not put title on multi line in case of small screen
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    // Title which is not a link
    & > span {
      padding-left: @headertitlespanleftlargepadding;
      &::before {
        width:1em;
        margin-right:@headertitlespanleftsmallmargin;
      }

      @media @tablet {
        .renderTabletNotALinkTitle();
      }

      @media @smartphone {
        padding-left: @headertitlespanleftsmallpadding;
        &::before {
          margin-right:@headertitlespanleftsmallmargin;
        }
      }
    }
    // Clickable title and button
    form {
      height: 100%;
      button {
        text-align: left;
        height: 100%;
        width: 100%;  
      }
    }
    a, button {
      display: block;

      // Do not put link on multi line in case of small screen
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;

      &::before {
        display: inline-block;
        @media @tablet, @smartphone {
          text-align: center;
        }

        @media @desktop {
          div[data-role='page']:not(.desktop-panel-hidden) & {
            width: @headertitlemiddlewidth;
            margin-left: @headertitleleftmiddlemargin;
            margin-right: @headertitlerightsmallmargin;
          }
        }
        width: @headertitleleftlargemargin;
        @media @smartphone {
          width: @headertitleleftsmallmargin;
        }

      }

    }
  }


  .ui-subheader {
    @media @desktop {
      text-align: left;
      flex: 1;
    }

    @media @smartphone, @tablet {
      flex: 1 100%;
    }

  }

  ul {
    display: flex;

    li {
      @media @tablet, @smartphone {
        .renderTabletSubListElement();
      }

      @media @tablet {
        a {
          .renderTabletSubLink();
        }
      }

      @media @smartphone {
        a {
          text-align: center;
          vertical-align: middle;
          font-size: 1.5em;
          padding-top: @margin-size;
          padding-bottom: @margin-size;
          .hide_text(@width: false);
          &::before {
            float: left;
            text-indent: 0;
            width: 100%;
          }
        }
      }

      @media @desktop {
        a {
          display: block;
          .renderDesktopSubLink();
          line-height: @headerheight;

          white-space: nowrap;
          overflow: hidden;
          &::before {
            .beforeHeaderButton()
          }
        }
      }
    }
  }
}
/**********************************************
* Gadget: main
**********************************************/
.renderPageSubmitButton(@backgroundcolor) {
  padding: @margin-size;
  margin-top: @headerheight;
  margin-right: @double-margin-size;

  background-color: @backgroundcolor;
  color: @white;

  border-radius: @radius;
  border-width: 1px;
  border-style: solid;

  min-width: 8em;

  &:hover, &:focus {
    background-color: lighten(@backgroundcolor, 10%);
  }
  &:active {
    background-color: lighten(@backgroundcolor, 20%);
  }
}

.gadget-content {
  div[data-gadget-scope='m'] {
    animation: fadein @transition-timing;
  }

  // Dialog page template main submit button 
  input[type='submit'] {
    .renderPageSubmitButton(@coloraccent);
  }
  // Dialog page template update button 
  button[name='action_update'] {
    .renderPageSubmitButton(@grey);
  }

  @media @desktop {
    div[data-role='page']:not(.desktop-panel-hidden) & {
      // Keep the panel always visible
      margin-left: @panelwidth;
    }
  }

  // Top padding
  padding: @main-margin-size-desktop;
  // XXX TODO: replace em by pt, to have exact position
  padding-top: 2 * @headerheight + @margin-size;
  @media @tablet {
    padding-top: 7em;
  }
  @media @smartphone {
    padding: @main-margin-size-smartphone;
    padding-top: 6em;
  }

  // Set the size and padding of each field inside a form
  .field_container > div > div > div.ui-field-contain {
    padding: @half-margin-size 0;

    div {
      width: 100%;
    }
  }

  .field_container > div > div.horizontal_align_form_box {
    // Class .horizontal_align_form_box is here only for backward-compatibility!
    // It is used to force horizontal rendering of fields inside FormBox.
    // we need to overwrite the padding above this statement
    & > .ui-field-contain {
      // makes field to high
      padding: 0;

      & > label {
        padding-top: @margin-size + @half-margin-size;
      }
    }

    .field_container > div {
      // matches form-group ("left", "right" ...)
      display: flex;

      & > div {
        flex: 1;
      }
    }
  }

  .ui-content-header-plain {
    font-size: 150%;
  }
  .worklist-empty {
    max-width: 442px; /* original size of the embedded image */
    width: 100%; /* smaller screens than 442px will show full-width box */
    margin: auto; /* center with known width */
    text-align: center;
    h2 {
      font-size: 300%; /* copy behaviour of previously used .first-loader */
      margin-bottom: 0.5em;
    }
    img {
      width: 100%; /* height will be computed automatically and proportionally */
    }
  }
  ul.document-listview {
    &:not(:last-of-type) {
      margin-bottom: @double-margin-size;
    }
    &:first-child {
      margin-top: @margin-size;
    }

    li {
      border-color: rgba(0, 0, 0, 0.3);
      border-width: 1px;
      border-style: solid;
      border-bottom-style: none;
      box-shadow: 0 1px 3px rgba(0,0,0,.15);
  
      &:not(.ui-li-has-count) {
        a {
          &:after {
            font-family: FontAwesome;
            content: "\f0da";
            text-align: right;
            float: right;
            position: absolute;
            right: @double-margin-size;
          }
        }
      }

      a {
        display: block;
        position: relative;
        padding: @margin-size @double-margin-size;
        padding-right: @quadruple-margin-size;

        color: #222222;

        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;

        &:hover, &:active {
          background-color: @colorblocklinkbackground;
        }
      }
      &:first-child {
        border-top-left-radius: @radius;
        border-top-right-radius: @radius;
      }
      &:last-child {
        border-bottom-left-radius: @radius;
        border-bottom-right-radius: @radius;
        border-bottom-style: solid;
      }

      .ui-li-count {
        float: right;
        padding: 0 @margin-size;
        border: 1px solid rgba(0, 0, 0, 0.14);
        border-radius: @radius;
        position: absolute;
        right: @margin-size;
      }

    }
  }

  @media @tablet, @desktop {
    .left, .right {
      vertical-align: top;
      display: inline-block;
      width: 50%;
    }
    .right {
      // Put padding only in .right, to keep .center aligned with .left
      padding-left: @quadruple-margin-size;
    }
  }

  //Label
  .ui-field-contain {
    & > label {
      color: @grey;

    }
  }
  //Label styling in required and "invisible" field
  .required > .ui-field-contain > label {
    // backward-compatibility: support for ERP5 field class defined in formulator configuration
    // inform user that the field is needed by contraint, but do not prevent him to save the value
    font-weight: bold;
  }
  .invisible > .ui-field-contain > label {
    // used to hide the label of a formbox
    display: none;
  }


  @media @tablet, @desktop {
    .ui-field-contain {
      display: flex;
      & > label {
        flex: 1;
      }
      & > label + div {
        flex: 3;
      }
    }
  }
  @media @tablet, @desktop {
    // Align field on the left group's field
    .center {
      .ui-field-contain {
        & > label + div {
          flex: 7;
        }
      }
    }
  }

  // Increase the size of the editors when placed
  // in the bottom group
  .bottom {
    iframe {
      height: 80vh;
    }
    div[data-gadget-url$="gadget_erp5_field_listbox.html"] {
      iframe {
        height: 30vh;
      }
    }
  }

/*
  @media @smartphone {
    .ui-field-contain {
      // padding: 0.8em 0;
      // make sure there is a bottom border
      // XXX TODO: border should be visible only if not input
      // XXX How to not show it on last field?
      border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    }
  }
*/

  form .ui-field-contain {
    // relative for displaying popups with errors
    position: relative;

    & > span {
      animation: fadein @transition-timing;

      @media @desktop, @tablet {
        background-color: @coloraccent;
        color: @colorsubheaderlink;
        left: 25%;
        position: absolute;
        bottom: 110%;
        white-space: pre;
        padding: @margin-size;
        border-radius: @border-radius;
        width: auto;
        z-index: 1001;

        &:before {
          position: absolute;
          top: 100%;
          left: 2em;
          display: inline-block;
          border-right: @margin-size solid transparent;
          border-top: @margin-size solid @coloraccent;
          border-left: @margin-size solid transparent;
          content: '';
        }
      }
      @media @smartphone {
        margin-left: @margin-size;
        color: @coloraccent;
      }
    }
  }
}

/**********************************************
* Gadget: HTML5 input field
**********************************************/
.gadget-content .ui-field-contain {
  .ui-input-has-appendinx,
  .ui-input-has-prependinx {
    display: flex;
    i {
      display: block;
      padding: 3pt;
      color: #777777;
      font-weight: 400;
    }
  }
}
/**********************************************
* Gadget: relation field
**********************************************/
.relation-input {
  display: flex;
  a, button {
      .hide_text(@width: @quadruple-margin-size);

      &::before {
        float: left;
        text-indent: 0;
        margin-left: @margin-size;
      }

      display: block;

      padding-top: @half-margin-size;
      padding-bottom: @half-margin-size;
  }

  div {
    position: relative;
  }
  ul {
    position: absolute;
    display: block;
    width: 100%;
    z-index: 501;
    li {
      cursor: pointer;

      background-color: @panelbackgroundcolor;

      color: @white;
      padding: @half-margin-size;
      padding-left: @margin-size;
      display: block;
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap; 

      &::before {
        padding-right: @margin-size;
      }
      // No transition, as it doesn't feel right
      // transition: background-color @transition-timing;
      &:hover, &:active {
        background-color: @paneldarkerbackgroundcolor;
      }

    }
  }
  .ui-icon-warning {
    color: @coloraccent;
    // Link is disabled in this case
    opacity: 1;
  }
}

/**********************************************
* Gadget: datetime field
**********************************************/
.datetimefield {
  display: flex;
  div[data-gadget-scope=INPUT] {
    flex: 2;
  }
  div[data-gadget-scope=SELECT] {
    flex: 1;
  }
}

/**********************************************
* Gadget: float/integer field
**********************************************/
.floatfield, .integerfield {
  p, input {
    text-align: right;
    // Do not render float/integer on multiline
    // as it make them unreadable
    white-space: nowrap;
  }
}

/**********************************************
* Listbox
**********************************************/
div[data-gadget-scope='erp5_searchfield'] {
  padding-top: @margin-size;

  .ui-input-text {
    display: flex;
    div[data-gadget-scope='input'] {
      width: 100%;
    }
  }
  button {
    padding: @half-margin-size;
  }
  div.search_parsed_value {
    display: flex;
    flex-direction: row;
    button {
      // padding: @half-margin-size;
      border: 1px solid rgba(0, 0, 0, 0.14);
      border-radius: @radius;

      margin-right: @margin-size;
      max-width: 6em;
      // Do not put title on multi line in case of small screen
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      -o-text-overflow: ellipsis;
      -ms-text-overflow: ellipsis;
    }
  }
}

.document_table {

  .ui-table-header {
    display: flex;
    padding-top: @half-margin-size;
    padding-bottom: @half-margin-size;
    @media @smartphone {
      border-bottom: 2px solid @colorheaderbackground;
    }

    h1 {
      // XXX TODO Same color than label
      color: @grey;
      flex: 2;
      align-self: flex-end;

      // Hide the pagination info next to the listbox title
      @media @smartphone {
        span.listboxloader {
          display: none;
          &.ui-icon-spinner {
            // Show the loader
            display: initial;
          }
        }
      }
    }

    button {
      padding: @half-margin-size;
      border: 1px solid rgba(0, 0, 0, 0.14);
      border-radius: @radius;

      margin-right: @margin-size;
      &:last-of-type {
        margin-right: 0;
      }

      @media @smartphone {
        .hide_text(@width: 2em);
      }

      &::before {
        margin-right: @margin-size;

        @media @smartphone {
          float: left;
          text-indent: 0;
        }
      }
    }
  }

  table {
    width: 100%;
    text-align: left;

    th, td {
      // line-height: 1.5em;
      vertical-align: middle;
      padding: @half-margin-size;
    }

    thead, tfoot {
      background-color: @colorheaderbackground;
      color: @white;

      a {
        color: @white;
        text-decoration: underline;
      }

      // XXX Same than cells
      tr { th {
        padding: @margin-size @half-margin-size;
      }}

      // text-align: center;

      @media @smartphone {
        display: none;
      }
    }

    a {
      color: @colorforeground;
    }

    tbody {
      animation: fadein @transition-timing;

      tr {
        &:nth-child(even) {
          background-color: darken(@colorbackground, 5%);
        }
        &:hover, &:active {
          background-color: @colorblocklinkbackground
        }
      }

      @media @desktop, @tablet {
        td:not(:last-child) {
          border-right: 1px solid @listboxbordercolor;
        }
      }

      @media @smartphone {
        tr {
          // each row becomes a table, now block
          display: block;
          overflow: hidden;
          width: 100%;
          position: relative;
          // Only 2 visible lines are visible
          height: 4em;
          line-height: 2em;

          td, th {
            * {
              // Disable all block (div, p, ...)
              display: inline;
            }

            &:first-child {
              // first cell must be locked
              display: inline-block;
              width: 100%;

              a, label {
                // stretch first link/label to full width (positioned relative to <tr>)
                position: absolute;
                width: 100%;
                top: 0;
                bottom: 0;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                // Reduce the gap between the first and second visible lines
                padding-top: @margin-size;
              }

              // In link mode, lines will display a icon on the right
              // So that user knows he can goes to the document line
              a:after {
                // XXX copy/pasted
                font-family: FontAwesome;
                content: "\f0da";
                font-size: 1.25em;
                position: absolute;
                right: @margin-size;
                top: 50%;
                margin-top: -0.75em;

                border-radius: 0.5em;
                width: 1em;
                text-align: center;
                line-height: 1em;
              }

              ~ th, ~ td {
                // set line height on cells after first row
                // First column must be more visible
                font-size: 0.8em;
                // Cells must be next to the other and correctly aligned
                display: inline;
                word-break: break-word;

                a, label {
                  pointer-events: none;
                  // Add contrast with the first column content
                  color: @grey;
                }

                &:not(:last-child) {
                  a, label {
                    &:not(:empty):after {
                      // add tide
                      content: " ~ ";
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  nav {
    display: flex;
    padding-top: @margin-size;
    border-top: 2px solid @listboxbordercolor;

    span {
      opacity: .3;
      flex: 2;
      text-align: right;
      float: right;
    }
    a {
      .button();

      margin-right: @margin-size;
      &:last-of-type {
        margin-right: 0;
      }

      &:hover, &:active {
        background-color: @colorblocklinkbackground;
      }

      @media @smartphone {
        .hide_text(@width: initial);
      }

      &::before {

        @media @smartphone {
          float: left;
          text-indent: @margin-size;
        }
      }
    }
  }


  tbody {
    tr {
      td {
        // In select mode, hide the listbox line checkbox.
        // Instead, display an icon before the first label
        // (it is only to make the checkbox rendering nicer)
        &:first-child {
          input.hide_element[type="checkbox"] {
            display: none;
            & + label::before {
                width: 1em;
                display: inline-block;
                font-weight: bold;
                content: '☐';
                color: @border-color;
                margin-right: @margin-size;
              }
            &:checked + label {
              // font-weight: bold;
              &::before {
                color: @colortextboxforeground;
                content: '☒';
              }
            }
          }
        }
        label {
          // Show a pointer on top of label so that user knows he can click
          // to change the checkbox
          cursor: pointer;
        }
      }
    }
  }

}

/**********************************************
* Notification
**********************************************/
div[data-gadget-scope='notification'] {
  position: fixed;
  z-index: 99999;
  bottom: @double-margin-size;

  right: -@panelwidth - @double-margin-size;
  transition: transform 200ms ease-out;
  transform: translate3d(0, 0, 0);
  &.visible {
    transform: translate3d(-@panelwidth - @double-margin-size - @main-margin-size-desktop, 0, 0);
    .error {
      animation: pulseerrormobile 1s ease-in infinite;
      @media @desktop {
        animation: pulseerrordesktop 1s ease-in infinite;
      }
    }
    @media @smartphone {
      transform: translate3d(-@panelwidth - @double-margin-size - @main-margin-size-smartphone, 0, 0);
    }
  }

  button {
    text-align: left;
    width: @panelwidth;
    padding: @double-margin-size;
    color: @colorsubheaderlink;
    border-radius: @border-radius;
    &.success {
      background-color: @backgroundgreen;
    }
    &.error {
      background-color: @coloraccent;
    }
  }
}

@keyframes pulseerrormobile {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 102, 0, 0.6);
  }
  100% {
    box-shadow: 0 0 0 @double-margin-size rgba(255, 102, 0, 0);
  }
}
@keyframes pulseerrordesktop {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 102, 0, 0.6);
  }
  100% {
    box-shadow: 0 0 0 100pt rgba(255, 102, 0, 0);
  }
}

/**********************************************
* JQM
**********************************************/
.ui-disabled {
  opacity: .3;
  cursor: default;
  pointer-events: none;
}

.ui-screen-hidden {
  display: none;
}

/**********************************************
* First loader
**********************************************/
.first-loader {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 300%;
  animation-name: fadein;
  animation-duration: .2s;
  animation-delay: .3s;
  animation-fill-mode: both;
  animation-timing-function: ease-in;
}

/**********************************************
* Keyframes
**********************************************/
@keyframes spin {
    from {transform:rotate(0deg);}
    to {transform:rotate(360deg);}
}

@keyframes fadein {
    from {opacity:0;}
    to {opacity:1;}
}
/**********************************************
* Desktop Panel Hidden
**********************************************/
@media @desktop {
  .desktop-panel-hidden {
    div[data-gadget-scope="header"] .ui-header {
  
      margin-left: 0;
      transform: translate3d(0, 0, 0);

      h1 {
        & > span {
          .renderTabletNotALinkTitle();
        }
        a, button {
          &::before {
            text-align: center;
          }
        }
      }

      & > .ui-btn-right {
        button, a {
          border-left: 1px solid rgba(255, 255, 255, 0.55);
        }
      }

      .ui-controlgroup-controls {
        button, a {
          .renderTabletHeaderButton();
          &.ui-icon-warning {
            background-color: @coloraccent;
          }
        }
      }

      .ui-subheader {
        flex: 1 100%;
        text-align: center;
      }

      ul > li {
        .renderTabletSubListElement();
        a {
          .renderTabletSubLink();
        }
      }
    }
    .gadget-content {
      padding-top: 7em;
    }
    div[data-gadget-scope='panel'] {
      transform: translate3d(-@panelwidth - @margin-size, 0, 0);
      &.visible {
        transform: translate3d(0, 0, 0);
      }
    }
  }
}
/**********************************************
* Maximize
**********************************************/

div[data-gadget-scope='maximize'] button {
  .button();
}

.editor-maximize div[data-gadget-scope='editor'] {
  position: fixed;
  z-index: 1500;
  left: 0;
  top: @headerheight;
  width: 100vw;
  height: ~"calc(100vh - "@headerheight~")";
  iframe {
    height: 100%;
  }
}

/**********************************************
* Front page
**********************************************/
div[data-gadget-url$="gadget_erp5_page_front.html"] {
  > ul {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;

    > li {
      flex-shrink: 1;
      @media @smartphone {
        flex-basis: 100%;
        margin-bottom: @margin-size;
      }
      @media @tablet, @desktop {
        margin-right: @quadruple-margin-size;
        margin-bottom: @quadruple-margin-size;
        flex-basis: 20em;
      }

      vertical-align: top;
      padding: @half-margin-size;
      border: @border;
      border-radius: @border-radius;
      box-shadow: 2px 2px 2px rgba(0,0,0,.15);
      h2 {
        font-weight: @header-font-weight;
        background: @colorheaderbackground;
        color: @white;
        padding: @margin-size;
      }
      li {
        padding: @half-margin-size @margin-size;
      }
    }
  }
}

/**********************************************
* Icons
**********************************************/
.ui-btn-icon-top, .ui-btn-icon-left, .ui-btn-icon-right, .ui-icon, .ui-btn-icon-notext {
  &::before {
    font-family: FontAwesome;
    display: inline-block;
    content: "";
  }
}

.ui-icon-spinner {
  // Don't fade spinner
  opacity: 1;
  &::before {
    content: "\f110";
    animation: spin .5s infinite linear;
  }
}


/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.ui-icon-glass::before {
  content: "\f000";
}
.ui-icon-music::before {
  content: "\f001";
}
.ui-icon-search::before {
  content: "\f002";
}
.ui-icon-envelope-o::before {
  content: "\f003";
}
.ui-icon-heart::before {
  content: "\f004";
}
.ui-icon-star::before {
  content: "\f005";
}
.ui-icon-star-o::before {
  content: "\f006";
}
.ui-icon-user::before {
  content: "\f007";
}
.ui-icon-film::before {
  content: "\f008";
}
.ui-icon-th-large::before {
  content: "\f009";
}
.ui-icon-th::before {
  content: "\f00a";
}
.ui-icon-th-list::before {
  content: "\f00b";
}
.ui-icon-check::before {
  content: "\f00c";
}
.ui-icon-times::before,
.ui-icon-delete::before {
  content: "\f00d";
}
.ui-icon-search-plus::before {
  content: "\f00e";
}
.ui-icon-search-minus::before {
  content: "\f010";
}
.ui-icon-power-off::before {
  content: "\f011";
}
.ui-icon-signal::before {
  content: "\f012";
}
.ui-icon-gear::before,
.ui-icon-cog::before {
  content: "\f013";
}
.ui-icon-trash-o::before {
  content: "\f014";
}
.ui-icon-home::before {
  content: "\f015";
}
.ui-icon-file-o::before {
  content: "\f016";
}
.ui-icon-clock-o::before {
  content: "\f017";
}
.ui-icon-road::before {
  content: "\f018";
}
.ui-icon-download::before {
  content: "\f019";
}
.ui-icon-arrow-circle-o-down::before {
  content: "\f01a";
}
.ui-icon-arrow-circle-o-up::before {
  content: "\f01b";
}
.ui-icon-inbox::before {
  content: "\f01c";
}
.ui-icon-play-circle-o::before {
  content: "\f01d";
}
.ui-icon-rotate-right::before,
.ui-icon-repeat::before {
  content: "\f01e";
}
.ui-icon-refresh::before {
  content: "\f021";
}
.ui-icon-list-alt::before {
  content: "\f022";
}
.ui-icon-lock::before {
  content: "\f023";
}
.ui-icon-flag::before {
  content: "\f024";
}
.ui-icon-headphones::before {
  content: "\f025";
}
.ui-icon-volume-off::before {
  content: "\f026";
}
.ui-icon-volume-down::before {
  content: "\f027";
}
.ui-icon-volume-up::before {
  content: "\f028";
}
.ui-icon-qrcode::before {
  content: "\f029";
}
.ui-icon-barcode::before {
  content: "\f02a";
}
.ui-icon-tag::before {
  content: "\f02b";
}
.ui-icon-tags::before {
  content: "\f02c";
}
.ui-icon-book::before {
  content: "\f02d";
}
.ui-icon-bookmark::before {
  content: "\f02e";
}
.ui-icon-print::before {
  content: "\f02f";
}
.ui-icon-camera::before {
  content: "\f030";
}
.ui-icon-font::before {
  content: "\f031";
}
.ui-icon-bold::before {
  content: "\f032";
}
.ui-icon-italic::before {
  content: "\f033";
}
.ui-icon-text-height::before {
  content: "\f034";
}
.ui-icon-text-width::before {
  content: "\f035";
}
.ui-icon-align-left::before {
  content: "\f036";
}
.ui-icon-align-center::before {
  content: "\f037";
}
.ui-icon-align-right::before {
  content: "\f038";
}
.ui-icon-align-justify::before {
  content: "\f039";
}
.ui-icon-list::before {
  content: "\f03a";
}
.ui-icon-dedent::before,
.ui-icon-outdent::before {
  content: "\f03b";
}
.ui-icon-indent::before {
  content: "\f03c";
}
.ui-icon-video-camera::before {
  content: "\f03d";
}
.ui-icon-photo::before,
.ui-icon-image::before,
.ui-icon-picture-o::before {
  content: "\f03e";
}
.ui-icon-pencil::before {
  content: "\f040";
}
.ui-icon-map-marker::before {
  content: "\f041";
}
.ui-icon-adjust::before {
  content: "\f042";
}
.ui-icon-tint::before {
  content: "\f043";
}
.ui-icon-edit::before,
.ui-icon-pencil-square-o::before {
  content: "\f044";
}
.ui-icon-share-square-o::before {
  content: "\f045";
}
.ui-icon-check-square-o::before,
.ui-icon-checkbox-on::before,
.ui-checkbox-on::before {
  content: "\f046";
}
.ui-icon-arrows::before {
  content: "\f047";
}
.ui-icon-step-backward::before {
  content: "\f048";
}
.ui-icon-fast-backward::before {
  content: "\f049";
}
.ui-icon-backward::before {
  content: "\f04a";
}
.ui-icon-play::before {
  content: "\f04b";
}
.ui-icon-pause::before {
  content: "\f04c";
}
.ui-icon-stop::before {
  content: "\f04d";
}
.ui-icon-forward::before {
  content: "\f04e";
}
.ui-icon-fast-forward::before {
  content: "\f050";
}
.ui-icon-step-forward::before {
  content: "\f051";
}
.ui-icon-eject::before {
  content: "\f052";
}
.ui-icon-chevron-left::before {
  content: "\f053";
}
.ui-icon-chevron-right::before {
  content: "\f054";
}
.ui-icon-plus-circle::before {
  content: "\f055";
}
.ui-icon-minus-circle::before {
  content: "\f056";
}
.ui-icon-times-circle::before {
  content: "\f057";
}
.ui-icon-check-circle::before {
  content: "\f058";
}
.ui-icon-question-circle::before {
  content: "\f059";
}
.ui-icon-info-circle::before {
  content: "\f05a";
}
.ui-icon-crosshairs::before {
  content: "\f05b";
}
.ui-icon-times-circle-o::before {
  content: "\f05c";
}
.ui-icon-check-circle-o::before,
.ui-icon-radio-off::before,
.ui-radio-on::before {
  content: "\f05d";
}
.ui-icon-ban::before {
  content: "\f05e";
}
.ui-icon-arrow-left::before {
  content: "\f060";
}
.ui-icon-arrow-right::before {
  content: "\f061";
}
.ui-icon-arrow-up::before {
  content: "\f062";
}
.ui-icon-arrow-down::before {
  content: "\f063";
}
.ui-icon-mail-forward::before,
.ui-icon-share::before {
  content: "\f064";
}
.ui-icon-expand::before {
  content: "\f065";
}
.ui-icon-compress::before {
  content: "\f066";
}
.ui-icon-plus::before {
  content: "\f067";
}
.ui-icon-minus::before {
  content: "\f068";
}
.ui-icon-asterisk::before {
  content: "\f069";
}
.ui-icon-exclamation-circle::before {
  content: "\f06a";
}
.ui-icon-gift::before {
  content: "\f06b";
}
.ui-icon-leaf::before {
  content: "\f06c";
}
.ui-icon-fire::before {
  content: "\f06d";
}
.ui-icon-eye::before {
  content: "\f06e";
}
.ui-icon-eye-slash::before {
  content: "\f070";
}
.ui-icon-warning::before {
  content: "\f071";
}
.ui-icon-low-vision::before {
  content: "\f2a8";
}
.ui-icon-exclamation-triangle::before {
  content: "\f071";
}
.ui-icon-plane::before {
  content: "\f072";
}
.ui-icon-calendar::before {
  content: "\f073";
}
.ui-icon-random::before {
  content: "\f074";
}
.ui-icon-comment::before {
  content: "\f075";
}
.ui-icon-magnet::before {
  content: "\f076";
}
.ui-icon-chevron-up::before {
  content: "\f077";
}
.ui-icon-chevron-down::before {
  content: "\f078";
}
.ui-icon-retweet::before {
  content: "\f079";
}
.ui-icon-shopping-cart::before {
  content: "\f07a";
}
.ui-icon-folder::before {
  content: "\f07b";
}
.ui-icon-folder-open::before {
  content: "\f07c";
}
.ui-icon-arrows-v::before {
  content: "\f07d";
}
.ui-icon-arrows-h::before {
  content: "\f07e";
}
.ui-icon-bar-chart-o::before {
  content: "\f080";
}
.ui-icon-twitter-square::before {
  content: "\f081";
}
.ui-icon-facebook-square::before {
  content: "\f082";
}
.ui-icon-camera-retro::before {
  content: "\f083";
}
.ui-icon-key::before {
  content: "\f084";
}
.ui-icon-gears::before,
.ui-icon-cogs::before {
  content: "\f085";
}
.ui-icon-comments::before {
  content: "\f086";
}
.ui-icon-thumbs-o-up::before {
  content: "\f087";
}
.ui-icon-thumbs-o-down::before {
  content: "\f088";
}
.ui-icon-star-half::before {
  content: "\f089";
}
.ui-icon-heart-o::before {
  content: "\f08a";
}
.ui-icon-sign-out::before {
  content: "\f08b";
}
.ui-icon-linkedin-square::before {
  content: "\f08c";
}
.ui-icon-thumb-tack::before {
  content: "\f08d";
}
.ui-icon-external-link::before {
  content: "\f08e";
}
.ui-icon-sign-in::before {
  content: "\f090";
}
.ui-icon-trophy::before {
  content: "\f091";
}
.ui-icon-github-square::before {
  content: "\f092";
}
.ui-icon-upload::before {
  content: "\f093";
}
.ui-icon-lemon-o::before {
  content: "\f094";
}
.ui-icon-phone::before {
  content: "\f095";
}
.ui-icon-square-o::before,
.ui-icon-checkbox-off::before,
.ui-checkbox-off::before {
  content: "\f096";
}
.ui-icon-bookmark-o::before {
  content: "\f097";
}
.ui-icon-phone-square::before {
  content: "\f098";
}
.ui-icon-twitter::before {
  content: "\f099";
}
.ui-icon-facebook::before {
  content: "\f09a";
}
.ui-icon-github::before {
  content: "\f09b";
}
.ui-icon-unlock::before {
  content: "\f09c";
}
.ui-icon-credit-card::before {
  content: "\f09d";
}
.ui-icon-rss::before {
  content: "\f09e";
}
.ui-icon-hdd-o::before {
  content: "\f0a0";
}
.ui-icon-bullhorn::before {
  content: "\f0a1";
}
.ui-icon-bell::before {
  content: "\f0f3";
}
.ui-icon-certificate::before {
  content: "\f0a3";
}
.ui-icon-hand-o-right::before {
  content: "\f0a4";
}
.ui-icon-hand-o-left::before {
  content: "\f0a5";
}
.ui-icon-hand-o-up::before {
  content: "\f0a6";
}
.ui-icon-hand-o-down::before {
  content: "\f0a7";
}
.ui-icon-arrow-circle-left::before {
  content: "\f0a8";
}
.ui-icon-arrow-circle-right::before {
  content: "\f0a9";
}
.ui-icon-arrow-circle-up::before {
  content: "\f0aa";
}
.ui-icon-arrow-circle-down::before {
  content: "\f0ab";
}
.ui-icon-globe::before {
  content: "\f0ac";
}
.ui-icon-wrench::before {
  content: "\f0ad";
}
.ui-icon-tasks::before {
  content: "\f0ae";
}
.ui-icon-filter::before {
  content: "\f0b0";
}
.ui-icon-briefcase::before {
  content: "\f0b1";
}
.ui-icon-arrows-alt::before {
  content: "\f0b2";
}
.ui-icon-group::before,
.ui-icon-users::before {
  content: "\f0c0";
}
.ui-icon-chain::before,
.ui-icon-link::before {
  content: "\f0c1";
}
.ui-icon-cloud::before {
  content: "\f0c2";
}
.ui-icon-flask::before {
  content: "\f0c3";
}
.ui-icon-cut::before,
.ui-icon-scissors::before {
  content: "\f0c4";
}
.ui-icon-copy::before,
.ui-icon-files-o::before {
  content: "\f0c5";
}
.ui-icon-paperclip::before {
  content: "\f0c6";
}
.ui-icon-save::before,
.ui-icon-floppy-o::before {
  content: "\f0c7";
}
.ui-icon-square::before {
  content: "\f0c8";
}
.ui-icon-navicon::before,
.ui-icon-reorder::before,
.ui-icon-bars::before {
  content: "\f0c9";
}
.ui-icon-list-ul::before {
  content: "\f0ca";
}
.ui-icon-list-ol::before {
  content: "\f0cb";
}
.ui-icon-strikethrough::before {
  content: "\f0cc";
}
.ui-icon-underline::before {
  content: "\f0cd";
}
.ui-icon-table::before {
  content: "\f0ce";
}
.ui-icon-magic::before {
  content: "\f0d0";
}
.ui-icon-truck::before {
  content: "\f0d1";
}
.ui-icon-pinterest::before {
  content: "\f0d2";
}
.ui-icon-pinterest-square::before {
  content: "\f0d3";
}
.ui-icon-google-plus-square::before {
  content: "\f0d4";
}
.ui-icon-google-plus::before {
  content: "\f0d5";
}
.ui-icon-money::before {
  content: "\f0d6";
}
.ui-icon-caret-down::before,
.ui-icon-carat-d::before {
  content: "\f0d7";
}
.ui-icon-caret-up::before,
hmtl .ui-icon-carat-u::before{
  content: "\f0d8";
}
.ui-icon-caret-left::before,
.ui-icon-carat-l::before {
  content: "\f0d9";
}
.ui-icon-caret-right::before,
.ui-icon-carat-r::before {
  content: "\f0da";
}
.ui-icon-columns::before {
  content: "\f0db";
}
.ui-icon-unsorted::before,
.ui-icon-sort::before {
  content: "\f0dc";
}
.ui-icon-sort-down::before,
.ui-icon-sort-desc::before {
  content: "\f0dd";
}
.ui-icon-sort-up::before,
.ui-icon-sort-asc::before {
  content: "\f0de";
}
.ui-icon-envelope::before {
  content: "\f0e0";
}
.ui-icon-linkedin::before {
  content: "\f0e1";
}
.ui-icon-rotate-left::before,
.ui-icon-undo::before {
  content: "\f0e2";
}
.ui-icon-legal::before,
.ui-icon-gavel::before {
  content: "\f0e3";
}
.ui-icon-dashboard::before,
.ui-icon-tachometer::before {
  content: "\f0e4";
}
.ui-icon-comment-o::before {
  content: "\f0e5";
}
.ui-icon-comments-o::before {
  content: "\f0e6";
}
.ui-icon-flash::before,
.ui-icon-bolt::before {
  content: "\f0e7";
}
.ui-icon-sitemap::before {
  content: "\f0e8";
}
.ui-icon-umbrella::before {
  content: "\f0e9";
}
.ui-icon-paste::before,
.ui-icon-clipboard::before {
  content: "\f0ea";
}
.ui-icon-lightbulb-o::before {
  content: "\f0eb";
}
.ui-icon-exchange::before {
  content: "\f0ec";
}
.ui-icon-cloud-download::before {
  content: "\f0ed";
}
.ui-icon-cloud-upload::before {
  content: "\f0ee";
}
.ui-icon-user-md::before {
  content: "\f0f0";
}
.ui-icon-stethoscope::before {
  content: "\f0f1";
}
.ui-icon-suitcase::before {
  content: "\f0f2";
}
.ui-icon-bell-o::before {
  content: "\f0a2";
}
.ui-icon-coffee::before {
  content: "\f0f4";
}
.ui-icon-cutlery::before {
  content: "\f0f5";
}
.ui-icon-file-text-o::before {
  content: "\f0f6";
}
.ui-icon-building-o::before {
  content: "\f0f7";
}
.ui-icon-hospital-o::before {
  content: "\f0f8";
}
.ui-icon-ambulance::before {
  content: "\f0f9";
}
.ui-icon-medkit::before {
  content: "\f0fa";
}
.ui-icon-fighter-jet::before {
  content: "\f0fb";
}
.ui-icon-beer::before {
  content: "\f0fc";
}
.ui-icon-h-square::before {
  content: "\f0fd";
}
.ui-icon-plus-square::before {
  content: "\f0fe";
}
.ui-icon-angle-double-left::before {
  content: "\f100";
}
.ui-icon-angle-double-right::before {
  content: "\f101";
}
.ui-icon-angle-double-up::before {
  content: "\f102";
}
.ui-icon-angle-double-down::before {
  content: "\f103";
}
.ui-icon-angle-left::before {
  content: "\f104";
}
.ui-icon-angle-right::before {
  content: "\f105";
}
.ui-icon-angle-up::before {
  content: "\f106";
}
.ui-icon-angle-down::before {
  content: "\f107";
}
.ui-icon-desktop::before {
  content: "\f108";
}
.ui-icon-laptop::before {
  content: "\f109";
}
.ui-icon-tablet::before {
  content: "\f10a";
}
.ui-icon-mobile-phone::before,
.ui-icon-mobile::before {
  content: "\f10b";
}
.ui-icon-circle-o::before,
.ui-radio-off::before {
  content: "\f10c";
}
.ui-icon-quote-left::before {
  content: "\f10d";
}
.ui-icon-quote-right::before {
  content: "\f10e";
}
.ui-icon-circle::before {
  content: "\f111";
}
.ui-icon-mail-reply::before,
.ui-icon-reply::before {
  content: "\f112";
}
.ui-icon-github-alt::before {
  content: "\f113";
}
.ui-icon-folder-o::before {
  content: "\f114";
}
.ui-icon-folder-open-o::before {
  content: "\f115";
}
.ui-icon-smile-o::before {
  content: "\f118";
}
.ui-icon-frown-o::before {
  content: "\f119";
}
.ui-icon-meh-o::before {
  content: "\f11a";
}
.ui-icon-gamepad::before {
  content: "\f11b";
}
.ui-icon-keyboard-o::before {
  content: "\f11c";
}
.ui-icon-flag-o::before {
  content: "\f11d";
}
.ui-icon-flag-checkered::before {
  content: "\f11e";
}
.ui-icon-terminal::before {
  content: "\f120";
}
.ui-icon-code::before {
  content: "\f121";
}
.ui-icon-mail-reply-all::before,
.ui-icon-reply-all::before {
  content: "\f122";
}
.ui-icon-star-half-empty::before,
.ui-icon-star-half-full::before,
.ui-icon-star-half-o::before {
  content: "\f123";
}
.ui-icon-location-arrow::before {
  content: "\f124";
}
.ui-icon-crop::before {
  content: "\f125";
}
.ui-icon-code-fork::before {
  content: "\f126";
}
.ui-icon-unlink::before,
.ui-icon-chain-broken::before {
  content: "\f127";
}
.ui-icon-question::before {
  content: "\f128";
}
.ui-icon-info::before {
  content: "\f129";
}
.ui-icon-exclamation::before {
  content: "\f12a";
}
.ui-icon-superscript::before {
  content: "\f12b";
}
.ui-icon-subscript::before {
  content: "\f12c";
}
.ui-icon-eraser::before {
  content: "\f12d";
}
.ui-icon-puzzle-piece::before {
  content: "\f12e";
}
.ui-icon-microphone::before {
  content: "\f130";
}
.ui-icon-microphone-slash::before {
  content: "\f131";
}
.ui-icon-shield::before {
  content: "\f132";
}
.ui-icon-calendar-o::before {
  content: "\f133";
}
.ui-icon-fire-extinguisher::before {
  content: "\f134";
}
.ui-icon-rocket::before {
  content: "\f135";
}
.ui-icon-maxcdn::before {
  content: "\f136";
}
.ui-icon-chevron-circle-left::before {
  content: "\f137";
}
.ui-icon-chevron-circle-right::before {
  content: "\f138";
}
.ui-icon-chevron-circle-up::before {
  content: "\f139";
}
.ui-icon-chevron-circle-down::before {
  content: "\f13a";
}
.ui-icon-html5::before {
  content: "\f13b";
}
.ui-icon-css3::before {
  content: "\f13c";
}
.ui-icon-anchor::before {
  content: "\f13d";
}
.ui-icon-unlock-alt::before {
  content: "\f13e";
}
.ui-icon-bullseye::before {
  content: "\f140";
}
.ui-icon-ellipsis-h::before {
  content: "\f141";
}
.ui-icon-ellipsis-v::before {
  content: "\f142";
}
.ui-icon-rss-square::before {
  content: "\f143";
}
.ui-icon-play-circle::before {
  content: "\f144";
}
.ui-icon-ticket::before {
  content: "\f145";
}
.ui-icon-minus-square::before {
  content: "\f146";
}
.ui-icon-minus-square-o::before {
  content: "\f147";
}
.ui-icon-level-up::before {
  content: "\f148";
}
.ui-icon-level-down::before {
  content: "\f149";
}
.ui-icon-check-square::before {
  content: "\f14a";
}
.ui-icon-pencil-square::before {
  content: "\f14b";
}
.ui-icon-external-link-square::before {
  content: "\f14c";
}
.ui-icon-share-square::before {
  content: "\f14d";
}
.ui-icon-compass::before {
  content: "\f14e";
}
.ui-icon-toggle-down::before,
.ui-icon-caret-square-o-down::before {
  content: "\f150";
}
.ui-icon-toggle-up::before,
.ui-icon-caret-square-o-up::before {
  content: "\f151";
}
.ui-icon-toggle-right::before,
.ui-icon-caret-square-o-right::before {
  content: "\f152";
}
.ui-icon-euro::before,
.ui-icon-eur::before {
  content: "\f153";
}
.ui-icon-gbp::before {
  content: "\f154";
}
.ui-icon-dollar::before,
.ui-icon-usd::before {
  content: "\f155";
}
.ui-icon-rupee::before,
.ui-icon-inr::before {
  content: "\f156";
}
.ui-icon-cny::before,
.ui-icon-rmb::before,
.ui-icon-yen::before,
.ui-icon-jpy::before {
  content: "\f157";
}
.ui-icon-ruble::before,
.ui-icon-rouble::before,
.ui-icon-rub::before {
  content: "\f158";
}
.ui-icon-won::before,
.ui-icon-krw::before {
  content: "\f159";
}
.ui-icon-bitcoin::before,
.ui-icon-btc::before {
  content: "\f15a";
}
.ui-icon-file::before {
  content: "\f15b";
}
.ui-icon-file-text::before {
  content: "\f15c";
}
.ui-icon-sort-alpha-asc::before {
  content: "\f15d";
}
.ui-icon-sort-alpha-desc::before {
  content: "\f15e";
}
.ui-icon-sort-amount-asc::before {
  content: "\f160";
}
.ui-icon-sort-amount-desc::before {
  content: "\f161";
}
.ui-icon-sort-numeric-asc::before {
  content: "\f162";
}
.ui-icon-sort-numeric-desc::before {
  content: "\f163";
}
.ui-icon-thumbs-up::before {
  content: "\f164";
}
.ui-icon-thumbs-down::before {
  content: "\f165";
}
.ui-icon-youtube-square::before {
  content: "\f166";
}
.ui-icon-youtube::before {
  content: "\f167";
}
.ui-icon-xing::before {
  content: "\f168";
}
.ui-icon-xing-square::before {
  content: "\f169";
}
.ui-icon-youtube-play::before {
  content: "\f16a";
}
.ui-icon-dropbox::before {
  content: "\f16b";
}
.ui-icon-stack-overflow::before {
  content: "\f16c";
}
.ui-icon-instagram::before {
  content: "\f16d";
}
.ui-icon-flickr::before {
  content: "\f16e";
}
.ui-icon-adn::before {
  content: "\f170";
}
.ui-icon-bitbucket::before {
  content: "\f171";
}
.ui-icon-bitbucket-square::before {
  content: "\f172";
}
.ui-icon-tumblr::before {
  content: "\f173";
}
.ui-icon-tumblr-square::before {
  content: "\f174";
}
.ui-icon-long-arrow-down::before {
  content: "\f175";
}
.ui-icon-long-arrow-up::before {
  content: "\f176";
}
.ui-icon-long-arrow-left::before {
  content: "\f177";
}
.ui-icon-long-arrow-right::before {
  content: "\f178";
}
.ui-icon-apple::before {
  content: "\f179";
}
.ui-icon-windows::before {
  content: "\f17a";
}
.ui-icon-android::before {
  content: "\f17b";
}
.ui-icon-linux::before {
  content: "\f17c";
}
.ui-icon-dribbble::before {
  content: "\f17d";
}
.ui-icon-skype::before {
  content: "\f17e";
}
.ui-icon-foursquare::before {
  content: "\f180";
}
.ui-icon-trello::before {
  content: "\f181";
}
.ui-icon-female::before {
  content: "\f182";
}
.ui-icon-male::before {
  content: "\f183";
}
.ui-icon-gittip::before {
  content: "\f184";
}
.ui-icon-sun-o::before {
  content: "\f185";
}
.ui-icon-moon-o::before {
  content: "\f186";
}
.ui-icon-archive::before {
  content: "\f187";
}
.ui-icon-bug::before {
  content: "\f188";
}
.ui-icon-vk::before {
  content: "\f189";
}
.ui-icon-weibo::before {
  content: "\f18a";
}
.ui-icon-renren::before {
  content: "\f18b";
}
.ui-icon-pagelines::before {
  content: "\f18c";
}
.ui-icon-stack-exchange::before {
  content: "\f18d";
}
.ui-icon-arrow-circle-o-right::before {
  content: "\f18e";
}
.ui-icon-arrow-circle-o-left::before {
  content: "\f190";
}
.ui-icon-toggle-left::before,
.ui-icon-caret-square-o-left::before {
  content: "\f191";
}
.ui-icon-dot-circle-o::before {
  content: "\f192";
}
.ui-icon-wheelchair::before {
  content: "\f193";
}
.ui-icon-vimeo-square::before {
  content: "\f194";
}
.ui-icon-turkish-lira::before,
.ui-icon-try::before {
  content: "\f195";
}
.ui-icon-plus-square-o::before {
  content: "\f196";
}
.ui-icon-space-shuttle::before {
  content: "\f197";
}
.ui-icon-slack::before {
  content: "\f198";
}
.ui-icon-envelope-square::before {
  content: "\f199";
}
.ui-icon-wordpress::before {
  content: "\f19a";
}
.ui-icon-openid::before {
  content: "\f19b";
}
.ui-icon-institution::before,
.ui-icon-bank::before,
.ui-icon-university::before {
  content: "\f19c";
}
.ui-icon-mortar-board::before,
.ui-icon-graduation-cap::before {
  content: "\f19d";
}
.ui-icon-yahoo::before {
  content: "\f19e";
}
.ui-icon-google::before {
  content: "\f1a0";
}
.ui-icon-reddit::before {
  content: "\f1a1";
}
.ui-icon-reddit-square::before {
  content: "\f1a2";
}
.ui-icon-stumbleupon-circle::before {
  content: "\f1a3";
}
.ui-icon-stumbleupon::before {
  content: "\f1a4";
}
.ui-icon-delicious::before {
  content: "\f1a5";
}
.ui-icon-digg::before {
  content: "\f1a6";
}
.ui-icon-pied-piper-square::before,
.ui-icon-pied-piper::before {
  content: "\f1a7";
}
.ui-icon-pied-piper-alt::before {
  content: "\f1a8";
}
.ui-icon-drupal::before {
  content: "\f1a9";
}
.ui-icon-joomla::before {
  content: "\f1aa";
}
.ui-icon-language::before {
  content: "\f1ab";
}
.ui-icon-fax::before {
  content: "\f1ac";
}
.ui-icon-building::before {
  content: "\f1ad";
}
.ui-icon-child::before {
  content: "\f1ae";
}
.ui-icon-paw::before {
  content: "\f1b0";
}
.ui-icon-spoon::before {
  content: "\f1b1";
}
.ui-icon-cube::before {
  content: "\f1b2";
}
.ui-icon-cubes::before {
  content: "\f1b3";
}
.ui-icon-behance::before {
  content: "\f1b4";
}
.ui-icon-behance-square::before {
  content: "\f1b5";
}
.ui-icon-steam::before {
  content: "\f1b6";
}
.ui-icon-steam-square::before {
  content: "\f1b7";
}
.ui-icon-recycle::before {
  content: "\f1b8";
}
.ui-icon-automobile::before,
.ui-icon-car::before {
  content: "\f1b9";
}
.ui-icon-cab::before,
.ui-icon-taxi::before {
  content: "\f1ba";
}
.ui-icon-tree::before {
  content: "\f1bb";
}
.ui-icon-spotify::before {
  content: "\f1bc";
}
.ui-icon-deviantart::before {
  content: "\f1bd";
}
.ui-icon-soundcloud::before {
  content: "\f1be";
}
.ui-icon-database::before {
  content: "\f1c0";
}
.ui-icon-file-pdf-o::before {
  content: "\f1c1";
}
.ui-icon-file-word-o::before {
  content: "\f1c2";
}
.ui-icon-file-excel-o::before {
  content: "\f1c3";
}
.ui-icon-file-powerpoint-o::before {
  content: "\f1c4";
}
.ui-icon-file-photo-o::before,
.ui-icon-file-picture-o::before,
.ui-icon-file-image-o::before {
  content: "\f1c5";
}
.ui-icon-file-zip-o::before,
.ui-icon-file-archive-o::before {
  content: "\f1c6";
}
.ui-icon-file-sound-o::before,
.ui-icon-file-audio-o::before {
  content: "\f1c7";
}
.ui-icon-file-movie-o::before,
.ui-icon-file-video-o::before {
  content: "\f1c8";
}
.ui-icon-file-code-o::before {
  content: "\f1c9";
}
.ui-icon-vine::before {
  content: "\f1ca";
}
.ui-icon-codepen::before {
  content: "\f1cb";
}
.ui-icon-jsfiddle::before {
  content: "\f1cc";
}
.ui-icon-life-bouy::before,
.ui-icon-life-saver::before,
.ui-icon-support::before,
.ui-icon-life-ring::before {
  content: "\f1cd";
}
.ui-icon-circle-o-notch::before {
  content: "\f1ce";
}
.ui-icon-ra::before,
.ui-icon-rebel::before {
  content: "\f1d0";
}
.ui-icon-ge::before,
.ui-icon-empire::before {
  content: "\f1d1";
}
.ui-icon-git-square::before {
  content: "\f1d2";
}
.ui-icon-git::before {
  content: "\f1d3";
}
.ui-icon-hacker-news::before {
  content: "\f1d4";
}
.ui-icon-tencent-weibo::before {
  content: "\f1d5";
}
.ui-icon-qq::before {
  content: "\f1d6";
}
.ui-icon-wechat::before,
.ui-icon-weixin::before {
  content: "\f1d7";
}
.ui-icon-send::before,
.ui-icon-paper-plane::before {
  content: "\f1d8";
}
.ui-icon-send-o::before,
.ui-icon-paper-plane-o::before {
  content: "\f1d9";
}
.ui-icon-history::before {
  content: "\f1da";
}
.ui-icon-circle-thin::before {
  content: "\f1db";
}
.ui-icon-header::before {
  content: "\f1dc";
}
.ui-icon-paragraph::before {
  content: "\f1dd";
}
.ui-icon-sliders::before {
  content: "\f1de";
}
.ui-icon-share-alt::before {
  content: "\f1e0";
}
.ui-icon-share-alt-square::before {
  content: "\f1e1";
}
.ui-icon-bomb::before {
  content: "\f1e2";
}
.ui-icon-clone::before {
  content: "\f24d";
}
