@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;400;600&display=swap');
body {
  margin: 0;
  padding: 0;
  background: #fff;
}

#leadGenForm .input-group-text {
  font-size: 1.7vh;
  padding: 0.4vh .75rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.form_section .row{ margin-top: 1vh;}

#heroImageContainer{ height:100vh; position: fixed; left:0;}
#heroImage {height:100vh; width: auto;}

#formContainer-heroPlaceholder {
    flex: 0 0 auto !important; /* Prevent Bootstrap's `.col` from overriding width */
    width: auto; /* Ensures it uses computed width */
}
#formContainer-inner{ width: 85%;max-width: 800px; /* Optional: Prevents it from stretching too wide */}
#formContainer {
    display: flex;
    justify-content: center;  /* Centers horizontally */
    align-items: center;      /* Centers vertically */
    height: 100vh;            /* Ensures full height of viewport */
}

    #pageContainer {
        display: flex;
        flex-direction: row;
        height: 100vh;
    }

    #heroImageContainer {
        display: flex;
        align-items: center; /* Vertical center */
        justify-content: center; /* Horizontal center */
        height: 100vh;
        width: 50vw;
        position: fixed;
        left: 0;
    }

    #heroImageContainerInner{
      width: 100%;
      height: 100vh;
      background-image: url(../images/sureplus-bg.jpg?2);
      background-color: #9a6ac7;
      background-repeat: no-repeat;
      background-size: cover;
      background-position:bottom right; /* Optional: centers the image */
    }

    #heroImage-layer2 {
      position: absolute;
      height: 35vh;
      width: auto;
    }

    #heroImageContainerInner .footer{ width: 40%; margin-left: 20%; color: #fff; font-size: 10px; line-height: 1; margin-top: 5vh;}


    #heroImage {
        height: 80vh;
        margin: auto;
        width: auto;
        display: block;
        padding-top: 5vh;
    }

    #formContainer {
        display: flex;
        align-items: center; /* Vertical center */
        justify-content: center; /* Horizontal center */
        flex-grow: 1; /* Takes up remaining space */
        padding: 20px;
        width: 50vw;
        margin-left: 50vw;
    }

@media (min-width: 1024px) and (max-width: 1440px) {
  #heroImage-layer2 {
    position: absolute;
    height: auto;
    width: 25vw;
  }

  #heroImage {
      height: 70vh;
      margin: auto;
      width: auto;
      display: block;
      padding-top: 15vh;
  }

    #heroImageContainerInner .footer{ width: 70%; margin:auto; color: #fff; font-size: 10px; line-height: 1; margin-top: 5vh;}

}


@media (min-width: 768px) and (max-width: 1024px) {

  #heroImage-layer2 {
    position: absolute;
    height: 25vh;
    width: auto;
  }

  #heroImage {
      height: 65vh;
      margin: auto;
      width: auto;
      display: block;
      padding-top: 10vh;
  }

  #heroImageContainerInner .footer{ width: 70%; margin:auto; color: #fff; font-size: 10px; line-height: 1; margin-top: 5vh;}

}

/* Mobile Portrait (Single Column) */
@media (max-width: 767px) {

  .form_section .row{ margin-top: 0vh;}
  .form_section .col-12, .form_section .col  { margin-top: 1vh;}

  .g-2{margin:  0rem;}

  #leadGenFormWrapper {

    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom:10vh;
  }

  #formContainer {
      display: flex;
      align-items: center; /* Vertical center */
      justify-content: center; /* Horizontal center */
      flex-grow: 1; /* Takes up remaining space */
      padding: 20px;
      width: 100vw;
      margin-left: 0vw;
  }

  #heroImage-layer2 {
    position: absolute;
    height: 25vh;
    width: auto;
    z-index: 1;
  }

  #heroImage {
   width: 80%;
   height: auto;
   display: block;
   margin:auto;

    padding-top: 18vh;
 }

 #heroImageContainerInner .footer{ width: 70%; margin-left: 10%; color: #fff; font-size: 10px; line-height: 1; margin-top: 5vh;}



  #leadGenForm h1 { font-size: 3.5vh; line-height: 4.5vh;}

  #main-content{ width: 100%;}

    #pageContainer {
        display: block;
        height: auto;
    }

    #heroImageContainer {
        position: relative;
        width: 100%;
        height: auto;
    }


    #leadGenForm {
        max-width: 100vw;
        overflow-x: hidden;
    }

    #formContainer {
        width: 100%;
        display: block;
        padding: 20px;
    }

    #formContainer-heroPlaceholder {
        display: none;
    }

    #formContainer-inner {
      width: 100%;
      max-width: 100%;
    }

}









