html {
	scroll-behavior: smooth;
}

body {
	background: #fff;
}

.mobile-only {
	display: none;
}

.product-wrapper{
	display: flex;
}

.woocommerce .entry-product {
	width: 70%;
}

.woocommerce .entry-summary{
	width: 30%;
}

.woocommerce .entry-product > div, .woocommerce .entry-product > nav {
	width: 100% !important;
}

.woocommerce .entry-product section {
	padding-top: 100px;	
}

.woocommerce .entry-product section:not(:fist-child) {
	padding-bottom: 80px;	
	border-bottom: 1px solid #d0d0d0;
}

.woocommerce .entry-product section:last-child {
	border-bottom: none;
}

.section-title label {
	color: #D0D0D0;	
	font-size: 16px;
	line-height: 23px;
}

.section-title h2{
	color: #050505;
	font-size: 30px;
	line-height: 43px;

}

mark {
	padding: 0 5px;
	border-radius: 4px;
	transition: all 150ms ease-in;
}

.offline mark {
	background-color: #FFA1A14D;
	color: #D3493D;

}
.online mark {
	background-color: #7EBDFF4D;
	color: #017BFD;	
}

.woocommerce div.product div.images img {
	height: 480px;
	object-fit: cover;
}

.entry-summary div.woocommerce-product-gallery{
	display: none;
}

/* nav-header */
nav.nav-header {
	z-index:9;
	background-color: white;
	display: flex;
	justify-content: space-between;
	position: sticky;
	/* 	top: 70px; */
	top: 0px;
	border-bottom: 1px solid #eeeeee;
}

.admin-bar nav.nav-header {
	/* 	top: 102px; */
	top: 32px;
}

.nav-container ul  {

	margin: 0;
	display: flex;
	gap: 35px;
	justify-content: space-between;
	list-style-type: none;
}

.nav-container ul li a {
	display:block;
	font-size: 17px;
	line-height: 25px;
	padding-top: 14px;
	padding-bottom: 14px;
	font-weight: 500;
	color: #D0D0D0;
}
.nav-container ul li.active, .nav-container ul li:hover {
	margin-bottom: -3px;
	border-bottom: 3px solid #050505;
}
.nav-container ul li.active a, .nav-container ul li a:hover {
	color: #050505;
	font-weight: 700;
}

.transition_button{
	display: flex;
	align-items: center;
	gap: 5px;
}

.transition_button button {
	background-color: transparent;
	border:1px solid #c2c2c2;
	border-radius: 20px;
	color: #C2C2C2;
	font-size: 17px;
	line-height: 25px;
	padding: 6px 21px;
	transition: all 150ms ease-in;
}

button.offline.active, button.offline:hover {
	border:1px solid #D3493D;
	background-color: #D3493D;
	color: white;
}

button.online.active, button.online:hover{	
	border:1px solid #017BFD;
	background-color: #017BFD;
	color: white;
}


.tooltip {
	position: relative;
	display: block;
}

.tooltip.tooltiptext {
	width: 130px;
	background-color: #131313BF;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	padding: 8px 12px;
	font-size: 12px;
	line-height: 16px;
	font-weight: 300;
	/* Position the tooltip */
	position: absolute;
	z-index: 1;
	top: 100%;
	margin-top: 9px;
	cursor: pointer;
}

.tooltip.tooltiptext::after {
	content: " ";
	position: absolute;
	bottom: 100%;  /* At the top of the tooltip */
	left: 10%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: transparent transparent #131313bf transparent;
}

.workshop-process ul {
	display: flex;
	margin: 0;
	justify-content: space-between;
	align-items: center;
}

.workshop-process li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 250px;
	height: 250px;
	list-style-type: none;
	border-radius: 10px;
	background-color: #f8f8f8;
	padding: 35px;
}

.workshop-process i {
	font-size: 30px;
}

.workshop-process label {
	margin-top: 30px;
	color: #404040;
	font-weight: 700;
	margin-bottom: 8px;
	font-size: 17px ;
	font-family: poppins;

}

.workshop-process p {
	font-size: 16px;
	line-height: 23px;
	margin-bottom: 0;
}

.workshop-process span {
	font-size: 13px;
	line-height: 18px;
}

/*상세정보*/
.program-intro img.main {
	width: 100%;
	height: 480px;
	border-radius: 10px;
	object-fit: cover;
	margin-bottom: 50px;
}

.program-intro iframe {
	border-radius: 10px;
}

.program-intro img.icon {
	display: block;
	margin: auto;
	margin-top: 50px;
	margin-bottom: 20px;
	height: auto;
	object-fit: cover;
}

.program-description {
	text-align: center;
	display: flex;
	flex-direction: column;
	margin: auto;
	width: 85%;
	gap: 20px;
}

.program-description h3 {
	font-size: 24px;
	line-height: 35px;
}

.program-description p {
	font-size: 17px;
	line-height: 25px;
	margin-bottom: 0;
}

.image-slider {
	margin-top: 120px;
	margin-bottom: 100px;
}

.swiper-button-next, .swiper-button-prev {
	background-size: 0;
	color: #fff !important;
}

.swiper {
	width: 100%;
	height: 100%;
	height: 300px;
	margin-bottom: 10px;
	margin-left: auto;
	margin-right: auto;
}

.swiper.option-slider {
	height: 240px;
}

.swiper:not(.swiper-initialized) .swiper-wrapper  {
	overflow: initial !important;
}

