*{
    box-sizing: border-box;
}

body{
    margin: 0 auto;
    color: #3f464d;
    font-family: 'Spoqa Han Sans Neo', 'sans-serif'; 
}

a {
    all: unset;
}

a:link{
    text-decoration: none;
    color: #3f454d;
}

a:visited{
    text-decoration: none;
    color: #3f464d;
}

a:active{
    text-decoration: none;
    color: #3f454d;
}

a:hover {
    text-decoration: none;
    color: #3f454d;
}

.inner{
    width: 100%;
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
}


header { 
    width: 100%;
    height: 90px;
    background-color: #ffffff;
    position: fixed; 
    top: 0;
    left: 0;
    z-index: 1000;
    border-bottom: 1px solid #ccc;
}

.head-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.head-container .head-brand{
    font-weight: bold;
    font-size: 1.2rem;
    margin-top: 1.2rem;
}

.head-container .head-brand a:hover{
    color: #2186C4;
    cursor: pointer;
}

.head-container .head-blog {
    margin-top: 15px;
    font-weight: bold;
    font-size: 1.2rem;
}

.head-container .head-blog a:hover{
    color: #2186C4;
    cursor: pointer;
}


section {
    width: 100%;
    background-color: #ffffff;
    position: relative;
}

.main {
   width: 100%;
    height: 300px;
    
}

.text-area{
    color: black;
    height: 200px;
    padding: 0;
    box-sizing: border-box;
    font-size: 80px;
    font-weight: 1000;
    line-height: 1rem;
    margin-left: 25px;
    margin-top: 80px;
}

.text-area p {
  line-height: 0;
  margin-top: 40px;
}

/* ----------------------------------------------
 * Generated by Animista on 2024-12-1 21:0:18
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation tracking-in-contract
 * ----------------------------------------
 */
 .tracking-in-contract {
	-webkit-animation: tracking-in-contract 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
	        animation: tracking-in-contract 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
}

  @keyframes tracking-in-contract {
    0% {
      letter-spacing: 1rem;
      opacity: 0;
    }
    40% {
      opacity: 0.6;
    }
    100% {
      letter-spacing: normal;
      opacity: 1;
    }
  }
  

.main-container{
    width: 100%;
    height: 100%;
 /* background-color:; 디자인을 위한 주석처리 */
    opacity: 0.9;
    z-index: 2;
    margin-top: 60px;
}

.skill-container{
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 1rem 0;
}

.skill {
    width: 100%;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    border-radius: 9px;
    padding: 1rem 1rem;
    margin: 0 1rem;
    box-shadow: 10px 10px 10px -5px rgba(25, 42, 70, 0.2);
    transition: 0.4s;
}

.skill:hover { 
    transform: translate(0,-5px);
}

.skill-icon{
    font-size: 1.5rem;
    margin: 0.3px;
}

.skill-title{
    margin: 0.3px;
    margin: 0 1rem;
    display: flex;
    flex-direction: column;
   
}

.skll-name{
 font-weight: bold;
 color: #545e6f;
 margin-bottom: 0.2rem;
}

.skill-usage{
    font-size: 0.9rem;
    color: #545e6f;

}
/* 상단 로고 색상 */
.java-style{
    width: 38px;
    height: 38px;
}

.sql-style{
    color: rgb(194, 70, 70);
}

.javascript-style{
    color: rgb(235, 235, 110);
}

.react-style{
    color: rgb(121, 187, 237);
}

/* 로드맵 컨테이너 */
.roadmap-container{
  margin-top: 1000px;
    width: 100%;
    margin-top: 2rem;
}

