/* 메인배너 */

#sky {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 512px;
	height: 360px;
	margin-left: -256px;
	margin-top: -180px;
	transform-style: preserve-3d;
}
#sky div {
	transform-style: preserve-3d;
}

.cloudLayer {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 256px;
	height: 256px;
	margin-left: -128px;
	margin-top: -128px;
	transition: opacity .5s ease-out;
}


.entry-content section:not(.full-width) {
	max-width: 1200px;
	margin: auto;
}

section.main-banner {
	padding-top: 100px;
	text-align: center;	
	height: 360px;
	background: #548cb3;
	background: linear-gradient(to bottom, #548cb3 0%, #8dc8e7 100%);
	margin-bottom: -130px;
	overflow: hidden;
	perspective: 400;	
	position: relative;
}
.main-title {
	left:0;
	right:0;
	position: absolute;
	z-index: 1;
	margin: auto;
	text-shadow: 3px 3px 6px rgba(0,0,0,0.2)
}

.main-title span {	
	color: white;
	font-size: 1.8rem;
}

.main-title h2 {	
	color: white;
	margin-bottom: 5px;
	font-size: 2.3rem
}

.main-title:not(.slick-initialized) {
	display: none;
}

.slick-dots li button:before {
	font-size: 28px;
	color: white;
}

section .wp-block-heading a:after {
	font-size: 0.8em;
	content: '\f105';
	font-family: FontAwesome;
	vertical-align: top;
	margin-left: 20px;
}

/* 워크샵 검색 */

section.search-workshop {
	padding-top: 0;
}

.search-workshop form {	
	margin: auto;
	background-color: #f8f7f9;
	box-shadow: 0px 16px 64px rgba(0, 0, 0, 0.12);
}

.search-workshop form button.submit {
	font-size: 26px;
	padding: 23px;
	background: #2F7CF5;
	font-weight: bold;
	border-radius: 12px;
	position: absolute;
	bottom: -36px;
	left: 0;
	right: 0;
	margin: auto;
	width: 40%;
	transition: all 0.2s
}

.search-workshop form button.submit:hover {
	scale: 1.1;
}

.search-workshop .filter .category_target label {
	border: none;
}

.search-workshop .filter .row:last-child {
	padding-bottom: 50px;
}

/* 서브배너 */


section.sub-banner .wrapper {
	width: 100%;
	position: relative;
}


.slider-banner {
	/* 	background-color: #FFE7D1; */
	height: 220px;
	border-radius: 20px;
	display: flex;
	padding-left: 110px;
	padding-right: 110px;
	align-items: center;
	justify-content: space-between;
}

.slider-left {
	width: 40%;
}

.slider-left p {
	font-size: 16px;
	padding-right: 50px;
	margin-bottom: 0;
	opacity: 0.9;
}

.slider-right {
	display: flex;
	justify-content: center;
	width: 40%;
	height: 100%;
	/* 	background: #FF0000; */
	/* 	opacity: 0.3; */
}

.slider-right img {
	object-fit: contain;
	transition: all 0.2s ease-out;
}

.slider-banner:hover img {
	transform: scale(1.1);	
}

.nav-slider {	
	display: grid;		
	grid-template-rows: 1fr 0;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	overflow: hidden;  
}

.nav-slider li {	
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	margin: 0 8px;
	font-size: 16px;
	font-weight: 500;
	padding: 16px 14px;
	border: 1px solid #A2A2A2;
	border-radius: 100px;
	color: #a2a2a2;
}

.nav-slider li.slick-center {
	box-shadow: 0 0 0 1px #2F7CF5 inset; 	
	border: 1px solid #2F7CF5;
	color: #2F7CF5;
}

.indicator {
	color: white;
	display: flex;
	gap: 10px;
	align-items: center;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 50px;
	padding: 5px 20px;
	position: absolute;
	right: 20px;
	bottom: 20px;
}

.inner-button {
	display: flex;
}

.inner-button button, .inner-button button.slick-arrow {
	padding: 0 8px;
	margin-right: -8px;	
	background: none;	
	height: fit-content;
	position: initial;
}

.inner-button button i, .inner-button button:before {
	font-size: 18px;
	color: white;
}

.banner-control {
	width: 30px;
}

/* 워크샵 리뷰 */
.list-review {
	padding: 90px 0;
	width: 100%;
	background-color: #EAF2FE;
}

.list-review .list-header h2 {
	text-align: center;
	font-size: 40px;
	font-weight: 500;
	color: #3f3f3f;
	margin-bottom: 50px;
}

.list-review .list-header b {
	color: #2A70DD;
	font-weight:bold;
} 

ul.reviews {
	display: grid;	
	grid-column-gap: 20px;	
	grid-template-rows: 1fr;
	grid-auto-rows: 0;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}


ul.reviews .review {
	background: #fff;
	padding: 20px;
	height: 365px;
	border-radius: 20px;
}

.review-header {
	display: flex;
	gap: 10px;
	white-space: nowrap;
	overflow: hidden;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #F4F4F4
}

.review-header * {
	text-overflow: ellipsis;
	overflow: hidden;
}

.review-header img {
	width: 100px;
	min-width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 50%;	

}

.review-header h3 {
	font-size: 1.1em;
	margin-bottom: 0;
	text-overflow: ellipsis;
	overflow: hidden;
}

.review-header .ratings {
	display: flex;
	flex-direction: column;
	justify-content: center;	
}

.review-content p{
	margin-bottom: 0;
	display: -webkit-box;
	-webkit-line-clamp: 11;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13px;   
	line-height: 1.3em;

}

.list-review button {
	background: #2f7cf5;
	font-size: 24px;
	font-weight: 700;
	margin-right: auto;
	margin-left: auto;
	display: block;
	margin-top: 50px;
	width: 50%;
	border-radius: 14px;
	padding: 25px;
}


/*로고리스트*/ 

.list-logo {
	padding: 40px 0;
}

.list-logo .logo {
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

ul.logos {
	grid-template-columns: repeat(6, 1fr);
	column-gap: 20px;
}

.list-logo .logo:after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

/*모달-워크샵 사례*/

.modal.article-modal{
	max-width: 1260px;
	height: auto;
	padding: 30px;
	background: #fff;
	position: relative;
}

.article-container{
	display: flex;
	position: relative;	
	max-width: 1200px;
	width: 100%;
	margin: auto;
}

.article-container .content {
	width: 70%;
}


.article-container .description h2 {
	margin-top: 1.7em;
	margin-bottom: 1em;
}

.article-container .description p {
	font-size: 1.1em;
}

.article-container .content .sidebar {
	display: none;
}

.article-container .content img {
	width: 100%;
	border-radius: 24px;
	object-fit: contain;	
	/* 	aspect-ratio: 19/13; */
}

.article-container .thumbnail-container img {
	object-fit: cover;	
}

.article-container .thumbnail-container {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: solid 2px #f4f4f4;
	border-radius: 2px;
}

.article-container .summary {
	margin-top: 25px;
	display: grid;
	grid-template-columns: 1fr 2fr 2fr;
}

.article-container .summary label {
	color: #878787;
	font-size: 18px;
	display: block;
	margin-bottom: 15px;
}

.article-container .summary span {
	color: #515151;
	font-size: 16px;
	padding: 4px 10px;
	line-height: 40px;
	margin-right: 10px;
	border: 1px solid #909090;
	border-radius: 4px;
}

.article-container aside {
	width: 30%;	
	padding-left: 20px;
}

.article-container aside > div{		
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	background: #fff;
	padding: 30px 20px;
	height: fit-content;
	box-shadow: -10px 4px 64px rgba(180, 180, 180, 0.12);
	border-radius: 24px;
}

.article-container .sidebar .header {		
	border-bottom: solid 2px #f4f4f4;
	border-radius: 2px;
}

.article-container .sidebar h3 {
	font-size: 22px;
	margin-bottom: 20px;
}

.article-container .sidebar .header i{		
	float:right;
	font-size: 22px;
	cursor: pointer;
}

.article-container .sidebar label {
	font-weight: 500;
	color: #3F3F3F;
	font-size: 18px;
	display: block;	
}

.article-container .sidebar .header p {
	font-size: 16px;	
}

.article-container .sidebar .products {
	margin-top: 1.75em;
	margin-bottom: 30px;
}

.article-container .sidebar .list {
	margin-top: 10px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.article-container .sidebar .list a {	
	color: #6C6C6C;
	padding: 8px 12px 8px 12px;
	background: #F4F4F4;
	border-radius: 100px;
}

.article-container .sidebar .list span{	
	font-size: 15px;
	font-weight: 500;
}

.article-container .sidebar .list i {
	margin-left: 5px;
}


.article-container aside .buttons {
	display: grid;
	grid-gap: 15px;
	grid-template-columns: 1fr 1fr;
}


.article-container aside button {	
	min-width: 0;
	font-size: 18px;
	font-weight: 700;
	border: 2px solid #2F7CF5;
	color: #2F7CF5;
	background: #fff;	
	border-radius: 14px;
	padding: 20px;
}

.article-container aside button.total {
	display: none;
}

.article-container aside button:first-child {
	grid-column: span 2;
	background: #2F7CF5;
	color: #fff;
}



/*ratings*/

.star-ratings {
	unicode-bidi: bidi-override;
	color: #ccc;
	font-size: 16px;
	position: relative;
	margin: 0;
	padding: 0;
}
.star-ratings .fill-ratings {
	color: #FFC700;
	padding: 0;
	position: absolute;
	z-index: 1;
	display: block;
	top: 0;
	left: 0;
	overflow: hidden;
}
.star-ratings .fill-ratings span {
	display: inline-block;
}
.star-ratings .empty-ratings {
	padding: 0;
	display: block;
	z-index: 0;
}



/*워크샵 추천결과*/


.woocommerce ul.products li.product .ast-woo-product-category, .ast-portfolio-category span{
	margin-bottom: 0;
}

.woocommerce .products ul, .woocommerce ul.products {
	margin-bottom: 0;
}

.woocommerce ul.products li.product {
	margin-bottom: 0;
}

/*테마별 워크샵*/ 
.woocommerce.hidden {
	display: none;
}

.theme-container .button-container{
	display: flex;
	gap: 10px;
}

.theme-container .button-container .toggle {
	padding: 6px 16px;
	border: 1px solid #A2A2A2;
	border-radius: 50px;
	color: #a2a2a2;
	cursor: pointer;
}

.theme-container .button-container .toggle.active, .theme-container .button-container .toggle:hover {
	box-shadow: 0 0 0 1px #2F7CF5 inset;
	border: 1px solid #2F7CF5;
	color: #2F7CF5;
}


@media (max-width: 1199px) {

	.modal.article-modal {
		max-width: 100%;
		width: 90%;
	}
	.article-container .summary label {
		font-size: 16px;
	}
	.article-container .summary span {
		font-size: 14px;
		padding: 2px 5px;
	}

	.article-container aside button {	
		min-width: 0;
		font-size: 15px;		
		padding: 12px;
	}
}

@media (max-width: 767px) {
	section.main-banner {	
		height: 430px;
		margin-bottom: -170px;		
	}

	.search-workshop .filter .row:last-child {
		padding-bottom: 20px;
	}
	.search-workshop form button.submit {
		display: none;
	}		

	.main-title span {	
		color: white;
		font-size: 1.4rem;
	}

	.main-title h2 {	
		color: white;
		font-size: 2rem
	}

	.slider-banner {
		height: 160px;
		padding: 0 0 0 20px;
	}

	.slider-banner h2 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	.slider-banner p {
		padding:0;
		font-size: 13px;
	}

	.slider-left {
		width: 60%;
	}

	.indicator {
		bottom: 10px;		
		padding: 2px 10px;
	}
	.inner-button {
		display: none;
	}

	.has-nav-slider ul.nav-slider {
		display: none;
	}

	h2.wp-block-heading {
		font-size: 20px;
	}

	.wp-block-group > p {
		margin-top: 5px;
		padding-right: 20px;
	}

	section.list-review {
		padding: 50px 20;
	}

	.list-review button {
		font-size: 18px;
		padding: 18px;
		border-radius: 10px;
		bottom: -27px;
		width: 70%;
	}

	ul.reviews {
		padding-right: 0px;
		padding-left: 0px;
	}

	.list-review .list-header h2 br {
		display: none;
	}

	.list-review .list-header h2 {
		font-size: 28px;
	}

	.article-container{
		flex-wrap: wrap;
		padding-top:50px;
		gap: 20px;
	}

	.article-container .content {
		width: 100%;
		padding:0px 20px;
	}

	.article-container .content .sidebar {
		display: block;
	}

	.article-container aside .sidebar {
		display: none;
	}

	.article-container .thumbnail-container {
		padding-bottom: 20px;		
	}

	.article-container .summary {
		margin-top: 0;
		grid-gap: 15px;
		grid-template-columns: 1fr;
	}

	.article-container .summary label {		
		font-size: 16px;	
		margin-bottom: 5px;
	}

	.article-container .summary span {		
		font-size: 14px;	
	}

	.article-container aside {	
		width: 100%;
		bottom: -45px;
		background: #fff;
		padding: 15px 20px 60px 15px;		
	}

	.article-container .sidebar .header {
		padding: 20px 0;
	}

	.article-container .sidebar .after-title {
		display: flex;		
	}
	.article-container .sidebar .after-title > div {
		width: 50%;	
	}

	.article-container .sidebar .products {
		margin: 20px 0;
		padding-bottom: 20px;
		border-bottom: 2px solid #f4f4f4
	}

	.article-container .sidebar h3 {
		font-size: 20px;
		margin-bottom: 20px;
	}

	.article-container .sidebar label {			
		font-size: 16px;		
	}

	.article-container .sidebar p {
		font-size: 14px;
		margin-bottom: 0;
	}

	.article-container aside .buttons {		
		grid-gap: 10px;	
		border-radius: 24px;
	}

	.article-container aside button {			
		font-size: 16px;			
	}

	.article-container aside button.total {
		display: block;
	}

	.article-container aside {
		padding: 0;
	}	

	.article-container aside button.prev, .article-container aside button.next, .article-container aside button.total {
		display: none;
	}
	.article-container aside button:first-child {
		grid-column: span 1;
		background: #2F7CF5;
		color: #fff;
	}

	.modal.article-modal {
		width: 90%;
		padding: 0;		
	}
	
	.button-container {
		overflow-x: scroll;
		white-space: nowrap;
	}

}


.fade-in-box {
	animation: fadein 2s;
	-moz-animation: fadein 2s; /* Firefox */
	-webkit-animation: fadein 2s; /* Safari and Chrome */
	-o-animation: fadein 2s; /* Opera */
}
@keyframes fadein {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@-moz-keyframes fadein { /* Firefox */
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@-webkit-keyframes fadein { /* Safari and Chrome */
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@-o-keyframes fadein { /* Opera */
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}