@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&family=Noto+Serif+TC:wght@200..900&display=swap');
/* Basic */
:root {
    --black: #111111;
    --white: #FFFFFF;
    --transparent: rgba(0,0,0,0);
    --gray: #8E8E8E;
    --blue: #3031E4;
    --font_size_xxs: 11px;
    --font_size_xs: 12px;
    --font_size_sm: 14px;
    --font_size_md: 16px;
    --font_size_lg: 18px;
    --font_size_xl: 20px;
    --font_size_xxl: 24px;
    --font_size_title: 26px;
}

html, body {
    padding: 0px;
    margin: 0px;
    font-family: "Noto Sans TC", sans-serif;
    font-weight: 400;
    overflow-x: hidden;
}

html {
    overflow-y: hidden;
}

img {
    width: 100%;
    height: auto;
}

img.bg {
    object-fit: cover;
}

a {
    cursor: pointer;
    text-decoration: none;
    color: var(--white);
}

button {
    background: var(--transparent);
    border: 0px;
    cursor: pointer;
    padding: 0px;
    margin: 0px;
}

a.scale:hover,
button.scale:hover,
label.scale:hover {
    transform: scale(0.9);
    transition: all 1s ease;
}

button:disabled {
    filter: saturate(0%) opacity(0.8);
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.hidden {
    opacity: 0 !important;
}

::-webkit-scrollbar {
    width: 5px;
    background: var(--transparent);
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: var(--gray);
}

    /* 設定autofill時的input顏色 */
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
        -webkit-box-shadow: 0 0 0 1000px var(--transparent) inset !important;
        -webkit-text-fill-color: var(--white) !important;
        background-color: var(--transparent) !important;
        transition: background-color 9999s ease-in-out 0s; /* 避免閃爍 */
        appearance: none !important; /* 防止 menulist-button 樣式 */
        caret-color: var(--white); /* 游標顏色 */
    }



/* Loading */
#page_loading,
#data_loading {
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 0.9);
    position: fixed;
    left: 0;
    top: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

#page_loading {
    display: flex;
}

#data_loading {
    display: none;
}

#data_loading .notice {
    font-size: 32px;
    font-weight: 700;
}

.floating_circles{
    position:relative;
    width:125px;
    height:125px;
    transform:scale(0.6);
    -o-transform:scale(0.6);
    -ms-transform:scale(0.6);
    -webkit-transform:scale(0.6);
    -moz-transform:scale(0.6);
}

.f_circle{
	position:absolute;
	background-color:rgba(255, 255, 255, 0.1);
	height:22px;
	width:22px;
	border-radius:12px;
	-o-border-radius:12px;
	-ms-border-radius:12px;
	-webkit-border-radius:12px;
	-moz-border-radius:12px;
	animation-name:f_fade;
	-o-animation-name:f_fade;
	-ms-animation-name:f_fade;
	-webkit-animation-name:f_fade;
	-moz-animation-name:f_fade;
	animation-duration:1.2s;
	-o-animation-duration:1.2s;
	-ms-animation-duration:1.2s;
	-webkit-animation-duration:1.2s;
	-moz-animation-duration:1.2s;
	animation-iteration-count:infinite;
	-o-animation-iteration-count:infinite;
	-ms-animation-iteration-count:infinite;
	-webkit-animation-iteration-count:infinite;
	-moz-animation-iteration-count:infinite;
	animation-direction:normal;
	-o-animation-direction:normal;
	-ms-animation-direction:normal;
	-webkit-animation-direction:normal;
	-moz-animation-direction:normal;
}

.f_rotate1{
	left:0;
	top:51px;
	animation-delay:0.45s;
	-o-animation-delay:0.45s;
	-ms-animation-delay:0.45s;
	-webkit-animation-delay:0.45s;
	-moz-animation-delay:0.45s;
}

.f_rotate2{
	left:15px;
	top:15px;
	animation-delay:0.6s;
	-o-animation-delay:0.6s;
	-ms-animation-delay:0.6s;
	-webkit-animation-delay:0.6s;
	-moz-animation-delay:0.6s;
}

.f_rotate3{
	left:51px;
	top:0;
	animation-delay:0.75s;
	-o-animation-delay:0.75s;
	-ms-animation-delay:0.75s;
	-webkit-animation-delay:0.75s;
	-moz-animation-delay:0.75s;
}

