aboutsummaryrefslogblamecommitdiffhomepage
path: root/client/src/sass/primeng-custom.scss
blob: ed32a7b38e8be75752aec9e8b602055c8f460916 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485



                                         
































































































































































































































































































































































































































































































                                                                                                                            



                                      
                                                
                     



                            
                       
                            
                                                             


                   

                           
                          



                                      
     

   
      
                                                             





                               
                                                  

   
      
                                  
 



                         
                                                               



                                         


      
               
                                                             
                 
 
                   
                                                        

                  
                                                      
       
     

   
                      

               
                                                          

       



                                






                                       




                                    










                            
                                        
                                                  


                                           
                                                  
 
                               
                                                        
                                   
                                                    






                                           
                   
                                                        



                           


                                   
 
                                 
                                          
 
                                                        

         
                               
                                             
 
                                                        









                            



                     
                                       
                       
 


                      



               
                         
                                                               
                         

                                       
                                                    




                              
                   
                           
                  
                
 
                   
                                                                          

         
                  
                                               
         

       
                            

                           
                                             
                          

       



                         






                                 

                       
                                                                          

         
                            


                                            
                             


                                           
                            




                                          
                            




                                           
                            



                                          
                          

                                
                           

                         
                                                                                       
           
 
                                                        
                                                 
                                   



                                        
                                          
 
                         

                                           
                                                             







             
                      
                                                                                            
           
                          







                                                          
                           
                                       
                       
 
                              


                             
 
                               

                                 




       
                          
                          



                                         
                        
 
                        


                       
                        

                                       
 
                             




                                 

     
                        

                                      
 
                             




                                 


     
                 



                                    

                             




                                      

                             

     

 
                                           


                                                
             
 
                      

                            

   

                   

                                                     

     
                      





                                   

                     



                                          

                                                             





                                          

     

 
         


                     
                                        
 
                         

                                          


                         
 


                         

     
                                 
                  


     
                    
                             

                                                             





                                                
                                          
                                

     
                                        
                                

     
                                       
                                

     
                                       
                                

     

                         
                          
                         
 
                
                     
                           
 


                          
 

                          
                           
         
       
 

                        

                          


     
 









                      
 
@import '_variables';
@import '_mixins';

@import '~primeng/resources/primeng.css';

// Taken from old nova light theme

body .p-disabled {
  opacity: 0.5;
}

