.btn {
  height: 40px;
}
.btn:hover {
  color: #ffffff;
}
.themed-anchor {
  color: #743ca1;
}
.color-white {
  color: #ffffff;
}

.color-primary {
  color: var(--primary-text-color);
}

.color-inherit {
  color: inherit;
}

.strike-out {
  text-decoration: line-through;
  font-weight: normal;
}

.no-underline {
  text-decoration: none;
}

.no-border-radius {
  border-radius: 0 !important;
}

.no-list-style {
  list-style: none;
}

.font-italic {
  font-style: italic;
}

.img-obj-cover {
  object-fit: cover;
}

.img-obj-position-0 {
  object-position: 0 0;
}

.img-obj-contain {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.horizontal-dot-divider {
  border-top: 2px dotted var(--primary-text-color);
  /* border-style: dashed; */
}

.vr {
  background-color: transparent;
  opacity: 1;
  /* border-style: dashed; */
  border-left: 2px dotted var(--primary-text-color); /* Create a dotted border on the left side */
  height: 50px;
}

/* Full-screen overlay */
.spinner-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black */
  display: none; /* Hidden by default */
  justify-content: center;
  align-items: center;
  z-index: 9999; /* Ensures it appears above other content */
}

/* Container for the spinner */
.spinner-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%; /* Ensures the spinner is centered vertically */
}

