body {
  font-family: sans-serif;
  display: block;
  background-repeat: no-repeat;
  margin: 0;
  /* overflow: hidden; */
  height: 100dvh;
}

.container {
  position: relative;
  max-width: 813px;
  margin: auto;
}
.step {
  opacity: 0;
  transform: translateY(150px);
  transition: opacity 1s ease, transform 0.5s ease;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}

.step.final {
  position: fixed;
  display: flex !important;
  height: 100%;
  align-items: center;
  margin-top: -130px;
}
.step.final .summary-section {
  display: flex;
  align-items: center;
  height: 100%;
  flex: 0 0 50%;
  max-width: 50%;
  background: linear-gradient(211deg, #020202 -132%, #57514f 113.65%);
}

.step.final .details {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  background-color: #e9e8e4;
}

.step.final .summary-section .innerWrapper {
  padding: 0 118px 0 60px;
  width: 100%;
}
.step.final .summary-section .innerWrapper h3 {
  color: #e9e8e4;
  font-size: 34px;
  font-style: normal;
  margin: 0;
  font-weight: 420;
  line-height: 130%; /* 44.2px */
}
.step.final .summary-section .innerWrapper .contentWrapper {
  margin-top: 40px;
  padding: 40px;
  border-radius: 6px;
  border: 1px solid rgba(226, 226, 226, 0.2);
}
.step.final .summary-section .innerWrapper .contentWrapper p {
  margin: 0;
}
.step.final .summary-section .innerWrapper .contentWrapper p.label {
  color: #e9e8e4;
  font-size: 16px;
  font-style: normal;
  font-weight: 420;
  line-height: 170%; /* 27.2px */
}
.step.final .summary-section .innerWrapper .contentWrapper h4 {
  color: #d2b68a;
  font-size: 38px;
  font-style: normal;
  font-weight: 420;
  line-height: 150%; /* 57px */
  letter-spacing: -0.76px;
  margin: 0;
  margin-bottom: 24px;
}
.step.final .summary-section .innerWrapper .contentWrapper .description {
  color: #e9e8e4;
  font-size: 16px;
  font-style: normal;
  font-weight: 420;
  line-height: 170%; /* 27.2px */
}

.step.final .submitter-details {
  height: calc(100% - 297.81px);
  display: flex;
  align-items: center;
  width: 100%;
  padding-left: 118px;
  position: relative;
  padding-right: 137px;
}
.step.final .submitter-details::before {
  /* background-image: url(/assets/images/shadow.png); */
  height: 104px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(233, 232, 228, 0.6) 5.29%,
    #dcdbd5 100%
  );
}
.step.final .submitter-details .innerWrapper {
  display: flex;
  flex-direction: column;
  gap: 34px;
  width: 100%;
  margin-bottom: 114px;
  margin-top: 54px;
}
.step.final .submitter-details .innerWrapper h3 {
  color: #57514f;
  font-size: 34px;
  font-style: normal;
  font-weight: 420;
  line-height: 120%; /* 40.8px */
  margin: 0;
  margin-bottom: 8px;
}
.step.final .submitter-details .innerWrapper p {
  color: #57514f;
  font-size: 16px;
  font-style: normal;
  font-weight: 420;
  line-height: 150%; /* 24px */
  margin: 0;
}

.step.final .submitter-details .innerWrapper .formgroup {
  display: flex;
  flex-wrap: wrap;
}
.step.final .submitter-details .innerWrapper .formgroup .radio-wrapper {
  display: flex;
  gap: 24px;
  width: 100%;
}
.step.final .submitter-details .innerWrapper .formgroup .radio-wrapper label {
  width: fit-content;
  cursor: pointer;
}