.swiper-slide {
	text-align: center;
	font-size: 18px;
	/* Center slide text vertically */
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

.swiper-slide img {
	display: block;	
	width: 100%;
	height: 100%;
	border-radius: 10px;
	object-fit: cover;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: pointer;
}

.main-slider {
	height: 480px;
	width: 100%;
}

.thumbnail-slider {
	height: 20%;
	box-sizing: border-box;
	padding: 10px 0;
}

.thumbnail-slider .swiper-slide {
	width: 20%;
	height: 90px;
	opacity: 0.4;
	border-radius: 5px;
}

.thumbnail-slider .swiper-slide-thumb-active {
	opacity: 1;
}

.centered .swiper-wrapper {
	justify-content: center;
}

.program-summary h3 {
	text-align: center;
	font-family: poppins;
	font-size: 24px;
	line-height: 35px;
	margin-bottom: 40px;
}

.workshop-point .content-wrapper {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 100px;
	font-size: 17px;
	font-weight: 500;
	line-height: 28px;
}

.workshop-point .content-wrapper p {
	display: flex;
	margin-bottom: 0;
	font-size: 17px;
	line-height: 28px;
	padding-top: 26px;
	padding-bottom: 26px;
	padding-right: 60px;
	background-color: #F8F8F8;
	border-radius: 10px
}

.workshop-point .content-wrapper p:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	content: "\f058";
	margin-right: 12px;
	margin-left: 30px;
	font-size: 20px;
	transition: all 150ms ease-in;

}

.offline .workshop-point p:before {
	color: #D3493D;
}

.online .workshop-point p:before {
	color: #017BFD;
}


.keyword .content-wrapper {
	display: flex;
	padding-left: 20px;
	/* 	padding-right: 30px; */

}

.keyword-item {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width: 25%;
	font-weight: bold;
	font-size: 20px;
	line-height: 25px;
	text-align: center;
	flex: auto;
	word-break: break-word;
	border-radius: 50%;
	margin-left: -20px;

}

.offline .keyword-item {
	background-color: #FFA2A24D;
	border: 1px solid #D3493D4d;
	color: #D3493D;
	transition: all 150ms ease-in;
}

.online .keyword-item {
	background-color: #7EBDFF4D;
	border: 1px solid #017BFD4d;
	color: #017BFD;
	transition: all 150ms ease-in;
}

.keyword-item::before {
	content: '';
	float: left;
	padding-top: 100%;

}


/**/

.program-duration {
	font-size: 14px;
	line-height: 20px;
	padding: 6px 14px;
	border-radius: 5px;
	font-weight: 500;
	transition: all 150ms ease-in;
}

.offline .program-duration {
	background-color: #FFF3F2;
	color: #D3493D;
}

.online .program-duration {
	background-color: #E3F1FF;
	color: #017BFD;
}

.curriculum ul.time-table {
	margin: 0;
	margin-top: 80px;
	margin-right: 60px;
}

.curriculum ul.time-table li {
	display: flex;
}

