* {

    -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: text;                  /* prevent copy paste, to allow, change 'none' to 'text' */

}

html{

  touch-action: manipulation !important;

  -ms-touch-action: manipulation !important;

}



html .scroll-to-top{

    background: var(--primary);

    border-radius: 50%;

    height: 50px;

    padding: 12px 10px 35px;

    font-size: 1.2em;

    bottom: 30px;

    right: 30px;

    box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;

}



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 */

}



.body{

    background-color: #fff;

}



#header .header-nav-main.header-nav-main-font-alternative nav > ul > li > a{

    font-size: 1rem;

}



.page-header{

    margin: 0;

}



::selection {

    background-color: #f8dbd8;

    color: var(--default);

}





.ai-bubble {

    position: fixed;

    bottom: 14rem;

    right: 30px;

    width: 55px;

    height: 55px;

    background-size: cover;

    background-position: center;

    background-color: var(--primary);

    border-radius: 50%;

    z-index: 2;

}
.login-bubble{
    position: fixed;

    bottom: 10rem;

    right: 30px;

    width: 55px;

    height: 55px;

    background-size: cover;

    background-position: center;

    background-color: var(--primary);

    border-radius: 50%;

    z-index: 2;
}

.line-bubble {

    position: fixed;

    bottom: 6rem;

    right: 30px;

    /* border: 2px solid #51D261; */

    width: 55px;

    height: 55px;

    background-size: cover;

    background-position: center;

    background-color: #fff;

    border-radius: 50%;

    z-index: 2;

}



.line-bubble_img, .ai-bubble_img {

    width: 55px;

    height: 55px;

    background-position: center;

    background-color: #fff;

    background-size: cover;

    border-radius: 50%;

    /*animation: lineshake 2s cubic-bezier(.36, .07, .19, .97) both infinite;*/

}



@keyframes swing {

    0%{transform:rotate(5deg);}

    50%{transform: rotate(-15deg);}

    100%{transform: rotate(5deg);}

}



@keyframes lineshake{

    10%, 90% {

    transform: translate3d(-1px, 0, 0);

	}

	20%, 80% {

    transform: translate3d(2px, 0, 0);

	}

	30%, 50%, 70% {

    transform: translate3d(-2px, 0, 0);

	}

	40%, 60% {

    transform: translate3d(1px, 0, 0);

	}

}

.ai-bubble span{

    position: absolute;

    width: 55px;

    height: 55px;

    left: 0px;

    bottom: 0px;

    background: var(--primary--300);

    border-radius: 50%;

    -webkit-animation: living 3s linear infinite;

    opacity: 0.4;

    z-index: -1;

}

.ai-bubble span:nth-child(2) {

    -webkit-animation-delay: 1s;

}

.line-bubble span{

    position: absolute;

    width: 55px;

    height: 55px;

    left: 0px;

    bottom: 0px;

    background: #8CF18F;

    border-radius: 50%;

    -webkit-animation: living 3s linear infinite;

    opacity: 0.4;

    z-index: -1;

}

.line-bubble span:nth-child(2) {

    -webkit-animation-delay: 1s;

}



a:focus {

    color: var(--grey-400);

}



@keyframes living{

	0% {

    transform: scale(1);

    opacity: 0.5;

	}

	50% {

    transform: scale(1.5);

    opacity: 0.3;

	}

	100% {

    transform: scale(1.8);

    opacity: 0;

	}

}



.owl-carousel .owl-stage-outer .owl-item{

    /* box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; */

    border-radius: 1rem;

}



.owl-carousel .owl-item img{

    border-radius: 1rem;

}



.owl-carousel .owl-nav button.owl-next:before, .owl-carousel .owl-nav button.owl-prev:before{

    font-size: 1rem;

    left: 0;

    top: 1px;

}



.banner-text{

    position: absolute;

    top: calc(100% - 10vh);

    left: 0;

    z-index: 1;

}

.text-set{

    line-height: 1.4;

    font-size: 3rem;

    font-weight: 500;

    color: var(--light);

    letter-spacing: 3px;
    display: none;

}

.text-set span{

    padding: 0 15px;

    position: relative;

}

.text-set span:after{

    content: '';

    display: block;

    width: 100%;

    height: calc(100% - 6px);

    background-color: var(--primary);

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%,-50%);

    -webkit-transform: translate(-50%, -50%);

    z-index: -1;

    opacity: 0.8;

}



.btn-primary:hover:not(.bg-transparent), .btn-primary.hover:not(.bg-transparent) {

    background-color: var(--primary-100);

}



.title-set h2{

    letter-spacing: 3px;

    text-indent: 3px;

}



.left-30pct {

	left: 30%;

}

.custom-btn-style-1 {

    position: relative;

    border-radius: 50px;

    left: 5px;

}



.custom-btn-style-1:before {

    content: '';

    position: absolute;

    top: -5px;

    right: -5px;

    bottom: -5px;

    left: -5px;

    /*border: 1px solid var(--primary);*/

    transition: ease all 300ms;

    border-radius: 50px;

}



.custom-btn-style-1:hover:before {

    top: 0;

    right: 0;

    bottom: 0;

    left: 0;

}



.tabs .nav-item a{

    font-size: 1.2rem;

    letter-spacing: 3px;

}



.tabs-content-title{

    position: relative;

    color: var(--primary);

    font-weight: 600;

    text-align: center;

    line-height: 1.1;

}

.tabs-content-title:before{

    position: absolute;

    content: '';

    display: block;

    border-right: 1px solid var(--primary);

    height: 70px;

    right: 0px;

    top: -5px;

}



.problematic-area .thumb-info .thumb-info-type{

    padding: 25px;

    border-radius: 60px;

    float: unset;

    margin: 0 0 20px 0;

    background-color: var(--secondary);

}



.problematic-area .thumb-info:hover .thumb-info-type {

    background-color: transparent;

    border: 2px solid white;

}



.problematic-area .thumb-info{

    background-color: transparent;

    border-radius: 0;

}



.problematic-area .thumb-info .thumb-info-wrapper{

    border-radius: 0;

}



.problematic-area .thumb-info.thumb-info-show-image-hover .thumb-info-title{

    color: white;

    font-size: 1.5rem;

    letter-spacing: unset;

    font-weight: bold;

}



