    /* Ensure the body and html elements take full height */
    html, body {
      height: 100%;
      margin: 0;
      font-family: 'Roboto', 'Helvetica Neue', 'Arial', sans-serif !important;
  display: flex;
  flex-direction: column;
    }

    /* Layout of the body using CSS Grid */
    body {
      /*display: grid;*/
      /*grid-template-rows: auto 1fr auto;*/ /* Navbar, content, and footer */
     /* min-height: 100vh;*/ /* Full height of the viewport */
  flex: 1;  /* Allow the body to take up all available space */
   position: relative; /* Ensure absolute/relative positioning of modals works */
 
    }

    /* Make sure the navbar stays at the top */
    .navbar {
      z-index: 1000; /* Ensure the navbar is always on top */
    }

    /* Main content area takes the available space */
    .content {
      padding: 0px;
    }
 
    /* Footer styling */
    footer {
      background-color: #343a40;
      color: white;
      text-align: center;
      padding: 10px 0;
    }
  /* Loader Spinner CSS */
  .loader {
    border: 4px solid #f3f3f3; /* Light gray border */
    border-top: 4px solid #3498db; /* Blue color for the top border */
    border-radius: 50%; /* Make it circular */
    width: 40px; /* Width of the spinner */
    height: 40px; /* Height of the spinner */
    animation: spin 1s linear infinite; /* Animation to spin the loader */
    margin: auto; /* Center the spinner */
    margin-bottom:5px;
  }

  /* Animation for spinning the loader */
  @keyframes spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }


.center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

/* Reduce padding and line height for compact appearance */
table.dataTable td, 
table.dataTable th {
    /*padding: 4px 8px !important;*/ /* Reduce padding */
    font-size: 13px;             /* Smaller font size */
    /*white-space: nowrap;*/         /* Avoid text wrapping */
    vertical-align: middle;
}

/* Adjust header appearance */
table.dataTable thead th {
    font-weight: bold;
    background-color: #f8f9fa; /* Light gray background */
}

/* Optional: Reduce overall height */
.dataTables_wrapper .dataTables_paginate {
    margin-top: 5px;
}

/* Align DataTables search box to the right */
.dataTables_filter {
    float: right !important;
    text-align: right !important;
    padding-right: 10px;
}

/* Optional: Make input box smaller */
.dataTables_filter input {
    width: 200px !important;
    display: inline-block;
} 

.dataTables_length label {
    visibility: visible;
    font-size: 0;
}

.dataTables_length label::before {
    content: none !important;
}

.dataTables_length label::first-letter {
    display: none;
}

/* Reduce padding for table cells */
.dataTables_wrapper .dataTable th, 
.dataTables_wrapper .dataTable td {
    padding: 5px 8px; /* Adjust padding to make cells slimmer */
}

/* Optional: Adjust font size */
.dataTables_wrapper .dataTable th, 
.dataTables_wrapper .dataTable td {
    font-size: 12px; /* Make the text smaller */
}


.card{
  border-radius: 16px !important;
}
.card-header{
  border-radius: 16px 16px 0px 0px !important;
  border-bottom: none !important;
}
.card-body{
  border-radius: 16px !important;
}

.btn{
/*  border-radius: 16px !important;*/
}

.badge{
  border-radius: 16px !important;
}
.modal-content{
  border-radius: 16px !important;
}

.alert{
  border-radius: 16px !important;
}


.btn-round{
  border-radius: 16px!important;
}
 
 /* Teal */
.btn-teal {
  background-color: #20c997 !important;
  color: #fff !important;
  border: none;
  transition: background-color 0.2s ease;
}
.btn-teal.active {
  background-color: #17a589 !important;
  color: #fff !important;
}
.btn-teal:hover,
.btn-teal:focus,
.btn-teal:active,
.btn-teal:focus-visible,
.btn-teal:active:focus,
.btn-teal:focus:not(:focus-visible) {
  background-color: #17a589;
  color: #fff;
  outline: none;
  box-shadow: none;
}

/* Indigo */
.btn-indigo {
  background-color: #6610f2 !important;
  color: #fff !important;
  border: none;
  transition: background-color 0.2s ease;
}
.btn-indigo.active {
  background-color: #520dc2 !important;
  color: #fff !important;
}
.btn-indigo:hover,
.btn-indigo:focus,
.btn-indigo:active,
.btn-indigo:focus-visible,
.btn-indigo:active:focus,
.btn-indigo:focus:not(:focus-visible) {
  background-color: #520dc2;
  color: #fff;
  outline: none;
  box-shadow: none;
}

