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