@charset "utf-8";

#mainContainer{margin-bottom:0;}
/* ******************  메인 비주얼 ********************** */
.ms-preloader {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 9999999;
    top: 0;
    left: 0;
    opacity: 1;
    visibility: visible;
    background-color: #151515;
}
#mainVisual{position:relative;width:100%;height:100vh;margin-top:0px;}	/* 비주얼높이값 이미지에 맞게 수정 */

.mainVisualWrap .slick-track,
.mainVisualWrap .slick-list {
	-webkit-perspective: 2000;
	-webkit-backface-visibility: hidden;
}
.mainVisualWrap, 
.mainVisualWrap .slick-list,  
.mainVisualWrap .slick-track, 
.mainVisualItem{
	height:100%;
}
.mainVisualWrap{z-index:1;}

/* 메인 비주얼 :: 이미지 */
.mainVisualItem{position:relative;}
.mainVisualItem .mainVisualImg-pc,
.mainVisualItem .mainVisualImg-m{
	width:100%;
	height:100%;
	background-size:cover !important;
	-webkit-transition:transform 4000ms ease-in-out ;
	-moz-transition:transform 4000ms ease-in-out ;
	-o-transition:transform 4000ms ease-in-out ;
	-ms-transition:transform 4000ms ease-in-out ;
    transition:transform 4000ms ease-in-out ;	
	-ms-transform: scale(1.0,1.0);
    -o-transform: scale(1.05,1.0);
    -moz-transform: scale(1.0,1.0);
    -webkit-transform: scale(1.0,1.0);
     transform: scale(1.0,1.0);
}
.mainVisualItem .mainVisualImg-pc{display:none;}

