]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/sass/application.scss
89957704b319906cfd5a2ccd95e6f9bc0d28d69f
[github/Chocobozzz/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 .anchor {
250 position: relative;
251 top: #{-($header-height + 20px)};
252 }
253
254 @media screen and (max-width: #{map-get($grid-breakpoints, xxl)}) {
255 .main-col {
256 &.expanded {
257 .margin-content {
258 margin-left: $expanded-horizontal-margins/2;
259 margin-right: $expanded-horizontal-margins/2;
260 }
261 }
262 }
263 }
264
265 @media screen and (max-width: #{map-get($grid-breakpoints, lg)}) {
266 .main-col {
267 &.expanded {
268 .margin-content {
269 margin-left: $expanded-horizontal-margins/3;
270 margin-right: $expanded-horizontal-margins/3;
271 }
272
273 .sub-menu {
274 padding-left: 50px;
275
276 .title-page {
277 font-size: 17px;
278 }
279 }
280 }
281 }
282 }
283
284 @media screen and (max-width: $small-view) {
285 .main-col {
286 margin-left: 0;
287
288 &, &.expanded {
289 .margin-content {
290 margin-left: 15px;
291 margin-right: 15px;
292 }
293
294 .sub-menu {
295 width: 100vw;
296 overflow-x: auto;
297 padding-left: 15px;
298 padding-right: 15px;
299 margin-bottom: 10px;
300 }
301
302 input[type=text], input[type=password] {
303 width: 100% !important;
304 }
305 }
306 }
307 }