@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC&display=swap"); 

@font-face {
  font-family: "Noto Sans TC";
    font-weight: 400;

  src: url(./fonts/NotoSansTC-Regular.ttf);
}
@font-face {
  font-family: "Noto Sans TC";
  font-weight: 600;
  src: url(./fonts/NotoSansTC-Bold.ttf);
}

@font-face {
  font-family: "Noto Sans";
  font-weight: 600;
  src: url(./fonts/NotoSans-Bold.ttf);
}


body,
html {
  position: relative;
  height: 100%;
  background-color:#FFF8E0; 
  color: #fff;
  font-family: "Noto Sans TC", sans-serif;
  min-width: 320px;
  box-sizing: border-box;
}
* {
  box-sizing: border-box;
}
input,
select,
textarea,
button {
  font-family: "Noto Sans TC", sans-serif;
  -webkit-appearance: none !important;
  border-radius: 0px !important;
}

::placeholder {
  color: var(--Color-Secondary-Warm-Grey, #a59e8c);
  opacity: 1; /* Firefox */
}

.header {
  width: 100%;
  gap: 10px;
  height: 75px;
  top: 0px;
  background-color: #fff;
  background: #fff;
  /* box-shadow: 2px 4px 5px 0px rgba(0, 0, 0, 0.1); */
  /* position: fixed; */
  z-index: 11;
  /* max-width: 512px; */
  margin: 0 auto;
  display: block;
}

.header_container {
  display: flex;
  width: 100%;
  height: 100%;
  max-width: 512px;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 20px 10px 15px 10px;
  position: relative;
}

/* .header_container .home_btn {
  height: 32px;
  width: 28px;
  display: inline-block;
  background-image: url(../images/ic);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 30px;
} */

.header .header_logo {
  display: block;
  height: 41px;
  aspect-ratio: 140/41;
  background-image: url(../images/sunlife_logo.svg);
}

.wrapper {
  position: relative;
  /* height: 100%; */
  max-width: 640px;
  margin: 0 auto;
}
.spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 56px;
  height: 56px;
  margin-top: -28px;
  margin-left: -28px;
  border-radius: 50%;
  border: 9px solid;
  border-color: #dbdcef;
  border-right-color: #8f8f8f;
  animation: spinner-d3wgkg 1s infinite linear;
}

.btn {
  /* display: block;
  width: 200px;
  height: 44px;
  background-image: url(../images/btn.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin: 27px auto;
  color: var(--White, #fff);
  text-align: center;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
  font-family: "PingFang HK";
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 42px; */
}

.whiteBtn {
  background-image: url(../images/whiteBtn.svg);
  margin-bottom: -19px;
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);
  text-align: center;

  /* TC/Button */

  font-size: 16px;
  font-style: normal;
  font-weight: 400;
}

.page {
  display: none;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  padding: 0 20px 20px;
  background: var(--Color-Primary-Sun-Life-Warm-Yellow, #FFF8E0);
}
.page_loading {
  position: fixed;
  top: 0px;
  left: 0px;
  height: 100vh;
  z-index: 10;
}

.page_index {
  display: block;
  /* height: calc(100vh - 75px); */
  padding: 0px;
  padding-bottom: 40px;
  background: var(--Color-Primary-Sun-Life-Warm-Yellow, #FFF8E0);
}

.page_index_kv {
 width: 100%;
    aspect-ratio: 13 / 9;
    background-image: url(../images/kv_train.jpg);
    background-position: right;
    background-size: 100%;
    background-repeat: no-repeat;
    position: relative;
}


.page_index_bottom {
  padding: 0 15px;

  position:relative;
  margin-top: -70px;
}
.page_output{
  padding-top: 30px;
}
.page_index_bottom h2, .page_output h2{
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);

/* TC/Headline 1 - Semibold */
font-family: "Noto Sans TC";
font-size: 32px;
font-style: normal;
font-weight: 600;
line-height: 120%; /* 38.4px */
text-align: left;
}
.page_index_bottom h3, .page_output h3{
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);

/* TC/Headline 3 - Semibold */
font-family: "Noto Sans TC";
font-size: 24px;
font-style: normal;
font-weight: 600;
line-height: 140%; /* 33.6px */
text-align: left;
margin-bottom: 21px;
}