/* 메인 비주얼 :: 텍스트 */
.mainVisualItem .mainVisualTxt{
	position:absolute; top:50%; left:0px; width:100%;
	-ms-transform: translateY(-50%); 
    -o-transform: translateY(-50%); 
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%); 
     transform: translateY(-50%);
}
.mainVisualItem .mainVisualTxt .mainVisualTxt-inner{width:100%;padding:0 0;text-align:center;}
.mainVisualItem .mainVisualTxt .mainVisualTxt-logo,
.mainVisualItem .mainVisualTxt .mainVisualTxt-tit,
.mainVisualItem .mainVisualTxt .mainVisualTxt-subtit,
.mainVisualItem .mainVisualTxt .mainVisualTxt-btn{
	opacity:0;filter:Alpha(opacity=0);
	/*-ms-transform: translateX(-30px); 
    -o-transform: translateX(-30px); 
    -moz-transform: translateX(-30px);
    -webkit-transform: translateX(-30px); 
     transform: translateX(-30px);*/
	-webkit-transition:opacity 1.0s 0s, transform 1.0s 0s;
	-moz-transition:opacity 1.0s 0s, transform 1.0s 0s;
	-o-transition:opacity 1.0s 0s, transform 1.0s 0s;
	-ms-transition:opacity 1.0s, transform 1.0s 0s;
	transition:opacity 1.0s 0s, transform 1.0s 0s;
}
.mainVisualItem .mainVisualTxt .mainVisualTxt-tit{display:block; font-size:25px; font-weight:500; line-height:1.3;letter-spacing:-1px; color:#fff; margin-top:30px; margin-bottom:30px; }
.mainVisualItem .mainVisualTxt .mainVisualTxt-subtit{font-size:16px; font-weight:400; line-height:1.5; color:#fff;}
.mainVisualItem .mainVisualTxt .mainVisualTxt-btn{font-size:15px; font-weight:400; line-height:1.5; color:#fff;}

.mainVisualItem .mainVisualTxt .mainVisualTxt-logo-pc{display:none;}

/* 메인 비주얼 :: active효과 */
.mainVisualItem.active-item .mainVisualImg-pc{
	-ms-transform: scale(1.0,1.0);
    -o-transform: scale(1.0,1.0);
    -moz-transform: scale(1.0,1.0);
    -webkit-transform: scale(1.0,1.0);
     transform: scale(1.0,1.0);
}
.mainVisualItem.active-item .mainVisualImg-m{
	-ms-transform: scale(1.0,1.0);
    -o-transform: scale(1.0,1.0);
    -moz-transform: scale(1.0,1.0);
    -webkit-transform: scale(1.0,1.0);
     transform: scale(1.0,1.0);
}
.mainVisualItem.active-item .mainVisualTxt-logo,
.mainVisualItem.active-item .mainVisualTxt-tit,
.mainVisualItem.active-item .mainVisualTxt-subtit,
.mainVisualItem.active-item .mainVisualTxt-btn{
	opacity:1.0;filter:Alpha(opacity=100);
	-ms-transform: translateX(0px); 
    -o-transform: translateX(0px); 
    -moz-transform: translateX(0px);
    -webkit-transform: translateX(0px); 
     transform: translateX(0px);
}

/* 메인비주얼  :: 컨트롤영역 */
.main-visual-controls{position:absolute; bottom:68px; left:100px; width:350px;text-align:center; z-index:11;} 
.main-visual-controls > div{display:inline-block; vertical-align:middle;}
.main-visual-controls .arrow-controls button{vertical-align:middle; display:inline-block;}
.main-visual-controls .arrow-controls .prev-visual-btn{margin-right:25px}
.main-visual-controls .arrow-controls i{font-size:24px; letter-spacing:-0.25px; color:#fff;}
.main-visual-controls .arrow-controls .next-visual-btn i{position:relative; top:-1px;}
.main-visual-controls .paging-controls{text-align:center; margin:0 26px 0 35px; color:#fff; font-weight:700}
.main-visual-controls .paging-controls em{margin:0 7px}
.main-visual-controls .stop-pause-controls{position:relative;}
.main-visual-controls .play-visual-btn{display:none;}
.main-visual-controls .stop-pause-controls i{color:#fff; font-size:24px;} 


/* 메인비주얼 :: paging 영역 */
/*.mainVisualWrap .slick-dots{position:absolute; width:300px; left:calc(50% - 150px); bottom:30px; text-align:center; z-index:11;}*/
.mainVisualWrap .slick-dots{position:absolute; width:300px; left:calc(50% - 150px); bottom:20px; text-align:center; z-index:11;}
.mainVisualWrap .slick-dots li{float:left; width:5%; margin:0 0.5%; cursor:pointer;}
.mainVisualWrap .slick-dots li.active-item{width:75%;}
.mainVisualWrap .slick-dots li a{display:block; width:100%;}
.mainVisualWrap .slick-dots li .loading-bar-paging-tit{display:none;}
/*.mainVisualWrap .slick-dots li .loading-bar-paging-tit{color:#fff;font-size:16px; line-height:1.3; letter-spacing:0px; text-align:center; padding-top:10px;}
.mainVisualWrap .slick-dots li .loading-bar-paging-tit strong{font-size:16px; font-weight:300;}
.mainVisualWrap .slick-dots li .loading-bar-paging-tit span{opacity:0.8;filter:Alpha(opacity=80);}*/
.mainVisualWrap .slick-dots li .loading-bar-line{display:block; position:relative; height:2px; border-radius:1px; width:100%; background-color:#000; background-color:rgba(255,255,255,0.5);}
.mainVisualWrap .slick-dots li .loading-bar-line:after{position:absolute; top:0px; left:0px; height:2px; border-radius:1px; background-color:#fff; width:0; content:""; z-index:1}
.mainVisualWrap .slick-dots li.active-item .loading-bar-line:after{width:100%; -webkit-transition:all 0.2s;-moz-transition:all 0.2s;-o-transition:all 0.2s;-ms-transition:all 0.2s;transition:all 4s }


/* 메인 비주얼 :: 애니메이션 */
.mainVisualTxt .move-up {
  display: block;
  padding-bottom: 0.1em;
  overflow-y: hidden;
}
.mainVisualTxt .move-up p {
  position: relative;
  display: inline-block;
}
.active-item .mainVisualTxt .move-up p {
  animation: text-up 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
  animation-delay:0.3s;
}
.active-item .mainVisualTxt .move-up.mainVisualTxt-tit p {
  animation-delay: 0.6s;
}
.active-item .mainVisualTxt .move-up.mainVisualTxt-subtit p {
  animation-delay: 0.9s;
}
.active-item .mainVisualTxt .move-up.mainVisualTxt-btn p {
  animation-delay: 1.2s;
}
@keyframes text-up {
  from {
    transform: translate3d(0, 150%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

/* ******************  메인 비주얼 반응형********************** */
@media (min-width: 576px) {
	/* 메인 비주얼 :: 텍스트 */
	.mainVisualItem .mainVisualTxt .mainVisualTxt-tit{font-size:25px;}
	.mainVisualItem .mainVisualTxt .mainVisualTxt-subtit{font-size:16px;}
	.mainVisualItem .mainVisualTxt .mainVisualTxt-btn{font-size:15px;}
}
@media (min-width: 768px) {
}
@media (min-width: 992px) {
    #mainVisual{height:648px;margin-top:80px;}
	/* 메인 비주얼 :: 이미지 */
	.mainVisualItem .mainVisualImg-pc{display:block;}
	.mainVisualItem .mainVisualImg-m{display:none;}
    .mainVisualItem .mainVisualTxt .mainVisualTxt-inner{padding:0 30px;text-align:left;}
	/* 메인 비주얼 :: 텍스트 */	
	.mainVisualItem .mainVisualTxt .mainVisualTxt-logo-pc{display:block;}
	.mainVisualItem .mainVisualTxt .mainVisualTxt-logo-m{display:none;}
	.mainVisualItem .mainVisualTxt .mainVisualTxt-tit{font-size:40px;font-weight:600;color:#000;}
	.mainVisualItem .mainVisualTxt .mainVisualTxt-subtit{font-size:20px;color:#000;}
	.mainVisualItem .mainVisualTxt .mainVisualTxt-btn{font-size:18px;color:#000;}
}
@media (min-width: 1025px) {
    #mainVisual{margin-top:90px;}
}



/* ******************  메인컨텐츠 레이아웃 & 텍스트 ********************* */
#mainWork{position:relative;padding:13% 0 5%;}
#mainMidBanner{position:relative;padding:13% 0 13%;background:#2f2a61 url(/imgs/main/Bgmid.jpg) no-repeat 50% 50%;background-size:cover;}
#mainService{position:relative;padding:13% 0 13%;}
#mainContact{position:relative;padding:13% 0 13%;background:#000 url(/imgs/main/Bgbot.jpg) no-repeat 50% 50%;background-size:cover;}
.mainSectionTit{font-size:160%;font-weight:400;padding-bottom:7%;text-align:left;color:#000;}
.maincontentsTit{font-size:145%;font-weight:600;line-height:1.3;margin-top:20px;margin-bottom:10px;color:#000;}
.maincontentsTitBig{font-size:145%;font-weight:600;line-height:1.2;margin-top:20px;margin-bottom:10px;color:#000;}
.mainBannerTxt{font-size:160%;font-weight:600;letter-spacing:-1px;line-height:1.3;color:#fff;margin-bottom:20px;}

/*  min SM  */
@media (min-width: 576px) {
#mainWork{padding:10% 0 5%;}
}
/*  min MD  */
@media (min-width: 768px) {
#mainMidBanner{padding:5% 0 5%;}
.mainSectionTit{font-size:200%;padding-bottom:5%;}
.maincontentsTit{font-size:130%;margin-bottom:10px;}
.maincontentsTitBig{font-size:160%;margin-top:0px;}
.mainBannerTxt{font-size:200%;margin-bottom:30px;}
}
/*  min LG  */
@media (min-width: 992px) {
#mainWork{padding:7% 0 5%;}
#mainService{padding:7% 0 9%;}
#mainContact{padding:7% 0 9%;}
.mainSectionTit{font-size:230%;}
.maincontentsTit{font-size:145%;margin-top:30px;margin-bottom:10px;}
.maincontentsTitBig{font-size:175%;margin-bottom:20px;}
.mainBannerTxt{font-size:210%;}
}



/* ****************** 메인 :: 버튼 ********************* */
.btnStyle01{position:relative; overflow:hidden; display:block; width:200px; height:55px; line-height:55px; border:1px solid #000; text-align:center; background-color:transparent;}
.btnStyle01:hover{color:#42baec;background-color:#000;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;transition:all 0.3s;}

.btnStyle02{position:relative; overflow:hidden; display:block; width:200px; height:46px; line-height:46px; border:1px solid #7666b9; text-align:center; background-color:#241f53;color:#fff;}
.btnStyle02:hover{background-color:#7666b9;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;transition:all 0.3s;}
.btnStyle02 i{display:inline-block;margin-left:20px;}




/* ******************  메인컨텐츠 커러셀 ********************* */
.mainBanner{position:relative;width:100%;height:100%;margin:0 auto;}
.mainBanner .slick-slider,
.mainBanner .slick-list,
.mainBanner .slick-track{height:100%; z-index:2;}
.mainBanner .slick-slide img {display:block;width:100%;}
/* Prev & Next */
.mainBanner .slick-prev{position:absolute; left:-100px; bottom:calc(50% - 40px); width:80px; height:80px; z-index:3; background:rgba(255,255,255,0);}
.mainBanner .slick-next{position:absolute; right:-100px; bottom:calc(50% - 40px); width:80px; height:80px; z-index:3; background:rgba(255,255,255,0);}
.mainBanner .slick-prev i{font-size:70px; font-weight:400; color:#1e8ab1; vertical-align:middle;}
.mainBanner .slick-next i{font-size:70px; font-weight:400; color:#1e8ab1; vertical-align:middle;}
/* Dots */
.mainBanner .slick-dots{display:none !important;}

.bannerTxtImg{width:100%; max-width:686px; height: auto;}

@media all and (max-width: 1360px){
/* Prev & Next */
.mainBanner .slick-prev {display:none !important;}
.mainBanner .slick-next {display:none !important;}
/* Dots */
.mainBanner .slick-dots {display: block !important; position: absolute; bottom:-50px; list-style: none;  text-align: center; padding: 0px; width: 100%; z-index:11; }
.mainBanner .slick-dots li {position: relative; display: inline-block; height: 20px; width: 20px; margin: 0px 5px; padding: 0px; cursor: pointer;}
.mainBanner .slick-dots li button {border: 0; background: transparent; display: block; height: 20px; width: 20px; outline: none; line-height: 0; font-size: 0; color: transparent; padding: 5px; cursor: pointer; outline: none; }
.mainBanner .slick-dots li button:focus {outline: none; }
.mainBanner .slick-dots li button:before {position: absolute; top: 0; left: 0; content: '\2022'; width: 20px; height: 20px; font-family:'Poppins'; font-size:60px; line-height: 20px; text-align: center; color: #0090c5; opacity: 0.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.mainBanner .slick-dots li.slick-active button:before {opacity: 1.0; }

.bannerTxtImg{margin:5% auto 8%;}
}
@media all and (max-width: 768px){
.mainBanner .slick-dots {bottom:-40px;}
}