.colored { color: #ac1a2d;}

.preloader {
    display: none; /* Initially hidden */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 9999; /* High z-index to cover all content */
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 8px solid rgba(0, 0, 0, 0.1);
    border-top: 8px solid #007bff; /* Blue spinner */
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.preloader p {
    margin-top: 10px;
    font-size: 16px;
    color: #333;
}


.form-control-custom {
  display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.form-control-custom.is-valid {
	border-color: var(--bs-form-valid-border-color);
	padding-right: calc(1.5em + .75rem);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(.375em + .1875rem) center;
	background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.form-control-custom.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + .75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

#expectingScreen, #expectingScreen_frame2 , #inEligibleScreenTooOld, #inEligibleScreenTooYoung{
  display: none;
  position: absolute;
  z-index: 1000;
}
  #expectingScreenInner, .inEligibleScreenInner {
    background:#0aa3e4; padding:40px; margin: 40px;height:520px; width:520px;color:#fff; font-size: 12px;
  }

  .inEligibleScreenInner .button{ color:#0aa3e4 !important; background: #fff !important;   }
  #expectingScreenInner h2, .inEligibleScreenInner h2 { color:#fff !important;}

  #expectingScreenInnerClose, .inEligibleScreenInnerClose {
    transform: rotate(45deg);
    position: absolute; right:60px; top:60px;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    display: block;

  }

  #expectingScreenInner input[data-toggle="datepicker"] { background: #fff;}


.AptaPopUpActive {
  height: 100%;
  width: 100%;
  position: relative;
}
.embedOption {
  display: none;
}
.popup {
  display: block;
}
::-moz-selection {
  background: #aa1f2e;
  color: #fff;
}
::selection {
  background: #aa1f2e;
  color: #fff;
}
#leadGenFormOverlay {
  z-index: 500;
  height: 100vh;
  width: 100vw;
  opacity: 0.7;
  position: fixed;
  display: none;
  left: 0;
  top: 0;
}
.AptaPopUpActiveMobile {
  position: relative;
  overflow-y: scroll;
  width: 100%;
  font-size: 3vw;
}

#acknowledgement-screen , #request-success{ display: none;}

#heroDisclaimer { width:60%; margin: auto; padding:0;color:#fff; font-size: 1.5vh; text-align: center; line-height: 1.1;}
#heroDisclaimer p{ margin: 0 0 5px 0;}


@media only screen and (min-width: 1024px) {

}










 #intro-blurb{

  font-weight: bold; color: #aa1f2e;

}



#leadGenForm #btn_overlayClose {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 50px;
  height: 50px;
  cursor: pointer;
  text-align: center;
  z-index: 2;
}
#leadGenForm #btn_overlayClose div {
  transform: rotate(45deg);
  font-size: 35px;
  overflow: hidden;
  cursor: pointer;
  color: #b9d3de;
  font-family: serif;
  margin: 15px 20px 0 0;
  transition: color .2s ease-in-out;
}
#leadGenForm #btn_overlayClose:hover div {
  color: #aa1f2e;
  transition: color .2s ease-in-out;
}
#leadGenForm h1 {
  font-family: 'Montserrat', sans-serif;
  color: #aa1f2e;
  margin-top: 0;
  margin-bottom: 0.5vh;
  font-size: 3vh;
  font-weight: 600;
  line-height: 3vh;
  letter-spacing: -0.03em;
}
#leadGenForm h2 {
  font-family: 'Montserrat', sans-serif;
  color: #ac1a2d;
  font-size: 2vh;
  line-height: 2.5vh;

}
#leadGenForm h3 {
  font-family: 'Montserrat', sans-serif;
  color: #aa1f2e;
  font-size: 15px;
  letter-spacing: -0.02em;
  font-weight: bold;
  margin-top: 3vh;
  margin-bottom: 1vh;
}

