Add visitor settings, rework logged-in dropdown (#2514)
[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: #{$orange-color};
27   --mainColorLighter: #{$orange-color-lighter};
28   --mainHoverColor: #{$orange-hover-color};
29   --mainBackgroundColor: #{$bg-color};
30   --mainForegroundColor: #{$fg-color};
31   --secondaryColor: #{$cyan-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 .admin-sub-header {
178   display: flex;
179   align-items: center;
180   margin-bottom: 30px;
181
182   .form-sub-title {
183     flex-grow: 1;
184   }
185
186   .admin-sub-nav a {
187     @include disable-default-a-behaviour;
188
189     font-size: 16px;
190     color: var(--mainForegroundColor);
191     padding: 5px 15px;
192     border-radius: 0.25rem;
193
194     &.active {
195       font-weight: $font-semibold;
196       background-color: #f0f0f0;
197       color: #000;
198     }
199   }
200 }
201
202 .form-sub-title {
203   font-size: 20px;
204   font-weight: bold;
205 }
206
207 @keyframes spin {
208   from { transform: scale(1) rotate(0deg);}
209   to { transform: scale(1) rotate(360deg);}
210 }
211
212 // In tables, don't have a hover different background
213 table {
214   .action-button-edit, .action-button-delete {
215     &:hover, &:active, &:focus, &[disabled], &.disabled {
216       background-color: $grey-background-color !important;
217     }
218   }
219 }
220
221 .no-results {
222   height: 40vh;
223   display: flex;
224   align-items: center;
225   justify-content: center;
226   font-size: 16px;
227   font-weight: $font-semibold;
228 }
229
230 .dropdown-item {
231   @include dropdown-with-icon-item;
232
233   my-global-icon {
234     width: 22px;
235     height: 22px;
236   }
237 }
238
239 @media screen and (max-width: #{map-get($grid-breakpoints, xxl)}) {
240   .main-col {
241     &.expanded {
242       .margin-content {
243         margin-left: $expanded-horizontal-margins/2;
244         margin-right: $expanded-horizontal-margins/2;
245       }
246     }
247   }
248 }
249
250 @media screen and (max-width: #{map-get($grid-breakpoints, lg)}) {
251   .main-col {
252     &.expanded {
253       .margin-content {
254         margin-left: $expanded-horizontal-margins/3;
255         margin-right: $expanded-horizontal-margins/3;
256       }
257
258       .sub-menu {
259         padding-left: 50px;
260
261         .title-page {
262           font-size: 17px;
263         }
264       }
265     }
266   }
267 }
268
269 @media screen and (max-width: $small-view) {
270   .main-col {
271     margin-left: 0;
272
273     &, &.expanded {
274       .margin-content {
275         margin-left: 15px;
276         margin-right: 15px;
277       }
278
279       .sub-menu {
280         width: 100vw;
281         overflow-x: auto;
282         padding-left: 15px;
283         padding-right: 15px;
284         margin-bottom: 10px;
285       }
286
287       input[type=text], input[type=password] {
288         width: 100% !important;
289       }
290     }
291   }
292 }