.problematic-area  .thumb-info .thumb-info-wrapper:after,.problematic-area  .thumb-info .thumb-info-wrapper .thumb-info-wrapper-overlay:before{

    background: var(--dark-rgba-30);

}



.problematic-area{

    counter-reset: step;

}



.problematic-area .card{

    position: relative;

    border:1px solid #d7d7d7;

    border-radius: 6px;

    box-shadow: 0 9px 20px rgb(0 0 0 / 16%);

    counter-increment: step;


}

.problematic-area .card .card-body{

    padding: 2rem 2.3rem;

}

.problematic-area .card h4{

    font-size: 1.6rem;

    line-height: 1.5;

    letter-spacing: 2px;

    text-decoration: underline var(--primary--100);

    -webkit-text-decoration:underline var(--primary);

    text-underline-offset: 10px;

    margin-bottom: 1.5rem;

}

.problematic-area .card .card-body:after{

    content: counter(step, decimal-leading-zero);

    position: absolute;

    right: 20px;

    line-height: 1.2;

    top: 1%;

    font-size: 50px;

    color: #bfbfbf;

    font-weight: 300;

}
.search_page .problematic-area .card .card-body:after{
    content:none;
}
.search_page .problematic-area .card .card-body:before{
    content: counter(step, decimal-leading-zero);

    position: relative;

    line-height: 1;

    font-size: 40px;

    color: #bfbfbf;

    font-weight: 300;
}
#searchModal  .problematic-area .card .card-body:after{
    content:none;
}
.g-4 .problematic-area .card .card-body:after{
    top: -1%;
}


.vision-circle{

    position: absolute;

    top: 15%;

    right: 3%;

}



.data-tw{

    filter:drop-shadow(0px 0px 10px rgba(207,187,60, 0.5))

}

.counters-round{

    padding: 10px;

    background-color: var(--primary);

    border-radius: 50px;

    margin-right: 1.3rem;

}
.counters-round img{
    object-position: center;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    border-radius: 100px;

}



.custom-counters .counter{

    padding: 6px 14px;

    color: #000;

    margin-bottom: 20px;

    border-radius: 60px;

    /*background: rgba(255, 255, 255, 0.65);*/

    backdrop-filter: blur(3px);

    display: flex;

    justify-content: start;

    align-items: center;

    text-align: start;

    /*box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;*/

}



.custom-counters strong{

    font-weight: 300;

    text-shadow: 0 0 50px #fff,0 0 150px #fff,0 0 20px #fff;

}
.custom-counters .count_strong{

    flex:0 0 170px;
}



.custom-counters label{

    color:#222;

    border-bottom: 1px solid var(--primary);

    padding: 10px;

    font-weight: 400;

    margin: 4px 0;

    letter-spacing: 0.1rem;

    font-size: 20px;

}

.custom-counters p{

    color: white;

    line-height: 1.3;

    margin-bottom: 0;

    text-align: start;

    font-weight: 500;

}



.testimonial{

    margin-bottom: 0;

}



.testimonial-area .card-text{

    color: #595757;

    font-size: 1.1rem;

    line-height: 1.5;

}



.testimonial blockquote p{

    font-family: initial;

    font-weight: bold;

    font-size: 1.4em;

    text-align: start;

}



.testimonial .testimonial-author strong{

    color: var(--primary-100);

    font-size: 1.5rem;

    margin-bottom: 5px;

}



.testimonial .testimonial-author span{

    color: var(--grey-900);

    font-size: 1rem;

    font-weight: 400;

}



.testimonial .testimonial-author .testimonial-author-thumbnail{

    aspect-ratio: 1/1;
    border:2px solid #eee;

}



.testimonial-area .card{

    background-color: #ffffff91 !important;
    box-shadow: rgba(14, 63, 126, 0.04) 0px 0px 0px 1px, rgba(42, 51, 69, 0.04) 0px 1px 1px -0.5px, rgba(42, 51, 70, 0.04) 0px 3px 3px -1.5px, rgba(42, 51, 70, 0.04) 0px 6px 6px -3px, rgba(14, 63, 126, 0.04) 0px 12px 12px -6px, rgba(14, 63, 126, 0.04) 0px 24px 24px -12px;

}



.cover{

    background-position: center;

    background-size: cover;

    background-repeat: no-repeat;

}

.h-20{

    padding-bottom: 20%;

}



.h-40{

    padding-bottom: 40%;

}



.h-60{

    padding-bottom: 60%;

}

.h100{

    padding-bottom: 100%;

}

.h-130{

    padding-bottom: 130%;

}



.project-area{

    /*background: rgb(230 230 203 / 50%) !important;*/
    background: #f0f0f0 !important;

}



.project-area .thumb-info .thumb-info-title{

    background: transparent;

    bottom: 10%;

    top: auto;

    padding-right: 0;

}



.project-area .thumb-info .thumb-info-inner,.project-area .thumb-info ~ .thumb-info-title  .thumb-info-inner{

    font-size: 1.8rem;
}
.project-area .thumb-info ~ .prj_card .thumb-info-title  .thumb-info-inner{
    color:#000;
    font-size: 1.5rem;
    font-weight: 600;
}

.project-area .thumb-info.thumb-info-hide-info-hover .thumb-info-wrapper:after{
    opacity: 0;
}

.project-area .col-md-4 a{
    background-color: #fff;
    aspect-ratio:2/2.3;
    border-radius: 8px;
}
.project-area a:hover .thumb-info ~ .prj_card .thumb-info-title .thumb-info-inner{
    color:var(--primary);
}
.prj_card{
    display: grid;
    align-content: space-between;
    padding: 20px 15px;
    border-radius: 0 0 8px 8px;
    background-color: #fff;
    aspect-ratio:2/1.1;
}
.prj_card .thumb-info-type{
    background-color: var(--primary);
    color: #fff;
    border-radius: 2px;
    display: inline-block;
    float: left;
    width: 33px;
    aspect-ratio:1/1;
    font-size: 0.6em;
    font-weight: 600;
    letter-spacing: 0;
    padding: 2px 12px;
    z-index: 2;
    line-height: 2.3;
}
.project-area  .thumb-info .thumb-info-type,.prj_card .thumb-info-type{

    line-height: inherit;

    border-radius: 50%;

    font-size: 0.8em;

    padding: 4px 12px;


}




.project-area .thumb-info.thumb-info-hide-info-hover:hover .thumb-info-wrapper:after{

    opacity: 0;

}



