@charset "utf-8";

/* font-family: 'Knewave', 'Roboto', cursive, sans-serif; */
@import url("https://fonts.googleapis.com/css2?family=Knewave&family=Roboto:wght@400;500;700&display=swap");

/* Pretendard Variable */
@import url("./pretendardvariable-dynamic-subset.css");

/* 변수선언 */
@import url(./variable.css);

/* pc버젼: 각 영역 공통 css */

body {
  font-family: var(--font-family-title);
}

/****************** header ******************/
header {
  display: flex;

  position: fixed;
  top: 0;
  z-index: 9999999;

  mix-blend-mode: difference;
}

header.blend-none {
  mix-blend-mode: normal;
}

header .h-nav {
  width: 26.55vw;
  height: 80px;
  background-color: #000;
  border-radius: 0 0 20px 0;
}

header .h-nav .nav-title {
  width: 26.55vw;
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: space-between;

  position: absolute;
  top: 0;
  z-index: 999999;
}

header .h-nav .nav-title h1 {
  width: 250px;
  height: 80px;
  text-indent: -9999px;
}

header .h-nav .nav-title h1 a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/logo_white.png) no-repeat 2vw 50% / 180px;
}

/* 움직이는 햄버거메뉴 */

header .h-nav .nav-title .flex_wrap {
  cursor: pointer;
  margin-right: 1vw;
}

header .h-nav .nav-title #toggle_btn {
  justify-content: center;
  width: 50px;
  height: 50px;

  display: grid;
  place-content: center;
}

header .h-nav .nav-title #toggle_btn span {
  display: block;
  width: 42px;
  height: 2px;
  background-color: #fff;
  margin: 6px 0;

  transition: 0.3s;
}

header .h-nav .nav-title #toggle_btn.closeMenu .bar1 {
  transform: translateY(8px) rotate(45deg);
}

header .h-nav .nav-title #toggle_btn.closeMenu .bar2 {
  transform: scale(0);
}

header .h-nav .nav-title #toggle_btn.closeMenu .bar3 {
  transform: translateY(-8px) rotate(-45deg);
}

/* 움직임이 있는 메뉴 */

/********* menu 클릭전까지 숨김 *********/
header .h-nav .nav {
  width: 26.55vw;
  height: 500px;
  background-color: #000;
  border-radius: 0 0 20px 0;
  color: #fff;

  position: absolute;
  top: 0;
  z-index: 9999;
  padding-top: 120px;

  font-size: var(--font-size-25);
  font-weight: 400;

  text-indent: 22px;

  display: none;
}

header .h-nav .nav .global-gnb {
  width: 100%;
}

header .h-nav .nav .global-gnb li {
  width: 100%;
}

header .h-nav .nav .global-gnb li a {
  display: block;
  width: 100%;
  height: 60px;
  line-height: 60px;
  transition: 0.3s;
}

header .h-nav .nav .global-gnb li:hover a {
  transform: translateX(20px);
}

header .h-nav .nav .h-sns {
  display: flex;
  gap: 10px;
  position: absolute;
  bottom: 30px;
  text-indent: -99999px;
  padding-left: 22px;
}

header .h-nav .nav .h-sns li {
  width: 50px;
  height: 50px;
}

header .h-nav .nav .h-sns li a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: aliceblue;
  opacity: 1;
}

header .h-nav .nav .h-sns li:first-child a {
  background: url(../images/icon-github.png) no-repeat 50% / 35px;
}

header .h-nav .nav .h-sns li:last-child a {
  background: url(../images/icon-kakaotalk.png) no-repeat 50% / 30px;
}

header .h-nav .nav .h-sns li:hover a {
  opacity: 0.6;
}

/********* sub-nav *********/

header .sub-nav {
  width: 73.45vw;
  height: 80px;
  font-size: var(--font-size-25);
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;

  position: relative;
  color: #000;
}

header .sub-nav p {
  text-indent: 22px;
}

header .sub-nav .sub-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: 50px;
  cursor: pointer;
}

header .sub-nav .sub-btn img {
  width: 33px;
  height: 37px;
}

/********* 컨텍 클릭전까지 숨김 *********/
header .sub-nav .sub-popup {
  display: none;
  position: absolute;
  top: 80px;
  right: 50px;

  width: 358px;
  background-color: #fff;

  border: #00000027 1px solid;
}

header .sub-nav .sub-popup li {
  width: 100%;
  height: 110px;
  border-bottom: #000 1px solid;
  padding-top: 7px;
}

header .sub-nav .sub-popup h3 {
  font-size: var(--font-size-25);
  font-weight: 700;
  text-indent: 21px;
}

header .sub-nav .sub-popup p {
  font-size: var(--font-size-20);
  font-weight: 400;
  margin-top: 5px;
}

header .sub-nav .sub-popup p:last-child {
  font-family: var(--font-family-p);
  font-size: var(--font-size-12);
  font-weight: 400;
}

header .sub-nav .sub-popup li:nth-child(3) {
  background: url(../images/Haker.jihee.png) no-repeat 50% / 95%;
  text-indent: -99999999px;
}

header .sub-nav .sub-popup li:last-child {
  width: 100%;
  height: 27px;
  background-color: #000;
  padding-top: 0;
}

