@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;500;700;900&display=swap');

*
{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Noto Sans TC', sans-serif;
  text-decoration: none;
}
body
{
  background-color: #001a25;
}
.head
{
  width: 100vw;
  height: 50px;
  background-color: rgb(247, 8, 8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
.head img
{
  height: 50%;
  text-align: center;
  align-items: center;
  position: absolute;
  margin-top: 15px;
  margin-left: 15px;
}
.head img:nth-of-type(2)
{
  height: 45%;
  left: 25%;
  top: 3%;
}
#navtoggle
{
  position: fixed;
  top: 10px;
  right: 20px;
  width: 30px;
  height: 30px;
  border: 3px solid rgb(248, 104, 104);
  z-index: 1000;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
#navtoggle::before
{
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  background-color: rgb(248, 104, 104);
  transform: translateY(-4px);
  transition: .2s;
}
#navtoggle::after
{
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  background-color: rgb(248, 104, 104);
  transform: translateY(4px);
  transition: .2s;
}
#navtoggle.active::before
{
  transform: translateY(0px) rotate(45deg);
}
#navtoggle.active::after
{
  transform: translateY(0px) rotate(-45deg);
}
#navsidebar
{
  position: fixed;
  top: 0;
  left: -250px;
  width: 250px;
  height: 100vh;
  background-color: rgba(71, 80, 70, 0.534);
  transition: .5s;
  z-index: 1000;
}
#navsidebar.active{
  left: 0px;
}
#navsidebar ul
{
  position: relative;
  margin-top: 50px;
  width: 100%;
}
#navsidebar ul li
{
  list-style: none;
  display: inline-block;
  width: 100%;
  padding: 10px 40px;
}
#navsidebar ul li:hover
{
  background: rgb(240, 136, 17);
}
#navsidebar ul li a
{
  color: #fff;
  font-size: 3vmax;
  letter-spacing: 4px;
  text-decoration: none;
}
.page{
  width: 100%;
  max-height: 160vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0;
  overflow: hidden;
}
/* home */
.home{
  background-image: url(../pic/p00-4.jpg);
  background-size: cover;
  background-position: 25% bottom;
  height: 90vh;
  margin-top: 49px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  vertical-align: middle;
  background-size: cover;
}
.home .logo{
  width: 100%;
  height: 100vh;
  align-items: center;
  text-align: center;
  margin: auto;
  transform: translateY(20%);
}
.logo img{
  width: 30%;
  
}
.logo img:first-of-type{
  width: 32%;
}
.logo h3{
  font-size: 4vmin;
  margin-top: 1vh;
  font-family: 'Noto Serif TC', serif;
  color: #fff;
  text-shadow: 
  rgba(29, 44, 43, 0.699) 3px 3px 3px,
  rgba(29, 44, 43, 0.699) 3px 3px 3px,
  rgba(29, 44, 43, 0.699) 3px 3px 3px;
}
/* p01 */
.store{
  width: 100%;
  height: 90vh;
  background-image: url(/pic/p01bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.store .htitle{
  position: absolute;
  top: 10%;
  left: 20%;
  text-align: center;
}
.store .htitle h2{
  color: #fff;
  font-size: 3.5vmax;
}
.htitle h2:nth-of-type(1){
  border-bottom: solid 3px rgb(158, 152, 152);
  padding-bottom: 8px;
}
.title{
  padding-left: 1%;
  position: absolute;
  top: 5%;
  z-index: 1;
  align-items: center;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
}
.title .lline{
  height: 2px;
  width: 100vw;
  background-color: rgb(202, 148, 40);
  align-items: center;
  margin: auto;
}
.title .rline{
  height: 2px;
  width: 100vw;
  background-color: rgb(202, 148, 40);
}
.title h2{
  width: 20rem;
  font-family: 'Noto Serif TC', serif;
  font-size: 5vmin;
  font-weight: 700;
  margin-left: 1%;
  color: rgb(119, 118, 116);
}
.subtext{
  position: absolute;
  width: 100%;
  bottom: 10%;
  background-color: rgba(48, 41, 48, 0.5);
  padding: 5%;

}
.subtext h2{
  color: #fff;
  font-size: 2vmax;
}
/* hot case */
.hotcase
{
  background-image: url(../pic/bg-03.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
  height: 90vh;
}
.hotcase .hotbox{
  height: 100%;
  width: 100vw;
  background-image: url(/pic/p02.bg.jpg);
  background-position-x: 50%;
  background-size: cover;
  position: relative;
}
.hotcase .title{
  justify-content: start;
  margin-left: 10%;
}
.hotcase .title h2{
  color: rgb(253, 253, 253);
  background-color: rgb(255, 0, 0);
  padding: 2%;
  width: 25vw;
  text-align: center;
  align-items: center;
}
.text a{
  text-decoration: none;
}
.hotbox .text{
  width: 100%;
  padding: 5%;
  position: absolute;
  bottom: 0;
}
.text h3{
  font-weight: 500;
  font-size: 5vmax;
  color: #fff;
}
.text p{
  color: #f0e4e4;
  background-color: rgb(250, 51, 51);
  width: 4.5rem;
}
.text h5{
  width: 100%;
  font-weight: 700;
  font-size: 2.5vmax;
  color: #ffde59;
  font-family: 'Noto Serif TC', serif;
  padding-top: 5px;
}

/* Performance */
.lotpc.pc{
  display: none;
}
.Performance{
  background-image: url(../pic/p04bg.png);
  background-size: cover;
  background-position: center center;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 80vh;
  width: 100%;
  margin-bottom: 1%;
}
.Performance .carousel
{
  width: 90%;
  height: 80vh;
  margin-top: 23%;
}
.Performance .carousel-item
{
  width: 100%;
  height: 65vh;
  background-size: cover;
  background-position: center center;
  position: relative;
}
.Performance .carousel-inner a h1{
  width: 100%;
  height: 100%;
}
.Performance .carousel-inner .i01{
  background-image: url(/pic/p02.bg.jpg);
}
.Performance .carousel-inner .i02{
  background-image: url(/pic/689488.jpg);
}
.Performance .carousel-inner .i03{
  background-image: url(/pic/689487.jpg);
}
.Performance .carousel-item .text
{
  position: absolute;
  bottom: 1%;
  text-align: center;
  left: 0;
  right: 0;
}
.carousel-item h3
{
  font-size: 1.2rem;
  margin-bottom: 5%;
}
/* team */
.team
{
  background-image: url(../pic/teambg.jpg);
  background-size: 100vh;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 130vh;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.team .title{
  top: 2%;
}
.team .teamcard
{
 width: 100vw;
 height: 100%;
 margin-top: 15%;
}
.team .card
{
  position: relative;
  overflow: hidden;
  cursor: pointer;
} 
.team .card img
{
  filter: grayscale(25%);
  filter: saturate(15%);
}
.team .card-body
{
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  bottom: 0;
  background-color: rgba(88, 38, 5, 0.644);
  bottom: -42%;
  height: 55%;
  padding: 1% 5%;
  transition: .5s;
}
.card-title
{
  font-size: 2.2vmax;
  color: rgb(241, 241, 241);
  border-bottom: 2px solid rgb(238, 42, 42);
  padding-bottom: 6px;
  text-align: center;
}
.card-body p{
  font-size: 1vmax;
  color: #fff;
}
.team .card:hover .card-body
{
  bottom: 0;
}

   /* 預約賞屋 */
.app_info{
  background-image: url(../pic/appbg01.jpg);
  background-size: cover;
  background-position: 83% center;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 3%;
  margin-top: 1%;
}
.app_info .app_data{
    width: 100%;
    height: 70vh;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: auto;
    opacity: .7;
}
.app_data h3{
    font-size: 3vh;
    margin-bottom: 1%;
    padding: 1%;
    border-bottom: 2px solid #eee;
}
.app_data #note
{
  height: 8rem;
}
.app_info .app_data input{
    width: 80%;
    height: 5vh;
    font-size: 2.5vh;
    line-height: 1em;
    margin-top: 10px;
}
::placeholder
{
  font-weight: 300;
  padding-left: 3%;
}
.select-city h4{
    font-size: 2vh;
    margin-top: auto;
    margin-bottom: 0;
    margin-right: 3%;
}
.app_data p{
    font-size: 2vh;
    margin: 2%;
}
.select-city{
    height: 5vh;
    width: 90%;
    display: flex;
    justify-content: center;
    margin-top: 5%;
}
.btn-group{
    width: 40%;
    margin-top: 5%;
    display: flex;
}
.btn-group input{
    margin: 0 3% 0 3%;
    font-size: 3vw;
}
.map-google
{
  margin-top: 5%;
  width: 97%;
  height: 30vh;
  margin: 3% auto;
  opacity: .8;
}