
body {
	font-family: 'Pretendard Variable', Pretendard, -apple-system,
	BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI',
	'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji',
	'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
}


.inner:not(.apply .inner) {
	width: 1200px;
	margin: 0 auto;
}

/******** Header ********/
#header {
	position: fixed;
	background: #fff;
	width: 100%;
	z-index: 120;
	border-bottom: 1px solid #e0e0e0;
	
	nav {
		width: 1200px;
		height: 79px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		
		ul.gnb {
			display: flex;
			gap: 25px;
			
			li {
				text-align: center;
				align-content: center;
				font-size: 20px;
				color: #222;
				
				button {
					border: none;
					background: none;
					font-size: 20px;
					font-weight: 500;
					color: #222;
					cursor: pointer;
				}
				
				a {
					font-weight: 500;
				}
				
				
				ul.sub {
					position: absolute;
					left: 0px;
					top: 60px;
					width: 145px;
					background: #fff;
					border-radius: 5px;
					padding: 20px 15px 0 15px;
					box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.1);
					display: none;
					
					li {
						font-size: 20px;
						letter-spacing: -0.8px;
						padding-bottom: 15px;
						cursor: pointer;
						color: #222;
					}
					
					li a {
						color: #222;
					}
				}
			}
			
			.comm {
				position: relative;
			}
			
			.comm button {
				position: relative;
				display: flex;
				justify-content: space-between;
				align-items: center;
				gap: 10px;
				cursor: pointer;
				border-radius: 5px;
				
				img {
					background: url(/home/images/main/nav_arrow.png);
					width: 15px;
					height: 10px;
				}
			}
			
			
			.comm:hover {
				button {
					background: #f9f9f9;
				}
				
				.sub {
					display: block;
					pointer-events: auto;
				}
			}
		}
	}
	
	nav > ul > li > button, nav > ul > li > a {
		padding: 10px 15px;
	}
	
	nav > ul > li:nth-child(3) > button, nav > ul > li:nth-child(3) > a {
		padding: 10px 5px;
	}
	
	nav > ul.gnb > li:last-child {
		cursor: pointer;
		background: #EB1920;
		border-radius: 5px;
		
		button {
			color: #fff;
			font-weight: 600;
		}
	}
}



/*서브메뉴 공통*/




/*2단메뉴 수료생인터뷰,포트폴리오,갤러리*/
.gnbWrap {
	/*display: none;*/
	position: fixed;
	top: 80px;
	background: #fff;
	width: 100%;
	z-index: 110;
	border-bottom: 1px solid #e0e0e0;
	
	.gnbDepth {
		width: 100%;
		display: flex;
		gap: 30px;
		
		li {
			font-size: 20px;
			cursor: pointer;
			color: #999;
			line-height: 64px;
		}
		
		.selected {
			font-weight: 600;
			color: #222;
			border-bottom: 2px solid #333;
		}
	}
}



/*메인 프로젝트 수강후기 수강생인터뷰*/