.page_index_bottom p{
text-align: left;
}
.page_index_bottom_code {
  margin-top: 45px;
 
}

.page_form {
  padding-top: 24px;
}

.page_index_bottom_code input {
  outline: none;
}
@keyframes spinner-d3wgkg {
  to {
    transform: rotate(1turn);
  }
}

.loading {
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
}

.cameraWrapper {
  position: relative;
}
.cameraWrapper .input_video {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 0;
  /* left: -22px; */
  z-index: -3;
}
.cameraWrapper .preview {
  display: block;

  /* aspect-ratio: 9/16; */



  position: relative;
  height: 100%;
  width: 100%;
}

.cameraWrapper .preview_outside, .photo_preview_outside {
  display: block;
    margin-top: 24px;
    background-color: #dde6e1;
    z-index: 0;
    max-height: 70vh;
    aspect-ratio: 9 / 16;
    margin: 26px auto;
    position: relative;
}

 #photo_guide{
  width: 100%;
  aspect-ratio: 9/16;
  position: absolute;
  z-index: 1;
  user-select: none;
}
#photoUpload {
  display: block;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
}
#photo {
  display: block;
  width: 50%;
  position: absolute;
  top: -9999px;
}
#photo_preview {
display: block;
    height: 100%;
    border-radius: 12px;
    border: 4px solid var(--Color-Primary-Black, #000);
 background:  rgba(211, 211, 211, 0.5);
    aspect-ratio: 9 / 16;
    object-fit: contain;
    width: 100%;
}

#head {
  display: block;
  width: 50%;
  position: absolute;
  top: -9999px;
}
.range {
  visibility: hidden !important;
}

.handle {
  width: 3px !important;
  background-color: #003946;
  height: 90%;
  top: 5% !important;
}

.sliderlens > .handle:before {
  right: 50%;
  bottom: 55%;
  border-right: none;
  z-index: 1;
}

.sliderlens svg > path {
  stroke: #A59E8C;
}

.sliderlens > .handle:after {
  background: #003946 !important;
  width: 3px;
}

.sliderlens {
  height: 100px !important;
  border: none !important;
}

.sliderlens.fixed {
  background:white
}

#sliderValue {
  color: #FEBE10;
  text-align: center;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 64px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%; /* 76.8px */
  display: block;
  margin-bottom: 30px;
}

.container {
  width: 100%;
  max-width: 512px;
  margin: 0 auto;
}

p {
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);
  text-align: center;

  /* TC/Body - Semibold */

  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 22.4px */
}

.page_index span {
  color: var(--Color-Secondary-4F-Grey, #4f4f4f);
  text-align: left;
  display: block;
  /* TC/Body Small - Regular */
  /* font-family: "PingFang HK"; */
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 14.4px */
  margin-bottom: 8px;
}
#agentIdInput {
  
border: 1px solid var(--form-form-border, #5B6062);
background: var(--form-form-background-default, #FFF);
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  -webkit-appearance: none;
}

/* form */
.form_header {
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: center;

  align-items: center;

  position: relative;

 
  overflow: hidden;
}

.form_header p{
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);
text-align: center;
font-family: "Noto Sans TC";
font-size: 24px;
font-style: normal;
font-weight: 600;
line-height: 140%; /* 33.6px */
letter-spacing: 7.2px;
}

@keyframes play {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(0%);
  }
}

/* .form_header h3 {
  text-align: center;
  color: #fff8e0;

  font-family: "PingFang HK";
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
} */

