/*-------------------------------------------*\
    CSS SharedComponents

  - 01. 選單
  - 02. 黏人精
  - 03. Footer
  - 04. scroll
\*-------------------------------------------*/
/*====================================================
// 01_選單
======================================================*/
:root {
  header-fontsize: 28px;
}

.header {
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.3em 0.83em;
  width: 100%;
  color: #fff;
  font-size: var(--header-fontsize);
  font-weight: 600;
  background-image: linear-gradient(180deg,#004987 0%, #009FE8 100%);
  z-index: 999;
  box-sizing: border-box;
  backdrop-filter: blur(5px);
}
@media (min-width: 990px){
  .header {
    padding: 0.3em 8vw;
    height: 100px;
  }
}

/*--0905--*/
.header_logo img {
  height: auto;
  max-height: 3em;
  /* height: 3em; --你沒感覺 LOGO 糊糊 der 嗎?--*/
  width: auto;
}

.header_menu ul {
  display: flex;
  list-style: none;
  line-height: 1.5;
  padding-left: 0;
}

.header_menu li a {
  display: block;
  margin: 0 1.875em;
  opacity: 0.5;
  transition: all ease 0.3s;
}

.header_menu li a:focus{
  box-shadow: initial;
}


.header_menu li a.is-active {
  scale: 1;
  opacity: 1;
}

.header_menu li:first-child {
  border-left: 1px solid #ffffff5c;
}

.header_menu li ~ li {
  border-left: 1px solid #ffffff5c;
}

.header_menu li:last-child {
  border-right: 1px solid #ffffff5c;
}

.header_menu li a.btn_report {
  color: #fce300;
  opacity: 1;
}

/* 漢堡選單 */
.menu-toggle {
  display: none;
  cursor: pointer;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 21px;
}

.menu-toggle span {
  display: block;
  height: 3px;
  background-color: #fff;
  border-radius: 3px;
  transition: 0.3s;
}

.menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -9px);
}

.header_menu {
  display: flex;
}
@media screen and (max-width: 767px) {
  :root {
    --header-fontsize: 20px;
  }
  .header_menu li ~ li {
    border-left: none;
  }

  .header_menu li:first-child {
    border-left: none;
  }

  .header_menu li:last-child {
    border-right: none;
  }

  /* 手機版選單 */
  
  .header_menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: rgba(16, 140, 255, 0.9);
    width: 100%;
  }

  .header_menu.active {
    display: flex;
  }

  /* 手機版單列顯示的選單項目 */
  .header_menu ul {
    flex-direction: column;
    width: 100%;
  }

  .header_menu li {
    border-left: none;
    /* border-bottom: 1px solid #fff; */
    width: 100%;
    text-align: center;
  }

  .header_menu li a {
    display: block;
    padding: 1em;
    margin: 0;
    color: #fff !important;
    opacity: 1 !important;
  }

  .header_menu li a.is-active {
    color: #fff !important;
    opacity: 1 !important;
  }

  .header_menu li a.btn_menu {
    color: #fff !important;
    opacity: 1 !important;
  }

  .menu-toggle {
    display: flex;
  }
}
@media screen and (min-width: 767px) {
  :root {
    --header-fontsize: 15px;
  }
}
@media screen and (min-width: 992px) {
  :root {
    --header-fontsize: 18px;
  }
}

@media screen and (min-width: 1366px) {
  :root {
    --header-fontsize: 16px;
  }
}

@media screen and (min-width: 1600px) {
  :root {
    --header-fontsize: 24px;
  }
}

@media (hover: hover) {
  .btn:hover {
    filter: contrast(130%);
  }

  .btn_menu:hover {
    filter: initial;
    scale: initial;
    opacity: 1;
  }
}

/*====================================================
// 01_選單 end
======================================================*/
/*====================================================
// 02_黏人精
======================================================*/
.btn_sticky {
  position: fixed;
  display: none;
  width: 12vw;
  right: -1px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  transition: all ease .3s;
  outline: 0;
  box-shadow: initial;
  will-change: transform, top, bottom;
  opacity: 1;
}