.community {
	
	.portfolio {
		line-height: 1.4;
		background: #222222;;
		padding: 120px 0;
		
		.inner {
			position: relative;
		}
		
		.portfolio-title-group {
			text-align: center;
			
			.portfolio-title {
				font-size: 50px;
				font-weight: 700;
				color: #fff;
			}
			
			.portfolio-sub-txt {
				margin-top: 10px;
				font-size: 24px;
				font-weight: 200;
				color: #fff;
			}
		}
		
		.slide-container {
			margin-top: 90px;
			position: relative;
		}
		
		.portfolio-slider {
			.slick-list {
				margin: 0 -30px;
			}
			
			.slick-slide {
				margin: 0 30px;
			}
			
			.portfolio-card {
				padding: 10px;
				
				.portfolio-card-link {
					width: 360px;
					display: block;
					position: relative;
					border-radius: 10px;
					background-color: white;
					color: inherit;
					text-align: left;
				}
				
				.portfolio-card-thumb {
					max-height: 300px;
					border-radius: 10px 10px 0 0;
					overflow: hidden;
					
					img {
						width: 360px;
						height: 300px;
					}
				}
				
				.portfolio-card-content {
					position: relative;
					padding: 24px 30px 30px;
					height: 150px;
					box-sizing: border-box;
					background-color: #fff;
					border-radius: 0 0 10px 10px;
					
					.portfolio-card-info {
						.portfolio-card-course {
							display: block;
							font-size: 20px;
							font-weight: 500;
							color: #3F80EA;
							letter-spacing: -0.01em;
						}
						
						.portfolio-card-title {
							display: block;
							font-size: 20px;
							font-weight: 600;
							margin-top: 4px;
							max-width: 230px;
							overflow: hidden;
							letter-spacing: -0.01em;
						}
					}
					
					.portfolio-card-arrow {
						position: absolute;
						right: 30px;
						bottom: 40px;
						background-color: #5790EC;
						background-image: url("/home/images/icon-plus-w.svg");
						background-repeat: no-repeat;
						background-position: center center;
						background-size: 16px auto;
						display: block;
						
						/* 사이즈 너무큰 느낌 */
						width: 36px;
						height: 36px;
						border-radius: 50%;
						cursor: pointer;
						z-index: 100;
						
						&:hover {
							opacity: 0.8;
						}
					}
				}
			}
		}
		
		.prevArrow {
			position: absolute;
			left: -150px;
			top: 50%;
			transform: translateY(-50%);
			cursor: pointer;
		}
		
		.nextArrow {
			position: absolute;
			right: -150px;
			top: 50%;
			transform: translateY(-50%);
			cursor: pointer;
		}
	}
	
	/*project end */
	
	.review {
		margin: 0 auto;
		background: #fff;
		
		.review-title {
			font-size: 50px;
			font-weight: 700;
			color: #333;
		}
		p {
			color: revert !important;
		}
		.inner {
			display: flex;
			justify-content: space-between;
			align-items: center;
			
			.revCont {
				width: 750px;
				position: relative;
				
				.bg {
					background: #fafafa;
					width: 680px;
					height: 100%;
					position: absolute;
					right: 5%;
				}
				
				.gradient-top, .gradient-bottom {
					position: absolute;
					width: 100%;
					height: 250px;
					z-index: 10;
					transform: scale(0.908, 1);
				}
				
				.gradient-top {
					left: 0;
					top: 0;
					background: linear-gradient(to top, rgba(250, 250, 250, 0.22), #fafafa)
				}
				
				.gradient-bottom {
					left: 0;
					bottom: 0;
					background: linear-gradient(to top, #fafafa, rgba(250, 250, 250, 0.22))
				}
				
				.highlight-box {
					background: #fafafa;
					position: absolute;
					top: 50%;
					transform: translateY(-50%);
					width: 100%;
					height: 165px;
					border: 3px solid #01A3E4;
					border-radius: 10px;
					z-index: 0;
					box-shadow: 0 0 15px 10px rgba(2, 22, 72, 0.15);
				}
				
				.slider--vertical .slick-slide {
					border: 0;
					
					.txt {
						height: 140px; /* 높이로 여백조절 */
						align-content: center;
						text-transform: uppercase;
						color: #bbb;
						line-height: 1.3;
						font-weight: 500;
						
						.scale-box {
							padding: 0 80px;
							transform: scale(0.8, 0.8);
							transform-origin: center center;
							transition: transform 0.3s ease;
							
							.slick-center & {
								transform: scale(1, 1);
								color: #222;
							}
						}
						
						.review-text {
							font-size: 24px;
							line-height: 1.4em;
							height: 2.8em;
							align-content: center;
							text-align: center;
						}
						
						.review-author {
							margin-top: 14px;
							display: flex;
							justify-content: center;
							align-items: center;
							gap: 12px;
							
							.review-tag, .review-name {
								display: block;
								font-weight: 400
							}
							
							.review-tag {
								display: none;
								width: 60px;
								height: 32px;
								font-weight: 300;
								align-content: center;
								border-radius: 99px;
								color: #222;
								font-size: 18px;
								
								.slick-center & {
									display: block;
									background: #01A3E4;
									color: #fff;
								}
							}
							
							.review-name {
								font-size: 20px;
							}
						}
					}
				}
			}
		}
	}
	
	/*review */
	
	.interview {
		background: #021648;;
		padding: 120px 0 120px;
		
		.inner {
			position: relative;
		}
		.interview-title {
			color: #fff;
			font-size: 50px;
			font-weight: 700;
			text-align: center;
			
			span {
				color: #01A3E4;
			}
		}
		
		.slide-container {
			margin-top: 90px;
			position: relative;
		}
		
		.interview-slider {
			.slick-list {
				margin: 0 -20px;
			}
			
			.slick-slide {
				margin: 0 20px;
			}
			
			.interview-card {
				/*padding: 30px;*/
				
				.interview-card-link {
					padding: 30px;
					display: block;
					border-radius: 20px;
					-webkit-backdrop-filter: blur(17.2px);
					backdrop-filter: blur(17.2px);
					border: 1px solid #4b4d53;
					box-shadow: 0 2px 7px 0 #343434;
				}
				
				.interview-card-head {
					i.interview-quote {
						display: block;
						width: 46px;
						height: 30px;
						background: url("/home/images/main/quotation_douzone.png") no-repeat left top / 30px auto;
					}
					
					p {
						color: #fff;
						font-size: 20px;
						line-height: 1.5em;
						height: 6em;
						text-align: left;
						overflow: hidden;
						display: -webkit-box;
						-webkit-line-clamp: 4;
						line-clamp: 4;
						-webkit-box-orient: vertical;
						letter-spacing: -0.02em;
					}
				}
				
				.interview-card-profile {
					margin-top: 150px;
					display: flex;
					align-items: center;
					border-radius: 15px;
					position: relative;
					color: inherit;
					
					.interview-thumb {
						margin-right: 15px;
						
						img {
							width: 70px;
						}
					}
					
					.interview-info {
						text-align: left;
						flex: 1;
						
						strong {
							color: #fff;
							font-weight: 200;
							font-size: 16px;
							opacity: 0.8;
						}
						
						span {
							display: flex;
							justify-content: space-between;
							font-size: 18px;
							color: #fff;
							margin-top: 6px;
							position: relative;
						}
						
						i.interview-arrow {
							display: inline-block;
							position: absolute;
							right: 8px;
							top: -10px;
							width: 20px;
							height: 30px;
							background: url(/home/images/main/int_arrow.png) no-repeat center / 8px auto;
						}
					}
				}
				
				.interview-content {
					position: relative;
					/*padding: 30px;*/
				}
				
				.interview-quick {
					margin-top: 110px;
					display: flex;
					align-items: center;
					border-radius: 15px;
					position: relative;
					color: inherit;
					
					.interview-thumb {
						margin-right: 15px;
					}
					
					.interview-info {
						text-align: left;
						flex: 1;
						
						strong {
							color: #fff;
							font-weight: 200;
							font-size: 14px;
							opacity: 0.8;
						}
						
						span {
							display: flex;
							justify-content: space-between;
							font-size: 18px;
							color: #fff;
							margin-top: 4px;
							position: relative;
						}
						
						i.interview-arrow {
							display: inline-block;
							position: absolute;
							right: 8px;
							top: -5px;
							width: 20px;
							height: 30px;
							background: url(/home/images/main/int_arrow.png) no-repeat center / 8px auto;
						}
					}
				}
			}
			
		}
		
		.prevArrow {
			position: absolute;
			left: -150px;
			top: 50%;
			transform: translateY(-50%);
			cursor: pointer;
		}
		
		.nextArrow {
			position: absolute;
			right: -150px;
			top: 50%;
			transform: translateY(-50%);
			cursor: pointer;
		}
	}
	
	/*interview */
	
	
	/***** employment Start *****/
	.employment {
		line-height: 1.4 !important;
		background: #000;;
		padding: 90px 0;
		
		.inner {
			position: relative;
		}
		
		h3, h5 {
			color: #fff !important;
		}
		
		p {
			text-align: left;
			letter-spacing: -0.02em !important;
		}
		
		.employment-head {
			display: flex;
			align-items: flex-end;
			
			.employment-title {
				font-weight: 700 !important;
				flex: 1;
				text-align: left;
				letter-spacing: -0.02em;
				
				span {
					display: block;
					
					em {
						color: #01A3E4;
					}
				}
			}
			
			.employment-stats {
				/*border: 2px solid red;*/
				text-align: right;
				
				
				.employment-stat {
					font-size: 28px;
					font-weight: 400;
					color: #fff;
					
					&:nth-child(1) {
						/*border: 1px solid red;*/
						text-align: right;
					}
					
					&:nth-child(2) {
						color: #e3e3e3 !important;
					}
					
					.employment-stat-label {
						/*color: #fff;*/
						font-size: 30px;
						/*font-size: 28px;*/
					}
					
					.employment-stat-value {
						/*color: #fff;*/
						font-size: 32px;
						font-weight: 600;
						/*color: #46ACFF;*/
						color: #74E4B9;
					}
				}
			}
		}
		
		.slide-container {
			margin-top: 60px;
			position: relative;
		}
		
		.employment-slider {
			.slick-list {
				margin: 0 -20px;
			}
			
			.slick-slide {
				margin: 0 20px;
			}
			
			.employment-card {
				.employment-card-link {
					display: block;
					position: relative;
					border-radius: 20px;
					background-color: #2B2B2B;
					color: inherit;
					text-align: left;
				}
				
				.employment-card-logo {
					
					width: 100%;
					height: 140px;
					border-radius: 20px 20px 0 0;
					overflow: hidden;
					background-color: #fff;
					align-content: center;
					text-align: center;
					
					&.bg-blue {
						background-color: #007CEF;
					}
					
					img {
						margin: auto;
					}
				}
				
				.employment-card-body {
					position: relative;
					padding: 36px 30px 30px;
					/*height: 182px;*/
					box-sizing: border-box;
					background-color: #2B2B2B;
					border-radius: 0 0 20px 20px;
					
					.employment-card-company {
						.employment-card-company-name {
							font-size: 24px;
							font-weight: 500;
							color: #fff;
						}
					}
					
					.employment-card-meta {
						margin-top: 10px;
						
						.employment-card-meta-row {
							display: flex;
							flex-direction: row;
							align-items: center;
							gap: 12px;
						}
						
						.employment-card-meta-divider {
							width: 2px;
							height: 14px;
							background-color: #616161;
						}
						
						.employment-card-meta-item {
							margin-top: 2px;
						}
						
						.employment-card-term {
							font-size: 24px;
							font-weight: 400;
							color: #fff;
						}
						
						.employment-card-desc {
							font-size: 22px;
							font-weight: 400;
							color: #616161;
						}
					}
				}
			}
		}
		
		.prevArrow {
			position: absolute;
			left: -60px;
			top: 50%;
			transform: translateY(-50%);
			cursor: pointer;
		}
		
		.nextArrow {
			position: absolute;
			right: -60px;
			top: 50%;
			transform: translateY(-50%);
			cursor: pointer;
		}
	}
	
	/***** employment End*****/
	
}

/*메인 프로젝트 수강후기 수강생인터뷰*/





/* 비어있을 때 */
/* 데이터 없음 상태 */
.is-empty {
	width: 100%;
	min-height: 200px;
	margin-top: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	
	background: #fafafa;
	border: 1px solid #e6e6e6;
	border-radius: 8px;
	
	color: #555;
	text-align: center;
	padding: 20px;
}

/* 아이콘 */
.is-empty .empty-icon {
	font-size: 42px;
	margin-bottom: 8px;
	opacity: 0.55;
}

/* 제목 */
.is-empty .empty-title {
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 4px;
}

/* 서브텍스트 */
.is-empty {
	font-size: 13px;
	color: #888;
}


/* 상세보기  리스트 버튼 */
.portfolio-actions {
	padding: 40px 0 100px;
	/*padding: 80px 0 100px;*/
	text-align: center;
	
	.portfolio-actions-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 120px;
		height: 44px;
		padding: 0 20px;
		border-radius: 6px;
		background: #d9d9d9;
		color: #222;
		font-size: 16px;
		font-weight: 600;
		transition: background-color 0.2s ease;
		
		&:hover {
			background: #cfcfcf;
		}
	}
}

/* 리스트 상단 셀렉트 박스 START */
button.filter-select {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 126px;
	height: 46px;
	box-sizing: border-box;
	background-color: #3F80EA;
	border-radius: 10px;
	cursor: pointer;
	
	.filter-select-label {
		color: #fff;
		font-size: 18px;
		font-weight: 500;
	}
	
	.filter-select-icon {
		display: block;
		width: 22px;
		height: 22px;
		margin-left: 12px;
		background-image: url("/home/images/angle-down.svg");
		background-repeat: no-repeat;
		background-position: center;
		background-size: 16px auto;
	}
}

div.filter-select-dropdown {
	position: absolute;
	top: 120%;
	left: 0;
	z-index: 100;
	width: 100%;
	
	ul.filter-select-list {
		display: none;
		background: #fff;
		border-radius: 6px;
		border: 1px solid #CBDFFF;
		z-index: 2;
		margin: 0;
		box-sizing: border-box;
		text-align: left;
		padding: 10px 5px;
		box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, .2);
		
		li {
			border-radius: 6px;
			padding: 8px 10px 6px 10px;
			box-sizing: border-box;
			color: #3F80EA;
			cursor: pointer;
			
			&:hover {
				color: #fff;
				background-color: #3F80EA;
			}
		}
	}
}