/* Orange */
.btn-orange {
  background-color: #fd7e14 !important;
  color: #fff !important;
  border: none;
  transition: background-color 0.2s ease;
}
.btn-orange.active {
  background-color: #e66a00 !important;
  color: #fff !important;
}
.btn-orange:hover,
.btn-orange:focus,
.btn-orange:active,
.btn-orange:focus-visible,
.btn-orange:active:focus,
.btn-orange:focus:not(:focus-visible) {
  background-color: #e66a00;
  color: #fff;
  outline: none;
  box-shadow: none;
}

/* Pink */
.btn-pink {
  background-color: #e83e8c !important;
  color: #fff !important;
  border: none;
  transition: background-color 0.2s ease;
}
.btn-pink.active {
  background-color: #d63384 !important;
  color: #fff !important;
}
.btn-pink:hover,
.btn-pink:focus,
.btn-pink:active,
.btn-pink:focus-visible,
.btn-pink:active:focus,
.btn-pink:focus:not(:focus-visible) {
  background-color: #d63384;
  color: #fff;
  outline: none;
  box-shadow: none;
}

/* Cyan */
.btn-cyan {
  background-color: #0dcaf0 !important;
  color: #fff !important;
  border: none;
  transition: background-color 0.2s ease;
}
.btn-cyan.active {
  background-color: #0aa7c9 !important;
  color: #fff !important;
}
.btn-cyan:hover,
.btn-cyan:focus,
.btn-cyan:active,
.btn-cyan:focus-visible,
.btn-cyan:active:focus,
.btn-cyan:focus:not(:focus-visible) {
  background-color: #0aa7c9;
  color: #fff;
  outline: none;
  box-shadow: none;
}

/* Violet */
.btn-violet {
  background-color: #8b5cf6 !important;
  color: #fff !important;
  border: none;
  transition: background-color 0.2s ease;
}
.btn-violet.active {
  background-color: #7c3aed !important;
  color: #fff !important;
}
.btn-violet:hover {
  background-color: #7c3aed !important;
  color: #fff !important;
}
.btn-violet:hover,
.btn-violet:focus,
.btn-violet:active,
.btn-violet:focus-visible,
.btn-violet:active:focus,
.btn-violet:focus:not(:focus-visible) {
  background-color: #7c3aed;
  color: #fff;
  outline: none;
  box-shadow: none;
}




/* Blue */
.btn-blue {
  background-color: #335b83 !important;
  color: #fff !important;
  border: none;
  transition: background-color 0.2s ease;
}
.btn-blue.active {
  background-color: #24425f !important;
  color: #fff !important;
}
.btn-blue:hover {
  background-color: #24425f !important;
  color: #fff !important;
}
.btn-blue:hover,
.btn-blue:focus,
.btn-blue:active,
.btn-blue:focus-visible,
.btn-blue:active:focus,
.btn-blue:focus:not(:focus-visible) {
  background-color: #24425f;
  color: #fff;
  outline: none;
  box-shadow: none;
}


/* Blue */
/*.btn-blue {
  background-color: #2a4b6b !important;
  color: #fff !important;
  border: none;
  transition: background-color 0.2s ease;
}

.btn-blue:hover,
.btn-blue:focus,
.btn-blue:focus-visible {
  background-color: #24425f !important;
  color: #fff !important;
  box-shadow: none;
  outline: none;
}

.btn-blue:active,
.btn-blue.active {
  background-color: #24425f !important;
  color: #fff !important;
  box-shadow: none;
  outline: none;
}*/



.border-right {
  border-right-style: solid;
  border-right-width: 1px;
  border-color: rgba(0, 0, 0, 0.07);
}

.border-left {
  border-left-style: solid;
  border-left-width: 1px;
  border-color: rgba(0, 0, 0, 0.07);
}

.border-top {
  border-top-style: solid;
  border-top-width: 1px;
  border-color: rgba(0, 0, 0, 0.07);
}

.border-bottom {
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-color: rgba(0, 0, 0, 0.07);
}