.form_header .btn_home {
  display: block;
  width: 32px;
  height: 32px;
  background-image: url(../images/btn_train.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  aspect-ratio: 1 / 1;
  background-position: center;
  position: absolute;
  left: 16px;
}

.form_header .btn_back {
  display: block;
  width: 32px;
  height: 32px;
  background-image: url(../images/btn_train.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  aspect-ratio: 1 / 1;
  background-position: center;
  position: absolute;
  left: 16px;
}

.form_question_container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;


  border: 1px solid #DDE6E1;
background: #FAF9F9;
  min-height: 63vh;
  padding: 16px 10px;
}

.form_question_container p {
 color: var(--Color-Iconic-Sun-Life-Blue, #003946);
text-align: center;

/* TC/Headline 3 - Semibold */
font-family: "Noto Sans TC";
font-size: 24px;
font-style: normal;
font-weight: 600;
line-height: 140%; /* 33.6px */
}
.form_question_container_outside {
display: block;
    margin-top: 24px;
    /* padding: 8px; */
    /* border-radius: 12px; */
    background-color: #dde6e1;
    z-index: -1;
    /* box-shadow: 0px 4px 8px 0px rgba(172, 97, 0, 0.4); */
    border: 1px solid #DDE6E1;
    background: #FAF9F9;
}

.form_question_ratio {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 5%;
  margin-top: 41px;
  padding-bottom: 33px;
}

.form_question_ratio input {
  display: none;
}

.form_question_ratio label {
  max-width: 142px;
  max-height: 142px;
 background-color: white;
  width: 44%;
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content:center
}

.form_question_ratio label p {
color: var(--Blue, #00588B);
text-align: center;
/* TC/Headline 1 - Semibold */
font-family: "Noto Sans TC";
font-size: 32px;
font-style: normal;
font-weight: 600;
line-height: 120%; /* 38.4px */
}

.form_question_ratio label.chosen {
  border: 2px solid var(--Blue, #00588B);
background: #FFF;
}


.form_bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
}

.form_question_inputContainer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 80px;
  margin-bottom: 100px;
}

#q2 input[type="text"] {
  display: flex;
  width: 130px;
  height: 60px;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  /* border: 2px solid var(--Color-Secondary-Warm-Grey, #a59e8c); */
  /* background: var(--Color-Base-White, #faf9f9); */
  text-align: center;
  /* color: var(--Color-Iconic-Sun-Life-Blue, #003946); */
  text-align: center;
  /* font-family: "PingFang HK"; */
  /* font-size: 24px; */
  /* font-style: normal; */
  font-weight: 600;
  line-height: 120%;
  outline: none;
  padding: 0px;
}
.divisionLine {
  width: 90%;
  height: 1px;
  margin: 40px auto;
  background-color: #febe10;
}

.value,
input:-webkit-autofill,
input:-webkit-autofill:focus {
display: flex
;
    height: 60px;
    width: 130px;
    text-align: center;
   
    padding: 11px 30px 14px 30px;
    color: #003946;
    font-size: 32px;
    margin: 0 5px;
    line-height: 45px;
    border: 0px;
    
}

#q3 .form_question_ratio {
  margin-top: 16px;
  flex-wrap: wrap;
  padding-bottom: 0px;
}

#q3 .form_question_ratio label {
  align-items: center;
  width: 44%;
  aspect-ratio: unset;
  max-height: unset;
  /* aspect-ratio: 142 / 103; */
  display: flex;
  justify-content: flex-start;
  margin-bottom: 16px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: relative;
  background: transparent;

}
#q3 .form_question_ratio label img{
  width: 100%;
  position: relative;
  margin-bottom: 8px;
}

#q3 .form_question_ratio label p{
color: var(--Color-Iconic-Sun-Life-Blue, #003946);

/* TC/Button */
font-family: "Noto Sans TC";
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 120%; /* 19.2px */
}

/* #q3 .form_question_ratio .retire_travel {
  background-image: url(../images/travel.jpg);
}
#q3 .form_question_ratio .retire_michelin {
  background-image: url(../images/michelin.jpg);
}

#q3 .form_question_ratio .retire_sport {
  background-image: url(../images/sport.jpg);
}

#q3 .form_question_ratio .retire_lifestyle {
  background-image: url(../images/lifestyle.jpg);
}

#q3 .form_question_ratio .retire_cruise {
  background-image: url(../images/cruise.jpg);
} */

