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