.curriculum li:not(:last-child) .duration-container {
	background-image: linear-gradient(#D9D9D9, #D9D9D9);
	background-size: 1px 100%;
	background-repeat: no-repeat;
	background-position: center center;
}

.duration-wrapper i {
	margin-right: 5px;
}

.duration-wrapper {
	width: 100px;
	color: white;
	text-align: center;
	padding-top: 4px;
	padding-bottom: 4px;
	line-height: 23px;
	border-radius: 3px;
	font-size: 16px;
	font-weight: 500;
	transition: all 150ms ease-in;
}

.offline .duration-wrapper {
	background-color: #D3493D;
}

.online .duration-wrapper{
	background-color: #017BFD;
}

.description-wrapper {
	margin-left: 30px;
	margin-bottom: 40px;
}

.description-wrapper h3 {
	font-size: 20px;
	line-height: 29px;
	margin-bottom: 14px;
}

.description-wrapper p {
	font-size: 17px;
	line-height: 30px;
	margin-bottom: 0;
}

.description-wrapper p.description:before {
	content: "- ";	
}

.description-wrapper .paraphrase{		
	margin-top:14px;
	font-weight: bold;
	transition: all 150ms ease-in;
}

.offline .paraphrase{
	color: #D3493D;
}

.online .paraphrase{
	color: #017BFD;
}

.curriculum .vendor-profile {
	position: relative;
}

.curriculum .vendor-profile ul {
	margin-bottom: 0;
	margin-left: 5em;
}

.curriculum .profile-wrapper {
	display: flex;
	align-items: center;
	padding: 40px 80px;
}

.curriculum .profile-wrapper:not(:first-child) {	
	display: none;
}
.curriculum .profile-wrapper.slick-slide {		
	display: flex;
	align-items: center;
}

.curriculum .vendor-image {
	width: 150px;
	/* 	height: 150px; */
	object-fit: cover;
	border-radius: 12px;
}

.curriculum .slick-track {
	display: flex;
	align-items: center;
}

.curriculum .slick-prev {
	padding: 0;
	background: #EEEFF1;
	opacity: 0.5;
	position: absolute;
	height: 48px;
	width: 48px;
	border-radius: 50%;
	left: 0px;
	top: 0;
	bottom: 0;
	margin: auto 0
}

.curriculum .slick-next {
	padding: 0;
	background: #EEEFF1;
	opacity: 0.5;
	position: absolute;
	height: 48px;
	width: 48px;
	border-radius: 50%;
	right: 0;   
	top: 0;
	bottom: 0;
	margin: auto 0	
}

.slick-arrow:hover  {
	opacity:1;
}

.curriculum .slick-prev:before {
	content: "\f104";
	color: #222525;
	font-size: 1.3em;  
	display: block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;    
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.curriculum .slick-next:before {
	content: "\f105";  
	color: #222525;
	font-size: 1.3em;  
	display: block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;    
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/*안내사항*/
.notice-title {
	margin-top: 60px;
	font-size: 20px;
	line-height: 29px;
}

.notice-title h3 {
	display:inline-block;
	margin-left: 5px;
	font-size: 20px;
	line-height: 29px;
	font-weight: 500;
	transition: all 150ms ease-in;
}

.offline .notice-title h3, .offline .notice-title i {
	color: #D3493D;
}

.online .notice-title h3, .online .notice-title i{
	color: #017BFD;
}

.double-column {
	columns: 2;
}	

.notice-wrapper {
	padding: 36px 60px;
	min-height: 115px;
	display: flex;
	gap: 40px;
	border: 1px solid #D9D9D9;
	border-radius: 10px;
	margin-top: 20px;
	background-color: #F8F8F8;
	align-items: center;
}

.notice-wrapper > :nth-child(2) {
	width: 100%;
}

.notice-container h4 {
	font-weight: 600;
	font-size: 18px;
	line-height: 26px;
	text-align: center;
	width: 100px;	
	margin-bottom: 0;
}

.notice-container ul {
	width: 100%;
	margin: 0;
}

.notice-container li {
	flex: 1;
	font-weight: 500;
	font-size: 17px;
	display: flex;
	list-style-type: none;
	line-height: 30px;
}

.notice-container li:before {	
	font-weight: 600;
	font-size: 17px;
	margin-right: 8px;
}

.offline li:before {
	color: #D3493D;
}

.online li:before {
	color: #017BFD;
}

ul.check-list li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f00c";
}

.supplies li {
	counter-increment: li;
}

.supplies li:before {
	content: counter(li) ".";
}

li.blank:before {
	content: none;
}

.person li:before {
	font-family: "Font Awesome 5 Free";	
	content: "\f500";
}

ul.requirement {
	display: flex;	
	font-size: 16px;
	white-space: nowrap;
}



.requirement li:has(i), .requirement li:has(a), .requirement li:has(img) {
	display: block;
	text-align: center;
}

.requirement i {
	color: #D3493D;
	display: block;
	font-size: 35px;
	margin-bottom: 15px;

}

.woocommerce .requirement img {
	display: block;
	width: 40px;
	margin: auto;
	margin-bottom: 15px;
}

/*리뷰*/


.review ul {
	list-style-type: none;
	margin: 0;
	margin-top: 30px;
}

.review ul img {
	align-self: flex-start;
	width: 82px;
}

.review li:nth-child(odd) img {
	margin-top: 20px;
	margin-right: 40px;
}

.review li:nth-child(even) img {
	margin-top: 20px;
	margin-left: 40px;
}

.review li:not(:last-child) {
	margin-bottom: 40px;
}

.review-content {
	padding: 30px 30px 35px 40px;
	background-color: #F8F8F8;
	border-radius: 10px;
	width: 100%;
}

.review-content h3 {
	font-size: 20px;
	line-height: 29px
}

.review-content p {

	font-size: 16px;
	line-height: 24px;
	margin-top: 18px;
	margin-bottom: 30px;

}

.review li {
	display: flex;
}

.review li:nth-child(even) {
	flex-flow: row-reverse;
}

#review_form input[type="submit"]{	
	background-color: #3090fd !important;
}

/* .review .tags {
padding: 7px 16px;
margin-right: 15px;
border-radius: 20px;
transition: all 150ms ease-in;
}

.offline .tags {
color: #D3493D;
border: 1px solid #D3493D;
}

.online .tags {
color: #017BFD;
border: 1px solid #017BFD;
}
*/
section .faq {
	border-bottom: 0;
}

.faq {
	counter-reset: faq-section;
}

.faq .accordion-container {
	margin-top: 40px;
	margin-bottom: 80px;
	border-top: 1px solid #050505;
}

.faq .accordion-title {
	color: #444;
	cursor: pointer;
	padding: 24px;
	width: 100%;
	font-size: 17px;
	line-height: 25px;
	transition: 0.4s;
	border-bottom: 1px solid #d9d9d9;
}

.faq .accordion-title:before {
	counter-increment: faq-section;
	content: "Q" counter(faq-section) ".";
	font-size: 17px;
	margin-right: 10px;

}

.offline .faq .accordion-title:before,
.offline .faq .accordion-panel p:before {
	color: #D3493D;
}

.online .faq .accordion-title:before,
.online .faq .accordion-panel p:before {
	color: #017BFD;
}

.faq .accordion-title:after {
	font-family: 'Font Awesome 5 Free';
	content: '\f107';
	font-weight: 600;
	font-size: 16px;
	color: #8C8C8C;
	float: right;
	margin-left: 5px;
}

.faq .accordion-title.active:after {
	content: '\f106';
}

.faq .accordion-panel {
	font-size: 16px;
	line-height: 27px;
	background-color: #F8F8F8;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
}

.faq .accordion-panel p:before {
	content: "A" counter(faq-section) ".";
	font-weight: 700;
	margin-right: 10px;
}

.faq p {
	padding: 33px 64px;
	display: flex;
	margin-bottom: 0;
}

.program-footer {
	padding: 40px 60px;
	background-color: #f8f8f8;
	border-radius: 10px;
	border: 1px solid #d9d9d9;
}

.footer-wrapper {
	display: flex;
	gap: 60px;
	align-items: center;
}

.footer-wrapper > div:first-child {
	flex:0;
	min-width: 70px;
}

.footer-wrapper .cancel span {
	margin-left: -20px;
	margin-bottom: -10px;
	font-weight: bold;
}

.footer-wrapper i {
	display: block;
	font-size: 24px;
	margin-bottom: 10px;
	text-align: center;
}

.program-footer h3 {
	font-weight:600;
	font-size: 18px;
	line-height: 26px;
	text-align: center;	
}

.program-footer ul {
	font-weight:500;
	font-size: 17px;
	line-height: 25px;
	margin: 0;	
	display: flex;
	flex-direction: column;
	gap: 12px;	
	width: 100%;
}

.program-footer li {
	list-style-position: outside;
/* 	list-style-type: none; */	
}
.program-footer .support {
	list-style-type: none;
}

hr.solid {
	width: 100%;
	margin: 40px auto;
	border-top: 1px solid #d9d9d9;
}

.support i {
	display: inline-block;
	font-size: 18px;
	margin-right: 8px;
}

.offline .support i {
	color: #D3493D;
}

.online .support i {
	color: #017BFD;
}

/*사이드메뉴*/

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

aside .sticky-menu {
	z-index: 9;
	padding: 20px;
	border: 1px solid #E8E8E8;
	border-radius: 12px;
	position: sticky;
	/* 	top: 70px; */
	top: 0px;
	box-shadow: 0px 32px 64px rgba(0, 0, 0, 0.08);
}

.admin-bar aside .sticky-menu {
	top: 32px;
	/* 		top: 102px; */
}

.product-title {	
	margin-bottom: 0.7em;
	gap: 15px;
}

.woocommerce div.product .product_title {
	font-size: 1.4em;
	font-weight: bold;	
	margin-bottom: 0;
}


.product-title label {
	white-space: nowrap;
	display: inline-block;
	margin-bottom: 10px;
	padding: 2px 10px;
	border-radius: 20px;
	font-size: 14px ;
	color: white;
	font-weight: 500;
	line-height: 20px
}

.product-title label a {
	color: #fff;
}

.offline .product-title label {
	background-color: #D3493D;
	transition: all 150ms ease-in;
}

.online .product-title label {
	background-color: #017BFD;
	transition: all 150ms ease-in;
}

.product-title span.add-to-cart {
	float: right;
}

.price {
	color: #3f3f3f;
}

.price .suffix {
	font-size: 16px;
	font-weight: 500;	
}

.price-container {
	display: flex;
	flex-direction: column;
	gap: 20px;
}


.price-table {	
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.price-table .price-person {
	flex: 1;
	display: flex;
	justify-content: space-between;
	padding: 8px 30px;
	background:#F4F4F4;
	border-radius: 8px;
}

.price-person label {
	font-size: 14px;
	color: #878787;
}

.price-person span {
	font-size: 18px;
	color: #515151;
}

.price-table table {	
	border-style: hidden;
	box-shadow: 0 0 0 1px #e8e8e8;
	margin: 0;
	border-collapse: collapse;
	border-radius: 8px; 
	font-size: 13px;
	text-align: center;
	color: #909090;
}

.price-table table td {
	padding: 4px 0px;
	border: 1px solid #F4F4F4;
}

.offline .price-table td.active {
	background-color: #FFA1A14D;
	color: #D3493D;
	font-weight: bold;
	transition: all 150ms ease-in;
}

.online .price-table td.active {
	background-color: #7EBDFF4D;
	color: #017BFD;
	font-weight: bold;	
	transition: all 150ms ease-in;
}

.input-container {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.input-container select, .input-container input {
	line-height: 1.5em;
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #E8E8E8;
	border-radius: 8px !important;	
}

.selected-options:not(:has(li)) {
	display: none;
}

.selected-options {
	border-top: 1px solid #E8E8E8;
    border-bottom: 1px solid #E8E8E8;
    padding: 10px 0px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.selected-options li {
	display: flex;
    justify-content: space-between;
    align-items: center;
	gap: 10px;
}

.selected-options li i{
	padding: 5px;	
	cursor: pointer;
}
.selected-options li label{
	display: flex;	
}

.selected-options li label span {
	word-break: break-all;
}

.selected-options li input {
	width: 70px;
    padding: 5px 5px 5px 15px
}


.estimate .amount{
	padding: 12px 0px;
	background: #F4F4F4;
	border-radius: 10px;
	display: flex;
	justify-content: center;
}

.estimate .amount .main-price {
	font-size: 20px;
	font-weight: 600;
	color: #3F3F3F;
}

.estimate .amount .before-discount{
	font-weight: 400;
	font-size: 16px;
	text-decoration-line: line-through;
	color: #6C6C6C;
}

.offline .discount {
	color: #D3493D;
}

.online .discount {
	color: #017BFD;
}

.estimate .amount .discount{
	font-weight: 500;
	font-size: 13px;	
	margin:0px 5px;
}

.button-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.button-wrapper a {
	font-size: 15px;
	line-height: 23px;
	padding: 13px;
	text-align: center;
	border-radius: 8px;
	color: white;
	cursor: pointer;
}

.offline a.button-1 {
	background-color: #D3493D;
}
.online a.button-1 {
	background-color: #017BFD;
}
a.button-1 {
	flex: auto;
	font-weight: 500;
}
a.button-2 {
	background-color: #404040;
	font-weight: 500;
	padding-left: 15px;
	padding-right: 15px;
}

.offline a.button-3 {
	border-color: #D3493D;
	color: #D3493D;
}
.online a.button-3 {
	border-color: #017BFD;
	color: #017BFD;
}

.button-3 {
	width: 100%;
	border: 1px solid #d3493d;
	font-weight: 600;
}



#reservation_modal {
	display: none;
	position: fixed;
	z-index: 99999;
	top:0;
	left: 0;
	justify-content:center;
	align-items:center;
	width: 100%;
	height: 100%;
	/* 	overflow: auto; */
	background-color: rgba(0, 0, 0, 0.6);        
}

#reservation_modal .modal-content {   
	position: relative;
	max-height: 100vh;
	height: fit-content;
	background: #FCFCFC;
	padding: 30px 60px;
	width: 650px;	
	overflow-y: auto;
	box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.25);
	border-radius: 18px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	scrollbar-width: auto;
	scrollbar-color: #333333 #ffffff;
}



/* Chrome, Edge, and Safari */
/* Chrome, Edge, and Safari */
@media (min-width: 1200px){
#reservation_modal .modal-content::-webkit-scrollbar {
	width: 10px;
}

#reservation_modal .modal-content::-webkit-scrollbar-track {
	background: #ffffff;	
	border-radius: 10px;   
}

