]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/sass/application.scss
Fix subscribe hotkey
[github/Chocobozzz/PeerTube.git] / client / src / sass / application.scss
CommitLineData
161b061d 1$icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/';
63c4db6d 2
8cbc40b2
C
3@use '_variables' as *;
4@use '_mixins' as *;
dcbc29d5 5
fa12eacc 6@use '_fonts';
63c4db6d 7
fa12eacc
C
8@use './bootstrap';
9@use './primeng-custom';
10@use './ng-select';
bbe0f064 11
fa12eacc 12@use './classes';
100d9ce2 13
24893b52
C
14@use './custom-markup';
15
383bfc83
C
16[hidden] {
17 display: none !important;
18}
a64668c0 19
b33f657c 20body {
dcbc29d5 21 /*** theme ***/
4f926722 22 // now beware sass requires interpolation
dcbc29d5 23 // for css custom properties #{$var}
680b5496
RK
24 --mainColor: #{$main-color};
25 --mainColorLighter: #{$main-color-lighter};
a6d5ff76 26 --mainColorLightest: #{$main-color-lightest};
680b5496 27 --mainHoverColor: #{$main-hover-color};
dcbc29d5
C
28 --mainBackgroundColor: #{$bg-color};
29 --mainForegroundColor: #{$fg-color};
680b5496 30 --secondaryColor: #{$secondary-color};
2fcc2294 31
c123027f 32 --greyForegroundColor: #{$grey-foreground-color};
441e453a 33 --greyBackgroundColor: #{$grey-background-color};
c123027f 34
1d9d9cfd
RK
35 --menuBackgroundColor: #{$menu-background};
36 --menuForegroundColor: #{$menu-color};
60c35932 37
218f730c 38 --submenuBackgroundColor: #{$sub-menu-background-color};
60c35932 39 --channelBackgroundColor: #{$channel-background-color};
2fcc2294 40
3bf07dd8 41 --inputForegroundColor: #{$input-foreground-color};
14aa8556 42 --inputBackgroundColor: #{$input-background-color};
dcbc29d5
C
43 --inputPlaceholderColor: #{$input-placeholder-color};
44
3bf07dd8 45 --textareaForegroundColor: #{$textarea-foreground-color};
b15fe00f 46 --textareaBackgroundColor: #{$textarea-background-color};
f33dc6ab 47 --markdownTextareaBackgroundColor: #{$markdown-textarea-background-color};
b15fe00f 48
0240da5c
RK
49 --actionButtonColor: #{$grey-foreground-color};
50 --supportButtonBackgroundColor: #{transparent};
e66883b3 51 --supportButtonColor: #{pvar(--actionButtonColor)};
0240da5c 52 --supportButtonHeartColor: #{$support-button-heart};
2fcc2294 53
5f57df54
C
54 --activatedActionButtonColor: #{$activated-action-button-color};
55
d7941370 56 --horizontalMarginContent: #{$not-expanded-horizontal-margins};
0f7407d9 57 --videosHorizontalMarginContent: 6vw;
d7941370 58 --mainColWidth: calc(100vw - #{$menu-width});
10846ef6 59
8a8e02a4 60 font-family: $main-fonts;
b33f657c 61 font-weight: $font-regular;
e66883b3
RK
62 color: pvar(--mainForegroundColor);
63 background-color: pvar(--mainBackgroundColor);
b34a444e 64 font-size: 14px;
8110705d 65 // On desktop browsers, make sure vertical scroll bar is always visible
66 // Allow to disable the scrollbar instead of hide it when the content fit the body
67 // And not move the content and header horizontally sticked to right when the content is updating
68 overflow-y: scroll;
27bc9586
C
69
70 // Fix "reboot" style that set text-align: left
71 text-align: start;
b33f657c
C
72}
73
52cc0d54 74::selection {
e66883b3
RK
75 color: pvar(--mainBackgroundColor);
76 background-color: pvar(--mainHoverColor);
52cc0d54
RK
77}
78
2ca72354 79noscript,
73e09f27 80#incompatible-browser {
2ca72354
CE
81 display: block;
82 font-size: 1.2rem;
83 max-width: 600px;
84 margin: 1rem auto;
73e09f27
C
85}
86
07fa4c97
C
87strong {
88 font-weight: $font-semibold;
89}
90
383bfc83
C
91input.readonly {
92 /* Force blank on readonly inputs */
e66883b3 93 background-color: pvar(--inputBackgroundColor) !important;
0ac5edd9 94}
95
931d3430
C
96input,
97textarea {
63347a0f 98 outline: none;
84065945 99 color: pvar(--inputForegroundColor);
63347a0f
C
100}
101
adcf9212 102button {
adcf9212 103 @include disable-outline;
931d3430
C
104
105 background: unset;
adcf9212
CC
106}
107
d235f6b0
C
108label {
109 font-weight: $font-bold;
110 font-size: 15px;
09223546
C
111}
112
fd9c3c8d 113code {
114 background-color: pvar(--greyBackgroundColor);
a742b4b0 115 color: pvar(--greyForegroundColor);
fd9c3c8d 116 border-radius: 3px;
117 padding: .2em .4em;
118 margin: auto .4em;
119 font-size: 75%;
120 display: inline-block;
121 vertical-align: middle;
122}
123
a2b817d3
C
124.form-error {
125 display: block;
41a676db 126 color: $red;
a2b817d3
C
127 margin-top: 5px;
128}
129
931d3430 130.input-error,
f8b530e0 131my-input-toggle-hidden ::ng-deep input {
41a676db 132 border-color: $red !important;
a2b817d3
C
133}
134
931d3430 135.full-width {
2d9fea16 136 width: 100%;
27bc9586 137 margin: 0 auto;
2d9fea16
RK
138 max-width: initial;
139}
140
383bfc83 141.glyphicon-black {
931d3430 142 color: #000;
383bfc83
C
143}
144
c4741804 145.row {
947d0102 146 margin: 0 !important;
c4741804
RK
147}
148
383bfc83 149.main-col {
27bc9586
C
150 @include margin-left($menu-width);
151
c4741804 152 width: calc(100% - #{$menu-width});
a6d5ff76 153 outline: none;
9bf9d2a5 154
c30745f3 155 .margin-content {
27bc9586 156 margin: 0 pvar(--horizontalMarginContent);
b34a444e 157 flex-grow: 1;
c30745f3
C
158 }
159
160 .sub-menu {
218f730c 161 background-color: pvar(--submenuBackgroundColor);
c30745f3 162 width: 100%;
c30745f3
C
163 display: flex;
164 align-items: center;
27bc9586 165 padding: 0 pvar(--horizontalMarginContent);
7034b3c9 166 height: $sub-menu-height;
167 margin-bottom: $sub-menu-margin-bottom;
d7941370 168 overflow-x: auto;
ae2dd046
C
169
170 &.sub-menu-fixed {
ae2dd046 171 position: fixed;
d6eace77 172 z-index: #{z('sub-menu') - 1};
d7941370 173 max-width: pvar(--mainColWidth);
a949f676 174 }
c30745f3
C
175 }
176
7034b3c9 177 // Use an appropriate offset top when sub-menu fixed
178 .margin-content.offset-content {
179 padding-top: $sub-menu-height + $sub-menu-margin-bottom;
180 }
181
c30745f3
C
182 // Override some properties if the main content is expanded (no menu on the left)
183 &.expanded {
d7941370
C
184 --horizontalMarginContent: #{$expanded-horizontal-margins};
185 --mainColWidth: 100vw;
186
27bc9586 187 @include margin-left(0);
c4741804 188 width: 100%;
602eb142 189 }
b15fe00f 190
931d3430 191 &.lock-scroll .main-row > router-outlet + * { /* stylelint-disable-line selector-max-compound-selectors */
b15fe00f
K
192 // Lock and hide body scrollbars
193 position: fixed;
194
195 // Lock and hide sub-menu scrollbars
931d3430 196 .sub-menu { /* stylelint-disable-line */
b15fe00f
K
197 overflow-x: hidden;
198 }
199 }
383bfc83 200}
602eb142 201
59aa1e5e 202.title-page {
931d3430 203 @include disable-default-a-behaviour;
27bc9586 204 @include margin-right(55px);
931d3430 205
ed5bb517 206 opacity: 0.6;
e66883b3 207 color: pvar(--mainForegroundColor);
59aa1e5e
C
208 font-size: 16px;
209 display: inline-block;
59aa1e5e 210 font-weight: $font-semibold;
ed5bb517
K
211 border-bottom: 2px solid transparent;
212
213 &.title-page-single {
59aa1e5e
C
214 margin-top: 30px;
215 margin-bottom: 25px;
216 }
cadb46d8 217
d6ed9ccc 218 &.active {
ed5bb517 219 border-bottom-color: pvar(--mainColor);
d6ed9ccc
RK
220 }
221
222 &.title-page-single {
223 font-size: 125%;
224 }
225
931d3430
C
226 &:hover,
227 &:active,
228 &:focus {
e66883b3 229 color: pvar(--mainForegroundColor);
04e0fc48 230 }
1952a538 231
931d3430
C
232 &.active,
233 &:hover,
234 &:active,
235 &:focus,
236 &.title-page-single {
ed5bb517 237 opacity: 1;
931d3430 238 outline: 0 hidden !important;
ed5bb517
K
239 }
240
ece3029b 241 @media screen and (max-width: $mobile-view) {
27bc9586 242 @include margin-left(15px);
1952a538 243 }
cadb46d8 244}
04e0fc48 245
482fa503
RK
246.title-page-about,
247.title-page-settings {
e61151b0 248 white-space: nowrap;
482fa503 249 font-size: 115%;
482fa503
RK
250}
251
cd83ea1b
C
252.admin-sub-header {
253 display: flex;
254 align-items: center;
255 margin-bottom: 30px;
256
08c1efbe 257 .form-sub-title {
cd83ea1b
C
258 flex-grow: 1;
259 }
65b247dd
C
260
261 .admin-sub-nav a {
262 @include disable-default-a-behaviour;
263
264 font-size: 16px;
e66883b3 265 color: pvar(--mainForegroundColor);
65b247dd
C
266 padding: 5px 15px;
267 border-radius: 0.25rem;
ed5bb517
K
268 font-weight: $font-semibold;
269 opacity: 0.6;
65b247dd
C
270
271 &.active {
218f730c 272 background-color: pvar(--submenuBackgroundColor);
ed5bb517
K
273 }
274
931d3430
C
275 &.active,
276 &:hover,
277 &:active,
278 &:focus {
ed5bb517 279 opacity: 1;
65b247dd
C
280 }
281 }
cd83ea1b
C
282}
283
08c1efbe 284.form-sub-title {
04e0fc48
C
285 font-size: 20px;
286 font-weight: bold;
59aa1e5e
C
287}
288
fb4fd623
C
289// In tables, don't have a hover different background
290table {
931d3430
C
291 .action-button-edit,
292 .action-button-delete {
293 &:hover,
294 &:active,
295 &:focus,
296 &[disabled],
297 &.disabled {
457bb213 298 background-color: $grey-background-color !important;
fb4fd623
C
299 }
300 }
301}
302
2d3741d6
C
303.no-results {
304 height: 40vh;
22839330
RK
305 max-height: 500px;
306
2d3741d6 307 display: flex;
82f443de 308 flex-direction: column;
2d3741d6
C
309 align-items: center;
310 justify-content: center;
311 font-size: 16px;
312 font-weight: $font-semibold;
313}
314
eb7c7a51
RK
315.dropdown-item {
316 @include dropdown-with-icon-item;
317
318 my-global-icon {
319 width: 22px;
320 height: 22px;
321 }
322}
323
7034b3c9 324/* offsetTop for scrollToAnchor */
325
45e0d669
RK
326.anchor {
327 position: relative;
7034b3c9 328 top: #{-($header-height + 20px)};
329}
330
331.offset-content { // if sub-menu fixed
332 .anchor {
333 top: #{-($header-height + $sub-menu-height + 20px)};
334 }
45e0d669
RK
335}
336
c29039e7
C
337.form-group-description {
338 @extend .text-muted;
339
340 font-size: 90%;
341 margin-top: 10px;
342}
343
4872e946
C
344ngx-loading-bar {
345 z-index: z(header) + 1 !important;
346}
347
165ee292 348@media screen and (max-width: #{breakpoint(xxl)}) {
0f7407d9 349 .main-col {
931d3430
C
350 --horizontalMarginContent: #{$not-expanded-horizontal-margins / 2};
351 --videosHorizontalMarginContent: 30px;
0f7407d9
C
352
353 &.expanded {
354 --horizontalMarginContent: #{$expanded-horizontal-margins / 2};
355 }
2303a803
RK
356 }
357}
358
165ee292 359@media screen and (max-width: #{breakpoint(lg)}) {
0a6785d1
C
360 .main-col {
361 --videosHorizontalMarginContent: #{pvar(--horizontalMarginContent)};
362 }
363
1def3c52 364 /* the following applies from 500px to 900px and is partially overriden from 500px to 800px by changes below to $small-view */
d7941370
C
365 .main-col,
366 .main-col.expanded {
0f7407d9 367 --horizontalMarginContent: #{$expanded-horizontal-margins / 3};
dd778941 368
d7941370 369 .sub-menu {
27bc9586 370 padding: 0 50px;
22a16e36 371
d7941370
C
372 .title-page {
373 font-size: 17px;
dd778941 374 }
1f788f20
C
375 }
376 }
377}
378
1f6d2449 379@media screen and (min-width: $mobile-view) and (max-width: $small-view) {
ac6ac4e2 380 .main-col {
381 width: 100%;
382 }
383}
384
8ff3f883 385@media screen and (max-width: $small-view) {
d7941370
C
386 .main-col,
387 .main-col.expanded {
388 --horizontalMarginContent: 15px;
b15fe00f 389
27bc9586 390 @include margin-left(0);
7a03209d 391
d7941370
C
392 .sub-menu {
393 width: 100vw;
27bc9586 394 padding: 0 15px;
d7941370
C
395 margin-bottom: $sub-menu-margin-bottom-small-view;
396 overflow-x: auto;
165ee292
K
397 }
398
d7941370
C
399 // Use an appropriate offset top when sub-menu fixed
400 .margin-content.offset-content {
401 padding-top: $sub-menu-height + $sub-menu-margin-bottom-small-view;
165ee292 402 }
165ee292 403
d7941370 404 .admin-sub-header {
bc4c9cc1
C
405 flex-direction: column;
406
407 .form-sub-title {
27bc9586
C
408 @include margin-right(0 !important);
409
bc4c9cc1
C
410 margin-bottom: 10px;
411 text-align: center;
412 }
413
414 .admin-sub-nav {
415 display: block;
416 overflow-x: auto;
417 white-space: nowrap;
418 height: 50px;
419 padding: 10px 0;
420 width: 100%;
421
422 a {
27bc9586 423 @include margin-left(5px);
bc4c9cc1
C
424 }
425 }
165ee292
K
426 }
427
d7941370
C
428 my-markdown-textarea {
429 .root {
430 max-width: 100% !important;
431 }
165ee292 432 }
165ee292 433
d7941370
C
434 input[type=text],
435 input[type=password],
436 input[type=email],
437 textarea,
438 .peertube-select-container {
439 flex-grow: 1;
165ee292 440 }
8544d8f5 441
d7941370
C
442 .caption input[type=text] {
443 width: unset !important;
444 flex-grow: 1;
7a03209d
K
445 }
446 }
447}