#q3 .form_question_ratio label.chosen{
  border: none;
}


#q3 .form_question_ratio label.chosen::before {
     content: '';
  
 
 border: 3px solid var(--Blue, #00588B);
    background-color: #ffffff3a;
    z-index: 4;
    content: '';
    position: absolute;
    width: 100%;
    aspect-ratio: 70 / 39;
    top: -3px;
    z-index: 3;
}




#q3 .form_question_ratio label img {
  z-index: 2;
}

.sliderlens.fixed::before {
  content: none;
}
.sliderlens.fixed::after {
  content: none;
}

#q4 .unit {
  color: var(--Color-Secondary-4F-Grey, #4f4f4f);
  text-align: center;

  /* TC/Title 2 - Regular */
  font-family: "PingFang HK";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 24px */
  margin: 60px auto 8px;
}

#retirementSum {
  display: flex;
  align-items: center;
  justify-content: center;
}

#retirementSum .value {
  height: 60px;
  min-width: 100px;
  width: fit-content;
  overflow: visible;
}

.page_cameraIndex_kv {
  width: 100%;
  padding: 27px 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  background-image: url(../images/camera_kv.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  aspect-ratio: 390/356;
  margin-bottom: 25px;
}

.page_cameraIndex {

    padding-bottom: 30px;
}

.page_cameraIndex_step {

 width: 100%;
  margin: 0 auto;
text-align: left;

  position: relative;

}

table {
  border-collapse: separate;
  text-indent: initial;
  border-spacing: 8px;
}
table tr {
}
.step_desc {
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);

  /* TC/Body - Semibold */
  font-family: "PingFang HK";
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 22.4px */

  padding-left: 8px;
}
.page_cameraIndex h2{
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);
text-align: center;

/* TC/Headline 1 - Semibold */
font-family: "Noto Sans TC";
font-size: 32px;
font-style: normal;
font-weight: 600;
text-align: left;
line-height: 120%; /* 38.4px */
}
.page_cameraIndex h3{
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);
text-align: center;

/* TC/Headline 3 - Semibold */
font-family: "Noto Sans TC";
font-size: 24px;
font-style: normal;
font-weight: 600;
line-height: 140%; /* 33.6px */
margin-bottom: 28px;
margin-top: 8px;
text-align: left;
}