#leadGenForm .wizard {
  margin-bottom: 20px;
  display: block;
}
#leadGenForm .step {
  font-size: 12px;
  line-height: 14px;
  color: #ccc;
  width: 48%;
  height: 40px;
  display: inline-block;
  margin: 0;
  box-sizing: border-box;
  padding: 0;
  text-align: center;
  border-bottom: 5px solid #eee;
  margin-right: 1%;
}



#leadGenForm #selectstate {   color: #666;}



#leadGenForm .step.processed {
  color: #a8bde0;
  border-bottom: 5px solid #ccdcf7;
}
#leadGenForm .step.active {
  border-bottom: 5px solid #aa1f2e;
  color: #aa1f2e;
}

#leadGenForm .clear {
  clear: both;
}
#leadGenForm .form-group div {
  margin: 8px 0 12px 0;
  color: #8eb0bf;
}
#leadGenForm .form-groupFull {
  width: 100%;
}
#leadGenForm form {
  color: #3c3c3c;
  margin: auto;
  width: 100%;
  box-sizing: border-box;

}



#leadGenForm .form-control, #leadGenForm .form-control-custom, .input-group-text {
  padding: .25rem .75rem;
}

#leadGenForm input:focus, #leadGenForm select:focus, #leadGenForm textarea:focus, #leadGenForm button:focus {
  outline: none;
}

#leadGenForm select.form-control {
  width: 99%;
  margin-left: 3px;
  padding-left: 8px;
}

#leadGenForm .form-group-single input[type=text], #leadGenForm input[data-toggle=datepicker], #leadGenForm input[type=password] {
  color: #3c3c3c;
  background-color: #fff;
  border: 1px solid #ced4da;
  width: 100%;
  display: flex;
  background: none;
  font-family: 'Montserrat', sans-serif;
  border-radius: 6px;
  box-sizing: border-box;
}
#leadGenForm .tc {
  font-size: 11px;
  line-height: 1.4em;
  margin-top: 18px;
  color: #8697b3;
}
#otp_message {
  font-size: 13px;
}
#otp label {
  font-weight: 600;
}
#leadGenForm .frame1 h2 {
  margin-bottom: 30px;
}
#leadGenForm .frame2, #leadGenForm .frame3, #leadGenForm .frame4, #leadGenForm .frame5 {
  display: none;
  position:relative;
}
#leadGenForm .frame5 {

}
.frame2 .row, .frame3 .row {
  --bs-gutter-x: 0;
}

#leadGenForm  .frame3 h2{
  font-size:3.5vh;
  margin-bottom:3vh;
  font-size: 4vh;
  line-height: 4vh;
}

.frame3-inner {
  display: flex;
   justify-content:flex-start;  /* Horizontally centers the content */
   align-items: center;      /* Vertically centers the content */
   height: 80vh;
     font-size: 2.5vh;
}

#isMobile .frame3-inner{ height: auto;}

.frame3-inner-inner {
  display: flex;
  flex-direction: column; /* Stack elements vertically */
}