/* ---------------------------------------------------------------------- */
/*  Timeline
/* ---------------------------------------------------------------------- */
div.timeline {
  margin: 0;
  overflow: hidden;
  position: relative;
}
div.timeline .columns {
  margin: 0;
  padding: 0;
  list-style: none;
}
div.timeline .columns > li:nth-child(2n+1) {
  float: left;
  width: 50%;
  clear: left;
}
div.timeline .columns > li:nth-child(2n+1) .timeline_element {
  float: right;
  left: 10%;
  margin-right: 30px;
  left: 0;
  opacity: 1;
}
div.timeline .columns > li:nth-child(2n+1) .timeline_element:before {
  right: -27px;
  top: 15px;
}
div.timeline .columns > li:nth-child(2n+1) .timeline_element:after {
  right: -35px;
  top: 10px;
}
div.timeline .columns > li:nth-child(2n+2) {
  float: right;
  margin-top: 20px;
  width: 50%;
  clear: right;
}
div.timeline .columns > li:nth-child(2n+2) .timeline_element {
  float: left;
  margin-left: 30px;
  right: 10%;
  opacity: 1;
  right: 0;
}
div.timeline .columns > li:nth-child(2n+2) .timeline_element:before {
  left: -27px;
  top: 15px;
}
div.timeline .columns > li:nth-child(2n+2) .timeline_element:after {
  left: -35px;
  top: 10px;
}
div.timeline .date_separator {
  clear: both;
  height: 60px;
  position: relative;
  text-align: center;
}
div.timeline .date_separator span {
  border-radius: 5px;
  height: 30px;
  line-height: 30px;
  margin-top: -16px;
  position: absolute;
  top: -200%;
  width: 200px;
  top: 50%;
  left: 50%;
  margin-left: -100px;
  background-color: #007AFF;
  color: #ffffff;
}
div.timeline .spine {
  border-radius: 2px;
  position: absolute;
  top: 0;
  width: 4px;
  left: 50%;
  margin-left: -2px;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.1);
}
div.timeline .column_center .timeline_element {
  margin: 20px auto;
  opacity: 1;
}
div.timeline .column_center .timeline_element:before, div.timeline .column_center .timeline_element:after {
  display: none;
}