.spinner-border {
  background-image: linear-gradient(270deg, #512763 0%, #00807e 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.default-theme-bg {
  background-color: var(--primary-background-color);
}

.common-size-12 {
  font-size: 12px;
}

.common-size-14 {
  font-size: 14px;
}

.common-size-16 {
  font-size: 16px;
}

.common-size-18 {
  font-size: 18px;
}

.common-size-20 {
  font-size: 20px;
}

@media (max-width: 991px) {
  .common-size-20 {
    font-size: 18px;
  }
}

@media (min-width: 992px) {
  .common-size-25 {
    font-size: 25px;
  }
  .common-size-30 {
    font-size: 30px;
  }
}

.common-size-42 {
  font-size: 42px;
}

@media (max-width: 991px) {
  .common-size-42 {
    font-size: 24px;
  }
  .common-size-30 {
    font-size: 24px;
  }
  .common-size-25 {
    font-size: 20px;
  }
  .common-padding-5 {
    padding: 1rem;
  }
  .common-padding-4 {
    padding: 0.75rem;
  }
}

.common-weight-normal {
  font-weight: normal;
}

.common-weight-600 {
  font-weight: 600;
}

.common-weight-700 {
  font-weight: 700;
}

.common-mt-20 {
  margin-top: 20px !important;
}

.common-mt-50 {
  margin-top: 50px;
}

.common-mt-100 {
  margin-top: 100px;
}

.common-mb-50 {
  margin-bottom: 50px !important;
}

.common-pt-50 {
  padding-top: 50px;
}

/* .common-height-90 {
  height: 90%;
} */

.custom-bottom-20 {
  bottom: 20px;
}

@media (min-width: 992px) {
  .full-width-desktop {
    width: 100%;
  }
  .width-90 {
    width: 90%;
  }
  .width-25-desktop {
    width: 25%;
  }
  .three-quaters-width-desktop {
    width: 75%;
  }
  .above-half-width {
    width: 55%;
  }
  .text-center-desktop {
    text-align: center;
  }
  .justify-end-desktop {
    justify-content: end;
  }
  .default-section-height {
    height: 400px;
  }
  .large-section-height {
    height: 500px;
  }
  .no-padding-desktop {
    padding: 0 !important;
  }
  .no-pe-desktop {
    padding-right: 0 !important;
  }
  .only-mobile {
    display: none !important;
  }
  .padding-top50-desktop {
    padding-top: 50px;
  }
  .mb-minus-desktop {
    margin-bottom: -30px;
  }
  .common-container-width {
    margin-left: 3rem;
    margin-right: 3rem;
  }
  .common-margin-tb-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .common-padding-5 {
    padding: 3rem;
  }
  .common-padding-4 {
    padding: 1.5rem;
  }
  .left-neg-20 {
    left: -20px;
  }
  .default-max-height-650 {
    max-height: 650px;
  }

  .default-max-height-560 {
    max-height: 560px;
  }

  .default-max-height-470 {
    max-height: 470px;
  }

  .default-max-height-370 {
    max-height: 370px;
  }
}

@media (max-width: 991px) {
  .no-margin-mobile {
    margin: 0 !important;
  }
  .no-padding-mobile {
    padding: 0 !important;
  }
  .no-pt-mobile {
    padding-top: 0 !important;
  }
  .half-width-mobile {
    width: 50% !important;
  }
  .nav-link {
    font-size: 14px;
  }
  .extra-small-text-mobile {
    font-size: 11px;
  }
  .card-title {
    font-size: 16px;
    height: 40px;
  }
  .display-flex-mobile {
    display: flex !important;
  }
  .full-width-mobile {
    width: 100% !important;
    max-width: 100% !important;
  }
  .medium-container-mobile {
    width: 75%;
    margin: 0 auto;
  }
  .only-desktop {
    display: none !important;
  }
  .margin-auto-mobile {
    margin: 0 auto !important;
  }
  .column-reverse-mobile {
    flex-direction: column-reverse !important;
  }
  .column-mobile {
    flex-direction: column !important;
  }
  .margin-top-100-mobile {
    margin-top: 100px !important;
  }
  .margin-top-mobile {
    margin-top: 20px !important;
  }
  .margin-bottom-mobile {
    margin-bottom: 20px !important;
  }
  .margin-left-mobile {
    margin-left: 15px;
  }
  .padding-4-side-mobile {
    padding: 0 0.75rem !important;
  }
  .text-center-mobile {
    text-align: center !important;
  }
  .justify-center-mobile {
    justify-content: center;
  }
  .justify-even-mobile {
    justify-content: space-evenly;
  }
  .justify-between-mobile {
    justify-content: space-between;
  }
  .common-container-width {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .common-margin-tb-5 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

.default-container {
  display: block;
  max-width: 90%;
  margin: 0 auto;
}

.default-small-container {
  display: block;
  margin: 0 auto;
}

@media (min-width: 992px) {
  .default-small-container {
    max-width: 60%;
  }
}

.default-medium-container {
  display: block;
  max-width: 70%;
  margin: 0 auto;
}

.add-flex-row {
  display: flex;
  flex-direction: row;
}

.add-flex-column {
  display: flex;
  flex-direction: column;
}

.justify-center {
  justify-content: center;
  align-items: center;
}

.cta-btn {
  height: 40px;
  width: 105px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  color: var(--primary-text-color);
  background: transparent;
  border: 1px solid #cccccc;
  border-radius: 5px;
  cursor: pointer;
}

@media (min-width: 992px) {
  .cta-btn {
    width: 150px;
  }
}

.fill-btn {
  background: linear-gradient(270deg, #512763 0%, #00807e 100%);
  color: var(--text-color-light);
  border: 1px solid var(--secondary-text-color);
}

.gradient-color {
  background-image: linear-gradient(270deg, #512763 0%, #00807e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.form-check-input:checked {
  background-color: transparent;
  border-color: transparent;
  background-image: linear-gradient(
    270deg,
    #512763 0%,
    #00807e 100%
  ) !important;
}

.float-right {
  float: right;
}

.secondary-text {
  color: var(--secondary-text-color);
}

.vertical-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.vertical-end {
  display: flex;
  flex-direction: column;
  justify-content: end;
}

.secondary-background {
  background-color: var(--secondary-background-color);
}

.secondary-background2 {
  background-color: var(--secondary-background-color2);
}

.ribbon-section-height {
  height: 96px;
}

.accordion-button:not(.collapsed) {
  color: var(--primary-text-color);
  background-color: transparent;
}

.custom-alert {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.alert-content {
  width: 50%;
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
  text-align: center;
  position: relative;
}

.alert-icon {
  width: 175px;
}

.alert-content button {
  background-color: #007bff;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
}

.alert-content button:hover {
  background-color: #0056b3;
}

@media (min-width: 1920px) {
  body {
    font-size: 20px;
  }
  .nav-link,
  .btn {
    font-size: 20px;
  }
  h2 {
    font-size: 3rem;
  }
  .common-size-14 {
    font-size: 18px;
  }
  .common-size-16 {
    font-size: 20px;
  }
  h4,
  .common-size-18 {
    font-size: 25px;
  }
  .common-size-20 {
    font-size: 30px;
  }
  .steps-carousel h4 {
    font-size: 10px;
  }
  .steps-carousel p {
    font-size: 8px;
  }
}

.hover-zoom:hover {
  transform: scale(1.0161290323);
}

/* Text fade effect */
.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.3s ease-out, transform 1.3s ease-out;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

.bounce-bottom {
  animation: bounceBottom 2s ease 0s 1 normal forwards;
}

@keyframes bounceBottom {
  0% {
    animation-timing-function: ease-in;
    opacity: 1;
    transform: translateY(45px);
  }

  24% {
    opacity: 1;
  }

  40% {
    animation-timing-function: ease-in;
    transform: translateY(24px);
  }

  65% {
    animation-timing-function: ease-in;
    transform: translateY(12px);
  }

  82% {
    animation-timing-function: ease-in;
    transform: translateY(6px);
  }

  93% {
    animation-timing-function: ease-in;
    transform: translateY(4px);
  }

  25%,
  55%,
  75%,
  87% {
    animation-timing-function: ease-out;
    transform: translateY(0px);
  }

  100% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: translateY(0px);
  }
}

.bounce-left {
  animation: bounceLeft 2s ease 0s 1 normal forwards;
}

@keyframes bounceLeft {
  0% {
    animation-timing-function: ease-in;
    opacity: 1;
    transform: translateX(-48px);
  }

  24% {
    opacity: 1;
  }

  40% {
    animation-timing-function: ease-in;
    transform: translateX(-26px);
  }

  65% {
    animation-timing-function: ease-in;
    transform: translateX(-13px);
  }

  82% {
    animation-timing-function: ease-in;
    transform: translateX(-6.5px);
  }

  93% {
    animation-timing-function: ease-in;
    transform: translateX(-4px);
  }

  25%,
  55%,
  75%,
  87%,
  98% {
    animation-timing-function: ease-out;
    transform: translateX(0px);
  }

  100% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: translateX(0px);
  }
}

.bounce-right {
  animation: bounceRight 2s ease 0s 1 normal forwards;
}

@keyframes bounceRight {
  0% {
    animation-timing-function: ease-in;
    opacity: 1;
    transform: translateX(48px);
  }

  24% {
    opacity: 1;
  }

  40% {
    animation-timing-function: ease-in;
    transform: translateX(26px);
  }

  65% {
    animation-timing-function: ease-in;
    transform: translateX(13px);
  }

  82% {
    animation-timing-function: ease-in;
    transform: translateX(6.5px);
  }

  93% {
    animation-timing-function: ease-in;
    transform: translateX(4px);
  }

  25%,
  55%,
  75%,
  87%,
  98% {
    animation-timing-function: ease-out;
    transform: translateX(0px);
  }

  100% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: translateX(0px);
  }
}

.bounce-top {
  animation: bounceTop 2s ease 0s 1 normal forwards;
}

@keyframes bounceTop {
  0% {
    animation-timing-function: ease-in;
    opacity: 1;
    transform: translateY(-45px);
  }

  24% {
    opacity: 1;
  }

  40% {
    animation-timing-function: ease-in;
    transform: translateY(-24px);
  }

  65% {
    animation-timing-function: ease-in;
    transform: translateY(-12px);
  }

  82% {
    animation-timing-function: ease-in;
    transform: translateY(-6px);
  }

  93% {
    animation-timing-function: ease-in;
    transform: translateY(-4px);
  }

  25%,
  55%,
  75%,
  87% {
    animation-timing-function: ease-out;
    transform: translateY(0px);
  }

  100% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: translateY(0px);
  }
}

.scale-up-center {
  animation: scaleUpCenter 3s ease 0s 1 normal forwards;
}

@keyframes scaleUpCenter {
  0% {
    transform: scale(0.5);
  }

  100% {
    transform: scale(1);
  }
}

.wobble-bottom {
  animation: wobbleBottom 2s ease 0s 1 normal forwards;
}

@keyframes wobbleBottom {
  0%,
  100% {
    transform: translateX(0%);
    transform-origin: 50% 50%;
  }

  15% {
    transform: translateX(-30px) rotate(-6deg);
  }

  30% {
    transform: translateX(15px) rotate(6deg);
  }

  45% {
    transform: translateX(-15px) rotate(-3.6deg);
  }

  60% {
    transform: translateX(9px) rotate(2.4deg);
  }

  75% {
    transform: translateX(-6px) rotate(-1.2deg);
  }
}