#leadGenForm .form_section {
  min-height: 270px;
}
.form-check-input:checked {
  background-color: #b0c1dc;
  border-color: #b0c1dc;
}
.form-check-input {
  border: 1px solid #b0c1dc;
}
#leadGenForm button {
  width: 100% !important;
}
#leadGenForm .button.disabled {
  background-color: #ccc;
  cursor: wait;
}
#leadGenForm .button.disabled:hover {
  background-color: #ccc;
}
#leadGenForm .button {
  background-color: #aa1f2e;
  color: #fff;
  padding: 10px 30px;
  font-size: 13px;
  font-family: Montserrat regular, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  border: none;
  border-radius: 999rem;
  cursor: pointer;
  margin-top: 13px;
  display: inline-block;
  -webkit-transition: background-color .2s ease-in-out, color .2s ease-in-out, -webkit-box-shadow .2s ease-in-out;
  transition: background-color .2s ease-in-out, color .2s ease-in-out, -webkit-box-shadow .2s ease-in-out;
  transition: background-color .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out;
  transition: background-color .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out, -webkit-box-shadow .2s ease-in-out;
}
#leadGenForm .button:hover {
  background-color: #aa1f2e;
  -webkit-transition: background-color .2s ease-in-out, color .2s ease-in-out, -webkit-box-shadow .2s ease-in-out;
  transition: background-color .2s ease-in-out, color .2s ease-in-out, -webkit-box-shadow .2s ease-in-out;
  transition: background-color .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out;
  transition: background-color .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out, -webkit-box-shadow .2s ease-in-out;
}
#leadGenForm .frame1err {
  display: inline-block;
  font-size: 11px;
  color: #aa1f2e;
}
#leadGenForm .frame2err {
  display: inline-block;
  font-size: 11px;
  color: #aa1f2e;
}

#leadGenForm .form-check-label {
  font-size: 2vh;
  margin-top: 3px;
}
.form-check .form-check-input {
  margin-left: -1.55em;
}
#leadGenForm .label-nric {
  float: none;
}
#leadGenForm .label span, #leadGenForm .label-nric span {
  display: block;
  font-size: 11px;
  font-weight: 500;
}
#leadGenForm .label span a {
  text-decoration: none;
  color: #4392ce;
}
#leadGenForm .clear {
  clear: both;
}

