@charset "utf-8";
/*
ksodesign1@naver.com
http://ksodesign.com/

Copyright 2010 KSODESIGN	 
Contributing author : KSJade
----------------------------------------------------------------*/
.kso-contents .container-fluid2>.row {
	margin-left: 0;margin-right: 0;
}
.kso-contents .container-fluid2>.row>.col-lg-12 {
	padding-left: 0;padding-right: 0;
}

#kso-page .page-section {
    margin-bottom: 4rem;
    overflow:hidden;
}
#kso-page .page-title {
    font-size: 42px;
    font-weight: 500;
    text-align: center;
}
#kso-page .page-top-img {
	position: relative;
    width: 100%;
    height: 400px;
}
#kso-page .page-top-img .top-text {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    text-align: center;
    color: #fff;
}
#kso-page .page-section .page-content {
	font-size: 18px;
	line-height: 1.8;
	color: #666;
}

#kso-page .dia {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin: 0 auto;
	width: 240px;height: 240px;
	/*background-color: #fff;*/
	background-repeat: no-repeat;
	background-position: center;
	border: 10px solid rgba(0,0,0,.04);
	border-radius: 50%;
}
#kso-page .line-harf {
	position: relative;
}
#kso-page .line-harf:before {
	content: '';
	position: absolute;
	left: 0;right: 0;top: 50%;
	border-bottom: 2px solid #fdc577;
	z-index: -1;
}

#kso-page .dia-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	text-align: center;
	margin: 0 auto;
	width: 220px;height: 220px;
	background-color: #f60;
	border-radius: 50%;
	z-index: 1;
}
#kso-page .dia-circle:after {
	content: '';
	position: absolute;
	left: -1rem;right: -1rem;
	top: -1rem;bottom: -1rem;
	background-color: rgba(0,0,0,.05);
	border-radius: 50%;
	z-index: -1;
}
#kso-page .dia-circle h4 {
	font-size: 21px;
	color: #fff;	
}
#kso-page .dia-circle.bgcolor1 {background-color: #47d6ec;}
#kso-page .dia-circle.bgcolor2 {background-color: #00c4ff;}
#kso-page .dia-circle.bgcolor3 {background-color: #0099ff;}
#kso-page .dia-circle.bgcolor4 {background-color: #4788ff;}
#kso-page .dia-circle.bgcolor5 {background-color: #4d68f1;}

#kso-page .rect {
	padding: 1rem 0;
	font-size: 17px;
	text-align: center;
	border: 4px solid #ddd;
}

#kso-page figure {
	position: relative;
	overflow: hidden;
}
#kso-page figure:before {
	display: flex;
	align-items: center;
	justify-content: center;
	content: '';
	position: absolute;
	left: 0;right: 0;top: 0;bottom: 0;
	background-color: rgba(0,0,0,.0);
	transition: background .3s ease;
}
#kso-page figure>svg {
	position: absolute;
	left: 50%;top: 50%;
	color: #fff;
	transform: translate(-50%, -50%);
	transition: opacity .3s ease;
	opacity: 0;
}
#kso-page figure:hover:before {
	background-color: rgba(0,0,0,.3);
}
#kso-page figure:hover svg {
	opacity: 1;
}
#kso-page figure>a {
	position: absolute;
	left: 0;right: 0;top: 0;bottom: 0;
	z-index: 2;
}

#kso-page .page-top .caption {
	position: absolute;
	left: 20%;
	top: 50%;
	transform: translateY(-50%);
	width: 60%;
}
#kso-page .page-top .caption .page-title-head {
	font-size: 48px;
	line-height: 1.1;
	color: #fff;
}
#kso-page .page-top .caption .page-title-sub {
	font-size: 30px;
	color: #fff;
}
#kso-page .page-top .caption .page-summary {
	font-size: 18px;
	color: #fff;
}