.f_rotate4{
	right:15px;
	top:15px;
	animation-delay:0.9s;
	-o-animation-delay:0.9s;
	-ms-animation-delay:0.9s;
	-webkit-animation-delay:0.9s;
	-moz-animation-delay:0.9s;
}

.f_rotate5{
	right:0;
	top:51px;
	animation-delay:1.05s;
	-o-animation-delay:1.05s;
	-ms-animation-delay:1.05s;
	-webkit-animation-delay:1.05s;
	-moz-animation-delay:1.05s;
}

.f_rotate6{
	right:15px;
	bottom:15px;
	animation-delay:1.2s;
	-o-animation-delay:1.2s;
	-ms-animation-delay:1.2s;
	-webkit-animation-delay:1.2s;
	-moz-animation-delay:1.2s;
}

.f_rotate7{
	left:51px;
	bottom:0;
	animation-delay:1.35s;
	-o-animation-delay:1.35s;
	-ms-animation-delay:1.35s;
	-webkit-animation-delay:1.35s;
	-moz-animation-delay:1.35s;
}

.f_rotate8{
	left:15px;
	bottom:15px;
	animation-delay:1.5s;
	-o-animation-delay:1.5s;
	-ms-animation-delay:1.5s;
	-webkit-animation-delay:1.5s;
	-moz-animation-delay:1.5s;
}

@keyframes f_fade{
	0%{
		background-color:#f55200;
	}

	100%{
		background-color:rgba(255, 255, 255, 0.1);
	}
}

@-o-keyframes f_fade{
	0%{
		background-color:#f55200;
	}

	100%{
		background-color:rgba(255, 255, 255, 0.1);
	}
}

@-ms-keyframes f_fade{
	0%{
		background-color:#f55200;
	}

	100%{
		background-color:rgba(255, 255, 255, 0.1);
	}
}

@-webkit-keyframes f_fade{
	0%{
		background-color:#f55200;
	}

	100%{
		background-color:rgba(255, 255, 255, 0.1);
	}
}

@-moz-keyframes f_fade{
	0%{
		background-color:#f55200;
	}

	100%{
		background-color:rgba(255, 255, 255, 0.1);
	}
}