/* 桌機版預設位置 - section_kv 右下方 */
@media screen and (min-width: 768px) {
  .btn_sticky {
    top: auto;
    bottom: -0.5%;
    transform: none;
    transition: bottom 0.5s cubic-bezier(0.4, 0, 0.2, 1), 
                top 0.5s cubic-bezier(0.4, 0, 0.2, 1), 
                transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  /* 桌機版滾動到 bnt-enter 後的位置 - 右側中央 */
  .btn_sticky.scrolled {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }
}

.btn_sticky:focus{
  box-shadow: initial;
}
@media screen and (max-width: 767px) {
  .btn_sticky {
    width: 20vw;
    min-width: 40px;
    right: -5%;
    top: 50%;
    transform: translateY(-135%);
    transition: opacity 0.4s ease, display 0s 0.4s;
  }
  
  .btn_sticky.fade-out {
    opacity: 0;
    transition: opacity 0.4s ease, display 0s 0.4s;
  }
}
/*====================================================
// 02_黏人精 end
======================================================*/

/*====================================================
// 03_Footer
======================================================*/
.footer{
  background: linear-gradient(180deg,rgba(0, 159, 232, 1) 0%, rgba(0, 73, 135, 1) 100%);
  padding: 0.5em 0;
}

.footer .wrap {
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

/* .wrap .title1 {
  flex: 0.1;
} */
.wrap .taipei-gov {
  flex: 0.8;
}

.wrap .title2 {
  flex: 0.6;
  margin-left: 25px;
}
.wrap .taipei-digit {
  flex: 0.9;
}
.wrap .etrade-hub {
  flex: 0.9;
}
/* .wrap img {
  padding: 0 10px;
} */

.footer-badge.right {
  margin-left: 30px;
}

/*--0905--*/
  .footer{
    padding: 1rem;
  }

.footer-logos{
    display: flex;
    align-items: center;
}

  .footer-logos:first-child{
    margin-right: 2rem;
  }

.footer-logos .title1{
  font-size: 1.37rem;
  border: 0.05rem solid #ffffff;
  border-radius: 10rem;
  text-align: center;
  color: #ffffff;
  padding: 0.3rem 1rem 0.2rem 1rem;
  margin-right: 1rem;
  width: 100%;
  white-space: nowrap;
}

  .footer-logos img{
    padding: 0;
    max-height: 5rem;
    width: auto;
  }

@media (max-width: 768px) {
  .footer .wrap {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
    max-width: 95vw;
  }

  .footer-logos {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
  }

  .footer-logos:first-child {
    margin-right: 0;
    margin-bottom: 0;
  }

  .footer-logos .title1 {
    font-size: 0.9rem;
    padding: 0.2rem 0.8rem;
    margin-right: 0.8rem;
    width: 4.5rem;
    text-align: center;
    flex-shrink: 0;
    box-sizing: border-box;
  }

  .footer-logos img {
    max-height: 2.5rem;
    width: auto;
    /* flex: 1; */
    max-width: none;
    object-fit: contain;
  }
}
@media (max-width: 400px) {
  .footer .wrap {
    /* flex-direction: column; */
    padding: 0;
  }
}

@media (max-width: 320px) {
  .footer .wrap {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
  }
  
  .footer .wrap .title1 {
    flex: 0 0 auto;
    text-align: center;
  }
  
  .footer .wrap img {
    flex: 0 0 auto;
    width: auto;
    max-width: 50%;
  }
}

/* 320px 以下也維持左右排版 */
@media (max-width: 480px) {
  .footer .wrap {
    max-width: 90vw;
  }

  .footer-logos .title1 {
    font-size: 0.8rem;
    padding: 0.15rem 0.6rem;
    margin-right: 0.6rem;
    width: 5rem;
  }

  .footer-logos img {
    max-height: 2rem;
    flex: 0;
    object-fit: contain;
  }
}

@media (max-width: 360px) {
  .footer .wrap {
    max-width: 85vw;
  }

  .footer-logos .title1 {
    font-size: 0.7rem;
    padding: 0.1rem 0.5rem;
    margin-right: 0.5rem;
    width: 5rem;
  }

  .footer-logos img {
    max-height: 1.8rem;
    flex: 0;
    object-fit: contain;
  }
}

@media (max-width: 290px) {
  .footer .wrap {
    padding: 0.5rem;
    max-width: 80vw;
  }

  .footer-logos .title1 {
    font-size: 0.6rem;
    padding: 0.1rem 0.4rem;
    margin-right: 0.4rem;
    width: 3rem;
  }

  .footer-logos img {
    max-height: 1.5rem;
    flex: 1;
    object-fit: contain;
  }
}

/*====================================================
// 03_Footer end
======================================================*/

/*====================================================
// 04_scroll
======================================================*/
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background: var(--dark);
}
::-webkit-scrollbar-thumb {
  cursor: pointer;
  background: var(--primary);
  height: 30vh;
  border-radius: 5px;
}
:root {
  --primary: #085fbd;
  --light: #f6f7f8;
  --dark: #1a2a36;
}

/*====================================================
//  04_scroll end
======================================================*/