.project-marquee{

    position: absolute;

    top: 0%;

}

.project-marquee-1{

    position: absolute;

    bottom: 1%;

}

.project-marquee-1 p{

    color: var(--primary-rgba-20);

}



.project-area .marquee{

    overflow:visible;

    letter-spacing: 8px;

}



.text-stroke-red{

    -webkit-text-stroke:1px var(--primary);

    --un-text-stroke-opacity:1;

    -webkit-text-stroke-color: var(--primary);

}



#footer .social-icons li a{

    width: 35px;

    height: 35px;

    line-height: 44px;

}



#footer a:not(.btn):not(.no-footer-css):hover{

    color: var(--primary--200);

}



.social-icons li:hover.social-icons-podcast a {

	background: #ab3bdb !important;

}

.social-icons li:hover.social-icons-instagram a{

    background: linear-gradient(

    120deg,

    #4568d1,#fd1d1d,#f5ce73) !important;

}



.bg-ptn-rect{

    background: var(--primary-300) url('../img/pattern_rect.webp') !important;

    background-repeat: repeat;

}



hr.pattern:after, .divider.pattern:after{

    background: transparent url('../img/pattern_rect.webp');

    background-repeat: repeat-x;

}



.or-bg{

    background-color: #faf9ed;

}



.noise-bg{

    /*background: #faf9ed url('../img/noise-50.png') !important;*/

    background-repeat: repeat;

}



#ai-modal .logo_color img {

    width: 350px;

}



.ai-survey-title{

    font-size: 1.2rem;

    font-weight: bold;

    margin-bottom: 0;

    color: var(--primary);

    text-align: center;

}



.ai-survey-subtitle{

    text-align: center;

    font-size: 0.9rem;

}



.button-container{

    display: flex;

    flex-flow: row wrap;

    gap: 0.8rem;

    max-width: 450px;

    margin: 0 auto;

    justify-content: center;

    /* max-height: 260px;

    overflow-y: scroll; */

}



.button-container span{

    font-weight: 500;

}



.toggle-button{

    position: relative;

    width: fit-content;

    padding: 4px 16px;

    border: 1px solid var(--grey-300);

    border-radius: 2rem;

    color: var(--grey-900);

    background-color: whitesmoke;

    font-size: 1rem;

    justify-content: center;

    align-items: center;

    flex-flow: row nowrap;

    column-gap: 0.5rem;

    display: inline-flex;

    cursor: pointer;

    transition: background-color 350ms ease-in;

}



.button-container input[type="checkbox"]{

    position: absolute;

    inset: 0;

    appearance: none;

    z-index: -1;

}



.button-container .toggle-button:has(:checked){

    color: white;

    background-color: var(--primary);

}



.text-box {

    padding: 12px 10px 10px;

    background-color: #ffffff;

    border-radius: 4px;

    vertical-align: middle;

    border: 2px solid #f3f3f3;

}



.identity_check~label::before {

    background-color: white;

    color: white;

    content: " ";

    display: block;

    border-radius: 50%;

    border: 1px solid grey;

    position: absolute;

    top: -10px;

    right: 5px;

    width: 25px;

    height: 25px;

    text-align: center;

    line-height: 24px;

    transition-duration: 0.4s;

    transform: scale(0);

}

.identity_check:checked+label.text-box{

    border:2px solid var(--secondary);

    background-color: var(--secondary-rgba-10);

}

.identity_check+label p{margin-bottom: 0;color:#969696;}

.identity_check+label img{

    width: 50px;

    /* filter: grayscale(1); */

    opacity: 0.5;

}

.identity_check:checked+label img{

    /* filter: grayscale(0); */

    opacity: 1;

}

.identity_check:checked+label p{color:black; font-weight: 500;}

.re_way1,.data_inputs{display: none;}



.ai-list-header {

    list-style-type: none;

    padding: 0 0;

    margin: 0;

}

.ai-list-header li {

    text-align: center;

    margin-right: 1.2rem;

    margin-bottom: .5rem;

}



.ai-list-header li a {

    padding: .5rem 2rem;

    margin-bottom: 8px;

    color: var(--main);

    font-weight: 600;

    cursor: pointer;

    border: 1px solid rgba(99, 81, 61, .7);

    border-radius: 50px;

    display: inline-block;

    white-space: nowrap;

}



.ai-list-header li a:hover, .ai-list-header li a.active{

    color: var(--light);

    background: var(--primary-100);

    text-decoration: none;

}



.search-block{

    max-height: 340px;

    overflow-y: scroll;

}



#thinktank_list .thumb-info .thumb-info-type{

    font-size: 2.2rem;

    line-height: 1;

    background: transparent;

    letter-spacing: 5px;

    padding: 0;

    position: absolute;

    right: 0;

    top: 0;

    writing-mode: vertical-lr;

    opacity: 0.6;

    transition: all .2s ease-out;

}



#thinktank_list .thumb-info.thumb-info-show-button-hover:hover .thumb-info-type{

    opacity: 1;

    font-size: 2.5rem;

}



#thinktank_list .thumb-info .thumb-info-title{

    max-width: 100%;

    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 30%, rgba(0, 0, 0, 0) 100%);

    transform: none;

    width: 100%;

    padding: 13px 30px 2px;

}



.thumb-info.thumb-info-show-button-hover:hover .thumb-info-title{

    transform: translate3d(0, 0px, 0);

}



#thinktank_list .thumb-info .thumb-info-wrapper{

    aspect-ratio: 2/3;

}



#thinktank_list .thumb-info .thumb-info-inner{

    display: inline-block;

    color: var(--secondary--300);

    padding-bottom: 10px;

    width: 100%;

}

#thinktank_list .thumb-info .thumb-info-contact{

    display: none;

}

#thinktank_list .thumb-info.thumb-info-show-button-hover:hover .thumb-info-contact{

    display: block;

    color: white;

    font-size: 0.9rem;

    line-height: 1.6;

    text-align: justify;

    margin-bottom: 10px;

}



#thinktank_list .card{

    background: transparent;
    text-align: center;
    border: none;

}
#thinktank_list .card:hover{
    background-color: transparent;
    border-radius: var(--bs-card-border-radius);
}



#thinktank_list .card-title, .teamModal .card-title{

    margin-top: 8px;

    /*color: var(--secondary);*/

    font-size: 1.4rem;

    font-weight: bold;

    margin-bottom: 12px;

}



