@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");
@import url("https://cdn.jsdelivr.net/npm/simple-datatables@10.2.0/dist/style.min.css");
:root {
  --primary-color: #7d3cff;
  --primary-light: #ebe0ff;
  --secondary-color: #6c757d;
  --font-size-base: 16px;
}
/* Works on Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--secondary-color);
}

/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 12px;
}

*::-webkit-scrollbar-track {
  background: #dddddd;
}

*::-webkit-scrollbar-thumb {
  background-color: var(--secondary-color);
  border-radius: 20px;
  border: 2px solid #dddddd;
}
body {
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-weight: 500;
    font-size: 16px;
}
.grey-bg {  
    background-color: #F5F7FA;
}

.gradient-bg{
    background: #edc0bf;
    background-image: linear-gradient(125deg, #edc0bf 0,#c4caef 50%, #f4d3f5 100%);
    background-size: cover;
    background-repeat:no-repeat;
    background-attachment: fixed;
}
/*.gradient-bg{
    background: url("../img/bg-2.jpg") no-repeat center center fixed;
    background-size: cover;
    height: 100vh;
}*/
.card-glass{
/* From https://css.glass */
background: rgba(255, 255, 255, 0.15);
border-radius: 16px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 1);
}
.bg-glass {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: top 0.3s ease-out, background-color 0.5s ease;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}
.gradient-text {
  background-image: linear-gradient(to right, #1e90fa 0%, #ed07b4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  color: transparent;
  /*font-size:3.5rem;*/
}

.gradient-button {
    background-image: linear-gradient(to right, #1e90fa 0%, #ed07b4 100%);
    transition: 0.5s;
    color: white;
}
.gradient-button:hover {
  background-position: right center; /* change the background position on hover */
  text-decoration: none;
  color: white;
}
.card-cover {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.card-img-holder {
    position: relative;
}
.card-img-absolute {
    position: absolute;
    top:0;
    right: 0;
    height: 100%;
}
.glass-navbar {
    position: fixed;
    top: 0;
    width: 100%;
    transition: top 0.3s;
    z-index:1030;
}

/* Optional: Add a slightly more solid color on scroll for better readability */
.glass-navbar.visible {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: top 0.3s ease-out, background-color 0.5s ease;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}

/* ============ scroll-top =============== */
.scroll-top {
  width: 45px;
  height: 45px;
  background: #7d3cff;
  display: none;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  color: #ffffff;
  border-radius: 5px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 9;
  cursor: pointer;
  transition: all 0.3s ease-out 0s;
}

.scroll-top:hover {
  color: #ffffff;
  background: rgba(47, 128, 237, 0.8);
}

/* feedback boxes */
.feedback {
  padding: 22px 16px;
  border-radius: 6px;
  /*border-style: solid;
  border-width: 2px;*/
  margin-bottom: 16px;
  font-size: 16px;
  font-weight:500;
  display:block;
}

.feedback.feedback-success {
  background-color: rgba(227, 253, 235, 1);
  border-color: rgba(38, 179, 3, 1);
  color: rgba(60, 118, 61, 1);
}

.feedback.feedback-info {
  background-color: rgba(145, 218, 255, 1);
  color: rgba(75, 127, 222, 1);
  border-color: rgba(75, 127, 222, 1);
}


.feedback.feedback-warning {
  background-color: rgba(252, 248, 227, 1);
  border-color: rgba(177, 161, 129, 1);
  color: rgba(138, 109, 59, 1);
}

.feedback.feedback-danger {
  background-color: rgba(248, 215, 218, 1);
  border-color: rgba(220, 53, 69, 1);
  color: rgba(114, 28, 36,1);
}

.bell{
  display:inline-block;
  -webkit-animation: ring 4s .7s ease-in-out infinite;
  -webkit-transform-origin: 50% 4px;
  -moz-animation: ring 4s .7s ease-in-out infinite;
  -moz-transform-origin: 50% 4px;
  animation: ring 4s .7s ease-in-out infinite;
  transform-origin: 50% 4px;
}

@-webkit-keyframes ring {
  0% { -webkit-transform: rotateZ(0); }
  1% { -webkit-transform: rotateZ(30deg); }
  3% { -webkit-transform: rotateZ(-28deg); }
  5% { -webkit-transform: rotateZ(34deg); }
  7% { -webkit-transform: rotateZ(-32deg); }
  9% { -webkit-transform: rotateZ(30deg); }
  11% { -webkit-transform: rotateZ(-28deg); }
  13% { -webkit-transform: rotateZ(26deg); }
  15% { -webkit-transform: rotateZ(-24deg); }
  17% { -webkit-transform: rotateZ(22deg); }
  19% { -webkit-transform: rotateZ(-20deg); }
  21% { -webkit-transform: rotateZ(18deg); }
  23% { -webkit-transform: rotateZ(-16deg); }
  25% { -webkit-transform: rotateZ(14deg); }
  27% { -webkit-transform: rotateZ(-12deg); }
  29% { -webkit-transform: rotateZ(10deg); }
  31% { -webkit-transform: rotateZ(-8deg); }
  33% { -webkit-transform: rotateZ(6deg); }
  35% { -webkit-transform: rotateZ(-4deg); }
  37% { -webkit-transform: rotateZ(2deg); }
  39% { -webkit-transform: rotateZ(-1deg); }
  41% { -webkit-transform: rotateZ(1deg); }

  43% { -webkit-transform: rotateZ(0); }
  100% { -webkit-transform: rotateZ(0); }
}

@-moz-keyframes ring {
  0% { -moz-transform: rotate(0); }
  1% { -moz-transform: rotate(30deg); }
  3% { -moz-transform: rotate(-28deg); }
  5% { -moz-transform: rotate(34deg); }
  7% { -moz-transform: rotate(-32deg); }
  9% { -moz-transform: rotate(30deg); }
  11% { -moz-transform: rotate(-28deg); }
  13% { -moz-transform: rotate(26deg); }
  15% { -moz-transform: rotate(-24deg); }
  17% { -moz-transform: rotate(22deg); }
  19% { -moz-transform: rotate(-20deg); }
  21% { -moz-transform: rotate(18deg); }
  23% { -moz-transform: rotate(-16deg); }
  25% { -moz-transform: rotate(14deg); }
  27% { -moz-transform: rotate(-12deg); }
  29% { -moz-transform: rotate(10deg); }
  31% { -moz-transform: rotate(-8deg); }
  33% { -moz-transform: rotate(6deg); }
  35% { -moz-transform: rotate(-4deg); }
  37% { -moz-transform: rotate(2deg); }
  39% { -moz-transform: rotate(-1deg); }
  41% { -moz-transform: rotate(1deg); }

  43% { -moz-transform: rotate(0); }
  100% { -moz-transform: rotate(0); }
}

@keyframes ring {
  0% { transform: rotate(0); }
  1% { transform: rotate(30deg); }
  3% { transform: rotate(-28deg); }
  5% { transform: rotate(34deg); }
  7% { transform: rotate(-32deg); }
  9% { transform: rotate(30deg); }
  11% { transform: rotate(-28deg); }
  13% { transform: rotate(26deg); }
  15% { transform: rotate(-24deg); }
  17% { transform: rotate(22deg); }
  19% { transform: rotate(-20deg); }
  21% { transform: rotate(18deg); }
  23% { transform: rotate(-16deg); }
  25% { transform: rotate(14deg); }
  27% { transform: rotate(-12deg); }
  29% { transform: rotate(10deg); }
  31% { transform: rotate(-8deg); }
  33% { transform: rotate(6deg); }
  35% { transform: rotate(-4deg); }
  37% { transform: rotate(2deg); }
  39% { transform: rotate(-1deg); }
  41% { transform: rotate(1deg); }

  43% { transform: rotate(0); }
  100% { transform: rotate(0); }
}

/*-blue*/
.bg1 {
    background: linear-gradient(45deg,#4099ff,#73b4ff);
    color: #fff;
}
/*-green*/
/*8515ed*/
.bg2 {
    background: linear-gradient(45deg,#2ed8b6,#59e0c5);
    color: #fff;
}
/*-yellow*/
.bg3 {
    background: linear-gradient(45deg,#FFB64D,#ffcb80);
    color: #333;
}
/*-pink*/
.bg4 {
    background: linear-gradient(45deg,#FF5370,#ff869a);
    color: #fff;
}
/*purple #8c5cfa*/
.bg5{
     background: linear-gradient(45deg,#d925e6,#e85cf2);
     color: #fff;
}
.text-purple{
    color: #e85cf2!important;
}
/*Hover colors*/
/*-blue*/
.bg1-hover:hover {
    background: linear-gradient(45deg,#4099ff,#73b4ff);
    color: #fff;
}
/*-green*/
/*8515ed*/
.bg2-hover:hover {
    background: linear-gradient(45deg,#2ed8b6,#59e0c5);
    color: #fff;
}
/*-yellow*/
.bg3-hover:hover {
    background: linear-gradient(45deg,#FFB64D,#ffcb80);
    color: #333;
}
/*-pink*/
.bg4-hover:hover {
    background: linear-gradient(45deg,#FF5370,#ff869a);
    color: #fff;
}
/*purple #8c5cfa*/
.bg5-hover:hover{
     background: linear-gradient(45deg,#d925e6,#e85cf2);
     color: #fff;
}
.bg-gradient-primary {
  background: -webkit-gradient(linear, left top, right top, from(#da8cff), to(#9a55ff)) !important;
  background: linear-gradient(to right, #da8cff, #9a55ff) !important; }

.bg-gradient-secondary {
  background: -webkit-gradient(linear, left top, right top, from(#e7ebf0), to(#868e96)) !important;
  background: linear-gradient(to right, #e7ebf0, #868e96) !important; }

.bg-gradient-success {
  background: -webkit-gradient(linear, left top, right top, from(#84d9d2), to(#07cdae)) !important;
  background: linear-gradient(to right, #84d9d2, #07cdae) !important; }

.bg-gradient-info {
  background: -webkit-gradient(linear, left top, right top, from(#90caf9), color-stop(99%, #047edf)) !important;
  background: linear-gradient(to right, #90caf9, #047edf 99%) !important; }

.bg-gradient-warning {
  background: -webkit-gradient(linear, left top, right top, from(#f6e384), to(#ffd500)) !important;
  background: linear-gradient(to right, #f6e384, #ffd500) !important; }

.bg-gradient-danger {
  background: -webkit-gradient(linear, left top, right top, from(#ffbf96), to(#fe7096)) !important;
  background: linear-gradient(to right, #ffbf96, #fe7096) !important; }

.bg-gradient-light {
  background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#e4e4e9)) !important;
  background: linear-gradient(to bottom, #f4f4f4, #e4e4e9) !important; }

.bg-gradient-dark {
  background: linear-gradient(89deg, #5e7188, #3e4b5b) !important; }

.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}