Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yoji Takeuchi
erp5
Commits
02cb9a6b
Commit
02cb9a6b
authored
Sep 11, 2017
by
Vincent Bechu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[erp5_officejs] Update officejs css file
/reviewed-on
nexedi/erp5!386
parent
c5268193
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
3150 deletions
+55
-3150
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_nojqm_css.css
...emplateItem/web_page_module/gadget_officejs_nojqm_css.css
+53
-10
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_nojqm_css.xml
...emplateItem/web_page_module/gadget_officejs_nojqm_css.xml
+2
-2
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_web_officejs_ui/ojscss.less.txt
...ateItem/portal_skins/erp5_web_officejs_ui/ojscss.less.txt
+0
-3110
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_web_officejs_ui/ojscss.less.xml
...ateItem/portal_skins/erp5_web_officejs_ui/ojscss.less.xml
+0
-28
No files found.
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_nojqm_css.css
View file @
02cb9a6b
...
@@ -1045,13 +1045,15 @@ div[data-gadget-scope='header'] .ui-header ul {
...
@@ -1045,13 +1045,15 @@ div[data-gadget-scope='header'] .ui-header ul {
padding-left
:
24pt
;
padding-left
:
24pt
;
}
}
}
}
.gadget-content
.ui-field-contain
>
label
{
color
:
#777777
;
}
@media
only
screen
and
(
min-width
:
45em
)
and
(
max-width
:
2713em
),
not
screen
and
(
max-width
:
2713em
)
{
@media
only
screen
and
(
min-width
:
45em
)
and
(
max-width
:
2713em
),
not
screen
and
(
max-width
:
2713em
)
{
.gadget-content
.ui-field-contain
{
.gadget-content
.ui-field-contain
{
display
:
flex
;
display
:
flex
;
}
}
.gadget-content
.ui-field-contain
>
label
{
.gadget-content
.ui-field-contain
>
label
{
flex
:
1
;
flex
:
1
;
color
:
#777777
;
/* Disclaimer: It is here only for backward-compatibility! Don't rely on
/* Disclaimer: It is here only for backward-compatibility! Don't rely on
this class because it will be removed.
this class because it will be removed.
It was used to hide the label of a FormBox. */
It was used to hide the label of a FormBox. */
...
@@ -1289,12 +1291,13 @@ div[data-gadget-scope='erp5_searchfield'] button {
...
@@ -1289,12 +1291,13 @@ div[data-gadget-scope='erp5_searchfield'] button {
display
:
block
;
display
:
block
;
overflow
:
hidden
;
overflow
:
hidden
;
width
:
100%
;
width
:
100%
;
height
:
4em
;
position
:
relative
;
position
:
relative
;
height
:
4em
;
line-height
:
2em
;
}
}
.document_table
table
tbody
tr
td
,
.document_table
table
tbody
tr
td
*
,
.document_table
table
tbody
tr
th
{
.document_table
table
tbody
tr
th
*
{
display
:
inline
-block
;
display
:
inline
;
}
}
.document_table
table
tbody
tr
td
:first-child
,
.document_table
table
tbody
tr
td
:first-child
,
.document_table
table
tbody
tr
th
:first-child
{
.document_table
table
tbody
tr
th
:first-child
{
...
@@ -1310,6 +1313,7 @@ div[data-gadget-scope='erp5_searchfield'] button {
...
@@ -1310,6 +1313,7 @@ div[data-gadget-scope='erp5_searchfield'] button {
overflow
:
hidden
;
overflow
:
hidden
;
white-space
:
nowrap
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
padding-top
:
6pt
;
}
}
.document_table
table
tbody
tr
td
:first-child
a
:after
,
.document_table
table
tbody
tr
td
:first-child
a
:after
,
.document_table
table
tbody
tr
th
:first-child
a
:after
{
.document_table
table
tbody
tr
th
:first-child
a
:after
{
...
@@ -1331,12 +1335,15 @@ div[data-gadget-scope='erp5_searchfield'] button {
...
@@ -1331,12 +1335,15 @@ div[data-gadget-scope='erp5_searchfield'] button {
.document_table
table
tbody
tr
td
:first-child
~
td
,
.document_table
table
tbody
tr
td
:first-child
~
td
,
.document_table
table
tbody
tr
th
:first-child
~
td
{
.document_table
table
tbody
tr
th
:first-child
~
td
{
font-size
:
0.8em
;
font-size
:
0.8em
;
display
:
inline
;
word-break
:
break-word
;
}
}
.document_table
table
tbody
tr
td
:first-child
~
th
a
,
.document_table
table
tbody
tr
td
:first-child
~
th
a
,
.document_table
table
tbody
tr
th
:first-child
~
th
a
,
.document_table
table
tbody
tr
th
:first-child
~
th
a
,
.document_table
table
tbody
tr
td
:first-child
~
td
a
,
.document_table
table
tbody
tr
td
:first-child
~
td
a
,
.document_table
table
tbody
tr
th
:first-child
~
td
a
{
.document_table
table
tbody
tr
th
:first-child
~
td
a
{
pointer-events
:
none
;
pointer-events
:
none
;
color
:
#777777
;
}
}
.document_table
table
tbody
tr
td
:first-child
~
th
:not
(
:last-child
)
a
:not
(
:empty
)
:after
,
.document_table
table
tbody
tr
td
:first-child
~
th
:not
(
:last-child
)
a
:not
(
:empty
)
:after
,
.document_table
table
tbody
tr
th
:first-child
~
th
:not
(
:last-child
)
a
:not
(
:empty
)
:after
,
.document_table
table
tbody
tr
th
:first-child
~
th
:not
(
:last-child
)
a
:not
(
:empty
)
:after
,
...
@@ -1407,10 +1414,15 @@ div[data-gadget-scope='notification'] button {
...
@@ -1407,10 +1414,15 @@ div[data-gadget-scope='notification'] button {
text-align
:
left
;
text-align
:
left
;
width
:
180pt
;
width
:
180pt
;
padding
:
12pt
;
padding
:
12pt
;
background-color
:
#FF6600
;
color
:
#f8fff3
;
color
:
#f8fff3
;
border-radius
:
0.325em
;
border-radius
:
0.325em
;
}
}
div
[
data-gadget-scope
=
'notification'
]
button
.success
{
background-color
:
#37A419
;
}
div
[
data-gadget-scope
=
'notification'
]
button
.error
{
background-color
:
#FF6600
;
}
/**********************************************
/**********************************************
* JQM
* JQM
**********************************************/
**********************************************/
...
@@ -1470,19 +1482,19 @@ div[data-gadget-scope='notification'] button {
...
@@ -1470,19 +1482,19 @@ div[data-gadget-scope='notification'] button {
@media
only
screen
and
(
min-width
:
45em
)
and
(
max-width
:
2713em
)
{
@media
only
screen
and
(
min-width
:
45em
)
and
(
max-width
:
2713em
)
{
.content-iframe-maximize
{
.content-iframe-maximize
{
left
:
0
;
left
:
0
;
top
:
30
pt
;
top
:
73
pt
;
}
}
.content-iframe-maximize
iframe
{
.content-iframe-maximize
iframe
{
height
:
calc
(
100vh
-
30
pt
);
height
:
calc
(
100vh
-
73
pt
);
}
}
}
}
@media
not
screen
and
(
min-width
:
45em
)
{
@media
not
screen
and
(
min-width
:
45em
)
{
.content-iframe-maximize
{
.content-iframe-maximize
{
left
:
0
;
left
:
0
;
top
:
30
pt
;
top
:
67
pt
;
}
}
.content-iframe-maximize
iframe
{
.content-iframe-maximize
iframe
{
height
:
calc
(
100vh
-
30
pt
);
height
:
calc
(
100vh
-
67
pt
);
}
}
}
}
/**********************************************
/**********************************************
...
@@ -2901,3 +2913,34 @@ hmtl .ui-icon-carat-u::before {
...
@@ -2901,3 +2913,34 @@ hmtl .ui-icon-carat-u::before {
.ui-icon-bomb
::before
{
.ui-icon-bomb
::before
{
content
:
"\f1e2"
;
content
:
"\f1e2"
;
}
}
.content-iframe-maximize
{
position
:
fixed
;
}
@media
not
screen
and
(
max-width
:
2713em
)
{
.content-iframe-maximize
{
left
:
180pt
;
top
:
60pt
;
}
.content-iframe-maximize
iframe
{
width
:
calc
(
100vw
-
180pt
);
height
:
calc
(
100vh
-
60pt
);
}
}
@media
only
screen
and
(
min-width
:
45em
)
and
(
max-width
:
2713em
)
{
.content-iframe-maximize
{
left
:
0
;
top
:
30pt
;
}
.content-iframe-maximize
iframe
{
height
:
calc
(
100vh
-
30pt
);
}
}
@media
not
screen
and
(
min-width
:
45em
)
{
.content-iframe-maximize
{
left
:
0
;
top
:
30pt
;
}
.content-iframe-maximize
iframe
{
height
:
calc
(
100vh
-
30pt
);
}
}
bt5/erp5_officejs/PathTemplateItem/web_page_module/gadget_officejs_nojqm_css.xml
View file @
02cb9a6b
...
@@ -242,7 +242,7 @@
...
@@ -242,7 +242,7 @@
</item>
</item>
<item>
<item>
<key>
<string>
serial
</string>
</key>
<key>
<string>
serial
</string>
</key>
<value>
<string>
961.5
6680.37314.15803
</string>
</value>
<value>
<string>
961.5
9292.36287.51694
</string>
</value>
</item>
</item>
<item>
<item>
<key>
<string>
state
</string>
</key>
<key>
<string>
state
</string>
</key>
...
@@ -260,7 +260,7 @@
...
@@ -260,7 +260,7 @@
</tuple>
</tuple>
<state>
<state>
<tuple>
<tuple>
<float>
150
4530088.63
</float>
<float>
150
5117024.15
</float>
<string>
UTC
</string>
<string>
UTC
</string>
</tuple>
</tuple>
</state>
</state>
...
...
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_web_officejs_ui/ojscss.less.txt
deleted
100644 → 0
View file @
c5268193
/**********************************************
* Colors
**********************************************/
@black: #1F1F1F;
@txtorange: #FF6600;
@txtblue: #2FA2E4;
@white: #FFFFFF;
@txtgreen: #22CC22;
@txtsubgrey: #575757;
@grey: #777777;
// 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;
@panelbackgroundcolor: #444444;
@radius: .325em;
// XXX BUG Generate wrong align on firefox smartphone
@headerheight: @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: 2713em)";
@desktop: ~"not screen and (max-width: 2713em)";
/**********************************************
* 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
@font-size: 12pt;
@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;
@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: @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) "] ";
}
}
}
/**********************************************
* 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;
}
}
}
// 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: normal;
// 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: 80vh;
background-color: @colorbackground;
}
img {
image-orientation: from-image;
}
/**********************************************
* 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;
@media @smartphone, @tablet {
left: -@panelwidth - @margin-size;
transition: transform 200ms ease-out;
transform: translate3d(0, 0, 0);
&.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 {
&[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: @half-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() {
color: @white;
display: block;
&:hover, &:active {
background-color: darken(@panelbackgroundcolor, 10%);
}
}
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();
}
dd {
a {
.linkpanel();
.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 {
& > div {
display: flex;
align-items: flex-start;
padding: @margin-size 0;
.filter_item, .sort_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;
}
}
}
}
/**********************************************
* Gadget: header
**********************************************/
.renderDesktopSubLink() {
padding-left: @sub-line-margin-size-desktop;
padding-right: @sub-line-margin-size-desktop;
min-width: @sub-line-min-width-desktop;
}
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 {
margin-left: @panelwidth;
}
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, @tablet {
background-color: @colorheaderbackground;
}
transition: background-color @transition-timing;
&:hover, &:active {
background-color: lighten(@colorheaderbackground, 20%);
}
line-height: @headerheight;
@media @tablet {
// https://css-tricks.com/forums/topic/hide-text-but-not-the-before-pseudo-class/
// Default size
width: 8em;
}
@media @smartphone {
.hide_text();
}
&::before {
@media @tablet, @desktop {
width: 1em;
margin-right: @margin-size;
text-align: center;
}
@media @smartphone {
float: left;
text-indent: 0;
margin-left: @double-margin-size;
}
}
&[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();
}
}
}
h1 {
text-align: left;
line-height: @headerheight;
flex: 1;
@media @desktop {
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 {
padding-left: @headertitlespanleftmiddlepadding;
&::before {
margin-right:@headertitlespanleftlargemargin;
}
}
@media @smartphone {
padding-left: @headertitlespanleftsmallpadding;
&::before {
margin-right:@headertitlespanleftsmallmargin;
}
}
}
// Clickable title
a {
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 {
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 {
flex: 1;
// XXX TODO Hardcoded color
border-left: 1px solid rgba(0, 0, 0, 0.55);
&:first-child {
border-left: none;
}
a {
display: block;
}
}
@media @tablet {
a {
padding-top: @half-margin-size;
padding-bottom: @half-margin-size;
white-space: nowrap;
overflow: hidden;
&::before {
font-size: 1.2em;
display: block;
}
}
}
@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 {
display: none;
}
}
}
}
}
}
/**********************************************
* Gadget: main
**********************************************/
.gadget-content {
div[data-gadget-scope='m'] {
animation: fadein @transition-timing;
}
input[type='submit'] {
padding: @margin-size;
margin-top: @headerheight;
margin-right: @double-margin-size;
background-color: @coloraccent;
color: @white;
border-radius: @radius;
border-width: 1px;
border-style: solid;
min-width: 8em;
&:hover, &:focus {
background-color: lighten(@coloraccent, 10%);
}
&:active {
background-color: lighten(@coloraccent, 20%);
}
}
@media @desktop {
// 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;
}
// Label
.ui-field-contain {
padding: @margin-size 0;
div {
width: 100%;
}
}
/* Disclaimer: It is here only for backward-compatibility! Don't rely on
this class because it will be removed.
It was used to force horizontal rendering of fields inside FormBox. */
.horizontal_align_form_box .ui-field-contain > div {
display: block-inline;
}
.ui-content-header-plain {
font-size: 150%;
}
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;
}
}
@media @tablet, @desktop {
// Label
.ui-field-contain {
display: flex;
& > label {
flex: 1;
color: @grey;
/* Disclaimer: It is here only for backward-compatibility! Don't rely on
this class because it will be removed.
It was used to hide the label of a FormBox. */
&.invisible {
display: none;
}
}
& > label + div {
flex: 3;
}
}
}
@media @tablet, @desktop {
// Align field on the left group's field
.center {
.ui-field-contain {
& > label + div {
flex: 7;
}
}
}
}
/*
@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 {
.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: darken(@panelbackgroundcolor, 10%);
}
}
}
}
/**********************************************
* 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;
}
}
/**********************************************
* 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;
}
}
.document_table {
.ui-table-header {
display: flex;
padding-bottom: @margin-size;
@media @smartphone {
border-bottom: 2px solid rgba(0, 0, 0, 0.14902);
}
h1 {
// XXX TODO Same color than label
color: @grey;
flex: 2;
align-self: flex-end;
}
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;
}
thead {
background-color: @colorsubheaderbackground;
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 {
a {
display: block;
padding: @half-margin-size;
}
}
@media @smartphone {
tr {
// each row becomes a table, now block
display: block;
overflow: hidden;
width: 100%;
height: 4em;
position: relative;
td, th {
// all cells inline-block
display: inline-block;
&:first-child {
// first cell must be locked
display: inline-block;
width: 100%;
a {
// stretch first link to full width (positioned relative to <tr>)
position: absolute;
width: 100%;
top: 0;
bottom: 0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
&:after {
// XXX copy/pasted
font-family: FontAwesome;
content: "\f0da";
font-size: 1.25em;
position: absolute;
right: @margin-size;
top: 50%;
margin-top: -0.75em;
background-color: @colorbackground;
border-radius: 0.5em;
width: 1em;
text-align: center;
line-height: 1em;
}
}
~ th, ~ td {
// set line height on cells after first row
font-size: 0.8em;
a {
pointer-events: none;
}
&:not(:last-child) a:not(:empty):after {
// add tide
content: " ~ ";
}
}
}
}
}
}
}
tfoot .ui-controlgroup-controls {
display: flex;
padding-top: @margin-size;
border-top: 2px solid rgba(0, 0, 0, 0.14902);
span {
opacity: .3;
flex: 2;
text-align: right;
}
a {
padding: @margin-size;
border: 1px solid rgba(0, 0, 0, 0.14);
border-radius: @radius;
margin-right: @margin-size;
&:last-of-type {
margin-right: 0;
}
&:hover, &:active {
background-color: @colorblocklinkbackground;
}
@media @smartphone {
.hide_text(@width: initial);
}
&::before {
margin-right: @margin-size;
@media @smartphone {
float: left;
text-indent: @margin-size;
}
}
}
}
}
}
/**********************************************
* 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);
@media @smartphone {
transform: translate3d(-@panelwidth - @double-margin-size - @main-margin-size-smartphone, 0, 0);
}
}
button {
text-align: left;
width: @panelwidth;
padding: @double-margin-size;
background-color: @coloraccent;
color: @colorsubheaderlink;
border-radius: @border-radius;
}
}
/**********************************************
* 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%;
}
/**********************************************
* Keyframes
**********************************************/
@keyframes spin {
from {transform:rotate(0deg);}
to {transform:rotate(360deg);}
}
@keyframes fadein {
from {opacity:0;}
to {opacity:1;}
}
/**********************************************
* Class
**********************************************/
.content-iframe-maximize {
position: fixed;
@media @desktop {
left: @panelwidth;
top: 2 * @headerheight;
iframe {
width: ~"calc(100vw - "@panelwidth~")";
height: ~"calc(100vh - "2 * @headerheight~")";
}
}
@media @tablet {
left: 0;
top: @headerheight;
iframe {
height: ~"calc(100vh - "@headerheight~")";
}
}
@media @smartphone {
left: 0;
top: @headerheight;
iframe {
height: ~"calc(100vh - "@headerheight~")";
}
}
}
/**********************************************
* 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-warning {
background-color: @coloraccent !important;
&::before {
content: "\f071";
}
}
.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-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";
}
\ No newline at end of file
bt5/erp5_officejs/SkinTemplateItem/portal_skins/erp5_web_officejs_ui/ojscss.less.xml
deleted
100644 → 0
View file @
c5268193
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"File"
module=
"OFS.Image"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
__name__
</string>
</key>
<value>
<string>
ojscss.less
</string>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/plain
</string>
</value>
</item>
<item>
<key>
<string>
precondition
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string></string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment