@import url('https://cdn.jsdelivr.net/gh/moonspam/NanumSquare@1.0/nanumsquare.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100&display=swap');
html {
  height: 100%;
  width: 100%;
  overflow: hidden;
  margin: 0px;
  padding: 0px;

  font-family: 'Noto Sans JP', sans-serif;
}


body {
	margin: 0px;
	padding: 0px;
	overflow: hidden;

  /* flex center */
  display: flex;
  flex-direction: row;
  min-height: 100%;
  justify-content: center;
  align-items: center;

  background-image: url(/img/bg1.png);
  background-size: cover;
}

.preload {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;

  animation: backdrop 2s infinite;

  /* flex center */
  display: flex;
  flex-direction: row;
  min-height: 100%;
  justify-content: center;
  align-items: center;

  backdrop-filter: blur(10px);

  z-index: 9999;
}

.loading {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;

  backdrop-filter: blur(3px);
  background-color: rgba(0, 0, 0, 0.75);

  transition: all 0.2s ease-in-out;

  opacity: 0;
  z-index: 9997;
}

.loading.active {
  opacity: 1;
  z-index: 9999;
}

.afterload {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;

  /* flex center */
  display: none;
  flex-direction: row;
  min-height: 100%;
  justify-content: center;
  align-items: center;

  transition: all 1s ease-in-out;

  backdrop-filter: blur(3px);
  background-color: rgba(0, 0, 0, 0.5);

  z-index: 9997;
}


@keyframes backdrop {
  0% {
    background-color: rgba(0, 0, 0, 0.5);
  }
  50% {
    background-color: rgba(0, 0, 0, 0);
  }
  100% {
    background-color: rgba(0, 0, 0, 0.5);
  }
}

.preload__logo {
  width: 1000px;
  height: 100px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: preload__logo 2s infinite;

  /* flex center */
  display: flex;
  flex-direction: column;
  min-height: 100%;
  justify-content: center;
  align-items: center;

}
.preload__logo p {
  margin: 20px;
  padding: 0px;
  line-height: 0px;
  
  font-size: xx-large;
  color: white;
}

@keyframes preload__logo {
  0% {
    transform: scale(1) translate(0px, 0px) ;
  }
  50% {
    transform: scale(1.05) translate(0px, -5px);
  }
  100% {
    transform: scale(1) translate(0px, 0px) ;
  }
}


.container {
  width: 100%;
  height: 100%;
}

.menubar {
  width: 30%;
  height: 100%;

  /* flex left down */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;

  margin: 0 20px 40px 0 ;



  color: white;
}


.menuitem {
  /* white round line button */
  margin: 5px;
  line-height: 0px;

  width: 180px;

  padding: 20px 0px 20px 0px;

  text-align: center;
  
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  color: white;


  border: 1px solid white;
  border-radius: 20px;
  transition: all 0.5s ease-in-out;
}
.selected{
  /* white round line button */
  background-color: rgba(255, 255, 255, 0.5);
}

.menuitem:hover {
  /* white round line button */
  background-color: rgba(255, 255, 255, 0.2);
}




.home {
  width: 100%;
  height: 100%;

  /* flex right down */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;

  padding: 20px;
  margin-bottom: 50px;

  transition: all .5s ease;

  color: white;
}

/* home 중간 */
.home div {
  margin: 0px;
  font-size: 20px;
}

.home h1 {
  margin: 0px;
  padding: 0px;
  line-height: 70px;

  font-size: 90px;
  font-weight: 900;
}


.about {
  width: 100%;
  height: 100%;

  line-height: 5px;

  /* flex right down */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;

  padding: 20px;
  margin-bottom: 50px;

  /* zoom in transition */
  transition: all 0.5s ease-in-out;


  color: white;
}


.about div{
  margin: 0px;
  font-size: 20px;
}

.profile-1 {
  font-size: 24px;
  
  line-height: normal;
}

.profile-2 {
  line-height: normal;
  margin-top: 0;
  font-size: 15px;
}

.works::-webkit-scrollbar {
  display: none;
}
.works {
  width: 100%;
  height: 100%;

  /* flex right down */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;

  padding: 20px;
  margin-top: 50px;

  color: white;

  overflow: scroll;

  -ms-overflow-style: none; /* 인터넷 익스플로러 */
  scrollbar-width: none; /* 파이어폭스 */
  /* zoom in transition */
  transition: all 0.5s ease-in-out;
}



.pswp-gallery-item {
  display:inline;
}

.works {
  margin-top: 50px;
  margin-bottom: 50px;
}
.works div {
  line-height: normal;
  margin-top: 10px;  

}