header .sub-nav .sub-popup li:last-child a {
  display: block;
  width: 15%;
  height: 27px;
  line-height: 27px;
  background-color: #000;
  color: #fff;
  font-family: var(--font-family-p);
  font-size: var(--font-size-18);
  font-weight: 400;
  position: absolute;
  right: 0;
}

/********* header 미디어쿼리 ********/

@media screen and (max-width: 999px) {
  header {
    display: flex;

    position: fixed;
    top: 0;
    z-index: 9999999;

    mix-blend-mode: difference;
  }

  header .h-nav {
    width: 100%;
    height: 100px;
    border-radius: 0;

    position: fixed;
    bottom: 0;
  }

  header .h-nav .nav-title {
    width: 100%;
    height: 100%;

    align-items: start;
  }

  header .h-nav .nav-title h1 {
    width: 50vw;
    height: 100px;
    text-indent: -9999px;
  }

  header .h-nav .nav-title h1 a {
    background: url(../images/logo_white.png) no-repeat 3vw 2vw / 150px;
  }

  /* 움직이는 햄버거메뉴 */
  header .h-nav .nav-title #toggle_btn span {
    height: 1px;
  }

  /* 클릭전까지 숨겨진 메뉴 */
  header .h-nav .nav {
    width: 100%;
    height: 500px;
    border-radius: 0;
    color: #fff;

    position: absolute;
    bottom: 0;
    z-index: 9999;
  }

  header .h-nav .nav .global-gnb {
    width: 100%;
  }

  /********* sub-nav *********/

  header .sub-nav {
    width: 100vw;
    height: 80px;
    font-size: var(--font-size-18);
    font-weight: 400;
    border-bottom: #00000031 1px solid;

    display: flex;
    justify-content: space-between;
    align-items: end;
    padding-bottom: 10px;
  }

  header .sub-nav p {
    text-indent: 22px;
  }

  header .sub-nav .sub-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: 5vw;
    cursor: pointer;
  }

  header .sub-nav .sub-btn img {
    width: 20px;
    height: 24px;
  }
}

/********* footer *********/
footer {
  width: 100%;
}

footer .together {
  width: 95%;
  height: 12.76vw;
  padding: 3vw;
  background-color: #fff;
  border-top: #000 solid 1px;
  border-bottom: #000 solid 1px;
  margin: 0 auto;

  display: flex;
  align-items: center;
  gap: 1vw;

  transition: 0.3s;
}

footer .together p {
  font-size: var(--font-size-80);
  font-weight: 500;
  color: #000;
}

footer .together p:first-child {
  padding-right: 4vw;
  background: url(../images/arrow_bk.png) no-repeat 100% 50% / 8%;
}

footer .together:hover {
  background-color: #000;
}

footer .together:hover p {
  transform: translateX(3vw);
  color: #fff;
}

footer .together:hover p:first-child {
  background: url(../images/arrow_wt.png) no-repeat 100% 50% / 8%;
}

footer .together .noneBox {
  display: none;
}

footer:hover .noneBox {
  display: block;
  animation: type 3s steps(29);
  overflow: hidden;
  white-space: nowrap;
  border-right: 4px solid #fff;
}

@keyframes type {
  0% {
    width: 0;
  }
  100% {
    width: 20%;
  }
}

footer .f-info {
  width: 95%;
  height: 5vw;
  margin: 0 auto 1vw;

  font-size: var(--font-size-20);

  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer .f-info .all-git {
  width: 95%;

  display: flex;
  align-items: center;
}

footer .f-info .all-git img {
  width: 7vw;
  transform: translateX(-0.4vw);
  margin-right: 0.5vw;
}

footer .f-info .all-git li a {
  display: block;
  width: 120%;
  padding-top: 0.7vw;
  background: url(../images/go_arrow_bk.png) no-repeat 100% 50% / 12%;
}

footer .f-info .all-git li:last-child a {
  display: block;
  width: 120%;
  margin-left: 1.5vw;
  background: url(../images/go_arrow_bk.png) no-repeat 73% 50% / 6%;
}

footer .f-info .f-logo {
  text-indent: -999999px;
  width: 7vw;
  background: url(../images/Haker.jihee.png) no-repeat 50% / 100%;
}

/********* footer 미디어쿼리 ********/

@media screen and (max-width: 1400px) {
  footer .together {
    overflow: hidden;
  }

  footer .together:hover p {
    transform: translateX(2vw);
    color: #fff;
  }

  footer .together p:first-child {
    padding-right: 6vw;
    background: url(../images/arrow_bk.png) no-repeat 100% 50% / 7%;
  }

  footer .together:hover p:first-child {
    background: url(../images/arrow_wt.png) no-repeat 100% 50% / 7%;
  }
}

/********* 버튼 *********/

.up-btn a {
  display: block;
  width: 60px;
  height: 60px;
  text-indent: -999999px;

  border: 1px solid #000;
  border-radius: 50%;

  position: fixed;
  bottom: 5vw;
  right: 22px;
  background: rgba(255, 255, 255, 0.7) url(../images/arrow-up-bk.png) no-repeat
    50% / 30%;
  z-index: 999999;
}

.up-btn a:hover {
  background: #000 url(../images/arrow-up-wt.png) no-repeat 50% / 30%;
}
