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