* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

*::-webkit-scrollbar {
  display: none;
}

html {
  scroll-behavior: smooth !important;
}

body {
  font-family: "Josefin Sans", sans-serif !important;
  padding: 0 !important;
}

.font-esthetic {
  font-family: Sacramento, cursive !important;
}

.font-arabic {
  font-family: "Noto Naskh Arabic", serif !important;
}

.img-crop {
  width: 15rem;
  height: 15rem;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
}

.img-crop > img {
  display: inline;
  margin: 0 auto;
  height: auto;
  width: 100%;
}

.btn-music {
  position: fixed;
  bottom: 9vh !important;
  right: 2vh !important;
  z-index: 1055 !important;
}

.btn-theme {
  position: fixed;
  bottom: 15vh !important;
  right: 2vh !important;
  z-index: 1055 !important;
}

.loading-page {
  position: fixed;
  inset: 0 !important;
  width: 100%;
  height: 100%;
  z-index: 1056 !important;
}

.card-body {
  overflow-wrap: break-word !important;
}

.mouse-animation {
  padding: 0.25rem 0.625rem;
  height: 2rem;
  border-radius: 1.4rem;
  opacity: 0.75;
  box-sizing: content-box;
}

@keyframes scroll {
  0% {
    transform: translateY(1rem);
    opacity: 0;
  }

  10% {
    transform: translateY(0);
    opacity: 1;
  }

  100% {
    transform: translateY(0);
    opacity: 0;
  }
}

.mouse-animation > .scroll-animation {
  width: 0.25rem;
  height: 0.625rem;
  border-radius: 25%;
  background-color: #808080;
  animation-name: scroll;
  animation-duration: 2.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes spin-icon {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.spin-button {
  animation: spin-icon 5s linear infinite;
}

@keyframes love {
  50% {
    transform: translateY(1rem);
  }
}

.animate-love {
  animation: love 5s ease-in-out infinite;
}

.dark-section {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}

footer {
  margin-top: -0.5rem;
  padding-bottom: 4rem;
}

.bg-theme-light {
  background-color: var(--bs-gray-100);
}

.bg-theme-dark {
  background-color: var(--bs-gray-800);
}

.color-theme-white {
  color: white;
}

.color-theme-black {
  color: black;
}

.bg-cover-black {
  background: linear-gradient(
    to bottom,
    rgba(var(--bs-dark-rgb), 0.8),
    rgba(var(--bs-dark-rgb), 0.8),
    rgba(var(--bs-dark-rgb), 0.8),
    rgba(var(--bs-dark-rgb), 0.8),
    rgba(var(--bs-dark-rgb), 0.8),
    rgba(var(--bs-dark-rgb), 1)
  );
}

.bg-cover-white {
  background: linear-gradient(
    to bottom,
    rgba(var(--bs-light-rgb), 0.8),
    rgba(var(--bs-light-rgb), 0.8),
    rgba(var(--bs-light-rgb), 0.8),
    rgba(var(--bs-light-rgb), 0.8),
    rgba(var(--bs-light-rgb), 0.8),
    rgba(var(--bs-light-rgb), 1)
  );
}
