]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/sass/application.scss
c1135cd023ec1e46fcae008712997dc7aacf6e7e
[github/Chocobozzz/PeerTube.git] / client / src / sass / application.scss
1 $icon-font-path: '../../node_modules/@neos21/bootstrap3-glyphicons/assets/fonts/';
2 @import '_bootstrap';
3
4 @import '_variables';
5 @import '_mixins';
6
7 @import '_fonts';
8
9 @import '~video.js/dist/video-js.css';
10
11 $assets-path: '../assets/';
12 @import './player/index';
13 @import './loading-bar';
14
15 @import './primeng-custom';
16
17 [hidden] {
18 display: none !important;
19 }
20
21 body {
22 /*** theme ***/
23 // now beware node-sass requires interpolation
24 // for css custom properties #{$var}
25 --mainColor: #{$orange-color};
26 --mainHoverColor: #{$orange-hoover-color};
27 --mainBackgroundColor: #{$bg-color};
28 --mainForegroundColor: #{$fg-color};
29 --submenuColor: #{$sub-menu-color};
30 --inputColor: #{$input-background-color};
31 --inputPlaceholderColor: #{$input-placeholder-color};
32
33 font-family: $main-fonts;
34 font-weight: $font-regular;
35 color: var(--mainForegroundColor);
36 font-size: 14px;
37 }
38
39 #incompatible-browser {
40 display: none;
41 text-align: center;
42 position: absolute;
43 width: 100%;
44 top: 45%;
45 }
46
47 strong {
48 font-weight: $font-semibold;
49 }
50
51 input.readonly {
52 /* Force blank on readonly inputs */
53 background-color: var(--inputColor) !important;
54 }
55
56 input, textarea {
57 outline: none;
58 color: var(--mainForegroundColor);
59 }
60
61 label {
62 font-weight: $font-bold;
63 font-size: 15px;
64 }
65
66 .form-error {
67 display: block;
68 color: $red;
69 margin-top: 5px;
70 }
71
72 .input-error {
73 border-color: $red !important;
74 }
75
76 .fullWidth {
77 width: 100%;
78 margin-left: auto;
79 margin-right: auto;
80 max-width: initial;
81 }
82
83 .glyphicon-black {
84 color: black;
85 }
86
87 .main-col {
88 margin-left: $menu-width;
89 width: auto;
90
91 .margin-content {
92 margin-left: $not-expanded-horizontal-margins;
93 margin-right: $not-expanded-horizontal-margins;
94 flex-grow: 1;
95 }
96
97 .sub-menu {
98 background-color: var(--submenuColor);
99 width: 100%;
100 height: 81px;
101 margin-bottom: 30px;
102 display: flex;
103 align-items: center;
104 padding-left: $not-expanded-horizontal-margins;
105 padding-right: $not-expanded-horizontal-margins;
106 }
107
108 // Override some properties if the main content is expanded (no menu on the left)
109 &.expanded {
110 margin-left: 0;
111
112 .margin-content {
113 margin-left: $expanded-horizontal-margins;
114 margin-right: $expanded-horizontal-margins;
115 }
116
117 .sub-menu {
118 padding-left: $expanded-horizontal-margins;
119 padding-right: $expanded-horizontal-margins;
120 }
121 }
122 }
123
124 .title-page {
125 color: var(--mainForegroundColor);
126 font-size: 16px;
127 display: inline-block;
128 margin-right: 55px;
129 font-weight: $font-semibold;
130 @include disable-default-a-behaviour;
131
132 &.active, &.title-page-single {
133 border-bottom: 2px solid var(--mainColor);
134 font-weight: $font-bold;
135 margin-top: 30px;
136 margin-bottom: 25px;
137 }
138
139 &:hover, &:active, &:focus {
140 color: var(--mainForegroundColor);
141 }
142
143 @media screen and (max-width: 500px) {
144 margin-right: 20px;
145 }
146 }
147
148 .admin-sub-header {
149 display: flex;
150 align-items: center;
151 margin-bottom: 30px;
152
153 .form-sub-title {
154 flex-grow: 1;
155 }
156
157 .admin-sub-nav a {
158 @include disable-default-a-behaviour;
159
160 font-size: 16px;
161 color: var(--mainForegroundColor);
162 padding: 5px 15px;
163 border-radius: 0.25rem;
164
165 &.active {
166 font-weight: $font-semibold;
167 background-color: #f0f0f0;
168 color: #000;
169 }
170 }
171 }
172
173 .form-sub-title {
174 font-size: 20px;
175 font-weight: bold;
176 }
177
178 // Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d
179 .glyphicon-refresh-animate {
180 animation: spin .7s infinite linear;
181 }
182
183 @keyframes spin {
184 from { transform: scale(1) rotate(0deg);}
185 to { transform: scale(1) rotate(360deg);}
186 }
187
188 // Bootstrap customizations
189 .dropdown-menu {
190 border-radius: 3px;
191 box-shadow: 0 3px 6px;
192 font-size: 15px;
193
194 .dropdown-item {
195 padding: 3px 15px;
196 }
197
198 a {
199 color: #000 !important;
200 }
201 }
202
203 .modal {
204 .modal-content {
205 background-color: var(--mainBackgroundColor);
206 }
207
208 .modal-header {
209 border-bottom: none;
210 margin-bottom: 5px;
211
212 .modal-title {
213 font-size: 20px;
214 font-weight: $font-semibold;
215 }
216
217 .close {
218 @include icon(24px);
219
220 position: relative;
221 top: 3px;
222 float: right;
223 background-image: url('../assets/images/global/cross.svg');
224
225 margin: 0;
226 padding: 0;
227 opacity: 1;
228 }
229 }
230
231 .inputs {
232 margin-top: 40px;
233 margin-bottom: 0;
234 text-align: right;
235
236 .action-button-cancel {
237 @include peertube-button;
238 @include grey-button;
239
240 display: inline-block;
241 margin-right: 10px;
242 }
243
244 .action-button-submit {
245 @include peertube-button;
246 @include orange-button;
247 }
248 }
249 }
250
251 // Nav customizations
252 .nav .nav-link {
253 display: flex !important;
254 align-items: center;
255 height: 30px !important;
256 padding: 10px 15px !important;
257 }
258
259 .nav.nav-pills {
260 font-size: 16px !important;
261
262 .nav-link.active {
263 font-weight: $font-semibold !important;
264 }
265
266 a {
267 @include disable-default-a-behaviour;
268
269 color: var(--mainForegroundColor);
270 }
271 }
272
273 ngb-tabset.bootstrap {
274
275 .nav-link {
276 &, & a {
277 @include disable-default-a-behaviour;
278
279 color: var(--mainForegroundColor) !important;
280 }
281 }
282 }
283
284 .orange-button {
285 @include peertube-button;
286 @include orange-button;
287 }
288
289 .orange-button-link {
290 @include peertube-button-link;
291 @include orange-button;
292 }
293
294 .grey-button {
295 @include peertube-button;
296 @include grey-button;
297 }
298
299 .grey-button-link {
300 @include peertube-button-link;
301 @include grey-button;
302 }
303
304 // In tables, don't have a hover different background
305 table {
306 .action-button-edit, .action-button-delete {
307 &:hover, &:active, &:focus, &[disabled], &.disabled {
308 background-color: $grey-color !important;
309 }
310 }
311 }
312
313 .no-results {
314 height: 40vh;
315 display: flex;
316 align-items: center;
317 justify-content: center;
318 font-size: 16px;
319 font-weight: $font-semibold;
320 }
321
322 @media screen and (max-width: 1200px) {
323 .main-col {
324 &.expanded {
325 .margin-content {
326 margin-left: $expanded-horizontal-margins/2;
327 margin-right: $expanded-horizontal-margins/2;
328 }
329 }
330 }
331 }
332
333 @media screen and (max-width: 900px) {
334 .main-col {
335 &.expanded {
336 .margin-content {
337 margin-left: $expanded-horizontal-margins/3;
338 margin-right: $expanded-horizontal-margins/3;
339 }
340
341 .sub-menu {
342 padding-left: 50px;
343
344 .title-page {
345 font-size: 15px;
346 }
347 }
348 }
349 }
350 }
351
352 @media screen and (max-width: $small-view) {
353 .main-col {
354 margin-left: 0;
355
356 &, &.expanded {
357 .margin-content {
358 margin-left: 15px;
359 margin-right: 15px;
360 }
361
362 .sub-menu {
363 padding-left: 15px;
364 padding-right: 15px;
365 margin-bottom: 10px;
366 }
367
368 input[type=text], input[type=password] {
369 width: 100% !important;
370 }
371 }
372 }
373 }