@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style-type: none;
	font-family: 'Sarabun', sans-serif;
}



body {
    font-family: Arial, sans-serif;
    list-style-type: none;
	font-family: 'Sarabun', sans-serif;
	position: relative;
	width: 100%;
	/* height: 120vh; */
	font-size: .95em;
	margin: 0;
	overflow: hidden;
	display: grid;
	grid-template-columns: repeat(10, 2fr);
	grid-template-rows: 80px auto 90px 90px;
	grid-template-areas:
	  ". n n n n n n n n n n d"
	  "m c c c c c c c c c c a"
	  "s c c c c c c c c c c a"
	  "s . . . . . . . . . . b"; 
	  scroll-behavior:auto;
}

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

/* Menu */

.fixed-menu {
    position: fixed;
    bottom: 40px;
    right: 20px;
    z-index: 1000;
}

.menu-button {
    padding: 10px 20px;
    font-size: 20px;
    cursor: pointer;
    background-color: transparent;
    border: none;
    font-weight: normal;
}

.menu-button:hover {
    font-weight: bolder;
}

.menu-box {
    position: fixed;
    bottom: 70px;
    right: -300px; 
    background-color: transparent;
    /* box-shadow: -2px 0 5px rgba(0, 0, 0, 0.3); */
    transition: right 0.3s ease;
    padding: 20px;
    box-sizing: border-box;
    z-index: 999;
}

.menu-box.open {
    right: 0; /* Slide in */
}

.menu-box h2 {
    margin-top: 0;
}

.menu-box ul {
    list-style: none;
    padding: 5px 30px;
    font-size: 16px;
}

.menu-box ul li {
    margin: 10px 0;
}

.menu-box ul li a {
    color: #111;
    font-weight: normal;
}

.menu-box ul li a:hover {
    border-bottom: 1px solid #111;
    transition: all 0.3s ease-in-out;
}

.close-button {
    padding: 10px 0px;
    cursor: pointer;
    background-color: transparent;
    border: none;
}

.close-button i {
    font-size: 24px;
}

/* BtStudio Logo */

.btstudio {
	position: fixed;
	bottom: 0px;
	left: 10px;
  }
  
  .btstudio h4 {
	font-size: 18px;
	font-weight: normal;
  }
  
  .btstudio img {
	width: 8%;
  }

.scroll {
    position: fixed;
    bottom: 500px;
    left: 30px;
  }
  
  .scroll .rotate p {
    font-size: 24px;
    font-weight: bold;
  }


/* Main */
  .centerItem{
	display: flex !important;            /*center text in grid item*/
	align-items: center !important;      /*center text in grid item*/
	justify-content: center !important;  /*center text in grid item*/ 
  }

  .topBar{
	grid-area: n;
	display: flex;
	align-items: center;
	padding-right: 10px;
	animation: 5s ease-out 0s 1 fadeIn !important;
  }

  span{
	box-sizing: border-box;
	position: relative;
	margin-right: 3px;
  }

  span:after{
	display: block;
	position: absolute;
	width: 100%;
	content: "";
	border-bottom: 1px solid black;
	padding: 0 0 .4em 2em;  /*top right bottom left*/
	left: -2em;
	animation: 0.1s ease-out 0s slideInFromLeft;
  }

  strong{
	font-weight: 600;
  }

  .leftNavBar{
	grid-area: m;
	align-self: start;
  }

  .leftNavBar ul{
	list-style-type: none;
	margin: 0;
	padding: 0;
	transform: rotate(180deg);
  }

  .leftNavBar ul li{
	writing-mode: vertical-rl;
	padding-top: 3vh;
	transform: translateX(25%);
  }

  .leftNavBar ul li a {
	color: black;
  }

  li a.active{
	display: block;
	padding-left: .5em;
	border-left: 1px solid black;
	animation: 3s ease-out 0s 1 slideInFromBottomActive;
  }

  .container{
	grid-area: c;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	grid-auto-rows: 200px;
	grid-gap: 20px;
	grid-auto-flow: dense;
	overflow: auto;
	padding-right: 30px;  
	height: 80vh;
  }
  /*scrollbar stuff*/
  .container {
	  -ms-overflow-style: none;  
	  overflow: -moz-scrollbars-none;  
  }

  .container::-webkit-scrollbar { 
	  display: none;  // Safari and Chrome
  }

  .container>div{
	z-index: 1;
	position: relative;
	padding: 0;
	overflow: hidden;
	box-shadow: 5px 5px 10px rgba(0,0,0,.2), 
				5px 5px 25px rgba(0,0,0,.1);
	transition: all .3s ease-in-out;
  }

  .container div img{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	overflow: hidden;
	transition: all .6s ease-in-out;
  }

  .container>div, .container div img{
	 transition: all .6s ease-in-out; 
  }

  /*make bIG*/
  .container>div:hover, .container>div:hover img{
	transform: scale(1.05);
  }

  .container>div:hover img{
    /* transform: scale(1.06); */
  }


  .vertical{
	grid-row: span 2;
  }

  .horizontal{
	grid-column: span 2;
  }

  .big{
	grid-row: span 2;
	grid-column: span 2;
  }

  .scroll-icon-wrapper{
	position: relative;
	grid-column: 6;
  }

  /* Animation Stuff */
  *:not(a){
	animation: 3s ease-out 0s 1 fadeIn;
  }
  @keyframes slideInFromLeft{
	0%{
	  transform: translateX(-130%);
	}
	100%{
	  transform: translateX(0);
	}
  }
  @keyframes slideInFromRight{
	0%{
	  transform: translateX(300%);
	}
	100%{
	  transform: translateX(0);
	}
  }
  @keyframes slideInFromBottomActive{
	0%{
	  padding-bottom: 300px;
	}
	100%{
	}
  }
  @keyframes slideInFromTop{
	0%{
	  opacity: 0;
	  margin-bottom: -100%;;
	}
	100%{
	  opacity: 1;
	}
  }
  @keyframes fadeIn{
	0% {
	  opacity: 0;
	}
	100% {
	  opacity: 1;
	}
  }
  

  @media (max-width: 900px) {
	.btstudio {
		position: fixed;
		bottom: 0px;
		left: 10px;
		padding: 0;
		margin: 0;
	  }
	  .btstudio img {
		width: 8%;
		padding: 0;
		margin: 0;
	  }

	  .fixed-menu {
		position: fixed;
		bottom: 0px;
		right: 0px;
		z-index: 1000;
		font-size: 12px;
	}

  .menu-box  {
    bottom: 3px;
    box-shadow: 5px 10px 8px rgb(0, 0, 0);
    background-color: aliceblue;
  }

  }