* {
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important; /* make transparent link selection, adjust last value opacity 0 to 1.0 */
}

html,body {
    -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
    -webkit-text-size-adjust: none;             /* prevent webkit from resizing text to fit */
    /*-webkit-user-select: none; */                 /* prevent copy paste, to allow, change 'none' to 'text' */
}
html{
  touch-action: manipulation !important;
  -ms-touch-action: manipulation !important;
}
body{
  -webkit-overflow-scrolling: touch;  
  padding-top: constant(safe-area-inset-top);   /* 針對ios APP */
  padding-right: constant(safe-area-inset-right);  /* 針對ios APP */
  padding-bottom: constant(safe-area-inset-bottom); /* 針對ios APP */
  padding-left: constant(safe-area-inset-left); /* 針對ios APP */
}
.font-size28-80{
    --min-size: 28;
    --max-size: 80;
    --font-size: calc( (var(--min-size) * 1px) + (var(--max-size) - var(--min-size)) * ((100cqw - 320px) / (1920 - 320)) );
    font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}
.banner_contain{
    position: relative;
    width: 100vw;
    height: 74vh;
    background: url(../img/main.jpg) center/contain no-repeat; 

}
.banner_contain:before{
    content: '';
    position: absolute;
    width: 100%;
    height: 102%;
    /*background:linear-gradient(to bottom ,#fff0 60%,#fff 90%)*/
}
.deco_title{
    position: relative;
    margin: 40px 0px;
    display: inline-block;
    text-align: center;
    color: var(--primary);
    opacity: .7; 
    width: 100%;
    font-weight: 600;
    font-size:28px;
}
.deco_title span {
    font-size: 15px;
    background: #ffffff;
    display: inline-block;
    width: fit-content;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -30px;
    padding: 0 8px;
    margin: 4px auto 0;
    z-index: 2;
}
.deco_title::after {
    content: '';
    width: 100%;
    height: 1px;
    background: var(--primary);
    display: block;
    margin: auto;
    position: absolute;
    bottom: -18px;
    z-index: 0;
}
.section-secondary .deco_title span {
    background: #fbf0da;
}
/*.deco_title:before{
    content: '';
    position: absolute;
    background: url(../img/deco_dot.svg) center / contain no-repeat;
    width: 60%;
    max-width: 250px;
    left: 5px;
    bottom: -43px;
    aspect-ratio: 10 / 2;
    opacity: .6;
    filter: invert(69%) sepia(5%) saturate(4812%) hue-rotate(84deg) brightness(122%) contrast(55%);
}
.deco_title.text-dark:before{
    filter: none;
}
.deco_title.text-white:before{
    filter: invert(100%) brightness(100);
}*/
.qrcode_box{
    border: 2px dashed var(--primary--200);
    text-align: center;
    background-color: #e4f1f5;
    border-radius: 15px;
    overflow: hidden;
    max-width: 83vw;
    margin: 10px auto;
}
.q-title{
    background-color:var(--primary) !important; 
    color:#fff;
    font-size: 18px;
    font-weight: 600;
    padding: 10px;
    margin-bottom: 20px;
}
.qrcode_box img{
    margin-bottom: 20px;
    max-width: 80% !important;
}
.page_header + section{
    margin: 0 auto 0;
    background-color: #fff;
    position: relative;
    width: 93%;
    border-radius: 20px;
}
.page_header img{
    width: 100vw;
}
.alphabet-list{
    list-style-type: upper-alpha;
    margin-top: 10px;
}
.alphabet-list li::marker{
    color: var(--primary);
    font-weight: 500;
}
.gift_list li{
    display: flex;
    list-style: none;
    padding: 10px;
    background-color:#eef7f1;
    border-radius: 10px;
    margin-bottom: 15px;

}
.num_get{
    display: inline-block;
    background-color: #ffffff;
    padding: 0px 10px;
    border-radius: 15px;
    border: 1px solid rgb(193 228 216);
    color: #53c19c !important;
    font-weight: 600;
    width: 100%;
}
.box27 {
    position: relative;
    margin: 3em 0 2em;
    padding: 0.5em 1em;
    border: solid 3px #fcd69e;
    background-color: #fffbf4;
}
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -36px;
    left: -3px;
    padding: 5px 9px;
    height: 35px;
    line-height: 25px;
    font-size: 19px;
    background: #fcd69e;
    color: #555;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box27 div {
    margin: 0; 
    padding: 10px 0;
    line-height: 1.6;
}
.ol_chinese >li{
    list-style: cjk-ideographic;
}
.list.list-ordened.list-ordened-style-3 li>.alphabet-list >li{
    padding-left: 0;
}
.border-bottom-white {
    border-bottom: 2px dashed rgb(218 234 229) !important;
}
.preview-outter {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 15px;
    position: relative;
}
.preview-label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/upload.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #e9eaea;
}
.delupImg i{text-shadow: none;z-index: 2}
.gift_content{
    counter-reset: custom-counter;
}
.gift_content > .col-lg-12{
    position: relative;
    padding-left: 40px;
}
.gift_content > .col-lg-12:before{
    content: counter(custom-counter);
    counter-increment: custom-counter;
    width: 35px;
    display: block;
    text-align: center;
    font-size: 1rem;
    font-weight: 800;
    font-style: italic;
    color: #ffffff;
    position: absolute;
    opacity: 1;
    left: 23px;
    top: -15px;
    background-color: #53c19c;
    aspect-ratio: 1 / 1;
    line-height: 35px;
    border-radius: 50px;
}

