/* Override later in the stylesheet */
:root {
    --primary-color: #8B00F5;
    --secondary-color: #E10098;
    --accent-color: #00FFFF;

    /* Neutrals */ 
    --text-color: #F4F4F6;
    --text-color2: #B0B0BF;
    --text-color3: #82829B;

    --background-color0: #070113;
    --background-color1: #0F0227;
    --background-color2: #1E044E;
    --background-color3: #2D0674;
    --background-color4: #121216;
    --background-color5: #09090B;

    --bs-primary: var(--primary-color);
    --bs-secondary: var(--secondary-color);

    --bs-body-bg: var(--background-color0);
    --bs-primary-bg: var(--background-color0);
    --bs-secondary-bg: var(--background-color2);

    --bs-primary-color: var(--primary-color);
    --bs-secondary-color: var(--secondary-color);

    --bs-btn-border-color:var(--primary-color);


  /* Bootstrap modifications */
    --bs-border-color: var(--text-color);

    --bs-body-font-family: Inter, Arial, sans-serif;
    --bs-body-color:  var(--text-color);
    --bs-modal-color:  var(--text-color);
    --bs-danger: #af4e58;
    --bs-danger-rgb: 175, 78, 88;
    --bs-progress-bg: var(--primary-color);
    --bs-border-radius: 1.5rem;
    --ph-background-primary-color: var(--primary-color);
    --ph-background-secondary-color: var(--secondary-color);
}

.progress {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: var(--secondary-color);
  --bs-progress-bar-bg: var(--primary-color);
  --bs-progress-bar-transition: width 0.6s ease;
}

.alert-primary {
  --bs-alert-color: var(--text-color);
  --bs-alert-bg: var(--background-color1);
  --bs-alert-border-color: var(--primary-color);
  --bs-alert-link-color: var(--primary-color);
}

.btn {
  --bs-btn-color: var(--text-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--text-color);
  --bs-btn-border-radius: 1rem;
  --bs-btn-hover-border-color: var(--text-color);
  --bs-btn-hover-color: var(--text-color);
}

/* This media query targets devices that can hover (e.g., desktops with a mouse) 
   and excludes most touch devices. */
@media (hover: hover) and (pointer: fine) {
  .btn:hover {
    /* Set the desired text color on hover */
    color: var(--primary-color);

    /* Explicitly keep the border color the same as its initial state 
        to prevent it from changing. */
    border-color: var(--primary-color);
    
    /* We don't need to change the background, so we leave it alone. */
  }
}

.btn:focus-visible {
  --bs-btn-color: var(--text-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--text-color);
  --bs-btn-border-radius: 1rem;
  --bs-btn-hover-border-color: var(--text-color);
  --bs-btn-hover-color: var(--text-color);
}

.btn-outline-primary {
  --bs-btn-color: var(--text-color);
  --bs-btn-border-color: var(--primary-color);
  --bs-btn-hover-color: var(--text-color);
  --bs-btn-hover-bg: var(--primary-color);
  --bs-btn-hover-border-color: var(--primary-color);
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: var(--text-color);
  --bs-btn-active-bg: var(--primary-color);
  --bs-btn-active-border-color: var(--primary-color);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--primary-color);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--primary-color);
  --bs-gradient: none;
}


.btn-outline-secondary {
  --bs-btn-color: var(--text-color);
  --bs-btn-border-color: var(--secondary-color);
  --bs-btn-hover-color: var(--text-color);
  --bs-btn-hover-bg: var(--secondary-color);
  --bs-btn-hover-border-color: var(--secondary-color);
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: var(--text-color);
  --bs-btn-active-bg: var(--secondary-color);
  --bs-btn-active-border-color: var(--secondary-color);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--secondary-color);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--secondary-color);
  --bs-gradient: none;
}

.modal-backdrop {
  --bs-backdrop-opacity: 0.85;
}

