jqh 5 лет назад
Родитель
Сommit
3b514cc2cc
100 измененных файлов с 0 добавлено и 13114 удалено
  1. 0 12
      database/migrations/2016_01_04_173148_create_admin_tables.php
  2. 0 663
      resources/assets/dcat/plugins/bootstrap3-editable/css/bootstrap-editable.css
  3. BIN
      resources/assets/dcat/plugins/bootstrap3-editable/img/clear.png
  4. BIN
      resources/assets/dcat/plugins/bootstrap3-editable/img/loading.gif
  5. 0 4
      resources/assets/dcat/plugins/bootstrap3-editable/js/bootstrap-editable.min.js
  6. 0 6
      resources/assets/dcat/plugins/chart.js/chart.bundle.min.js
  7. 0 0
      resources/assets/dcat/plugins/charts/apexcharts.css
  8. 0 0
      resources/assets/dcat/plugins/charts/apexcharts.js
  9. 0 0
      resources/assets/dcat/plugins/charts/apexcharts.min.js
  10. 0 0
      resources/assets/dcat/plugins/extensions/sweetalert2.all.min.js
  11. 0 0
      resources/assets/dcat/plugins/extensions/sweetalert2.min.css
  12. 0 0
      resources/assets/dcat/plugins/extensions/toastr.css
  13. 0 0
      resources/assets/dcat/plugins/extensions/toastr.min.js
  14. 0 1
      resources/assets/dcat/plugins/jquery.sparkline/jquery.sparkline.min.js
  15. 0 0
      resources/assets/dcat/plugins/perfect-scrollbar/perfect-scrollbar.min.css
  16. 0 0
      resources/assets/dcat/plugins/select/select2.css
  17. 0 0
      resources/assets/dcat/plugins/select/select2.full.js
  18. 0 0
      resources/assets/dcat/plugins/select/select2.full.min.js
  19. 0 0
      resources/assets/dcat/plugins/select/select2.js
  20. 0 0
      resources/assets/dcat/plugins/select/select2.min.css
  21. 0 0
      resources/assets/dcat/plugins/select/select2.min.js
  22. 0 0
      resources/assets/dcat/plugins/tables/datatable/datatables.min.css
  23. 0 0
      resources/assets/dcat/plugins/vendors-rtl.min.css
  24. 0 0
      resources/assets/dcat/plugins/vendors.min.css
  25. 0 0
      resources/assets/dcat/plugins/vendors.min.js
  26. BIN
      resources/assets/images/pages/404.png
  27. BIN
      resources/assets/images/pages/500.png
  28. BIN
      resources/assets/images/pages/arrow-down.png
  29. BIN
      resources/assets/images/pages/login/bg.jpg
  30. 0 1
      resources/assets/images/pages/login/facebook.svg
  31. 0 1
      resources/assets/images/pages/login/github.svg
  32. 0 1
      resources/assets/images/pages/login/google.svg
  33. 0 1
      resources/assets/images/pages/login/twitter.svg
  34. BIN
      resources/assets/images/pages/rocket.png
  35. BIN
      resources/assets/images/waves.png
  36. 0 3625
      resources/assets/vendors/css/animate/animate.css
  37. 0 5
      resources/assets/vendors/css/calendars/extensions/daygrid.min.css
  38. 0 4
      resources/assets/vendors/css/calendars/extensions/timegrid.min.css
  39. 0 4
      resources/assets/vendors/css/calendars/fullcalendar.min.css
  40. 0 176
      resources/assets/vendors/css/calendars/fullcalendar.print.css
  41. 0 23
      resources/assets/vendors/css/extensions/dataTables.checkboxes.css
  42. BIN
      resources/assets/vendors/css/extensions/dd-icon/dd-icon.eot
  43. 0 15
      resources/assets/vendors/css/extensions/dd-icon/dd-icon.svg
  44. BIN
      resources/assets/vendors/css/extensions/dd-icon/dd-icon.ttf
  45. BIN
      resources/assets/vendors/css/extensions/dd-icon/dd-icon.woff
  46. 0 1
      resources/assets/vendors/css/extensions/dragula.min.css
  47. 0 14
      resources/assets/vendors/css/extensions/jquery.contextMenu.min.css
  48. 0 1
      resources/assets/vendors/css/extensions/nouislider.min.css
  49. 0 22
      resources/assets/vendors/css/extensions/pace.css
  50. 0 0
      resources/assets/vendors/css/extensions/plyr.css
  51. 0 0
      resources/assets/vendors/css/extensions/shepherd-theme-default.css
  52. 0 11
      resources/assets/vendors/css/extensions/swiper.min.css
  53. 0 138
      resources/assets/vendors/css/extensions/tether-theme-arrows.css
  54. 0 1
      resources/assets/vendors/css/extensions/tether.min.css
  55. 0 121
      resources/assets/vendors/css/extensions/unslider.css
  56. 0 36
      resources/assets/vendors/css/forms/spinner/jquery.bootstrap-touchspin.css
  57. 0 64
      resources/assets/vendors/css/forms/toggle/switchery.css
  58. 0 1
      resources/assets/vendors/css/forms/toggle/switchery.min.css
  59. 0 111
      resources/assets/vendors/css/modal/facebook.css
  60. 0 115
      resources/assets/vendors/css/modal/google.css
  61. 0 140
      resources/assets/vendors/css/modal/twitter.css
  62. 0 146
      resources/assets/vendors/css/ui/prism-treeview.css
  63. 0 347
      resources/assets/vendors/css/ui/prism.min.css
  64. 0 0
      resources/assets/vendors/css/weather-icons/climacons.min.css
  65. 0 5
      resources/assets/vendors/js/calendar/extensions/daygrid.min.js
  66. 0 5
      resources/assets/vendors/js/calendar/extensions/interactions.min.js
  67. 0 5
      resources/assets/vendors/js/calendar/extensions/timegrid.min.js
  68. 0 5
      resources/assets/vendors/js/calendar/fullcalendar.min.js
  69. 0 0
      resources/assets/vendors/js/extensions/dragula.min.js
  70. 0 0
      resources/assets/vendors/js/extensions/dropzone.min.js
  71. 0 0
      resources/assets/vendors/js/extensions/i18next.min.js
  72. 0 0
      resources/assets/vendors/js/extensions/i18nextBrowserLanguageDetector.min.js
  73. 0 0
      resources/assets/vendors/js/extensions/i18nextXHRBackend.min.js
  74. 0 1
      resources/assets/vendors/js/extensions/jquery-i18next.min.js
  75. 0 0
      resources/assets/vendors/js/extensions/jquery.contextMenu.min.js
  76. 0 7
      resources/assets/vendors/js/extensions/jquery.mousewheel.min.js
  77. 0 5
      resources/assets/vendors/js/extensions/jquery.steps.min.js
  78. 0 5
      resources/assets/vendors/js/extensions/jquery.ui.position.min.js
  79. 0 0
      resources/assets/vendors/js/extensions/lang-all.js
  80. 0 0
      resources/assets/vendors/js/extensions/locale-all.js
  81. 0 5
      resources/assets/vendors/js/extensions/moment.min.js
  82. 0 1
      resources/assets/vendors/js/extensions/nouislider.min.js
  83. 0 1
      resources/assets/vendors/js/extensions/pace.min.js
  84. 0 0
      resources/assets/vendors/js/extensions/polyfill.min.js
  85. 0 1571
      resources/assets/vendors/js/extensions/shepherd.min.js
  86. 0 11
      resources/assets/vendors/js/extensions/swiper.min.js
  87. 0 0
      resources/assets/vendors/js/extensions/tether.min.js
  88. 0 59
      resources/assets/vendors/js/extensions/transition.js
  89. 0 353
      resources/assets/vendors/js/extensions/wNumb.js
  90. 0 535
      resources/assets/vendors/js/forms/extended/maxlength/bootstrap-maxlength.js
  91. 0 6
      resources/assets/vendors/js/forms/extended/typeahead/bloodhound.min.js
  92. 0 783
      resources/assets/vendors/js/forms/extended/typeahead/handlebars.js
  93. 0 6
      resources/assets/vendors/js/forms/extended/typeahead/typeahead.bundle.min.js
  94. 0 4
      resources/assets/vendors/js/forms/repeater/jquery.repeater.min.js
  95. 0 735
      resources/assets/vendors/js/forms/spinner/jquery.bootstrap-touchspin.js
  96. 0 1955
      resources/assets/vendors/js/forms/toggle/switchery.js
  97. 0 0
      resources/assets/vendors/js/forms/toggle/switchery.min.js
  98. 0 1217
      resources/assets/vendors/js/forms/validation/jqBootstrapValidation.js
  99. 0 3
      resources/assets/vendors/js/forms/validation/jquery.validate.min.js
  100. 0 20
      resources/assets/vendors/js/miscellaneous/countdown.min.js

+ 0 - 12
database/migrations/2016_01_04_173148_create_admin_tables.php

@@ -89,17 +89,6 @@ class CreateAdminTables extends Migration
             $table->unique(['permission_id', 'menu_id']);
             $table->timestamps();
         });
