header {
  line-height: 1.25;
}
header .wrapper {
  box-sizing: border-box;
}

@media screen and (max-width: 820px) {
  header {
    /* font-size: 1.125rem; */
    font-size: 1rem;
  }
  header .wrapper {
    padding: 15px 10px 20px;
  }
}
@media screen and (min-width: 821px) {
  header {
    /* font-size: 1.375rem; */
    font-size: 1rem;
  }
  header .wrapper {
    padding: 20px;
  }
}
@media screen and (min-width: 1680px) {
  header {
    /* font-size: 1.875rem; */
  }
  header .wrapper {
    padding: 45px 30px 45px 60px;
  }
}


header .wrapper > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

@media screen and (max-width: 451px) {
  header .wrapper > div:first-of-type {
    display: block;
    text-align: center;
  }
  header .wrapper > div:last-of-type {
    justify-content: center;
  }
}
@media screen and (min-width: 452px) {
  header .wrapper > div {
    justify-content: center;
  }
}
@media screen and (min-width: 1280px) {
  header .wrapper > div {
    justify-content: center;
  }
}
header a, 
header button {
  display: inline-block;
  color: #43A3D0;
}
header .topmenu span {
  display: inline-block;
}
header .topmenu span + span {
  border-left: 2px solid #43A3D0;
  margin: 0 26px;
  padding: 0 26px;
}
@media screen and (max-width: 767px) {
  header .topmenu span + span {
    margin: 0 5px 0 15px;
    padding: 0 5px 0 15px;
  }
  header .topmenu span .dn_title {
    display: none;
  }
}
@media screen and (min-width: 500px) {
  header .topmenu span + span {
    margin: 0 13px;
    padding: 0 13px;
  }
}
@media screen and (min-width: 1280px) {
  header .topmenu span + span {
    margin: 0 6px 0 26px;
    padding: 0 6px 0 26px;
  }
}
header .topmenu a:hover,
header .topmenu a:focus,
header .topmenu a:active {
  outline: 0;
  text-decoration: underline;
}
.separate {
  display: inline-block;
  width: 1px;
  border-left: 2px solid #43A3D0;
  margin: 0 13px 0 26px;
  padding: 0 13px 0 26px;
}
@media screen and (max-width: 451px) {
  .separate {
    display: none;
  }
}
@media screen and (min-width: 452px) {
  .separate {
    margin: 0 5px;
    padding: 0 5px;
  }
}
@media screen and (min-width: 500px) {
  .separate {
    margin: 0 13px;
    padding: 0 13px;
  }
}
@media screen and (max-width: 959px) {
  .separate {
    height: 22px;
  }
}
@media screen and (min-width: 960px) {
  .separate {
    height: 30px;
    margin: 0 6px;
    padding: 0 6px;
  }
}
@media screen and (min-width: 1680px) {
  .separate {
    height: 37px;
  }
}
@media screen and (max-width: 450px) {
  .fontSize {
    padding: 10px 0;
  }
}
.fontSize button {
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 40px;
  background-color: transparent;
  margin: 0 1px;
  border: 0;
  outline: 0;
}

.fontSize button:hover,
.fontSize button:focus,
.fontSize button:active {
  background-color: #43A3D0;
  color: #FFFFFF;
}
header form {
  width: 390px;
  height: 40px;
  margin: 15px 10px 10px;
  position: relative;
}
label.globalSearch {  
  vertical-align: text-top;
  font-weight: 400;
}
input.globalSearch {
  width: 100%;
  max-width: 330px;
  height: 100%;
  border-radius: 48px;
  border: 2px solid #43A3D0;
  padding: 0 60px 0 25px;
  outline: 0;
  transition: box-shadow 0.3s;
}
[lang="zh-Hant"] input.globalSearch {
  max-width: 289px;
}
@media screen and (max-width: 767px) {
  header form {
    width: 50%;
    max-width: 290px;
    margin: 10px 20px;
  }
  input.globalSearch {
    width: 100%;
    height: 40px;
  }
  label.globalSearch {
    display: none;
  }
}
@media screen and (max-width: 451px) {
  header form {
    width: 100%;
    max-width: 290px;
    margin: 0 auto 15px;
  }
}

@media screen and (min-width: 565px) and (max-width: 620px) {  
  input.globalSearch {
    max-width: 290px;
  }  
}

@media screen and (min-width: 768px) {
  header form {
    margin: 10px;
  }
}
@media screen and (min-width: 960px) {
  header form {
    height: 40px;
    margin: 10px;
  }
}