.bg-fancy {
  /* top layer: radial from top-left using the first color */
  /* bottom layer: linear blend from bottom, limited to 10% height */
  background-image:
    radial-gradient(circle at top left,
      var(--background-color1) 0%, var(--background-color0) 35%,
      transparent 70%),
    linear-gradient(to top,
      var(--background-color1) 0%,
      var(--background-color0) 10%,
      var(--background-color0) 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.modal {
    --bs-modal-header-border-width: 0px;
}

.btn-close {
    --bs-btn-close-color: var(--text-color);
}

.btn-primary {
    --bs-btn-color:var(--text-color);
    --bs-btn-bg: transparent;    
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: var(--primary-color);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-focus-shadow-rgb: var(--background-color1);
    --bs-btn-active-color:  var(--text-color);
    --bs-btn-active-bg: var(--primary-color);
    --bs-btn-active-border-color: var(--primary-color);
    --bs-btn-active-shadow: inset 0 3px 5px var(--background-color1);
    --bs-btn-disabled-color: var(--text-color3);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color:var(--text-color3);
}


.btn-secondary {
    --bs-btn-color:var(--text-color);
    --bs-btn-bg: var(--secondary-color);
    --bs-btn-border-color: #715583;
    --bs-btn-hover-color: ;
    --bs-btn-hover-bg: #896d8d;
    --bs-btn-hover-border-color: #896d8d;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color:  #fffaf9;
    --bs-btn-active-bg: #715583;
    --bs-btn-active-border-color: #715583;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #674976;
    --bs-btn-disabled-bg: #6d5990;
    --bs-btn-disabled-border-color: #674976;
}

@font-face {
    font-family: 'Inter';
    font-style: normal; /* See note below */
    font-weight: 100 900; /* Variable font supports multiple weights */
    src: url('./fonts/Inter-VariableFont_opsz.ttf') format('truetype');
  }

@font-face {
    font-family: 'Inter';
    font-style: italic; /* See note below */
    font-weight: normal;
    src: url('./fonts/Inter-Italic-VariableFont_opsz.ttf') format('truetype');
  }


@font-face {
    font-family: 'Proxima Nova';
    src: url('fonts/proximanova-regular.woff2') format('woff2'),
         url('../fonts/proximanova-regular.woff') format('woff'),
         url('../fonts/proximanova-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }

  @font-face {
    font-family: 'Proxima Nova';
    src: url('fonts/proximanova-bold.woff2') format('woff2'),
         url('fonts/proximanova-bold.woff') format('woff'),
         url('fonts/proximanova-bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

body {
    background-color: var(--background-color0);
}

.ph-button-primary {
    background-color: var(--primary-color);
    color: var(--text-color);
    border: none;
    border-radius: 1rem; /* Adjust for desired roundness */
    padding: 1.0rem;  /* Adjust for size */
    font-size: 1.0rem;     /* Adjust for text size */
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    margin-top: 1rem;
    display: inline-block
}


.ph-button-primary:hover {
    background-color: var(--background-color0);
    color: var(--text-color);
}

.ph-button-primary:active {
    transform: scale(0.95);   /* Add a "pressed" effect */
}

/* Custom styles */
.hero {
  background: url('images/backgroundv5.webp') no-repeat center center/cover;
  height: 100vh;
  color: var(--text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: left;
}

/* Media query for mobile devices */
@media (max-width: 768px) {
    .hero {
      background: url('images/backgroundv5mobile.webp') no-repeat center center/cover;
    }
  }

.hero h1 {
    color: var(--text-color);
    text-shadow: 0 0 10px var(--text-color3), 0 0 20px var(--text-color3), 0 0 30px var(--text-color3);
}

.navbar {
background-color: var(--background-color0) !important; /* Overrides default Bootstrap colors */
}

.navbar .nav-link {
color: var(--text-color) !important; /* Ensures links remain white */
}

.navbar .navbar-brand {
color: var(--text-color) !important; /* Ensures the brand remains white */
}

.navbar {
    position: fixed; /* Fixes navbar to the top */
    width: 100%;     /* Full width */
    z-index: 1000;   /* Ensures it stays on top */
    transform: translateY(-100%); /* Hides the navbar by moving it off-screen */
    transition: transform 0.3s ease; /* Smooth slide-down effect */
}

.navbar.visible {
    transform: translateY(0); /* Brings the navbar back into view */
}

footer p {
    color: var(--text-color) !important;
}

.bg-dark {
    background-color: var(--background-color0) !important;;
}


#features {
    background-color: var(--background-color1);
    text-align: start;
}

#features img {
    width: 4rem;
    height: 4rem;
}

.shrink-on-scroll {
    width: 100%; /* Adjust based on your requirements */
    max-width: 250px; /* Adjust based on your requirements */
    transition: transform 0.5s ease; /* Smooth shrinking effect */
}

.shrink-on-scroll.shrink {
    transform: scale(0.8); /* Shrink to 80% of the original size */
}

.blinking-caret {
    animation: blink 0.5s ease infinite;
  }

  @keyframes blink {
    0%, 100% {
        opacity: 1; /* Fully visible */
    }
    50% {
    opacity: 0; /* Fully invisible */
    }
  }

#about3, #why {
    background-color: var(--background-color1);
}

#testimonials {
  background-color: var(--background-color0);
}


.text-notrelevant {
  opacity: 0.6;
}

.small-image {
    width: 128px;
}

.carousel-indicators button {
  width: 8px !important;
  height: 8px !important;
  background-color: var(--bs-body-color) !important;
  border: none;
  border-radius: 50%;
  opacity: 0.7;
  transition: opacity 0.3s;
}

.carousel-indicators button.active {
  background-color: var(--ph-background-primary-color);
  opacity: 1;
}

@keyframes slowZoom {
  0%, 100% {
    transform: scale(1); /* Original size */
    transform-origin: 25% 25%; /* Zoom center 1/4 from top-left corner */
  }
  50% {
    transform: scale(1.2); /* Zoom in slightly */
    transform-origin: 25% 25%; /* Maintain the zoom center */
  }
}

.image-container {
  overflow: hidden; /* Ensures the image stays within the container */
  position: relative;
  width: 100%; /* Adjust to your container size */
}

.image-container img {
  width: 120%; /* Slightly larger to ensure smooth zooming */
  height: auto;
  animation: slowZoom 35s ease-in-out infinite; /* Slow zoom in and out */
}

.footnote {
  font-size: 0.6em; /* Slightly smaller than the main text */
  vertical-align: super; /* Moves the asterisk to a superscript position */
}

.footnote-text {
  font-size: 0.9em; /* Slightly smaller text for footnotes */
  margin-top: 5px;
}



/* Modal Dialog */
.modal-fullscreen .modal-content {
  border-radius: 1.5rem;
  padding: 0.5rem;
}

.modal-title {
  color: var(--text-color);
}

.modal-fullscreen .modal-dialog-slide {
  animation: slideIn 0.4s ease;
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

.modal-body-success {
  text-align: center;
}

.form-control:focus {
  border-color: var(--primary-color);
  box-shadow: none;
}

input:-webkit-autofill {
  background-color: transparent;
  -webkit-box-shadow: 0 0 0px 1000px transparent inset; /* your background */
}

#emailInput::placeholder {
  color: var(--bs-body-color);
  opacity: 0.5; /* Optional: Adjust transparency */
}

#report {
  min-height: 85vh !important;
}

/* Linear progress (recommendation) */
.ph-linear-wrap { background: transparent; }

.ph-linear-track {
  /* styles set inline for dynamic colors; class left for future overrides */
}

.ph-linear-bar {
  /* styles set inline; class left for future overrides */
}

.ph-linear-label {
  opacity: 0.7;
  text-shadow: 0 0 8px rgba(0,0,0,0.25);
}