#thinktank_list  .thinkthank-school, .teamModal  .thinkthank-school{

    margin-bottom: 0 !important;

    /*font-weight: bold;*/

}

.modal-footer{
    border-top: none;
}



#thinktank_list  .box-shadow-1:before{

    border-radius: 20px;

    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.3) 0px 2px 6px 2px;

}



#thinktank_list a{

    cursor: pointer;

}

#thinktank_list .cover{
    width: 135px;
    aspect-ratio: 1 / 1;
    margin: 15px auto;
    transition: 0.3s all ease-in-out;
}
#thinktank_list .card-body:hover .cover{
    transform: scale(1.1) translateY(-1rem); 
}


.thinktank-photo{

    width: 135px;

    height: 135px;

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    margin-bottom: 1rem;

}



.teamModal .btn-light {

    color: var(--default);

    background-color: #eeebeb;

    border: none;

    font-size: 1rem;

    letter-spacing: 1px;

    padding: 7px 25px;

}



.cover{

    background-repeat: no-repeat;

    background-position: center;

    background-size: cover;

}



.qa-area {

    position: relative;

}



.qa-area:before {

    position: absolute;

    content: '';

    background-image: url(../img/feedback-left.png);

    background-size: contain;

    width: 140px;

    height: 160px;

    background-repeat: no-repeat;

    bottom: 20%;

    left: calc(100% / 40);

    z-index: 1;

    transform: rotate(-25deg);

}



.qa-area:after {

    position: absolute;

    content: '';

    background-image: url(../img/feedback-right.png);

    background-size: contain;

    width: 150px;

    height: 250px;

    background-repeat: no-repeat;

    top: 200px;

    right: calc(100% / 25);

    z-index: 0;

    transform: rotate(-12deg);

}



.qa-content .form-check{

    margin: 0 12px 8px 0;

}

.qa-content .form-check .form-check-label {

    font-size: 1rem;

}



.qa-content .form_box legend {

    position: relative;

    padding-left: 42px;

    text-align: justify;

    line-height: 2rem;

    font-size: 1.3rem

}



.qa-content legend .qa-number {
    position: absolute;

    left: 0;

    color: white;

    z-index: 1;

}



.qa-number:before {

    position: absolute;

    content: '';

    background-color: var(--primary);

    width: 36px;

    height: 36px;

    z-index: -1;

    top:50%;

    left: 50%;

    transform: translate(-50%, -50%);

    clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);

}



.form-topic{

    font-size: 1.6rem !important;

    font-weight: bold;

    color: var(--primary-200);

}



.download_cover_1 img {

    border-radius: 8px;

    aspect-ratio: 1/1;

    width: 100%;

    object-fit: cover;

    object-position: center;

}

.download_cover img {

    border-radius: 8px;

    aspect-ratio: 3 / 4.3;

    width: 100%;

    object-fit: cover;

    object-position: center;

    margin-bottom: 10px;

}



#download_list .card-title {

    color: var(--dark);

}

#download_list .card-title:hover {

    color: var(--primary);

}



.download_txt {

    display: flex;

    align-items: center;

    width: 100%;

    color: #82765e;

    border-radius: 6px;

    font-size: 1.1rem;

    font-weight: 500;

    margin-bottom: 10px;

    background-color: #fbfaf3;

    overflow: hidden;

}



.download_txt span {

    flex: 0 0 140px;

    display: flex;

    align-items: center;

    align-self: normal;

    justify-content: center;

    padding: 8px 15px;

    font-weight: 600;

    margin-right: 1rem;

    background-color: var(--secondary-rgba-30);

    color: var(--secondary-300);

}



.download_txt p {

    color: #82765e;

    padding: 15px 0;

    margin-bottom: 0;

}



.download_link {

    display: block;

    text-align: right;

    font-size: 1rem;

    letter-spacing: 1px;

    margin-top: 25px;

}



#download_list .card {

    margin-bottom: 20px;

    border-radius: 8px;

}



#download_list .card-body{

    padding: 1.5rem;

}

#download_list .card,#lesson_plans .card{
    border-radius: 0;
    border:none ;
    border-bottom: 1px solid #eee;

}



.accordion.accordion-modern-status > .card .card-header a{

    font-size: 1.2rem;

    padding: 15px 30px;

    font-weight: 500;

    letter-spacing: 0.02rem;

    border-radius: 8px;

    display: flex;

    align-items: center;

    line-height: 1.5rem;

}



.accordion .card-header a::before {

    content: 'Q';

    color: #000;

    font-size: 2.1rem;

    padding-right: 14px;

}



.accordion-modern-status-primary.accordion-modern-status > .card .card-header a:not(.collapsed)::before {

    color: var(--light);

}



.qa-deco{

    position: absolute;

    left: -222px;

    top: 125px;

    font-size: 10rem;

    color: var(--primary-rgba-20);

    font-weight: bold;

    opacity: 0.6;

    transform: rotate(-90deg);

}



.vision-area{

    position: relative;

    line-height: 2.5;

    /* -webkit-writing-mode: vertical-rl;

    -ms-writing-mode: tb-rl;

    writing-mode: vertical-rl; */

    letter-spacing: 0.1em;

}



.vision-title{

    /* margin-left: 4rem; */

    color: var(--primary);

    font-size: 3rem;

    line-height: 1.3;

    font-weight: bold;

    margin-bottom: 1rem;

}



.vision-title .txt{

    display: block;

}



.vision-content,.vision-content p,.vision-content ul li,.event-item .event-title ~ p,.thinktank-intro,.thinktank-intro p,.thinktank-intro div{

    font-size: 1.1rem !important;

    line-height: 2 !important;

}