// Checkbox
body .p-checkbox {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  width: 20px;
  height: 20px;
}
body .p-checkbox .p-checkbox-box {
  border: 1px solid #a6a6a6;
  background-color: #ffffff;
  width: 20px;
  height: 20px;
  text-align: center;
  border-radius: 3px;
  transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
body .p-checkbox .p-checkbox-box:not(.p-disabled):hover {
  border-color: #212121;
}
body .p-checkbox .p-checkbox-box .p-checkbox-icon {
  overflow: hidden;
  position: relative;
  font-size: 18px;
}

// Paginator
body .p-paginator {
  background-color: #f4f4f4;
  border: 1px solid #c8c8c8;
  padding: 0;
}
body .p-paginator .p-paginator-first,
body .p-paginator .p-paginator-prev,
body .p-paginator .p-paginator-next,
body .p-paginator .p-paginator-last {
  color: #848484;
  height: 2.286em;
  min-width: 2.286em;
  border: 0 none;
  line-height: 2.286em;
  padding: 0;
  margin: 0;
  vertical-align: top;
  transition: box-shadow 0.2s;
  border-radius: 0;
}
body .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,
body .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,
body .p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,
body .p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover {
  background-color: #e0e0e0;
  color: #333333;
}
body .p-paginator .p-paginator-first:focus,
body .p-paginator .p-paginator-prev:focus,
body .p-paginator .p-paginator-next:focus,
body .p-paginator .p-paginator-last:focus {
  outline: 0 none;
  outline-offset: 0;
  box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-paginator .p-paginator-current {
  color: #333333;
  height: 2.286em;
  min-width: 2.286em;
  line-height: 2.286em;
}
body .p-paginator .p-dropdown {
  border: 0 none;
}
body .p-paginator .p-dropdown .p-dropdown-trigger, body .p-paginator .p-dropdown .p-dropdown-label {
  color: #848484;
}
body .p-paginator .p-dropdown:hover .p-dropdown-trigger, body .p-paginator .p-dropdown:hover .p-dropdown-label {
  color: #333333;
}
body .p-paginator .p-paginator-first:before {
  position: relative;
  top: 1px;
}
body .p-paginator .p-paginator-prev:before {
  position: relative;
  top: 1px;
}
body .p-paginator .p-paginator-next:before {
  position: relative;
  top: 1px;
}
body .p-paginator .p-paginator-last:before {
  position: relative;
  top: 1px;
}
body .p-paginator .p-paginator-pages {
  vertical-align: top;
  display: inline-block;
  padding: 0;
}
body .p-paginator .p-paginator-pages .p-paginator-page {
  color: #848484;
  height: 2.286em;
  min-width: 2.286em;
  border: 0 none;
  line-height: 2.286em;
  padding: 0;
  margin: 0;
  vertical-align: top;
  transition: box-shadow 0.2s;
  border-radius: 0;
}
body .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover {
  background-color: #e0e0e0;
  color: #333333;
}
body .p-paginator .p-paginator-pages .p-paginator-page:focus {
  outline: 0 none;
  outline-offset: 0;
  box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-paginator .p-dropdown {
  margin-left: 0.5em;
  height: 2.286em;
  min-width: auto;
}

// Dropdown

body .p-dropdown {
  background: #ffffff;
  border: 1px solid #a6a6a6;
  transition: border-color 0.2s, box-shadow 0.2s;
}
body .p-dropdown:not(.p-disabled):hover {
  border-color: #212121;
}
body .p-dropdown:not(.p-disabled).p-focus {
  outline: 0 none;
  outline-offset: 0;
  box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
  border-color: pvar(--mainColor);
}
body .p-dropdown .p-dropdown-label {
  padding-right: 2em;
}
body .p-dropdown .p-dropdown-trigger {
  background-color: #ffffff;
  width: 2em;
  line-height: 2em;
  text-align: center;
  padding: 0;
  color: #848484;
}
body .p-dropdown .p-dropdown-clear-icon {
  color: #848484;
}
body .p-dropdown.p-dropdown-clearable .p-dropdown-label {
  padding-right: 4em;
}
body .p-dropdown-panel {
  padding: 0;
  border: 1px solid #c8c8c8;
  background-color: #ffffff;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
body .p-dropdown-panel .p-dropdown-filter-container {
  padding: 0.429em 0.857em 0.429em 0.857em;
  border-bottom: 1px solid #eaeaea;
  color: #333333;
  background-color: #ffffff;
  margin: 0;
}
body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter {
  width: 100%;
  padding-right: 2em;
}
body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter-icon {
  top: 50%;
  margin-top: -0.5em;
  right: 1.357em;
  color: pvar(--mainColor);
}
body .p-dropdown-panel .p-dropdown-items {
  padding: 0;
}
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item, body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group {
  margin: 0;
  padding: 0.429em 0.857em;
  border: 0 none;
  color: #333333;
  background-color: transparent;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight,
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group.p-highlight {
  color: #ffffff;
  background-color: pvar(--mainColor);
}
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover,
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group:not(.p-highlight):not(.p-disabled):hover {
  color: #333333;
  background-color: #eaeaea;
}
body p-dropdown.ng-dirty.ng-invalid > .p-dropdown {
  border: 1px solid #a80000;
}

// p-toast
body .p-toast .p-toast-message {
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  margin: 0 0 1em 0;
}

// p-calendar
body .p-datepicker {
  padding: 0.857em;
  min-width: 20em;
  background-color: #ffffff;
  color: #333333;
  border: 1px solid #a6a6a6;
}

body .p-datepicker:not(.p-datepicker-inline) {
  border: 1px solid #c8c8c8;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
body .p-datepicker:not(.p-disabled) .p-datepicker-header .p-datepicker-prev:focus,
body .p-datepicker:not(.p-disabled) .p-datepicker-header .p-datepicker-next:focus {
  outline: 0 none;
  outline-offset: 0;
  box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-datepicker:not(.p-disabled) table td a:not(.p-highlight):not(.p-highlight):hover {
  background-color: #eaeaea;
}
body .p-datepicker:not(.p-disabled) .p-monthpicker a.p-monthpicker-month:not(.p-highlight):hover {
  background-color: #eaeaea;
}
body .p-datepicker .p-datepicker-header {
  padding: 0.429em 0.857em 0.429em 0.857em;
  background-color: #ffffff;
  color: #333333;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}
body .p-datepicker .p-datepicker-header .p-datepicker-prev,
body .p-datepicker .p-datepicker-header .p-datepicker-next {
  cursor: pointer;
  top: 0;
  color: #a6a6a6;
  transition: color 0.2s, box-shadow 0.2s;
}
body .p-datepicker .p-datepicker-header .p-datepicker-title {
  margin: 0;
  padding: 0;
  line-height: 1;
}
body .p-datepicker .p-datepicker-header .p-datepicker-title select {
  margin-top: -0.35em;
  margin-bottom: 0;
  transition: color 0.2s, box-shadow 0.2s;
}
body .p-datepicker .p-datepicker-header .p-datepicker-title select:focus {
  outline: 0 none;
  outline-offset: 0;
  box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-datepicker table {
  font-size: 14px;
  margin: 0.857em 0 0 0;
}
body .p-datepicker table th {
  padding: 0.5em;
}
body .p-datepicker table th.p-datepicker-weekheader {
  border-right: 1px solid #a6a6a6;
}
body .p-datepicker table td {
  padding: 0.5em;
}
body .p-datepicker table td > a,
body .p-datepicker table td > span {
  display: block;
  text-align: center;
  color: #333333;
  padding: 0.5em;
  transition: box-shadow 0.2s;
  border-radius: 3px;
}
body .p-datepicker table td > a.p-highlight,
body .p-datepicker table td > span.p-highlight {
  color: #ffffff;
  background-color: pvar(--mainColor);
}
body .p-datepicker table td > a {
  cursor: pointer;
}
body .p-datepicker table td > a:focus {
  outline: 0 none;
  outline-offset: 0;
  box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-datepicker table td.p-datepicker-today > a,
body .p-datepicker table td.p-datepicker-today > span {
  background-color: #d0d0d0;
  color: #333333;
}
body .p-datepicker table td.p-datepicker-today > a.p-highlight,
body .p-datepicker table td.p-datepicker-today > span.p-highlight {
  color: #ffffff;
  background-color: pvar(--mainColor);
}
body .p-datepicker table td.p-datepicker-weeknumber {
  border-right: 1px solid #a6a6a6;
}
body .p-datepicker .p-datepicker-buttonbar {
  border-top: 1px solid #d8dae2;
}
body .p-datepicker .p-timepicker {
  border: 0 none;
  border-top: 1px solid #d8dae2;
  padding: 0.857em;
}
body .p-datepicker .p-timepicker a {
  color: #333333;
  font-size: 1.286em;
}
body .p-datepicker .p-timepicker a:hover {
  color: pvar(--mainColor);
}
body .p-datepicker .p-timepicker span {
  font-size: 1.286em;
}
body .p-datepicker .p-monthpicker .p-monthpicker-month {
  color: #333333;
}
body .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight {
  color: #ffffff;
  background-color: pvar(--mainColor);
}
body .p-datepicker.p-datepicker-timeonly {
  padding: 0;
}
body .p-datepicker.p-datepicker-timeonly .p-timepicker {
  border-top: 0 none;
}
body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group {
  border-right: 1px solid #d8dae2;
  padding-right: 0.857em;
  padding-left: 0.857em;
  padding-top: 0;
  padding-bottom: 0;
}
body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child {
  padding-left: 0;
}
body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child {
  padding-right: 0;
  border-right: 0 none;
}
body .p-calendar.p-calendar-w-btn .p-inputtext {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0 none;
}
body .p-calendar.p-calendar-w-btn .p-inputtext:enabled:hover:not(.p-error),
body .p-calendar.p-calendar-w-btn .p-inputtext:enabled:focus:not(.p-error) {
  border-right: 0 none;
}
body .p-calendar.p-calendar-w-btn .p-datepicker-trigger.p-button {
  width: 2.357em;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
body .ui-fluid .p-calendar.p-calendar-w-btn input.p-inputtext {
  width: calc(100% - 2.357em);
}
body p-calendar.ng-dirty.ng-invalid > .p-calendar > .p-inputtext {
  border: 1px solid #a80000;
}
body .p-timepicker .p-separator {
  margin-left: 0;
  min-width: 0.75rem;
}

// auto complete
body .p-autocomplete .p-autocomplete-input {
  padding: 0.429em;
}
body .p-autocomplete-panel {
  padding: 0;
  border: 1px solid #c8c8c8;
  background-color: #ffffff;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
body .p-autocomplete-panel .p-autocomplete-items {
  padding: 0;
}
body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item {
  margin: 0;
  padding: 0.429em 0.857em;
  border: 0 none;
  color: #333333;
  background-color: transparent;
  border-radius: 0;
}
body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight,
body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover {
  color: #ffffff;
  background-color: pvar(--mainColor);
}
body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-group {
  padding: 0.429em 0.857em;
  background-color: #d8dae2;
  color: #333333;
}
body p-autocomplete.ng-dirty.ng-invalid > .p-autocomplete > .p-inputtext {
  border: 1px solid #a80000;
}

// select button
body .p-selectbutton .p-button {
  background-color: #dadada;
  border: 1px solid #dadada;
  color: #333333;
  overflow: hidden;
  transition: background-color 0.2s, box-shadow 0.2s;
}
body .p-selectbutton .p-button .p-button-icon-left {
  color: #666666;
}
body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover {
  background-color: #c8c8c8;
  border-color: #c8c8c8;
  color: #333333;
}
body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left {
  color: #212121;
}
body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight).ui-state-focus {
  box-shadow: 0 0 0 0.2em #8dcdff;
  z-index: 1;
}
body .p-selectbutton .p-button.p-highlight {
  background-color: pvar(--mainColor);
  border-color: pvar(--mainColor);
  color: #ffffff;
}
body .p-selectbutton .p-button.p-highlight .p-button-icon-left {
  color: #ffffff;
}
body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover {
  background-color: pvar(--mainColorLighter);
  border-color: pvar(--mainColorLighter);
  color: #ffffff;
}
body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover .p-button-icon-left {
  color: #ffffff;
}
body .p-selectbutton .p-button:first-child {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
body .p-selectbutton .p-button:last-child {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
body p-selectbutton.ng-dirty.ng-invalid .p-button {
  border: 1px solid #a80000;
}

//

@mixin glyphicon-light {
  font-family: 'Glyphicons Halflings';
  text-decoration: none !important;
  color: pvar(--mainForegroundColor) !important;
  font-display: swap;
}

// data table customizations
p-table {
  .p-datatable-header {
    border: none !important;
    background-color: pvar(--mainBackgroundColor) !important;

    .caption {
      height: 40px;
      width: 100%;
      display: inline-flex;
      align-items: center;

      .input-group-text {
        background-color: transparent;
      }
    }
  }

  th {
    background-color: pvar(--mainBackgroundColor) !important;
    outline: 0;
  }

  td, th {
    font-family: $main-fonts;
    font-size: 15px !important;
    color: pvar(--mainForegroundColor) !important;
  }

  td {
    padding-left: 15px !important;

    &.expand-cell {
      padding: 10px 15px;
    }

    &:not(.action-cell):not(.expand-cell):not(.checkbox-cell) {
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
    }
  }

  tr {
    outline: 0;
    background-color: pvar(--mainBackgroundColor) !important;
    height: 46px;

    &.p-highlight {
      background-color: pvar(--submenuColor) !important;

      td, td > a {
        color: pvar(--mainForegroundColor) !important;
      }
    }
  }

  .p-datatable-tbody {
    tr {
      &:hover {
        background-color: pvar(--submenuColor) !important;
      }

      td {
        border: none !important;
      }

      &:first-child td {
        border-top: none !important;
      }

      &:last-child td {
        border-bottom: none !important;
      }

      &:focus + tr > td,
      &:focus > td {
        box-shadow: none !important;
      }
    }

    .expander {
      cursor: pointer;
      position: relative;
      top: 1px;
    }
  }

  th {
    border: none !important;
    border-bottom: 1px solid !important;
    border-color: pvar(--submenuColor) !important;
    text-align: left !important;
    padding: 5px 0 5px 15px !important;
    font-weight: $font-semibold !important;
    color: pvar(--mainForegroundColor) !important;

    &.p-sortable-column:hover {
      background-color: pvar(--submenuColor) !important;
      border: 1px solid !important;
      border-color: pvar(--submenuColor) !important;
      border-width: 0 1px !important;

      &:first-child {
        border-width: 0 1px 0 0 !important;
      }
    }

    &.p-highlight {
      background-color: pvar(--submenuColor) !important;

      .pi {
        @extend .glyphicon;

        color: #000 !important;
        font-size: 11px !important;
        top: 0 !important;

        &.pi-sort-amount-up-alt {
          @extend .glyphicon-triangle-top;

          color: pvar(--mainForegroundColor) !important;
        }

        &.pi-sort-amount-down {
          @extend .glyphicon-triangle-bottom;

          color: pvar(--mainForegroundColor) !important;
        }
      }
    }
  }

  .action-cell {
    width: 250px !important;
    padding: 0 !important;
    text-align: center;

    .dropdown-root,
    my-edit-button,
    my-delete-button,
    my-button {
      display: inline-block !important;
      margin-left: 5px;

      :first-child {
        margin-left: 0
      }
    }
  }

  p-paginator {
    .p-paginator-bottom {
      background-color: pvar(--mainBackgroundColor) !important;
      position: relative;
      border: none;
      border-top: 1px solid !important;
      border-color: pvar(--submenuColor) !important;
      height: 40px;
      display: flex;
      justify-content: center;
      align-items: center;

      .p-dropdown {
        position: absolute;
        top: 10px;
        left: 0;

        &.p-focus {
          box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest);
        }

        .p-label {
          color: pvar(--inputPlaceholderColor);
        }
      }

      .p-paginator-current {
        position: absolute;
        right: 0;
        color: pvar(--inputPlaceholderColor);
        overflow: visible;
      }

      .p-paginator-first,
      .p-paginator-prev,
      .p-paginator-next,
      .p-paginator-last {
        @include glyphicon-light;
        padding: 5px 2px;
        height: auto;
        outline: none;
        font-size: 13px;
        top: -1px;

        &.focus-within,
        &:focus {
          box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest);
        }

        &.p-disabled:hover {
          background-color: #fff !important;
        }

        &.p-paginator-first {
          @extend .glyphicon-step-backward;
        }

        &.p-paginator-prev {
          @extend .glyphicon-chevron-left;

          margin-right: 10px;
        }

        &.p-paginator-next {
          @extend .glyphicon-chevron-right;

          margin-left: 10px;
        }

        &.p-paginator-last {
          @extend .glyphicon-step-forward;
        }
      }

      .p-paginator-pages {
        height: auto !important;

        .p-paginator-page {
          &.focus-within,
          &:focus {
            box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest) !important;
          }

          color: pvar(--mainForegroundColor) !important;
          font-weight: $font-semibold !important;
          margin: 0 5px !important;
          outline: 0 !important;
          border-radius: 3px !important;
          padding: 5px 2px !important;
          height: auto !important;
          line-height: initial !important;

          &.p-highlight {
            &, &:hover, &:active, &:focus {
              color: #fff !important;
              background-color: pvar(--mainColor) !important;
            }
          }
        }
      }
    }
  }
}

// overflow data table
@mixin overflow-datatable ($table-min-width, $horizontal-margins, $mobile-paginator: true) {
  p-table {
    .p-datatable-wrapper {
      overflow-x: auto;
      max-width: calc(100vw - #{$horizontal-margins * 2});

      table {
        min-width: $table-min-width;
      }
    }

    @if $mobile-paginator {
      p-paginator .p-paginator-bottom {
        display: block;

        .p-paginator-current {
          position: relative;
          display: block;
        }

        a, .p-paginator-pages {
          vertical-align: middle;
        }
      }
    }
  }
}

// PrimeNG calendar tweaks
p-calendar .p-datepicker {
  a {
    @include disable-default-a-behaviour;
  }

  .p-datepicker-header {

    .p-datepicker-year {
      margin-left: 5px;
    }

    .p-datepicker-next {
      @extend .glyphicon-chevron-right;
      @include glyphicon-light;

      color: #000 !important;
      text-align: right;

      .pi.pi-chevron-right {
        display: none !important;
      }
    }

    .p-datepicker-prev {
      @extend .glyphicon-chevron-left;
      @include glyphicon-light;

      color: #000 !important;
      text-align: left;

      .pi.pi-chevron-left {
        display: none !important;
      }
    }
  }

  .p-timepicker {

    .pi.pi-chevron-up {
      @extend .glyphicon-chevron-up;
      @include glyphicon-light;

      color: #000 !important;
    }

    .pi.pi-chevron-down {
      @extend .glyphicon-chevron-down;
      @include glyphicon-light;

      color: #000 !important;
    }
  }
}

p-tablecheckbox:hover div .p-checkbox-box {
  box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
}

.p-checkbox {

  &, .p-checkbox-box {
    width: 18px !important;
    height: 18px !important;
  }

  .p-checkbox-box {
    &.p-highlight {
      border-color: pvar(--mainColor) !important;
      background-color: pvar(--mainColor) !important;
    }

    .p-checkbox-icon {
      position: relative;
      overflow: visible !important;

      &:after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: -2px;
        width: 5px;
        height: 12px;
        opacity: 0;
        transform: rotate(45deg) scale(0);
        border-right: 2px solid pvar(--mainBackgroundColor);
        border-bottom: 2px solid pvar(--mainBackgroundColor);
      }

      &.pi-check:after {
        opacity: 1;
        transform: rotate(45deg) scale(1);
      }
    }
  }
}

p-toast {
  .p-toast {
    width: auto;
    max-width: 300px;
    z-index: z(notification) !important;

    .p-toast-icon-close {
      font-family: "Glyphicons Halflings";
      opacity: 0;
      position: absolute;
      right: 5px;
      top: 5px;

      &:after {
        content: "\e014";
      }
    }

    &:hover .p-toast-icon-close {
      opacity: .3;
    }
  }

  .p-toast-message {
    font-family: $main-fonts;
    background-color: pvar(--mainBackgroundColor) !important;
    color: pvar(--mainForegroundColor) !important;
    border-radius: 5px;
    box-sizing: border-box;
    border: 1px solid #EBEEF5 !important;
    box-shadow: 0 2px 12px 0 rgba(0, 0 , 0, .1);
    overflow: hidden;

    &.p-toast-message-success .glyphicon {
      color: #8BC34A !important;
    }

    &.p-toast-message-error .glyphicon {
      color: #F44336 !important;
    }

    &.p-toast-message-warn .glyphicon {
      color: #F1680D !important;
    }

    &.p-toast-message-info .glyphicon {
      color: #03A9F4 !important;
    }

    .notification-block {
      display: flex;
      align-items: center;
      padding: 10px 20px;

      .message {
        flex-grow: 1;
        margin-right: 20px;

        h3 {
          font-size: 21px;
        }

        p {
          font-size: 15px;
          margin-bottom: 0;
        }
      }

      .glyphicon {
        font-size: 32px;
        margin-right: 5px;
      }
    }
  }
}

.p-selectbutton {
  .p-button:focus {
    outline: none;
  }

  .p-button-label {
    padding: 5px 15px;
    font-size: 15px;
    font-weight: 600;
  }
}