-
-        Schema::create($this->config('database.operation_log_table'), function (Blueprint $table) {
-            $table->bigIncrements('id');
-            $table->bigInteger('user_id');
-            $table->string('path');
-            $table->string('method', 10);
-            $table->string('ip');
-            $table->text('input');
-            $table->index('user_id');
-            $table->timestamps();
-        });
     }
 
     /**
@@ -117,6 +106,5 @@ class CreateAdminTables extends Migration
         Schema::dropIfExists($this->config('database.role_permissions_table'));
         Schema::dropIfExists($this->config('database.role_menu_table'));
         Schema::dropIfExists($this->config('database.permission_menu_table'));
-        Schema::dropIfExists($this->config('database.operation_log_table'));
     }
 }

+ 0 - 663
resources/assets/dcat/plugins/bootstrap3-editable/css/bootstrap-editable.css

@@ -1,663 +0,0 @@
-/*! X-editable - v1.5.1 
-* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
-* http://github.com/vitalets/x-editable
-* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
-.editableform {
-    margin-bottom: 0; /* overwrites bootstrap margin */
-}
-
-.editableform .control-group {
-    margin-bottom: 0; /* overwrites bootstrap margin */
-    white-space: nowrap; /* prevent wrapping buttons on new line */
-    line-height: 20px; /* overwriting bootstrap line-height. See #133 */
-}
-
-/* 
-  BS3 width:1005 for inputs breaks editable form in popup 
-  See: https://github.com/vitalets/x-editable/issues/393
-*/
-.editableform .form-control {
-    width: auto;
-}
-
-.editable-buttons {
-   display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
-   vertical-align: top;
-   margin-left: 7px;
-   /* inline-block emulation for IE7*/
-   zoom: 1; 
-   *display: inline;
-}
-
-.editable-buttons.editable-buttons-bottom {
-   display: block; 
-   margin-top: 7px;
-   margin-left: 0;
-}
-
-.editable-input {
-    vertical-align: top; 
-    display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
-    width: auto; /* bootstrap-responsive has width: 100% that breakes layout */
-    white-space: normal; /* reset white-space decalred in parent*/
-   /* display-inline emulation for IE7*/
-   zoom: 1; 
-   *display: inline;   
-}
-
-.editable-buttons .editable-cancel {
-   margin-left: 7px; 
-}
-
-/*for jquery-ui buttons need set height to look more pretty*/
-.editable-buttons button.ui-button-icon-only {
-   height: 24px; 
-   width: 30px;
-}
-
-.editableform-loading {
-    background: url('../img/loading.gif') center center no-repeat;  
-    height: 25px;
-    width: auto; 
-    min-width: 25px; 
-}
-
-.editable-inline .editableform-loading {
-    background-position: left 5px;      
-}
-
- .editable-error-block {
-    max-width: 300px;
-    margin: 5px 0 0 0;
-    width: auto;
-    white-space: normal;
-}
-
-/*add padding for jquery ui*/
-.editable-error-block.ui-state-error {
-    padding: 3px;  
-}  
-
-.editable-error {
-   color: red;  
-}
-
-/* ---- For specific types ---- */
-
-.editableform .editable-date {
-    padding: 0; 
-    margin: 0;
-    float: left;
-}
-
-/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */
-.editable-inline .add-on .icon-th {
-   margin-top: 3px;
-   margin-left: 1px; 
-}
-
-
-/* checklist vertical alignment */
-.editable-checklist label input[type="checkbox"], 
-.editable-checklist label span {
-    vertical-align: middle;
-    margin: 0;
-}
-
-.editable-checklist label {
-    white-space: nowrap; 
-}
-
-/* set exact width of textarea to fit buttons toolbar */
-.editable-wysihtml5 {
-    width: 566px; 
-    height: 250px; 
-}
-
-/* clear button shown as link in date inputs */
-.editable-clear {
-   clear: both;
-   font-size: 0.9em;
-   text-decoration: none;
-   text-align: right;
-}
-
-/* IOS-style clear button for text inputs */
-.editable-clear-x {
-   background: url('../img/clear.png') center center no-repeat;
-   display: block;
-   width: 13px;    
-   height: 13px;
-   position: absolute;
-   opacity: 0.6;
-   z-index: 100;
-   
-   top: 50%;
-   right: 6px;
-   margin-top: -6px;
-   
-}
-
-.editable-clear-x:hover {
-   opacity: 1;
-}
-
-.editable-pre-wrapped {
-   white-space: pre-wrap;
-}
-.editable-container.editable-popup {
-    max-width: none !important; /* without this rule poshytip/tooltip does not stretch */
-}  
-
-.editable-container.popover {
-    width: auto; /* without this rule popover does not stretch */
-}
-
-.editable-container.editable-inline {
-    display: inline-block; 
-    vertical-align: middle;
-    width: auto;
-    /* inline-block emulation for IE7*/
-    zoom: 1; 
-    *display: inline;    
-}
-
-.editable-container.ui-widget {
-   font-size: inherit;  /* jqueryui widget font 1.1em too big, overwrite it */
-   z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */
-}
-.editable-click, 
-a.editable-click, 
-a.editable-click:hover {
-    text-decoration: none;
-    border-bottom: dashed 1px #0088cc;
-}
-
-.editable-click.editable-disabled, 
-a.editable-click.editable-disabled, 
-a.editable-click.editable-disabled:hover {
-   color: #585858;  
-   cursor: default;
-   border-bottom: none;
-}
-
-.editable-empty, .editable-empty:hover, .editable-empty:focus{
-  font-style: italic; 
-  color: #DD1144;  
-  /* border-bottom: none; */
-  text-decoration: none;
-}
-
-.editable-unsaved {
-  font-weight: bold; 
-}
-
-.editable-unsaved:after {
-/*    content: '*'*/
-}
-
-.editable-bg-transition {
-  -webkit-transition: background-color 1400ms ease-out;
-  -moz-transition: background-color 1400ms ease-out;
-  -o-transition: background-color 1400ms ease-out;
-  -ms-transition: background-color 1400ms ease-out;
-  transition: background-color 1400ms ease-out;  
-}
-
-/*see https://github.com/vitalets/x-editable/issues/139 */
-.form-horizontal .editable
-{ 
-    padding-top: 5px;
-    display:inline-block;
-}
-
-
-/*!
- * Datepicker for Bootstrap
- *
- * Copyright 2012 Stefan Petre
- * Improvements by Andrew Rowls
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- */
-.datepicker {
-  padding: 4px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  direction: ltr;
-  /*.dow {
-		border-top: 1px solid #ddd !important;
-	}*/
-
-}
-.datepicker-inline {
-  width: 220px;
-}
-.datepicker.datepicker-rtl {
-  direction: rtl;
-}
-.datepicker.datepicker-rtl table tr td span {
-  float: right;
-}
-.datepicker-dropdown {
-  top: 0;
-  left: 0;
-}
-.datepicker-dropdown:before {
-  content: '';
-  display: inline-block;
-  border-left: 7px solid transparent;
-  border-right: 7px solid transparent;
-  border-bottom: 7px solid #ccc;
-  border-bottom-color: rgba(0, 0, 0, 0.2);
-  position: absolute;
-  top: -7px;
-  left: 6px;
-}
-.datepicker-dropdown:after {
-  content: '';
-  display: inline-block;
-  border-left: 6px solid transparent;
-  border-right: 6px solid transparent;
-  border-bottom: 6px solid #ffffff;
-  position: absolute;
-  top: -6px;
-  left: 7px;
-}
-.datepicker > div {
-  display: none;
-}
-.datepicker.days div.datepicker-days {
-  display: block;
-}
-.datepicker.months div.datepicker-months {
-  display: block;
-}
-.datepicker.years div.datepicker-years {
-  display: block;
-}
-.datepicker table {
-  margin: 0;
-}
-.datepicker td,
-.datepicker th {
-  text-align: center;
-  width: 20px;
-  height: 20px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  border: none;
-}
-.table-striped .datepicker table tr td,
-.table-striped .datepicker table tr th {
-  background-color: transparent;
-}
-.datepicker table tr td.day:hover {
-  background: #eeeeee;
-  cursor: pointer;
-}
-.datepicker table tr td.old,
-.datepicker table tr td.new {
-  color: #999999;
-}
-.datepicker table tr td.disabled,
-.datepicker table tr td.disabled:hover {
-  background: none;
-  color: #999999;
-  cursor: default;
-}
-.datepicker table tr td.today,
-.datepicker table tr td.today:hover,
-.datepicker table tr td.today.disabled,
-.datepicker table tr td.today.disabled:hover {
-  background-color: #fde19a;
-  background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
-  background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
-  background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
-  background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
-  background-image: linear-gradient(top, #fdd49a, #fdf59a);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
-  border-color: #fdf59a #fdf59a #fbed50;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  color: #000;
-}
-.datepicker table tr td.today:hover,
-.datepicker table tr td.today:hover:hover,
-.datepicker table tr td.today.disabled:hover,
-.datepicker table tr td.today.disabled:hover:hover,
-.datepicker table tr td.today:active,
-.datepicker table tr td.today:hover:active,
-.datepicker table tr td.today.disabled:active,
-.datepicker table tr td.today.disabled:hover:active,
-.datepicker table tr td.today.active,
-.datepicker table tr td.today:hover.active,
-.datepicker table tr td.today.disabled.active,
-.datepicker table tr td.today.disabled:hover.active,
-.datepicker table tr td.today.disabled,
-.datepicker table tr td.today:hover.disabled,
-.datepicker table tr td.today.disabled.disabled,
-.datepicker table tr td.today.disabled:hover.disabled,
-.datepicker table tr td.today[disabled],
-.datepicker table tr td.today:hover[disabled],
-.datepicker table tr td.today.disabled[disabled],
-.datepicker table tr td.today.disabled:hover[disabled] {
-  background-color: #fdf59a;
-}
-.datepicker table tr td.today:active,
-.datepicker table tr td.today:hover:active,
-.datepicker table tr td.today.disabled:active,
-.datepicker table tr td.today.disabled:hover:active,
-.datepicker table tr td.today.active,
-.datepicker table tr td.today:hover.active,
-.datepicker table tr td.today.disabled.active,
-.datepicker table tr td.today.disabled:hover.active {
-  background-color: #fbf069 \9;
-}
-.datepicker table tr td.today:hover:hover {
-  color: #000;
-}
-.datepicker table tr td.today.active:hover {
-  color: #fff;
-}
-.datepicker table tr td.range,
-.datepicker table tr td.range:hover,
-.datepicker table tr td.range.disabled,
-.datepicker table tr td.range.disabled:hover {
-  background: #eeeeee;
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
-}
-.datepicker table tr td.range.today,
-.datepicker table tr td.range.today:hover,
-.datepicker table tr td.range.today.disabled,
-.datepicker table tr td.range.today.disabled:hover {
-  background-color: #f3d17a;
-  background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
-  background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
-  background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
-  background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
-  background-image: linear-gradient(top, #f3c17a, #f3e97a);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
-  border-color: #f3e97a #f3e97a #edde34;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
-}
-.datepicker table tr td.range.today:hover,
-.datepicker table tr td.range.today:hover:hover,
-.datepicker table tr td.range.today.disabled:hover,
-.datepicker table tr td.range.today.disabled:hover:hover,
-.datepicker table tr td.range.today:active,
-.datepicker table tr td.range.today:hover:active,
-.datepicker table tr td.range.today.disabled:active,
-.datepicker table tr td.range.today.disabled:hover:active,
-.datepicker table tr td.range.today.active,
-.datepicker table tr td.range.today:hover.active,
-.datepicker table tr td.range.today.disabled.active,
-.datepicker table tr td.range.today.disabled:hover.active,
-.datepicker table tr td.range.today.disabled,
-.datepicker table tr td.range.today:hover.disabled,
-.datepicker table tr td.range.today.disabled.disabled,
-.datepicker table tr td.range.today.disabled:hover.disabled,
-.datepicker table tr td.range.today[disabled],
-.datepicker table tr td.range.today:hover[disabled],
-.datepicker table tr td.range.today.disabled[disabled],
-.datepicker table tr td.range.today.disabled:hover[disabled] {
-  background-color: #f3e97a;
-}
-.datepicker table tr td.range.today:active,
-.datepicker table tr td.range.today:hover:active,
-.datepicker table tr td.range.today.disabled:active,
-.datepicker table tr td.range.today.disabled:hover:active,
-.datepicker table tr td.range.today.active,
-.datepicker table tr td.range.today:hover.active,
-.datepicker table tr td.range.today.disabled.active,
-.datepicker table tr td.range.today.disabled:hover.active {
-  background-color: #efe24b \9;
-}
-.datepicker table tr td.selected,
-.datepicker table tr td.selected:hover,
-.datepicker table tr td.selected.disabled,
-.datepicker table tr td.selected.disabled:hover {
-  background-color: #9e9e9e;
-  background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
-  background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
-  background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
-  background-image: -o-linear-gradient(top, #b3b3b3, #808080);
-  background-image: linear-gradient(top, #b3b3b3, #808080);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
-  border-color: #808080 #808080 #595959;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.datepicker table tr td.selected:hover,
-.datepicker table tr td.selected:hover:hover,
-.datepicker table tr td.selected.disabled:hover,
-.datepicker table tr td.selected.disabled:hover:hover,
-.datepicker table tr td.selected:active,
-.datepicker table tr td.selected:hover:active,
-.datepicker table tr td.selected.disabled:active,
-.datepicker table tr td.selected.disabled:hover:active,
-.datepicker table tr td.selected.active,
-.datepicker table tr td.selected:hover.active,
-.datepicker table tr td.selected.disabled.active,
-.datepicker table tr td.selected.disabled:hover.active,
-.datepicker table tr td.selected.disabled,
-.datepicker table tr td.selected:hover.disabled,
-.datepicker table tr td.selected.disabled.disabled,
-.datepicker table tr td.selected.disabled:hover.disabled,
-.datepicker table tr td.selected[disabled],
-.datepicker table tr td.selected:hover[disabled],
-.datepicker table tr td.selected.disabled[disabled],
-.datepicker table tr td.selected.disabled:hover[disabled] {
-  background-color: #808080;
-}
-.datepicker table tr td.selected:active,
-.datepicker table tr td.selected:hover:active,
-.datepicker table tr td.selected.disabled:active,
-.datepicker table tr td.selected.disabled:hover:active,
-.datepicker table tr td.selected.active,
-.datepicker table tr td.selected:hover.active,
-.datepicker table tr td.selected.disabled.active,
-.datepicker table tr td.selected.disabled:hover.active {
-  background-color: #666666 \9;
-}
-.datepicker table tr td.active,
-.datepicker table tr td.active:hover,
-.datepicker table tr td.active.disabled,
-.datepicker table tr td.active.disabled:hover {
-  background-color: #006dcc;
-  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
-  background-image: linear-gradient(top, #0088cc, #0044cc);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
-  border-color: #0044cc #0044cc #002a80;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.datepicker table tr td.active:hover,
-.datepicker table tr td.active:hover:hover,
-.datepicker table tr td.active.disabled:hover,
-.datepicker table tr td.active.disabled:hover:hover,
-.datepicker table tr td.active:active,
-.datepicker table tr td.active:hover:active,
-.datepicker table tr td.active.disabled:active,
-.datepicker table tr td.active.disabled:hover:active,
-.datepicker table tr td.active.active,
-.datepicker table tr td.active:hover.active,
-.datepicker table tr td.active.disabled.active,
-.datepicker table tr td.active.disabled:hover.active,
-.datepicker table tr td.active.disabled,
-.datepicker table tr td.active:hover.disabled,
-.datepicker table tr td.active.disabled.disabled,
-.datepicker table tr td.active.disabled:hover.disabled,
-.datepicker table tr td.active[disabled],
-.datepicker table tr td.active:hover[disabled],
-.datepicker table tr td.active.disabled[disabled],
-.datepicker table tr td.active.disabled:hover[disabled] {
-  background-color: #0044cc;
-}
-.datepicker table tr td.active:active,
-.datepicker table tr td.active:hover:active,
-.datepicker table tr td.active.disabled:active,
-.datepicker table tr td.active.disabled:hover:active,
-.datepicker table tr td.active.active,
-.datepicker table tr td.active:hover.active,
-.datepicker table tr td.active.disabled.active,
-.datepicker table tr td.active.disabled:hover.active {
-  background-color: #003399 \9;
-}
-.datepicker table tr td span {
-  display: block;
-  width: 23%;
-  height: 54px;
-  line-height: 54px;
-  float: left;
-  margin: 1%;
-  cursor: pointer;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-}
-.datepicker table tr td span:hover {
-  background: #eeeeee;
-}
-.datepicker table tr td span.disabled,
-.datepicker table tr td span.disabled:hover {
-  background: none;
-  color: #999999;
-  cursor: default;
-}
-.datepicker table tr td span.active,
-.datepicker table tr td span.active:hover,
-.datepicker table tr td span.active.disabled,
-.datepicker table tr td span.active.disabled:hover {
-  background-color: #006dcc;
-  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
-  background-image: linear-gradient(top, #0088cc, #0044cc);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
-  border-color: #0044cc #0044cc #002a80;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.datepicker table tr td span.active:hover,
-.datepicker table tr td span.active:hover:hover,
-.datepicker table tr td span.active.disabled:hover,
-.datepicker table tr td span.active.disabled:hover:hover,
-.datepicker table tr td span.active:active,
-.datepicker table tr td span.active:hover:active,
-.datepicker table tr td span.active.disabled:active,
-.datepicker table tr td span.active.disabled:hover:active,
-.datepicker table tr td span.active.active,
-.datepicker table tr td span.active:hover.active,
-.datepicker table tr td span.active.disabled.active,
-.datepicker table tr td span.active.disabled:hover.active,
-.datepicker table tr td span.active.disabled,
-.datepicker table tr td span.active:hover.disabled,
-.datepicker table tr td span.active.disabled.disabled,
-.datepicker table tr td span.active.disabled:hover.disabled,
-.datepicker table tr td span.active[disabled],
-.datepicker table tr td span.active:hover[disabled],
-.datepicker table tr td span.active.disabled[disabled],
-.datepicker table tr td span.active.disabled:hover[disabled] {
-  background-color: #0044cc;
-}
-.datepicker table tr td span.active:active,
-.datepicker table tr td span.active:hover:active,
-.datepicker table tr td span.active.disabled:active,
-.datepicker table tr td span.active.disabled:hover:active,
-.datepicker table tr td span.active.active,
-.datepicker table tr td span.active:hover.active,
-.datepicker table tr td span.active.disabled.active,
-.datepicker table tr td span.active.disabled:hover.active {
-  background-color: #003399 \9;
-}
-.datepicker table tr td span.old,
-.datepicker table tr td span.new {
-  color: #999999;
-}
-.datepicker th.datepicker-switch {
-  width: 145px;
-}
-.datepicker thead tr:first-child th,
-.datepicker tfoot tr th {
-  cursor: pointer;
-}
-.datepicker thead tr:first-child th:hover,
-.datepicker tfoot tr th:hover {
-  background: #eeeeee;
-}
-.datepicker .cw {
-  font-size: 10px;
-  width: 12px;
-  padding: 0 2px 0 5px;
-  vertical-align: middle;
-}
-.datepicker thead tr:first-child th.cw {
-  cursor: default;
-  background-color: transparent;
-}
-.input-append.date .add-on i,
-.input-prepend.date .add-on i {
-  display: block;
-  cursor: pointer;
-  width: 16px;
-  height: 16px;
-}
-.input-daterange input {
-  text-align: center;
-}
-.input-daterange input:first-child {
-  -webkit-border-radius: 3px 0 0 3px;
-  -moz-border-radius: 3px 0 0 3px;
-  border-radius: 3px 0 0 3px;
-}
-.input-daterange input:last-child {
-  -webkit-border-radius: 0 3px 3px 0;
-  -moz-border-radius: 0 3px 3px 0;
-  border-radius: 0 3px 3px 0;
-}
-.input-daterange .add-on {
-  display: inline-block;
-  width: auto;
-  min-width: 16px;
-  height: 18px;
-  padding: 4px 5px;
-  font-weight: normal;
-  line-height: 18px;
-  text-align: center;
-  text-shadow: 0 1px 0 #ffffff;
-  vertical-align: middle;
-  background-color: #eeeeee;
-  border: 1px solid #ccc;
-  margin-left: -5px;
-  margin-right: -5px;
-}

BIN
resources/assets/dcat/plugins/bootstrap3-editable/img/clear.png


BIN
resources/assets/dcat/plugins/bootstrap3-editable/img/loading.gif


Разница между файлами не показана из-за своего большого размера
+ 0 - 4
resources/assets/dcat/plugins/bootstrap3-editable/js/bootstrap-editable.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 6
resources/assets/dcat/plugins/chart.js/chart.bundle.min.js


+ 0 - 0
resources/assets/vendors/css/charts/apexcharts.css → resources/assets/dcat/plugins/charts/apexcharts.css


+ 0 - 0
resources/assets/vendors/js/charts/apexcharts.js → resources/assets/dcat/plugins/charts/apexcharts.js


+ 0 - 0
resources/assets/vendors/js/charts/apexcharts.min.js → resources/assets/dcat/plugins/charts/apexcharts.min.js


+ 0 - 0
resources/assets/vendors/js/extensions/sweetalert2.all.min.js → resources/assets/dcat/plugins/extensions/sweetalert2.all.min.js


+ 0 - 0
resources/assets/vendors/css/extensions/sweetalert2.min.css → resources/assets/dcat/plugins/extensions/sweetalert2.min.css


+ 0 - 0
resources/assets/vendors/css/extensions/toastr.css → resources/assets/dcat/plugins/extensions/toastr.css


+ 0 - 0
resources/assets/vendors/js/extensions/toastr.min.js → resources/assets/dcat/plugins/extensions/toastr.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
resources/assets/dcat/plugins/jquery.sparkline/jquery.sparkline.min.js


+ 0 - 0
resources/assets/vendors/css/perfect-scrollbar/perfect-scrollbar.min.css → resources/assets/dcat/plugins/perfect-scrollbar/perfect-scrollbar.min.css


+ 0 - 0
resources/assets/vendors/css/forms/select/select2.css → resources/assets/dcat/plugins/select/select2.css


+ 0 - 0
resources/assets/vendors/js/forms/select/select2.full.js → resources/assets/dcat/plugins/select/select2.full.js


+ 0 - 0
resources/assets/vendors/js/forms/select/select2.full.min.js → resources/assets/dcat/plugins/select/select2.full.min.js


+ 0 - 0
resources/assets/vendors/js/forms/select/select2.js → resources/assets/dcat/plugins/select/select2.js


+ 0 - 0
resources/assets/vendors/css/forms/select/select2.min.css → resources/assets/dcat/plugins/select/select2.min.css


+ 0 - 0
resources/assets/vendors/js/forms/select/select2.min.js → resources/assets/dcat/plugins/select/select2.min.js


+ 0 - 0
resources/assets/vendors/css/tables/datatable/datatables.min.css → resources/assets/dcat/plugins/tables/datatable/datatables.min.css


+ 0 - 0
resources/assets/vendors/css/vendors-rtl.min.css → resources/assets/dcat/plugins/vendors-rtl.min.css


+ 0 - 0
resources/assets/vendors/css/vendors.min.css → resources/assets/dcat/plugins/vendors.min.css


+ 0 - 0
resources/assets/vendors/js/vendors.min.js → resources/assets/dcat/plugins/vendors.min.js


BIN
resources/assets/images/pages/404.png


BIN
resources/assets/images/pages/500.png


BIN
resources/assets/images/pages/arrow-down.png


BIN
resources/assets/images/pages/login/bg.jpg


+ 0 - 1
resources/assets/images/pages/login/facebook.svg

@@ -1 +0,0 @@
-<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="facebook-f" class="svg-inline--fa fa-facebook-f fa-w-9" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M215.8 85H264V3.6C255.7 2.5 227.1 0 193.8 0 124.3 0 76.7 42.4 76.7 120.3V192H0v91h76.7v229h94V283h73.6l11.7-91h-85.3v-62.7c0-26.3 7.3-44.3 45.1-44.3z"></path></svg>

+ 0 - 1
resources/assets/images/pages/login/github.svg

@@ -1 +0,0 @@
-<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github-alt" class="svg-inline--fa fa-github-alt fa-w-15" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 512"><path fill="currentColor" d="M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"></path></svg>

+ 0 - 1
resources/assets/images/pages/login/google.svg

@@ -1 +0,0 @@
-<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="google" class="svg-inline--fa fa-google fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 488 512"><path fill="currentColor" d="M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"></path></svg>

+ 0 - 1
resources/assets/images/pages/login/twitter.svg

@@ -1 +0,0 @@
-<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" class="svg-inline--fa fa-twitter fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>

BIN
resources/assets/images/pages/rocket.png


BIN
resources/assets/images/waves.png


+ 0 - 3625
resources/assets/vendors/css/animate/animate.css

@@ -1,3625 +0,0 @@
-@charset "UTF-8";
-
-/*!
- * animate.css -https://daneden.github.io/animate.css/
- * Version - 3.7.2
- * Licensed under the MIT license - http://opensource.org/licenses/MIT
- *
- * Copyright (c) 2019 Daniel Eden
- */
-
-@-webkit-keyframes bounce {
-  from,
-  20%,
-  53%,
-  80%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  40%,
-  43% {
-    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-    -webkit-transform: translate3d(0, -30px, 0);
-    transform: translate3d(0, -30px, 0);
-  }
-
-  70% {
-    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-    -webkit-transform: translate3d(0, -15px, 0);
-    transform: translate3d(0, -15px, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(0, -4px, 0);
-    transform: translate3d(0, -4px, 0);
-  }
-}
-
-@keyframes bounce {
-  from,
-  20%,
-  53%,
-  80%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  40%,
-  43% {
-    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-    -webkit-transform: translate3d(0, -30px, 0);
-    transform: translate3d(0, -30px, 0);
-  }
-
-  70% {
-    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-    -webkit-transform: translate3d(0, -15px, 0);
-    transform: translate3d(0, -15px, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(0, -4px, 0);
-    transform: translate3d(0, -4px, 0);
-  }
-}
-
-.bounce {
-  -webkit-animation-name: bounce;
-  animation-name: bounce;
-  -webkit-transform-origin: center bottom;
-  transform-origin: center bottom;
-}
-
-@-webkit-keyframes flash {
-  from,
-  50%,
-  to {
-    opacity: 1;
-  }
-
-  25%,
-  75% {
-    opacity: 0;
-  }
-}
-
-@keyframes flash {
-  from,
-  50%,
-  to {
-    opacity: 1;
-  }
-
-  25%,
-  75% {
-    opacity: 0;
-  }
-}
-
-.flash {
-  -webkit-animation-name: flash;
-  animation-name: flash;
-}
-
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-
-@-webkit-keyframes pulse {
-  from {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-
-  50% {
-    -webkit-transform: scale3d(1.05, 1.05, 1.05);
-    transform: scale3d(1.05, 1.05, 1.05);
-  }
-
-  to {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-}
-
-@keyframes pulse {
-  from {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-
-  50% {
-    -webkit-transform: scale3d(1.05, 1.05, 1.05);
-    transform: scale3d(1.05, 1.05, 1.05);
-  }
-
-  to {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-}
-
-.pulse {
-  -webkit-animation-name: pulse;
-  animation-name: pulse;
-}
-
-@-webkit-keyframes rubberBand {
-  from {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-
-  30% {
-    -webkit-transform: scale3d(1.25, 0.75, 1);
-    transform: scale3d(1.25, 0.75, 1);
-  }
-
-  40% {
-    -webkit-transform: scale3d(0.75, 1.25, 1);
-    transform: scale3d(0.75, 1.25, 1);
-  }
-
-  50% {
-    -webkit-transform: scale3d(1.15, 0.85, 1);
-    transform: scale3d(1.15, 0.85, 1);
-  }
-
-  65% {
-    -webkit-transform: scale3d(0.95, 1.05, 1);
-    transform: scale3d(0.95, 1.05, 1);
-  }
-
-  75% {
-    -webkit-transform: scale3d(1.05, 0.95, 1);
-    transform: scale3d(1.05, 0.95, 1);
-  }
-
-  to {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-}
-
-@keyframes rubberBand {
-  from {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-
-  30% {
-    -webkit-transform: scale3d(1.25, 0.75, 1);
-    transform: scale3d(1.25, 0.75, 1);
-  }
-
-  40% {
-    -webkit-transform: scale3d(0.75, 1.25, 1);
-    transform: scale3d(0.75, 1.25, 1);
-  }
-
-  50% {
-    -webkit-transform: scale3d(1.15, 0.85, 1);
-    transform: scale3d(1.15, 0.85, 1);
-  }
-
-  65% {
-    -webkit-transform: scale3d(0.95, 1.05, 1);
-    transform: scale3d(0.95, 1.05, 1);
-  }
-
-  75% {
-    -webkit-transform: scale3d(1.05, 0.95, 1);
-    transform: scale3d(1.05, 0.95, 1);
-  }
-
-  to {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-}
-
-.rubberBand {
-  -webkit-animation-name: rubberBand;
-  animation-name: rubberBand;
-}
-
-@-webkit-keyframes shake {
-  from,
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  10%,
-  30%,
-  50%,
-  70%,
-  90% {
-    -webkit-transform: translate3d(-10px, 0, 0);
-    transform: translate3d(-10px, 0, 0);
-  }
-
-  20%,
-  40%,
-  60%,
-  80% {
-    -webkit-transform: translate3d(10px, 0, 0);
-    transform: translate3d(10px, 0, 0);
-  }
-}
-
-@keyframes shake {
-  from,
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  10%,
-  30%,
-  50%,
-  70%,
-  90% {
-    -webkit-transform: translate3d(-10px, 0, 0);
-    transform: translate3d(-10px, 0, 0);
-  }
-
-  20%,
-  40%,
-  60%,
-  80% {
-    -webkit-transform: translate3d(10px, 0, 0);
-    transform: translate3d(10px, 0, 0);
-  }
-}
-
-.shake {
-  -webkit-animation-name: shake;
-  animation-name: shake;
-}
-
-@-webkit-keyframes headShake {
-  0% {
-    -webkit-transform: translateX(0);
-    transform: translateX(0);
-  }
-
-  6.5% {
-    -webkit-transform: translateX(-6px) rotateY(-9deg);
-    transform: translateX(-6px) rotateY(-9deg);
-  }
-
-  18.5% {
-    -webkit-transform: translateX(5px) rotateY(7deg);
-    transform: translateX(5px) rotateY(7deg);
-  }
-
-  31.5% {
-    -webkit-transform: translateX(-3px) rotateY(-5deg);
-    transform: translateX(-3px) rotateY(-5deg);
-  }
-
-  43.5% {
-    -webkit-transform: translateX(2px) rotateY(3deg);
-    transform: translateX(2px) rotateY(3deg);
-  }
-
-  50% {
-    -webkit-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-
-@keyframes headShake {
-  0% {
-    -webkit-transform: translateX(0);
-    transform: translateX(0);
-  }
-
-  6.5% {
-    -webkit-transform: translateX(-6px) rotateY(-9deg);
-    transform: translateX(-6px) rotateY(-9deg);
-  }
-
-  18.5% {
-    -webkit-transform: translateX(5px) rotateY(7deg);
-    transform: translateX(5px) rotateY(7deg);
-  }
-
-  31.5% {
-    -webkit-transform: translateX(-3px) rotateY(-5deg);
-    transform: translateX(-3px) rotateY(-5deg);
-  }
-
-  43.5% {
-    -webkit-transform: translateX(2px) rotateY(3deg);
-    transform: translateX(2px) rotateY(3deg);
-  }
-
-  50% {
-    -webkit-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-
-.headShake {
-  -webkit-animation-timing-function: ease-in-out;
-  animation-timing-function: ease-in-out;
-  -webkit-animation-name: headShake;
-  animation-name: headShake;
-}
-
-@-webkit-keyframes swing {
-  20% {
-    -webkit-transform: rotate3d(0, 0, 1, 15deg);
-    transform: rotate3d(0, 0, 1, 15deg);
-  }
-
-  40% {
-    -webkit-transform: rotate3d(0, 0, 1, -10deg);
-    transform: rotate3d(0, 0, 1, -10deg);
-  }
-
-  60% {
-    -webkit-transform: rotate3d(0, 0, 1, 5deg);
-    transform: rotate3d(0, 0, 1, 5deg);
-  }
-
-  80% {
-    -webkit-transform: rotate3d(0, 0, 1, -5deg);
-    transform: rotate3d(0, 0, 1, -5deg);
-  }
-
-  to {
-    -webkit-transform: rotate3d(0, 0, 1, 0deg);
-    transform: rotate3d(0, 0, 1, 0deg);
-  }
-}
-
-@keyframes swing {
-  20% {
-    -webkit-transform: rotate3d(0, 0, 1, 15deg);
-    transform: rotate3d(0, 0, 1, 15deg);
-  }
-
-  40% {
-    -webkit-transform: rotate3d(0, 0, 1, -10deg);
-    transform: rotate3d(0, 0, 1, -10deg);
-  }
-
-  60% {
-    -webkit-transform: rotate3d(0, 0, 1, 5deg);
-    transform: rotate3d(0, 0, 1, 5deg);
-  }
-
-  80% {
-    -webkit-transform: rotate3d(0, 0, 1, -5deg);
-    transform: rotate3d(0, 0, 1, -5deg);
-  }
-
-  to {
-    -webkit-transform: rotate3d(0, 0, 1, 0deg);
-    transform: rotate3d(0, 0, 1, 0deg);
-  }
-}
-
-.swing {
-  -webkit-transform-origin: top center;
-  transform-origin: top center;
-  -webkit-animation-name: swing;
-  animation-name: swing;
-}
-
-@-webkit-keyframes tada {
-  from {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-
-  10%,
-  20% {
-    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
-    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
-  }
-
-  30%,
-  50%,
-  70%,
-  90% {
-    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
-    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
-  }
-
-  40%,
-  60%,
-  80% {
-    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
-    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
-  }
-
-  to {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-}
-
-@keyframes tada {
-  from {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-
-  10%,
-  20% {
-    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
-    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
-  }
-
-  30%,
-  50%,
-  70%,
-  90% {
-    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
-    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
-  }
-
-  40%,
-  60%,
-  80% {
-    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
-    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
-  }
-
-  to {
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-}
-
-.tada {
-  -webkit-animation-name: tada;
-  animation-name: tada;
-}
-
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-
-@-webkit-keyframes wobble {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  15% {
-    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
-    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
-  }
-
-  30% {
-    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
-    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
-  }
-
-  45% {
-    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
-    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
-  }
-
-  60% {
-    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
-    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
-  }
-
-  75% {
-    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
-    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes wobble {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  15% {
-    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
-    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
-  }
-
-  30% {
-    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
-    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
-  }
-
-  45% {
-    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
-    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
-  }
-
-  60% {
-    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
-    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
-  }
-
-  75% {
-    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
-    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.wobble {
-  -webkit-animation-name: wobble;
-  animation-name: wobble;
-}
-
-@-webkit-keyframes jello {
-  from,
-  11.1%,
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  22.2% {
-    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
-    transform: skewX(-12.5deg) skewY(-12.5deg);
-  }
-
-  33.3% {
-    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
-    transform: skewX(6.25deg) skewY(6.25deg);
-  }
-
-  44.4% {
-    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
-    transform: skewX(-3.125deg) skewY(-3.125deg);
-  }
-
-  55.5% {
-    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
-    transform: skewX(1.5625deg) skewY(1.5625deg);
-  }
-
-  66.6% {
-    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
-    transform: skewX(-0.78125deg) skewY(-0.78125deg);
-  }
-
-  77.7% {
-    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
-    transform: skewX(0.390625deg) skewY(0.390625deg);
-  }
-
-  88.8% {
-    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
-    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
-  }
-}
-
-@keyframes jello {
-  from,
-  11.1%,
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  22.2% {
-    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
-    transform: skewX(-12.5deg) skewY(-12.5deg);
-  }
-
-  33.3% {
-    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
-    transform: skewX(6.25deg) skewY(6.25deg);
-  }
-
-  44.4% {
-    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
-    transform: skewX(-3.125deg) skewY(-3.125deg);
-  }
-
-  55.5% {
-    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
-    transform: skewX(1.5625deg) skewY(1.5625deg);
-  }
-
-  66.6% {
-    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
-    transform: skewX(-0.78125deg) skewY(-0.78125deg);
-  }
-
-  77.7% {
-    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
-    transform: skewX(0.390625deg) skewY(0.390625deg);
-  }
-
-  88.8% {
-    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
-    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
-  }
-}
-
-.jello {
-  -webkit-animation-name: jello;
-  animation-name: jello;
-  -webkit-transform-origin: center;
-  transform-origin: center;
-}
-
-@-webkit-keyframes heartBeat {
-  0% {
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-
-  14% {
-    -webkit-transform: scale(1.3);
-    transform: scale(1.3);
-  }
-
-  28% {
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-
-  42% {
-    -webkit-transform: scale(1.3);
-    transform: scale(1.3);
-  }
-
-  70% {
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-}
-
-@keyframes heartBeat {
-  0% {
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-
-  14% {
-    -webkit-transform: scale(1.3);
-    transform: scale(1.3);
-  }
-
-  28% {
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-
-  42% {
-    -webkit-transform: scale(1.3);
-    transform: scale(1.3);
-  }
-
-  70% {
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-}
-
-.heartBeat {
-  -webkit-animation-name: heartBeat;
-  animation-name: heartBeat;
-  -webkit-animation-duration: 1.3s;
-  animation-duration: 1.3s;
-  -webkit-animation-timing-function: ease-in-out;
-  animation-timing-function: ease-in-out;
-}
-
-@-webkit-keyframes bounceIn {
-  from,
-  20%,
-  40%,
-  60%,
-  80%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  0% {
-    opacity: 0;
-    -webkit-transform: scale3d(0.3, 0.3, 0.3);
-    transform: scale3d(0.3, 0.3, 0.3);
-  }
-
-  20% {
-    -webkit-transform: scale3d(1.1, 1.1, 1.1);
-    transform: scale3d(1.1, 1.1, 1.1);
-  }
-
-  40% {
-    -webkit-transform: scale3d(0.9, 0.9, 0.9);
-    transform: scale3d(0.9, 0.9, 0.9);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(1.03, 1.03, 1.03);
-    transform: scale3d(1.03, 1.03, 1.03);
-  }
-
-  80% {
-    -webkit-transform: scale3d(0.97, 0.97, 0.97);
-    transform: scale3d(0.97, 0.97, 0.97);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-}
-
-@keyframes bounceIn {
-  from,
-  20%,
-  40%,
-  60%,
-  80%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  0% {
-    opacity: 0;
-    -webkit-transform: scale3d(0.3, 0.3, 0.3);
-    transform: scale3d(0.3, 0.3, 0.3);
-  }
-
-  20% {
-    -webkit-transform: scale3d(1.1, 1.1, 1.1);
-    transform: scale3d(1.1, 1.1, 1.1);
-  }
-
-  40% {
-    -webkit-transform: scale3d(0.9, 0.9, 0.9);
-    transform: scale3d(0.9, 0.9, 0.9);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(1.03, 1.03, 1.03);
-    transform: scale3d(1.03, 1.03, 1.03);
-  }
-
-  80% {
-    -webkit-transform: scale3d(0.97, 0.97, 0.97);
-    transform: scale3d(0.97, 0.97, 0.97);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: scale3d(1, 1, 1);
-    transform: scale3d(1, 1, 1);
-  }
-}
-
-.bounceIn {
-  -webkit-animation-duration: 0.75s;
-  animation-duration: 0.75s;
-  -webkit-animation-name: bounceIn;
-  animation-name: bounceIn;
-}
-
-@-webkit-keyframes bounceInDown {
-  from,
-  60%,
-  75%,
-  90%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  0% {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -3000px, 0);
-    transform: translate3d(0, -3000px, 0);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 25px, 0);
-    transform: translate3d(0, 25px, 0);
-  }
-
-  75% {
-    -webkit-transform: translate3d(0, -10px, 0);
-    transform: translate3d(0, -10px, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(0, 5px, 0);
-    transform: translate3d(0, 5px, 0);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes bounceInDown {
-  from,
-  60%,
-  75%,
-  90%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  0% {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -3000px, 0);
-    transform: translate3d(0, -3000px, 0);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 25px, 0);
-    transform: translate3d(0, 25px, 0);
-  }
-
-  75% {
-    -webkit-transform: translate3d(0, -10px, 0);
-    transform: translate3d(0, -10px, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(0, 5px, 0);
-    transform: translate3d(0, 5px, 0);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.bounceInDown {
-  -webkit-animation-name: bounceInDown;
-  animation-name: bounceInDown;
-}
-
-@-webkit-keyframes bounceInLeft {
-  from,
-  60%,
-  75%,
-  90%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  0% {
-    opacity: 0;
-    -webkit-transform: translate3d(-3000px, 0, 0);
-    transform: translate3d(-3000px, 0, 0);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: translate3d(25px, 0, 0);
-    transform: translate3d(25px, 0, 0);
-  }
-
-  75% {
-    -webkit-transform: translate3d(-10px, 0, 0);
-    transform: translate3d(-10px, 0, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(5px, 0, 0);
-    transform: translate3d(5px, 0, 0);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes bounceInLeft {
-  from,
-  60%,
-  75%,
-  90%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  0% {
-    opacity: 0;
-    -webkit-transform: translate3d(-3000px, 0, 0);
-    transform: translate3d(-3000px, 0, 0);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: translate3d(25px, 0, 0);
-    transform: translate3d(25px, 0, 0);
-  }
-
-  75% {
-    -webkit-transform: translate3d(-10px, 0, 0);
-    transform: translate3d(-10px, 0, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(5px, 0, 0);
-    transform: translate3d(5px, 0, 0);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.bounceInLeft {
-  -webkit-animation-name: bounceInLeft;
-  animation-name: bounceInLeft;
-}
-
-@-webkit-keyframes bounceInRight {
-  from,
-  60%,
-  75%,
-  90%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(3000px, 0, 0);
-    transform: translate3d(3000px, 0, 0);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: translate3d(-25px, 0, 0);
-    transform: translate3d(-25px, 0, 0);
-  }
-
-  75% {
-    -webkit-transform: translate3d(10px, 0, 0);
-    transform: translate3d(10px, 0, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(-5px, 0, 0);
-    transform: translate3d(-5px, 0, 0);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes bounceInRight {
-  from,
-  60%,
-  75%,
-  90%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(3000px, 0, 0);
-    transform: translate3d(3000px, 0, 0);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: translate3d(-25px, 0, 0);
-    transform: translate3d(-25px, 0, 0);
-  }
-
-  75% {
-    -webkit-transform: translate3d(10px, 0, 0);
-    transform: translate3d(10px, 0, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(-5px, 0, 0);
-    transform: translate3d(-5px, 0, 0);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.bounceInRight {
-  -webkit-animation-name: bounceInRight;
-  animation-name: bounceInRight;
-}
-
-@-webkit-keyframes bounceInUp {
-  from,
-  60%,
-  75%,
-  90%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 3000px, 0);
-    transform: translate3d(0, 3000px, 0);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: translate3d(0, -20px, 0);
-    transform: translate3d(0, -20px, 0);
-  }
-
-  75% {
-    -webkit-transform: translate3d(0, 10px, 0);
-    transform: translate3d(0, 10px, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(0, -5px, 0);
-    transform: translate3d(0, -5px, 0);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes bounceInUp {
-  from,
-  60%,
-  75%,
-  90%,
-  to {
-    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-  }
-
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 3000px, 0);
-    transform: translate3d(0, 3000px, 0);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: translate3d(0, -20px, 0);
-    transform: translate3d(0, -20px, 0);
-  }
-
-  75% {
-    -webkit-transform: translate3d(0, 10px, 0);
-    transform: translate3d(0, 10px, 0);
-  }
-
-  90% {
-    -webkit-transform: translate3d(0, -5px, 0);
-    transform: translate3d(0, -5px, 0);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.bounceInUp {
-  -webkit-animation-name: bounceInUp;
-  animation-name: bounceInUp;
-}
-
-@-webkit-keyframes bounceOut {
-  20% {
-    -webkit-transform: scale3d(0.9, 0.9, 0.9);
-    transform: scale3d(0.9, 0.9, 0.9);
-  }
-
-  50%,
-  55% {
-    opacity: 1;
-    -webkit-transform: scale3d(1.1, 1.1, 1.1);
-    transform: scale3d(1.1, 1.1, 1.1);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale3d(0.3, 0.3, 0.3);
-    transform: scale3d(0.3, 0.3, 0.3);
-  }
-}
-
-@keyframes bounceOut {
-  20% {
-    -webkit-transform: scale3d(0.9, 0.9, 0.9);
-    transform: scale3d(0.9, 0.9, 0.9);
-  }
-
-  50%,
-  55% {
-    opacity: 1;
-    -webkit-transform: scale3d(1.1, 1.1, 1.1);
-    transform: scale3d(1.1, 1.1, 1.1);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale3d(0.3, 0.3, 0.3);
-    transform: scale3d(0.3, 0.3, 0.3);
-  }
-}
-
-.bounceOut {
-  -webkit-animation-duration: 0.75s;
-  animation-duration: 0.75s;
-  -webkit-animation-name: bounceOut;
-  animation-name: bounceOut;
-}
-
-@-webkit-keyframes bounceOutDown {
-  20% {
-    -webkit-transform: translate3d(0, 10px, 0);
-    transform: translate3d(0, 10px, 0);
-  }
-
-  40%,
-  45% {
-    opacity: 1;
-    -webkit-transform: translate3d(0, -20px, 0);
-    transform: translate3d(0, -20px, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 2000px, 0);
-    transform: translate3d(0, 2000px, 0);
-  }
-}
-
-@keyframes bounceOutDown {
-  20% {
-    -webkit-transform: translate3d(0, 10px, 0);
-    transform: translate3d(0, 10px, 0);
-  }
-
-  40%,
-  45% {
-    opacity: 1;
-    -webkit-transform: translate3d(0, -20px, 0);
-    transform: translate3d(0, -20px, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 2000px, 0);
-    transform: translate3d(0, 2000px, 0);
-  }
-}
-
-.bounceOutDown {
-  -webkit-animation-name: bounceOutDown;
-  animation-name: bounceOutDown;
-}
-
-@-webkit-keyframes bounceOutLeft {
-  20% {
-    opacity: 1;
-    -webkit-transform: translate3d(20px, 0, 0);
-    transform: translate3d(20px, 0, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(-2000px, 0, 0);
-    transform: translate3d(-2000px, 0, 0);
-  }
-}
-
-@keyframes bounceOutLeft {
-  20% {
-    opacity: 1;
-    -webkit-transform: translate3d(20px, 0, 0);
-    transform: translate3d(20px, 0, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(-2000px, 0, 0);
-    transform: translate3d(-2000px, 0, 0);
-  }
-}
-
-.bounceOutLeft {
-  -webkit-animation-name: bounceOutLeft;
-  animation-name: bounceOutLeft;
-}
-
-@-webkit-keyframes bounceOutRight {
-  20% {
-    opacity: 1;
-    -webkit-transform: translate3d(-20px, 0, 0);
-    transform: translate3d(-20px, 0, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(2000px, 0, 0);
-    transform: translate3d(2000px, 0, 0);
-  }
-}
-
-@keyframes bounceOutRight {
-  20% {
-    opacity: 1;
-    -webkit-transform: translate3d(-20px, 0, 0);
-    transform: translate3d(-20px, 0, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(2000px, 0, 0);
-    transform: translate3d(2000px, 0, 0);
-  }
-}
-
-.bounceOutRight {
-  -webkit-animation-name: bounceOutRight;
-  animation-name: bounceOutRight;
-}
-
-@-webkit-keyframes bounceOutUp {
-  20% {
-    -webkit-transform: translate3d(0, -10px, 0);
-    transform: translate3d(0, -10px, 0);
-  }
-
-  40%,
-  45% {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 20px, 0);
-    transform: translate3d(0, 20px, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -2000px, 0);
-    transform: translate3d(0, -2000px, 0);
-  }
-}
-
-@keyframes bounceOutUp {
-  20% {
-    -webkit-transform: translate3d(0, -10px, 0);
-    transform: translate3d(0, -10px, 0);
-  }
-
-  40%,
-  45% {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 20px, 0);
-    transform: translate3d(0, 20px, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -2000px, 0);
-    transform: translate3d(0, -2000px, 0);
-  }
-}
-
-.bounceOutUp {
-  -webkit-animation-name: bounceOutUp;
-  animation-name: bounceOutUp;
-}
-
-@-webkit-keyframes fadeIn {
-  from {
-    opacity: 0;
-  }
-
-  to {
-    opacity: 1;
-  }
-}
-
-@keyframes fadeIn {
-  from {
-    opacity: 0;
-  }
-
-  to {
-    opacity: 1;
-  }
-}
-
-.fadeIn {
-  -webkit-animation-name: fadeIn;
-  animation-name: fadeIn;
-}
-
-@-webkit-keyframes fadeInDown {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -100%, 0);
-    transform: translate3d(0, -100%, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes fadeInDown {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -100%, 0);
-    transform: translate3d(0, -100%, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.fadeInDown {
-  -webkit-animation-name: fadeInDown;
-  animation-name: fadeInDown;
-}
-
-@-webkit-keyframes fadeInDownBig {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -2000px, 0);
-    transform: translate3d(0, -2000px, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes fadeInDownBig {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -2000px, 0);
-    transform: translate3d(0, -2000px, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.fadeInDownBig {
-  -webkit-animation-name: fadeInDownBig;
-  animation-name: fadeInDownBig;
-}
-
-@-webkit-keyframes fadeInLeft {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(-100%, 0, 0);
-    transform: translate3d(-100%, 0, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes fadeInLeft {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(-100%, 0, 0);
-    transform: translate3d(-100%, 0, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.fadeInLeft {
-  -webkit-animation-name: fadeInLeft;
-  animation-name: fadeInLeft;
-}
-
-@-webkit-keyframes fadeInLeftBig {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(-2000px, 0, 0);
-    transform: translate3d(-2000px, 0, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes fadeInLeftBig {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(-2000px, 0, 0);
-    transform: translate3d(-2000px, 0, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.fadeInLeftBig {
-  -webkit-animation-name: fadeInLeftBig;
-  animation-name: fadeInLeftBig;
-}
-
-@-webkit-keyframes fadeInRight {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(100%, 0, 0);
-    transform: translate3d(100%, 0, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes fadeInRight {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(100%, 0, 0);
-    transform: translate3d(100%, 0, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.fadeInRight {
-  -webkit-animation-name: fadeInRight;
-  animation-name: fadeInRight;
-}
-
-@-webkit-keyframes fadeInRightBig {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(2000px, 0, 0);
-    transform: translate3d(2000px, 0, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes fadeInRightBig {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(2000px, 0, 0);
-    transform: translate3d(2000px, 0, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.fadeInRightBig {
-  -webkit-animation-name: fadeInRightBig;
-  animation-name: fadeInRightBig;
-}
-
-@-webkit-keyframes fadeInUp {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 100%, 0);
-    transform: translate3d(0, 100%, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes fadeInUp {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 100%, 0);
-    transform: translate3d(0, 100%, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.fadeInUp {
-  -webkit-animation-name: fadeInUp;
-  animation-name: fadeInUp;
-}
-
-@-webkit-keyframes fadeInUpBig {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 2000px, 0);
-    transform: translate3d(0, 2000px, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes fadeInUpBig {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 2000px, 0);
-    transform: translate3d(0, 2000px, 0);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.fadeInUpBig {
-  -webkit-animation-name: fadeInUpBig;
-  animation-name: fadeInUpBig;
-}
-
-@-webkit-keyframes fadeOut {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-  }
-}
-
-@keyframes fadeOut {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-  }
-}
-
-.fadeOut {
-  -webkit-animation-name: fadeOut;
-  animation-name: fadeOut;
-}
-
-@-webkit-keyframes fadeOutDown {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 100%, 0);
-    transform: translate3d(0, 100%, 0);
-  }
-}
-
-@keyframes fadeOutDown {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 100%, 0);
-    transform: translate3d(0, 100%, 0);
-  }
-}
-
-.fadeOutDown {
-  -webkit-animation-name: fadeOutDown;
-  animation-name: fadeOutDown;
-}
-
-@-webkit-keyframes fadeOutDownBig {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 2000px, 0);
-    transform: translate3d(0, 2000px, 0);
-  }
-}
-
-@keyframes fadeOutDownBig {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, 2000px, 0);
-    transform: translate3d(0, 2000px, 0);
-  }
-}
-
-.fadeOutDownBig {
-  -webkit-animation-name: fadeOutDownBig;
-  animation-name: fadeOutDownBig;
-}
-
-@-webkit-keyframes fadeOutLeft {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(-100%, 0, 0);
-    transform: translate3d(-100%, 0, 0);
-  }
-}
-
-@keyframes fadeOutLeft {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(-100%, 0, 0);
-    transform: translate3d(-100%, 0, 0);
-  }
-}
-
-.fadeOutLeft {
-  -webkit-animation-name: fadeOutLeft;
-  animation-name: fadeOutLeft;
-}
-
-@-webkit-keyframes fadeOutLeftBig {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(-2000px, 0, 0);
-    transform: translate3d(-2000px, 0, 0);
-  }
-}
-
-@keyframes fadeOutLeftBig {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(-2000px, 0, 0);
-    transform: translate3d(-2000px, 0, 0);
-  }
-}
-
-.fadeOutLeftBig {
-  -webkit-animation-name: fadeOutLeftBig;
-  animation-name: fadeOutLeftBig;
-}
-
-@-webkit-keyframes fadeOutRight {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(100%, 0, 0);
-    transform: translate3d(100%, 0, 0);
-  }
-}
-
-@keyframes fadeOutRight {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(100%, 0, 0);
-    transform: translate3d(100%, 0, 0);
-  }
-}
-
-.fadeOutRight {
-  -webkit-animation-name: fadeOutRight;
-  animation-name: fadeOutRight;
-}
-
-@-webkit-keyframes fadeOutRightBig {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(2000px, 0, 0);
-    transform: translate3d(2000px, 0, 0);
-  }
-}
-
-@keyframes fadeOutRightBig {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(2000px, 0, 0);
-    transform: translate3d(2000px, 0, 0);
-  }
-}
-
-.fadeOutRightBig {
-  -webkit-animation-name: fadeOutRightBig;
-  animation-name: fadeOutRightBig;
-}
-
-@-webkit-keyframes fadeOutUp {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -100%, 0);
-    transform: translate3d(0, -100%, 0);
-  }
-}
-
-@keyframes fadeOutUp {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -100%, 0);
-    transform: translate3d(0, -100%, 0);
-  }
-}
-
-.fadeOutUp {
-  -webkit-animation-name: fadeOutUp;
-  animation-name: fadeOutUp;
-}
-
-@-webkit-keyframes fadeOutUpBig {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -2000px, 0);
-    transform: translate3d(0, -2000px, 0);
-  }
-}
-
-@keyframes fadeOutUpBig {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(0, -2000px, 0);
-    transform: translate3d(0, -2000px, 0);
-  }
-}
-
-.fadeOutUpBig {
-  -webkit-animation-name: fadeOutUpBig;
-  animation-name: fadeOutUpBig;
-}
-
-@-webkit-keyframes flip {
-  from {
-    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
-      rotate3d(0, 1, 0, -360deg);
-    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
-    -webkit-animation-timing-function: ease-out;
-    animation-timing-function: ease-out;
-  }
-
-  40% {
-    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
-      rotate3d(0, 1, 0, -190deg);
-    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
-      rotate3d(0, 1, 0, -190deg);
-    -webkit-animation-timing-function: ease-out;
-    animation-timing-function: ease-out;
-  }
-
-  50% {
-    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
-      rotate3d(0, 1, 0, -170deg);
-    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
-      rotate3d(0, 1, 0, -170deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-
-  80% {
-    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
-      rotate3d(0, 1, 0, 0deg);
-    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
-      rotate3d(0, 1, 0, 0deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-
-  to {
-    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
-      rotate3d(0, 1, 0, 0deg);
-    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-}
-
-@keyframes flip {
-  from {
-    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
-      rotate3d(0, 1, 0, -360deg);
-    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
-    -webkit-animation-timing-function: ease-out;
-    animation-timing-function: ease-out;
-  }
-
-  40% {
-    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
-      rotate3d(0, 1, 0, -190deg);
-    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
-      rotate3d(0, 1, 0, -190deg);
-    -webkit-animation-timing-function: ease-out;
-    animation-timing-function: ease-out;
-  }
-
-  50% {
-    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
-      rotate3d(0, 1, 0, -170deg);
-    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
-      rotate3d(0, 1, 0, -170deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-
-  80% {
-    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
-      rotate3d(0, 1, 0, 0deg);
-    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
-      rotate3d(0, 1, 0, 0deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-
-  to {
-    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
-      rotate3d(0, 1, 0, 0deg);
-    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-}
-
-.animated.flip {
-  -webkit-backface-visibility: visible;
-  backface-visibility: visible;
-  -webkit-animation-name: flip;
-  animation-name: flip;
-}
-
-@-webkit-keyframes flipInX {
-  from {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-    opacity: 0;
-  }
-
-  40% {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-
-  60% {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
-    opacity: 1;
-  }
-
-  80% {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
-  }
-
-  to {
-    -webkit-transform: perspective(400px);
-    transform: perspective(400px);
-  }
-}
-
-@keyframes flipInX {
-  from {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-    opacity: 0;
-  }
-
-  40% {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-
-  60% {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
-    opacity: 1;
-  }
-
-  80% {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
-  }
-
-  to {
-    -webkit-transform: perspective(400px);
-    transform: perspective(400px);
-  }
-}
-
-.flipInX {
-  -webkit-backface-visibility: visible !important;
-  backface-visibility: visible !important;
-  -webkit-animation-name: flipInX;
-  animation-name: flipInX;
-}
-
-@-webkit-keyframes flipInY {
-  from {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-    opacity: 0;
-  }
-
-  40% {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-
-  60% {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
-    opacity: 1;
-  }
-
-  80% {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
-  }
-
-  to {
-    -webkit-transform: perspective(400px);
-    transform: perspective(400px);
-  }
-}
-
-@keyframes flipInY {
-  from {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-    opacity: 0;
-  }
-
-  40% {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-
-  60% {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
-    opacity: 1;
-  }
-
-  80% {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
-  }
-
-  to {
-    -webkit-transform: perspective(400px);
-    transform: perspective(400px);
-  }
-}
-
-.flipInY {
-  -webkit-backface-visibility: visible !important;
-  backface-visibility: visible !important;
-  -webkit-animation-name: flipInY;
-  animation-name: flipInY;
-}
-
-@-webkit-keyframes flipOutX {
-  from {
-    -webkit-transform: perspective(400px);
-    transform: perspective(400px);
-  }
-
-  30% {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-    opacity: 0;
-  }
-}
-
-@keyframes flipOutX {
-  from {
-    -webkit-transform: perspective(400px);
-    transform: perspective(400px);
-  }
-
-  30% {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
-    opacity: 0;
-  }
-}
-
-.flipOutX {
-  -webkit-animation-duration: 0.75s;
-  animation-duration: 0.75s;
-  -webkit-animation-name: flipOutX;
-  animation-name: flipOutX;
-  -webkit-backface-visibility: visible !important;
-  backface-visibility: visible !important;
-}
-
-@-webkit-keyframes flipOutY {
-  from {
-    -webkit-transform: perspective(400px);
-    transform: perspective(400px);
-  }
-
-  30% {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-    opacity: 0;
-  }
-}
-
-@keyframes flipOutY {
-  from {
-    -webkit-transform: perspective(400px);
-    transform: perspective(400px);
-  }
-
-  30% {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
-    opacity: 0;
-  }
-}
-
-.flipOutY {
-  -webkit-animation-duration: 0.75s;
-  animation-duration: 0.75s;
-  -webkit-backface-visibility: visible !important;
-  backface-visibility: visible !important;
-  -webkit-animation-name: flipOutY;
-  animation-name: flipOutY;
-}
-
-@-webkit-keyframes lightSpeedIn {
-  from {
-    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
-    transform: translate3d(100%, 0, 0) skewX(-30deg);
-    opacity: 0;
-  }
-
-  60% {
-    -webkit-transform: skewX(20deg);
-    transform: skewX(20deg);
-    opacity: 1;
-  }
-
-  80% {
-    -webkit-transform: skewX(-5deg);
-    transform: skewX(-5deg);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes lightSpeedIn {
-  from {
-    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
-    transform: translate3d(100%, 0, 0) skewX(-30deg);
-    opacity: 0;
-  }
-
-  60% {
-    -webkit-transform: skewX(20deg);
-    transform: skewX(20deg);
-    opacity: 1;
-  }
-
-  80% {
-    -webkit-transform: skewX(-5deg);
-    transform: skewX(-5deg);
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.lightSpeedIn {
-  -webkit-animation-name: lightSpeedIn;
-  animation-name: lightSpeedIn;
-  -webkit-animation-timing-function: ease-out;
-  animation-timing-function: ease-out;
-}
-
-@-webkit-keyframes lightSpeedOut {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
-    transform: translate3d(100%, 0, 0) skewX(30deg);
-    opacity: 0;
-  }
-}
-
-@keyframes lightSpeedOut {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
-    transform: translate3d(100%, 0, 0) skewX(30deg);
-    opacity: 0;
-  }
-}
-
-.lightSpeedOut {
-  -webkit-animation-name: lightSpeedOut;
-  animation-name: lightSpeedOut;
-  -webkit-animation-timing-function: ease-in;
-  animation-timing-function: ease-in;
-}
-
-@-webkit-keyframes rotateIn {
-  from {
-    -webkit-transform-origin: center;
-    transform-origin: center;
-    -webkit-transform: rotate3d(0, 0, 1, -200deg);
-    transform: rotate3d(0, 0, 1, -200deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: center;
-    transform-origin: center;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-@keyframes rotateIn {
-  from {
-    -webkit-transform-origin: center;
-    transform-origin: center;
-    -webkit-transform: rotate3d(0, 0, 1, -200deg);
-    transform: rotate3d(0, 0, 1, -200deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: center;
-    transform-origin: center;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-.rotateIn {
-  -webkit-animation-name: rotateIn;
-  animation-name: rotateIn;
-}
-
-@-webkit-keyframes rotateInDownLeft {
-  from {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate3d(0, 0, 1, -45deg);
-    transform: rotate3d(0, 0, 1, -45deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-@keyframes rotateInDownLeft {
-  from {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate3d(0, 0, 1, -45deg);
-    transform: rotate3d(0, 0, 1, -45deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-.rotateInDownLeft {
-  -webkit-animation-name: rotateInDownLeft;
-  animation-name: rotateInDownLeft;
-}
-
-@-webkit-keyframes rotateInDownRight {
-  from {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate3d(0, 0, 1, 45deg);
-    transform: rotate3d(0, 0, 1, 45deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-@keyframes rotateInDownRight {
-  from {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate3d(0, 0, 1, 45deg);
-    transform: rotate3d(0, 0, 1, 45deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-.rotateInDownRight {
-  -webkit-animation-name: rotateInDownRight;
-  animation-name: rotateInDownRight;
-}
-
-@-webkit-keyframes rotateInUpLeft {
-  from {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate3d(0, 0, 1, 45deg);
-    transform: rotate3d(0, 0, 1, 45deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-@keyframes rotateInUpLeft {
-  from {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate3d(0, 0, 1, 45deg);
-    transform: rotate3d(0, 0, 1, 45deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-.rotateInUpLeft {
-  -webkit-animation-name: rotateInUpLeft;
-  animation-name: rotateInUpLeft;
-}
-
-@-webkit-keyframes rotateInUpRight {
-  from {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate3d(0, 0, 1, -90deg);
-    transform: rotate3d(0, 0, 1, -90deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-@keyframes rotateInUpRight {
-  from {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate3d(0, 0, 1, -90deg);
-    transform: rotate3d(0, 0, 1, -90deg);
-    opacity: 0;
-  }
-
-  to {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    opacity: 1;
-  }
-}
-
-.rotateInUpRight {
-  -webkit-animation-name: rotateInUpRight;
-  animation-name: rotateInUpRight;
-}
-
-@-webkit-keyframes rotateOut {
-  from {
-    -webkit-transform-origin: center;
-    transform-origin: center;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: center;
-    transform-origin: center;
-    -webkit-transform: rotate3d(0, 0, 1, 200deg);
-    transform: rotate3d(0, 0, 1, 200deg);
-    opacity: 0;
-  }
-}
-
-@keyframes rotateOut {
-  from {
-    -webkit-transform-origin: center;
-    transform-origin: center;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: center;
-    transform-origin: center;
-    -webkit-transform: rotate3d(0, 0, 1, 200deg);
-    transform: rotate3d(0, 0, 1, 200deg);
-    opacity: 0;
-  }
-}
-
-.rotateOut {
-  -webkit-animation-name: rotateOut;
-  animation-name: rotateOut;
-}
-
-@-webkit-keyframes rotateOutDownLeft {
-  from {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate3d(0, 0, 1, 45deg);
-    transform: rotate3d(0, 0, 1, 45deg);
-    opacity: 0;
-  }
-}
-
-@keyframes rotateOutDownLeft {
-  from {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate3d(0, 0, 1, 45deg);
-    transform: rotate3d(0, 0, 1, 45deg);
-    opacity: 0;
-  }
-}
-
-.rotateOutDownLeft {
-  -webkit-animation-name: rotateOutDownLeft;
-  animation-name: rotateOutDownLeft;
-}
-
-@-webkit-keyframes rotateOutDownRight {
-  from {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate3d(0, 0, 1, -45deg);
-    transform: rotate3d(0, 0, 1, -45deg);
-    opacity: 0;
-  }
-}
-
-@keyframes rotateOutDownRight {
-  from {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate3d(0, 0, 1, -45deg);
-    transform: rotate3d(0, 0, 1, -45deg);
-    opacity: 0;
-  }
-}
-
-.rotateOutDownRight {
-  -webkit-animation-name: rotateOutDownRight;
-  animation-name: rotateOutDownRight;
-}
-
-@-webkit-keyframes rotateOutUpLeft {
-  from {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate3d(0, 0, 1, -45deg);
-    transform: rotate3d(0, 0, 1, -45deg);
-    opacity: 0;
-  }
-}
-
-@keyframes rotateOutUpLeft {
-  from {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate3d(0, 0, 1, -45deg);
-    transform: rotate3d(0, 0, 1, -45deg);
-    opacity: 0;
-  }
-}
-
-.rotateOutUpLeft {
-  -webkit-animation-name: rotateOutUpLeft;
-  animation-name: rotateOutUpLeft;
-}
-
-@-webkit-keyframes rotateOutUpRight {
-  from {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate3d(0, 0, 1, 90deg);
-    transform: rotate3d(0, 0, 1, 90deg);
-    opacity: 0;
-  }
-}
-
-@keyframes rotateOutUpRight {
-  from {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate3d(0, 0, 1, 90deg);
-    transform: rotate3d(0, 0, 1, 90deg);
-    opacity: 0;
-  }
-}
-
-.rotateOutUpRight {
-  -webkit-animation-name: rotateOutUpRight;
-  animation-name: rotateOutUpRight;
-}
-
-@-webkit-keyframes hinge {
-  0% {
-    -webkit-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-  }
-
-  20%,
-  60% {
-    -webkit-transform: rotate3d(0, 0, 1, 80deg);
-    transform: rotate3d(0, 0, 1, 80deg);
-    -webkit-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-  }
-
-  40%,
-  80% {
-    -webkit-transform: rotate3d(0, 0, 1, 60deg);
-    transform: rotate3d(0, 0, 1, 60deg);
-    -webkit-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 700px, 0);
-    transform: translate3d(0, 700px, 0);
-    opacity: 0;
-  }
-}
-
-@keyframes hinge {
-  0% {
-    -webkit-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-  }
-
-  20%,
-  60% {
-    -webkit-transform: rotate3d(0, 0, 1, 80deg);
-    transform: rotate3d(0, 0, 1, 80deg);
-    -webkit-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-  }
-
-  40%,
-  80% {
-    -webkit-transform: rotate3d(0, 0, 1, 60deg);
-    transform: rotate3d(0, 0, 1, 60deg);
-    -webkit-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-    opacity: 1;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 700px, 0);
-    transform: translate3d(0, 700px, 0);
-    opacity: 0;
-  }
-}
-
-.hinge {
-  -webkit-animation-duration: 2s;
-  animation-duration: 2s;
-  -webkit-animation-name: hinge;
-  animation-name: hinge;
-}
-
-@-webkit-keyframes jackInTheBox {
-  from {
-    opacity: 0;
-    -webkit-transform: scale(0.1) rotate(30deg);
-    transform: scale(0.1) rotate(30deg);
-    -webkit-transform-origin: center bottom;
-    transform-origin: center bottom;
-  }
-
-  50% {
-    -webkit-transform: rotate(-10deg);
-    transform: rotate(-10deg);
-  }
-
-  70% {
-    -webkit-transform: rotate(3deg);
-    transform: rotate(3deg);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-}
-
-@keyframes jackInTheBox {
-  from {
-    opacity: 0;
-    -webkit-transform: scale(0.1) rotate(30deg);
-    transform: scale(0.1) rotate(30deg);
-    -webkit-transform-origin: center bottom;
-    transform-origin: center bottom;
-  }
-
-  50% {
-    -webkit-transform: rotate(-10deg);
-    transform: rotate(-10deg);
-  }
-
-  70% {
-    -webkit-transform: rotate(3deg);
-    transform: rotate(3deg);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: scale(1);
-    transform: scale(1);
-  }
-}
-
-.jackInTheBox {
-  -webkit-animation-name: jackInTheBox;
-  animation-name: jackInTheBox;
-}
-
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-
-@-webkit-keyframes rollIn {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
-    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes rollIn {
-  from {
-    opacity: 0;
-    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
-    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
-  }
-
-  to {
-    opacity: 1;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.rollIn {
-  -webkit-animation-name: rollIn;
-  animation-name: rollIn;
-}
-
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-
-@-webkit-keyframes rollOut {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
-    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
-  }
-}
-
-@keyframes rollOut {
-  from {
-    opacity: 1;
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
-    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
-  }
-}
-
-.rollOut {
-  -webkit-animation-name: rollOut;
-  animation-name: rollOut;
-}
-
-@-webkit-keyframes zoomIn {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.3, 0.3, 0.3);
-    transform: scale3d(0.3, 0.3, 0.3);
-  }
-
-  50% {
-    opacity: 1;
-  }
-}
-
-@keyframes zoomIn {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.3, 0.3, 0.3);
-    transform: scale3d(0.3, 0.3, 0.3);
-  }
-
-  50% {
-    opacity: 1;
-  }
-}
-
-.zoomIn {
-  -webkit-animation-name: zoomIn;
-  animation-name: zoomIn;
-}
-
-@-webkit-keyframes zoomInDown {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-@keyframes zoomInDown {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-.zoomInDown {
-  -webkit-animation-name: zoomInDown;
-  animation-name: zoomInDown;
-}
-
-@-webkit-keyframes zoomInLeft {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-@keyframes zoomInLeft {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-.zoomInLeft {
-  -webkit-animation-name: zoomInLeft;
-  animation-name: zoomInLeft;
-}
-
-@-webkit-keyframes zoomInRight {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-@keyframes zoomInRight {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-.zoomInRight {
-  -webkit-animation-name: zoomInRight;
-  animation-name: zoomInRight;
-}
-
-@-webkit-keyframes zoomInUp {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-@keyframes zoomInUp {
-  from {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  60% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-.zoomInUp {
-  -webkit-animation-name: zoomInUp;
-  animation-name: zoomInUp;
-}
-
-@-webkit-keyframes zoomOut {
-  from {
-    opacity: 1;
-  }
-
-  50% {
-    opacity: 0;
-    -webkit-transform: scale3d(0.3, 0.3, 0.3);
-    transform: scale3d(0.3, 0.3, 0.3);
-  }
-
-  to {
-    opacity: 0;
-  }
-}
-
-@keyframes zoomOut {
-  from {
-    opacity: 1;
-  }
-
-  50% {
-    opacity: 0;
-    -webkit-transform: scale3d(0.3, 0.3, 0.3);
-    transform: scale3d(0.3, 0.3, 0.3);
-  }
-
-  to {
-    opacity: 0;
-  }
-}
-
-.zoomOut {
-  -webkit-animation-name: zoomOut;
-  animation-name: zoomOut;
-}
-
-@-webkit-keyframes zoomOutDown {
-  40% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
-    -webkit-transform-origin: center bottom;
-    transform-origin: center bottom;
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-@keyframes zoomOutDown {
-  40% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
-    -webkit-transform-origin: center bottom;
-    transform-origin: center bottom;
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-.zoomOutDown {
-  -webkit-animation-name: zoomOutDown;
-  animation-name: zoomOutDown;
-}
-
-@-webkit-keyframes zoomOutLeft {
-  40% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
-    transform: scale(0.1) translate3d(-2000px, 0, 0);
-    -webkit-transform-origin: left center;
-    transform-origin: left center;
-  }
-}
-
-@keyframes zoomOutLeft {
-  40% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
-    transform: scale(0.1) translate3d(-2000px, 0, 0);
-    -webkit-transform-origin: left center;
-    transform-origin: left center;
-  }
-}
-
-.zoomOutLeft {
-  -webkit-animation-name: zoomOutLeft;
-  animation-name: zoomOutLeft;
-}
-
-@-webkit-keyframes zoomOutRight {
-  40% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
-    transform: scale(0.1) translate3d(2000px, 0, 0);
-    -webkit-transform-origin: right center;
-    transform-origin: right center;
-  }
-}
-
-@keyframes zoomOutRight {
-  40% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
-    transform: scale(0.1) translate3d(2000px, 0, 0);
-    -webkit-transform-origin: right center;
-    transform-origin: right center;
-  }
-}
-
-.zoomOutRight {
-  -webkit-animation-name: zoomOutRight;
-  animation-name: zoomOutRight;
-}
-
-@-webkit-keyframes zoomOutUp {
-  40% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
-    -webkit-transform-origin: center bottom;
-    transform-origin: center bottom;
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-@keyframes zoomOutUp {
-  40% {
-    opacity: 1;
-    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
-    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
-    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
-  }
-
-  to {
-    opacity: 0;
-    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
-    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
-    -webkit-transform-origin: center bottom;
-    transform-origin: center bottom;
-    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
-  }
-}
-
-.zoomOutUp {
-  -webkit-animation-name: zoomOutUp;
-  animation-name: zoomOutUp;
-}
-
-@-webkit-keyframes slideInDown {
-  from {
-    -webkit-transform: translate3d(0, -100%, 0);
-    transform: translate3d(0, -100%, 0);
-    visibility: visible;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes slideInDown {
-  from {
-    -webkit-transform: translate3d(0, -100%, 0);
-    transform: translate3d(0, -100%, 0);
-    visibility: visible;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.slideInDown {
-  -webkit-animation-name: slideInDown;
-  animation-name: slideInDown;
-}
-
-@-webkit-keyframes slideInLeft {
-  from {
-    -webkit-transform: translate3d(-100%, 0, 0);
-    transform: translate3d(-100%, 0, 0);
-    visibility: visible;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes slideInLeft {
-  from {
-    -webkit-transform: translate3d(-100%, 0, 0);
-    transform: translate3d(-100%, 0, 0);
-    visibility: visible;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.slideInLeft {
-  -webkit-animation-name: slideInLeft;
-  animation-name: slideInLeft;
-}
-
-@-webkit-keyframes slideInRight {
-  from {
-    -webkit-transform: translate3d(100%, 0, 0);
-    transform: translate3d(100%, 0, 0);
-    visibility: visible;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes slideInRight {
-  from {
-    -webkit-transform: translate3d(100%, 0, 0);
-    transform: translate3d(100%, 0, 0);
-    visibility: visible;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.slideInRight {
-  -webkit-animation-name: slideInRight;
-  animation-name: slideInRight;
-}
-
-@-webkit-keyframes slideInUp {
-  from {
-    -webkit-transform: translate3d(0, 100%, 0);
-    transform: translate3d(0, 100%, 0);
-    visibility: visible;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-@keyframes slideInUp {
-  from {
-    -webkit-transform: translate3d(0, 100%, 0);
-    transform: translate3d(0, 100%, 0);
-    visibility: visible;
-  }
-
-  to {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-}
-
-.slideInUp {
-  -webkit-animation-name: slideInUp;
-  animation-name: slideInUp;
-}
-
-@-webkit-keyframes slideOutDown {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  to {
-    visibility: hidden;
-    -webkit-transform: translate3d(0, 100%, 0);
-    transform: translate3d(0, 100%, 0);
-  }
-}
-
-@keyframes slideOutDown {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  to {
-    visibility: hidden;
-    -webkit-transform: translate3d(0, 100%, 0);
-    transform: translate3d(0, 100%, 0);
-  }
-}
-
-.slideOutDown {
-  -webkit-animation-name: slideOutDown;
-  animation-name: slideOutDown;
-}
-
-@-webkit-keyframes slideOutLeft {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  to {
-    visibility: hidden;
-    -webkit-transform: translate3d(-100%, 0, 0);
-    transform: translate3d(-100%, 0, 0);
-  }
-}
-
-@keyframes slideOutLeft {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  to {
-    visibility: hidden;
-    -webkit-transform: translate3d(-100%, 0, 0);
-    transform: translate3d(-100%, 0, 0);
-  }
-}
-
-.slideOutLeft {
-  -webkit-animation-name: slideOutLeft;
-  animation-name: slideOutLeft;
-}
-
-@-webkit-keyframes slideOutRight {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  to {
-    visibility: hidden;
-    -webkit-transform: translate3d(100%, 0, 0);
-    transform: translate3d(100%, 0, 0);
-  }
-}
-
-@keyframes slideOutRight {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  to {
-    visibility: hidden;
-    -webkit-transform: translate3d(100%, 0, 0);
-    transform: translate3d(100%, 0, 0);
-  }
-}
-
-.slideOutRight {
-  -webkit-animation-name: slideOutRight;
-  animation-name: slideOutRight;
-}
-
-@-webkit-keyframes slideOutUp {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  to {
-    visibility: hidden;
-    -webkit-transform: translate3d(0, -100%, 0);
-    transform: translate3d(0, -100%, 0);
-  }
-}
-
-@keyframes slideOutUp {
-  from {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-  }
-
-  to {
-    visibility: hidden;
-    -webkit-transform: translate3d(0, -100%, 0);
-    transform: translate3d(0, -100%, 0);
-  }
-}
-
-.slideOutUp {
-  -webkit-animation-name: slideOutUp;
-  animation-name: slideOutUp;
-}
-
-.animated {
-  -webkit-animation-duration: 1s;
-  animation-duration: 1s;
-  -webkit-animation-fill-mode: both;
-  animation-fill-mode: both;
-}
-
-.animated.infinite {
-  -webkit-animation-iteration-count: infinite;
-  animation-iteration-count: infinite;
-}
-
-.animated.delay-1s {
-  -webkit-animation-delay: 1s;
-  animation-delay: 1s;
-}
-
-.animated.delay-2s {
-  -webkit-animation-delay: 2s;
-  animation-delay: 2s;
-}
-
-.animated.delay-3s {
-  -webkit-animation-delay: 3s;
-  animation-delay: 3s;
-}
-
-.animated.delay-4s {
-  -webkit-animation-delay: 4s;
-  animation-delay: 4s;
-}
-
-.animated.delay-5s {
-  -webkit-animation-delay: 5s;
-  animation-delay: 5s;
-}
-
-.animated.fast {
-  -webkit-animation-duration: 800ms;
-  animation-duration: 800ms;
-}
-
-.animated.faster {
-  -webkit-animation-duration: 500ms;
-  animation-duration: 500ms;
-}
-
-.animated.slow {
-  -webkit-animation-duration: 2s;
-  animation-duration: 2s;
-}
-
-.animated.slower {
-  -webkit-animation-duration: 3s;
-  animation-duration: 3s;
-}
-
-@media (print), (prefers-reduced-motion: reduce) {
-  .animated {
-    -webkit-animation-duration: 1ms !important;
-    animation-duration: 1ms !important;
-    -webkit-transition-duration: 1ms !important;
-    transition-duration: 1ms !important;
-    -webkit-animation-iteration-count: 1 !important;
-    animation-iteration-count: 1 !important;
-  }
-}

+ 0 - 5
resources/assets/vendors/css/calendars/extensions/daygrid.min.css

@@ -1,5 +0,0 @@
-/*!
-FullCalendar Day Grid Plugin v4.3.1
-Docs & License: https://fullcalendar.io/
-(c) 2019 Adam Shaw
-*/.fc-dayGridDay-view .fc-content-skeleton,.fc-dayGridWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-dayGrid-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-dayGrid-view .fc-day-number,.fc-dayGrid-view .fc-week-number{padding:2px}.fc-dayGrid-view th.fc-day-number,.fc-dayGrid-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-dayGrid-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-dayGrid-view td.fc-week-number{text-align:center}.fc-dayGrid-view td.fc-week-number>*{display:inline-block;min-width:1.25em}

Разница между файлами не показана из-за своего большого размера
+ 0 - 4
resources/assets/vendors/css/calendars/extensions/timegrid.min.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 4
resources/assets/vendors/css/calendars/fullcalendar.min.css


+ 0 - 176
resources/assets/vendors/css/calendars/fullcalendar.print.css

@@ -1,176 +0,0 @@
-/*!
- * FullCalendar v3.9.0
- * Docs & License: https://fullcalendar.io/
- * (c) 2018 Adam Shaw
- */
-/*!
- * FullCalendar v3.9.0 Print Stylesheet
- * Docs & License: https://fullcalendar.io/
- * (c) 2018 Adam Shaw
- */
-/*
- * Include this stylesheet on your page to get a more printer-friendly calendar.
- * When including this stylesheet, use the media='print' attribute of the <link> tag.
- * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
- */
-.fc {
-  max-width: 100% !important; }
-
-/* Global Event Restyling
---------------------------------------------------------------------------------------------------*/
-.fc-event {
-  background: #fff !important;
-  color: #000 !important;
-  page-break-inside: avoid; }
-
-.fc-event .fc-resizer {
-  display: none; }
-
-/* Table & Day-Row Restyling
---------------------------------------------------------------------------------------------------*/
-.fc th,
-.fc td,
-.fc hr,
-.fc thead,
-.fc tbody,
-.fc-row {
-  border-color: #ccc !important;
-  background: #fff !important; }
-
-/* kill the overlaid, absolutely-positioned components */
-/* common... */
-.fc-bg,
-.fc-bgevent-skeleton,
-.fc-highlight-skeleton,
-.fc-helper-skeleton,
-.fc-bgevent-container,
-.fc-business-container,
-.fc-highlight-container,
-.fc-helper-container {
-  display: none; }
-
-/* don't force a min-height on rows (for DayGrid) */
-.fc tbody .fc-row {
-  height: auto !important;
-  /* undo height that JS set in distributeHeight */
-  min-height: 0 !important;
-  /* undo the min-height from each view's specific stylesheet */ }
-
-.fc tbody .fc-row .fc-content-skeleton {
-  position: static;
-  /* undo .fc-rigid */
-  padding-bottom: 0 !important;
-  /* use a more border-friendly method for this... */ }
-
-.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
-  /* only works in newer browsers */
-  padding-bottom: 1em;
-  /* ...gives space within the skeleton. also ensures min height in a way */ }
-
-.fc tbody .fc-row .fc-content-skeleton table {
-  /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
-     making it look more like 3em. for other browers, it will already be this tall */
-  height: 1em; }
-
-/* Undo month-view event limiting. Display all events and hide the "more" links
---------------------------------------------------------------------------------------------------*/
-.fc-more-cell,
-.fc-more {
-  display: none !important; }
-
-.fc tr.fc-limited {
-  display: table-row !important; }
-
-.fc td.fc-limited {
-  display: table-cell !important; }
-
-.fc-popover {
-  display: none;
-  /* never display the "more.." popover in print mode */ }
-
-/* TimeGrid Restyling
---------------------------------------------------------------------------------------------------*/
-/* undo the min-height 100% trick used to fill the container's height */
-.fc-time-grid {
-  min-height: 0 !important; }
-
-/* don't display the side axis at all ("all-day" and time cells) */
-.fc-agenda-view .fc-axis {
-  display: none; }
-
-/* don't display the horizontal lines */
-.fc-slats,
-.fc-time-grid hr {
-  /* this hr is used when height is underused and needs to be filled */
-  display: none !important;
-  /* important overrides inline declaration */ }
-
-/* let the container that holds the events be naturally positioned and create real height */
-.fc-time-grid .fc-content-skeleton {
-  position: static; }
-
-/* in case there are no events, we still want some height */
-.fc-time-grid .fc-content-skeleton table {
-  height: 4em; }
-
-/* kill the horizontal spacing made by the event container. event margins will be done below */
-.fc-time-grid .fc-event-container {
-  margin: 0 !important; }
-
-/* TimeGrid *Event* Restyling
---------------------------------------------------------------------------------------------------*/
-/* naturally position events, vertically stacking them */
-.fc-time-grid .fc-event {
-  position: static !important;
-  margin: 3px 2px !important; }
-
-/* for events that continue to a future day, give the bottom border back */
-.fc-time-grid .fc-event.fc-not-end {
-  border-bottom-width: 1px !important; }
-
-/* indicate the event continues via "..." text */
-.fc-time-grid .fc-event.fc-not-end:after {
-  content: "..."; }
-
-/* for events that are continuations from previous days, give the top border back */
-.fc-time-grid .fc-event.fc-not-start {
-  border-top-width: 1px !important; }
-
-/* indicate the event is a continuation via "..." text */
-.fc-time-grid .fc-event.fc-not-start:before {
-  content: "..."; }
-
-/* time */
-/* undo a previous declaration and let the time text span to a second line */
-.fc-time-grid .fc-event .fc-time {
-  white-space: normal !important; }
-
-/* hide the the time that is normally displayed... */
-.fc-time-grid .fc-event .fc-time span {
-  display: none; }
-
-/* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
-.fc-time-grid .fc-event .fc-time:after {
-  content: attr(data-full); }
-
-/* Vertical Scroller & Containers
---------------------------------------------------------------------------------------------------*/
-/* kill the scrollbars and allow natural height */
-.fc-scroller,
-.fc-day-grid-container,
-.fc-time-grid-container {
-  /* */
-  overflow: visible !important;
-  height: auto !important; }
-
-/* kill the horizontal border/padding used to compensate for scrollbars */
-.fc-row {
-  border: 0 !important;
-  margin: 0 !important; }
-
-/* Button Controls
---------------------------------------------------------------------------------------------------*/
-.fc-button-group,
-.fc button {
-  display: none;
-  /* don't display any button-related controls */ }

+ 0 - 23
resources/assets/vendors/css/extensions/dataTables.checkboxes.css

@@ -1,23 +0,0 @@
-table.dataTable.dt-checkboxes-select tbody tr,
-table.dataTable thead th.dt-checkboxes-select-all,
-table.dataTable tbody td.dt-checkboxes-cell {
-  cursor: pointer;
-}
-
-table.dataTable thead th.dt-checkboxes-select-all,
-table.dataTable tbody td.dt-checkboxes-cell {
-  text-align: center;
-}
-
-div.dataTables_wrapper span.select-info,
-div.dataTables_wrapper span.select-item {
-  margin-left: 0.5em;
-}
-
-@media screen and (max-width: 640px) {
-  div.dataTables_wrapper span.select-info,
-  div.dataTables_wrapper span.select-item {
-    margin-left: 0;
-    display: block;
-  }
-}

BIN
resources/assets/vendors/css/extensions/dd-icon/dd-icon.eot


+ 0 - 15
resources/assets/vendors/css/extensions/dd-icon/dd-icon.svg

@@ -1,15 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata>Generated by Fontastic.me</metadata>
-<defs>
-<font id="dd-icon" horiz-adv-x="512">
-<font-face font-family="dd-icon" units-per-em="512" ascent="480" descent="-32"/>
-<missing-glyph horiz-adv-x="512" />
-
-<glyph glyph-name="right" unicode="&#98;" d="M298 256l-167 174c-4 4-4 11 0 16l30 30c5 5 12 5 16 1l204-213c2-2 3-5 3-8 0-3-1-6-3-8l-204-213c-4-4-11-4-16 0l-30 31c-4 4-4 11 0 16z"/>
-<glyph glyph-name="left" unicode="&#99;" d="M214 256l167 174c4 4 4 11 0 16l-30 30c-4 5-11 5-16 1l-204-213c-2-2-3-5-3-8 0-3 1-6 3-8l204-213c5-4 12-4 16 0l30 31c4 4 4 11 0 16z"/>
-<glyph glyph-name="close" unicode="&#97;" d="M438 125l-131 131 131 131c14 14 14 36 0 50-15 15-37 15-51 0l-131-130-131 130c-14 15-36 15-50 0-15-14-15-36 0-50l130-131-130-131c-15-14-15-36 0-51 14-14 36-14 50 0l131 131 131-131c14-14 36-14 51 0 14 15 14 37 0 51z"/>
-<glyph glyph-name="check" unicode="&#101;" d="M448 440c-17 13-41 9-54-9l-180-263-99 107c-15 17-39 17-55 2-15-16-16-42-1-58 0 0 120-134 137-147 18-14 42-10 54 9l207 302c12 18 8 44-9 57z"/>
-<glyph glyph-name="sign" unicode="&#100;" d="M260 18c-50 0-101 13-146 37-42 22-70 50-86 84-14 33-16 68-15 99 1 74 18 128 50 165 20 24 46 45 69 59 31 18 64 27 95 35 38 10 74 9 105-2 6-2 9-10 7-16-2-6-9-9-15-7-27 10-58 11-92 2-34-9-62-18-89-33-22-12-45-32-63-54-28-33-43-82-44-150-1-28 0-60 13-87 12-29 38-54 75-74 54-28 117-39 177-30 30 4 54 12 74 26 20 14 39 34 58 64 11 18 19 34 25 51 21 59 14 127-19 178-29 46-91 71-157 65-6 0-12 4-12 11-1 6 4 12 10 13 74 6 144-23 178-76 37-57 45-134 21-200-6-18-15-36-27-55-20-32-41-55-64-71-23-15-50-25-83-30-16-2-30-4-45-4z"/>
-</font></defs></svg>

BIN
resources/assets/vendors/css/extensions/dd-icon/dd-icon.ttf


BIN
resources/assets/vendors/css/extensions/dd-icon/dd-icon.woff


+ 0 - 1
resources/assets/vendors/css/extensions/dragula.min.css

@@ -1 +0,0 @@
-.gu-mirror{position:fixed!important;margin:0!important;z-index:9999!important;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.gu-hide{display:none!important}.gu-unselectable{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.gu-transit{opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";filter:alpha(opacity=20)}

Разница между файлами не показана из-за своего большого размера
+ 0 - 14
resources/assets/vendors/css/extensions/jquery.contextMenu.min.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
resources/assets/vendors/css/extensions/nouislider.min.css


+ 0 - 22
resources/assets/vendors/css/extensions/pace.css

@@ -1,22 +0,0 @@
-.pace {
-  -webkit-pointer-events: none;
-  pointer-events: none;
-
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  user-select: none;
-}
-
-.pace-inactive {
-  display: none;
-}
-
-.pace .pace-progress {
-  background: #ff6275;
-  position: fixed;
-  z-index: 2000;
-  top: 0;
-  right: 100%;
-  width: 100%;
-  height: 3px;
-}

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/css/extensions/plyr.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/css/extensions/shepherd-theme-default.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 11
resources/assets/vendors/css/extensions/swiper.min.css


+ 0 - 138
resources/assets/vendors/css/extensions/tether-theme-arrows.css

@@ -1,138 +0,0 @@
-.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before {
-  box-sizing: border-box; }
-
-.tether-element {
-  position: absolute;
-  display: none; }
-  .tether-element.tether-open {
-    display: block; }
-
-.tether-element.tether-theme-arrows {
-  max-width: 100%;
-  max-height: 100%; }
-  .tether-element.tether-theme-arrows .tether-content {
-    border-radius: 5px;
-    position: relative;
-    font-family: inherit;
-    background: #fff;
-    color: inherit;
-    padding: 1em;
-    font-size: 1.1em;
-    line-height: 1.5em;
-    -webkit-transform: translateZ(0);
-            transform: translateZ(0);
-    -webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
-            filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); }
-    .tether-element.tether-theme-arrows .tether-content:before {
-      content: "";
-      display: block;
-      position: absolute;
-      width: 0;
-      height: 0;
-      border-color: transparent;
-      border-width: 16px;
-      border-style: solid; }
-  .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-center .tether-content {
-    margin-bottom: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-center .tether-content:before {
-      top: 100%;
-      left: 50%;
-      margin-left: -16px;
-      border-top-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-center .tether-content {
-    margin-top: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-center .tether-content:before {
-      bottom: 100%;
-      left: 50%;
-      margin-left: -16px;
-      border-bottom-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-right.tether-element-attached-middle .tether-content {
-    margin-right: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-right.tether-element-attached-middle .tether-content:before {
-      left: 100%;
-      top: 50%;
-      margin-top: -16px;
-      border-left-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-left.tether-element-attached-middle .tether-content {
-    margin-left: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-left.tether-element-attached-middle .tether-content:before {
-      right: 100%;
-      top: 50%;
-      margin-top: -16px;
-      border-right-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-left.tether-target-attached-center .tether-content {
-    left: -32px; }
-  .tether-element.tether-theme-arrows.tether-element-attached-right.tether-target-attached-center .tether-content {
-    left: 32px; }
-  .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content {
-    margin-top: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content:before {
-      bottom: 100%;
-      left: 16px;
-      border-bottom-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content {
-    margin-top: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content:before {
-      bottom: 100%;
-      right: 16px;
-      border-bottom-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content {
-    margin-bottom: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content:before {
-      top: 100%;
-      left: 16px;
-      border-top-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content {
-    margin-bottom: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content:before {
-      top: 100%;
-      right: 16px;
-      border-top-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content {
-    margin-top: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content:before {
-      bottom: 100%;
-      left: 16px;
-      border-bottom-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content {
-    margin-top: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content:before {
-      bottom: 100%;
-      right: 16px;
-      border-bottom-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content {
-    margin-bottom: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content:before {
-      top: 100%;
-      left: 16px;
-      border-top-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content {
-    margin-bottom: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content:before {
-      top: 100%;
-      right: 16px;
-      border-top-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content {
-    margin-right: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content:before {
-      top: 16px;
-      left: 100%;
-      border-left-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content {
-    margin-left: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content:before {
-      top: 16px;
-      right: 100%;
-      border-right-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content {
-    margin-right: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content:before {
-      bottom: 16px;
-      left: 100%;
-      border-left-color: #fff; }
-  .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content {
-    margin-left: 16px; }
-    .tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content:before {
-      bottom: 16px;
-      right: 100%;
-      border-right-color: #fff; }

+ 0 - 1
resources/assets/vendors/css/extensions/tether.min.css

@@ -1 +0,0 @@
-.tether-element,.tether-element *,.tether-element :after,.tether-element :before,.tether-element:after,.tether-element:before{box-sizing:border-box}.tether-element{position:absolute;display:none}.tether-element.tether-open{display:block}

+ 0 - 121
resources/assets/vendors/css/extensions/unslider.css

@@ -1,121 +0,0 @@
-/**
- *   Here's where everything gets included. You don't need
- *   to change anything here, and doing so might break
- *   stuff. Here be dragons and all that.
- */
-/**
- *   Default variables
- *
- *   While these can be set with JavaScript, it's probably
- *   better and faster to just set them here, compile to
- *   CSS and include that instead to use some of that
- *   hardware-accelerated goodness.
- */
-.unslider {
-  position: relative;
-  text-align: center;
-  overflow: auto;
-  margin: 0;
-  padding: 0;
-}
-.unslider-wrap {
-  position: relative;
-}
-.unslider-wrap.unslider-carousel > li {
-  float: left;
-}
-.unslider-vertical > ul {
-  height: 100%;
-}
-.unslider-vertical li {
-  float: none;
-  width: 100%;
-}
-.unslider-fade {
-  position: relative;
-}
-.unslider-fade .unslider-wrap li {
-  position: absolute;
-  left: 0;
-  top: 0;
-  right: 0;
-  z-index: 8;
-}
-.unslider-fade .unslider-wrap li.unslider-active {
-  z-index: 10;
-}
-.unslider ul, .unslider ol, .unslider li {
-  list-style: none;
-  /* Reset any weird spacing */
-  margin: 0;
-  padding: 0;
-  border: none;
-}
-.unslider-arrow {
-  position: absolute;
-  left: 20px;
-  z-index: 10;
-  cursor: pointer;
-}
-.unslider-arrow.next {
-  left: auto;
-  right: 20px;
-}
-
-.unslider-nav ol {
-  list-style: none;
-  text-align: center;
-}
-.unslider-nav ol li {
-  display: inline-block;
-  width: 6px;
-  height: 6px;
-  margin: 0 4px;
-  background: transparent;
-  border-radius: 5px;
-  overflow: hidden;
-  text-indent: -999em;
-  border: 2px solid #1D2B36;
-  cursor: pointer;
-}
-.unslider-nav ol li.unslider-active {
-  background: #1D2B36;
-  cursor: default;
-}
-
-.unslider-arrow {
-  display: block;
-  width: 32px;
-  height: 32px;
-  top: 50%;
-  right: -50px;
-  left: auto;
-  margin-top: -16px;
-  overflow: hidden;
-  border-radius: 32px;
-  background: rgba(0,0,0,.2);
-  /*text-indent: -999em;*/
-  font-size: 0;
-  opacity: .6;
-  transition: opacity .2s;
-  text-align: center;
-  line-height: 32px;
-}
-
-.unslider-arrow.prev {
-  left: 20px;
-  right: auto;
-}
-.unslider-arrow.prev:before {
-  font-family: 'icomoon';
-  font-size: 1.3rem;
-  content: '\ea07';
-  color: #1D2B36;
-}
-
-.unslider-arrow.next:before {
-  font-family: 'icomoon';
-  font-size: 1.3rem;
-  content: '\ea09';
-  color: #1D2B36;
-}

+ 0 - 36
resources/assets/vendors/css/forms/spinner/jquery.bootstrap-touchspin.css

@@ -1,36 +0,0 @@
-/*
- *  Bootstrap TouchSpin - v4.2.5
- *  A mobile and touch friendly input spinner component for Bootstrap 3 & 4.
- *  http://www.virtuosoft.eu/code/bootstrap-touchspin/
- *
- *  Made by István Ujj-Mészáros
- *  Under Apache License v2.0 License
- */
-/* This CSS file is unnecessary if you are not using vertical buttons functionality */
-
-.bootstrap-touchspin .input-group-btn-vertical {
-  position: absolute;
-  right: 0;
-  height: 100%;
-  z-index: 11;
-}
-
-.bootstrap-touchspin .input-group-btn-vertical > .btn {
-  position: absolute;
-  right: 0;
-  height: 50%;
-  padding: 0;
-  width: 2em;
-  text-align: center;
-  line-height: 1;
-}
-
-.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
-  border-radius: 0 4px 0 0;
-  top: 0;
-}
-
-.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
-  border-radius: 0 0 4px 0;
-  bottom: 0;
-}

+ 0 - 64
resources/assets/vendors/css/forms/toggle/switchery.css

@@ -1,64 +0,0 @@
-/*
- *
- * Main stylesheet for Switchery.
- * http://abpetkov.github.io/switchery/
- *
- */
-
-/* Switchery defaults. */
-
-.switchery {
-  background-color: #fff;
-  border: 1px solid #dfdfdf;
-  border-radius: 20px;
-  cursor: pointer;
-  display: inline-block;
-  height: 30px;
-  position: relative;
-  vertical-align: middle;
-  width: 50px;
-
-  -moz-user-select: none;
-  -khtml-user-select: none;
-  -webkit-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  box-sizing: content-box;
-  background-clip: content-box;
-}
-
-.switchery > small {
-  background: #fff;
-  border-radius: 100%;
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
-  height: 30px;
-  position: absolute;
-  top: 0;
-  width: 30px;
-}
-
-/* Switchery sizes. */
-
-.switchery-small {
-  border-radius: 20px;
-  height: 20px;
-  width: 33px;
-}
-
-.switchery-small > small {
-  height: 20px;
-  width: 20px;
-}
-
-.switchery-large {
-  border-radius: 40px;
-  height: 40px;
-  width: 66px;
-}
-
-.switchery-large > small {
-  height: 40px;
-  width: 40px;
-}
-
-

+ 0 - 1
resources/assets/vendors/css/forms/toggle/switchery.min.css

@@ -1 +0,0 @@
-.switchery{background-color:#fff;border:1px solid #dfdfdf;border-radius:20px;cursor:pointer;display:inline-block;height:30px;position:relative;vertical-align:middle;width:50px;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;box-sizing:content-box;background-clip:content-box}.switchery>small{background:#fff;border-radius:100%;box-shadow:0 1px 3px rgba(0,0,0,0.4);height:30px;position:absolute;top:0;width:30px}.switchery-small{border-radius:20px;height:20px;width:33px}.switchery-small>small{height:20px;width:20px}.switchery-large{border-radius:40px;height:40px;width:66px}.switchery-large>small{height:40px;width:40px}

+ 0 - 111
resources/assets/vendors/css/modal/facebook.css

@@ -1,111 +0,0 @@
-.sweet-overlay {
-  border-radius: 3px; }
-
-.sweet-alert {
-  font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif;
-  padding: 12px;
-  padding-top: 53px;
-  text-align: right;
-  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.11), 0px 6px 30px rgba(0, 0, 0, 0.14); }
-  .sweet-alert h2 {
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    height: 41px;
-    background-color: #f6f7f8;
-    margin: 0;
-    font-size: 15px;
-    text-align: left;
-    padding-left: 12px;
-    color: #131722;
-    border-bottom: 1px solid #e5e5e5; }
-  .sweet-alert p {
-    display: block;
-    text-align: center;
-    color: #131722;
-    font-weight: 400;
-    font-size: 15px;
-    margin-top: 7px; }
-  .sweet-alert .sa-button-container {
-    border-top: 1px solid #dcdee3; }
-  .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] {
-    padding-bottom: 10px; }
-    .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] .sa-button-container {
-      display: none; }
-  .sweet-alert button {
-    font-size: 12px;
-    padding: 5px 10px;
-    border-radius: 2px;
-    box-shadow: none !important;
-    text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.3);
-    font-weight: 500;
-    margin: 0;
-    margin-top: 12px; }
-    .sweet-alert button:focus, .sweet-alert button.cancel:focus {
-      box-shadow: 0 0 1px 2px rgba(88, 144, 255, 0.75), 0 1px 1px rgba(0, 0, 0, 0.15) !important; }
-    .sweet-alert button.confirm {
-      border: 1px solid #3d5586;
-      background-color: #47639c !important;
-      margin-left: 4px; }
-    .sweet-alert button.cancel {
-      color: #4e5664;
-      background-color: #fafbfb;
-      text-shadow: 0px -1px 0px white;
-      border: 1px solid #c5c6c8;
-      box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.04) !important;
-      font-weight: 600; }
-      .sweet-alert button.cancel:hover {
-        background-color: #fafbfb; }
-  .sweet-alert .sa-icon:not(.sa-custom) {
-    transform: scale(0.7);
-    margin-bottom: -10px;
-    margin-top: -10px; }
-  .sweet-alert input {
-    border: 1px solid #bdc7d8;
-    padding: 3px;
-    border-radius: 0;
-    box-shadow: none;
-    font-size: 15px;
-    height: 33px;
-    margin: 10px 0; }
-    .sweet-alert input:focus {
-      box-shadow: 0 0 1px 2px rgba(88, 144, 255, 0.75), 0 1px 1px rgba(0, 0, 0, 0.15) !important; }
-  .sweet-alert fieldset .sa-input-error {
-    display: none; }
-  .sweet-alert .sa-error-container {
-    text-align: center;
-    background-color: #fdebe8;
-    margin: 0;
-    border: none; }
-    .sweet-alert .sa-error-container.show {
-      margin: 14px;
-      margin-top: 0;
-      border: 1px solid #d5512d; }
-    .sweet-alert .sa-error-container .icon {
-      display: none; }
-    .sweet-alert .sa-error-container p {
-      color: #303b44;
-      margin-top: 3px; }
-
-@-webkit-keyframes animateErrorIcon {
-  0% {
-    transform: rotateX(100deg), scale(0.5);
-    -webkit-transform: rotateX(100deg), scale(0.5);
-    opacity: 0; }
-
-  100% {
-    transform: rotateX(0deg), scale(0.5);
-    -webkit-transform: rotateX(0deg), scale(0.5);
-    opacity: 1; } }
-
-@keyframes animateErrorIcon {
-  0% {
-    transform: rotateX(100deg), scale(0.5);
-    -webkit-transform: rotateX(100deg), scale(0.5);
-    opacity: 0; }
-
-  100% {
-    transform: rotateX(0deg), scale(0.5);
-    -webkit-transform: rotateX(0deg), scale(0.5);
-    opacity: 1; } }

+ 0 - 115
resources/assets/vendors/css/modal/google.css

@@ -1,115 +0,0 @@
-.sweet-overlay {
-  background: rgba(10, 10, 10, 0.6); }
-
-.sweet-alert {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  padding: 24px;
-  padding-top: 64px;
-  padding-bottom: 13px;
-  text-align: right;
-  border-radius: 0;
-  box-shadow: 0 0 14px rgba(0, 0, 0, 0.24), 0 14px 28px rgba(0, 0, 0, 0.48); }
-  .sweet-alert h2 {
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    height: auto;
-    font-weight: 400;
-    color: #212121;
-    margin: 20px 0;
-    font-size: 1.2em;
-    line-height: 1.25;
-    text-align: left;
-    padding: 0 24px; }
-  .sweet-alert p {
-    display: block;
-    text-align: center;
-    color: #212121;
-    font-weight: 400;
-    font-size: 14px;
-    margin: 20px 0; }
-  .sweet-alert button {
-    border-radius: 2px;
-    box-shadow: none !important;
-    background: none !important;
-    border-radius: 2px;
-    text-transform: uppercase;
-    font-size: 14px;
-    font-weight: 600;
-    padding: 8px 16px;
-    position: relative;
-    margin-top: 0; }
-    .sweet-alert button:hover, .sweet-alert button:focus {
-      background-color: #f6f6f6 !important; }
-    .sweet-alert button.confirm {
-      color: #3c80f6; }
-    .sweet-alert button.cancel {
-      color: #757575; }
-      .sweet-alert button.cancel:focus {
-        box-shadow: none !important; }
-  .sweet-alert .sa-icon:not(.sa-custom) {
-    transform: scale(0.8);
-    margin-bottom: -10px;
-    margin-top: -10px; }
-  .sweet-alert input {
-    border: none;
-    border-radius: 0;
-    border-bottom: 1px solid #c9c9c9;
-    color: #212121;
-    margin-bottom: 8px;
-    padding: 1px;
-    padding-bottom: 8px;
-    height: auto;
-    box-shadow: none;
-    font-size: 13px;
-    margin: 10px 0; }
-    .sweet-alert input:focus {
-      border: none;
-      border-bottom: 1px solid #3c80f6;
-      box-shadow: inset 0 -1px 0 #3c80f6; }
-  .sweet-alert fieldset {
-    padding: 0; }
-    .sweet-alert fieldset .sa-input-error {
-      display: none; }
-  .sweet-alert .sa-error-container {
-    display: none;
-    background: none;
-    height: auto;
-    padding: 0 24px;
-    margin: 0 -20px;
-    text-align: left; }
-    .sweet-alert .sa-error-container.show {
-      padding: 0 24px;
-      display: block; }
-      .sweet-alert .sa-error-container.show ~ fieldset input {
-        background: red;
-        border-bottom: 1px solid #d9453c;
-        box-shadow: inset 0 -1px 0 #d9453c; }
-    .sweet-alert .sa-error-container .icon {
-      display: none; }
-    .sweet-alert .sa-error-container p {
-      color: #d9453c;
-      margin-top: 0; }
-
-@-webkit-keyframes animateErrorIcon {
-  0% {
-    transform: rotateX(100deg), scale(0.5);
-    -webkit-transform: rotateX(100deg), scale(0.5);
-    opacity: 0; }
-
-  100% {
-    transform: rotateX(0deg), scale(0.5);
-    -webkit-transform: rotateX(0deg), scale(0.5);
-    opacity: 1; } }
-
-@keyframes animateErrorIcon {
-  0% {
-    transform: rotateX(100deg), scale(0.5);
-    -webkit-transform: rotateX(100deg), scale(0.5);
-    opacity: 0; }
-
-  100% {
-    transform: rotateX(0deg), scale(0.5);
-    -webkit-transform: rotateX(0deg), scale(0.5);
-    opacity: 1; } }

+ 0 - 140
resources/assets/vendors/css/modal/twitter.css

@@ -1,140 +0,0 @@
-.sweet-overlay {
-  background: rgba(41, 47, 51, 0.9); }
-
-.sweet-alert {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  padding: 15px;
-  padding-top: 55px;
-  text-align: right;
-  border-radius: 6px;
-  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.11), 0px 6px 30px rgba(0, 0, 0, 0.14); }
-  .sweet-alert h2 {
-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
-    height: 40px;
-    line-height: 40px;
-    font-size: 16px;
-    font-weight: 400;
-    color: #8899a6;
-    margin: 0;
-    color: #66757f;
-    border-bottom: 1px solid #e1e8ed; }
-  .sweet-alert p {
-    display: block;
-    text-align: center;
-    color: #66757f;
-    font-weight: 400;
-    font-size: 13px;
-    margin-top: 7px; }
-  .sweet-alert .sa-button-container {
-    background-color: #f5f8fa;
-    border-top: 1px solid #e1e8ed;
-    box-shadow: 0px -1px 0px white;
-    margin: -15px;
-    margin-top: 0; }
-  .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] {
-    padding-bottom: 10px; }
-    .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] .sa-button-container {
-      display: none; }
-  .sweet-alert button {
-    border-radius: 2px;
-    box-shadow: none !important;
-    text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.3);
-    margin: 17px 0px;
-    border-radius: 4px;
-    font-size: 14px;
-    font-weight: 600;
-    padding: 8px 16px;
-    position: relative; }
-    .sweet-alert button:focus, .sweet-alert button.cancel:focus {
-      box-shadow: none !important; }
-      .sweet-alert button:focus::before, .sweet-alert button.cancel:focus::before {
-        content: "";
-        position: absolute;
-        left: -5px;
-        top: -5px;
-        right: -5px;
-        bottom: -5px;
-        border: 2px solid #a5b0b4;
-        border-radius: 8px; }
-    .sweet-alert button.confirm {
-      background-color: #55acee !important;
-      background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
-      -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#0C000000)";
-      border: 1px solid #3b88c3;
-      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
-      margin-right: 15px; }
-      .sweet-alert button.confirm:hover {
-        background-color: #55acee;
-        background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.15));
-        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#26000000)";
-        border-color: #3b88c3; }
-    .sweet-alert button.cancel {
-      color: #66757e;
-      background-color: #f5f8fa;
-      background-image: linear-gradient(#fff, #f5f8fa);
-      text-shadow: 0px -1px 0px white;
-      margin-right: 9px;
-      border: 1px solid #e1e8ed; }
-      .sweet-alert button.cancel:hover, .sweet-alert button.cancel:focus:hover {
-        background-color: #e1e8ed;
-        background-image: linear-gradient(#fff, #e1e8ed);
-        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)";
-        border-color: #e1e8ed; }
-      .sweet-alert button.cancel:focus {
-        background: #fff;
-        border-color: #fff; }
-  .sweet-alert .sa-icon:not(.sa-custom) {
-    transform: scale(0.72);
-    margin-bottom: -2px;
-    margin-top: -10px; }
-  .sweet-alert input {
-    border: 1px solid #e1e8ed;
-    border-radius: 3px;
-    padding: 10px 7px;
-    height: auto;
-    box-shadow: none;
-    font-size: 13px;
-    margin: 10px 0; }
-    .sweet-alert input:focus {
-      border-color: #94A1A6;
-      box-shadow: inset 0 0 0 1px rgba(77, 99, 107, 0.7); }
-  .sweet-alert fieldset .sa-input-error {
-    display: none; }
-  .sweet-alert .sa-error-container {
-    text-align: center;
-    border: none;
-    background-color: #fbedc0;
-    margin-bottom: 6px; }
-    .sweet-alert .sa-error-container.show {
-      border: 1px solid #f0e1b9; }
-    .sweet-alert .sa-error-container .icon {
-      display: none; }
-    .sweet-alert .sa-error-container p {
-      color: #292f33;
-      font-weight: 600;
-      margin-top: 0; }
-
-@-webkit-keyframes animateErrorIcon {
-  0% {
-    transform: rotateX(100deg), scale(0.5);
-    -webkit-transform: rotateX(100deg), scale(0.5);
-    opacity: 0; }
-
-  100% {
-    transform: rotateX(0deg), scale(0.5);
-    -webkit-transform: rotateX(0deg), scale(0.5);
-    opacity: 1; } }
-
-@keyframes animateErrorIcon {
-  0% {
-    transform: rotateX(100deg), scale(0.5);
-    -webkit-transform: rotateX(100deg), scale(0.5);
-    opacity: 0; }
-
-  100% {
-    transform: rotateX(0deg), scale(0.5);
-    -webkit-transform: rotateX(0deg), scale(0.5);
-    opacity: 1; } }

+ 0 - 146
resources/assets/vendors/css/ui/prism-treeview.css

@@ -1,146 +0,0 @@
-.treeview-part .entry-line {
-	position: relative;
-	text-indent: -99em;
-	display: inline-block;
-	vertical-align: top;
-	width: 1.2em;
-}
-.treeview-part .entry-line:before,
-.treeview-part .line-h:after {
-	content: '';
-	position: absolute;
-	top: 0;
-	left: 50%;
-	width: 50%;
-	height: 100%;
-}
-.treeview-part .line-h:before,
-.treeview-part .line-v:before {
-	border-left: 1px solid #ccc;
-}
-.treeview-part .line-v-last:before {
-	height: 50%;
-	border-left: 1px solid #ccc;
-	border-bottom: 1px solid #ccc;
-}
-.treeview-part .line-h:after {
-	height: 50%;
-	border-bottom: 1px solid #ccc;
-}
-.treeview-part .entry-name {
-	position: relative;
-	display: inline-block;
-	vertical-align: top;
-	padding: 0 0 0 1.5em;
-}
-.treeview-part .entry-name:before {
-	content: '';
-	position: absolute;
-	top: 0;
-	left: 0.25em;
-	height: 100%;
-	width: 1em;
-	background: no-repeat 50% 50% / contain;
-}
-
-.treeview-part .entry-name.dotfile {
-	opacity: 0.5;
-}
-
-.treeview-part .entry-name:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogIiAvPg0KCTwvZz4NCjwvc3ZnPg==');
-}
-.treeview-part .entry-name.dir:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTUzNiAyMjR2NzA0cTAgNDAgLTI4IDY4dC02OCAyOGgtNzA0cS00MCAwIC02OCAyOHQtMjggNjh2NjRxMCA0MCAtMjggNjh0LTY4IDI4aC0zMjBxLTQwIDAgLTY4IC0yOHQtMjggLTY4di05NjBxMCAtNDAgMjggLTY4dDY4IC0yOGgxMjE2cTQwIDAgNjggMjh0MjggNjh6TTE2NjQgOTI4di03MDRxMCAtOTIgLTY2IC0xNTh0LTE1OCAtNjZoLTEyMTZxLTkyIDAgLTE1OCA2NnQtNjYgMTU4djk2MHEwIDkyIDY2IDE1OHQxNTggNjZoMzIwIHE5MiAwIDE1OCAtNjZ0NjYgLTE1OHYtMzJoNjcycTkyIDAgMTU4IC02NnQ2NiAtMTU4eiIgLz4NCgk8L2c+DQo8L3N2Zz4=');
-
-}
-.treeview-part .entry-name.ext-bmp:before,
-.treeview-part .entry-name.ext-eps:before,
-.treeview-part .entry-name.ext-gif:before,
-.treeview-part .entry-name.ext-jpe:before,
-.treeview-part .entry-name.ext-jpg:before,
-.treeview-part .entry-name.ext-jpeg:before,
-.treeview-part .entry-name.ext-png:before,
-.treeview-part .entry-name.ext-svg:before,
-.treeview-part .entry-name.ext-tiff:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTEyODAgMzIwdi0zMjBoLTEwMjR2MTkybDE5MiAxOTJsMTI4IC0xMjhsMzg0IDM4NHpNNDQ4IDUxMnEtODAgMCAtMTM2IDU2dC01NiAxMzZ0NTYgMTM2dDEzNiA1NnQxMzYgLTU2dDU2IC0xMzZ0LTU2IC0xMzZ0LTEzNiAtNTZ6IiAvPg0KCTwvZz4NCjwvc3ZnPg==');
-}
-.treeview-part .entry-name.ext-cfg:before,
-.treeview-part .entry-name.ext-conf:before,
-.treeview-part .entry-name.ext-config:before,
-.treeview-part .entry-name.ext-csv:before,
-.treeview-part .entry-name.ext-ini:before,
-.treeview-part .entry-name.ext-log:before,
-.treeview-part .entry-name.ext-md:before,
-.treeview-part .entry-name.ext-nfo:before,
-.treeview-part .entry-name.ext-txt:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTM4NCA3MzZxMCAxNCA5IDIzdDIzIDloNzA0cTE0IDAgMjMgLTl0OSAtMjN2LTY0cTAgLTE0IC05IC0yM3QtMjMgLTloLTcwNHEtMTQgMCAtMjMgOXQtOSAyM3Y2NHpNMTEyMCA1MTJxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNzA0cS0xNCAwIC0yMyA5dC05IDIzdjY0cTAgMTQgOSAyM3QyMyA5aDcwNHpNMTEyMCAyNTZxMTQgMCAyMyAtOXQ5IC0yM3YtNjRxMCAtMTQgLTkgLTIzdC0yMyAtOWgtNzA0IHEtMTQgMCAtMjMgOXQtOSAyM3Y2NHEwIDE0IDkgMjN0MjMgOWg3MDR6IiAvPg0KCTwvZz4NCjwvc3ZnPg==');
-}
-.treeview-part .entry-name.ext-asp:before,
-.treeview-part .entry-name.ext-aspx:before,
-.treeview-part .entry-name.ext-c:before,
-.treeview-part .entry-name.ext-cc:before,
-.treeview-part .entry-name.ext-cpp:before,
-.treeview-part .entry-name.ext-cs:before,
-.treeview-part .entry-name.ext-css:before,
-.treeview-part .entry-name.ext-h:before,
-.treeview-part .entry-name.ext-hh:before,
-.treeview-part .entry-name.ext-htm:before,
-.treeview-part .entry-name.ext-html:before,
-.treeview-part .entry-name.ext-jav:before,
-.treeview-part .entry-name.ext-java:before,
-.treeview-part .entry-name.ext-js:before,
-.treeview-part .entry-name.ext-php:before,
-.treeview-part .entry-name.ext-rb:before,
-.treeview-part .entry-name.ext-xml:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTQ4MCA3NjhxOCAxMSAyMSAxMi41dDI0IC02LjVsNTEgLTM4cTExIC04IDEyLjUgLTIxdC02LjUgLTI0bC0xODIgLTI0M2wxODIgLTI0M3E4IC0xMSA2LjUgLTI0dC0xMi41IC0yMWwtNTEgLTM4cS0xMSAtOCAtMjQgLTYuNXQtMjEgMTIuNWwtMjI2IDMwMXEtMTQgMTkgMCAzOHpNMTI4MiA0NjdxMTQgLTE5IDAgLTM4bC0yMjYgLTMwMXEtOCAtMTEgLTIxIC0xMi41dC0yNCA2LjVsLTUxIDM4cS0xMSA4IC0xMi41IDIxdDYuNSAyNGwxODIgMjQzIGwtMTgyIDI0M3EtOCAxMSAtNi41IDI0dDEyLjUgMjFsNTEgMzhxMTEgOCAyNCA2LjV0MjEgLTEyLjV6TTY2MiA2cS0xMyAyIC0yMC41IDEzdC01LjUgMjRsMTM4IDgzMXEyIDEzIDEzIDIwLjV0MjQgNS41bDYzIC0xMHExMyAtMiAyMC41IC0xM3Q1LjUgLTI0bC0xMzggLTgzMXEtMiAtMTMgLTEzIC0yMC41dC0yNCAtNS41eiIgLz4NCgk8L2c+DQo8L3N2Zz4=');
-}
-.treeview-part .entry-name.ext-7z:before,
-.treeview-part .entry-name.ext-bz:before,
-.treeview-part .entry-name.ext-bz2:before,
-.treeview-part .entry-name.ext-gz:before,
-.treeview-part .entry-name.ext-rar:before,
-.treeview-part .entry-name.ext-tar:before,
-.treeview-part .entry-name.ext-tgz:before,
-.treeview-part .entry-name.ext-zip:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNNjQwIDExNTJ2MTI4aC0xMjh2LTEyOGgxMjh6TTc2OCAxMDI0djEyOGgtMTI4di0xMjhoMTI4ek02NDAgODk2djEyOGgtMTI4di0xMjhoMTI4ek03NjggNzY4djEyOGgtMTI4di0xMjhoMTI4ek0xNDY4IDExNTZxMjggLTI4IDQ4IC03NnQyMCAtODh2LTExNTJxMCAtNDAgLTI4IC02OHQtNjggLTI4aC0xMzQ0cS00MCAwIC02OCAyOHQtMjggNjh2MTYwMHEwIDQwIDI4IDY4dDY4IDI4aDg5NnE0MCAwIDg4IC0yMHQ3NiAtNDh6TTEwMjQgMTQwMCB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC0xMjh2LTEyOGgtMTI4djEyOGgtNTEydi0xNTM2aDEyODB6TTc4MSA1OTNsMTA3IC0zNDlxOCAtMjcgOCAtNTJxMCAtODMgLTcyLjUgLTEzNy41dC0xODMuNSAtNTQuNXQtMTgzLjUgNTQuNXQtNzIuNSAxMzcuNXEwIDI1IDggNTJxMjEgNjMgMTIwIDM5NnYxMjhoMTI4di0xMjhoNzkgcTIyIDAgMzkgLTEzdDIzIC0zNHpNNjQwIDEyOHE1MyAwIDkwLjUgMTl0MzcuNSA0NXQtMzcuNSA0NXQtOTAuNSAxOXQtOTAuNSAtMTl0LTM3LjUgLTQ1dDM3LjUgLTQ1dDkwLjUgLTE5eiIgLz4NCgk8L2c+DQo8L3N2Zz4=');
-}
-.treeview-part .entry-name.ext-aac:before,
-.treeview-part .entry-name.ext-au:before,
-.treeview-part .entry-name.ext-cda:before,
-.treeview-part .entry-name.ext-flac:before,
-.treeview-part .entry-name.ext-mp3:before,
-.treeview-part .entry-name.ext-oga:before,
-.treeview-part .entry-name.ext-ogg:before,
-.treeview-part .entry-name.ext-wav:before,
-.treeview-part .entry-name.ext-wma:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTYyMCA2ODZxMjAgLTggMjAgLTMwdi01NDRxMCAtMjIgLTIwIC0zMHEtOCAtMiAtMTIgLTJxLTEyIDAgLTIzIDlsLTE2NiAxNjdoLTEzMXEtMTQgMCAtMjMgOXQtOSAyM3YxOTJxMCAxNCA5IDIzdDIzIDloMTMxbDE2NiAxNjdxMTYgMTUgMzUgN3pNMTAzNyAtM3EzMSAwIDUwIDI0cTEyOSAxNTkgMTI5IDM2M3QtMTI5IDM2M3EtMTYgMjEgLTQzIDI0dC00NyAtMTRxLTIxIC0xNyAtMjMuNSAtNDMuNXQxNC41IC00Ny41IHExMDAgLTEyMyAxMDAgLTI4MnQtMTAwIC0yODJxLTE3IC0yMSAtMTQuNSAtNDcuNXQyMy41IC00Mi41cTE4IC0xNSA0MCAtMTV6TTgyNiAxNDVxMjcgMCA0NyAyMHE4NyA5MyA4NyAyMTl0LTg3IDIxOXEtMTggMTkgLTQ1IDIwdC00NiAtMTd0LTIwIC00NC41dDE4IC00Ni41cTUyIC01NyA1MiAtMTMxdC01MiAtMTMxcS0xOSAtMjAgLTE4IC00Ni41dDIwIC00NC41cTIwIC0xNyA0NCAtMTd6IiAvPg0KCTwvZz4NCjwvc3ZnPg==');
-}
-.treeview-part .entry-name.ext-avi:before,
-.treeview-part .entry-name.ext-flv:before,
-.treeview-part .entry-name.ext-mkv:before,
-.treeview-part .entry-name.ext-mov:before,
-.treeview-part .entry-name.ext-mp4:before,
-.treeview-part .entry-name.ext-mpeg:before,
-.treeview-part .entry-name.ext-mpg:before,
-.treeview-part .entry-name.ext-ogv:before,
-.treeview-part .entry-name.ext-webm:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTc2OCA3NjhxNTIgMCA5MCAtMzh0MzggLTkwdi0zODRxMCAtNTIgLTM4IC05MHQtOTAgLTM4aC0zODRxLTUyIDAgLTkwIDM4dC0zOCA5MHYzODRxMCA1MiAzOCA5MHQ5MCAzOGgzODR6TTEyNjAgNzY2cTIwIC04IDIwIC0zMHYtNTc2cTAgLTIyIC0yMCAtMzBxLTggLTIgLTEyIC0ycS0xNCAwIC0yMyA5bC0yNjUgMjY2djkwbDI2NSAyNjZxOSA5IDIzIDlxNCAwIDEyIC0yeiIgLz4NCgk8L2c+DQo8L3N2Zz4=');
-}
-.treeview-part .entry-name.ext-pdf:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTg5NCA0NjVxMzMgLTI2IDg0IC01NnE1OSA3IDExNyA3cTE0NyAwIDE3NyAtNDlxMTYgLTIyIDIgLTUycTAgLTEgLTEgLTJsLTIgLTJ2LTFxLTYgLTM4IC03MSAtMzhxLTQ4IDAgLTExNSAyMHQtMTMwIDUzcS0yMjEgLTI0IC0zOTIgLTgzcS0xNTMgLTI2MiAtMjQyIC0yNjJxLTE1IDAgLTI4IDdsLTI0IDEycS0xIDEgLTYgNXEtMTAgMTAgLTYgMzZxOSA0MCA1NiA5MS41dDEzMiA5Ni41cTE0IDkgMjMgLTZxMiAtMiAyIC00cTUyIDg1IDEwNyAxOTcgcTY4IDEzNiAxMDQgMjYycS0yNCA4MiAtMzAuNSAxNTkuNXQ2LjUgMTI3LjVxMTEgNDAgNDIgNDBoMjFoMXEyMyAwIDM1IC0xNXExOCAtMjEgOSAtNjhxLTIgLTYgLTQgLThxMSAtMyAxIC04di0zMHEtMiAtMTIzIC0xNCAtMTkycTU1IC0xNjQgMTQ2IC0yMzh6TTMxOCA1NHE1MiAyNCAxMzcgMTU4cS01MSAtNDAgLTg3LjUgLTg0dC00OS41IC03NHpNNzE2IDk3NHEtMTUgLTQyIC0yIC0xMzJxMSA3IDcgNDRxMCAzIDcgNDNxMSA0IDQgOCBxLTEgMSAtMSAydC0wLjUgMS41dC0wLjUgMS41cS0xIDIyIC0xMyAzNnEwIC0xIC0xIC0ydi0yek01OTIgMzEzcTEzNSA1NCAyODQgODFxLTIgMSAtMTMgOS41dC0xNiAxMy41cS03NiA2NyAtMTI3IDE3NnEtMjcgLTg2IC04MyAtMTk3cS0zMCAtNTYgLTQ1IC04M3pNMTIzOCAzMjlxLTI0IDI0IC0xNDAgMjRxNzYgLTI4IDEyNCAtMjhxMTQgMCAxOCAxcTAgMSAtMiAzeiIgLz4NCgk8L2c+DQo8L3N2Zz4=');
-}
-.treeview-part .entry-name.ext-xls:before,
-.treeview-part .entry-name.ext-xlsx:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTQyOSAxMDZ2LTEwNmgyODF2MTA2aC03NWwxMDMgMTYxcTUgNyAxMCAxNi41dDcuNSAxMy41dDMuNSA0aDJxMSAtNCA1IC0xMHEyIC00IDQuNSAtNy41dDYgLTh0Ni41IC04LjVsMTA3IC0xNjFoLTc2di0xMDZoMjkxdjEwNmgtNjhsLTE5MiAyNzNsMTk1IDI4Mmg2N3YxMDdoLTI3OXYtMTA3aDc0bC0xMDMgLTE1OXEtNCAtNyAtMTAgLTE2LjV0LTkgLTEzLjVsLTIgLTNoLTJxLTEgNCAtNSAxMHEtNiAxMSAtMTcgMjNsLTEwNiAxNTloNzZ2MTA3IGgtMjkwdi0xMDdoNjhsMTg5IC0yNzJsLTE5NCAtMjgzaC02OHoiIC8+DQoJPC9nPg0KPC9zdmc+');
-}
-.treeview-part .entry-name.ext-doc:before,
-.treeview-part .entry-name.ext-docm:before,
-.treeview-part .entry-name.ext-docx:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTIzMyA3Njh2LTEwN2g3MGwxNjQgLTY2MWgxNTlsMTI4IDQ4NXE3IDIwIDEwIDQ2cTIgMTYgMiAyNGg0bDMgLTI0cTEgLTMgMy41IC0yMHQ1LjUgLTI2bDEyOCAtNDg1aDE1OWwxNjQgNjYxaDcwdjEwN2gtMzAwdi0xMDdoOTBsLTk5IC00MzhxLTUgLTIwIC03IC00NmwtMiAtMjFoLTRsLTMgMjFxLTEgNSAtNCAyMXQtNSAyNWwtMTQ0IDU0NWgtMTE0bC0xNDQgLTU0NXEtMiAtOSAtNC41IC0yNC41dC0zLjUgLTIxLjVsLTQgLTIxaC00bC0yIDIxIHEtMiAyNiAtNyA0NmwtOTkgNDM4aDkwdjEwN2gtMzAweiIgLz4NCgk8L2c+DQo8L3N2Zz4=');
-}
-.treeview-part .entry-name.ext-pps:before,
-.treeview-part .entry-name.ext-ppt:before,
-.treeview-part .entry-name.ext-pptx:before {
-	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNzkuMiIgd2lkdGg9IjE3OS4yIj4NCgk8Zz4NCgkJPHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjEsLTAuMSkgdHJhbnNsYXRlKDAsLTE1MzYpIiBkPSJNMTQ2OCAxMTU2cTI4IC0yOCA0OCAtNzZ0MjAgLTg4di0xMTUycTAgLTQwIC0yOCAtNjh0LTY4IC0yOGgtMTM0NHEtNDAgMCAtNjggMjh0LTI4IDY4djE2MDBxMCA0MCAyOCA2OHQ2OCAyOGg4OTZxNDAgMCA4OCAtMjB0NzYgLTQ4ek0xMDI0IDE0MDB2LTM3NmgzNzZxLTEwIDI5IC0yMiA0MWwtMzEzIDMxM3EtMTIgMTIgLTQxIDIyek0xNDA4IC0xMjh2MTAyNGgtNDE2cS00MCAwIC02OCAyOHQtMjggNjh2NDE2aC03Njh2LTE1MzZoMTI4MHogTTQxNiAxMDZ2LTEwNmgzMjd2MTA2aC05M3YxNjdoMTM3cTc2IDAgMTE4IDE1cTY3IDIzIDEwNi41IDg3dDM5LjUgMTQ2cTAgODEgLTM3IDE0MXQtMTAwIDg3cS00OCAxOSAtMTMwIDE5aC0zNjh2LTEwN2g5MnYtNTU1aC05MnpNNzY5IDM4NmgtMTE5djI2OGgxMjBxNTIgMCA4MyAtMThxNTYgLTMzIDU2IC0xMTVxMCAtODkgLTYyIC0xMjBxLTMxIC0xNSAtNzggLTE1eiIgLz4NCgk8L2c+DQo8L3N2Zz4=');
-}

+ 0 - 347
resources/assets/vendors/css/ui/prism.min.css

@@ -1,347 +0,0 @@
-/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+ruby+css-extras+git+jade+json+php+php-extras+sass+scss+sql&plugins=line-highlight+line-numbers+show-invisibles+autolinker+file-highlight+show-language+jsonp-highlight+highlight-keywords+remove-initial-line-feed+autoloader+unescaped-markup+command-line+normalize-whitespace+keep-markup */
-/**
- * prism.js default theme for JavaScript, CSS and HTML
- * Based on dabblet (http://dabblet.com)
- * @author Lea Verou
- */
-
-code[class*="language-"],
-pre[class*="language-"] {
-	color: black;
-	background: none;
-	text-shadow: 0 1px white;
-	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
-	text-align: left;
-	white-space: pre;
-	word-spacing: normal;
-	word-break: normal;
-	word-wrap: normal;
-	font-size: 100%;
-	line-height: 1.5;
-
-	-moz-tab-size: 4;
-	-o-tab-size: 4;
-	tab-size: 4;
-
-	-webkit-hyphens: none;
-	-moz-hyphens: none;
-	-ms-hyphens: none;
-	hyphens: none;
-}
-
-pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
-code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
-	text-shadow: none;
-	background: #b3d4fc;
-}
-
-pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
-code[class*="language-"]::selection, code[class*="language-"] ::selection {
-	text-shadow: none;
-	background: #b3d4fc;
-}
-
-@media print {
-	code[class*="language-"],
-	pre[class*="language-"] {
-		text-shadow: none;
-	}
-}
-
-/* Code blocks */
-pre[class*="language-"] {
-	padding: 1em;
-	margin: .5em 0;
-	overflow: auto;
-}
-
-:not(pre) > code[class*="language-"],
-pre[class*="language-"] {
-	background: #FFF;
-    border: 1px solid #F0F0F0;
-    border-left: 2px solid #3BAFDA;
-    border-radius: 4px;
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
-	padding: .1em;
-	border-radius: .3em;
-	white-space: normal;
-}
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata {
-	color: slategray;
-}
-
-.token.punctuation {
-	color: #999;
-}
-
-.namespace {
-	opacity: .7;
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
-	color: #905;
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
-	color: #690;
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string {
-	color: #a67f59;
-	background: hsla(0, 0%, 100%, .5);
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
-	color: #07a;
-}
-
-.token.function {
-	color: #DD4A68;
-}
-
-.token.regex,
-.token.important,
-.token.variable {
-	color: #e90;
-}
-
-.token.important,
-.token.bold {
-	font-weight: bold;
-}
-.token.italic {
-	font-style: italic;
-}
-
-.token.entity {
-	cursor: help;
-}
-
-pre[data-line] {
-	position: relative;
-	padding: 1em 0 1em 3em;
-}
-pre[data-file]::before {
-  content: attr(data-file);
-  position: absolute;
-  top: 0;
-  right: 0;
-}
-
-.line-highlight {
-	position: absolute;
-	left: 0;
-	right: 0;
-	padding: inherit 0;
-	margin-top: 1em; /* Same as .prism’s padding-top */
-
-	background: hsla(24, 20%, 50%,.08);
-	background: -moz-linear-gradient(to right, hsla(186, 83%, 68%, 0.11) 70%, hsla(186, 33%, 82%, 0));
-	background: -webkit-linear-gradient(to right, hsla(186, 83%, 68%, 0.11) 70%, hsla(186, 33%, 82%, 0));
-	background: -o-linear-gradient(to right, hsla(186, 83%, 68%, 0.11) 70%, hsla(186, 33%, 82%, 0));
-	background: linear-gradient(to right,hsla(186, 83%, 68%, 0.11) 70%,hsla(186, 33%, 82%, 0));
-
-	pointer-events: none;
-
-	line-height: inherit;
-	white-space: pre;
-}
-
-	.line-highlight:before,
-	.line-highlight[data-end]:after {
-		content: attr(data-start);
-		position: absolute;
-		top: .4em;
-		left: .6em;
-		min-width: 1em;
-		padding: 0 .5em;
-		color: #187798;
-		font: 75%/1.5 sans-serif;
-		text-align: center;
-		vertical-align: .3em;
-		border-radius: 999px;
-		text-shadow: none;
-		box-shadow: 0 1px white;
-	}
-
-	.line-highlight[data-end]:after {
-		content: attr(data-end);
-		top: auto;
-		bottom: .4em;
-	}
-
-pre.line-numbers {
-	position: relative;
-	padding-left: 3.8em;
-	counter-reset: linenumber;
-}
-
-pre.line-numbers > code {
-	position: relative;
-}
-
-.line-numbers .line-numbers-rows {
-	position: absolute;
-	pointer-events: none;
-	top: 0;
-	font-size: 100%;
-	left: -3.8em;
-	width: 3em; /* works for line-numbers below 1000 lines */
-	letter-spacing: -1px;
-	border-right: 1px solid #999;
-
-	-webkit-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-
-}
-
-	.line-numbers-rows > span {
-		pointer-events: none;
-		display: block;
-		counter-increment: linenumber;
-	}
-
-		.line-numbers-rows > span:before {
-			content: counter(linenumber);
-			color: #999;
-			display: block;
-			padding-right: 0.8em;
-			text-align: right;
-		}
-.token.tab:not(:empty),
-.token.cr,
-.token.lf,
-.token.space {
-	position: relative;
-}
-
-.token.tab:not(:empty):before,
-.token.cr:before,
-.token.lf:before,
-.token.space:before {
-	color: hsl(24, 20%, 85%);
-	position: absolute;
-}
-
-.token.tab:not(:empty):before {
-    content: '\21E5';
-}
-
-.token.cr:before {
-    content: '\240D';
-}
-
-.token.crlf:before {
-    content: '\240D\240A';
-}
-.token.lf:before {
-    content: '\240A';
-}
-
-.token.space:before {
-	content: '\00B7';
-}
-.token a {
-	color: inherit;
-}
-div.prism-show-language {
-	position: relative;
-}
-
-div.prism-show-language > div.prism-show-language-label {
-	color: #555;
-	background-color: #E5E5E5;
-	display: inline-block;
-	position: absolute;
-	bottom: auto;
-	left: auto;
-	top: 0;
-	right: 0;
-	width: auto;
-	height: auto;
-	font-size: 0.9em;
-	border-radius: 0 4px 0 0;
-	padding: 0 0.5em;
-	text-shadow: none;
-	z-index: 1;
-	-webkit-box-shadow: none;
-	-moz-box-shadow: none;
-	box-shadow: none;
-	-webkit-transform: none;
-	-moz-transform: none;
-	-ms-transform: none;
-	-o-transform: none;
-	transform: none;
-}
-
-/* Fallback, in case JS does not run, to ensure the code is at least visible */
-.lang-markup script[type='text/plain'],
-.language-markup script[type='text/plain'],
-script[type='text/plain'].lang-markup,
-script[type='text/plain'].language-markup {
-	display: block;
-	font: 100% Consolas, Monaco, monospace;
-	white-space: pre;
-	overflow: auto;
-}
-
-.command-line-prompt {
-	border-right: 1px solid #999;
-	display: block;
-	float: left;
-	font-size: 100%;
-	letter-spacing: -1px;
-	margin-right: 1em;
-	pointer-events: none;
-
-	-webkit-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-}
-
-.command-line-prompt > span:before {
-	color: #999;
-	content: ' ';
-	display: block;
-	padding-right: 0.8em;
-}
-
-.command-line-prompt > span[data-user]:before {
-	content: "[" attr(data-user) "@" attr(data-host) "] $";
-}
-
-.command-line-prompt > span[data-user="root"]:before {
-	content: "[" attr(data-user) "@" attr(data-host) "] #";
-}
-
-.command-line-prompt > span[data-prompt]:before {
-	content: attr(data-prompt);
-}
-

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/css/weather-icons/climacons.min.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 5
resources/assets/vendors/js/calendar/extensions/daygrid.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 5
resources/assets/vendors/js/calendar/extensions/interactions.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 5
resources/assets/vendors/js/calendar/extensions/timegrid.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 5
resources/assets/vendors/js/calendar/fullcalendar.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/dragula.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/dropzone.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/i18next.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/i18nextBrowserLanguageDetector.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/i18nextXHRBackend.min.js


+ 0 - 1
resources/assets/vendors/js/extensions/jquery-i18next.min.js

@@ -1 +0,0 @@
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.jqueryI18next=e()}(this,function(){"use strict";function t(t,a){function i(n,a,i){function r(t,n){return f.parseDefaultValueFromContent?e({},t,{defaultValue:n}):t}if(0!==a.length){var o="text";if(0===a.indexOf("[")){var l=a.split("]");a=l[1],o=l[0].substr(1,l[0].length-1)}if(a.indexOf(";")===a.length-1&&(a=a.substr(0,a.length-2)),"html"===o)n.html(t.t(a,r(i,n.html())));else if("text"===o)n.text(t.t(a,r(i,n.text())));else if("prepend"===o)n.prepend(t.t(a,r(i,n.html())));else if("append"===o)n.append(t.t(a,r(i,n.html())));else if(0===o.indexOf("data-")){var s=o.substr("data-".length),d=t.t(a,r(i,n.data(s)));n.data(s,d),n.attr(o,d)}else n.attr(o,t.t(a,r(i,n.attr(o))))}}function r(t,n){var r=t.attr(f.selectorAttr);if(r||void 0===r||!1===r||(r=t.text()||t.val()),r){var o=t,l=t.data(f.targetAttr);if(l&&(o=t.find(l)||t),n||!0!==f.useOptionsAttr||(n=t.data(f.optionsAttr)),n=n||{},r.indexOf(";")>=0){var s=r.split(";");a.each(s,function(t,e){""!==e&&i(o,e.trim(),n)})}else i(o,r,n);if(!0===f.useOptionsAttr){var d={};d=e({clone:d},n),delete d.lng,t.data(f.optionsAttr,d)}}}function o(t){return this.each(function(){r(a(this),t),a(this).find("["+f.selectorAttr+"]").each(function(){r(a(this),t)})})}var f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};f=e({},n,f),a[f.tName]=t.t.bind(t),a[f.i18nName]=t,a.fn[f.handleName]=o}var e=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},n={tName:"t",i18nName:"i18n",handleName:"localize",selectorAttr:"data-i18n",targetAttr:"i18n-target",optionsAttr:"i18n-options",useOptionsAttr:!1,parseDefaultValueFromContent:!0};return{init:t}});

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/jquery.contextMenu.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 7
resources/assets/vendors/js/extensions/jquery.mousewheel.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 5
resources/assets/vendors/js/extensions/jquery.steps.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 5
resources/assets/vendors/js/extensions/jquery.ui.position.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/lang-all.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/locale-all.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 5
resources/assets/vendors/js/extensions/moment.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
resources/assets/vendors/js/extensions/nouislider.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
resources/assets/vendors/js/extensions/pace.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/polyfill.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1571
resources/assets/vendors/js/extensions/shepherd.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 11
resources/assets/vendors/js/extensions/swiper.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/extensions/tether.min.js


+ 0 - 59
resources/assets/vendors/js/extensions/transition.js

@@ -1,59 +0,0 @@
-;(function(){
-  /* ========================================================================
-   * Bootstrap: transition.js v3.0.2
-   * http://getbootstrap.com/javascript/#transitions
-   * ========================================================================
-   * Copyright 2013 Twitter, Inc.
-   *
-   * Licensed under the Apache License, Version 2.0 (the "License");
-   * you may not use this file except in compliance with the License.
-   * You may obtain a copy of the License at
-   *
-   * http://www.apache.org/licenses/LICENSE-2.0
-   *
-   * Unless required by applicable law or agreed to in writing, software
-   * distributed under the License is distributed on an "AS IS" BASIS,
-   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   * See the License for the specific language governing permissions and
-   * limitations under the License.
-   * ======================================================================== */
-  
-  
-  +function ($) { "use strict";
-  
-    // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
-    // ============================================================
-  
-    function transitionEnd() {
-      var el = document.createElement('bootstrap')
-  
-      var transEndEventNames = {
-        'WebkitTransition' : 'webkitTransitionEnd'
-      , 'MozTransition'    : 'transitionend'
-      , 'OTransition'      : 'oTransitionEnd otransitionend'
-      , 'transition'       : 'transitionend'
-      }
-  
-      for (var name in transEndEventNames) {
-        if (el.style[name] !== undefined) {
-          return { end: transEndEventNames[name] }
-        }
-      }
-    }
-  
-    // http://blog.alexmaccaw.com/css-transitions
-    $.fn.emulateTransitionEnd = function (duration) {
-      var called = false, $el = this
-      $(this).one($.support.transition.end, function () { called = true })
-      var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
-      setTimeout(callback, duration)
-      return this
-    }
-  
-    $(function () {
-      $.support.transition = transitionEnd()
-    })
-  
-  }(jQuery);
-  
-})();

+ 0 - 353
resources/assets/vendors/js/extensions/wNumb.js

@@ -1,353 +0,0 @@
-(function (factory) {
-
-    if ( typeof define === 'function' && define.amd ) {
-
-        // AMD. Register as an anonymous module.
-        define([], factory);
-
-    } else if ( typeof exports === 'object' ) {
-
-        // Node/CommonJS
-        module.exports = factory();
-
-    } else {
-
-        // Browser globals
-        window.wNumb = factory();
-    }
-
-}(function(){
-
-	'use strict';
-
-var
-/** @const */ FormatOptions = [
-	'decimals',
-	'thousand',
-	'mark',
-	'prefix',
-	'postfix',
-	'encoder',
-	'decoder',
-	'negativeBefore',
-	'negative',
-	'edit',
-	'undo'
-];
-
-// General
-
-	// Reverse a string
-	function strReverse ( a ) {
-		return a.split('').reverse().join('');
-	}
-
-	// Check if a string starts with a specified prefix.
-	function strStartsWith ( input, match ) {
-		return input.substring(0, match.length) === match;
-	}
-
-	// Check is a string ends in a specified postfix.
-	function strEndsWith ( input, match ) {
-		return input.slice(-1 * match.length) === match;
-	}
-
-	// Throw an error if formatting options are incompatible.
-	function throwEqualError( F, a, b ) {
-		if ( (F[a] || F[b]) && (F[a] === F[b]) ) {
-			throw new Error(a);
-		}
-	}
-
-	// Check if a number is finite and not NaN
-	function isValidNumber ( input ) {
-		return typeof input === 'number' && isFinite( input );
-	}
-
-	// Provide rounding-accurate toFixed method.
-	function toFixed ( value, decimals ) {
-		var scale = Math.pow(10, decimals);
-		return ( Math.round(value * scale) / scale).toFixed( decimals );
-	}
-
-
-// Formatting
-
-	// Accept a number as input, output formatted string.
-	function formatTo ( decimals, thousand, mark, prefix, postfix, encoder, decoder, negativeBefore, negative, edit, undo, input ) {
-
-		var originalInput = input, inputIsNegative, inputPieces, inputBase, inputDecimals = '', output = '';
-
-		// Apply user encoder to the input.
-		// Expected outcome: number.
-		if ( encoder ) {
-			input = encoder(input);
-		}
-
-		// Stop if no valid number was provided, the number is infinite or NaN.
-		if ( !isValidNumber(input) ) {
-			return false;
-		}
-
-		// Rounding away decimals might cause a value of -0
-		// when using very small ranges. Remove those cases.
-		if ( decimals !== false && parseFloat(input.toFixed(decimals)) === 0 ) {
-			input = 0;
-		}
-
-		// Formatting is done on absolute numbers,
-		// decorated by an optional negative symbol.
-		if ( input < 0 ) {
-			inputIsNegative = true;
-			input = Math.abs(input);
-		}
-
-		// Reduce the number of decimals to the specified option.
-		if ( decimals !== false ) {
-			input = toFixed( input, decimals );
-		}
-
-		// Transform the number into a string, so it can be split.
-		input = input.toString();
-
-		// Break the number on the decimal separator.
-		if ( input.indexOf('.') !== -1 ) {
-			inputPieces = input.split('.');
-
-			inputBase = inputPieces[0];
-
-			if ( mark ) {
-				inputDecimals = mark + inputPieces[1];
-			}
-
-		} else {
-
-		// If it isn't split, the entire number will do.
-			inputBase = input;
-		}
-
-		// Group numbers in sets of three.
-		if ( thousand ) {
-			inputBase = strReverse(inputBase).match(/.{1,3}/g);
-			inputBase = strReverse(inputBase.join( strReverse( thousand ) ));
-		}
-
-		// If the number is negative, prefix with negation symbol.
-		if ( inputIsNegative && negativeBefore ) {
-			output += negativeBefore;
-		}
-
-		// Prefix the number
-		if ( prefix ) {
-			output += prefix;
-		}
-
-		// Normal negative option comes after the prefix. Defaults to '-'.
-		if ( inputIsNegative && negative ) {
-			output += negative;
-		}
-
-		// Append the actual number.
-		output += inputBase;
-		output += inputDecimals;
-
-		// Apply the postfix.
-		if ( postfix ) {
-			output += postfix;
-		}
-
-		// Run the output through a user-specified post-formatter.
-		if ( edit ) {
-			output = edit ( output, originalInput );
-		}
-
-		// All done.
-		return output;
-	}
-
-	// Accept a sting as input, output decoded number.
-	function formatFrom ( decimals, thousand, mark, prefix, postfix, encoder, decoder, negativeBefore, negative, edit, undo, input ) {
-
-		var originalInput = input, inputIsNegative, output = '';
-
-		// User defined pre-decoder. Result must be a non empty string.
-		if ( undo ) {
-			input = undo(input);
-		}
-
-		// Test the input. Can't be empty.
-		if ( !input || typeof input !== 'string' ) {
-			return false;
-		}
-
-		// If the string starts with the negativeBefore value: remove it.
-		// Remember is was there, the number is negative.
-		if ( negativeBefore && strStartsWith(input, negativeBefore) ) {
-			input = input.replace(negativeBefore, '');
-			inputIsNegative = true;
-		}
-
-		// Repeat the same procedure for the prefix.
-		if ( prefix && strStartsWith(input, prefix) ) {
-			input = input.replace(prefix, '');
-		}
-
-		// And again for negative.
-		if ( negative && strStartsWith(input, negative) ) {
-			input = input.replace(negative, '');
-			inputIsNegative = true;
-		}
-
-		// Remove the postfix.
-		// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice
-		if ( postfix && strEndsWith(input, postfix) ) {
-			input = input.slice(0, -1 * postfix.length);
-		}
-
-		// Remove the thousand grouping.
-		if ( thousand ) {
-			input = input.split(thousand).join('');
-		}
-
-		// Set the decimal separator back to period.
-		if ( mark ) {
-			input = input.replace(mark, '.');
-		}
-
-		// Prepend the negative symbol.
-		if ( inputIsNegative ) {
-			output += '-';
-		}
-
-		// Add the number
-		output += input;
-
-		// Trim all non-numeric characters (allow '.' and '-');
-		output = output.replace(/[^0-9\.\-.]/g, '');
-
-		// The value contains no parse-able number.
-		if ( output === '' ) {
-			return false;
-		}
-
-		// Covert to number.
-		output = Number(output);
-
-		// Run the user-specified post-decoder.
-		if ( decoder ) {
-			output = decoder(output);
-		}
-
-		// Check is the output is valid, otherwise: return false.
-		if ( !isValidNumber(output) ) {
-			return false;
-		}
-
-		return output;
-	}
-
-
-// Framework
-
-	// Validate formatting options
-	function validate ( inputOptions ) {
-
-		var i, optionName, optionValue,
-			filteredOptions = {};
-
-		for ( i = 0; i < FormatOptions.length; i+=1 ) {
-
-			optionName = FormatOptions[i];
-			optionValue = inputOptions[optionName];
-
-			if ( optionValue === undefined ) {
-
-				// Only default if negativeBefore isn't set.
-				if ( optionName === 'negative' && !filteredOptions.negativeBefore ) {
-					filteredOptions[optionName] = '-';
-				// Don't set a default for mark when 'thousand' is set.
-				} else if ( optionName === 'mark' && filteredOptions.thousand !== '.' ) {
-					filteredOptions[optionName] = '.';
-				} else {
-					filteredOptions[optionName] = false;
-				}
-
-			// Floating points in JS are stable up to 7 decimals.
-			} else if ( optionName === 'decimals' ) {
-				if ( optionValue >= 0 && optionValue < 8 ) {
-					filteredOptions[optionName] = optionValue;
-				} else {
-					throw new Error(optionName);
-				}
-
-			// These options, when provided, must be functions.
-			} else if ( optionName === 'encoder' || optionName === 'decoder' || optionName === 'edit' || optionName === 'undo' ) {
-				if ( typeof optionValue === 'function' ) {
-					filteredOptions[optionName] = optionValue;
-				} else {
-					throw new Error(optionName);
-				}
-
-			// Other options are strings.
-			} else {
-
-				if ( typeof optionValue === 'string' ) {
-					filteredOptions[optionName] = optionValue;
-				} else {
-					throw new Error(optionName);
-				}
-			}
-		}
-
-		// Some values can't be extracted from a
-		// string if certain combinations are present.
-		throwEqualError(filteredOptions, 'mark', 'thousand');
-		throwEqualError(filteredOptions, 'prefix', 'negative');
-		throwEqualError(filteredOptions, 'prefix', 'negativeBefore');
-
-		return filteredOptions;
-	}
-
-	// Pass all options as function arguments
-	function passAll ( options, method, input ) {
-		var i, args = [];
-
-		// Add all options in order of FormatOptions
-		for ( i = 0; i < FormatOptions.length; i+=1 ) {
-			args.push(options[FormatOptions[i]]);
-		}
-
-		// Append the input, then call the method, presenting all
-		// options as arguments.
-		args.push(input);
-		return method.apply('', args);
-	}
-
-	/** @constructor */
-	function wNumb ( options ) {
-
-		if ( !(this instanceof wNumb) ) {
-			return new wNumb ( options );
-		}
-
-		if ( typeof options !== "object" ) {
-			return;
-		}
-
-		options = validate(options);
-
-		// Call 'formatTo' with proper arguments.
-		this.to = function ( input ) {
-			return passAll(options, formatTo, input);
-		};
-
-		// Call 'formatFrom' with proper arguments.
-		this.from = function ( input ) {
-			return passAll(options, formatFrom, input);
-		};
-	}
-
-	/** @export */
-	return wNumb;
-
-}));

+ 0 - 535
resources/assets/vendors/js/forms/extended/maxlength/bootstrap-maxlength.js

@@ -1,535 +0,0 @@
-(function ($) {
-  'use strict';
-  /**
-   * We need an event when the elements are destroyed
-   * because if an input is removed, we have to remove the
-   * maxlength object associated (if any).
-   * From:
-   * http://stackoverflow.com/questions/2200494/jquery-trigger-event-when-an-element-is-removed-from-the-dom
-   */
-  if (!$.event.special.destroyed) {
-    $.event.special.destroyed = {
-      remove: function (o) {
-        if (o.handler) {
-          o.handler();
-        }
-      }
-    };
-  }
-
-
-  $.fn.extend({
-    maxlength: function (options, callback) {
-      var documentBody = $('body'),
-        defaults = {
-          showOnReady: false, // true to always show when indicator is ready
-          alwaysShow: false, // if true the indicator it's always shown.
-          threshold: 10, // Represents how many chars left are needed to show up the counter
-          warningClass: 'label label-success',
-          limitReachedClass: 'label label-important label-danger',
-          separator: ' / ',
-          preText: '',
-          postText: '',
-          showMaxLength: true,
-          placement: 'bottom',
-          message: null, // an alternative way to provide the message text
-          showCharsTyped: true, // show the number of characters typed and not the number of characters remaining
-          validate: false, // if the browser doesn't support the maxlength attribute, attempt to type more than
-          // the indicated chars, will be prevented.
-          utf8: false, // counts using bytesize rather than length. eg: '£' is counted as 2 characters.
-          appendToParent: false, // append the indicator to the input field's parent instead of body
-          twoCharLinebreak: true,  // count linebreak as 2 characters to match IE/Chrome textarea validation. As well as DB storage.
-          customMaxAttribute: null,  // null = use maxlength attribute and browser functionality, string = use specified attribute instead.
-          allowOverMax: false
-          // Form submit validation is handled on your own.  when maxlength has been exceeded 'overmax' class added to element
-        };
-
-      if ($.isFunction(options) && !callback) {
-        callback = options;
-        options = {};
-      }
-      options = $.extend(defaults, options);
-
-
-      /**
-      * Return the byte count of the specified character in UTF8 encoding.
-      * Note: This won't cover UTF-8 characters that are 4 bytes long.
-      *
-      * @param input
-      * @return {number}
-      */
-      function utf8CharByteCount(character) {
-        var c = character.charCodeAt();
-        // Not c then 0, else c < 128 then 1, else c < 2048 then 2, else 3
-        return !c ? 0 : c < 128 ? 1 : c < 2048 ? 2 : 3;
-      }
-
-      /**
-      * Return the length of the specified input in UTF8 encoding.
-      *
-      * @param input
-      * @return {number}
-      */
-      function utf8Length(string) {
-        return string.split("")
-          .map(utf8CharByteCount)
-          // Prevent reduce from throwing an error if the string is empty.
-          .concat(0)
-          .reduce(function(sum, val) { return sum + val; });
-      }
-
-      /**
-      * Return the length of the specified input.
-      *
-      * @param input
-      * @return {number}
-      */
-      function inputLength(input) {
-        var text = input.val();
-
-        if (options.twoCharLinebreak) {
-          // Count all line breaks as 2 characters
-          text = text.replace(/\r(?!\n)|\n(?!\r)/g, '\r\n');
-        } else {
-          // Remove all double-character (\r\n) linebreaks, so they're counted only once.
-          text = text.replace(new RegExp('\r?\n', 'g'), '\n');
-        }
-
-        var currentLength = 0;
-
-        if (options.utf8) {
-          currentLength = utf8Length(text);
-        } else {
-          currentLength = text.length;
-        }
-        return currentLength;
-      }
-
-      /**
-      * Truncate the text of the specified input.
-      *
-      * @param input
-      * @param limit
-      */
-      function truncateChars(input, maxlength) {
-        var text = input.val();
-
-        if (options.twoCharLinebreak) {
-          text = text.replace(/\r(?!\n)|\n(?!\r)/g, '\r\n');
-
-          if (text[text.length - 1] === '\n') {
-            maxlength -= text.length % 2;
-          }
-        }
-
-        if (options.utf8) {
-          var indexedSize = text.split("").map(utf8CharByteCount);
-          for (
-            var removedBytes = 0,
-                bytesPastMax = utf8Length(text) - maxlength
-            ;removedBytes < bytesPastMax
-            ;removedBytes += indexedSize.pop()
-          );
-          maxlength -= (maxlength - indexedSize.length);
-        }
-
-        input.val(text.substr(0, maxlength));
-      }
-
-      /**
-       * Return true if the indicator should be showing up.
-       *
-       * @param input
-       * @param threshold
-       * @param maxlength
-       * @return {number}
-       */
-      function charsLeftThreshold(input, threshold, maxlength) {
-        var output = true;
-        if (!options.alwaysShow && (maxlength - inputLength(input) > threshold)) {
-          output = false;
-        }
-        return output;
-      }
-
-      /**
-       * Returns how many chars are left to complete the fill up of the form.
-       *
-       * @param input
-       * @param maxlength
-       * @return {number}
-       */
-      function remainingChars(input, maxlength) {
-        var length = maxlength - inputLength(input);
-        return length;
-      }
-
-      /**
-       * When called displays the indicator.
-       *
-       * @param indicator
-       */
-      function showRemaining(currentInput, indicator) {
-        indicator.css({
-          display: 'block'
-        });
-        currentInput.trigger('maxlength.shown');
-      }
-
-      /**
-       * When called shows the indicator.
-       *
-       * @param indicator
-       */
-      function hideRemaining(currentInput, indicator) {
-
-        if (options.alwaysShow) {
-          return;
-        }
-
-        indicator.css({
-          display: 'none'
-        });
-        currentInput.trigger('maxlength.hidden');
-      }
-
-      /**
-      * This function updates the value in the indicator
-      *
-      * @param maxLengthThisInput
-      * @param typedChars
-      * @return String
-      */
-      function updateMaxLengthHTML(currentInputText, maxLengthThisInput, typedChars) {
-        var output = '';
-        if (options.message) {
-          if (typeof options.message === 'function') {
-            output = options.message(currentInputText, maxLengthThisInput);
-          } else {
-            output = options.message.replace('%charsTyped%', typedChars)
-              .replace('%charsRemaining%', maxLengthThisInput - typedChars)
-              .replace('%charsTotal%', maxLengthThisInput);
-          }
-        } else {
-          if (options.preText) {
-            output += options.preText;
-          }
-          if (!options.showCharsTyped) {
-            output += maxLengthThisInput - typedChars;
-          }
-          else {
-            output += typedChars;
-          }
-          if (options.showMaxLength) {
-            output += options.separator + maxLengthThisInput;
-          }
-          if (options.postText) {
-            output += options.postText;
-          }
-        }
-        return output;
-      }
-
-      /**
-       * This function updates the value of the counter in the indicator.
-       * Wants as parameters: the number of remaining chars, the element currently managed,
-       * the maxLength for the current input and the indicator generated for it.
-       *
-       * @param remaining
-       * @param currentInput
-       * @param maxLengthCurrentInput
-       * @param maxLengthIndicator
-       */
-      function manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator) {
-        if (maxLengthIndicator) {
-          maxLengthIndicator.html(updateMaxLengthHTML(currentInput.val(), maxLengthCurrentInput, (maxLengthCurrentInput - remaining)));
-
-          if (remaining > 0) {
-            if (charsLeftThreshold(currentInput, options.threshold, maxLengthCurrentInput)) {
-              showRemaining(currentInput, maxLengthIndicator.removeClass(options.limitReachedClass).addClass(options.warningClass));
-            } else {
-              hideRemaining(currentInput, maxLengthIndicator);
-            }
-          } else {
-            showRemaining(currentInput, maxLengthIndicator.removeClass(options.warningClass).addClass(options.limitReachedClass));
-          }
-        }
-
-        if (options.customMaxAttribute) {
-          // class to use for form validation on custom maxlength attribute
-          if (remaining < 0) {
-            currentInput.addClass('overmax');
-          } else {
-            currentInput.removeClass('overmax');
-          }
-        }
-      }
-
-      /**
-       * This function returns an object containing all the
-       * informations about the position of the current input
-       *
-       * @param currentInput
-       * @return object {bottom height left right top width}
-       *
-       */
-      function getPosition(currentInput) {
-        var el = currentInput[0];
-        return $.extend({}, (typeof el.getBoundingClientRect === 'function') ? el.getBoundingClientRect() : {
-          width: el.offsetWidth,
-          height: el.offsetHeight
-        }, currentInput.offset());
-      }
-
-      /**
-       * This function places the maxLengthIndicator based on placement config object.
-       *
-       * @param {object} placement
-       * @param {$} maxLengthIndicator
-       * @return null
-       *
-       */
-      function placeWithCSS(placement, maxLengthIndicator) {
-        if (!placement || !maxLengthIndicator){
-          return;
-        }
-
-        var POSITION_KEYS = [
-          'top',
-          'bottom',
-          'left',
-          'right',
-          'position'
-        ];
-
-        var cssPos = {};
-
-        // filter css properties to position
-        $.each(POSITION_KEYS, function (i, key) {
-          var val = options.placement[key];
-          if (typeof val !== 'undefined'){
-            cssPos[key] = val;
-          }
-        });
-
-        maxLengthIndicator.css(cssPos);
-
-        return;
-      }
-
-
-      /**
-       * This function places the maxLengthIndicator at the
-       * top / bottom / left / right of the currentInput
-       *
-       * @param currentInput
-       * @param maxLengthIndicator
-       * @return null
-       *
-       */
-      function place(currentInput, maxLengthIndicator) {
-        var pos = getPosition(currentInput);
-
-        // Supports custom placement handler
-        if ($.type(options.placement) === 'function'){
-          options.placement(currentInput, maxLengthIndicator, pos);
-          return;
-        }
-
-        // Supports custom placement via css positional properties
-        if ($.isPlainObject(options.placement)){
-          placeWithCSS(options.placement, maxLengthIndicator);
-          return;
-        }
-
-        var inputOuter = currentInput.outerWidth(),
-          outerWidth = maxLengthIndicator.outerWidth(),
-          actualWidth = maxLengthIndicator.width(),
-          actualHeight = maxLengthIndicator.height();
-
-        // get the right position if the indicator is appended to the input's parent
-        if (options.appendToParent) {
-          pos.top -= currentInput.parent().offset().top;
-          pos.left -= currentInput.parent().offset().left;
-        }
-
-        switch (options.placement) {
-          case 'bottom':
-            maxLengthIndicator.css({ top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 });
-            break;
-          case 'top':
-            maxLengthIndicator.css({ top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 });
-            break;
-          case 'left':
-            maxLengthIndicator.css({ top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth });
-            break;
-          case 'right':
-            maxLengthIndicator.css({ top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width });
-            break;
-          case 'bottom-right':
-            maxLengthIndicator.css({ top: pos.top + pos.height, left: pos.left + pos.width });
-            break;
-          case 'top-right':
-            maxLengthIndicator.css({ top: pos.top - actualHeight, left: pos.left + inputOuter });
-            break;
-          case 'top-left':
-            maxLengthIndicator.css({ top: pos.top - actualHeight, left: pos.left - outerWidth });
-            break;
-          case 'bottom-left':
-            maxLengthIndicator.css({ top: pos.top + currentInput.outerHeight(), left: pos.left - outerWidth });
-            break;
-          case 'centered-right':
-            maxLengthIndicator.css({ top: pos.top + (actualHeight / 2), left: pos.left + inputOuter - outerWidth - 3 });
-            break;
-
-            // Some more options for placements
-          case 'bottom-right-inside':
-            maxLengthIndicator.css({ top: pos.top + pos.height, left: pos.left + pos.width - outerWidth });
-            break;
-          case 'top-right-inside':
-            maxLengthIndicator.css({ top: pos.top - actualHeight, left: pos.left + inputOuter - outerWidth });
-            break;
-          case 'top-left-inside':
-            maxLengthIndicator.css({ top: pos.top - actualHeight, left: pos.left });
-            break;
-          case 'bottom-left-inside':
-            maxLengthIndicator.css({ top: pos.top + currentInput.outerHeight(), left: pos.left });
-            break;
-        }
-      }
-
-      /**
-       * This function returns true if the indicator position needs to
-       * be recalculated when the currentInput changes
-       *
-       * @return {boolean}
-       *
-       */
-      function isPlacementMutable() {
-        return options.placement === 'bottom-right-inside' || options.placement === 'top-right-inside' || typeof options.placement === 'function' || (options.message && typeof options.message === 'function');
-      }
-
-      /**
-       * This function retrieves the maximum length of currentInput
-       *
-       * @param currentInput
-       * @return {number}
-       *
-       */
-      function getMaxLength(currentInput) {
-        var max = currentInput.attr('maxlength') || options.customMaxAttribute;
-
-        if (options.customMaxAttribute && !options.allowOverMax) {
-          var custom = currentInput.attr(options.customMaxAttribute);
-          if (!max || custom < max) {
-            max = custom;
-          }
-        }
-
-        if (!max) {
-          max = currentInput.attr('size');
-        }
-        return max;
-      }
-
-      return this.each(function () {
-
-        var currentInput = $(this),
-          maxLengthCurrentInput,
-          maxLengthIndicator;
-
-        $(window).resize(function () {
-          if (maxLengthIndicator) {
-            place(currentInput, maxLengthIndicator);
-          }
-        });
-
-        function firstInit() {
-          var maxlengthContent = updateMaxLengthHTML(currentInput.val(), maxLengthCurrentInput, '0');
-          maxLengthCurrentInput = getMaxLength(currentInput);
-
-          if (!maxLengthIndicator) {
-            maxLengthIndicator = $('<span class="bootstrap-maxlength"></span>').css({
-              display: 'none',
-              position: 'absolute',
-              whiteSpace: 'nowrap',
-              zIndex: 1099
-            }).html(maxlengthContent);
-          }
-
-          // We need to detect resizes if we are dealing with a textarea:
-          if (currentInput.is('textarea')) {
-            currentInput.data('maxlenghtsizex', currentInput.outerWidth());
-            currentInput.data('maxlenghtsizey', currentInput.outerHeight());
-
-            currentInput.mouseup(function () {
-              if (currentInput.outerWidth() !== currentInput.data('maxlenghtsizex') || currentInput.outerHeight() !== currentInput.data('maxlenghtsizey')) {
-                place(currentInput, maxLengthIndicator);
-              }
-
-              currentInput.data('maxlenghtsizex', currentInput.outerWidth());
-              currentInput.data('maxlenghtsizey', currentInput.outerHeight());
-            });
-          }
-
-          if (options.appendToParent) {
-            currentInput.parent().append(maxLengthIndicator);
-            currentInput.parent().css('position', 'relative');
-          } else {
-            documentBody.append(maxLengthIndicator);
-          }
-
-          var remaining = remainingChars(currentInput, getMaxLength(currentInput));
-          manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator);
-          place(currentInput, maxLengthIndicator);
-        }
-
-        if (options.showOnReady) {
-          currentInput.ready(function () {
-            firstInit();
-          });
-        } else {
-          currentInput.focus(function () {
-            firstInit();
-          });
-        }
-
-        currentInput.on('maxlength.reposition', function () {
-          place(currentInput, maxLengthIndicator);
-        });
-
-
-        currentInput.on('destroyed', function () {
-          if (maxLengthIndicator) {
-            maxLengthIndicator.remove();
-          }
-        });
-
-        currentInput.on('blur', function () {
-          if (maxLengthIndicator && !options.showOnReady) {
-            maxLengthIndicator.remove();
-          }
-        });
-
-        currentInput.on('input', function () {
-          var maxlength = getMaxLength(currentInput),
-            remaining = remainingChars(currentInput, maxlength),
-            output = true;
-
-          if (options.validate && remaining < 0) {
-            truncateChars(currentInput, maxlength);
-            output = false;
-          } else {
-            manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator);
-          }
-
-          if (isPlacementMutable()) {
-            place(currentInput, maxLengthIndicator);
-          }
-
-          return output;
-        });
-      });
-    }
-  });
-}(jQuery));

Разница между файлами не показана из-за своего большого размера
+ 0 - 6
resources/assets/vendors/js/forms/extended/typeahead/bloodhound.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 783
resources/assets/vendors/js/forms/extended/typeahead/handlebars.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 6
resources/assets/vendors/js/forms/extended/typeahead/typeahead.bundle.min.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 4
resources/assets/vendors/js/forms/repeater/jquery.repeater.min.js


+ 0 - 735
resources/assets/vendors/js/forms/spinner/jquery.bootstrap-touchspin.js

@@ -1,735 +0,0 @@
-/*
- *  Bootstrap TouchSpin - v4.2.5
- *  A mobile and touch friendly input spinner component for Bootstrap 3 & 4.
- *  http://www.virtuosoft.eu/code/bootstrap-touchspin/
- *
- *  Made by István Ujj-Mészáros
- *  Under Apache License v2.0 License
- */
-(function(factory) {
-  if (typeof define === 'function' && define.amd) {
-    define(['jquery'], factory);
-  } else if (typeof module === 'object' && module.exports) {
-    module.exports = function(root, jQuery) {
-      if (jQuery === undefined) {
-        if (typeof window !== 'undefined') {
-          jQuery = require('jquery');
-        }
-        else {
-          jQuery = require('jquery')(root);
-        }
-      }
-      factory(jQuery);
-      return jQuery;
-    };
-  } else {
-    factory(jQuery);
-  }
-}(function($) {
-  'use strict';
-
-  var _currentSpinnerId = 0;
-
-  $.fn.TouchSpin = function(options) {
-
-    var defaults = {
-      min: 0, // If null, there is no minimum enforced
-      max: 100, // If null, there is no maximum enforced
-      initval: '',
-      replacementval: '',
-      step: 1,
-      decimals: 0,
-      stepinterval: 100,
-      forcestepdivisibility: 'round', // none | floor | round | ceil
-      stepintervaldelay: 500,
-      verticalbuttons: false,
-      verticalup: '+',
-      verticaldown: '-',
-      verticalupclass: '',
-      verticaldownclass: '',
-      prefix: '',
-      postfix: '',
-      prefix_extraclass: '',
-      postfix_extraclass: '',
-      booster: true,
-      boostat: 10,
-      maxboostedstep: false,
-      mousewheel: true,
-      buttondown_class: 'btn btn-primary',
-      buttonup_class: 'btn btn-primary',
-      buttondown_txt: '-',
-      buttonup_txt: '+',
-      callback_before_calculation: function(value) {
-        return value;
-      },
-      callback_after_calculation: function(value) {
-        return value;
-      }
-    };
-
-    var attributeMap = {
-      min: 'min',
-      max: 'max',
-      initval: 'init-val',
-      replacementval: 'replacement-val',
-      step: 'step',
-      decimals: 'decimals',
-      stepinterval: 'step-interval',
-      verticalbuttons: 'vertical-buttons',
-      verticalupclass: 'vertical-up-class',
-      verticaldownclass: 'vertical-down-class',
-      forcestepdivisibility: 'force-step-divisibility',
-      stepintervaldelay: 'step-interval-delay',
-      prefix: 'prefix',
-      postfix: 'postfix',
-      prefix_extraclass: 'prefix-extra-class',
-      postfix_extraclass: 'postfix-extra-class',
-      booster: 'booster',
-      boostat: 'boostat',
-      maxboostedstep: 'max-boosted-step',
-      mousewheel: 'mouse-wheel',
-      buttondown_class: 'button-down-class',
-      buttonup_class: 'button-up-class',
-      buttondown_txt: 'button-down-txt',
-      buttonup_txt: 'button-up-txt'
-    };
-
-    return this.each(function() {
-
-      var settings,
-        originalinput = $(this),
-        originalinput_data = originalinput.data(),
-        _detached_prefix,
-        _detached_postfix,
-        container,
-        elements,
-        value,
-        downSpinTimer,
-        upSpinTimer,
-        downDelayTimeout,
-        upDelayTimeout,
-        spincount = 0,
-        spinning = false;
-
-      init();
-
-      function init() {
-        if (originalinput.data('alreadyinitialized')) {
-          return;
-        }
-
-        originalinput.data('alreadyinitialized', true);
-        _currentSpinnerId += 1;
-        originalinput.data('spinnerid', _currentSpinnerId);
-
-        if (!originalinput.is('input')) {
-          console.log('Must be an input.');
-          return;
-        }
-
-        _initSettings();
-        _setInitval();
-        _checkValue();
-        _buildHtml();
-        _initElements();
-        _hideEmptyPrefixPostfix();
-        _bindEvents();
-        _bindEventsInterface();
-      }
-
-      function _setInitval() {
-        if (settings.initval !== '' && originalinput.val() === '') {
-          originalinput.val(settings.initval);
-        }
-      }
-
-      function changeSettings(newsettings) {
-        _updateSettings(newsettings);
-        _checkValue();
-
-        var value = elements.input.val();
-
-        if (value !== '') {
-          value = Number(settings.callback_before_calculation(elements.input.val()));
-          elements.input.val(settings.callback_after_calculation(Number(value).toFixed(settings.decimals)));
-        }
-      }
-
-      function _initSettings() {
-        settings = $.extend({}, defaults, originalinput_data, _parseAttributes(), options);
-      }
-
-      function _parseAttributes() {
-        var data = {};
-        $.each(attributeMap, function(key, value) {
-          var attrName = 'bts-' + value + '';
-          if (originalinput.is('[data-' + attrName + ']')) {
-            data[key] = originalinput.data(attrName);
-          }
-        });
-        return data;
-      }
-
-      function _destroy() {
-        var $parent = originalinput.parent();
-
-        stopSpin();
-
-        originalinput.off('.touchspin');
-
-        if ($parent.hasClass('bootstrap-touchspin-injected')) {
-          originalinput.siblings().remove();
-          originalinput.unwrap();
-        }
-        else {
-          $('.bootstrap-touchspin-injected', $parent).remove();
-          $parent.removeClass('bootstrap-touchspin');
-        }
-
-        originalinput.data('alreadyinitialized', false);
-      }
-
-      function _updateSettings(newsettings) {
-        settings = $.extend({}, settings, newsettings);
-
-        // Update postfix and prefix texts if those settings were changed.
-        if (newsettings.postfix) {
-          var $postfix = originalinput.parent().find('.bootstrap-touchspin-postfix');
-
-          if ($postfix.length === 0) {
-            _detached_postfix.insertAfter(originalinput);
-          }
-
-          originalinput.parent().find('.bootstrap-touchspin-postfix .input-group-text').text(newsettings.postfix);
-        }
-
-        if (newsettings.prefix) {
-          var $prefix = originalinput.parent().find('.bootstrap-touchspin-prefix');
-
-          if ($prefix.length === 0) {
-            _detached_prefix.insertBefore(originalinput);
-          }
-
-          originalinput.parent().find('.bootstrap-touchspin-prefix .input-group-text').text(newsettings.prefix);
-        }
-
-        _hideEmptyPrefixPostfix();
-      }
-
-      function _buildHtml() {
-        var initval = originalinput.val(),
-          parentelement = originalinput.parent();
-
-        if (initval !== '') {
-          initval = settings.callback_after_calculation(Number(initval).toFixed(settings.decimals));
-        }
-
-        originalinput.data('initvalue', initval).val(initval);
-        originalinput.addClass('form-control');
-
-        if (parentelement.hasClass('input-group')) {
-          _advanceInputGroup(parentelement);
-        }
-        else {
-          _buildInputGroup();
-        }
-      }
-
-      function _advanceInputGroup(parentelement) {
-        parentelement.addClass('bootstrap-touchspin');
-
-        var prev = originalinput.prev(),
-          next = originalinput.next();
-
-        var downhtml,
-          uphtml,
-          prefixhtml = '<span class="input-group-prepend bootstrap-touchspin-prefix input-group-prepend bootstrap-touchspin-injected"><span class="input-group-text">' + settings.prefix + '</span></span>',
-          postfixhtml = '<span class="input-group-append bootstrap-touchspin-postfix input-group-append bootstrap-touchspin-injected"><span class="input-group-text">' + settings.postfix + '</span></span>';
-
-        if (prev.hasClass('input-group-btn') || prev.hasClass('input-group-prepend')) {
-          downhtml = '<button class="' + settings.buttondown_class + ' bootstrap-touchspin-down bootstrap-touchspin-injected" type="button">' + settings.buttondown_txt + '</button>';
-          prev.append(downhtml);
-        }
-        else {
-          downhtml = '<span class="input-group-btn input-group-prepend bootstrap-touchspin-injected"><button class="' + settings.buttondown_class + ' bootstrap-touchspin-down" type="button">' + settings.buttondown_txt + '</button></span>';
-          $(downhtml).insertBefore(originalinput);
-        }
-
-        if (next.hasClass('input-group-btn') || next.hasClass('input-group-append')) {
-          uphtml = '<button class="' + settings.buttonup_class + ' bootstrap-touchspin-up bootstrap-touchspin-injected" type="button">' + settings.buttonup_txt + '</button>';
-          next.prepend(uphtml);
-        }
-        else {
-          uphtml = '<span class="input-group-btn input-group-append bootstrap-touchspin-injected"><button class="' + settings.buttonup_class + ' bootstrap-touchspin-up" type="button">' + settings.buttonup_txt + '</button></span>';
-          $(uphtml).insertAfter(originalinput);
-        }
-
-        $(prefixhtml).insertBefore(originalinput);
-        $(postfixhtml).insertAfter(originalinput);
-
-        container = parentelement;
-      }
-
-      function _buildInputGroup() {
-        var html;
-
-        var inputGroupSize = '';
-        if (originalinput.hasClass('input-sm')) {
-          inputGroupSize = 'input-group-sm';
-        }
-
-        if (originalinput.hasClass('input-lg')) {
-          inputGroupSize = 'input-group-lg';
-        }
-
-        if (settings.verticalbuttons) {
-          html = '<div class="input-group ' + inputGroupSize + ' bootstrap-touchspin bootstrap-touchspin-injected"><span class="input-group-prepend bootstrap-touchspin-prefix"><span class="input-group-text">' + settings.prefix + '</span></span><span class="bootstrap-touchspin-postfix input-group-append"><span class="input-group-text">' + settings.postfix + '</span></span><span class="input-group-btn-vertical"><button class="' + settings.buttondown_class + ' bootstrap-touchspin-up ' + settings.verticalupclass + '" type="button">' + settings.verticalup + '</button><button class="' + settings.buttonup_class + ' bootstrap-touchspin-down ' + settings.verticaldownclass + '" type="button">' + settings.verticaldown + '</button></span></div>';
-        }
-        else {
-          html = '<div class="input-group bootstrap-touchspin bootstrap-touchspin-injected"><span class="input-group-btn input-group-prepend"><button class="' + settings.buttondown_class + ' bootstrap-touchspin-down" type="button">' + settings.buttondown_txt + '</button></span><span class="bootstrap-touchspin-prefix input-group-prepend"><span class="input-group-text">' + settings.prefix + '</span></span><span class="bootstrap-touchspin-postfix input-group-append"><span class="input-group-text">' + settings.postfix + '</span></span><span class="input-group-btn input-group-append"><button class="' + settings.buttonup_class + ' bootstrap-touchspin-up" type="button">' + settings.buttonup_txt + '</button></span></div>';
-        }
-
-        container = $(html).insertBefore(originalinput);
-
-        $('.bootstrap-touchspin-prefix', container).after(originalinput);
-
-        if (originalinput.hasClass('input-sm')) {
-          container.addClass('input-group-sm');
-        }
-        else if (originalinput.hasClass('input-lg')) {
-          container.addClass('input-group-lg');
-        }
-      }
-
-      function _initElements() {
-        elements = {
-          down: $('.bootstrap-touchspin-down', container),
-          up: $('.bootstrap-touchspin-up', container),
-          input: $('input', container),
-          prefix: $('.bootstrap-touchspin-prefix', container).addClass(settings.prefix_extraclass),
-          postfix: $('.bootstrap-touchspin-postfix', container).addClass(settings.postfix_extraclass)
-        };
-      }
-
-      function _hideEmptyPrefixPostfix() {
-        if (settings.prefix === '') {
-          _detached_prefix = elements.prefix.detach();
-        }
-
-        if (settings.postfix === '') {
-          _detached_postfix = elements.postfix.detach();
-        }
-      }
-
-      function _bindEvents() {
-        originalinput.on('keydown.touchspin', function(ev) {
-          var code = ev.keyCode || ev.which;
-
-          if (code === 38) {
-            if (spinning !== 'up') {
-              upOnce();
-              startUpSpin();
-            }
-            ev.preventDefault();
-          }
-          else if (code === 40) {
-            if (spinning !== 'down') {
-              downOnce();
-              startDownSpin();
-            }
-            ev.preventDefault();
-          }
-        });
-
-        originalinput.on('keyup.touchspin', function(ev) {
-          var code = ev.keyCode || ev.which;
-
-          if (code === 38) {
-            stopSpin();
-          }
-          else if (code === 40) {
-            stopSpin();
-          }
-        });
-
-        originalinput.on('blur.touchspin', function() {
-          _checkValue();
-          originalinput.val(settings.callback_after_calculation(originalinput.val()));
-        });
-
-        elements.down.on('keydown', function(ev) {
-          var code = ev.keyCode || ev.which;
-
-          if (code === 32 || code === 13) {
-            if (spinning !== 'down') {
-              downOnce();
-              startDownSpin();
-            }
-            ev.preventDefault();
-          }
-        });
-
-        elements.down.on('keyup.touchspin', function(ev) {
-          var code = ev.keyCode || ev.which;
-
-          if (code === 32 || code === 13) {
-            stopSpin();
-          }
-        });
-
-        elements.up.on('keydown.touchspin', function(ev) {
-          var code = ev.keyCode || ev.which;
-
-          if (code === 32 || code === 13) {
-            if (spinning !== 'up') {
-              upOnce();
-              startUpSpin();
-            }
-            ev.preventDefault();
-          }
-        });
-
-        elements.up.on('keyup.touchspin', function(ev) {
-          var code = ev.keyCode || ev.which;
-
-          if (code === 32 || code === 13) {
-            stopSpin();
-          }
-        });
-
-        elements.down.on('mousedown.touchspin', function(ev) {
-          elements.down.off('touchstart.touchspin');  // android 4 workaround
-
-          if (originalinput.is(':disabled')) {
-            return;
-          }
-
-          downOnce();
-          startDownSpin();
-
-          ev.preventDefault();
-          ev.stopPropagation();
-        });
-
-        elements.down.on('touchstart.touchspin', function(ev) {
-          elements.down.off('mousedown.touchspin');  // android 4 workaround
-
-          if (originalinput.is(':disabled')) {
-            return;
-          }
-
-          downOnce();
-          startDownSpin();
-
-          ev.preventDefault();
-          ev.stopPropagation();
-        });
-
-        elements.up.on('mousedown.touchspin', function(ev) {
-          elements.up.off('touchstart.touchspin');  // android 4 workaround
-
-          if (originalinput.is(':disabled')) {
-            return;
-          }
-
-          upOnce();
-          startUpSpin();
-
-          ev.preventDefault();
-          ev.stopPropagation();
-        });
-
-        elements.up.on('touchstart.touchspin', function(ev) {
-          elements.up.off('mousedown.touchspin');  // android 4 workaround
-
-          if (originalinput.is(':disabled')) {
-            return;
-          }
-
-          upOnce();
-          startUpSpin();
-
-          ev.preventDefault();
-          ev.stopPropagation();
-        });
-
-        elements.up.on('mouseup.touchspin mouseout.touchspin touchleave.touchspin touchend.touchspin touchcancel.touchspin', function(ev) {
-          if (!spinning) {
-            return;
-          }
-
-          ev.stopPropagation();
-          stopSpin();
-        });
-
-        elements.down.on('mouseup.touchspin mouseout.touchspin touchleave.touchspin touchend.touchspin touchcancel.touchspin', function(ev) {
-          if (!spinning) {
-            return;
-          }
-
-          ev.stopPropagation();
-          stopSpin();
-        });
-
-        elements.down.on('mousemove.touchspin touchmove.touchspin', function(ev) {
-          if (!spinning) {
-            return;
-          }
-
-          ev.stopPropagation();
-          ev.preventDefault();
-        });
-
-        elements.up.on('mousemove.touchspin touchmove.touchspin', function(ev) {
-          if (!spinning) {
-            return;
-          }
-
-          ev.stopPropagation();
-          ev.preventDefault();
-        });
-
-        originalinput.on('mousewheel.touchspin DOMMouseScroll.touchspin', function(ev) {
-          if (!settings.mousewheel || !originalinput.is(':focus')) {
-            return;
-          }
-
-          var delta = ev.originalEvent.wheelDelta || -ev.originalEvent.deltaY || -ev.originalEvent.detail;
-
-          ev.stopPropagation();
-          ev.preventDefault();
-
-          if (delta < 0) {
-            downOnce();
-          }
-          else {
-            upOnce();
-          }
-        });
-      }
-
-      function _bindEventsInterface() {
-        originalinput.on('touchspin.destroy', function() {
-          _destroy();
-        });
-
-        originalinput.on('touchspin.uponce', function() {
-          stopSpin();
-          upOnce();
-        });
-
-        originalinput.on('touchspin.downonce', function() {
-          stopSpin();
-          downOnce();
-        });
-
-        originalinput.on('touchspin.startupspin', function() {
-          startUpSpin();
-        });
-
-        originalinput.on('touchspin.startdownspin', function() {
-          startDownSpin();
-        });
-
-        originalinput.on('touchspin.stopspin', function() {
-          stopSpin();
-        });
-
-        originalinput.on('touchspin.updatesettings', function(e, newsettings) {
-          changeSettings(newsettings);
-        });
-      }
-
-      function _forcestepdivisibility(value) {
-        switch (settings.forcestepdivisibility) {
-          case 'round':
-            return (Math.round(value / settings.step) * settings.step).toFixed(settings.decimals);
-          case 'floor':
-            return (Math.floor(value / settings.step) * settings.step).toFixed(settings.decimals);
-          case 'ceil':
-            return (Math.ceil(value / settings.step) * settings.step).toFixed(settings.decimals);
-          default:
-            return value;
-        }
-      }
-
-      function _checkValue() {
-        var val, parsedval, returnval;
-
-        val = settings.callback_before_calculation(originalinput.val());
-
-        if (val === '') {
-          if (settings.replacementval !== '') {
-            originalinput.val(settings.replacementval);
-            originalinput.trigger('change');
-          }
-          return;
-        }
-
-        if (settings.decimals > 0 && val === '.') {
-          return;
-        }
-
-        parsedval = parseFloat(val);
-
-        if (isNaN(parsedval)) {
-          if (settings.replacementval !== '') {
-            parsedval = settings.replacementval;
-          }
-          else {
-            parsedval = 0;
-          }
-        }
-
-        returnval = parsedval;
-
-        if (parsedval.toString() !== val) {
-          returnval = parsedval;
-        }
-
-        if ((settings.min !== null) && (parsedval < settings.min)) {
-          returnval = settings.min;
-        }
-
-        if ((settings.max !== null) && (parsedval > settings.max)) {
-          returnval = settings.max;
-        }
-
-        returnval = _forcestepdivisibility(returnval);
-
-        if (Number(val).toString() !== returnval.toString()) {
-          originalinput.val(returnval);
-          originalinput.trigger('change');
-        }
-      }
-
-      function _getBoostedStep() {
-        if (!settings.booster) {
-          return settings.step;
-        }
-        else {
-          var boosted = Math.pow(2, Math.floor(spincount / settings.boostat)) * settings.step;
-
-          if (settings.maxboostedstep) {
-            if (boosted > settings.maxboostedstep) {
-              boosted = settings.maxboostedstep;
-              value = Math.round((value / boosted)) * boosted;
-            }
-          }
-
-          return Math.max(settings.step, boosted);
-        }
-      }
-
-      function upOnce() {
-        _checkValue();
-
-        value = parseFloat(settings.callback_before_calculation(elements.input.val()));
-        if (isNaN(value)) {
-          value = 0;
-        }
-
-        var initvalue = value,
-          boostedstep = _getBoostedStep();
-
-        value = value + boostedstep;
-
-        if ((settings.max !== null) && (value > settings.max)) {
-          value = settings.max;
-          originalinput.trigger('touchspin.on.max');
-          stopSpin();
-        }
-
-        elements.input.val(settings.callback_after_calculation(Number(value).toFixed(settings.decimals)));
-
-        if (initvalue !== value) {
-          originalinput.trigger('change');
-        }
-      }
-
-      function downOnce() {
-        _checkValue();
-
-        value = parseFloat(settings.callback_before_calculation(elements.input.val()));
-        if (isNaN(value)) {
-          value = 0;
-        }
-
-        var initvalue = value,
-          boostedstep = _getBoostedStep();
-
-        value = value - boostedstep;
-
-        if ((settings.min !== null) && (value < settings.min)) {
-          value = settings.min;
-          originalinput.trigger('touchspin.on.min');
-          stopSpin();
-        }
-
-        elements.input.val(settings.callback_after_calculation(Number(value).toFixed(settings.decimals)));
-
-        if (initvalue !== value) {
-          originalinput.trigger('change');
-        }
-      }
-
-      function startDownSpin() {
-        stopSpin();
-
-        spincount = 0;
-        spinning = 'down';
-
-        originalinput.trigger('touchspin.on.startspin');
-        originalinput.trigger('touchspin.on.startdownspin');
-
-        downDelayTimeout = setTimeout(function() {
-          downSpinTimer = setInterval(function() {
-            spincount++;
-            downOnce();
-          }, settings.stepinterval);
-        }, settings.stepintervaldelay);
-      }
-
-      function startUpSpin() {
-        stopSpin();
-
-        spincount = 0;
-        spinning = 'up';
-
-        originalinput.trigger('touchspin.on.startspin');
-        originalinput.trigger('touchspin.on.startupspin');
-
-        upDelayTimeout = setTimeout(function() {
-          upSpinTimer = setInterval(function() {
-            spincount++;
-            upOnce();
-          }, settings.stepinterval);
-        }, settings.stepintervaldelay);
-      }
-
-      function stopSpin() {
-        clearTimeout(downDelayTimeout);
-        clearTimeout(upDelayTimeout);
-        clearInterval(downSpinTimer);
-        clearInterval(upSpinTimer);
-
-        switch (spinning) {
-          case 'up':
-            originalinput.trigger('touchspin.on.stopupspin');
-            originalinput.trigger('touchspin.on.stopspin');
-            break;
-          case 'down':
-            originalinput.trigger('touchspin.on.stopdownspin');
-            originalinput.trigger('touchspin.on.stopspin');
-            break;
-        }
-
-        spincount = 0;
-        spinning = false;
-      }
-
-    });
-
-  };
-
-}));

+ 0 - 1955
resources/assets/vendors/js/forms/toggle/switchery.js

@@ -1,1955 +0,0 @@
-
-;(function(){
-
-/**
- * Require the module at `name`.
- *
- * @param {String} name
- * @return {Object} exports
- * @api public
- */
-
-function require(name) {
-  var module = require.modules[name];
-  if (!module) throw new Error('failed to require "' + name + '"');
-
-  if (!('exports' in module) && typeof module.definition === 'function') {
-    module.client = module.component = true;
-    module.definition.call(this, module.exports = {}, module);
-    delete module.definition;
-  }
-
-  return module.exports;
-}
-
-/**
- * Meta info, accessible in the global scope unless you use AMD option.
- */
-
-require.loader = 'component';
-
-/**
- * Internal helper object, contains a sorting function for semantiv versioning
- */
-require.helper = {};
-require.helper.semVerSort = function(a, b) {
-  var aArray = a.version.split('.');
-  var bArray = b.version.split('.');
-  for (var i=0; i<aArray.length; ++i) {
-    var aInt = parseInt(aArray[i], 10);
-    var bInt = parseInt(bArray[i], 10);
-    if (aInt === bInt) {
-      var aLex = aArray[i].substr((""+aInt).length);
-      var bLex = bArray[i].substr((""+bInt).length);
-      if (aLex === '' && bLex !== '') return 1;
-      if (aLex !== '' && bLex === '') return -1;
-      if (aLex !== '' && bLex !== '') return aLex > bLex ? 1 : -1;
-      continue;
-    } else if (aInt > bInt) {
-      return 1;
-    } else {
-      return -1;
-    }
-  }
-  return 0;
-}
-
-/**
- * Find and require a module which name starts with the provided name.
- * If multiple modules exists, the highest semver is used. 
- * This function can only be used for remote dependencies.
-
- * @param {String} name - module name: `user~repo`
- * @param {Boolean} returnPath - returns the canonical require path if true, 
- *                               otherwise it returns the epxorted module
- */
-require.latest = function (name, returnPath) {
-  function showError(name) {
-    throw new Error('failed to find latest module of "' + name + '"');
-  }
-  // only remotes with semvers, ignore local files conataining a '/'
-  var versionRegexp = /(.*)~(.*)@v?(\d+\.\d+\.\d+[^\/]*)$/;
-  var remoteRegexp = /(.*)~(.*)/;
-  if (!remoteRegexp.test(name)) showError(name);
-  var moduleNames = Object.keys(require.modules);
-  var semVerCandidates = [];
-  var otherCandidates = []; // for instance: name of the git branch
-  for (var i=0; i<moduleNames.length; i++) {
-    var moduleName = moduleNames[i];
-    if (new RegExp(name + '@').test(moduleName)) {
-        var version = moduleName.substr(name.length+1);
-        var semVerMatch = versionRegexp.exec(moduleName);
-        if (semVerMatch != null) {
-          semVerCandidates.push({version: version, name: moduleName});
-        } else {
-          otherCandidates.push({version: version, name: moduleName});
-        } 
-    }
-  }
-  if (semVerCandidates.concat(otherCandidates).length === 0) {
-    showError(name);
-  }
-  if (semVerCandidates.length > 0) {
-    var module = semVerCandidates.sort(require.helper.semVerSort).pop().name;
-    if (returnPath === true) {
-      return module;
-    }
-    return require(module);
-  }
-  // if the build contains more than one branch of the same module
-  // you should not use this funciton
-  var module = otherCandidates.sort(function(a, b) {return a.name > b.name})[0].name;
-  if (returnPath === true) {
-    return module;
-  }
-  return require(module);
-}
-
-/**
- * Registered modules.
- */
-
-require.modules = {};
-
-/**
- * Register module at `name` with callback `definition`.
- *
- * @param {String} name
- * @param {Function} definition
- * @api private
- */
-
-require.register = function (name, definition) {
-  require.modules[name] = {
-    definition: definition
-  };
-};
-
-/**
- * Define a module's exports immediately with `exports`.
- *
- * @param {String} name
- * @param {Generic} exports
- * @api private
- */
-
-require.define = function (name, exports) {
-  require.modules[name] = {
-    exports: exports
-  };
-};
-require.register("abpetkov~transitionize@0.0.3", function (exports, module) {
-
-/**
- * Transitionize 0.0.2
- * https://github.com/abpetkov/transitionize
- *
- * Authored by Alexander Petkov
- * https://github.com/abpetkov
- *
- * Copyright 2013, Alexander Petkov
- * License: The MIT License (MIT)
- * http://opensource.org/licenses/MIT
- *
- */
-
-/**
- * Expose `Transitionize`.
- */
-
-module.exports = Transitionize;
-
-/**
- * Initialize new Transitionize.
- *
- * @param {Object} element
- * @param {Object} props
- * @api public
- */
-
-function Transitionize(element, props) {
-  if (!(this instanceof Transitionize)) return new Transitionize(element, props);
-
-  this.element = element;
-  this.props = props || {};
-  this.init();
-}
-
-/**
- * Detect if Safari.
- *
- * @returns {Boolean}
- * @api private
- */
-
-Transitionize.prototype.isSafari = function() {
-  return (/Safari/).test(navigator.userAgent) && (/Apple Computer/).test(navigator.vendor);
-};
-
-/**
- * Loop though the object and push the keys and values in an array.
- * Apply the CSS3 transition to the element and prefix with -webkit- for Safari.
- *
- * @api private
- */
-
-Transitionize.prototype.init = function() {
-  var transitions = [];
-
-  for (var key in this.props) {
-    transitions.push(key + ' ' + this.props[key]);
-  }
-
-  this.element.style.transition = transitions.join(', ');
-  if (this.isSafari()) this.element.style.webkitTransition = transitions.join(', ');
-};
-});
-
-require.register("ftlabs~fastclick@v0.6.11", function (exports, module) {
-/**
- * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
- *
- * @version 0.6.11
- * @codingstandard ftlabs-jsv2
- * @copyright The Financial Times Limited [All Rights Reserved]
- * @license MIT License (see LICENSE.txt)
- */
-
-/*jslint browser:true, node:true*/
-/*global define, Event, Node*/
-
-
-/**
- * Instantiate fast-clicking listeners on the specificed layer.
- *
- * @constructor
- * @param {Element} layer The layer to listen on
- */
-function FastClick(layer) {
-	'use strict';
-	var oldOnClick, self = this;
-
-
-	/**
-	 * Whether a click is currently being tracked.
-	 *
-	 * @type boolean
-	 */
-	this.trackingClick = false;
-
-
-	/**
-	 * Timestamp for when when click tracking started.
-	 *
-	 * @type number
-	 */
-	this.trackingClickStart = 0;
-
-
-	/**
-	 * The element being tracked for a click.
-	 *
-	 * @type EventTarget
-	 */
-	this.targetElement = null;
-
-
-	/**
-	 * X-coordinate of touch start event.
-	 *
-	 * @type number
-	 */
-	this.touchStartX = 0;
-
-
-	/**
-	 * Y-coordinate of touch start event.
-	 *
-	 * @type number
-	 */
-	this.touchStartY = 0;
-
-
-	/**
-	 * ID of the last touch, retrieved from Touch.identifier.
-	 *
-	 * @type number
-	 */
-	this.lastTouchIdentifier = 0;
-
-
-	/**
-	 * Touchmove boundary, beyond which a click will be cancelled.
-	 *
-	 * @type number
-	 */
-	this.touchBoundary = 10;
-
-
-	/**
-	 * The FastClick layer.
-	 *
-	 * @type Element
-	 */
-	this.layer = layer;
-
-	if (!layer || !layer.nodeType) {
-		throw new TypeError('Layer must be a document node');
-	}
-
-	/** @type function() */
-	this.onClick = function() { return FastClick.prototype.onClick.apply(self, arguments); };
-
-	/** @type function() */
-	this.onMouse = function() { return FastClick.prototype.onMouse.apply(self, arguments); };
-
-	/** @type function() */
-	this.onTouchStart = function() { return FastClick.prototype.onTouchStart.apply(self, arguments); };
-
-	/** @type function() */
-	this.onTouchMove = function() { return FastClick.prototype.onTouchMove.apply(self, arguments); };
-
-	/** @type function() */
-	this.onTouchEnd = function() { return FastClick.prototype.onTouchEnd.apply(self, arguments); };
-
-	/** @type function() */
-	this.onTouchCancel = function() { return FastClick.prototype.onTouchCancel.apply(self, arguments); };
-
-	if (FastClick.notNeeded(layer)) {
-		return;
-	}
-
-	// Set up event handlers as required
-	if (this.deviceIsAndroid) {
-		layer.addEventListener('mouseover', this.onMouse, true);
-		layer.addEventListener('mousedown', this.onMouse, true);
-		layer.addEventListener('mouseup', this.onMouse, true);
-	}
-
-	layer.addEventListener('click', this.onClick, true);
-	layer.addEventListener('touchstart', this.onTouchStart, false);
-	layer.addEventListener('touchmove', this.onTouchMove, false);
-	layer.addEventListener('touchend', this.onTouchEnd, false);
-	layer.addEventListener('touchcancel', this.onTouchCancel, false);
-
-	// Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
-	// which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick
-	// layer when they are cancelled.
-	if (!Event.prototype.stopImmediatePropagation) {
-		layer.removeEventListener = function(type, callback, capture) {
-			var rmv = Node.prototype.removeEventListener;
-			if (type === 'click') {
-				rmv.call(layer, type, callback.hijacked || callback, capture);
-			} else {
-				rmv.call(layer, type, callback, capture);
-			}
-		};
-
-		layer.addEventListener = function(type, callback, capture) {
-			var adv = Node.prototype.addEventListener;
-			if (type === 'click') {
-				adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {
-					if (!event.propagationStopped) {
-						callback(event);
-					}
-				}), capture);
-			} else {
-				adv.call(layer, type, callback, capture);
-			}
-		};
-	}
-
-	// If a handler is already declared in the element's onclick attribute, it will be fired before
-	// FastClick's onClick handler. Fix this by pulling out the user-defined handler function and
-	// adding it as listener.
-	if (typeof layer.onclick === 'function') {
-
-		// Android browser on at least 3.2 requires a new reference to the function in layer.onclick
-		// - the old one won't work if passed to addEventListener directly.
-		oldOnClick = layer.onclick;
-		layer.addEventListener('click', function(event) {
-			oldOnClick(event);
-		}, false);
-		layer.onclick = null;
-	}
-}
-
-
-/**
- * Android requires exceptions.
- *
- * @type boolean
- */
-FastClick.prototype.deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0;
-
-
-/**
- * iOS requires exceptions.
- *
- * @type boolean
- */
-FastClick.prototype.deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent);
-
-
-/**
- * iOS 4 requires an exception for select elements.
- *
- * @type boolean
- */
-FastClick.prototype.deviceIsIOS4 = FastClick.prototype.deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent);
-
-
-/**
- * iOS 6.0(+?) requires the target element to be manually derived
- *
- * @type boolean
- */
-FastClick.prototype.deviceIsIOSWithBadTarget = FastClick.prototype.deviceIsIOS && (/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent);
-
-
-/**
- * Determine whether a given element requires a native click.
- *
- * @param {EventTarget|Element} target Target DOM element
- * @returns {boolean} Returns true if the element needs a native click
- */
-FastClick.prototype.needsClick = function(target) {
-	'use strict';
-	switch (target.nodeName.toLowerCase()) {
-
-	// Don't send a synthetic click to disabled inputs (issue #62)
-	case 'button':
-	case 'select':
-	case 'textarea':
-		if (target.disabled) {
-			return true;
-		}
-
-		break;
-	case 'input':
-
-		// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
-		if ((this.deviceIsIOS && target.type === 'file') || target.disabled) {
-			return true;
-		}
-
-		break;
-	case 'label':
-	case 'video':
-		return true;
-	}
-
-	return (/\bneedsclick\b/).test(target.className);
-};
-
-
-/**
- * Determine whether a given element requires a call to focus to simulate click into element.
- *
- * @param {EventTarget|Element} target Target DOM element
- * @returns {boolean} Returns true if the element requires a call to focus to simulate native click.
- */
-FastClick.prototype.needsFocus = function(target) {
-	'use strict';
-	switch (target.nodeName.toLowerCase()) {
-	case 'textarea':
-		return true;
-	case 'select':
-		return !this.deviceIsAndroid;
-	case 'input':
-		switch (target.type) {
-		case 'button':
-		case 'checkbox':
-		case 'file':
-		case 'image':
-		case 'radio':
-		case 'submit':
-			return false;
-		}
-
-		// No point in attempting to focus disabled inputs
-		return !target.disabled && !target.readOnly;
-	default:
-		return (/\bneedsfocus\b/).test(target.className);
-	}
-};
-
-
-/**
- * Send a click event to the specified element.
- *
- * @param {EventTarget|Element} targetElement
- * @param {Event} event
- */
-FastClick.prototype.sendClick = function(targetElement, event) {
-	'use strict';
-	var clickEvent, touch;
-
-	// On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)
-	if (document.activeElement && document.activeElement !== targetElement) {
-		document.activeElement.blur();
-	}
-
-	touch = event.changedTouches[0];
-
-	// Synthesise a click event, with an extra attribute so it can be tracked
-	clickEvent = document.createEvent('MouseEvents');
-	clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
-	clickEvent.forwardedTouchEvent = true;
-	targetElement.dispatchEvent(clickEvent);
-};
-
-FastClick.prototype.determineEventType = function(targetElement) {
-	'use strict';
-
-	//Issue #159: Android Chrome Select Box does not open with a synthetic click event
-	if (this.deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') {
-		return 'mousedown';
-	}
-
-	return 'click';
-};
-
-
-/**
- * @param {EventTarget|Element} targetElement
- */
-FastClick.prototype.focus = function(targetElement) {
-	'use strict';
-	var length;
-
-	// Issue #160: on iOS 7, some input elements (e.g. date datetime) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.
-	if (this.deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time') {
-		length = targetElement.value.length;
-		targetElement.setSelectionRange(length, length);
-	} else {
-		targetElement.focus();
-	}
-};
-
-
-/**
- * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.
- *
- * @param {EventTarget|Element} targetElement
- */
-FastClick.prototype.updateScrollParent = function(targetElement) {
-	'use strict';
-	var scrollParent, parentElement;
-
-	scrollParent = targetElement.fastClickScrollParent;
-
-	// Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the
-	// target element was moved to another parent.
-	if (!scrollParent || !scrollParent.contains(targetElement)) {
-		parentElement = targetElement;
-		do {
-			if (parentElement.scrollHeight > parentElement.offsetHeight) {
-				scrollParent = parentElement;
-				targetElement.fastClickScrollParent = parentElement;
-				break;
-			}
-
-			parentElement = parentElement.parentElement;
-		} while (parentElement);
-	}
-
-	// Always update the scroll top tracker if possible.
-	if (scrollParent) {
-		scrollParent.fastClickLastScrollTop = scrollParent.scrollTop;
-	}
-};
-
-
-/**
- * @param {EventTarget} targetElement
- * @returns {Element|EventTarget}
- */
-FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {
-	'use strict';
-
-	// On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.
-	if (eventTarget.nodeType === Node.TEXT_NODE) {
-		return eventTarget.parentNode;
-	}
-
-	return eventTarget;
-};
-
-
-/**
- * On touch start, record the position and scroll offset.
- *
- * @param {Event} event
- * @returns {boolean}
- */
-FastClick.prototype.onTouchStart = function(event) {
-	'use strict';
-	var targetElement, touch, selection;
-
-	// Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).
-	if (event.targetTouches.length > 1) {
-		return true;
-	}
-
-	targetElement = this.getTargetElementFromEventTarget(event.target);
-	touch = event.targetTouches[0];
-
-	if (this.deviceIsIOS) {
-
-		// Only trusted events will deselect text on iOS (issue #49)
-		selection = window.getSelection();
-		if (selection.rangeCount && !selection.isCollapsed) {
-			return true;
-		}
-
-		if (!this.deviceIsIOS4) {
-
-			// Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23):
-			// when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched
-			// with the same identifier as the touch event that previously triggered the click that triggered the alert.
-			// Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an
-			// immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.
-			if (touch.identifier === this.lastTouchIdentifier) {
-				event.preventDefault();
-				return false;
-			}
-
-			this.lastTouchIdentifier = touch.identifier;
-
-			// If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:
-			// 1) the user does a fling scroll on the scrollable layer
-			// 2) the user stops the fling scroll with another tap
-			// then the event.target of the last 'touchend' event will be the element that was under the user's finger
-			// when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check
-			// is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).
-			this.updateScrollParent(targetElement);
-		}
-	}
-
-	this.trackingClick = true;
-	this.trackingClickStart = event.timeStamp;
-	this.targetElement = targetElement;
-
-	this.touchStartX = touch.pageX;
-	this.touchStartY = touch.pageY;
-
-	// Prevent phantom clicks on fast double-tap (issue #36)
-	if ((event.timeStamp - this.lastClickTime) < 200) {
-		event.preventDefault();
-	}
-
-	return true;
-};
-
-
-/**
- * Based on a touchmove event object, check whether the touch has moved past a boundary since it started.
- *
- * @param {Event} event
- * @returns {boolean}
- */
-FastClick.prototype.touchHasMoved = function(event) {
-	'use strict';
-	var touch = event.changedTouches[0], boundary = this.touchBoundary;
-
-	if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {
-		return true;
-	}
-
-	return false;
-};
-
-
-/**
- * Update the last position.
- *
- * @param {Event} event
- * @returns {boolean}
- */
-FastClick.prototype.onTouchMove = function(event) {
-	'use strict';
-	if (!this.trackingClick) {
-		return true;
-	}
-
-	// If the touch has moved, cancel the click tracking
-	if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {
-		this.trackingClick = false;
-		this.targetElement = null;
-	}
-
-	return true;
-};
-
-
-/**
- * Attempt to find the labelled control for the given label element.
- *
- * @param {EventTarget|HTMLLabelElement} labelElement
- * @returns {Element|null}
- */
-FastClick.prototype.findControl = function(labelElement) {
-	'use strict';
-
-	// Fast path for newer browsers supporting the HTML5 control attribute
-	if (labelElement.control !== undefined) {
-		return labelElement.control;
-	}
-
-	// All browsers under test that support touch events also support the HTML5 htmlFor attribute
-	if (labelElement.htmlFor) {
-		return document.getElementById(labelElement.htmlFor);
-	}
-
-	// If no for attribute exists, attempt to retrieve the first labellable descendant element
-	// the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label
-	return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea');
-};
-
-
-/**
- * On touch end, determine whether to send a click event at once.
- *
- * @param {Event} event
- * @returns {boolean}
- */
-FastClick.prototype.onTouchEnd = function(event) {
-	'use strict';
-	var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;
-
-	if (!this.trackingClick) {
-		return true;
-	}
-
-	// Prevent phantom clicks on fast double-tap (issue #36)
-	if ((event.timeStamp - this.lastClickTime) < 200) {
-		this.cancelNextClick = true;
-		return true;
-	}
-
-	// Reset to prevent wrong click cancel on input (issue #156).
-	this.cancelNextClick = false;
-
-	this.lastClickTime = event.timeStamp;
-
-	trackingClickStart = this.trackingClickStart;
-	this.trackingClick = false;
-	this.trackingClickStart = 0;
-
-	// On some iOS devices, the targetElement supplied with the event is invalid if the layer
-	// is performing a transition or scroll, and has to be re-detected manually. Note that
-	// for this to function correctly, it must be called *after* the event target is checked!
-	// See issue #57; also filed as rdar://13048589 .
-	if (this.deviceIsIOSWithBadTarget) {
-		touch = event.changedTouches[0];
-
-		// In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null
-		targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;
-		targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;
-	}
-
-	targetTagName = targetElement.tagName.toLowerCase();
-	if (targetTagName === 'label') {
-		forElement = this.findControl(targetElement);
-		if (forElement) {
-			this.focus(targetElement);
-			if (this.deviceIsAndroid) {
-				return false;
-			}
-
-			targetElement = forElement;
-		}
-	} else if (this.needsFocus(targetElement)) {
-
-		// Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through.
-		// Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37).
-		if ((event.timeStamp - trackingClickStart) > 100 || (this.deviceIsIOS && window.top !== window && targetTagName === 'input')) {
-			this.targetElement = null;
-			return false;
-		}
-
-		this.focus(targetElement);
-
-		// Select elements need the event to go through on iOS 4, otherwise the selector menu won't open.
-		if (!this.deviceIsIOS4 || targetTagName !== 'select') {
-			this.targetElement = null;
-			event.preventDefault();
-		}
-
-		return false;
-	}
-
-	if (this.deviceIsIOS && !this.deviceIsIOS4) {
-
-		// Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled
-		// and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).
-		scrollParent = targetElement.fastClickScrollParent;
-		if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {
-			return true;
-		}
-	}
-
-	// Prevent the actual click from going though - unless the target node is marked as requiring
-	// real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.
-	if (!this.needsClick(targetElement)) {
-		event.preventDefault();
-		this.sendClick(targetElement, event);
-	}
-
-	return false;
-};
-
-
-/**
- * On touch cancel, stop tracking the click.
- *
- * @returns {void}
- */
-FastClick.prototype.onTouchCancel = function() {
-	'use strict';
-	this.trackingClick = false;
-	this.targetElement = null;
-};
-
-
-/**
- * Determine mouse events which should be permitted.
- *
- * @param {Event} event
- * @returns {boolean}
- */
-FastClick.prototype.onMouse = function(event) {
-	'use strict';
-
-	// If a target element was never set (because a touch event was never fired) allow the event
-	if (!this.targetElement) {
-		return true;
-	}
-
-	if (event.forwardedTouchEvent) {
-		return true;
-	}
-
-	// Programmatically generated events targeting a specific element should be permitted
-	if (!event.cancelable) {
-		return true;
-	}
-
-	// Derive and check the target element to see whether the mouse event needs to be permitted;
-	// unless explicitly enabled, prevent non-touch click events from triggering actions,
-	// to prevent ghost/doubleclicks.
-	if (!this.needsClick(this.targetElement) || this.cancelNextClick) {
-
-		// Prevent any user-added listeners declared on FastClick element from being fired.
-		if (event.stopImmediatePropagation) {
-			event.stopImmediatePropagation();
-		} else {
-
-			// Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
-			event.propagationStopped = true;
-		}
-
-		// Cancel the event
-		event.stopPropagation();
-		event.preventDefault();
-
-		return false;
-	}
-
-	// If the mouse event is permitted, return true for the action to go through.
-	return true;
-};
-
-
-/**
- * On actual clicks, determine whether this is a touch-generated click, a click action occurring
- * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or
- * an actual click which should be permitted.
- *
- * @param {Event} event
- * @returns {boolean}
- */
-FastClick.prototype.onClick = function(event) {
-	'use strict';
-	var permitted;
-
-	// It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.
-	if (this.trackingClick) {
-		this.targetElement = null;
-		this.trackingClick = false;
-		return true;
-	}
-
-	// Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.
-	if (event.target.type === 'submit' && event.detail === 0) {
-		return true;
-	}
-
-	permitted = this.onMouse(event);
-
-	// Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.
-	if (!permitted) {
-		this.targetElement = null;
-	}
-
-	// If clicks are permitted, return true for the action to go through.
-	return permitted;
-};
-
-
-/**
- * Remove all FastClick's event listeners.
- *
- * @returns {void}
- */
-FastClick.prototype.destroy = function() {
-	'use strict';
-	var layer = this.layer;
-
-	if (this.deviceIsAndroid) {
-		layer.removeEventListener('mouseover', this.onMouse, true);
-		layer.removeEventListener('mousedown', this.onMouse, true);
-		layer.removeEventListener('mouseup', this.onMouse, true);
-	}
-
-	layer.removeEventListener('click', this.onClick, true);
-	layer.removeEventListener('touchstart', this.onTouchStart, false);
-	layer.removeEventListener('touchmove', this.onTouchMove, false);
-	layer.removeEventListener('touchend', this.onTouchEnd, false);
-	layer.removeEventListener('touchcancel', this.onTouchCancel, false);
-};
-
-
-/**
- * Check whether FastClick is needed.
- *
- * @param {Element} layer The layer to listen on
- */
-FastClick.notNeeded = function(layer) {
-	'use strict';
-	var metaViewport;
-	var chromeVersion;
-
-	// Devices that don't support touch don't need FastClick
-	if (typeof window.ontouchstart === 'undefined') {
-		return true;
-	}
-
-	// Chrome version - zero for other browsers
-	chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];
-
-	if (chromeVersion) {
-
-		if (FastClick.prototype.deviceIsAndroid) {
-			metaViewport = document.querySelector('meta[name=viewport]');
-			
-			if (metaViewport) {
-				// Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89)
-				if (metaViewport.content.indexOf('user-scalable=no') !== -1) {
-					return true;
-				}
-				// Chrome 32 and above with width=device-width or less don't need FastClick
-				if (chromeVersion > 31 && window.innerWidth <= window.screen.width) {
-					return true;
-				}
-			}
-
-		// Chrome desktop doesn't need FastClick (issue #15)
-		} else {
-			return true;
-		}
-	}
-
-	// IE10 with -ms-touch-action: none, which disables double-tap-to-zoom (issue #97)
-	if (layer.style.msTouchAction === 'none') {
-		return true;
-	}
-
-	return false;
-};
-
-
-/**
- * Factory method for creating a FastClick object
- *
- * @param {Element} layer The layer to listen on
- */
-FastClick.attach = function(layer) {
-	'use strict';
-	return new FastClick(layer);
-};
-
-
-if (typeof define !== 'undefined' && define.amd) {
-
-	// AMD. Register as an anonymous module.
-	define(function() {
-		'use strict';
-		return FastClick;
-	});
-} else if (typeof module !== 'undefined' && module.exports) {
-	module.exports = FastClick.attach;
-	module.exports.FastClick = FastClick;
-} else {
-	window.FastClick = FastClick;
-}
-
-});
-
-require.register("component~indexof@0.0.3", function (exports, module) {
-module.exports = function(arr, obj){
-  if (arr.indexOf) return arr.indexOf(obj);
-  for (var i = 0; i < arr.length; ++i) {
-    if (arr[i] === obj) return i;
-  }
-  return -1;
-};
-});
-
-require.register("component~classes@1.2.1", function (exports, module) {
-/**
- * Module dependencies.
- */
-
-var index = require('component~indexof@0.0.3');
-
-/**
- * Whitespace regexp.
- */
-
-var re = /\s+/;
-
-/**
- * toString reference.
- */
-
-var toString = Object.prototype.toString;
-
-/**
- * Wrap `el` in a `ClassList`.
- *
- * @param {Element} el
- * @return {ClassList}
- * @api public
- */
-
-module.exports = function(el){
-  return new ClassList(el);
-};
-
-/**
- * Initialize a new ClassList for `el`.
- *
- * @param {Element} el
- * @api private
- */
-
-function ClassList(el) {
-  if (!el) throw new Error('A DOM element reference is required');
-  this.el = el;
-  this.list = el.classList;
-}
-
-/**
- * Add class `name` if not already present.
- *
- * @param {String} name
- * @return {ClassList}
- * @api public
- */
-
-ClassList.prototype.add = function(name){
-  // classList
-  if (this.list) {
-    this.list.add(name);
-    return this;
-  }
-
-  // fallback
-  var arr = this.array();
-  var i = index(arr, name);
-  if (!~i) arr.push(name);
-  this.el.className = arr.join(' ');
-  return this;
-};
-
-/**
- * Remove class `name` when present, or
- * pass a regular expression to remove
- * any which match.
- *
- * @param {String|RegExp} name
- * @return {ClassList}
- * @api public
- */
-
-ClassList.prototype.remove = function(name){
-  if ('[object RegExp]' == toString.call(name)) {
-    return this.removeMatching(name);
-  }
-
-  // classList
-  if (this.list) {
-    this.list.remove(name);
-    return this;
-  }
-
-  // fallback
-  var arr = this.array();
-  var i = index(arr, name);
-  if (~i) arr.splice(i, 1);
-  this.el.className = arr.join(' ');
-  return this;
-};
-
-/**
- * Remove all classes matching `re`.
- *
- * @param {RegExp} re
- * @return {ClassList}
- * @api private
- */
-
-ClassList.prototype.removeMatching = function(re){
-  var arr = this.array();
-  for (var i = 0; i < arr.length; i++) {
-    if (re.test(arr[i])) {
-      this.remove(arr[i]);
-    }
-  }
-  return this;
-};
-
-/**
- * Toggle class `name`, can force state via `force`.
- *
- * For browsers that support classList, but do not support `force` yet,
- * the mistake will be detected and corrected.
- *
- * @param {String} name
- * @param {Boolean} force
- * @return {ClassList}
- * @api public
- */
-
-ClassList.prototype.toggle = function(name, force){
-  // classList
-  if (this.list) {
-    if ("undefined" !== typeof force) {
-      if (force !== this.list.toggle(name, force)) {
-        this.list.toggle(name); // toggle again to correct
-      }
-    } else {
-      this.list.toggle(name);
-    }
-    return this;
-  }
-
-  // fallback
-  if ("undefined" !== typeof force) {
-    if (!force) {
-      this.remove(name);
-    } else {
-      this.add(name);
-    }
-  } else {
-    if (this.has(name)) {
-      this.remove(name);
-    } else {
-      this.add(name);
-    }
-  }
-
-  return this;
-};
-
-/**
- * Return an array of classes.
- *
- * @return {Array}
- * @api public
- */
-
-ClassList.prototype.array = function(){
-  var str = this.el.className.replace(/^\s+|\s+$/g, '');
-  var arr = str.split(re);
-  if ('' === arr[0]) arr.shift();
-  return arr;
-};
-
-/**
- * Check if class `name` is present.
- *
- * @param {String} name
- * @return {ClassList}
- * @api public
- */
-
-ClassList.prototype.has =
-ClassList.prototype.contains = function(name){
-  return this.list
-    ? this.list.contains(name)
-    : !! ~index(this.array(), name);
-};
-
-});
-
-require.register("component~event@0.1.4", function (exports, module) {
-var bind = window.addEventListener ? 'addEventListener' : 'attachEvent',
-    unbind = window.removeEventListener ? 'removeEventListener' : 'detachEvent',
-    prefix = bind !== 'addEventListener' ? 'on' : '';
-
-/**
- * Bind `el` event `type` to `fn`.
- *
- * @param {Element} el
- * @param {String} type
- * @param {Function} fn
- * @param {Boolean} capture
- * @return {Function}
- * @api public
- */
-
-exports.bind = function(el, type, fn, capture){
-  el[bind](prefix + type, fn, capture || false);
-  return fn;
-};
-
-/**
- * Unbind `el` event `type`'s callback `fn`.
- *
- * @param {Element} el
- * @param {String} type
- * @param {Function} fn
- * @param {Boolean} capture
- * @return {Function}
- * @api public
- */
-
-exports.unbind = function(el, type, fn, capture){
-  el[unbind](prefix + type, fn, capture || false);
-  return fn;
-};
-});
-
-require.register("component~query@0.0.3", function (exports, module) {
-function one(selector, el) {
-  return el.querySelector(selector);
-}
-
-exports = module.exports = function(selector, el){
-  el = el || document;
-  return one(selector, el);
-};
-
-exports.all = function(selector, el){
-  el = el || document;
-  return el.querySelectorAll(selector);
-};
-
-exports.engine = function(obj){
-  if (!obj.one) throw new Error('.one callback required');
-  if (!obj.all) throw new Error('.all callback required');
-  one = obj.one;
-  exports.all = obj.all;
-  return exports;
-};
-
-});
-
-require.register("component~matches-selector@0.1.5", function (exports, module) {
-/**
- * Module dependencies.
- */
-
-var query = require('component~query@0.0.3');
-
-/**
- * Element prototype.
- */
-
-var proto = Element.prototype;
-
-/**
- * Vendor function.
- */
-
-var vendor = proto.matches
-  || proto.webkitMatchesSelector
-  || proto.mozMatchesSelector
-  || proto.msMatchesSelector
-  || proto.oMatchesSelector;
-
-/**
- * Expose `match()`.
- */
-
-module.exports = match;
-
-/**
- * Match `el` to `selector`.
- *
- * @param {Element} el
- * @param {String} selector
- * @return {Boolean}
- * @api public
- */
-
-function match(el, selector) {
-  if (!el || el.nodeType !== 1) return false;
-  if (vendor) return vendor.call(el, selector);
-  var nodes = query.all(selector, el.parentNode);
-  for (var i = 0; i < nodes.length; ++i) {
-    if (nodes[i] == el) return true;
-  }
-  return false;
-}
-
-});
-
-require.register("component~closest@0.1.4", function (exports, module) {
-var matches = require('component~matches-selector@0.1.5')
-
-module.exports = function (element, selector, checkYoSelf, root) {
-  element = checkYoSelf ? {parentNode: element} : element
-
-  root = root || document
-
-  // Make sure `element !== document` and `element != null`
-  // otherwise we get an illegal invocation
-  while ((element = element.parentNode) && element !== document) {
-    if (matches(element, selector))
-      return element
-    // After `matches` on the edge case that
-    // the selector matches the root
-    // (when the root is not the document)
-    if (element === root)
-      return
-  }
-}
-
-});
-
-require.register("component~delegate@0.2.3", function (exports, module) {
-/**
- * Module dependencies.
- */
-
-var closest = require('component~closest@0.1.4')
-  , event = require('component~event@0.1.4');
-
-/**
- * Delegate event `type` to `selector`
- * and invoke `fn(e)`. A callback function
- * is returned which may be passed to `.unbind()`.
- *
- * @param {Element} el
- * @param {String} selector
- * @param {String} type
- * @param {Function} fn
- * @param {Boolean} capture
- * @return {Function}
- * @api public
- */
-
-exports.bind = function(el, selector, type, fn, capture){
-  return event.bind(el, type, function(e){
-    var target = e.target || e.srcElement;
-    e.delegateTarget = closest(target, selector, true, el);
-    if (e.delegateTarget) fn.call(el, e);
-  }, capture);
-};
-
-/**
- * Unbind event `type`'s callback `fn`.
- *
- * @param {Element} el
- * @param {String} type
- * @param {Function} fn
- * @param {Boolean} capture
- * @api public
- */
-
-exports.unbind = function(el, type, fn, capture){
-  event.unbind(el, type, fn, capture);
-};
-
-});
-
-require.register("component~events@1.0.9", function (exports, module) {
-
-/**
- * Module dependencies.
- */
-
-var events = require('component~event@0.1.4');
-var delegate = require('component~delegate@0.2.3');
-
-/**
- * Expose `Events`.
- */
-
-module.exports = Events;
-
-/**
- * Initialize an `Events` with the given
- * `el` object which events will be bound to,
- * and the `obj` which will receive method calls.
- *
- * @param {Object} el
- * @param {Object} obj
- * @api public
- */
-
-function Events(el, obj) {
-  if (!(this instanceof Events)) return new Events(el, obj);
-  if (!el) throw new Error('element required');
-  if (!obj) throw new Error('object required');
-  this.el = el;
-  this.obj = obj;
-  this._events = {};
-}
-
-/**
- * Subscription helper.
- */
-
-Events.prototype.sub = function(event, method, cb){
-  this._events[event] = this._events[event] || {};
-  this._events[event][method] = cb;
-};
-
-/**
- * Bind to `event` with optional `method` name.
- * When `method` is undefined it becomes `event`
- * with the "on" prefix.
- *
- * Examples:
- *
- *  Direct event handling:
- *
- *    events.bind('click') // implies "onclick"
- *    events.bind('click', 'remove')
- *    events.bind('click', 'sort', 'asc')
- *
- *  Delegated event handling:
- *
- *    events.bind('click li > a')
- *    events.bind('click li > a', 'remove')
- *    events.bind('click a.sort-ascending', 'sort', 'asc')
- *    events.bind('click a.sort-descending', 'sort', 'desc')
- *
- * @param {String} event
- * @param {String|function} [method]
- * @return {Function} callback
- * @api public
- */
-
-Events.prototype.bind = function(event, method){
-  var e = parse(event);
-  var el = this.el;
-  var obj = this.obj;
-  var name = e.name;
-  var method = method || 'on' + name;
-  var args = [].slice.call(arguments, 2);
-
-  // callback
-  function cb(){
-    var a = [].slice.call(arguments).concat(args);
-    obj[method].apply(obj, a);
-  }
-
-  // bind
-  if (e.selector) {
-    cb = delegate.bind(el, e.selector, name, cb);
-  } else {
-    events.bind(el, name, cb);
-  }
-
-  // subscription for unbinding
-  this.sub(name, method, cb);
-
-  return cb;
-};
-
-/**
- * Unbind a single binding, all bindings for `event`,
- * or all bindings within the manager.
- *
- * Examples:
- *
- *  Unbind direct handlers:
- *
- *     events.unbind('click', 'remove')
- *     events.unbind('click')
- *     events.unbind()
- *
- * Unbind delegate handlers:
- *
- *     events.unbind('click', 'remove')
- *     events.unbind('click')
- *     events.unbind()
- *
- * @param {String|Function} [event]
- * @param {String|Function} [method]
- * @api public
- */
-
-Events.prototype.unbind = function(event, method){
-  if (0 == arguments.length) return this.unbindAll();
-  if (1 == arguments.length) return this.unbindAllOf(event);
-
-  // no bindings for this event
-  var bindings = this._events[event];
-  if (!bindings) return;
-
-  // no bindings for this method
-  var cb = bindings[method];
-  if (!cb) return;
-
-  events.unbind(this.el, event, cb);
-};
-
-/**
- * Unbind all events.
- *
- * @api private
- */
-
-Events.prototype.unbindAll = function(){
-  for (var event in this._events) {
-    this.unbindAllOf(event);
-  }
-};
-
-/**
- * Unbind all events for `event`.
- *
- * @param {String} event
- * @api private
- */
-
-Events.prototype.unbindAllOf = function(event){
-  var bindings = this._events[event];
-  if (!bindings) return;
-
-  for (var method in bindings) {
-    this.unbind(event, method);
-  }
-};
-
-/**
- * Parse `event`.
- *
- * @param {String} event
- * @return {Object}
- * @api private
- */
-
-function parse(event) {
-  var parts = event.split(/ +/);
-  return {
-    name: parts.shift(),
-    selector: parts.join(' ')
-  }
-}
-
-});
-
-require.register("switchery", function (exports, module) {
-/**
- * Switchery 0.8.1
- * http://abpetkov.github.io/switchery/
- *
- * Authored by Alexander Petkov
- * https://github.com/abpetkov
- *
- * Copyright 2013-2015, Alexander Petkov
- * License: The MIT License (MIT)
- * http://opensource.org/licenses/MIT
- *
- */
-
-/**
- * External dependencies.
- */
-
-var transitionize = require('abpetkov~transitionize@0.0.3')
-  , fastclick = require('ftlabs~fastclick@v0.6.11')
-  , classes = require('component~classes@1.2.1')
-  , events = require('component~events@1.0.9');
-
-/**
- * Expose `Switchery`.
- */
-
-module.exports = Switchery;
-
-/**
- * Set Switchery default values.
- *
- * @api public
- */
-
-var defaults = {
-    color             : '#64bd63'
-  , secondaryColor    : '#dfdfdf'
-  , jackColor         : '#fff'
-  , jackSecondaryColor: null
-  , className         : 'switchery'
-  , disabled          : false
-  , disabledOpacity   : 0.5
-  , speed             : '0.4s'
-  , size              : 'default'
-};
-
-/**
- * Create Switchery object.
- *
- * @param {Object} element
- * @param {Object} options
- * @api public
- */
-
-function Switchery(element, options) {
-  if (!(this instanceof Switchery)) return new Switchery(element, options);
-
-  this.element = element;
-  this.options = options || {};
-
-  for (var i in defaults) {
-    if (this.options[i] == null) {
-      this.options[i] = defaults[i];
-    }
-  }
-
-  if (this.element != null && this.element.type == 'checkbox') this.init();
-  if (this.isDisabled() === true) this.disable();
-}
-
-/**
- * Hide the target element.
- *
- * @api private
- */
-
-Switchery.prototype.hide = function() {
-  this.element.style.display = 'none';
-};
-
-/**
- * Show custom switch after the target element.
- *
- * @api private
- */
-
-Switchery.prototype.show = function() {
-  var switcher = this.create();
-  this.insertAfter(this.element, switcher);
-};
-
-/**
- * Create custom switch.
- *
- * @returns {Object} this.switcher
- * @api private
- */
-
-Switchery.prototype.create = function() {
-  this.switcher = document.createElement('span');
-  this.jack = document.createElement('small');
-  this.switcher.appendChild(this.jack);
-  this.switcher.className = this.options.className;
-  this.events = events(this.switcher, this);
-
-  return this.switcher;
-};
-
-/**
- * Insert after element after another element.
- *
- * @param {Object} reference
- * @param {Object} target
- * @api private
- */
-
-Switchery.prototype.insertAfter = function(reference, target) {
-  reference.parentNode.insertBefore(target, reference.nextSibling);
-};
-
-/**
- * Set switch jack proper position.
- *
- * @param {Boolean} clicked - we need this in order to uncheck the input when the switch is clicked
- * @api private
- */
-
-Switchery.prototype.setPosition = function (clicked) {
-  var checked = this.isChecked()
-    , switcher = this.switcher
-    , jack = this.jack;
-
-  if (clicked && checked) checked = false;
-  else if (clicked && !checked) checked = true;
-
-  if (checked === true) {
-    this.element.checked = true;
-
-    if (window.getComputedStyle) jack.style.left = parseInt(window.getComputedStyle(switcher).width) - parseInt(window.getComputedStyle(jack).width) + 'px';
-    else jack.style.left = parseInt(switcher.currentStyle['width']) - parseInt(jack.currentStyle['width']) + 'px';
-
-    if (this.options.color) this.colorize();
-    this.setSpeed();
-  } else {
-    jack.style.left = 0;
-    this.element.checked = false;
-    this.switcher.style.boxShadow = 'inset 0 0 0 0 ' + this.options.secondaryColor;
-    this.switcher.style.borderColor = this.options.secondaryColor;
-    this.switcher.style.backgroundColor = (this.options.secondaryColor !== defaults.secondaryColor) ? this.options.secondaryColor : '#fff';
-    this.jack.style.backgroundColor = (this.options.jackSecondaryColor !== this.options.jackColor) ? this.options.jackSecondaryColor : this.options.jackColor;
-    this.setSpeed();
-  }
-};
-
-/**
- * Set speed.
- *
- * @api private
- */
-
-Switchery.prototype.setSpeed = function() {
-  var switcherProp = {}
-    , jackProp = {
-        'background-color': this.options.speed
-      , 'left': this.options.speed.replace(/[a-z]/, '') / 2 + 's'
-    };
-
-  if (this.isChecked()) {
-    switcherProp = {
-        'border': this.options.speed
-      , 'box-shadow': this.options.speed
-      , 'background-color': this.options.speed.replace(/[a-z]/, '') * 3 + 's'
-    };
-  } else {
-    switcherProp = {
-        'border': this.options.speed
-      , 'box-shadow': this.options.speed
-    };
-  }
-
-  transitionize(this.switcher, switcherProp);
-  transitionize(this.jack, jackProp);
-};
-
-/**
- * Set switch size.
- *
- * @api private
- */
-
-Switchery.prototype.setSize = function() {
-  var small = 'switchery-small',
-   normal = 'switchery-default',
-   large = 'switchery-large';
-
-  switch (this.options.size) {
-    case 'small':
-      classes(this.switcher).add(small);
-      break;
-    case 'large':
-      classes(this.switcher).add(large);
-      break;
-    default:
-      classes(this.switcher).add(normal);
-      break;
-  }
-};
-
-/**
- * Set switch color.
- *
- * @api private
- */
-
-Switchery.prototype.colorize = function() {
-  var switcherHeight = this.switcher.offsetHeight / 2;
-
-  this.switcher.style.backgroundColor = this.options.color;
-  this.switcher.style.borderColor = this.options.color;
-  this.switcher.style.boxShadow = 'inset 0 0 0 ' + switcherHeight + 'px ' + this.options.color;
-  this.jack.style.backgroundColor = this.options.jackColor;
-};
-
-/**
- * Handle the onchange event.
- *
- * @param {Boolean} state
- * @api private
- */
-
-Switchery.prototype.handleOnchange = function(state) {
-  if (document.dispatchEvent) {
-    var event = document.createEvent('HTMLEvents');
-    event.initEvent('change', true, true);
-    this.element.dispatchEvent(event);
-  } else {
-    this.element.fireEvent('onchange');
-  }
-};
-
-/**
- * Handle the native input element state change.
- * A `change` event must be fired in order to detect the change.
- *
- * @api private
- */
-
-Switchery.prototype.handleChange = function() {
-  var self = this
-    , el = this.element;
-
-  if (el.addEventListener) {
-    el.addEventListener('change', function() {
-      self.setPosition();
-    });
-  } else {
-    el.attachEvent('onchange', function() {
-      self.setPosition();
-    });
-  }
-};
-
-/**
- * Handle the switch click event.
- *
- * @api private
- */
-
-Switchery.prototype.handleClick = function() {
-  var switcher = this.switcher;
-
-  fastclick(switcher);
-  this.events.bind('click', 'bindClick');
-};
-
-/**
- * Attach all methods that need to happen on switcher click.
- *
- * @api private
- */
-
-Switchery.prototype.bindClick = function() {
-  var parent = this.element.parentNode.tagName.toLowerCase()
-    , labelParent = (parent === 'label') ? false : true;
-
-  this.setPosition(labelParent);
-  this.handleOnchange(this.element.checked);
-};
-
-/**
- * Mark an individual switch as already handled.
- *
- * @api private
- */
-
-Switchery.prototype.markAsSwitched = function() {
-  this.element.setAttribute('data-switchery', true);
-};
-
-/**
- * Check if an individual switch is already handled.
- *
- * @api private
- */
-
-Switchery.prototype.markedAsSwitched = function() {
-  return this.element.getAttribute('data-switchery');
-};
-
-/**
- * Initialize Switchery.
- *
- * @api private
- */
-
-Switchery.prototype.init = function() {
-  this.hide();
-  this.show();
-  this.setSize();
-  this.setPosition();
-  this.markAsSwitched();
-  this.handleChange();
-  this.handleClick();
-};
-
-/**
- * See if input is checked.
- *
- * @returns {Boolean}
- * @api public
- */
-
-Switchery.prototype.isChecked = function() {
-  return this.element.checked;
-};
-
-/**
- * See if switcher should be disabled.
- *
- * @returns {Boolean}
- * @api public
- */
-
-Switchery.prototype.isDisabled = function() {
-  return this.options.disabled || this.element.disabled || this.element.readOnly;
-};
-
-/**
- * Destroy all event handlers attached to the switch.
- *
- * @api public
- */
-
-Switchery.prototype.destroy = function() {
-  this.events.unbind();
-};
-
-/**
- * Enable disabled switch element.
- *
- * @api public
- */
-
-Switchery.prototype.enable = function() {
-  if (this.options.disabled) this.options.disabled = false;
-  if (this.element.disabled) this.element.disabled = false;
-  if (this.element.readOnly) this.element.readOnly = false;
-  this.switcher.style.opacity = 1;
-  this.events.bind('click', 'bindClick');
-};
-
-/**
- * Disable switch element.
- *
- * @api public
- */
-
-Switchery.prototype.disable = function() {
-  if (!this.options.disabled) this.options.disabled = true;
-  if (!this.element.disabled) this.element.disabled = true;
-  if (!this.element.readOnly) this.element.readOnly = true;
-  this.switcher.style.opacity = this.options.disabledOpacity;
-  this.destroy();
-};
-
-});
-
-if (typeof exports == "object") {
-  module.exports = require("switchery");
-} else if (typeof define == "function" && define.amd) {
-  define("Switchery", [], function(){ return require("switchery"); });
-} else {
-  (this || window)["Switchery"] = require("switchery");
-}
-})()

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
resources/assets/vendors/js/forms/toggle/switchery.min.js


+ 0 - 1217
resources/assets/vendors/js/forms/validation/jqBootstrapValidation.js

@@ -1,1217 +0,0 @@
-/*! jqBootstrapValidation - v1.3.7 - 2013-05-07
-* http://reactiveraven.github.com/jqBootstrapValidation
-* Copyright (c) 2013 David Godfrey; Licensed MIT */
-
-(function ($) {
-
-    var createdElements = [];
-
-    var defaults = {
-        options: {
-            prependExistingHelpBlock: false,
-            sniffHtml: true, // sniff for 'required', 'maxlength', etc
-            preventSubmit: true, // stop the form submit event from firing if validation fails
-            submitError: false, // function called if there is an error when trying to submit
-            submitSuccess: false, // function called just before a successful submit event is sent to the server
-            semanticallyStrict: false, // set to true to tidy up generated HTML output
-            removeSuccess : true,
-            bindEvents: [],
-            autoAdd: {
-                helpBlocks: true
-            },
-            filter: function () {
-                // return $(this).is(":visible"); // only validate elements you can see
-                return true; // validate everything
-            }
-        },
-        methods: {
-            init: function (options) {
-
-                // Get a clean copy of the defaults for extending
-                var settings = $.extend(true, {}, defaults);
-                // Set up the options based on the input
-                settings.options = $.extend(true, settings.options, options);
-
-                var $siblingElements = this;
-
-                var uniqueForms = $.unique(
-                    $siblingElements.map(function () {
-                        return $(this).parents("form")[0];
-                    }).toArray()
-                );
-
-                $(uniqueForms).bind("submit.validationSubmit", function (e) {
-                    var $form = $(this);
-                    var warningsFound = 0;
-                    // Get all inputs
-                    var $allInputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
-                    var $allControlGroups = $form.find(".form-group");
-
-                    // Only trigger validation on the ones that actually _have_ validation
-                    var $inputsWithValidators = $allInputs.filter(function () {
-                        return $(this).triggerHandler("getValidatorCount.validation") > 0;
-                    });
-                    $inputsWithValidators.trigger("submit.validation");
-
-                    // But all of them are out-of-focus now, because we're submitting.
-                    $allInputs.trigger("validationLostFocus.validation");
-
-                    // Okay, now check each controlgroup for errors (or warnings)
-                    $allControlGroups.each(function (i, el) {
-                        var $controlGroup = $(el);
-                        if ($controlGroup.hasClass("issue") || $controlGroup.hasClass("error")) {
-                            $controlGroup.removeClass("issue").addClass("error");
-                            warningsFound++;
-                        }
-                    });
-
-                    if (warningsFound) {
-                        // If we found any warnings, maybe we should prevent the submit
-                        // event, and trigger 'submitError' (if they're set up)
-                        if (settings.options.preventSubmit) {
-                            e.preventDefault();
-                            e.stopImmediatePropagation();
-                        }
-                        $form.addClass("error");
-                        if ($.isFunction(settings.options.submitError)) {
-                            settings.options.submitError($form, e, $inputsWithValidators.jqBootstrapValidation("collectErrors", true));
-                        }
-                    } else {
-                        // Woo! No errors! We can pass the submit event to submitSuccess
-                        // (if it has been set up)
-                        $form.removeClass("error");
-                        if ($.isFunction(settings.options.submitSuccess)) {
-                            settings.options.submitSuccess($form, e);
-                        }
-                    }
-                });
-
-                return this.each(function () {
-
-                    // Get references to everything we're interested in
-                    var $this = $(this),
-                        $controlGroup = $this.parents(".form-group").first(),
-                        $helpBlock = $controlGroup.find(".help-block").first(),
-                        $form = $this.parents("form").first(),
-                        validatorNames = [];
-
-                    // create message container if not exists
-                    if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {
-                        $helpBlock = $('<div class="help-block" />');
-                        $controlGroup.find('.controls').append($helpBlock);
-                        createdElements.push($helpBlock[0]);
-                    }
-
-                    // =============================================================
-                    //                                     SNIFF HTML FOR VALIDATORS
-                    // =============================================================
-
-                    // *snort sniff snuffle*
-
-                    if (settings.options.sniffHtml) {
-                        var message;
-                        // ---------------------------------------------------------
-                        //                                                   PATTERN
-                        // ---------------------------------------------------------
-                        if ($this.data("validationPatternPattern")) {
-                            $this.attr("pattern", $this.data("validationPatternPattern"));
-                        }
-                        if ($this.attr("pattern") !== undefined) {
-                            message = "Not in the expected format<!-- data-validation-pattern-message to override -->";
-                            if ($this.data("validationPatternMessage")) {
-                                message = $this.data("validationPatternMessage");
-                            }
-                            $this.data("validationPatternMessage", message);
-                            $this.data("validationPatternRegex", $this.attr("pattern"));
-                        }
-                        // ---------------------------------------------------------
-                        //                                                       MAX
-                        // ---------------------------------------------------------
-                        if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) {
-                            var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax"));
-                            message = "Too high: Maximum of '" + max + "'<!-- data-validation-max-message to override -->";
-                            if ($this.data("validationMaxMessage")) {
-                                message = $this.data("validationMaxMessage");
-                            }
-                            $this.data("validationMaxMessage", message);
-                            $this.data("validationMaxMax", max);
-                        }
-                        // ---------------------------------------------------------
-                        //                                                       MIN
-                        // ---------------------------------------------------------
-                        if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) {
-                            var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin"));
-                            message = "Too low: Minimum of '" + min + "'<!-- data-validation-min-message to override -->";
-                            if ($this.data("validationMinMessage")) {
-                                message = $this.data("validationMinMessage");
-                            }
-                            $this.data("validationMinMessage", message);
-                            $this.data("validationMinMin", min);
-                        }
-                        // ---------------------------------------------------------
-                        //                                                 MAXLENGTH
-                        // ---------------------------------------------------------
-                        if ($this.attr("maxlength") !== undefined) {
-                            message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters<!-- data-validation-maxlength-message to override -->";
-                            if ($this.data("validationMaxlengthMessage")) {
-                                message = $this.data("validationMaxlengthMessage");
-                            }
-                            $this.data("validationMaxlengthMessage", message);
-                            $this.data("validationMaxlengthMaxlength", $this.attr("maxlength"));
-                        }
-                        // ---------------------------------------------------------
-                        //                                                 MINLENGTH
-                        // ---------------------------------------------------------
-                        if ($this.attr("minlength") !== undefined) {
-                            message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters<!-- data-validation-minlength-message to override -->";
-                            if ($this.data("validationMinlengthMessage")) {
-                                message = $this.data("validationMinlengthMessage");
-                            }
-                            $this.data("validationMinlengthMessage", message);
-                            $this.data("validationMinlengthMinlength", $this.attr("minlength"));
-                        }
-                        // ---------------------------------------------------------
-                        //                                                  REQUIRED
-                        // ---------------------------------------------------------
-                        if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) {
-                            message = settings.builtInValidators.required.message;
-                            if ($this.data("validationRequiredMessage")) {
-                                message = $this.data("validationRequiredMessage");
-                            }
-                            $this.data("validationRequiredMessage", message);
-                        }
-                        // ---------------------------------------------------------
-                        //                                                    NUMBER
-                        // ---------------------------------------------------------
-                        if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") {
-                            message = settings.validatorTypes.number.message; // TODO: fix this
-                            if ($this.data("validationNumberMessage")) {
-                                message = $this.data("validationNumberMessage");
-                            }
-                            $this.data("validationNumberMessage", message);
-
-                            var step = settings.validatorTypes.number.step; // TODO: and this
-                            if ($this.data("validationNumberStep")) {
-                                step = $this.data("validationNumberStep");
-                            }
-                            $this.data("validationNumberStep", step);
-
-                            var decimal = settings.validatorTypes.number.decimal;
-                            if ($this.data("validationNumberDecimal")) {
-                                decimal = $this.data("validationNumberDecimal");
-                            }
-                            $this.data("validationNumberDecimal", decimal);
-                        }
-                        // ---------------------------------------------------------
-                        //                                                     EMAIL
-                        // ---------------------------------------------------------
-                        if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") {
-                            message = "Not a valid email address<!-- data-validation-email-message to override -->";
-                            if ($this.data("validationEmailMessage")) {
-                                message = $this.data("validationEmailMessage");
-                            }
-                            $this.data("validationEmailMessage", message);
-                        }
-                        // ---------------------------------------------------------
-                        //                                                MINCHECKED
-                        // ---------------------------------------------------------
-                        if ($this.attr("minchecked") !== undefined) {
-                            message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required<!-- data-validation-minchecked-message to override -->";
-                            if ($this.data("validationMincheckedMessage")) {
-                                message = $this.data("validationMincheckedMessage");
-                            }
-                            $this.data("validationMincheckedMessage", message);
-                            $this.data("validationMincheckedMinchecked", $this.attr("minchecked"));
-                        }
-                        // ---------------------------------------------------------
-                        //                                                MAXCHECKED
-                        // ---------------------------------------------------------
-                        if ($this.attr("maxchecked") !== undefined) {
-                            message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required<!-- data-validation-maxchecked-message to override -->";
-                            if ($this.data("validationMaxcheckedMessage")) {
-                                message = $this.data("validationMaxcheckedMessage");
-                            }
-                            $this.data("validationMaxcheckedMessage", message);
-                            $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked"));
-                        }
-                    }
-
-                    // =============================================================
-                    //                                       COLLECT VALIDATOR NAMES
-                    // =============================================================
-
-                    // Get named validators
-                    if ($this.data("validation") !== undefined) {
-                        validatorNames = $this.data("validation").split(",");
-                    }
-
-                    // Get extra ones defined on the element's data attributes
-                    $.each($this.data(), function (i, el) {
-                        var parts = i.replace(/([A-Z])/g, ",$1").split(",");
-                        if (parts[0] === "validation" && parts[1]) {
-                            validatorNames.push(parts[1]);
-                        }
-                    });
-
-                    // =============================================================
-                    //                                     NORMALISE VALIDATOR NAMES
-                    // =============================================================
-
-                    var validatorNamesToInspect = validatorNames;
-                    var newValidatorNamesToInspect = [];
-
-                    var uppercaseEachValidatorName = function (i, el) {
-                        validatorNames[i] = formatValidatorName(el);
-                    };
-
-                    var inspectValidators = function (i, el) {
-                        if ($this.data("validation" + el + "Shortcut") !== undefined) {
-                            // Are these custom validators?
-                            // Pull them out!
-                            $.each($this.data("validation" + el + "Shortcut").split(","), function (i2, el2) {
-                                newValidatorNamesToInspect.push(el2);
-                            });
-                        } else if (settings.builtInValidators[el.toLowerCase()]) {
-                            // Is this a recognised built-in?
-                            // Pull it out!
-                            var validator = settings.builtInValidators[el.toLowerCase()];
-                            if (validator.type.toLowerCase() === "shortcut") {
-                                $.each(validator.shortcut.split(","), function (i, el) {
-                                    el = formatValidatorName(el);
-                                    newValidatorNamesToInspect.push(el);
-                                    validatorNames.push(el);
-                                });
-                            }
-                        }
-                    };
-
-                    do // repeatedly expand 'shortcut' validators into their real validators
-                    {
-                        // Uppercase only the first letter of each name
-                        $.each(validatorNames, uppercaseEachValidatorName);
-
-                        // Remove duplicate validator names
-                        validatorNames = $.unique(validatorNames);
-
-                        // Pull out the new validator names from each shortcut
-                        newValidatorNamesToInspect = [];
-                        $.each(validatorNamesToInspect, inspectValidators);
-
-                        validatorNamesToInspect = newValidatorNamesToInspect;
-
-                    } while (validatorNamesToInspect.length > 0);
-
-                    // =============================================================
-                    //                                       SET UP VALIDATOR ARRAYS
-                    // =============================================================
-
-                    /* We're gonna generate something like
-                     *
-                     * {
-                     *   "regex": [
-                     *     { -- a validator object here --},
-                     *     { -- a validator object here --}
-                     *   ],
-                     *   "required": [
-                     *     { -- a validator object here --},
-                     *     { -- a validator object here --}
-                     *   ]
-                     * }
-                     *
-                     * with a few more entries.
-                     *
-                     * Because we only add a few validators to each field, most of the
-                     * keys will be empty arrays with no validator objects in them, and
-                     * thats fine.
-                     */
-
-                    var validators = {};
-
-                    $.each(validatorNames, function (i, el) {
-                        // Set up the 'override' message
-                        var message = $this.data("validation" + el + "Message");
-                        var hasOverrideMessage = !!message;
-                        var foundValidator = false;
-                        if (!message) {
-                            message = "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->";
-                        }
-
-                        $.each(
-                            settings.validatorTypes,
-                            function (validatorType, validatorTemplate) {
-                                if (validators[validatorType] === undefined) {
-                                    validators[validatorType] = [];
-                                }
-                                if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
-                                    var initted = validatorTemplate.init($this, el);
-                                    if (hasOverrideMessage) {
-                                        initted.message = message;
-                                    }
-
-                                    validators[validatorType].push(
-                                        $.extend(
-                                            true,
-                                            {
-                                                name: formatValidatorName(validatorTemplate.name),
-                                                message: message
-                                            },
-                                            initted
-                                        )
-                                    );
-                                    foundValidator = true;
-                                }
-                            }
-                        );
-
-                        if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) {
-
-                            var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]);
-                            if (hasOverrideMessage) {
-                                validator.message = message;
-                            }
-                            var validatorType = validator.type.toLowerCase();
-
-                            if (validatorType === "shortcut") {
-                                foundValidator = true;
-                            } else {
-                                $.each(
-                                    settings.validatorTypes,
-                                    function (validatorTemplateType, validatorTemplate) {
-                                        if (validators[validatorTemplateType] === undefined) {
-                                            validators[validatorTemplateType] = [];
-                                        }
-                                        if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) {
-                                            $this.data(
-                                                "validation" + el + formatValidatorName(validatorTemplate.name),
-                                                validator[validatorTemplate.name.toLowerCase()]
-                                            );
-                                            validators[validatorType].push(
-                                                $.extend(
-                                                    validator,
-                                                    validatorTemplate.init($this, el)
-                                                )
-                                            );
-                                            foundValidator = true;
-                                        }
-                                    }
-                                );
-                            }
-                        }
-
-                        if (!foundValidator) {
-                            $.error("Cannot find validation info for '" + el + "'");
-                        }
-                    });
-
-                    // =============================================================
-                    //                                         STORE FALLBACK VALUES
-                    // =============================================================
-
-                    $helpBlock.data(
-                        "original-contents",
-                        (
-                            $helpBlock.data("original-contents") ?
-                                $helpBlock.data("original-contents") :
-                                $helpBlock.html()
-                            )
-                    );
-
-                    $helpBlock.data(
-                        "original-role",
-                        (
-                            $helpBlock.data("original-role") ?
-                                $helpBlock.data("original-role") :
-                                $helpBlock.attr("role")
-                            )
-                    );
-
-                    $controlGroup.data(
-                        "original-classes",
-                        (
-                            $controlGroup.data("original-clases") ?
-                                $controlGroup.data("original-classes") :
-                                $controlGroup.attr("class")
-                            )
-                    );
-
-                    $this.data(
-                        "original-aria-invalid",
-                        (
-                            $this.data("original-aria-invalid") ?
-                                $this.data("original-aria-invalid") :
-                                $this.attr("aria-invalid")
-                            )
-                    );
-
-                    // =============================================================
-                    //                                                    VALIDATION
-                    // =============================================================
-
-                    $this.bind(
-                        "validation.validation",
-                        function (event, params) {
-
-                            var value = getValue($this);
-
-                            // Get a list of the errors to apply
-                            var errorsFound = [];
-
-                            $.each(validators, function (validatorType, validatorTypeArray) {
-                                if (
-                                    value || // has a truthy value
-                                        value.length || // not an empty string
-                                        ( // am including empty values
-                                            (
-                                                params &&
-                                                    params.includeEmpty
-                                                ) || !!settings.validatorTypes[validatorType].includeEmpty
-                                            ) ||
-                                        ( // validator is blocking submit
-                                            !!settings.validatorTypes[validatorType].blockSubmit &&
-                                                params && !!params.submitting
-                                            )
-                                    ) {
-                                    $.each(
-                                        validatorTypeArray,
-                                        function (i, validator) {
-                                            if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
-                                                errorsFound.push(validator.message);
-                                            }
-                                        }
-                                    );
-                                }
-                            });
-
-                            return errorsFound;
-                        }
-                    );
-
-                    $this.bind(
-                        "getValidators.validation",
-                        function () {
-                            return validators;
-                        }
-                    );
-
-                    var numValidators = 0;
-
-                    $.each(validators, function (i, el) {
-                        numValidators += el.length;
-                    });
-
-                    $this.bind("getValidatorCount.validation", function () {
-                        return numValidators;
-                    });
-
-                    // =============================================================
-                    //                                             WATCH FOR CHANGES
-                    // =============================================================
-                    $this.bind(
-                        "submit.validation",
-                        function () {
-                            return $this.triggerHandler("change.validation", {submitting: true});
-                        }
-                    );
-                    $this.bind(
-                        (
-                            settings.options.bindEvents.length > 0 ?
-                                settings.options.bindEvents :
-                                [
-                                    "keyup",
-                                    "focus",
-                                    "blur",
-                                    "click",
-                                    "keydown",
-                                    "keypress",
-                                    "change"
-                                ]
-                            ).concat(["revalidate"]).join(".validation ") + ".validation",
-                        function (e, params) {
-
-                            var value = getValue($this);
-
-                            var errorsFound = [];
-
-                            if (params && !!params.submitting) {
-                                $controlGroup.data("jqbvIsSubmitting", true);
-                            } else if (e.type !== "revalidate") {
-                                $controlGroup.data("jqbvIsSubmitting", false);
-                            }
-
-                            var formIsSubmitting = !!$controlGroup.data("jqbvIsSubmitting");
-
-                            $controlGroup.find("input,textarea,select").not('[type=submit]').each(function (i, el) {
-                                var oldCount = errorsFound.length;
-                                $.each($(el).triggerHandler("validation.validation", params) || [], function (j, message) {
-                                    errorsFound.push(message);
-                                });
-                                if (errorsFound.length > oldCount) {
-                                    $(el).attr("aria-invalid", "true");
-                                } else {
-                                    var original = $this.data("original-aria-invalid");
-                                    $(el).attr("aria-invalid", (original !== undefined ? original : false));
-                                }
-                            });
-
-                            $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation");
-
-                            errorsFound = $.unique(errorsFound.sort());
-
-                            // Were there any errors?
-                            if (errorsFound.length) {
-                                // Better flag it up as a warning.
-                                $controlGroup.removeClass("validate error issue").addClass(formIsSubmitting ? "error" : "issue");
-
-                                // How many errors did we find?
-                                if (settings.options.semanticallyStrict && errorsFound.length === 1) {
-                                    // Only one? Being strict? Just output it.
-                                    $helpBlock.html(errorsFound[0] +
-                                        ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
-                                } else {
-                                    // Multiple? Being sloppy? Glue them together into an UL.
-                                    $helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +
-                                        ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
-                                }
-                            } else {
-                                $controlGroup.removeClass("issue error validate");
-                                if (value.length > 0) {
-                                    $controlGroup.addClass("validate");
-                                }
-                                $helpBlock.html($helpBlock.data("original-contents"));
-                            }
-
-                            if (e.type === "blur") {
-                                if( settings.options.removeSuccess ){
-                                    // $controlGroup.removeClass("validate");
-                                }
-                            }
-                        }
-                    );
-                    $this.bind("validationLostFocus.validation", function () {
-                        if( settings.options.removeSuccess ){
-                            // $controlGroup.removeClass("validate");
-                        }
-                    });
-                });
-            },
-            destroy: function () {
-
-                return this.each(
-                    function () {
-
-                        var
-                            $this = $(this),
-                            $controlGroup = $this.parents(".form-group").first(),
-                            $helpBlock = $controlGroup.find(".help-block").first(),
-                            $form = $this.parents("form").first();
-
-                        // remove our events
-                        $this.unbind('.validation'); // events are namespaced.
-                        $form.unbind(".validationSubmit");
-                        // reset help text
-                        $helpBlock.html($helpBlock.data("original-contents"));
-                        // reset classes
-                        $controlGroup.attr("class", $controlGroup.data("original-classes"));
-                        // reset aria
-                        $this.attr("aria-invalid", $this.data("original-aria-invalid"));
-                        // reset role
-                        $helpBlock.attr("role", $this.data("original-role"));
-                        // remove all elements we created
-                        if ($.inArray($helpBlock[0], createdElements) > -1) {
-                            $helpBlock.remove();
-                        }
-
-                    }
-                );
-
-            },
-            collectErrors: function (includeEmpty) {
-
-                var errorMessages = {};
-                this.each(function (i, el) {
-                    var $el = $(el);
-                    var name = $el.attr("name");
-                    var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});
-                    errorMessages[name] = $.extend(true, errors, errorMessages[name]);
-                });
-
-                $.each(errorMessages, function (i, el) {
-                    if (el.length === 0) {
-                        delete errorMessages[i];
-                    }
-                });
-
-                return errorMessages;
-
-            },
-            hasErrors: function () {
-
-                var errorMessages = [];
-
-                this.find('input,select,textarea').add(this).each(function (i, el) {
-                    errorMessages = errorMessages.concat(
-                        $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []
-                    );
-                });
-
-                return (errorMessages.length > 0);
-            },
-            override: function (newDefaults) {
-                defaults = $.extend(true, defaults, newDefaults);
-            }
-        },
-        validatorTypes: {
-            callback: {
-                name: "callback",
-                init: function ($this, name) {
-                    var result = {
-                        validatorName: name,
-                        callback: $this.data("validation" + name + "Callback"),
-                        lastValue: $this.val(),
-                        lastValid: true,
-                        lastFinished: true
-                    };
-
-                    var message = "Not valid";
-                    if ($this.data("validation" + name + "Message")) {
-                        message = $this.data("validation" + name + "Message");
-                    }
-                    result.message = message;
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    if (validator.lastValue === value && validator.lastFinished) {
-                        return !validator.lastValid;
-                    }
-
-                    if (validator.lastFinished === true) {
-                        validator.lastValue = value;
-                        validator.lastValid = true;
-                        validator.lastFinished = false;
-
-                        var rrjqbvValidator = validator;
-                        var rrjqbvThis = $this;
-                        executeFunctionByName(
-                            validator.callback,
-                            window,
-                            $this,
-                            value,
-                            function (data) {
-                                if (rrjqbvValidator.lastValue === data.value) {
-                                    rrjqbvValidator.lastValid = data.valid;
-                                    if (data.message) {
-                                        rrjqbvValidator.message = data.message;
-                                    }
-                                    rrjqbvValidator.lastFinished = true;
-                                    rrjqbvThis.data(
-                                        "validation" + rrjqbvValidator.validatorName + "Message",
-                                        rrjqbvValidator.message
-                                    );
-
-                                    // Timeout is set to avoid problems with the events being considered 'already fired'
-                                    setTimeout(function () {
-                                        if (!$this.is(":focus") && $this.parents("form").first().data("jqbvIsSubmitting")) {
-                                            rrjqbvThis.trigger("blur.validation");
-                                        } else {
-                                            rrjqbvThis.trigger("revalidate.validation");
-                                        }
-                                    }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
-                                }
-                            }
-                        );
-                    }
-
-                    return false;
-
-                }
-            },
-            ajax: {
-                name: "ajax",
-                init: function ($this, name) {
-                    return {
-                        validatorName: name,
-                        url: $this.data("validation" + name + "Ajax"),
-                        lastValue: $this.val(),
-                        lastValid: true,
-                        lastFinished: true
-                    };
-                },
-                validate: function ($this, value, validator) {
-                    if ("" + validator.lastValue === "" + value && validator.lastFinished === true) {
-                        return validator.lastValid === false;
-                    }
-
-                    if (validator.lastFinished === true) {
-                        validator.lastValue = value;
-                        validator.lastValid = true;
-                        validator.lastFinished = false;
-                        $.ajax({
-                            url: validator.url,
-                            data: "value=" + encodeURIComponent(value) + "&field=" + $this.attr("name"),
-                            dataType: "json",
-                            success : function (data) {
-                                if ("" + validator.lastValue === "" + data.value) {
-                                    validator.lastValid = !!(data.valid);
-                                    if (data.message) {
-                                        validator.message = data.message;
-                                    }
-                                    validator.lastFinished = true;
-                                    $this.data("validation" + validator.validatorName + "Message", validator.message);
-                                    // Timeout is set to avoid problems with the events being considered 'already fired'
-                                    setTimeout(function () {
-                                        $this.trigger("revalidate.validation");
-                                    }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
-                                }
-                            },
-                            failure: function () {
-                                validator.lastValid = true;
-                                validator.message = "ajax call failed";
-                                validator.lastFinished = true;
-                                $this.data("validation" + validator.validatorName + "Message", validator.message);
-                                // Timeout is set to avoid problems with the events being considered 'already fired'
-                                setTimeout(function () {
-                                    $this.trigger("revalidate.validation");
-                                }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
-                            }
-                        });
-                    }
-
-                    return false;
-
-                }
-            },
-            regex: {
-                name: "regex",
-                init: function ($this, name) {
-                    var result = {};
-                    var regexString = $this.data("validation" + name + "Regex");
-                    result.regex = regexFromString(regexString);
-                    if (regexString === undefined) {
-                        $.error("Can't find regex for '" + name + "' validator on '" + $this.attr("name") + "'");
-                    }
-
-                    var message = "Not in the expected format";
-                    if ($this.data("validation" + name + "Message")) {
-                        message = $this.data("validation" + name + "Message");
-                    }
-
-                    result.message = message;
-
-                    result.originalName = name;
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return (!validator.regex.test(value) && !validator.negative) ||
-                        (validator.regex.test(value) && validator.negative);
-                }
-            },
-            email: {
-                name: "email",
-                init: function ($this, name) {
-                    var result = {};
-                    result.regex = regexFromString('[a-zA-Z0-9.!#$%&\u2019*+/=?^_`{|}~-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}');
-
-                    var message = "Not a valid email address";
-                    if ($this.data("validation" + name + "Message")) {
-                        message = $this.data("validation" + name + "Message");
-                    }
-
-                    result.message = message;
-
-                    result.originalName = name;
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return (!validator.regex.test(value) && !validator.negative) ||
-                        (validator.regex.test(value) && validator.negative);
-                }
-            },
-            required: {
-                name: "required",
-                init: function ($this, name) {
-                    var message = "This is required";
-                    if ($this.data("validation" + name + "Message")) {
-                        message = $this.data("validation" + name + "Message");
-                    }
-
-                    return {message: message, includeEmpty: true};
-                },
-                validate: function ($this, value, validator) {
-                    return !!(
-                        (value.length === 0 && !validator.negative) ||
-                            (value.length > 0 && validator.negative)
-                        );
-                },
-                blockSubmit: true
-            },
-            match: {
-                name: "match",
-                init: function ($this, name) {
-                    var elementName = $this.data("validation" + name + "Match");
-                    var $form = $this.parents("form").first();
-                    var $element = $form.find("[name=\"" + elementName + "\"]").first();
-                    $element.bind("validation.validation", function () {
-                        $this.trigger("revalidate.validation", {submitting: true});
-                    });
-                    var result = {};
-                    result.element = $element;
-
-                    if ($element.length === 0) {
-                        $.error("Can't find field '" + elementName + "' to match '" + $this.attr("name") + "' against in '" + name + "' validator");
-                    }
-
-                    var message = "Must match";
-                    var $label = null;
-                    if (($label = $form.find("label[for=\"" + elementName + "\"]")).length) {
-                        message += " '" + $label.text() + "'";
-                    } else if (($label = $element.parents(".form-group").first().find("label")).length) {
-                        message += " '" + $label.first().text() + "'";
-                    }
-
-                    if ($this.data("validation" + name + "Message")) {
-                        message = $this.data("validation" + name + "Message");
-                    }
-
-                    result.message = message;
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return (value !== validator.element.val() && !validator.negative) ||
-                        (value === validator.element.val() && validator.negative);
-                },
-                blockSubmit: true,
-                includeEmpty: true
-            },
-            max: {
-                name: "max",
-                init: function ($this, name) {
-                    var result = {};
-
-                    result.max = $this.data("validation" + name + "Max");
-
-                    result.message = "Too high: Maximum of '" + result.max + "'";
-                    if ($this.data("validation" + name + "Message")) {
-                        result.message = $this.data("validation" + name + "Message");
-                    }
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return (parseFloat(value, 10) > parseFloat(validator.max, 10) && !validator.negative) ||
-                        (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);
-                }
-            },
-            min: {
-                name: "min",
-                init: function ($this, name) {
-                    var result = {};
-
-                    result.min = $this.data("validation" + name + "Min");
-
-                    result.message = "Too low: Minimum of '" + result.min + "'";
-                    if ($this.data("validation" + name + "Message")) {
-                        result.message = $this.data("validation" + name + "Message");
-                    }
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return (parseFloat(value) < parseFloat(validator.min) && !validator.negative) ||
-                        (parseFloat(value) >= parseFloat(validator.min) && validator.negative);
-                }
-            },
-            maxlength: {
-                name: "maxlength",
-                init: function ($this, name) {
-                    var result = {};
-
-                    result.maxlength = $this.data("validation" + name + "Maxlength");
-
-                    result.message = "Too long: Maximum of '" + result.maxlength + "' characters";
-                    if ($this.data("validation" + name + "Message")) {
-                        result.message = $this.data("validation" + name + "Message");
-                    }
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return ((value.length > validator.maxlength) && !validator.negative) ||
-                        ((value.length <= validator.maxlength) && validator.negative);
-                }
-            },
-            minlength: {
-                name: "minlength",
-                init: function ($this, name) {
-                    var result = {};
-
-                    result.minlength = $this.data("validation" + name + "Minlength");
-
-                    result.message = "Too short: Minimum of '" + result.minlength + "' characters";
-                    if ($this.data("validation" + name + "Message")) {
-                        result.message = $this.data("validation" + name + "Message");
-                    }
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return ((value.length < validator.minlength) && !validator.negative) ||
-                        ((value.length >= validator.minlength) && validator.negative);
-                }
-            },
-            maxchecked: {
-                name: "maxchecked",
-                init: function ($this, name) {
-                    var result = {};
-
-                    var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
-                    elements.bind("change.validation click.validation", function () {
-                        $this.trigger("revalidate.validation", {includeEmpty: true});
-                    });
-
-                    result.elements = elements;
-                    result.maxchecked = $this.data("validation" + name + "Maxchecked");
-
-                    var message = "Too many: Max '" + result.maxchecked + "' checked";
-                    if ($this.data("validation" + name + "Message")) {
-                        message = $this.data("validation" + name + "Message");
-                    }
-                    result.message = message;
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return (validator.elements.filter(":checked").length > validator.maxchecked && !validator.negative) ||
-                        (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);
-                },
-                blockSubmit: true
-            },
-            minchecked: {
-                name: "minchecked",
-                init: function ($this, name) {
-                    var result = {};
-
-                    var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
-                    elements.bind("change.validation click.validation", function () {
-                        $this.trigger("revalidate.validation", {includeEmpty: true});
-                    });
-
-                    result.elements = elements;
-                    result.minchecked = $this.data("validation" + name + "Minchecked");
-
-                    var message = "Too few: Min '" + result.minchecked + "' checked";
-                    if ($this.data("validation" + name + "Message")) {
-                        message = $this.data("validation" + name + "Message");
-                    }
-                    result.message = message;
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    return (validator.elements.filter(":checked").length < validator.minchecked && !validator.negative) ||
-                        (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);
-                },
-                blockSubmit: true,
-                includeEmpty: true
-            },
-            number: {
-                name: "number",
-                init: function ($this, name) {
-                    var result = {};
-                    result.step = 1;
-                    if ($this.attr("step")) {
-                        result.step = $this.attr("step");
-                    }
-                    if ($this.data("validation" + name + "Step")) {
-                        result.step = $this.data("validation" + name + "Step");
-                    }
-
-                    result.decimal = ".";
-                    if ($this.data("validation" + name + "Decimal")) {
-                        result.decimal = $this.data("validation" + name + "Decimal");
-                    }
-
-                    result.thousands = "";
-                    if ($this.data("validation" + name + "Thousands")) {
-                        result.thousands = $this.data("validation" + name + "Thousands");
-                    }
-
-                    result.regex = regexFromString("([+-]?\\d+(\\" + result.decimal + "\\d+)?)?");
-
-                    result.message = "Must be a number";
-                    var dataMessage = $this.data("validation" + name + "Message");
-                    if (dataMessage) {
-                        result.message = dataMessage;
-                    }
-
-                    return result;
-                },
-                validate: function ($this, value, validator) {
-                    var globalValue = value.replace(validator.decimal, ".").replace(validator.thousands, "");
-                    var multipliedValue = parseFloat(globalValue);
-                    var multipliedStep = parseFloat(validator.step);
-                    while (multipliedStep % 1 !== 0) {
-                        /* thanks to @jkey #57 */
-                        multipliedStep = parseFloat(multipliedStep.toPrecision(12)) * 10;
-                        multipliedValue = parseFloat(multipliedValue.toPrecision(12)) * 10;
-                    }
-                    var regexResult = validator.regex.test(value);
-                    var stepResult = parseFloat(multipliedValue) % parseFloat(multipliedStep) === 0;
-                    var typeResult = !isNaN(parseFloat(globalValue)) && isFinite(globalValue);
-                    var result = !(regexResult && stepResult && typeResult);
-                    return result;
-                },
-                message: "Must be a number"
-            }
-        },
-        builtInValidators: {
-            email: {
-                name: "Email",
-                type: "email"
-            },
-            passwordagain: {
-                name: "Passwordagain",
-                type: "match",
-                match: "password",
-                message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"
-            },
-            positive: {
-                name: "Positive",
-                type: "shortcut",
-                shortcut: "number,positivenumber"
-            },
-            negative: {
-                name: "Negative",
-                type: "shortcut",
-                shortcut: "number,negativenumber"
-            },
-            integer: {
-                name: "Integer",
-                type: "regex",
-                regex: "[+-]?\\d+",
-                message: "No decimal places allowed<!-- data-validator-integer-message to override -->"
-            },
-            positivenumber: {
-                name: "Positivenumber",
-                type: "min",
-                min: 0,
-                message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"
-            },
-            negativenumber: {
-                name: "Negativenumber",
-                type: "max",
-                max: 0,
-                message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"
-            },
-            required: {
-                name: "Required",
-                type: "required",
-                message: "This is required<!-- data-validator-required-message to override -->"
-            },
-            checkone: {
-                name: "Checkone",
-                type: "minchecked",
-                minchecked: 1,
-                message: "Check at least one option<!-- data-validation-checkone-message to override -->"
-            },
-            number: {
-                name: "Number",
-                type: "number",
-                decimal: ".",
-                step: "1"
-            },
-            pattern: {
-                name: "Pattern",
-                type: "regex",
-                message: "Not in expected format"
-            }
-        }
-    };
-
-    var formatValidatorName = function (name) {
-        return name
-            .toLowerCase()
-            .replace(
-            /(^|\s)([a-z])/g,
-            function (m, p1, p2) {
-                return p1 + p2.toUpperCase();
-            }
-        )
-            ;
-    };
-
-    var getValue = function ($this) {
-        // Extract the value we're talking about
-        var value = null;
-        var type = $this.attr("type");
-        if (type === "checkbox") {
-            value = ($this.is(":checked") ? value : "");
-            var checkboxParent = $this.parents("form").first() || $this.parents(".form-group").first();
-            if (checkboxParent) {
-                value = checkboxParent.find("input[name='" + $this.attr("name") + "']:checked").map(function (i, el) {
-                    return $(el).val();
-                }).toArray().join(",");
-            }
-        }
-        else if (type === "radio") {
-            value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? $this.val() : "");
-            var radioParent = $this.parents("form").first() || $this.parents(".form-group").first();
-            if (radioParent) {
-                value = radioParent.find("input[name='" + $this.attr("name") + "']:checked").map(function (i, el) {
-                    return $(el).val();
-                }).toArray().join(",");
-            }
-        } else if (type === "number") {
-            if ($this[0].validity.valid) {
-                value = $this.val();
-            } else {
-                if ($this[0].validity.badInput || $this[0].validity.stepMismatch) {
-                    value = "NaN";
-                } else {
-                    value = "";
-                }
-            }
-        } else {
-            value = $this.val();
-        }
-        return value;
-    };
-
-    function regexFromString(inputstring) {
-        return new RegExp("^" + inputstring + "$");
-    }
-
-    /**
-     * Thanks to Jason Bunting / Alex Nazarov via StackOverflow.com
-     *
-     * http://stackoverflow.com/a/4351575
-     **/
-    function executeFunctionByName(functionName, context /*, args */) {
-        var args = Array.prototype.slice.call(arguments, 2);
-        var namespaces = functionName.split(".");
-        var func = namespaces.pop();
-        for (var i = 0; i < namespaces.length; i++) {
-            context = context[namespaces[i]];
-        }
-        return context[func].apply(context, args);
-    }
-
-    $.fn.jqBootstrapValidation = function (method) {
-
-        if (defaults.methods[method]) {
-            return defaults.methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
-        } else if (typeof method === 'object' || !method) {
-            return defaults.methods.init.apply(this, arguments);
-        } else {
-            $.error('Method ' + method + ' does not exist on jQuery.jqBootstrapValidation');
-            return null;
-        }
-
-    };
-
-    $.jqBootstrapValidation = function (options) {
-        $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this, arguments);
-    };
-
-})(jQuery);

Разница между файлами не показана из-за своего большого размера
+ 0 - 3
resources/assets/vendors/js/forms/validation/jquery.validate.min.js


+ 0 - 20
resources/assets/vendors/js/miscellaneous/countdown.min.js

@@ -1,20 +0,0 @@
-/*
- countdown.js v2.6.0 http://countdownjs.org
- Copyright (c)2006-2014 Stephen M. McKamey.
- Licensed under The MIT License.
-*/
-var module,countdown=function(v){function A(a,b){var c=a.getTime();a.setMonth(a.getMonth()+b);return Math.round((a.getTime()-c)/864E5)}function w(a){var b=a.getTime(),c=new Date(b);c.setMonth(a.getMonth()+1);return Math.round((c.getTime()-b)/864E5)}function x(a,b){b=b instanceof Date||null!==b&&isFinite(b)?new Date(+b):new Date;if(!a)return b;var c=+a.value||0;if(c)return b.setTime(b.getTime()+c),b;(c=+a.milliseconds||0)&&b.setMilliseconds(b.getMilliseconds()+c);(c=+a.seconds||0)&&b.setSeconds(b.getSeconds()+
-c);(c=+a.minutes||0)&&b.setMinutes(b.getMinutes()+c);(c=+a.hours||0)&&b.setHours(b.getHours()+c);(c=+a.weeks||0)&&(c*=7);(c+=+a.days||0)&&b.setDate(b.getDate()+c);(c=+a.months||0)&&b.setMonth(b.getMonth()+c);(c=+a.millennia||0)&&(c*=10);(c+=+a.centuries||0)&&(c*=10);(c+=+a.decades||0)&&(c*=10);(c+=+a.years||0)&&b.setFullYear(b.getFullYear()+c);return b}function D(a,b){return y(a)+(1===a?p[b]:q[b])}function n(){}function k(a,b,c,e,l,d){0<=a[c]&&(b+=a[c],delete a[c]);b/=l;if(1>=b+1)return 0;if(0<=a[e]){a[e]=
-+(a[e]+b).toFixed(d);switch(e){case "seconds":if(60!==a.seconds||isNaN(a.minutes))break;a.minutes++;a.seconds=0;case "minutes":if(60!==a.minutes||isNaN(a.hours))break;a.hours++;a.minutes=0;case "hours":if(24!==a.hours||isNaN(a.days))break;a.days++;a.hours=0;case "days":if(7!==a.days||isNaN(a.weeks))break;a.weeks++;a.days=0;case "weeks":if(a.weeks!==w(a.refMonth)/7||isNaN(a.months))break;a.months++;a.weeks=0;case "months":if(12!==a.months||isNaN(a.years))break;a.years++;a.months=0;case "years":if(10!==
-a.years||isNaN(a.decades))break;a.decades++;a.years=0;case "decades":if(10!==a.decades||isNaN(a.centuries))break;a.centuries++;a.decades=0;case "centuries":if(10!==a.centuries||isNaN(a.millennia))break;a.millennia++;a.centuries=0}return 0}return b}function B(a,b,c,e,l,d){var f=new Date;a.start=b=b||f;a.end=c=c||f;a.units=e;a.value=c.getTime()-b.getTime();0>a.value&&(f=c,c=b,b=f);a.refMonth=new Date(b.getFullYear(),b.getMonth(),15,12,0,0);try{a.millennia=0;a.centuries=0;a.decades=0;a.years=c.getFullYear()-
-b.getFullYear();a.months=c.getMonth()-b.getMonth();a.weeks=0;a.days=c.getDate()-b.getDate();a.hours=c.getHours()-b.getHours();a.minutes=c.getMinutes()-b.getMinutes();a.seconds=c.getSeconds()-b.getSeconds();a.milliseconds=c.getMilliseconds()-b.getMilliseconds();var g;0>a.milliseconds?(g=s(-a.milliseconds/1E3),a.seconds-=g,a.milliseconds+=1E3*g):1E3<=a.milliseconds&&(a.seconds+=m(a.milliseconds/1E3),a.milliseconds%=1E3);0>a.seconds?(g=s(-a.seconds/60),a.minutes-=g,a.seconds+=60*g):60<=a.seconds&&(a.minutes+=
-m(a.seconds/60),a.seconds%=60);0>a.minutes?(g=s(-a.minutes/60),a.hours-=g,a.minutes+=60*g):60<=a.minutes&&(a.hours+=m(a.minutes/60),a.minutes%=60);0>a.hours?(g=s(-a.hours/24),a.days-=g,a.hours+=24*g):24<=a.hours&&(a.days+=m(a.hours/24),a.hours%=24);for(;0>a.days;)a.months--,a.days+=A(a.refMonth,1);7<=a.days&&(a.weeks+=m(a.days/7),a.days%=7);0>a.months?(g=s(-a.months/12),a.years-=g,a.months+=12*g):12<=a.months&&(a.years+=m(a.months/12),a.months%=12);10<=a.years&&(a.decades+=m(a.years/10),a.years%=
-10,10<=a.decades&&(a.centuries+=m(a.decades/10),a.decades%=10,10<=a.centuries&&(a.millennia+=m(a.centuries/10),a.centuries%=10)));b=0;!(e&1024)||b>=l?(a.centuries+=10*a.millennia,delete a.millennia):a.millennia&&b++;!(e&512)||b>=l?(a.decades+=10*a.centuries,delete a.centuries):a.centuries&&b++;!(e&256)||b>=l?(a.years+=10*a.decades,delete a.decades):a.decades&&b++;!(e&128)||b>=l?(a.months+=12*a.years,delete a.years):a.years&&b++;!(e&64)||b>=l?(a.months&&(a.days+=A(a.refMonth,a.months)),delete a.months,
-7<=a.days&&(a.weeks+=m(a.days/7),a.days%=7)):a.months&&b++;!(e&32)||b>=l?(a.days+=7*a.weeks,delete a.weeks):a.weeks&&b++;!(e&16)||b>=l?(a.hours+=24*a.days,delete a.days):a.days&&b++;!(e&8)||b>=l?(a.minutes+=60*a.hours,delete a.hours):a.hours&&b++;!(e&4)||b>=l?(a.seconds+=60*a.minutes,delete a.minutes):a.minutes&&b++;!(e&2)||b>=l?(a.milliseconds+=1E3*a.seconds,delete a.seconds):a.seconds&&b++;if(!(e&1)||b>=l){var h=k(a,0,"milliseconds","seconds",1E3,d);if(h&&(h=k(a,h,"seconds","minutes",60,d))&&(h=
-k(a,h,"minutes","hours",60,d))&&(h=k(a,h,"hours","days",24,d))&&(h=k(a,h,"days","weeks",7,d))&&(h=k(a,h,"weeks","months",w(a.refMonth)/7,d))){e=h;var n,p=a.refMonth,q=p.getTime(),r=new Date(q);r.setFullYear(p.getFullYear()+1);n=Math.round((r.getTime()-q)/864E5);if(h=k(a,e,"months","years",n/w(a.refMonth),d))if(h=k(a,h,"years","decades",10,d))if(h=k(a,h,"decades","centuries",10,d))if(h=k(a,h,"centuries","millennia",10,d))throw Error("Fractional unit overflow");}}}finally{delete a.refMonth}return a}
-function d(a,b,c,e,d){var f;c=+c||222;e=0<e?e:NaN;d=0<d?20>d?Math.round(d):20:0;var k=null;"function"===typeof a?(f=a,a=null):a instanceof Date||(null!==a&&isFinite(a)?a=new Date(+a):("object"===typeof k&&(k=a),a=null));var g=null;"function"===typeof b?(f=b,b=null):b instanceof Date||(null!==b&&isFinite(b)?b=new Date(+b):("object"===typeof b&&(g=b),b=null));k&&(a=x(k,b));g&&(b=x(g,a));if(!a&&!b)return new n;if(!f)return B(new n,a,b,c,e,d);var k=c&1?1E3/30:c&2?1E3:c&4?6E4:c&8?36E5:c&16?864E5:6048E5,
-h,g=function(){f(B(new n,a,b,c,e,d),h)};g();return h=setInterval(g,k)}var s=Math.ceil,m=Math.floor,p,q,r,t,u,f,y,z;n.prototype.toString=function(a){var b=z(this),c=b.length;if(!c)return a?""+a:u;if(1===c)return b[0];a=r+b.pop();return b.join(t)+a};n.prototype.toHTML=function(a,b){a=a||"span";var c=z(this),e=c.length;if(!e)return(b=b||u)?"\x3c"+a+"\x3e"+b+"\x3c/"+a+"\x3e":b;for(var d=0;d<e;d++)c[d]="\x3c"+a+"\x3e"+c[d]+"\x3c/"+a+"\x3e";if(1===e)return c[0];e=r+c.pop();return c.join(t)+e};n.prototype.addTo=
-function(a){return x(this,a)};z=function(a){var b=[],c=a.millennia;c&&b.push(f(c,10));(c=a.centuries)&&b.push(f(c,9));(c=a.decades)&&b.push(f(c,8));(c=a.years)&&b.push(f(c,7));(c=a.months)&&b.push(f(c,6));(c=a.weeks)&&b.push(f(c,5));(c=a.days)&&b.push(f(c,4));(c=a.hours)&&b.push(f(c,3));(c=a.minutes)&&b.push(f(c,2));(c=a.seconds)&&b.push(f(c,1));(c=a.milliseconds)&&b.push(f(c,0));return b};d.MILLISECONDS=1;d.SECONDS=2;d.MINUTES=4;d.HOURS=8;d.DAYS=16;d.WEEKS=32;d.MONTHS=64;d.YEARS=128;d.DECADES=256;
-d.CENTURIES=512;d.MILLENNIA=1024;d.DEFAULTS=222;d.ALL=2047;var E=d.setFormat=function(a){if(a){if("singular"in a||"plural"in a){var b=a.singular||[];b.split&&(b=b.split("|"));var c=a.plural||[];c.split&&(c=c.split("|"));for(var d=0;10>=d;d++)p[d]=b[d]||p[d],q[d]=c[d]||q[d]}"string"===typeof a.last&&(r=a.last);"string"===typeof a.delim&&(t=a.delim);"string"===typeof a.empty&&(u=a.empty);"function"===typeof a.formatNumber&&(y=a.formatNumber);"function"===typeof a.formatter&&(f=a.formatter)}},C=d.resetFormat=
-function(){p=" millisecond; second; minute; hour; day; week; month; year; decade; century; millennium".split(";");q=" milliseconds; seconds; minutes; hours; days; weeks; months; years; decades; centuries; millennia".split(";");r=" and ";t=", ";u="";y=function(a){return a};f=D};d.setLabels=function(a,b,c,d,f,k,m){E({singular:a,plural:b,last:c,delim:d,empty:f,formatNumber:k,formatter:m})};d.resetLabels=C;C();v&&v.exports?v.exports=d:"function"===typeof window.define&&"undefined"!==typeof window.define.amd&&
-window.define("countdown",[],function(){return d});return d}(module);

Некоторые файлы не были показаны из-за большого количества измененных файлов