input.globalSearch:hover,
input.globalSearch:focus,
input.globalSearch:active {
  box-shadow: 0 0 10px rgba(67,163,208,0.5);
}
header input[type="submit"] {
  background-color: transparent;
  width: 54px;
  height: 32px;
  border: 0;
  border-left: 2px solid #43A3D0;
  font-size: 0;
  background: url(../images/header_search.svg) no-repeat 10px center;
  background-size: 29px auto;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
}
.social_btn a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  margin-right: 5px;
  color: #FFFFFF;
  font-size: 1.25rem;
  outline: 0;
  transition: box-shadow 0.3s;
}
.social_btn a span {
  font-size: 0;
}
.social_btn a.yt {
  background-color: #e02a20;
}
.social_btn a.fb {
  background-color: #3e5b98;
}
.social_btn a.twitter {
  background-color: #1da1f2;
}
.social_btn a.rss {
  background-color: #f26109;
}
.social_btn a:hover,
.social_btn a:focus,
.social_btn a:active {
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}


.logo {
  padding: 18px 8px 0 0;
}
.logo a {
  display: inline-block;
  border-radius: 10px;
  box-sizing: border-box;
  transition: box-shadow 0.3s;
  text-decoration: none;
}
.logo a:hover,
.logo a:focus,
.logo a:active {
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.logo h1 {
  width: 100%;
  max-width: 560px;
  margin: 0;
}
.logo > div {
  width: calc(100% - 34.526vw - 17.571vw - 12.6045vw);
  min-width: calc(100% - 560px - 285px - 262px);
  display: inline-flex;
  justify-content: space-around;
  align-items: center;
}

.logo_mohw {
  width: 285px;
  padding: 10px 0;
}
.logo_sfaa {  
  width: 242px;
  padding: 5px 10px;
}

@media screen and (max-width: 959px) {
  .logo {
    padding: 0;
  }
  .logo a {
    margin: 5px 5px 0;
    vertical-align: middle;
  }
  .logo h1 {
    width: 100%;
  }
  .logo > div {
    display: block;
    width: 100%;
    text-align: center;
  }
  .logo .logo_mohw, .logo .logo_sfaa {
    display: none;
  }
}
@media screen and (min-width: 960px) and (max-width: 1679px) {
  .logo {
    padding: 0;
  }
  .logo h1 {
    width: 33.526vw;
    max-width: 560px;
  }
  .logo_mohw {
    width: 16.571vw;
    max-width: 285px;
  }
  .logo_sfaa {
    width: 11.6045vw;
    max-width: 242px;
  }
  .logo a {
    margin: 5px 5px 0;
    vertical-align: middle;
  }
}
.logo h1 img,
.logo_mohw img,
.logo_sfaa img {
  width: 100%;
}
.header_kids img {
  height: 95%;
}
.logo .header_area {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  height: 102px;
  color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center 16px;
  padding-bottom: 10px;
  box-sizing: border-box;
  font-size: 1.35rem;
}
.logo .header_media {
  width: 125px;  
  background-color: rgba(135,204,239,1);
  background-image: url("../images/header_media.svg");
}
.logo .header_penalty {
  width: 125px;
  background-color: #AAC132;
  background-image: url("../images/mace.png");
  background-size: 35px;
  
}
.logo .header_kids {
  width: 200px;
  height: 102px;
  background-color: rgba(255,181,64,1);
  padding: 13px 13px 0;
}
@media screen and (max-width: 959px) {
  .logo .header_area {
    height: 70px;
    background-position: center 10px;
    
    padding-bottom: 5px;
    font-size: 1.125rem;
  }
  .logo .header_media {
    width: 100px;
    background-size: 35px;
  }
  .logo .header_penalty {
    background-size: 30px;
  }
  .logo .header_kids {
    width: 150px;
    height: 70px;
    padding: 13px 0 0;
  }
}
@media screen and (min-width: 960px) and (max-width: 1100px) {
  .logo .header_area {
    height: 75px;
    background-position: center 8px;
    padding-bottom: 5px;
    font-size: 1rem;
  }
  .logo .header_media,
  .logo .header_penalty {
    width: 122px;
  }
  .logo .header_kids {
    height: 75px;
  }
}
@media screen and (min-width: 1101px) and (max-width: 1440px) {
  .logo .header_area {
    height: 90px;
    background-position: center 15px;
    padding-bottom: 8px;
    font-size: 1.125rem;
  }
  .logo .header_kids {
    height: 90px;
  }
}