/* Sticky effect for Elementor Free */
.sticky-left {
  position: -webkit-sticky;
  position: sticky;
  top: 100px; /* adjust for your header height */
  align-self: flex-start;
  z-index: 10;
}
.search-form {
  max-width: 600px;
  margin: 0 auto;
}
.marquee-wrapper {
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  position: relative;
}

.marquee-track {
  display: flex;
  flex-wrap: nowrap;
  min-width: 200%; /* twice original content width */
  gap: 30px;
  animation: scroll-left 20s linear infinite;
  will-change: transform;
  transition: animation-duration 0.3s ease;
  animation-timing-function: linear;
  transform-style: preserve-3d;
}

.marquee-wrapper:hover .marquee-track,
.marquee-track:hover {
  animation-duration: 30s;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-2060px); /* Adjust to your exact item+gap width */
  }
}


/* Prevent shrinking and fix width for items */
.page2-marquee {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.marquee-track2 {
  display: flex;
  animation: scroll-left-2 30s linear infinite;
  width: max-content; /* 💡 This forces the track to expand to fit all items */
}

.marquee-track2 > * {
  flex: 0 0 auto;
  width: 200px; /* or adjust based on your image size */
  margin-right: 30px; /* spacing between items */
  box-sizing: border-box;
}

/* Animation to scroll the full width of the first half (original 12 items) */
@keyframes scroll-left-2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}


/* Pause animation completely on hover */
.page2-marquee:hover .marquee-track2,
.page2-marquee .marquee-track2:hover {
  animation-play-state: paused;
}

/* Keyframes for right to left scrolling */
@keyframes scroll-left-2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}


/* Force sticky test on all headers */
header, .elementor-location-header {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  background: #fff;
}

.wpr-pc-btn {
    display: none !important;
}

.wpr-stt-btn {
    display: none !important;
}
/* --- Core form container --- */
.application-form {
  font-family: 'Instrument Sans', sans-serif !important;
  background: #ffffff !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  padding: 1.5rem !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
}

/* --- Headline --- */
.application-form h2 {
  text-align: center !important;
  color: #163663 !important;
  margin-bottom: 1rem !important;
  font-weight: 600 !important;
  font-size: 22px !important;
}

/* --- Labels --- */
.application-form label {
  display: block !important;
  margin: 0 0 4px 0 !important;
  color: #3D4244 !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

/* --- Inputs and textareas --- */
.application-form input[type="text"],
.application-form input[type="email"],
.application-form input[type="url"],
.application-form textarea {
  width: 100% !important;
  padding: 9px 12px !important;
  margin: 0 0 14px 0 !important;
  border: 1px solid #ccc !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  background: #fff !important;
  color: #333 !important;
  box-sizing: border-box !important;
}

/* --- Textarea specific --- */
.application-form textarea {
  resize: vertical !important;
  min-height: 80px !important;
}

/* --- Optional field label style --- */
.application-form .optional {
  font-weight: normal !important;
  font-size: 12px !important;
  color: #666 !important;
  font-style: italic !important;
}

/* --- Upload buttons --- */
.application-form .custom-upload {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: #3D4244 !important;
  border: 1px solid #4b5563 !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  background-color: #e5e7eb !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  margin-bottom: 14px !important;
  width: auto !important;
  max-width: 100% !important;
}

.application-form .custom-upload:hover {
  background-color: #d1d5db !important;
}

.application-form .custom-upload svg {
  width: 16px !important;
  height: 16px !important;
  fill: #3D4244 !important;
}

.application-form .hidden-input {
  display: none !important;
}

/* --- Submit button --- */
.application-form .button-submit {
  display: block !important;
  background-color: #0a2b66 !important;
  color: white !important;
  padding: 11px 16px !important;
  font-size: 14px !important;
  border: none !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-top: 10px !important;
  width: 100% !important;
}

.application-form .button-submit:hover {
  background-color: #09315c !important;
}

/* --- Kill CF7 default paragraph wrappers & layout breaks --- */
.application-form p {
  margin: 0 !important;
  padding: 0 !important;
}

.application-form br {
  display: none !important;
}

.application-form .wpcf7-form-control-wrap {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wpcf7 {
  margin: 0 !important;
  padding: 0 !important;
}

.wpcf7-form {
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Tighten any remaining input spacing --- */
.application-form input,
.application-form textarea,
.application-form label {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

/* --- Responsive --- */
@media (max-width: 500px) {
  .application-form {
    padding: 1rem !important;
  }

  .application-form .custom-upload {
    width: 100% !important;
    justify-content: center !important;
  }
}
.wpcf7 form.sent .wpcf7-response-output {
  display: none !important;
}

.hidden-input {
  position: absolute;
  opacity: 0;
  width: 0.1px;
  height: 0.1px;
  overflow: hidden;
  z-index: -1;
}

.file-name-display {
  font-size: 14px;
  margin-top: 5px;
  display: block;
  color: #444;
}


.marquee-3 {
  width: 100vw;              /* Force full width of viewport */
  overflow: hidden;
  position: relative;
  left: 0;
  margin: 0;
  padding: 0;
  z-index: 1;
}

.marquee-3-content {
  display: flex;
  gap: 20px;
  animation: scroll-left-3 120s linear infinite;
  animation-play-state: running;
  width: max-content; /* content defines width */
}

.marquee-3:hover .marquee-3-content {
  animation-play-state: paused;
}

.marquee-item {
  flex: 0 0 530px;
  box-sizing: border-box;
  padding: 10px;
  background: #f0f0f0;
  white-space: normal;
  text-align: center;
}

@keyframes scroll-left-3 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-33.3333%);
  }
}


/* Prevent page from shifting or scrolling horizontally */
body {
  overflow-x: hidden;
}


.marquee-4 {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.marquee-4-content {
  display: flex;
  width: fit-content; /* Let it size based on content */
  animation: scroll-left-4 40s linear infinite;
}

.marquee-item {
  flex: 0 0 100vw; /* Each item takes full viewport width */
  box-sizing: border-box;
  padding: 10px;
  background: #f0f0f0;
  white-space: normal;
}

/* Use CSS variables for dynamic item width */
@keyframes scroll-left-4 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-400vw); /* Scroll 4 items worth */
  }
}