div.filter-select-dropdown ul.filter-select-list.active {
	display: block;
}

/* 리스트 상단 셀렉트 박스 END */

/* 리스트 하단 더보기 버튼 */
.list-cta {
	text-align: center;
	margin-top: 60px;
	
	.list-cta-button {
		font-size: 18px;
		font-weight: 500;
		padding: 10px 20px;
		width: 200px;
		height: 60px;
		border: 1px solid #3F80EA;
		color: #3F80EA;
		background-color: white;
		border-radius: 10px;
		outline: none;
		cursor: pointer;
		
		&:hover {
			background-color: #3F80EA;
			color: #fff;
		}
	}
}

/* 하단 컨텍트 로고 모름 */
.contact {
	padding: 30px 0;
	
	.cont_logo {
		text-align: center;
	}
}

/* FOOTER 제발 따로 html 문서에 넣지 마세요 공통 css는 여기다 넣어주세요 제발요 */
footer .inner {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
}

footer {
	position: relative;
	width: 100%;
	background: #222;
	/*padding: 200px 0;*/
}

footer {
	line-height: 1;
}

footer .top_con {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 0;
	/*padding: 40px 0 30px;*/
	border-bottom: 1px solid #ffffff10;
	/*border-bottom: 1px solid rgba(255,255,255,0.3);*/
}