.roadmap-title-container{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.roadmap-title { 
    font-size: 1.3rem;
    font-weight: bold;
    color: #545e6f;
}

/* 슬라이드 */

.slide-prev{
    font-size: 2em;
    cursor: pointer;
    color: rgb(47, 48, 89);
    margin: 0;
}

.slide-next{
    font-size: 2em;
    cursor: pointer;
    color: #cfd8dc;
    margin: 0;
}

.class-list{
    display: flex; /*웹 페이지의 요소들의 정렬을 위해 사용*/
    list-style: none; /* 기존 list의 설정을 초기화하기 위해 사용 but padding값과 margin값은 초기화 안되니 초기화하도록 */
    padding: 1rem 0; /*위아래 좌우 순서*/
    margin: 0 0 0;
    overflow: none;
}

.slide-prev-hover:hover {
  transition: transform 0.5s; 
  transform: translateX(-2px);
}

.slide-next-hover:hover{
  transition: transform 0.5s;
  transform: translateX(2px);
}


.class-card{
    width: 250px;
    box-shadow: 10px 10px 10px -5px rgba(25, 42, 70, 0.2);
    border-radius: 8px;
    margin: 0px 10px 0 0;
    transition: 0.4s;
}

.class-card:hover{
    box-shadow: 10px 10px 10px -5px rgba(25, 42, 70, 0.2);
    transform: translate(0, -5px);
}

.class-image {
   width: 250px;
   height: 150px;
   border-radius: 8px 8px 0 0;

}

.class-container{
    width: 100%;
    padding: 0.5rem 1rem 1rem 1rem;
}

.class-skill{
    display: flex;
    justify-content: space-between;
    align-items: center;

}

.class-type{
    font-size: 0.9rem;
    color: #949393;
}

.class-format{
    font-size: 0.9rem;
    color: #ffffff;
    background-color: #0d47a1;
}

.class-desc{
    width: 100%;
    margin-top: 1rem;
    color: #545e6f;
}

.class-desc:hover{
  color: #2186c4;
}

.class-title{
    font-weight: bold;
    color: inherit;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0.5rem;
}

.class-detail{
    font-size: 0.9rem;
    color: inherit;
    line-height: 1.5rem;
}

li a:hover { 
    cursor: pointer;
}

footer{
    border-top: 1px solid;
    background-color: #f8f9fa;
    padding: 1rem 0;
    margin: 1rem 0;
}

.footer-image {
  line-height: 1.7;
}

#backtotop {
  background-color: rgb(47, 48, 89);
  width: 40px;
  height: 40px;
  text-align: center;

  border-radius: 20px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  transition-property: background-color, opacity, visibility;
  transition-duration: 0.3s, 0.5s, 0.5s;
  opacity: 0;
  visibility: hidden;
  z-index: 999;
}

/* 아이콘 적용 방법
  1. ::after (요소 뒤에 content 추가) 가상 요소에서,
  2. content: "폰트어썸 유니코드" 를 넣고,
  3. font-family: FontAwesome 이라고 넣으면 됨
  */
#backtotop::after {
  content: "\f077";
  font-family: FontAwesome;
  font-size: 1.5rem;
  line-height: 40px;
  color: #fff;
}

#backtotop.show:hover {
  cursor: pointer;
  background-color: #2186c4;
}

#backtotop.show {
  opacity: 1;
  visibility: visible;
  background-color: rgb(47, 48, 49);
}

ul li img:hover{
  cursor: grab;
}

ul li img:active{
  cursor: grabbing;
}



/* aside */


/*미디어 쿼리 */
@media only screen and (min-width: 700px){
    .inner{
        max-width: 1100px;
    } 
}
@media only screen and (max-width:800px){
    .skill-container{
        display: none;
    }
}

.text-flicker-in-glow {
    width: 80px;
    height: 2.7rem;
    line-height: 1rem;
	-webkit-animation: text-flicker-in-glow 3s linear both;
	        animation: text-flicker-in-glow 3s linear both;
}

@keyframes text-flicker-in-glow {
    0% {
      opacity: 0;
    }
    10% {
      opacity: 0;
      text-shadow: none;
    }
    10.1% {
      opacity: 1;
      text-shadow: none;
    }
    10.2% {
      opacity: 0;
      text-shadow: none;
    }
    20% {
      opacity: 0;
      text-shadow: none;
    }
    20.1% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.25);
    }
    20.6% {
      opacity: 0;
      text-shadow: none;
    }
    30% {
      opacity: 0;
      text-shadow: none;
    }
    30.1% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);
    }
    30.5% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);
    }
    30.6% {
      opacity: 0;
      text-shadow: none;
    }
    45% {
      opacity: 0;
      text-shadow: none;
    }
    45.1% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);
    }
    50% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);
    }
    55% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.45), 0 0 60px rgba(255, 255, 255, 0.25);
    }
    55.1% {
      opacity: 0;
      text-shadow: none;
    }
    57% {
      opacity: 0;
      text-shadow: none;
    }
    57.1% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.35);
    }
    60% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.35);
    }
    60.1% {
      opacity: 0;
      text-shadow: none;
    }
    65% {
      opacity: 0;
      text-shadow: none;
    }
    65.1% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.35), 0 0 100px rgba(255, 255, 255, 0.1);
    }
    75% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.35), 0 0 100px rgba(255, 255, 255, 0.1);
    }
    75.1% {
      opacity: 0;
      text-shadow: none;
    }
    77% {
      opacity: 0;
      text-shadow: none;
    }
    77.1% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.4), 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);
    }
    85% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.55), 0 0 60px rgba(255, 255, 255, 0.4), 0 0 110px rgba(255, 255, 255, 0.2), 0 0 100px rgba(255, 255, 255, 0.1);
    }
    85.1% {
      opacity: 0;
      text-shadow: none;
    }
    86% {
      opacity: 0;
      text-shadow: none;
    }
    86.1% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45), 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);
    }
    100% {
      opacity: 1;
      text-shadow: 0 0 30px rgba(255, 255, 255, 0.6), 0 0 60px rgba(255, 255, 255, 0.45), 0 0 110px rgba(255, 255, 255, 0.25), 0 0 100px rgba(255, 255, 255, 0.1);
    }
  }