.marquee-4:hover .marquee-4-content {
  animation-play-state: paused !important;
}

/* Progress bar container */
.cf7-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
  gap: 12px;
  font-family: 'Instrument Sans', sans-serif;
}

/* Step wrapper */
.cf7-progress-step-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

/* Step circle */
.cf7-progress-step {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #e0e0e0;
  color: #555;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700; /* bold */
  font-size: 16px;
  position: relative;
  border: 2px solid transparent;
  transition: all 0.3s;
  z-index: 2;
}

/* Step label */
.cf7-progress-label {
  margin-top: 6px;
  font-size: 16px;
  font-weight: 700;
  font-family: 'Instrument Sans', sans-serif;
  color: #777;
  text-align: center;
  max-width: 110px;
  line-height: 1.3;
  transition: color 0.3s;
}

/* Line between steps */
.cf7-progress-line {
  flex: 1;
  height: 2px;
  background-color: #e0e0e0;
  z-index: 1;
  transition: background-color 0.3s;
}

/* Active Step */
.cf7-progress-step.active {
  border-color: #163663;
  background-color: #fff;
  color: #163663;
  transform: scale(1.1);
}
.cf7-progress-step.active + .cf7-progress-label,
.cf7-progress-step-wrapper .cf7-progress-label.active {
  color: #163663;
}

/* Completed Step */
.cf7-progress-step.completed {
  background-color: #163663;
  color: #fff;
  border-color: #163663;
}
.cf7-progress-step.completed + .cf7-progress-label,
.cf7-progress-step-wrapper .cf7-progress-label.completed {
  color: #163663;
}

/* Colored line after completed step */
.cf7-progress-step-wrapper.completed + .cf7-progress-line {
  background-color: #163663;
}

/* Generic wrapper to align back and submit buttons */
.wpcf7 form .cf7-button-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 30px;
}

/* Style the Back button */
.wpcf7 form .multistep-back {
  font-family: 'Instrument Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: bold !important;
  padding: 12px 24px;
  border-radius: 6px;
  background-color: #ccc;
  color: #000;
  border: none;
  cursor: pointer;
}

/* Style the Submit button */
.wpcf7 form input[type="submit"] {
  font-family: 'Instrument Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: bold !important;
  padding: 12px 24px;
  border-radius: 6px;
  background-color: #163663;
  color: #fff;
  border: none;
  cursor: pointer;
}

/* Stack vertically on mobile */
@media (max-width: 600px) {
  .wpcf7 form .cf7-button-row {
    flex-direction: column;
    align-items: stretch;
  }
}
/* Common button style */
.wpcf7 form .multistep-back,
.wpcf7 form .multistep-next,
.wpcf7 form input[type="submit"] {
  background-color: #163663;
  color: #fff;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 16px;
  font-weight: bold;
  padding: 12px 24px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  display: inline-block;
}


