updated bootstrap libs

added sandwich symbol
This commit is contained in:
lukas-heiligenbrunner committed 2020-04-14 15:24:53 +02:00
1 parent c7999ed6ec
commit 54e2cd7856
15 files changed
+3563 -5884

No files matched your search

+18 -14
View File
@@ -42,17 +42,21 @@
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<!-- <img src="lib/AdminLTE/dist/img/user2-160x160.jpg" class="img-circle elevation-2" alt="User Image"> -->
<i class="nav-icon fas fa-user img-circle elevation-2" style="color:white"></i>
</div>
<!-- <i class="nav-icon fas fa-tachometer-alt"></i> -->
<div class="info">
<a href="user.html" class="d-block" id="userlabel">Username to set!</a>
</div>
</div>
<!-- Sidebar User -->
<nav class="user-panel mt-3 pb-3 mb-3">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
data-accordion="false">
<li class="nav-item">
<a href="user.html" class="nav-link">
<i class="nav-icon fas fa-user"></i>
<p id="userlabel">
Username to set!
</p>
</a>
</li>
</ul>
</nav>
<!-- Sidebar Menu -->
<nav class="mt-2">
@@ -114,12 +118,12 @@
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark">Dashboard</h1>
<h1 class="m-0 text-dark sandwich"><i class="fas fa-bars"></i> &ensp;Admin Area</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="dashboard.html">Home</a></li>
<li class="breadcrumb-item active">Users</li>
<li class="breadcrumb-item active">Admin</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
@@ -243,7 +247,7 @@
<!-- custom js -->
<script src="js/adminpanel.js"></script>
<script src="js/userManager.js"></script>
<script src="js/general.js"></script>
</body>
</html>
+4
View File
@@ -1,3 +1,7 @@
.hideit{
display:none;
}
.sandwich:hover{
cursor: pointer;
}
+18 -18
View File
@@ -44,17 +44,21 @@
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<!-- <img src="lib/AdminLTE/dist/img/user2-160x160.jpg" class="img-circle elevation-2" alt="User Image"> -->
<i class="nav-icon fas fa-user img-circle elevation-2" style="color:white"></i>
</div>
<!-- <i class="nav-icon fas fa-tachometer-alt"></i> -->
<div class="info">
<a href="user.html" class="d-block" id="userlabel">Username to set!</a>
</div>
</div>
<!-- Sidebar User -->
<nav class="user-panel mt-3 pb-3 mb-3">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
data-accordion="false">
<li class="nav-item">
<a href="user.html" class="nav-link">
<i class="nav-icon fas fa-user"></i>
<p id="userlabel">
Username to set!
</p>
</a>
</li>
</ul>
</nav>
<!-- Sidebar Menu -->
<nav class="mt-2">
@@ -113,7 +117,7 @@
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark">Dashboard</h1>
<h1 class="m-0 text-dark sandwich"><i class="fas fa-bars"></i> &ensp;Dashboard</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
@@ -142,7 +146,6 @@
<div class="icon">
<i class="ion ion-bag"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
@@ -157,7 +160,6 @@
<div class="icon">
<i class="ion ion-android-globe" style="color: lightgrey"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
@@ -172,7 +174,6 @@
<div class="icon">
<i class="ion ion-calendar"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
@@ -187,7 +188,6 @@
<div class="icon">
<i class="ion ion-android-checkmark-circle"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
@@ -416,7 +416,7 @@
<!-- Bootstrap 4 -->
<script src="lib/AdminLTE/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- AdminLTE App -->
<script src="lib/AdminLTE/dist/js/adminlte.js"></script>
<!--<script src="lib/AdminLTE/dist/js/adminlte.js"></script>-->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script>
<!-- DataTables -->
@@ -426,7 +426,7 @@
<!-- custom js -->
<script type="text/javascript" src="js/dashboard.js"></script>
<script src="js/userManager.js"></script>
<script src="js/general.js"></script>
</body>
</html>
+18 -16
View File
@@ -43,17 +43,21 @@
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<!-- <img src="lib/AdminLTE/dist/img/user2-160x160.jpg" class="img-circle elevation-2" alt="User Image"> -->
<i class="nav-icon fas fa-user img-circle elevation-2" style="color:white"></i>
</div>
<!-- <i class="nav-icon fas fa-tachometer-alt"></i> -->
<div class="info">
<a href="user.html" class="d-block" id="userlabel">Username to set!</a>
</div>
</div>
<!-- Sidebar User -->
<nav class="user-panel mt-3 pb-3 mb-3">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
data-accordion="false">
<li class="nav-item">
<a href="user.html" class="nav-link">
<i class="nav-icon fas fa-user"></i>
<p id="userlabel">
Username to set!
</p>
</a>
</li>
</ul>
</nav>
<!-- Sidebar Menu -->
<nav class="mt-2">
@@ -112,12 +116,12 @@
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark">Dashboard</h1>
<h1 class="m-0 text-dark sandwich"><i class="fas fa-bars"></i> &ensp;Devices</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="dashboard.html">Home</a></li>
<li class="breadcrumb-item active">Users</li>
<li class="breadcrumb-item active">Devices</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
@@ -141,7 +145,6 @@
<div class="icon">
<i class="ion ion-bag"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
@@ -156,7 +159,6 @@
<div class="icon">
<i class="ion ion-stats-bars"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
@@ -257,7 +259,7 @@
<script src="lib/AdminLTE/plugins/sweetalert2/sweetalert2.all.js"></script>
<!-- custom js -->
<script src="js/userManager.js"></script>
<script src="js/general.js"></script>
<script src="js/device.js"></script>
</body>
</html>
@@ -1,5 +1,19 @@
$(document).ready(function () {
console.log("page loaded");
$('.sandwich').click(function () {
const bdy = $('body');
if (bdy.hasClass("sidebar-collapse")) {
bdy.removeClass("sidebar-collapse");
} else {
bdy.addClass("sidebar-collapse");
}
if(bdy.hasClass("sidebar-open")){
bdy.removeClass("sidebar-open");
} else {
bdy.addClass("sidebar-open");
}
});
$.post('/senddata/checkloginstate', 'action=getloginstate', function (data) {
console.log(data);
if (data.loggedin == true) {
File diff suppressed because it is too large. Load diff
+1 -292
View File
@@ -1,292 +1 @@
{
"version": 3,
"sources": [
"../../build/scss/AdminLTE.scss",
"adminlte.css",
"../../node_modules/bootstrap/scss/bootstrap.scss",
"../../node_modules/bootstrap/scss/_root.scss",
"../../node_modules/bootstrap/scss/_reboot.scss",
"../../build/scss/_bootstrap-variables.scss",
"../../node_modules/bootstrap/scss/vendor/_rfs.scss",
"../../node_modules/bootstrap/scss/_variables.scss",
"../../node_modules/bootstrap/scss/mixins/_hover.scss",
"../../node_modules/bootstrap/scss/_type.scss",
"../../node_modules/bootstrap/scss/mixins/_lists.scss",
"../../node_modules/bootstrap/scss/_images.scss",
"../../node_modules/bootstrap/scss/mixins/_image.scss",
"../../node_modules/bootstrap/scss/mixins/_border-radius.scss",
"../../node_modules/bootstrap/scss/mixins/_box-shadow.scss",
"../../node_modules/bootstrap/scss/_code.scss",
"../../node_modules/bootstrap/scss/_grid.scss",
"../../node_modules/bootstrap/scss/mixins/_grid.scss",
"../../node_modules/bootstrap/scss/mixins/_breakpoints.scss",
"../../node_modules/bootstrap/scss/mixins/_grid-framework.scss",
"../../node_modules/bootstrap/scss/_tables.scss",
"../../node_modules/bootstrap/scss/mixins/_table-row.scss",
"../../node_modules/bootstrap/scss/_functions.scss",
"../../node_modules/bootstrap/scss/_forms.scss",
"../../node_modules/bootstrap/scss/mixins/_transition.scss",
"../../node_modules/bootstrap/scss/mixins/_forms.scss",
"../../node_modules/bootstrap/scss/mixins/_gradients.scss",
"../../node_modules/bootstrap/scss/_buttons.scss",
"../../node_modules/bootstrap/scss/mixins/_buttons.scss",
"../../node_modules/bootstrap/scss/_transitions.scss",
"../../node_modules/bootstrap/scss/_dropdown.scss",
"../../node_modules/bootstrap/scss/mixins/_caret.scss",
"../../node_modules/bootstrap/scss/mixins/_nav-divider.scss",
"../../node_modules/bootstrap/scss/_button-group.scss",
"../../node_modules/bootstrap/scss/_input-group.scss",
"../../node_modules/bootstrap/scss/_custom-forms.scss",
"../../node_modules/bootstrap/scss/_nav.scss",
"../../node_modules/bootstrap/scss/_navbar.scss",
"../../node_modules/bootstrap/scss/_card.scss",
"../../node_modules/bootstrap/scss/_breadcrumb.scss",
"../../node_modules/bootstrap/scss/_pagination.scss",
"../../node_modules/bootstrap/scss/mixins/_pagination.scss",
"../../node_modules/bootstrap/scss/_badge.scss",
"../../node_modules/bootstrap/scss/mixins/_badge.scss",
"../../node_modules/bootstrap/scss/_jumbotron.scss",
"../../node_modules/bootstrap/scss/_alert.scss",
"../../node_modules/bootstrap/scss/mixins/_alert.scss",
"../../node_modules/bootstrap/scss/_progress.scss",
"../../node_modules/bootstrap/scss/_media.scss",
"../../node_modules/bootstrap/scss/_list-group.scss",
"../../node_modules/bootstrap/scss/mixins/_list-group.scss",
"../../node_modules/bootstrap/scss/_close.scss",
"../../node_modules/bootstrap/scss/_toasts.scss",
"../../node_modules/bootstrap/scss/_modal.scss",
"../../node_modules/bootstrap/scss/_tooltip.scss",
"../../node_modules/bootstrap/scss/mixins/_reset-text.scss",
"../../node_modules/bootstrap/scss/_popover.scss",
"../../node_modules/bootstrap/scss/_carousel.scss",
"../../node_modules/bootstrap/scss/mixins/_clearfix.scss",
"../../node_modules/bootstrap/scss/_spinners.scss",
"../../node_modules/bootstrap/scss/utilities/_align.scss",
"../../node_modules/bootstrap/scss/mixins/_background-variant.scss",
"../../node_modules/bootstrap/scss/utilities/_background.scss",
"../../node_modules/bootstrap/scss/utilities/_borders.scss",
"../../node_modules/bootstrap/scss/utilities/_display.scss",
"../../node_modules/bootstrap/scss/utilities/_embed.scss",
"../../node_modules/bootstrap/scss/utilities/_flex.scss",
"../../node_modules/bootstrap/scss/utilities/_float.scss",
"../../node_modules/bootstrap/scss/utilities/_overflow.scss",
"../../node_modules/bootstrap/scss/utilities/_position.scss",
"../../node_modules/bootstrap/scss/utilities/_screenreaders.scss",
"../../node_modules/bootstrap/scss/mixins/_screen-reader.scss",
"../../node_modules/bootstrap/scss/utilities/_shadows.scss",
"../../node_modules/bootstrap/scss/utilities/_sizing.scss",
"../../node_modules/bootstrap/scss/utilities/_stretched-link.scss",
"../../node_modules/bootstrap/scss/utilities/_spacing.scss",
"../../node_modules/bootstrap/scss/utilities/_text.scss",
"../../node_modules/bootstrap/scss/mixins/_text-truncate.scss",
"../../node_modules/bootstrap/scss/mixins/_text-emphasis.scss",
"../../node_modules/bootstrap/scss/mixins/_text-hide.scss",
"../../node_modules/bootstrap/scss/utilities/_visibility.scss",
"../../node_modules/bootstrap/scss/_print.scss",
"../../build/scss/_layout.scss",
"../../build/scss/_variables.scss",
"../../build/scss/_main-header.scss",
"../../build/scss/_brand.scss",
"../../build/scss/_main-sidebar.scss",
"../../build/scss/mixins/_miscellaneous.scss",
"../../build/scss/mixins/_sidebar.scss",
"../../build/scss/_sidebar-mini.scss",
"../../build/scss/_control-sidebar.scss",
"../../build/scss/_dropdown.scss",
"../../build/scss/_navs.scss",
"../../build/scss/_forms.scss",
"../../build/scss/mixins/_custom-forms.scss",
"../../build/scss/_progress-bars.scss",
"../../build/scss/mixins/_cards.scss",
"../../build/scss/_cards.scss",
"../../build/scss/_modals.scss",
"../../build/scss/_toasts.scss",
"../../build/scss/mixins/_toasts.scss",
"../../build/scss/_buttons.scss",
"../../build/scss/_callout.scss",
"../../build/scss/_alerts.scss",
"../../build/scss/_table.scss",
"../../build/scss/_carousel.scss",
"../../build/scss/_small-box.scss",
"../../build/scss/_info-box.scss",
"../../build/scss/_timeline.scss",
"../../build/scss/_products.scss",
"../../build/scss/_direct-chat.scss",
"../../build/scss/mixins/_direct-chat.scss",
"../../build/scss/_users-list.scss",
"../../build/scss/_social-widgets.scss",
"../../build/scss/pages/_mailbox.scss",
"../../build/scss/pages/_lockscreen.scss",
"../../build/scss/pages/_login_and_register.scss",
"../../build/scss/pages/_404_500_errors.scss",
"../../build/scss/pages/_invoice.scss",
"../../build/scss/pages/_profile.scss",
"../../build/scss/pages/_e-commerce.scss",
"../../build/scss/pages/_projects.scss",
"../../build/scss/plugins/_fullcalendar.scss",
"../../build/scss/plugins/_select2.scss",
"../../build/scss/plugins/_mixins.scss",
"../../build/scss/plugins/_bootstrap-slider.scss",
"../../build/scss/plugins/_icheck-bootstrap.scss",
"../../build/scss/plugins/_mapael.scss",
"../../build/scss/plugins/_jqvmap.scss",
"../../build/scss/plugins/_sweetalert2.scss",
"../../build/scss/plugins/_toastr.scss",
"../../build/scss/plugins/_pace.scss",
"../../build/scss/plugins/_bootstrap-switch.scss",
"../../build/scss/plugins/_miscellaneous.scss",
"../../build/scss/_miscellaneous.scss",
"../../build/scss/_print.scss",
"../../build/scss/_text.scss",
"../../build/scss/_elevation.scss",
"../../build/scss/mixins/_backgrounds.scss",
"../../build/scss/_colors.scss",
"../../build/scss/mixins/_accent.scss"
],
"names": [],
"mappings": "AAAA;;;;;ECKE;ACLF;;;;;EDWE;AEVF;EAGI,eAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,eAAc;EAAd,cAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,eAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,oBAAc;EAId,kBAAc;EAAd,oBAAc;EAAd,kBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAId,kBAAiC;EAAjC,sBAAiC;EAAjC,sBAAiC;EAAjC,sBAAiC;EAAjC,uBAAiC;EAKnC,iMAAyB;EACzB,6GAAwB;AFuB1B;;AGvBA;;;EAGE,sBAAsB;AH0BxB;;AGvBA;EACE,uBAAuB;EACvB,iBAAiB;EACjB,8BAA8B;EAC9B,6CCPa;AJiCf;;AGpBA;EACE,cAAc;AHuBhB;;AGbA;EACE,SAAS;EACT,oLCyLmM;ECzG/L,eAtCY;EFxChB,gBCiM+B;EDhM/B,gBCoM+B;EDnM/B,cC/BgB;EDgChB,gBAAgB;EAChB,yBC1CgB;AJ0DlB;;AAEA;EGLE,qBAAqB;AHOvB;;AGEA;EACE,uBAAuB;EACvB,SAAS;EACT,iBAAiB;AHCnB;;AGYA;EACE,aAAa;EACb,qBCkKyC;AJ3K3C;;AGgBA;EACE,aAAa;EACb,mBC4D8B;AJzEhC;;AGwBA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,sCAA8B;EAA9B,8BAA8B;AHrBhC;;AGwBA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AHrBtB;;AGwBA;;;EAGE,aAAa;EACb,mBAAmB;AHrBrB;;AGwBA;;;;EAIE,gBAAgB;AHrBlB;;AGwBA;EACE,gBCoG+B;AJzHjC;;AGwBA;EACE,oBAAoB;EACpB,cAAc;AHrBhB;;AGwBA;EACE,gBAAgB;AHrBlB;;AGwBA;;EAEE,mBGwIkC;AN7JpC;;AGwBA;EExFI,cAAW;ALoEf;;AG6BA;;EAEE,kBAAkB;EEnGhB,cAAW;EFqGb,cAAc;EACd,wBAAwB;AH1B1B;;AG6BA;EAAM,cAAc;AHzBpB;;AG0BA;EAAM,UAAU;AHtBhB;;AG6BA;EACE,cCtJe;EDuJf,qBCjC8B;EDkC9B,6BAA6B;AH1B/B;;AOtJE;EJmLE,cCpCgD;EDqChD,qBCpC4B;AJWhC;;AGkCA;EACE,cAAc;EACd,qBAAqB;AH/BvB;;AOhKE;EJkME,cAAc;EACd,qBAAqB;AH9BzB;;AGuCA;;;;EAIE,iGCagH;ECjK9G,cAAW;ALiHf;;AGuCA;EAEE,aAAa;EAEb,mBAAmB;EAEnB,cAAc;AHvChB;;AG+CA;EAEE,gBAAgB;AH7ClB;;AGqDA;EACE,sBAAsB;EACtB,kBAAkB;AHlDpB;;AGqDA;EAGE,gBAAgB;EAChB,sBAAsB;AHpDxB;;AG4DA;EACE,yBAAyB;AHzD3B;;AG4DA;EACE,oBCiCkC;EDhClC,uBCgCkC;ED/BlC,cC/PgB;EDgQhB,gBAAgB;EAChB,oBAAoB;AHzDtB;;AG4DA;EAGE,mBAAmB;AH3DrB;;AGmEA;EAEE,qBAAqB;EACrB,qBGqK2C;ANtO7C;;AGuEA;EAEE,gBAAgB;AHrElB;;AG4EA;EACE,mBAAmB;EACnB,0CAA0C;AHzE5C;;AG4EA;;;;;EAKE,SAAS;EACT,oBAAoB;EErPlB,kBAAW;EFuPb,oBAAoB;AHzEtB;;AG4EA;;EAEE,iBAAiB;AHzEnB;;AG4EA;;EAEE,oBAAoB;AHzEtB;;AG+EA;EACE,iBAAiB;AH5EnB;;AGmFA;;;;EAIE,0BAA0B;AHhF5B;;AGqFE;;;;EAKI,eAAe;AHnFrB;;AGyFA;;;;EAIE,UAAU;EACV,kBAAkB;AHtFpB;;AGyFA;;EAEE,sBAAsB;EACtB,UAAU;AHtFZ;;AG0FA;;;;EASE,2BAA2B;AH5F7B;;AG+FA;EACE,cAAc;EAEd,gBAAgB;AH7FlB;;AGgGA;EAME,YAAY;EAEZ,UAAU;EACV,SAAS;EACT,SAAS;AHnGX;;AGwGA;EACE,cAAc;EACd,WAAW;EACX,eAAe;EACf,UAAU;EACV,oBAAoB;EEjShB,iBAtCY;EFyUhB,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AHrGrB;;AGwGA;EACE,wBAAwB;AHrG1B;;AAEA;;EGyGE,YAAY;AHtGd;;AAEA;EG4GE,oBAAoB;EACpB,wBAAwB;AH1G1B;;AAEA;EGgHE,wBAAwB;AH9G1B;;AGsHA;EACE,aAAa;EACb,0BAA0B;AHnH5B;;AG0HA;EACE,qBAAqB;AHvHvB;;AG0HA;EACE,kBAAkB;EAClB,eAAe;AHvHjB;;AG0HA;EACE,aAAa;AHvHf;;AAEA;EG2HE,wBAAwB;AHzH1B;;AQjWA;;EAEE,qBJuPyC;EItPzC,oBJuPmC;EItPnC,gBJuP+B;EItP/B,gBJuP+B;EItP/B,cJuPmC;AJ6GrC;;AQjWA;EHgHM,iBAtCY;AL2RlB;;AQpWA;EH+GM,eAtCY;AL+RlB;;AQvWA;EH8GM,kBAtCY;ALmSlB;;AQ1WA;EH6GM,iBAtCY;ALuSlB;;AQ7WA;EH4GM,kBAtCY;AL2SlB;;AQhXA;EH2GM,eAtCY;AL+SlB;;AQlXA;EHyGM,kBAtCY;EGjEhB,gBJyP+B;AJ4HjC;;AQjXA;EHmGM,eAtCY;EG3DhB,gBJ4O+B;EI3O/B,gBJmO+B;AJiJjC;;AQlXA;EH8FM,iBAtCY;EGtDhB,gBJwO+B;EIvO/B,gBJ8N+B;AJuJjC;;AQnXA;EHyFM,iBAtCY;EGjDhB,gBJoO+B;EInO/B,gBJyN+B;AJ6JjC;;AQpXA;EHoFM,iBAtCY;EG5ChB,gBJgO+B;EI/N/B,gBJoN+B;AJmKjC;;AG1VA;EKpBE,gBJkEW;EIjEX,mBJiEW;EIhEX,SAAS;EACT,wCJrCa;AJuZf;;AQ1WA;;EHMI,cAAW;EGHb,gBJ6K+B;AJgMjC;;AQ1WA;;EAEE,cJmNgC;EIlNhC,yBJ2NmC;AJkJrC;;AQrWA;EC/EE,eAAe;EACf,gBAAgB;ATwblB;;AQrWA;ECpFE,eAAe;EACf,gBAAgB;AT6blB;;AQvWA;EACE,qBAAqB;AR0WvB;;AQ3WA;EAII,oBJqM+B;AJsKnC;;AQjWA;EHjCI,cAAW;EGmCb,yBAAyB;ARoW3B;;AQhWA;EACE,mBJSW;ECMP,kBAtCY;AL2XlB;;AQhWA;EACE,cAAc;EH7CZ,cAAW;EG+Cb,cJtGgB;AJyclB;;AQtWA;EAMI,qBAAqB;ARoWzB;;AUvdA;ECIE,eAAe;EAGf,YAAY;AXqdd;;AUtdA;EACE,gBNqzBwC;EMpzBxC,yBNJgB;EMKhB,yBNFgB;EQTd,sBRgNgC;ESrM9B,0CTKS;EOVb,eAAe;EAGf,YAAY;AX+dd;;AUjdA;EAEE,qBAAqB;AVmdvB;;AUhdA;EACE,qBAA0B;EAC1B,cAAc;AVmdhB;;AUhdA;ELkCI,cAAW;EKhCb,cNvBgB;AJ0elB;;Ac1fA;ETuEI,gBAAW;ESrEb,cVoCe;EUnCf,qBAAqB;Ad6fvB;;Ac1fE;EACE,cAAc;Ad6flB;;AcxfA;EACE,sBVo3BuC;EC1zBrC,gBAAW;ESxDb,cVLgB;EUMhB,yBVGgB;EQfd,qBRkN+B;ESvM7B,iDTKS;AJyff;;AcjgBA;EASI,UAAU;ETkDV,eAAW;EShDX,gBV2N6B;ESnO3B,gBCSsB;Ad4f5B;;AGrTA;EWjME,cAAc;ETyCZ,gBAAW;ESvCb,cVbgB;AJugBlB;;Ac7fA;ET0CI,kBAAW;ESlCX,cAAc;EACd,kBAAkB;Ad0ftB;;AcrfA;EACE,iBV21BuC;EU11BvC,kBAAkB;AdwfpB;;AehiBE;ECDA,WAAW;EACX,oBAA0B;EAC1B,mBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AhBqiBnB;;AiBlfI;EFtDF;ICWI,gBZ0KW;EJwXf;AACF;;AiBxfI;EFtDF;ICWI,gBZ2KW;EJ6Xf;AACF;;AiB9fI;EFtDF;ICWI,gBZ4KW;EJkYf;AACF;;AiBpgBI;EFtDF;ICWI,iBZ6KY;EJuYhB;AACF;;Ae1jBE;ECPA,WAAW;EACX,oBAA0B;EAC1B,mBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AhBqkBnB;;AiBlhBI;EFrCE;IACE,gBXmKS;EJwZf;AACF;;AiBxhBI;EFrCE;IACE,gBXoKS;EJ6Zf;AACF;;AiB9hBI;EFrCE;IACE,gBXqKS;EJkaf;AACF;;AiBpiBI;EFrCE;IACE,iBXsKU;EJuahB;AACF;;Ae1jBE;ECrBA,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,oBAA0B;EAC1B,mBAAyB;AhBmlB3B;;Ae3jBE;EACE,eAAe;EACf,cAAc;Af8jBlB;;AehkBE;;EAMI,gBAAgB;EAChB,eAAe;Af+jBrB;;AkBjnBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,oBAA0B;EAC1B,mBAAyB;AlBynB7B;;AkBtmBM;EACE,0BAAa;EAAb,aAAa;EACb,oBAAY;EAAZ,YAAY;EACZ,eAAe;AlBymBvB;;AkBrmBQ;EF4BJ,kBAAuB;EAAvB,cAAuB;EACvB,eAAwB;AhB6kB5B;;AkB1mBQ;EF4BJ,iBAAuB;EAAvB,aAAuB;EACvB,cAAwB;Line truncated
"file": "adminlte.css",
"sourcesContent": [
"/*!\n * AdminLTE v3.0.4\n * Author: Colorlib\n * Website: AdminLTE.io <http://adminlte.io>\n * License: Open source - MIT <http://opensource.org/licenses/MIT>\n */\n// Bootstrap\n// ---------------------------------------------------\n@import '~bootstrap/scss/functions';\n@import 'bootstrap-variables';\n@import '~bootstrap/scss/bootstrap';\n\n// Variables and Mixins\n// ---------------------------------------------------\n@import 'variables';\n@import 'mixins';\n\n@import 'parts/core';\n@import 'parts/components';\n@import 'parts/extra-components';\n@import 'parts/pages';\n@import 'parts/plugins';\n@import 'parts/miscellaneous';\n\n",
"/*!\n * AdminLTE v3.0.4\n * Author: Colorlib\n * Website: AdminLTE.io <http://adminlte.io>\n * License: Open source - MIT <http://opensource.org/licenses/MIT>\n */\n/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #ffffff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: \"Source Sans Pro\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: \"Source Sans Pro\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #ffffff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: none;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[typeLine truncated
"/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n",
"// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n",
"// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {Line truncated
"// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #ffffff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: #1F2D3D !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: none !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your laLine truncated
"// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `emLine truncated
"// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !deLine truncated
"// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n",
"// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n",
"// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n",
"// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n",
"// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n",
"// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n",
"@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n\n @if (length($shadow) == 1) {\n // We can pass `@include box-shadow(none);`\n $result: $shadow;\n } @else {\n // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`\n @for $i from 1 through length($shadow) {\n @if nth($shadow, $i) != \"none\" {\n $result: append($result, nth($shadow, $i), \"comma\");\n }\n }\n }\n @if (length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n",
"// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n",
"// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n",
"/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n",
"// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n",
"// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n",
"//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n",
"// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n",
"// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n $string: str-replace($string, $char, $encoded);\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n",
"// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// FLine truncated
"// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n",
"// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @includeLine truncated
"// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n",
"// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n",
"// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",
".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n",
"// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n",
"@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n",
"// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n",
"// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n",
"// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd likeLine truncated
"// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custLine truncated
"// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n",
"// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n Line truncated
"//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-liLine truncated
".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",
".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n",
"// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n",
"// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n",
"@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",
".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n",
"//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n",
"@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n",
"// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",
".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n",
"// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n",
"// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",
".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",
".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n",
"// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-bordLine truncated
"// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n",
"@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",
".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n",
"// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n",
"@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n",
"//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n",
"// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n",
"// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n",
"// stylelint-disable property-blacklist, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n",
"// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n",
"// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n",
"// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n",
"//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n",
"// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n",
"// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n",
"//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // IE & < Edge 18\n overflow-wrap: break-word !important;\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n",
"// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",
"// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n",
"// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n",
"// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n",
"// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n",
"//\n// Core: Layout\n//\n\nhtml.scroll-smooth {\n scroll-behavior: smooth;\n}\n\nhtml,\nbody,\n.wrapper {\n min-height: 100%;\n}\n\n.wrapper {\n position: relative;\n\n & .content-wrapper {\n min-height: calc(100vh - #{$main-header-height} - #{$main-footer-height});\n }\n\n .layout-boxed & {\n @include box-shadow(0 0 10 rgba($black, .3));\n\n &,\n &::before {\n margin: 0 auto;\n max-width: $boxed-layout-max-width;\n }\n\n & .main-sidebar {\n left: inherit;\n }\n }\n\n @supports not (-webkit-touch-callout: none) {\n .layout-fixed & .sidebar {\n height: calc(100vh - (#{$main-header-height-inner} + #{$main-header-bottom-border-width}));\n }\n .layout-fixed.text-sm & .sidebar {\n height: calc(100vh - (#{$main-header-height-sm-inner} + #{$main-header-bottom-border-width}));\n }\n }\n\n .layout-navbar-fixed.layout-fixed & {\n .control-sidebar {\n top: $main-header-height;\n }\n\n .main-header.text-sm ~ .control-sidebar {\n top: $main-header-height-sm;\n }\n\n .sidebar {\n margin-top: $main-header-height;\n }\n\n .brand-link.text-sm ~ .sidebar {\n margin-top: $main-header-height-sm;\n }\n }\n\n .layout-navbar-fixed.layout-fixed.text-sm & {\n .control-sidebar {\n top: $main-header-height-sm;\n }\n\n .sidebar {\n margin-top: $main-header-height-sm;\n }\n }\n\n .layout-navbar-fixed.sidebar-mini.sidebar-collapse &,\n .layout-navbar-fixed.sidebar-mini-md.sidebar-collapse & {\n .brand-link {\n height: $main-header-height;\n width: $sidebar-mini-width;\n\n &.text-sm {\n height: $main-header-height-sm;\n }\n }\n }\n\n .layout-navbar-fixed.sidebar-mini.sidebar-collapse.text-sm &,\n .layout-navbar-fixed.sidebar-mini-md.sidebar-collapse.text-sm & {\n .brand-link {\n height: $main-header-height-sm;\n }\n }\n\n body:not(.layout-fixed).layout-navbar-fixed & {\n .main-sidebar {\n margin-top: calc(#{$main-header-height} / -1);\n\n .sidebar {\n margin-top: $main-header-height;\n }\n }\n }\n\n body:not(.layout-fixed).layout-navbar-fixed.text-sm & {\n .main-sidebar {\n margin-top: calc(#{$main-header-height-sm} / -1);\n\n .sidebar {\n margin-top: $main-header-height-sm;\n }\n }\n }\n\n .layout-navbar-fixed & {\n .control-sidebar {\n top: 0;\n }\n\n a.anchor {\n display: block;\n position: relative;\n top: calc((#{$main-header-height-inner} + #{$main-header-bottom-border-width} + (#{$main-header-link-padding-y} * 2)) / -1);\n }\n\n .main-sidebar:hover {\n .brand-link {\n transition: width $transition-speed $transition-fn;\n width: $sidebar-width;\n }\n }\n\n .brand-link {\n overflow: hidden;\n position: fixed;\n top: 0;\n transition: width $transition-speed $transition-fn;\n width: $sidebar-width;\n z-index: $zindex-main-header + 1;\n }\n\n // Sidebar variants brand-link fix\n @each $name, $color in $theme-colors {\n .sidebar-dark-#{$name} .brand-link:not([class*=\"navbar\"]) {\n background-color: $sidebar-dark-bg;\n }\n\n .sidebar-light-#{$name} .brand-link:not([class*=\"navbar\"]) {\n background-color: $sidebar-light-bg;\n }\n }\n\n .content-wrapper {\n margin-top: $main-header-height;\n }\n\n .main-header.text-sm ~ .content-wrapper {\n margin-top: $main-header-height-sm;\n }\n\n .main-header {\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n z-index: $zindex-main-header - 1;\n }\n }\n\n .layout-navbar-fixed.text-sm & {\n .content-wrapper {\n margin-top: $main-header-height-sm;\n }\n }\n\n .layout-navbar-not-fixed & {\n .brand-link {\n position: static;\n }\n\n .sidebar,\n .content-wrapper {\n margin-top: 0;\n }\n\n .main-header {\n position: static;\n }\n }\n\n .layout-navbar-not-fixed.layout-fixed & {\n .sidebar {\n margin-top: 0;\n }\n }\n\n @each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .layout#{$infix}-navbar-fixed.layout-fixed & {\n .control-sidebar {\n top: $main-header-height;\n }\n\n .text-sm & .main-header ~ .control-sidebar,\n .main-header.text-sm ~ .control-sidebar {\n top: $main-header-height-sm;\n }\n\n .sidebar {\n margin-top: $main-header-height;\n }\n\n .text-sm & .brand-link ~ .sidebar,\n .brand-link.text-sm ~ .sidebar {\n margin-top: $main-header-height-sm;\n }\n }\n\n .layout#{$infix}-navbar-fixed.layout-fixed.text-sm & {\n .control-sidebar {\n top: $main-header-height-sm;\n }\n\n .sidebar {\n margin-top: $main-header-height-sLine truncated
"//\n// Core: Variables\n//\n\n// COLORS\n// --------------------------------------------------------\n$blue: #0073b7 !default;\n$lightblue: #3c8dbc !default;\n$navy: #001f3f !default;\n$teal: #39cccc !default;\n$olive: #3d9970 !default;\n$lime: #01ff70 !default;\n$orange: #ff851b !default;\n$fuchsia: #f012be !default;\n$purple: #605ca8 !default;\n$maroon: #d81b60 !default;\n$black: #111 !default;\n$gray-x-light: #d2d6de !default;\n\n$colors: map-merge((\n 'lightblue': $lightblue,\n 'navy': $navy,\n 'olive': $olive,\n 'lime': $lime,\n 'fuchsia': $fuchsia,\n 'maroon': $maroon,\n), $colors);\n\n// LAYOUT\n// --------------------------------------------------------\n\n$font-size-root: 1rem !default;\n\n// Sidebar\n$sidebar-width: 250px !default;\n$sidebar-padding-x: 0.5rem !default;\n$sidebar-padding-y: 0 !default;\n\n// Boxed layout maximum width\n$boxed-layout-max-width: 1250px !default;\n\n// When to show the smaller logo\n$screen-header-collapse: map-get($grid-breakpoints, md) !default;\n\n// Body background (Affects main content background only)\n$main-bg: #f4f6f9 !default;\n\n// Content padding\n$content-padding-y: 0 !default;\n$content-padding-x: $navbar-padding-x !default;\n\n// IMAGE SIZES\n// --------------------------------------------------------\n$img-size-sm: 1.875rem !default;\n$img-size-md: 3.75rem !default;\n$img-size-lg: 6.25rem !default;\n$img-size-push: .625rem !default;\n\n// MAIN HEADER\n// --------------------------------------------------------\n$main-header-bottom-border-width: $border-width !default;\n$main-header-bottom-border-color: $gray-300 !default;\n$main-header-bottom-border: $main-header-bottom-border-width solid $main-header-bottom-border-color !default;\n$main-header-link-padding-y: $navbar-padding-y !default;\n$main-header-link-padding-x: $navbar-padding-x !default;\n$main-header-brand-padding-y: $navbar-brand-padding-y !default;\n$main-header-brand-padding-x: $navbar-padding-x !default;\n$main-header-height-inner: ($nav-link-height + ($main-header-link-padding-y * 2)) !default;\n$main-header-height: calc(#{$main-header-height-inner} + #{$main-header-bottom-border-width}) !default;\n$nav-link-sm-padding-y: .35rem !default;\n$nav-link-sm-height: ($font-size-sm * $line-height-sm + $nav-link-sm-padding-y * 1.785) !default;\n$main-header-height-sm-inner: ($nav-link-sm-height + ($main-header-link-padding-y * 2)) !default;\n$main-header-height-sm: calc(#{$main-header-height-sm-inner} + #{$main-header-bottom-border-width}) !default;\n\n\n// Main header skins\n$main-header-dark-form-control-bg: hsla(100, 100%, 100%, 0.2) !default;\n$main-header-dark-form-control-focused-bg: hsla(100, 100%, 100%, 0.6) !default;\n$main-header-dark-form-control-focused-color: $gray-800 !default;\n$main-header-dark-form-control-border: 0 !default;\n$main-header-dark-form-control-focused-border: 0 !default;\n$main-header-dark-placeholder-color: hsla(100, 100%, 100%, 0.6) !default;\n\n$main-header-light-form-control-bg: darken($gray-100, 2%) !default;\n$main-header-light-form-control-focused-bg: $gray-200 !default;\n$main-header-light-form-control-focused-color: $gray-800 !default;\n$main-header-light-form-control-border: 0 !default;\n$main-header-light-form-control-focused-border: 0 !default;\n$main-header-light-placeholder-color: hsla(0, 0%, 0%, 0.6) !default;\n\n// MAIN FOOTER\n// --------------------------------------------------------\n$main-footer-padding: 1rem !default;\n$main-footer-padding-sm: $main-footer-padding * .812 !default;\n$main-footer-border-top-width: 1px !default;\n$main-footer-border-top-color: $gray-300 !default;\n$main-footer-border-top: $main-footer-border-top-width solid $main-footer-border-top-color !default;\n$main-footer-height-inner: (($font-size-root * $line-height-base) + ($main-footer-padding * 2)) !default;\n$main-footer-height: calc(#{$main-footer-height-inner} + #{$main-footer-border-top-width}) !default;\n$main-footer-height-sm-inner: (($font-size-sm * $line-height-base) + ($main-footer-padding-sm * 2)) !default;\n$main-footer-height-sm: calc(#{$main-footer-height-sm-inner} + #{$main-footer-border-top-width}) !default;\n$main-footer-bg: $white !default;\n\n// SIDEBAR SKINS\n// --------------------------------------------------------\n\n// Dark sidebar\n$sidebar-dark-bg: $dark !default;\n$sidebar-dark-hover-bg: hsla(100, 100%, 100%, 0.1) !default;\n$sidebar-dark-color: #C2C7D0 !default;\n$sidebar-dark-hover-color: $white !default;\n$sidebar-dark-active-color: $white !default;\n$sidebar-dark-submenu-bg: transparent !default;\n$sidebar-dark-submenu-color: #C2C7D0 !default;\n$sidebar-dark-submenu-hover-color: $white !default;\n$sidebar-dark-submenu-hover-bg: $sidebar-dark-hover-bg !default;\n$sidebar-dark-submenu-active-color: $sidebar-dark-bg !default;\n$sidebar-dark-submenu-active-bg: hsla(100, 100%, 100%, 0.9) !default;\n$sidebar-dark-header-color: $white !default;\n\n// Light sidebar\n$sidebar-light-bg: $white !default;\n$sidebar-light-hover-bg:Line truncated
"//\n// Component: Main Header\n//\n \n.main-header {\n border-bottom: $main-header-bottom-border;\n z-index: $zindex-main-header;\n\n .nav-link {\n height: $nav-link-height;\n position: relative;\n }\n\n .text-sm &,\n &.text-sm {\n .nav-link {\n height: $nav-link-sm-height;\n padding: $nav-link-sm-padding-y $nav-link-padding-x;\n\n > .fa,\n > .fas,\n > .far,\n > .fab,\n > .glyphicon,\n > .ion {\n font-size: $font-size-sm;\n }\n }\n\n }\n\n .navbar-nav {\n .nav-item {\n margin: 0;\n }\n\n &[class*='-right'] {\n .dropdown-menu {\n left: auto;\n margin-top: -3px;\n right: 0;\n\n @media (max-width: breakpoint-max(xs)) {\n left: 0;\n right: auto;\n }\n }\n }\n }\n}\n\n// Add this class to images within a nav-link\n.navbar-img {\n height: $main-header-height / 2;\n width: auto;\n}\n\n// Navbar badge\n.navbar-badge {\n font-size: .6rem;\n font-weight: 300;\n padding: 2px 4px;\n position: absolute;\n right: 5px;\n top: 9px;\n}\n\n.btn-navbar {\n background-color: transparent;\n border-left-width: 0;\n}\n\n.form-control-navbar {\n border-right-width: 0;\n\n & + .input-group-append {\n margin-left: 0;\n }\n}\n\n.form-control-navbar,\n.btn-navbar {\n transition: none;\n}\n\n.navbar-dark {\n .form-control-navbar,\n .btn-navbar {\n background-color: $main-header-dark-form-control-bg;\n border: $main-header-dark-form-control-border;\n }\n\n .form-control-navbar {\n &::placeholder {\n color: $main-header-dark-placeholder-color;\n }\n\n + .input-group-append > .btn-navbar {\n color: $main-header-dark-placeholder-color;\n }\n\n &:focus {\n &,\n & + .input-group-append .btn-navbar {\n background-color: $main-header-dark-form-control-focused-bg;\n border: $main-header-dark-form-control-focused-border !important;\n color: $main-header-dark-form-control-focused-color;\n }\n }\n }\n}\n\n.navbar-light {\n .form-control-navbar,\n .btn-navbar {\n background-color: $main-header-light-form-control-bg;\n border: $main-header-light-form-control-border;\n }\n\n .form-control-navbar {\n &::placeholder {\n color: $main-header-light-placeholder-color;\n }\n\n + .input-group-append > .btn-navbar {\n color: $main-header-light-placeholder-color;\n }\n\n &:focus {\n &,\n & + .input-group-append .btn-navbar {\n background-color: $main-header-light-form-control-focused-bg;\n border: $main-header-light-form-control-focused-border !important;\n color: $main-header-light-form-control-focused-color;\n }\n }\n }\n}\n",
"//\n// Component: Brand\n//\n\n.brand-link {\n $brand-link-padding-y: $navbar-brand-padding-y + $navbar-padding-y;\n display: block;\n font-size: $navbar-brand-font-size;\n line-height: $line-height-lg;\n padding: $brand-link-padding-y $sidebar-padding-x;\n transition: width $transition-speed $transition-fn;\n white-space: nowrap;\n\n &:hover {\n color: $white;\n text-decoration: none;\n }\n\n .text-sm & {\n font-size: inherit;\n }\n\n [class*='sidebar-dark'] & {\n border-bottom: 1px solid lighten($dark, 10%);\n color: rgba($white, .8);\n }\n\n [class*='sidebar-light'] & {\n border-bottom: 1px solid $gray-300;\n color: rgba($black, .8);\n }\n\n .brand-image {\n float: left;\n line-height: .8;\n margin-left: .8rem;\n margin-right: .5rem;\n margin-top: -3px;\n max-height: 33px;\n width: auto;\n }\n\n .brand-image-xs {\n float: left;\n line-height: .8;\n margin-top: -.1rem;\n max-height: 33px;\n width: auto;\n }\n\n .brand-image-xl {\n line-height: .8;\n max-height: 40px;\n width: auto;\n }\n\n &.text-sm,\n .text-sm & {\n .brand-image {\n height: 29px;\n margin-bottom: -.25rem;\n margin-left: .95rem;\n margin-top: -.25rem;\n }\n\n .brand-image-xs {\n margin-top: -.2rem;\n max-height: 29px;\n }\n\n .brand-image-xl {\n margin-top: -.225rem;\n max-height: 38px;\n }\n }\n}\n",
"//\n// Component: Main Sidebar\n//\n\n.main-sidebar {\n height: 100vh;\n overflow-y: hidden;\n z-index: $zindex-main-sidebar;\n\n // Remove Firefox Focusring\n a {\n &:-moz-focusring {\n border: 0;\n outline: none;\n }\n }\n\n}\n\n.sidebar {\n height: calc(100% - (#{$main-header-height-inner} + #{$main-header-bottom-border-width}));\n overflow-y: auto;\n padding-bottom: $sidebar-padding-y;\n padding-left: $sidebar-padding-x;\n padding-right: $sidebar-padding-x;\n padding-top: $sidebar-padding-y;\n}\n\n// Sidebar user panel\n.user-panel {\n position: relative;\n\n [class*='sidebar-dark'] & {\n border-bottom: 1px solid lighten($dark, 12%);\n }\n\n [class*='sidebar-light'] & {\n border-bottom: 1px solid $gray-300;\n }\n\n &,\n .info {\n overflow: hidden;\n white-space: nowrap;\n }\n\n .image {\n display: inline-block;\n padding-left: $nav-link-padding-x - .2;\n }\n\n img {\n height: auto;\n width: $sidebar-user-image-width;\n }\n\n .info {\n display: inline-block;\n padding: 5px 5px 5px 10px;\n }\n\n .status,\n .dropdown-menu {\n font-size: $font-size-sm;\n }\n}\n\n// Sidebar navigation menu\n.nav-sidebar {\n // All levels\n .nav-item {\n > .nav-link {\n margin-bottom: .2rem;\n\n .right {\n @include transition(transform $transition-fn $transition-speed);\n }\n }\n }\n\n .nav-link > .right,\n .nav-link > p > .right {\n position: absolute;\n right: 1rem;\n top: .7rem;\n\n i,\n span {\n margin-left: .5rem;\n }\n\n &:nth-child(2) {\n right: 2.2rem;\n }\n }\n\n .menu-open {\n > .nav-treeview {\n display: block;\n }\n\n > .nav-link {\n i.right {\n @include rotate(-90deg);\n }\n }\n }\n\n // First Level\n > .nav-item {\n margin-bottom: 0;\n\n .nav-icon {\n margin-left: .05rem;\n font-size: 1.2rem;\n margin-right: .2rem;\n text-align: center;\n width: $sidebar-nav-icon-width;\n\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n font-size: 1.1rem;\n }\n }\n\n .float-right {\n margin-top: 3px;\n }\n }\n\n // Tree view menu\n .nav-treeview {\n display: none;\n list-style: none;\n padding: 0;\n\n > .nav-item {\n > .nav-link {\n > .nav-icon {\n width: $sidebar-nav-icon-width;\n }\n }\n }\n }\n\n &.nav-child-indent {\n .nav-treeview {\n transition: padding $transition-speed $transition-fn;\n padding-left: 1rem;\n\n .text-sm & {\n padding-left: .5rem;\n }\n }\n\n &.nav-legacy {\n .nav-treeview { \n .nav-treeview {\n padding-left: 2rem;\n margin-left: -1rem;\n\n .text-sm & { \n padding-left: 1rem;\n margin-left: -.5rem;\n }\n }\n }\n }\n }\n\n .nav-header {\n font-size: .9rem;\n padding: $nav-link-padding-y;\n\n &:not(:first-of-type) {\n padding: 1.7rem 1rem .5rem;\n }\n }\n\n .nav-link p {\n display: inline-block;\n margin: 0;\n }\n}\n\n#sidebar-overlay {\n @include media-breakpoint-down(md) {\n .sidebar-open & {\n display: block;\n }\n }\n\n background-color: rgba($black, 0.1);\n bottom: 0;\n display: none;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n z-index: $zindex-main-sidebar - 1;\n}\n\n[class*='sidebar-light-'] {\n // Sidebar background color\n background-color: $sidebar-light-bg;\n\n // User Panel (resides in the sidebar)\n .user-panel {\n a:hover {\n color: $sidebar-light-hover-color;\n }\n\n .status {\n background: $sidebar-light-hover-bg;\n color: $sidebar-light-color;\n\n &:hover,\n &:focus,\n &:active {\n background: darken($sidebar-light-hover-bg, 3%);\n color: $sidebar-light-hover-color;\n }\n }\n\n .dropdown-menu {\n @include box-shadow(0 2px 4px rgba(0, 0, 0, .4));\n border-color: darken($sidebar-light-hover-bg, 5%);\n }\n\n .dropdown-item {\n color: $body-color;\n }\n }\n\n // Sidebar Menu. First level links\n .nav-sidebar > .nav-item {\n // links\n > .nav-link {\n // border-left: 3px solid transparent;\n &:active,\n &:focus {\n color: $sidebar-light-color;\n }\n }\n\n // Hover and active states\n &.menu-open > .nav-link,\n &:hover > .nav-link {\n background-color: $sidebar-light-hover-bg;\n color: $sidebar-light-hover-color;\n }\n\n > .nav-link.active {\n color: $sidebar-light-active-color;\n\n @if $enable-shadows {\n box-shadow: map-get($elevations, 1);\n }\n }\n\n // First Level Submenu\n > .nav-treeview {\n background: $sidebar-light-submenu-bg;\n }\n }\n\n // Section Heading\n .nav-header {\n background: inherit;\n color: darken($sidebar-light-color, 5%);\n }\n\n // All links Line truncated
"//\n// Mixins: Miscellaneous\n//\n\n// ETC\n@mixin translate($x, $y) {\n transform: translate($x, $y);\n}\n\n// Different radius each side\n@mixin border-radius-sides($top-left, $top-right, $bottom-left, $bottom-right) {\n border-radius: $top-left $top-right $bottom-left $bottom-right;\n}\n\n@mixin calc($property, $expression) {\n #{$property}: calc(#{$expression});\n}\n\n@mixin rotate($value) {\n transform: rotate($value);\n}\n\n@mixin animation($animation) {\n animation: $animation;\n}\n\n// Gradient background\n@mixin gradient($color: #F5F5F5, $start: #EEE, $stop: #FFF) {\n background: $color;\n background: -webkit-gradient(linear, left bottom, left top, color-stop(0, $start), color-stop(1, $stop));\n background: -ms-linear-gradient(bottom, $start, $stop);\n background: -moz-linear-gradient(center bottom, $start 0%, $stop 100%);\n background: -o-linear-gradient($stop, $start);\n}\n\n",
"//\n// Mixins: Sidebar\n//\n\n// Sidebar Color\n@mixin sidebar-color($color) {\n .nav-sidebar > .nav-item {\n & > .nav-link.active {\n background-color: $color;\n color: color-yiq($color);\n }\n }\n\n .nav-sidebar.nav-legacy > .nav-item {\n & > .nav-link.active {\n border-color: $color;\n }\n }\n}\n\n// Sidebar Mini Breakpoints\n@mixin sidebar-mini-breakpoint() {\n // A fix for text overflow while transitioning from sidebar mini to full sidebar\n .nav-sidebar,\n .nav-sidebar > .nav-header,\n .nav-sidebar .nav-link {\n white-space: nowrap;\n overflow: hidden;\n }\n\n // When the sidebar is collapsed...\n &.sidebar-collapse {\n .d-hidden-mini {\n display: none;\n }\n\n // Apply the new margins to the main content and footer\n .content-wrapper,\n .main-footer,\n .main-header {\n margin-left: $sidebar-mini-width !important;\n }\n\n // Make the sidebar headers\n .nav-sidebar .nav-header {\n display: none;\n }\n\n .nav-sidebar .nav-link p {\n width: 0;\n }\n\n .sidebar .user-panel > .info,\n .nav-sidebar .nav-link p,\n .brand-text {\n margin-left: -10px;\n opacity: 0;\n visibility: hidden;\n }\n\n .logo-xl {\n opacity: 0;\n visibility: hidden;\n }\n\n .logo-xs {\n display: inline-block;\n opacity: 1;\n visibility: visible;\n }\n\n // Modify the sidebar to shrink instead of disappearing\n .main-sidebar {\n overflow-x: hidden;\n\n &,\n &::before {\n // Don't go away! Just shrink\n margin-left: 0;\n width: $sidebar-mini-width;\n }\n\n .user-panel {\n .image {\n float: none;\n }\n }\n\n &:hover,\n &.sidebar-focused {\n width: $sidebar-width;\n\n .brand-link {\n width: $sidebar-width;\n }\n\n .user-panel {\n text-align: left;\n\n .image {\n float: left;\n }\n }\n\n .user-panel > .info,\n .nav-sidebar .nav-link p,\n .brand-text,\n .logo-xl {\n display: inline-block;\n margin-left: 0;\n opacity: 1;\n visibility: visible;\n }\n\n .logo-xs {\n opacity: 0;\n visibility: hidden;\n }\n\n .brand-image {\n margin-right: .5rem;\n }\n\n // Make the sidebar links, menus, labels, badges\n // and angle icons disappear\n .sidebar-form,\n .user-panel > .info {\n display: block !important;\n -webkit-transform: translateZ(0);\n }\n\n .nav-sidebar > .nav-item > .nav-link > span {\n display: inline-block !important;\n }\n }\n }\n\n // Make an element visible only when sidebar mini is active\n .visible-sidebar-mini {\n display: block !important;\n }\n\n &.layout-fixed {\n .main-sidebar:hover {\n .brand-link {\n width: $sidebar-width;\n }\n }\n\n .brand-link {\n width: $sidebar-mini-width;\n }\n }\n }\n}\n",
"//\n// Component: Sidebar Mini\n//\n\n// Logo style\n.logo-xs,\n.logo-xl {\n opacity: 1;\n position: absolute;\n visibility: visible;\n\n &.brand-image-xs {\n left: 18px;\n top: 12px;\n }\n\n &.brand-image-xl {\n left: 12px;\n top: 6px;\n }\n}\n\n.logo-xs {\n opacity: 0;\n visibility: hidden;\n\n &.brand-image-xl {\n left: 16px;\n top: 8px;\n }\n}\n\n.brand-link {\n &.logo-switch {\n &::before {\n content: '\\00a0';\n }\n }\n}\n\n// Add sidebar-mini class to the body tag to activate this feature\n.sidebar-mini {\n @include media-breakpoint-up(lg) {\n @include sidebar-mini-breakpoint;\n }\n}\n@include media-breakpoint-down(md) {\n .sidebar-mini.sidebar-collapse .main-sidebar {\n box-shadow: none !important;\n }\n}\n\n.sidebar-mini-md {\n @include media-breakpoint-up(md) {\n @include sidebar-mini-breakpoint;\n }\n}\n@include media-breakpoint-down(sm) {\n .sidebar-mini-md.sidebar-collapse .main-sidebar {\n box-shadow: none !important;\n }\n}\n\n.sidebar-collapse {\n .main-sidebar.sidebar-focused,\n .main-sidebar:hover {\n .nav-header {\n display: inline-block;\n }\n }\n\n .sidebar-no-expand.main-sidebar.sidebar-focused,\n .sidebar-no-expand.main-sidebar:hover {\n width: $sidebar-mini-width;\n\n .nav-header {\n display: none;\n }\n\n .brand-link {\n width: $sidebar-mini-width !important;\n }\n\n .user-panel .image {\n float: none !important;\n }\n\n .logo-xs {\n opacity: 1;\n visibility: visible;\n }\n\n .logo-xl {\n opacity: 0;\n visibility: hidden;\n }\n\n .nav-sidebar.nav-child-indent .nav-treeview {\n padding-left: 0;\n }\n\n .brand-text,\n .user-panel > .info,\n .nav-sidebar .nav-link p {\n margin-left: -10px;\n opacity: 0;\n visibility: hidden;\n width: 0;\n }\n\n .nav-sidebar > .nav-item .nav-icon {\n margin-right: 0;\n }\n }\n}\n\n.nav-sidebar {\n position: relative;\n\n &:hover {\n overflow: visible;\n }\n}\n\n.sidebar-form,\n.nav-sidebar > .nav-header {\n overflow: hidden;\n text-overflow: clip;\n}\n\n.nav-sidebar .nav-item > .nav-link {\n position: relative;\n\n > .float-right {\n margin-top: -7px;\n position: absolute;\n right: 10px;\n top: 50%;\n }\n}\n\n.sidebar .nav-link p,\n.main-sidebar .brand-text,\n.main-sidebar .logo-xs,\n.main-sidebar .logo-xl,\n.sidebar .user-panel .info {\n @include transition(margin-left $transition-speed linear, opacity $transition-speed ease, visibility $transition-speed ease)\n}\n",
"//\n// Component: Control Sidebar\n//\n \nhtml.control-sidebar-animate {\n overflow-x: hidden;\n}\n\n.control-sidebar {\n bottom: $main-footer-height;\n position: absolute;\n top: $main-header-height;\n z-index: $zindex-control-sidebar;\n \n &,\n &::before {\n bottom: $main-footer-height;\n display: none;\n right: -$control-sidebar-width;\n width: $control-sidebar-width;\n @include transition(right $transition-speed $transition-fn, display $transition-speed $transition-fn);\n }\n\n &::before {\n content: '';\n display: block;\n position: fixed;\n top: 0;\n z-index: -1;\n }\n}\n\nbody.text-sm {\n .control-sidebar {\n bottom: $main-footer-height-sm;\n top: $main-header-height-sm;\n }\n}\n\n.main-header.text-sm ~ .control-sidebar {\n top: $main-header-height-sm;\n}\n\n.main-footer.text-sm ~ .control-sidebar {\n bottom: $main-footer-height-sm;\n}\n\n.control-sidebar-push-slide {\n .content-wrapper,\n .main-footer {\n @include transition(margin-right $transition-speed $transition-fn);\n }\n }\n\n// Control sidebar open state\n.control-sidebar-open {\n .control-sidebar {\n display: block;\n\n &,\n &::before {\n right: 0;\n }\n }\n\n &.control-sidebar-push,\n &.control-sidebar-push-slide {\n .content-wrapper,\n .main-footer {\n margin-right: $control-sidebar-width;\n }\n }\n}\n\n// Control sidebar slide over content state\n.control-sidebar-slide-open {\n .control-sidebar {\n display: block;\n\n &,\n &::before {\n right: 0;\n @include transition(right $transition-speed $transition-fn, display $transition-speed $transition-fn);\n }\n }\n\n &.control-sidebar-push,\n &.control-sidebar-push-slide {\n .content-wrapper,\n .main-footer {\n margin-right: $control-sidebar-width;\n }\n }\n}\n\n// Dark skin\n.control-sidebar-dark {\n &,\n a,\n .nav-link {\n color: $sidebar-dark-color;\n }\n\n // Background\n & {\n background: $sidebar-dark-bg;\n }\n\n a:hover {\n color: $sidebar-dark-hover-color;\n }\n\n // Headers and labels\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n label {\n color: $sidebar-dark-hover-color;\n }\n\n // Tabs\n .nav-tabs {\n background-color: $sidebar-dark-hover-bg;\n border-bottom: 0;\n margin-bottom: 5px;\n\n .nav-item {\n margin: 0;\n }\n\n .nav-link {\n border-radius: 0;\n padding: 10px 20px;\n position: relative;\n text-align: center;\n\n &,\n &:hover,\n &:active,\n &:focus,\n &.active {\n border: 0;\n }\n\n &:hover,\n &:active,\n &:focus,\n &.active {\n border-bottom-color: transparent;\n border-left-color: transparent;\n border-top-color: transparent;\n color: $sidebar-dark-hover-color;\n }\n\n &.active {\n background-color: $sidebar-dark-bg;\n }\n }\n }\n\n .tab-pane {\n padding: 10px 15px;\n }\n}\n\n// Light skin\n.control-sidebar-light {\n color: lighten($sidebar-light-color, 10%);\n\n // Background\n & {\n background: $sidebar-light-bg;\n border-left: $main-header-bottom-border;\n }\n}\n",
"//\n// Component: Dropdown\n//\n\n// General Dropdown Rules\n//.dropdown-item {\n// &:first-of-type {\n// @include border-top-radius($border-radius);\n// }\n// &:last-of-type {\n// @include border-bottom-radius($border-radius);\n// }\n//}\n\n.text-sm {\n .dropdown-menu {\n font-size: $font-size-sm !important;\n }\n\n .dropdown-toggle::after {\n vertical-align: .2rem\n }\n}\n\n.dropdown-item-title {\n font-size: $font-size-base;\n margin: 0;\n}\n\n.dropdown-icon {\n &::after {\n margin-left: 0;\n }\n}\n\n// Dropdown Sizes\n.dropdown-menu-lg {\n max-width: 300px;\n min-width: 280px;\n padding: 0;\n\n .dropdown-divider {\n margin: 0;\n }\n\n .dropdown-item {\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n }\n\n p {\n margin: 0;\n white-space: normal;\n }\n}\n\n// Dropdown Submenu\n.dropdown-submenu {\n position: relative;\n\n & > a:after {\n @include caret-right;\n float: right;\n margin-left: .5rem;\n margin-top: .5rem;\n }\n\n & > .dropdown-menu {\n left: 100%;\n margin-left: 0px;\n margin-top: 0px;\n top: 0;\n }\n}\n\n// Dropdown Hover\n.dropdown-hover {\n &:hover,\n &.nav-item.dropdown:hover,\n .dropdown-submenu:hover,\n &.dropdown-submenu:hover {\n > .dropdown-menu {\n display: block;\n }\n }\n}\n\n\n\n// Dropdown Sizes\n.dropdown-menu-xl {\n max-width: 420px;\n min-width: 360px;\n padding: 0;\n\n .dropdown-divider {\n margin: 0;\n }\n\n .dropdown-item {\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n }\n\n p {\n margin: 0;\n white-space: normal;\n }\n}\n\n// Dropdown header and footer\n.dropdown-footer,\n.dropdown-header {\n display: block;\n font-size: $font-size-sm;\n padding: .5rem $dropdown-item-padding-x;\n text-align: center;\n}\n\n// Add fade animation to dropdown menus by appending \n// the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)\n.open:not(.dropup) > .animated-dropdown-menu {\n @include animation(flipInX .7s both);\n backface-visibility: visible !important;\n}\n\n@keyframes flipInX {\n 0% {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transition-timing-function: ease-in;\n }\n\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n transform: perspective(400px);\n }\n}\n\n// Fix dropdown menu in navbars\n.navbar-custom-menu > .navbar-nav {\n > li {\n position: relative;\n > .dropdown-menu {\n position: absolute;\n right: 0;\n left: auto;\n }\n }\n}\n\n@include media-breakpoint-down(sm) {\n .navbar-custom-menu > .navbar-nav {\n float: right;\n > li {\n position: static;\n > .dropdown-menu {\n position: absolute;\n right: 5%;\n left: auto;\n border: 1px solid #ddd;\n background: $white;\n }\n }\n }\n}\n\n// User Menu\n.navbar-nav > .user-menu {\n > .nav-link:after {\n content:none;\n }\n\n > .dropdown-menu {\n @include border-top-radius(0);\n padding: 0;\n width: 280px;\n\n &,\n > .user-body {\n @include border-bottom-radius(4px);\n }\n\n // Header menu\n > li.user-header {\n height: 175px;\n padding: 10px;\n text-align: center;\n\n // User image\n > img {\n z-index: 5;\n height: 90px;\n width: 90px;\n border: 3px solid;\n border-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n }\n\n > p {\n z-index: 5;\n font-size: 17px;\n //text-shadow: 2px 2px 3px #333333;\n margin-top: 10px;\n\n > small {\n display: block;\n font-size: 12px;\n }\n }\n }\n\n // Menu Body\n > .user-body {\n @include clearfix;\n border-bottom: 1px solid $gray-700;\n border-top: 1px solid $gray-300;\n padding: 15px;\n\n a {\n @include media-breakpoint-up(sm) {\n background: $white !important;\n color: $gray-700 !important;\n }\n }\n }\n\n // Menu Footer\n > .user-footer {\n @include clearfix;\n background-color: $gray-100;\n padding: 10px;\n\n .btn-default {\n color: $gray-600;\n\n &:hover {\n @include media-breakpoint-up(sm) {\n background-color: $gray-100;\n }\n }\n }\n }\n }\n\n .user-image {\n @include media-breakpoint-up(sm) {\n float: none;\n line-height: 10px;\n margin-right: .4rem;\n margin-top: -8px;\n }\n\n border-radius: 50%;\n float: left;\n height: $sidebar-user-image-width;\n margin-right: 10px;\n margin-top: -2px;\n width: $sidebar-user-image-width;\n }\n}\n",
"//\n// Component: Nav\n//\n\n.nav-pills {\n .nav-link {\n color: $gray-600;\n\n &:not(.active):hover {\n color: theme-color('primary');\n }\n }\n\n .nav-item {\n &.dropdown.show {\n .nav-link:hover {\n color: $dropdown-link-active-color;\n }\n }\n }\n}\n\n// Vertical Tabs\n.nav-tabs.flex-column {\n border-bottom: 0;\n border-right: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n border-bottom-left-radius: $nav-tabs-border-radius;\n border-top-right-radius: 0;\n margin-right: -$nav-tabs-border-width;\n\n @include hover-focus {\n border-color: $gray-200 transparent $gray-200 $gray-200;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n border-color: $gray-300 transparent $gray-300 $gray-300;\n }\n\n &.nav-tabs-right {\n border-left: $nav-tabs-border-width solid $nav-tabs-border-color;\n border-right: 0;\n\n .nav-link {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: $nav-tabs-border-radius;\n border-top-left-radius: 0;\n border-top-right-radius: $nav-tabs-border-radius;\n margin-left: -$nav-tabs-border-width;\n\n @include hover-focus {\n border-color: $gray-200 $gray-200 $gray-200 transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n border-color: $gray-300 $gray-300 $gray-300 transparent;\n }\n }\n}\n\n.navbar-no-expand {\n flex-direction: row;\n\n .nav-link {\n padding-left: $navbar-nav-link-padding-x;\n padding-right: $navbar-nav-link-padding-x;\n }\n\n .dropdown-menu {\n position: absolute;\n }\n}\n\n// Color variants\n@each $color, $value in $theme-colors {\n @if $color == dark or $color == light {\n .navbar-#{$color} {\n background-color: $value;\n }\n }\n}\n\n@each $color, $value in $theme-colors {\n @if $color != dark and $color != light {\n .navbar-#{$color} {\n background-color: $value;\n }\n }\n}\n\n@each $color, $value in $colors {\n .navbar-#{$color} {\n background-color: $value;\n }\n}\n",
"//\n// Component: Forms\n//\n \n.form-group {\n &.has-icon {\n position: relative;\n\n .form-control {\n padding-right: 35px;\n }\n\n .form-icon {\n background-color: transparent;\n border: 0;\n cursor: pointer;\n font-size: 1rem;\n // margin-top: -3px;\n padding: $input-btn-padding-y $input-btn-padding-x;\n position: absolute;\n right: 3px;\n top: 0;\n }\n }\n}\n\n// Button groups\n.btn-group-vertical {\n .btn {\n &.btn-flat:first-of-type,\n &.btn-flat:last-of-type {\n @include border-radius(0);\n }\n }\n}\n\n// Support icons in form-control\n.form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height;\n }\n}\n\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height-lg;\n }\n}\n\n.form-group-lg {\n .form-control + .form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height-lg;\n }\n }\n}\n\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height-sm;\n }\n}\n\n.form-group-sm {\n .form-control + .form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height-sm;\n }\n }\n}\n\nlabel:not(.form-check-label):not(.custom-file-label) {\n font-weight: $font-weight-bold;\n}\n\n.warning-feedback {\n @include font-size($form-feedback-font-size);\n color: theme-color('warning');\n display: none;\n margin-top: $form-feedback-margin-top;\n width: 100%;\n}\n\n.warning-tooltip {\n @include border-radius($form-feedback-tooltip-border-radius);\n @include font-size($form-feedback-tooltip-font-size);\n background-color: rgba(theme-color('warning'), $form-feedback-tooltip-opacity);\n color: color-yiq(theme-color('warning'));\n display: none;\n line-height: $form-feedback-tooltip-line-height;\n margin-top: .1rem;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n position: absolute;\n top: 100%;\n z-index: 5;\n}\n\n.form-control {\n &.is-warning {\n border-color: theme-color('warning');\n\n @if $enable-validation-icons {\n // padding-right: $input-height-inner;\n // background-image: none;\n // background-repeat: no-repeat;\n // background-position: center right $input-height-inner-quarter;\n // background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: theme-color('warning');\n box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);\n }\n\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n }\n}\n\n// stylelint-disable-next-line selector-no-qualifying-type\ntextarea.form-control {\n &.is-warning {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n}\n\n.custom-select {\n &.is-warning {\n border-color: theme-color('warning');\n\n @if $enable-validation-icons {\n // padding-right: $custom-select-feedback-icon-padding-right;\n // background: $custom-select-background, none $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: theme-color('warning');\n box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);\n }\n\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n }\n}\n\n\n.form-control-file {\n &.is-warning {\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n }\n}\n\n.form-check-input {\n &.is-warning {\n ~ .form-check-label {\n color: theme-color('warning');\n }\n\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n }\n}\n\n.custom-control-input.is-warning {\n ~ .custom-control-label {\n color: theme-color('warning');\n\n &::before {\n border-color: theme-color('warning');\n }\n }\n\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n\n &:checked {\n ~ .custom-control-label::before {\n @include gradient-bg(lighten(theme-color('warning'), 10%));\n border-color: lighten(theme-color('warning'), 10%);\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: theme-color('warning');\n }\n }\n}\n\n// custom file\n.custom-file-input {\n &.is-waLine truncated
"//\n// Mixins: Custom Forms\n//\n\n// Custom Switch Variant\n@mixin custom-switch-variant($name, $color) {\n &.custom-switch-off-#{$name} {\n & .custom-control-input ~ .custom-control-label::before {\n background: #{$color};\n border-color: darken($color, 20%);\n }\n\n & .custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n\n & .custom-control-input ~ .custom-control-label::after {\n background: darken($color, 25%);\n }\n }\n\n &.custom-switch-on-#{$name} {\n & .custom-control-input:checked ~ .custom-control-label::before {\n background: #{$color};\n border-color: darken($color, 20%);\n }\n\n & .custom-control-input:checked:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n\n & .custom-control-input:checked ~ .custom-control-label::after {\n background: lighten($color, 30%);\n }\n }\n}\n\n// Custom Range Variant\n@mixin custom-range-variant($name, $color) {\n &.custom-range-#{$name} {\n &:focus {\n outline: none;\n\n &::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n\n &::-moz-range-thumb {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n\n &::-ms-thumb {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n }\n\n &::-webkit-slider-thumb {\n background-color: $color;\n\n &:active {\n background-color: lighten($color, 35%);\n }\n }\n\n &::-moz-range-thumb {\n background-color: $color;\n\n &:active {\n background-color: lighten($color, 35%);\n }\n }\n\n &::-ms-thumb {\n background-color: $color;\n\n &:active {\n background-color: lighten($color, 35%);\n }\n }\n }\n}\n",
"//\n// Component: Progress Bar\n//\n\n//General CSS\n.progress {\n @include box-shadow(none);\n @include border-radius($progress-bar-border-radius);\n\n // Vertical bars\n &.vertical {\n display: inline-block;\n height: 200px;\n margin-right: 10px;\n position: relative;\n width: 30px;\n\n > .progress-bar {\n bottom: 0;\n position: absolute;\n width: 100%;\n }\n\n //Sizes\n &.sm,\n &.progress-sm {\n width: 20px;\n }\n\n &.xs,\n &.progress-xs {\n width: 10px;\n }\n\n &.xxs,\n &.progress-xxs {\n width: 3px;\n }\n }\n}\n\n.progress-group {\n margin-bottom: map-get($spacers, 2);\n}\n\n// size variation\n.progress-sm {\n height: 10px;\n}\n\n.progress-xs {\n height: 7px;\n}\n\n.progress-xxs {\n height: 3px;\n}\n\n// Remove margins from progress bars when put in a table\n.table {\n tr > td {\n .progress {\n margin: 0;\n }\n }\n}\n",
"//\n// Mixins: Cards Variant\n//\n\n@mixin cards-variant($name, $color) {\n .card-#{$name} {\n &:not(.card-outline) {\n > .card-header {\n background-color: $color;\n\n &,\n a {\n color: color-yiq($color);\n }\n\n a.active {\n color: color-yiq($white);\n }\n }\n }\n\n &.card-outline {\n border-top: 3px solid $color;\n }\n\n &.card-outline-tabs {\n > .card-header {\n a {\n &:hover {\n border-top: 3px solid $nav-tabs-border-color;\n }\n\n &.active {\n border-top: 3px solid $color;\n }\n }\n }\n }\n }\n\n .bg-#{$name},\n .bg-gradient-#{$name},\n .card-#{$name}:not(.card-outline) {\n .btn-tool {\n color: rgba(color-yiq($color), 0.8);\n\n &:hover {\n color: color-yiq($color);\n }\n }\n }\n\n .card.bg-#{$name},\n .card.bg-gradient-#{$name} {\n .bootstrap-datetimepicker-widget {\n .table td,\n .table th {\n border: none;\n }\n\n table thead tr:first-child th:hover,\n table td.day:hover,\n table td.hour:hover,\n table td.minute:hover,\n table td.second:hover {\n background: darken($color, 8%);\n color: color-yiq($color);\n }\n\n table td.today::before {\n border-bottom-color: color-yiq($color);\n }\n\n table td.active,\n table td.active:hover {\n background: lighten($color, 10%);\n color: color-yiq($color);\n }\n }\n }\n}\n\n",
"//\n// Component: Cards\n//\n\n// Color variants\n@each $name, $color in $theme-colors {\n @include cards-variant($name, $color);\n}\n\n@each $name, $color in $colors {\n @include cards-variant($name, $color);\n}\n\n.card {\n @include box-shadow($card-shadow);\n margin-bottom: map-get($spacers, 3);\n\n &.bg-dark {\n .card-header {\n border-color: $card-dark-border-color;\n }\n\n &,\n .card-body {\n color: $white;\n }\n }\n\n &.maximized-card {\n height: 100% !important;\n left: 0;\n max-height: 100% !important;\n max-width: 100% !important;\n position: fixed;\n top: 0;\n width: 100% !important;\n z-index: 9999;\n\n &.was-collapsed .card-body {\n display: block !important;\n }\n\n [data-widget='collapse'] {\n display: none;\n }\n\n .card-header,\n .card-footer {\n @include border-radius(0 !important);\n }\n }\n\n // collapsed mode\n &.collapsed-card {\n .card-body,\n .card-footer {\n display: none;\n }\n }\n\n .nav.flex-column {\n > li {\n border-bottom: 1px solid $card-border-color;\n margin: 0;\n\n &:last-of-type {\n border-bottom: 0;\n }\n }\n }\n\n // fixed height to 300px\n &.height-control {\n .card-body {\n max-height: 300px;\n overflow: auto;\n }\n }\n\n .border-right {\n border-right: 1px solid $card-border-color;\n }\n\n .border-left {\n border-left: 1px solid $card-border-color;\n }\n\n &.card-tabs {\n &:not(.card-outline) {\n & > .card-header {\n border-bottom: 0;\n\n .nav-item {\n &:first-child .nav-link {\n margin-left: -1px;\n }\n }\n }\n }\n\n &.card-outline {\n .nav-item {\n border-bottom: 0;\n\n &:first-child .nav-link {\n border-left: 0;\n margin-left: 0;\n }\n }\n }\n\n .card-tools {\n margin: .3rem .5rem;\n }\n\n &:not(.expanding-card).collapsed-card {\n .card-header {\n border-bottom: 0;\n\n .nav-tabs {\n border-bottom: 0;\n\n .nav-item {\n margin-bottom: 0;\n }\n }\n }\n }\n\n &.expanding-card {\n .card-header {\n .nav-tabs {\n .nav-item {\n margin-bottom: -1px;\n }\n }\n }\n }\n }\n\n &.card-outline-tabs {\n border-top: 0;\n\n .card-header {\n .nav-item {\n &:first-child .nav-link {\n border-left: 0;\n margin-left: 0;\n }\n }\n\n a {\n border-top: 3px solid transparent;\n\n &:hover {\n border-top: 3px solid $nav-tabs-border-color;\n }\n\n &.active {\n &:hover {\n margin-top: 0;\n }\n }\n }\n }\n\n .card-tools {\n margin: .5rem .5rem .3rem;\n }\n\n &:not(.expanding-card).collapsed-card .card-header {\n border-bottom: 0;\n\n .nav-tabs {\n border-bottom: 0;\n\n .nav-item {\n margin-bottom: 0;\n }\n }\n }\n\n &.expanding-card {\n .card-header {\n .nav-tabs {\n .nav-item {\n margin-bottom: -1px;\n }\n }\n }\n }\n }\n\n}\n\n// Maximized Card Body Scroll fix\nhtml.maximized-card {\n overflow: hidden;\n}\n\n// Add clearfix to header, body and footer\n.card-header,\n.card-body,\n.card-footer {\n @include clearfix;\n}\n\n// Box header\n.card-header {\n background-color: transparent;\n border-bottom: 1px solid $card-border-color;\n padding: (($card-spacer-y / 2) * 2) $card-spacer-x;\n position: relative;\n\n @if $enable-rounded {\n @include border-top-radius($border-radius);\n }\n\n .collapsed-card & {\n border-bottom: 0;\n }\n\n > .card-tools {\n float: right;\n margin-right: -$card-spacer-x / 2;\n\n .input-group,\n .nav,\n .pagination {\n margin-bottom: -$card-spacer-y / 2.5;\n margin-top: -$card-spacer-y / 2.5;\n }\n\n [data-toggle='tooltip'] {\n position: relative;\n }\n }\n}\n\n.card-title {\n float: left;\n font-size: $card-title-font-size;\n font-weight: $card-title-font-weight;\n margin: 0;\n}\n\n.card-text {\n clear: both;\n}\n\n\n// Box Tools Buttons\n.btn-tool {\n background: transparent;\n color: $gray-500;\n font-size: $font-size-sm;\n margin: -(($card-spacer-y / 2) * 2) 0;\n padding: .25rem .5rem;\n\n .btn-group.show &,\n &:hover {\n color: $gray-700;\n }\n\n .show &,\n &:focus {\n box-shadow: none !important;\n }\n}\n\n.text-sm {\n .card-title {\n font-size: $card-title-font-size-sm;\n }\n\n .nav-link {\n padding: $card-nav-link-padding-sm-y $card-nav-link-padding-sm-x;\n }\n}\n\n// Box Body\n.card-body {\n // @include border-radius-sides(0, 0, $border-radius, $border-radius);\n // .no-header & {\n // @include border-top-radius($border-radius);\n // }\n\n // Tables within the box body\n > .tablLine truncated
"//\n// Component: Modals\n//\n\n// Overlay\n.modal-dialog {\n .overlay {\n background-color: $black;\n display: block;\n height: 100%;\n left: 0;\n opacity: .7;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ($zindex-modal + 2);\n }\n}\n\n\n// BG Color Variations Fixes\n.modal-content {\n &.bg-warning {\n .modal-header,\n .modal-footer {\n border-color: $gray-800;\n }\n }\n\n &.bg-primary,\n &.bg-secondary,\n &.bg-info,\n &.bg-danger,\n &.bg-success, {\n .close {\n color: $white;\n text-shadow: 0 1px 0 #000;\n }\n }\n}\n",
"//\n// Component: Toasts\n//\n\n.toasts-top-right {\n position: absolute;\n right: 0;\n top: 0;\n z-index: $zindex-toasts;\n\n &.fixed {\n position: fixed;\n }\n}\n\n.toasts-top-left {\n left: 0;\n position: absolute;\n top: 0;\n z-index: $zindex-toasts;\n\n &.fixed {\n position: fixed;\n }\n}\n\n.toasts-bottom-right {\n bottom: 0;\n position: absolute;\n right: 0;\n z-index: $zindex-toasts;\n\n &.fixed {\n position: fixed;\n }\n}\n\n.toasts-bottom-left {\n bottom: 0;\n left: 0;\n position: absolute;\n z-index: $zindex-toasts;\n\n &.fixed {\n position: fixed;\n }\n}\n\n.toast {\n @each $name, $color in $theme-colors {\n @include toast-variant($name, $color);\n }\n @each $name, $color in $colors {\n @include toast-variant($name, $color);\n }\n}\n",
"//\n// Mixins: Toasts\n//\n\n// Toast Variant\n@mixin toast-variant($name, $color) {\n &.bg-#{$name} {\n background: rgba($color, .9) !important;\n @if (color-yiq($color) == $yiq-text-light) {\n\n .close {\n color: color-yiq($color);\n text-shadow: 0 1px 0 #000;\n }\n }\n\n .toast-header {\n background: rgba($color, .85);\n color: color-yiq($color);\n }\n }\n}\n\n",
"//\n// Component: Button\n//\n\n.btn {\n &.disabled,\n &:disabled {\n cursor: not-allowed;\n }\n\n // Flat buttons\n &.btn-flat {\n @include border-radius(0);\n border-width: 1px;\n box-shadow: none;\n }\n\n // input file btn\n &.btn-file {\n overflow: hidden;\n position: relative;\n\n > input[type='file'] {\n background: $white;\n cursor: inherit;\n display: block;\n font-size: 100px;\n min-height: 100%;\n min-width: 100%;\n opacity: 0;\n outline: none;\n position: absolute;\n right: 0;\n text-align: right;\n top: 0;\n }\n }\n\n .text-sm & {\n font-size: $font-size-sm !important;\n }\n}\n\n// Button color variations\n.btn-default {\n background-color: $button-default-background-color;\n border-color: $button-default-border-color;\n color: $button-default-color;\n\n &:hover,\n &:active,\n &.hover {\n background-color: darken($button-default-background-color, 5%);\n color: darken($button-default-color, 10%);\n }\n}\n\n// Application buttons\n.btn-app {\n @include border-radius(3px);\n background-color: $button-default-background-color;\n border: 1px solid $button-default-border-color;\n color: $gray-600;\n font-size: 12px;\n height: 60px;\n margin: 0 0 10px 10px;\n min-width: 80px;\n padding: 15px 5px;\n position: relative;\n text-align: center;\n\n // Icons within the btn\n > .fa,\n > .fas,\n > .far,\n > .fab,\n > .glyphicon,\n > .ion {\n display: block;\n font-size: 20px;\n }\n\n &:hover {\n background: $button-default-background-color;\n border-color: darken($button-default-border-color, 20%);\n color: $button-default-color;\n }\n\n &:active,\n &:focus {\n @include box-shadow(inset 0 3px 5px rgba($black, 0.125));\n }\n\n // The badge\n > .badge {\n font-size: 10px;\n font-weight: 400;\n position: absolute;\n right: -10px;\n top: -3px;\n }\n}\n\n// Extra Button Size\n\n.btn-xs {\n @include button-size($button-padding-y-xs, $button-padding-x-xs, $button-font-size-xs, $button-line-height-xs, $button-border-radius-xs);\n}\n",
"//\n// Component: Callout\n//\n\n// Base styles (regardless of theme)\n.callout {\n @if $enable-rounded {\n @include border-radius($border-radius);\n }\n\n @if $enable-shadows {\n box-shadow: map-get($elevations, 1);\n } @else {\n border: 1px solid $gray-300;\n }\n\n background-color: $white;\n border-left: 5px solid $gray-200;\n margin-bottom: map-get($spacers, 3);\n padding: 1rem;\n\n a {\n color: $gray-700;\n text-decoration: underline;\n\n &:hover {\n color: $gray-200;\n }\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n\n // Themes for different contexts\n &.callout-danger {\n border-left-color: darken(theme-color('danger'), 10%);\n }\n\n &.callout-warning {\n border-left-color: darken(theme-color('warning'), 10%);\n }\n\n &.callout-info {\n border-left-color: darken(theme-color('info'), 10%);\n }\n\n &.callout-success {\n border-left-color: darken(theme-color('success'), 10%);\n }\n}\n",
"//\n// Component: Alert\n//\n\n.alert {\n .icon {\n margin-right: 10px;\n }\n\n .close {\n color: $black;\n opacity: .2;\n\n &:hover {\n opacity: .5;\n }\n }\n\n a {\n color: $white;\n text-decoration: underline;\n }\n}\n\n//Alert Variants\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n color: color-yiq($value);\n background: $value;\n border-color: darken($value, 5%);\n }\n\n .alert-default-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n",
"//\n// Component: Table\n//\n\n.table {\n &:not(.table-dark) {\n color: inherit;\n }\n\n // fixed table head\n &.table-head-fixed {\n thead tr:nth-child(1) th {\n background-color: $white;\n border-bottom: 0;\n box-shadow: inset 0 1px 0 $table-border-color,\n inset 0 -1px 0 $table-border-color;\n position: sticky;\n top: 0;\n z-index: 10;\n }\n\n &.table-dark {\n thead tr {\n &:nth-child(1) th {\n background-color: $table-dark-bg;\n box-shadow: inset 0 1px 0 $table-dark-border-color,\n inset 0 -1px 0 $table-dark-border-color;\n }\n }\n }\n }\n\n // no border\n &.no-border {\n &,\n td,\n th {\n border: 0;\n }\n }\n\n // .text-center in tables\n &.text-center {\n &,\n td,\n th {\n text-align: center;\n }\n }\n\n &.table-valign-middle {\n thead > tr > th,\n thead > tr > td,\n tbody > tr > th,\n tbody > tr > td {\n vertical-align: middle;\n }\n }\n\n .card-body.p-0 & {\n thead > tr > th,\n thead > tr > td,\n tbody > tr > th,\n tbody > tr > td {\n &:first-of-type {\n padding-left: map-get($spacers, 4);\n }\n\n &:last-of-type {\n padding-right: map-get($spacers, 4);\n }\n }\n }\n}\n",
"//\n// Component: Carousel\n//\n\n.carousel-control {\n &.left,\n &.right {\n background-image: none;\n }\n\n > .fa,\n > .fas,\n > .far,\n > .fab,\n > .glyphicon,\n > .ion {\n display: inline-block;\n font-size: 40px;\n margin-top: -20px;\n position: absolute;\n top: 50%;\n z-index: 5;\n }\n}\n",
"//\n// Component: Small Box\n//\n\n.small-box {\n @include border-radius($border-radius);\n @include box-shadow($card-shadow);\n\n display: block;\n margin-bottom: 20px;\n position: relative;\n\n // content wrapper\n > .inner {\n padding: 10px;\n }\n\n > .small-box-footer {\n background: rgba($black, 0.1);\n color: rgba($white, 0.8);\n display: block;\n padding: 3px 0;\n position: relative;\n text-align: center;\n text-decoration: none;\n z-index: 10;\n\n &:hover {\n background: rgba($black, 0.15);\n color: $white;\n }\n }\n\n h3 {\n @include font-size(2.2rem);\n font-weight: bold;\n margin: 0 0 10px 0;\n padding: 0;\n white-space: nowrap;\n }\n\n @include media-breakpoint-up(lg) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n h3 {\n @include font-size(1.6rem);\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n h3 {\n @include font-size(1.6rem);\n }\n }\n }\n\n @include media-breakpoint-up(xl) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n h3 {\n @include font-size(2.2rem);\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n h3 {\n @include font-size(2.2rem);\n }\n }\n }\n\n p {\n font-size: 1rem;\n\n > small {\n color: $gray-100;\n display: block;\n font-size: 0.9rem;\n margin-top: 5px;\n }\n }\n\n h3,\n p {\n z-index: 5;\n }\n\n // the icon\n .icon {\n color: rgba($black, 0.15);\n z-index: 0;\n\n > i {\n font-size: 90px;\n position: absolute;\n right: 15px;\n top: 15px;\n transition: all $transition-speed linear;\n\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n font-size: 70px;\n top: 20px;\n }\n }\n\n }\n\n // Small box hover state\n &:hover {\n text-decoration: none;\n\n // Animate icons on small box hover\n .icon > i {\n font-size: 95px;\n\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n font-size: 75px;\n }\n }\n }\n}\n\n@include media-breakpoint-down(sm) {\n // No need for icons on very small devices\n .small-box {\n text-align: center;\n\n .icon {\n display: none;\n }\n\n p {\n font-size: 12px;\n }\n }\n}\n",
"//\n// Component: Info Box\n//\n \n.info-box {\n @include box-shadow($card-shadow);\n @include border-radius($border-radius);\n\n background: $white;\n display: flex;\n margin-bottom: map-get($spacers, 3);\n min-height: 80px;\n padding: .5rem;\n position: relative;\n\n .progress {\n background-color: rgba($black, .125);\n height: 2px;\n margin: 5px 0;\n\n .progress-bar {\n background-color: $white;\n }\n }\n\n .info-box-icon {\n @if $enable-rounded {\n border-radius: $border-radius;\n }\n\n align-items: center;\n display: flex;\n font-size: 1.875rem;\n justify-content: center;\n text-align: center;\n width: 70px;\n\n > img {\n max-width: 100%;\n }\n }\n\n .info-box-content {\n flex: 1;\n padding: 5px 10px;\n }\n\n .info-box-number {\n display: block;\n font-weight: $font-weight-bold;\n }\n\n .progress-description,\n .info-box-text {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n @each $name, $color in $theme-colors {\n .info-box {\n .bg-#{$name},\n .bg-gradient-#{$name} {\n color: color-yiq($color);\n\n .progress-bar {\n background-color: color-yiq($color);\n }\n }\n }\n }\n\n .info-box-more {\n display: block;\n }\n\n .progress-description {\n margin: 0;\n\n }\n\n @include media-breakpoint-up(md) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n .progress-description {\n display: none;\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n .progress-description {\n display: none;\n }\n }\n }\n\n @include media-breakpoint-up(lg) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n .progress-description {\n @include font-size(.75rem);\n display: block;\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n .progress-description {\n @include font-size(.75rem);\n display: block;\n }\n }\n }\n\n @include media-breakpoint-up(xl) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n .progress-description {\n @include font-size(1rem);\n display: block;\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n .progress-description {\n @include font-size(1rem);\n display: block;\n }\n }\n }\n}\n",
"//\n// Component: Timeline\n//\n\n.timeline {\n margin: 0 0 45px;\n padding: 0;\n position: relative;\n // The line\n &::before {\n @include border-radius($border-radius);\n background: $gray-300;\n bottom: 0;\n content: '';\n left: 31px;\n margin: 0;\n position: absolute;\n top: 0;\n width: 4px;\n }\n // Element\n > div {\n &::before,\n &::after {\n content: \"\";\n display: table;\n }\n\n margin-bottom: 15px;\n margin-right: 10px;\n position: relative;\n // The content\n > .timeline-item {\n @include box-shadow($card-shadow);\n @include border-radius($border-radius);\n background: $white;\n color: $gray-700;\n margin-left: 60px;\n margin-right: 15px;\n margin-top: 0;\n padding: 0;\n position: relative;\n // The time and header\n > .time {\n color: #999;\n float: right;\n font-size: 12px;\n padding: 10px;\n }\n // Header\n > .timeline-header {\n border-bottom: 1px solid $card-border-color;\n color: $gray-700;\n font-size: 16px;\n line-height: 1.1;\n margin: 0;\n padding: 10px;\n // Link in header\n > a {\n font-weight: 600;\n }\n }\n // Item body and footer\n > .timeline-body,\n > .timeline-footer {\n padding: 10px;\n }\n\n > .timeline-body {\n > img {\n margin: 10px;\n }\n > dl, ol, ul {\n margin: 0;\n }\n }\n\n > .timeline-footer {\n > a {\n color: $white;\n }\n }\n }\n // The icons at line\n > .fa,\n > .fas,\n > .far,\n > .fab,\n > .glyphicon,\n > .ion {\n background: $gray-500;\n border-radius: 50%;\n font-size: 15px;\n height: 30px;\n left: 18px;\n line-height: 30px;\n position: absolute;\n text-align: center;\n top: 0;\n width: 30px;\n }\n }\n // Time label\n > .time-label {\n > span {\n @include border-radius(4px);\n background-color: $white;\n display: inline-block;\n font-weight: 600;\n padding: 5px;\n }\n }\n}\n\n.timeline-inverse {\n > div {\n > .timeline-item {\n @include box-shadow(none);\n background: $gray-100;\n border: 1px solid $gray-300;\n\n > .timeline-header {\n border-bottom-color: $gray-300;\n }\n }\n }\n}\n",
"//\n// Component: Products\n//\n\n.products-list {\n list-style: none;\n margin: 0;\n padding: 0;\n\n > .item {\n @include clearfix;\n\n @if $enable-rounded {\n @include border-radius($border-radius);\n }\n\n background: $white;\n padding: 10px 0;\n }\n\n .product-img {\n float: left;\n\n img {\n height: 50px;\n width: 50px;\n }\n }\n\n .product-info {\n margin-left: 60px;\n }\n\n .product-title {\n font-weight: 600;\n }\n\n .product-description {\n color: $gray-600;\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n.product-list-in-card > .item {\n @include border-radius(0);\n border-bottom: 1px solid $card-border-color;\n\n &:last-of-type {\n border-bottom-width: 0;\n }\n}\n",
"//\n// Component: Direct Chat\n//\n \n.direct-chat {\n .card-body {\n overflow-x: hidden;\n padding: 0;\n position: relative;\n }\n\n &.chat-pane-open {\n .direct-chat-contacts {\n @include translate(0, 0);\n }\n }\n\n\n &.timestamp-light {\n .direct-chat-timestamp {\n color: lighten(color-yiq($yiq-text-light), 10%);\n }\n }\n\n &.timestamp-dark {\n .direct-chat-timestamp {\n color: darken(color-yiq($yiq-text-dark), 20%);\n }\n }\n}\n\n.direct-chat-messages {\n @include translate(0, 0);\n height: 250px;\n overflow: auto;\n padding: 10px;\n}\n\n.direct-chat-msg,\n.direct-chat-text {\n display: block;\n}\n\n.direct-chat-msg {\n @include clearfix;\n margin-bottom: 10px;\n}\n\n.direct-chat-messages,\n.direct-chat-contacts {\n transition: transform .5s ease-in-out;\n}\n\n.direct-chat-text {\n @if $enable-rounded {\n @include border-radius($border-radius-lg);\n }\n\n background: $direct-chat-default-msg-bg;\n border: 1px solid $direct-chat-default-msg-border-color;\n color: $direct-chat-default-font-color;\n margin: 5px 0 0 50px;\n padding: 5px 10px;\n position: relative;\n\n //Create the arrow\n &::after,\n &::before {\n border: solid transparent;\n border-right-color: $direct-chat-default-msg-border-color;\n content: ' ';\n height: 0;\n pointer-events: none;\n position: absolute;\n right: 100%;\n top: 15px;\n width: 0;\n }\n\n &::after {\n border-width: 5px;\n margin-top: -5px;\n }\n\n &::before {\n border-width: 6px;\n margin-top: -6px;\n }\n\n .right & {\n margin-left: 0;\n margin-right: 50px;\n\n &::after,\n &::before {\n border-left-color: $direct-chat-default-msg-border-color;\n border-right-color: transparent;\n left: 100%;\n right: auto;\n }\n }\n}\n\n.direct-chat-img {\n @include border-radius(50%);\n float: left;\n height: 40px;\n width: 40px;\n\n .right & {\n float: right;\n }\n}\n\n.direct-chat-infos {\n display: block;\n font-size: $font-size-sm;\n margin-bottom: 2px;\n}\n\n.direct-chat-name {\n font-weight: 600;\n}\n\n.direct-chat-timestamp {\n color: darken($gray-500, 25%);\n}\n\n//Direct chat contacts pane\n.direct-chat-contacts-open {\n .direct-chat-contacts {\n @include translate(0, 0);\n }\n}\n\n.direct-chat-contacts {\n @include translate(101%, 0);\n background: $dark;\n bottom: 0;\n color: $white;\n height: 250px;\n overflow: auto;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.direct-chat-contacts-light {\n background: $light;\n\n .contacts-list-name {\n color: $gray-700;\n }\n\n .contacts-list-date {\n color: $gray-600;\n }\n\n .contacts-list-msg {\n color: darken($gray-600, 10%);\n }\n}\n\n//Contacts list -- for displaying contacts in direct chat contacts pane\n.contacts-list {\n @include list-unstyled;\n\n > li {\n @include clearfix;\n border-bottom: 1px solid rgba($black, 0.2);\n margin: 0;\n padding: 10px;\n\n &:last-of-type {\n border-bottom: 0;\n }\n }\n}\n\n.contacts-list-img {\n @include border-radius(50%);\n float: left;\n width: 40px;\n}\n\n.contacts-list-info {\n color: $white;\n margin-left: 45px;\n}\n\n.contacts-list-name,\n.contacts-list-status {\n display: block;\n}\n\n.contacts-list-name {\n font-weight: 600;\n}\n\n.contacts-list-status {\n font-size: $font-size-sm;\n}\n\n.contacts-list-date {\n color: $gray-400;\n font-weight: normal;\n}\n\n.contacts-list-msg {\n color: darken($gray-400, 10%);\n}\n\n// Color variants\n@each $name, $color in $theme-colors {\n .direct-chat-#{$name} {\n @include direct-chat-variant($color);\n }\n}\n\n@each $name, $color in $colors {\n .direct-chat-#{$name} {\n @include direct-chat-variant($color);\n }\n}\n",
"//\n// Mixins: Direct Chat\n//\n\n// Direct Chat Variant\n@mixin direct-chat-variant($bg-color, $color: #fff) {\n .right > .direct-chat-text {\n background: $bg-color;\n border-color: $bg-color;\n color: color-yiq($bg-color);\n\n &::after,\n &::before {\n border-left-color: $bg-color;\n }\n }\n}\n",
"//\n// Component: Users List\n//\n\n.users-list {\n @include list-unstyled;\n\n > li {\n float: left;\n padding: 10px;\n text-align: center;\n width: 25%;\n\n img {\n @include border-radius(50%);\n height: auto;\n max-width: 100%;\n }\n\n > a:hover {\n &,\n .users-list-name {\n color: #999;\n }\n }\n }\n}\n\n.users-list-name,\n.users-list-date {\n display: block;\n}\n\n.users-list-name {\n color: $gray-700;\n font-size: $font-size-sm;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.users-list-date {\n color: darken($gray-500, 20%);\n font-size: 12px;\n}\n",
"//\n// Component: Social Widgets\n//\n\n//General widget style\n.card-widget {\n border: 0;\n position: relative;\n}\n\n//User Widget Style 1\n.widget-user {\n\n //User name container\n .widget-user-header {\n @if $enable-rounded {\n @include border-top-radius($border-radius);\n }\n\n height: 135px;\n padding: 1rem;\n text-align: center;\n }\n\n //User name\n .widget-user-username {\n font-size: 25px;\n font-weight: 300;\n margin-bottom: 0;\n margin-top: 0;\n text-shadow: 0 1px 1px rgba($black, 0.2);\n }\n\n //User single line description\n .widget-user-desc {\n margin-top: 0;\n }\n\n //User image container\n .widget-user-image {\n left: 50%;\n margin-left: -45px;\n position: absolute;\n top: 80px;\n\n > img {\n border: 3px solid $white;\n height: auto;\n width: 90px;\n }\n }\n\n .card-footer {\n padding-top: 50px;\n }\n}\n\n//User Widget Style 2\n.widget-user-2 {\n\n //User name container\n .widget-user-header {\n @include border-top-radius($border-radius);\n padding: 1rem;\n }\n\n //User name\n .widget-user-username {\n font-size: 25px;\n font-weight: 300;\n margin-bottom: 5px;\n margin-top: 5px;\n }\n\n //User single line description\n .widget-user-desc {\n margin-top: 0;\n }\n\n .widget-user-username,\n .widget-user-desc {\n margin-left: 75px;\n }\n\n //User image container\n .widget-user-image {\n > img {\n float: left;\n height: auto;\n width: 65px;\n }\n }\n}\n",
"//\n// Pages: Mailbox\n//\n\n.mailbox-messages {\n > .table {\n margin: 0;\n }\n}\n\n.mailbox-controls {\n padding: 5px;\n\n &.with-border {\n border-bottom: 1px solid $card-border-color;\n }\n}\n\n.mailbox-read-info {\n border-bottom: 1px solid $card-border-color;\n padding: 10px;\n\n h3 {\n font-size: 20px;\n margin: 0;\n }\n\n h5 {\n margin: 0;\n padding: 5px 0 0;\n }\n}\n\n.mailbox-read-time {\n color: #999;\n font-size: 13px;\n}\n\n.mailbox-read-message {\n padding: 10px;\n}\n\n.mailbox-attachments {\n @include list-unstyled;\n li {\n border: 1px solid #eee;\n float: left;\n margin-bottom: 10px;\n margin-right: 10px;\n width: 200px;\n }\n}\n\n.mailbox-attachment-name {\n color: #666;\n font-weight: bold;\n}\n\n.mailbox-attachment-icon,\n.mailbox-attachment-info,\n.mailbox-attachment-size {\n display: block;\n}\n\n.mailbox-attachment-info {\n background: $gray-100;\n padding: 10px;\n}\n\n.mailbox-attachment-size {\n color: #999;\n font-size: 12px;\n\n > span {\n display: inline-block;\n padding-top: 0.75rem;\n }\n}\n\n.mailbox-attachment-icon {\n color: #666;\n font-size: 65px;\n max-height: 132.5px;\n padding: 20px 10px;\n text-align: center;\n\n &.has-img {\n padding: 0;\n\n > img {\n height: auto;\n max-width: 100%;\n }\n }\n}\n\n.mailbox-attachment-close {\n @extend .close;\n}\n",
"//\n// Pages: Lock Screen\n//\n\n// ADD THIS CLASS TO THE <BODY> TAG\n.lockscreen {\n background: $gray-200;\n\n // User name [optional]\n .lockscreen-name {\n font-weight: 600;\n text-align: center;\n }\n}\n\n.lockscreen-logo {\n font-size: 35px;\n font-weight: 300;\n margin-bottom: 25px;\n text-align: center;\n\n a {\n color: $gray-700;\n }\n}\n\n.lockscreen-wrapper {\n margin: 0 auto;\n margin-top: 10%;\n max-width: 400px;\n}\n\n\n// Will contain the image and the sign in form\n.lockscreen-item {\n @include border-radius(4px);\n background: $white;\n margin: 10px auto 30px;\n padding: 0;\n position: relative;\n width: 290px;\n}\n\n// User image\n.lockscreen-image {\n @include border-radius(50%);\n background: $white;\n left: -10px;\n padding: 5px;\n position: absolute;\n top: -25px;\n z-index: 10;\n\n > img {\n @include border-radius(50%);\n height: 70px;\n width: 70px;\n }\n}\n\n// Contains the password input and the login button\n.lockscreen-credentials {\n margin-left: 70px;\n\n .form-control {\n border: 0;\n }\n\n .btn {\n background-color: $white;\n border: 0;\n padding: 0 10px;\n }\n}\n\n.lockscreen-footer {\n margin-top: 10px;\n}\n",
"//\n// Pages: Login & Register\n//\n\n.login-logo,\n.register-logo {\n font-size: 2.1rem;\n font-weight: 300;\n margin-bottom: .9rem;\n text-align: center;\n\n a {\n color: $gray-700;\n }\n}\n\n.login-page,\n.register-page {\n align-items: center;\n background: $gray-200;\n display: flex;\n flex-direction: column;\n height: 100vh;\n justify-content: center;\n}\n\n.login-box,\n.register-box {\n width: 360px;\n\n @media (max-width: map-get($grid-breakpoints, sm)) {\n margin-top: .5rem;\n width: 90%;\n }\n}\n\n.login-card-body,\n.register-card-body {\n background: $white;\n border-top: 0;\n color: #666;\n padding: 20px;\n\n .input-group {\n .form-control {\n border-right: 0;\n\n &:focus {\n box-shadow: none;\n\n & ~ .input-group-append .input-group-text {\n border-color: $input-focus-border-color;\n }\n }\n\n &.is-valid {\n &:focus {\n box-shadow: none;\n }\n\n & ~ .input-group-append .input-group-text {\n border-color: $success;\n }\n }\n\n &.is-invalid {\n &:focus {\n box-shadow: none;\n }\n\n & ~ .input-group-append .input-group-text {\n border-color: $danger;\n }\n }\n }\n\n .input-group-text {\n background-color: transparent;\n border-bottom-right-radius: $border-radius;\n border-left: 0;\n border-top-right-radius: $border-radius;\n color: #777;\n transition: $input-transition;\n }\n }\n}\n\n.login-box-msg,\n.register-box-msg {\n margin: 0;\n padding: 0 20px 20px;\n text-align: center;\n}\n\n.social-auth-links {\n margin: 10px 0;\n}\n",
"//\n// Pages: 400 and 500 error pages\n//\n \n.error-page {\n margin: 20px auto 0;\n width: 600px;\n\n @include media-breakpoint-down(sm) {\n width: 100%;\n }\n\n //For the error number e.g: 404\n > .headline {\n float: left;\n font-size: 100px;\n font-weight: 300;\n\n @include media-breakpoint-down(sm) {\n float: none;\n text-align: center;\n }\n }\n\n //For the message\n > .error-content {\n display: block;\n margin-left: 190px;\n\n @include media-breakpoint-down(sm) {\n margin-left: 0;\n }\n\n > h3 {\n font-size: 25px;\n font-weight: 300;\n\n @include media-breakpoint-down(sm) {\n text-align: center;\n }\n }\n }\n}\n",
"//\n// Pages: Invoice\n//\n\n.invoice {\n background: $white;\n border: 1px solid $card-border-color;\n position: relative;\n}\n\n.invoice-title {\n margin-top: 0;\n}\n",
"//\n// Pages: Profile\n//\n\n.profile-user-img {\n border: 3px solid $gray-500;\n margin: 0 auto;\n padding: 3px;\n width: 100px;\n}\n\n.profile-username {\n font-size: 21px;\n margin-top: 5px;\n}\n\n.post {\n border-bottom: 1px solid $gray-500;\n color: #666;\n margin-bottom: 15px;\n padding-bottom: 15px;\n\n &:last-of-type {\n border-bottom: 0;\n margin-bottom: 0;\n padding-bottom: 0;\n }\n\n .user-block {\n margin-bottom: 15px;\n width: 100%;\n }\n\n .row {\n width: 100%;\n }\n}\n",
"//\n// Pages: E-commerce\n//\n\n// product image\n.product-image {\n @include img-fluid;\n width: 100%;\n}\n\n// product image thumbnails list\n.product-image-thumbs {\n align-items: stretch;\n display: flex;\n margin-top: 2rem;\n}\n\n// product image thumbnail\n.product-image-thumb {\n @include box-shadow($thumbnail-box-shadow);\n @include border-radius($thumbnail-border-radius);\n\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n display: flex;\n margin-right: 1rem;\n max-width: 6.5rem + ($thumbnail-padding * 2);\n padding: $thumbnail-padding * 2;\n\n img {\n @include img-fluid;\n align-self: center;\n }\n\n &:hover {\n opacity: 0.5;\n }\n}\n\n// product share\n.product-share {\n a {\n margin-right: .5rem;\n }\n}\n",
"//\n// Pages: Projects\n//\n\n.projects {\n td {\n vertical-align: middle;\n }\n\n .list-inline {\n margin-bottom: 0;\n }\n\n // table avatar\n img.table-avatar,\n .table-avatar img {\n border-radius: 50%;\n display: inline;\n width: 2.5rem;\n }\n\n // project state\n .project-state {\n text-align: center;\n }\n}\n",
"//\n// Plugin: Full Calendar\n//\n\n// Buttons\n.fc-button {\n background: $gray-100;\n background-image: none;\n border-bottom-color: #ddd;\n border-color: #ddd;\n color: $gray-700;\n\n &:hover,\n &:active,\n &.hover {\n background-color: #e9e9e9;\n }\n}\n\n// Calendar title\n.fc-header-title h2 {\n color: #666;\n font-size: 15px;\n line-height: 1.6em;\n margin-left: 10px;\n}\n\n.fc-header-right {\n padding-right: 10px;\n}\n\n.fc-header-left {\n padding-left: 10px;\n}\n\n// Calendar table header cells\n.fc-widget-header {\n background: #fafafa;\n}\n\n.fc-grid {\n border: 0;\n width: 100%;\n}\n\n.fc-widget-header:first-of-type,\n.fc-widget-content:first-of-type {\n border-left: 0;\n border-right: 0;\n}\n\n.fc-widget-header:last-of-type,\n.fc-widget-content:last-of-type {\n border-right: 0;\n}\n\n.fc-toolbar,\n.fc-toolbar.fc-header-toolbar {\n margin: 0;\n padding: 1rem;\n}\n\n@include media-breakpoint-down(xs) {\n .fc-toolbar {\n flex-direction: column;\n\n .fc-left {\n order: 1;\n margin-bottom: .5rem;\n }\n\n .fc-center {\n order: 0;\n margin-bottom: .375rem;\n }\n\n .fc-right {\n order: 2;\n }\n }\n}\n\n.fc-day-number {\n font-size: 20px;\n font-weight: 300;\n padding-right: 10px;\n}\n\n.fc-color-picker {\n list-style: none;\n margin: 0;\n padding: 0;\n\n > li {\n float: left;\n font-size: 30px;\n line-height: 30px;\n margin-right: 5px;\n\n .fa,\n .fas,\n .far,\n .fab,\n .glyphicon,\n .ion {\n transition: transform linear .3s;\n\n &:hover {\n @include rotate(30deg);\n }\n }\n }\n}\n\n#add-new-event {\n transition: all linear .3s;\n}\n\n.external-event {\n @include box-shadow($card-shadow);\n\n border-radius: $border-radius;\n cursor: move;\n font-weight: bold;\n margin-bottom: 4px;\n padding: 5px 10px;\n\n &:hover {\n @include box-shadow(inset 0 0 90px rgba(0, 0, 0, 0.2));\n }\n}\n",
"//\n// Plugin: Select2\n//\n\n//Signle select\n// .select2-container--default,\n// .select2-selection {\n// &.select2-container--focus,\n// &:focus,\n// &:active {\n// outline: none;\n// }\n// }\n\n.select2-container--default {\n .select2-selection--single {\n border: $input-border-width solid $input-border-color;\n //border-radius: $input-radius;\n padding: ($input-padding-y * 1.25) $input-padding-x;\n height: $input-height;\n }\n\n &.select2-container--open {\n .select2-selection--single {\n border-color: lighten($primary, 25%);\n }\n }\n\n & .select2-dropdown {\n border: $input-border-width solid $input-border-color;\n //border-radius: $input-radius;\n }\n\n & .select2-results__option {\n padding: 6px 12px;\n user-select: none;\n -webkit-user-select: none;\n }\n\n & .select2-selection--single .select2-selection__rendered {\n padding-left: 0;\n //padding-right: 0;\n height: auto;\n margin-top: -3px;\n }\n\n &[dir=\"rtl\"] .select2-selection--single .select2-selection__rendered {\n padding-right: 6px;\n padding-left: 20px;\n }\n\n & .select2-selection--single .select2-selection__arrow {\n height: 31px;\n right: 6px;\n }\n\n & .select2-selection--single .select2-selection__arrow b {\n margin-top: 0;\n }\n\n .select2-dropdown,\n .select2-search--inline {\n .select2-search__field {\n border: $input-border-width solid $input-border-color;\n\n &:focus {\n outline: none;\n border: $input-border-width solid $input-focus-border-color;\n }\n }\n }\n\n .select2-dropdown {\n &.select2-dropdown--below {\n border-top: 0;\n }\n\n &.select2-dropdown--above {\n border-bottom: 0;\n }\n }\n\n .select2-results__option {\n &[aria-disabled='true'] {\n color: $gray-600;\n }\n\n &[aria-selected='true'] {\n $color: $gray-300;\n\n background-color: $color;\n\n &,\n &:hover {\n color: color-yiq($color);\n }\n }\n }\n\n .select2-results__option--highlighted {\n $color: $primary;\n background-color: $color;\n color: color-yiq($color);\n\n &[aria-selected] {\n $color: darken($color, 3%);\n\n &,\n &:hover {\n background-color: $color;\n color: color-yiq($color);\n }\n }\n }\n\n //Multiple select\n & {\n .select2-selection--multiple {\n border: $input-border-width solid $input-border-color;\n min-height: $input-height;\n\n &:focus {\n border-color: $input-focus-border-color;\n }\n\n .select2-selection__rendered {\n padding: 0 $input-padding-x / 2 $input-padding-y;\n margin-bottom: -$input-padding-x / 2;\n\n li:first-child.select2-search.select2-search--inline {\n width: 100%;\n margin-left: $input-padding-x / 2;\n\n .select2-search__field {\n width: 100% !important;\n }\n }\n\n\n .select2-search.select2-search--inline {\n .select2-search__field {\n border: 0;\n margin-top: 6px;\n }\n }\n }\n\n .select2-selection__choice {\n background-color: $primary;\n border-color: darken($primary, 5%);\n color: color-yiq($primary);\n padding: 0 10px;\n margin-top: .31rem;\n }\n\n .select2-selection__choice__remove {\n color: rgba(255, 255, 255, 0.7);\n float: right;\n margin-left: 5px;\n margin-right: -2px;\n\n &:hover {\n color: $white;\n }\n }\n\n .text-sm &,\n &.text-sm {\n .select2-search.select2-search--inline {\n .select2-search__field {\n margin-top: 8px;\n }\n }\n\n .select2-selection__choice {\n margin-top: .4rem;\n }\n }\n }\n\n &.select2-container--focus {\n .select2-selection--single,\n .select2-selection--multiple {\n border-color: $input-focus-border-color;\n }\n\n .select2-search__field {\n border: 0;\n }\n }\n }\n\n & .select2-selection--single .select2-selection__rendered li {\n padding-right: 10px;\n }\n\n .input-group-prepend ~ & {\n .select2-selection {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n }\n\n .input-group > &:not(:last-child) {\n .select2-selection {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n }\n}\n\n// Select2 Bootstrap4 Theme overrides\n.select2-container--bootstrap4 {\n &.select2-container--focus .select2-selection {\n box-shadow: none;\n }\n}\n\n// text-sm / form-control-sm override\nselect.form-control-sm ~ {\n .select2-container--default {\n font-size: $font-size-sm;\n }\n}\n\n.text-sm,\nselect.form-control-sm ~ {\n .select2-container--default {\n .select2-selection--single {\n height: $input-height-sm;\n \n .select2-selection__rendered {\n Line truncated
"//\n// General: Mixins\n//\n\n// Select2 Variant\n@mixin select2-variant($name, $color) {\n .select2-#{$name} {\n\n + .select2-container--default {\n &.select2-container--open {\n .select2-selection--single {\n border-color: lighten($color, 25%);\n }\n }\n\n &.select2-container--focus .select2-selection--single {\n border-color: lighten($color, 25%);\n }\n }\n\n .select2-container--default &,\n .select2-container--default {\n &.select2-dropdown,\n .select2-dropdown,\n .select2-search--inline {\n .select2-search__field {\n &:focus {\n border: $input-border-width solid lighten($color, 25%);\n }\n }\n }\n\n .select2-results__option--highlighted {\n background-color: $color;\n color: color-yiq($color);\n\n &[aria-selected] {\n &,\n &:hover {\n background-color: darken($color, 3%);\n color: color-yiq(darken($color, 3%));\n }\n }\n }\n\n //Multiple select\n & {\n .select2-selection--multiple {\n &:focus {\n border-color: lighten($color, 25%);\n }\n\n .select2-selection__choice {\n background-color: $color;\n border-color: darken($color, 5%);\n color: color-yiq($color);\n }\n\n .select2-selection__choice__remove {\n color: rgba(color-yiq($color), 0.7);\n\n &:hover {\n color: color-yiq($color);\n }\n }\n }\n \n &.select2-container--focus .select2-selection--multiple {\n border-color: lighten($color, 25%);\n }\n }\n }\n }\n}\n",
"//\n// Plugin: Bootstrap Slider\n//\n\n// Tooltip fix\n.slider .tooltip.in {\n opacity: $tooltip-opacity;\n}\n\n// Style override\n.slider {\n &.slider-vertical {\n height: 100%;\n }\n &.slider-horizontal {\n width: 100%;\n }\n}\n\n// Colors\n@each $name, $color in $theme-colors {\n .slider-#{$name} .slider {\n .slider-selection {\n background: $color;\n }\n }\n}\n\n@each $name, $color in $colors {\n .slider-#{$name} .slider {\n .slider-selection {\n background: $color;\n }\n }\n}\n",
"//\n// Plugin: iCheck Bootstrap\n//\n\n// iCheck colors (theme colors)\n@each $name, $color in $theme-colors {\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):hover + label::before,\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):hover + input[type=\"hidden\"] + label::before {\n border-color: #{$color};\n }\n\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):focus + label::before,\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):focus + input[type=\"hidden\"] + label::before {\n border-color: #{$color};\n }\n\n .icheck-#{$name} > input:first-child:checked + label::before,\n .icheck-#{$name} > input:first-child:checked + input[type=\"hidden\"] + label::before {\n background-color: #{$color};\n border-color: #{$color};\n }\n}\n\n// iCheck colors (colors)\n@each $name, $color in $colors {\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):hover + label::before,\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):hover + input[type=\"hidden\"] + label::before {\n border-color: #{$color};\n }\n\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):focus + label::before,\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):focus + input[type=\"hidden\"] + label::before {\n border-color: #{$color};\n }\n\n .icheck-#{$name} > input:first-child:checked + label::before,\n .icheck-#{$name} > input:first-child:checked + input[type=\"hidden\"] + label::before {\n background-color: #{$color};\n border-color: #{$color};\n }\n}\n",
"//\n// Plugins: jQuery Mapael\n//\n\n.mapael {\n .map {\n position: relative;\n }\n\n .mapTooltip {\n @include reset-text();\n @include border-radius($tooltip-border-radius);\n @include font-size($tooltip-font-size);\n background-color: $tooltip-bg;\n color: $tooltip-color;\n display: block;\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n position: absolute;\n text-align: center;\n word-wrap: break-word;\n z-index: $zindex-tooltip;\n }\n\n .myLegend {\n background-color: $gray-100;\n border: 1px solid $gray-500;\n padding: 10px;\n width: 600px;\n }\n\n .zoomButton {\n background-color: $button-default-background-color;\n border: 1px solid $button-default-border-color;\n border-radius: $btn-border-radius;\n color: $button-default-color;\n cursor: pointer;\n font-weight: bold;\n height: 16px;\n left: 10px;\n line-height: 14px;\n padding-left: 1px;\n position: absolute;\n text-align: center;\n top: 0;\n\n user-select: none;\n width: 16px;\n\n &:hover,\n &:active,\n &.hover {\n background-color: darken($button-default-background-color, 5%);\n color: darken($button-default-color, 10%);\n }\n }\n\n .zoomReset {\n line-height: 12px;\n top: 10px;\n }\n\n .zoomIn {\n top: 30px;\n }\n\n .zoomOut {\n top: 50px;\n }\n}\n",
"//\n// Plugins: JQVMap\n//\n\n// Zoom Button size fixes\n.jqvmap-zoomin,\n.jqvmap-zoomout {\n background-color: $button-default-background-color;\n border: 1px solid $button-default-border-color;\n border-radius: $btn-border-radius;\n color: $button-default-color;\n height: 15px;\n width: 15px;\n\n &:hover,\n &:active,\n &.hover {\n background-color: darken($button-default-background-color, 5%);\n color: darken($button-default-color, 10%);\n }\n}\n",
"//\n// Plugin: SweetAlert2\n//\n\n// Icon Colors\n.swal2-icon {\n &.swal2-info {\n border-color: ligthen($info, 20%);\n color: $info;\n }\n\n &.swal2-warning {\n border-color: ligthen($warning, 20%);\n color: $warning;\n }\n\n &.swal2-error {\n border-color: ligthen($danger, 20%);\n color: $danger;\n }\n\n &.swal2-question {\n border-color: ligthen($secondary, 20%);\n color: $secondary;\n }\n\n &.swal2-success {\n border-color: ligthen($success, 20%);\n color: $success;\n\n .swal2-success-ring {\n border-color: ligthen($success, 20%);\n }\n\n [class^='swal2-success-line'] {\n background-color: $success;\n }\n }\n\n}\n",
"//\n// Plugin: Toastr\n//\n\n// Background to FontAwesome Icons\n// #toast-container > .toast {\n// background-image: none !important;\n// }\n// #toast-container > .toast .toast-message:before {\n// font-family: 'Font Awesome 5 Free';\n// font-size: 24px;\n// font-weight: 900;\n// line-height: 18px;\n// float: left;\n// color: #FFF;\n// padding-right: 0.5em;\n// margin: auto 0.5em auto -1.5em;\n// } \n// #toast-container > .toast-warning .toast-message:before {\n// content: \"\\f06a\";\n// }\n// #toast-container > .toast-error .toast-message:before {\n// content: \"\\f071\";\n// }\n// #toast-container > .toast-info .toast-message:before {\n// content: \"\\f05a\";\n// }\n// #toast-container > .toast-success .toast-message:before {\n// content: \"\\f058\";\n// }\n\n\n#toast-container {\n // Background color\n .toast {\n background-color: $primary;\n }\n\n .toast-success {\n background-color: $success;\n }\n\n .toast-error {\n background-color: $danger;\n }\n\n .toast-info {\n background-color: $info;\n }\n\n .toast-warning {\n background-color: $warning;\n }\n}\n",
"//\n// Plugin: Pace\n//\n\n.pace {\n z-index: $zindex-main-sidebar + 10;\n\n .pace-progress {\n z-index: $zindex-main-sidebar + 11;\n }\n\n .pace-activity {\n z-index: $zindex-main-sidebar + 12;\n }\n}\n\n// Mixin \n@mixin pace-variant($name, $color) {\n .pace-#{$name} {\n .pace {\n .pace-progress {\n background: $color;\n }\n }\n }\n\n .pace-barber-shop-#{$name} {\n .pace {\n background: color-yiq($color);\n\n .pace-progress {\n background: $color;\n }\n\n .pace-activity {\n background-image: linear-gradient(45deg, rgba(color-yiq($color), 0.2) 25%, transparent 25%, transparent 50%, rgba(color-yiq($color), 0.2) 50%, rgba(color-yiq($color), 0.2) 75%, transparent 75%, transparent);\n }\n }\n }\n\n .pace-big-counter-#{$name} {\n .pace {\n .pace-progress::after {\n color: rgba($color, .19999999999999996);\n }\n }\n }\n\n .pace-bounce-#{$name} {\n .pace {\n .pace-activity {\n background: $color;\n }\n }\n }\n\n .pace-center-atom-#{$name} {\n .pace-progress {\n height: 100px;\n width: 80px;\n\n &::before {\n background: $color;\n color: color-yiq($color);\n font-size: .8rem;\n line-height: .7rem;\n padding-top: 17%;\n }\n }\n\n .pace-activity {\n border-color: $color;\n\n &::after,\n &::before {\n border-color: $color;\n }\n }\n }\n\n .pace-center-circle-#{$name} {\n .pace {\n .pace-progress {\n background: rgba($color, .8);\n color: color-yiq($color);\n }\n }\n }\n\n .pace-center-radar-#{$name} {\n .pace {\n .pace-activity {\n border-color: $color transparent transparent;\n }\n\n .pace-activity::before {\n border-color: $color transparent transparent;\n }\n }\n }\n\n .pace-center-simple-#{$name} {\n .pace {\n background: color-yiq($color);\n border-color: $color;\n\n .pace-progress {\n background: $color;\n }\n }\n }\n\n .pace-material-#{$name} {\n .pace {\n color: $color;\n }\n }\n\n .pace-corner-indicator-#{$name} {\n .pace {\n .pace-activity {\n background: $color;\n }\n\n .pace-activity::after,\n .pace-activity::before {\n border: 5px solid color-yiq($color);\n }\n\n\n .pace-activity::before {\n border-right-color: rgba($color, .2);\n border-left-color: rgba($color, .2);\n }\n\n .pace-activity::after {\n border-top-color: rgba($color, .2);\n border-bottom-color: rgba($color, .2);\n }\n }\n }\n\n .pace-fill-left-#{$name} {\n .pace {\n .pace-progress {\n background-color: rgba($color, 0.19999999999999996);\n }\n }\n }\n\n .pace-flash-#{$name} {\n .pace {\n .pace-progress {\n background: $color;\n }\n\n .pace-progress-inner {\n box-shadow: 0 0 10px $color, 0 0 5px $color;\n }\n\n .pace-activity {\n border-top-color: $color;\n border-left-color: $color;\n }\n }\n }\n\n .pace-loading-bar-#{$name} {\n .pace {\n .pace-progress {\n background: $color;\n color: $color;\n box-shadow: 120px 0 color-yiq($color), 240px 0 color-yiq($color);\n }\n\n .pace-activity {\n box-shadow: inset 0 0 0 2px $color, inset 0 0 0 7px color-yiq($color);\n }\n }\n }\n\n .pace-mac-osx-#{$name} {\n .pace {\n .pace-progress {\n background-color: $color;\n box-shadow: inset -1px 0 $color, inset 0 -1px $color, inset 0 2px rgba(color-yiq($color), 0.5), inset 0 6px rgba(color-yiq($color), .3);\n }\n\n .pace-activity {\n background-image: radial-gradient(rgba(color-yiq($color), .65) 0%, rgba(color-yiq($color), .15) 100%);\n height: 12px;\n }\n }\n }\n\n .pace-progress-color-#{$name} {\n .pace-progress {\n color: $color;\n }\n }\n}\n\n\n@each $name, $color in $theme-colors {\n @include pace-variant($name, $color);\n}\n\n@each $name, $color in $colors {\n @include pace-variant($name, $color);\n}\n\n",
"/**\n * bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.\n *\n * @version v3.4 (MODDED)\n * @homepage https://bttstrp.github.io/bootstrap-switch\n * @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)\n * @license MIT\n */\n\n$bootstrap-switch-border-radius: $btn-border-radius;\n$bootstrap-switch-handle-border-radius: .1rem;\n\n.bootstrap-switch {\n border: $input-border-width solid $input-border-color;\n border-radius: $bootstrap-switch-border-radius;\n cursor: pointer;\n direction: ltr;\n display: inline-block;\n line-height: .5rem;\n overflow: hidden;\n position: relative;\n text-align: left;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n user-select: none;\n vertical-align: middle;\n z-index: 0;\n\n .bootstrap-switch-container {\n border-radius: $bootstrap-switch-border-radius;\n display: inline-block;\n top: 0;\n transform: translate3d(0, 0, 0);\n\n }\n\n &:focus-within {\n box-shadow: $input-btn-focus-box-shadow;\n }\n\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n box-sizing: border-box;\n cursor: pointer;\n display: table-cell;\n font-size: 1rem;\n font-weight: 500;\n line-height: 1.2rem;\n padding: .25rem .5rem;\n vertical-align: middle;\n }\n\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off {\n text-align: center;\n z-index: 1;\n\n &.bootstrap-switch-default {\n background: $gray-200;\n color: color-yiq($gray-200);\n }\n\n @each $name, $color in $theme-colors {\n &.bootstrap-switch-#{$name} {\n background: $color;\n color: color-yiq($color);\n }\n }\n\n @each $name, $color in $colors {\n &.bootstrap-switch-#{$name} {\n background: $color;\n color: color-yiq($color);\n }\n }\n }\n\n .bootstrap-switch-handle-on {\n border-bottom-left-radius: $bootstrap-switch-handle-border-radius;\n border-top-left-radius: $bootstrap-switch-handle-border-radius;\n }\n\n .bootstrap-switch-handle-off {\n border-bottom-right-radius: $bootstrap-switch-handle-border-radius;\n border-top-right-radius: $bootstrap-switch-handle-border-radius;\n }\n\n input[type='radio'],\n input[type='checkbox'] {\n filter: alpha(opacity=0);\n left: 0;\n margin: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n z-index: -1;\n }\n\n &.bootstrap-switch-mini {\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n font-size: .875rem;\n line-height: 1.5;\n padding: .1rem .3rem;\n }\n }\n\n &.bootstrap-switch-small {\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n font-size: .875rem;\n line-height: 1.5;\n padding: .2rem .4rem;\n }\n }\n\n &.bootstrap-switch-large {\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n font-size: 1.25rem;\n line-height: 1.3333333rem;\n padding: .3rem .5rem;\n }\n }\n\n &.bootstrap-switch-disabled,\n &.bootstrap-switch-readonly,\n &.bootstrap-switch-indeterminate {\n cursor: default;\n\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n cursor: default;\n filter: alpha(opacity=50);\n opacity: .5;\n }\n }\n\n &.bootstrap-switch-animate .bootstrap-switch-container {\n transition: margin-left .5s;\n }\n\n &.bootstrap-switch-inverse {\n .bootstrap-switch-handle-on {\n border-radius: 0 $bootstrap-switch-handle-border-radius $bootstrap-switch-handle-border-radius 0;\n }\n\n .bootstrap-switch-handle-off {\n border-radius: $bootstrap-switch-handle-border-radius 0 0 $bootstrap-switch-handle-border-radius;\n }\n }\n\n // &.bootstrap-switch-focused {\n // border-color: $input-btn-focus-color;\n // box-shadow: $input-btn-focus-box-shadow;\n // outline: 0;\n // }\n\n &.bootstrap-switch-on .bootstrap-switch-label,\n &.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {\n border-bottom-right-radius: $bootstrap-switch-handle-border-radius;\n border-top-right-radius: $bootstrap-switch-handle-border-radius;\n }\n\n &.bootstrap-switch-off .bootstrap-switch-label,\n &.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {\n border-bottom-left-radius: $bootstrap-switch-handle-border-radius;\n border-top-left-radius: $bootstrap-switch-handle-border-radius;\n }\n}\n",
"//\n// Plugins: Miscellaneous\n// Old plugin codes\n//\n\n// _fix for sparkline tooltip\n.jqstooltip {\n height: auto !important;\n padding: 5px !important;\n width: auto !important;\n}\n\n// jQueryUI\n.connectedSortable {\n min-height: 100px;\n}\n\n.ui-helper-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sort-highlight {\n background: $gray-100;\n border: 1px dashed $gray-300;\n margin-bottom: 10px;\n}\n\n// Charts\n.chart {\n overflow: hidden;\n position: relative;\n}\n",
"//\r\n// Misc: Miscellaneous\r\n//\r\n\r\n.border-transparent {\r\n border-color: transparent !important;\r\n}\r\n\r\n// Description Blocks\r\n.description-block {\r\n display: block;\r\n margin: 10px 0;\r\n text-align: center;\r\n\r\n &.margin-bottom {\r\n margin-bottom: 25px;\r\n }\r\n\r\n > .description-header {\r\n font-size: 16px;\r\n font-weight: 600;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n > .description-text {\r\n text-transform: uppercase;\r\n }\r\n\r\n // Description Block Extension\r\n .description-icon {\r\n font-size: 16px;\r\n }\r\n}\r\n\r\n// List utility classes\r\n.list-group-unbordered {\r\n > .list-group-item {\r\n border-left: 0;\r\n border-radius: 0;\r\n border-right: 0;\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n}\r\n\r\n.list-header {\r\n color: $gray-600;\r\n font-size: 15px;\r\n font-weight: bold;\r\n padding: 10px 4px;\r\n}\r\n\r\n.list-seperator {\r\n background: $card-border-color;\r\n height: 1px;\r\n margin: 15px 0 9px;\r\n}\r\n\r\n.list-link {\r\n > a {\r\n color: $gray-600;\r\n padding: 4px;\r\n\r\n &:hover {\r\n color: $gray-900;\r\n }\r\n }\r\n}\r\n\r\n// User block\r\n.user-block {\r\n float: left;\r\n\r\n img {\r\n float: left;\r\n height: 40px;\r\n width: 40px;\r\n }\r\n\r\n .username,\r\n .description,\r\n .comment {\r\n display: block;\r\n margin-left: 50px;\r\n }\r\n\r\n .username {\r\n font-size: 16px;\r\n font-weight: 600;\r\n margin-top: -1px;\r\n }\r\n\r\n .description {\r\n color: $gray-600;\r\n font-size: 13px;\r\n margin-top: -3px;\r\n }\r\n\r\n &.user-block-sm {\r\n img {\r\n width: $img-size-sm;\r\n height: $img-size-sm;\r\n }\r\n\r\n .username,\r\n .description,\r\n .comment {\r\n margin-left: 40px;\r\n }\r\n\r\n .username {\r\n font-size: 14px;\r\n }\r\n }\r\n}\r\n\r\n// Image sizes\r\n.img-sm,\r\n.img-md,\r\n.img-lg {\r\n float: left;\r\n}\r\n\r\n.img-sm {\r\n height: $img-size-sm;\r\n width: $img-size-sm;\r\n\r\n + .img-push {\r\n margin-left: $img-size-sm + $img-size-push;\r\n }\r\n}\r\n\r\n.img-md {\r\n width: $img-size-md;\r\n height: $img-size-md;\r\n\r\n + .img-push {\r\n margin-left: $img-size-md + $img-size-push;\r\n }\r\n}\r\n\r\n.img-lg {\r\n width: $img-size-lg;\r\n height: $img-size-lg;\r\n\r\n + .img-push {\r\n margin-left: $img-size-lg + $img-size-push;\r\n }\r\n}\r\n\r\n// Image bordered\r\n.img-bordered {\r\n border: 3px solid $gray-500;\r\n padding: 3px;\r\n}\r\n\r\n.img-bordered-sm {\r\n border: 2px solid $gray-500;\r\n padding: 2px;\r\n}\r\n\r\n// Rounded and Circle Images\r\n.img-rounded {\r\n @include border-radius($border-radius)\r\n}\r\n\r\n.img-circle {\r\n @include border-radius(50%);\r\n}\r\n\r\n// Image sizes\r\n.img-size-64,\r\n.img-size-50,\r\n.img-size-32 {\r\n height: auto;\r\n}\r\n\r\n.img-size-64 {\r\n width: 64px;\r\n}\r\n\r\n.img-size-50 {\r\n width: 50px;\r\n}\r\n\r\n.img-size-32 {\r\n width: 32px;\r\n}\r\n\r\n// Block sizes\r\n.size-32,\r\n.size-40,\r\n.size-50 {\r\n display: block;\r\n text-align: center;\r\n}\r\n\r\n.size-32 {\r\n height: 32px;\r\n line-height: 32px;\r\n width: 32px;\r\n}\r\n\r\n.size-40 {\r\n height: 40px;\r\n line-height: 40px;\r\n width: 40px;\r\n}\r\n\r\n.size-50 {\r\n height: 50px;\r\n line-height: 50px;\r\n width: 50px;\r\n}\r\n\r\n// General attachemnt block\r\n.attachment-block {\r\n background: $gray-100;\r\n border: 1px solid $card-border-color;\r\n margin-bottom: 10px;\r\n padding: 5px;\r\n\r\n .attachment-img {\r\n float: left;\r\n height: auto;\r\n max-height: 100px;\r\n max-width: 100px;\r\n }\r\n\r\n .attachment-pushed {\r\n margin-left: 110px;\r\n }\r\n\r\n .attachment-heading {\r\n margin: 0;\r\n }\r\n\r\n .attachment-text {\r\n color: $gray-700;\r\n }\r\n}\r\n\r\n// Overlays for Card, InfoBox & SmallBox\r\n.card,\r\n.overlay-wrapper,\r\n.info-box,\r\n.small-box {\r\n // Box overlay for LOADING STATE effect\r\n > .overlay,\r\n > .loading-img {\r\n height: 100%;\r\n left: 0;\r\n position: absolute;\r\n top: 0;\r\n width: 100%;\r\n }\r\n\r\n .overlay {\r\n @include border-radius($border-radius);\r\n align-items: center;\r\n background: rgba($white, 0.7);\r\n display: flex;\r\n justify-content: center;\r\n z-index: 50;\r\n\r\n > .fa,\r\n > .fas,\r\n > .far,\r\n > .fab,\r\n > .glyphicon,\r\n > .ion {\r\n color: $gray-800;\r\n }\r\n\r\n &.dark {\r\n background: rgba($black, 0.5);\r\n\r\n > .fa,\r\n > .fas,\r\n > .far,\r\n > .fab,\r\n > .glyphicon,\r\n > .ion {\r\n color: $gray-400;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tab-pane {\r\n // Box overlay for LOADING STATE effect on Tab Panels\r\n > .overlay-wrapper {\r\n position: relative;\r\n > .overlay {\r\n border-top-left-radius: 0;\r\n border-top-right-raLine truncated
"//\n// Misc: Print\n//\n\n@media print {\n //Add to elements that you do not want to show when printing\n .no-print {\n display: none !important;\n }\n\n //Elements that we want to hide when printing\n .main-sidebar,\n .main-header,\n .content-header {\n @extend .no-print;\n }\n\n //This is the only element that should appear, so let's remove the margins\n .content-wrapper,\n .main-footer {\n @include translate(0, 0);\n margin-left: 0 !important;\n min-height: 0 !important;\n }\n\n .layout-fixed .content-wrapper {\n padding-top: 0 !important;\n }\n\n //Invoice printing\n .invoice {\n border: 0;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n\n .invoice-col {\n float: left;\n width: 33.3333333%;\n }\n\n //Make sure table content displays properly\n .table-responsive {\n overflow: auto;\n\n > .table tr th,\n > .table tr td {\n white-space: normal !important;\n }\n }\n}\n",
"//\n// Component: Text\n//\n\n// text modification\n.text-bold {\n &, &.table td, &.table th {\n font-weight: 700;\n }\n}\n\n.text-xs {\n font-size: $font-size-xs !important;\n}\n\n.text-sm {\n font-size: $font-size-sm !important;\n}\n\n.text-md {\n font-size: $font-size-base !important;\n}\n\n.text-lg {\n font-size: $font-size-lg !important;\n}\n\n.text-xl {\n font-size: $font-size-xl !important;\n}\n\n// text color variations\n@each $name, $color in $colors {\n .text-#{$name} {\n color: #{$color};\n }\n}\n",
"//\n// Component: Elevation\n//\n\n.elevation-0 {\n box-shadow: none !important;\n}\n\n// Background colors (colors)\n@each $name, $value in $elevations {\n .elevation-#{$name} {\n box-shadow: $value !important;\n }\n}\n",
"//\n// Mixins: Backgrounds\n//\n\n// Background Variant\n@mixin background-variant($name, $color) {\n .bg-#{$name} {\n background-color: #{$color} !important;\n\n &,\n > a {\n color: color-yiq($color) !important;\n }\n\n &.btn {\n &:hover {\n border-color: darken($color, 10%);\n color: darken(color-yiq($color), 7.5%);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n &:active,\n &.active {\n background-color: darken($color, 10%) !important;\n border-color: darken($color, 12.5%);\n color: color-yiq(darken($color, 10%));\n }\n }\n }\n}\n\n// Background Gradient Variant\n@mixin background-gradient-variant($name, $color) {\n .bg-gradient-#{$name} {\n @include bg-gradient-variant('&', $color);\n color: color-yiq($color);\n\n &.btn {\n &.disabled,\n &:disabled,\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n background-image: none !important;\n }\n\n &:hover {\n @include bg-gradient-variant('&', darken($color, 7.5%));\n border-color: darken($color, 10%);\n color: darken(color-yiq($color), 7.5%);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n &:active,\n &.active {\n @include bg-gradient-variant('&', darken($color, 10%));\n border-color: darken($color, 12.5%);\n color: color-yiq(darken($color, 10%));\n }\n }\n }\n}\n",
"//\n// Misc: Colors\n//\n\n// Background colors (theme colors)\n@each $name, $color in $theme-colors {\n @include background-variant($name, $color);\n}\n\n// Background colors (colors)\n@each $name, $color in $colors {\n @include background-variant($name, $color);\n}\n\n.bg-gray {\n background-color: $gray-500;\n color: color-yiq($gray-500);\n}\n\n.bg-gray-light {\n background-color: lighten($gray-200, 3%);\n color: color-yiq(lighten($gray-200, 3%)) !important;\n}\n\n.bg-black {\n background-color: $black;\n color: color-yiq($black) !important;\n}\n\n.bg-white {\n background-color: $white;\n color: color-yiq($white) !important;\n}\n\n// Gradient Background colors (theme colors)\n@each $name, $color in $theme-colors {\n @include background-gradient-variant($name, $color);\n}\n\n// Gradient Background colors (colors)\n@each $name, $color in $colors {\n @include background-gradient-variant($name, $color);\n}\n\n// Backgrund Color Disabled\n[class^='bg-'].disabled {\n opacity: .65;\n}\n\n// Text muted hover\na.text-muted:hover {\n color: theme-color(primary) !important;\n}\n\n// Link Styles\n.link-muted {\n color: darken($gray-500, 30%);\n\n &:hover,\n &:focus {\n color: darken($gray-500, 40%);\n }\n}\n\n.link-black {\n color: $gray-600;\n\n &:hover,\n &:focus {\n color: lighten($gray-500, 20%);\n }\n}\n\n// Accent colors (theme colors)\n@each $name, $color in $theme-colors {\n @include accent-variant($name, $color);\n}\n\n// Accent colors (colors)\n@each $name, $color in $colors {\n @include accent-variant($name, $color);\n}\n\n// Accent button override fix\n[class*=\"accent-\"] {\n @each $name, $color in $theme-colors {\n a.btn-#{$name} {\n color: color-yiq($color);\n }\n }\n}\n",
"//\n// Mixins: Accent\n//\n\n// Accent Variant\n@mixin accent-variant($name, $color) {\n .accent-#{$name} {\n $link-color: $color;\n $link-hover-color: darken($color, 15%);\n $pagination-active-bg: $color;\n $pagination-active-border-color: $color;\n\n .btn-link,\n a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link) {\n color: $link-color;\n\n @include hover {\n color: $link-hover-color;\n }\n }\n\n .dropdown-item {\n &:active,\n &.active {\n background: $color;\n color: color-yiq($color);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n background: $color;\n border-color: darken($color, 20%);\n }\n\n &::after {\n $newColor: color-yiq($color);\n background-image: str-replace($custom-checkbox-indicator-icon-checked, str-replace(#{$custom-control-indicator-checked-color}, '#', '%23'), str-replace(#{$newColor}, '#', '%23'));\n }\n }\n\n .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid),\n .custom-select:focus,\n .custom-control-input:focus:not(:checked) ~ .custom-control-label::before,\n .custom-file-input:focus ~ .custom-file-label {\n border-color: lighten($color, 25%);\n }\n \n .page-item {\n .page-link {\n color: $link-color;\n }\n\n &.active a,\n &.active .page-link {\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n color: $pagination-active-color;\n }\n\n &.disabled a,\n &.disabled .page-link {\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n color: $pagination-disabled-color;\n }\n }\n\n [class*=\"sidebar-dark-\"] {\n .sidebar {\n a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {\n color: $sidebar-dark-color;\n \n @include hover {\n color: $sidebar-dark-hover-color;\n }\n }\n }\n }\n\n [class*=\"sidebar-light-\"] {\n .sidebar {\n a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {\n color: $sidebar-light-color;\n\n @include hover {\n color: $sidebar-light-hover-color;\n }\n }\n }\n }\n }\n}\n\n"
]
}
{"version":3,"sources":["../../build/scss/AdminLTE.scss","adminlte.css","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../build/scss/_bootstrap-variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/mixins/_hover.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/mixins/_box-shadow.scss","../../node_modules/bootstrap/scss/_code.scss","../../node_modules/bootstrap/scss/_grid.scss","../../node_modules/bootstrap/scss/mixins/_grid.scss","../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../node_modules/bootstrap/scss/mixins/_grid-framework.scss","../../node_modules/bootstrap/scss/_tables.scss","../../node_modules/bootstrap/scss/mixins/_table-row.scss","../../node_modules/bootstrap/scss/_functions.scss","../../node_modules/bootstrap/scss/_forms.scss","../../node_modules/bootstrap/scss/mixins/_transition.scss","../../node_modules/bootstrap/scss/mixins/_forms.scss","../../node_modules/bootstrap/scss/mixins/_gradients.scss","../../node_modules/bootstrap/scss/_buttons.scss","../../node_modules/bootstrap/scss/mixins/_buttons.scss","../../node_modules/bootstrap/scss/_transitions.scss","../../node_modules/bootstrap/scss/_dropdown.scss","../../node_modules/bootstrap/scss/mixins/_caret.scss","../../node_modules/bootstrap/scss/mixins/_nav-divider.scss","../../node_modules/bootstrap/scss/_button-group.scss","../../node_modules/bootstrap/scss/_input-group.scss","../../node_modules/bootstrap/scss/_custom-forms.scss","../../node_modules/bootstrap/scss/_nav.scss","../../node_modules/bootstrap/scss/_navbar.scss","../../node_modules/bootstrap/scss/_card.scss","../../node_modules/bootstrap/scss/_breadcrumb.scss","../../node_modules/bootstrap/scss/_pagination.scss","../../node_modules/bootstrap/scss/mixins/_pagination.scss","../../node_modules/bootstrap/scss/_badge.scss","../../node_modules/bootstrap/scss/mixins/_badge.scss","../../node_modules/bootstrap/scss/_jumbotron.scss","../../node_modules/bootstrap/scss/_alert.scss","../../node_modules/bootstrap/scss/mixins/_alert.scss","../../node_modules/bootstrap/scss/_progress.scss","../../node_modules/bootstrap/scss/_media.scss","../../node_modules/bootstrap/scss/_list-group.scss","../../node_modules/bootstrap/scss/mixins/_list-group.scss","../../node_modules/bootstrap/scss/_close.scss","../../node_modules/bootstrap/scss/_toasts.scss","../../node_modules/bootstrap/scss/_modal.scss","../../node_modules/bootstrap/scss/_tooltip.scss","../../node_modules/bootstrap/scss/mixins/_reset-text.scss","../../node_modules/bootstrap/scss/_popover.scss","../../node_modules/bootstrap/scss/_carousel.scss","../../node_modules/bootstrap/scss/mixins/_clearfix.scss","../../node_modules/bootstrap/scss/_spinners.scss","../../node_modules/bootstrap/scss/utilities/_align.scss","../../node_modules/bootstrap/scss/mixins/_background-variant.scss","../../node_modules/bootstrap/scss/utilities/_background.scss","../../node_modules/bootstrap/scss/utilities/_borders.scss","../../node_modules/bootstrap/scss/utilities/_display.scss","../../node_modules/bootstrap/scss/utilities/_embed.scss","../../node_modules/bootstrap/scss/utilities/_flex.scss","../../node_modules/bootstrap/scss/utilities/_float.scss","../../node_modules/bootstrap/scss/utilities/_overflow.scss","../../node_modules/bootstrap/scss/utilities/_position.scss","../../node_modules/bootstrap/scss/utilities/_screenreaders.scss","../../node_modules/bootstrap/scss/mixins/_screen-reader.scss","../../node_modules/bootstrap/scss/utilities/_shadows.scss","../../node_modules/bootstrap/scss/utilities/_sizing.scss","../../node_modules/bootstrap/scss/utilities/_stretched-link.scss","../../node_modules/bootstrap/scss/utilities/_spacing.scss","../../node_modules/bootstrap/scss/utilities/_text.scss","../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../../node_modules/bootstrap/scss/mixins/_text-emphasis.scss","../../node_modules/bootstrap/scss/mixins/_text-hide.scss","../../node_modules/bootstrap/scss/utilities/_visibility.scss","../../node_modules/bootstrap/scss/_print.scss","../../build/scss/_layout.scss","../../build/scss/_variables.scss","../../build/scss/_main-header.scss","../../build/scss/_brand.scss","../../build/scss/_main-sidebar.scss","../../build/scss/mixins/_miscellaneous.scss","../../build/scss/mixins/_sidebar.scss","../../build/scss/_sidebar-mini.scss","../../build/scss/_control-sidebar.scss","../../build/scss/_dropdown.scss","../../build/scss/_navs.scss","../../build/scss/_forms.scss","../../build/scss/mixins/_custom-forms.scss","../../build/scss/_progress-bars.scss","../../Line truncated
@@ -1,285 +1 @@
{
"version": 3,
"sources": [
"..\\..\\build\\scss\\AdminLTE.scss",
"..\\..\\node_modules\\bootstrap\\scss\\bootstrap.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_root.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_reboot.scss",
"dist\\css\\adminlte.css",
"..\\..\\node_modules\\bootstrap\\scss\\vendor\\_rfs.scss",
"adminlte.css",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_hover.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_type.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_lists.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_images.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_image.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_border-radius.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_box-shadow.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_code.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_grid.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_grid.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_breakpoints.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_grid-framework.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_tables.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_table-row.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_forms.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_transition.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_forms.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_gradients.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_buttons.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_buttons.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_transitions.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_dropdown.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_caret.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_nav-divider.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_button-group.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_input-group.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_custom-forms.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_nav.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_navbar.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_card.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_breadcrumb.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_pagination.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_pagination.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_badge.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_badge.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_jumbotron.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_alert.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_alert.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_progress.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_media.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_list-group.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_list-group.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_close.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_toasts.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_modal.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_tooltip.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_reset-text.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_popover.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_carousel.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_clearfix.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_spinners.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_align.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_background-variant.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_background.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_borders.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_display.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_embed.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_flex.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_float.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_overflow.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_position.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_screenreaders.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_screen-reader.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_shadows.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_sizing.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_stretched-link.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_spacing.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_text.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-truncate.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-emphasis.scss",
"..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-hide.scss",
"..\\..\\node_modules\\bootstrap\\scss\\utilities\\_visibility.scss",
"..\\..\\node_modules\\bootstrap\\scss\\_print.scss",
"..\\..\\build\\scss\\_layout.scss",
"..\\..\\build\\scss\\_main-header.scss",
"..\\..\\build\\scss\\_brand.scss",
"..\\..\\build\\scss\\_main-sidebar.scss",
"..\\..\\build\\scss\\mixins\\_miscellaneous.scss",
"..\\..\\build\\scss\\mixins\\_sidebar.scss",
"..\\..\\build\\scss\\_sidebar-mini.scss",
"..\\..\\build\\scss\\_control-sidebar.scss",
"..\\..\\build\\scss\\_dropdown.scss",
"..\\..\\build\\scss\\_navs.scss",
"..\\..\\build\\scss\\_forms.scss",
"..\\..\\build\\scss\\mixins\\_custom-forms.scss",
"..\\..\\build\\scss\\_progress-bars.scss",
"..\\..\\build\\scss\\mixins\\_cards.scss",
"..\\..\\build\\scss\\_cards.scss",
"..\\..\\build\\scss\\_modals.scss",
"..\\..\\build\\scss\\_toasts.scss",
"..\\..\\build\\scss\\mixins\\_toasts.scss",
"..\\..\\build\\scss\\_buttons.scss",
"..\\..\\build\\scss\\_callout.scss",
"..\\..\\build\\scss\\_alerts.scss",
"..\\..\\build\\scss\\_table.scss",
"..\\..\\build\\scss\\_carousel.scss",
"..\\..\\build\\scss\\_small-box.scss",
"..\\..\\build\\scss\\_info-box.scss",
"..\\..\\build\\scss\\_timeline.scss",
"..\\..\\build\\scss\\_products.scss",
"..\\..\\build\\scss\\_direct-chat.scss",
"..\\..\\build\\scss\\mixins\\_direct-chat.scss",
"..\\..\\build\\scss\\_users-list.scss",
"..\\..\\build\\scss\\_social-widgets.scss",
"..\\..\\build\\scss\\pages\\_mailbox.scss",
"..\\..\\build\\scss\\pages\\_lockscreen.scss",
"..\\..\\build\\scss\\pages\\_login_and_register.scss",
"..\\..\\build\\scss\\pages\\_404_500_errors.scss",
"..\\..\\build\\scss\\pages\\_invoice.scss",
"..\\..\\build\\scss\\pages\\_profile.scss",
"..\\..\\build\\scss\\pages\\_e-commerce.scss",
"..\\..\\build\\scss\\pages\\_projects.scss",
"..\\..\\build\\scss\\plugins\\_fullcalendar.scss",
"..\\..\\build\\scss\\plugins\\_select2.scss",
"..\\..\\build\\scss\\plugins\\_mixins.scss",
"..\\..\\build\\scss\\plugins\\_bootstrap-slider.scss",
"..\\..\\build\\scss\\plugins\\_icheck-bootstrap.scss",
"..\\..\\build\\scss\\plugins\\_mapael.scss",
"..\\..\\build\\scss\\plugins\\_jqvmap.scss",
"..\\..\\build\\scss\\plugins\\_sweetalert2.scss",
"..\\..\\build\\scss\\plugins\\_toastr.scss",
"..\\..\\build\\scss\\plugins\\_pace.scss",
"..\\..\\build\\scss\\plugins\\_bootstrap-switch.scss",
"..\\..\\build\\scss\\plugins\\_miscellaneous.scss",
"..\\..\\build\\scss\\_miscellaneous.scss",
"..\\..\\build\\scss\\_print.scss",
"..\\..\\build\\scss\\_text.scss",
"..\\..\\build\\scss\\_elevation.scss",
"..\\..\\build\\scss\\mixins\\_backgrounds.scss",
"..\\..\\build\\scss\\_colors.scss",
"..\\..\\build\\scss\\mixins\\_accent.scss"
],
"names": [],
"mappings": "AAAA;;;;;ACAA;;;;;ACCA,MAGI,OAAA,QAAA,SAAA,QAAA,SAAA,QAAA,OAAA,QAAA,MAAA,QAAA,SAAA,QAAA,SAAA,QAAA,QAAA,QAAA,OAAA,QAAA,OAAA,QAAA,QAAA,QAAA,OAAA,QAAA,YAAA,QAIA,UAAA,QAAA,YAAA,QAAA,UAAA,QAAA,OAAA,QAAA,UAAA,QAAA,SAAA,QAAA,QAAA,QAAA,OAAA,QAIA,gBAAA,EAAA,gBAAA,MAAA,gBAAA,MAAA,gBAAA,MAAA,gBAAA,OAKF,yBAAA,iBAAA,CAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBACA,wBAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UCAF,EC2BA,QADA,SDvBE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,4BAAA,YAMF,QAAA,MAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAUF,KACE,OAAA,EACA,YAAA,iBAAA,CAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBEgFI,UAAA,KF9EJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KGkBF,0CHLE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAOF,EACE,WAAA,EACA,cAAA,KCVF,0BDqBA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EACA,iCAAA,KAAA,yBAAA,KAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCfF,GDkBA,GCnBA,GDsBE,WAAA,EACA,cAAA,KAGF,MClBA,MACA,MAFA,MDuBE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,ECnBA,ODqBE,YAAA,OAGF,MExFI,UAAA,IFiGJ,ICxBA,ID0BE,SAAA,SEnGE,UAAA,IFqGF,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YIhLA,QJmLE,MAAA,QACA,gBAAA,KASJ,cACE,MAAA,QACA,gBAAA,KI/LA,oBJkME,MAAA,QACA,gBAAA,KCzBJ,KACA,IDiCA,IChCA,KDoCE,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UEpJE,UAAA,IFwJJ,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,IAGE,SAAA,OACA,eAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OAEE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBCpEF,ODuEA,MCrEA,SADA,OAEA,SDyEE,OAAA,EACA,YAAA,QErPE,UAAA,QFuPF,YAAA,QAGF,OCvEA,MDyEE,SAAA,QAGF,OCvEA,ODyEE,eAAA,KAMF,OACE,UAAA,OCvEF,cACA,aACA,cD4EA,OAIE,mBAAA,OC3EF,6BACA,4BACA,6BD8EE,sBAKI,OAAA,QC9EN,gCACA,+BACA,gCDkFA,yBAIE,QAAA,EACA,aAAA,KCjFF,qBDoFA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCpFA,2BACA,kBAFA,iBD8FE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MEjSI,UAAA,OFmSJ,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SGnGF,yCFGA,yCDsGE,OAAA,KGpGF,cH4GE,eAAA,KACA,mBAAA,KGxGF,yCHgHE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KGrHF,SH2HE,QAAA,eCpHF,IAAK,IAAK,IAAK,IAAK,IAAK,IItWzB,GAAA,GAAA,GAAA,GAAA,GAAA,GAEE,cAAA,MACA,YAAA,QACA,YAAA,IACA,YAAA,IACA,MAAA,QAGF,IAAA,GHgHM,UAAA,OG/GN,IAAA,GH+GM,UAAA,KG9GN,IAAA,GH8GM,UAAA,QG7GN,IAAA,GH6GM,UAAA,OG5GN,IAAA,GH4GM,UAAA,QG3GN,IAAA,GH2GM,UAAA,KGzGN,MHyGM,UAAA,QGvGJ,YAAA,IAIF,WHmGM,UAAA,KGjGJ,YAAA,IACA,YAAA,IAEF,WH8FM,UAAA,OG5FJ,YAAA,IACA,YAAA,IAEF,WHyFM,UAAA,OGvFJ,YAAA,IACA,YAAA,IAEF,WHoFM,UAAA,OGlFJ,YAAA,IACA,YAAA,IL6BF,GKpBE,WAAA,KACA,cAAA,KACA,OAAA,EACA,WAAA,IAAA,MAAA,eJuXF,OI/WA,MHMI,UAAA,IGHF,YAAA,IJkXF,MI/WA,KAEE,QAAA,KACA,iBAAA,QAQF,eC/EE,aAAA,EACA,WAAA,KDmFF,aCpFE,aAAA,EACA,WAAA,KDsFF,kBACE,QAAA,aADF,mCAII,aAAA,MAUJ,YHjCI,UAAA,IGmCF,eAAA,UAIF,YACE,cAAA,KHeI,UAAA,QGXN,mBACE,QAAA,MH7CE,UAAA,IG+CF,MAAA,QAHF,2BAMI,QAAA,aEnHJ,WCIE,UAAA,KAGA,OAAA,KDDF,eACE,QAAA,OACA,iBAAA,KACA,OAAA,IAAA,MAAA,QEXE,cAAA,OCWE,WAAA,EAAA,IAAA,IAAA,iBFLJ,UAAA,KAGA,OAAA,KDcF,QAEE,QAAA,aAGF,YACE,cAAA,MACA,YAAA,EAGF,gBLkCI,UAAA,IKhCF,MAAA,QIvCF,KTuEI,UAAA,MSrEF,MAAA,QACA,UAAA,WAGA,OACE,MAAA,QAKJ,IACE,QAAA,MAAA,MT0DE,UAAA,MSxDF,MAAA,KACA,iBAAA,QFZE,cAAA,MCWE,WAAA,MAAA,EAAA,OAAA,EAAA,gBCHN,QASI,QAAA,ETkDA,UAAA,KShDA,YAAA,IDRE,WAAA,KVgNN,IWjME,QAAA,MTyCE,UAAA,MSvCF,MAAA,QAHF,ST0CI,UAAA,QSlCA,MAAA,QACA,WAAA,OAKJ,gBACE,WAAA,MACA,WAAA,OCxCA,WCDA,MAAA,KACA,cAAA,MACA,aAAA,MACA,aAAA,KACA,YAAA,KCmDE,yBFtDF,WCWI,UAAA,OC2CF,yBFtDF,WCWI,UAAA,OC2CF,yBFtDF,WCWI,UAAA,OC2CF,0BFtDF,WCWI,UAAA,QDLJ,iBAAA,cAAA,cAAA,cAAA,cCPA,MAAA,KACA,cAAA,MACA,aAAA,MACA,aAAA,KACA,YAAA,KCmDE,yBFrCE,WAAA,cACE,UAAA,OEoCJ,yBFrCE,WAAA,cAAA,cACE,UAAA,OEoCJ,yBFrCE,WAAA,cAAA,cAAA,cACE,UAAA,OEoCJ,0BFrCE,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QAoBN,KCrBA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,OACA,YAAA,ODwBA,YACE,aAAA,EACA,YAAA,EAFF,iBXukBF,0BWjkBM,cAAA,EACA,aAAA,EGlDJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OdwnBF,UAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFkJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,aAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,ac3nBI,SAAA,SACA,MAAA,KACA,cAAA,MACA,aAAA,MAmBE,KACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAIA,cF4BJ,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KE7BI,cF4BJ,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IE7BI,cF4BJ,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WACA,UAAA,WE7BI,cF4BJ,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IE7BI,cF4BJ,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IACA,UAAA,IE7BI,cF4BJ,Line truncated
"sourcesContent": [
"/*!\n * AdminLTE v3.0.4\n * Author: Colorlib\n * Website: AdminLTE.io <http://adminlte.io>\n * License: Open source - MIT <http://opensource.org/licenses/MIT>\n */\n// Bootstrap\n// ---------------------------------------------------\n@import '~bootstrap/scss/functions';\n@import 'bootstrap-variables';\n@import '~bootstrap/scss/bootstrap';\n\n// Variables and Mixins\n// ---------------------------------------------------\n@import 'variables';\n@import 'mixins';\n\n@import 'parts/core';\n@import 'parts/components';\n@import 'parts/extra-components';\n@import 'parts/pages';\n@import 'parts/plugins';\n@import 'parts/miscellaneous';\n\n",
"/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n",
"// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n",
"// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {Line truncated
"/*!\n * AdminLTE v3.0.4\n * Author: Colorlib\n * Website: AdminLTE.io <http://adminlte.io>\n * License: Open source - MIT <http://opensource.org/licenses/MIT>\n */\n/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #ffffff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: \"Source Sans Pro\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: \"Source Sans Pro\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #ffffff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: none;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: Line truncated
"// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `emLine truncated
"/*!\n * AdminLTE v3.0.4\n * Author: Colorlib\n * Website: AdminLTE.io <http://adminlte.io>\n * License: Open source - MIT <http://opensource.org/licenses/MIT>\n */\n/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #ffffff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: \"Source Sans Pro\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: \"Source Sans Pro\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #ffffff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: none;\n}\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[typeLine truncated
"// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n",
"// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n",
"// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n",
"// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n",
"// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n",
"// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n",
"@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n\n @if (length($shadow) == 1) {\n // We can pass `@include box-shadow(none);`\n $result: $shadow;\n } @else {\n // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`\n @for $i from 1 through length($shadow) {\n @if nth($shadow, $i) != \"none\" {\n $result: append($result, nth($shadow, $i), \"comma\");\n }\n }\n }\n @if (length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n",
"// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n",
"// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n",
"/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n",
"// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n",
"// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n",
"//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n",
"// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n",
"// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// FLine truncated
"// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n",
"// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @includeLine truncated
"// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n",
"// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n",
"// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",
".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n",
"// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n",
"@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n",
"// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n",
"// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n",
"// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd likeLine truncated
"// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-blacklist\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custLine truncated
"// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n",
"// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n Line truncated
"//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-liLine truncated
".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",
".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n",
"// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n",
"// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n",
"@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",
".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n",
"//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n",
"@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n",
"// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",
".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n",
"// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n",
"// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",
".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",
".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n",
"// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-bordLine truncated
"// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n",
"@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",
".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n",
"// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n",
"@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n",
"//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n",
"// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n",
"// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n",
"// stylelint-disable property-blacklist, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n",
"// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n",
"// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n",
"// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n",
"//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n",
"// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n",
"// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n",
"//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n",
"// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // IE & < Edge 18\n overflow-wrap: break-word !important;\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n",
"// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",
"// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n",
"// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n",
"// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n",
"// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n",
"//\n// Core: Layout\n//\n\nhtml.scroll-smooth {\n scroll-behavior: smooth;\n}\n\nhtml,\nbody,\n.wrapper {\n min-height: 100%;\n}\n\n.wrapper {\n position: relative;\n\n & .content-wrapper {\n min-height: calc(100vh - #{$main-header-height} - #{$main-footer-height});\n }\n\n .layout-boxed & {\n @include box-shadow(0 0 10 rgba($black, .3));\n\n &,\n &::before {\n margin: 0 auto;\n max-width: $boxed-layout-max-width;\n }\n\n & .main-sidebar {\n left: inherit;\n }\n }\n\n @supports not (-webkit-touch-callout: none) {\n .layout-fixed & .sidebar {\n height: calc(100vh - (#{$main-header-height-inner} + #{$main-header-bottom-border-width}));\n }\n .layout-fixed.text-sm & .sidebar {\n height: calc(100vh - (#{$main-header-height-sm-inner} + #{$main-header-bottom-border-width}));\n }\n }\n\n .layout-navbar-fixed.layout-fixed & {\n .control-sidebar {\n top: $main-header-height;\n }\n\n .main-header.text-sm ~ .control-sidebar {\n top: $main-header-height-sm;\n }\n\n .sidebar {\n margin-top: $main-header-height;\n }\n\n .brand-link.text-sm ~ .sidebar {\n margin-top: $main-header-height-sm;\n }\n }\n\n .layout-navbar-fixed.layout-fixed.text-sm & {\n .control-sidebar {\n top: $main-header-height-sm;\n }\n\n .sidebar {\n margin-top: $main-header-height-sm;\n }\n }\n\n .layout-navbar-fixed.sidebar-mini.sidebar-collapse &,\n .layout-navbar-fixed.sidebar-mini-md.sidebar-collapse & {\n .brand-link {\n height: $main-header-height;\n width: $sidebar-mini-width;\n\n &.text-sm {\n height: $main-header-height-sm;\n }\n }\n }\n\n .layout-navbar-fixed.sidebar-mini.sidebar-collapse.text-sm &,\n .layout-navbar-fixed.sidebar-mini-md.sidebar-collapse.text-sm & {\n .brand-link {\n height: $main-header-height-sm;\n }\n }\n\n body:not(.layout-fixed).layout-navbar-fixed & {\n .main-sidebar {\n margin-top: calc(#{$main-header-height} / -1);\n\n .sidebar {\n margin-top: $main-header-height;\n }\n }\n }\n\n body:not(.layout-fixed).layout-navbar-fixed.text-sm & {\n .main-sidebar {\n margin-top: calc(#{$main-header-height-sm} / -1);\n\n .sidebar {\n margin-top: $main-header-height-sm;\n }\n }\n }\n\n .layout-navbar-fixed & {\n .control-sidebar {\n top: 0;\n }\n\n a.anchor {\n display: block;\n position: relative;\n top: calc((#{$main-header-height-inner} + #{$main-header-bottom-border-width} + (#{$main-header-link-padding-y} * 2)) / -1);\n }\n\n .main-sidebar:hover {\n .brand-link {\n transition: width $transition-speed $transition-fn;\n width: $sidebar-width;\n }\n }\n\n .brand-link {\n overflow: hidden;\n position: fixed;\n top: 0;\n transition: width $transition-speed $transition-fn;\n width: $sidebar-width;\n z-index: $zindex-main-header + 1;\n }\n\n // Sidebar variants brand-link fix\n @each $name, $color in $theme-colors {\n .sidebar-dark-#{$name} .brand-link:not([class*=\"navbar\"]) {\n background-color: $sidebar-dark-bg;\n }\n\n .sidebar-light-#{$name} .brand-link:not([class*=\"navbar\"]) {\n background-color: $sidebar-light-bg;\n }\n }\n\n .content-wrapper {\n margin-top: $main-header-height;\n }\n\n .main-header.text-sm ~ .content-wrapper {\n margin-top: $main-header-height-sm;\n }\n\n .main-header {\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n z-index: $zindex-main-header - 1;\n }\n }\n\n .layout-navbar-fixed.text-sm & {\n .content-wrapper {\n margin-top: $main-header-height-sm;\n }\n }\n\n .layout-navbar-not-fixed & {\n .brand-link {\n position: static;\n }\n\n .sidebar,\n .content-wrapper {\n margin-top: 0;\n }\n\n .main-header {\n position: static;\n }\n }\n\n .layout-navbar-not-fixed.layout-fixed & {\n .sidebar {\n margin-top: 0;\n }\n }\n\n @each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .layout#{$infix}-navbar-fixed.layout-fixed & {\n .control-sidebar {\n top: $main-header-height;\n }\n\n .text-sm & .main-header ~ .control-sidebar,\n .main-header.text-sm ~ .control-sidebar {\n top: $main-header-height-sm;\n }\n\n .sidebar {\n margin-top: $main-header-height;\n }\n\n .text-sm & .brand-link ~ .sidebar,\n .brand-link.text-sm ~ .sidebar {\n margin-top: $main-header-height-sm;\n }\n }\n\n .layout#{$infix}-navbar-fixed.layout-fixed.text-sm & {\n .control-sidebar {\n top: $main-header-height-sm;\n }\n\n .sidebar {\n margin-top: $main-header-height-sLine truncated
"//\n// Component: Main Header\n//\n \n.main-header {\n border-bottom: $main-header-bottom-border;\n z-index: $zindex-main-header;\n\n .nav-link {\n height: $nav-link-height;\n position: relative;\n }\n\n .text-sm &,\n &.text-sm {\n .nav-link {\n height: $nav-link-sm-height;\n padding: $nav-link-sm-padding-y $nav-link-padding-x;\n\n > .fa,\n > .fas,\n > .far,\n > .fab,\n > .glyphicon,\n > .ion {\n font-size: $font-size-sm;\n }\n }\n\n }\n\n .navbar-nav {\n .nav-item {\n margin: 0;\n }\n\n &[class*='-right'] {\n .dropdown-menu {\n left: auto;\n margin-top: -3px;\n right: 0;\n\n @media (max-width: breakpoint-max(xs)) {\n left: 0;\n right: auto;\n }\n }\n }\n }\n}\n\n// Add this class to images within a nav-link\n.navbar-img {\n height: $main-header-height / 2;\n width: auto;\n}\n\n// Navbar badge\n.navbar-badge {\n font-size: .6rem;\n font-weight: 300;\n padding: 2px 4px;\n position: absolute;\n right: 5px;\n top: 9px;\n}\n\n.btn-navbar {\n background-color: transparent;\n border-left-width: 0;\n}\n\n.form-control-navbar {\n border-right-width: 0;\n\n & + .input-group-append {\n margin-left: 0;\n }\n}\n\n.form-control-navbar,\n.btn-navbar {\n transition: none;\n}\n\n.navbar-dark {\n .form-control-navbar,\n .btn-navbar {\n background-color: $main-header-dark-form-control-bg;\n border: $main-header-dark-form-control-border;\n }\n\n .form-control-navbar {\n &::placeholder {\n color: $main-header-dark-placeholder-color;\n }\n\n + .input-group-append > .btn-navbar {\n color: $main-header-dark-placeholder-color;\n }\n\n &:focus {\n &,\n & + .input-group-append .btn-navbar {\n background-color: $main-header-dark-form-control-focused-bg;\n border: $main-header-dark-form-control-focused-border !important;\n color: $main-header-dark-form-control-focused-color;\n }\n }\n }\n}\n\n.navbar-light {\n .form-control-navbar,\n .btn-navbar {\n background-color: $main-header-light-form-control-bg;\n border: $main-header-light-form-control-border;\n }\n\n .form-control-navbar {\n &::placeholder {\n color: $main-header-light-placeholder-color;\n }\n\n + .input-group-append > .btn-navbar {\n color: $main-header-light-placeholder-color;\n }\n\n &:focus {\n &,\n & + .input-group-append .btn-navbar {\n background-color: $main-header-light-form-control-focused-bg;\n border: $main-header-light-form-control-focused-border !important;\n color: $main-header-light-form-control-focused-color;\n }\n }\n }\n}\n",
"//\n// Component: Brand\n//\n\n.brand-link {\n $brand-link-padding-y: $navbar-brand-padding-y + $navbar-padding-y;\n display: block;\n font-size: $navbar-brand-font-size;\n line-height: $line-height-lg;\n padding: $brand-link-padding-y $sidebar-padding-x;\n transition: width $transition-speed $transition-fn;\n white-space: nowrap;\n\n &:hover {\n color: $white;\n text-decoration: none;\n }\n\n .text-sm & {\n font-size: inherit;\n }\n\n [class*='sidebar-dark'] & {\n border-bottom: 1px solid lighten($dark, 10%);\n color: rgba($white, .8);\n }\n\n [class*='sidebar-light'] & {\n border-bottom: 1px solid $gray-300;\n color: rgba($black, .8);\n }\n\n .brand-image {\n float: left;\n line-height: .8;\n margin-left: .8rem;\n margin-right: .5rem;\n margin-top: -3px;\n max-height: 33px;\n width: auto;\n }\n\n .brand-image-xs {\n float: left;\n line-height: .8;\n margin-top: -.1rem;\n max-height: 33px;\n width: auto;\n }\n\n .brand-image-xl {\n line-height: .8;\n max-height: 40px;\n width: auto;\n }\n\n &.text-sm,\n .text-sm & {\n .brand-image {\n height: 29px;\n margin-bottom: -.25rem;\n margin-left: .95rem;\n margin-top: -.25rem;\n }\n\n .brand-image-xs {\n margin-top: -.2rem;\n max-height: 29px;\n }\n\n .brand-image-xl {\n margin-top: -.225rem;\n max-height: 38px;\n }\n }\n}\n",
"//\n// Component: Main Sidebar\n//\n\n.main-sidebar {\n height: 100vh;\n overflow-y: hidden;\n z-index: $zindex-main-sidebar;\n\n // Remove Firefox Focusring\n a {\n &:-moz-focusring {\n border: 0;\n outline: none;\n }\n }\n\n}\n\n.sidebar {\n height: calc(100% - (#{$main-header-height-inner} + #{$main-header-bottom-border-width}));\n overflow-y: auto;\n padding-bottom: $sidebar-padding-y;\n padding-left: $sidebar-padding-x;\n padding-right: $sidebar-padding-x;\n padding-top: $sidebar-padding-y;\n}\n\n// Sidebar user panel\n.user-panel {\n position: relative;\n\n [class*='sidebar-dark'] & {\n border-bottom: 1px solid lighten($dark, 12%);\n }\n\n [class*='sidebar-light'] & {\n border-bottom: 1px solid $gray-300;\n }\n\n &,\n .info {\n overflow: hidden;\n white-space: nowrap;\n }\n\n .image {\n display: inline-block;\n padding-left: $nav-link-padding-x - .2;\n }\n\n img {\n height: auto;\n width: $sidebar-user-image-width;\n }\n\n .info {\n display: inline-block;\n padding: 5px 5px 5px 10px;\n }\n\n .status,\n .dropdown-menu {\n font-size: $font-size-sm;\n }\n}\n\n// Sidebar navigation menu\n.nav-sidebar {\n // All levels\n .nav-item {\n > .nav-link {\n margin-bottom: .2rem;\n\n .right {\n @include transition(transform $transition-fn $transition-speed);\n }\n }\n }\n\n .nav-link > .right,\n .nav-link > p > .right {\n position: absolute;\n right: 1rem;\n top: .7rem;\n\n i,\n span {\n margin-left: .5rem;\n }\n\n &:nth-child(2) {\n right: 2.2rem;\n }\n }\n\n .menu-open {\n > .nav-treeview {\n display: block;\n }\n\n > .nav-link {\n i.right {\n @include rotate(-90deg);\n }\n }\n }\n\n // First Level\n > .nav-item {\n margin-bottom: 0;\n\n .nav-icon {\n margin-left: .05rem;\n font-size: 1.2rem;\n margin-right: .2rem;\n text-align: center;\n width: $sidebar-nav-icon-width;\n\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n font-size: 1.1rem;\n }\n }\n\n .float-right {\n margin-top: 3px;\n }\n }\n\n // Tree view menu\n .nav-treeview {\n display: none;\n list-style: none;\n padding: 0;\n\n > .nav-item {\n > .nav-link {\n > .nav-icon {\n width: $sidebar-nav-icon-width;\n }\n }\n }\n }\n\n &.nav-child-indent {\n .nav-treeview {\n transition: padding $transition-speed $transition-fn;\n padding-left: 1rem;\n\n .text-sm & {\n padding-left: .5rem;\n }\n }\n\n &.nav-legacy {\n .nav-treeview { \n .nav-treeview {\n padding-left: 2rem;\n margin-left: -1rem;\n\n .text-sm & { \n padding-left: 1rem;\n margin-left: -.5rem;\n }\n }\n }\n }\n }\n\n .nav-header {\n font-size: .9rem;\n padding: $nav-link-padding-y;\n\n &:not(:first-of-type) {\n padding: 1.7rem 1rem .5rem;\n }\n }\n\n .nav-link p {\n display: inline-block;\n margin: 0;\n }\n}\n\n#sidebar-overlay {\n @include media-breakpoint-down(md) {\n .sidebar-open & {\n display: block;\n }\n }\n\n background-color: rgba($black, 0.1);\n bottom: 0;\n display: none;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n z-index: $zindex-main-sidebar - 1;\n}\n\n[class*='sidebar-light-'] {\n // Sidebar background color\n background-color: $sidebar-light-bg;\n\n // User Panel (resides in the sidebar)\n .user-panel {\n a:hover {\n color: $sidebar-light-hover-color;\n }\n\n .status {\n background: $sidebar-light-hover-bg;\n color: $sidebar-light-color;\n\n &:hover,\n &:focus,\n &:active {\n background: darken($sidebar-light-hover-bg, 3%);\n color: $sidebar-light-hover-color;\n }\n }\n\n .dropdown-menu {\n @include box-shadow(0 2px 4px rgba(0, 0, 0, .4));\n border-color: darken($sidebar-light-hover-bg, 5%);\n }\n\n .dropdown-item {\n color: $body-color;\n }\n }\n\n // Sidebar Menu. First level links\n .nav-sidebar > .nav-item {\n // links\n > .nav-link {\n // border-left: 3px solid transparent;\n &:active,\n &:focus {\n color: $sidebar-light-color;\n }\n }\n\n // Hover and active states\n &.menu-open > .nav-link,\n &:hover > .nav-link {\n background-color: $sidebar-light-hover-bg;\n color: $sidebar-light-hover-color;\n }\n\n > .nav-link.active {\n color: $sidebar-light-active-color;\n\n @if $enable-shadows {\n box-shadow: map-get($elevations, 1);\n }\n }\n\n // First Level Submenu\n > .nav-treeview {\n background: $sidebar-light-submenu-bg;\n }\n }\n\n // Section Heading\n .nav-header {\n background: inherit;\n color: darken($sidebar-light-color, 5%);\n }\n\n // All links Line truncated
"//\n// Mixins: Miscellaneous\n//\n\n// ETC\n@mixin translate($x, $y) {\n transform: translate($x, $y);\n}\n\n// Different radius each side\n@mixin border-radius-sides($top-left, $top-right, $bottom-left, $bottom-right) {\n border-radius: $top-left $top-right $bottom-left $bottom-right;\n}\n\n@mixin calc($property, $expression) {\n #{$property}: calc(#{$expression});\n}\n\n@mixin rotate($value) {\n transform: rotate($value);\n}\n\n@mixin animation($animation) {\n animation: $animation;\n}\n\n// Gradient background\n@mixin gradient($color: #F5F5F5, $start: #EEE, $stop: #FFF) {\n background: $color;\n background: -webkit-gradient(linear, left bottom, left top, color-stop(0, $start), color-stop(1, $stop));\n background: -ms-linear-gradient(bottom, $start, $stop);\n background: -moz-linear-gradient(center bottom, $start 0%, $stop 100%);\n background: -o-linear-gradient($stop, $start);\n}\n\n",
"//\n// Mixins: Sidebar\n//\n\n// Sidebar Color\n@mixin sidebar-color($color) {\n .nav-sidebar > .nav-item {\n & > .nav-link.active {\n background-color: $color;\n color: color-yiq($color);\n }\n }\n\n .nav-sidebar.nav-legacy > .nav-item {\n & > .nav-link.active {\n border-color: $color;\n }\n }\n}\n\n// Sidebar Mini Breakpoints\n@mixin sidebar-mini-breakpoint() {\n // A fix for text overflow while transitioning from sidebar mini to full sidebar\n .nav-sidebar,\n .nav-sidebar > .nav-header,\n .nav-sidebar .nav-link {\n white-space: nowrap;\n overflow: hidden;\n }\n\n // When the sidebar is collapsed...\n &.sidebar-collapse {\n .d-hidden-mini {\n display: none;\n }\n\n // Apply the new margins to the main content and footer\n .content-wrapper,\n .main-footer,\n .main-header {\n margin-left: $sidebar-mini-width !important;\n }\n\n // Make the sidebar headers\n .nav-sidebar .nav-header {\n display: none;\n }\n\n .nav-sidebar .nav-link p {\n width: 0;\n }\n\n .sidebar .user-panel > .info,\n .nav-sidebar .nav-link p,\n .brand-text {\n margin-left: -10px;\n opacity: 0;\n visibility: hidden;\n }\n\n .logo-xl {\n opacity: 0;\n visibility: hidden;\n }\n\n .logo-xs {\n display: inline-block;\n opacity: 1;\n visibility: visible;\n }\n\n // Modify the sidebar to shrink instead of disappearing\n .main-sidebar {\n overflow-x: hidden;\n\n &,\n &::before {\n // Don't go away! Just shrink\n margin-left: 0;\n width: $sidebar-mini-width;\n }\n\n .user-panel {\n .image {\n float: none;\n }\n }\n\n &:hover,\n &.sidebar-focused {\n width: $sidebar-width;\n\n .brand-link {\n width: $sidebar-width;\n }\n\n .user-panel {\n text-align: left;\n\n .image {\n float: left;\n }\n }\n\n .user-panel > .info,\n .nav-sidebar .nav-link p,\n .brand-text,\n .logo-xl {\n display: inline-block;\n margin-left: 0;\n opacity: 1;\n visibility: visible;\n }\n\n .logo-xs {\n opacity: 0;\n visibility: hidden;\n }\n\n .brand-image {\n margin-right: .5rem;\n }\n\n // Make the sidebar links, menus, labels, badges\n // and angle icons disappear\n .sidebar-form,\n .user-panel > .info {\n display: block !important;\n -webkit-transform: translateZ(0);\n }\n\n .nav-sidebar > .nav-item > .nav-link > span {\n display: inline-block !important;\n }\n }\n }\n\n // Make an element visible only when sidebar mini is active\n .visible-sidebar-mini {\n display: block !important;\n }\n\n &.layout-fixed {\n .main-sidebar:hover {\n .brand-link {\n width: $sidebar-width;\n }\n }\n\n .brand-link {\n width: $sidebar-mini-width;\n }\n }\n }\n}\n",
"//\n// Component: Sidebar Mini\n//\n\n// Logo style\n.logo-xs,\n.logo-xl {\n opacity: 1;\n position: absolute;\n visibility: visible;\n\n &.brand-image-xs {\n left: 18px;\n top: 12px;\n }\n\n &.brand-image-xl {\n left: 12px;\n top: 6px;\n }\n}\n\n.logo-xs {\n opacity: 0;\n visibility: hidden;\n\n &.brand-image-xl {\n left: 16px;\n top: 8px;\n }\n}\n\n.brand-link {\n &.logo-switch {\n &::before {\n content: '\\00a0';\n }\n }\n}\n\n// Add sidebar-mini class to the body tag to activate this feature\n.sidebar-mini {\n @include media-breakpoint-up(lg) {\n @include sidebar-mini-breakpoint;\n }\n}\n@include media-breakpoint-down(md) {\n .sidebar-mini.sidebar-collapse .main-sidebar {\n box-shadow: none !important;\n }\n}\n\n.sidebar-mini-md {\n @include media-breakpoint-up(md) {\n @include sidebar-mini-breakpoint;\n }\n}\n@include media-breakpoint-down(sm) {\n .sidebar-mini-md.sidebar-collapse .main-sidebar {\n box-shadow: none !important;\n }\n}\n\n.sidebar-collapse {\n .main-sidebar.sidebar-focused,\n .main-sidebar:hover {\n .nav-header {\n display: inline-block;\n }\n }\n\n .sidebar-no-expand.main-sidebar.sidebar-focused,\n .sidebar-no-expand.main-sidebar:hover {\n width: $sidebar-mini-width;\n\n .nav-header {\n display: none;\n }\n\n .brand-link {\n width: $sidebar-mini-width !important;\n }\n\n .user-panel .image {\n float: none !important;\n }\n\n .logo-xs {\n opacity: 1;\n visibility: visible;\n }\n\n .logo-xl {\n opacity: 0;\n visibility: hidden;\n }\n\n .nav-sidebar.nav-child-indent .nav-treeview {\n padding-left: 0;\n }\n\n .brand-text,\n .user-panel > .info,\n .nav-sidebar .nav-link p {\n margin-left: -10px;\n opacity: 0;\n visibility: hidden;\n width: 0;\n }\n\n .nav-sidebar > .nav-item .nav-icon {\n margin-right: 0;\n }\n }\n}\n\n.nav-sidebar {\n position: relative;\n\n &:hover {\n overflow: visible;\n }\n}\n\n.sidebar-form,\n.nav-sidebar > .nav-header {\n overflow: hidden;\n text-overflow: clip;\n}\n\n.nav-sidebar .nav-item > .nav-link {\n position: relative;\n\n > .float-right {\n margin-top: -7px;\n position: absolute;\n right: 10px;\n top: 50%;\n }\n}\n\n.sidebar .nav-link p,\n.main-sidebar .brand-text,\n.main-sidebar .logo-xs,\n.main-sidebar .logo-xl,\n.sidebar .user-panel .info {\n @include transition(margin-left $transition-speed linear, opacity $transition-speed ease, visibility $transition-speed ease)\n}\n",
"//\n// Component: Control Sidebar\n//\n \nhtml.control-sidebar-animate {\n overflow-x: hidden;\n}\n\n.control-sidebar {\n bottom: $main-footer-height;\n position: absolute;\n top: $main-header-height;\n z-index: $zindex-control-sidebar;\n \n &,\n &::before {\n bottom: $main-footer-height;\n display: none;\n right: -$control-sidebar-width;\n width: $control-sidebar-width;\n @include transition(right $transition-speed $transition-fn, display $transition-speed $transition-fn);\n }\n\n &::before {\n content: '';\n display: block;\n position: fixed;\n top: 0;\n z-index: -1;\n }\n}\n\nbody.text-sm {\n .control-sidebar {\n bottom: $main-footer-height-sm;\n top: $main-header-height-sm;\n }\n}\n\n.main-header.text-sm ~ .control-sidebar {\n top: $main-header-height-sm;\n}\n\n.main-footer.text-sm ~ .control-sidebar {\n bottom: $main-footer-height-sm;\n}\n\n.control-sidebar-push-slide {\n .content-wrapper,\n .main-footer {\n @include transition(margin-right $transition-speed $transition-fn);\n }\n }\n\n// Control sidebar open state\n.control-sidebar-open {\n .control-sidebar {\n display: block;\n\n &,\n &::before {\n right: 0;\n }\n }\n\n &.control-sidebar-push,\n &.control-sidebar-push-slide {\n .content-wrapper,\n .main-footer {\n margin-right: $control-sidebar-width;\n }\n }\n}\n\n// Control sidebar slide over content state\n.control-sidebar-slide-open {\n .control-sidebar {\n display: block;\n\n &,\n &::before {\n right: 0;\n @include transition(right $transition-speed $transition-fn, display $transition-speed $transition-fn);\n }\n }\n\n &.control-sidebar-push,\n &.control-sidebar-push-slide {\n .content-wrapper,\n .main-footer {\n margin-right: $control-sidebar-width;\n }\n }\n}\n\n// Dark skin\n.control-sidebar-dark {\n &,\n a,\n .nav-link {\n color: $sidebar-dark-color;\n }\n\n // Background\n & {\n background: $sidebar-dark-bg;\n }\n\n a:hover {\n color: $sidebar-dark-hover-color;\n }\n\n // Headers and labels\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n label {\n color: $sidebar-dark-hover-color;\n }\n\n // Tabs\n .nav-tabs {\n background-color: $sidebar-dark-hover-bg;\n border-bottom: 0;\n margin-bottom: 5px;\n\n .nav-item {\n margin: 0;\n }\n\n .nav-link {\n border-radius: 0;\n padding: 10px 20px;\n position: relative;\n text-align: center;\n\n &,\n &:hover,\n &:active,\n &:focus,\n &.active {\n border: 0;\n }\n\n &:hover,\n &:active,\n &:focus,\n &.active {\n border-bottom-color: transparent;\n border-left-color: transparent;\n border-top-color: transparent;\n color: $sidebar-dark-hover-color;\n }\n\n &.active {\n background-color: $sidebar-dark-bg;\n }\n }\n }\n\n .tab-pane {\n padding: 10px 15px;\n }\n}\n\n// Light skin\n.control-sidebar-light {\n color: lighten($sidebar-light-color, 10%);\n\n // Background\n & {\n background: $sidebar-light-bg;\n border-left: $main-header-bottom-border;\n }\n}\n",
"//\n// Component: Dropdown\n//\n\n// General Dropdown Rules\n//.dropdown-item {\n// &:first-of-type {\n// @include border-top-radius($border-radius);\n// }\n// &:last-of-type {\n// @include border-bottom-radius($border-radius);\n// }\n//}\n\n.text-sm {\n .dropdown-menu {\n font-size: $font-size-sm !important;\n }\n\n .dropdown-toggle::after {\n vertical-align: .2rem\n }\n}\n\n.dropdown-item-title {\n font-size: $font-size-base;\n margin: 0;\n}\n\n.dropdown-icon {\n &::after {\n margin-left: 0;\n }\n}\n\n// Dropdown Sizes\n.dropdown-menu-lg {\n max-width: 300px;\n min-width: 280px;\n padding: 0;\n\n .dropdown-divider {\n margin: 0;\n }\n\n .dropdown-item {\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n }\n\n p {\n margin: 0;\n white-space: normal;\n }\n}\n\n// Dropdown Submenu\n.dropdown-submenu {\n position: relative;\n\n & > a:after {\n @include caret-right;\n float: right;\n margin-left: .5rem;\n margin-top: .5rem;\n }\n\n & > .dropdown-menu {\n left: 100%;\n margin-left: 0px;\n margin-top: 0px;\n top: 0;\n }\n}\n\n// Dropdown Hover\n.dropdown-hover {\n &:hover,\n &.nav-item.dropdown:hover,\n .dropdown-submenu:hover,\n &.dropdown-submenu:hover {\n > .dropdown-menu {\n display: block;\n }\n }\n}\n\n\n\n// Dropdown Sizes\n.dropdown-menu-xl {\n max-width: 420px;\n min-width: 360px;\n padding: 0;\n\n .dropdown-divider {\n margin: 0;\n }\n\n .dropdown-item {\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n }\n\n p {\n margin: 0;\n white-space: normal;\n }\n}\n\n// Dropdown header and footer\n.dropdown-footer,\n.dropdown-header {\n display: block;\n font-size: $font-size-sm;\n padding: .5rem $dropdown-item-padding-x;\n text-align: center;\n}\n\n// Add fade animation to dropdown menus by appending \n// the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)\n.open:not(.dropup) > .animated-dropdown-menu {\n @include animation(flipInX .7s both);\n backface-visibility: visible !important;\n}\n\n@keyframes flipInX {\n 0% {\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transition-timing-function: ease-in;\n }\n\n 60% {\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n transform: perspective(400px);\n }\n}\n\n// Fix dropdown menu in navbars\n.navbar-custom-menu > .navbar-nav {\n > li {\n position: relative;\n > .dropdown-menu {\n position: absolute;\n right: 0;\n left: auto;\n }\n }\n}\n\n@include media-breakpoint-down(sm) {\n .navbar-custom-menu > .navbar-nav {\n float: right;\n > li {\n position: static;\n > .dropdown-menu {\n position: absolute;\n right: 5%;\n left: auto;\n border: 1px solid #ddd;\n background: $white;\n }\n }\n }\n}\n\n// User Menu\n.navbar-nav > .user-menu {\n > .nav-link:after {\n content:none;\n }\n\n > .dropdown-menu {\n @include border-top-radius(0);\n padding: 0;\n width: 280px;\n\n &,\n > .user-body {\n @include border-bottom-radius(4px);\n }\n\n // Header menu\n > li.user-header {\n height: 175px;\n padding: 10px;\n text-align: center;\n\n // User image\n > img {\n z-index: 5;\n height: 90px;\n width: 90px;\n border: 3px solid;\n border-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n }\n\n > p {\n z-index: 5;\n font-size: 17px;\n //text-shadow: 2px 2px 3px #333333;\n margin-top: 10px;\n\n > small {\n display: block;\n font-size: 12px;\n }\n }\n }\n\n // Menu Body\n > .user-body {\n @include clearfix;\n border-bottom: 1px solid $gray-700;\n border-top: 1px solid $gray-300;\n padding: 15px;\n\n a {\n @include media-breakpoint-up(sm) {\n background: $white !important;\n color: $gray-700 !important;\n }\n }\n }\n\n // Menu Footer\n > .user-footer {\n @include clearfix;\n background-color: $gray-100;\n padding: 10px;\n\n .btn-default {\n color: $gray-600;\n\n &:hover {\n @include media-breakpoint-up(sm) {\n background-color: $gray-100;\n }\n }\n }\n }\n }\n\n .user-image {\n @include media-breakpoint-up(sm) {\n float: none;\n line-height: 10px;\n margin-right: .4rem;\n margin-top: -8px;\n }\n\n border-radius: 50%;\n float: left;\n height: $sidebar-user-image-width;\n margin-right: 10px;\n margin-top: -2px;\n width: $sidebar-user-image-width;\n }\n}\n",
"//\n// Component: Nav\n//\n\n.nav-pills {\n .nav-link {\n color: $gray-600;\n\n &:not(.active):hover {\n color: theme-color('primary');\n }\n }\n\n .nav-item {\n &.dropdown.show {\n .nav-link:hover {\n color: $dropdown-link-active-color;\n }\n }\n }\n}\n\n// Vertical Tabs\n.nav-tabs.flex-column {\n border-bottom: 0;\n border-right: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n border-bottom-left-radius: $nav-tabs-border-radius;\n border-top-right-radius: 0;\n margin-right: -$nav-tabs-border-width;\n\n @include hover-focus {\n border-color: $gray-200 transparent $gray-200 $gray-200;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n border-color: $gray-300 transparent $gray-300 $gray-300;\n }\n\n &.nav-tabs-right {\n border-left: $nav-tabs-border-width solid $nav-tabs-border-color;\n border-right: 0;\n\n .nav-link {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: $nav-tabs-border-radius;\n border-top-left-radius: 0;\n border-top-right-radius: $nav-tabs-border-radius;\n margin-left: -$nav-tabs-border-width;\n\n @include hover-focus {\n border-color: $gray-200 $gray-200 $gray-200 transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n border-color: $gray-300 $gray-300 $gray-300 transparent;\n }\n }\n}\n\n.navbar-no-expand {\n flex-direction: row;\n\n .nav-link {\n padding-left: $navbar-nav-link-padding-x;\n padding-right: $navbar-nav-link-padding-x;\n }\n\n .dropdown-menu {\n position: absolute;\n }\n}\n\n// Color variants\n@each $color, $value in $theme-colors {\n @if $color == dark or $color == light {\n .navbar-#{$color} {\n background-color: $value;\n }\n }\n}\n\n@each $color, $value in $theme-colors {\n @if $color != dark and $color != light {\n .navbar-#{$color} {\n background-color: $value;\n }\n }\n}\n\n@each $color, $value in $colors {\n .navbar-#{$color} {\n background-color: $value;\n }\n}\n",
"//\n// Component: Forms\n//\n \n.form-group {\n &.has-icon {\n position: relative;\n\n .form-control {\n padding-right: 35px;\n }\n\n .form-icon {\n background-color: transparent;\n border: 0;\n cursor: pointer;\n font-size: 1rem;\n // margin-top: -3px;\n padding: $input-btn-padding-y $input-btn-padding-x;\n position: absolute;\n right: 3px;\n top: 0;\n }\n }\n}\n\n// Button groups\n.btn-group-vertical {\n .btn {\n &.btn-flat:first-of-type,\n &.btn-flat:last-of-type {\n @include border-radius(0);\n }\n }\n}\n\n// Support icons in form-control\n.form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height;\n }\n}\n\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height-lg;\n }\n}\n\n.form-group-lg {\n .form-control + .form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height-lg;\n }\n }\n}\n\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height-sm;\n }\n}\n\n.form-group-sm {\n .form-control + .form-control-feedback {\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n line-height: $input-height-sm;\n }\n }\n}\n\nlabel:not(.form-check-label):not(.custom-file-label) {\n font-weight: $font-weight-bold;\n}\n\n.warning-feedback {\n @include font-size($form-feedback-font-size);\n color: theme-color('warning');\n display: none;\n margin-top: $form-feedback-margin-top;\n width: 100%;\n}\n\n.warning-tooltip {\n @include border-radius($form-feedback-tooltip-border-radius);\n @include font-size($form-feedback-tooltip-font-size);\n background-color: rgba(theme-color('warning'), $form-feedback-tooltip-opacity);\n color: color-yiq(theme-color('warning'));\n display: none;\n line-height: $form-feedback-tooltip-line-height;\n margin-top: .1rem;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n position: absolute;\n top: 100%;\n z-index: 5;\n}\n\n.form-control {\n &.is-warning {\n border-color: theme-color('warning');\n\n @if $enable-validation-icons {\n // padding-right: $input-height-inner;\n // background-image: none;\n // background-repeat: no-repeat;\n // background-position: center right $input-height-inner-quarter;\n // background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: theme-color('warning');\n box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);\n }\n\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n }\n}\n\n// stylelint-disable-next-line selector-no-qualifying-type\ntextarea.form-control {\n &.is-warning {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n}\n\n.custom-select {\n &.is-warning {\n border-color: theme-color('warning');\n\n @if $enable-validation-icons {\n // padding-right: $custom-select-feedback-icon-padding-right;\n // background: $custom-select-background, none $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: theme-color('warning');\n box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);\n }\n\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n }\n}\n\n\n.form-control-file {\n &.is-warning {\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n }\n}\n\n.form-check-input {\n &.is-warning {\n ~ .form-check-label {\n color: theme-color('warning');\n }\n\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n }\n}\n\n.custom-control-input.is-warning {\n ~ .custom-control-label {\n color: theme-color('warning');\n\n &::before {\n border-color: theme-color('warning');\n }\n }\n\n ~ .warning-feedback,\n ~ .warning-tooltip {\n display: block;\n }\n\n &:checked {\n ~ .custom-control-label::before {\n @include gradient-bg(lighten(theme-color('warning'), 10%));\n border-color: lighten(theme-color('warning'), 10%);\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: theme-color('warning');\n }\n }\n}\n\n// custom file\n.custom-file-input {\n &.is-waLine truncated
"//\n// Mixins: Custom Forms\n//\n\n// Custom Switch Variant\n@mixin custom-switch-variant($name, $color) {\n &.custom-switch-off-#{$name} {\n & .custom-control-input ~ .custom-control-label::before {\n background: #{$color};\n border-color: darken($color, 20%);\n }\n\n & .custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n\n & .custom-control-input ~ .custom-control-label::after {\n background: darken($color, 25%);\n }\n }\n\n &.custom-switch-on-#{$name} {\n & .custom-control-input:checked ~ .custom-control-label::before {\n background: #{$color};\n border-color: darken($color, 20%);\n }\n\n & .custom-control-input:checked:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n\n & .custom-control-input:checked ~ .custom-control-label::after {\n background: lighten($color, 30%);\n }\n }\n}\n\n// Custom Range Variant\n@mixin custom-range-variant($name, $color) {\n &.custom-range-#{$name} {\n &:focus {\n outline: none;\n\n &::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n\n &::-moz-range-thumb {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n\n &::-ms-thumb {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);\n }\n }\n\n &::-webkit-slider-thumb {\n background-color: $color;\n\n &:active {\n background-color: lighten($color, 35%);\n }\n }\n\n &::-moz-range-thumb {\n background-color: $color;\n\n &:active {\n background-color: lighten($color, 35%);\n }\n }\n\n &::-ms-thumb {\n background-color: $color;\n\n &:active {\n background-color: lighten($color, 35%);\n }\n }\n }\n}\n",
"//\n// Component: Progress Bar\n//\n\n//General CSS\n.progress {\n @include box-shadow(none);\n @include border-radius($progress-bar-border-radius);\n\n // Vertical bars\n &.vertical {\n display: inline-block;\n height: 200px;\n margin-right: 10px;\n position: relative;\n width: 30px;\n\n > .progress-bar {\n bottom: 0;\n position: absolute;\n width: 100%;\n }\n\n //Sizes\n &.sm,\n &.progress-sm {\n width: 20px;\n }\n\n &.xs,\n &.progress-xs {\n width: 10px;\n }\n\n &.xxs,\n &.progress-xxs {\n width: 3px;\n }\n }\n}\n\n.progress-group {\n margin-bottom: map-get($spacers, 2);\n}\n\n// size variation\n.progress-sm {\n height: 10px;\n}\n\n.progress-xs {\n height: 7px;\n}\n\n.progress-xxs {\n height: 3px;\n}\n\n// Remove margins from progress bars when put in a table\n.table {\n tr > td {\n .progress {\n margin: 0;\n }\n }\n}\n",
"//\n// Mixins: Cards Variant\n//\n\n@mixin cards-variant($name, $color) {\n .card-#{$name} {\n &:not(.card-outline) {\n > .card-header {\n background-color: $color;\n\n &,\n a {\n color: color-yiq($color);\n }\n\n a.active {\n color: color-yiq($white);\n }\n }\n }\n\n &.card-outline {\n border-top: 3px solid $color;\n }\n\n &.card-outline-tabs {\n > .card-header {\n a {\n &:hover {\n border-top: 3px solid $nav-tabs-border-color;\n }\n\n &.active {\n border-top: 3px solid $color;\n }\n }\n }\n }\n }\n\n .bg-#{$name},\n .bg-gradient-#{$name},\n .card-#{$name}:not(.card-outline) {\n .btn-tool {\n color: rgba(color-yiq($color), 0.8);\n\n &:hover {\n color: color-yiq($color);\n }\n }\n }\n\n .card.bg-#{$name},\n .card.bg-gradient-#{$name} {\n .bootstrap-datetimepicker-widget {\n .table td,\n .table th {\n border: none;\n }\n\n table thead tr:first-child th:hover,\n table td.day:hover,\n table td.hour:hover,\n table td.minute:hover,\n table td.second:hover {\n background: darken($color, 8%);\n color: color-yiq($color);\n }\n\n table td.today::before {\n border-bottom-color: color-yiq($color);\n }\n\n table td.active,\n table td.active:hover {\n background: lighten($color, 10%);\n color: color-yiq($color);\n }\n }\n }\n}\n\n",
"//\n// Component: Cards\n//\n\n// Color variants\n@each $name, $color in $theme-colors {\n @include cards-variant($name, $color);\n}\n\n@each $name, $color in $colors {\n @include cards-variant($name, $color);\n}\n\n.card {\n @include box-shadow($card-shadow);\n margin-bottom: map-get($spacers, 3);\n\n &.bg-dark {\n .card-header {\n border-color: $card-dark-border-color;\n }\n\n &,\n .card-body {\n color: $white;\n }\n }\n\n &.maximized-card {\n height: 100% !important;\n left: 0;\n max-height: 100% !important;\n max-width: 100% !important;\n position: fixed;\n top: 0;\n width: 100% !important;\n z-index: 9999;\n\n &.was-collapsed .card-body {\n display: block !important;\n }\n\n [data-widget='collapse'] {\n display: none;\n }\n\n .card-header,\n .card-footer {\n @include border-radius(0 !important);\n }\n }\n\n // collapsed mode\n &.collapsed-card {\n .card-body,\n .card-footer {\n display: none;\n }\n }\n\n .nav.flex-column {\n > li {\n border-bottom: 1px solid $card-border-color;\n margin: 0;\n\n &:last-of-type {\n border-bottom: 0;\n }\n }\n }\n\n // fixed height to 300px\n &.height-control {\n .card-body {\n max-height: 300px;\n overflow: auto;\n }\n }\n\n .border-right {\n border-right: 1px solid $card-border-color;\n }\n\n .border-left {\n border-left: 1px solid $card-border-color;\n }\n\n &.card-tabs {\n &:not(.card-outline) {\n & > .card-header {\n border-bottom: 0;\n\n .nav-item {\n &:first-child .nav-link {\n margin-left: -1px;\n }\n }\n }\n }\n\n &.card-outline {\n .nav-item {\n border-bottom: 0;\n\n &:first-child .nav-link {\n border-left: 0;\n margin-left: 0;\n }\n }\n }\n\n .card-tools {\n margin: .3rem .5rem;\n }\n\n &:not(.expanding-card).collapsed-card {\n .card-header {\n border-bottom: 0;\n\n .nav-tabs {\n border-bottom: 0;\n\n .nav-item {\n margin-bottom: 0;\n }\n }\n }\n }\n\n &.expanding-card {\n .card-header {\n .nav-tabs {\n .nav-item {\n margin-bottom: -1px;\n }\n }\n }\n }\n }\n\n &.card-outline-tabs {\n border-top: 0;\n\n .card-header {\n .nav-item {\n &:first-child .nav-link {\n border-left: 0;\n margin-left: 0;\n }\n }\n\n a {\n border-top: 3px solid transparent;\n\n &:hover {\n border-top: 3px solid $nav-tabs-border-color;\n }\n\n &.active {\n &:hover {\n margin-top: 0;\n }\n }\n }\n }\n\n .card-tools {\n margin: .5rem .5rem .3rem;\n }\n\n &:not(.expanding-card).collapsed-card .card-header {\n border-bottom: 0;\n\n .nav-tabs {\n border-bottom: 0;\n\n .nav-item {\n margin-bottom: 0;\n }\n }\n }\n\n &.expanding-card {\n .card-header {\n .nav-tabs {\n .nav-item {\n margin-bottom: -1px;\n }\n }\n }\n }\n }\n\n}\n\n// Maximized Card Body Scroll fix\nhtml.maximized-card {\n overflow: hidden;\n}\n\n// Add clearfix to header, body and footer\n.card-header,\n.card-body,\n.card-footer {\n @include clearfix;\n}\n\n// Box header\n.card-header {\n background-color: transparent;\n border-bottom: 1px solid $card-border-color;\n padding: (($card-spacer-y / 2) * 2) $card-spacer-x;\n position: relative;\n\n @if $enable-rounded {\n @include border-top-radius($border-radius);\n }\n\n .collapsed-card & {\n border-bottom: 0;\n }\n\n > .card-tools {\n float: right;\n margin-right: -$card-spacer-x / 2;\n\n .input-group,\n .nav,\n .pagination {\n margin-bottom: -$card-spacer-y / 2.5;\n margin-top: -$card-spacer-y / 2.5;\n }\n\n [data-toggle='tooltip'] {\n position: relative;\n }\n }\n}\n\n.card-title {\n float: left;\n font-size: $card-title-font-size;\n font-weight: $card-title-font-weight;\n margin: 0;\n}\n\n.card-text {\n clear: both;\n}\n\n\n// Box Tools Buttons\n.btn-tool {\n background: transparent;\n color: $gray-500;\n font-size: $font-size-sm;\n margin: -(($card-spacer-y / 2) * 2) 0;\n padding: .25rem .5rem;\n\n .btn-group.show &,\n &:hover {\n color: $gray-700;\n }\n\n .show &,\n &:focus {\n box-shadow: none !important;\n }\n}\n\n.text-sm {\n .card-title {\n font-size: $card-title-font-size-sm;\n }\n\n .nav-link {\n padding: $card-nav-link-padding-sm-y $card-nav-link-padding-sm-x;\n }\n}\n\n// Box Body\n.card-body {\n // @include border-radius-sides(0, 0, $border-radius, $border-radius);\n // .no-header & {\n // @include border-top-radius($border-radius);\n // }\n\n // Tables within the box body\n > .tablLine truncated
"//\n// Component: Modals\n//\n\n// Overlay\n.modal-dialog {\n .overlay {\n background-color: $black;\n display: block;\n height: 100%;\n left: 0;\n opacity: .7;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: ($zindex-modal + 2);\n }\n}\n\n\n// BG Color Variations Fixes\n.modal-content {\n &.bg-warning {\n .modal-header,\n .modal-footer {\n border-color: $gray-800;\n }\n }\n\n &.bg-primary,\n &.bg-secondary,\n &.bg-info,\n &.bg-danger,\n &.bg-success, {\n .close {\n color: $white;\n text-shadow: 0 1px 0 #000;\n }\n }\n}\n",
"//\n// Component: Toasts\n//\n\n.toasts-top-right {\n position: absolute;\n right: 0;\n top: 0;\n z-index: $zindex-toasts;\n\n &.fixed {\n position: fixed;\n }\n}\n\n.toasts-top-left {\n left: 0;\n position: absolute;\n top: 0;\n z-index: $zindex-toasts;\n\n &.fixed {\n position: fixed;\n }\n}\n\n.toasts-bottom-right {\n bottom: 0;\n position: absolute;\n right: 0;\n z-index: $zindex-toasts;\n\n &.fixed {\n position: fixed;\n }\n}\n\n.toasts-bottom-left {\n bottom: 0;\n left: 0;\n position: absolute;\n z-index: $zindex-toasts;\n\n &.fixed {\n position: fixed;\n }\n}\n\n.toast {\n @each $name, $color in $theme-colors {\n @include toast-variant($name, $color);\n }\n @each $name, $color in $colors {\n @include toast-variant($name, $color);\n }\n}\n",
"//\n// Mixins: Toasts\n//\n\n// Toast Variant\n@mixin toast-variant($name, $color) {\n &.bg-#{$name} {\n background: rgba($color, .9) !important;\n @if (color-yiq($color) == $yiq-text-light) {\n\n .close {\n color: color-yiq($color);\n text-shadow: 0 1px 0 #000;\n }\n }\n\n .toast-header {\n background: rgba($color, .85);\n color: color-yiq($color);\n }\n }\n}\n\n",
"//\n// Component: Button\n//\n\n.btn {\n &.disabled,\n &:disabled {\n cursor: not-allowed;\n }\n\n // Flat buttons\n &.btn-flat {\n @include border-radius(0);\n border-width: 1px;\n box-shadow: none;\n }\n\n // input file btn\n &.btn-file {\n overflow: hidden;\n position: relative;\n\n > input[type='file'] {\n background: $white;\n cursor: inherit;\n display: block;\n font-size: 100px;\n min-height: 100%;\n min-width: 100%;\n opacity: 0;\n outline: none;\n position: absolute;\n right: 0;\n text-align: right;\n top: 0;\n }\n }\n\n .text-sm & {\n font-size: $font-size-sm !important;\n }\n}\n\n// Button color variations\n.btn-default {\n background-color: $button-default-background-color;\n border-color: $button-default-border-color;\n color: $button-default-color;\n\n &:hover,\n &:active,\n &.hover {\n background-color: darken($button-default-background-color, 5%);\n color: darken($button-default-color, 10%);\n }\n}\n\n// Application buttons\n.btn-app {\n @include border-radius(3px);\n background-color: $button-default-background-color;\n border: 1px solid $button-default-border-color;\n color: $gray-600;\n font-size: 12px;\n height: 60px;\n margin: 0 0 10px 10px;\n min-width: 80px;\n padding: 15px 5px;\n position: relative;\n text-align: center;\n\n // Icons within the btn\n > .fa,\n > .fas,\n > .far,\n > .fab,\n > .glyphicon,\n > .ion {\n display: block;\n font-size: 20px;\n }\n\n &:hover {\n background: $button-default-background-color;\n border-color: darken($button-default-border-color, 20%);\n color: $button-default-color;\n }\n\n &:active,\n &:focus {\n @include box-shadow(inset 0 3px 5px rgba($black, 0.125));\n }\n\n // The badge\n > .badge {\n font-size: 10px;\n font-weight: 400;\n position: absolute;\n right: -10px;\n top: -3px;\n }\n}\n\n// Extra Button Size\n\n.btn-xs {\n @include button-size($button-padding-y-xs, $button-padding-x-xs, $button-font-size-xs, $button-line-height-xs, $button-border-radius-xs);\n}\n",
"//\n// Component: Callout\n//\n\n// Base styles (regardless of theme)\n.callout {\n @if $enable-rounded {\n @include border-radius($border-radius);\n }\n\n @if $enable-shadows {\n box-shadow: map-get($elevations, 1);\n } @else {\n border: 1px solid $gray-300;\n }\n\n background-color: $white;\n border-left: 5px solid $gray-200;\n margin-bottom: map-get($spacers, 3);\n padding: 1rem;\n\n a {\n color: $gray-700;\n text-decoration: underline;\n\n &:hover {\n color: $gray-200;\n }\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n\n // Themes for different contexts\n &.callout-danger {\n border-left-color: darken(theme-color('danger'), 10%);\n }\n\n &.callout-warning {\n border-left-color: darken(theme-color('warning'), 10%);\n }\n\n &.callout-info {\n border-left-color: darken(theme-color('info'), 10%);\n }\n\n &.callout-success {\n border-left-color: darken(theme-color('success'), 10%);\n }\n}\n",
"//\n// Component: Alert\n//\n\n.alert {\n .icon {\n margin-right: 10px;\n }\n\n .close {\n color: $black;\n opacity: .2;\n\n &:hover {\n opacity: .5;\n }\n }\n\n a {\n color: $white;\n text-decoration: underline;\n }\n}\n\n//Alert Variants\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n color: color-yiq($value);\n background: $value;\n border-color: darken($value, 5%);\n }\n\n .alert-default-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n",
"//\n// Component: Table\n//\n\n.table {\n &:not(.table-dark) {\n color: inherit;\n }\n\n // fixed table head\n &.table-head-fixed {\n thead tr:nth-child(1) th {\n background-color: $white;\n border-bottom: 0;\n box-shadow: inset 0 1px 0 $table-border-color,\n inset 0 -1px 0 $table-border-color;\n position: sticky;\n top: 0;\n z-index: 10;\n }\n\n &.table-dark {\n thead tr {\n &:nth-child(1) th {\n background-color: $table-dark-bg;\n box-shadow: inset 0 1px 0 $table-dark-border-color,\n inset 0 -1px 0 $table-dark-border-color;\n }\n }\n }\n }\n\n // no border\n &.no-border {\n &,\n td,\n th {\n border: 0;\n }\n }\n\n // .text-center in tables\n &.text-center {\n &,\n td,\n th {\n text-align: center;\n }\n }\n\n &.table-valign-middle {\n thead > tr > th,\n thead > tr > td,\n tbody > tr > th,\n tbody > tr > td {\n vertical-align: middle;\n }\n }\n\n .card-body.p-0 & {\n thead > tr > th,\n thead > tr > td,\n tbody > tr > th,\n tbody > tr > td {\n &:first-of-type {\n padding-left: map-get($spacers, 4);\n }\n\n &:last-of-type {\n padding-right: map-get($spacers, 4);\n }\n }\n }\n}\n",
"//\n// Component: Carousel\n//\n\n.carousel-control {\n &.left,\n &.right {\n background-image: none;\n }\n\n > .fa,\n > .fas,\n > .far,\n > .fab,\n > .glyphicon,\n > .ion {\n display: inline-block;\n font-size: 40px;\n margin-top: -20px;\n position: absolute;\n top: 50%;\n z-index: 5;\n }\n}\n",
"//\n// Component: Small Box\n//\n\n.small-box {\n @include border-radius($border-radius);\n @include box-shadow($card-shadow);\n\n display: block;\n margin-bottom: 20px;\n position: relative;\n\n // content wrapper\n > .inner {\n padding: 10px;\n }\n\n > .small-box-footer {\n background: rgba($black, 0.1);\n color: rgba($white, 0.8);\n display: block;\n padding: 3px 0;\n position: relative;\n text-align: center;\n text-decoration: none;\n z-index: 10;\n\n &:hover {\n background: rgba($black, 0.15);\n color: $white;\n }\n }\n\n h3 {\n @include font-size(2.2rem);\n font-weight: bold;\n margin: 0 0 10px 0;\n padding: 0;\n white-space: nowrap;\n }\n\n @include media-breakpoint-up(lg) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n h3 {\n @include font-size(1.6rem);\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n h3 {\n @include font-size(1.6rem);\n }\n }\n }\n\n @include media-breakpoint-up(xl) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n h3 {\n @include font-size(2.2rem);\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n h3 {\n @include font-size(2.2rem);\n }\n }\n }\n\n p {\n font-size: 1rem;\n\n > small {\n color: $gray-100;\n display: block;\n font-size: 0.9rem;\n margin-top: 5px;\n }\n }\n\n h3,\n p {\n z-index: 5;\n }\n\n // the icon\n .icon {\n color: rgba($black, 0.15);\n z-index: 0;\n\n > i {\n font-size: 90px;\n position: absolute;\n right: 15px;\n top: 15px;\n transition: all $transition-speed linear;\n\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n font-size: 70px;\n top: 20px;\n }\n }\n\n }\n\n // Small box hover state\n &:hover {\n text-decoration: none;\n\n // Animate icons on small box hover\n .icon > i {\n font-size: 95px;\n\n &.fa,\n &.fas,\n &.far,\n &.fab,\n &.glyphicon,\n &.ion {\n font-size: 75px;\n }\n }\n }\n}\n\n@include media-breakpoint-down(sm) {\n // No need for icons on very small devices\n .small-box {\n text-align: center;\n\n .icon {\n display: none;\n }\n\n p {\n font-size: 12px;\n }\n }\n}\n",
"//\n// Component: Info Box\n//\n \n.info-box {\n @include box-shadow($card-shadow);\n @include border-radius($border-radius);\n\n background: $white;\n display: flex;\n margin-bottom: map-get($spacers, 3);\n min-height: 80px;\n padding: .5rem;\n position: relative;\n\n .progress {\n background-color: rgba($black, .125);\n height: 2px;\n margin: 5px 0;\n\n .progress-bar {\n background-color: $white;\n }\n }\n\n .info-box-icon {\n @if $enable-rounded {\n border-radius: $border-radius;\n }\n\n align-items: center;\n display: flex;\n font-size: 1.875rem;\n justify-content: center;\n text-align: center;\n width: 70px;\n\n > img {\n max-width: 100%;\n }\n }\n\n .info-box-content {\n flex: 1;\n padding: 5px 10px;\n }\n\n .info-box-number {\n display: block;\n font-weight: $font-weight-bold;\n }\n\n .progress-description,\n .info-box-text {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n @each $name, $color in $theme-colors {\n .info-box {\n .bg-#{$name},\n .bg-gradient-#{$name} {\n color: color-yiq($color);\n\n .progress-bar {\n background-color: color-yiq($color);\n }\n }\n }\n }\n\n .info-box-more {\n display: block;\n }\n\n .progress-description {\n margin: 0;\n\n }\n\n @include media-breakpoint-up(md) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n .progress-description {\n display: none;\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n .progress-description {\n display: none;\n }\n }\n }\n\n @include media-breakpoint-up(lg) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n .progress-description {\n @include font-size(.75rem);\n display: block;\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n .progress-description {\n @include font-size(.75rem);\n display: block;\n }\n }\n }\n\n @include media-breakpoint-up(xl) {\n .col-xl-2 &,\n .col-lg-2 &,\n .col-md-2 & {\n .progress-description {\n @include font-size(1rem);\n display: block;\n }\n }\n\n .col-xl-3 &,\n .col-lg-3 &,\n .col-md-3 & {\n .progress-description {\n @include font-size(1rem);\n display: block;\n }\n }\n }\n}\n",
"//\n// Component: Timeline\n//\n\n.timeline {\n margin: 0 0 45px;\n padding: 0;\n position: relative;\n // The line\n &::before {\n @include border-radius($border-radius);\n background: $gray-300;\n bottom: 0;\n content: '';\n left: 31px;\n margin: 0;\n position: absolute;\n top: 0;\n width: 4px;\n }\n // Element\n > div {\n &::before,\n &::after {\n content: \"\";\n display: table;\n }\n\n margin-bottom: 15px;\n margin-right: 10px;\n position: relative;\n // The content\n > .timeline-item {\n @include box-shadow($card-shadow);\n @include border-radius($border-radius);\n background: $white;\n color: $gray-700;\n margin-left: 60px;\n margin-right: 15px;\n margin-top: 0;\n padding: 0;\n position: relative;\n // The time and header\n > .time {\n color: #999;\n float: right;\n font-size: 12px;\n padding: 10px;\n }\n // Header\n > .timeline-header {\n border-bottom: 1px solid $card-border-color;\n color: $gray-700;\n font-size: 16px;\n line-height: 1.1;\n margin: 0;\n padding: 10px;\n // Link in header\n > a {\n font-weight: 600;\n }\n }\n // Item body and footer\n > .timeline-body,\n > .timeline-footer {\n padding: 10px;\n }\n\n > .timeline-body {\n > img {\n margin: 10px;\n }\n > dl, ol, ul {\n margin: 0;\n }\n }\n\n > .timeline-footer {\n > a {\n color: $white;\n }\n }\n }\n // The icons at line\n > .fa,\n > .fas,\n > .far,\n > .fab,\n > .glyphicon,\n > .ion {\n background: $gray-500;\n border-radius: 50%;\n font-size: 15px;\n height: 30px;\n left: 18px;\n line-height: 30px;\n position: absolute;\n text-align: center;\n top: 0;\n width: 30px;\n }\n }\n // Time label\n > .time-label {\n > span {\n @include border-radius(4px);\n background-color: $white;\n display: inline-block;\n font-weight: 600;\n padding: 5px;\n }\n }\n}\n\n.timeline-inverse {\n > div {\n > .timeline-item {\n @include box-shadow(none);\n background: $gray-100;\n border: 1px solid $gray-300;\n\n > .timeline-header {\n border-bottom-color: $gray-300;\n }\n }\n }\n}\n",
"//\n// Component: Products\n//\n\n.products-list {\n list-style: none;\n margin: 0;\n padding: 0;\n\n > .item {\n @include clearfix;\n\n @if $enable-rounded {\n @include border-radius($border-radius);\n }\n\n background: $white;\n padding: 10px 0;\n }\n\n .product-img {\n float: left;\n\n img {\n height: 50px;\n width: 50px;\n }\n }\n\n .product-info {\n margin-left: 60px;\n }\n\n .product-title {\n font-weight: 600;\n }\n\n .product-description {\n color: $gray-600;\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n.product-list-in-card > .item {\n @include border-radius(0);\n border-bottom: 1px solid $card-border-color;\n\n &:last-of-type {\n border-bottom-width: 0;\n }\n}\n",
"//\n// Component: Direct Chat\n//\n \n.direct-chat {\n .card-body {\n overflow-x: hidden;\n padding: 0;\n position: relative;\n }\n\n &.chat-pane-open {\n .direct-chat-contacts {\n @include translate(0, 0);\n }\n }\n\n\n &.timestamp-light {\n .direct-chat-timestamp {\n color: lighten(color-yiq($yiq-text-light), 10%);\n }\n }\n\n &.timestamp-dark {\n .direct-chat-timestamp {\n color: darken(color-yiq($yiq-text-dark), 20%);\n }\n }\n}\n\n.direct-chat-messages {\n @include translate(0, 0);\n height: 250px;\n overflow: auto;\n padding: 10px;\n}\n\n.direct-chat-msg,\n.direct-chat-text {\n display: block;\n}\n\n.direct-chat-msg {\n @include clearfix;\n margin-bottom: 10px;\n}\n\n.direct-chat-messages,\n.direct-chat-contacts {\n transition: transform .5s ease-in-out;\n}\n\n.direct-chat-text {\n @if $enable-rounded {\n @include border-radius($border-radius-lg);\n }\n\n background: $direct-chat-default-msg-bg;\n border: 1px solid $direct-chat-default-msg-border-color;\n color: $direct-chat-default-font-color;\n margin: 5px 0 0 50px;\n padding: 5px 10px;\n position: relative;\n\n //Create the arrow\n &::after,\n &::before {\n border: solid transparent;\n border-right-color: $direct-chat-default-msg-border-color;\n content: ' ';\n height: 0;\n pointer-events: none;\n position: absolute;\n right: 100%;\n top: 15px;\n width: 0;\n }\n\n &::after {\n border-width: 5px;\n margin-top: -5px;\n }\n\n &::before {\n border-width: 6px;\n margin-top: -6px;\n }\n\n .right & {\n margin-left: 0;\n margin-right: 50px;\n\n &::after,\n &::before {\n border-left-color: $direct-chat-default-msg-border-color;\n border-right-color: transparent;\n left: 100%;\n right: auto;\n }\n }\n}\n\n.direct-chat-img {\n @include border-radius(50%);\n float: left;\n height: 40px;\n width: 40px;\n\n .right & {\n float: right;\n }\n}\n\n.direct-chat-infos {\n display: block;\n font-size: $font-size-sm;\n margin-bottom: 2px;\n}\n\n.direct-chat-name {\n font-weight: 600;\n}\n\n.direct-chat-timestamp {\n color: darken($gray-500, 25%);\n}\n\n//Direct chat contacts pane\n.direct-chat-contacts-open {\n .direct-chat-contacts {\n @include translate(0, 0);\n }\n}\n\n.direct-chat-contacts {\n @include translate(101%, 0);\n background: $dark;\n bottom: 0;\n color: $white;\n height: 250px;\n overflow: auto;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.direct-chat-contacts-light {\n background: $light;\n\n .contacts-list-name {\n color: $gray-700;\n }\n\n .contacts-list-date {\n color: $gray-600;\n }\n\n .contacts-list-msg {\n color: darken($gray-600, 10%);\n }\n}\n\n//Contacts list -- for displaying contacts in direct chat contacts pane\n.contacts-list {\n @include list-unstyled;\n\n > li {\n @include clearfix;\n border-bottom: 1px solid rgba($black, 0.2);\n margin: 0;\n padding: 10px;\n\n &:last-of-type {\n border-bottom: 0;\n }\n }\n}\n\n.contacts-list-img {\n @include border-radius(50%);\n float: left;\n width: 40px;\n}\n\n.contacts-list-info {\n color: $white;\n margin-left: 45px;\n}\n\n.contacts-list-name,\n.contacts-list-status {\n display: block;\n}\n\n.contacts-list-name {\n font-weight: 600;\n}\n\n.contacts-list-status {\n font-size: $font-size-sm;\n}\n\n.contacts-list-date {\n color: $gray-400;\n font-weight: normal;\n}\n\n.contacts-list-msg {\n color: darken($gray-400, 10%);\n}\n\n// Color variants\n@each $name, $color in $theme-colors {\n .direct-chat-#{$name} {\n @include direct-chat-variant($color);\n }\n}\n\n@each $name, $color in $colors {\n .direct-chat-#{$name} {\n @include direct-chat-variant($color);\n }\n}\n",
"//\n// Mixins: Direct Chat\n//\n\n// Direct Chat Variant\n@mixin direct-chat-variant($bg-color, $color: #fff) {\n .right > .direct-chat-text {\n background: $bg-color;\n border-color: $bg-color;\n color: color-yiq($bg-color);\n\n &::after,\n &::before {\n border-left-color: $bg-color;\n }\n }\n}\n",
"//\n// Component: Users List\n//\n\n.users-list {\n @include list-unstyled;\n\n > li {\n float: left;\n padding: 10px;\n text-align: center;\n width: 25%;\n\n img {\n @include border-radius(50%);\n height: auto;\n max-width: 100%;\n }\n\n > a:hover {\n &,\n .users-list-name {\n color: #999;\n }\n }\n }\n}\n\n.users-list-name,\n.users-list-date {\n display: block;\n}\n\n.users-list-name {\n color: $gray-700;\n font-size: $font-size-sm;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.users-list-date {\n color: darken($gray-500, 20%);\n font-size: 12px;\n}\n",
"//\n// Component: Social Widgets\n//\n\n//General widget style\n.card-widget {\n border: 0;\n position: relative;\n}\n\n//User Widget Style 1\n.widget-user {\n\n //User name container\n .widget-user-header {\n @if $enable-rounded {\n @include border-top-radius($border-radius);\n }\n\n height: 135px;\n padding: 1rem;\n text-align: center;\n }\n\n //User name\n .widget-user-username {\n font-size: 25px;\n font-weight: 300;\n margin-bottom: 0;\n margin-top: 0;\n text-shadow: 0 1px 1px rgba($black, 0.2);\n }\n\n //User single line description\n .widget-user-desc {\n margin-top: 0;\n }\n\n //User image container\n .widget-user-image {\n left: 50%;\n margin-left: -45px;\n position: absolute;\n top: 80px;\n\n > img {\n border: 3px solid $white;\n height: auto;\n width: 90px;\n }\n }\n\n .card-footer {\n padding-top: 50px;\n }\n}\n\n//User Widget Style 2\n.widget-user-2 {\n\n //User name container\n .widget-user-header {\n @include border-top-radius($border-radius);\n padding: 1rem;\n }\n\n //User name\n .widget-user-username {\n font-size: 25px;\n font-weight: 300;\n margin-bottom: 5px;\n margin-top: 5px;\n }\n\n //User single line description\n .widget-user-desc {\n margin-top: 0;\n }\n\n .widget-user-username,\n .widget-user-desc {\n margin-left: 75px;\n }\n\n //User image container\n .widget-user-image {\n > img {\n float: left;\n height: auto;\n width: 65px;\n }\n }\n}\n",
"//\n// Pages: Mailbox\n//\n\n.mailbox-messages {\n > .table {\n margin: 0;\n }\n}\n\n.mailbox-controls {\n padding: 5px;\n\n &.with-border {\n border-bottom: 1px solid $card-border-color;\n }\n}\n\n.mailbox-read-info {\n border-bottom: 1px solid $card-border-color;\n padding: 10px;\n\n h3 {\n font-size: 20px;\n margin: 0;\n }\n\n h5 {\n margin: 0;\n padding: 5px 0 0;\n }\n}\n\n.mailbox-read-time {\n color: #999;\n font-size: 13px;\n}\n\n.mailbox-read-message {\n padding: 10px;\n}\n\n.mailbox-attachments {\n @include list-unstyled;\n li {\n border: 1px solid #eee;\n float: left;\n margin-bottom: 10px;\n margin-right: 10px;\n width: 200px;\n }\n}\n\n.mailbox-attachment-name {\n color: #666;\n font-weight: bold;\n}\n\n.mailbox-attachment-icon,\n.mailbox-attachment-info,\n.mailbox-attachment-size {\n display: block;\n}\n\n.mailbox-attachment-info {\n background: $gray-100;\n padding: 10px;\n}\n\n.mailbox-attachment-size {\n color: #999;\n font-size: 12px;\n\n > span {\n display: inline-block;\n padding-top: 0.75rem;\n }\n}\n\n.mailbox-attachment-icon {\n color: #666;\n font-size: 65px;\n max-height: 132.5px;\n padding: 20px 10px;\n text-align: center;\n\n &.has-img {\n padding: 0;\n\n > img {\n height: auto;\n max-width: 100%;\n }\n }\n}\n\n.mailbox-attachment-close {\n @extend .close;\n}\n",
"//\n// Pages: Lock Screen\n//\n\n// ADD THIS CLASS TO THE <BODY> TAG\n.lockscreen {\n background: $gray-200;\n\n // User name [optional]\n .lockscreen-name {\n font-weight: 600;\n text-align: center;\n }\n}\n\n.lockscreen-logo {\n font-size: 35px;\n font-weight: 300;\n margin-bottom: 25px;\n text-align: center;\n\n a {\n color: $gray-700;\n }\n}\n\n.lockscreen-wrapper {\n margin: 0 auto;\n margin-top: 10%;\n max-width: 400px;\n}\n\n\n// Will contain the image and the sign in form\n.lockscreen-item {\n @include border-radius(4px);\n background: $white;\n margin: 10px auto 30px;\n padding: 0;\n position: relative;\n width: 290px;\n}\n\n// User image\n.lockscreen-image {\n @include border-radius(50%);\n background: $white;\n left: -10px;\n padding: 5px;\n position: absolute;\n top: -25px;\n z-index: 10;\n\n > img {\n @include border-radius(50%);\n height: 70px;\n width: 70px;\n }\n}\n\n// Contains the password input and the login button\n.lockscreen-credentials {\n margin-left: 70px;\n\n .form-control {\n border: 0;\n }\n\n .btn {\n background-color: $white;\n border: 0;\n padding: 0 10px;\n }\n}\n\n.lockscreen-footer {\n margin-top: 10px;\n}\n",
"//\n// Pages: Login & Register\n//\n\n.login-logo,\n.register-logo {\n font-size: 2.1rem;\n font-weight: 300;\n margin-bottom: .9rem;\n text-align: center;\n\n a {\n color: $gray-700;\n }\n}\n\n.login-page,\n.register-page {\n align-items: center;\n background: $gray-200;\n display: flex;\n flex-direction: column;\n height: 100vh;\n justify-content: center;\n}\n\n.login-box,\n.register-box {\n width: 360px;\n\n @media (max-width: map-get($grid-breakpoints, sm)) {\n margin-top: .5rem;\n width: 90%;\n }\n}\n\n.login-card-body,\n.register-card-body {\n background: $white;\n border-top: 0;\n color: #666;\n padding: 20px;\n\n .input-group {\n .form-control {\n border-right: 0;\n\n &:focus {\n box-shadow: none;\n\n & ~ .input-group-append .input-group-text {\n border-color: $input-focus-border-color;\n }\n }\n\n &.is-valid {\n &:focus {\n box-shadow: none;\n }\n\n & ~ .input-group-append .input-group-text {\n border-color: $success;\n }\n }\n\n &.is-invalid {\n &:focus {\n box-shadow: none;\n }\n\n & ~ .input-group-append .input-group-text {\n border-color: $danger;\n }\n }\n }\n\n .input-group-text {\n background-color: transparent;\n border-bottom-right-radius: $border-radius;\n border-left: 0;\n border-top-right-radius: $border-radius;\n color: #777;\n transition: $input-transition;\n }\n }\n}\n\n.login-box-msg,\n.register-box-msg {\n margin: 0;\n padding: 0 20px 20px;\n text-align: center;\n}\n\n.social-auth-links {\n margin: 10px 0;\n}\n",
"//\n// Pages: 400 and 500 error pages\n//\n \n.error-page {\n margin: 20px auto 0;\n width: 600px;\n\n @include media-breakpoint-down(sm) {\n width: 100%;\n }\n\n //For the error number e.g: 404\n > .headline {\n float: left;\n font-size: 100px;\n font-weight: 300;\n\n @include media-breakpoint-down(sm) {\n float: none;\n text-align: center;\n }\n }\n\n //For the message\n > .error-content {\n display: block;\n margin-left: 190px;\n\n @include media-breakpoint-down(sm) {\n margin-left: 0;\n }\n\n > h3 {\n font-size: 25px;\n font-weight: 300;\n\n @include media-breakpoint-down(sm) {\n text-align: center;\n }\n }\n }\n}\n",
"//\n// Pages: Invoice\n//\n\n.invoice {\n background: $white;\n border: 1px solid $card-border-color;\n position: relative;\n}\n\n.invoice-title {\n margin-top: 0;\n}\n",
"//\n// Pages: Profile\n//\n\n.profile-user-img {\n border: 3px solid $gray-500;\n margin: 0 auto;\n padding: 3px;\n width: 100px;\n}\n\n.profile-username {\n font-size: 21px;\n margin-top: 5px;\n}\n\n.post {\n border-bottom: 1px solid $gray-500;\n color: #666;\n margin-bottom: 15px;\n padding-bottom: 15px;\n\n &:last-of-type {\n border-bottom: 0;\n margin-bottom: 0;\n padding-bottom: 0;\n }\n\n .user-block {\n margin-bottom: 15px;\n width: 100%;\n }\n\n .row {\n width: 100%;\n }\n}\n",
"//\n// Pages: E-commerce\n//\n\n// product image\n.product-image {\n @include img-fluid;\n width: 100%;\n}\n\n// product image thumbnails list\n.product-image-thumbs {\n align-items: stretch;\n display: flex;\n margin-top: 2rem;\n}\n\n// product image thumbnail\n.product-image-thumb {\n @include box-shadow($thumbnail-box-shadow);\n @include border-radius($thumbnail-border-radius);\n\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n display: flex;\n margin-right: 1rem;\n max-width: 6.5rem + ($thumbnail-padding * 2);\n padding: $thumbnail-padding * 2;\n\n img {\n @include img-fluid;\n align-self: center;\n }\n\n &:hover {\n opacity: 0.5;\n }\n}\n\n// product share\n.product-share {\n a {\n margin-right: .5rem;\n }\n}\n",
"//\n// Pages: Projects\n//\n\n.projects {\n td {\n vertical-align: middle;\n }\n\n .list-inline {\n margin-bottom: 0;\n }\n\n // table avatar\n img.table-avatar,\n .table-avatar img {\n border-radius: 50%;\n display: inline;\n width: 2.5rem;\n }\n\n // project state\n .project-state {\n text-align: center;\n }\n}\n",
"//\n// Plugin: Full Calendar\n//\n\n// Buttons\n.fc-button {\n background: $gray-100;\n background-image: none;\n border-bottom-color: #ddd;\n border-color: #ddd;\n color: $gray-700;\n\n &:hover,\n &:active,\n &.hover {\n background-color: #e9e9e9;\n }\n}\n\n// Calendar title\n.fc-header-title h2 {\n color: #666;\n font-size: 15px;\n line-height: 1.6em;\n margin-left: 10px;\n}\n\n.fc-header-right {\n padding-right: 10px;\n}\n\n.fc-header-left {\n padding-left: 10px;\n}\n\n// Calendar table header cells\n.fc-widget-header {\n background: #fafafa;\n}\n\n.fc-grid {\n border: 0;\n width: 100%;\n}\n\n.fc-widget-header:first-of-type,\n.fc-widget-content:first-of-type {\n border-left: 0;\n border-right: 0;\n}\n\n.fc-widget-header:last-of-type,\n.fc-widget-content:last-of-type {\n border-right: 0;\n}\n\n.fc-toolbar,\n.fc-toolbar.fc-header-toolbar {\n margin: 0;\n padding: 1rem;\n}\n\n@include media-breakpoint-down(xs) {\n .fc-toolbar {\n flex-direction: column;\n\n .fc-left {\n order: 1;\n margin-bottom: .5rem;\n }\n\n .fc-center {\n order: 0;\n margin-bottom: .375rem;\n }\n\n .fc-right {\n order: 2;\n }\n }\n}\n\n.fc-day-number {\n font-size: 20px;\n font-weight: 300;\n padding-right: 10px;\n}\n\n.fc-color-picker {\n list-style: none;\n margin: 0;\n padding: 0;\n\n > li {\n float: left;\n font-size: 30px;\n line-height: 30px;\n margin-right: 5px;\n\n .fa,\n .fas,\n .far,\n .fab,\n .glyphicon,\n .ion {\n transition: transform linear .3s;\n\n &:hover {\n @include rotate(30deg);\n }\n }\n }\n}\n\n#add-new-event {\n transition: all linear .3s;\n}\n\n.external-event {\n @include box-shadow($card-shadow);\n\n border-radius: $border-radius;\n cursor: move;\n font-weight: bold;\n margin-bottom: 4px;\n padding: 5px 10px;\n\n &:hover {\n @include box-shadow(inset 0 0 90px rgba(0, 0, 0, 0.2));\n }\n}\n",
"//\n// Plugin: Select2\n//\n\n//Signle select\n// .select2-container--default,\n// .select2-selection {\n// &.select2-container--focus,\n// &:focus,\n// &:active {\n// outline: none;\n// }\n// }\n\n.select2-container--default {\n .select2-selection--single {\n border: $input-border-width solid $input-border-color;\n //border-radius: $input-radius;\n padding: ($input-padding-y * 1.25) $input-padding-x;\n height: $input-height;\n }\n\n &.select2-container--open {\n .select2-selection--single {\n border-color: lighten($primary, 25%);\n }\n }\n\n & .select2-dropdown {\n border: $input-border-width solid $input-border-color;\n //border-radius: $input-radius;\n }\n\n & .select2-results__option {\n padding: 6px 12px;\n user-select: none;\n -webkit-user-select: none;\n }\n\n & .select2-selection--single .select2-selection__rendered {\n padding-left: 0;\n //padding-right: 0;\n height: auto;\n margin-top: -3px;\n }\n\n &[dir=\"rtl\"] .select2-selection--single .select2-selection__rendered {\n padding-right: 6px;\n padding-left: 20px;\n }\n\n & .select2-selection--single .select2-selection__arrow {\n height: 31px;\n right: 6px;\n }\n\n & .select2-selection--single .select2-selection__arrow b {\n margin-top: 0;\n }\n\n .select2-dropdown,\n .select2-search--inline {\n .select2-search__field {\n border: $input-border-width solid $input-border-color;\n\n &:focus {\n outline: none;\n border: $input-border-width solid $input-focus-border-color;\n }\n }\n }\n\n .select2-dropdown {\n &.select2-dropdown--below {\n border-top: 0;\n }\n\n &.select2-dropdown--above {\n border-bottom: 0;\n }\n }\n\n .select2-results__option {\n &[aria-disabled='true'] {\n color: $gray-600;\n }\n\n &[aria-selected='true'] {\n $color: $gray-300;\n\n background-color: $color;\n\n &,\n &:hover {\n color: color-yiq($color);\n }\n }\n }\n\n .select2-results__option--highlighted {\n $color: $primary;\n background-color: $color;\n color: color-yiq($color);\n\n &[aria-selected] {\n $color: darken($color, 3%);\n\n &,\n &:hover {\n background-color: $color;\n color: color-yiq($color);\n }\n }\n }\n\n //Multiple select\n & {\n .select2-selection--multiple {\n border: $input-border-width solid $input-border-color;\n min-height: $input-height;\n\n &:focus {\n border-color: $input-focus-border-color;\n }\n\n .select2-selection__rendered {\n padding: 0 $input-padding-x / 2 $input-padding-y;\n margin-bottom: -$input-padding-x / 2;\n\n li:first-child.select2-search.select2-search--inline {\n width: 100%;\n margin-left: $input-padding-x / 2;\n\n .select2-search__field {\n width: 100% !important;\n }\n }\n\n\n .select2-search.select2-search--inline {\n .select2-search__field {\n border: 0;\n margin-top: 6px;\n }\n }\n }\n\n .select2-selection__choice {\n background-color: $primary;\n border-color: darken($primary, 5%);\n color: color-yiq($primary);\n padding: 0 10px;\n margin-top: .31rem;\n }\n\n .select2-selection__choice__remove {\n color: rgba(255, 255, 255, 0.7);\n float: right;\n margin-left: 5px;\n margin-right: -2px;\n\n &:hover {\n color: $white;\n }\n }\n\n .text-sm &,\n &.text-sm {\n .select2-search.select2-search--inline {\n .select2-search__field {\n margin-top: 8px;\n }\n }\n\n .select2-selection__choice {\n margin-top: .4rem;\n }\n }\n }\n\n &.select2-container--focus {\n .select2-selection--single,\n .select2-selection--multiple {\n border-color: $input-focus-border-color;\n }\n\n .select2-search__field {\n border: 0;\n }\n }\n }\n\n & .select2-selection--single .select2-selection__rendered li {\n padding-right: 10px;\n }\n\n .input-group-prepend ~ & {\n .select2-selection {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n }\n\n .input-group > &:not(:last-child) {\n .select2-selection {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n }\n}\n\n// Select2 Bootstrap4 Theme overrides\n.select2-container--bootstrap4 {\n &.select2-container--focus .select2-selection {\n box-shadow: none;\n }\n}\n\n// text-sm / form-control-sm override\nselect.form-control-sm ~ {\n .select2-container--default {\n font-size: $font-size-sm;\n }\n}\n\n.text-sm,\nselect.form-control-sm ~ {\n .select2-container--default {\n .select2-selection--single {\n height: $input-height-sm;\n \n .select2-selection__rendered {\n Line truncated
"//\n// General: Mixins\n//\n\n// Select2 Variant\n@mixin select2-variant($name, $color) {\n .select2-#{$name} {\n\n + .select2-container--default {\n &.select2-container--open {\n .select2-selection--single {\n border-color: lighten($color, 25%);\n }\n }\n\n &.select2-container--focus .select2-selection--single {\n border-color: lighten($color, 25%);\n }\n }\n\n .select2-container--default &,\n .select2-container--default {\n &.select2-dropdown,\n .select2-dropdown,\n .select2-search--inline {\n .select2-search__field {\n &:focus {\n border: $input-border-width solid lighten($color, 25%);\n }\n }\n }\n\n .select2-results__option--highlighted {\n background-color: $color;\n color: color-yiq($color);\n\n &[aria-selected] {\n &,\n &:hover {\n background-color: darken($color, 3%);\n color: color-yiq(darken($color, 3%));\n }\n }\n }\n\n //Multiple select\n & {\n .select2-selection--multiple {\n &:focus {\n border-color: lighten($color, 25%);\n }\n\n .select2-selection__choice {\n background-color: $color;\n border-color: darken($color, 5%);\n color: color-yiq($color);\n }\n\n .select2-selection__choice__remove {\n color: rgba(color-yiq($color), 0.7);\n\n &:hover {\n color: color-yiq($color);\n }\n }\n }\n \n &.select2-container--focus .select2-selection--multiple {\n border-color: lighten($color, 25%);\n }\n }\n }\n }\n}\n",
"//\n// Plugin: Bootstrap Slider\n//\n\n// Tooltip fix\n.slider .tooltip.in {\n opacity: $tooltip-opacity;\n}\n\n// Style override\n.slider {\n &.slider-vertical {\n height: 100%;\n }\n &.slider-horizontal {\n width: 100%;\n }\n}\n\n// Colors\n@each $name, $color in $theme-colors {\n .slider-#{$name} .slider {\n .slider-selection {\n background: $color;\n }\n }\n}\n\n@each $name, $color in $colors {\n .slider-#{$name} .slider {\n .slider-selection {\n background: $color;\n }\n }\n}\n",
"//\n// Plugin: iCheck Bootstrap\n//\n\n// iCheck colors (theme colors)\n@each $name, $color in $theme-colors {\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):hover + label::before,\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):hover + input[type=\"hidden\"] + label::before {\n border-color: #{$color};\n }\n\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):focus + label::before,\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):focus + input[type=\"hidden\"] + label::before {\n border-color: #{$color};\n }\n\n .icheck-#{$name} > input:first-child:checked + label::before,\n .icheck-#{$name} > input:first-child:checked + input[type=\"hidden\"] + label::before {\n background-color: #{$color};\n border-color: #{$color};\n }\n}\n\n// iCheck colors (colors)\n@each $name, $color in $colors {\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):hover + label::before,\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):hover + input[type=\"hidden\"] + label::before {\n border-color: #{$color};\n }\n\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):focus + label::before,\n .icheck-#{$name} > input:first-child:not(:checked):not(:disabled):focus + input[type=\"hidden\"] + label::before {\n border-color: #{$color};\n }\n\n .icheck-#{$name} > input:first-child:checked + label::before,\n .icheck-#{$name} > input:first-child:checked + input[type=\"hidden\"] + label::before {\n background-color: #{$color};\n border-color: #{$color};\n }\n}\n",
"//\n// Plugins: jQuery Mapael\n//\n\n.mapael {\n .map {\n position: relative;\n }\n\n .mapTooltip {\n @include reset-text();\n @include border-radius($tooltip-border-radius);\n @include font-size($tooltip-font-size);\n background-color: $tooltip-bg;\n color: $tooltip-color;\n display: block;\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n position: absolute;\n text-align: center;\n word-wrap: break-word;\n z-index: $zindex-tooltip;\n }\n\n .myLegend {\n background-color: $gray-100;\n border: 1px solid $gray-500;\n padding: 10px;\n width: 600px;\n }\n\n .zoomButton {\n background-color: $button-default-background-color;\n border: 1px solid $button-default-border-color;\n border-radius: $btn-border-radius;\n color: $button-default-color;\n cursor: pointer;\n font-weight: bold;\n height: 16px;\n left: 10px;\n line-height: 14px;\n padding-left: 1px;\n position: absolute;\n text-align: center;\n top: 0;\n\n user-select: none;\n width: 16px;\n\n &:hover,\n &:active,\n &.hover {\n background-color: darken($button-default-background-color, 5%);\n color: darken($button-default-color, 10%);\n }\n }\n\n .zoomReset {\n line-height: 12px;\n top: 10px;\n }\n\n .zoomIn {\n top: 30px;\n }\n\n .zoomOut {\n top: 50px;\n }\n}\n",
"//\n// Plugins: JQVMap\n//\n\n// Zoom Button size fixes\n.jqvmap-zoomin,\n.jqvmap-zoomout {\n background-color: $button-default-background-color;\n border: 1px solid $button-default-border-color;\n border-radius: $btn-border-radius;\n color: $button-default-color;\n height: 15px;\n width: 15px;\n\n &:hover,\n &:active,\n &.hover {\n background-color: darken($button-default-background-color, 5%);\n color: darken($button-default-color, 10%);\n }\n}\n",
"//\n// Plugin: SweetAlert2\n//\n\n// Icon Colors\n.swal2-icon {\n &.swal2-info {\n border-color: ligthen($info, 20%);\n color: $info;\n }\n\n &.swal2-warning {\n border-color: ligthen($warning, 20%);\n color: $warning;\n }\n\n &.swal2-error {\n border-color: ligthen($danger, 20%);\n color: $danger;\n }\n\n &.swal2-question {\n border-color: ligthen($secondary, 20%);\n color: $secondary;\n }\n\n &.swal2-success {\n border-color: ligthen($success, 20%);\n color: $success;\n\n .swal2-success-ring {\n border-color: ligthen($success, 20%);\n }\n\n [class^='swal2-success-line'] {\n background-color: $success;\n }\n }\n\n}\n",
"//\n// Plugin: Toastr\n//\n\n// Background to FontAwesome Icons\n// #toast-container > .toast {\n// background-image: none !important;\n// }\n// #toast-container > .toast .toast-message:before {\n// font-family: 'Font Awesome 5 Free';\n// font-size: 24px;\n// font-weight: 900;\n// line-height: 18px;\n// float: left;\n// color: #FFF;\n// padding-right: 0.5em;\n// margin: auto 0.5em auto -1.5em;\n// } \n// #toast-container > .toast-warning .toast-message:before {\n// content: \"\\f06a\";\n// }\n// #toast-container > .toast-error .toast-message:before {\n// content: \"\\f071\";\n// }\n// #toast-container > .toast-info .toast-message:before {\n// content: \"\\f05a\";\n// }\n// #toast-container > .toast-success .toast-message:before {\n// content: \"\\f058\";\n// }\n\n\n#toast-container {\n // Background color\n .toast {\n background-color: $primary;\n }\n\n .toast-success {\n background-color: $success;\n }\n\n .toast-error {\n background-color: $danger;\n }\n\n .toast-info {\n background-color: $info;\n }\n\n .toast-warning {\n background-color: $warning;\n }\n}\n",
"//\n// Plugin: Pace\n//\n\n.pace {\n z-index: $zindex-main-sidebar + 10;\n\n .pace-progress {\n z-index: $zindex-main-sidebar + 11;\n }\n\n .pace-activity {\n z-index: $zindex-main-sidebar + 12;\n }\n}\n\n// Mixin \n@mixin pace-variant($name, $color) {\n .pace-#{$name} {\n .pace {\n .pace-progress {\n background: $color;\n }\n }\n }\n\n .pace-barber-shop-#{$name} {\n .pace {\n background: color-yiq($color);\n\n .pace-progress {\n background: $color;\n }\n\n .pace-activity {\n background-image: linear-gradient(45deg, rgba(color-yiq($color), 0.2) 25%, transparent 25%, transparent 50%, rgba(color-yiq($color), 0.2) 50%, rgba(color-yiq($color), 0.2) 75%, transparent 75%, transparent);\n }\n }\n }\n\n .pace-big-counter-#{$name} {\n .pace {\n .pace-progress::after {\n color: rgba($color, .19999999999999996);\n }\n }\n }\n\n .pace-bounce-#{$name} {\n .pace {\n .pace-activity {\n background: $color;\n }\n }\n }\n\n .pace-center-atom-#{$name} {\n .pace-progress {\n height: 100px;\n width: 80px;\n\n &::before {\n background: $color;\n color: color-yiq($color);\n font-size: .8rem;\n line-height: .7rem;\n padding-top: 17%;\n }\n }\n\n .pace-activity {\n border-color: $color;\n\n &::after,\n &::before {\n border-color: $color;\n }\n }\n }\n\n .pace-center-circle-#{$name} {\n .pace {\n .pace-progress {\n background: rgba($color, .8);\n color: color-yiq($color);\n }\n }\n }\n\n .pace-center-radar-#{$name} {\n .pace {\n .pace-activity {\n border-color: $color transparent transparent;\n }\n\n .pace-activity::before {\n border-color: $color transparent transparent;\n }\n }\n }\n\n .pace-center-simple-#{$name} {\n .pace {\n background: color-yiq($color);\n border-color: $color;\n\n .pace-progress {\n background: $color;\n }\n }\n }\n\n .pace-material-#{$name} {\n .pace {\n color: $color;\n }\n }\n\n .pace-corner-indicator-#{$name} {\n .pace {\n .pace-activity {\n background: $color;\n }\n\n .pace-activity::after,\n .pace-activity::before {\n border: 5px solid color-yiq($color);\n }\n\n\n .pace-activity::before {\n border-right-color: rgba($color, .2);\n border-left-color: rgba($color, .2);\n }\n\n .pace-activity::after {\n border-top-color: rgba($color, .2);\n border-bottom-color: rgba($color, .2);\n }\n }\n }\n\n .pace-fill-left-#{$name} {\n .pace {\n .pace-progress {\n background-color: rgba($color, 0.19999999999999996);\n }\n }\n }\n\n .pace-flash-#{$name} {\n .pace {\n .pace-progress {\n background: $color;\n }\n\n .pace-progress-inner {\n box-shadow: 0 0 10px $color, 0 0 5px $color;\n }\n\n .pace-activity {\n border-top-color: $color;\n border-left-color: $color;\n }\n }\n }\n\n .pace-loading-bar-#{$name} {\n .pace {\n .pace-progress {\n background: $color;\n color: $color;\n box-shadow: 120px 0 color-yiq($color), 240px 0 color-yiq($color);\n }\n\n .pace-activity {\n box-shadow: inset 0 0 0 2px $color, inset 0 0 0 7px color-yiq($color);\n }\n }\n }\n\n .pace-mac-osx-#{$name} {\n .pace {\n .pace-progress {\n background-color: $color;\n box-shadow: inset -1px 0 $color, inset 0 -1px $color, inset 0 2px rgba(color-yiq($color), 0.5), inset 0 6px rgba(color-yiq($color), .3);\n }\n\n .pace-activity {\n background-image: radial-gradient(rgba(color-yiq($color), .65) 0%, rgba(color-yiq($color), .15) 100%);\n height: 12px;\n }\n }\n }\n\n .pace-progress-color-#{$name} {\n .pace-progress {\n color: $color;\n }\n }\n}\n\n\n@each $name, $color in $theme-colors {\n @include pace-variant($name, $color);\n}\n\n@each $name, $color in $colors {\n @include pace-variant($name, $color);\n}\n\n",
"/**\n * bootstrap-switch - Turn checkboxes and radio buttons into toggle switches.\n *\n * @version v3.4 (MODDED)\n * @homepage https://bttstrp.github.io/bootstrap-switch\n * @author Mattia Larentis <mattia@larentis.eu> (http://larentis.eu)\n * @license MIT\n */\n\n$bootstrap-switch-border-radius: $btn-border-radius;\n$bootstrap-switch-handle-border-radius: .1rem;\n\n.bootstrap-switch {\n border: $input-border-width solid $input-border-color;\n border-radius: $bootstrap-switch-border-radius;\n cursor: pointer;\n direction: ltr;\n display: inline-block;\n line-height: .5rem;\n overflow: hidden;\n position: relative;\n text-align: left;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n user-select: none;\n vertical-align: middle;\n z-index: 0;\n\n .bootstrap-switch-container {\n border-radius: $bootstrap-switch-border-radius;\n display: inline-block;\n top: 0;\n transform: translate3d(0, 0, 0);\n\n }\n\n &:focus-within {\n box-shadow: $input-btn-focus-box-shadow;\n }\n\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n box-sizing: border-box;\n cursor: pointer;\n display: table-cell;\n font-size: 1rem;\n font-weight: 500;\n line-height: 1.2rem;\n padding: .25rem .5rem;\n vertical-align: middle;\n }\n\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off {\n text-align: center;\n z-index: 1;\n\n &.bootstrap-switch-default {\n background: $gray-200;\n color: color-yiq($gray-200);\n }\n\n @each $name, $color in $theme-colors {\n &.bootstrap-switch-#{$name} {\n background: $color;\n color: color-yiq($color);\n }\n }\n\n @each $name, $color in $colors {\n &.bootstrap-switch-#{$name} {\n background: $color;\n color: color-yiq($color);\n }\n }\n }\n\n .bootstrap-switch-handle-on {\n border-bottom-left-radius: $bootstrap-switch-handle-border-radius;\n border-top-left-radius: $bootstrap-switch-handle-border-radius;\n }\n\n .bootstrap-switch-handle-off {\n border-bottom-right-radius: $bootstrap-switch-handle-border-radius;\n border-top-right-radius: $bootstrap-switch-handle-border-radius;\n }\n\n input[type='radio'],\n input[type='checkbox'] {\n filter: alpha(opacity=0);\n left: 0;\n margin: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n z-index: -1;\n }\n\n &.bootstrap-switch-mini {\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n font-size: .875rem;\n line-height: 1.5;\n padding: .1rem .3rem;\n }\n }\n\n &.bootstrap-switch-small {\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n font-size: .875rem;\n line-height: 1.5;\n padding: .2rem .4rem;\n }\n }\n\n &.bootstrap-switch-large {\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n font-size: 1.25rem;\n line-height: 1.3333333rem;\n padding: .3rem .5rem;\n }\n }\n\n &.bootstrap-switch-disabled,\n &.bootstrap-switch-readonly,\n &.bootstrap-switch-indeterminate {\n cursor: default;\n\n .bootstrap-switch-handle-on,\n .bootstrap-switch-handle-off,\n .bootstrap-switch-label {\n cursor: default;\n filter: alpha(opacity=50);\n opacity: .5;\n }\n }\n\n &.bootstrap-switch-animate .bootstrap-switch-container {\n transition: margin-left .5s;\n }\n\n &.bootstrap-switch-inverse {\n .bootstrap-switch-handle-on {\n border-radius: 0 $bootstrap-switch-handle-border-radius $bootstrap-switch-handle-border-radius 0;\n }\n\n .bootstrap-switch-handle-off {\n border-radius: $bootstrap-switch-handle-border-radius 0 0 $bootstrap-switch-handle-border-radius;\n }\n }\n\n // &.bootstrap-switch-focused {\n // border-color: $input-btn-focus-color;\n // box-shadow: $input-btn-focus-box-shadow;\n // outline: 0;\n // }\n\n &.bootstrap-switch-on .bootstrap-switch-label,\n &.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {\n border-bottom-right-radius: $bootstrap-switch-handle-border-radius;\n border-top-right-radius: $bootstrap-switch-handle-border-radius;\n }\n\n &.bootstrap-switch-off .bootstrap-switch-label,\n &.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {\n border-bottom-left-radius: $bootstrap-switch-handle-border-radius;\n border-top-left-radius: $bootstrap-switch-handle-border-radius;\n }\n}\n",
"//\n// Plugins: Miscellaneous\n// Old plugin codes\n//\n\n// _fix for sparkline tooltip\n.jqstooltip {\n height: auto !important;\n padding: 5px !important;\n width: auto !important;\n}\n\n// jQueryUI\n.connectedSortable {\n min-height: 100px;\n}\n\n.ui-helper-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sort-highlight {\n background: $gray-100;\n border: 1px dashed $gray-300;\n margin-bottom: 10px;\n}\n\n// Charts\n.chart {\n overflow: hidden;\n position: relative;\n}\n",
"//\r\n// Misc: Miscellaneous\r\n//\r\n\r\n.border-transparent {\r\n border-color: transparent !important;\r\n}\r\n\r\n// Description Blocks\r\n.description-block {\r\n display: block;\r\n margin: 10px 0;\r\n text-align: center;\r\n\r\n &.margin-bottom {\r\n margin-bottom: 25px;\r\n }\r\n\r\n > .description-header {\r\n font-size: 16px;\r\n font-weight: 600;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n > .description-text {\r\n text-transform: uppercase;\r\n }\r\n\r\n // Description Block Extension\r\n .description-icon {\r\n font-size: 16px;\r\n }\r\n}\r\n\r\n// List utility classes\r\n.list-group-unbordered {\r\n > .list-group-item {\r\n border-left: 0;\r\n border-radius: 0;\r\n border-right: 0;\r\n padding-left: 0;\r\n padding-right: 0;\r\n }\r\n}\r\n\r\n.list-header {\r\n color: $gray-600;\r\n font-size: 15px;\r\n font-weight: bold;\r\n padding: 10px 4px;\r\n}\r\n\r\n.list-seperator {\r\n background: $card-border-color;\r\n height: 1px;\r\n margin: 15px 0 9px;\r\n}\r\n\r\n.list-link {\r\n > a {\r\n color: $gray-600;\r\n padding: 4px;\r\n\r\n &:hover {\r\n color: $gray-900;\r\n }\r\n }\r\n}\r\n\r\n// User block\r\n.user-block {\r\n float: left;\r\n\r\n img {\r\n float: left;\r\n height: 40px;\r\n width: 40px;\r\n }\r\n\r\n .username,\r\n .description,\r\n .comment {\r\n display: block;\r\n margin-left: 50px;\r\n }\r\n\r\n .username {\r\n font-size: 16px;\r\n font-weight: 600;\r\n margin-top: -1px;\r\n }\r\n\r\n .description {\r\n color: $gray-600;\r\n font-size: 13px;\r\n margin-top: -3px;\r\n }\r\n\r\n &.user-block-sm {\r\n img {\r\n width: $img-size-sm;\r\n height: $img-size-sm;\r\n }\r\n\r\n .username,\r\n .description,\r\n .comment {\r\n margin-left: 40px;\r\n }\r\n\r\n .username {\r\n font-size: 14px;\r\n }\r\n }\r\n}\r\n\r\n// Image sizes\r\n.img-sm,\r\n.img-md,\r\n.img-lg {\r\n float: left;\r\n}\r\n\r\n.img-sm {\r\n height: $img-size-sm;\r\n width: $img-size-sm;\r\n\r\n + .img-push {\r\n margin-left: $img-size-sm + $img-size-push;\r\n }\r\n}\r\n\r\n.img-md {\r\n width: $img-size-md;\r\n height: $img-size-md;\r\n\r\n + .img-push {\r\n margin-left: $img-size-md + $img-size-push;\r\n }\r\n}\r\n\r\n.img-lg {\r\n width: $img-size-lg;\r\n height: $img-size-lg;\r\n\r\n + .img-push {\r\n margin-left: $img-size-lg + $img-size-push;\r\n }\r\n}\r\n\r\n// Image bordered\r\n.img-bordered {\r\n border: 3px solid $gray-500;\r\n padding: 3px;\r\n}\r\n\r\n.img-bordered-sm {\r\n border: 2px solid $gray-500;\r\n padding: 2px;\r\n}\r\n\r\n// Rounded and Circle Images\r\n.img-rounded {\r\n @include border-radius($border-radius)\r\n}\r\n\r\n.img-circle {\r\n @include border-radius(50%);\r\n}\r\n\r\n// Image sizes\r\n.img-size-64,\r\n.img-size-50,\r\n.img-size-32 {\r\n height: auto;\r\n}\r\n\r\n.img-size-64 {\r\n width: 64px;\r\n}\r\n\r\n.img-size-50 {\r\n width: 50px;\r\n}\r\n\r\n.img-size-32 {\r\n width: 32px;\r\n}\r\n\r\n// Block sizes\r\n.size-32,\r\n.size-40,\r\n.size-50 {\r\n display: block;\r\n text-align: center;\r\n}\r\n\r\n.size-32 {\r\n height: 32px;\r\n line-height: 32px;\r\n width: 32px;\r\n}\r\n\r\n.size-40 {\r\n height: 40px;\r\n line-height: 40px;\r\n width: 40px;\r\n}\r\n\r\n.size-50 {\r\n height: 50px;\r\n line-height: 50px;\r\n width: 50px;\r\n}\r\n\r\n// General attachemnt block\r\n.attachment-block {\r\n background: $gray-100;\r\n border: 1px solid $card-border-color;\r\n margin-bottom: 10px;\r\n padding: 5px;\r\n\r\n .attachment-img {\r\n float: left;\r\n height: auto;\r\n max-height: 100px;\r\n max-width: 100px;\r\n }\r\n\r\n .attachment-pushed {\r\n margin-left: 110px;\r\n }\r\n\r\n .attachment-heading {\r\n margin: 0;\r\n }\r\n\r\n .attachment-text {\r\n color: $gray-700;\r\n }\r\n}\r\n\r\n// Overlays for Card, InfoBox & SmallBox\r\n.card,\r\n.overlay-wrapper,\r\n.info-box,\r\n.small-box {\r\n // Box overlay for LOADING STATE effect\r\n > .overlay,\r\n > .loading-img {\r\n height: 100%;\r\n left: 0;\r\n position: absolute;\r\n top: 0;\r\n width: 100%;\r\n }\r\n\r\n .overlay {\r\n @include border-radius($border-radius);\r\n align-items: center;\r\n background: rgba($white, 0.7);\r\n display: flex;\r\n justify-content: center;\r\n z-index: 50;\r\n\r\n > .fa,\r\n > .fas,\r\n > .far,\r\n > .fab,\r\n > .glyphicon,\r\n > .ion {\r\n color: $gray-800;\r\n }\r\n\r\n &.dark {\r\n background: rgba($black, 0.5);\r\n\r\n > .fa,\r\n > .fas,\r\n > .far,\r\n > .fab,\r\n > .glyphicon,\r\n > .ion {\r\n color: $gray-400;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.tab-pane {\r\n // Box overlay for LOADING STATE effect on Tab Panels\r\n > .overlay-wrapper {\r\n position: relative;\r\n > .overlay {\r\n border-top-left-radius: 0;\r\n border-top-right-raLine truncated
"//\n// Misc: Print\n//\n\n@media print {\n //Add to elements that you do not want to show when printing\n .no-print {\n display: none !important;\n }\n\n //Elements that we want to hide when printing\n .main-sidebar,\n .main-header,\n .content-header {\n @extend .no-print;\n }\n\n //This is the only element that should appear, so let's remove the margins\n .content-wrapper,\n .main-footer {\n @include translate(0, 0);\n margin-left: 0 !important;\n min-height: 0 !important;\n }\n\n .layout-fixed .content-wrapper {\n padding-top: 0 !important;\n }\n\n //Invoice printing\n .invoice {\n border: 0;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n\n .invoice-col {\n float: left;\n width: 33.3333333%;\n }\n\n //Make sure table content displays properly\n .table-responsive {\n overflow: auto;\n\n > .table tr th,\n > .table tr td {\n white-space: normal !important;\n }\n }\n}\n",
"//\n// Component: Text\n//\n\n// text modification\n.text-bold {\n &, &.table td, &.table th {\n font-weight: 700;\n }\n}\n\n.text-xs {\n font-size: $font-size-xs !important;\n}\n\n.text-sm {\n font-size: $font-size-sm !important;\n}\n\n.text-md {\n font-size: $font-size-base !important;\n}\n\n.text-lg {\n font-size: $font-size-lg !important;\n}\n\n.text-xl {\n font-size: $font-size-xl !important;\n}\n\n// text color variations\n@each $name, $color in $colors {\n .text-#{$name} {\n color: #{$color};\n }\n}\n",
"//\n// Component: Elevation\n//\n\n.elevation-0 {\n box-shadow: none !important;\n}\n\n// Background colors (colors)\n@each $name, $value in $elevations {\n .elevation-#{$name} {\n box-shadow: $value !important;\n }\n}\n",
"//\n// Mixins: Backgrounds\n//\n\n// Background Variant\n@mixin background-variant($name, $color) {\n .bg-#{$name} {\n background-color: #{$color} !important;\n\n &,\n > a {\n color: color-yiq($color) !important;\n }\n\n &.btn {\n &:hover {\n border-color: darken($color, 10%);\n color: darken(color-yiq($color), 7.5%);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n &:active,\n &.active {\n background-color: darken($color, 10%) !important;\n border-color: darken($color, 12.5%);\n color: color-yiq(darken($color, 10%));\n }\n }\n }\n}\n\n// Background Gradient Variant\n@mixin background-gradient-variant($name, $color) {\n .bg-gradient-#{$name} {\n @include bg-gradient-variant('&', $color);\n color: color-yiq($color);\n\n &.btn {\n &.disabled,\n &:disabled,\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n background-image: none !important;\n }\n\n &:hover {\n @include bg-gradient-variant('&', darken($color, 7.5%));\n border-color: darken($color, 10%);\n color: darken(color-yiq($color), 7.5%);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n &:active,\n &.active {\n @include bg-gradient-variant('&', darken($color, 10%));\n border-color: darken($color, 12.5%);\n color: color-yiq(darken($color, 10%));\n }\n }\n }\n}\n",
"//\n// Misc: Colors\n//\n\n// Background colors (theme colors)\n@each $name, $color in $theme-colors {\n @include background-variant($name, $color);\n}\n\n// Background colors (colors)\n@each $name, $color in $colors {\n @include background-variant($name, $color);\n}\n\n.bg-gray {\n background-color: $gray-500;\n color: color-yiq($gray-500);\n}\n\n.bg-gray-light {\n background-color: lighten($gray-200, 3%);\n color: color-yiq(lighten($gray-200, 3%)) !important;\n}\n\n.bg-black {\n background-color: $black;\n color: color-yiq($black) !important;\n}\n\n.bg-white {\n background-color: $white;\n color: color-yiq($white) !important;\n}\n\n// Gradient Background colors (theme colors)\n@each $name, $color in $theme-colors {\n @include background-gradient-variant($name, $color);\n}\n\n// Gradient Background colors (colors)\n@each $name, $color in $colors {\n @include background-gradient-variant($name, $color);\n}\n\n// Backgrund Color Disabled\n[class^='bg-'].disabled {\n opacity: .65;\n}\n\n// Text muted hover\na.text-muted:hover {\n color: theme-color(primary) !important;\n}\n\n// Link Styles\n.link-muted {\n color: darken($gray-500, 30%);\n\n &:hover,\n &:focus {\n color: darken($gray-500, 40%);\n }\n}\n\n.link-black {\n color: $gray-600;\n\n &:hover,\n &:focus {\n color: lighten($gray-500, 20%);\n }\n}\n\n// Accent colors (theme colors)\n@each $name, $color in $theme-colors {\n @include accent-variant($name, $color);\n}\n\n// Accent colors (colors)\n@each $name, $color in $colors {\n @include accent-variant($name, $color);\n}\n\n// Accent button override fix\n[class*=\"accent-\"] {\n @each $name, $color in $theme-colors {\n a.btn-#{$name} {\n color: color-yiq($color);\n }\n }\n}\n",
"//\n// Mixins: Accent\n//\n\n// Accent Variant\n@mixin accent-variant($name, $color) {\n .accent-#{$name} {\n $link-color: $color;\n $link-hover-color: darken($color, 15%);\n $pagination-active-bg: $color;\n $pagination-active-border-color: $color;\n\n .btn-link,\n a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link) {\n color: $link-color;\n\n @include hover {\n color: $link-hover-color;\n }\n }\n\n .dropdown-item {\n &:active,\n &.active {\n background: $color;\n color: color-yiq($color);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n background: $color;\n border-color: darken($color, 20%);\n }\n\n &::after {\n $newColor: color-yiq($color);\n background-image: str-replace($custom-checkbox-indicator-icon-checked, str-replace(#{$custom-control-indicator-checked-color}, '#', '%23'), str-replace(#{$newColor}, '#', '%23'));\n }\n }\n\n .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid),\n .custom-select:focus,\n .custom-control-input:focus:not(:checked) ~ .custom-control-label::before,\n .custom-file-input:focus ~ .custom-file-label {\n border-color: lighten($color, 25%);\n }\n \n .page-item {\n .page-link {\n color: $link-color;\n }\n\n &.active a,\n &.active .page-link {\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n color: $pagination-active-color;\n }\n\n &.disabled a,\n &.disabled .page-link {\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n color: $pagination-disabled-color;\n }\n }\n\n [class*=\"sidebar-dark-\"] {\n .sidebar {\n a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {\n color: $sidebar-dark-color;\n \n @include hover {\n color: $sidebar-dark-hover-color;\n }\n }\n }\n }\n\n [class*=\"sidebar-light-\"] {\n .sidebar {\n a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {\n color: $sidebar-light-color;\n\n @include hover {\n color: $sidebar-light-hover-color;\n }\n }\n }\n }\n }\n}\n\n"
]
}
{"version":3,"sources":["..\\..\\build\\scss\\AdminLTE.scss","..\\..\\node_modules\\bootstrap\\scss\\bootstrap.scss","..\\..\\node_modules\\bootstrap\\scss\\_root.scss","..\\..\\node_modules\\bootstrap\\scss\\_reboot.scss","dist\\css\\adminlte.css","..\\..\\node_modules\\bootstrap\\scss\\vendor\\_rfs.scss","adminlte.css","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_hover.scss","..\\..\\node_modules\\bootstrap\\scss\\_type.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_lists.scss","..\\..\\node_modules\\bootstrap\\scss\\_images.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_image.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_border-radius.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_box-shadow.scss","..\\..\\node_modules\\bootstrap\\scss\\_code.scss","..\\..\\node_modules\\bootstrap\\scss\\_grid.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_grid.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_breakpoints.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_grid-framework.scss","..\\..\\node_modules\\bootstrap\\scss\\_tables.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_table-row.scss","..\\..\\node_modules\\bootstrap\\scss\\_forms.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_transition.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_forms.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_gradients.scss","..\\..\\node_modules\\bootstrap\\scss\\_buttons.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_buttons.scss","..\\..\\node_modules\\bootstrap\\scss\\_transitions.scss","..\\..\\node_modules\\bootstrap\\scss\\_dropdown.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_caret.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_nav-divider.scss","..\\..\\node_modules\\bootstrap\\scss\\_button-group.scss","..\\..\\node_modules\\bootstrap\\scss\\_input-group.scss","..\\..\\node_modules\\bootstrap\\scss\\_custom-forms.scss","..\\..\\node_modules\\bootstrap\\scss\\_nav.scss","..\\..\\node_modules\\bootstrap\\scss\\_navbar.scss","..\\..\\node_modules\\bootstrap\\scss\\_card.scss","..\\..\\node_modules\\bootstrap\\scss\\_breadcrumb.scss","..\\..\\node_modules\\bootstrap\\scss\\_pagination.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_pagination.scss","..\\..\\node_modules\\bootstrap\\scss\\_badge.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_badge.scss","..\\..\\node_modules\\bootstrap\\scss\\_jumbotron.scss","..\\..\\node_modules\\bootstrap\\scss\\_alert.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_alert.scss","..\\..\\node_modules\\bootstrap\\scss\\_progress.scss","..\\..\\node_modules\\bootstrap\\scss\\_media.scss","..\\..\\node_modules\\bootstrap\\scss\\_list-group.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_list-group.scss","..\\..\\node_modules\\bootstrap\\scss\\_close.scss","..\\..\\node_modules\\bootstrap\\scss\\_toasts.scss","..\\..\\node_modules\\bootstrap\\scss\\_modal.scss","..\\..\\node_modules\\bootstrap\\scss\\_tooltip.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_reset-text.scss","..\\..\\node_modules\\bootstrap\\scss\\_popover.scss","..\\..\\node_modules\\bootstrap\\scss\\_carousel.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_clearfix.scss","..\\..\\node_modules\\bootstrap\\scss\\_spinners.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_align.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_background-variant.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_background.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_borders.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_display.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_embed.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_flex.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_float.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_overflow.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_position.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_screenreaders.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_screen-reader.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_shadows.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_sizing.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_stretched-link.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_spacing.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_text.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-truncate.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-emphasis.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-hide.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_visibility.scss","..\\..\\node_modules\\bootstrap\\scss\\_print.scss","..\\..\\build\\scss\\_layout.scss","..\\..\\build\\scss\\_main-header.scss","..\\..\\build\\scss\\_brand.scss","..\\..\\build\\scss\\_main-sidebar.scss","..\\..\\build\\scss\\mixins\\_miscellaneous.scss","..\\..\\bLine truncated
File diff suppressed because it is too large. Load diff
+1 -360
View File
@@ -1,360 +1 @@
{
"version": 3,
"file": "adminlte.js",
"sources": [
"../../build/js/ControlSidebar.js",
"../../build/js/Layout.js",
"../../build/js/PushMenu.js",
"../../build/js/Treeview.js",
"../../build/js/DirectChat.js",
"../../build/js/TodoList.js",
"../../build/js/CardWidget.js",
"../../build/js/CardRefresh.js",
"../../build/js/Dropdown.js",
"../../build/js/Toasts.js"
],
"sourcesContent": [
"/**\n * --------------------------------------------\n * AdminLTE ControlSidebar.js\n * License MIT\n * --------------------------------------------\n */\n\nconst ControlSidebar = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'ControlSidebar'\n const DATA_KEY = 'lte.controlsidebar'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const DATA_API_KEY = '.data-api'\n\n const Event = {\n COLLAPSED: `collapsed${EVENT_KEY}`,\n EXPANDED: `expanded${EVENT_KEY}`,\n }\n\n const Selector = {\n CONTROL_SIDEBAR: '.control-sidebar',\n CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content',\n DATA_TOGGLE: '[data-widget=\"control-sidebar\"]',\n CONTENT: '.content-wrapper',\n HEADER: '.main-header',\n FOOTER: '.main-footer',\n }\n\n const ClassName = {\n CONTROL_SIDEBAR_ANIMATE: 'control-sidebar-animate',\n CONTROL_SIDEBAR_OPEN: 'control-sidebar-open',\n CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open',\n LAYOUT_FIXED: 'layout-fixed',\n NAVBAR_FIXED: 'layout-navbar-fixed',\n NAVBAR_SM_FIXED: 'layout-sm-navbar-fixed',\n NAVBAR_MD_FIXED: 'layout-md-navbar-fixed',\n NAVBAR_LG_FIXED: 'layout-lg-navbar-fixed',\n NAVBAR_XL_FIXED: 'layout-xl-navbar-fixed',\n FOOTER_FIXED: 'layout-footer-fixed',\n FOOTER_SM_FIXED: 'layout-sm-footer-fixed',\n FOOTER_MD_FIXED: 'layout-md-footer-fixed',\n FOOTER_LG_FIXED: 'layout-lg-footer-fixed',\n FOOTER_XL_FIXED: 'layout-xl-footer-fixed',\n }\n\n const Default = {\n controlsidebarSlide: true,\n scrollbarTheme : 'os-theme-light',\n scrollbarAutoHide: 'l',\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class ControlSidebar {\n constructor(element, config) {\n this._element = element\n this._config = config\n\n this._init()\n }\n\n // Public\n\n collapse() {\n // Show the control sidebar\n if (this._config.controlsidebarSlide) {\n $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){\n $(Selector.CONTROL_SIDEBAR).hide()\n $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n } else {\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n\n const collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n show() {\n // Collapse the control sidebar\n if (this._config.controlsidebarSlide) {\n $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(Selector.CONTROL_SIDEBAR).show().delay(10).queue(function(){\n $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){\n $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n $(this).dequeue()\n })\n } else {\n $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n\n const expandedEvent = $.Event(Event.EXPANDED)\n $(this._element).trigger(expandedEvent)\n }\n\n toggle() {\n const shouldClose = $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body')\n .hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)\n if (shouldClose) {\n // Close the control sidebar\n this.collapse()\n } else {\n // Open the control sidebar\n this.show()\n }\n }\n\n // Private\n\n _init() {\n this._fixHeight()\n this._fixScrollHeight()\n\n $(window).resize(() => {\n this._fixHeight()\n this._fixScrollHeight()\n })\n\n $(window).scroll(() => {\n if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) {\n this._fixScrollHeight()\n }\n })\n }\n\n _fixScrollHeight() {\n const heights = {\n scroll: $(document).height(),\n window: $(window).height(),\n header: $(Selector.HEADER).outerHeight(),\n footer: $(Selector.FOOTER).outerHeight(),\n }\n const positions = {\n bottom: Math.abs((heights.window + $(window).scrollTop()) - heights.scroll),\n top: $(window).scrollTop(),\n }\n\n let navbarFixed = false;\n let footerFixed = false;\n\n if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {\n if (\n $('body').hasClass(ClassName.NAVBAR_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_SM_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_MD_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_LG_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_XL_FIXED)\n ) {\n if ($(Selector.HEADER).css(\"position\") === \"fixed\") {\n navbarFixed = true;\n }\Line truncated
"/**\n * --------------------------------------------\n * AdminLTE Layout.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Layout = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Layout'\n const DATA_KEY = 'lte.layout'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n SIDEBAR: 'sidebar'\n }\n\n const Selector = {\n HEADER : '.main-header',\n MAIN_SIDEBAR : '.main-sidebar',\n SIDEBAR : '.main-sidebar .sidebar',\n CONTENT : '.content-wrapper',\n BRAND : '.brand-link',\n CONTENT_HEADER : '.content-header',\n WRAPPER : '.wrapper',\n CONTROL_SIDEBAR: '.control-sidebar',\n CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content',\n CONTROL_SIDEBAR_BTN: '[data-widget=\"control-sidebar\"]',\n LAYOUT_FIXED : '.layout-fixed',\n FOOTER : '.main-footer',\n PUSHMENU_BTN : '[data-widget=\"pushmenu\"]',\n LOGIN_BOX : '.login-box',\n REGISTER_BOX : '.register-box'\n }\n\n const ClassName = {\n HOLD : 'hold-transition',\n SIDEBAR : 'main-sidebar',\n CONTENT_FIXED : 'content-fixed',\n SIDEBAR_FOCUSED: 'sidebar-focused',\n LAYOUT_FIXED : 'layout-fixed',\n NAVBAR_FIXED : 'layout-navbar-fixed',\n FOOTER_FIXED : 'layout-footer-fixed',\n LOGIN_PAGE : 'login-page',\n REGISTER_PAGE : 'register-page',\n CONTROL_SIDEBAR_SLIDE_OPEN: 'control-sidebar-slide-open',\n CONTROL_SIDEBAR_OPEN: 'control-sidebar-open',\n }\n\n const Default = {\n scrollbarTheme : 'os-theme-light',\n scrollbarAutoHide: 'l',\n panelAutoHeight: true,\n loginRegisterAutoHeight: true,\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class Layout {\n constructor(element, config) {\n this._config = config\n this._element = element\n\n this._init()\n }\n\n // Public\n\n fixLayoutHeight(extra = null) {\n let control_sidebar = 0\n\n if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || extra == 'control_sidebar') {\n control_sidebar = $(Selector.CONTROL_SIDEBAR_CONTENT).height()\n }\n\n const heights = {\n window: $(window).height(),\n header: $(Selector.HEADER).length !== 0 ? $(Selector.HEADER).outerHeight() : 0,\n footer: $(Selector.FOOTER).length !== 0 ? $(Selector.FOOTER).outerHeight() : 0,\n sidebar: $(Selector.SIDEBAR).length !== 0 ? $(Selector.SIDEBAR).height() : 0,\n control_sidebar: control_sidebar,\n }\n\n const max = this._max(heights)\n let offset = this._config.panelAutoHeight\n\n if (offset === true) {\n offset = 0;\n }\n\n if (offset !== false) {\n if (max == heights.control_sidebar) {\n $(Selector.CONTENT).css('min-height', (max + offset))\n } else if (max == heights.window) {\n $(Selector.CONTENT).css('min-height', (max + offset) - heights.header - heights.footer)\n } else {\n $(Selector.CONTENT).css('min-height', (max + offset) - heights.header)\n }\n }\n\n if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {\n if (offset !== false) {\n $(Selector.CONTENT).css('min-height', (max + offset) - heights.header - heights.footer)\n }\n\n if (typeof $.fn.overlayScrollbars !== 'undefined') {\n $(Selector.SIDEBAR).overlayScrollbars({\n className : this._config.scrollbarTheme,\n sizeAutoCapable : true,\n scrollbars : {\n autoHide: this._config.scrollbarAutoHide, \n clickScrolling : true\n }\n })\n }\n }\n }\n\n fixLoginRegisterHeight() {\n if ($(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).length === 0) {\n $('body, html').css('height', 'auto')\n } else if ($(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).length !== 0) {\n let box_height = $(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).height()\n\n if ($('body').css('min-height') !== box_height) {\n $('body').css('min-height', box_height)\n }\n }\n }\n\n // Private\n\n _init() {\n // Activate layout height watcher\n this.fixLayoutHeight()\n\n if (this._config.loginRegisterAutoHeight === true) { \n this.fixLoginRegisterHeight()\n } else if (Number.isInteger(this._config.loginRegisterAutoHeight)) { \n setInterval(this.fixLoginRegisterHeight, this._config.loginRegisterAutoHeight);\n }\n\n $(Selector.SIDEBAR)\n .on('collapsed.lte.treeview expanded.lte.treeview', () => {\n this.fixLayoutHeight()\n })\n\n $(Selector.PUSHMENU_BTN)\n .on('collapsLine truncated
"/**\n * --------------------------------------------\n * AdminLTE PushMenu.js\n * License MIT\n * --------------------------------------------\n */\n\nconst PushMenu = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'PushMenu'\n const DATA_KEY = 'lte.pushmenu'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n COLLAPSED: `collapsed${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n }\n\n const Default = {\n autoCollapseSize: 992,\n enableRemember: false,\n noTransitionAfterReload: true\n }\n\n const Selector = {\n TOGGLE_BUTTON: '[data-widget=\"pushmenu\"]',\n SIDEBAR_MINI: '.sidebar-mini',\n SIDEBAR_COLLAPSED: '.sidebar-collapse',\n BODY: 'body',\n OVERLAY: '#sidebar-overlay',\n WRAPPER: '.wrapper'\n }\n\n const ClassName = {\n COLLAPSED: 'sidebar-collapse',\n OPEN: 'sidebar-open',\n CLOSED: 'sidebar-closed'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class PushMenu {\n constructor(element, options) {\n this._element = element\n this._options = $.extend({}, Default, options)\n\n if (!$(Selector.OVERLAY).length) {\n this._addOverlay()\n }\n\n this._init()\n }\n\n // Public\n\n expand() {\n if (this._options.autoCollapseSize) {\n if ($(window).width() <= this._options.autoCollapseSize) {\n $(Selector.BODY).addClass(ClassName.OPEN)\n }\n }\n\n $(Selector.BODY).removeClass(ClassName.COLLAPSED).removeClass(ClassName.CLOSED)\n\n if(this._options.enableRemember) {\n localStorage.setItem(`remember${EVENT_KEY}`, ClassName.OPEN)\n }\n\n const shownEvent = $.Event(Event.SHOWN)\n $(this._element).trigger(shownEvent)\n }\n\n collapse() {\n if (this._options.autoCollapseSize) {\n if ($(window).width() <= this._options.autoCollapseSize) {\n $(Selector.BODY).removeClass(ClassName.OPEN).addClass(ClassName.CLOSED)\n }\n }\n\n $(Selector.BODY).addClass(ClassName.COLLAPSED)\n\n if(this._options.enableRemember) {\n localStorage.setItem(`remember${EVENT_KEY}`, ClassName.COLLAPSED)\n }\n\n const collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n toggle() {\n if (!$(Selector.BODY).hasClass(ClassName.COLLAPSED)) {\n this.collapse()\n } else {\n this.expand()\n }\n }\n\n autoCollapse(resize = false) {\n if (this._options.autoCollapseSize) {\n if ($(window).width() <= this._options.autoCollapseSize) {\n if (!$(Selector.BODY).hasClass(ClassName.OPEN)) {\n this.collapse()\n }\n } else if (resize == true) {\n if ($(Selector.BODY).hasClass(ClassName.OPEN)) {\n $(Selector.BODY).removeClass(ClassName.OPEN)\n } else if($(Selector.BODY).hasClass(ClassName.CLOSED)) {\n this.expand()\n }\n }\n }\n }\n\n remember() {\n if(this._options.enableRemember) {\n let toggleState = localStorage.getItem(`remember${EVENT_KEY}`)\n if (toggleState == ClassName.COLLAPSED){\n if (this._options.noTransitionAfterReload) {\n $(\"body\").addClass('hold-transition').addClass(ClassName.COLLAPSED).delay(50).queue(function() {\n $(this).removeClass('hold-transition')\n $(this).dequeue()\n })\n } else {\n $(\"body\").addClass(ClassName.COLLAPSED)\n }\n } else {\n if (this._options.noTransitionAfterReload) {\n $(\"body\").addClass('hold-transition').removeClass(ClassName.COLLAPSED).delay(50).queue(function() {\n $(this).removeClass('hold-transition')\n $(this).dequeue()\n })\n } else {\n $(\"body\").removeClass(ClassName.COLLAPSED)\n }\n }\n }\n }\n\n // Private\n\n _init() {\n this.remember()\n this.autoCollapse()\n\n $(window).resize(() => {\n this.autoCollapse(true)\n })\n }\n\n _addOverlay() {\n const overlay = $('<div />', {\n id: 'sidebar-overlay'\n })\n\n overlay.on('click', () => {\n this.collapse()\n })\n\n $(Selector.WRAPPER).append(overlay)\n }\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new PushMenu(this, _options)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof operation === 'string' && operation.match(/collapse|expand|toggle/)) {\n data[operation]()\n }\n })\n }\n }\n\n /**\n Line truncated
"/**\n * --------------------------------------------\n * AdminLTE Treeview.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Treeview = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Treeview'\n const DATA_KEY = 'lte.treeview'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n SELECTED : `selected${EVENT_KEY}`,\n EXPANDED : `expanded${EVENT_KEY}`,\n COLLAPSED : `collapsed${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}`\n }\n\n const Selector = {\n LI : '.nav-item',\n LINK : '.nav-link',\n TREEVIEW_MENU: '.nav-treeview',\n OPEN : '.menu-open',\n DATA_WIDGET : '[data-widget=\"treeview\"]'\n }\n\n const ClassName = {\n LI : 'nav-item',\n LINK : 'nav-link',\n TREEVIEW_MENU : 'nav-treeview',\n OPEN : 'menu-open',\n SIDEBAR_COLLAPSED: 'sidebar-collapse'\n }\n\n const Default = {\n trigger : `${Selector.DATA_WIDGET} ${Selector.LINK}`,\n animationSpeed : 300,\n accordion : true,\n expandSidebar : false,\n sidebarButtonSelector: '[data-widget=\"pushmenu\"]'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Treeview {\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n init() {\n this._setupListeners()\n }\n\n expand(treeviewMenu, parentLi) {\n const expandedEvent = $.Event(Event.EXPANDED)\n\n if (this._config.accordion) {\n const openMenuLi = parentLi.siblings(Selector.OPEN).first()\n const openTreeview = openMenuLi.find(Selector.TREEVIEW_MENU).first()\n this.collapse(openTreeview, openMenuLi)\n }\n\n treeviewMenu.stop().slideDown(this._config.animationSpeed, () => {\n parentLi.addClass(ClassName.OPEN)\n $(this._element).trigger(expandedEvent)\n })\n\n if (this._config.expandSidebar) {\n this._expandSidebar()\n }\n }\n\n collapse(treeviewMenu, parentLi) {\n const collapsedEvent = $.Event(Event.COLLAPSED)\n\n treeviewMenu.stop().slideUp(this._config.animationSpeed, () => {\n parentLi.removeClass(ClassName.OPEN)\n $(this._element).trigger(collapsedEvent)\n treeviewMenu.find(`${Selector.OPEN} > ${Selector.TREEVIEW_MENU}`).slideUp()\n treeviewMenu.find(Selector.OPEN).removeClass(ClassName.OPEN)\n })\n }\n\n toggle(event) {\n\n const $relativeTarget = $(event.currentTarget)\n const $parent = $relativeTarget.parent()\n\n let treeviewMenu = $parent.find('> ' + Selector.TREEVIEW_MENU)\n\n if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {\n\n if (!$parent.is(Selector.LI)) {\n treeviewMenu = $parent.parent().find('> ' + Selector.TREEVIEW_MENU)\n }\n\n if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {\n return\n }\n }\n \n event.preventDefault()\n\n const parentLi = $relativeTarget.parents(Selector.LI).first()\n const isOpen = parentLi.hasClass(ClassName.OPEN)\n\n if (isOpen) {\n this.collapse($(treeviewMenu), parentLi)\n } else {\n this.expand($(treeviewMenu), parentLi)\n }\n }\n\n // Private\n\n _setupListeners() {\n $(document).on('click', this._config.trigger, (event) => {\n this.toggle(event)\n })\n }\n\n _expandSidebar() {\n if ($('body').hasClass(ClassName.SIDEBAR_COLLAPSED)) {\n $(this._config.sidebarButtonSelector).PushMenu('expand')\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Treeview($(this), _options)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n Treeview._jQueryInterface.call($(this), 'init')\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Treeview._jQueryInterface\n $.fn[NAME].Constructor = Treeview\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Treeview._jQueryInterface\n }\n\n return Treeview\n})(jQuery)\n\nexport default Treeview\n",
"/**\n * --------------------------------------------\n * AdminLTE DirectChat.js\n * License MIT\n * --------------------------------------------\n */\n\nconst DirectChat = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'DirectChat'\n const DATA_KEY = 'lte.directchat'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const DATA_API_KEY = '.data-api'\n\n const Event = {\n TOGGLED: `toggled{EVENT_KEY}`\n }\n\n const Selector = {\n DATA_TOGGLE: '[data-widget=\"chat-pane-toggle\"]',\n DIRECT_CHAT: '.direct-chat'\n };\n\n const ClassName = {\n DIRECT_CHAT_OPEN: 'direct-chat-contacts-open'\n };\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class DirectChat {\n constructor(element, config) {\n this._element = element\n }\n\n toggle() {\n $(this._element).parents(Selector.DIRECT_CHAT).first().toggleClass(ClassName.DIRECT_CHAT_OPEN);\n\n const toggledEvent = $.Event(Event.TOGGLED)\n $(this._element).trigger(toggledEvent)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new DirectChat($(this))\n $(this).data(DATA_KEY, data)\n }\n\n data[config]()\n })\n }\n }\n\n /**\n *\n * Data Api implementation\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_TOGGLE, function (event) {\n if (event) event.preventDefault();\n DirectChat._jQueryInterface.call($(this), 'toggle');\n });\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = DirectChat._jQueryInterface\n $.fn[NAME].Constructor = DirectChat\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return DirectChat._jQueryInterface\n }\n\n return DirectChat\n})(jQuery)\n\nexport default DirectChat\n",
"/**\n * --------------------------------------------\n * AdminLTE TodoList.js\n * License MIT\n * --------------------------------------------\n */\n\nconst TodoList = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'TodoList'\n const DATA_KEY = 'lte.todolist'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DATA_TOGGLE: '[data-widget=\"todo-list\"]'\n }\n\n const ClassName = {\n TODO_LIST_DONE: 'done'\n }\n\n const Default = {\n onCheck: function (item) {\n return item;\n },\n onUnCheck: function (item) {\n return item;\n }\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class TodoList {\n constructor(element, config) {\n this._config = config\n this._element = element\n\n this._init()\n }\n\n // Public\n\n toggle(item) {\n item.parents('li').toggleClass(ClassName.TODO_LIST_DONE);\n if (! $(item).prop('checked')) {\n this.unCheck($(item));\n return;\n }\n\n this.check(item);\n }\n\n check (item) {\n this._config.onCheck.call(item);\n }\n\n unCheck (item) {\n this._config.onUnCheck.call(item);\n }\n\n // Private\n\n _init() {\n var that = this\n $(Selector.DATA_TOGGLE).find('input:checkbox:checked').parents('li').toggleClass(ClassName.TODO_LIST_DONE)\n $(Selector.DATA_TOGGLE).on('change', 'input:checkbox', (event) => {\n that.toggle($(event.target))\n })\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new TodoList($(this), _options)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on('load', () => {\n TodoList._jQueryInterface.call($(Selector.DATA_TOGGLE))\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = TodoList._jQueryInterface\n $.fn[NAME].Constructor = TodoList\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return TodoList._jQueryInterface\n }\n\n return TodoList\n})(jQuery)\n\nexport default TodoList\n",
"/**\n * --------------------------------------------\n * AdminLTE CardWidget.js\n * License MIT\n * --------------------------------------------\n */\n\nconst CardWidget = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'CardWidget'\n const DATA_KEY = 'lte.cardwidget'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n EXPANDED: `expanded${EVENT_KEY}`,\n COLLAPSED: `collapsed${EVENT_KEY}`,\n MAXIMIZED: `maximized${EVENT_KEY}`,\n MINIMIZED: `minimized${EVENT_KEY}`,\n REMOVED: `removed${EVENT_KEY}`\n }\n\n const ClassName = {\n CARD: 'card',\n COLLAPSED: 'collapsed-card',\n COLLAPSING: 'collapsing-card',\n EXPANDING: 'expanding-card',\n WAS_COLLAPSED: 'was-collapsed',\n MAXIMIZED: 'maximized-card',\n }\n\n const Selector = {\n DATA_REMOVE: '[data-card-widget=\"remove\"]',\n DATA_COLLAPSE: '[data-card-widget=\"collapse\"]',\n DATA_MAXIMIZE: '[data-card-widget=\"maximize\"]',\n CARD: `.${ClassName.CARD}`,\n CARD_HEADER: '.card-header',\n CARD_BODY: '.card-body',\n CARD_FOOTER: '.card-footer',\n COLLAPSED: `.${ClassName.COLLAPSED}`,\n }\n\n const Default = {\n animationSpeed: 'normal',\n collapseTrigger: Selector.DATA_COLLAPSE,\n removeTrigger: Selector.DATA_REMOVE,\n maximizeTrigger: Selector.DATA_MAXIMIZE,\n collapseIcon: 'fa-minus',\n expandIcon: 'fa-plus',\n maximizeIcon: 'fa-expand',\n minimizeIcon: 'fa-compress',\n }\n\n class CardWidget {\n constructor(element, settings) {\n this._element = element\n this._parent = element.parents(Selector.CARD).first()\n\n if (element.hasClass(ClassName.CARD)) {\n this._parent = element\n }\n\n this._settings = $.extend({}, Default, settings)\n }\n\n collapse() {\n this._parent.addClass(ClassName.COLLAPSING).children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)\n .slideUp(this._settings.animationSpeed, () => {\n this._parent.addClass(ClassName.COLLAPSED).removeClass(ClassName.COLLAPSING)\n })\n\n this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.collapseIcon)\n .addClass(this._settings.expandIcon)\n .removeClass(this._settings.collapseIcon)\n\n const collapsed = $.Event(Event.COLLAPSED)\n\n this._element.trigger(collapsed, this._parent)\n }\n\n expand() {\n this._parent.addClass(ClassName.EXPANDING).children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)\n .slideDown(this._settings.animationSpeed, () => {\n this._parent.removeClass(ClassName.COLLAPSED).removeClass(ClassName.EXPANDING)\n })\n\n this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.expandIcon)\n .addClass(this._settings.collapseIcon)\n .removeClass(this._settings.expandIcon)\n\n const expanded = $.Event(Event.EXPANDED)\n\n this._element.trigger(expanded, this._parent)\n }\n\n remove() {\n this._parent.slideUp()\n\n const removed = $.Event(Event.REMOVED)\n\n this._element.trigger(removed, this._parent)\n }\n\n toggle() {\n if (this._parent.hasClass(ClassName.COLLAPSED)) {\n this.expand()\n return\n }\n\n this.collapse()\n }\n \n maximize() {\n this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.maximizeIcon)\n .addClass(this._settings.minimizeIcon)\n .removeClass(this._settings.maximizeIcon)\n this._parent.css({\n 'height': this._parent.height(),\n 'width': this._parent.width(),\n 'transition': 'all .15s'\n }).delay(150).queue(function(){\n $(this).addClass(ClassName.MAXIMIZED)\n $('html').addClass(ClassName.MAXIMIZED)\n if ($(this).hasClass(ClassName.COLLAPSED)) {\n $(this).addClass(ClassName.WAS_COLLAPSED)\n }\n $(this).dequeue()\n })\n\n const maximized = $.Event(Event.MAXIMIZED)\n\n this._element.trigger(maximized, this._parent)\n }\n\n minimize() {\n this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.minimizeIcon)\n .addClass(this._settings.maximizeIcon)\n .removeClass(this._settings.minimizeIcon)\n this._parent.css('cssText', 'height:' + this._parent[0].style.height + ' !important;' +\n 'width:' + this._parent[0].style.width + ' !important; transition: all .15s;'\n ).delay(10).queue(function(){\n $(this).removeClass(ClassName.MAXIMIZED)\n $('html').removeClass(ClassName.MAXIMIZED)\n $(this).css({\n 'height': 'inherit',\n 'width': 'inherit'\n })\n if ($(this).hasClass(ClassName.WAS_COLLAPSED)) {\n $(this).removeClass(ClassName.WAS_COLLAPSED)\n }\n $(thisLine truncated
"/**\n * --------------------------------------------\n * AdminLTE CardRefresh.js\n * License MIT\n * --------------------------------------------\n */\n\nconst CardRefresh = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'CardRefresh'\n const DATA_KEY = 'lte.cardrefresh'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n LOADED: `loaded${EVENT_KEY}`,\n OVERLAY_ADDED: `overlay.added${EVENT_KEY}`,\n OVERLAY_REMOVED: `overlay.removed${EVENT_KEY}`,\n }\n\n const ClassName = {\n CARD: 'card',\n }\n\n const Selector = {\n CARD: `.${ClassName.CARD}`,\n DATA_REFRESH: '[data-card-widget=\"card-refresh\"]',\n }\n\n const Default = {\n source: '',\n sourceSelector: '',\n params: {},\n trigger: Selector.DATA_REFRESH,\n content: '.card-body',\n loadInContent: true,\n loadOnInit: true,\n responseType: '',\n overlayTemplate: '<div class=\"overlay\"><i class=\"fas fa-2x fa-sync-alt fa-spin\"></i></div>',\n onLoadStart: function () {\n },\n onLoadDone: function (response) {\n return response;\n }\n }\n\n class CardRefresh {\n constructor(element, settings) {\n this._element = element\n this._parent = element.parents(Selector.CARD).first()\n this._settings = $.extend({}, Default, settings)\n this._overlay = $(this._settings.overlayTemplate)\n\n if (element.hasClass(ClassName.CARD)) {\n this._parent = element\n }\n\n if (this._settings.source === '') {\n throw new Error('Source url was not defined. Please specify a url in your CardRefresh source option.');\n }\n }\n\n load() {\n this._addOverlay()\n this._settings.onLoadStart.call($(this))\n\n $.get(this._settings.source, this._settings.params, function (response) {\n if (this._settings.loadInContent) {\n if (this._settings.sourceSelector != '') {\n response = $(response).find(this._settings.sourceSelector).html()\n }\n\n this._parent.find(this._settings.content).html(response)\n }\n\n this._settings.onLoadDone.call($(this), response)\n this._removeOverlay();\n }.bind(this), this._settings.responseType !== '' && this._settings.responseType)\n\n const loadedEvent = $.Event(Event.LOADED)\n $(this._element).trigger(loadedEvent)\n }\n\n _addOverlay() {\n this._parent.append(this._overlay)\n\n const overlayAddedEvent = $.Event(Event.OVERLAY_ADDED)\n $(this._element).trigger(overlayAddedEvent)\n };\n\n _removeOverlay() {\n this._parent.find(this._overlay).remove()\n\n const overlayRemovedEvent = $.Event(Event.OVERLAY_REMOVED)\n $(this._element).trigger(overlayRemovedEvent)\n };\n\n\n // Private\n\n _init(card) {\n $(this).find(this._settings.trigger).on('click', () => {\n this.load()\n })\n\n if (this._settings.loadOnInit) {\n this.load()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new CardRefresh($(this), _options)\n $(this).data(DATA_KEY, typeof config === 'string' ? data: config)\n }\n\n if (typeof config === 'string' && config.match(/load/)) {\n data[config]()\n } else {\n data._init($(this))\n }\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_REFRESH, function (event) {\n if (event) {\n event.preventDefault()\n }\n\n CardRefresh._jQueryInterface.call($(this), 'load')\n })\n\n $(document).ready(function () {\n $(Selector.DATA_REFRESH).each(function() {\n CardRefresh._jQueryInterface.call($(this))\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = CardRefresh._jQueryInterface\n $.fn[NAME].Constructor = CardRefresh\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return CardRefresh._jQueryInterface\n }\n\n return CardRefresh\n})(jQuery)\n\nexport default CardRefresh\n",
"/**\n * --------------------------------------------\n * AdminLTE Dropdown.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Dropdown'\n const DATA_KEY = 'lte.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n NAVBAR: '.navbar',\n DROPDOWN_MENU: '.dropdown-menu',\n DROPDOWN_MENU_ACTIVE: '.dropdown-menu.show',\n DROPDOWN_TOGGLE: '[data-toggle=\"dropdown\"]',\n }\n\n const ClassName = {\n DROPDOWN_HOVER: 'dropdown-hover',\n DROPDOWN_RIGHT: 'dropdown-menu-right'\n }\n\n const Default = {\n }\n\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class Dropdown {\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n toggleSubmenu() {\n this._element.siblings().show().toggleClass(\"show\")\n\n if (! this._element.next().hasClass('show')) {\n this._element.parents('.dropdown-menu').first().find('.show').removeClass(\"show\").hide()\n }\n\n this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function(e) {\n $('.dropdown-submenu .show').removeClass(\"show\").hide()\n })\n }\n\n fixPosition() {\n let elm = $(Selector.DROPDOWN_MENU_ACTIVE)\n\n if (elm.length !== 0) {\n if (elm.hasClass(ClassName.DROPDOWN_RIGHT)) {\n elm.css('left', 'inherit')\n elm.css('right', 0)\n } else {\n elm.css('left', 0)\n elm.css('right', 'inherit')\n }\n\n let offset = elm.offset()\n let width = elm.width()\n let windowWidth = $(window).width()\n let visiblePart = windowWidth - offset.left\n\n if (offset.left < 0) {\n elm.css('left', 'inherit')\n elm.css('right', (offset.left - 5))\n } else {\n if (visiblePart < width) {\n elm.css('left', 'inherit')\n elm.css('right', 0)\n }\n }\n } \n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Dropdown($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggleSubmenu' || config == 'fixPosition') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(Selector.DROPDOWN_MENU + ' ' + Selector.DROPDOWN_TOGGLE).on(\"click\", function(event) {\n event.preventDefault()\n event.stopPropagation()\n\n Dropdown._jQueryInterface.call($(this), 'toggleSubmenu')\n });\n\n $(Selector.NAVBAR + ' ' + Selector.DROPDOWN_TOGGLE).on(\"click\", function(event) {\n event.preventDefault()\n\n setTimeout(function() {\n Dropdown._jQueryInterface.call($(this), 'fixPosition')\n }, 1)\n });\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})(jQuery)\n\nexport default Dropdown\n",
"/**\n * --------------------------------------------\n * AdminLTE Toasts.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Toasts = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Toasts'\n const DATA_KEY = 'lte.toasts'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n INIT: `init${EVENT_KEY}`,\n CREATED: `created${EVENT_KEY}`,\n REMOVED: `removed${EVENT_KEY}`,\n }\n\n const Selector = {\n BODY: 'toast-body',\n CONTAINER_TOP_RIGHT: '#toastsContainerTopRight',\n CONTAINER_TOP_LEFT: '#toastsContainerTopLeft',\n CONTAINER_BOTTOM_RIGHT: '#toastsContainerBottomRight',\n CONTAINER_BOTTOM_LEFT: '#toastsContainerBottomLeft',\n }\n\n const ClassName = {\n TOP_RIGHT: 'toasts-top-right',\n TOP_LEFT: 'toasts-top-left',\n BOTTOM_RIGHT: 'toasts-bottom-right',\n BOTTOM_LEFT: 'toasts-bottom-left',\n FADE: 'fade',\n }\n\n const Position = {\n TOP_RIGHT: 'topRight',\n TOP_LEFT: 'topLeft',\n BOTTOM_RIGHT: 'bottomRight',\n BOTTOM_LEFT: 'bottomLeft',\n }\n\n const Id = {\n CONTAINER_TOP_RIGHT: 'toastsContainerTopRight',\n CONTAINER_TOP_LEFT: 'toastsContainerTopLeft',\n CONTAINER_BOTTOM_RIGHT: 'toastsContainerBottomRight',\n CONTAINER_BOTTOM_LEFT: 'toastsContainerBottomLeft',\n }\n\n const Default = {\n position: Position.TOP_RIGHT,\n fixed: true,\n autohide: false,\n autoremove: true,\n delay: 1000,\n fade: true,\n icon: null,\n image: null,\n imageAlt: null,\n imageHeight: '25px',\n title: null,\n subtitle: null,\n close: true,\n body: null,\n class: null,\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Toasts {\n constructor(element, config) {\n this._config = config\n\n this._prepareContainer();\n\n const initEvent = $.Event(Event.INIT)\n $('body').trigger(initEvent)\n }\n\n // Public\n\n create() {\n var toast = $('<div class=\"toast\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\"/>')\n\n toast.data('autohide', this._config.autohide)\n toast.data('animation', this._config.fade)\n \n if (this._config.class) {\n toast.addClass(this._config.class)\n }\n\n if (this._config.delay && this._config.delay != 500) {\n toast.data('delay', this._config.delay)\n }\n\n var toast_header = $('<div class=\"toast-header\">')\n\n if (this._config.image != null) {\n var toast_image = $('<img />').addClass('rounded mr-2').attr('src', this._config.image).attr('alt', this._config.imageAlt)\n \n if (this._config.imageHeight != null) {\n toast_image.height(this._config.imageHeight).width('auto')\n }\n\n toast_header.append(toast_image)\n }\n\n if (this._config.icon != null) {\n toast_header.append($('<i />').addClass('mr-2').addClass(this._config.icon))\n }\n\n if (this._config.title != null) {\n toast_header.append($('<strong />').addClass('mr-auto').html(this._config.title))\n }\n\n if (this._config.subtitle != null) {\n toast_header.append($('<small />').html(this._config.subtitle))\n }\n\n if (this._config.close == true) {\n var toast_close = $('<button data-dismiss=\"toast\" />').attr('type', 'button').addClass('ml-2 mb-1 close').attr('aria-label', 'Close').append('<span aria-hidden=\"true\">&times;</span>')\n \n if (this._config.title == null) {\n toast_close.toggleClass('ml-2 ml-auto')\n }\n \n toast_header.append(toast_close)\n }\n\n toast.append(toast_header)\n\n if (this._config.body != null) {\n toast.append($('<div class=\"toast-body\" />').html(this._config.body))\n }\n\n $(this._getContainerId()).prepend(toast)\n\n const createdEvent = $.Event(Event.CREATED)\n $('body').trigger(createdEvent)\n\n toast.toast('show')\n\n\n if (this._config.autoremove) {\n toast.on('hidden.bs.toast', function () {\n $(this).delay(200).remove();\n\n const removedEvent = $.Event(Event.REMOVED)\n $('body').trigger(removedEvent)\n })\n }\n\n\n }\n\n // Static\n\n _getContainerId() {\n if (this._config.position == Position.TOP_RIGHT) {\n return Selector.CONTAINER_TOP_RIGHT;\n } else if (this._config.position == Position.TOP_LEFT) {\n return Selector.CONTAINER_TOP_LEFT;\n } else if (this._config.position == Position.BOTTOM_RIGHT) {\n return Selector.CONTAINER_BOTTOM_RIGHT;\n } else if (this._config.position == Position.BOTTOM_LEFT) {\n return Selector.CONTAINER_BOTTOM_LEFT;\n }\n }\n\n _prepareContainer() {\n if ($(this._getContainerId()).length === 0) {\n Line truncated
],
"names": [
"ControlSidebar",
"$",
"NAME",
"DATA_KEY",
"EVENT_KEY",
"JQUERY_NO_CONFLICT",
"fn",
"Event",
"COLLAPSED",
"EXPANDED",
"Selector",
"CONTROL_SIDEBAR",
"CONTROL_SIDEBAR_CONTENT",
"DATA_TOGGLE",
"CONTENT",
"HEADER",
"FOOTER",
"ClassName",
"CONTROL_SIDEBAR_ANIMATE",
"CONTROL_SIDEBAR_OPEN",
"CONTROL_SIDEBAR_SLIDE",
"LAYOUT_FIXED",
"NAVBAR_FIXED",
"NAVBAR_SM_FIXED",
"NAVBAR_MD_FIXED",
"NAVBAR_LG_FIXED",
"NAVBAR_XL_FIXED",
"FOOTER_FIXED",
"FOOTER_SM_FIXED",
"FOOTER_MD_FIXED",
"FOOTER_LG_FIXED",
"FOOTER_XL_FIXED",
"Default",
"controlsidebarSlide",
"scrollbarTheme",
"scrollbarAutoHide",
"element",
"config",
"_element",
"_config",
"_init",
"collapse",
"addClass",
"removeClass",
"delay",
"queue",
"hide",
"dequeue",
"collapsedEvent",
"trigger",
"show",
"expandedEvent",
"toggle",
"shouldClose",
"hasClass",
"_fixHeight",
"_fixScrollHeight",
"window",
"resize",
"scroll",
"heights",
"document",
"height",
"header",
"outerHeight",
"footer",
"positions",
"bottom",
"Math",
"abs",
"scrollTop",
"top",
"navbarFixed",
"footerFixed",
"css",
"sidebarHeight",
"overlayScrollbars",
"className",
"sizeAutoCapable",
"scrollbars",
"autoHide",
"clickScrolling",
"_jQueryInterface",
"operation",
"each",
"data",
"_options",
"extend",
"Error",
"on",
"event",
"preventDefault",
"call",
"Constructor",
"noConflict",
"jQuery",
"Layout",
"MAIN_SIDEBAR",
"SIDEBAR",
"BRAND",
"CONTENT_HEADER",
"WRAPPER",
"CONTROL_SIDEBAR_BTN",
"PUSHMENU_BTN",
"LOGIN_BOX",
"REGISTER_BOX",
"HOLD",
"CONTENT_FIXED",
"SIDEBAR_FOCUSED",
"LOGIN_PAGE",
"REGISTER_PAGE",
"CONTROL_SIDEBAR_SLIDE_OPEN",
"panelAutoHeight",
"loginRegisterAutoHeight",
"fixLayoutHeight",
"extra",
"control_sidebar",
"length",
"sidebar",
"max",
"_max",
"offset",
"fixLoginRegisterHeight",
"box_height",
"Number",
"isInteger",
"setInterval",
"numbers",
"Object",
"keys",
"forEach",
"key",
"PushMenu",
"SHOWN",
"autoCollapseSize",
"enableRemember",
"noTransitionAfterReload",
"TOGGLE_BUTTON",
"SIDEBAR_MINI",
"SIDEBAR_COLLAPSED",
"BODY",
"OVERLAY",
"OPEN",
"CLOSED",
"options",
"_addOverlay",
"expand",
"width",
"localStorage",
"setItem",
"shownEvent",
"autoCollapse",
"remember",
"toggleState",
"getItem",
"overlay",
"id",
"append",
"match",
"button",
"currentTarget",
"closest",
"Treeview",
"SELECTED",
"LOAD_DATA_API",
"LI",
"LINK",
"TREEVIEW_MENU",
"DATA_WIDGET",
"animationSpeed",
"accordion",
"expandSidebar",
"sidebarButtonSelector",
"init",
"_setupListeners",
"treeviewMenu",
"parentLi",
"openMenuLi",
"siblings",
"first",
"openTreeview",
"find",
"stop",
"slideDown",
"_expandSidebar",
"slideUp",
"$relativeTarget",
"$parent",
"parent",
"is",
"parents",
"isOpen",
"DirectChat",
"TOGGLED",
"DIRECT_CHAT",
"DIRECT_CHAT_OPEN",
"toggleClass",
"toggledEvent",
"TodoList",
"TODO_LIST_DONE",
"onCheck",
"item",
"onUnCheck",
"prop",
"unCheck",
"check",
"that",
"target",
"CardWidget",
"MAXIMIZED",
"MINIMIZED",
"REMOVED",
"CARD",
"COLLAPSING",
"EXPANDING",
"WAS_COLLAPSED",
"DATA_REMOVE",
"DATA_COLLAPSE",
"DATA_MAXIMIZE",
"CARD_HEADER",
"CARD_BODY",
"CARD_FOOTER",
"collapseTrigger",
"removeTrigger",
"maximizeTrigger",
"collapseIcon",
"expandIcon",
"maximizeIcon",
"minimizeIcon",
"settings",
"_parent",
"_settings",
"children",
"collapsed",
"expanded",
"remove",
"removed",
"maximize",
"maximized",
"minimize",
"style",
"toggleMaximize",
"card",
"click",
"CardRefresh",
"LOADED",
"OVERLAY_ADDED",
"OVERLAY_REMOVED",
"DATA_REFRESH",
"source",
"sourceSelector",
"params",
"content",
"loadInContent",
"loadOnInit",
"responseType",
"overlayTemplate",
"onLoadStart",
"onLoadDone",
"response",
"_overlay",
"load",
"get",
"html",
"_removeOverlay",
"bind",
"loadedEvent",
"overlayAddedEvent",
"overlayRemovedEvent",
"ready",
"Dropdown",
"NAVBAR",
"DROPDOWN_MENU",
"DROPDOWN_MENU_ACTIVE",
"DROPDOWN_TOGGLE",
"DROPDOWN_HOVER",
"DROPDOWN_RIGHT",
"toggleSubmenu",
"next",
"e",
"fixPosition",
"elm",
"windowWidth",
"visiblePart",
"left",
"stopPropagation",
"setTimeout",
"Toasts",
"INIT",
"CREATED",
"CONTAINER_TOP_RIGHT",
"CONTAINER_TOP_LEFT",
"CONTAINER_BOTTOM_RIGHT",
"CONTAINER_BOTTOM_LEFT",
"TOP_RIGHT",
"TOP_LEFT",
"BOTTOM_RIGHT",
"BOTTOM_LEFT",
"FADE",
"Position",
"position",
"fixed",
"autohide",
"autoremove",
"fade",
"icon",
"image",
"imageAlt",
"imageHeight",
"title",
"subtitle",
"close",
"body",
"class",
"_prepareContainer",
"initEvent",
"create",
"toast",
"toast_header",
"toast_image",
"attr",
"toast_close",
"_getContainerId",
"prepend",
"createdEvent",
"removedEvent",
"container",
"replace",
"option"
],
"mappings": ";;;;;;;;;;;EAAA;;;;;;EAOA,IAAMA,cAAc,GAAI,UAACC,CAAD,EAAO;EAC7B;;;;EAKA,MAAMC,IAAI,GAAiB,gBAA3B;EACA,MAAMC,QAAQ,GAAa,oBAA3B;EACA,MAAMC,SAAS,SAAgBD,QAA/B;EACA,MAAME,kBAAkB,GAAGJ,CAAC,CAACK,EAAF,CAAKJ,IAAL,CAA3B;EAGA,MAAMK,KAAK,GAAG;EACZC,IAAAA,SAAS,gBAAcJ,SADX;EAEZK,IAAAA,QAAQ,eAAaL;EAFT,GAAd;EAKA,MAAMM,QAAQ,GAAG;EACfC,IAAAA,eAAe,EAAE,kBADF;EAEfC,IAAAA,uBAAuB,EAAE,0BAFV;EAGfC,IAAAA,WAAW,EAAE,iCAHE;EAIfC,IAAAA,OAAO,EAAE,kBAJM;EAKfC,IAAAA,MAAM,EAAE,cALO;EAMfC,IAAAA,MAAM,EAAE;EANO,GAAjB;EASA,MAAMC,SAAS,GAAG;EAChBC,IAAAA,uBAAuB,EAAE,yBADT;EAEhBC,IAAAA,oBAAoB,EAAE,sBAFN;EAGhBC,IAAAA,qBAAqB,EAAE,4BAHP;EAIhBC,IAAAA,YAAY,EAAE,cAJE;EAKhBC,IAAAA,YAAY,EAAE,qBALE;EAMhBC,IAAAA,eAAe,EAAE,wBAND;EAOhBC,IAAAA,eAAe,EAAE,wBAPD;EAQhBC,IAAAA,eAAe,EAAE,wBARD;EAShBC,IAAAA,eAAe,EAAE,wBATD;EAUhBC,IAAAA,YAAY,EAAE,qBAVE;EAWhBC,IAAAA,eAAe,EAAE,wBAXD;EAYhBC,IAAAA,eAAe,EAAE,wBAZD;EAahBC,IAAAA,eAAe,EAAE,wBAbD;EAchBC,IAAAA,eAAe,EAAE;EAdD,GAAlB;EAiBA,MAAMC,OAAO,GAAG;EACdC,IAAAA,mBAAmB,EAAE,IADP;EAEdC,IAAAA,cAAc,EAAG,gBAFH;EAGdC,IAAAA,iBAAiB,EAAE;EAHL,GAAhB;EAMA;;;;;EAjD6B,MAsDvBnC,cAtDuB;EAuD3B,4BAAYoC,OAAZ,EAAqBC,MAArB,EAA6B;EAC3B,WAAKC,QAAL,GAAgBF,OAAhB;EACA,WAAKG,OAAL,GAAgBF,MAAhB;;EAEA,WAAKG,KAAL;EACD,KA5D0B;;;EAAA;;EAAA,WAgE3BC,QAhE2B,GAgE3B,oBAAW;EACT;EACA,UAAI,KAAKF,OAAL,CAAaN,mBAAjB,EAAsC;EACpChC,QAAAA,CAAC,CAAC,MAAD,CAAD,CAAUyC,QAAV,CAAmBzB,SAAS,CAACC,uBAA7B;EACAjB,QAAAA,CAAC,CAAC,MAAD,CAAD,CAAU0C,WAAV,CAAsB1B,SAAS,CAACG,qBAAhC,EAAuDwB,KAAvD,CAA6D,GAA7D,EAAkEC,KAAlE,CAAwE,YAAU;EAChF5C,UAAAA,CAAC,CAACS,QAAQ,CAACC,eAAV,CAAD,CAA4BmC,IAA5B;EACA7C,UAAAA,CAAC,CAAC,MAAD,CAAD,CAAU0C,WAAV,CAAsB1B,SAAS,CAACC,uBAAhC;EACAjB,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQ8C,OAAR;EACD,SAJD;EAKD,OAPD,MAOO;EACL9C,QAAAA,CAAC,CAAC,MAAD,CAAD,CAAU0C,WAAV,CAAsB1B,SAAS,CAACE,oBAAhC;EACD;;EAED,UAAM6B,cAAc,GAAG/C,CAAC,CAACM,KAAF,CAAQA,KAAK,CAACC,SAAd,CAAvB;EACAP,MAAAA,CAAC,CAAC,KAAKqC,QAAN,CAAD,CAAiBW,OAAjB,CAAyBD,cAAzB;EACD,KA/E0B;;EAAA,WAiF3BE,IAjF2B,GAiF3B,gBAAO;EACL;EACA,UAAI,KAAKX,OAAL,CAAaN,mBAAjB,EAAsC;EACpChC,QAAAA,CAAC,CAAC,MAAD,CAAD,CAAUyC,QAAV,CAAmBzB,SAAS,CAACC,uBAA7B;EACAjB,QAAAA,CAAC,CAACS,QAAQ,CAACC,eAAV,CAAD,CAA4BuC,IAA5B,GAAmCN,KAAnC,CAAyC,EAAzC,EAA6CC,KAA7C,CAAmD,YAAU;EAC3D5C,UAAAA,CAAC,CAAC,MAAD,CAAD,CAAUyC,QAAV,CAAmBzB,SAAS,CAACG,qBAA7B,EAAoDwB,KAApD,CAA0D,GAA1D,EAA+DC,KAA/D,CAAqE,YAAU;EAC7E5C,YAAAA,CAAC,CAAC,MAAD,CAAD,CAAU0C,WAAV,CAAsB1B,SAAS,CAACC,uBAAhC;EACAjB,YAAAA,CAAC,CAAC,IAAD,CAAD,CAAQ8C,OAAR;EACD,WAHD;EAIA9C,UAAAA,CAAC,CAAC,IAAD,CAAD,CAAQ8C,OAAR;EACD,SAND;EAOD,OATD,MASO;EACL9C,QAAAA,CAAC,CAAC,MAAD,CAAD,CAAUyC,QAAV,CAAmBzB,SAAS,CAACE,oBAA7B;EACD;;EAED,UAAMgC,aAAa,GAAGlD,CAAC,CAACM,KAAF,CAAQA,KAAK,CAACE,QAAd,CAAtB;EACAR,MAAAA,CAAC,CAAC,KAAKqC,QAAN,CAAD,CAAiBW,OAAjB,CAAyBE,aAAzB;EACD,KAlG0B;;EAAA,WAoG3BC,MApG2B,GAoG3B,kBAAS;EACP,UAAMC,WAAW,GAAGpD,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACE,oBAA7B,KAAsDlB,CAAC,CAAC,MAAD,CAAD,CACvEqD,QADuE,CAC9DrC,SAAS,CAACG,qBADoD,CAA1E;;EAEA,UAAIiC,WAAJ,EAAiB;EACf;EACA,aAAKZ,QAAL;EACD,OAHD,MAGO;EACL;EACA,aAAKS,IAAL;EACD;EACF,KA9G0B;EAAA;;EAAA,WAkH3BV,KAlH2B,GAkH3B,iBAAQ;EAAA;;EACN,WAAKe,UAAL;;EACA,WAAKC,gBAAL;;EAEAvD,MAAAA,CAAC,CAACwD,MAAD,CAAD,CAAUC,MAAV,CAAiB,YAAM;EACrB,QAAA,KAAI,CAACH,UAAL;;EACA,QAAA,KAAI,CAACC,gBAAL;EACD,OAHD;EAKAvD,MAAAA,CAAC,CAACwD,MAAD,CAAD,CAAUE,MAAV,CAAiB,YAAM;EACrB,YAAI1D,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACE,oBAA7B,KAAsDlB,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACG,qBAA7B,CAA1D,EAA+G;EAC3G,UAAA,KAAI,CAACoC,gBAAL;EACH;EACF,OAJD;EAKD,KAhI0B;;EAAA,WAkI3BA,gBAlI2B,GAkI3B,4BAAmB;EACjB,UAAMI,OAAO,GAAG;EACdD,QAAAA,MAAM,EAAE1D,CAAC,CAAC4D,QAAD,CAAD,CAAYC,MAAZ,EADM;EAEdL,QAAAA,MAAM,EAAExD,CAAC,CAACwD,MAAD,CAAD,CAAUK,MAAV,EAFM;EAGdC,QAAAA,MAAM,EAAE9D,CAAC,CAACS,QAAQ,CAACK,MAAV,CAAD,CAAmBiD,WAAnB,EAHM;EAIdC,QAAAA,MAAM,EAAEhE,CAAC,CAACS,QAAQ,CAACM,MAAV,CAAD,CAAmBgD,WAAnB;EAJM,OAAhB;EAMA,UAAME,SAAS,GAAG;EAChBC,QAAAA,MAAM,EAAEC,IAAI,CAACC,GAAL,CAAUT,OAAO,CAACH,MAAR,GAAiBxD,CAAC,CAACwD,MAAD,CAAD,CAAUa,SAAV,EAAlB,GAA2CV,OAAO,CAACD,MAA5D,CADQ;EAEhBY,QAAAA,GAAG,EAAEtE,CAAC,CAACwD,MAAD,CAAD,CAAUa,SAAV;EAFW,OAAlB;EAKA,UAAIE,WAAW,GAAG,KAAlB;EACA,UAAIC,WAAW,GAAG,KAAlB;;EAEA,UAAIxE,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACI,YAA7B,CAAJ,EAAgD;EAC9C,YACEpB,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACK,YAA7B,KACGrB,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACM,eAA7B,CADH,IAEGtB,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACO,eAA7B,CAFH,IAGGvB,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACQ,eAA7B,CAHH,IAIGxB,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACS,eAA7B,CALL,EAME;EACA,cAAIzB,CAAC,CAACS,QAAQ,CAACK,MAAV,CAAD,CAAmB2D,GAAnB,CAAuB,UAAvB,MAAuC,OAA3C,EAAoD;EAClDF,YAAAA,WAAW,GAAG,IAAd;EACD;EACF;;EACD,YACEvE,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACU,YAA7B,KACG1B,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACW,eAA7B,CADH,IAEG3B,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACY,eAA7B,CAFH,IAGG5B,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACa,eAA7B,CAHH,IAIG7B,CAAC,CAAC,MAAD,CAAD,CAAUqD,QAAV,CAAmBrC,SAAS,CAACc,eAA7B,CALL,EAME;EACALine truncated
}
{"version":3,"file":"adminlte.js","sources":["../../build/js/ControlSidebar.js","../../build/js/Layout.js","../../build/js/PushMenu.js","../../build/js/Treeview.js","../../build/js/DirectChat.js","../../build/js/TodoList.js","../../build/js/CardWidget.js","../../build/js/CardRefresh.js","../../build/js/Dropdown.js","../../build/js/Toasts.js"],"sourcesContent":["/**\n * --------------------------------------------\n * AdminLTE ControlSidebar.js\n * License MIT\n * --------------------------------------------\n */\n\nconst ControlSidebar = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'ControlSidebar'\n const DATA_KEY = 'lte.controlsidebar'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const DATA_API_KEY = '.data-api'\n\n const Event = {\n COLLAPSED: `collapsed${EVENT_KEY}`,\n EXPANDED: `expanded${EVENT_KEY}`,\n }\n\n const Selector = {\n CONTROL_SIDEBAR: '.control-sidebar',\n CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content',\n DATA_TOGGLE: '[data-widget=\"control-sidebar\"]',\n CONTENT: '.content-wrapper',\n HEADER: '.main-header',\n FOOTER: '.main-footer',\n }\n\n const ClassName = {\n CONTROL_SIDEBAR_ANIMATE: 'control-sidebar-animate',\n CONTROL_SIDEBAR_OPEN: 'control-sidebar-open',\n CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open',\n LAYOUT_FIXED: 'layout-fixed',\n NAVBAR_FIXED: 'layout-navbar-fixed',\n NAVBAR_SM_FIXED: 'layout-sm-navbar-fixed',\n NAVBAR_MD_FIXED: 'layout-md-navbar-fixed',\n NAVBAR_LG_FIXED: 'layout-lg-navbar-fixed',\n NAVBAR_XL_FIXED: 'layout-xl-navbar-fixed',\n FOOTER_FIXED: 'layout-footer-fixed',\n FOOTER_SM_FIXED: 'layout-sm-footer-fixed',\n FOOTER_MD_FIXED: 'layout-md-footer-fixed',\n FOOTER_LG_FIXED: 'layout-lg-footer-fixed',\n FOOTER_XL_FIXED: 'layout-xl-footer-fixed',\n }\n\n const Default = {\n controlsidebarSlide: true,\n scrollbarTheme : 'os-theme-light',\n scrollbarAutoHide: 'l',\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class ControlSidebar {\n constructor(element, config) {\n this._element = element\n this._config = config\n\n this._init()\n }\n\n // Public\n\n collapse() {\n // Show the control sidebar\n if (this._config.controlsidebarSlide) {\n $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){\n $(Selector.CONTROL_SIDEBAR).hide()\n $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n } else {\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n\n const collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n show() {\n // Collapse the control sidebar\n if (this._config.controlsidebarSlide) {\n $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(Selector.CONTROL_SIDEBAR).show().delay(10).queue(function(){\n $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){\n $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n $(this).dequeue()\n })\n } else {\n $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n\n const expandedEvent = $.Event(Event.EXPANDED)\n $(this._element).trigger(expandedEvent)\n }\n\n toggle() {\n const shouldClose = $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body')\n .hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)\n if (shouldClose) {\n // Close the control sidebar\n this.collapse()\n } else {\n // Open the control sidebar\n this.show()\n }\n }\n\n // Private\n\n _init() {\n this._fixHeight()\n this._fixScrollHeight()\n\n $(window).resize(() => {\n this._fixHeight()\n this._fixScrollHeight()\n })\n\n $(window).scroll(() => {\n if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) {\n this._fixScrollHeight()\n }\n })\n }\n\n _fixScrollHeight() {\n const heights = {\n scroll: $(document).height(),\n window: $(window).height(),\n header: $(Selector.HEADER).outerHeight(),\n footer: $(Selector.FOOTER).outerHeight(),\n }\n const positions = {\n bottom: Math.abs((heights.window + $(window).scrollTop()) - heights.scroll),\n top: $(window).scrollTop(),\n }\n\n let navbarFixed = false;\n let footerFixed = false;\n\n if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {\n if (\n $('body').hasClass(ClassName.NAVBAR_FIXED)\n Line truncated
@@ -1,292 +1 @@
{
"version": 3,
"sources": [
"../../build/js/ControlSidebar.js",
"../../build/js/Layout.js",
"../../build/js/PushMenu.js",
"../../build/js/Treeview.js",
"../../build/js/DirectChat.js",
"../../build/js/TodoList.js",
"../../build/js/CardWidget.js",
"../../build/js/CardRefresh.js",
"../../build/js/Dropdown.js",
"../../build/js/Toasts.js"
],
"names": [
"ControlSidebar",
"$",
"NAME",
"DATA_KEY",
"JQUERY_NO_CONFLICT",
"fn",
"Event",
"COLLAPSED",
"EXPANDED",
"Selector",
"ClassName",
"Default",
"controlsidebarSlide",
"scrollbarTheme",
"scrollbarAutoHide",
"element",
"config",
"this",
"_element",
"_config",
"_init",
"_proto",
"prototype",
"collapse",
"addClass",
"removeClass",
"delay",
"queue",
"hide",
"dequeue",
"collapsedEvent",
"trigger",
"show",
"expandedEvent",
"toggle",
"hasClass",
"_this",
"_fixHeight",
"_fixScrollHeight",
"window",
"resize",
"scroll",
"heights",
"document",
"height",
"header",
"outerHeight",
"footer",
"positions",
"Math",
"abs",
"scrollTop",
"navbarFixed",
"footerFixed",
"css",
"sidebarHeight",
"overlayScrollbars",
"className",
"sizeAutoCapable",
"scrollbars",
"autoHide",
"clickScrolling",
"_jQueryInterface",
"operation",
"each",
"data",
"_options",
"extend",
"Error",
"on",
"event",
"preventDefault",
"call",
"Constructor",
"noConflict",
"jQuery",
"Layout",
"panelAutoHeight",
"loginRegisterAutoHeight",
"fixLayoutHeight",
"extra",
"control_sidebar",
"length",
"sidebar",
"max",
"_max",
"offset",
"fixLoginRegisterHeight",
"box_height",
"Number",
"isInteger",
"setInterval",
"numbers",
"Object",
"keys",
"forEach",
"key",
"PushMenu",
"EVENT_KEY",
"SHOWN",
"autoCollapseSize",
"enableRemember",
"noTransitionAfterReload",
"options",
"_addOverlay",
"expand",
"width",
"localStorage",
"setItem",
"shownEvent",
"autoCollapse",
"remember",
"getItem",
"_this2",
"overlay",
"id",
"append",
"match",
"button",
"currentTarget",
"closest",
"Treeview",
"SELECTED",
"LOAD_DATA_API",
"animationSpeed",
"accordion",
"expandSidebar",
"sidebarButtonSelector",
"init",
"_setupListeners",
"treeviewMenu",
"parentLi",
"openMenuLi",
"siblings",
"first",
"openTreeview",
"find",
"stop",
"slideDown",
"_expandSidebar",
"slideUp",
"$relativeTarget",
"$parent",
"parent",
"is",
"parents",
"_this3",
"DirectChat",
"toggleClass",
"toggledEvent",
"TodoList",
"onCheck",
"item",
"onUnCheck",
"prop",
"check",
"unCheck",
"that",
"target",
"CardWidget",
"MAXIMIZED",
"MINIMIZED",
"REMOVED",
"DATA_REMOVE",
"DATA_COLLAPSE",
"DATA_MAXIMIZE",
"CARD",
"CARD_HEADER",
"CARD_BODY",
"CARD_FOOTER",
"collapseTrigger",
"removeTrigger",
"maximizeTrigger",
"collapseIcon",
"expandIcon",
"maximizeIcon",
"minimizeIcon",
"settings",
"_parent",
"_settings",
"children",
"collapsed",
"expanded",
"remove",
"removed",
"maximize",
"transition",
"maximized",
"minimize",
"style",
"toggleMaximize",
"card",
"click",
"CardRefresh",
"LOADED",
"OVERLAY_ADDED",
"OVERLAY_REMOVED",
"DATA_REFRESH",
"source",
"sourceSelector",
"params",
"content",
"loadInContent",
"loadOnInit",
"responseType",
"overlayTemplate",
"onLoadStart",
"onLoadDone",
"response",
"_overlay",
"load",
"get",
"html",
"_removeOverlay",
"bind",
"loadedEvent",
"overlayAddedEvent",
"overlayRemovedEvent",
"ready",
"Dropdown",
"toggleSubmenu",
"next",
"e",
"fixPosition",
"elm",
"visiblePart",
"left",
"stopPropagation",
"setTimeout",
"Toasts",
"INIT",
"CREATED",
"Position",
"position",
"fixed",
"autohide",
"autoremove",
"fade",
"icon",
"image",
"imageAlt",
"imageHeight",
"title",
"subtitle",
"close",
"body",
"class",
"_prepareContainer",
"initEvent",
"create",
"toast",
"toast_header",
"toast_image",
"attr",
"toast_close",
"_getContainerId",
"prepend",
"createdEvent",
"removedEvent",
"container",
"replace",
"option"
],
"mappings": ";;;;;sMAOA,IAAMA,EAAkB,SAACC,GAMvB,IAAMC,EAAqB,iBACrBC,EAAqB,qBAErBC,EAAqBH,EAAEI,GAAGH,GAG1BI,EAAQ,CACZC,UAAS,+BACTC,SAAQ,+BAGJC,EACa,mBADbA,EAEqB,2BAFrBA,EAGS,kCAHTA,EAKI,eALJA,EAMI,eAGJC,EACqB,0BADrBA,EAEkB,uBAFlBA,EAGmB,6BAHnBA,EAIU,eAJVA,EAKU,sBALVA,EAMa,yBANbA,EAOa,yBAPbA,EAQa,yBARbA,EASa,yBATbA,EAUU,sBAVVA,EAWa,yBAXbA,EAYa,yBAZbA,EAaa,yBAbbA,EAca,yBAGbC,EAAU,CACdC,qBAAqB,EACrBC,eAAiB,iBACjBC,kBAAmB,KAQfd,EAtDuB,WAuD3B,SAAAA,EAAYe,EAASC,GACnBC,KAAKC,SAAWH,EAChBE,KAAKE,QAAWH,EAEhBC,KAAKG,QA3DoB,IAAAC,EAAArB,EAAAsB,UAAA,OAAAD,EAgE3BE,SAAA,WAEMN,KAAKE,QAAQP,qBACfX,EAAE,QAAQuB,SAASd,GACnBT,EAAE,QAAQwB,YAAYf,GAAiCgB,MAAM,KAAKC,OAAM,WACtE1B,EAAEQ,GAA0BmB,OAC5B3B,EAAE,QAAQwB,YAAYf,GACtBT,EAAEgB,MAAMY,cAGV5B,EAAE,QAAQwB,YAAYf,GAGxB,IAAMoB,EAAiB7B,EAAEK,MAAMA,EAAMC,WACrCN,EAAEgB,KAAKC,UAAUa,QAAQD,IA9EAT,EAiF3BW,KAAA,WAEMf,KAAKE,QAAQP,qBACfX,EAAE,QAAQuB,SAASd,GACnBT,EAAEQ,GAA0BuB,OAAON,MAAM,IAAIC,OAAM,WACjD1B,EAAE,QAAQuB,SAASd,GAAiCgB,MAAM,KAAKC,OAAM,WACnE1B,EAAE,QAAQwB,YAAYf,GACtBT,EAAEgB,MAAMY,aAEV5B,EAAEgB,MAAMY,cAGV5B,EAAE,QAAQuB,SAASd,GAGrB,IAAMuB,EAAgBhC,EAAEK,MAAMA,EAAME,UACpCP,EAAEgB,KAAKC,UAAUa,QAAQE,IAjGAZ,EAoG3Ba,OAAA,WACsBjC,EAAE,QAAQkC,SAASzB,IAAmCT,EAAE,QACzEkC,SAASzB,GAGVO,KAAKM,WAGLN,KAAKe,QA5GkBX,EAkH3BD,MAAA,WAAQ,IAAAgB,EAAAnB,KACNA,KAAKoB,aACLpB,KAAKqB,mBAELrC,EAAEsC,QAAQC,QAAO,WACfJ,EAAKC,aACLD,EAAKE,sBAGPrC,EAAEsC,QAAQE,QAAO,YACXxC,EAAE,QAAQkC,SAASzB,IAAmCT,EAAE,QAAQkC,SAASzB,KACzE0B,EAAKE,uBA7HcjB,EAkI3BiB,iBAAA,WACE,IAAMI,EAAU,CACdD,OAAQxC,EAAE0C,UAAUC,SACpBL,OAAQtC,EAAEsC,QAAQK,SAClBC,OAAQ5C,EAAEQ,GAAiBqC,cAC3BC,OAAQ9C,EAAEQ,GAAiBqC,eAEvBE,EACIC,KAAKC,IAAKR,EAAQH,OAAStC,EAAEsC,QAAQY,YAAeT,EAAQD,QADhEO,EAEC/C,EAAEsC,QAAQY,YAGbC,GAAc,EACdC,GAAc,EAEdpD,EAAE,QAAQkC,SAASzB,MAEnBT,EAAE,QAAQkC,SAASzB,IAChBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,KAEqB,UAAvCT,EAAEQ,GAAiB6C,IAAI,cACzBF,GAAc,IAIhBnD,EAAE,QAAQkC,SAASzB,IAChBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,KAEqB,UAAvCT,EAAEQ,GAAiB6C,IAAI,cACzBD,GAAc,GAII,IAAlBL,GAA4C,IAArBA,GACzB/C,EAAEQ,GAA0B6C,IAAI,SAAUZ,EAAQK,QAClD9C,EAAEQ,GAA0B6C,IAAI,MAAOZ,EAAQG,QAC/C5C,EAAEQ,EAA2B,KAAOA,EAA2B,IAAMA,GAAkC6C,IAAI,SAAUZ,EAAQH,QAAUG,EAAQG,OAASH,EAAQK,UACvJC,GAAoBN,EAAQK,QACjB,IAAhBM,GACFpD,EAAEQ,GAA0B6C,IAAI,SAAUZ,EAAQK,OAASC,GAC3D/C,EAAEQ,EAA2B,KAAOA,EAA2B,IAAMA,GAAkC6C,IAAI,SAAUZ,EAAQH,QAAUG,EAAQK,OAASC,KAExJ/C,EAAEQ,GAA0B6C,IAAI,SAAUZ,EAAQK,QAE3CC,GAAiBN,EAAQG,QACd,IAAhBO,GACFnD,EAAEQ,GAA0B6C,IAAI,MAAOZ,EAAQG,OAASG,GACxD/C,EAAEQ,EAA2B,KAAOA,EAA2B,IAAMA,GAAkC6C,IAAI,SAAUZ,EAAQH,QAAUG,EAAQG,OAASG,KAExJ/C,EAAEQ,GAA0B6C,IAAI,MAAOZ,EAAQG,SAG7B,IAAhBO,GACFnD,EAAEQ,GAA0B6C,IAAI,MAAO,GACvCrD,EAAEQ,EAA2B,KAAOA,EAA2B,IAAMA,GAAkC6C,IAAI,SAAUZ,EAAQH,SAE7HtC,EAAEQ,GAA0B6C,IAAI,MAAOZ,EAAQG,UAhM5BxB,EAsM3BgB,WAAA,WACE,IAAMK,EACIzC,EAAEsC,QAAQK,SADdF,EAEIzC,EAAEQ,GAAiBqC,cAFvBJ,EAGIzC,EAAEQ,GAAiBqC,cAG7B,GAAI7C,EAAE,QAAQkC,SAASzB,GAAyB,CAC9C,IAAI6C,EAAgBb,EAAiBA,GAGnCzC,EAAE,QAAQkC,SAASzB,IAChBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,IACnBT,EAAE,QAAQkC,SAASzB,KAEqB,UAAvCT,EAAEQ,GAAiB6C,IAAI,cACzBC,EAAgBb,EAAiBA,EAAiBA,GAItDzC,EAAEQ,EAA2B,IAAMA,GAAkC6C,IAAI,SAAUC,GAE7C,oBAA3BtD,EAAEI,GAAGmD,mBACdvD,EAAEQ,EAA2B,IAAMA,GAAkC+C,kBAAkB,CACrFC,UAAkBxC,KAAKE,QAAQN,eAC/B6C,iBAAkB,EAClBC,WAAa,CACXC,SAAU3C,KAAKE,QAAQL,kBACvB+C,gBAAiB,OApOA7D,EA8OpB8D,iBAAP,SAAwBC,GACtB,OAAO9C,KAAK+C,MAAK,WACf,IAAIC,EAAOhE,EAAEgB,MAAMgD,KAAK9D,GAClB+D,EAAWjE,EAAEkE,OAAO,GAAIxD,EAASV,EAAEgB,MAAMgD,QAO/C,GALKA,IACHA,EAAO,IAAIjE,EAAeiB,KAAMiD,GAChCjE,EAAEgB,MAAMgD,KAAK9D,EAAU8D,IAGD,cAApBA,EAAKF,GACP,MAAM,IAAIK,MAASL,EAAb,sBAGRE,EAAKF,SA5PkB/D,EAAA,GAwR7B,OAlBAC,EAAE0C,UAAU0B,GAAG,QAAS5D,GAAsB,SAAU6D,GACtDA,EAAMC,iBAENvE,EAAe8D,iBAAiBU,KAAKvE,EAAEgB,MAAO,aAQhDhB,EAAEI,GAAGH,GAAQF,EAAe8D,iBAC5B7D,EAAEI,GAAGH,GAAMuE,YAAczE,EACzBC,EAAEI,GAAGH,GAAMwE,WAAc,WAEvB,OADAzE,EAAEI,GAAGH,GAAQE,EACNJ,EAAe8D,kBAGjB9D,EAxRe,CAyRrB2E,QCzRGC,EAAU,SAAC3E,GAMf,IAAMC,EAAqB,SAGrBE,EAAqBH,EAAEI,GAAGH,GAM1BO,EACa,eADbA,EAEa,gBAFbA,EAGa,yBAHbA,EAIa,mBAJbA,EASqB,2BATrBA,EAUiB,kCAVjBA,EAYa,eAZbA,EAaa,2BAbbA,EAca,aAdbA,EAea,gBAGbC,EAIa,kBAJbA,EAKa,eALbA,EAUwB,6BAVxBA,EAWkB,uBAGlBC,EAAU,CACdE,eAAiB,iBACjBC,kBAAmB,IACnB+D,iBAAiB,EACjBC,yBAAyB,GAQrBF,EA3De,WA4DnB,SAAAA,EAAY7D,EAASC,GACnBC,KAAKE,QAAWH,EAChBC,KAAKC,SAAWH,EAEhBE,KAAKG,QAhEY,IAAAC,EAAAuD,EAAAtD,UAAA,OAAAD,EAqEnB0D,gBAAA,SAAgBC,QAAc,IAAdA,IAAAA,EAAQ,MACtB,IAAIC,EAAkB,GAElBhF,EAAE,QAAQkC,SAASzB,IAAyCT,EAAE,QAAQkC,SAASzB,IAA4C,mBAATsE,KACpHC,EAAkBhF,EAAEQ,GAAkCmC,UAGxD,IAAMF,EAAU,CACdH,OAAQtC,EAAEsC,QAAQK,SAClBC,OAAsC,IAA9B5C,EAAEQ,GAAiByE,OAAejF,EAAEQ,GAAiBqC,cAAgB,EAC7EC,OAAsC,IAA9B9C,EAAEQ,GAAiByE,OAAejF,EAAEQ,GAAiBqC,cAAgB,EAC7EqC,QAAwC,IAA/BlF,EAAEQ,GAAkByE,OAAejF,EAAEQ,GAAkBmC,SAAW,EAC3EqC,gBAAiBA,GAGbG,EAAMnE,KAAKoE,KAAK3C,GAClB4C,EAASrE,KAAKE,QAAQ0D,iBAEX,IAAXS,IACFA,EAAS,IAGI,IAAXA,IACEF,GAAO1C,EAAQuC,gBACjBhF,EAAEQ,GAAkB6C,IAAI,aAAe8B,EAAME,GACpCF,GAAO1C,EAAQH,OACxBtC,EAAEQ,GAAkB6C,IAAI,aAAe8B,EAAMLine truncated
"sourcesContent": [
"/**\n * --------------------------------------------\n * AdminLTE ControlSidebar.js\n * License MIT\n * --------------------------------------------\n */\n\nconst ControlSidebar = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'ControlSidebar'\n const DATA_KEY = 'lte.controlsidebar'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const DATA_API_KEY = '.data-api'\n\n const Event = {\n COLLAPSED: `collapsed${EVENT_KEY}`,\n EXPANDED: `expanded${EVENT_KEY}`,\n }\n\n const Selector = {\n CONTROL_SIDEBAR: '.control-sidebar',\n CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content',\n DATA_TOGGLE: '[data-widget=\"control-sidebar\"]',\n CONTENT: '.content-wrapper',\n HEADER: '.main-header',\n FOOTER: '.main-footer',\n }\n\n const ClassName = {\n CONTROL_SIDEBAR_ANIMATE: 'control-sidebar-animate',\n CONTROL_SIDEBAR_OPEN: 'control-sidebar-open',\n CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open',\n LAYOUT_FIXED: 'layout-fixed',\n NAVBAR_FIXED: 'layout-navbar-fixed',\n NAVBAR_SM_FIXED: 'layout-sm-navbar-fixed',\n NAVBAR_MD_FIXED: 'layout-md-navbar-fixed',\n NAVBAR_LG_FIXED: 'layout-lg-navbar-fixed',\n NAVBAR_XL_FIXED: 'layout-xl-navbar-fixed',\n FOOTER_FIXED: 'layout-footer-fixed',\n FOOTER_SM_FIXED: 'layout-sm-footer-fixed',\n FOOTER_MD_FIXED: 'layout-md-footer-fixed',\n FOOTER_LG_FIXED: 'layout-lg-footer-fixed',\n FOOTER_XL_FIXED: 'layout-xl-footer-fixed',\n }\n\n const Default = {\n controlsidebarSlide: true,\n scrollbarTheme : 'os-theme-light',\n scrollbarAutoHide: 'l',\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class ControlSidebar {\n constructor(element, config) {\n this._element = element\n this._config = config\n\n this._init()\n }\n\n // Public\n\n collapse() {\n // Show the control sidebar\n if (this._config.controlsidebarSlide) {\n $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){\n $(Selector.CONTROL_SIDEBAR).hide()\n $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n } else {\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n\n const collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n show() {\n // Collapse the control sidebar\n if (this._config.controlsidebarSlide) {\n $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(Selector.CONTROL_SIDEBAR).show().delay(10).queue(function(){\n $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){\n $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n $(this).dequeue()\n })\n } else {\n $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n\n const expandedEvent = $.Event(Event.EXPANDED)\n $(this._element).trigger(expandedEvent)\n }\n\n toggle() {\n const shouldClose = $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body')\n .hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)\n if (shouldClose) {\n // Close the control sidebar\n this.collapse()\n } else {\n // Open the control sidebar\n this.show()\n }\n }\n\n // Private\n\n _init() {\n this._fixHeight()\n this._fixScrollHeight()\n\n $(window).resize(() => {\n this._fixHeight()\n this._fixScrollHeight()\n })\n\n $(window).scroll(() => {\n if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) {\n this._fixScrollHeight()\n }\n })\n }\n\n _fixScrollHeight() {\n const heights = {\n scroll: $(document).height(),\n window: $(window).height(),\n header: $(Selector.HEADER).outerHeight(),\n footer: $(Selector.FOOTER).outerHeight(),\n }\n const positions = {\n bottom: Math.abs((heights.window + $(window).scrollTop()) - heights.scroll),\n top: $(window).scrollTop(),\n }\n\n let navbarFixed = false;\n let footerFixed = false;\n\n if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {\n if (\n $('body').hasClass(ClassName.NAVBAR_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_SM_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_MD_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_LG_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_XL_FIXED)\n ) {\n if ($(Selector.HEADER).css(\"position\") === \"fixed\") {\n navbarFixed = true;\n }\Line truncated
"/**\n * --------------------------------------------\n * AdminLTE Layout.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Layout = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Layout'\n const DATA_KEY = 'lte.layout'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n SIDEBAR: 'sidebar'\n }\n\n const Selector = {\n HEADER : '.main-header',\n MAIN_SIDEBAR : '.main-sidebar',\n SIDEBAR : '.main-sidebar .sidebar',\n CONTENT : '.content-wrapper',\n BRAND : '.brand-link',\n CONTENT_HEADER : '.content-header',\n WRAPPER : '.wrapper',\n CONTROL_SIDEBAR: '.control-sidebar',\n CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content',\n CONTROL_SIDEBAR_BTN: '[data-widget=\"control-sidebar\"]',\n LAYOUT_FIXED : '.layout-fixed',\n FOOTER : '.main-footer',\n PUSHMENU_BTN : '[data-widget=\"pushmenu\"]',\n LOGIN_BOX : '.login-box',\n REGISTER_BOX : '.register-box'\n }\n\n const ClassName = {\n HOLD : 'hold-transition',\n SIDEBAR : 'main-sidebar',\n CONTENT_FIXED : 'content-fixed',\n SIDEBAR_FOCUSED: 'sidebar-focused',\n LAYOUT_FIXED : 'layout-fixed',\n NAVBAR_FIXED : 'layout-navbar-fixed',\n FOOTER_FIXED : 'layout-footer-fixed',\n LOGIN_PAGE : 'login-page',\n REGISTER_PAGE : 'register-page',\n CONTROL_SIDEBAR_SLIDE_OPEN: 'control-sidebar-slide-open',\n CONTROL_SIDEBAR_OPEN: 'control-sidebar-open',\n }\n\n const Default = {\n scrollbarTheme : 'os-theme-light',\n scrollbarAutoHide: 'l',\n panelAutoHeight: true,\n loginRegisterAutoHeight: true,\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class Layout {\n constructor(element, config) {\n this._config = config\n this._element = element\n\n this._init()\n }\n\n // Public\n\n fixLayoutHeight(extra = null) {\n let control_sidebar = 0\n\n if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || extra == 'control_sidebar') {\n control_sidebar = $(Selector.CONTROL_SIDEBAR_CONTENT).height()\n }\n\n const heights = {\n window: $(window).height(),\n header: $(Selector.HEADER).length !== 0 ? $(Selector.HEADER).outerHeight() : 0,\n footer: $(Selector.FOOTER).length !== 0 ? $(Selector.FOOTER).outerHeight() : 0,\n sidebar: $(Selector.SIDEBAR).length !== 0 ? $(Selector.SIDEBAR).height() : 0,\n control_sidebar: control_sidebar,\n }\n\n const max = this._max(heights)\n let offset = this._config.panelAutoHeight\n\n if (offset === true) {\n offset = 0;\n }\n\n if (offset !== false) {\n if (max == heights.control_sidebar) {\n $(Selector.CONTENT).css('min-height', (max + offset))\n } else if (max == heights.window) {\n $(Selector.CONTENT).css('min-height', (max + offset) - heights.header - heights.footer)\n } else {\n $(Selector.CONTENT).css('min-height', (max + offset) - heights.header)\n }\n }\n\n if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {\n if (offset !== false) {\n $(Selector.CONTENT).css('min-height', (max + offset) - heights.header - heights.footer)\n }\n\n if (typeof $.fn.overlayScrollbars !== 'undefined') {\n $(Selector.SIDEBAR).overlayScrollbars({\n className : this._config.scrollbarTheme,\n sizeAutoCapable : true,\n scrollbars : {\n autoHide: this._config.scrollbarAutoHide, \n clickScrolling : true\n }\n })\n }\n }\n }\n\n fixLoginRegisterHeight() {\n if ($(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).length === 0) {\n $('body, html').css('height', 'auto')\n } else if ($(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).length !== 0) {\n let box_height = $(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).height()\n\n if ($('body').css('min-height') !== box_height) {\n $('body').css('min-height', box_height)\n }\n }\n }\n\n // Private\n\n _init() {\n // Activate layout height watcher\n this.fixLayoutHeight()\n\n if (this._config.loginRegisterAutoHeight === true) { \n this.fixLoginRegisterHeight()\n } else if (Number.isInteger(this._config.loginRegisterAutoHeight)) { \n setInterval(this.fixLoginRegisterHeight, this._config.loginRegisterAutoHeight);\n }\n\n $(Selector.SIDEBAR)\n .on('collapsed.lte.treeview expanded.lte.treeview', () => {\n this.fixLayoutHeight()\n })\n\n $(Selector.PUSHMENU_BTN)\n .on('collapsLine truncated
"/**\n * --------------------------------------------\n * AdminLTE PushMenu.js\n * License MIT\n * --------------------------------------------\n */\n\nconst PushMenu = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'PushMenu'\n const DATA_KEY = 'lte.pushmenu'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n COLLAPSED: `collapsed${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n }\n\n const Default = {\n autoCollapseSize: 992,\n enableRemember: false,\n noTransitionAfterReload: true\n }\n\n const Selector = {\n TOGGLE_BUTTON: '[data-widget=\"pushmenu\"]',\n SIDEBAR_MINI: '.sidebar-mini',\n SIDEBAR_COLLAPSED: '.sidebar-collapse',\n BODY: 'body',\n OVERLAY: '#sidebar-overlay',\n WRAPPER: '.wrapper'\n }\n\n const ClassName = {\n COLLAPSED: 'sidebar-collapse',\n OPEN: 'sidebar-open',\n CLOSED: 'sidebar-closed'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class PushMenu {\n constructor(element, options) {\n this._element = element\n this._options = $.extend({}, Default, options)\n\n if (!$(Selector.OVERLAY).length) {\n this._addOverlay()\n }\n\n this._init()\n }\n\n // Public\n\n expand() {\n if (this._options.autoCollapseSize) {\n if ($(window).width() <= this._options.autoCollapseSize) {\n $(Selector.BODY).addClass(ClassName.OPEN)\n }\n }\n\n $(Selector.BODY).removeClass(ClassName.COLLAPSED).removeClass(ClassName.CLOSED)\n\n if(this._options.enableRemember) {\n localStorage.setItem(`remember${EVENT_KEY}`, ClassName.OPEN)\n }\n\n const shownEvent = $.Event(Event.SHOWN)\n $(this._element).trigger(shownEvent)\n }\n\n collapse() {\n if (this._options.autoCollapseSize) {\n if ($(window).width() <= this._options.autoCollapseSize) {\n $(Selector.BODY).removeClass(ClassName.OPEN).addClass(ClassName.CLOSED)\n }\n }\n\n $(Selector.BODY).addClass(ClassName.COLLAPSED)\n\n if(this._options.enableRemember) {\n localStorage.setItem(`remember${EVENT_KEY}`, ClassName.COLLAPSED)\n }\n\n const collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n toggle() {\n if (!$(Selector.BODY).hasClass(ClassName.COLLAPSED)) {\n this.collapse()\n } else {\n this.expand()\n }\n }\n\n autoCollapse(resize = false) {\n if (this._options.autoCollapseSize) {\n if ($(window).width() <= this._options.autoCollapseSize) {\n if (!$(Selector.BODY).hasClass(ClassName.OPEN)) {\n this.collapse()\n }\n } else if (resize == true) {\n if ($(Selector.BODY).hasClass(ClassName.OPEN)) {\n $(Selector.BODY).removeClass(ClassName.OPEN)\n } else if($(Selector.BODY).hasClass(ClassName.CLOSED)) {\n this.expand()\n }\n }\n }\n }\n\n remember() {\n if(this._options.enableRemember) {\n let toggleState = localStorage.getItem(`remember${EVENT_KEY}`)\n if (toggleState == ClassName.COLLAPSED){\n if (this._options.noTransitionAfterReload) {\n $(\"body\").addClass('hold-transition').addClass(ClassName.COLLAPSED).delay(50).queue(function() {\n $(this).removeClass('hold-transition')\n $(this).dequeue()\n })\n } else {\n $(\"body\").addClass(ClassName.COLLAPSED)\n }\n } else {\n if (this._options.noTransitionAfterReload) {\n $(\"body\").addClass('hold-transition').removeClass(ClassName.COLLAPSED).delay(50).queue(function() {\n $(this).removeClass('hold-transition')\n $(this).dequeue()\n })\n } else {\n $(\"body\").removeClass(ClassName.COLLAPSED)\n }\n }\n }\n }\n\n // Private\n\n _init() {\n this.remember()\n this.autoCollapse()\n\n $(window).resize(() => {\n this.autoCollapse(true)\n })\n }\n\n _addOverlay() {\n const overlay = $('<div />', {\n id: 'sidebar-overlay'\n })\n\n overlay.on('click', () => {\n this.collapse()\n })\n\n $(Selector.WRAPPER).append(overlay)\n }\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new PushMenu(this, _options)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof operation === 'string' && operation.match(/collapse|expand|toggle/)) {\n data[operation]()\n }\n })\n }\n }\n\n /**\n Line truncated
"/**\n * --------------------------------------------\n * AdminLTE Treeview.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Treeview = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Treeview'\n const DATA_KEY = 'lte.treeview'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n SELECTED : `selected${EVENT_KEY}`,\n EXPANDED : `expanded${EVENT_KEY}`,\n COLLAPSED : `collapsed${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}`\n }\n\n const Selector = {\n LI : '.nav-item',\n LINK : '.nav-link',\n TREEVIEW_MENU: '.nav-treeview',\n OPEN : '.menu-open',\n DATA_WIDGET : '[data-widget=\"treeview\"]'\n }\n\n const ClassName = {\n LI : 'nav-item',\n LINK : 'nav-link',\n TREEVIEW_MENU : 'nav-treeview',\n OPEN : 'menu-open',\n SIDEBAR_COLLAPSED: 'sidebar-collapse'\n }\n\n const Default = {\n trigger : `${Selector.DATA_WIDGET} ${Selector.LINK}`,\n animationSpeed : 300,\n accordion : true,\n expandSidebar : false,\n sidebarButtonSelector: '[data-widget=\"pushmenu\"]'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Treeview {\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n init() {\n this._setupListeners()\n }\n\n expand(treeviewMenu, parentLi) {\n const expandedEvent = $.Event(Event.EXPANDED)\n\n if (this._config.accordion) {\n const openMenuLi = parentLi.siblings(Selector.OPEN).first()\n const openTreeview = openMenuLi.find(Selector.TREEVIEW_MENU).first()\n this.collapse(openTreeview, openMenuLi)\n }\n\n treeviewMenu.stop().slideDown(this._config.animationSpeed, () => {\n parentLi.addClass(ClassName.OPEN)\n $(this._element).trigger(expandedEvent)\n })\n\n if (this._config.expandSidebar) {\n this._expandSidebar()\n }\n }\n\n collapse(treeviewMenu, parentLi) {\n const collapsedEvent = $.Event(Event.COLLAPSED)\n\n treeviewMenu.stop().slideUp(this._config.animationSpeed, () => {\n parentLi.removeClass(ClassName.OPEN)\n $(this._element).trigger(collapsedEvent)\n treeviewMenu.find(`${Selector.OPEN} > ${Selector.TREEVIEW_MENU}`).slideUp()\n treeviewMenu.find(Selector.OPEN).removeClass(ClassName.OPEN)\n })\n }\n\n toggle(event) {\n\n const $relativeTarget = $(event.currentTarget)\n const $parent = $relativeTarget.parent()\n\n let treeviewMenu = $parent.find('> ' + Selector.TREEVIEW_MENU)\n\n if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {\n\n if (!$parent.is(Selector.LI)) {\n treeviewMenu = $parent.parent().find('> ' + Selector.TREEVIEW_MENU)\n }\n\n if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {\n return\n }\n }\n \n event.preventDefault()\n\n const parentLi = $relativeTarget.parents(Selector.LI).first()\n const isOpen = parentLi.hasClass(ClassName.OPEN)\n\n if (isOpen) {\n this.collapse($(treeviewMenu), parentLi)\n } else {\n this.expand($(treeviewMenu), parentLi)\n }\n }\n\n // Private\n\n _setupListeners() {\n $(document).on('click', this._config.trigger, (event) => {\n this.toggle(event)\n })\n }\n\n _expandSidebar() {\n if ($('body').hasClass(ClassName.SIDEBAR_COLLAPSED)) {\n $(this._config.sidebarButtonSelector).PushMenu('expand')\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Treeview($(this), _options)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n Treeview._jQueryInterface.call($(this), 'init')\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Treeview._jQueryInterface\n $.fn[NAME].Constructor = Treeview\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Treeview._jQueryInterface\n }\n\n return Treeview\n})(jQuery)\n\nexport default Treeview\n",
"/**\n * --------------------------------------------\n * AdminLTE DirectChat.js\n * License MIT\n * --------------------------------------------\n */\n\nconst DirectChat = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'DirectChat'\n const DATA_KEY = 'lte.directchat'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const DATA_API_KEY = '.data-api'\n\n const Event = {\n TOGGLED: `toggled{EVENT_KEY}`\n }\n\n const Selector = {\n DATA_TOGGLE: '[data-widget=\"chat-pane-toggle\"]',\n DIRECT_CHAT: '.direct-chat'\n };\n\n const ClassName = {\n DIRECT_CHAT_OPEN: 'direct-chat-contacts-open'\n };\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class DirectChat {\n constructor(element, config) {\n this._element = element\n }\n\n toggle() {\n $(this._element).parents(Selector.DIRECT_CHAT).first().toggleClass(ClassName.DIRECT_CHAT_OPEN);\n\n const toggledEvent = $.Event(Event.TOGGLED)\n $(this._element).trigger(toggledEvent)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new DirectChat($(this))\n $(this).data(DATA_KEY, data)\n }\n\n data[config]()\n })\n }\n }\n\n /**\n *\n * Data Api implementation\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_TOGGLE, function (event) {\n if (event) event.preventDefault();\n DirectChat._jQueryInterface.call($(this), 'toggle');\n });\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = DirectChat._jQueryInterface\n $.fn[NAME].Constructor = DirectChat\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return DirectChat._jQueryInterface\n }\n\n return DirectChat\n})(jQuery)\n\nexport default DirectChat\n",
"/**\n * --------------------------------------------\n * AdminLTE TodoList.js\n * License MIT\n * --------------------------------------------\n */\n\nconst TodoList = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'TodoList'\n const DATA_KEY = 'lte.todolist'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DATA_TOGGLE: '[data-widget=\"todo-list\"]'\n }\n\n const ClassName = {\n TODO_LIST_DONE: 'done'\n }\n\n const Default = {\n onCheck: function (item) {\n return item;\n },\n onUnCheck: function (item) {\n return item;\n }\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class TodoList {\n constructor(element, config) {\n this._config = config\n this._element = element\n\n this._init()\n }\n\n // Public\n\n toggle(item) {\n item.parents('li').toggleClass(ClassName.TODO_LIST_DONE);\n if (! $(item).prop('checked')) {\n this.unCheck($(item));\n return;\n }\n\n this.check(item);\n }\n\n check (item) {\n this._config.onCheck.call(item);\n }\n\n unCheck (item) {\n this._config.onUnCheck.call(item);\n }\n\n // Private\n\n _init() {\n var that = this\n $(Selector.DATA_TOGGLE).find('input:checkbox:checked').parents('li').toggleClass(ClassName.TODO_LIST_DONE)\n $(Selector.DATA_TOGGLE).on('change', 'input:checkbox', (event) => {\n that.toggle($(event.target))\n })\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new TodoList($(this), _options)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on('load', () => {\n TodoList._jQueryInterface.call($(Selector.DATA_TOGGLE))\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = TodoList._jQueryInterface\n $.fn[NAME].Constructor = TodoList\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return TodoList._jQueryInterface\n }\n\n return TodoList\n})(jQuery)\n\nexport default TodoList\n",
"/**\n * --------------------------------------------\n * AdminLTE CardWidget.js\n * License MIT\n * --------------------------------------------\n */\n\nconst CardWidget = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'CardWidget'\n const DATA_KEY = 'lte.cardwidget'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n EXPANDED: `expanded${EVENT_KEY}`,\n COLLAPSED: `collapsed${EVENT_KEY}`,\n MAXIMIZED: `maximized${EVENT_KEY}`,\n MINIMIZED: `minimized${EVENT_KEY}`,\n REMOVED: `removed${EVENT_KEY}`\n }\n\n const ClassName = {\n CARD: 'card',\n COLLAPSED: 'collapsed-card',\n COLLAPSING: 'collapsing-card',\n EXPANDING: 'expanding-card',\n WAS_COLLAPSED: 'was-collapsed',\n MAXIMIZED: 'maximized-card',\n }\n\n const Selector = {\n DATA_REMOVE: '[data-card-widget=\"remove\"]',\n DATA_COLLAPSE: '[data-card-widget=\"collapse\"]',\n DATA_MAXIMIZE: '[data-card-widget=\"maximize\"]',\n CARD: `.${ClassName.CARD}`,\n CARD_HEADER: '.card-header',\n CARD_BODY: '.card-body',\n CARD_FOOTER: '.card-footer',\n COLLAPSED: `.${ClassName.COLLAPSED}`,\n }\n\n const Default = {\n animationSpeed: 'normal',\n collapseTrigger: Selector.DATA_COLLAPSE,\n removeTrigger: Selector.DATA_REMOVE,\n maximizeTrigger: Selector.DATA_MAXIMIZE,\n collapseIcon: 'fa-minus',\n expandIcon: 'fa-plus',\n maximizeIcon: 'fa-expand',\n minimizeIcon: 'fa-compress',\n }\n\n class CardWidget {\n constructor(element, settings) {\n this._element = element\n this._parent = element.parents(Selector.CARD).first()\n\n if (element.hasClass(ClassName.CARD)) {\n this._parent = element\n }\n\n this._settings = $.extend({}, Default, settings)\n }\n\n collapse() {\n this._parent.addClass(ClassName.COLLAPSING).children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)\n .slideUp(this._settings.animationSpeed, () => {\n this._parent.addClass(ClassName.COLLAPSED).removeClass(ClassName.COLLAPSING)\n })\n\n this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.collapseIcon)\n .addClass(this._settings.expandIcon)\n .removeClass(this._settings.collapseIcon)\n\n const collapsed = $.Event(Event.COLLAPSED)\n\n this._element.trigger(collapsed, this._parent)\n }\n\n expand() {\n this._parent.addClass(ClassName.EXPANDING).children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)\n .slideDown(this._settings.animationSpeed, () => {\n this._parent.removeClass(ClassName.COLLAPSED).removeClass(ClassName.EXPANDING)\n })\n\n this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.expandIcon)\n .addClass(this._settings.collapseIcon)\n .removeClass(this._settings.expandIcon)\n\n const expanded = $.Event(Event.EXPANDED)\n\n this._element.trigger(expanded, this._parent)\n }\n\n remove() {\n this._parent.slideUp()\n\n const removed = $.Event(Event.REMOVED)\n\n this._element.trigger(removed, this._parent)\n }\n\n toggle() {\n if (this._parent.hasClass(ClassName.COLLAPSED)) {\n this.expand()\n return\n }\n\n this.collapse()\n }\n \n maximize() {\n this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.maximizeIcon)\n .addClass(this._settings.minimizeIcon)\n .removeClass(this._settings.maximizeIcon)\n this._parent.css({\n 'height': this._parent.height(),\n 'width': this._parent.width(),\n 'transition': 'all .15s'\n }).delay(150).queue(function(){\n $(this).addClass(ClassName.MAXIMIZED)\n $('html').addClass(ClassName.MAXIMIZED)\n if ($(this).hasClass(ClassName.COLLAPSED)) {\n $(this).addClass(ClassName.WAS_COLLAPSED)\n }\n $(this).dequeue()\n })\n\n const maximized = $.Event(Event.MAXIMIZED)\n\n this._element.trigger(maximized, this._parent)\n }\n\n minimize() {\n this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.minimizeIcon)\n .addClass(this._settings.maximizeIcon)\n .removeClass(this._settings.minimizeIcon)\n this._parent.css('cssText', 'height:' + this._parent[0].style.height + ' !important;' +\n 'width:' + this._parent[0].style.width + ' !important; transition: all .15s;'\n ).delay(10).queue(function(){\n $(this).removeClass(ClassName.MAXIMIZED)\n $('html').removeClass(ClassName.MAXIMIZED)\n $(this).css({\n 'height': 'inherit',\n 'width': 'inherit'\n })\n if ($(this).hasClass(ClassName.WAS_COLLAPSED)) {\n $(this).removeClass(ClassName.WAS_COLLAPSED)\n }\n $(thisLine truncated
"/**\n * --------------------------------------------\n * AdminLTE CardRefresh.js\n * License MIT\n * --------------------------------------------\n */\n\nconst CardRefresh = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'CardRefresh'\n const DATA_KEY = 'lte.cardrefresh'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n LOADED: `loaded${EVENT_KEY}`,\n OVERLAY_ADDED: `overlay.added${EVENT_KEY}`,\n OVERLAY_REMOVED: `overlay.removed${EVENT_KEY}`,\n }\n\n const ClassName = {\n CARD: 'card',\n }\n\n const Selector = {\n CARD: `.${ClassName.CARD}`,\n DATA_REFRESH: '[data-card-widget=\"card-refresh\"]',\n }\n\n const Default = {\n source: '',\n sourceSelector: '',\n params: {},\n trigger: Selector.DATA_REFRESH,\n content: '.card-body',\n loadInContent: true,\n loadOnInit: true,\n responseType: '',\n overlayTemplate: '<div class=\"overlay\"><i class=\"fas fa-2x fa-sync-alt fa-spin\"></i></div>',\n onLoadStart: function () {\n },\n onLoadDone: function (response) {\n return response;\n }\n }\n\n class CardRefresh {\n constructor(element, settings) {\n this._element = element\n this._parent = element.parents(Selector.CARD).first()\n this._settings = $.extend({}, Default, settings)\n this._overlay = $(this._settings.overlayTemplate)\n\n if (element.hasClass(ClassName.CARD)) {\n this._parent = element\n }\n\n if (this._settings.source === '') {\n throw new Error('Source url was not defined. Please specify a url in your CardRefresh source option.');\n }\n }\n\n load() {\n this._addOverlay()\n this._settings.onLoadStart.call($(this))\n\n $.get(this._settings.source, this._settings.params, function (response) {\n if (this._settings.loadInContent) {\n if (this._settings.sourceSelector != '') {\n response = $(response).find(this._settings.sourceSelector).html()\n }\n\n this._parent.find(this._settings.content).html(response)\n }\n\n this._settings.onLoadDone.call($(this), response)\n this._removeOverlay();\n }.bind(this), this._settings.responseType !== '' && this._settings.responseType)\n\n const loadedEvent = $.Event(Event.LOADED)\n $(this._element).trigger(loadedEvent)\n }\n\n _addOverlay() {\n this._parent.append(this._overlay)\n\n const overlayAddedEvent = $.Event(Event.OVERLAY_ADDED)\n $(this._element).trigger(overlayAddedEvent)\n };\n\n _removeOverlay() {\n this._parent.find(this._overlay).remove()\n\n const overlayRemovedEvent = $.Event(Event.OVERLAY_REMOVED)\n $(this._element).trigger(overlayRemovedEvent)\n };\n\n\n // Private\n\n _init(card) {\n $(this).find(this._settings.trigger).on('click', () => {\n this.load()\n })\n\n if (this._settings.loadOnInit) {\n this.load()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new CardRefresh($(this), _options)\n $(this).data(DATA_KEY, typeof config === 'string' ? data: config)\n }\n\n if (typeof config === 'string' && config.match(/load/)) {\n data[config]()\n } else {\n data._init($(this))\n }\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_REFRESH, function (event) {\n if (event) {\n event.preventDefault()\n }\n\n CardRefresh._jQueryInterface.call($(this), 'load')\n })\n\n $(document).ready(function () {\n $(Selector.DATA_REFRESH).each(function() {\n CardRefresh._jQueryInterface.call($(this))\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = CardRefresh._jQueryInterface\n $.fn[NAME].Constructor = CardRefresh\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return CardRefresh._jQueryInterface\n }\n\n return CardRefresh\n})(jQuery)\n\nexport default CardRefresh\n",
"/**\n * --------------------------------------------\n * AdminLTE Dropdown.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Dropdown'\n const DATA_KEY = 'lte.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n NAVBAR: '.navbar',\n DROPDOWN_MENU: '.dropdown-menu',\n DROPDOWN_MENU_ACTIVE: '.dropdown-menu.show',\n DROPDOWN_TOGGLE: '[data-toggle=\"dropdown\"]',\n }\n\n const ClassName = {\n DROPDOWN_HOVER: 'dropdown-hover',\n DROPDOWN_RIGHT: 'dropdown-menu-right'\n }\n\n const Default = {\n }\n\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class Dropdown {\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n toggleSubmenu() {\n this._element.siblings().show().toggleClass(\"show\")\n\n if (! this._element.next().hasClass('show')) {\n this._element.parents('.dropdown-menu').first().find('.show').removeClass(\"show\").hide()\n }\n\n this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function(e) {\n $('.dropdown-submenu .show').removeClass(\"show\").hide()\n })\n }\n\n fixPosition() {\n let elm = $(Selector.DROPDOWN_MENU_ACTIVE)\n\n if (elm.length !== 0) {\n if (elm.hasClass(ClassName.DROPDOWN_RIGHT)) {\n elm.css('left', 'inherit')\n elm.css('right', 0)\n } else {\n elm.css('left', 0)\n elm.css('right', 'inherit')\n }\n\n let offset = elm.offset()\n let width = elm.width()\n let windowWidth = $(window).width()\n let visiblePart = windowWidth - offset.left\n\n if (offset.left < 0) {\n elm.css('left', 'inherit')\n elm.css('right', (offset.left - 5))\n } else {\n if (visiblePart < width) {\n elm.css('left', 'inherit')\n elm.css('right', 0)\n }\n }\n } \n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Dropdown($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggleSubmenu' || config == 'fixPosition') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(Selector.DROPDOWN_MENU + ' ' + Selector.DROPDOWN_TOGGLE).on(\"click\", function(event) {\n event.preventDefault()\n event.stopPropagation()\n\n Dropdown._jQueryInterface.call($(this), 'toggleSubmenu')\n });\n\n $(Selector.NAVBAR + ' ' + Selector.DROPDOWN_TOGGLE).on(\"click\", function(event) {\n event.preventDefault()\n\n setTimeout(function() {\n Dropdown._jQueryInterface.call($(this), 'fixPosition')\n }, 1)\n });\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})(jQuery)\n\nexport default Dropdown\n",
"/**\n * --------------------------------------------\n * AdminLTE Toasts.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Toasts = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Toasts'\n const DATA_KEY = 'lte.toasts'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n INIT: `init${EVENT_KEY}`,\n CREATED: `created${EVENT_KEY}`,\n REMOVED: `removed${EVENT_KEY}`,\n }\n\n const Selector = {\n BODY: 'toast-body',\n CONTAINER_TOP_RIGHT: '#toastsContainerTopRight',\n CONTAINER_TOP_LEFT: '#toastsContainerTopLeft',\n CONTAINER_BOTTOM_RIGHT: '#toastsContainerBottomRight',\n CONTAINER_BOTTOM_LEFT: '#toastsContainerBottomLeft',\n }\n\n const ClassName = {\n TOP_RIGHT: 'toasts-top-right',\n TOP_LEFT: 'toasts-top-left',\n BOTTOM_RIGHT: 'toasts-bottom-right',\n BOTTOM_LEFT: 'toasts-bottom-left',\n FADE: 'fade',\n }\n\n const Position = {\n TOP_RIGHT: 'topRight',\n TOP_LEFT: 'topLeft',\n BOTTOM_RIGHT: 'bottomRight',\n BOTTOM_LEFT: 'bottomLeft',\n }\n\n const Id = {\n CONTAINER_TOP_RIGHT: 'toastsContainerTopRight',\n CONTAINER_TOP_LEFT: 'toastsContainerTopLeft',\n CONTAINER_BOTTOM_RIGHT: 'toastsContainerBottomRight',\n CONTAINER_BOTTOM_LEFT: 'toastsContainerBottomLeft',\n }\n\n const Default = {\n position: Position.TOP_RIGHT,\n fixed: true,\n autohide: false,\n autoremove: true,\n delay: 1000,\n fade: true,\n icon: null,\n image: null,\n imageAlt: null,\n imageHeight: '25px',\n title: null,\n subtitle: null,\n close: true,\n body: null,\n class: null,\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Toasts {\n constructor(element, config) {\n this._config = config\n\n this._prepareContainer();\n\n const initEvent = $.Event(Event.INIT)\n $('body').trigger(initEvent)\n }\n\n // Public\n\n create() {\n var toast = $('<div class=\"toast\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\"/>')\n\n toast.data('autohide', this._config.autohide)\n toast.data('animation', this._config.fade)\n \n if (this._config.class) {\n toast.addClass(this._config.class)\n }\n\n if (this._config.delay && this._config.delay != 500) {\n toast.data('delay', this._config.delay)\n }\n\n var toast_header = $('<div class=\"toast-header\">')\n\n if (this._config.image != null) {\n var toast_image = $('<img />').addClass('rounded mr-2').attr('src', this._config.image).attr('alt', this._config.imageAlt)\n \n if (this._config.imageHeight != null) {\n toast_image.height(this._config.imageHeight).width('auto')\n }\n\n toast_header.append(toast_image)\n }\n\n if (this._config.icon != null) {\n toast_header.append($('<i />').addClass('mr-2').addClass(this._config.icon))\n }\n\n if (this._config.title != null) {\n toast_header.append($('<strong />').addClass('mr-auto').html(this._config.title))\n }\n\n if (this._config.subtitle != null) {\n toast_header.append($('<small />').html(this._config.subtitle))\n }\n\n if (this._config.close == true) {\n var toast_close = $('<button data-dismiss=\"toast\" />').attr('type', 'button').addClass('ml-2 mb-1 close').attr('aria-label', 'Close').append('<span aria-hidden=\"true\">&times;</span>')\n \n if (this._config.title == null) {\n toast_close.toggleClass('ml-2 ml-auto')\n }\n \n toast_header.append(toast_close)\n }\n\n toast.append(toast_header)\n\n if (this._config.body != null) {\n toast.append($('<div class=\"toast-body\" />').html(this._config.body))\n }\n\n $(this._getContainerId()).prepend(toast)\n\n const createdEvent = $.Event(Event.CREATED)\n $('body').trigger(createdEvent)\n\n toast.toast('show')\n\n\n if (this._config.autoremove) {\n toast.on('hidden.bs.toast', function () {\n $(this).delay(200).remove();\n\n const removedEvent = $.Event(Event.REMOVED)\n $('body').trigger(removedEvent)\n })\n }\n\n\n }\n\n // Static\n\n _getContainerId() {\n if (this._config.position == Position.TOP_RIGHT) {\n return Selector.CONTAINER_TOP_RIGHT;\n } else if (this._config.position == Position.TOP_LEFT) {\n return Selector.CONTAINER_TOP_LEFT;\n } else if (this._config.position == Position.BOTTOM_RIGHT) {\n return Selector.CONTAINER_BOTTOM_RIGHT;\n } else if (this._config.position == Position.BOTTOM_LEFT) {\n return Selector.CONTAINER_BOTTOM_LEFT;\n }\n }\n\n _prepareContainer() {\n if ($(this._getContainerId()).length === 0) {\n Line truncated
]
}
{"version":3,"sources":["../../build/js/ControlSidebar.js","../../build/js/Layout.js","../../build/js/PushMenu.js","../../build/js/Treeview.js","../../build/js/DirectChat.js","../../build/js/TodoList.js","../../build/js/CardWidget.js","../../build/js/CardRefresh.js","../../build/js/Dropdown.js","../../build/js/Toasts.js"],"names":["ControlSidebar","$","NAME","DATA_KEY","JQUERY_NO_CONFLICT","fn","Event","COLLAPSED","EXPANDED","Selector","ClassName","Default","controlsidebarSlide","scrollbarTheme","scrollbarAutoHide","element","config","this","_element","_config","_init","_proto","prototype","collapse","addClass","removeClass","delay","queue","hide","dequeue","collapsedEvent","trigger","show","expandedEvent","toggle","hasClass","_this","_fixHeight","_fixScrollHeight","window","resize","scroll","heights","document","height","header","outerHeight","footer","positions","Math","abs","scrollTop","navbarFixed","footerFixed","css","sidebarHeight","overlayScrollbars","className","sizeAutoCapable","scrollbars","autoHide","clickScrolling","_jQueryInterface","operation","each","data","_options","extend","Error","on","event","preventDefault","call","Constructor","noConflict","jQuery","Layout","panelAutoHeight","loginRegisterAutoHeight","fixLayoutHeight","extra","control_sidebar","length","sidebar","max","_max","offset","fixLoginRegisterHeight","box_height","Number","isInteger","setInterval","numbers","Object","keys","forEach","key","PushMenu","EVENT_KEY","SHOWN","autoCollapseSize","enableRemember","noTransitionAfterReload","options","_addOverlay","expand","width","localStorage","setItem","shownEvent","autoCollapse","remember","getItem","_this2","overlay","id","append","match","button","currentTarget","closest","Treeview","SELECTED","LOAD_DATA_API","animationSpeed","accordion","expandSidebar","sidebarButtonSelector","init","_setupListeners","treeviewMenu","parentLi","openMenuLi","siblings","first","openTreeview","find","stop","slideDown","_expandSidebar","slideUp","$relativeTarget","$parent","parent","is","parents","_this3","DirectChat","toggleClass","toggledEvent","TodoList","onCheck","item","onUnCheck","prop","check","unCheck","that","target","CardWidget","MAXIMIZED","MINIMIZED","REMOVED","DATA_REMOVE","DATA_COLLAPSE","DATA_MAXIMIZE","CARD","CARD_HEADER","CARD_BODY","CARD_FOOTER","collapseTrigger","removeTrigger","maximizeTrigger","collapseIcon","expandIcon","maximizeIcon","minimizeIcon","settings","_parent","_settings","children","collapsed","expanded","remove","removed","maximize","transition","maximized","minimize","style","toggleMaximize","card","click","CardRefresh","LOADED","OVERLAY_ADDED","OVERLAY_REMOVED","DATA_REFRESH","source","sourceSelector","params","content","loadInContent","loadOnInit","responseType","overlayTemplate","onLoadStart","onLoadDone","response","_overlay","load","get","html","_removeOverlay","bind","loadedEvent","overlayAddedEvent","overlayRemovedEvent","ready","Dropdown","toggleSubmenu","next","e","fixPosition","elm","visiblePart","left","stopPropagation","setTimeout","Toasts","INIT","CREATED","Position","position","fixed","autohide","autoremove","fade","icon","image","imageAlt","imageHeight","title","subtitle","close","body","class","_prepareContainer","initEvent","create","toast","toast_header","toast_image","attr","toast_close","_getContainerId","prepend","createdEvent","removedEvent","container","replace","option"],"mappings":";;;;;sMAOA,IAAMA,EAAkB,SAACC,GAMvB,IAAMC,EAAqB,iBACrBC,EAAqB,qBAErBC,EAAqBH,EAAEI,GAAGH,GAG1BI,EAAQ,CACZC,UAAS,+BACTC,SAAQ,+BAGJC,EACa,mBADbA,EAEqB,2BAFrBA,EAGS,kCAHTA,EAKI,eALJA,EAMI,eAGJC,EACqB,0BADrBA,EAEkB,uBAFlBA,EAGmB,6BAHnBA,EAIU,eAJVA,EAKU,sBALVA,EAMa,yBANbA,EAOa,yBAPbA,EAQa,yBARbA,EASa,yBATbA,EAUU,sBAVVA,EAWa,yBAXbA,EAYa,yBAZbA,EAaa,yBAbbA,EAca,yBAGbC,EAAU,CACdC,qBAAqB,EACrBC,eAAiB,iBACjBC,kBAAmB,KAQfd,EAtDuB,WAuD3B,SAAAA,EAAYe,EAASC,GACnBC,KAAKC,SAAWH,EAChBE,KAAKE,QAAWH,EAEhBC,KAAKG,QA3DoB,IAAAC,EAAArB,EAAAsB,UAAA,OAAAD,EAgE3BE,SAAA,WAEMN,KAAKE,QAAQP,qBACfX,EAAE,QAAQuB,SAASd,GACnBT,EAAE,QAAQwB,YAAYf,GAAiCgB,MAAM,KAAKC,OAAM,WACtE1B,EAAEQ,GAA0BmB,OAC5B3B,EAAE,QAAQwB,YAAYf,GACtBT,EAAEgB,MAAMY,cAGV5B,EAAE,QAAQwB,YAAYf,GAGxB,IAAMoB,EAAiB7B,EAAEK,MAAMA,EAAMC,WACrCN,EAAEgB,KAAKC,UAAUa,QAAQD,IA9EAT,EAiF3BW,KAAA,WAEMf,KAAKE,QAAQP,qBACfX,EAAE,QAAQuB,SAASd,GACnBT,EAAEQ,GAA0BuB,OAAON,MAAM,IAAIC,OAAM,WACjD1B,EAAE,QAAQuB,SAASd,GAAiCgB,MAAM,KAAKC,OAAM,WACnE1B,EAAE,QAAQwB,YAAYf,GACtBT,EAAEgB,MAAMY,aAEV5B,EAAEgB,MAAMY,cAGV5B,EAAE,QAAQuB,SAASd,GAGrB,IAAMuB,EAAgBhC,EAAEK,MAAMA,EAAME,UACpCP,EAAEgB,KAAKC,UAAUa,QAAQE,IAjGAZ,EAoG3Ba,OAAA,WACsBjC,EAAE,QAAQkC,SAASzB,IAAmCT,EAAE,QACzEkC,SAASzB,GAGVO,KAAKM,WAGLN,KAAKe,QA5GkBX,EAkH3BD,MAAA,WAAQ,IAAAgB,EAAAnB,KACNA,KAAKoB,aACLpB,KAAKqB,mBAELrC,EAAEsC,QAAQC,QAAO,WACfJ,EAAKC,aACLD,EAAKE,sBAGPrC,EAAEsC,QAAQE,QAAO,YACXxC,EAAE,QAAQkC,SAASzB,IAAmCT,EAAE,QAAQkC,SAASzB,KACzE0B,EAAKE,uBA7HcjB,EAkI3BiB,iBAAA,WACE,IAAMI,EAAU,CACdD,OAAQxC,EAAE0C,UAAUC,SACpBL,OAAQtC,EAAEsC,QAAQK,SAClBC,OAAQ5C,EAAEQ,GAAiBqC,cAC3BC,OAAQ9C,EAAEQ,GAAiBqC,eAEvBE,EACIC,Line truncated
@@ -5,10 +5,9 @@
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
(global = global || self, factory(global.bootstrap = {}, global.jQuery));
}(this, (function (exports, $) {
'use strict';
typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
(global = global || self, factory(global.bootstrap = {}, global.jQuery));
}(this, (function (exports, $) { 'use strict';
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
@@ -287,14 +286,14 @@
*/
var Alert =
/*#__PURE__*/
function () {
function Alert(element) {
this._element = element;
} // Getters
/*#__PURE__*/
function () {
function Alert(element) {
this._element = element;
} // Getters
var _proto = Alert.prototype;
var _proto = Alert.prototype;
// Public
_proto.close = function close(element) {
@@ -457,14 +456,14 @@
*/
var Button =
/*#__PURE__*/
function () {
function Button(element) {
this._element = element;
} // Getters
/*#__PURE__*/
function () {
function Button(element) {
this._element = element;
} // Getters
var _proto = Button.prototype;
var _proto = Button.prototype;
// Public
_proto.toggle = function toggle() {
@@ -708,14 +707,14 @@
*/
var Carousel =
/*#__PURE__*/
function () {
function Carousel(element, config) {
this._items = null;
this._interval = null;
this._activeElement = null;
this._isPaused = false;
this._isSliding = false;
/*#__PURE__*/
function () {
function Carousel(element, config) {
this._items = null;
this._interval = null;
this._activeElement = null;
this._isPaused = false;
this._isSliding = false;
this.touchTimeout = null;
this.touchStartX = 0;
this.touchDeltaX = 0;
@@ -1266,14 +1265,14 @@
*/
var Collapse =
/*#__PURE__*/
function () {
function Collapse(element, config) {
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
/*#__PURE__*/
function () {
function Collapse(element, config) {
this._isTransitioning = false;
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
for (var i = 0, len = toggleList.length; i < len; i++) {
var elem = toggleList[i];
@@ -2202,7 +2201,7 @@
// NOTE: 1 DOM access here
var boundaries = {top: 0, left: 0};
var boundaries = { top: 0, left: 0 };
var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
// Handle viewport case
@@ -4039,14 +4038,14 @@
// Utils
// Methods
var Popper = function () {
/**
* Creates a new Popper.js instance.
* @class Popper
* @param {Element|referenceObject} reference - The reference element used to position the popper
* @param {Element} popper - The HTML / XML element used as the popper
* @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
* @return {Object} instance - The generated Popper.js instance
*/
/**
* Creates a new Popper.js instance.
* @class Popper
* @param {Element|referenceObject} reference - The reference element used to position the popper
* @param {Element} popper - The HTML / XML element used as the popper
* @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
* @return {Object} instance - The generated Popper.js instance
*/
function Popper(reference, popper) {
var _this = this;
@@ -4276,14 +4275,14 @@
*/
var Dropdown =
/*#__PURE__*/
function () {
function Dropdown(element, config) {
this._element = element;
this._popper = null;
this._config = this._getConfig(config);
this._menu = this._getMenuElement();
this._inNavbar = this._detectNavbar();
/*#__PURE__*/
function () {
function Dropdown(element, config) {
this._element = element;
this._popper = null;
this._config = this._getConfig(config);
this._menu = this._getMenuElement();
this._inNavbar = this._detectNavbar();
this._addEventListeners();
} // Getters
@@ -4308,75 +4307,75 @@
this.show(true);
};
_proto.show = function show(usePopper) {
if (usePopper === void 0) {
usePopper = false;
_proto.show = function show(usePopper) {
if (usePopper === void 0) {
usePopper = false;
}
if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
var showEvent = $.Event(Event$4.SHOW, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
$(parent).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
return;
} // Disable totally Popper.js for Dropdown in Navbar
if (!this._inNavbar && usePopper) {
/**
* Check for Popper dependency
* Popper - https://popper.js.org
*/
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
}
var referenceElement = this._element;
if (this._config.reference === 'parent') {
referenceElement = parent;
} else if (Util.isElement(this._config.reference)) {
referenceElement = this._config.reference; // Check if it's jQuery element
if (typeof this._config.reference.jquery !== 'undefined') {
referenceElement = this._config.reference[0];
}
if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
var showEvent = $.Event(Event$4.SHOW, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
$(parent).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
return;
} // Disable totally Popper.js for Dropdown in Navbar
} // If boundary is not `scrollParent`, then set position to `static`
// to allow the menu to "escape" the scroll parent's boundaries
// https://github.com/twbs/bootstrap/issues/24251
if (!this._inNavbar && usePopper) {
/**
* Check for Popper dependency
* Popper - https://popper.js.org
*/
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
}
if (this._config.boundary !== 'scrollParent') {
$(parent).addClass(ClassName$4.POSITION_STATIC);
}
var referenceElement = this._element;
if (this._config.reference === 'parent') {
referenceElement = parent;
} else if (Util.isElement(this._config.reference)) {
referenceElement = this._config.reference; // Check if it's jQuery element
if (typeof this._config.reference.jquery !== 'undefined') {
referenceElement = this._config.reference[0];
}
} // If boundary is not `scrollParent`, then set position to `static`
// to allow the menu to "escape" the scroll parent's boundaries
// https://github.com/twbs/bootstrap/issues/24251
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
} // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if (this._config.boundary !== 'scrollParent') {
$(parent).addClass(ClassName$4.POSITION_STATIC);
}
if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
$(document.body).children().on('mouseover', null, $.noop);
}
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
} // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
this._element.focus();
this._element.setAttribute('aria-expanded', true);
if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
$(document.body).children().on('mouseover', null, $.noop);
}
this._element.focus();
this._element.setAttribute('aria-expanded', true);
$(this._menu).toggleClass(ClassName$4.SHOW);
$(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
};
$(this._menu).toggleClass(ClassName$4.SHOW);
$(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
};
_proto.hide = function hide() {
if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
@@ -4787,14 +4786,14 @@
*/
var Modal =
/*#__PURE__*/
function () {
function Modal(element, config) {
this._config = this._getConfig(config);
this._element = element;
this._dialog = element.querySelector(Selector$5.DIALOG);
this._backdrop = null;
this._isShown = false;
/*#__PURE__*/
function () {
function Modal(element, config) {
this._config = this._getConfig(config);
this._element = element;
this._dialog = element.querySelector(Selector$5.DIALOG);
this._backdrop = null;
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
this._isTransitioning = false;
@@ -4929,64 +4928,64 @@
} // Private
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2({}, Default$3, {}, config);
Util.typeCheckConfig(NAME$5, config, DefaultType$3);
return config;
};
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2({}, Default$3, {}, config);
Util.typeCheckConfig(NAME$5, config, DefaultType$3);
return config;
};
_proto._triggerBackdropTransition = function _triggerBackdropTransition() {
var _this3 = this;
_proto._triggerBackdropTransition = function _triggerBackdropTransition() {
var _this3 = this;
if (this._config.backdrop === 'static') {
var hideEventPrevented = $.Event(Event$5.HIDE_PREVENTED);
$(this._element).trigger(hideEventPrevented);
if (this._config.backdrop === 'static') {
var hideEventPrevented = $.Event(Event$5.HIDE_PREVENTED);
$(this._element).trigger(hideEventPrevented);
if (hideEventPrevented.defaultPrevented) {
return;
}
if (hideEventPrevented.defaultPrevented) {
return;
}
this._element.classList.add(ClassName$5.STATIC);
this._element.classList.add(ClassName$5.STATIC);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
$(this._element).one(Util.TRANSITION_END, function () {
_this3._element.classList.remove(ClassName$5.STATIC);
}).emulateTransitionEnd(modalTransitionDuration);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
$(this._element).one(Util.TRANSITION_END, function () {
_this3._element.classList.remove(ClassName$5.STATIC);
}).emulateTransitionEnd(modalTransitionDuration);
this._element.focus();
} else {
this.hide();
}
};
this._element.focus();
} else {
this.hide();
}
};
_proto._showElement = function _showElement(relatedTarget) {
var _this4 = this;
_proto._showElement = function _showElement(relatedTarget) {
var _this4 = this;
var transition = $(this._element).hasClass(ClassName$5.FADE);
var modalBody = this._dialog ? this._dialog.querySelector(Selector$5.MODAL_BODY) : null;
var transition = $(this._element).hasClass(ClassName$5.FADE);
var modalBody = this._dialog ? this._dialog.querySelector(Selector$5.MODAL_BODY) : null;
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// Don't move modal's DOM position
document.body.appendChild(this._element);
}
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// Don't move modal's DOM position
document.body.appendChild(this._element);
}
this._element.style.display = 'block';
this._element.style.display = 'block';
this._element.removeAttribute('aria-hidden');
this._element.removeAttribute('aria-hidden');
this._element.setAttribute('aria-modal', true);
this._element.setAttribute('aria-modal', true);
if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
this._element.scrollTop = 0;
}
if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
this._element.scrollTop = 0;
}
if (transition) {
Util.reflow(this._element);
}
if (transition) {
Util.reflow(this._element);
}
$(this._element).addClass(ClassName$5.SHOW);
$(this._element).addClass(ClassName$5.SHOW);
if (this._config.focus) {
this._enforceFocus();
@@ -5541,12 +5540,12 @@
*/
var Tooltip =
/*#__PURE__*/
function () {
function Tooltip(element, config) {
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
} // private
/*#__PURE__*/
function () {
function Tooltip(element, config) {
if (typeof Popper === 'undefined') {
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
} // private
this._isEnabled = true;
@@ -5826,44 +5825,44 @@
} // Private
;
_proto._getPopperConfig = function _getPopperConfig(attachment) {
var _this3 = this;
_proto._getPopperConfig = function _getPopperConfig(attachment) {
var _this3 = this;
var defaultBsConfig = {
placement: attachment,
modifiers: {
offset: this._getOffset(),
flip: {
behavior: this.config.fallbackPlacement
},
arrow: {
element: Selector$6.ARROW
},
preventOverflow: {
boundariesElement: this.config.boundary
}
},
onCreate: function onCreate(data) {
if (data.originalPlacement !== data.placement) {
_this3._handlePopperPlacementChange(data);
}
},
onUpdate: function onUpdate(data) {
return _this3._handlePopperPlacementChange(data);
}
};
return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig);
};
var defaultBsConfig = {
placement: attachment,
modifiers: {
offset: this._getOffset(),
flip: {
behavior: this.config.fallbackPlacement
},
arrow: {
element: Selector$6.ARROW
},
preventOverflow: {
boundariesElement: this.config.boundary
}
},
onCreate: function onCreate(data) {
if (data.originalPlacement !== data.placement) {
_this3._handlePopperPlacementChange(data);
}
},
onUpdate: function onUpdate(data) {
return _this3._handlePopperPlacementChange(data);
}
};
return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig);
};
_proto._getOffset = function _getOffset() {
var _this4 = this;
_proto._getOffset = function _getOffset() {
var _this4 = this;
var offset = {};
var offset = {};
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {});
return data;
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {});
return data;
};
} else {
offset.offset = this.config.offset;
@@ -6222,13 +6221,13 @@
*/
var Popover =
/*#__PURE__*/
function (_Tooltip) {
_inheritsLoose(Popover, _Tooltip);
/*#__PURE__*/
function (_Tooltip) {
_inheritsLoose(Popover, _Tooltip);
function Popover() {
return _Tooltip.apply(this, arguments) || this;
}
function Popover() {
return _Tooltip.apply(this, arguments) || this;
}
var _proto = Popover.prototype;
@@ -6410,14 +6409,14 @@
*/
var ScrollSpy =
/*#__PURE__*/
function () {
function ScrollSpy(element, config) {
var _this = this;
/*#__PURE__*/
function () {
function ScrollSpy(element, config) {
var _this = this;
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
@@ -6704,14 +6703,14 @@
*/
var Tab =
/*#__PURE__*/
function () {
function Tab(element) {
this._element = element;
} // Getters
/*#__PURE__*/
function () {
function Tab(element) {
this._element = element;
} // Getters
var _proto = Tab.prototype;
var _proto = Tab.prototype;
// Public
_proto.show = function show() {
@@ -6940,14 +6939,14 @@
*/
var Toast =
/*#__PURE__*/
function () {
function Toast(element, config) {
this._element = element;
this._config = this._getConfig(config);
this._timeout = null;
/*#__PURE__*/
function () {
function Toast(element, config) {
this._element = element;
this._config = this._getConfig(config);
this._timeout = null;
this._setListeners();
this._setListeners();
} // Getters
@@ -6996,20 +6995,20 @@
}
};
_proto.hide = function hide() {
if (!this._element.classList.contains(ClassName$a.SHOW)) {
return;
}
_proto.hide = function hide() {
if (!this._element.classList.contains(ClassName$a.SHOW)) {
return;
}
var hideEvent = $.Event(Event$a.HIDE);
$(this._element).trigger(hideEvent);
var hideEvent = $.Event(Event$a.HIDE);
$(this._element).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
return;
}
if (hideEvent.isDefaultPrevented()) {
return;
}
this._close();
};
this._close();
};
_proto.dispose = function dispose() {
clearTimeout(this._timeout);
@@ -7129,7 +7128,7 @@
exports.Tooltip = Tooltip;
exports.Util = Util;
Object.defineProperty(exports, '__esModule', {value: true});
Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=bootstrap.bundle.js.map
@@ -1,764 +1 @@
{
"version": 3,
"file": "bootstrap.bundle.js",
"sources": [
"../../js/src/util.js",
"../../js/src/alert.js",
"../../js/src/button.js",
"../../js/src/carousel.js",
"../../js/src/collapse.js",
"../../node_modules/popper.js/dist/esm/popper.js",
"../../js/src/dropdown.js",
"../../js/src/modal.js",
"../../js/src/tools/sanitizer.js",
"../../js/src/tooltip.js",
"../../js/src/popover.js",
"../../js/src/scrollspy.js",
"../../js/src/tab.js",
"../../js/src/toast.js"
],
"sourcesContent": [
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be iLine truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n",
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLES : '[data-toggle=\"buttons\"]',\n DATA_TOGGLE : '[data-toggle=\"button\"]',\n DATA_TOGGLES_BUTTONS : '[data-toggle=\"buttons\"] .btn',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n } else if (input.type === 'checkbox') {\n if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n }\n } else {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n triggerChangeEvent = false\n }\n\n if (triggerChangeEvent) {\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(Selector.INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\Line truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n Line truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSiLine truncated
"/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reLine truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference =Line truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show',\n STATIC : 'modal-static'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitLine truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n",
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.Line truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n",
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n Line truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\Line truncated
"/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show',\n SHOWING : 'showing'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(Event.SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n Util.reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[Line truncated
],
"names": [
"TRANSITION_END",
"MAX_UID",
"MILLISECONDS_MULTIPLIER",
"toType",
"obj",
"toString",
"call",
"match",
"toLowerCase",
"getSpecialTransitionEndEvent",
"bindType",
"delegateType",
"handle",
"event",
"$",
"target",
"is",
"handleObj",
"handler",
"apply",
"arguments",
"undefined",
"transitionEndEmulator",
"duration",
"called",
"one",
"Util",
"setTimeout",
"triggerTransitionEnd",
"setTransitionEndSupport",
"fn",
"emulateTransitionEnd",
"special",
"getUID",
"prefix",
"Math",
"random",
"document",
"getElementById",
"getSelectorFromElement",
"element",
"selector",
"getAttribute",
"hrefAttr",
"trim",
"querySelector",
"err",
"getTransitionDurationFromElement",
"transitionDuration",
"css",
"transitionDelay",
"floatTransitionDuration",
"parseFloat",
"floatTransitionDelay",
"split",
"reflow",
"offsetHeight",
"trigger",
"supportsTransitionEnd",
"Boolean",
"isElement",
"nodeType",
"typeCheckConfig",
"componentName",
"config",
"configTypes",
"property",
"Object",
"prototype",
"hasOwnProperty",
"expectedTypes",
"value",
"valueType",
"RegExp",
"test",
"Error",
"toUpperCase",
"findShadowRoot",
"documentElement",
"attachShadow",
"getRootNode",
"root",
"ShadowRoot",
"parentNode",
"jQueryDetection",
"TypeError",
"version",
"jquery",
"minMajor",
"ltMajor",
"minMinor",
"minPatch",
"maxMajor",
"NAME",
"VERSION",
"DATA_KEY",
"EVENT_KEY",
"DATA_API_KEY",
"JQUERY_NO_CONFLICT",
"Selector",
"DISMISS",
"Event",
"CLOSE",
"CLOSED",
"CLICK_DATA_API",
"ClassName",
"ALERT",
"FADE",
"SHOW",
"Alert",
"_element",
"close",
"rootElement",
"_getRootElement",
"customEvent",
"_triggerCloseEvent",
"isDefaultPrevented",
"_removeElement",
"dispose",
"removeData",
"parent",
"closest",
"closeEvent",
"removeClass",
"hasClass",
"_destroyElement",
"detach",
"remove",
"_jQueryInterface",
"each",
"$element",
"data",
"_handleDismiss",
"alertInstance",
"preventDefault",
"on",
"Constructor",
"noConflict",
"ACTIVE",
"BUTTON",
"FOCUS",
"DATA_TOGGLE_CARROT",
"DATA_TOGGLES",
"DATA_TOGGLE",
"DATA_TOGGLES_BUTTONS",
"INPUT",
"FOCUS_BLUR_DATA_API",
"LOAD_DATA_API",
"Button",
"toggle",
"triggerChangeEvent",
"addAriaPressed",
"input",
"type",
"checked",
"classList",
"contains",
"activeElement",
"tagName",
"focus",
"hasAttribute",
"setAttribute",
"toggleClass",
"button",
"inputBtn",
"window",
"buttons",
"slice",
"querySelectorAll",
"i",
"len",
"length",
"add",
"ARROW_LEFT_KEYCODE",
"ARROW_RIGHT_KEYCODE",
"TOUCHEVENT_COMPAT_WAIT",
"SWIPE_THRESHOLD",
"Default",
"interval",
"keyboard",
"slide",
"pause",
"wrap",
"touch",
"DefaultType",
"Direction",
"NEXT",
"PREV",
"LEFT",
"RIGHT",
"SLIDE",
"SLID",
"KEYDOWN",
"MOUSEENTER",
"MOUSELEAVE",
"TOUCHSTART",
"TOUCHMOVE",
"TOUCHEND",
"POINTERDOWN",
"POINTERUP",
"DRAG_START",
"CAROUSEL",
"ITEM",
"POINTER_EVENT",
"ACTIVE_ITEM",
"ITEM_IMG",
"NEXT_PREV",
"INDICATORS",
"DATA_SLIDE",
"DATA_RIDE",
"PointerType",
"TOUCH",
"PEN",
"Carousel",
"_items",
"_interval",
"_activeElement",
"_isPaused",
"_isSliding",
"touchTimeout",
"touchStartX",
"touchDeltaX",
"_config",
"_getConfig",
"_indicatorsElement",
"_touchSupported",
"navigator",
"maxTouchPoints",
"_pointerEvent",
"PointerEvent",
"MSPointerEvent",
"_addEventListeners",
"next",
"_slide",
"nextWhenVisible",
"hidden",
"prev",
"cycle",
"clearInterval",
"setInterval",
"visibilityState",
"bind",
"to",
"index",
"activeIndex",
"_getItemIndex",
"direction",
"off",
"_handleSwipe",
"absDeltax",
"abs",
"_keydown",
"_addTouchEventListeners",
"start",
"originalEvent",
"pointerType",
"clientX",
"touches",
"move",
"end",
"clearTimeout",
"e",
"which",
"indexOf",
"_getItemByDirection",
"isNextDirection",
"isPrevDirection",
"lastItemIndex",
"isGoingToWrap",
"delta",
"itemIndex",
"_triggerSlideEvent",
"relatedTarget",
"eventDirectionName",
"targetIndex",
"fromIndex",
"slideEvent",
"from",
"_setActiveIndicatorElement",
"indicators",
"nextIndicator",
"children",
"addClass",
"activeElementIndex",
"nextElement",
"nextElementIndex",
"isCycling",
"directionalClassName",
"orderClassName",
"slidEvent",
"nextElementInterval",
"parseInt",
"defaultInterval",
"action",
"ride",
"_dataApiClickHandler",
"slideIndex",
"carousels",
"$carousel",
"SHOWN",
"HIDE",
"HIDDEN",
"COLLAPSE",
"COLLAPSING",
"COLLAPSED",
"Dimension",
"WIDTH",
"HEIGHT",
"ACTIVES",
"Collapse",
"_isTransitioning",
"_triggerArray",
"id",
"toggleList",
"elem",
"filterElement",
"filter",
"foundElem",
"_selector",
"push",
"_parent",
"_getParent",
"_addAriaAndCollapsedClass",
"hide",
"show",
"actives",
"activesData",
"not",
"startEvent",
"dimension",
"_getDimension",
"style",
"attr",
"setTransitioning",
"complete",
"capitalizedDimension",
"scrollSize",
"getBoundingClientRect",
"triggerArrayLength",
"$elem",
"isTransitioning",
"hasWidth",
"_getTargetFromElement",
"triggerArray",
"isOpen",
"$this",
"currentTarget",
"$trigger",
"selectors",
"$target",
"ESCAPE_KEYCODE",
"SPACE_KEYCODE",
"TAB_KEYCODE",
"ARROW_UP_KEYCODE",
"ARROW_DOWN_KEYCODE",
"RIGHT_MOUSE_BUTTON_WHICH",
"REGEXP_KEYDOWN",
"CLICK",
"KEYDOWN_DATA_API",
"KEYUP_DATA_API",
"DISABLED",
"DROPUP",
"DROPRIGHT",
"DROPLEFT",
"MENURIGHT",
"MENULEFT",
"POSITION_STATIC",
"FORM_CHILD",
"MENU",
"NAVBAR_NAV",
"VISIBLE_ITEMS",
"AttachmentMap",
"TOP",
"TOPEND",
"BOTTOM",
"BOTTOMEND",
"RIGHTEND",
"LEFTEND",
"offset",
"flip",
"boundary",
"reference",
"display",
"popperConfig",
"Dropdown",
"_popper",
"_menu",
"_getMenuElement",
"_inNavbar",
"_detectNavbar",
"disabled",
"isActive",
"_clearMenus",
"usePopper",
"showEvent",
"_getParentFromElement",
"Popper",
"referenceElement",
"_getPopperConfig",
"body",
"noop",
"hideEvent",
"destroy",
"update",
"scheduleUpdate",
"stopPropagation",
"constructor",
"_getPlacement",
"$parentDropdown",
"placement",
"_getOffset",
"offsets",
"modifiers",
"enabled",
"preventOverflow",
"boundariesElement",
"applyStyle",
"toggles",
"context",
"clickEvent",
"dropdownMenu",
"_dataApiKeydownHandler",
"items",
"item",
"backdrop",
"HIDE_PREVENTED",
"FOCUSIN",
"RESIZE",
"CLICK_DISMISS",
"KEYDOWN_DISMISS",
"MOUSEUP_DISMISS",
"MOUSEDOWN_DISMISS",
"SCROLLABLE",
"SCROLLBAR_MEASURER",
"BACKDROP",
"OPEN",
"STATIC",
"DIALOG",
"MODAL_BODY",
"DATA_DISMISS",
"FIXED_CONTENT",
"STICKY_CONTENT",
"Modal",
"_dialog",
"_backdrop",
"_isShown",
"_isBodyOverflowing",
"_ignoreBackdropClick",
"_scrollbarWidth",
"_checkScrollbar",
"_setScrollbar",
"_adjustDialog",
"_setEscapeEvent",
"_setResizeEvent",
"_showBackdrop",
"_showElement",
"transition",
"_hideModal",
"forEach",
"htmlElement",
"handleUpdate",
"_triggerBackdropTransition",
"hideEventPrevented",
"defaultPrevented",
"modalTransitionDuration",
"modalBody",
"Node",
"ELEMENT_NODE",
"appendChild",
"removeAttribute",
"scrollTop",
"_enforceFocus",
"shownEvent",
"transitionComplete",
"has",
"_resetAdjustments",
"_resetScrollbar",
"_removeBackdrop",
"callback",
"animate",
"createElement",
"className",
"appendTo",
"backdropTransitionDuration",
"callbackRemove",
"isModalOverflowing",
"scrollHeight",
"clientHeight",
"paddingLeft",
"paddingRight",
"rect",
"left",
"right",
"innerWidth",
"_getScrollbarWidth",
"fixedContent",
"stickyContent",
"actualPadding",
"calculatedPadding",
"actualMargin",
"marginRight",
"calculatedMargin",
"padding",
"elements",
"margin",
"scrollDiv",
"scrollbarWidth",
"width",
"clientWidth",
"removeChild",
"uriAttrs",
"ARIA_ATTRIBUTE_PATTERN",
"DefaultWhitelist",
"a",
"area",
"b",
"br",
"col",
"code",
"div",
"em",
"hr",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"img",
"li",
"ol",
"p",
"pre",
"s",
"small",
"span",
"sub",
"sup",
"strong",
"u",
"ul",
"SAFE_URL_PATTERN",
"DATA_URL_PATTERN",
"allowedAttribute",
"allowedAttributeList",
"attrName",
"nodeName",
"nodeValue",
"regExp",
"attrRegex",
"l",
"sanitizeHtml",
"unsafeHtml",
"whiteList",
"sanitizeFn",
"domParser",
"DOMParser",
"createdDocument",
"parseFromString",
"whitelistKeys",
"keys",
"el",
"elName",
"attributeList",
"attributes",
"whitelistedAttributes",
"concat",
"innerHTML",
"CLASS_PREFIX",
"BSCLS_PREFIX_REGEX",
"DISALLOWED_ATTRIBUTES",
"animation",
"template",
"title",
"delay",
"html",
"container",
"fallbackPlacement",
"sanitize",
"AUTO",
"HoverState",
"OUT",
"INSERTED",
"FOCUSOUT",
"TOOLTIP",
"TOOLTIP_INNER",
"ARROW",
"Trigger",
"HOVER",
"MANUAL",
"Tooltip",
"_isEnabled",
"_timeout",
"_hoverState",
"_activeTrigger",
"tip",
"_setListeners",
"enable",
"disable",
"toggleEnabled",
"dataKey",
"_getDelegateConfig",
"click",
"_isWithActiveTrigger",
"_enter",
"_leave",
"getTipElement",
"_hideModalHandler",
"isWithContent",
"shadowRoot",
"isInTheDom",
"ownerDocument",
"tipId",
"setContent",
"attachment",
"_getAttachment",
"addAttachmentClass",
"_getContainer",
"_fixTransition",
"prevHoverState",
"_cleanTipClass",
"getTitle",
"setElementContent",
"content",
"empty",
"append",
"text",
"defaultBsConfig",
"behavior",
"arrow",
"onCreate",
"originalPlacement",
"_handlePopperPlacementChange",
"onUpdate",
"find",
"triggers",
"eventIn",
"eventOut",
"_fixTitle",
"titleType",
"dataAttributes",
"dataAttr",
"key",
"$tip",
"tabClass",
"join",
"popperData",
"popperInstance",
"instance",
"popper",
"initConfigAnimation",
"TITLE",
"CONTENT",
"Popover",
"_getContent",
"method",
"ACTIVATE",
"SCROLL",
"DROPDOWN_ITEM",
"DROPDOWN_MENU",
"DATA_SPY",
"NAV_LIST_GROUP",
"NAV_LINKS",
"NAV_ITEMS",
"LIST_ITEMS",
"DROPDOWN",
"DROPDOWN_ITEMS",
"DROPDOWN_TOGGLE",
"OffsetMethod",
"OFFSET",
"POSITION",
"ScrollSpy",
"_scrollElement",
"_offsets",
"_targets",
"_activeTarget",
"_scrollHeight",
"_process",
"refresh",
"autoMethod",
"offsetMethod",
"offsetBase",
"_getScrollTop",
"_getScrollHeight",
"targets",
"map",
"targetSelector",
"targetBCR",
"height",
"top",
"sort",
"pageYOffset",
"max",
"_getOffsetHeight",
"innerHeight",
"maxScroll",
"_activate",
"_clear",
"offsetLength",
"isActiveTarget",
"queries",
"$link",
"parents",
"node",
"scrollSpys",
"scrollSpysLength",
"$spy",
"ACTIVE_UL",
"DROPDOWN_ACTIVE_CHILD",
"Tab",
"previous",
"listElement",
"itemSelector",
"makeArray",
"hiddenEvent",
"activeElements",
"active",
"_transitionComplete",
"dropdownChild",
"dropdownElement",
"dropdownToggleList",
"SHOWING",
"autohide",
"Toast",
"_close"
],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;AAOA,EAEA;;;;;;EAMA,IAAMA,cAAc,GAAG,eAAvB;EACA,IAAMC,OAAO,GAAG,OAAhB;EACA,IAAMC,uBAAuB,GAAG,IAAhC;;EAGA,SAASC,MAAT,CAAgBC,GAAhB,EAAqB;EACnB,SAAO,GAAGC,QAAH,CAAYC,IAAZ,CAAiBF,GAAjB,EAAsBG,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAP;EACD;;EAED,SAASC,4BAAT,GAAwC;EACtC,SAAO;EACLC,IAAAA,QAAQ,EAAEV,cADL;EAELW,IAAAA,YAAY,EAAEX,cAFT;EAGLY,IAAAA,MAHK,kBAGEC,KAHF,EAGS;EACZ,UAAIC,CAAC,CAACD,KAAK,CAACE,MAAP,CAAD,CAAgBC,EAAhB,CAAmB,IAAnB,CAAJ,EAA8B;EAC5B,eAAOH,KAAK,CAACI,SAAN,CAAgBC,OAAhB,CAAwBC,KAAxB,CAA8B,IAA9B,EAAoCC,SAApC,CAAP,CAD4B;EAE7B;;EACD,aAAOC,SAAP,CAJY;EAKb;EARI,GAAP;EAUD;;EAED,SAASC,qBAAT,CAA+BC,QAA/B,EAAyC;EAAA;;EACvC,MAAIC,MAAM,GAAG,KAAb;EAEAV,EAAAA,CAAC,CAAC,IAAD,CAAD,CAAQW,GAAR,CAAYC,IAAI,CAAC1B,cAAjB,EAAiC,YAAM;EACrCwB,IAAAA,MAAM,GAAG,IAAT;EACD,GAFD;EAIAG,EAAAA,UAAU,CAAC,YAAM;EACf,QAAI,CAACH,MAAL,EAAa;EACXE,MAAAA,IAAI,CAACE,oBAAL,CAA0B,KAA1B;EACD;EACF,GAJS,EAIPL,QAJO,CAAV;EAMA,SAAO,IAAP;EACD;;EAED,SAASM,uBAAT,GAAmC;EACjCf,EAAAA,CAAC,CAACgB,EAAF,CAAKC,oBAAL,GAA4BT,qBAA5B;EACAR,EAAAA,CAAC,CAACD,KAAF,CAAQmB,OAAR,CAAgBN,IAAI,CAAC1B,cAArB,IAAuCS,4BAA4B,EAAnE;EACD;EAED;;;;;;;EAMA,IAAMiB,IAAI,GAAG;EAEX1B,EAAAA,cAAc,EAAE,iBAFL;EAIXiC,EAAAA,MAJW,kBAIJC,MAJI,EAII;EACb,OAAG;EACD;EACAA,MAAAA,MAAM,IAAI,CAAC,EAAEC,IAAI,CAACC,MAAL,KAAgBnC,OAAlB,CAAX,CAFC;EAGF,KAHD,QAGSoC,QAAQ,CAACC,cAAT,CAAwBJ,MAAxB,CAHT;;EAIA,WAAOA,MAAP;EACD,GAVU;EAYXK,EAAAA,sBAZW,kCAYYC,OAZZ,EAYqB;EAC9B,QAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,aAArB,CAAf;;EAEA,QAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,UAAME,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAjB;EACAD,MAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACC,IAAT,EAA/B,GAAiD,EAA5D;EACD;;EAED,QAAI;EACF,aAAOP,QAAQ,CAACQ,aAAT,CAAuBJ,QAAvB,IAAmCA,QAAnC,GAA8C,IAArD;EACD,KAFD,CAEE,OAAOK,GAAP,EAAY;EACZ,aAAO,IAAP;EACD;EACF,GAzBU;EA2BXC,EAAAA,gCA3BW,4CA2BsBP,OA3BtB,EA2B+B;EACxC,QAAI,CAACA,OAAL,EAAc;EACZ,aAAO,CAAP;EACD,KAHuC;;;EAMxC,QAAIQ,kBAAkB,GAAGlC,CAAC,CAAC0B,OAAD,CAAD,CAAWS,GAAX,CAAe,qBAAf,CAAzB;EACA,QAAIC,eAAe,GAAGpC,CAAC,CAAC0B,OAAD,CAAD,CAAWS,GAAX,CAAe,kBAAf,CAAtB;EAEA,QAAME,uBAAuB,GAAGC,UAAU,CAACJ,kBAAD,CAA1C;EACA,QAAMK,oBAAoB,GAAGD,UAAU,CAACF,eAAD,CAAvC,CAVwC;;EAaxC,QAAI,CAACC,uBAAD,IAA4B,CAACE,oBAAjC,EAAuD;EACrD,aAAO,CAAP;EACD,KAfuC;;;EAkBxCL,IAAAA,kBAAkB,GAAGA,kBAAkB,CAACM,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAArB;EACAJ,IAAAA,eAAe,GAAGA,eAAe,CAACI,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAlB;EAEA,WAAO,CAACF,UAAU,CAACJ,kBAAD,CAAV,GAAiCI,UAAU,CAACF,eAAD,CAA5C,IAAiEhD,uBAAxE;EACD,GAjDU;EAmDXqD,EAAAA,MAnDW,kBAmDJf,OAnDI,EAmDK;EACd,WAAOA,OAAO,CAACgB,YAAf;EACD,GArDU;EAuDX5B,EAAAA,oBAvDW,gCAuDUY,OAvDV,EAuDmB;EAC5B1B,IAAAA,CAAC,CAAC0B,OAAD,CAAD,CAAWiB,OAAX,CAAmBzD,cAAnB;EACD,GAzDU;EA2DX;EACA0D,EAAAA,qBA5DW,mCA4Da;EACtB,WAAOC,OAAO,CAAC3D,cAAD,CAAd;EACD,GA9DU;EAgEX4D,EAAAA,SAhEW,qBAgEDxD,GAhEC,EAgEI;EACb,WAAO,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgByD,QAAvB;EACD,GAlEU;EAoEXC,EAAAA,eApEW,2BAoEKC,aApEL,EAoEoBC,MApEpB,EAoE4BC,WApE5B,EAoEyC;EAClD,SAAK,IAAMC,QAAX,IAAuBD,WAAvB,EAAoC;EAClC,UAAIE,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgC/D,IAAhC,CAAqC2D,WAArC,EAAkDC,QAAlD,CAAJ,EAAiE;EAC/D,YAAMI,aAAa,GAAGL,WAAW,CAACC,QAAD,CAAjC;EACA,YAAMK,KAAK,GAAWP,MAAM,CAACE,QAAD,CAA5B;EACA,YAAMM,SAAS,GAAOD,KAAK,IAAI7C,IAAI,CAACkC,SAAL,CAAeW,KAAf,CAAT,GAClB,SADkB,GACNpE,MAAM,CAACoE,KAAD,CADtB;;EAGA,YAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;EAC9C,gBAAM,IAAIG,KAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWV,QADX,2BACuCM,SADvC,sCAEsBF,aAFtB,SADI,CAAN;EAID;EACF;EACF;EACF,GApFU;EAsFXO,EAAAA,cAtFW,0BAsFIrC,OAtFJ,EAsFa;EACtB,QAAI,CAACH,QAAQ,CAACyC,eAAT,CAAyBC,YAA9B,EAA4C;EAC1C,aAAO,IAAP;EACD,KAHqB;;;EAMtB,QAAI,OAAOvC,OAAO,CAACwC,WAAf,KAA+B,UAAnC,EAA+C;EAC7C,UAAMC,IAAI,GAAGzC,OAAO,CAACwC,WAAR,EAAb;EACA,aAAOC,IAAI,YAAYC,UAAhB,GAA6BD,IAA7B,GAAoC,IAA3C;EACD;;EAED,QAAIzC,OAAO,YAAY0C,UAAvB,EAAmC;EACjC,aAAO1C,OAAP;EACD,KAbqB;;;EAgBtB,QAAI,CAACA,OAAO,CAAC2C,UAAb,EAAyB;EACvB,aAAO,IAAP;EACD;;EAED,WAAOzD,IAAI,CAACmD,cAAL,CAAoBrC,OAAO,CAAC2C,UAA5B,CAAP;EACD,GA3GU;EA6GXC,EAAAA,eA7GW,6BA6GO;EAChB,QAAI,OAAOtE,CAAP,KAAa,WAAjB,EAA8B;EAC5B,YAAM,IAAIuE,SAAJ,CAAc,kGAAd,CAAN;EACD;;EAED,QAAMC,OAAO,GAAGxE,CAAC,CAACgB,EAAF,CAAKyD,MAAL,CAAYjC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,EAA0BA,KAA1B,CAAgC,GAAhC,CAAhB;EACA,QAAMkC,QAAQ,GAAG,CAAjB;EACA,QAAMC,OAAO,GAAG,CAAhB;EACA,QAAMC,QAAQ,GAAG,CAAjB;EACA,QAAMC,QAAQ,GAAG,CAAjB;EACA,QAAMC,QAAQ,GAAG,CAAjB;;EAEA,QAAIN,OAAO,CAAC,CAAD,CAAP,GAAaG,OAAb,IAAwBH,OAAO,CAAC,CAAD,CAAP,GAAaI,QAArC,IAAiDJ,OAAO,CAAC,CAAD,CAAP,KAAeE,QAAf,IAA2BF,OAAO,CAAC,CAAD,CAAP,KAAeI,QAA1C,IAAsDJ,OAAO,CAAC,CAAD,CAAP,GAAaK,QAApH,IAAgIL,OAAO,CAAC,CAAD,CAAP,IAAcM,QAAlJ,EAA4J;EAC1J,YAAM,IAAIjB,KAAJ,CAAU,8EAAV,CAAN;EACD;EACF;EA5HU,CAAb;EA+HAjD,IAAI,CAAC0D,eAAL;EACAvD,uBAAuB;;ECtLvB;;;;;;EAMA,IAAMgE,IAAI,GAAkB,OAA5B;EACA,IAAMC,OAAO,GAAe,OAA5B;EACA,IAAMC,QAAQ,GAAc,UAA5B;EACA,IAAMC,SAAS,SAAiBD,QAAhC;EACA,IAAME,YAAY,GAAU,WAA5B;EACA,IAAMC,kBAAkB,GAAIpF,CAAC,CAACgB,EAAF,CAAK+D,IAAL,CAA5B;EAEA,IAAMM,QAAQ,GAAG;EACfC,EAAAA,OAAO,EAAG;EADK,CAAjB;EAIALine truncated
}
{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getLine truncated
File diff suppressed because it is too large. Load diff
+17 -15
View File
@@ -44,17 +44,21 @@
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<!-- <img src="lib/AdminLTE/dist/img/user2-160x160.jpg" class="img-circle elevation-2" alt="User Image"> -->
<i class="nav-icon fas fa-user img-circle elevation-2" style="color:white"></i>
</div>
<!-- <i class="nav-icon fas fa-tachometer-alt"></i> -->
<div class="info">
<a href="user.html" class="d-block" id="userlabel">Username to set!</a>
</div>
</div>
<!-- Sidebar User -->
<nav class="user-panel mt-3 pb-3 mb-3">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
data-accordion="false">
<li class="nav-item">
<a href="user.html" class="nav-link">
<i class="nav-icon fas fa-user"></i>
<p id="userlabel">
Username to set!
</p>
</a>
</li>
</ul>
</nav>
<!-- Sidebar Menu -->
<nav class="mt-2">
@@ -113,7 +117,7 @@
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark">Dashboard</h1>
<h1 class="m-0 text-dark sandwich"><i class="fas fa-bars"></i> &ensp;User Area</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
@@ -142,7 +146,6 @@
<div class="icon">
<i class="ion ion-bag"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
@@ -157,7 +160,6 @@
<div class="icon">
<i class="ion ion-stats-bars"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- ./col -->
@@ -269,7 +271,7 @@
<!-- custom js -->
<script src="js/userManager.js"></script>
<script src="js/general.js"></script>
</body>
</html>