/* Popup */
.popup {
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.popup .popup_content {
    width: 40%;
    padding: 3%;
    position: relative;
    z-index: 10;
    box-sizing: border-box;
    overflow-x: hidden;
}

.popup .content {
    width: 60%;
    height: 60%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
}

.popup .content .text {
    font-size: var(--font_size_xl);
    color: var(--white);
    line-height: 1.8;
}

.popup button.close {
    width: 9%;
    position: absolute;
    right: 0%;
    top: 0%;
    display: inline-block;
    z-index: 11;
}

.popup button.close:hover {
    transform: rotate(360deg);
    transition: all 1s ease;
}



/* Main */
.all {
    position: relative;
}

.form {
    width: 60%;
    height: 34.5%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 2%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.form img.bg {
    display: block;
}

.form a.rule,
.form .team,
.form .full_name,
.form .email,
.form .phone,
.form .nickname,
.form .role_id {
    width: 50%;
    margin: 1% 0%;
}

.form a.rule {
    margin: 2% 0% 0% 0%;
}

.form .team {
    margin: 3% 0%;
}

.form .input {
    position: relative;
}

.form .input input {
    width: 65%;
    height: 75%;
    color: var(--white);
    background: var(--transparent);
    font-size: var(--font_size_lg);
    position: absolute;
    right: 0%;
    top: 50%;
    transform: translateY(-50%);
    border: 0px;
}

.form img.deco {
    width: 50%;
    margin: 0% 0% 1% 0%;
}

.form .text {
    width: 50%;
    color: var(--black);
    font-style: italic;
    margin: 3% 0%;
}

.form .text.text1 {
    margin: 3% 0% 0% 0%;
    white-space: nowrap;
}

.form .text .title,
.form .text span {
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.form .text.text1 span.ch {
    font-size: 40px;
}

.form .text .subtitle {
    font-size: var(--font_size_sm);
    font-weight: 400;
    margin: 0.6% 0%;
}

.form .text.text1 .subtitle {
    font-size: var(--font_size_md);
}

.form .file_box {
    width: 15%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.form .file_box label.upload {
    width: 100%;
    margin-bottom: 1%;
    display: block;
    cursor: pointer;
}

.form .file_box .filename {
    font-size: var(--font_size_md);
    font-weight: 300;
    white-space: nowrap;
}

.form .file_box input[type="file"] {
    display: none;
}

.form .tab_group {
    width: 95%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    margin: 4% 0% 1% 0%;
}

.form .tab_group button {
    margin: 1%;
}

.form button.send {
    width: 20%;
    margin: 1% 0%;
}

footer {
    width: 100%;
    height: 6.15%;
    position: absolute;
    left: 0%;
    bottom: 0%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

footer .a_group {
    width: 32%;
    margin-bottom: 0.5%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

footer .a_group a {
    width: 20%;
    margin: 0% 2%;
}

footer img.logo {
    width: 34%;
    margin-top: 0.5%;
}



@media (max-width: 1600px) {
    /* Popup */
    .popup .popup_content {
        width: 45%;
    }
}



@media (max-width: 1200px) {
    /* Popup */
    .popup .popup_content {
        width: 55%;
    }
}



@media (max-width: 1024px) {
    /* Basic */
    .pc {
        display: none !important;
    }
    
    .sp {
        display: block;
    }

    a.scale:hover,
    button.scale:hover,
    label.scale:hover {
        transform: scale(1);
    }



    /* Popup */
    .popup .popup_content {
        width: 75%;
    }



    /* Main */
    .form {
        width: 100%;
        height: 31.5%;
        bottom: 6.7%;
    }

    .form a.rule,
    .form .team,
    .form .full_name,
    .form .email,
    .form .phone,
    .form .nickname,
    .form .role_id {
        width: 90%;
    }

    .form img.deco {
        width: 100%;
    }

    .form .input input {
        font-size: var(--font_size_xxl);
    }

    .form .text {
        width: 90%;
    }

    .form .text .title,
    .form .text span {
        font-size: 34px;
    }

    .form .text.text1 span.ch {
        font-size: 48px;
    }

    .form .text .subtitle {
        font-size: var(--font_size_lg);
    }

    .form .text.text1 .subtitle {
        font-size: var(--font_size_xl);
    }

    .form .tab_group {
        flex-wrap: wrap;
    }

    .form .file_box {
        width: 28%;
    }

    .form .file_box .filename {
        font-size: var(--font_size_xl);
        font-weight: 400;
    }

    .form .tab_group button {
        width: 30%;
    }

    .form button.send {
        width: 35%;
        margin: 5% 0%;
    }

    .footer {
        height: 6.65%;
    }

    footer .a_group {
        width: 100%;
        margin-bottom: 2%;
    }

    footer .a_group a {
        width: 12%;
        margin: 0% 3%;
    }

    footer img.logo {
        width: 90%;
        margin-top: 2%;
    }
}



@media (max-width: 576px) {
    /* Loading */
    #data_loading .notice {
        font-size: var(--font_size_title);
    }



    /* Popup */
    .popup .popup_content {
        width: 95%;
    }

    .popup .content .text {
        font-size: var(--font_size_xxs);
    }



    /* Main */
    .form a.rule,
    .form .team,
    .form .full_name,
    .form .email,
    .form .phone,
    .form .nickname,
    .form .role_id {
        margin: 1.5% 0%;
    }

    .form .team {
        margin: 3% 0%;
    }

    .form .input input {
        font-size: var(--font_size_sm);
    }

    .form .text {
        margin: 0%;
        margin-top: 4%;
        margin-bottom: 1%;
    }

    .form .text .title,
    .form .text span {
        font-size: var(--font_size_xl);
    }

    .form .text.text1 span.ch {
        font-size: 28px;
    }

    .form .text .subtitle {
        margin: 0%;
        margin-top: 1%;
    }

    .form .text .subtitle,
    .form .text.text1 .subtitle,
    .form .file_box .filename {
        font-size: var(--font_size_xs);
    }

    .form .tab_group button {
        width: 27%;
    }

    .form button.send {
        width: 33%;
        margin: 5% 0% 0% 0%;
    }
}



@media (max-width: 360px) {
    /* Main */
    .form .text .subtitle,
    .form .text.text1 .subtitle,
    .form .file_box .filename {
        font-size: var(--font_size_xxs);
    }
}