/* Test Code Goes Here !!! */

/* End of Test Code */

/* Disable Input Number Increment/Decrement */
/* Chrome, Safari, Edge, Opera */

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}

/* special datatable */
.specialrmdtm {
  margin: 0px !important;
}

.specialrmdtp {
  padding: 0px !important;
}

.secure-alert-box {
  word-break: break-word;
  width: 35% !important;
}

.secure-break {
  word-break: break-word;
}

.paging_simple_numbers {
  float: right;
}

@media screen and (max-width: 767px) {
  li.paginate_button.previous {
    display: inline;
  }

  li.paginate_button.next {
    display: inline;
  }

  li.paginate_button {
    display: none;
  }
}

/* textarea no resize */
.textnoresize {
  resize: none !important;
}

/* Custom Scroll */
.scroll-light::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.scroll-light::-webkit-scrollbar-thumb {
  background: lightgray;
}

/* Text Select Disabled */
.user-disabled {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

/* Make item selected have blue (border) shadow */
.selected {
  -webkit-box-shadow: 0px 0px 0px 6px rgba(74, 151, 223, 1);
  -moz-box-shadow: 0px 0px 0px 6px rgba(74, 151, 223, 1);
  box-shadow: 0px 0px 0px 6px rgba(74, 151, 223, 1);
}

/* Make item active on border*/
.border-active {
  margin-bottom: -9px;
  border-width: 3px !important;
}

.border-active-2 {
  padding-bottom: 16px !important;
  border-width: 3px !important;
}

/* MAKE FOOTER ALWAYS BOTTOM !!! */
html {
  position: relative;
  min-height: 100%;
}

footer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  overflow: hidden;
}

/* Dropdown and popover style */

/* Dropdown and popover selected item blue remover*/
.dropdown-item:focus {
  background-color: white;
}

/* Popover overide */
.popover {
  /* maybe notification can to wide cause i change from 350px to 100% */
  max-width: 350px;
  width: auto;
}

.dropdown-menu {
  min-width: 50px;
}

/* Select2 overide */
.select2-container .select2-selection--single {
  height: 38px !important;
}

.select2-selection__rendered {
  margin-left: 10px !important;
}

.select2-selection--single .select2-selection__rendered {
  line-height: 34px !important;
}

.select2-selection__arrow {
  height: 34px !important;
}

/* select2 placeholder width overider */
.select2-container .select2-search__field {
  width: 100% !important;
}

/* material icon aligment fix */
.material-icons {
  display: inline-flex;
  vertical-align: middle;
  margin-top: -2px;
}

/* font size */
.fs-12 {
  font-size: 12px !important;
}

/* medium modal */
.modal-md {
  max-width: 70% !important;
}

/* table center */
.table-center {
  text-align: center;
}

/* a href remove decoration (underline etc)*/
a {
  text-decoration: none !important;
}

/* Closed submenu icon */
.btn[aria-expanded="false"] .btn-dropdown::after {
  content: " keyboard_arrow_down";
  font-family: Material Icons;
  display: inline;
  text-align: right;
  vertical-align: middle;
}

/* Opened submenu icon */
.btn[aria-expanded="true"] .btn-dropdown::after {
  content: " keyboard_arrow_up";
  font-family: Material Icons;
  display: inline;
  text-align: right;
  vertical-align: middle;
}

/* Button back to Top */
.back-to-top {
  cursor: pointer;
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none;
  z-index: 10;
}

/* Cursor style */
.cursoron {
  cursor: pointer;
}

.moveon {
  cursor: move;
  opacity: 0.3;
}

.moveon:hover {
  opacity: 1;
}

.cursordefault {
  cursor: default;
}

.overtext {
  overflow: hidden;
  word-break: break-all;
}

.overtext-wrap {
  word-wrap: break-word;
}

/* Album Stack Card Effect */
.album {
  background: #fff;
  box-shadow:
    /* The top layer shadow */
    0 -1px 1px rgba(0, 0, 0, 0.15),
    /* The second layer */
    0 -10px 0 -5px #eee,
    /* The second layer shadow */
    0 -10px 1px -4px rgba(0, 0, 0, 0.15),
    /* The third layer */
    0 -20px 0 -10px #eee,
    /* The third layer shadow */
    0 -20px 1px -9px rgba(0, 0, 0, 0.15);
  /* Padding for demo purposes */
  padding: 5px;
}

/* Modification COLORS */

/* bg navbar like youtube */
.bg-darker {
  background: #222222;
}

.bg-primary-light {
  background: #0099ff;
}

.bg-danger-light {
  background: #e34c4c;
}

.telkom-red {
  color: #d31101;
}

.bg-telkom-red {
  background-color: #d31101;
}

/* custom shadow */
.shadow-primary {
  box-shadow: 0px 0px 5px 1px #3f51b5 !important;
}

.shadow-success {
  box-shadow: 0px 0px 5px 1px #28a745 !important;
}

.shadow-success-strong {
  box-shadow: 0px 0px 0px 2px #28a745 !important;
}

.shadow-info {
  box-shadow: 0px 0px 5px 1px #17a2b8 !important;
}

.shadow-warning {
  box-shadow: 0px 0px 5px 1px #ffc107 !important;
}

.shadow-danger {
  box-shadow: 0px 0px 5px 1px #dc3545 !important;
}