/* Hover state (fixing the issue) */
.wpcf7 form .multistep-back:hover,
.wpcf7 form .multistep-next:hover,
.wpcf7 form input[type="submit"]:hover {
  background-color: #5294EB !important;
  color: #fff !important;
}


/* Force tighter vertical spacing between all form rows */
.wpcf7 form .wpcf7-form-control-wrap,
.wpcf7 form p,
.wpcf7 form div,
.wpcf7 form br {
  margin-bottom: 8px !important;
  padding-bottom: 0 !important;
}

/* Prevent double spacing if nested in Elementor or other builders */
.elementor-widget-wpcf7-form,
.elementor-widget-wpcf7-form .elementor-widget-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Tighten spacing in selects, inputs, textarea */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  margin-bottom: 0 !important;
  padding: 10px 12px;
  line-height: 1.4;
  width: 100%;
  box-sizing: border-box;
}

/* Compact label spacing */
.wpcf7 form label {
  margin-bottom: 4px !important;
  display: block;
  font-weight: 500;
}

/* Prevent blank line elements (if any) from adding space */
.wpcf7 form br {
  display: none;
}

/* Base styles for Next, Back, and Submit buttons */
.cf7mls_btn,
.wpcf7 form input[type="submit"] {
  background-color: #163663 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: bold !important;
  padding: 12px 24px !important;
  border-radius: 6px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease, color 0.3s ease !important;
  display: inline-block;
}

/* Hover styles */
.cf7mls_btn:hover,
.wpcf7 form input[type="submit"]:hover {
  background-color: #5294EB !important;
  color: #fff !important;
}

/* Wrap both buttons visually into a row */
#cf7mls_step-3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap; /* Prevent overlap on small screens */
}

/* Remove default margins */
#cf7mls_step-3 p,
#cf7mls_step-3 .cf7mls_back {
  margin: 0 !important;
  padding: 0 !important;
}

/* Submit button styles */
#cf7mls_step-3 input[type="submit"] {
  order: 2;
}

/* Back button styles */
#cf7mls_step-3 .cf7mls_back {
  order: 1;
}
.cf7-button-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}