.timeline_element {
  border-radius: 5px;
  clear: both;
  margin: 30px 0;
  padding: 20px;
  opacity: 0;
  position: relative;
  transition: all 0.2s linear 0s;
  min-width: 66.6667%;
  text-shadow: none;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.1);
}
.timeline_element.partition-white {
  border: 1px solid rgba(0, 0, 0, 0.07);
}
.timeline_element.partition-white:hover {
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.timeline_element.partition-white:after {
  background-color: #ffffff;
}
.timeline_element.partition-white:hover:after {
  background-color: #c3c2c7;
  border: 1px solid #ffffff;
}
.timeline_element.partition-green {
  border: none;
  color: #ffffff;
}
.timeline_element.partition-green:hover {
  border: none;
}
.timeline_element.partition-green:after {
  background-color: #1FBBA6;
}
.timeline_element.partition-green:hover:after {
  background-color: #ffffff;
  border: 1px solid #1FBBA6;
}
.timeline_element.partition-orange {
  border: none;
  color: #ffffff;
}
.timeline_element.partition-orange:hover {
  border: none;
}
.timeline_element.partition-orange:after {
  background-color: #FF6600;
}
.timeline_element.partition-orange:hover:after {
  background-color: #ffffff;
  border: 1px solid #FF6600;
}
.timeline_element.partition-blue {
  border: none;
  color: #ffffff;
}
.timeline_element.partition-blue:hover {
  border: none;
}
.timeline_element.partition-blue:after {
  background-color: #5F8295;
}
.timeline_element.partition-blue:hover:after {
  background-color: #ffffff;
  border: 1px solid #5F8295;
}
.timeline_element.partition-red {
  border: none;
  color: #ffffff;
}
.timeline_element.partition-red:hover {
  border: none;
}
.timeline_element.partition-red:after {
  background-color: #C82E29;
}
.timeline_element.partition-red:hover:after {
  background-color: #ffffff;
  border: 1px solid #C82E29;
}
.timeline_element.partition-azure {
  border: none;
  color: #ffffff;
}
.timeline_element.partition-azure:hover {
  border: none;
}
.timeline_element.partition-azure:after {
  background-color: #0095C8;
}
.timeline_element.partition-azure:hover:after {
  background-color: #ffffff;
  border: 1px solid #0095C8;
}
.timeline_element.partition-purple {
  border: none;
  color: #ffffff;
}
.timeline_element.partition-purple:hover {
  border: none;
}
.timeline_element.partition-purple:after {
  background-color: #804C75;
}
.timeline_element.partition-purple:hover:after {
  background-color: #ffffff;
  border: 1px solid #804C75;
}
.timeline_element:hover {
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
}
.timeline_element:before {
  content: "";
  display: block;
  height: 0;
  position: absolute;
  width: 26px;
  border-top: 1px dashed #CCCCCC;
}
.timeline_element:after {
  border-radius: 100%;
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  width: 10px;
  background-color: #BBBBBB;
  border: 1px solid #FFFFFF;
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
}
.timeline_element:hover:after {
  z-index: 100;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
  z-index: 100;
}
.timeline_element .timeline_title {
  overflow: hidden;
  position: relative;
  text-transform: uppercase;
  padding-top: 10px;
  white-space: nowrap;
}
.timeline_element .timeline_title h4 {
  line-height: 30px;
}
.timeline_element .timeline_date {
  display: block;
}
.timeline_element .timeline_date .day {
  font-size: 52px;
  letter-spacing: -2px;
}
.timeline_element .timeline_content {
  padding-top: 10px;
  padding-bottom: 10px;
}
.timeline_element .readmore {
  padding: 10px 0;
  text-align: right;
}

.timeline-scrubber {
  padding: 8px 0 8px 1px;
  top: 60px;
  right: 0;
  width: 100px;
  z-index: 1;
  list-style: none;
  position: absolute;
}
.timeline-scrubber li {
  margin-bottom: 1px;
}
.timeline-scrubber li:nth-last-child(2) a {
  border-color: white;
  color: white;
}
.timeline-scrubber li:last-child a {
  border-color: white;
  color: white;
}
.timeline-scrubber a {
  border-left: 5px solid #f7f7f8;
  color: #f7f7f8;
  display: block;
  font-weight: normal;
  outline: medium none;
  padding: 4px 0 4px 6px;
}
.timeline-scrubber a:hover {
  border-color: #c3c2c7 !important;
  color: #c3c2c7 !important;
}
.timeline-scrubber .selected > a {
  border-left-color: #aeacb4 !important;
  color: #aeacb4 !important;
  font-weight: bold !important;
}

/* ie8 fixes */
.ie8 div.timeline_element:after {
  display: none;
}

.ie8 div.timeline_element:before {
  display: none;
}

/**/
.timeline-xs {
  margin: 0;
  padding: 0;
  list-style: none;
}
.timeline-xs .timeline-item {
  position: relative;
  border-left: 1px solid #c8c7cc;
}
.timeline-xs .timeline-item:after {
  background-color: #fff;
  border-color: #007AFF;
  border-radius: 10px;
  border-style: solid;
  border-width: 1px;
  bottom: 0;
  content: "";
  height: 9px;
  left: 0;
  margin-left: -5px;
  position: absolute;
  width: 9px;
}
.timeline-xs .timeline-item p {
  margin: 0;
  padding-bottom: 10px;
}
.timeline-xs .timeline-item.success {
  border-left-color: #5cb85c;
}
.timeline-xs .timeline-item.success:after {
  border-color: #5cb85c;
}
.timeline-xs .timeline-item.danger {
  border-left-color: #d43f3a;
}
.timeline-xs .timeline-item.danger:after {
  border-color: #d43f3a;
}
.timeline-xs .timeline-item.info {
  border-left-color: #46b8da;
}
.timeline-xs .timeline-item.info:after {
  border-color: #46b8da;
}
.timeline-xs .timeline-item.warning {
  border-left-color: #eea236;
}
.timeline-xs .timeline-item.warning:after {
  border-color: #eea236;
}
.timeline-xs .timeline-item.performance {
  border-left-color: #3f6387;
}
.timeline-xs .timeline-item.performance:after {
  border-color: #3f6387;
}
.timeline-xs .timeline-item.quality {
  border-left-color: #b23249;
}
.timeline-xs .timeline-item.quality:after {
  border-color: #b23249;
}
.timeline-xs .timeline-item.availability {
  border-left-color: #ee7421;
}
.timeline-xs .timeline-item.availability:after {
  border-color: #ee7421;
}
.timeline-xs .timeline-item:before, .timeline-xs .timeline-item:after {
  content: " ";
  display: table;
}
.timeline-xs .timeline-item:after {
  clear: both;
  bottom: auto;
  top: 4px;
}

@media (max-width: 991px) {
  /* 991px */
  div.timeline {
    margin: 0;
  }
  div.timeline .columns li {
    float: none !important;
    width: 100% !important;
  }

  .timeline_element {
    margin: 20px auto !important;
  }
  .timeline_element:after {
    display: none;
  }
  .timeline_element:before {
    display: none;
  }

  .timeline-scrubber {
    display: none;
  }
}

.text-small {
  font-size: 12px !important;
}



/* width */
.scroller::-webkit-scrollbar {
  width: 3px!important;
  border-radius:16px!important; 
}

/* Track */
.scroller::-webkit-scrollbar-track {
  opacity:0!important; 
}
 
/* Handle */
.scroller::-webkit-scrollbar-thumb {
  background: #888; 
}

/* Handle on hover */
.scroller::-webkit-scrollbar-thumb:hover {
  background: #555; 
  opacity:0!important;
}  
