
/*포트폴리오 리스트*/

#in-main {
	width: 750px;
	margin: 0 auto;
	overflow-x: hidden;
}

.section-inner {
	padding: 0 40px;
}

main.portfolio-list-page {
	background: linear-gradient(#fff, #DEECFF);
	line-height: 1.4;
	padding-top: 183px;
}
section.portfolio-list {
	padding: 90px 0;
	.portfolio-list-header {
		text-align: left;
		.portfolio-list-title {
			font-size: 42px;
			font-weight: 700;
			letter-spacing: -0.02em;
			color: #222;
		}
	}
	
	.portfolio-list-content {
		margin-top: 40px;
		.portfolio-card-grid {
			font-size: 0;
			margin: 0 -10px;
		}
		.portfolio-card {
			width: 50%;
			padding: 10px;
			display: inline-block;
			vertical-align: top;
			&:nth-child(n+3) {
				margin-top: 10px;
			}
		}
		.portfolio-card-link {
			display: block;
			position: relative;
			border-radius: 10px;
			box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.08);
			background-color: white;
		}
		.portfolio-card-thumb {
			position: relative;
			border-radius: 10px 10px 0 0;
			overflow: hidden;
			&::after {
				content: "";
				position: absolute;
				left: 0;
				right: 0;
				top: 0;
				bottom: 0;
				background-color: rgba(0, 0, 0, 0.12);
				z-index: 10;
			}
			img {
				width: 100%;
				/*height: 335px;*/
				border-radius: 10px 10px 0 0;
				
			}
		}
		.portfolio-card-content {
			position: relative;
			padding: 24px 24px 28px;
			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: 22px;
					font-weight: 600;
					color: #3F80EA;
					letter-spacing: -0.01em;
				}
				.portfolio-card-title {
					margin-top: 6px;
					p {
						display: -webkit-box;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 2;
						overflow: hidden;
						text-overflow: ellipsis;
						
						letter-spacing: -0.02em;
						font-size: 22px;
						line-height: 1.4;
						font-weight: 500;
						color: #494949;
					}
				}
			}
		}
	}
}


/*포트폴리오 상세페이지*/

main.portfolio-detail-page {
	padding-top: 174px;
}
section.portfolio-hero {
	height: 220px;
	background-color: #DDEAFF;
	position: relative;
	.section-inner {
		position: relative;
		height: 100%;
	}
	.portfolio-hero-bg {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-image: url("/m/home/images/portfolio-hero.jpg");
		background-size: auto 100%;
		background-repeat: no-repeat;
		background-position: center;
	}
	.portfolio-hero-title {
		height: 100%;
		padding: 64px 22px;
		box-sizing: border-box;
		h2 {
			font-size: 30px;
			font-weight: 700;
			line-height: 1.5;
			letter-spacing: -0.02em;
			color: #222;
		}
	}
	
}
section.portfolio-summary {
	padding: 60px 0 60px;
	.portfolio-summary-top {
		display: flex;
		gap: 48px;
		.portfolio-summary-thumb {
            border-radius: 20px;
            overflow: hidden;
			.project-team-name {
				font-size: 26px;
				font-weight: 700;
				margin-top: 10px;
				text-align: center;
			}
			width: 270px;
			/*height: 250px;*/
			flex-shrink: 0;
			img {width: 100%;}
		}
		.portfolio-summary-title {
			padding: 30px 0;
			.project-name {
				font-size: 24px;
				font-weight: 600;
				color: #3F80EA;
				line-height: 1.4;
			}
			.project-team-name {
				font-size: 24px;
				font-weight: 400;
				color: #333;
				margin-top: 28px;
			}
		}
	}
	.portfolio-summary-content {
		margin-top: 48px;
		.project-info {
			display: flex;
			flex-direction: column;
			& > div + div {
				border-top: 1px solid #b3b3b3;
			}
			& > div {
				display: flex;
				align-items: flex-start;
				padding: 20px 0 20px;
				gap: 12px;
				&.project-info-column {flex-direction: column;}
				&.project-info-row {flex-direction: row;}
				&.project-info-row-split {justify-content: space-between;}
				&.first-info {padding-top: 0;}
				&.last-info {padding-bottom: 0;}
				
				.project-info-row-item {
					display: flex;
					gap: 16px;
				}
			}
			.project-info-term {
				font-size: 20px;
				font-weight: 600;
				padding: 4px 10px;
				border-radius: 8px;
				color: #222;
				flex-shrink: 0;
				white-space: nowrap;
				background-color: #DDEAFF;
				&.hidden-text {
					position: absolute;
					width: 1px;
					height: 1px;
					padding: 0;
					margin: -1px;
					overflow: hidden;
					clip: rect(0, 0, 0, 0);
					white-space: nowrap;
					border: 0;
				}
			}
			.project-info-desc {
				flex: 1;
				width: 100%;
				font-size: 24px;
				font-weight: 300;
				line-height: 1.4;
				color: #333;
				&.project-info-desc-team {
					.member {margin-right: 4px; line-height: 1.6;}
				}
				&.project-info-desc-skills {
					.skill {margin-right: 4px; line-height: 1.6;}
				}
			}
		}
	}
	.portfolio-summary-row {display: flex; flex-direction: row}
}
section.portfolio-showcase {
	.portfolio-slider-container {
		position: relative;
	}
	.portfolio-slide-btn {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 48px;
		height: 48px;
		background: #F1F1F1;
		border-radius: 50%;
		/*z-index: 1;*/
		cursor: pointer;
		&.slide-btn-prev {left: 10px;}
		&.slide-btn-next {right: 10px;}
		
		i.icon-angle {
			display: block;
			width: 100%;
			height: 100%;
			background: url("/m/home/images/next-arrow.svg") no-repeat center center;
			.slide-btn-prev & {
				transform: rotate(-180deg);
			}
		}
	}

    .portfolio-slider-progressbar {
		margin-top: 30px;
		flex: 1;
		height: 6px;
		background-color: #cacaca;
		border-radius: 20px;
		overflow: hidden;
		.portfolio-slider-progressbar-fill {
			display: block;
			width: 0;
			height: 100%;
			background-color: #3F80EA;
			border-radius: 20px;
			transition: all 0.2s;
		}
	}

	.portfolio-slider {
		.portfolio-item {
			border-radius: 20px;
			height: 377px;
			/*background: gray;*/
			align-content: center;
			text-align: center;
			h2 {
				font-size: 32px;
				font-weight: 700;
			}
		}
		.slick-dots {
			display: flex;
			justify-content: center;
			gap: 8px;
			padding: 10px 0;
			li {
				font-size: 0;
				button {
					width: 12px;
					height: 12px;
					border-radius: 50%;
					background: gray;
				}
			}
		}
	}
}
section.portfolio-media {
	padding: 60px 0;
	
	.portfolio-media-container {}
	.portfolio-media-frame {
		.portfolio-media-iframe {
			width: 100%;
			height: 377px;
			border-radius: 20px;
		}
	}
}

.list-cta {
    margin:60px 0;
	padding: 0 40px;
	a {
		display: block;
		width: 100%;
		height: 88px;
		background: #222;
		text-align: center;
		align-content: center;
		color: #fff;
		font-size: 40px;
		font-weight: 600;
		border-radius: 20px;
	}
}
