Embed player responsive
[oweals/peertube.git] / client / src / sass / application.scss
1 $FontPathSourceSansPro: "../fonts/source-sans-pro";
2 @import '~source-sans-pro/source-sans-pro';
3 @import '~primeng/resources/themes/bootstrap/theme.css';
4 @import '~primeng/resources/primeng.css';
5 @import '~video.js/dist/video-js.css';
6 @import './video-js-custom.scss';
7
8 [hidden] {
9   display: none !important;
10 }
11
12 body {
13   font-family: 'Source Sans Pro';
14   font-weight: $font-regular;
15   color: #000;
16 }
17
18 input.readonly {
19   /* Force blank on readonly inputs */
20   background-color: #fff !important;
21 }
22
23 label {
24   font-weight: $font-bold;
25   font-size: 15px;
26 }
27
28 .form-error {
29   display: block;
30   color: $red-error;
31   margin-top: 5px;
32 }
33
34 .input-error {
35   border-color: $red-error !important;
36 }
37
38 .glyphicon-black {
39   color: black;
40 }
41
42 .main-col {
43   margin-left: $menu-width;
44
45   .margin-content {
46     margin-left: $not-expanded-horizontal-margins;
47     margin-right: $not-expanded-horizontal-margins;
48   }
49
50   .sub-menu {
51     background-color: #F7F7F7;
52     width: 100%;
53     height: 81px;
54     margin-bottom: 30px;
55     display: flex;
56     align-items: center;
57     padding-left: $not-expanded-horizontal-margins;
58   }
59
60   // Override some properties if the main content is expanded (no menu on the left)
61   &.expanded {
62     margin-left: 0;
63
64     .margin-content {
65       margin-left: $expanded-horizontal-margins;
66       margin-right: $expanded-horizontal-margins;
67     }
68
69     .sub-menu {
70       padding-left: $expanded-horizontal-margins;
71     }
72   }
73 }
74
75 .title-page {
76   color: #000;
77   font-size: 16px;
78   display: inline-block;
79   margin-right: 55px;
80   font-weight: $font-semibold;
81   @include disable-default-a-behaviour;
82
83   &.active, &.title-page-single {
84     border-bottom: 2px solid $orange-color;
85     font-weight: $font-bold;
86     margin-top: 30px;
87     margin-bottom: 25px;
88   }
89
90   &:hover, &:active, &:focus {
91     color: #000;
92   }
93 }
94
95 .admin-sub-header {
96   display: flex;
97   align-items: center;
98   margin-bottom: 30px;
99
100   .admin-sub-title {
101     flex-grow: 1;
102   }
103 }
104
105 .admin-sub-title {
106   font-size: 20px;
107   font-weight: bold;
108 }
109
110 // Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d
111 .glyphicon-refresh-animate {
112   -animation: spin .7s infinite linear;
113   -ms-animation: spin .7s infinite linear;
114   -webkit-animation: spinw .7s infinite linear;
115   -moz-animation: spinm .7s infinite linear;
116 }
117
118 @keyframes spin {
119   from { transform: scale(1) rotate(0deg);}
120   to { transform: scale(1) rotate(360deg);}
121 }
122
123 @-webkit-keyframes spinw {
124   from { -webkit-transform: rotate(0deg);}
125   to { -webkit-transform: rotate(360deg);}
126 }
127
128 @-moz-keyframes spinm {
129   from { -moz-transform: rotate(0deg);}
130   to { -moz-transform: rotate(360deg);}
131 }
132
133 // ngprime data table customizations
134 p-datatable {
135   font-size: 15px !important;
136
137   .ui-datatable-scrollable-header {
138     background-color: #fff !important;
139   }
140
141   .ui-widget-content {
142     border: none !important;
143   }
144
145   .ui-datatable-virtual-table {
146     border-top: none !important;
147   }
148
149   td {
150     border: 1px solid #E5E5E5 !important;
151     padding-left: 15px !important;
152   }
153
154   tr {
155     background-color: #fff !important;
156     height: 46px;
157
158     &:hover {
159       background-color: #f0f0f0 !important;
160     }
161
162     &:not(:hover) {
163       .action-cell * {
164         display: none !important;
165       }
166     }
167
168     &:first-child td {
169       border-top: none !important;
170     }
171
172     &:last-child td {
173       border-bottom: none !important;
174     }
175   }
176
177   th {
178     border: none !important;
179     border-bottom: 1px solid #f0f0f0 !important;
180     text-align: left !important;
181     padding: 5px 0 5px 15px !important;
182     font-weight: $font-semibold !important;
183     color: #000 !important;
184
185     &.ui-state-active, &.ui-sortable-column:hover {
186       background-color: #f0f0f0 !important;
187       border: 1px solid #f0f0f0 !important;
188       border-width: 0 1px !important;
189     }
190   }
191
192   .action-cell {
193     width: 250px !important;
194     padding: 0 !important;
195     text-align: center;
196   }
197
198   p-paginator {
199     .ui-paginator-bottom {
200       position: relative;
201       border: none !important;
202       border: 1px solid #f0f0f0 !important;
203       height: 40px;
204       display: flex;
205       justify-content: center;
206       align-items: center;
207
208       a {
209         color: #000 !important;
210         font-weight: $font-semibold !important;
211         margin-right: 20px !important;
212         outline: 0 !important;
213         border-radius: 3px !important;
214         padding: 5px 2px !important;
215
216         &.ui-state-active {
217           &, &:hover, &:active, &:focus {
218             color: #fff !important;
219             background-color: $orange-color !important;
220           }
221         }
222       }
223     }
224   }
225 }
226
227 // Bootstrap customizations
228 .dropdown-menu {
229   border-radius: 3px;
230   box-shadow: 0 3px 6px;
231   font-size: 15px;
232
233   .dropdown-item {
234     padding: 3px 15px;
235   }
236
237   a {
238     color: #000 !important;
239   }
240 }
241
242 .modal {
243   .modal-header {
244     border-bottom: none;
245
246     .title-page-single {
247       margin: 0;
248     }
249   }
250 }
251
252 .nav {
253   font-size: 16px !important;
254   border: none !important;
255
256   .nav-item .nav-link {
257     margin-right: 30px;
258     padding: 0;
259     border-radius: 3px;
260     border: none !important;
261
262     .tab-link {
263       display: flex !important;
264       align-items: center;
265       height: 30px !important;
266       padding: 0 15px;
267     }
268
269     &, & a {
270       color: #000 !important;
271       @include disable-default-a-behaviour;
272     }
273
274     &.active, &:hover {
275       background-color: #F0F0F0;
276     }
277
278     &.active {
279       font-weight: $font-semibold !important;
280     }
281   }
282 }
283
284
285 .orange-button {
286   @include peertube-button;
287   @include orange-button;
288 }
289
290 .orange-button-link {
291   @include peertube-button-link;
292   @include orange-button;
293 }
294
295 .grey-button {
296   @include peertube-button;
297   @include grey-button;
298 }
299
300 .grey-button-link {
301   @include peertube-button-link;
302   @include grey-button;
303 }
304
305 // On small screen, menu is absolute
306 @media screen and (max-width: 800px) {
307   .title-menu-left {
308     width: 150px !important;
309     position: absolute !important;
310     z-index: 10000;
311   }
312
313   .main-col {
314     margin-left: 0;
315
316     &, &.expanded {
317       .margin-content {
318         margin-left: 10px;
319         margin-right: 10px;
320       }
321
322       .sub-menu {
323         padding-left: 10px;
324         margin-bottom: 10px;
325       }
326
327       input[type=text], input[type=password] {
328         width: 100% !important;
329       }
330     }
331   }
332 }