footer .top_con .area1 {
}

footer .top_con .area1 ul {
}

footer .top_con .area1 ul li {
	display: flex;
	align-items: center;
}

footer .top_con .area1 ul li a {
	font-weight: 300;
	font-size: 15px;
	color: rgba(255, 255, 249, 0.6);
}

footer .top_con .area1 ul li a.w {
	color: #fff;
}

footer .top_con .area1 ul li i {
	display: inline-block;
	margin: 0 20px;
	width: 1px;
	height: 14px;
	background: #ffffff10;
}

footer .top_con .area1 ul li p {
	font-weight: 300;
	font-size: 14px;
	color: rgba(255, 255, 249, 0.6);
}

footer .top_con .area1 ul li p span {
	color: #fff;
	font-weight: 400;
	font-size: 16px;
	margin-left: 5px;
}

footer .top_con .area2 {
	display: flex;
}

footer .top_con .area2 .snsList {
	display: flex;
}

footer .top_con .area2 .snsList li {
	min-width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
	margin-right: 10px;
}


footer .top_con .area2 .snsList li a {
	display: block;
	width: 100%;
	height: 100%;
}


footer
.top_con
.area2
.familySite
.selectBox
ul.scrollBox::-webkit-scrollbar-thumb {
	height: 45%;
	border-radius: 20px;
	border: 0.7rem solid transparent;
	background-color: #d0d0d0;
	background-clip: content-box;
}