.particle.vision-1 {

    background-image: url(../img/vision-1.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.vision-2 {

    background-image: url(../img/vision-2.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.vision-3 {

    background-image: url(../img/vision-3.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.vision-4 {

    background-image: url(../img/vision-4.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}



.terms-content {

    border-radius: 4px;

    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.04);

    background-color: #FFF;

    border: 1px solid #EEE;

    padding: 30px;

    height: 400px;

    overflow-y: scroll;

}



.privacy-content {

    border-radius: 4px;

    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.04);

    background-color: #FFF;

    border: 1px solid #EEE;

    padding: 30px;

}



.breadcrumb > li{

    font-size: 1.2rem;

    font-weight: 600;

}



.materials{

    padding: 15px 0;

}



.materials-title{

    color: var(--secondary-100);

    font-weight: bold;

    letter-spacing: .15em;

}



.materials-line{

    display: flex;

    align-items: center;

}

.materials-line .item{

    display: flex;

    justify-content: space-between;

    flex-shrink: 0;

    padding-right: .875rem;

}

.materials-line .desc, .materials-line .item {

    line-height: 1.7;

    letter-spacing: .15em;

    min-width: 18rem;

    opacity: 1;

}

.materials-line .item .txt {

    flex-shrink: 0;

    background-color: transparent;

    padding: 0;

    flex: auto;

    margin-right: auto;

    flex-shrink: 0;

    justify-content: start;

    font-size: 1.1rem;

}



.materials-line .item .line {

        height: 6px;

        margin: .6875rem 0 0 .6875rem;

        background-image: radial-gradient(#d5cbc2 30%, transparent 0);

        background-size: 6px 6px;

        background-repeat: repeat-x;

        background-color: transparent;

        width: 100%;

        flex: auto;

    }



.recipe-process{

    counter-reset: process;

    padding-left: 0;

}



.process-item {

    position: relative;

    padding: 1.25rem 0.5rem 1.25rem 3rem;

    list-style: none;

    font-size: 1.1rem;

}



.recipe-process .process-item:before {

    font-family: Poppins, sans-serif;

    font-weight: bold;

    letter-spacing: .05em;

    counter-increment: process;

    content: counter(process, decimal-leading-zero);

    color: var(--secondary--300);

    position: absolute;

    left: 0;

}



.recipe-process .process-item+.process-item {

    border-top: 1px solid #d5cbc252;

    margin-right: 1rem;

}



.list-number{

    counter-reset: process;

    padding-left: 0;

}



.list-number .process-item {

    position: relative;

    padding: 1.5rem 0 0 4rem;

    list-style: none;

    font-size: 1.1rem !important;

}
.list-number .process-item span{
    font-size: 1.1rem !important;
}



.list-number .process-item:before {

    font-family: Poppins, sans-serif;

    font-weight: bold;

    letter-spacing: .05em;

    counter-increment: process;

    content: counter(process, decimal-leading-zero);

    color: #000;

    position: absolute;

    left: 0;

    font-size: 2rem;

    line-height: 1;

}



.game_txt_warp{

    display: flex;

    justify-content: space-around;

    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;

    /*gap: 14px;*/

}



.game_txt span {

    flex: 0 0 140px;

    display: flex;

    align-items: center;

    align-self: normal;

    justify-content: center;

    padding: 8px 0px;

    font-weight: 600;

    /*margin-right: 1rem;*/

    background-color: #f2f2f2;


    color: var(--secondary-300);

}



.game_txt {

    display: flex;

    align-items: center;

    width: 100%;

    color: #82765e;

    border-bottom: 1px solid #ddd;

    border-radius: 0px;

    font-size: 1.1rem;

    font-weight: 500;

    /*margin-bottom: 10px;*/

    /*background-color: #fbfaf3;*/

    overflow: hidden;

}



.game_txt p{

    width: 100%;
    text-align: center;
    /*color: #82765e;*/

    padding: 8px 0;

    margin-bottom: 0 !important;

}

.evnet_des ~ .game_txt_warp.no1{
    border-bottom: 0;    
    border-top: 1px solid #ddd;
}


.footer-copyright .link-group .link-item + .link-item:before {

    content: '|';

    margin: 5px 15px;

    color: white;

}



.particle.origin-1{

    background-image: url(../img/origin-1.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.origin-2{

    background-image: url(../img/origin-2.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.origin-3{

    background-image: url(../img/origin-3.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.origin-4{

    background-image: url(../img/origin-4.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}



.meals-origin-title{

    color: #000;

    font-size: 1.6rem;

    line-height: 1.3;

    font-weight: bold;

    margin-bottom: 1rem;

}



.feature-list .card {

    text-align: start;

    border-radius: 8px;

    margin-bottom: 2.5rem;

    background: rgba(255, 255, 255, 0.8);

    backdrop-filter: blur(3px);

}



.feature-list .card-title {

    /*color: var(--primary);*/

    font-weight: bold;

}



.feature-cover img{

    border-radius: 4px;

    aspect-ratio: 2 / 1;

    width: 100%;

    object-fit: cover;

    object-position: center;

}



.feature-des {

    font-size: 1.1rem;

    line-height: 2;

    letter-spacing: 1px;

    margin-bottom: 0;

}



.feature-list .list-number .card{

    position: relative;

    list-style: none;

}



.feature-list .list-number .card .card-title:before{

    font-family: Poppins, sans-serif;

    letter-spacing: .05em;

    counter-increment: process;

    content: counter(process, decimal-leading-zero);

    /*color: var(--primary--300);*/


    /*position: absolute;*/

    left: 0;

    top: 0;
    padding-right: 10px;
    font-size: inherit;

    z-index: 2;

}



.feature-list .list-number .card:nth-child(even):before{

   /* left: auto;

    right: 0;*/

}
.feature-list .feature-cover{
    height: 100%;
}

.feature-list .feature-cover img{
    height: 100% !important;   
}



#meals_form {

    background-color: var(--secondary);

    min-height: 50vh;

    padding: 30px 0;

    position: relative;

    overflow: hidden;

    border-radius: 2rem;

}



#meals_form::before {

    content: "";

    position: absolute;

    inset: 0;

    background-image: url("../img/meals-form-bg.png");

    background-position: left center;

    background-size: contain;

    background-repeat: no-repeat;

    mask: linear-gradient(to left, transparent 0%, rgb(146 134 118 / 90%) 15%);

    -webkit-mask: linear-gradient(to left, transparent 0%, rgb(146 134 118 / 90%) 15%);

    z-index: 0;

}



#meals_form .container {

    position: relative;

    z-index: 1;

}



.meals-content {

    ax-width: 560px;

}



.form-wrap {

    display: flex;

    justify-content: flex-end;

    width: 100%;

}



.meals-form-card {

    width: min(100%, 560px);

    box-shadow: 0 0 30px rgba(0 0 0 / 10%);

    border-radius: 1rem;

    position: relative;

}



#meals_form form label {

    color: #444;

    font-weight: 600;

}



#meals_form .form-control,

#meals_form .form-select {

    border-radius: 0.5rem;

}



#meals_form form label{

    color:#444;

}
h1.text-md-11,h2.text-md-11{
    font-size: 2.5rem !important;
}



.title-5 {

    overflow: hidden;

    text-overflow: ellipsis;

    display: -webkit-box !important;

    -webkit-line-clamp: 5;

    line-height: 1.5;

    -webkit-box-orient: vertical;

}



.notfound-wrap{

    font-weight: bold;

    padding: 140px 0;

}



.notfound-number{

    display: flex;

    justify-content: center;

    align-items: center;

    color: var(--primary--300);

    font-size: 20rem;

}



.notfound-number img{

    width: 280px;

    aspect-ratio: 1/1;

    margin: 0 20px;

}



.notfound-wrap p{

    font-weight: bold;

    color: var(--primary-200);

    text-align: center;

}



.particle.mission-2 {

    background-image: url(../img/mission-2.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}



.particle.mission-3 {

    background-image: url(../img/mission-3.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}



.particle.mission-4 {

    background-image: url(../img/mission-4.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.throb-2 {

    background-image: url(../img/throb-2.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.throb-3 {

    background-image: url(../img/throb-3.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.throb-4 {

    background-image: url(../img/throb-4.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}



.particle.vegetables-2 {

    background-image: url(../img/vegetables-2.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.vegetables-3 {

    background-image: url(../img/vegetables-3.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.particle.vegetables-4 {

    background-image: url(../img/vegetables-4.png);

    background-size: contain;

    background-repeat: no-repeat;

    z-index: 0;

}

.quiz-area{

    counter-reset: step;

}



.quiz-area .card{

    position: relative;

    counter-increment: step;

}



.quiz-area .card .card-title::before{

    content: counter(step, decimal-leading-zero);

    position: relative;

    left: 0px;

    top: 5px;

    font-size: 1.3em;

    margin-right: 10px;

    /*color: var(--light-300);*/

    font-weight: 400;

}



.quiz-form-intro b{

    font-size: 1.5rem;

}



.quiz-form-intro p{

    margin-top: 0.5rem;

    margin-bottom: 0;

}



.quiz_ans{

    font-size: 16px;

}



.quiz_ans input+label, .quiz_ans .quiz-item{

    padding: 8px 16px;

    background: white;

}



.quiz_ans input:checked + label{

    background: var(--primary--100) !important;

    color: black;

    font-weight: 500;

}



.quiz-form-area {

    position: relative;

}



.quiz-form-area:before {

    position: absolute;

    content: '';

    background-image: url(../img/quiz-left.png);

    background-size: contain;

    width: 100px;

    height: 220px;

    background-repeat: no-repeat;

    bottom: 20%;

    left: calc(100% / 40);

    z-index: 1;

    transform: rotate(-25deg);

}



.quiz-form-area:after {

    position: absolute;

    content: '';

    background-image: url(../img/quiz-right.png);

    background-size: contain;

    width: 160px;

    height: 150px;

    background-repeat: no-repeat;

    top: 200px;

    right: calc(100% / 15);

    z-index: 0;

    transform: rotate(-12deg);

}



.quiz-support{

    text-align: center;

    font-size: 1.3rem;

    font-weight: 600;

    color: var(--primary);

    margin-top: 8px;

    letter-spacing: 0.1rem;

}



.qa-content .tab-content{

    border: none;

    box-shadow: none;

}



.quiz_ans .correct_answer,

.quiz_ans .choose.correct_answer{

    color: #39b54a;

    font-weight: 500;

}

.quiz_ans .correct_answer + .an_icon_box,

.quiz_ans .choose.correct_answer + .an_icon_box{

    content: '';

    width: 20px;

    height: 20px;

    background: url(../img/yes.svg) center no-repeat;

    position: absolute;

    left: -20px;

    top: 10px;

}

.quiz_ans .choose{

    color: #c1272d;

    font-weight: 500;

}

.quiz_ans .choose + .an_icon_box{

    content: '';

    width: 20px;

    height: 20px;

    background: url(../img/no.svg) center no-repeat;

    position: absolute;

    left: -20px;

    top: 10px;

}



.an_info_box .toggle-title{

    border-radius: 0.5rem;

    padding: 8px 16px;

    font-weight: bold;

    font-size: 1.2rem;

}



.an_info_box .toggle-secondary .toggle label,.an_info_box .toggle-secondary .toggle .toggle-title{

    background: var(--secondary);

    color: white;

}



.quiz-form-area .nav-link{

    padding: .5rem 2rem;

    color: var(--main);

    font-weight: 600;

    cursor: pointer;

    border: 1px solid rgba(99, 81, 61, .7);

    border-radius: 100px;

    display: inline-block;

    white-space: nowrap;

    font-size: 1.2rem;

}



.quiz-form-area .nav-link:focus,.quiz-form-area .nav-link.active{

    color: var(--light);

    background: var(--primary-100);

    text-decoration: none;

}



.question-title {

    font-weight: bold;

    font-size: 2rem;

    color: var(--primary);

    margin-bottom: 0;

    line-height: 2.3rem;

}



.ai-content {

    white-space: pre-line;

}



.container {

    padding: 20px;

    display: flex;

    flex-direction: column;

    gap: 16px;

}



.drop-area {

    border: 2px dashed var(--primary);

    border-radius: 8px;

    padding: 16px;

    min-height: 200px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    position: relative;

    overflow: hidden;

    background-color: rgba(255, 255, 255, .6);

    transition: 0.2s ease;

}



.drop-area.dragover {

    border-color: #888;

    background-color: #e1e1e1;

}



.file-input {

    display: none;

}



.file-section {

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 12px;

}



.file-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 8px;

}



.file-title {

    font-size: 14px;

    font-weight: 500;

    color: #444;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}



.add-button {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 6px 10px;

    font-size: 14px;

    font-weight: 500;

    color: white;

    border: none;

    border-radius: 6px;

    background-color: #9d9d9d;

    cursor: pointer;

}



.add-button:hover {

    background-color: #757575;

}



.drop-area .icon {

    width: 18px;

    height: 18px;

    opacity: 0.6;

}



.upload-hint {

    color: #888;

    font-size: 16px;

    text-align: center;

    padding: 20px 0 10px;

}



.file-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));

    gap: 16px;

}



.file-box {

    position: relative;

    width: 100px;

    height: 100px;

    background-color: #2a2a2a;

    border-radius: 8px;

    overflow: visible;

}



.preview-box {

    width: 100%;

    height: 100%;

    background-color: white;

    border-radius: inherit;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 11px;

    color: #aaa;

    border: 1px solid #dbdbdb;

    overflow: hidden;

}



.preview-box img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}



.remove-button {

    position: absolute;

    top: -10px;

    right: -10px;

    width: 28px;

    height: 28px;

    border-radius: 50%;

    background-color: white;

    color: black;

    border: 2px solid black;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    z-index: 2;

}



.remove-button .icon {

    width: 18px;

    height: 18px;

    opacity: 1;

}



.pdf-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

    margin-top: 8px;

}



.pdf-item {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    padding: 10px 12px;

    background-color: #2a2a2a;

    border: 1px solid #3a3a3a;

    border-radius: 6px;

}



.pdf-info {

    min-width: 0;

    display: flex;

    flex-direction: row;

    gap: 4px;

}



.pdf-name {

    font-size: 14px;

    font-weight: 600;

    color: #eee;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}



.pdf-size {

    font-size: 14px;

    color: #aaa;

    margin-left: 8px;

}



.pdf-remove-button {

    flex-shrink: 0;

    padding: 0px 10px;

    font-size: 13px;

    font-weight: 600;

    color: #fff;

    background-color: var(--primary--300);

    border: none;

    border-radius: 4px;

    cursor: pointer;

}



.pdf-remove-button:hover {

    background-color: var(--primary--200);

}



.child-form .card.info{

    position: relative;   

    min-height: 400px;

    border-radius: 20px;

    margin-bottom: 2rem;

}

.child-form .card.info:before{

    content: '';

    position: absolute;

    top: -3px;

    left: -3px;

    right: -3px;

    bottom: -3px;

    border: 3px solid var(--secondary-300);

    border-radius: 23px;

    z-index: 2;

}

.child-form .card.info:after{

    content: '';

    position: absolute;

    background: url(../img/child-form-deco.png) center / cover;

    width: 120px;

    aspect-ratio: 1/1;

    right: 0;

    bottom: 0;

    z-index: 3;

}

.child-form .card.info .card-body{

    position: relative;

    border-radius: 20px;

    border: 5px solid var(--primary--300);

    background-color: var(--primary--100);

    border-radius: 20px;

    color: #745131;

    font-weight: 600;

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    overflow: hidden;

    z-index: 3;

}

.child-form .card.info .card-body:before{

    content: '';

    border-radius: 20px;

    position: absolute;

    width: 200%;

    height: 100%;

    border-radius: 50%;

    background: rgb(255 255 255 / 45%);

    bottom: 14%;

    z-index: -1;

}



.child-form .quiz_ans {

    width: 100%;

    /* overflow: hidden; */

}



.child-form .quiz_ans input+label,.child-form .quiz_ans .quiz-item {

   display: block;

    color: #444;

    border: 2px solid var(--primary--200);

    border-bottom: 6px solid var(--primary);

    background-color: #fff;

    padding: 10px 20px;

    border-radius: 24px;

    letter-spacing: 0.8px;

    font-size: 18px;

    line-height: 22px;

    font-weight: 600;

    cursor: pointer;

}



.child-form .card.info .card-body:after {

    content: '';

    position: absolute;

    background: url(../img/light.png) center / cover;

    width: 14px;

    aspect-ratio: 5 / 43;

    left: 5px;

    top: 12px;

}



.child-form .quiz_ans input:checked + label {

    padding-top: 12px;

    border: 2px solid #9a734f;

    border-bottom: 4px solid #745131;

    background-color: #8e7358 !important;

    color: #fff;

}



.child-form .btn, .child-form .answer-box .btn{

    border-bottom: 8px solid var(--primary);

    border-radius: 10px;

    background-color: var(--primary--300);

    color: #fff;

    font-size: 1rem;

    cursor: pointer;

    outline: none;

    font-weight: 900;

    transition: .07s;

    box-sizing: border-box;

    width: 50%;

    margin-top: 0.8rem;

}



.child-form .btn:hover,.child-form .btn:active,.child-form .btn:focus{

    background-color: var(--primary);

    border-bottom: 6px solid var(--primary-200);

}



.child-form .q-title, .adult-form .q-title{

    color: var(--secondary-300);

    line-height: 2rem;

}



.child-score{

    position: relative;

    border-radius: 20px;

    margin-bottom: 2rem;

}



.child-score::before{

    content: '';

    position: absolute;

    top: -3px;

    left: -3px;

    right: -3px;

    bottom: -3px;

    border: 3px solid var(--secondary-300);

    border-radius: 23px;

    z-index: 2;

}



.score-box{

    position: relative;

    border-radius: 20px;

    border: 5px solid var(--secondary--300);

    background-color: var(--secondary--100);

    border-radius: 20px;

    color: #745131;

    font-weight: 600;

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    overflow: hidden;

    z-index: 3;

}



.score-box:before{

    content: '';

    border-radius: 20px;

    position: absolute;

    width: 140%;

    height: 100%;

    border-radius: 50%;

    background: rgb(255 255 255 / 45%);

    bottom: -30%;

    z-index: -1;

}

.score-box::after{

    content: '';

    position: absolute;

    background: url(../img/light.png) center / cover;

    width: 14px;

    aspect-ratio: 5 / 43;

    left: 5px;

    top: 12px;

}



.child-form .quiz_ans .correct_answer, .child-form .quiz_ans .choose.correct_answer{

    color: #39b54a;

}



.child-form .quiz_ans .choose{

    color: #c1272d;

}



.adult-form .card.info .card-body {

    position: relative;

    border-radius: 20px;

    border: 3px solid var(--primary--300);

    background-color: white;

    border-radius: 10px;

    color: #745131;

    font-weight: 600;

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    overflow: hidden;

    z-index: 3;

}



.adult-form .card.info {

    position: relative;

    min-height: 400px;

    border-radius: 10px;

    margin-bottom: 2rem;

}



.adult-form .card.info:before {

    content: '';

    position: absolute;

    top: -5px;

    left: -5px;

    right: -5px;

    bottom: -5px;

    border: 2px solid var(--secondary-300);

    border-radius: 15px;

    z-index: 2;

}



.adult-form .card.info:after {

    content: '';

    position: absolute;

    background: url(../img/adult-form-deco.png) center / cover;

    width: 120px;

    aspect-ratio: 1 / 1;

    right: 0;

    bottom: 0;

    z-index: 3;

}



.adult-form .quiz_ans input+label, .adult-form .quiz_ans .quiz-item {

    display: block;

    color: #444;

    border: 1px solid var(--grey-600);

    /* border-bottom: 6px solid var(--secondary); */

    background-color: #fff;

    padding: 10px 20px;

    border-radius: 6px;

    letter-spacing: 0.8px;

    font-size: 18px;

    line-height: 22px;

    font-weight: 600;

    cursor: pointer;

}



.counters-tw{

    position: absolute;

    top: 0;

    height: 100%;

}



.tw-mask{

    -webkit-mask-image: url(../img/twmask.svg);

    -webkit-mask-repeat: no-repeat;

    -webkit-mask-size: 100%;

    aspect-ratio: 1 / 2;

    height: 100%;

}



.video-set{

    position: absolute;

    top: 50%;

    left: 50%;

    margin: 0;

    width: 100%;

    height: 100%;

    transform: translate(-50%, -50%);

    object-fit: cover;

}



.total-download{

    opacity: 0.7;

    color: #333;

}

.total-download ~ div.mb-3 img{
    width: 70% !important;
}



.download-area blockquote{

    padding: 0rem 1rem;

    border-left: 7px solid #eee

}



.download-area blockquote p{

    margin-bottom: 0;

    font-size: 1.5rrem !important;

    font-weight: bold;

    color: var(--dark);

}



.download-area .download-list a{

    color: var(--primary);

    align-items: center;

    font-weight: normal;

    font-size: 1.2rem;

    transition: all 0.2s ease-in-out;

}



.download-area .download-list a:hover{

    color: var(--primary--100);

    text-decoration: none;

    letter-spacing: 0.05rem;

}



.download-area .btn-circle{

    width: 32px;

    height: 32px;

    text-align: center;

    padding: 6px 0;

    font-size: 14px;

    line-height: 1.2;

    border-radius: 20px !important;

}



.map #map_top .city_top {

    display: none;

}



.map #map_top .city_top.active,

.map #map_top .city_top:hover {

    display: block;

}

.map .city.active .name,

.map .city .name.hide_txt {

    display: none;

}

.map .city_top.active .name path:is([fill="#1d1e1e"]){

    fill: #000;

}
img{
    display: block;
    margin: 0 auto;
}



: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: 6px;

}



::-webkit-scrollbar:horizontal {

    height: 2px;

}



::-webkit-scrollbar-thumb {

    background-color: rgba(0, 0, 0, .5);

    border-radius: 10px;

    border: 2px solid transparent;

}



::-webkit-scrollbar-track {

    background-color: transparent; 

}



/*

| ----------------------------------------------------

| responsive

| ----------------------------------------------------

*/

@media (max-width: 1440px) {

    #thinktank_list .thumb-info.thumb-info-show-button-hover:hover .thumb-info-type{font-size: 1.8rem;}

    #thinktank_list .thumb-info .thumb-info-title{padding: 13px 32px 0px 16px;}

    .ai-list-header li a{padding: .5rem 1rem;}

}



@media (max-width: 821px) {

    .feature-cover img{aspect-ratio: 4/3;}

    .notfound-number{font-size: 10rem;}

    .notfound-number img{width: 150px; margin:0 10px;}

    .text-set{font-size: 2rem;}

    .banner-text{top: calc(100% - 8vh);}

    .vision-title{font-size: 2.3rem;}

    .ai-list-header li{margin-right: 0.8rem;}

    .ai-list-header li a {padding: .3rem 1rem; font-size: 1rem;}
    .total-download ~ div.mb-3 img{
        width: 85% !important;
    }

}





/*iphone plus*/

@media (max-width: 430px) {

    .notfound-number{font-size: 7rem;}

    .notfound-number img{width: 100px; margin:0;}

    .custom-counters .counter{margin: 0 0 20px 0;}

    .testimonial blockquote:before{top: 0px;}

    .testimonial blockquote{padding: 3rem 1.5rem 1.5rem 1.5rem;}

    .ai-bubble{bottom: 15%;}

    .line-bubble{bottom: 3%;}

    .text-set{font-size: 1.5rem;}

    .banner-text{top: calc(100% - 5vh);}

    .game_txt_warp{display: block;}

    .game_txt span{margin-right: 0.7rem;}

    .qa-area:after{width: 70px; height: 120px; top: 300px;}

    .qa-area:before{width: 70px; height: 100px; bottom: -30px;}

    .accordion.accordion-modern-status > .card .card-header a{padding: 15px 45px 15px 15px;}

    .question-title{font-size: 1.6rem; line-height: 2rem;}

    .pdf-info{flex-direction: column; gap: 0;}

    .pdf-size{margin-left: 0;}

    .child-form .card.info:after{width: 100px;right: -16px; bottom: -10px;}

    .adult-form .card.info:after {width: 100px; right: -16px; bottom: -10px;}
    .total-download ~ div.mb-3 img{
        width: 100% !important;
    }

}





/*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 (min-width: 1200px) {

.meals-form-card {transform: translateX(36px);}

}



@media (max-width: 1199.98px) {

    #meals_form {padding: 72px 0;}

    .meals-form-card {transform: none;}

    #meals_form:before{background-size: cover;}
    .game_txt span{
        flex:0 0 80px;
    }

}



@media (max-width: 991.98px) {

.meals-content {max-width: 100%;}

    #meals_form:before{background-image: url(../img/meals-form-bg.jpg); background-position: top; mask: linear-gradient(to bottom, transparent 0%, rgb(146 134 118 / 90%) 15%); background-size: cover;}

    .form-wrap {justify-content: center;}



    .meals-form-card {width: 100%; max-width: 680px;}
    .game_txt span{
        flex:0 0 100px;
    }

}



@media (max-width: 767.98px) {

    #meals_form {padding: 56px 0;}

}



/*橫拿*/

@media screen and  (orientation:landscape) {}

/*縱拿*/

@media screen and (orientation:portrait) {}

/*設備寬高比*/

@media screen and (device-aspect-ratio: 16/9) {}
