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