.gift_content > .col-lg-12:after{
    position: absolute;
    /*content: '';*/
    top: 9px;
    left: 50px;
    border: 8px solid transparent;
    border-top: 11px solid #53c19c;
    width: 0;
    height: 0;
    transform: rotate(306deg);
}
.gift_content > .col-lg-12:nth-child(odd) .text-decoration-none {
    border-radius: 8px;
    border: 2px dashed var(--secondary);
    background-color: #fff8ea;
}
.gift_content > .col-lg-12:nth-child(even) .text-decoration-none {
    border-radius: 8px;
    border: 2px dashed #6fcdc1;
    background-color: #f4f7f6;
}
.gift_content > .col-lg-12:nth-child(odd):before{
background-color: var(--secondary-200);
}
.gift_content > .col-lg-12:nth-child(odd) .num_get{
    color: #e2ac16 !important;
    border:1px solid rgb(250 231 193);
}
.coupon_item{
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgb(0 0 0 / 15%);
}
.coupon_info{
    background-color: #efefef;
    color: #444;
    border-radius: 0 0 8px 8px;
    padding-bottom:10px;
    width: calc(100% + 33px);
    transform: translateX(-5px);
}
.left-img{
    flex:0 0 80%;
    padding: 10px;
    background-color: var(--primary);
}
.left-img h3{
    border-bottom:1px solid #fff4;
    padding-bottom: 5px;
    margin-bottom: 0px;
}
.right-text{
    position: relative;
    padding: 10px;
}
.deco_en{
    position: absolute;
    left:5px;
    font-size: 1.1rem;
    -webkit-writing-mode: vertical-lr;
    writing-mode: vertical-lr ;
    letter-spacing: 1px;
}
.route_text{
    padding: 3px 8px;
    background-color: #fff;
    color: var(--primary-200);
    font-weight: 600;
    border-radius: 25px;
}
.coupon_item.get .left-img{
    background-color: #e7ab1d;
}
.coupon_item.get .route_text{
    color:#ca910b;
}
.get_gift{
    position: relative;
    background-color: #c6747473;
    color: #fff;
    font-weight: 600;
    padding: 5px 5px 10px 5px;
    border-bottom: 1px solid #fff8;
}
.custom-step-item .step-content{
    word-wrap: break-word;
}
.info_content{
    position: relative;
    padding: 2.5em 1rem 1em;
    margin-top: 40px;
    border-radius: 30px;
    border: 3px solid #5cc2cf;
    background-color: #fff;
}
.info_title{
    position: absolute;
    font-size: 1.3rem;
    border-radius: 50px;
    display: inline-block;
    background-color: #1c7c95;
    border: 4px solid #5cc2cf;
    color: #fff;
    font-weight: 700;
    padding: 5px 20px;
    line-height: 1.5;
    left: 0;
    top: -30px;
}
.gift_table{
    position: relative;
    border-radius: 27px;
    margin-bottom: 40px;
    overflow: hidden;
}
.gift_table:before{
    content: '';
    position: absolute;
    border: 3px solid #e9cea6;
    border-radius: 26px;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.gift_table th, .gift_table td{
    font-size: 1.05rem;
    color:#5d574a;
    letter-spacing: 1px;
    border-bottom: 1px solid #edebe5;
}
.gift_table th:nth-child(1),.gift_table td{
    text-align: center;    
    background-color: #fff;
    padding: 10px;
    height: 60px;
}
.gift_table td{
    background-color: #9f947e;
    color:#fff;
    font-weight: 600;
}
.gift_tabl tr th{
    border-bottom: 1px solid #9f947e;
}
.process-vertical [type="checkbox"]:checked,
.process-vertical [type="checkbox"]:not(:checked),
.process-vertical [type="radio"]:checked,
.process-vertical [type="radio"]:not(:checked){
    position: absolute;
    left: -9999px;
    width: 0;
    height: 0;
    visibility: hidden;
}

.process-vertical .checkbox-tools:checked + label,
.process-vertical .checkbox-tools:not(:checked) + label{
    position: relative;
    display: inline-block;
    padding: 20px;
    width: 110px;
    font-weight: 600;
    font-size: 1rem;
    line-height: 20px;
    letter-spacing: 1px;
    margin: 0 auto;
    aspect-ratio:5/4;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 10px;
    text-align: center;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    text-transform: uppercase;
    color: var(--white);
    -webkit-transition: all 300ms linear;
    transition: all 300ms linear; 
    z-index: 2;
}
.process-vertical .checkbox-tools:not(:checked) + label{
    background-color: var(--dark-light);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}
.process-vertical .checkbox-tools:checked + label{
    background-color: transparent;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
    color:#fff;
}
.process-vertical .checkbox-tools:not(:checked) + label:hover{
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
.process-vertical .checkbox-tools:checked + label::before{
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    background-image: linear-gradient(298deg, #eba514, #ea5d33);
    z-index: -1;
}
.process-vertical .checkbox-tools:checked + label .uil,
.process-vertical .checkbox-tools:not(:checked) + label .uil{
    font-size: 24px;
    line-height: 24px;
    display: block;
    padding-bottom: 10px;
}

.process-vertical  .checkbox-tools:not(:checked) + label{
    background-color: #f0eff3;
    color: #1f2029;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
}
.dir_icon{
    height: 28px;
    width: 20px;
    display: block;
    border: 2px solid #65676f;
    margin: 0 auto 7px;
    border-radius: 3px;
}
.hor_icon{
    height: 20px;
    width: 28px;
    display: block;
    border: 2px solid #65676f;
    margin:  8px auto;
    border-radius: 3px;
}
.process-vertical .checkbox-tools:checked + label .hor_icon,
.process-vertical .checkbox-tools:checked + label .dir_icon{
    border: 2px solid #fff;
}
.process-vertical .process-step-content{
    width: 100%;
}
.select2-container {
    max-width: calc(100vw - 110px);
}
label.text-4{
    line-height: 1.5;
}




















:root{
    --font:'Microsoft JhengHei',-apple-system, "Helvetica Neue", Helvetica, "Nimbus Sans L", Arial, "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Source Han Sans CN", "Source Han Sans SC", "Microsoft YaHei", "Wenquanyi Micro Hei", "WenQuanYi Zen Hei", "ST Heiti", SimHei, "WenQuanYi Zen Hei Sharp", sans-serif;
    --main:;
    --maindark:;
    --maindlight:;
    --second:;
    --seconddark:;
    --seconddlight:;
}
::-webkit-scrollbar {
    -webkit-appearance: none;
}

::-webkit-scrollbar:vertical {
    width: 5px;
}

::-webkit-scrollbar:horizontal {
    height: 5px;
}

::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, .5);
    border-radius: 10px;
    border: 5px solid transparent;
}

::-webkit-scrollbar-track {
    background-color: transparent; 
}

/*
| ----------------------------------------------------
| responsive
| ----------------------------------------------------
*/
@media (max-width: 1367px) {}


@media (max-width: 1181px) {}


@media (max-width: 821px) {}


 /*iphone plus*/
@media (max-width: 430px) {
     
}


/*iphone: 7px*/
@media (max-width: 400px) {}



/*iphone 5*/
@media (max-width: 321px) {}


/*iPhone XR*/
@media only screen 
    and (device-width : 414px) 
    and (device-height : 896px) 
    and (-webkit-device-pixel-ratio : 2) { 



}

/*iPhone XS*/
@media only screen 
    and (device-width : 375px) 
    and (device-height : 812px) 
    and (-webkit-device-pixel-ratio : 3) { 

}

/*iPhone XS Max*/
@media only screen 
    and (device-width : 414px) 
    and (device-height : 896px) 
    and (-webkit-device-pixel-ratio : 3) { 


}
/*橫拿*/
@media screen and  (orientation:landscape) {}
/*縱拿*/
@media screen and (orientation:portrait) {}
/*設備寬高比*/
@media screen and (device-aspect-ratio: 16/9) {}