.step.final .submitter-details .innerWrapper .formgroup label {
  color: #57514f;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 27px */
  text-transform: uppercase;
  width: 100%;
  margin-bottom: 8px;
}
.step.final .submitter-details .innerWrapper .formgroup label.no-space {
  margin-bottom: 0px;
}
.step.final
  .submitter-details
  .innerWrapper
  .formgroup
  .select2-container--default
  .select2-selection--single {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #57514f;
  border-radius: 0;
  color: #57514f;
  font-size: 22px;
  font-style: normal;
  font-weight: 420;
  line-height: 130%; /* 28.6px */
  height: auto;
}
.step.final
  .submitter-details
  .innerWrapper
  .formgroup
  .select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  padding: 8px 0;
}
.step.final
  .submitter-details
  .innerWrapper
  .formgroup
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  width: 24px;
  height: 24px;
}
.step.final
  .submitter-details
  .innerWrapper
  .formgroup
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b {
  border: none;
}
.step.final
  .submitter-details
  .innerWrapper
  .formgroup
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b::before {
  width: 24px;
  height: 24px;
  content: "";
  position: absolute;
  left: -3px;
  transition: ease 0.5s all 0s;
  top: 0;
  background-image: url(/assets/images/arrowdown.png);
}
.step.final
  .submitter-details
  .innerWrapper
  .formgroup
  .select2-container--default.select2-container--open
  .select2-selection--single
  .select2-selection__arrow
  b::before {
  rotate: 180deg;
}
.select2-container--default
  .select2-selection--single
  .select2-selection__placeholder {
  color: #57514f !important;
}
.step.final .submitter-details .innerWrapper .formgroup .age-radio {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.step.final .submitter-details .innerWrapper .formgroup .age-radio label {
  flex: 0 0 33.33%;
  max-width: 33.33%;
}
.step.final .submitter-details .innerWrapper .formgroup input[type="radio"] {
  appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid #666;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  margin-right: 16px;
}
.step.final .submitter-details .innerWrapper .formgroup input[type="text"] {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #57514f;
  font-size: 22px;
  font-style: normal;
  font-weight: 420;
  line-height: 130%; /* 28.6px */
}

.step.final .submitter-details .innerWrapper .formgroup input[type="tel"] {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #57514f;
  font-size: 22px;
  font-style: normal;
  font-weight: 420;
  line-height: 130%; /* 28.6px */
}
.step.final .submitter-details .innerWrapper .formgroup input[type="email"] {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #57514f;
  font-size: 22px;
  font-style: normal;
  font-weight: 420;
  line-height: 130%; /* 28.6px */
}

.step.final
  .submitter-details
  .innerWrapper
  .formgroup
  input[type="radio"]:checked {
  border-color: #57514f;
}

.step.final
  .submitter-details
  .innerWrapper
  .formgroup
  input[type="radio"]:checked::after {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #57514f;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.step.active {
  pointer-events: all;
  opacity: 1;
  transform: translateY(0);
  display: block;
  position: relative;
  transition-delay: 0.25s;
}

.card-container {
  display: flex;
  gap: 56px;
  min-height: 583px;
}

h2 {
  color: #d47c40;
}

.subtitle {
  color: #57514f;
  margin: 0;
  font-size: 34px;
  font-style: normal;
  font-weight: 420;
  line-height: 120%; /* 40.8px */
}

.info {
  margin-top: 16px;
  color: #57514f;
  font-size: 18px;
  font-style: normal;
  font-weight: 420;
  line-height: 140%; /* 25.2px */
}

label {
  color: #57514f;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 52.7px; /* 219.583% */
  text-transform: uppercase;
}

input[type="text"],
input[type="tel"],
input[type="email"] {
  color: #57514f;
  font-size: 32px;
  width: 100%;
  font-style: normal;
  font-weight: 420;
  border: none;
  line-height: 52.7px; /* 164.688% */
  border-bottom: 1px solid #57514f;
  background-color: transparent;
  padding: 16px 0;
}

input[type="text"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="email"]:focus-visible {
  outline: none;
}
.btn {
  position: relative;
  background-color: transparent;
  color: white;
  padding: 12.5px 0px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  margin-top: 10px;
  color: #57514f;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: left;
  width: fit-content;
  letter-spacing: 1.08px;
  text-transform: uppercase;
  display: flex;
  gap: 8px;
  border-bottom: 1px solid #57514f;
}

.btn.light {
  background-color: #eee;
  color: #333;
}
.btn.light svg{
  display: none;
}

.nav-buttons {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.error {
  color: red;
  font-size: 13px;
  margin-top: 5px;
}

/* Step Dots Styles */
.step-dots-container {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.step-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ccc;
  cursor: pointer;
  transition: all 0.3s ease;
}
.step-dot.active {
  background-color: #007bff;
  transform: scale(1.2);
}
.step-dot:hover {
  background-color: #999;
}

/* Header CSS Starts*/
.header {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px 0;
}
.header .backWrapper a {
  width: 68.82px;
  height: 68.82px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  border: 0.777px solid #a19c98;
}
.header .backWrapper {
  display: flex;
  align-items: center;
  gap: 24px;
}

.header .logoWrapper {
  display: flex;
  align-items: center;
  gap: 56px;
}
.header .logoWrapper h3 {
  color: #b08b7a;
  text-align: right;
  font-size: 38px;
  margin: 0;
  font-style: normal;
  font-weight: 700;
  line-height: 90px; /* 236.842% */
  letter-spacing: -0.76px;
  text-transform: uppercase;
}

.header .backWrapper p {
  color: #57514f;
  leading-trim: both;
  text-edge: cap;
  font-size: 18px;
  font-style: normal;
  font-weight: 420;
  line-height: normal;
  transition: ease 0.5s all 0s;
}
.header.sty2 .backWrapper p {
  color: #e9e8e4;
}
.header .backWrapper a svg path {
  transition: ease 0.5s all 0s;
}
.header.sty2 .backWrapper a svg path {
  stroke: #e9e8e4;
}
.navigation-container.mob{
  display: none;
}
.sectionWrapper {
  position: relative;
  max-width: 1159px;
  margin: 0 auto;
  padding: 100px 20px;
  z-index: 2;
}

.card {
  flex: 0 0 45.6%;
  max-width: 45.6%;
  padding: 80px 56px;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(334deg, #d0c6c1 -0.75%, #e2dedc 150.13%);
}
.card.sty2 {
  flex: 0 auto;
  max-width: auto;
  padding: 80px 48px;
  border-radius: 8px;
  border: 1.5px solid #d0c6c1;
  background: transparent;
}

.card.sty2 h3 {
  color: #57514f;
  font-size: 46px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}
.card.sty2 p {
  color: #57514f;
  font-size: 18px;
  font-style: normal;
  font-weight: 420;
  line-height: 140%;
}
.card.sty2 a {
  color: #57514f;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.card.sty2 a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;
  background-image: url(/assets/svg/line.svg);
  width: 126px;
  height: 6px;
}
.card .textWrapper {
  position: relative;
}
.card h3 {
  margin: 0;
  color: #57514f;
  font-size: 42px;
  font-style: normal;
  font-weight: 420;
  line-height: 120%; /* 50.4px */
}
.card p {
  color: #57514f;
  font-size: 18px;
  font-style: normal;
  font-weight: 420;
  line-height: 140%; /* 25.2px */
  margin: 0;
  margin-top: 16px;
}
.card .bg {
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  position: absolute;
  text-align: right;
}

.card .bg img {
  height: 100%;
  object-fit: contain;
}

.questionsWrapper {
  padding: 0 24px;
  height: auto;
  padding-top: 176px;
  position: relative;
  z-index: 2;
}

.questionsWrapper.hide{
  position: fixed;
  width: 100%;
}
.ctaWrapper {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 2;
  transition: ease 0.5s all 0s;
}
.ctaWrapper.withBG {
  background-color: #e9e8e4;
}
.ctaWrapper .innerBox {
  padding: 40px 60px;
  z-index: 2;
  display: flex;
  width: calc(100% - 120px);
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.ctaWrapper .btn {
  margin-top: 0;
}
.ctaWrapper .btn.light {
  border-radius: 6px;
  border: 1px solid #57514f;
  background-color: transparent;
  color: #57514f;
  padding: 0px 46px;
  leading-trim: both;
  text-edge: cap;
  font-size: 18px;
  height: 68.82px;
  font-style: normal;
  font-weight: 420;
  line-height: normal;
  display: flex;
  align-items: center;
}
.ctaWrapper .btn {
  border-radius: 6px;
  background: #d2b68a;
  color: #57514f;
  padding: 0px 42px;
  leading-trim: both;
  text-edge: cap;
  font-size: 18px;
  height: 68.82px;
  font-style: normal;
  border: none;
  font-weight: 420;
  line-height: normal;
  gap: 16px;
  text-transform: capitalize;
  display: flex;
  align-items: center;
  transition: ease 0.25s all 0s;
  border: 0.777px solid rgba(49, 36, 36, 0);
}

.btn:disabled {
  color: #e9e8e4;
  background: #57514f;
  border: 0.777px solid rgba(49, 36, 36, 0.2);
  opacity: 0.3;
}
.btn:disabled svg path {
  stroke: #efeceb;
}
/* .finalStep{
  position: absolute;
  width: 100%;
}
.finalStep .step{
  display: flex;
  z-index: 2;
} */
.mainWrapper {
  position: relative;
  height: 100%;
  background: linear-gradient(
    180deg,
    #d0c6c1 0%,
    rgba(226, 222, 220, 0) 66.49%
  );
  transition: ease 0.5s all;
}

.mainWrapper.solidBG {
  background: #e9e8e4;
}

.bgImg {
  position: fixed;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  text-align: end;
  pointer-events: none;
}
.bgImg img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.select2-container .select2-dropdown .select2-search--dropdown {
  display: none;
}

.mCSB_scrollTools {
  opacity: 0 !important;
}

@media (max-width: 1280px) {
  .header .logoWrapper h3 {
    font-size: 25px;
    line-height: 1.1;
  }
}
@media (max-width: 992px) {
  .header .logoWrapper h3 {
    font-size: 20px;
    line-height: 1.1;
  }
}

@media (max-width: 768px) {
  .header {
    padding: 24px;
  }
  .header .backWrapper {
    gap: 17px;
  }
  .header .backWrapper p {
    font-weight: 420;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
  }
  .header .backWrapper a {
    width: 56px;
    height: 56px;
  }
  .card-container {
    flex-direction: column;
    gap: 31px;
  }
  .card, .card.sty2 {
    flex: 0 0 100%;
    max-width: 100%;
    min-height: 320px;
    padding: 24px;
  }
  .card.sty2 {
    padding-bottom: 32px;
  }
  .card h3, .card.sty2 h3 {
    font-weight: 420;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  .card p ,  .card.sty2 p  {
    font-weight: 420;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0%;
  }
  .btn{
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 6%;
  }
  .card.sty2 a{
      font-weight: 400;
      font-size: 16px;
      line-height: 140%;
      letter-spacing: 0%;
  }
  .card.sty2 a::before {
    width: 106px;
    bottom: -8px;
  }
  .header .logoWrapper h3 {
    display: none;
  }
  .header .logoWrapper a svg {
    width: 100px;
    height: auto;
  }
  .sectionWrapper{
    padding-bottom: 30px;
  }
  .ctaWrapper .innerBox .navigation-container{
    display: none;
  }
  .ctaWrapper .btn.light{
    width: 68px;
    padding: 0;
    justify-content: center;
    height: 68px;
  }
  .ctaWrapper .btn{
    padding: 0 56px;
    font-weight: 420;
    font-size: 17.79px;
    line-height: 100%;
    letter-spacing: 0%;
  }
  .btn.light span{
    display: none;
  }
  .btn.light svg{
    transform: rotate(180deg);
    display: block;
  }
  .ctaWrapper .innerBox .nav-buttons{
    gap: 16px;
  }
  .ctaWrapper .innerBox{
    justify-content: center;
    padding: 24px;
    width: calc(100% - 48px);
  }
  .subtitle{
    font-weight: 420;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0%;
  }
  .info{
    font-weight: 420;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0%;
  }
  label{
    font-weight: 400;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0%;
    text-transform: uppercase;
    margin-bottom: 16px;
    display: block;
  }
  input[type="text"], input[type="tel"], input[type="email"] {
    font-weight: 420;
    font-size: 22px;
    line-height: 160%;
    letter-spacing: 0%;
    padding: 8px 0;
  }
  .step.final{
    flex-direction: column;
  }
  .step.final .summary-section{
    flex: 0 1;
    max-width: 100%;
    padding: 24px;
    background: #E9E8E4;
    width: calc(100% - 48px);
    height: fit-content;
  }
  .step.final .submitter-details{
    padding-left: 24px;
    padding-right: 24px;
    height: 100%;
  }
  .step.final .summary-section .innerWrapper{
    padding: 0;
  }
  .step.final .summary-section .innerWrapper .contentWrapper{
    padding: 16px;
    margin-top: 0;
    background: linear-gradient(211deg, #020202 -132%, #57514f 113.65%);
  }
  .header.sty2 .backWrapper a svg path{
    stroke: #312424;
  }
  .navigation-container.mob{
    display: block;
    padding-top: 16px;
    position: relative;
    z-index: 2;
    background-color: #E9E8E4;

  }
  .step.final{
    margin-top: 0;
    display: block !important;
  }
  .step.final .details{
    height: fit-content;
  }
  .step.final .summary-section .innerWrapper h3{
    display: none;
  }
  .step.final .summary-section .innerWrapper .contentWrapper h4{
    margin-bottom: 0;
  }
  .step.final .summary-section .innerWrapper .contentWrapper .description{
    display: none;
  }
  header.sty2{
    background-color: #E9E8E4;
  }
}
