Locate event target off screen, in case platform doesn't support opacity of text...
[guacamole.git] / src / main / webapp / styles / client.css
1
2 /*
3  *  Guacamole - Clientless Remote Desktop
4  *  Copyright (C) 2010  Michael Jumper
5  *
6  *  This program is free software: you can redistribute it and/or modify
7  *  it under the terms of the GNU Affero General Public License as published by
8  *  the Free Software Foundation, either version 3 of the License, or
9  *  (at your option) any later version.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU Affero General Public License for more details.
15  *
16  *  You should have received a copy of the GNU Affero General Public License
17  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 body {
21     background: black;
22     font-family: sans-serif;
23     padding: 0;
24     margin: 0;
25 }
26
27 img {
28     border: none;
29 }
30
31 .software-cursor {
32     cursor: url('../images/mouse/dot.gif'),url('../images/mouse/blank.cur'),default;
33 }
34
35 * {
36     -webkit-tap-highlight-color: rgba(0,0,0,0);
37 }
38
39 /* Dialogs */
40
41 div.dialogOuter {
42     display: table;
43     height: 100%;
44     width: 100%;
45     position: fixed;
46     left: 0;
47     top: 0;
48
49     visibility: hidden;
50 }
51
52 div.dialogMiddle {
53     width: 100%;
54     text-align: center;
55     display: table-cell;
56     vertical-align: middle;
57 }
58
59 div.dialog {
60     padding: 1em;
61
62     max-width: 75%;
63     text-align: left;
64
65     display: inline-block;
66     visibility: visible;
67 }
68
69 div.dialog h1 {
70     margin: 0;
71     margin-bottom: 0.25em;
72     text-align: center;
73 }
74
75 div.dialog div.buttons {
76     margin: 0;
77     margin-top: 0.5em;
78     text-align: center;
79 }
80
81 *:not(.guac-error) button#reconnect {
82     display: none;
83 }
84
85 div.dialog p {
86     margin: 0;
87 }
88
89 #statusText {
90     text-shadow: 0 0 0.25em black, 0 0 0.25em black, 0 0 0.25em black, 0 0 0.25em black;
91     font-size: xx-large;
92     color: white;
93 }
94
95 .guac-error #statusText {
96     text-shadow: 0 0 0.25em black, 0 0 0.25em black, 0 0 0.25em black, 0 0 0.25em black;
97     color: #D44;
98 }
99
100 /* Menu */
101
102 #menu {
103     position: fixed;
104     left: 0;
105     top: 0;
106     width: 100%;
107     z-index: 4;
108     background: #FEA;
109     border-bottom: 1px solid black;
110     font-size: 0.8em;
111 }
112
113 .guac-error #menu {
114     background: #D44;
115 }
116
117 div#display * {
118     position: relative;
119     margin-left: auto;
120     margin-right: auto;
121 }
122
123 #menu img {
124     vertical-align: middle;
125 }
126
127 #menu span {
128     vertical-align: middle;
129 }
130
131 #menu button {
132     vertical-align: middle;
133     background: #DC8;
134     border: 1px solid #986;
135     color: black; 
136     padding: 0.25em;
137     padding-right: 1em;
138     padding-left: 1em;
139 }
140
141 #menu button:hover {
142     background: #FFC;
143     border: 1px solid #DC8;
144 }
145
146 #menu button:active {
147     padding-top: 0.35em;
148     padding-left: 1.1em;
149
150     padding-bottom: 0.15em;
151     padding-right: 0.9em;
152 }
153
154 .guac-error #menu button {
155     background: #B33;
156     border: 1px solid #822;
157 }
158
159 .guac-error #menu button:hover {
160     background: #F44;
161     border: 1px solid #B33;
162 }
163
164 div#clipboardDiv {
165     display: none;
166     position: absolute;
167     background: #FA5;
168     padding: 1em;
169
170     border: 1px solid black;
171
172     width: 50em;
173     z-index: 2;
174     opacity: 0.5;
175 }
176
177 #menu:hover div#clipboardDiv {
178     opacity: 1;
179 }
180
181 div#clipboardDiv h2 {
182     margin: 0;
183     font-size: 1em;
184 }
185
186 div#clipboardDiv textarea {
187     width: 100%;
188 }
189
190 div#menuControl {
191     position: fixed;
192     top: 0;
193     left: 0;
194     
195     width: 100%;
196     height: 3px;
197     background: none;
198
199     z-index: 3;
200 }
201
202 /* Viewport Clone */
203
204 div#viewportClone {
205     display: table;
206     height: 100%;
207     width: 100%;
208     position: fixed;
209     left: 0;
210     top: 0;
211
212     visibility: hidden;
213 }
214
215 /* Keyboard event target */
216
217 textarea#eventTarget {
218     position: fixed;
219    
220     /* Zero... zero... zero... zero... zero... */
221     right: 0;
222     bottom: 0;
223     width: 0;
224     height: 0;
225     opacity: 0;
226
227     overflow: hidden;
228 }