/* 별도의 커스텀 reset과 공통 클래스를 지정하는 파일입니다. */

:root {
  --color-primary: #fd7430;
}

@media screen and (max-width: 1480px) {
  html,
  body {
    font-size: 14px;
  }
}

@media screen and (max-width: 760px) {
  html,
  body {
    font-size: 12px;
  }
}

/* 공통 클래스 */
.si_inner {
  width: 100%;
  max-width: 1420px;
  margin: 0 auto;
}

@media screen and (max-width: 1420px) {
  .si_inner {
    padding: 0 20px;
  }
}

/* 헤더 */
#si_header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100%;
  height: 80px;
  color: #fff;
  display: flex;
  align-items: center;
  transition: 0.3s all ease;
}

#si_header .si_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#si_header .si_gnb ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}

#si_header .si_gnb a {
  font-size: 1.25rem;
  color: #fff;
  padding: 24px 34px;
}

#si_header .hamburger {
  width: 24px;
  height: 17px;
  cursor: pointer;
  position: relative;
  z-index: 999;
}

#si_header .hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  margin-bottom: 5px;
  transition: 0.3s all;
}

#si_header .hamburger span:nth-child(2) {
  width: 18px;
}

#si_header .hamburger:hover span:nth-child(1),
#si_header .hamburger:hover span:nth-child(3) {
  width: 18px;
}

#si_header .hamburger:hover span:nth-child(2) {
  width: 100%;
}

.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(4px, 4px);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

#si_header.active {
  background-color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

#si_header.active .si_gnb a {
  color: #121212;
}

#si_header.active .hamburger span {
  background-color: #121212;
}

#si_header .hamburger.active span {
  background: #fff;
}

@media screen and (max-width: 1024px) {
  #si_header .si_gnb a {
    padding: 24px;
  }
}

@media screen and (max-width: 760px) {
  #si_header {
    height: 60px;
  }

  #si_header h1 img {
    width: 80%;
  }

  .si_gnb {
    display: none;
  }
}

/* 사이드 & 모바일 메뉴 */
.side_menu_wrap {
  background: #121212;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: -100vh;
  right: 0;
  transition: top 0.4s ease;
  z-index: 99;
}

.side_menu_wrap.active {
  top: 0;
}

.side_menu_wrap nav {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease 0.2s, transform 0.4s ease 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
}

.side_menu_wrap nav a {
  color: #fff;
  font-size: 2.5rem;
  display: block;
  padding: 12px 0;
  transition: 0.3s all;
}

.side_menu_wrap nav a:hover {
  color: #fd7430;
}

.side_menu_wrap.active nav {
  opacity: 1;
  transform: translateY(0);
}

/* 푸터 */
#si_footer {
  padding: 80px 0;
  background: #121212;
  color: #fff;
  font-size: 1.125rem;
}

#si_footer .top_bar {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

#si_footer .top_bar ul {
  display: flex;
  gap: 60px;
}

#si_footer .top_bar a {
  color: #fff;
}

#si_footer .infomation p {
  display: flex;
  gap: 20px;
}

#si_footer .infomation .copy {
  margin-top: 10px;
  font-size: 1rem;
  color: #999;
}

#si_footer .admin_btn{
  color: #999;
}

@media screen and (max-width: 512px) {
  #si_footer {
    padding: 50px 0;
  }

  #si_footer img {
    width: 40%;
  }

  #si_footer .top_bar {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 0;
  }

  #si_footer .top_bar ul {
    margin: 20px 0;
    gap: 20px;
  }

  #si_footer .infomation p {
    flex-direction: column;
    gap: 10px;
  }
}

/*---관리자버튼---*/
.hd_admin {
  position: fixed;
  bottom: 10px;
  left: 10px;
  z-index: 999;
  font-size: 1rem;
}
.hd_admin a {
  padding: 0 20px;
  display: inline-block;
  line-height: 40px;
  background: #d12323;
  color: #fff;
}
.hd_admin a:hover {
  background: #ff0000;
}

/* 공통 줄바꿈 */
@media screen and (min-width: 760px) {
  br.br_t {
    display: none;
  }
}

@media screen and (min-width: 512px) {
  br.br_m {
    display: none;
  }
}

/* 퀵메뉴 */
.quick_inquiry {
  position: fixed;
  right: 80px;
  bottom: 80px;
  z-index: 999;
}

.quick_inquiry a {
  display: inline-flex;
  gap: 15px;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 12px 24px;
  background: linear-gradient(90deg, #fe7531, #fc8e37);
  border-radius: 50px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1em;
}

.quick_inquiry a small {
  display: block;
  margin-top: 5px;
  font-weight: 400;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1em;
}

@media screen and (max-width: 1024px) {
  .quick_inquiry {
    right: 20px;
    bottom: 20px;
  }
}

@media screen and (max-width: 512px) {
  .quick_inquiry {
    right: 10px;
    bottom: 10px;
  }

  .quick_inquiry a img {
    width: 24px;
    height: 24px;
  }
}

/* 이용약관, 개인정보 처리방침 */
.k_pop_wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 2000;
  display: none;
}

.k_pop_wrap button {
  outline: 0;
  border: none;
  background: #fff;
}

.k_pop_wrap i {
  font-style: normal;
}

.k_pop_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 600px;
  background: #fff;
  box-shadow: 5px 5px 13px rgba(0, 0, 0, 0.3);
  padding: 40px;
  border-radius: 20px;
}
.pop_content {
  position: relative;
}
.pop_content h4 {
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: -0.045em;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
}
.pop_content p {
  max-height: 350px;
  overflow-y: scroll;
  font-size: 14px;
}
.pop_content p i {
  display: block;
}
.pop_content p i b {
  font-weight: 500;
}
.pop_close {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
  z-index: 3;
}
.pop_close span {
  position: absolute;
  top: 14px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #222;
  transition: transform 0.3s;
}
.pop_close span:nth-child(1) {
  transform: rotate(45deg);
}
.pop_close span:nth-child(2) {
  transform: rotate(-45deg);
}
.pop_close:hover span {
  transform: rotate(0);
}
