@charset "utf-8";

body{
    color: #fff;
}
.section{
    background-color: #151e24;
}

/* 배경 */
.main{
    background-image: url(/images/main_bg.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}
.traffic{
    background-image: url(/images/main_traffic.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.lbs{
    background-image: url(/images/main_lbs.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.tpeg{
    background-image: url(/images/main_tpeg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}


/*1. 메인영역*/
.main .text_wrap{
    text-align: center;
    margin-top: -20px;
    
	-webkit-animation: slide-up 0.8s ease-out none;
	        animation: slide-up 0.8s ease-out none;
}
.main .text_wrap h2{
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    width: 90%;
    margin: 0 auto;
}
.main .text_wrap h2 span{
    font-weight: bold;
    color: #488bb7;
}
.main .text_wrap h2+p{
    line-height: 1.75;
    font-size: 14px;
    width: 90%;
    margin: 0 auto;
    margin-top: 40px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 10px;
}
/*애니메이션*/
@-webkit-keyframes slide-up {
  0% {
    -webkit-transform: translateY(200px);
            transform: translateY(200px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-up {
  0% {
    -webkit-transform: translateY(200px);
            transform: translateY(200px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}


/*-fx공통영역-*/
.traffic .text_wrap, .lbs .text_wrap, .tpeg .text_wrap{
    width: 80%;
    margin: 0 auto;
    display: none;
}
.section .text_wrap h3{
    font-size: 36px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}
.section .deco_line{
    width: 45px;
    height: 3px;
    background-color: #488bb7;
    margin: 20px 0;
}
.section .deco_line+p{
    font-size: 20px;
}
.section .btn{
    width: 160px;
    height: 48px;
    line-height: 48px;
    background-color: #488bb7;
    text-align: center;
    margin-top: 60px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
}
.section .btn a{
    display: block;
    width: 100%;
}

/*5. 마무리 영역*/
.end .text_wrap{
    width: 80%;
    margin: 0 auto;
    text-align: center;
    line-height: 2;
    margin-top: -100px;
}
.end .text_wrap span{
    font-weight: 700;
    color: #488bb7;
    text-shadow: 0 0 4px #000;
}


/*원 애니메이션*/
.outline {
    margin-top: -50px;
    margin-left: 50px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  z-index: -5;
}

.waves {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(72, 139, 183, 0.4);
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
.waves:before, .waves:after {
  content: "";
  position: absolute;
  background: #488bb7;
  margin-left: -12px;
  margin-top: -12px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  -webkit-animation: wave 3s infinite linear;
          animation: wave 3s infinite linear;
}
.waves:after {
  opacity: 0;
  -webkit-animation: wave 3s 1.5s infinite linear;
          animation: wave 3s 1.5s infinite linear;
}

@-webkit-keyframes wave {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(3.5);
    opacity: 0;
  }
}

@keyframes wave {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(3.5);
    opacity: 0;
  }
}




@media all and (min-width:400px){
    /*원 애니메이션*/
    .outline {
        margin-top: -48px;
    }
}



@media all and (min-width:481px){
    /*원 애니메이션*/
    .outline {
        margin-top: -34px;
    }
}


@media all and (min-width:574px){
    /*원 애니메이션*/
    .outline {
        margin-top: -52px;
    }
}


@media all and (min-width:768px){
    .main .text_wrap h2{
       font-size: 40px;
        margin-top: 0px;
        padding: 0 20px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .main .text_wrap h2+p{
        font-size: 16px;
        margin-top: 60px;
    }
    
    
    /*-fx공통영역-*/
    .section .text_wrap h3{
        font-size: 60px;
    }
    .section .deco_line{
        width: 80px;
        height: 4px;
        margin: 32px 0;
    }
    .section .deco_line+p{
        font-size: 28px;
    }
    .section .btn{
        width: 180px;
        height: 60px;
        line-height: 60px;
        margin-top: 100px;
    }

    /*5. 마무리 영역*/
    .end .text_wrap{
        font-size: 24px;
        line-height: 2.5;
    }
    /*원 애니메이션*/
    .outline {
        margin-top: -20px;
        margin-left: 78px;
    }

}


@media all and (min-width:861px){
    /*원 애니메이션*/
    .outline {
        margin-top: -50px;
    }
}



@media all and (min-width:1132px){
    .main .text_wrap{
        width: 460px;
        height: 460px;
        border: 5px solid #488bb7;
        border-radius: 460px;
        margin: 0 auto;
        backdrop-filter: blur(10px);
    }
    .main .text_wrap h2{
       font-size: 26px;
        margin-top: 100px;
    }
    .main .text_wrap h2+p{
        width: 80%;
        margin-top: 40px;
        font-size: 14px;
        padding: 0;
    }
    
    /*-fx공통영역-*/
    .traffic .text_wrap, .lbs .text_wrap, .tpeg .text_wrap{
        width: 1132px;
    }
    .section .deco_line{
        margin: 24px 0;
    }
    .section .deco_line+p{
        font-size: 24px;
    }
    .section .btn{
        margin-top: 80px;
    }
  
    /*5. 마무리 영역*/
    .end .text_wrap{
        font-size: 28px;
        line-height: 2;
    }
    /*원 애니메이션*/
    .outline {
        margin-top: -48px;
        margin-left: 92px;
    }    

}


@media all and (min-width:1440px){
    .main .text_wrap{
        width: 500px;
        height: 500px;
        border-radius: 500px;
    }
    .main .text_wrap h2{
        margin-top: 132px;
        padding: 0 40px;
    }
    .main .text_wrap h2+p{
        margin-top: 40px;
    }
}