.shadow-danger-strong {
  box-shadow: 0px 0px 0px 2px #dc3545 !important;
}

/* text shadow */
.text-shadow {
  text-shadow: 2px 2px 15px #000000;
}

/* hover by opacity */
.hidden-hover {
  opacity: 0.6;
}

tr:hover .hidden-hover {
  opacity: 1;
}

a:hover .hidden-hover {
  opacity: 1;
}

/* hover breadcrum by opacity */
.breadcrumb-hover {
  opacity: 0.6;
}

.breadcrumb-hover:hover {
  opacity: 1;
}

/* hover highlight */
.highlight-hover:hover div {
  background-color: #dd2c00 !important;
  color: white !important;
  border-radius: 3px;
}

.highlight-hover-row:hover {
  background-color: #f4f4f4;
  color: white !important;
  padding: 0px;
}

.highlight-icon-hover:hover .material-icons {
  color: #424242 !important;
}

.playlist-hover:hover .row {
  background-color: black !important;
}

/* checkbox bootstrap when no label fix */
.custom-control-label {
  vertical-align: top;
}

/* Dot Circle Animation */
.ring-container {
  position: relative;
}

.circle {
  width: 6px;
  height: 6px;
  background-color: #d31201;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 10px;
}

.ringring {
  border: 3px solid #d31201;
  -webkit-border-radius: 30px;
  height: 16px;
  width: 16px;
  position: absolute;
  left: 5px;
  top: 5px;
  -webkit-animation: pulsate 1s ease-out;
  -webkit-animation-iteration-count: infinite;
  opacity: 0;
}

@-webkit-keyframes pulsate {
  0% {
    -webkit-transform: scale(0.1, 0.1);
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(1.2, 1.2);
    opacity: 0;
  }
}

/* Position center vertical and horizontal (please aware using when containt height is over : scrolling is not detect able) */

.super-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  padding: 20px;
}

.truncate-short {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.truncate-1 {
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.truncate-2 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.truncate-3 {
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.skeleton-loader {
  background-image: linear-gradient(90deg, #eee 8%, #dadada 33%, #eee 34%);
  background-size: 1200px;
  /* height: 28px; */
  /* display: block; */
  /* margin: 12px 0; */
  animation: load-anim 1.2s infinite linear;
  /* animation-fill-mode: backwards; */
  /* animation-delay: 0.3s; */
}

.btn-play-episode {
  height: 36px;
  width: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #dc3444;
  cursor: pointer;
  user-select: none;
}

.btn-play-episode:hover,
.btn-play-all:hover {
  /* transform scale */
  transform: scale(1.1);
  transition: all 0.2s ease-in-out;
}

.btn-play-episode i {
  font-size: 20px;
  color: white;
}

/* Custom Slider */
.custom-slider {
  width: 100%;
  height: 6px;
  /* warna track */
  border-radius: 3px;
  appearance: none;
}

.custom-slider.small {
  height: 3px;
}

/* Track untuk Webkit (Chrome, Safari) */
.custom-slider::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 3px;
}

.custom-slider.small::-webkit-slider-runnable-track {
  height: 3px;
  border-radius: 3px;
}

/* Thumb (titik geser) untuk Webkit */
.custom-slider::-webkit-slider-thumb {
  appearance: none;
  width: 16px;
  height: 16px;
  background-color: #dc3444;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  margin-top: -5px;
  /* offset supaya thumb sejajar */
  cursor: pointer;
  transition: transform 0.2s ease;
}

.custom-slider.small::-webkit-slider-thumb {
  width: 10px;
  height: 10px;
  margin-top: -3px;
}

.custom-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

/* Firefox (Moz) Track */
.custom-slider::-moz-range-track {
  height: 6px;
  background: #dee2e6;
  border-radius: 3px;
}

.custom-slider.small::-moz-range-track {
  height: 3px;
}

/* Firefox Thumb */
.custom-slider::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background-color: #dc3444;
  border: 2px solid white;
  border-radius: 50%;
  cursor: pointer;
}

.custom-slider.small::-moz-range-thumb {
  width: 10px;
  height: 10px;
}

@keyframes load-anim {
  0% {
    background-position: -200px;
  }

  100% {
    background-position: 1000px;
  }
}

.podcast-episode.playing {
  background-color: #fdebec;
}

.playing .equalizer {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 4px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  gap: 4px;
  height: 100%;
  width: 100%;
  z-index: 2;
}

.playing .equalizer .bar {
  width: 3px;
  height: 16px;
  border-radius: 8px;
  background-color: #fff;
  /* Bootstrap danger */
  animation: equalize 1s infinite ease-in-out;
  animation-play-state: paused;
}

.equalizer .bar:nth-child(1) {
  animation-delay: 0s;
}

.equalizer .bar:nth-child(2) {
  animation-delay: 0.1s;
}

.equalizer .bar:nth-child(3) {
  animation-delay: 0.2s;
}

.equalizer .bar:nth-child(4) {
  animation-delay: 0.3s;
}

.equalizer .bar:nth-child(5) {
  animation-delay: 0.4s;
}

@keyframes equalize {

  0%,
  100% {
    height: 3.2px;
  }

  50% {
    height: 16px;
  }
}

.playing .equalizer .bar {
  animation-play-state: running;
}