@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;700;900&display=swap');

@font-face {
    font-family: "Noto Sans TC", sans-serif, Arial;
    src:
        url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;700;900&display=swap');
    font-display: optional;
}

:root {
    --superdark-aquagreen-color: #008ca3;
    --dark-red-color: #b22222;
    --dark-color: #000000;/*212529*/
    --darkgray-color: #31362e;
    --mildgray-color: #696969;

    --lightgray-color: #e8e8e8;
    --superlightgray-color: #f5f5f5;

    --primary-color: #f5c818;/*#f5c818*/
    --secondary-color: #18499e;
    --secondary-light-color: #2071b2;
}

/*
=========================================
	Base Layout
=========================================
*/
body, html{
    /*background: linear-gradient( var(--superlight-aquagreen-color)0%, #ffffff 40%, var(--aquagreen-color)80%, var(--superlight-aquagreen-color)100% );*/
    background-color: #f2eeeb;
    color: var(--darkgray-color);
    font-size: 18px;
    font-weight: 400;
    font-family: "Noto Sans TC", sans-serif, Arial;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    position: relative;
}

a{
    color: var(--darkgray-color);
	transition: 0.5s;
    font-weight: 400;
}

a:hover{
    color: var(--secondary-color);
}

a:hover img{
	opacity: 0.7;
}

p{ line-height: 1.7rem; font-weight: 400;}

h1{font-weight: 700;}
h5{font-weight: 700; font-size: 1.1rem;}
.text_dark{ color: var(--darkgray-color);}

image, svg{
    border: 0;
}

.display_desktop{
    display: none;
}

.block_title{
    color: var(--darkgray-color);
    margin-top: 1.75rem;
    margin-bottom: 3.5rem;
    text-align: center;

    position: relative;
}

.block_title.light{
    color: #f2eeeb;
}

.block_title::after{
    background: var(--primary-color);
    content: "";
    display: block;
    width: 80px;
    height: 3px;
    
    position: absolute;
    left: calc(50% - 40px);
    bottom: -1.75rem;
}

.block_subtitle{
    color: #3f272f;
    font-size: 1.1rem;
    /*font-weight: 700;*/
    line-height: 1.5rem;
    margin-bottom: 2rem; 
    text-align: center;

    position: relative;
}

/*
=========================================
	Modules（Block）
=========================================
*/
#anchor-1{/*----錨點----*/
    content: "";
    display: block;
    height: 5rem;
}
#anchor-2,
#anchor-3,
#anchor-4{
    content: "";
    display: block;
    height: 5rem;
}

.wrap_navtop{/*----navbar 漢堡選單Icon----*/
    width: 100%;
    margin: 0 auto;
    padding: 0.5rem 0;
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;

}

.navbar{
    padding: 0;
    border-bottom: 1px solid var(--lightgray-color);
}

.navbar-collapse{
    background: var(--darkgray-color);
    opacity: 0.9;
    
}

.navbar-nav {
    --bs-nav-link-color: #fff;
    --bs-nav-link-hover-color: var(--primary-color);
}

.navbar-collapse a{
    color: #fff;
    font-weight: 700;
    padding: 1rem 0;
}

.navbar-collapse a:hover{
    color: var(--primary-color);
    background: #000;
}

.navbar-collapse a:active{
    color: #fff;
    background: var(--darkgray-color);
    opacity: 0.9;
}

.navbar-collapse li{
    position: relative;
}

.navbar-collapse li:hover::after{
    background: var(--primary-color);
    content: "";
    display: block;
    width: 100%;
    height: 2px;    
}

.navbar-toggler {
    width: 20px;
    height: 20px;
    position: relative;
    transition: .5s ease-in-out;
}

.navbar-toggler,
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
    border: 0;
    position: relative;
}