.page_cameraIndex p{
  text-align: left;
  margin-bottom:44px;
  margin-top: 16px;
}
.page_cameraIndex_step p {
   color: var(--Color-Iconic-Sun-Life-Blue, #003946);

/* TC/Body - Semibold */
font-family: "Noto Sans TC";
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 140%; /* 22.4px */
text-align: left;
margin: 8px 0px;
}

.hidden {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /* height: 100%; */
  /* background: #e44; */
  z-index: 0;
  overflow: hidden;
  opacity: 0;
  /* z-index: 99999; */
}

.btn_selectphoto {
  display: block;
  width: 56px;
  height: 56px;
  background-image: url(../images/photo_upload.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.btn_change_camera {
  display: block;
  width: 56px;
  height: 56px;
  background-image: url(../images/change_camera.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.btn_takephoto {
  display: block;
  width: 70px;
  height: 70px;
  background-image: url(../images/camera_btn.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
}

#retake {

    display: flex
;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 28px auto 8px;
  
    /* background-image: url(../images/whiteBtn.svg); */
    /* margin-bottom: -19px; */
    color: var(--Color-Iconic-Sun-Life-Blue, #003946);
    text-align: center;

    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    /* border: none; */
    /* box-shadow: unset; */
    background-color: #faf9f9;

   border: 2px solid var(--Blue, #00588B);
    
}

#retake span{
  position: relative;
      margin-left: 15px;
}
#retake span::before {
      content: '';
    display: block;
    width: 25px;
    height: 25px;
    background-image: url(../images/icn_camera.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    position: absolute;
    left: -29px;
    top: -3px;
}

/* loading train */
/* HTML: <div class="loader"></div> */

.loader{
  display: block;
  width: 80px;
  box-sizing: content-box;
  position: relative;
  margin: auto;
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateX(-40px);
}
.loaderImg {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  box-sizing: content-box;
  background-image: url(../images/spinner.png);
  position: relative;
  margin: auto;

 transform-origin: center;
animation: 2s roll cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  background-repeat: no-repeat;
  background-position: center;

}


@keyframes roll{
  0% {
    rotate: 0deg;
       background-image: url(../images/spinner.png);
  }
  50%{
    rotate: 360deg;
  background-image: url(../images/spinner_white.png);
  }

  100% {
   rotate: 720deg;
  background-image: url(../images/spinner.png);
  }
  
}

@keyframes updown {
  0% {
    bottom: 4px;
  }

  100% {
 bottom: 3px;
  }
  
}

@keyframes l8-0 {
  to {
    background-position: -58% 100%;
  }
}
@keyframes l8-1 {
  to {
    rotate: 120deg;
  }
}




.output_printer {
  /* min-height: 56px;
  width: 100%;
  aspect-ratio: 342 / 46;
  background-color: #080808;
  border: 6px solid #4f4f4f;
  border-radius: 13px;
  padding: 8px 10%; */
}

/* .output_printer_inner {
  width: 100%;
  height: 100%;
  border: 6px solid #4f4f4f;
  border-radius: 13px;
} */
.output_printer_inner_top {
  width: 100%;
  position: relative;
  z-index: 1;
  margin-top: -2px;
}

.output_printer_inner_top img {
  width: 100%;
}
.output_printer_inner_bottom {
  margin-top: -1px;
  position: relative;
}
.output_printer_inner_bottom img {
  width: 100%;
}
.output_imgContainerInner{
      position: relative;
    z-index: 5;
    background: white;
    height: 100%;
}
.output_imgContainer {
      width: 70%;
    aspect-ratio: 250 / 445;
    /* background-image: url(../images/output_img_background.png); */
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center;
    position: absolute;
    top: 1px;
    left: 15%;
    top: 0px;
    text-align: center;
    /* transform: translateY(-82%); */
    animation: 2s print linear;
    background: white;
}

#useDefault{
      background: transparent;
    border: 2px solid var(--Blue, #00588B);
    margin-bottom: 12px;
}

.output_imgContainer::before{
content: '';
    position: absolute;
    top: -4%;
    left: -15%;
    width: 130%;
    aspect-ratio: 158 / 231;
    background-image: url(../images/photo_frame_shadow.png);
    background-size: 100% auto;
    z-index: 2;
    background-position: center;
}

.output_desc_bottom p{
  text-align: left;
}
@keyframes print {
  0% {
    transform: translateY(-85%);
  }

  100% {
    transform: translateY(0%);
  }
}
.output_imgContainer img {
  width: 90%;

  margin: 5% auto 3%;
  display: inline-block;
}

#output_desc_bottom p{
  text-align: left;
}

.output_imgContainer p {
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);
  text-align: center;

  /* TC/Body Small - Regular */
  font-family: "PingFang HK";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 14.4px */
  /* margin-top: 15px; */
}
#output_title {
  display: block;
  margin: 10% auto 3%;
}

#output_desc {
  display: block;
  margin: 0% auto 8%;
}

.output_printer {
  aspect-ratio: 355/500;
  overflow: hidden;
}

#output_desc_title {
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);
  text-align: center;

  /* TC/Headline 3 - Semibold */
  font-family: "PingFang HK";
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 33.6px */
  margin: 30px auto 16px;
  text-align: left;
}
#output_desc_bottom{
  text-align: left;
}

