Migrate palette to HSL
[oweals/peertube.git] / client / src / sass / application.scss
1 $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/';
2
3 @import '_bootstrap-variables';
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 './bootstrap';
16 @import './primeng-custom';
17
18 [hidden] {
19   display: none !important;
20 }
21
22 body {
23   /*** theme ***/
24   // now beware node-sass requires interpolation
25   // for css custom properties #{$var}
26   --mainColor: #{$main-color};
27   --mainColorLighter: #{$main-color-lighter};
28   --mainHoverColor: #{$main-hover-color};
29   --mainBackgroundColor: #{$bg-color};
30   --mainForegroundColor: #{$fg-color};
31   --secondaryColor: #{$secondary-color};
32
33   --menuBackgroundColor: #{$menu-background};
34   --menuForegroundColor: #{$menu-color};
35   --submenuColor: #{$sub-menu-color};
36
37   --inputBackgroundColor: #{$input-background-color};
38   --inputPlaceholderColor: #{$input-placeholder-color};
39
40   --actionButtonColor: #{$grey-foreground-color};
41   --supportButtonBackgroundColor: #{transparent};
42   --supportButtonColor: #{var(--actionButtonColor)};
43   --supportButtonHeartColor: #{$support-button-heart};
44
45   font-family: $main-fonts;
46   font-weight: $font-regular;
47   color: var(--mainForegroundColor);
48   background-color: var(--mainBackgroundColor);
49   font-size: 14px;
50 }
51
52 ::selection {
53   color: var(--mainBackgroundColor);
54   background-color: var(--mainHoverColor);
55 }
56
57 #incompatible-browser {
58   display: none;
59   text-align: center;
60   position: absolute;
61   width: 100%;
62   top: 45%;
63 }
64
65 strong {
66   font-weight: $font-semibold;
67 }
68
69 input.readonly {
70   /* Force blank on readonly inputs */
71   background-color: var(--inputBackgroundColor) !important;
72 }
73
74 input, textarea {
75   outline: none;
76   color: var(--mainForegroundColor);
77 }
78
79 .btn-outline-secondary {
80   border-color: $input-border-color;
81 }
82
83 label {
84   font-weight: $font-bold;
85   font-size: 15px;
86 }
87
88 .form-error {
89   display: block;
90   color: $red;
91   margin-top: 5px;
92 }
93
94 .input-error {
95   border-color: $red !important;
96 }
97
98 .fullWidth {
99   width: 100%;
100   margin-left: auto;
101   margin-right: auto;
102   max-width: initial;
103 }
104
105 .glyphicon-black {
106   color: black;
107 }
108
109 .main-col {
110   margin-left: $menu-width;
111   width: auto;
112
113   .margin-content {
114     margin-left: $not-expanded-horizontal-margins;
115     margin-right: $not-expanded-horizontal-margins;
116     flex-grow: 1;
117   }
118
119   .sub-menu {
120     background-color: var(--submenuColor);
121     width: 100%;
122     height: 81px;
123     margin-bottom: $sub-menu-margin-bottom;
124     display: flex;
125     align-items: center;
126     padding-left: $not-expanded-horizontal-margins;
127     padding-right: $not-expanded-horizontal-margins;
128   }
129
130   // Override some properties if the main content is expanded (no menu on the left)
131   &.expanded {
132     margin-left: 0;
133
134     .margin-content {
135       margin-left: $expanded-horizontal-margins;
136       margin-right: $expanded-horizontal-margins;
137     }
138
139     .sub-menu {
140       padding-left: $expanded-horizontal-margins;
141       padding-right: $expanded-horizontal-margins;
142     }
143   }
144 }
145
146 .title-page {
147   color: var(--mainForegroundColor);
148   font-size: 16px;
149   display: inline-block;
150   margin-right: 55px;
151   font-weight: $font-semibold;
152   @include disable-default-a-behaviour;
153
154   &.active, &.title-page-single {
155     margin-top: 30px;
156     margin-bottom: 25px;
157   }
158
159   &.active {
160     font-weight: $font-bold;
161     border-bottom: 2px solid var(--mainColor);
162   }
163
164   &.title-page-single {
165     font-size: 125%;
166   }
167
168   &:hover, &:active, &:focus {
169     color: var(--mainForegroundColor);
170   }
171
172   @media screen and (max-width: $mobile-view) {
173     margin-right: 15px;
174   }
175 }
176
177 .title-page-about,
178 .title-page-settings {
179   font-size: 115%;
180   font-weight: $font-regular;
181
182   &.active {
183     font-weight: $font-semibold;
184   }
185 }
186
187 .admin-sub-header {
188   display: flex;
189   align-items: center;
190   margin-bottom: 30px;
191
192   .form-sub-title {
193     flex-grow: 1;
194   }
195
196   .admin-sub-nav a {
197     @include disable-default-a-behaviour;
198
199     font-size: 16px;
200     color: var(--mainForegroundColor);
201     padding: 5px 15px;
202     border-radius: 0.25rem;
203
204     &.active {
205       font-weight: $font-semibold;
206       background-color: #f0f0f0;
207       color: #000;
208     }
209   }
210 }
211
212 .form-sub-title {
213   font-size: 20px;
214   font-weight: bold;
215 }
216
217 @keyframes spin {
218   from { transform: scale(1) rotate(0deg);}
219   to { transform: scale(1) rotate(360deg);}
220 }
221
222 // In tables, don't have a hover different background
223 table {
224   .action-button-edit, .action-button-delete {
225     &:hover, &:active, &:focus, &[disabled], &.disabled {
226       background-color: $grey-background-color !important;
227     }
228   }
229 }
230
231 .no-results {
232   height: 40vh;
233   display: flex;
234   align-items: center;
235   justify-content: center;
236   font-size: 16px;
237   font-weight: $font-semibold;
238 }
239
240 .dropdown-item {
241   @include dropdown-with-icon-item;
242
243   my-global-icon {
244     width: 22px;
245     height: 22px;
246   }
247 }
248
249 @media screen and (max-width: #{map-get($grid-breakpoints, xxl)}) {
250   .main-col {
251     &.expanded {
252       .margin-content {
253         margin-left: $expanded-horizontal-margins/2;
254         margin-right: $expanded-horizontal-margins/2;
255       }
256     }
257   }
258 }
259
260 @media screen and (max-width: #{map-get($grid-breakpoints, lg)}) {
261   .main-col {
262     &.expanded {
263       .margin-content {
264         margin-left: $expanded-horizontal-margins/3;
265         margin-right: $expanded-horizontal-margins/3;
266       }
267
268       .sub-menu {
269         padding-left: 50px;
270
271         .title-page {
272           font-size: 17px;
273         }
274       }
275     }
276   }
277 }
278
279 @media screen and (max-width: $small-view) {
280   .main-col {
281     margin-left: 0;
282
283     &, &.expanded {
284       .margin-content {
285         margin-left: 15px;
286         margin-right: 15px;
287       }
288
289       .sub-menu {
290         width: 100vw;
291         overflow-x: auto;
292         padding-left: 15px;
293         padding-right: 15px;
294         margin-bottom: 10px;
295       }
296
297       input[type=text], input[type=password] {
298         width: 100% !important;
299       }
300     }
301   }
302 }