/* timeline */
.timeline .timeline-item {display: flex;width: 100%;}
.timeline .timeline-item .activity, 
.timeline .timeline-item .month {display: block;float:left;}
.timeline .timeline-item.close .activity, 
.timeline .timeline-item.close .month {color: #ccc;}
.timeline .timeline-item .month {
    width: 15%;
    font-size: 21px;
    font-weight: 500;
    color: #111;
}
.timeline .timeline-item .activity {
    position: relative;
    width: 100%;width: 80%;
    margin-left: 0;padding: 0 0 0 35px;   
    font-size: 16px;line-height: 1.8;
    border-left: 1px solid #ddd;
}
.timeline .timeline-item .activity>span {
    margin-right: 1rem;
    font-weight: bold;
    color: #333;
}
.timeline .timeline-item .marker {           
    display: block;float: right;position: relative; 
    margin-right: -7px;margin-top: -30px;
    border-radius: 50%;z-index: 5;    
}
.timeline .timeline-item .marker .dot {
    display: block;float: right;position: relative;    
    height: 13px;width: 13px;    
    background-color: #5392f0;border: 3px solid #eee;border-radius: 50%; 
    z-index: 5;    
}
.timeline .timeline-item.active .activity, 
.timeline .timeline-item:hover .activity {color: #56a0ed;}
.timeline .timeline-item.active .month, 
.timeline .timeline-item:hover .month {color: #56a0ed;}
.timeline .timeline-item.active .marker .dot, 
.timeline .timeline-item:hover .marker .dot {
    background-color: #56a0ed;box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
}
@media (max-width: 480px) {
    .timeline .timeline-item .month {
        max-width: 80px;width: 80px;
        font-size: 24px;
    }
    .timeline .timeline-item .activity {padding-left:20px}
}
@media (max-width: 380px) {
    .timeline .timeline-item .activity {padding-left:20px}
}

/*------------------------------------------------------------
**
** etc
**
--------------------------------------------------------------*/
.card {border: 0;}
.color-w8 {color: rgba(255,255,255,.8);}
.cont-none:before {display: none;}
.underline {
	padding-bottom: 2px;
	color: #ff6600;
	border-bottom: 1px solid #ff6600;
}

.py-6 {padding-top: 4rem !important;padding-bottom: 4rem !important;}
.py-7 {padding-top: 5rem !important;padding-bottom: 5rem !important;}
.py-8 {padding-top: 6rem !important;padding-bottom: 6rem !important;}

.line-middle{
	position: relative;
}
.line-middle:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 50%;
	width: 100%;
	height: 1px;
	border-bottom: 1px solid #666;	
    z-index: -1;	
}
.line-middle>span {
	padding-right: 1rem;
	color: #1c2f8d;
	background-color: #fff;
}

.line-under {
	position: relative;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
}
.line-under:before {
	content: '';
	position: absolute;
	left: 0;bottom: 0;
	width: 30px;height: 1px;
	border-bottom: 1px solid #333;
}
.line-under.center:before {
	left: 50%;
	margin-left: -15px;
}

.line-top:before {
	content: '';
	position: absolute;
	top: -1rem;
	width: 30px;height: 3px;
	background-color: #f38085;
}
.line-left {
	padding-left: 10px;
	line-height: 1;
	border-left: 3px solid #26C6DA;
}
.line-span-center {
	position: relative;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
.line-span-center:before {
	content: '';
	position: absolute;
	left: 50%;bottom: 0;
	margin-left: -25px;
	width: 50px;height: 1px;
	border-bottom: 1px solid #333;
}
.line-up {
	padding-top: 2rem;
	border-top: 5px solid #987840;
}

.object-fit {
    object-fit: cover;
}
/*------------------------------------------------------------
**
** Media Query
**
--------------------------------------------------------------*/
@media (min-width: 992px) {
	#kso-page .page-section.bg-img {
		height: 100%;width: 100%;
		color: rgba(255,255,255,.8);
	}
	.h-100vh {height: 100vh;}
}
@media (min-width: 1200px) {
	.container {max-width: 1200px;}
	#kso-page .line-harf:before {
		left: -27px;right: -27px;
	}
}	

@media (max-width: 991px) {
	#kso-page .page-section .box-process:before {display: none;}
	#kso-page .page-top .caption {
		left: 10%;
		width: 80%;
	}
	#kso-page .page-top .caption .page-title-head {
		font-size: 28px;
	}
	#kso-page .page-top .caption .page-title-sub {
		font-size: 20px;
	}
	#kso-page .page-top .caption .page-summary {
		font-size: 16px;
	}
}
@media (max-width: 576px) {
	#kso-page .page-title {font-size: 30px;}
	#kso-page .page-title-sub {font-size: 24px;}
	#kso-page .page-summary {line-height: 1.6;}

	#kso-page .page-section .box {text-align: center;font-size: 14px;}

	#kso-page .page-section.bg-section3 h1 {font-size: 30px;}

	#kso-page .page-top-img .top-text {
	    left: 2rem;right: 2rem;
	    top: 2rem;
	}
}