.page_output h4 {
  color: var(--Color-Accent-Deep-Orange, #d9541a);
  text-align: center;

  /* TC/Headline 1 - Semibold */

  font-family: "PingFang HK";
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%; /* 38.4px */
  margin-bottom: 24px;
  text-align: left;
}

@media (min-width: 512px) {
  .page_index_kv {
    width: 100%;
        aspect-ratio: unset;
        background-image: none;
        background-position: top;
        background-size: 100%;
        background-repeat: no-repeat;
        object-fit: contain;
        border: 0px;
        border-radius: 12px;
        /* padding-top: 30px; */
        position: absolute;
        bottom: -66px;
  }

  .page_index_kv_outside {
            /* display: block; */
        /* margin-top: 24px; */
        /* padding: 8px; */
        /* border-radius: 12px; */
        z-index: -1;
        background-image: url(../images/kv_train.jpg);
        background-position: top;
        background-size: 100%;
        background-repeat: no-repeat;
        /* height: 70vh; */
        /* aspect-ratio: 9 / 16; */
        /* margin: 26px auto; */
        overflow: hidden;
        aspect-ratio: 13 / 9;
        position: relative;
        z-index: 0;
        margin-bottom: -86px;
  }

  .page_index_bottom {
    margin-top: 20px;
  }
}
/* popup */
.alert-popup {
  position: absolute;
  min-width: 256px;
  margin: 0 auto;
  max-width: 400px;
  width: 70%;
  padding: 30px;
  background: #fff8e0;
  border-radius: 0px;
  background: var(--Sun-Life-Warm-Yellow, #fff8e0);
  box-shadow: 4px 4px 10px 0px rgba(211, 152, 13, 0.3);
  top: 40%;
  left: 50%;
  transform: translate(-50%, 0px);
}

.alert-popup h3 {
  color: #003946;
  text-align: center;
  /* font-family: Inter; */
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  margin-bottom: 10px;
}

.alert-popup p {
  color: #003946;
  text-align: center;
  /* font-family: Inter; */
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
}
.alert-popup .popup_top {
  position: relative;
  width: 100%;
  height: 10px;
}
.alert-popup .popup_middle {
  position: relative;

  margin-top: 0;

  text-align: center;
  position: relative;
  margin-top: 0;
  text-align: center;
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);
  text-align: center;
  font-family: "PingFang HK";
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
}
.alert-popup .popup_bottom {
  position: relative;
  width: 100%;
  height: 10px;
  margin-top: 0;
}

.alert-popup img {
  width: 60px;
  margin: 0px auto 20px;
  display: block;
}

.alert-popup .mfp-close {
  width: 36px;
  height: 36px;
}

.output_container {
  padding-bottom: 20px;
}

footer {
  background: #003946;
  width: 100%;
}

.footer_container {
  padding: 10px;
  color: var(--SL-Light-Grey, #dde6e1);

  /* t&c */
  font-family: "Noto Sans";
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  max-width: 512px;
  margin: 0 auto;
}

.form_bottom_right {
  /* width: 20%; */
  opacity: 0.4;
}
.form_bottom_left{
  opacity: 0.4;
}

.btn {
     color: #00588B;
    text-align: center;

    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
   background: var(--button-button-background-primary-default, #FFCB05);
    padding: 12px 32px;

    display: inline-block;
    width: 100%;
    min-width: 150px;
}

.btnContainer {
  text-align: center;
 flex-basis:100%;
 
}

.page_index .btnContainer, .page_cameraIndex .btnContainer{
  margin-top:30px
}
.page_cameraIndex{
  padding-top: 30px;
}

.btn.hover{
  box-shadow: unset;
}
#confirmPhoto{
 

    line-height: 100%;
}

.page_output .btnContainer{
  margin-top: 30px;
}

#cameraTitle{
  width: 216px;
}

.page_index .btnContainer, .page_preview .btnContainer, .page_cameraIndex .btnContainer, .page_output .btnContainer{

} 

.page_index .btn, .page_preview .btn, .page_cameraIndex .btn, .page_output .btn{
  width: 100%;
}

.page_cameraIndex .btnContainer{
  padding: 0px;
}
.page_cameraIndex .btn{

}

.page_preview .btnContainer{
  padding:0px;
      max-width: 320px;
    margin: 0 auto;
}
.photoPreviewContainer{
  width: fit-content;
    margin: 0 auto;
}
#icn_light{
  width: 40px;
  aspect-ratio: 1/1;
}
#output{
      position: absolute;
    z-index: -9999;
    top: -9999px;
    left: -9999px;
}