#reservation_modal .modal-content::-webkit-scrollbar-thumb {
	background-color: #333333;
	border-radius: 10px;
	border: 3px solid #ffffff;
}
}

#reservation_modal .modal-content .close {
	position: absolute;
	top: 15px;
	right:20px;
	font-size: 30px;
	font-weight: bold;
	cursor:pointer;
}
#reservation_modal .modal-content .form-header
{
	text-align: left;
}

#reservation_modal .modal-content .form-header label {
	font-weight: bold;
	font-size: 16px;
	line-height: 23px;		
}

.offline .form-header label {
	color: #d3493d;
	border-color:#d3493d;
}
.online .form-header label {
	color: #017bfd;
	border-color:#017bfd;
}
.package .form-header label {
	color: #F69800;
	border-color:#F69800;
}
#reservation_modal .modal-content .form-header h2 {
	font-size: 36px;
	line-height:52px;
	font-weight: bold;
}
#reservation_modal .modal-content .form-input {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0 10px;

}
#reservation_modal .modal-content .form-input label {
	font-size: 14px;
	line-height: 20px;
	font-weight: 600;
	margin-bottom: 9px;
	display: flex;
}
#reservation_modal .modal-content .form-input label.required:after {
	content: "*";
	color:#B5180B;
}
#reservation_modal .modal-content .form-input select, .modal-content .form-input p input {
	width: 100%;
	height: 45px;
	border-radius: 5px;
	border-color: #d9d9d9;
	background-color: white;
}
#reservation_modal .modal-content .form-input textarea {
	display: block;
	line-height: initial;
}
#reservation_modal .modal-content .form-input p.short {
	flex-basis: 45%; 
    flex-grow: 1;
	margin-bottom: 20px;
}
#reservation_modal .modal-content .form-input p.wide {
	width: 100%;
	margin-bottom: 20px;
}
#reservation_modal form button[type=submit]  {
	width: 100%;	
	font-size: 16px;
	line-height: 23px;
	padding-top: 13px;
	padding-bottom: 13px;
	border-radius: 5px;
	font-weight: bold;
}
#reservation_modal .modal-content .form-input .alert{
	margin-top:8px;
	display: inline-block;
	font-weight: 500;
	font-size: 12px;
	line-height: 17px;
	color: #007AFF;
}
.offline #reservation_modal form button  {
	background-color: #d3493d;
	color:white;
}
.online #reservation_modal form button  {
	background-color: #017bfd;
	color:white;
}
.package #reservation_modal form button  {
	background-color: #F69800;
	color:white;
}