.toggler-icon {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #3e262e;
    border-radius: 1px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

.middle-bar {
    margin-top: 0px;
}


/* State when the navbar is collapsed */

.navbar-toggler .top-bar {
    position: absolute;
    top: 0px;
    transform: rotate(0deg);
}

.navbar-toggler .middle-bar {
    opacity: 1;
    position: absolute;
    top: 10px;
    filter: alpha(opacity=100);
}

.navbar-toggler .bottom-bar {
    position: absolute;
    top: 20px;
    transform: rotate(0deg);
}

/* when navigation is clicked */

.navbar-toggler.active .top-bar {
    top: inherit;
    transform: rotate(135deg);
}

.navbar-toggler.active .middle-bar {
    opacity: 0;
    top: inherit;
    filter: alpha(opacity=0);
}

.navbar-toggler.active .bottom-bar {
    top: inherit;
    transform: rotate(-135deg);
}

/* Color of 3 lines when active */

.navbar-toggler.active .toggler-icon {
    background: linear-gradient( 263deg, rgba(282,57,41,1) 0%, rgba(24,73,158,1) 100% );
}

header{
    padding-top: 3rem;
    background: linear-gradient(to bottom, #f2eeeb 0%, #f2eeeb 50%, #f2eeeb 100%);
    /*background: #e7ded1;*/
    background-size: cover;
    position: relative;
    z-index: 999;
}

.block_keyVisual {
    background: url(../img/KeyVisual_bg.png) no-repeat;
    background-position: 36% top;
    background-size: 800px auto;
    min-height: calc(100vh - 100px);
    padding-top: 30px;
}

.navbar-brand{
    margin-left: 1rem;
}

.navbar-toggler{
    margin-right: 1rem;
}

/*KeyVisual*/
header .KeyVisual_title{
    padding: 2rem 1rem 0;
}

header .KeyVisual_title .btn{
    display: block;
    font-size: 1rem;
    font-weight: bolder;  
    margin: 1rem auto; 
    width: 75%;
}

.KeyVisual_title img{
    display: block;
    width: 100%;
}

.starBtn{
    animation: bouncing 2.2s infinite; /*lighting 3s infinite, */

}

/*---- 介紹1 計畫特色 ----*/
.block_intro_1{
    /*background: linear-gradient( #ffffff 0%, #ffffff 94%, #ffffff 94% );*/
    background: #f2eeeb;
    color: var(--darkgray-color);
    padding-bottom: 5rem;
}

.block_intro_1 ul {
    list-style: none;
    padding: 0 1rem 0 0;
    margin-bottom: 0;
}

.block_intro_1 ul li{
    margin-bottom: 0.8rem;
    font-weight: 700;
}

.block_intro_1 i{
    padding-right: 0.6rem;
    color: var(--dark-red-color);
    font-size: 1.5rem;
    font-weight: 700;
}

.block_intro_1 ul li > div{
    background-color: #faf8f7;
    border-radius: 0.8rem;
    border: 3px solid var(--darkgray-color);
    box-shadow: 6px 5px var(--darkgray-color);
    display: inline-block;
    padding: 0.3rem 1rem;
    max-width: 258px;
    width: 100%; 
}

.block_intro_1 img{
    padding-top: 2rem;
}

/*---- 介紹2 計畫介紹 ----*/
.block_intro_2{
    background: #ab8867;
    color: #f2eeeb;
    min-height: 650px;
    padding-bottom: 5rem;
} 

.block_intro_2 img{
    max-width: 200px;
}

.block_intro_2 p{
    color: #eee9cc;
    line-height: 1.5rem;
    padding-top: 0.4rem;
}

.block_intro_2 h5{
    color: var(--darkgray-color);
    line-height: 1.5rem;
}

.block_intro_2 i{
    color: var(--darkgray-color);
}

.block_intro_2 strong{
    color: var(--primary-color);
}

.intro_2_wrap{
    background: url(../img/bg_intern_intro2_target.svg) no-repeat top;
    background-size: 120%;
    background-position: top;
    min-height: 560px;
    padding-top: 5.2rem;
    padding-right: 2rem;
    padding-left: 2rem;

    -webkit-filter: drop-shadow(-0.6rem 0.2rem 0rem rgba(119,86,60,.3));
    filter: drop-shadow(-0.6rem 0.2rem 0rem rgba(119,86,60,.3));
}

.intro_2_wrap i{
    color: #c09a5f;
    font-weight: 900;
}

/*.intro_2_target{} 招募對象*/

/*.intro_2_duration{} 實習期間*/

.intro_2_schedule{ /*時程*/
    padding: 0rem 2rem;    
}

.intro_2_schedule p{
    background: var(--darkgray-color);
    border-radius: 0.6rem;
    box-shadow: 6px 5px #f4efeb;
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
}

.intro_2_schedule .col-8 h5{
    text-shadow: 
    2px 2px 0px rgba(49, 54, 46, 1);
    color: #ffffff;
}

.schedule_circle {
    display: inline-flex;
    align-self: stretch;
    align-items: flex-start;
    justify-content: center;
    position: relative;
}

.schedule_circle::after{
    content: "";
    position: absolute;
    border-left: 3px solid var(--darkgray-color);
    z-index: 1;
    height: 100%;
    left: 50%;
    transform: translateX(-3px);
}

.schedule_circle.full{
    display: inline-flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    position: relative;
}

.schedule_circle.full::after{
    height: 100%;
    left: 50%;
    transform: translateX(-3px);
}

.schedule_circle.end{
    align-items: center;
    position: relative;
}

.schedule_circle.end::after{
    height: 50%;
    left: 50%;
    top: 0;
    transform: translatex(0px);
}

.schedule_circle div{
    font-weight: bold;
    padding: 6px 14px;
    border-radius: 50%;
    background-color: var(--darkgray-color);
    color: #eee9cc;
    max-height: 50px;
    z-index: 2;
    text-align: center;
}

.timeLine .col-2{
    overflow: hidden;
}

.timeLine div{
    height: 40px;
}

.corner{
    border: 3px solid var(--darkgray-color);
    width: 100%;
    position: relative;
    border-radius: 15px;
}

.top-right {
    left: 50%;
    top: -50%;
    transform: translateX(-3px);
}

.left-bottom {
    left: -50%;
    top: calc(50% - 3px);
}

.timeLine hr {
    border-top: 3px solid var(--darkgray-color);
    margin: 0;
    top: 17px;
    opacity: 1;
    position: relative;
}

.right-bottom{
    left: 50%;
    top: 50%;
    transform: translatey(-3px);
}

.top-left {
    left: -50%;
    top: -50%;
}

/*---- 實習職缺領域 ----*/
.block_job{
    background: #ffffff;
    text-align: center;
    padding-bottom: 3.5rem;
}

.block_job img{
    /*-webkit-filter: drop-shadow(0.2rem .2rem 0rem rgba(0,0,0,.1));
    filter: drop-shadow(0.2rem 0.2rem 0.05rem rgba(0,0,0,.1));  */
    max-width: 200px;
}

.block_job a{
    background: #696969;
    color: #eee9cc;
    border-radius: 0.6rem;
    padding: 0.5rem 1rem;
    text-decoration: none;
}

.block_job a:hover{
    background: #f5c818;
    color: var(--dark-color);
    border-radius: 0.6rem;
    padding: 0.5rem 1rem;
    text-decoration: underline;
}

.block_job a:active{
    background: #696969;
    color: #eee9cc;
}

.block_job i{
    margin-right: 0;
}

/*---- 應徵方式 ----*/
.block_info{
    background: #c8c0b2;
    background-position: 10% 30%;
    background-size: cover;
    padding-bottom: 5rem;

    position: relative;
}

.block_info a{
    text-decoration: none;
}

.block_info a:hover{
    text-decoration: underline;
}

.block_info ul{
    background: #faf8f7;
    color: #ffffff;
    border-radius: calc(0.375rem - 1px);
    border: 3px solid var(--darkgray-color);

    border-radius: 0.6rem;
    box-shadow: 6px 8px var(--darkgray-color);
    margin: auto;
    padding: 1rem;
    width: calc(100vw - 1.5rem);
    -webkit-filter: drop-shadow(0.1rem 0.2rem 0.3rem rgba(0,0,0,.2));
    filter: drop-shadow(0.1rem 0.2rem 0.3rem rgba(0,0,0,.2));
}

.block_info li.list-group-item{
    background: transparent;
    border-color: var(--darkgray-color);
    border-style: dashed;
}

.block_info .info_title{
    font-weight: bold;
    font-size: 1rem;
}

/*---- 返回 ----*/
.btn_backtoMA{
    display: block;
    font-size: 1rem;
    font-weight: bolder;  
    max-width: 250px;
    margin: 5rem auto auto;
}

/*----浮動按鈕-立即報名----*/
.sidebar{
    background-color: transparent;
    width: 1.5rem;
    height: 100%;
    padding: 1rem;
    
    position: fixed;
    top: 0;
    right: 0;
    transform: translateY(50%);
    z-index: 99999;
    transition: all 350ms ease-in-out;
}

.sidebar_show {
    border-radius: 16px;
}

.sidebar_show a{
    background: #3e262e;
    color: #e1ddd4;
    display: block;
    font-weight: 700;
    text-decoration: none;
    padding: 1rem 0.5rem;
    z-index: 99999;    
}

.sidebar_show a:hover{
    background: #f5c818;
    color: var(--dark-color);
}

.sidebar_show a:active{
    background: #3e262e;
    color: #e1ddd4;
}

.sidebar .sidebar_hide,
.sidebar .sidebar_btnclose{
    display: block;
}

.sidebar .sidebar_btnOpen,
.sidebar .sidebar_show {
    display: none;
}

.sidebar.active .sidebar_hide,
.sidebar.active .sidebar_btnClose{
    display: none;
}

.sidebar.active .sidebar_btnOpen,
.sidebar.active .sidebar_show{
    display: block;
}

/*---- FOOTER----*/
footer{
    background: #c7c0b1;
    color:#32362e;
    text-align: center;
}

.block_footer{
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.footer_logo{
    display: block;
    width: 80%;
    height: 100%;

}

.footer_logo img{
    display: block;
    max-width: 100%;
    margin-bottom: 1.5rem;
}

.block_socialMedia{
    width: 100%;
}

.wrap_Fb,
.wrap_Ig{
    position: relative;
    width: 90px;
    height: 90px;
    max-width: 90px;
}

.wrap_Fb img,
.wrap_Ig img{
    width: 90px;
    height: 90px;
    position:absolute;
    top: 0%;
    left: 0%;

    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}

.wrap_Fb img:last-child:hover,
.wrap_Ig img:last-child:hover{
    opacity:0;
}



footer .h5{
    font-weight: 700;
    padding-top: 1rem;
}

footer p{
    display: inline-block;
}

@media (min-width: 768px) {/*當設備的視窗寬度大於或等於 768 像素時，該條件會成立 768/962*/
    .display_mobile{
        display: none;
    }
    .display_desktop{
        display: block;
    }

    #anchor-1{
        content: "";
        display: block;
        height: ;
    }
    #anchor-2{
        content: "";
        display: block;
        height: ;
    }
    #anchor-2,
    #anchor-3,
    #anchor-4{
        content: "";
        display: block;
        height: ;
    }

/*KeyVisual*/
    .block_keyVisual{
        max-width: 100%;
        min-height: auto;
        background: url(../img/KeyVisual_bg.png) no-repeat;
        background-position: center bottom;
        background-size: 100%;
    }
    .block_keyVisual>div{
        height: 50vh;
    }
    
    header .KeyVisual_title img{
        max-width: 550px;
        margin: 0 auto;
    }

    header .KeyVisual_title .btn{
        margin: 0 auto;
        margin-top: 1rem;
    }

    header .KeyVisual_title .btn img{
        max-width: 200px;
    }

/*block space*/
    .block_intro_1 .row,
    .block_intro_2 .row,
    .block_job .row,
    .block_info .row{
        max-width: 1200px;
        margin: 0 auto;
    }
    .block_footer {
        max-width: 1200px;
        margin: 0 auto;
        padding-top: 2rem;
        padding-bottom: 5rem;
    }

/*footer*/
    .footer_logo{
        max-width: 400px ;
    }

/*block title*/
    .block_title{
        margin-top: 0rem;
    }
    .block_subtitle{
        margin-bottom: 4rem;
    }

/*block*/
    .block_intro_1 ul {
        padding: 0 2rem;
    }
    
    .block_intro_2 .row{
        padding: 1rem 0;
    }

/*計畫介紹*/
    .intro_2_wrap {
        background-size: 140%;
        background-position: right top;  
        min-height: 560px;
        padding-top: 5.2rem;
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .block_intro_2.container-fluid{
        padding-left: 0;
    }

    .intro_2_target{
        max-width: 70%;
        
    }
    .intro_2_duration{
        max-width: 60%;
        
    }
    .intro_2_schedule{
        padding: 5rem 2rem;
    }

/*申請方式*/
    .block_info ul{
        width: 800px;
    }
    .block_info .info_title{
        font-size: 1.1rem;
    }
}


@media (min-width: 992px) {
/*nav menu */
    .wrap_navtop{
        width: auto;
    }

    .navbar{
        background: #ffffff;
    }

    .navbar-collapse{
        background: rgba(0,0,0,0);
    }

    .navbar-collapse i{
        display: none;
    }

    .navbar-collapse a{
        color: var(--dark-color);
        font-weight: 500;
    }


    .navbar-collapse a:hover{
        color: var(--secondary-color);
        background: transparent;
    }

    .navbar-collapse a:active{
        color: var(---dark-color);
    }
    
    .navbar-collapse li:hover::after{
        background: var(--secondary-color);
        content: "";
        display: block;
        width: 75%;
        height: 2px;
        margin: 0 auto; 
    }

    .block_intro_heading {
        background: url(../img/bg_intro1.png) no-repeat;
        background-size: cover;
        background-position: 50% 70%;
    }

    .navbar-collapse .btn_maker a{/*儲備幹部*/
        color: #18499e;
        font-weight: 700;
    }
    
    .navbar-collapse .btn_maker:hover a{
        color: #0569c7;
    }

    .navbar-collapse .btn_maker:active a{
        color: #18499e;
    }
    
    .navbar-collapse .btn_camp a{/*共創營*/
        color: #cb0443;
        font-weight: 700;
    }

    .navbar-collapse .btn_camp:hover a{
        color: #e92b67; 
    }

    .navbar-collapse .btn_camp:active a{
        color: #cb0443; 
    }

    .navbar-collapse li.btn_camp:hover::after{
        background: #cb0443;
        content: "";
        display: block;
        width: 75%;
        height: 2px;
        margin: 0 auto; 
    }

/*KeyVisual*/
    header .KeyVisual_title .btn img{
        max-width: 230px;
    }
    .block_keyVisual{
        background-position: left top 20%;
        
    }
    .block_keyVisual>div{
        height: calc(100vh - 70px);
    }

    .block_intro_1 img{
        padding: 0 2rem;
    }
/*計畫介紹*/
    .intro_2_wrap {
        background: url(../img/bg_intern_intro2_target2.svg) no-repeat;
        background-size: auto;
        background-position: left top;  
        min-height: 560px;
        padding-top: 7.6rem;
        padding-right: 0;
        padding-left: 3.5rem;
    }

    .block_intro_2.container-fluid{
        padding-left: 1.5rem;
    }
    
    .intro_2_target{
        max-width: 68%;
    }
    .intro_2_duration{
        max-width: 70%;
    }
}

/*
=========================================
	Utilities
=========================================
*/

i{
	margin-right: 8px;
}
/* AwesomeFont Version 6 CSS */
  /* Step 1: Common Properties: All required to make icons render reliably */
.icon::before {
    /* removed font- based rules */
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

  /* Step 2: Reference Individual Icons */
  /* Note: Make sure to include the correct weight and Unicode value for the icon */
.tps::before {
    /* using style CSS custom property */
    font: var(--fa-font-solid);
    content: "\f1ea";
	display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
	padding-right: 24px;
}

.fa, .fa-brands, .fa-duotone, .fa-light, .fa-regular, .fa-solid, .fa-thin, .fab, .fad, .fal, .far, .fas, .fat{
    line-height: 1rem;
}

/*
=========================================
	animista.net 動畫
=========================================
*/
.slide-in-top {/*側邊浮動區塊*/
	-webkit-animation: slide-in-top 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) 2s both;
    animation: slide-in-top 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) 2s both;
}
    @-webkit-keyframes slide-in-top {
    0% {
        -webkit-transform: translateY(-1000px);
                transform: translateY(-1000px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1;
    }
    }
    @keyframes slide-in-top {
    0% {
        -webkit-transform: translateY(-1000px);
                transform: translateY(-1000px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1;
    }
}

/* 發光效果 */
@keyframes glowing {
    0% { box-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #fff; }
    50% { box-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #fff; }
    100% { box-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #fff; }
}

  /* 小跳動效果 */
@keyframes bouncing {
    0% { transform: translateY(0); }
    25% { transform: translateY(-10px); }
    50% { transform: translateY(0); }
    75% { transform: translateY(-5px); }
    100% { transform: translateY(0); }
}

/*
=========================================
	覆寫
=========================================
*/

.accordion-button{
    padding: 1rem 1.25rem;
}