#loading_text{
 position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0px;
    color: var(--Color-Iconic-Sun-Life-Blue, #003946);
    text-align: center;
    font-family: "Noto Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    transform: translate(-50%, 151%);
    white-space: nowrap;
}
.output_desc_bottom p{
  text-align: left;
}


/* main */
.index .page_index_kv{
  width: 100%;
  position: relative
  ;
  bottom: 0px;
  aspect-ratio: unset;
}

.index .page_index_kv img{
  width: 100%;
}

.index .page_index_bottom{
  margin-top: 24px;
  padding: 0px;
}

.index .page_index{
  padding: 16px;
}

.index .page_index_product{
    margin-top: 40px;
}
.index .product_container{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5%;
  margin-top: 16px;

}

.index .product_container .product_item{
  width: 47%;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.index .product_container .product_item img{
  width: 100%;
}

.index .product_container .product_item p{
  padding: 10px 0px;
    background: white;
    width: 100%;
    text-align: center;
    min-height: 65px;
    display: flex;
    align-items: center;
    justify-content: center
    ;
}
.index .page_index_ia{
  margin: 0px auto 16px;
}
.index .page_index_ia a img{
width: 100%;
}

.index #follow, .index #follow a{
  margin-top: 40px;
  margin-bottom: 0px;
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);

/* TC/Body Small - Regular */
font-family: "Noto Sans TC";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 120%; /* 14.4px */
text-decoration: none;
}

.index #followBtn{
  border: 2px solid var(--Blue, #00588B);
  background: transparent;
  margin-bottom: 36px;
}

.productPopup{
     display: flex
;
    justify-content: center;
    align-items: center;
    background: #FFF8E0;
    padding: 0px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    max-width: 500px;
    min-width: 300px;
    top: 10vh;
}

.productPopup_container{
  width: 100%; 
}

.productPopup_header img{
  width: 100%;
}

.productPopup_content {
  padding: 24px 16px 16px;
}
.productPopup_content p{
  margin-bottom: 16px;
  text-align: left;
  font-weight: 400;
  font-family: unset;
}


.productPopup_content p a{
  text-decoration: none;
}

.productPopup_content .productName{
    font-weight: 700;
}

.productPopup_content p a{
    color: var(--Color-Iconic-Sun-Life-Blue, #003946);
    text-align: center;

    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;

}

  .cal_index   .page_index_kv {
    width: 100%;
    aspect-ratio: 13 / 9;
    background-image: url(../images/kv_cal.jpg);
    background-position: right;
    background-size: 100%;
    background-repeat: no-repeat;
    position: relative;
}

  .cal_index .page_index_bottom{
    margin-top: 0px;
  }

  .cal_index .page_index_bottom_code{
    margin-top: 28px;
  }

    .cal_index .btnContainer{
      margin-top: 16px;
    }

  .cal_index .page_index_kv {
 margin-top: 0px;
 bottom: 0px;
 border-radius: 0px;
  }

  .cal_index .page_index_kv_outside{
    margin-bottom: 0px;
    background-image: none;
  }
  .index .page_index_train{
  margin: 36px 0 16px;
  }

    .index .page_index_train img{
      width: 100%;
    }

  .productPopup .mfp-close {
    background-image: url(../images/icn_close_white.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
}

  #product4Popup .mfp-close {
    background-image: url(../images/icn_close_btn.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
}



.index_wrapper{
  max-width: unset;
}

.remark{
  margin-top: 16px;
}
.remark, .remark p{
  color: var(--Color-Iconic-Sun-Life-Blue, #003946);

/* TC/Body Small - Regular */
font-family: "Noto Sans TC";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 120%; /* 14.4px */
}

.remark ol{
  list-style: decimal;
  margin-left: 16px;
}

iframe{
  width: 100%;
    aspect-ratio: 16 / 9;
    height: auto
}