#reservation_modal.modal-content .confirm_link {
	font-weight: bold;
	text-decoration: underline;
}
#reservation_modal .modal-content .option_table {
	border-radius: 5px;
	margin-bottom: 20px;
}

#reservation_modal .modal-content .option_table th {
	text-align: left;
	font-size: 14px;
}

#reservation_modal .modal-content .option_table input {
	width: 100%;
}

#reservation_modal details {
	width: 100%;
	margin-bottom: 20px;
}

#reservation_modal summary
{
	position: relative;
	cursor: pointer;
	border: solid 1px #d9d9d9;
	display: flex;
	height: 45px;
	align-items: center;
	padding: 0 0.75em;
	border-radius: 5px;    
	background-color: white;
}

#reservation_modal summary:after {
	position: absolute;
	right: 15px;
	content: '\f107';
	font-family: FontAwesome;
}

#reservation_modal details ul {
	display: grid;
	grid-template-columns: repeat(3, auto);
	justify-content: space-between;
	background: white;
	list-style: none;
	margin: 0px;
	padding: 0.75em 1.5em;
	margin-top: 5px;
	border: 1px solid #d9d9d9; 
	border-radius: 5px;
	row-gap: 15px;
}
#reservation_modal details li {
	margin: 0px;
	padding: 0px;
}
#reservation_modal details li input {
	margin-right: 10px;
}

#reservation_modal details li input[type="checkbox"] {
	margin-right: 8px;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	cursor: pointer;
	border: 1px solid #909090;
	border-radius: 5px;
}

#reservation_modal .form-input details li label {	
	cursor: pointer;  
	width: 100%;
	font-weight: 500;
	margin-bottom: 0;
}

/*명사*/
/* 
.package a {
	color: white;
}

.package .tooltip.tooltiptext {
	background-color: #272727bf;
}

body.package, .package .ast-primary-header-bar, .package nav.nav-header {
	background: #101010;
} 

.package .product-wrapper h2, .package .product-wrapper h3,  .package .product-wrapper h4, .package .faq .accordion-title {
	color: white;
}

.package .nav-container ul li.active, .package .nav-container ul li:hover {	
	border-color: white;
}
.package .nav-container ul li.active a, .package .nav-container ul li a:hover {
	color: white;	
} */

.package button.offline.active, .package button.offline:hover, .package button.online.active, .package button.online:hover {
	border: 1px solid #F69800;
    background-color: #F69800;
}

.package .product-title label, .package a.button-1 {	
	background: #F69800
}

