/*************************************/
/*************************************/
.main_full_column{
  width: 100%;
  display: block;
  padding-bottom: 160px;
  background-color: #fff;
}
.main_container{
  position: relative;
  width: 100%;
  max-width: 1440px;
  display: block;
  margin:0 auto;
  padding: 10px 20px;
}
.banner_main{
  position: relative;
  overflow: hidden;
  display: block;
  padding: 0 20px;
  color: #fff;
  background: url('../images/bg_index_slogan.png');
  background-color: #222;
  background-size: cover;
  background-position: top center;
}
.banner_main h1{
  font-size: 1.5em;
}
#particles-js{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.banner_main_news{
  padding: 10px 20px;
  color: #fff;
}
/*************************************/
/*************************************/
.nav_column{
  width: 100%;
  background-color: #ececec;
}
.nav_column .nav{
  display: block;
  width:100%;
  max-width: 1440px;
  font-size:0.7em;
  margin:0 auto;
  padding: 10px 20px;
}
.nav_column .nav a{
  color:#000;
}
.nav_column .nav a:hover{
  color: var(--hover_color);
}
/*************************************/
.main_column_full_left_menu{
  clear: both;
  width: 100%;
  text-align: center;
  padding: 10px 5px;
}
.main_column_full_left_menu a{
  color: #fff;
  display: inline-block;
  padding: 8px 16px;
  margin: 0 0 4px 0;
  background-color: #6e6e6e;
  -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px;
  vertical-align: top;
}
.main_column_full_left_menu a:hover{
  background-color: #222222;
}
.main_column_full_left_menu a.current{
  background-color: #B21F26;
}
.main_column_full_left_menu .tablink{
  text-align:center;
  display:inline-block;
  border:1px solid #333;
  background-color: #fff;
  -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px;
  cursor: pointer;
  vertical-align: top;
}
.main_column_full_left_menu .tablink a{
  display: block;
  width: 100%;
  height: 100%;
  color: #000;
  padding: 0;
  margin: 0;
  background-color: #fff;
}
.main_column_full_left_menu .tablink a img{
  height: 36px;
  padding: 5px 16px 0px 16px;
  line-height: 0;
}
/***/
.main_column_full_left_menu_subcat{
  position: relative;
  z-index: 2;
  clear: both;
  width: 100%;
  text-align: center;
  padding: 10px 10px 6px 10px;
  background-color: #ececec;
  background-color: var(--hover_color);
  border-radius: 5px;
  width: fit-content;
  width: -moz-fit-content;
  margin: -18px auto 0 auto;
}
.main_column_full_left_menu_subcat a{
  color: #333;
  display: inline-block;
  padding: 8px 16px;
  margin: 0 0 4px 0;
  background-color: #fff;
  -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px;
  vertical-align: top;
}
.main_column_full_left_menu_subcat a:hover,
.main_column_full_left_menu_subcat a:focus{
  background-color: #ffffc0;
}
.main_column_full_left_menu_subcat a.current{
  color: #000;
  background-color: #ffe93c;
}
/*************************************/
/*html info*/
.info_container{
  position: relative;
  width: 100%;
  max-width: 1440px;
  display: block;
  margin:0 auto;
  padding: 10px 20px;
}
.info_container .title_left{
  display: inline-block;
  margin: 0 10px 0 0;
}
.info_container .title_left img.staff_pic{
  width: 100%;
  max-width: 300px;
  border-radius: 15px;
}
.info_container .title_right{
  display: inline-block;
  vertical-align: top;
}
.info_container .title_right .name_ch{
  display: block;
  font-weight: bold;
  font-size: 1.2em;
}
.info_container .title_right .name_en{
  display: block;
  font-weight: bold;
  font-size: 0.8em;
  color: #555;
}
.info_container .title_right .row{
  display: block;
  margin-bottom: 10px;
}
.info_container .title_right .row span{
  display: inline-block;
  word-break: break-word;
}
.info_container h3.title{
  width: 100%;
  display: block;
  font-size: 1.4em;
  margin-bottom:6px;
  border-bottom: 1px solid #ccc;
}
.info_container .title_s{
  width: 100%;
  display: block;
  font-size: 1em;
  font-weight: bold;
  margin:1.5em 0 0.5em 0;
}
.info_container h3.icon_main_title{
  background: url('../images/icon_main_title.png') no-repeat;
  background-position: top left;
  background-size: 1em;
  padding-left: 1.2em;
}
.info_date span{
  vertical-align: bottom;
}
.info_date .label_top{
  display: inline-block;
  color: #fff;
  border-radius:5px;
  font-size: 0.8em;
  padding: 2px 10px; 
  background-color: #16b3b6;
  font-weight: bold;
  position: relative;
}
.info_date .label_new{
  display: inline-block;
  color: #fff;
  border-radius:5px;
  font-size: 0.8em;
  padding: 2px 10px; 
  background-color: #ff6600 !important;
  font-weight: bold;
  position: relative;
}
.info_date .label_hot{
  display: inline-block;
  color: #fff;
  border-radius:5px;
  font-size: 0.8em;
  padding: 2px 10px; 
  background-color: #e50053;
  font-weight: bold;
  position: relative;
}
.info_container .info_desc{
  width: 100%;
  display: block;
  color:var(--hover_color);
  font-size: 0.9em;
}
.info_container .info_desc span{
  display: inline-block;
}
.info_container .HTML_info,
.info_container .file_column{
  clear: both;
  width: 100%;
  display: block;
  margin: 0 0 40px 0;
}
.HTML_info border,
.HTML_info border img,
.HTML_info img,
.HTML_info iframe{
  max-width:100%;
}
.HTML_info a:hover{
  text-decoration: underline;
}
.pic_left{
  float: left; 
  margin-top: 5px;
  margin-right: 8px;
}
.pic_right{
  float: right; 
  margin-top: 5px;
  margin-left: 8px;
}
.pic_left img{
  width:380px;
}
.pic_right img{
  width:380px;
}
.pic_top{
  margin-bottom: 8px;
}
.pic_down{
  margin-top: 8px;
}
.file_list_table{
  width: 100%;
}
.file_list_table tr:hover{
 background: #ffffc3;
}
.file_list_table tr th,
.file_list_table tr td{
  border-bottom: 1px solid #999;
  padding: 6px;
}
.file_list_table tr td a img{
  min-width: 32px;
  max-width: 32px;
  vertical-align: middle;
}
/*************************************/
.groups_calendar_table{
  width: 100%;
  border-spacing: 0px;
  border-collapse:collapse;
}
.groups_calendar_table tr th{
  text-align: center;
}
.groups_calendar_table tr:nth-child(even){
  background-color: rgba(0,0,0,0.05);
}
.groups_calendar_table tr th,
.groups_calendar_table tr td{
  border: 1px solid #000;
  padding: 6px;
}
/*************************************/
.achievement_table{
  width: 100%;
  border-spacing: 0px;
  border-collapse:collapse;
}
.achievement_table tr:hover{
 background: #ffffc3;
}
.achievement_table tr th{
  background-color:#aac9ff;
}
.achievement_table tr th,
.achievement_table tr td{
  border: 1px solid #000;
  padding: 6px;
  text-align: center;
}
.achievement_table tr td a img{
  min-width: 32px;
  vertical-align: middle;
}
/*************************************/
.active_list_column{
  width: 100%;
  overflow: hidden;
  letter-spacing: -7px;
}
.box_active{
  display:inline-block;
  width:31%;
  overflow:hidden;
  border:1px solid #ccc;
  padding:0.5%;
  margin:0 1% 3% 1%;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  border-radius:5px;
  transition: background-size 0.2s linear;
  -webkit-transition: background-size 0.2s linear;
  position:relative;
  top:0;
  background:#FFF;
  vertical-align: top;
}
.box_active a{
  display: block;
}
.box_active .pic{
  width:100%;
  padding-bottom:70%;
  background-repeat:no-repeat;
  background-position:center center;
  -moz-background-size: 100%;
  -webkit-background-size: 100%;
  -o-background-size: 100%;
  background-size: 100%;
  -webkit-border-radius:2px;
  -moz-border-radius:2px;
  border-radius:2px;
  margin:0 0 8px 0;
  transition: background-size 0.2s linear;
  -webkit-transition: background-size 0.2s linear;
}
.box_active:hover .pic{
  -moz-background-size: 120%;
  -webkit-background-size: 120%;
  -o-background-size: 120%;
  background-size: 120%;
}
.box_active .title{
  color:#222222;
  width:100%;
  overflow:hidden;
  letter-spacing: 0px;
}
.box_active .date{
  display:inline-block;
  color:#555;
  font-size: 0.8em;
  letter-spacing: 0px;
}
.box_active .city{
  display:inline-block;
  color:#555;
  font-size: 0.8em;
  letter-spacing: 0px;
}
.box_active .city::before{
  content:" / ";
}
.box_active .school{
  display:inline-block;
  color:#555;
  font-size: 0.8em;
  letter-spacing: 0px;
}
.box_active .school::before{
  content:" / ";
}
.box_active .info{
  clear:both;
  color:#000;
  letter-spacing: 0;
  margin-top: 5px;
}
.box_active .info::after{
  display: inline-block;
  content: "...(詳細內容)";
}
p.student_info,
p.school_info{
  padding: 0;
  margin: 0;
}
/*************************************/
.resources_list_column{
  width: 100%;
}
.resources_list_column .box_resources{
  position: relative;
  display: block;
  width: 100%;
  padding: 15px 50px 15px 15px;
  margin: 0 0 5px 0;
  background-size: 22px;
  background-position: calc(100% - 10px) center;
  background-repeat: no-repeat;
  border-radius: 5px;
  background-color: #eee;
  background-image: url('../images/icon_external-link.png');
  letter-spacing: 0;
  font-size: 1em;
  font-weight: bold;
  color: #000;
  word-break: break-all;
}
.resources_list_column.type_online .box_resources{
  padding: 15px 50px 15px 30px;
}
.resources_list_column.type_online .box_resources::before{
  position: absolute;
  top: 10px;
  left:  10px;
  content: "";
  width: 5px;
  height: calc(100% - 20px);
  background-color: #45679844;
  border-radius: 3px;
}
.resources_list_column.type_lesson_download .box_resources{
  background-image: url('../images/icon_download.png');
}
.resources_list_column .box_resources:hover{background-color: #fffee1;}
.resources_list_column .box_resources .cat{
  position: relative;
  top: -1px;
  background-color: #789456;
  color: #fff;
  border-radius: 5px;
  padding: 0 5px;
  font-size: 0.86em;
}
.resources_list_column .box_resources .cat.cat0{background-color: #21487c;}
.resources_list_column .box_resources .cat.cat1{background-color: #8e008a;}
.resources_list_column .box_resources .cat.cat2{background-color: #8e5000;}
.resources_list_column .box_resources .cat.cat3{background-color: #4b6906;}
.resources_list_column .box_resources .cat.cat4{background-color: #1d4d89;}
.resources_list_column .box_resources .cat.cat5{background-color: #216271;}
.resources_list_column .box_resources .cat.cat6{background-color: #ab0000;}
.resources_list_column .box_resources .filetype{
  position: relative;
  top: -2px;
  color: #fff;
  border-radius: 5px;
  padding: 0 5px;
  font-size: 0.7em;
}
.resources_list_column .box_resources .filetype.pdf{background-color: #cc0000;}
.resources_list_column .box_resources .filetype.ppt{background-color: #FF4B00;}
.resources_list_column .box_resources .filetype.word{background-color: #00BFFF;}
.resources_list_column .box_resources .filetype.excel{background-color: #99CC00;}
.resources_list_column .box_resources .filetype.video{background-color: #5c3d4c;}
/***/
.map_sel_lists{
  display: block;
  width: calc(100% - 40px);
  max-width: 1400px;
  margin: 30px auto 0 auto;
  padding: 5px;
  text-align: center;
  background-color: #f5f5f5;
  border: 2px solid #cccccc;
  border-radius: 5px;
}
.map_sel_lists .title{
  font-size: 0.9em;
  font-weight: bold;
  margin: 0 0 5px 0;
  background-color: #dcdcdc;
  padding: 5px;
  border-radius: 3px;
}
.map_sel_lists .list{
  display: grid;
  gap: 0px;
  grid-template-columns: repeat(4,1fr);
}
.map_sel_lists .list a{
  color: #000;
  padding: 5px 10px;
  border-bottom: 1px dashed #ccc;
}
.map_sel_lists .list a:hover{
  background-color: #fffee1;
}
.map_sel_lists .list a.sel{
  background-color: #fffee1;
  font-weight: bold;
  border: 3px solid #f60;
}
/***/
h3.lesson_nav{
  position: relative;
  background-color: #d6e8fb;
  border-radius: 5px;
  padding: 5px 5px 5px 15px;
  font-weight: bold;
  margin: 0;
}
h3.lesson_nav::before{
  position: absolute;
  top: 5px;
  left: 5px;
  content: "";
  width: 3px;
  height: calc(100% - 10px);
  background-color: #45679844;
  border-radius: 3px;
}
/***/
.info_issue div{
  position: relative;
  display: block;
  padding-left: 10px;
  margin-bottom: 5px;
}
.info_issue div::before{
  position: absolute;
  top: 4px;
  left:  0px;
  content: "";
  width: 3px;
  height: calc(100% - 6px);
  background-color: #fdc65c;
  border-radius: 3px;
}
/*************************************/
/*website*/
.website_column{
  width:100%;
  margin:0px auto;
}
.website_column .box_menu{
  background-color: #f2f2f2;
  -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px;
  padding: 2%;
  margin: 0 0 15px 0;
}
.website_column .box_menu .title{
  font-weight: bold;
  border-left: 3px solid #000;
  padding: 0 0 0 6px;
  margin:0;
  line-height: 1em;
  display: inline-block;
}
.website_column .box_menu a{
  color: var(--hover_color);
  display: inline-block;
}
.website_column .box_menu a:hover{
  color: var(--hover_color);
}
.website_column .box_menu ul{
  margin:10px 0 0 0;
  padding:0 0 0 10px; 
}
.website_column .box_menu ul li{
  display: inline-block;
  list-style: none;
  color: #fff;
}
.website_column .box_menu ul li a{
  display: inline-block;
  color: #222222;
  background-color: #e2e2e2;
  padding:6px 14px;
  margin: 0 0 5px 0; 
  -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px;
}
.website_column .box_menu ul li a:hover,
.website_column .box_menu ul li a:focus{
  background-color: #222222;
  color: #fff;
}
/*************************************/
/*publish*/
.publish_column{
  clear:both;
  width:100%;
  margin:0 auto;
  padding:10px 0 0 0;
}
/*form*/
.form_column{
  clear:both;
  width:100%;
  margin:0 auto 10px auto;
}
.form_column_w600{
  max-width:600px;
}
.form_column .form_border{
  clear:both;
  width:100%;
  margin:0 auto;
  padding:0 0 5px 0;
  text-align:left;
  overflow:hidden;
}
.form_column .row{
  display: block;
  width:100%;
  padding:5px 0 8px 10px;
  margin:0 0 5px 0;
  border-bottom:1px dashed #CCC;
}
.form_column .row_button{
  /*float:left;*/
  width:100%;
  padding:10px 0;
  text-align:center;
}
.form_column .row_social{
  float:left;
  width:100%;
  padding:0 0 10px 0;
  text-align:center;
}
.form_column .row_social .social_login{
  display:inline-block;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  margin:0 0 5px 0;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  border-radius:5px;
}
.form_column .row_social .social_login a{
  color:#FFF;
  display:block;
  padding:0px 20px 10px 20px;
  width:290px;
}
.form_column .row_social .social_login img{
  position:relative;
  top:6px;
  width:28px;
  height:28px;
  margin:0 3px 0 0;
}
.form_column .row_social .social_login.login_facebook{
  background:#1D4594;
}
.form_column .row_social .social_login.login_facebook:hover{
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4); -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.4); box-shadow: 0 1px 5px rgba(0,0,0,0.4);
}
.form_column .row_social .social_login.login_google{
  background:#CA4336;
}
.form_column .row_social .social_login.login_google:hover{
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4); -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.4); box-shadow: 0 1px 5px rgba(0,0,0,0.4);
}
.form_title{
  display:inline-block;
  width:150px;
  vertical-align: top;
  margin:4px 5px 5px 0;
}
.form_title::after{
  content: "：";
}
.form_title_space{
  display:inline-block;
  width:150px;
  vertical-align: top;
  margin:4px 5px 5px 0;
}
.form_title .needo {
  color: #fff;
  background-color: var(--hover_color);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  font-size: 0.7em;
  padding: 2px 3px;
  margin: 0 3px 0 0;
  position: relative;
  top: -2px;
}
.form_input{
  display:inline-block;
  vertical-align: top;
}
.form_input .desc{
  display:block;
  width:100%;
  clear:both;
  margin:5px 0 0 0;
}
.form_column .row .inputtext{
  position:relative;
  width:240px;
  padding:8px;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  border-radius:5px;
  font-size: 1em;
  -webkit-appearance: none;
  border:1px solid #999;
}
.form_column .row .form_select{
  margin:0 0 5px 0;
}

.form_column .row img{
  margin:6px 0 0 0;
}
.row_sub{clear: both;}
.row_sub a{font-size:0.86em; color: #333;}
.row_sub a>img{width: 18px; height: 18px; position: relative; top:3px;}
/*表單按鈕*/
.form_button{
  color:#fff;
  display:inline-block;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  border-radius:5px;
  padding:10px;
  font-size:1em;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;  
  width:100%;
  max-width:150px;
  min-width: 150px;
  border:none;
  font-family:'Microsoft JhengHei','simhei','Arial';
  -webkit-appearance:none;
  background-color: var(--hover_color);;
  cursor:pointer;
}
.form_button:hover{
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4); -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.4); box-shadow: 0 1px 5px rgba(0,0,0,0.4);
}
/*edulogin_button*/
.edulogin_button{
  background-color: #f2f2f2;
  display: block;
  max-width: 400px;
  margin: 5px auto;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  border-radius:5px;
  border: 1px solid #ccc;
  vertical-align: top;
}
.edulogin_button:hover{
  background-color: #eee;
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4); -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.4); box-shadow: 0 1px 5px rgba(0,0,0,0.4);
}
.edulogin_button a{
  color: #000;
  display: block;
  width: 100%;
  height: 100%;
  padding:10px;
}
.edulogin_button a img{
  margin: 0 6px 0 0;
  position: relative;
  top:6px;
}
/*form_option*/
.form_option_column{
  clear:both;
  width:100%;
  /*overflow:hidden;*/
  margin:10px auto 15px auto;
}
.form_option_column a{
  display:inline-block;
  margin:0 5px 4px 5px;
  padding:3px 5px;
  border-bottom: 1px dashed #666;
  text-align:center;
  font-size:1em;
  color: #000;
}
.form_option_column a.point{
  color: #cc0000;
}
.form_option_column a:hover,
.form_option_column a:active{
  color: var(--hover_color);
}
.form_option_column img.icon{
  padding:10px 5px 0 0;
  vertical-align:text-bottom;
  width:22px;
}
.form_option_column2{
  clear:both;
  width:100%;
  text-align:center;
  overflow:hidden;
  margin:0 0 15px 0;
}
.form_option_column2 a{
  display:inline-block;
  background:#DDD;
  margin:0 1px 6px 5px;
  text-align:center;
  line-height:30px;
  font-size:1.2em;
  width:50px;
  color:#333745;
  height:30px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

/*************************************/
/*************************************/
/*************************************/
/*************************************/
/*************************************/
/*************************************/
/*PAGE*/
.page_container{
  display: block;
  width:100%;
  height:auto;
  text-align:center;
  font-size:0.9em;
  margin:0px 0 15px 0;
}
.page_option_block{
  display:inline-block;
  width:auto;
  padding:0;
  width:100%;
  text-align:center;
}
.page_option_block .page{
  padding:0 7px 0 7px;
  margin:0 -3px 0 0;
}
.page_option_block .page_prev{
  border-right:1px dotted #ccc;
  padding:0 25px 0 0;
  margin:0 20px 0 0 !important;
}
.page_option_block .page_next{
  border-left:1px dotted #ccc;
  padding:0 0 0 25px;
  margin:0 0 0 20px !important;
}
.page_option_block .page_prev,
.page_option_block .page_next,
.page_option_block .page_back{
  color: #222;
}
.page_option_block .page_prev:hover,
.page_option_block .page_next:hover,
.page_option_block .page_back:hover{
  color:#B21F26;
}
.page_option_block .page_info{
  display: block;
  margin-bottom: 3px;
}
.page_container_top,
.page_container_prev_next{
  width:100%;
  font-size:0.7em;
  text-align:center;
  color:#222;
  padding:10px 0;
}
.page_container_prev_next .page_option_block a{
  color:#000;
  display:inline-block;
  padding:2px 6px;
  border: 1px solid #ccc;
}
.page_container_prev_next .page_option_block a:hover{
  color:#B21F26;
}
.page_container_prev_next .page_option_block a.page_block_see{
  color: #ffffff;
  background-color: #B21F26;
}
.page_block .jump{
  cursor:pointer;
}

.page_block_showpage{
  display:inline-block;
  padding:0;
  text-align:center;
}
.page_block_showpage a{
  color:#000;
  display:inline-block;
  line-height:27px;
  margin:0;
  padding:0px 10px;
  -webkit-border-radius:25px;
  -moz-border-radius:25px;
  border-radius:25px;
}
.page_block_showpage a.page_block_see{
  background-color:var(--hover_color);
  display:inline-block;
  color:#FFF;
  font-weight:bold;
}
.page_block_showpage a:hover{
  color:var(--hover_color);
}
.page_block_showpage a.page_block_see:hover{
  color:#FFF;
}
.page_block_showpage .page_back{
  display:inline-block;
  padding:0;
  margin:0;
  border:none;
}
.page_block_showpage .page_prev{
  display:inline-block;
  padding:0 5px 0 0;
  margin:0 5px 0 0;
  border:none;
}
.page_block_showpage .page_next{
  display:inline-block;
  padding:0 0 0 5px;
  margin:0 0 0 5px;
  border:none;
}
/*********************************/
.button_column{
  width: 100%;
  padding: 0 20px;
  text-align: center;
}
.button_column .button{
  color: #fff;
  display: inline-block;
  margin: 0 0 4px 0;
  padding: 8px 16px;
  -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px;
  overflow: hidden;
  background-color: #c74f00;
}
.button_column .button:hover{
  background-color: #ff6500;
}
.button_column .button a{
  display: block;
  color: #fff;
  width: 100%;
  height: 100%;
}
.button_column .button.button_icon{
  padding: 8px 16px 8px 50px;
}
.button_column .button.button_icon_download{
  background-image: url(../images/icon_download.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: 15px 6px; 
}
/*********************************/
table.filelist{
  width: 100%;
}
table.filelist th{
  font-size: 0.9em;
  padding: 6px;
  background-color: #f2f2f2;
}
table.filelist td{
  border-bottom: 1px solid #999;
  padding: 6px 6px 0 6px;
  vertical-align: top;
}
table.filelist tr:hover{
  background-color: #fffbae;
}
/*********************************/
.box_faq{
  display: block;
  width: 100%;
  border-bottom: 1px dashed #ccc;
  padding-top: 10px;
}
.box_faq .title{
  font-weight: bold;
  color: var(--hover_color);
}
/*********************************/
.column_table{
  font-size: 0.9em;
  width: 100%;
  margin: 0 auto;
  display: block;
  background-color: #ffffff;
  margin-bottom: 2em;
  border-radius: 5px;
}
.column_table .group_th{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
  width: 100%;
  text-align: center;
  font-weight: normal;
  border-bottom: 2px solid #cccccc;
  font-weight: bold;
  padding-bottom: 6px;
}
.column_table .group_th .th_lv{
  flex-grow: 1;
  max-width: 10%;
  min-width: 140px;
}
.column_table .group_th .th_subject{
  flex-grow: 5;
  max-width: 60%;
  white-space: nowrap;
}
.column_table .group_th .th_lecturer{
  flex-grow: 2;
  max-width: 20%;
  white-space: nowrap;
}
.column_table .group_th .th_teacher{
  flex-grow: 1;
  max-width: 10%;
  min-width: 180px;
  white-space: nowrap;
}
.column_table .group_tr{
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  -webkit-align-items: stretch;
          align-items: stretch;
  -webkit-justify-content: center;
          justify-content: center;
  width: 100%;
  text-align: center;
  line-height: 20px;
  border-bottom: 1px solid #cccccc;
  order: 2;
  padding: 10px 0;
  line-height: 1.5em;
}
.column_table .group_tr:nth-child(odd){
  background-color: #f8f8f8;
}
.column_table .group_tr .td_lv{
  padding: 0 5px;
  flex-grow: 1;
  max-width: 10%;
  min-width: 140px;
  border-right: 1px solid #cccccc;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
}
.column_table .group_tr .td_subject{
  padding: 0 5px;
  flex-grow: 5;
  max-width: 60%;
  border-right: 1px solid #cccccc;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  -webkit-align-items: flex-start;
          align-items: flex-start;
  -webkit-justify-content: center;
          justify-content: center;
}
.column_table .group_tr .td_lecturer{
  padding: 0 5px;
  flex-grow: 2;
  max-width: 20%;
  border-right: 1px solid #cccccc;
  flex-direction: column;
  -webkit-align-items: flex-start;
          align-items: flex-start;
  -webkit-justify-content: center;
          justify-content: center;
}
.column_table .group_tr .td_teacher{
  padding: 0 5px;
  flex-grow: 1;
  max-width: 10%;
  min-width: 180px;
  flex-direction: column;
  -webkit-align-items: flex-start;
          align-items: flex-start;
  -webkit-justify-content: center;
          justify-content: center;
}
.column_table .group_tr .td_subject a{
  color: #000;
  width: 100%;
  display: block;
  text-align: left;
}
.column_table .group_tr .td_subject a::after{
  content: "閱覽";
  font-size: 0.8em;
  background-color: #d3ebff;
  border-radius: 3px;
  margin-left: 5px;
  padding: 0 5px;
  color: #000;
}
.column_table .group_tr .td_subject a:hover{
  background-color: #fffee1;
}
.column_table .group_tr .td_subject a:hover::after{
  background-color: #ffe0c8;
}
/*************************************/
.staff_list_column{
  width: 100%;
  margin-bottom: 20px;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(5,1fr);
}
.staff_list_column .box_staff{
  display:inline-block;
  width:100%;
  overflow:hidden;
  border-radius: 15px;
  border:1px solid #ccc;
  padding:10px;
  transition: background-size 0.2s linear;
  -webkit-transition: background-size 0.2s linear;
  position:relative;
  background:#ffffff;
  font-size: 0.8em;
  text-align: center;
}
.staff_list_column .box_staff:hover{
  background:#fffee1;
}
.staff_list_column .box_staff a{
  display: block;
}
.staff_list_column .box_staff .pic{
  position: relative;
  width:66%;
  padding-bottom:66%;
  background-repeat:no-repeat;
  background-position:center;
  background-size: 100%;
  border-radius:100%;
  margin:0 auto 8px auto;
  transition: background-size 0.2s linear;
  -webkit-transition: background-size 0.2s linear;
}
.staff_list_column .box_staff .pic.pic_school{
  width:100%;
  padding-bottom:75%;
  border-radius:5px;
}
.staff_list_column .box_staff:hover .pic{
  -moz-background-size: 120%;
  -webkit-background-size: 120%;
  -o-background-size: 120%;
  background-size: 120%;
}
.staff_list_column .box_staff .pic .flagpic{
  position: absolute;
  top: 0;
  right: 0;
  min-width: 20px;
  min-height: 20px;
  width: 25%;
  height: 25%;
  max-width: 36px;
  max-height: 36px;
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border: 3px solid #fff;
  border-radius: 100%;
}
.staff_list_column .box_staff .name_ch{
  color: #000;
  width:100%;
  overflow:hidden;
  font-weight: bold;
}
.staff_list_column .box_staff .name_en{
  color: #000;
  width:100%;
  font-size: 0.9em;
  overflow:hidden;
}
.staff_list_column .box_staff .country,
.staff_list_column .box_staff .city{
  color: #000;
  font-size: 0.9em;
  border-top: 1px dashed #ccc;
  padding-top: 5px;
  margin-top: 5px;
}
.staff_list_column .box_staff .school{
  color:#555;
  font-size: 0.9em;
  border-top: 1px dashed #ccc;
  padding-top: 5px;
  margin-top: 5px;
}
.staff_list_column .box_staff .info{
  clear:both;
  color:#000;
  letter-spacing: 0;
  margin-top: 5px;
}
.staff_list_column .box_staff .info::after{
  display: inline-block;
  content: "...(詳細內容)";
}
/******************************************/
#map_lists_column{
  display: grid;
  gap: 2px;
  grid-template-columns: repeat(2,1fr);
}
#map_lists_column .map{
  width: 100%;
}
#map_lists_column .lists{
  width: 100%;
  display: grid;
  gap: 2px;
  grid-template-columns: repeat(2,1fr);
}
#map_taiwan{
  display: block;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}
#map_taiwan.show_city_school_list{
  display: block;
  width: 100%;
  text-align: center;
}
#vmap {
  width:100%;
}
#map_taiwan.show_city_school_list #vmap{
  width: 70%;
  display: inline-block;
  vertical-align: top;
}
#map_taiwan.show_city_school_list .city_school_list{
  width: 29%;
  max-width: 350px;
  display: inline-block;
  vertical-align: top;
}
/***************/
.jqvmap-label{
  position: absolute;
  display: none;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background: #B21F26;;
  color: white;
  font-size:medium;
  padding: 3px;
  pointer-events:none;
}
.jqvmap-region{
  cursor: pointer;
}
.jqvmap-ajax_response{
  width: 100%;
  height: 500px;
}
/*svg text*/
.vmap_marker{
  font-size: 1.5rem;
  fill: #222;
  /*pointer-events: none;*//*穿透,但可以focus*/
  cursor: pointer;
}
.vmap_marker:focus{
  outline: 3px dashed #ff0000;
  border-radius: 5px;
}
#vmap path:focus{
  outline: none !important;
  fill: #dcdcdd;
}
/*海域範圍不可點選*/
/*#jqvmap1_基隆市,
#jqvmap1_臺北市,
#jqvmap1_苗栗縣,
#jqvmap1_臺中市,
#jqvmap1_南投縣,
#jqvmap1_連江縣,*/
#jqvmap1_連江縣map,
#jqvmap1_金門縣map{
  pointer-events: none;
}
/***/
#map_world{
  display: block;
  margin: 1em;
}
/***/
.select_list_column{
  width: 100%;
  display: block;
}
.select_list_column .option{
  display: inline-block;
}
/***/
.city_school_list{
  padding:2em 0 0 0; 
}
.city_school_list .title{
  color: #fff;
  background: #495761;
  padding: 5px;
  text-align: center;
}
ul.world_map_box {
  list-style:none;
  padding: 0;
  margin: 0;
}
ul.world_map_box li{
  display: block;
  width: 100%;
  border-bottom: 1px solid #ccc;
  overflow: hidden;
  text-align: center;
}
ul.world_map_box li a{
  display: block;
  width: 100%;
  color:#333;
  padding:5px;
  text-decoration: none;
}
ul.world_map_box a{text-decoration: none;}
ul.world_map_box a:hover{background:#ECEFF4;color:#333;text-decoration: none;}
/******************************************/
/*********************************/
/*********************************/
/*********************************/
/*********************************/

/*********************************/