.works div a {
  
  text-decoration: none;
}

.works h1 {
  margin-bottom: 0;
}

.works h2 {
  line-height: 10px;
  margin-top: 0;
}
.works div div a img {
  object-fit:cover;
  margin: 5px;
  width: 200px;
  height: 200px;

  border-radius: 10px;
}

.contact {
  width: 100%;
  height: 100%;

  /* flex right down */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;

  padding: 20px;
  margin-bottom: 50px;

  color: white;
  
  margin-bottom: 130px;
}

.contact div {
  line-height: 5px;
}
.contact div a {
  
  text-decoration: none;
  margin: 5px;
  color:gainsboro;
}

@media screen and (max-width: 768px) {
  .home h1 {
    font-size: 50px;
    line-height: 50px;
  }
  .menuitem {
    width: 80px;
    font-size: 13px;
    
    padding: 15px 0px 15px 0px;
  }

  .about div{
    margin: 0px;
    font-size: 15px;
  }

  .profile-1 {
    font-size: 13px;
  }
  .profile-2 {
    font-size: 12px;
    
    word-wrap: break-word;
  }
  .works div div a img {
    width: 150px;
    height: 150px;
  }
  .works h1 {
    font-size: 30px;
  }
  .works h2 {
    display:none;
  }

  .contact div {
    line-height: 5px;


  }
  .contact div a {
    font-size: 15px;
  }

  .contact h1 {
    font-size: 30px;
  }
  .contact h2 {
    font-size: 15px;
  }
  .contact h3 {
    font-size: 15px;
  }

  .lang-select .btn {
    width: 30px;
    height: 30px;

    border-radius: 30px;

    font-size: 10px;
  }

}

.unselectable {
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;

  /*
    Introduced in IE 10.
    See http://ie.microsoft.com/testdrive/HTML5/msUserSelect/
  */
  -ms-user-select: none;
  user-select: none;
}

/* 하얀 동그라미 언어 선택 버튼 화면 오른쪽 위 고정 */
.lang {
  position: fixed;
  top: 20px;
  right: 20px;

  width: 50px;
  height: 50px;

  border-radius: 50px;
  z-index: 9998;

  background-color: rgba(255, 255, 255, 0.5);

  display: flex;
  justify-content: center;
  align-items: center;

  color:white;

  font-size: 15px;

  transition: all 0.5s ease-in-out;

}

.lang:hover {
  background-color: rgba(255, 255, 255, 00.8);
}

/* 언어 선택 창 */
.lang-select {
  position: fixed;
  
  height: 100%;
  width: 100%;

  z-index: 0;
  opacity: 0;

  background-color: rgba(10, 10, 10, 0.5);
  backdrop-filter: blur(10px);

  display: flex;
  justify-content: center;
  align-items: center;


  transition: all 0.2s ease-in-out;  
}

.lang-select.active {
  opacity: 1;
  z-index: 9999;
}

.lang-select .btn {

  width: 100px;
  height: 100px;
  border-radius: 100px;

  background-color: rgba(255, 255, 255, 0.5);

  display: flex;
  justify-content: center;
  align-items: center;

  color:white;

  font-size: 30px;

  margin: 50px;
  
  
  text-decoration: none;

  transition: all 0.2s ease-in-out;
}

.lang-select .btn:hover {
  background-color: rgba(255, 255, 255, 00.8);
}

/* 화면 크기가 768px 이상일 때 */
/* column으로 정렬 *//*
@media screen and (min-width: 1400px) and (min-height: 700px) {
  .afterload {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .menubar {
    width: 100%;
    height: 100px;


    display: flex;
    justify-content: flex-end;
    align-items: center;

    margin-top : 50px;

    /*padding: 0px 50px 0px 50px;*//*
  }

  .menuitem {
    padding: 15px 0px 15px 0px;
  }


  .home {
    width: 100%;
    height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;


    padding: 0px 50px 0px 50px;
  }

  .about img {
    margin-top: 25px;
  }

  .about {
    width: 100%;
    height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;

    padding: 0px 50px 0px 50px;
  }

  .about div {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    padding: 0px 50px 0px 50px;
  }
  .profile-1 {
    margin: 0;
  }

  #subtitle {
    margin: 10px;
    font-weight: lighter;
    font-size: 15px;
  }

  .works {
    width: 80%;

    border-radius: 30px;

    background-color: rgba(255, 255, 255, 0.1);
  }

  .works div div a img {
    width: 180px;
    height: 180px;
  }

  .contact {
    width: 100%;
    height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;

    margin-top: 180px;

    padding: 0px 50px 0px 50px;
  }

  
}*/