.package a.button-3 {
	border-color: #F69800;
	color: #F69800;
}

/* .package.woocommerce div.product .product_title, .package.woocommerce div.product p.price, .package .woocommerce-product-details__short-description, .package .estimate  {
	color: #fff;
}

.package.woocommerce div.product p.price {
	margin-bottom: 10px;
}


.package .input-container select, .package .input-container input {
	background: #101010;
	border-color: #fff;
	color: #fff;
}

.package .input-container input::placeholder {
	color: #fff;
}

.package .workshop-process li {
	background-color: #515151;
	color: #fff;
}

.package .workshop-process label {
	color: #fff;
}

.package .program-description p {
	color: #fff;
} */

.package mark, .package .duration-wrapper  {
	background: #F698001a;
	color: #F69800;
}

.package .workshop-point p:before {
	color: #F69800;
}

/* .package .workshop-point .content-wrapper p{
	background-color: #515151;
	color: #fff;
} */

.package .keyword-item {
	background: #F6980033;
	border: 1px solid #F69800;
	color: #F69800;
}

/* .package .program-duration {
	background: linear-gradient(135deg, #AC702C 0%, rgba(230, 179, 80, 0.93) 27.08%, #AC702C 100%);
	color: #fff;
}

.package .description-wrapper {
	color: #fff;
}

.package .paraphrase {
	color: #E6B34F;
	padding: 0 5px;
}

.package .notice-wrapper {
	background-color: #515151;
	border: none;
}

.package .notice-container li {
	color: #fff;
} */
.package .notice-title i, .package .notice-title h3, .package .notice-container li:before {
	color: #F69800;
}

.package .requirement i {
	color: #F69800;
}

/* .package .review-content {
	background-color: #515151;
}

.package .review-content p {
	color: #fff;
} */

.package .faq .accordion-title:before, .package .faq .accordion-panel p:before {
	color: #F69800;
}

/* .package .faq .accordion-panel {
	background-color: #515151;	
	color: #fff;
}

.package .program-footer {
	border: none;
	background-color: #515151;	
	color: #fff;
} */

.package .reservation li:before, .package .support i {
	color: #F69800;
}

/* .package .rx_recommended_wrapper, .package .rx_rating_graph_wrapper {
	background: #515151;

}

.package .rx_recommended_box .rx_recommended_box_content, .package .rx_style_two_free_progress_bar .progressbar-title {
	color: #fff !important;
}

.package footer > div {
	background-color: #101010 !important;
}
.package  .main-header-menu > .menu-item > .menu-link, .package #astra-footer-menu > .menu-item > .menu-link {
	color: #fff;
}

.package footer .ast-builder-html-element, .package footer .ast-footer-copyright{
	color: #fff !important;
}
.package .footer-buttons button {
	color: #fff;
	border-color: #fff;
}

.package .button-wrapper {
	background-color: #101010;
}

.package .vendor-profile {
	position: relative;  
	border: 3px solid transparent;   
	border-radius: 30px;	
	background-image: linear-gradient(#515151, #515151), linear-gradient(90deg, #E6B34F 11.46%, #D79B3C 37.50%, #CC8D35 62.50%, #A76C2A 91.67%);
	background-origin: border-box;
	background-clip: content-box, border-box;
}

.package .profile-container{
	padding: 40px 60px;
}
.package .profile-wrapper {
	color: #fff;
}

.package .vendor-image { 
	width: 220px;
	object-fit: cover;
	border-radius: 12px;
}
.package .celebrity-mark {
	float: right;
}

.package .vendor-profile ul {
	margin-bottom: 0;	
	margin-left: 20px;
	margin-top: 60px;
}

.package.woocommerce .related.products h2 {
	color: #fff;
}

.package.woocommerce ul.products li.product label.product-subtitle, .package.woocommerce ul.products li.product .woocommerce-loop-product__title{
	color: #fff;
}

.package .astra-shop-footer-wrap .person, .package .astra-shop-footer-wrap .price .postfix, .package .astra-shop-footer-wrap .price .duration {
	color: #fff;
}

.package.woocommerce ul.products li.product .ast-woo-product-category {
	border-color: #fff;
	color: #fff;
}

.package.woocommerce ul.products li.product_cat-celebrity .ast-woo-product-category {
	border: 1px solid transparent;
	border-color: transparent;
}

.package.woocommerce ul.products li.product_cat-celebrity .ast-woo-product-category:before {
	background: black;	
}

.package .ast-header-search .ast-icon{
	color: #fff;
}

.package .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg  {
	fill: #fff;
}

.package.woocommerce-js div.product .woocommerce-tabs ul.tabs li a{
	color: white;
}

.package .rx-review-form-area {
	border: none;
	background: #515151 !important;
}

.package .rx-flex-grid-container h2, .package .rx-review-form-area-style-1 .comment-respond .comment-reply-title, .package p.woocommerce-noreviews, .package .rx-flex-grid-container{
	color: white;
	background: transparent;	
}

.package .rx-review-form-area-style-1 .rx-criteria-table td{
	color: white !important;
}

.package .rx-temp-rating .rx-temp-rating-number p, .package .rx-temp-total-rating-count p{
	color: white !important;
}

.package .rx_listing_container {
	background: #515151;
	border: none;
}

.package .rx_listing .rx_review_block .rx_author_info .rx_author_name h4, .package .rx_listing .rx_review_block .review_title, .package .rx_listing .rx_review_block .rx_body p, .package .rx_listing .rx_review_block .rx_body .rx_review_calender {
	color: white !important;
}

.package .rx_listing .rx_review_block {
	border: none;
} */