a {
  color: #aa1f2e;
  text-decoration: none;
  transition: color .2s ease-in-out;
}
#leadGenForm .AptaIneligible, #leadGenForm .AptaEligible {
  display: none;
  font-size: 14px;
  margin-top: 20px;
}
#leadGenForm sub, #leadGenForm sup {
  /* Specified in % so that the sup/sup is the
             right size relative to the surrounding text */
  font-size: 75%;
  /* Zero out the line-height so that it doesn't
             interfere with the positioning that follows */
  line-height: 0;
  /* Where the magic happens: makes all browsers position
             the sup/sup properly, relative to the surrounding text */
  position: relative;
  /* Note that if you're using Eric Meyer's reset.css, this
             is already set and you can remove this rule */
  vertical-align: baseline;
}
#leadGenForm .AptaFailure {
  display: none;
}
#leadGenForm sup {
  /* Move the superscripted text up */
  top: -0.5em;
}
#leadGenForm sub {
  /* Move the subscripted text down, but only
             half as far down as the superscript moved up */
  bottom: -0.25em;
}
.datepicker-container {
  font-family: 'Montserrat', sans-serif;
  background-color: #fff;
  direction: ltr;
  font-size: 12px;
  left: 0;
  line-height: 30px;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: none;
  touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 210px;
  z-index: -1;
}
.datepicker-container::before, .datepicker-container::after {
  border: 5px solid transparent;
  content: " ";
  display: block;
  height: 0;
  position: absolute;
  width: 0;
}
.datepicker-dropdown {
  border: 1px solid #ccc;
  -webkit-box-shadow: 0 3px 6px #ccc;
  box-shadow: 0 3px 6px #ccc;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  position: absolute;
  z-index: 1;
}
.datepicker-inline {
  position: static;
}
.datepicker-top-left, .datepicker-top-right {
  border-top-color: #39f;
}
.datepicker-top-left::before, .datepicker-top-left::after, .datepicker-top-right::before, .datepicker-top-right::after {
  border-top: 0;
  left: 10px;
  top: -5px;
}
.datepicker-top-left::before, .datepicker-top-right::before {
  border-bottom-color: #39f;
}
.datepicker-top-left::after, .datepicker-top-right::after {
  border-bottom-color: #fff;
  top: -4px;
}
.datepicker-bottom-left, .datepicker-bottom-right {
  border-bottom-color: #39f;
}
.datepicker-bottom-left::before, .datepicker-bottom-left::after, .datepicker-bottom-right::before, .datepicker-bottom-right::after {
  border-bottom: 0;
  bottom: -5px;
  left: 10px;
}
.datepicker-bottom-left::before, .datepicker-bottom-right::before {
  border-top-color: #39f;
}
.datepicker-bottom-left::after, .datepicker-bottom-right::after {
  border-top-color: #fff;
  bottom: -4px;
}
.datepicker-top-right::before, .datepicker-top-right::after, .datepicker-bottom-right::before, .datepicker-bottom-right::after {
  left: auto;
  right: 10px;
}
.datepicker-panel > ul {
  margin: 0;
  padding: 0;
  width: 102%;
}
.datepicker-panel > ul::before, .datepicker-panel > ul::after {
  content: " ";
  display: table;
}
.datepicker-panel > ul::after {
  clear: both;
}
.datepicker-panel > ul > li {
  background-color: #fff;
  cursor: pointer;
  float: left;
  height: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 30px;
}
.datepicker-panel > ul > li:hover {
  background-color: #e5f2ff;
}
.datepicker-panel > ul > li.muted, .datepicker-panel > ul > li.muted:hover {
  color: #999;
}
.datepicker-panel > ul > li.highlighted {
  background-color: #e5f2ff;
}
.datepicker-panel > ul > li.highlighted:hover {
  background-color: #cce5ff;
}
.datepicker-panel > ul > li.picked, .datepicker-panel > ul > li.picked:hover {
  color: #39f;
}
.datepicker-panel > ul > li.disabled, .datepicker-panel > ul > li.disabled:hover {
  background-color: #fff;
  color: #ccc;
  cursor: default;
}
.datepicker-panel > ul > li.disabled.highlighted, .datepicker-panel > ul > li.disabled:hover.highlighted {
  background-color: #e5f2ff;
}
.datepicker-panel > ul > li[data-view="years prev"], .datepicker-panel > ul > li[data-view="year prev"], .datepicker-panel > ul > li[data-view="month prev"], .datepicker-panel > ul > li[data-view="years next"], .datepicker-panel > ul > li[data-view="year next"], .datepicker-panel > ul > li[data-view="month next"], .datepicker-panel > ul > li[data-view="next"] {
  font-size: 18px;
}
.datepicker-panel > ul > li[data-view="years current"], .datepicker-panel > ul > li[data-view="year current"], .datepicker-panel > ul > li[data-view="month current"] {
  width: 150px;
}
.datepicker-panel > ul[data-view="years"] > li, .datepicker-panel > ul[data-view="months"] > li {
  height: 52.5px;
  line-height: 52.5px;
  width: 52.5px;
}
.datepicker-panel > ul[data-view="week"] > li, .datepicker-panel > ul[data-view="week"] > li:hover {
  background-color: #fff;
  cursor: default;
}
.datepicker-hide {
  display: none;
}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {
  -webkit-text-fill-color: #3c3c3c;
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  transition: background-color 5000s ease-in-out 0s;
}
.sign-in #leadGenForm .form_section {
  min-height: 240px;
}
.sign-in #leadGenForm form {
  margin-top: 8%;
  padding: 50px 50px 20px 50px;
}
.sign-in #leadGenForm h1 {
  font-size: 29px;
  margin-bottom: 18px !important;
  color: #aa1f2e;
  line-height: 1.6em;
}
.sign-in #leadGenForm h2 {
  margin-bottom: 5px;
  font-size: 33px;
  font-weight: 600;
  color: #aa1f2e;
  letter-spacing: -0.03em;
  line-height: 0.6em;
}
.sign-in .mb-3 {
  font-size: 13px;
}
.sign-in #leadGenForm .button {
  margin-top: 0;
}