.cf7-button-row button,
.cf7-button-row input[type="submit"] {
  background-color: #163663;
  color: #fff;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 16px;
  font-weight: bold;
  padding: 12px 24px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Hover styles */
.cf7-button-row button:hover,
.cf7-button-row input[type="submit"]:hover {
  background-color: #5294EB;
  color: #fff;
}
.wpcf7 .multistep[data-step="3"] .cf7mls_back {
  display: none !important;
}
/* Style auto-generated CF7 multistep buttons */
.wpcf7 form .cf7mls_back,
.wpcf7 form .cf7mls_next {
  background-color: #163663;
  color: #fff;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 16px;
  font-weight: bold;
  padding: 12px 24px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin: 8px 4px;
  flex: 1;
}

@media (max-width: 768px) {
  /* Stack progress steps vertically if needed */
  .cf7-progress {
    flex-direction: column;
    gap: 20px;
  }

  .cf7-progress-step-wrapper {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  .cf7-progress-label {
    margin-top: 0;
    margin-left: 10px;
    font-size: 14px;
    text-align: left;
  }

  /* Reduce circle size and font */
  .cf7-progress-step {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  /* Adjust form field spacing */
  .wpcf7 form .wpcf7-form-control {
    margin-bottom: 16px;
  }

  /* Button spacing */
  .wpcf7 form .multistep-back,
  .wpcf7 form .multistep-next,
  .wpcf7 form input[type="submit"] {
    width: 100%;
    margin-bottom: 12px;
  }

  .cf7-button-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
}

/* Container styling for button alignment */
.wpcf7 form .cf7mls_buttons {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

/* Make buttons stack vertically on small screens */
@media (max-width: 768px) {
  .wpcf7 form .cf7mls_buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .wpcf7 form .cf7mls_back,
  .wpcf7 form .cf7mls_next {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .cf7-progress {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 0 10px;
    gap: 8px;
  }

  .cf7-progress-step-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    min-width: 60px;
  }

  .cf7-progress-step {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }

  .cf7-progress-label {
    font-size: 12px;
    max-width: 85px;
    text-align: center;
  }

  .cf7-progress-line {
    min-width: 20px;
    height: 2px;
  }
}
@media (max-width: 768px) {
  /* Limit form width */
  form.wpcf7 {
    max-width: 90% !important;
    margin: 0 auto !important;
  }

  /* Fix progress bar layout */
  .cf7-progress {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 12px !important;
    padding: 0 8px !important;
  }

  .cf7-progress-step-wrapper {
    flex-direction: column !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    min-width: 60px !important;
  }

  .cf7-progress-step {
    width: 34px !important;
    height: 34px !important;
    font-size: 13px !important;
  }

  .cf7-progress-label {
    font-size: 11px !important;
    margin-top: 8px !important;
    max-width: 70px !important;
    text-align: center !important;
  }

  .cf7-progress-line {
    min-width: 18px !important;
    height: 2px !important;
  }

  /* Resize input fields */
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 textarea,
  .wpcf7 select {
    font-size: 14px !important;
    padding: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 480px) {
  /* Tighter container for small screens */
  form.wpcf7 {
    max-width: 98% !important;
    padding: 0 10px !important;
  }

  /* Progress bar tweaks for mobile */
  .cf7-progress {
    gap: 8px !important;
    padding: 0 6px !important;
  }

  .cf7-progress-step {
    width: 30px !important;
    height: 30px !important;
    font-size: 12px !important;
  }

  .cf7-progress-label {
    font-size: 10px !important;
    max-width: 60px !important;
    margin-top: 6px !important;
  }

  .cf7-progress-line {
    min-width: 12px !important;
  }

  /* Inputs adjust to screen */
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 textarea,
  .wpcf7 select {
    font-size: 14px !important;
    padding: 10px 12px !important;
    width: 100% !important;
  }

  /* Button spacing fix */
  .wpcf7 .multistep-back,
  .wpcf7 .multistep-next,
  .wpcf7 input[type="submit"] {
    width: 100% !important;
    margin-top: 10px !important;
  }
}
@media (max-width: 768px) {
  .cf7-progress {
    gap: 0px !important; /* Reduced from 12px */
    padding: 0 4px !important;
    overflow-x: auto;
  }

  .cf7-progress-line {
    min-width: 8px !important;
    width: 8px !important;
  }
}
@media (max-width: 768px) {
  .cf7-progress-label {
    max-width: 75px !important; /* Increased from 80px */
    font-size: 10px;
    text-align: center;
  }

  .cf7-progress-step-wrapper {
    min-width: 60px !important; /* Slightly wider for better spacing */
  }
}
@media (max-width: 1024px) {
  .cf7-progress {
    margin-top: 24px; /* adjust as needed */
  }
}
@media (max-width: 480px) {
  /* Force full width on Elementor sections and columns */
  .elementor-section,
  .elementor-container,
  .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  /* Force CF7 wrapper to expand */
  .wpcf7 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  /* Form elements spacing */
  .wpcf7 input,
  .wpcf7 textarea,
  .wpcf7 select {
    width: 100% !important;
    font-size: 15px !important;
    box-sizing: border-box;
  }
input[type="submit"][value="Submit"] {
  background-color: red !important;
  color: white !important;
  padding: 12px 24px !important;
  float: right !important;
  margin-top: 10px !important;
}


  /* Optional: reduce any max width limiting form container */
  form.wpcf7-form {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 12px;
  }

  /* Prevent overflow or side scroll */
  body,
  html {
    overflow-x: hidden !important;
  }
}

.marquee-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.marquee {
  display: flex;
  width: 100%;
}

.marquee-content {
  display: flex;
  animation: marquee 30s linear infinite;
}

.marquee-item {
  flex: 0 0 auto;
  margin-right: 20px;
}

.marquee-item img {
  max-height: 150px;
  display: block;
}

@keyframes marquee {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}
.video-marquee-section {
  overflow: hidden;
  position: relative;
  width: 150%;
  padding: 40px 0;
}

.video-marquee-track {
  display: flex;
  gap: 40px;
  width: 200%; /* Force it to scroll across the whole section */
  animation: marquee-scroll 30s linear infinite;
}

.video-marquee-track > * {
  flex: 0 0 33.33vw; /* Show 3 large videos at once */
  max-width: 33.33vw;
}

@keyframes marquee-scroll {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0%);
  }
}

.video-marquee-section:hover .video-marquee-track {
  animation-play-state: paused;
}


.elementor-video {
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 10 !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  background: none !important;
}
.elementor-element-a7e4a07 {
    display: none !important;
}

a:focus {
    outline: none;
}
a:focus-visible {
    outline: none;
}
