*,
*::after,
*::before {
  box-sizing: border-box;
}

:root {
  --color-button: #D9D9D9;
  --color-button-hover: #A50C92;
  --color-background1: #190C2F;
  --color-background2: #5E2897;
  --color-button-slider: #835385;
  --color-text: #ffffff;
}

.section-form {
  min-height: 90vh;
  background-image: url(img/fond-section.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.required{
  color: red;
  font-size: 1.2rem;
  font-family: 'Jura', sans-serif;
}
.text-required{
  font-family: 'poppins', 'sans serif';
  font-size: 0.7rem;
  margin: 0;
}

.hours-buttons {
  list-style-type: none;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 5vh;
  margin-bottom: 50px;
}
form{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

}


.form {
  background-color: var(--color-background1);
  border: solid #ffffff 1px;
  color: var(--color-text);
  font-family: 'Bruno Ace', sans-serif;
  text-align: center;
  position: absolute;
  width: 40vw;
  min-width: 700px;
  height: 380px;
  box-shadow: 0.2rem 0.2rem 0.5rem rgba(51, 51, 51, 0.2);
  display: none;
  border-radius: 1rem;
  overflow: hidden;
}
.form>p{
  margin-bottom: 0;
}

.form-recap {
  height: 470px;
}

.form-header-text {
  margin-bottom :10px;
}

.form p {
  font-family: 'Poppins', sans-serif;
  font-weight: 300;
  font-style: italic;
}

input[type="date"] {
  background: transparent;
  color: white;
  font-family: 'Bruno Ace', sans-serif;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(100%);
}

.form-input-top{
  width: 100%;
  display: flex;
  justify-content: space-around;
}
.form-input{
  position: relative;
  margin-bottom: 30px;
}
.form-field {
  font-family: "Jura", sans-serif;
  border: 0;
  transform: scaleX(0.80);
  width: 250px;
  border-bottom: 2px solid #ffffff;
  font-size: 1rem;
  color: #ffffff;
  padding: 7px 0;
  background: transparent;
  transition: all 0.2s;
}
.form-field:focus {
  transform: scaleX(1);
}

.form-label {
  font-family: 'Jura', sans-serif;
  display: block;
  transition: 0.2s;
  font-size: 1rem;
  color: #ffffff;
}


input[type="radio"] {
  display: none;
}

input[type="radio"]+label {
  padding: 0.3rem 0.5rem;
  border-radius: 30px;
  border: 1px dashed #ccc;
}

input[type="radio"]:hover+label {
  cursor: pointer;
}

input[type="radio"]:checked+label {
  border: 1px solid #ffffff;
  background-color: var(--color-text);
  color: #000000;
}

.img-recap {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  margin: 0 auto;
  object-fit: cover;
  border: var(--color-text) 1px solid;
}

.position-form-btn {
  display: flex;
  justify-content: space-around;
  margin-bottom: 50px;
}

.form-btn {
  font-family: 'Bruno Ace', sans-serif;
  background-color: var(--color-button);
  ;
  color: #000000;
  font-size: 1.3rem;
  padding: 0.6rem 0.9rem;
  width: 200px;
  border-radius: 60px;
  cursor: pointer;
  transition-property: color, font-size, background-color;
  transition-duration: 0.5s;
  transition-timing-function: ease;
}

.form-btn:hover {
  background-color: #000000;
  border: 1px solid #ffffff;
  color: #FFF;
  transition-property: color, font-size, background-color;
  transition-duration: 0.5s;
  transition-timing-function: ease;
}

.form-message-text {
  width: 25rem;
  background: #fff;
  color: #444;
  padding: 2rem 1rem;
  text-align: center;
  font-size: 1.4rem;
  box-shadow: 0.2rem 0.2rem 0.5rem rgba(51, 51, 51, 0.2);
  animation: fadeIn 0.8s;
  border-radius: 1rem;
}

.form-active {
  z-index: 1000;
  display: block;
}

.form-active-animate {
  animation: moveRightReverse 1s;
}

.form-active-animate-reverse {
  animation: moveLeft 1s;
}

.form-inactive {
  display: block;
  animation: moveLeftReverse 1s;
}

.form-inactive-reverse {
  display: block;
  animation: moveRight 1s;
}

.stepper {
  width: 20rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 625px
}
.stepper-recap{
  top: 660px;
}

.dot {
  height: 25px;
  width: 25px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 20px;
  cursor: pointer;
  border: solid 1px #ffffff;
}

.step-inactive {
  background-color: #000000;
}

.step-active {
  background-color: #ffffff;
}

@keyframes moveRight {
  0% {
    transform: translateX(0rem) scale(1);
    opacity: 1;
  }

  100% {
    transform: translateX(27rem) scale(0.8);
    opacity: 0;
  }
}

@keyframes moveRightReverse {
  0% {
    transform: translateX(27rem) scale(0.8);
    opacity: 0;
  }

  100% {
    transform: translateX(0rem) scale(1);
    opacity: 1;
  }
}

@keyframes moveLeft {
  0% {
    transform: translateX(-27rem) scale(0.8);
    opacity: 0;
  }

  100% {
    transform: translateX(0rem) scale(1);
    opacity: 1;
  }
}

@keyframes moveLeftReverse {
  0% {
    transform: translateX(0rem) scale(1);
    opacity: 1;
  }

  100% {
    transform: translateX(-27rem) scale(0.8);
    opacity: 0;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@media screen and (width < 800px) {
  .form {
    min-height: 600px;
    width: 500px;
    min-width: 400px;
  }
  .form-recap{
    min-height: 500px;
    width: 500px;
    min-width: 400px;
  }
  .stepper {
    top: 700px;
  }

  .hours-buttons {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

}