label:not(.form-check-label):not(.custom-file-label) { font-weight: normal; }
.hand { cursor: pointer; }
.nav-sidebar .nav-link p { margin-left: 5px; }
.nav-sidebar .nav-header:not(:first-of-type) { padding: 1rem .5rem; }
.list-group-item { padding: 0.25rem 0.75rem; }
.noborder { border: none; }
.fitted-image { width: 100%; height: 100%; object-fit: contain; }
.fit-top-center { object-position: 50% 50%; }
.inline { display: inline; width: auto; }
.scrollable { overflow-y: scroll; }
.h-90 { height: 90%; }
.h-90 .modal-body { max-height: 100%; overflow-y: scroll; }
/* required inputs */
.form-control { font-size: inherit; }
.form-group.required .col-form-label:after { content: "*"; color: red; }
/* collapsible column */
/* https://www.broculos.net/2015/08/how-to-build-collapsible-sidebars-with.html */
.expanded { display: block; margin-left: -25%; /* same width as sidebar */}

@media (min-width: 992px) {
    .expanded { display: none; /* hide it for small displays */}
}

#row-main { overflow-x: hidden; /* necessary to hide collapsed sidebar */ }
#content {
    -webkit-transition: width 0.3s ease;
    -moz-transition: width 0.3s ease;
    -o-transition: width 0.3s ease;
    transition: width 0.3s ease;
}
#sidebar {
    -webkit-transition: margin 0.3s ease;
    -moz-transition: margin 0.3s ease;
    -o-transition: margin 0.3s ease;
    transition: margin 0.3s ease;
}

.btn-app { font-size: 1rem; height: auto; min-width: 100px; }

/* The switch - the box around the slider */
.switch { position: relative; display: inline-block; width: 30px; height: 17px;}
/* Hide default HTML checkbox */
.switch input {opacity: 0; width: 0; height: 0; }
/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}
.slider:before {
    position: absolute;
    content: "";
    height: 13px;
    width: 13px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}
input:checked + .slider { background-color: #2196F3; }
input:focus + .slider { box-shadow: 0 0 1px #2196F3; }
input:checked + .slider:before {-webkit-transform: translateX(16px); -ms-transform: translateX(16px); transform: translateX(16px); }
/* Rounded sliders */
.slider.round { border-radius: 17px; }
.slider.round:before { border-radius: 50%; }
.product-image { width:100%; height:20vw; object-fit:cover; }
.product-badge { position:absolute; top:0px; right:40px; padding:0px 5px; background:#2196F3; color:white; }

.heading-1 { position:relative; text-align: center; }
.heading-1:before {
  content: "";
  display: block;
  border-top: solid 2px rgba(0,0,0,.1);
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  z-index: 0;
}
.heading-1 span {
  background: #fff;
  padding: 0 10px;
  position: relative;
  z-index: 1;
}