body
{
  padding-top: 20px;
  padding-bottom: 20px;
}

@media (min-width: 768px)
{
  body
  {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.alert.statcard
{
  color: black;
}

.alert.statcard-primary,
.alert.statcard-danger,
.alert.statcard-success
{
  color: white;
}

.card
{
  background-color: #30343e;
}

.card-header
{
  background-color: rgba(0,0,0,.15);
}

.text-normal
{
  letter-spacing: initial;
  text-transform: initial;
}

th.min,
td.min
{
  width: 0.1%;
}

.table-highlight td
{
  background-color: rgba(27, 201, 143, 0.1);
}

.nav-link
{
  padding: .25rem 1rem;
}

table.merge-input td
{
  padding: 0;
}

table.merge-input tr:not(.top) input,
table.merge-input tr:not(.top) .input-group-addon
{
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

table.merge-input tr:not(:last-child):not(.bottom) input,
table.merge-input tr:not(:last-child):not(.bottom) .input-group-addon
{
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.modal .input-group-addon,
.dropdown-menu .input-group-addon
{
  color: #434857;
  background-color: #eee;
  border-color: rgba(0,0,0,.2);
}

.spinner
{
  display: inline-block;
  vertical-align: middle;
  border-radius: 1.2em;
  width: 1.2em;
  height: 1.2em;
  border: 0.2em solid currentColor;
  border-right-color: transparent;
  position: relative;
  animation: spin 1.5s linear infinite;
}

@keyframes spin
{
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.onlychild
{
  display: none;
}

.onlychild:first-child:last-child
{
  display: initial;
}

.btn-remove-card
{
  position: absolute;
  right: 0;
  top: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  border-top-right-radius: calc(.25rem - 1px);
  color: inherit;
}

.btn-remove-card:hover
{
  color: #E64759;
}

.btn-remove-card:focus
{
  -webkit-box-shadow: 0 0 0 3px rgba(230, 71, 89,.25);
  box-shadow: 0 0 0 3px rgba(230, 71, 89,.25);
}

.card:hover .btn-remove-card
{
  background: inherit;
}

.cover
{
  object-fit: cover;
}

.contain
{
  object-fit: contain;
}

.tag
{
  border: 1px solid #434857;
  background: #2D303A;
  display: inline-block;
}

.tag .btn
{
  margin-top: -.5rem;
  margin-bottom: -.5rem;
}

.tag:first-child:last-child .btn
{
  display: none;
}

.tag:first-child:last-child
{
  padding-right: .5rem;
}

.absolute-fill
{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.event-thumb-hint span
{
  line-height: 0;
  top: 50%;
  position: relative;
}

.dz-drag-hover
{
  border: 2px dashed #1997C6;
  background: rgba(25, 151, 198, 0.1);
}

.drop-zone
{
  cursor: pointer;
}

.drop-zone .progress
{
  margin-top: 1em;
}

.event-description
{
  background: rgba(25, 151, 198, 0.7);
  display: none;
  color: white;
}

.card:hover .event-description
{
  display: initial;
}

a.card-link
{
  text-decoration: none !important;
}

.badge-light
{
  color: #212529;
  background-color: #f8f9fa;
}

.nav-link .badge
{
  position: relative;
  top: -1px;
}

.sidebar-brand-icon
{
  color: #1997C6;
}

.sidebar-brand-icon:hover
{
  color: #157DA4;
}

.embed-responsive-width > *
{
  width: 100%;
  min-width: 100%;
  border: 0;
}

.jscolor
{
  width: 8.5em;
  height: 31px;
  transition: background 0s, color 0s;
  border-radius: 0;
  border: none;
}

.jscolor.alpha
{
  width: 9.8em;
}

.input-with-icon .icon
{
  top: 4px;
  right: 10px;
  left: unset;
  cursor: pointer;
}

.branding-image
{
  position: relative;
  min-height: 30px;
}

.datepicker > div
{
  display: inherit;
}

.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover
{
  color: inherit;
  background-color: #ffdb99;
}

.timepicker
{
  color: #434857;
}

a:not([href]):not([tabindex])[data-action="today"]
{
  color: #1997c6;
}

a:not([href]):not([tabindex])[data-action="today"]:hover
{
  color: #106382;
}

ul.nav ul.nav li.nav-item,
ul.nav li:not(.nav-item)
{
  position: relative;
}

ul.nav ul.nav li.nav-item:before
{
  content: '';
  display: block;
  position: absolute;
  width: 0.5rem;
  left: 0.1rem;
  height: 100%;
  top: -50%;
  border-left: 1px solid #434857;
  border-bottom: 1px solid #434857;
}

ul.nav ul.nav li.nav-item:first-child:before
{
  height: 50%;
  top: 0;
}

ul.nav ul.nav li:not(.nav-item):not(:last-child):before
{
  content: '';
  display: block;
  position: absolute;
  left: 0.1rem;
  height: calc(100% + 1rem);
  bottom: 0;
  border-left: 1px solid #434857;
}

ul.nav ul.nav li.nav-item a.active
{
  margin-left: 0.65rem;
  padding-left: 0.35rem;
}

.nav-root
{
  overflow-x: auto;
}

ul.nav ul.nav li.nav-item a
{
  white-space: nowrap;
  padding-top: 0;
  padding-bottom: 0;
}

.form-hint
{
  line-height: 1.2em;
  padding-top: 0.2em;
}

.form-group.row .col-sm-10:first-child
{
  margin-left: 16.666667%;
}

.sidebar-brand > img
{
  height: unset;
  max-height: 40px;
  max-width: 100%;
}

@media (min-width: 576px)
{
  .sidebar-brand > img
  {
    max-height: 60px;
  }
}

b, strong
{
  font-weight: bold;
}

a.play-event
{
  transition: background ease 200ms;
}

a.play-event:hover
{
  background: rgba(0, 0, 0, 0.3);
}

a.play-event i
{
  display: inline-block;
  top: 50%;
  position: relative;
  transform: translateY(-50%);
  color: white;
  font-size: 4em;
  text-shadow: 0 0 5px black;
}

.countdown-overlay div
{
  background: rgba(0, 0, 0, 0.35);
  position: absolute;
  width: 30%;
  color: white;
  font-weight: bold;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  top: 10%;
  padding: 30px 15px;
  text-align: right;
}

#timers .drag-handle
{
  position: absolute;
}

.drag-handle
{
  display: inline-block;
  width: 0.9em;
  height: 0.7em;
  cursor: n-resize;
}

.drag-handle div
{
  border: 0.06em solid #ccc;
  margin-bottom: 0.22em;
  height: 0;
}

.no-select
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.modal .custom-control-input:not(:checked) ~ .custom-control-indicator
{
  background: #dee2e6;
}

.custom-control-input:disabled ~ .custom-control-indicator
{
  background-color: #30343f;
}

#timers h2
{
  margin-top: 20px;
}

#timers .statcard-primary a
{
  color: rgba(0, 0, 0, 0.5);
}

#timers .green
{
  color: green;
}

#timers .statcard-primary .green
{
  color: lime;
}

#timers .red
{
  color: red;
}

#timers li:first-child
{
  border: none;
}

#timers li
{
  border-left: none;
  border-bottom: none;
  border-right: none;
}

.card-header.p-0 > button:last-child,
.card-header.p-0 > a.btn:last-child
{
  border-radius: 0;
  border-top-right-radius: .2rem;
}

.btn-switch .icon-controller-record
{
  font-size: 180%;
  margin-top: -0.3rem;
  display: inline-block;
}

.btn-switch
{
  line-height: 0;
  padding: 2.5px 0;
}

.btn-switch:not(.badge-success)
{
  background-color: #434857;
  border-color: #434857;
}

.btn-switch:not(.badge-success):focus
{
  box-shadow: 0 0 0 3px rgba(67, 72, 87, .5);
}

.data-toggle-buttons input
{
  position: absolute;
  clip: rect(0,0,0,0);
  pointer-events: none;
}

.card.flex-row
{
  overflow: hidden;
}

.relative
{
  position: relative;
}

.mute-warning
{
  position: absolute;
  bottom: 100%;
  left: 50%;
  font-size: .9rem;
  background: #000B;
  padding: 2px 5px;
  margin-bottom: 10px;
  white-space: nowrap;
  cursor: auto;
}

.mute-warning:before
{
  content: "";
  display: block;
  position: absolute;
  border: 5px solid #000B;
  border-right-color: transparent;
  border-bottom-color: transparent;
  top: 100%;
  left: 0;
}

.max-h-300
{
  max-height: 300px;
}
