html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
#root {
  min-height: 100vh; /* fallback for older browsers */
  min-height: 100dvh; /* modern browsers (dynamic viewport height) */
}
.avatar img {
  border-radius: 100%;
  width: 40px;
}

.avatar {
  padding: 0 !important;
}
body {
  background-color: var(--kendo-color-surface);
}
header {
  background-color: var(--kendo-color-app-surface);
}
.vh-70 {
  height: 70dvh;
  height: 70vh;
}

.vh-80 {
  height: 80dvh;
  height: 80vh;
}

.page-loader {
  position: fixed;
  top: 0;
  z-index: 150;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: var(--kendo-color-app-surface);
  width: 100%;
}
/* HTML: <div class="loader"></div> */
/* HTML: <div class="loader"></div> */
.loader {
  width: 50px;
  padding: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--kendo-color-primary);
  --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
  -webkit-mask: var(--_m);
  mask: var(--_m);
  -webkit-mask-composite: source-out;
  mask-composite: subtract;
  animation: l3 1s infinite linear;
}
@keyframes l3 {
  to {
    transform: rotate(1turn);
  }
}
div.k-animation-container {
  padding-bottom: 5px;
}

.action-btn {
  pointer-events: auto;
}
.carousel-banner {
  width: 400px;
  height: 200px;
}
.carousel-banner {
  position: relative;
  overflow: hidden;
}

.carousel-banner::before,
.carousel-banner::after {
  content: "";
  position: absolute;
  top: 0;
  width: 10px; /* Adjust based on your design */
  height: 100%;
  z-index: 10;
  pointer-events: none; /* allow interaction with Swiper */
}

.carousel-banner::before {
  left: 0;
  background: linear-gradient(to right, #ffffff, transparent);
}

.carousel-banner::after {
  right: 0;
  background: linear-gradient(to left, #ffffff, transparent);
}

.carousel-banner .swiper-slide {
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-card {
  width: 90%;
  max-width: 800px;
  min-height: 400px;
  background-color: var(--kendo-color-app-surface);
  filter: drop-shadow(10px 15px 10px #e6e3e3);
  border-radius: 5px;
}
.login-card-bg {
  background-color: var(--kendo-color-app-surface);
  filter: drop-shadow(10px 15px 10px #e6e3e3);
}
.register-card {
  width: 95%;
  border-radius: 5px;
  max-width: 500px;
}
.otp-card {
  width: 95%;
  border-radius: 5px;
  max-width: 500px;
}
.login-bg {
  background-color: var(--kendo-color-surface);
}

.login-area {
  flex-basis: 100%;
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
  animation-duration: 0.2s;
}
.border-bottom-primary {
  border-image: linear-gradient(to right, #f9f9f9, #f1f1f1);
  border-width: var(--bs-border-width);
  border-style: var(--bs-border-style);
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

@media screen and (min-width: 768px) {
  .login-area {
    flex-basis: 50%;
  }
}
.carousel-banner-wrapper {
  transition-timing-function: linear !important;
}
.underline-offset-1 {
  text-underline-offset: 8px;
}
.underline-primary {
  text-decoration-color: var(--kendo-color-primary) !important;
}
.company-logo {
  max-width: 180px;
  max-height: 60px;
  height: auto;
  width: auto; /* maintain aspect ratio inside the box */
}
.separator-line {
  height: 4px;
  background: linear-gradient(to right, #f87171, #fca5a5);
  border-radius: 2px;
  margin-bottom: 10px;
}
.bg-orange {
  background: linear-gradient(to right, #ffe0b2, hsl(36, 100%, 75%));
}