footer
.top_con
.area2
.familySite
.selectBox
ul.scrollBox::-webkit-scrollbar-track {
	width: 1rem;
	background-color: transparent;
	position: absolute;
	top: -50rem;
	right: -3rem;
}

footer .top_con .area2 .familySite .selectBox ul li {
}

footer .top_con .area2 .familySite .selectBox ul li:nth-child(n + 1) {
	margin-top: 16px;
}

footer .top_con .area2 .familySite .selectBox ul li a {
	color: #444444;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

footer .btm_con {
	padding: 40px 0 70px;
}

footer .btm_con p {
	font-size: 14px;
	color: #fff;
	font-weight: 300;
}

footer .btm_con p span {
	font-weight: 200;
	color: rgba(255, 255, 249, 0.6);
}

footer .btm_con .companyName {
	font-size: 16px;
	font-weight: 500;
	color: #fff;
}

footer .btm_con .info {
	margin-top: 20px;
}

footer .btm_con .info li {
	display: flex;
	flex-wrap: wrap;
}

footer .btm_con .info li:nth-child(2) {
	margin-top: 20px;
}

footer .btm_con .info li p {
	margin-right: 20px;
}

footer .btm_con .info li p span {
	margin-left: 8px;
}

footer .btm_con .copyright {
	margin-top: 20px;
}

footer .btm_con .copyright p {
	font-weight: 200;
	color: rgba(255, 255, 249, 0.6);
}