.package.woocommerce-js #review_form #respond .form-submit input {
	background: #F69800;
}

.package .offline .price-table td.active {
	background-color: #F6980033;
    color: #F69800;
}



@media screen and (max-width: 1199px) {
	.mobile-only {
		display: block;		
	}
	.desktop-only {
		display: none;
	}
	.product-wrapper {		
		flex-direction: column;
		align-items:center;		
	}

	.entry-summary div.woocommerce-product-gallery{
		display: block;
	}

	.entry-product div.woocommerce-product-gallery{
		display: none;
	}	

	.woocommerce .entry-product {
		max-width: 840px;
		width: 100%;
		order: 2;
	}
	.woocommerce .entry-summary
	{
		max-width: 840px;
		width: 100%;
		padding-left: 0px;
		padding-bottom: 0px;
	}
	aside .sticky-menu {
		box-shadow: none;
	}


	.curriculum .profile-wrapper {		
		padding: 40px 80px;
	}

	.curriculum .profile-wrapper.slick-slide {		
		display: flex;
		align-items: center;
	}

	.button-wrapper{		
		background-color: white;
		padding: 10px;
		width: 100%;
		position: fixed;
		bottom:0;
		left:0;
	}  




	a.button-2 {
		background-color: transparent;
		border: 1px solid #8C8C8C;
		color: #8C8C8C;
	}

	.drawer-nav {
		height: 0; /* 100% Full-height */
		width: 100%; /* 0 width - change this with JavaScript */
		position: fixed; /* Stay in place */
		z-index: 10; /* Stay on top */
		bottom: 0; /* Stay at the top */
		left: 0;
		background-color: white; /* Black*/
		overflow-x: hidden; /* Disable horizontal scroll */
		/* Place content 60px from the top */
		transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
		border-radius: 10px 10px 0px 0px;
	}

	.drawer-container {
		display: flex;
		flex-direction: column;
		padding: 40px 20px 40px 20px;
	}

	.drawer-nav label {
		font-weight: 700;
		font-size: 18px;
		line-height: 26px;
		padding:10px;
		border-bottom: 1px solid #EEEEEE;
		margin-bottom: 10px;
	}

	.drawer-nav a {
		padding: 8px;
		font-weight: 600;
		font-size: 16px;
		line-height: 23px;
	}
	.drawer-nav a.closebtn {
		position: absolute;
		right: 25px;
		top: 25px;
		font-size: 20px;
		padding: 0;
	}

	.drawer-nav a.download {
		text-decoration-line: underline;
		color: #D3493D;
	}
	.drawer-nav ul {
		display: flex;
		list-style-type: none;
	}
	.drawer-nav ul li {
		width: 15%;
	}
	#cover{
		position:fixed;
		top:0;
		left:0;
		background:rgba(0,0,0,0.6);
		display:none;
		z-index:9;
		width:100%;
		height:100%;

	}

	#channel-chat-button {
		display: none;
	}

	#reservation_modal details ul { 
		grid-template-columns: repeat(2, 1fr);
		padding: 0.75em;
	}


}

@media screen and (max-width: 768px) {

	.ast-container {
		padding-left:0;
		padding-right:0;
	}

	.woocommerce div.product div.images img{
		height: 300px;	
	}	

	.woocommerce .entry-product {
		padding-right: 20px;
		padding-left: 20px;
	}

	.woocommerce .entry-product section {
		padding-top: 80px;
		padding-bottom: 80px;
		border-bottom: 1px solid #d0d0d0;
	}

	.section-title label {

		font-size: 12px;
		line-height: 17px;
	}

	.section-title h2 {
		font-size: 20px;
		line-height: 29px;
	}


	nav.nav-header {
		z-index:2;
		background-color: white;
		display: flex;
		flex-wrap: wrap;
		position: sticky;
		flex-direction: column-reverse;
		top: -39px;
		border-bottom: 1px solid #eeeeee;
		transition: top 0.3s;
	}
	.admin-bar nav.nav-header {
		top: -49px;
	}

	.nav-container ul  {
		margin: 0;
		display: flex;
		gap: 0;
		justify-content:space-between;
		list-style-type: none;
	}

	.nav-container ul li a {
		font-size: 14px;
		line-height: 23px;
		padding-top: 12px;
		padding-bottom: 12px;
	}
	.transition_button{
		padding-top:5px;
		padding-bottom: 5px;
	}
	.transition_button button {
		flex: 1;
	}

	.workshop-process ul {
		flex-direction: column;
		gap: 10px;
	}
	.workshop-process li {
		width: 100%;
		padding-right: 70px;
		height: 200px;
	}
	.workshop-process i {
		display: none;
	}
	.workshop-process label {
		font-size: 16px;
		line-height: 23px;
	}
	.workshop-process p {
		font-size: 14px;
		line-height: 20px;
	}
	.workshop-process span {
		font-size: 12px;
		line-height: 21px;
	}

	.program-intro iframe {
		height: 200px;
		border-radius: 5px;
	}

	.program-intro img.main {
		height: 200px;
		border-radius: 5px;
	}
	.program-intro img.icon {
		margin-top: 30px;
	}

	.program-description{
		width: 100%;
	}
	.program-description h3 {
		font-size: 18px;
		line-height: 26px;
	}
	.program-description p {
		font-size: 14px;
		line-height: 20px;
		margin: auto;
		width: 85%;
		margin-bottom: 0;
	}

	.image-slider {
		margin-top: 100px;
		margin-bottom: 80px;
	}	

	.main-slider {
		height: 200px;
	}

	.swiper.thumbnail-slider {
		display: none;
	}

	.swiper-button-next::after, .swiper-button-prev::after {
		font-size: 28px !important; 
	}

	.program-summary h3 {
		font-size: 18px;
		line-height: 26px;
	}

	.workshop-point .content-wrapper p {
		display: flex;
		font-size: 14px;
		line-height: 20px;
		padding-top: 18px;
		padding-bottom: 18px;
		padding-right: 18px;
	}

	.workshop-point .content-wrapper p:before {
		margin-right: 10px;
		margin-left: 20px;
		font-size: 16px;
	}



	.keyword .content-wrapper {
		display: flex;
		padding-top: 15px;
		padding-left: 15px;
		padding-right: 0px;
		flex-wrap: wrap;
	}
	.keyword-item {
		width: 50%;
		margin-left: -15px;
		margin-top: -15px;
		font-size: 16px;
	}
	.program-duration {
		font-size: 13px;
		line-height: 19px;
	}
	.curriculum ul.time-table {
		margin-top: 40px;
		margin-right: 0;
	}
	.curriculum li {
		flex-direction: column;

	}
	.curriculum li:not(:last-child) .duration-container {
		background-size: 0;

	}
	.duration-wrapper {
		width: 100%;
	}
	.description-wrapper {
		margin-top: 20px;
		margin-left: 5px;

	}
	.description-wrapper h3 {
		font-size: 17px;
		line-height: 25px;
		margin-bottom: 10px;
	}

	.description-wrapper p {
		font-size: 14px;
		line-height: 24px;
		padding-right: 30px;
	}

	.curriculum .profile-wrapper {		
		padding: 40px 20px;
	}

	.curriculum .profile-wrapper.slick-slide {		
		flex-direction: column;
		gap: 40px;
	}

	.curriculum .vendor-profile ul {
		margin-left: 0;
	}

	.md-comment {
		margin-top: 115px;
		padding: 35px 20px 35px;
	}
	.md-comment .comment-title {	
		font-size: 20px;
		line-height: 29px;
		margin-bottom: 10px;
	}
	.md-comment p {
		margin-top: 10px;
		font-size: 14px;
		line-height: 24px;
	}

	.notice-title {
		margin-top: 40px;
		line-height: 23px;
	}

	.notice-title i{
		font-size: 16px;
	}
	.notice-title h3 {
		font-size: 16px;
		line-height: 23px;
	}

	.notice-wrapper{
		flex-direction: column;
		padding: 25px;

	}
	.notice-container h4 {
		width: 100%;
		margin: 0;
		font-size: 16px;
		line-height: 23px;
	}

	.notice-container ul {
		margin-top: 20px;

	}

	.notice-container li {
		flex: unset;
		font-size: 14px;
		line-height: 20px;
		font-weight: 400;
		margin-bottom: 12px; 
		justify-content: center;
	}
	.manager.notice-container li {
		justify-content: initial;
	}

	.notice-container .offer li {
		margin-bottom: 3px; 
	}

	ul.requirement {
		gap:0;
		row-gap: 25px;
		flex-wrap: wrap;
		font-size: 16px;
		white-space: nowrap;
		justify-content: space-evenly;
	}

	.requirement li {		
		width: 33.3%;
		font-size: 14px;
	}
	.requirement i {
		font-size: 30px;
	}

	.review ul img {
		width: 65px;
		z-index: 1;
	}
	.review li {
		flex-wrap: wrap;
	}

	.review li:nth-child(odd) img {
		margin: auto;
	}

	.review li:nth-child(even) img {
		margin: auto;
	}

	.review li:nth-child(even) {
		flex-flow: wrap;
	}

	.review-content{
		padding: 50px 25px 30px 25px;
		margin-top: -20px;
	}
	.review-content h3 {
		font-size: 16px;
		text-align: center;
		line-height: 23px
	}
	.review-content p {
		font-size: 14px;
		line-height: 22px;
		margin-top: 20px;
	}

	.review .tags-container {
		display: flex;
		justify-content: space-evenly;
	}
	.review .tags {
		margin-right: 0;
		font-size: 12px;
		line-height: 19px;
		padding: 6px 10px;
	}

	.faq .accordion-title {
		display:flex;
		padding-right: 30px;
		padding-left: 12px;
		font-size: 14px;
		line-height: 23px;
	}

	.faq .accordion-title:after {
		position: absolute;
		right: 8%;
	}

	.faq .accordion-panel {
		font-size: 14px;
		line-height: 26px;

	}
	.faq .accordion-panel p:before {
		display: block;
	}
	.faq p {
		display: block;
		padding:20px 35px;
	}

	.program-footer {
		padding: 25px;
	}

	.program-footer ul {
		padding: 0;
	}

	.program-footer li {
		font-size: 14px;
		line-height: 20px;
		justify-content: center;
	}

	.program-footer h3 {

		font-size: 16px;
		line-height: 23px;
	}

	.footer-wrapper {
		flex-wrap: wrap;
		gap: 35px;
		justify-content: center;
	}

	.woocommerce-tabs, .related {
		padding-left: 20px;
		padding-right: 20px;
	}


	hr.solid {
		width: 100%;
		margin-top: 40px;
		margin-bottom: 25px;
		border-top: 1px solid #d9d9d9;
	}

	.double-column {
		columns: 1;
	}		

	#reservation_modal .modal-content {   		
		padding: 30px 20px;
		padding-bottom: 130px;
		/* 		overflow-y: auto;		 */
		border-radius: 0;

	}

	#reservation_modal .modal-content .form-input p.short {
		flex-basis: initial;
	}
	
	.package .profile-container {
		padding: 30px 20px;
	}

	.package .vendor-image { 
		width: 160px;		
	}
	.package .celebrity-mark {
		width: 50px;
	}
}